PageSourceSearch

https://hfwya-oioioi.hf.space/_app/immutable/nodes/2.z9GZx2sF.js

js hfwya-oioioi.hf.space collected 2026-10-03 16:56:12 UTC 2,527,248 bytes, 2,830 lines download raw bytes

vendor: 4,702 bytes, line 1
1var f8=Object.defineProperty;var d8=(c,a,s)=>a in c?f8(c,a,{enumerable:!0,configurable:!0,writable:!0,value:s}):c[a]=s;var Ct=(c,a,s)=>d8(c,typeof a!="symbol"?a+"":a,s);import{s as ms,y as kr,k as Se,o as Ne,i as Le,A as $r,d as z,F as ii,p as Xs,j as YA,e as X,t as Ze,c as q,a as $,b as Xe,S as ur,f as O,g as T,B as ar,u as Qt,h as tt,H as Es,n as WA,P as oi,D as Ea,E as Ba,r as k2,v as v2,w as y2,x as E2,l as ps,R as Ta,q as li,M as B2,C as il,_ as g8,O as ll,$ as Xp,T as h8,U as p8,z as ul,V as j1,N as Mo,Q as bc,G as W1,ao as u2}from"../chunks/vexCXLX9.js";import{S as bs,i as Cs,f as es,b as Ut,d as Kt,m as Zt,t as nt,a as dt,e as Xt,g as Nr,c as zr,j as qp}from"../chunks/Cdll-xsj.js";import{t as cr}from"../chunks/DT5uOxbm.js";import{f as $u}from"../chunks/CoGXDCUN.js";import{aG as Jp}from"../chunks/DQk9-YBX.js";import{g as cl}from"../chunks/vcqg7ZRj.js";import{p as td}from"../chunks/fpl_DVr-.js";import{f as $p}from"../chunks/DOlMLN9E.js";import{d as x2,y as em,h as Wf,z as r0,i as U1,N as m8,C as t0,P as K1,q as Ju,s as Oo,u as Ac,F as Tf,r as b8,o as C8,l as Uu,c as rc,Q as jg,S as d2,e as I8,a as Do,J as w8,W as tm,b as Y0,K as H1,B as Am,m as rm,k as Qf,L as k8,t as v8}from"../chunks/DFca5BX5.js";import{f as sm,r as am,g as nm,s as y8}from"../chunks/DzKkOKN6.js";import{l as im,b as E8,v as B8,k as Zu,z as x8,m as Wg,c as Uf,a as M8,A as D8,B as G8}from"../chunks/BXo7R043.js";import{g as _8}from"../chunks/ChyaWRqW.js";import{S as Ad,A as om,k as T8,C as Q8,g as P8}from"../chunks/C_X2gkFr.js";import{h as S8,i as lm,g as N8}from"../chunks/hCbqEthe.js";import{e as Ur,u as ef,o as tf}from"../chunks/DNXpXRYa.js";import{m as L1,n as Kf,k as cm,o as z8,t as Zf,f as Ic,p as O8,u as F8,i as tc,q as Xf,r as L8,d as Z1,v as V8,w as Y1,x as qf,y as Pf,z as H8,A as Y8,B as R8,C as Ug}from"../chunks/BNS59-Sv.js";import{d as b2}from"../chunks/aTHIJebK.js";import{M as kc}from"../chunks/DbfJTM1S.js";import{T as ni}from"../chunks/Rtszqwrj.js";import{C as M2}from"../chunks/CzvQehHf.js";import{A as um,U as j8}from"../chunks/DOIW0kgK.js";import"../chunks/CyFe254w.js";import{M as W8,T as U8,a as K8,b as Z8,S as X8,P as q8,c as J8,u as $8,g as V1,d as eC,e as tC}from"../chunks/CEZc1WmA.js";import{D as fm,M as A0}from"../chunks/B2UduZ6H.js";import{b as dm}from"../chunks/CgO5y2dz.js";import{f as rd}from"../chunks/g5t9vw8M.js";import{h as AC,E as rC}from"../chunks/CtiTb5Lv.js";import{G as sd}from"../chunks/DVUh9ssa.js";import{P as gm}from"../chunks/BM7xxx70.js";import{D as sC,S as aC}from"../chunks/clYaQkaN.js";import{C as nC}from"../chunks/BfKRbBRz.js";import{X as ad}from"../chunks/4edIpoVY.js";import{S as D2}from"../chunks/Cmi_MrK3.js";import{L as iC}from"../chunks/Ql21FIhE.js";import{C as hm}from"../chunks/Cux5bsOp.js";import{C as pm}from"../chunks/Dqzunhkh.js";import{P as Af}from"../chunks/Cmfly5_1.js";import Kg from"../chunks/CF4_YkFU.js";import{F as oC}from"../chunks/eoSdaunV.js";import{E as lC}from"../chunks/BbEqRSGc.js";import{e as cC,f as uC,h as fC,i as dC}from"../chunks/7vi7tDsD.js";import{A as gC}from"../chunks/oaqQgLHu.js";import{C as mm}from"../chunks/B5WJB5_d.js";import{k as hC,m as pC,n as mC,g as bC,o as CC,p as IC}from"../chunks/CRverxmV.js";import{g as wC}from"../chunks/DiHjA_aT.js";import{g as kC}from"../chunks/Bwjs81GA.js";import{g as vC,c as yC}from"../chunks/CRCS0NVG.js";import{A as EC}from"../chunks/D-E8-w_Y.js";import{T as bm}from"../chunks/Dok_iF0y.js";import"../chunks/BFK-koEx.js";import{b as BC}from"../chunks/RAW76W5z.js";import{S as Cm}from"../chunks/DBcgpmMt.js";import"../chunks/B_i_4WXY.js";import{U as xC}from"../chunks/C1MAXM9h.js";import{S as MC}from"../chunks/DjtyHjFA.js";const DC=(c,a)=>a.some(s=>c instanceof s);let Zg,Xg;function GC(){return Zg||(Zg=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function _C(){return Xg||(Xg=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Im=new WeakMap,Jf=new WeakMap,wm=new WeakMap,Sf=new WeakMap,nd=new WeakMap;function TC(c){const a=new Promise((s,o)=>{const u=()=>{c.removeEventListener("success",p),c.removeEventListener("error",C)},p=()=>{s(ol(c.result)),u()},C=()=>{o(c.error),u()};c.addEventListener("success",p),c.addEventListener("error",C)});return a.then(s=>{s instanceof IDBCursor&&Im.set(s,c)}).catch(()=>{}),nd.set(a,c),a}function QC(c){if(Jf.has(c))return;const a=new Promise((s,o)=>{const u=()=>{c.removeEventListener("complete",p),c.removeEventListener("error",C),c.removeEventListener("abort",C)},p=()=>{s(),u()},C=()=>{o(c.error||new DOMException("AbortError","AbortError")),u()};c.addEventListener("complete",p),c.addEventListener("error",C),c.addEventListener("abort",C)});Jf.set(c,a)}
1let $f={get(c,a,s){if(c instanceof IDBTransaction){if(a==="done")return Jf.get(c);if(a==="objectStoreNames")return c.objectStoreNames||wm.get(c);if(a==="store")return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return ol(c[a])},set(c,a,s){return c[a]=s,!0},has(c,a){return c instanceof IDBTransaction&&(a==="done"||a==="store")?!0:a in c}};function PC(c){$f=c($f)}function SC(c){return c===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(a,...s){const o=c.call(Nf(this),a,...s);return wm.set(o,a.sort?a.sort():[a]),ol(o)}:_C().includes(c)?function(...a){return c.apply(Nf(this),a),ol(Im.get(this))}:function(...a){return ol(c.apply(Nf(this),a))}}function NC(c){return typeof c=="function"?SC(c):(c instanceof IDBTransaction&&QC(c),DC(c,GC())?new Proxy(c,$f):c)}function ol(c){if(c instanceof IDBRequest)return TC(c);if(Sf.has(c))return Sf.get(c);const a=NC(c);return a!==c&&(Sf.set(c,a),nd.set(a,c)),a}const Nf=c=>nd.get(c);function zC(c,a,{blocked:s,upgrade:o,blocking:u,terminated:p}={}){const C=indexedDB.open(c,a),b=ol(C);return o&&C.addEventListener("upgradeneeded",k=>{o(ol(C.result),k.oldVersion,k.newVersion,ol(C.transaction),k)}),s&&C.addEventListener("blocked",k=>s(k.oldVersion,k.newVersion,k)),b.then(k=>{p&&k.addEventListener("close",()=>p()),u&&k.addEventListener("versionchange",E=>u(E.oldVersion,E.newVersion,E))}).catch(()=>{}),b}function qg(c,{blocked:a}={}){const s=indexedDB.deleteDatabase(c);return a&&s.addEventListener("blocked",o=>a(o.oldVersion,o)),ol(s).then(()=>{})}const OC=["get","getKey","getAll","getAllKeys","count"],FC=["put","add","delete","clear"],zf=new Map;function Jg(c,a){if(!(c instanceof IDBDatabase&&!(a in c)&&typeof a=="string"))return;if(zf.get(a))return zf.get(a);const s=a.replace(/FromIndex$/,""),o=a!==s,u=FC.includes(s);if(!(s in(o?IDBIndex:IDBObjectStore).prototype)||!(u||OC.includes(s)))return;const p=async function(C,...b){const k=this.transaction(C,u?"readwrite":"readonly");let E=k.store;return o&&(E=E.index(b.shift())),(await Promise.all([E[s](...b),u&&k.done]))[0]};return zf.set(a,p),p}PC(c=>({...c,get:(a,s,o)=>Jg(a,s)||c.get(a,s,o),has:(a,s)=>!!Jg(a,s)||c.has(a,s)}));const LC=async(c,a)=>{let s=null;const o=await fetch(`${x2}/folders/`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({name:a})}).then(async u=>{if(!u.ok)throw await u.json();return u.json()}).catch(u=>(s=u.detail,null));if(s)throw s;return o},VC=async(c="")=>{let a=null;const s=await fetch(`${x2}/folders/`,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`}}).then(async o=>{if(!o.ok)throw await o.json();return o.json()}).then(o=>o).catch(o=>(a=o.detail,console.log(o),null));if(a)throw a;return s},HC=async(c,a,s)=>{let o=null;const u=await fetch(`${x2}/folders/${a}/update`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({name:s})}).then(async p=>{if(!p.ok)throw await p.json();return p.json()}).then(p=>p).catch(p=>(o=p.detail,console.log(p),null));if(o)throw o;return u},YC=async(c,a,s)=>{let o=null;const u=await fetch(`${x2}/folders/${a}/update/expanded`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({is_expanded:s})}).then(async p=>{if(!p.ok)throw await p.json();return p.json()}).then(p=>p).catch(p=>(o=p.detail,console.log(p),null));if(o)throw o;return u},km=async(c,a,s)=>{let o=null;const u=await fetch(`${x2}/folders/${a}/update/parent`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({parent_id:s})}).then(async p=>{if(!p.ok)throw await p.json();return p.json()}).then(p=>p).catch(p=>(o=p.detail,console.log(p),null));if(o)throw o;return u},RC=async(c,a)=>{let s=null;const o=await fetch(`${x2}/folders/${a}`,{method:"DELETE",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`}}).then(async u=>
1{if(!u.ok)throw await u.json();return u.json()}).then(u=>u).catch(u=>(s=u.detail,console.log(u),null));if(s)throw s;return o};function $g(c,a,s){const o=c.slice();return o[22]=a[s],o[24]=s,o}function jC(c){let a,s=c[4].t("You have no archived conversations.")+"",o;return{c(){a=X("div"),o=Ze(s),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","text-left text-sm w-full mb-8")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p&16&&s!==(s=u[4].t("You have no archived conversations.")+"")&&tt(o,s)},i:WA,o:WA,d(u){u&&z(a)}}}function WC(c){let a,s,o,u,p,C,b,k=c[4].t("Name")+"",E,B,G,D=c[4].t("Created At")+"",Q,V,W,U,H,K,J,g,v=c[4].t("Unarchive All Archived Chats")+"",e,d,_,re=c[4].t("Export All Archived Chats")+"",S,F,Ie,he,ce=Ur(c[1].filter(c[14])),ge=[];for(let Fe=0;Fe<ce.length;Fe+=1)ge[Fe]=eh($g(c,ce,Fe));const Ce=Fe=>dt(ge[Fe],1,1,()=>{ge[Fe]=null});return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("table"),p=X("thead"),C=X("tr"),b=X("th"),E=Ze(k),B=Se(),G=X("th"),Q=Ze(D),V=Se(),W=X("th"),U=Se(),H=X("tbody");for(let Fe=0;Fe<ge.length;Fe+=1)ge[Fe].c();K=Se(),J=X("div"),g=X("button"),e=Ze(v),d=Se(),_=X("button"),S=Ze(re),this.h()},l(Fe){a=q(Fe,"DIV",{class:!0});var Pe=$(a);s=q(Pe,"DIV",{class:!0});var de=$(s);o=q(de,"DIV",{class:!0});var pe=$(o);u=q(pe,"TABLE",{class:!0});var we=$(u);p=q(we,"THEAD",{class:!0});var Ge=$(p);C=q(Ge,"TR",{});var me=$(C);b=q(me,"TH",{scope:!0,class:!0});var at=$(b);E=Xe(at,k),at.forEach(z),B=Ne(me),G=q(me,"TH",{scope:!0,class:!0});var Ue=$(G);Q=Xe(Ue,D),Ue.forEach(z),V=Ne(me),W=q(me,"TH",{scope:!0,class:!0}),$(W).forEach(z),me.forEach(z),Ge.forEach(z),U=Ne(we),H=q(we,"TBODY",{});var ot=$(H);for(let At=0;At<ge.length;At+=1)ge[At].l(ot);ot.forEach(z),we.forEach(z),pe.forEach(z),de.forEach(z),K=Ne(Pe),J=q(Pe,"DIV",{class:!0});var pt=$(J);g=q(pt,"BUTTON",{class:!0});var ct=$(g);e=Xe(ct,v),ct.forEach(z),d=Ne(pt),_=q(pt,"BUTTON",{class:!0});var je=$(_);S=Xe(je,re),je.forEach(z),pt.forEach(z),Pe.forEach(z),this.h()},h(){O(b,"scope","col"),O(b,"class","px-3 py-2"),O(G,"scope","col"),O(G,"class","px-3 py-2 hidden md:flex"),O(W,"scope","col"),O(W,"class","px-3 py-2 text-right"),O(p,"class","text-xs text-gray-700 uppercase bg-transparent dark:text-gray-200 border-b-2 border-gray-50 dark:border-gray-850"),O(u,"class","w-full text-sm text-left text-gray-600 dark:text-gray-400 table-auto"),O(o,"class","relative overflow-x-auto"),O(s,"class","text-left text-sm w-full mb-3 max-h-[22rem] overflow-y-scroll"),O(g,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),O(_,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),O(J,"class","flex flex-wrap text-sm font-medium gap-1.5 mt-2 m-1 justify-end w-full"),O(a,"class","w-full")},m(Fe,Pe){Le(Fe,a,Pe),T(a,s),T(s,o),T(o,u),T(u,p),T(p,C),T(C,b),T(b,E),T(C,B),T(C,G),T(G,Q),T(C,V),T(C,W),T(u,U),T(u,H);for(let de=0;de<ge.length;de+=1)ge[de]&&ge[de].m(H,null);T(a,K),T(a,J),T(J,g),T(g,e),T(J,d),T(J,_),T(_,S),F=!0,Ie||(he=[Qt(g,"click",c[17]),Qt(_,"click",c[18])],Ie=!0)},p(Fe,Pe){if((!F||Pe&16)&&k!==(k=Fe[4].t("Name")+"")&&tt(E,k),(!F||Pe&16)&&D!==(D=Fe[4].t("Created At")+"")&&tt(Q,D),Pe&214){ce=Ur(Fe[1].filter(Fe[14]));let de;for(de=0;de<ce.length;de+=1){const pe=$g(Fe,ce,de);ge[de]?(ge[de].p(pe,Pe),nt(ge[de],1)):(ge[de]=eh(pe),ge[de].c(),nt(ge[de],1),ge[de].m(H,null))}for(Nr(),de=ce.length;de<ge.length;de+=1)Ce(de);zr()}(!F||Pe&16)&&v!==(v=Fe[4].t("Unarchive All Archived Chats")+"")&&tt(e,v),(!F||Pe&16)&&re!==(re=Fe[4].t("Export All Archived Chats")+"")&&tt(S,re)},i(Fe){if(!F){for(let Pe=0;Pe<ce.length;Pe+=1)nt(ge[Pe]);F=!0}},o(Fe){ge=ge.filter(Boolean);for(let Pe=0;Pe<ge.length;Pe+=1)dt(ge[Pe]);F=!1},d(Fe){Fe&&z(a),oi(ge,Fe),Ie=!1,Es(he)}}}function UC(c){let a,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4"><path stroke-linecap="round" stroke-linejoin="round" d="M9 8.25H7.5a2.25 2.25 0 0 0-2.25 2.25v9a2.25 2.25 0 0 0 2.25 2.25h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25H15m0-3-3-3m0 0-3 3m3-3V15"></path></svg>',o,u;function p(){return c[15](c[22])}return{c(){a=X("button"),a.innerHTML=s,this.h()},l(C){a=q(C,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1x4djqv"&&(a.innerHTML=s),this.h()},h(){O(a,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){Le(C,a,b),o||(u=Qt(a,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(a),o=!1,u()}}}function KC(c){let a,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"></path></svg>',o,u;function p(){return c[16](c[22])}return{c(){a=X("button"),a.innerHTML=s,this.h()},l(C){a=q(C,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1pagubv"&&(a.innerHTML=s),this.h()},h(){O(a,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){Le(C,a,b),o||(u=Qt(a,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(a),o=!1,u()}}}function eh(c){let a,s,o,u,p=c[22].title+"",C,b,k,E,B,G=b2(c[22].created_at*1e3).format("LLL")+"",D,Q,V,W,U,H,K,J,g,v;return U=new ni({props:{content:c[4].t("Unarchive Chat"),$$slots:{default:[UC]},$$scope:{ctx:c}}}),K=new ni({props:{content:c[4].t("Delete Chat"),$$slots:{default:[KC]},$$scope:{ctx:c}}}
1),{c(){a=X("tr"),s=X("td"),o=X("a"),u=X("div"),C=Ze(p),k=Se(),E=X("td"),B=X("div"),D=Ze(G),Q=Se(),V=X("td"),W=X("div"),Ut(U.$$.fragment),H=Se(),Ut(K.$$.fragment),J=Se(),this.h()},l(e){a=q(e,"TR",{class:!0});var d=$(a);s=q(d,"TD",{class:!0});var _=$(s);o=q(_,"A",{href:!0,target:!0});var re=$(o);u=q(re,"DIV",{class:!0});var S=$(u);C=Xe(S,p),S.forEach(z),re.forEach(z),_.forEach(z),k=Ne(d),E=q(d,"TD",{class:!0});var F=$(E);B=q(F,"DIV",{class:!0});var Ie=$(B);D=Xe(Ie,G),Ie.forEach(z),F.forEach(z),Q=Ne(d),V=q(d,"TD",{class:!0});var he=$(V);W=q(he,"DIV",{class:!0});var ce=$(W);Kt(U.$$.fragment,ce),H=Ne(ce),Kt(K.$$.fragment,ce),ce.forEach(z),he.forEach(z),J=Ne(d),d.forEach(z),this.h()},h(){O(u,"class","underline line-clamp-1"),O(o,"href",b="/c/"+c[22].id),O(o,"target","_blank"),O(s,"class","px-3 py-1 w-2/3"),O(B,"class","my-auto"),O(E,"class","px-3 py-1 hidden md:flex h-[2.5rem]"),O(W,"class","flex justify-end w-full"),O(V,"class","px-3 py-1 text-right"),O(a,"class",g="bg-transparent "+(c[24]!==c[1].length-1&&"border-b")+" dark:bg-gray-900 border-gray-50 dark:border-gray-850 text-xs")},m(e,d){Le(e,a,d),T(a,s),T(s,o),T(o,u),T(u,C),T(a,k),T(a,E),T(E,B),T(B,D),T(a,Q),T(a,V),T(V,W),Zt(U,W,null),T(W,H),Zt(K,W,null),T(a,J),v=!0},p(e,d){(!v||d&6)&&p!==(p=e[22].title+"")&&tt(C,p),(!v||d&6&&b!==(b="/c/"+e[22].id))&&O(o,"href",b),(!v||d&6)&&G!==(G=b2(e[22].created_at*1e3).format("LLL")+"")&&tt(D,G);const _={};d&16&&(_.content=e[4].t("Unarchive Chat")),d&33554438&&(_.$$scope={dirty:d,ctx:e}),U.$set(_);const re={};d&16&&(re.content=e[4].t("Delete Chat")),d&33554438&&(re.$$scope={dirty:d,ctx:e}),K.$set(re),(!v||d&2&&g!==(g="bg-transparent "+(e[24]!==e[1].length-1&&"border-b")+" dark:bg-gray-900 border-gray-50 dark:border-gray-850 text-xs"))&&O(a,"class",g)},i(e){v||(nt(U.$$.fragment,e),nt(K.$$.fragment,e),v=!0)},o(e){dt(U.$$.fragment,e),dt(K.$$.fragment,e),v=!1},d(e){e&&z(a),Xt(U),Xt(K)}}}function ZC(c){let a,s,o,u=c[4].t("Archived Chats")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path fill-rule="evenodd" d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" clip-rule="evenodd"></path></svg>',E,B,G,D,Q,V='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z" clip-rule="evenodd"></path></svg>',W,U,H,K,J,g,v,e,d,_,re,S;const F=[WC,jC],Ie=[];function he(ce,ge){return ce[1].length>0?0:1}return e=he(c),d=Ie[e]=F[e](c),{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),b.innerHTML=k,E=Se(),B=X("div"),G=X("div"),D=X("div"),Q=X("div"),Q.innerHTML=V,W=Se(),U=X("input"),K=Se(),J=X("hr"),g=Se(),v=X("div"),d.c(),this.h()},l(ce){a=q(ce,"DIV",{});var ge=$(a);s=q(ge,"DIV",{class:!0});var Ce=$(s);o=q(Ce,"DIV",{class:!0});var Fe=$(o);p=Xe(Fe,u),Fe.forEach(z),C=Ne(Ce),b=q(Ce,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(b)!=="svelte-i7w487"&&(b.innerHTML=k),Ce.forEach(z),E=Ne(ge),B=q(ge,"DIV",{class:!0});var Pe=$(B);G=q(Pe,"DIV",{class:!0});var de=$(G);D=q(de,"DIV",{class:!0});var pe=$(D);Q=q(pe,"DIV",{class:!0,"data-svelte-h":!0}),ur(Q)!=="svelte-kinl2y"&&(Q.innerHTML=V),W=Ne(pe),U=q(pe,"INPUT",{class:!0,placeholder:!0}),pe.forEach(z),de.forEach(z),K=Ne(Pe),J=q(Pe,"HR",{class:!0}),g=Ne(Pe),v=q(Pe,"DIV",{class:!0});var we=$(v);d.l(we),we.forEach(z),Pe.forEach(z),ge.forEach(z),this.h()},h(){O(o,"class","text-lg font-medium self-center"),O(b,"class","self-center"),O(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),O(Q,"class","self-center ml-1 mr-3"),O(U,"class","w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"),O(U,"placeholder",H=c[4].t("Search Chats")),O(D,"class","flex flex-1"),O(G,"class","flex w-full mt-2 space-x-2"),O(J,"class","border-gray-100 dark:border-gray-850 my-2"),O(v,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),O(B,"class","flex flex-col w-full px-5 pb-4 dark:text-gray-200")},m(ce,ge){Le(ce,a,ge),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(a,E),T(a,B),T(B,G),T(G,D),T(D,Q),T(D,W),T(D,U),ar(U,c[2]),T(B,K),T(B,J),T(B,g),T(B,v),Ie[e].m(v,null),_=!0,re||(S=[Qt(b,"click",c[12]),Qt(U,"input",c[13])],re=!0)},p(ce,ge){(!_||ge&16)&&u!==(u=ce[4].t("Archived Chats")+"")&&tt(p,u),(!_||ge&16&&H!==(H=ce[4].t("Search Chats")))&&O(U,"placeholder",H),ge&4&&U.value!==ce[2]&&ar(U,ce[2]);let Ce=e;e=he(ce),e===Ce?Ie[e].p(ce,ge):(Nr(),dt(Ie[Ce],1,1,()=>{Ie[Ce]=null}),zr(),d=Ie[e],d?d.p(ce,ge):(d=Ie[e]=F[e](ce),d.c()),nt(d,1),d.m(v,null))},i(ce){_||(nt(d),_=!0)},o(ce){dt(d),_=!1},d(ce){ce&&z(a),Ie[e].d(),re=!1,Es(S)}}}function XC(c){let a,s,o,u,p,C;function b(G){c[10](G)}let k={message:c[4].t("Are you sure you want to unarchive all archived chats?"),confirmLabel:c[4].t("Unarchive All")};c[3]!==void 0&&(k.show=c[3]),a=new M2({props:k}),kr.push(()=>es(a,"show",b)),a.$on("confirm",c[11]);function E(G){c[19](G)}let B={size:"lg",$$slots:{default:[ZC]},$$scope:{ctx:c}};return c[0]!==void 0&&(B.show=c[0]),u=new kc({props:B}),kr.push(()=>es(u,"show",E)),{c(){Ut(a.$$.fragment),o=Se(),Ut(u.$$.fragment)},l(G){Kt(a.$$.fragment,G),o=Ne(G),Kt(u.$$.fragment,G)},m(G,D){Zt(a,G,D),Le(G,o,D),Zt(u,G,D),C=!0},p(G,[D]){const Q={};D&16&&(Q.message=G[4].t("Are you sure you want to unarchive all archived chats?")),D&16&&(Q.confirmLabel=G[4].t("Unarchive All")),!s&&D&8&&(s=!0,Q.show=G[3],$r(()=>s=!1)),a.$set(Q);const V={};D&33554463&&(V.$$scope={dirty:D,ctx:G}),!p&&D&1&&(p=!0,V.show=G[0],$r(()=>p=!1)),u.$set(V)},i(G){C||(nt(a.$$.fragment,G),nt(u.$$.fragment,G),C=!0)},o(G){dt(a.$$.fragment,G),dt(u.$$.fragment,G),C=!1},d(G){G&&z(o),Xt(a,G),Xt(u,G)}}}function qC(c,a,s){let o;const{saveAs:u}=$u;b2.extend(im);const p=ii(),C=Xs("i18n");YA(c,C,re=>s(4,o=re));let{show:b=!1}=a,k=[],E="",B=!1;const G=async re=>{await Kf(localStorage.token,re).catch(S=>{cr.error(`${S}`)}),s(1,k=await L1(localStorage.token)),p("change")},D=async re=>{await cm(localStorage.token,re).catch(S=>{cr.error(`${S}`)}),s(1,k=await L1(localStorage.token))},Q=async()=>{const re=await z8(localStorage.token);let S=new Blob([JSON.stringify(re)],{type:"application/json"});
1u(S,`${o.t("archived-chat-export")}-${Date.now()}.json`)},V=async()=>{for(const re of k)await Kf(localStorage.token,re.id);s(1,k=await L1(localStorage.token))};function W(re){B=re,s(3,B)}const U=()=>{V()},H=()=>{s(0,b=!1)};function K(){E=this.value,s(2,E)}const J=re=>E===""||re.title.toLowerCase().includes(E.toLowerCase()),g=async re=>{G(re.id)},v=async re=>{D(re.id)},e=()=>{s(3,B=!0)},d=()=>{Q()};function _(re){b=re,s(0,b)}return c.$$set=re=>{"show"in re&&s(0,b=re.show)},c.$$.update=()=>{c.$$.dirty&1&&b&&(async()=>s(1,k=await L1(localStorage.token)))()},[b,k,E,B,o,C,G,D,Q,V,W,U,H,K,J,g,v,e,d,_]}class vm extends bs{constructor(a){super(),Cs(this,a,qC,XC,ms,{show:0})}}function JC(c){let a,s;return{c(){a=Ea("svg"),s=Ea("path"),this.h()},l(o){a=Ba(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var u=$(a);s=Ba(u,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}),$(s).forEach(z),u.forEach(z),this.h()},h(){O(s,"stroke-linecap","round"),O(s,"stroke-linejoin","round"),O(s,"d","M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0Z"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"fill","none"),O(a,"viewBox","0 0 24 24"),O(a,"stroke-width",c[1]),O(a,"stroke","currentColor"),O(a,"class",c[0])},m(o,u){Le(o,a,u),T(a,s)},p(o,[u]){u&2&&O(a,"stroke-width",o[1]),u&1&&O(a,"class",o[0])},i:WA,o:WA,d(o){o&&z(a)}}}function $C(c,a,s){let{className:o="w-4 h-4"}=a,{strokeWidth:u="1.5"}=a;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,u=p.strokeWidth)},[o,u]}class e5 extends bs{constructor(a){super(),Cs(this,a,$C,JC,ms,{className:0,strokeWidth:1})}}function t5(c){let a,s;return{c(){a=Ea("svg"),s=Ea("path"),this.h()},l(o){a=Ba(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var u=$(a);s=Ba(u,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}),$(s).forEach(z),u.forEach(z),this.h()},h(){O(s,"stroke-linecap","round"),O(s,"stroke-linejoin","round"),O(s,"d","m3 3 1.664 1.664M21 21l-1.5-1.5m-5.485-1.242L12 17.25 4.5 21V8.742m.164-4.078a2.15 2.15 0 0 1 1.743-1.342 48.507 48.507 0 0 1 11.186 0c1.1.128 1.907 1.077 1.907 2.185V19.5M4.664 4.664 19.5 19.5"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"fill","none"),O(a,"viewBox","0 0 24 24"),O(a,"stroke-width",c[1]),O(a,"stroke","currentColor"),O(a,"class",c[0])},m(o,u){Le(o,a,u),T(a,s)},p(o,[u]){u&2&&O(a,"stroke-width",o[1]),u&1&&O(a,"class",o[0])},i:WA,o:WA,d(o){o&&z(a)}}}function A5(c,a,s){let{className:o="w-4 h-4"}=a,{strokeWidth:u="1.5"}=a;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,u=p.strokeWidth)},[o,u]}class r5 extends bs{constructor(a){super(),Cs(this,a,A5,t5,ms,{className:0,strokeWidth:1})}}function s5(c){let a,s;return{c(){a=Ea("svg"),s=Ea("path"),this.h()},l(o){a=Ba(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var u=$(a);s=Ba(u,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}),$(s).forEach(z),u.forEach(z),this.h()},h(){O(s,"stroke-linecap","round"),O(s,"stroke-linejoin","round"),O(s,"d","M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"fill","none"),O(a,"viewBox","0 0 24 24"),O(a,"stroke-width",c[1]),O(a,"stroke","currentColor"),O(a,"class",c[0])},m(o,u){Le(o,a,u),T(a,s)},p(o,[u]){u&2&&O(a,"stroke-width",o[1]),u&1&&O(a,"class",o[0])},i:WA,o:WA,d(o){o&&z(a)}}}function a5(c,a,s){let{className:o="size-4"}=a,{strokeWidth:u="1.5"}=a;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,u=p.strokeWidth)},[o,u]}class ym extends bs{constructor(a){super(),Cs(this,a,a5,s5,ms,{className:0,strokeWidth:1})}}function n5(c){let a;const s=c[16].default,o=k2(s,c,c[31],null);return{c(){o&&o.c()},l(u){o&&o.l(u)},m(u,p){o&&o.m(u,p),a=!0},p(u,p){o&&o.p&&(!a||p[1]&1)&&v2(o,s,u,u[31],a?E2(s,u[31],p,null):y2(u[31]),null)},i(u){a||(nt(o,u),a=!0)},o(u){dt(o,u),a=!1},d(u){o&&o.d(u)}}}function i5(c){let a,s;return a=new ni({props:{content:c[9].t("More"),$$slots:{default:[n5]},$$scope:{ctx:c}}}
1),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&512&&(p.content=o[9].t("More")),u[1]&1&&(p.$$scope={dirty:u,ctx:o}),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function o5(c){let a,s,o,u=c[9].t("Pin")+"",p,C;return a=new e5({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Pin")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function l5(c){let a,s,o,u=c[9].t("Unpin")+"",p,C;return a=new r5({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Unpin")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function c5(c){let a,s,o,u;const p=[l5,o5],C=[];function b(k,E){return k[8]?0:1}return a=b(c),s=C[a]=p[a](c),{c(){s.c(),o=ps()},l(k){s.l(k),o=ps()},m(k,E){C[a].m(k,E),Le(k,o,E),u=!0},p(k,E){let B=a;a=b(k),a===B?C[a].p(k,E):(Nr(),dt(C[B],1,1,()=>{C[B]=null}),zr(),s=C[a],s?s.p(k,E):(s=C[a]=p[a](k),s.c()),nt(s,1),s.m(o.parentNode,o))},i(k){u||(nt(s),u=!0)},o(k){dt(s),u=!1},d(k){k&&z(o),C[a].d(k)}}}function u5(c){let a,s,o,u=c[9].t("Rename")+"",p,C;return a=new gm({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Rename")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function f5(c){let a,s,o,u=c[9].t("Clone")+"",p,C;return a=new sC({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Clone")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function d5(c){let a,s,o,u=c[9].t("Archive")+"",p,C;return a=new um({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Archive")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function g5(c){let a,s,o,u=c[9].t("Share")+"",p,C;return a=new aC({}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Share")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function h5(c){let a,s,o,u=c[9].t("Download")+"",p,C;return a=new ym({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Download")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function p5(c){let a,s=c[9].t("Export chat (.json)")+"",o;return{c(){a=X("div"),o=Ze(s),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","flex items-center line-clamp-1")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("Export chat (.json)")+"")&&tt(o,s)},d(u){u&&z(a)}}}function m5(c){let a,s=c[9].t("Plain text (.txt)")+"",o;return{c(){a=X("div"),o=Ze(s),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","flex items-center line-clamp-1")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("Plain text (.txt)")+"")&&tt(o,s)},d(u){u&&z(a)}}}function b5(c){let a,s=c[9].t("PDF document (.pdf)")+"",o;return{c(){a=X("div"),o=Ze(s),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","flex items-center line-clamp-1")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("PDF document (.pdf)")+"")&&tt(o,s)},d(u){u&&z(a)}}}function C5(c){let a,s,o,u,p,C;return a=new A0({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[p5]},$$scope:{ctx:c}}}),a.$on("click",c[22]),o=new A0({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[m5]},$$scope:{ctx:c}}}),o.$on("click",c[23]),p=new A0({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[b5]},$$scope:{ctx:c}}}),p.$on("click",c[24]),{c(){Ut(a.$$.fragment),s=Se(),Ut(o.$$.fragment),u=Se(),Ut(p.$$.fragment)},l(b){Kt(a.$$.fragment,b),s=Ne(b),Kt(o.$$.fragment,b),u=Ne(b),Kt(p.$$.fragment,b)},m(b,k){Zt(a,b,k),Le(b,s,k),Zt(o,b,k),Le(b,u,k),Zt(p,b,k),C=!0},p(b,k){const E={};k[0]&512|k[1]&1&&(E.$$scope={dirty:k,ctx:b}),a.$set(E);const B={};k[0]&512|k[1]&1&&(B.$$scope={dirty:k,ctx:b}),o.$set(B);const G={};k[0]&512|k[1]&1&&(G.$$scope={dirty:k,ctx:b}),p.$set(G)},i(b){C||(nt(a.$$.fragment,b),nt(o.$$.fragment,b),nt(p.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),dt(o.$$.fragment,b),dt(p.$$.fragment,b),C=!1},d(b){b&&(z(s),z(u)),Xt(a,b),Xt(o,b),Xt(p,b)}}}function I5(c){let a,s,o,u;return a=new K8({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[h5]},$$scope:{ctx:c}}}),o=new Z8({props:{class:"w-full rounded-xl px-1 py-1.5 z-50 bg-white dark:bg-gray-850 dar
1k:text-white shadow-lg",transition:rd,sideOffset:8,$$slots:{default:[C5]},$$scope:{ctx:c}}}),{c(){Ut(a.$$.fragment),s=Se(),Ut(o.$$.fragment)},l(p){Kt(a.$$.fragment,p),s=Ne(p),Kt(o.$$.fragment,p)},m(p,C){Zt(a,p,C),Le(p,s,C),Zt(o,p,C),u=!0},p(p,C){const b={};C[0]&512|C[1]&1&&(b.$$scope={dirty:C,ctx:p}),a.$set(b);const k={};C[0]&512|C[1]&1&&(k.$$scope={dirty:C,ctx:p}),o.$set(k)},i(p){u||(nt(a.$$.fragment,p),nt(o.$$.fragment,p),u=!0)},o(p){dt(a.$$.fragment,p),dt(o.$$.fragment,p),u=!1},d(p){p&&z(s),Xt(a,p),Xt(o,p)}}}function w5(c){let a,s,o,u=c[9].t("Delete")+"",p,C;return a=new sd({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k[0]&512)&&u!==(u=b[9].t("Delete")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function k5(c){let a,s,o,u,p,C,b,k,E,B,G,D,Q,V,W,U,H,K,J;return a=new A0({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[c5]},$$scope:{ctx:c}}}),a.$on("click",c[17]),o=new A0({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[u5]},$$scope:{ctx:c}}}),o.$on("click",c[18]),p=new A0({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[f5]},$$scope:{ctx:c}}}),p.$on("click",c[19]),b=new A0({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[d5]},$$scope:{ctx:c}}}),b.$on("click",c[20]),E=new A0({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800  rounded-md",$$slots:{default:[g5]},$$scope:{ctx:c}}}),E.$on("click",c[21]),G=new W8({props:{$$slots:{default:[I5]},$$scope:{ctx:c}}}),Q=new A0({props:{class:"flex  gap-2  items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[w5]},$$scope:{ctx:c}}}),Q.$on("click",c[25]),K=new U8({props:{chatId:c[6]}}),K.$on("add",c[26]),K.$on("delete",c[27]),K.$on("close",c[28]),{c(){Ut(a.$$.fragment),s=Se(),Ut(o.$$.fragment),u=Se(),Ut(p.$$.fragment),C=Se(),Ut(b.$$.fragment),k=Se(),Ut(E.$$.fragment),B=Se(),Ut(G.$$.fragment),D=Se(),Ut(Q.$$.fragment),V=Se(),W=X("hr"),U=Se(),H=X("div"),Ut(K.$$.fragment),this.h()},l(g){Kt(a.$$.fragment,g),s=Ne(g),Kt(o.$$.fragment,g),u=Ne(g),Kt(p.$$.fragment,g),C=Ne(g),Kt(b.$$.fragment,g),k=Ne(g),Kt(E.$$.fragment,g),B=Ne(g),Kt(G.$$.fragment,g),D=Ne(g),Kt(Q.$$.fragment,g),V=Ne(g),W=q(g,"HR",{class:!0}),U=Ne(g),H=q(g,"DIV",{class:!0});var v=$(H);Kt(K.$$.fragment,v),v.forEach(z),this.h()},h(){O(W,"class","border-gray-100 dark:border-gray-850 my-0.5"),O(H,"class","flex p-1")},m(g,v){Zt(a,g,v),Le(g,s,v),Zt(o,g,v),Le(g,u,v),Zt(p,g,v),Le(g,C,v),Zt(b,g,v),Le(g,k,v),Zt(E,g,v),Le(g,B,v),Zt(G,g,v),Le(g,D,v),Zt(Q,g,v),Le(g,V,v),Le(g,W,v),Le(g,U,v),Le(g,H,v),Zt(K,H,null),J=!0},p(g,v){const e={};v[0]&768|v[1]&1&&(e.$$scope={dirty:v,ctx:g}),a.$set(e);const d={};v[0]&512|v[1]&1&&(d.$$scope={dirty:v,ctx:g}),o.$set(d);const _={};v[0]&512|v[1]&1&&(_.$$scope={dirty:v,ctx:g}),p.$set(_);const re={};v[0]&512|v[1]&1&&(re.$$scope={dirty:v,ctx:g}),b.$set(re);const S={};v[0]&512|v[1]&1&&(S.$$scope={dirty:v,ctx:g}),E.$set(S);const F={};v[0]&512|v[1]&1&&(F.$$scope={dirty:v,ctx:g}),G.$set(F);const Ie={};v[0]&512|v[1]&1&&(Ie.$$scope={dirty:v,ctx:g}),Q.$set(Ie);const he={};v[0]&64&&(he.chatId=g[6]),K.$set(he)},i(g){J||(nt(a.$$.fragment,g),nt(o.$$.fragment,g),nt(p.$$.fragment,g),nt(b.$$.fragment,g),nt(E.$$.fragment,g),nt(G.$$.fragment,g),nt(Q.$$.fragment,g),nt(K.$$.fragment,g),J=!0)},o(g){dt(a.$$.fragment,g),dt(o.$$.fragment,g),dt(p.$$.fragment,g),dt(b.$$.fragment,g),dt(E.$$.fragment,g),dt(G.$$.fragment,g),dt(Q.$$.fragment,g),dt(K.$$.fragment,g),J=!1},d(g){g&&(z(s),z(u),z(C),z(k),z(B),z(D),z(V),z(W),z(U),z(H)),Xt(a,g),Xt(o,g),Xt(p,g),Xt(b,g),Xt(E,g),Xt(G,g),Xt(Q,g),Xt(K)}}}function v5(c){let a,s,o;return s=new dm({props:{class:"w-full max-w-[200px] rounded-xl px-1 py-1.5 z-50 bg-white dark:bg-gray-850 dar
1k:text-white shadow-lg",sideOffset:-2,side:"bottom",align:"start",transition:rd,$$slots:{default:[k5]},$$scope:{ctx:c}}}),{c(){a=X("div"),Ut(s.$$.fragment),this.h()},l(u){a=q(u,"DIV",{slot:!0});var p=$(a);Kt(s.$$.fragment,p),p.forEach(z),this.h()},h(){O(a,"slot","content")},m(u,p){Le(u,a,p),Zt(s,a,null),o=!0},p(u,p){const C={};p[0]&1023|p[1]&1&&(C.$$scope={dirty:p,ctx:u}),s.$set(C)},i(u){o||(nt(s.$$.fragment,u),o=!0)},o(u){dt(s.$$.fragment,u),o=!1},d(u){u&&z(a),Xt(s)}}}function y5(c){let a,s,o;function u(C){c[29](C)}let p={$$slots:{content:[v5],default:[i5]},$$scope:{ctx:c}};return c[7]!==void 0&&(p.show=c[7]),a=new fm({props:p}),kr.push(()=>es(a,"show",u)),a.$on("change",c[30]),{c(){Ut(a.$$.fragment)},l(C){Kt(a.$$.fragment,C)},m(C,b){Zt(a,C,b),o=!0},p(C,b){const k={};b[0]&1023|b[1]&1&&(k.$$scope={dirty:b,ctx:C}),!s&&b[0]&128&&(s=!0,k.show=C[7],$r(()=>s=!1)),a.$set(k)},i(C){o||(nt(a.$$.fragment,C),o=!0)},o(C){dt(a.$$.fragment,C),o=!1},d(C){Xt(a,C)}}}function E5(c,a,s){let o,u;YA(c,em,me=>s(32,o=me));let{$$slots:p={},$$scope:C}=a;const{saveAs:b}=$u,k=ii(),E=Xs("i18n");YA(c,E,me=>s(9,u=me));let{shareHandler:B}=a,{cloneChatHandler:G}=a,{archiveChatHandler:D}=a,{renameHandler:Q}=a,{deleteHandler:V}=a,{onClose:W}=a,{chatId:U=""}=a,H=!1,K=!1;const J=async()=>{await Zf(localStorage.token,U),k("change")},g=async()=>{s(8,K=await O8(localStorage.token,U))},v=async me=>{const at=me.chat.history;return E8(at,at.currentId).reduce((pt,ct,je,At)=>`${pt}### ${ct.role.toUpperCase()}
2${ct.content}
3
4`,"").trim()},e=async()=>{const me=await Ic(localStorage.token,U);if(!me)return;const at=await v(me);let Ue=new Blob([at],{type:"text/plain"});b(Ue,`chat-${me.chat.title}.txt`)},d=async()=>{const me=await Ic(localStorage.token,U),at=document.getElementById("messages-container");if(at)try{const Ue=o.includes("dark"),ot=1024,pt=1400,ct=at.cloneNode(!0);ct.style.width=`${ot}px`,ct.style.height="auto",document.body.appendChild(ct);const je=await AC(ct,{backgroundColor:Ue?"#000":"#fff",useCORS:!0,scale:2,width:ot,windowWidth:ot,windowHeight:pt});document.body.removeChild(ct);const At=je.toDataURL("image/png"),It=new rC("p","mm","a4"),wt=210,ze=297,rt=je.height*wt/je.width;let Bt=rt,Ot=0;for(Ue&&(It.setFillColor(0,0,0),It.rect(0,0,wt,ze,"F")),It.addImage(At,"PNG",0,Ot,wt,rt),Bt-=ze;Bt>0;)Ot-=ze,It.addPage(),Ue&&(It.setFillColor(0,0,0),It.rect(0,0,wt,ze,"F")),It.addImage(At,"PNG",0,Ot,wt,rt),Bt-=ze;It.save(`chat-${me.chat.title}.pdf`)}catch(Ue){console.error("Error generating PDF",Ue)}},_=async()=>{const me=await Ic(localStorage.token,U);if(me){let at=new Blob([JSON.stringify([me])],{type:"application/json"});b(at,`chat-export-${Date.now()}.json`)}},re=()=>{J()},S=()=>{Q()},F=()=>{G()},Ie=()=>{D()},he=()=>{B()},ce=()=>{_()},ge=()=>{e()},Ce=()=>{d()},Fe=()=>{V()},Pe=me=>{k("tag",{type:"add",name:me.detail.name}),s(7,H=!1)},de=me=>{k("tag",{type:"delete",name:me.detail.name}),s(7,H=!1)},pe=()=>{s(7,H=!1),W()};function we(me){H=me,s(7,H)}const Ge=me=>{me.detail===!1&&W()};return c.$$set=me=>{"shareHandler"in me&&s(0,B=me.shareHandler),"cloneChatHandler"in me&&s(1,G=me.cloneChatHandler),"archiveChatHandler"in me&&s(2,D=me.archiveChatHandler),"renameHandler"in me&&s(3,Q=me.renameHandler),"deleteHandler"in me&&s(4,V=me.deleteHandler),"onClose"in me&&s(5,W=me.onClose),"chatId"in me&&s(6,U=me.chatId),"$$scope"in me&&s(31,C=me.$$scope)},c.$$.update=()=>{c.$$.dirty[0]&128&&H&&g()},[B,G,D,Q,V,W,U,H,K,u,k,E,J,e,d,_,p,re,S,F,Ie,he,ce,ge,Ce,Fe,Pe,de,pe,we,Ge,C]}class B5 extends bs{constructor(a){super(),Cs(this,a,E5,y5,ms,{shareHandler:0,cloneChatHandler:1,archiveChatHandler:2,renameHandler:3,deleteHandler:4,onClose:5,chatId:6},null,[-1,-1])}}function x5(c){let a,s,o;const u=c[4].default,p=k2(u,c,c[3],null);return{c(){a=X("div"),s=X("div"),p&&p.c(),this.h()},l(C){a=q(C,"DIV",{class:!0});var b=$(a);s=q(b,"DIV",{class:!0,style:!0});var k=$(s);p&&p.l(k),k.forEach(z),b.forEach(z),this.h()},h(){O(s,"class","absolute text-white z-99999"),Ta(s,"top",c[1]+10+"px"),Ta(s,"left",c[0]+10+"px"),O(a,"class","fixed top-0 left-0 w-screen h-[100dvh] z-50 touch-none pointer-events-none")}
4,m(C,b){Le(C,a,b),T(a,s),p&&p.m(s,null),c[5](a),o=!0},p(C,[b]){p&&p.p&&(!o||b&8)&&v2(p,u,C,C[3],o?E2(u,C[3],b,null):y2(C[3]),null),(!o||b&2)&&Ta(s,"top",C[1]+10+"px"),(!o||b&1)&&Ta(s,"left",C[0]+10+"px")},i(C){o||(nt(p,C),o=!0)},o(C){dt(p,C),o=!1},d(C){C&&z(a),p&&p.d(C),c[5](null)}}}function M5(c,a,s){let{$$slots:o={},$$scope:u}=a,{x:p}=a,{y:C}=a,b=null;li(()=>{document.body.appendChild(b),document.body.style.overflow="hidden"}),B2(()=>{document.body.removeChild(b),document.body.style.overflow="unset"});function k(E){kr[E?"unshift":"push"](()=>{b=E,s(2,b)})}return c.$$set=E=>{"x"in E&&s(0,p=E.x),"y"in E&&s(1,C=E.y),"$$scope"in E&&s(3,u=E.$$scope)},[p,C,b,u,o,k]}class Em extends bs{constructor(a){super(),Cs(this,a,M5,x5,ms,{x:0,y:1})}}function D5(c){let a,s;return{c(){a=Ea("svg"),s=Ea("path"),this.h()},l(o){a=Ba(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var u=$(a);s=Ba(u,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}),$(s).forEach(z),u.forEach(z),this.h()},h(){O(s,"stroke-linecap","round"),O(s,"stroke-linejoin","round"),O(s,"d","M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"fill","none"),O(a,"viewBox","0 0 24 24"),O(a,"stroke-width",c[1]),O(a,"stroke","currentColor"),O(a,"class",c[0])},m(o,u){Le(o,a,u),T(a,s)},p(o,[u]){u&2&&O(a,"stroke-width",o[1]),u&1&&O(a,"class",o[0])},i:WA,o:WA,d(o){o&&z(a)}}}function G5(c,a,s){let{className:o="size-4"}=a,{strokeWidth:u="1.5"}=a;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,u=p.strokeWidth)},[o,u]}class _5 extends bs{constructor(a){super(),Cs(this,a,G5,D5,ms,{className:0,strokeWidth:1})}}function T5(c){let a,s=c[16].t("This will delete")+"",o,u,p,C,b;return{c(){a=X("div"),o=Ze(s),u=Se(),p=X("span"),C=Ze(c[2]),b=Ze("."),this.h()},l(k){a=q(k,"DIV",{class:!0});var E=$(a);o=Xe(E,s),u=Ne(E),p=q(E,"SPAN",{class:!0});var B=$(p);C=Xe(B,c[2]),B.forEach(z),b=Xe(E,"."),E.forEach(z),this.h()},h(){O(p,"class","font-semibold"),O(a,"class","text-sm text-gray-500 flex-1 line-clamp-3")},m(k,E){Le(k,a,E),T(a,o),T(a,u),T(a,p),T(p,C),T(a,b)},p(k,E){E[0]&65536&&s!==(s=k[16].t("This will delete")+"")&&tt(o,s),E[0]&4&&tt(C,k[2])},d(k){k&&z(a)}}}function th(c){let a,s;return a=new Em({props:{x:c[12],y:c[13],$$slots:{default:[Q5]},$$scope:{ctx:c}}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&4096&&(p.x=o[12]),u[0]&8192&&(p.y=o[13]),u[0]&4|u[1]&134217728&&(p.$$scope={dirty:u,ctx:o}),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function Q5(c){let a,s,o,u,p,C,b;return o=new _5({props:{className:" size-[18px]",strokeWidth:"2"}}),{c(){a=X("div"),s=X("div"),Ut(o.$$.fragment),u=Se(),p=X("div"),C=Ze(c[2]),this.h()},l(k){a=q(k,"DIV",{class:!0});var E=$(a);s=q(E,"DIV",{class:!0});var B=$(s);Kt(o.$$.fragment,B),u=Ne(B),p=q(B,"DIV",{class:!0});var G=$(p);C=Xe(G,c[2]),G.forEach(z),B.forEach(z),E.forEach(z),this.h()},h(){O(p,"class","text-xs text-white line-clamp-1"),O(s,"class","flex items-center gap-1"),O(a,"class","bg-black/80 backdrop-blur-2xl px-2 py-1 rounded-lg w-fit max-w-40")},m(k,E){Le(k,a,E),T(a,s),Zt(o,s,null),T(s,u),T(s,p),T(p,C),b=!0},p(k,E){(!b||E[0]&4)&&tt(C,k[2])},i(k){b||(nt(o.$$.fragment,k),b=!0)},o(k){dt(o.$$.fragment,k),b=!1},d(k){k&&z(a),Xt(o)}}}function P5(c){let a,s,o,u,p,C,b,k;return{c(){a=X("a"),s=X("div"),o=X("div"),u=Ze(c[2]),this.h()},l(E){a=q(E,"A",{class:!0,href:!0,draggable:!0});var B=$(a);s=q(B,"DIV",{class:!0});var G=$(s);o=q(G,"DIV",{dir:!0,class:!0});var D=$(o);u=Xe(D,c[2]),D.forEach(z),G.forEach(z),B.forEach(z),this.h()},h(){O(o,"dir","auto"),O(o,"class","text-left self-center overflow-hidden w-full h-[20px]"),O(s,"class","flex self-center flex-1 w-full"),O(a,"class",p="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(c[1]===c[15]||c[8]?"bg-gray-200 dark:bg-gray-900":c[3]?"bg-gray-100 dark:bg-gray-950":" group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis"),O(a,"href",C="/c/"+c[1]),O(a,"draggable","false")},m(E,B){Le(E,a,B),T(a,s),T(s,o),T(o,u),b||(k=[Qt(a,"click",c[30]),Qt(
4a,"dblclick",c[31]),Qt(a,"mouseenter",c[32]),Qt(a,"mouseleave",c[33]),Qt(a,"focus",j5)],b=!0)},p(E,B){B[0]&4&&tt(u,E[2]),B[0]&33034&&p!==(p="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(E[1]===E[15]||E[8]?"bg-gray-200 dark:bg-gray-900":E[3]?"bg-gray-100 dark:bg-gray-950":" group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis")&&O(a,"class",p),B[0]&2&&C!==(C="/c/"+E[1])&&O(a,"href",C)},d(E){E&&z(a),b=!1,Es(k)}}}function S5(c){let a,s,o,u,p,C;return{c(){a=X("div"),s=X("input"),this.h()},l(b){a=q(b,"DIV",{class:!0});var k=$(a);s=q(k,"INPUT",{id:!0,class:!0}),k.forEach(z),this.h()},h(){O(s,"id",o="chat-title-input-"+c[1]),O(s,"class","bg-transparent w-full outline-hidden mr-10"),O(a,"class",u="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(c[1]===c[15]||c[8]?"bg-gray-200 dark:bg-gray-900":c[3]?"bg-gray-100 dark:bg-gray-950":"group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis")},m(b,k){Le(b,a,k),T(a,s),ar(s,c[9]),p||(C=[g8(c[24].call(null,s)),Qt(s,"input",c[29]),Qt(s,"keydown",c[25])],p=!0)},p(b,k){k[0]&2&&o!==(o="chat-title-input-"+b[1])&&O(s,"id",o),k[0]&512&&s.value!==b[9]&&ar(s,b[9]),k[0]&33034&&u!==(u="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(b[1]===b[15]||b[8]?"bg-gray-200 dark:bg-gray-900":b[3]?"bg-gray-100 dark:bg-gray-950":"group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis")&&O(a,"class",u)},d(b){b&&z(a),p=!1,Es(C)}}}function N5(c){let a,s,o,u;s=new B5({props:{chatId:c[1],cloneChatHandler:c[39],shareHandler:c[40],archiveChatHandler:c[41],renameHandler:c[42],deleteHandler:c[43],onClose:c[44],$$slots:{default:[F5]},$$scope:{ctx:c}}}),s.$on("change",c[45]),s.$on("tag",c[46]);let p=c[1]===c[15]&&Ah(c);return{c(){a=X("div"),Ut(s.$$.fragment),o=Se(),p&&p.c(),this.h()},l(C){a=q(C,"DIV",{class:!0});var b=$(a);Kt(s.$$.fragment,b),o=Ne(b),p&&p.l(b),b.forEach(z),this.h()},h(){O(a,"class","flex self-center space-x-1 z-10")},m(C,b){Le(C,a,b),Zt(s,a,null),T(a,o),p&&p.m(a,null),u=!0},p(C,b){const k={};b[0]&2&&(k.chatId=C[1]),b[0]&2&&(k.cloneChatHandler=C[39]),b[0]&128&&(k.shareHandler=C[40]),b[0]&2&&(k.archiveChatHandler=C[41]),b[0]&774&&(k.renameHandler=C[42]),b[0]&16384&&(k.deleteHandler=C[43]),b[1]&134217728&&(k.$$scope={dirty:b,ctx:C}),s.$set(k),C[1]===C[15]?p?p.p(C,b):(p=Ah(C),p.c(),p.m(a,null)):p&&(p.d(1),p=null)},i(C){u||(nt(s.$$.fragment,C),u=!0)},o(C){dt(s.$$.fragment,C),u=!1},d(C){C&&z(a),Xt(s),p&&p.d()}}}function z5(c){let a,s,o,u,p;return s=new ni({props:{content:c[16].t("Archive"),className:"flex items-center",$$slots:{default:[L5]},$$scope:{ctx:c}}}),u=new ni({props:{content:c[16].t("Delete"),$$slots:{default:[V5]},$$scope:{ctx:c}}}),{c(){a=X("div"),Ut(s.$$.fragment),o=Se(),Ut(u.$$.fragment),this.h()},l(C){a=q(C,"DIV",{class:!0});var b=$(a);Kt(s.$$.fragment,b),o=Ne(b),Kt(u.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","flex items-center self-center space-x-1.5")},m(C,b){Le(C,a,b),Zt(s,a,null),T(a,o),Zt(u,a,null),p=!0},p(C,b){const k={};b[0]&65536&&(k.content=C[16].t("Archive")),b[0]&2|b[1]&134217728&&(k.$$scope={dirty:b,ctx:C}),s.$set(k);const E={};b[0]&65536&&(E.content=C[16].t("Delete")),b[0]&2|b[1]&134217728&&(E.$$scope={dirty:b,ctx:C}),u.$set(E)},i(C){p||(nt(s.$$.fragment,C),nt(u.$$.fragment,C),p=!0)},o(C){dt(s.$$.fragment,C),dt(u.$$.fragment,C),p=!1},d(C){C&&z(a),Xt(s),Xt(u)}}}function O5(c){let a,s,o,u,p;return s=new ni({props:{content:c[16].t("Confirm"),$$slots:{default:[H5]},$$scope:{ctx:c}}}),u=new ni({props:{content:c[16].t("Cancel"),$$slots:{default:[Y5]},$$scope:{ctx:c}}}),{c(){a=X("div"),Ut(s.$$.fragment),o=Se(),Ut(u.$$.fragment),this.h()},l(C){a=q(C,"DIV",{class:!0});var b=$(a);Kt(s.$$.fragment,b),o=Ne(b),Kt(u.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","flex self-center items-center space-x-1.5 z-10 translate-y-[0.5px] -translate-x-[0.5px]")},m(C,b){Le(C,a,b),Zt(s,a,null),T(a,o),Zt(u,a,null),p=!0},p(C,b){const k={};b[0]&65536&&(k.content=C[16].t("Confirm")),b[0]&770|b[1]&134217728&&(k.$$scope={dirty:b,ctx:C}),s.$set(k);const E={};b[0]&65536&&(E.content=C[16].t("Cancel")),b[0]&768|b[1]&134217728&&(E.$$scope={dirty:b,ctx:C}),u.$set(E)},i(C){p||(nt(s.$$.fragment,C),nt(u.$$.fragment,C),p=!0)},o(C){dt(s.$$.fragment,C),dt(u.$$.fragment,C),p=!1},d(C){C&&z(a),Xt(s),Xt(u)}}}function F5(c){let a,s='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M2 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM6.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM12.5 6.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z"></path></svg>',o,u;return{c(){a=X("button"),a.innerHTML=s,this.h()},l(p){a=q(p,"BUTTON",{"aria-label":!0,class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1nmly1h"&&(a.innerHTML=s),this.h()},h(){O(a,"aria-label","Chat Menu"),O(a,"class","self-center dark:hover:text-white transition")},m(p,C){Le(p,a,C),o||(u=Qt(a,"click",c[38]),o=!0)},p:WA,d(p){p&&z(a),o=!1,u()}}}function Ah(c){let a,s='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M2 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM6.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM12.5 6.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z"></path></svg>',o,u;return{c(){a=X("button"),a.innerHTML=s,this.h()},l(p){a=q(p,"BUTTON",{id:!0,class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1gozylk"&&(a.innerHTML=s),this.h()},h(){O(a,"id","delete-chat-button"),O(a,"class","hidden")},m(p,C){Le(p,a,C),o||(u=Qt(a,"click",c[47]),o=!0)},p:WA,d(p){p&&z(a),o=!1,u()}}}function L5(c){let a,s,o,u,p;return s=new um({props:{className:"size-4  translate-y-[0.5px]",strokeWidth:"2"}}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0,type:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","self-center dark:hover:text-white transition"),O(a,"type","button")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",c[36]),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function V5(c){let a,s,o,u,p;return s=new sd({props:{strokeWidth:"2"}}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0,type:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","self-center dark:hover:text-white transition"),O(a,"type","button")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",c[37]),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function H5(c){let a,s,o,u,p;return s=new nC({props:{className:" size-3.5",strokeWidth:"2.5"}}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","self-center dark:hover:text-white transition")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",c[34]),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function Y5(c){let a,s,o,u,p;return s=new ad({props:{strokeWidth:"2.5"}}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","self-center dark:hover:text-white transition")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",c[35]),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function R5(c){let a,s,o,u,p,C,b,k,E,B,G,D,Q,V,W,U,H,K;function J(ce){c[26](ce)}let g={chatId:c[1]};c[7]!==void 0&&(g.show=c[7]),a=new X8({props:g}),kr.push(()=>es(a,"show",J));function v(ce){c[27](ce)}let e={title:c[16].t("Delete chat?"),$$slots:{default:[T5]},$$scope:{ctx:c}};c[14]!==void 0&&(e.show=c[14]),u=new M2({props:e}),kr.push(()=>es(u,"show",v)),u.$on("confirm",c[28]);let d=c[11]&&c[12]&&c[13]&&th(c);function _(ce,ge){return ce[8]?S5:P5}let re=_(c),S=re(c);const F=[O5,z5,N5],Ie=[];
4function he(ce,ge){return ce[8]?0:ce[4]&&ce[5]?1:2}return G=he(c),D=Ie[G]=F[G](c),{c(){Ut(a.$$.fragment),o=Se(),Ut(u.$$.fragment),C=Se(),d&&d.c(),b=Se(),k=X("div"),S.c(),E=Se(),B=X("div"),D.c(),this.h()},l(ce){Kt(a.$$.fragment,ce),o=Ne(ce),Kt(u.$$.fragment,ce),C=Ne(ce),d&&d.l(ce),b=Ne(ce),k=q(ce,"DIV",{class:!0,draggable:!0});var ge=$(k);S.l(ge),E=Ne(ge),B=q(ge,"DIV",{class:!0});var Ce=$(B);D.l(Ce),Ce.forEach(z),ge.forEach(z),this.h()},h(){O(B,"class",Q=(c[1]===c[15]||c[8]?"from-gray-200 dark:from-gray-900":c[3]?"from-gray-100 dark:from-gray-950":"invisible group-hover:visible from-gray-100 dark:from-gray-950")+" absolute "+(c[0]==="pr-2"?"right-[8px]":"right-0")+" top-[4px] py-1 pr-0.5 mr-1.5 pl-5 bg-linear-to-l from-80% to-transparent"),O(k,"class",V="w-full "+c[0]+" relative group"),O(k,"draggable",W=c[6]&&!c[8])},m(ce,ge){Zt(a,ce,ge),Le(ce,o,ge),Zt(u,ce,ge),Le(ce,C,ge),d&&d.m(ce,ge),Le(ce,b,ge),Le(ce,k,ge),S.m(k,null),T(k,E),T(k,B),Ie[G].m(B,null),c[50](k),U=!0,H||(K=[Qt(B,"mouseenter",c[48]),Qt(B,"mouseleave",c[49])],H=!0)},p(ce,ge){const Ce={};ge[0]&2&&(Ce.chatId=ce[1]),!s&&ge[0]&128&&(s=!0,Ce.show=ce[7],$r(()=>s=!1)),a.$set(Ce);const Fe={};ge[0]&65536&&(Fe.title=ce[16].t("Delete chat?")),ge[0]&65540|ge[1]&134217728&&(Fe.$$scope={dirty:ge,ctx:ce}),!p&&ge[0]&16384&&(p=!0,Fe.show=ce[14],$r(()=>p=!1)),u.$set(Fe),ce[11]&&ce[12]&&ce[13]?d?(d.p(ce,ge),ge[0]&14336&&nt(d,1)):(d=th(ce),d.c(),nt(d,1),d.m(b.parentNode,b)):d&&(Nr(),dt(d,1,1,()=>{d=null}),zr()),re===(re=_(ce))&&S?S.p(ce,ge):(S.d(1),S=re(ce),S&&(S.c(),S.m(k,E)));let Pe=G;G=he(ce),G===Pe?Ie[G].p(ce,ge):(Nr(),dt(Ie[Pe],1,1,()=>{Ie[Pe]=null}),zr(),D=Ie[G],D?D.p(ce,ge):(D=Ie[G]=F[G](ce),D.c()),nt(D,1),D.m(B,null)),(!U||ge[0]&33035&&Q!==(Q=(ce[1]===ce[15]||ce[8]?"from-gray-200 dark:from-gray-900":ce[3]?"from-gray-100 dark:from-gray-950":"invisible group-hover:visible from-gray-100 dark:from-gray-950")+" absolute "+(ce[0]==="pr-2"?"right-[8px]":"right-0")+" top-[4px] py-1 pr-0.5 mr-1.5 pl-5 bg-linear-to-l from-80% to-transparent"))&&O(B,"class",Q),(!U||ge[0]&1&&V!==(V="w-full "+ce[0]+" relative group"))&&O(k,"class",V),(!U||ge[0]&320&&W!==(W=ce[6]&&!ce[8]))&&O(k,"draggable",W)},i(ce){U||(nt(a.$$.fragment,ce),nt(u.$$.fragment,ce),nt(d),nt(D),U=!0)},o(ce){dt(a.$$.fragment,ce),dt(u.$$.fragment,ce),dt(d),dt(D),U=!1},d(ce){ce&&(z(o),z(C),z(b),z(k)),Xt(a,ce),Xt(u,ce),d&&d.d(ce),S.d(),Ie[G].d(),c[50](null),H=!1,Es(K)}}}const j5=c=>{};function W5(c,a,s){let o,u,p,C;YA(c,Wf,lt=>s(15,o=lt)),YA(c,r0,lt=>s(53,u=lt)),YA(c,U1,lt=>s(17,C=lt));const b=Xs("i18n");YA(c,b,lt=>s(16,p=lt));const k=ii();let{className:E=""}=a,{id:B}=a,{title:G}=a,{selected:D=!1}=a,{shiftKey:Q=!1}=a,V=null,W=!1,U=!1;const H=async()=>{V||(s(6,U=!1),V=await Ic(localStorage.token,B),s(6,U=!0))};let K=!1,J=!1,g=G;const v=async(lt,xt)=>{xt===""?cr.error(p.t("Title cannot be an empty string.")):(await F8(localStorage.token,lt,{title:xt}),lt===o&&m8.set(xt),r0.set(1),await t0.set(await tc(localStorage.token,u)),await K1.set(await Xf(localStorage.token)),k("change"))},e=async lt=>{const xt=await L8(localStorage.token,lt,p.t("Clone of {{TITLE}}",{TITLE:G})).catch(jt=>(cr.error(`${jt}`),null));xt&&(cl(`/c/${xt.id}`),r0.set(1),await t0.set(await tc(localStorage.token,u)),await K1.set(await Xf(localStorage.token)))},d=async lt=>{await cm(localStorage.token,lt).catch(jt=>(cr.error(`${jt}`),null))&&(Ju.set(await Z1(localStorage.token)),o===lt&&(await cl("/"),await Wf.set(""),await il()),k("change"))},_=async lt=>{await Kf(localStorage.token,lt),k("change")},re=async lt=>{lt.focus()};let S,F=!1,Ie=0,he=0;const ce=new Image;ce.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";const ge=lt=>{lt.stopPropagation(),lt.dataTransfer.setDragImage(ce,0,0),lt.dataTransfer.setData("text/plain",JSON.stringify({type:"chat",id:B,item:V})),s(11,F=!0),s(10,S.style.opacity="0.5",S)},Ce=lt=>{lt.stopPropagation(),s(12,Ie=lt.clientX),s(13,he=lt.clientY)},Fe=lt=>{lt.stopPropagation(),s(10,S.style.opacity="1",S),s(11,F=!1)};li(()=>{S&&(S.addEventListener("dragstart",ge),S.addEventListener("drag",Ce),S.addEventListener("dragend",Fe))}),B2(()=>{S&&(S.removeEventListener("dragstart",ge),S.removeEventListener("drag",Ce),S.removeEventListener("dragend",Fe))});let Pe=!1;const de=lt=>{lt.key==="Enter"?(lt.preventDefault(),v(B,g),s(8,J=!1),s(9,g="")):lt.key==="Escape"&&(lt.preventDefault(),s(8,J=!1),s(9,g=""))};function pe(lt){K=lt,s(7,K)}function we(lt){Pe=lt,s(14,Pe)}const Ge=()=>{d(B)};function me(){g=this.value,s(9,g)}const at=()=>{k("select"),C&&Oo.set(!1)},Ue=()=>{s(9,g=G),s(8,J=!0)},ot=lt=>{s(5,W=!0)},pt=lt=>{s(5,W=!1)},ct=()=>{v(B,g),s(8,J=!1),s(9,g="")},je=()=>{s(8,J=!1),s(9,g="")},At=()=>{_(B)},It=()=>{d(B)},wt=()=>{k("select")},ze=()=>{e(B)},rt=()=>{s(7,K=!0)},Bt=()=>{_(B)},Ot=async()=>{s(9,g=G),s(8,J=!0),await il();const lt=document.getElementById(`chat-title-input-${B}`);lt&&lt.focus()},St=()=>{s(14,Pe=!0)},oe=()=>{k("unselect")},zt=async()=>{k("change")},ke=lt=>{k("tag",lt.detail)},fe=()=>{s(14,Pe=!0)},Qe=lt=>{s(5,W=!0)},Je=lt=>{s(5,W=!1)};function st(lt){kr[lt?"unshift":"push"](()=>{S=lt,s(10,S)})}return c.$$set=lt=>{"className"in lt&&s(0,E=lt.className),"id"in lt&&s(1,B=lt.id),"title"in lt&&s(2,G=lt.title),"selected"in lt&&s(3,D=lt.selected),"shiftKey"in lt&&s(4,Q=lt.shiftKey)},c.$$.update=()=>{c.$$.dirty[0]&32&&W&&H()},[E,B,G,D,Q,W,U,K,J,g,S,F,Ie,he,Pe,o,p,C,b,k,v,e,d,_,re,de,pe,we,Ge,me,at,Ue,ot,pt,ct,je,At,It,wt,ze,rt,Bt,Ot,St,oe,zt,ke,fe,Qe,Je,st]}
4class id extends bs{constructor(a){super(),Cs(this,a,W5,R5,ms,{className:0,id:1,title:2,selected:3,shiftKey:4},null,[-1,-1])}}function rh(c,a,s){const o=c.slice();return o[28]=a[s],o[30]=s,o}function sh(c,a,s){const o=c.slice();return o[25]=a[s],o[27]=s,o}function ah(c){let a,s,o,u,p,C;return o=new ad({props:{className:"size-3",strokeWidth:"2"}}),{c(){a=X("div"),s=X("button"),Ut(o.$$.fragment),this.h()},l(b){a=q(b,"DIV",{class:!0});var k=$(a);s=q(k,"BUTTON",{class:!0});var E=$(s);Kt(o.$$.fragment,E),E.forEach(z),k.forEach(z),this.h()},h(){O(s,"class","p-0.5 rounded-full hover:bg-gray-100 dark:hover:bg-gray-900 transition"),O(a,"class","self-center pr-2 pl-1.5 translate-y-[0.5px] rounded-l-xl bg-transparent")},m(b,k){Le(b,a,k),T(a,s),Zt(o,s,null),u=!0,p||(C=Qt(s,"click",c[11]),p=!0)},p:WA,i(b){u||(nt(o.$$.fragment,b),u=!0)},o(b){dt(o.$$.fragment,b),u=!1},d(b){b&&z(a),Xt(o),p=!1,C()}}}function nh(c){let a,s,o,u,p;function C(E,B){if(E[7].length>0)return K5;if(E[6].length>0)return U5}let b=C(c),k=b&&b(c);return{c(){a=X("div"),s=X("div"),k&&k.c(),this.h()},l(E){a=q(E,"DIV",{class:!0});var B=$(a);s=q(B,"DIV",{class:!0});var G=$(s);k&&k.l(G),G.forEach(z),B.forEach(z),this.h()},h(){O(s,"class","px-2 py-2 text-xs group"),O(a,"class","absolute top-0 mt-8 left-0 right-1 border border-gray-100 dark:border-gray-900 bg-gray-50 dark:bg-gray-950 rounded-lg z-10 shadow-lg")},m(E,B){Le(E,a,B),T(a,s),k&&k.m(s,null),u||(p=[Qt(a,"mouseenter",c[20]),Qt(a,"mouseleave",c[21])],u=!0)},p(E,B){b===(b=C(E))&&k?k.p(E,B):(k&&k.d(1),k=b&&b(E),k&&(k.c(),k.m(s,null)))},i(E){E&&(o||ll(()=>{o=qp(a,$p,{duration:50}),o.start()}))},o:WA,d(E){E&&z(a),k&&k.d(),u=!1,Es(p)}}}function U5(c){let a,s=c[3].t("Search options")+"",o,u,p,C=Ur(c[6]),b=[];for(let k=0;k<C.length;k+=1)b[k]=ih(rh(c,C,k));return{c(){a=X("div"),o=Ze(s),u=Se(),p=X("div");for(let k=0;k<b.length;k+=1)b[k].c();this.h()},l(k){a=q(k,"DIV",{class:!0});var E=$(a);o=Xe(E,s),E.forEach(z),u=Ne(k),p=q(k,"DIV",{class:!0});var B=$(p);for(let G=0;G<b.length;G+=1)b[G].l(B);B.forEach(z),this.h()},h(){O(a,"class","px-1 font-medium dark:text-gray-300 text-gray-700 mb-1"),O(p,"class","max-h-60 overflow-auto")},m(k,E){Le(k,a,E),T(a,o),Le(k,u,E),Le(k,p,E);for(let B=0;B<b.length;B+=1)b[B]&&b[B].m(p,null)},p(k,E){if(E&8&&s!==(s=k[3].t("Search options")+"")&&tt(o,s),E&337){C=Ur(k[6]);let B;for(B=0;B<C.length;B+=1){const G=rh(k,C,B);b[B]?b[B].p(G,E):(b[B]=ih(G),b[B].c(),b[B].m(p,null))}for(;B<b.length;B+=1)b[B].d(1);b.length=C.length}},d(k){k&&(z(a),z(u),z(p)),oi(b,k)}}}function K5(c){let a,s="Tags",o,u,p=Ur(c[7]),C=[];for(let b=0;b<p.length;b+=1)C[b]=oh(sh(c,p,b));return{c(){a=X("div"),a.textContent=s,o=Se(),u=X("div");for(let b=0;b<C.length;b+=1)C[b].c();this.h()},l(b){a=q(b,"DIV",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-16um22k"&&(a.textContent=s),o=Ne(b),u=q(b,"DIV",{class:!0});var k=$(u);for(let E=0;E<C.length;E+=1)C[E].l(k);
4k.forEach(z),this.h()},h(){O(a,"class","px-1 font-medium dark:text-gray-300 text-gray-700 mb-1"),O(u,"class","max-h-60 overflow-auto")},m(b,k){Le(b,a,k),Le(b,o,k),Le(b,u,k);for(let E=0;E<C.length;E+=1)C[E]&&C[E].m(u,null)},p(b,k){if(k&401){p=Ur(b[7]);let E;for(E=0;E<p.length;E+=1){const B=sh(b,p,E);C[E]?C[E].p(B,k):(C[E]=oh(B),C[E].c(),C[E].m(u,null))}for(;E<C.length;E+=1)C[E].d(1);C.length=p.length}},d(b){b&&(z(a),z(o),z(u)),oi(C,b)}}}function ih(c){let a,s,o=c[28].name+"",u,p,C,b=c[28].description+"",k,E,B,G,D;return{c(){a=X("button"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),k=Ze(b),E=Se(),this.h()},l(Q){a=q(Q,"BUTTON",{class:!0,id:!0});var V=$(a);s=q(V,"DIV",{class:!0});var W=$(s);u=Xe(W,o),W.forEach(z),p=Ne(V),C=q(V,"DIV",{class:!0});var U=$(C);k=Xe(U,b),U.forEach(z),E=Ne(V),V.forEach(z),this.h()},h(){O(s,"class","dark:text-gray-300 text-gray-700 font-medium"),O(C,"class","text-gray-500 line-clamp-1"),O(a,"class",B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(c[4]===c[30]?"bg-gray-100 dark:bg-gray-900":"")),O(a,"id","search-option-"+c[30])},m(Q,V){Le(Q,a,V),T(a,s),T(s,u),T(a,p),T(a,C),T(C,k),T(a,E),G||(D=Qt(a,"click",Xp(c[19])),G=!0)},p(Q,V){V&64&&o!==(o=Q[28].name+"")&&tt(u,o),V&64&&b!==(b=Q[28].description+"")&&tt(k,b),V&16&&B!==(B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(Q[4]===Q[30]?"bg-gray-100 dark:bg-gray-900":""))&&O(a,"class",B)},d(Q){Q&&z(a),G=!1,D()}}}function oh(c){let a,s,o=c[25].name+"",u,p,C,b=c[25].id+"",k,E,B,G,D;function Q(){return c[18](c[25])}return{c(){a=X("button"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),k=Ze(b),E=Se(),this.h()},l(V){a=q(V,"BUTTON",{class:!0,id:!0});var W=$(a);s=q(W,"DIV",{class:!0});var U=$(s);u=Xe(U,o),U.forEach(z),p=Ne(W),C=q(W,"DIV",{class:!0});var H=$(C);k=Xe(H,b),H.forEach(z),E=Ne(W),W.forEach(z),this.h()},h(){O(s,"class","dark:text-gray-300 text-gray-700 font-medium line-clamp-1 shrink-0"),O(C,"class","text-gray-500 line-clamp-1"),O(a,"class",B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(c[4]===c[27]?"bg-gray-100 dark:bg-gray-900":"")),O(a,"id","search-tag-"+c[27])},m(V,W){Le(V,a,W),T(a,s),T(s,u),T(a,p),T(a,C),T(C,k),T(a,E),G||(D=Qt(a,"click",Xp(Q)),G=!0)},p(V,W){c=V,W&128&&o!==(o=c[25].name+"")&&tt(u,o),W&128&&b!==(b=c[25].id+"")&&tt(k,b),W&16&&B!==(B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(c[4]===c[27]?"bg-gray-100 dark:bg-gray-900":""))&&O(a,"class",B)},d(V){V&&z(a),G=!1,D()}}}function Z5(c){let a,s,o,u='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z" clip-rule="evenodd"></path></svg>',p,C,b,k,E,B,G,D,Q=c[2]&&c[0]&&ah(c),V=c[5]&&(c[6].length>0||c[7].length>0)&&nh(c);return{c(){a=X("div"),s=X("div"),o=X("div"),o.innerHTML=u,p=Se(),C=X("input"),k=Se(),Q&&Q.c(),E=Se(),V&&V.c(),this.h()},l(W){a=q(W,"DIV",{class:!0,id:!0});var U=$(a);s=q(U,"DIV",{class:!0,id:!0});var H=$(s);o=q(H,"DIV",{class:!0,"data-svelte-h":!0}),ur(o)!=="svelte-1k3m202"&&(o.innerHTML=u),p=Ne(H),C=q(H,"INPUT",{class:!0,placeholder:!0}),k=Ne(H),Q&&Q.l(H),H.forEach(z),E=Ne(U),V&&V.l(U),U.forEach(z),this.h()},h(){O(o,"class","self-center pl-3 py-2 rounded-l-xl bg-transparent"),O(C,"class","w-full rounded-r-xl py-1.5 pl-2.5 text-sm bg-transparent dark:text-gray-300 outline-hidden"),O(C,"placeholder",b=c[1]?c[1]:c[3].t("Search")),O(s,"class","flex w-full rounded-xl"),O(s,"id","chat-search"),O(a,"class","px-1 mb-1 flex justify-center space-x-2 relative z-10"),O(a,"id","search-container")},m(W,U){Le(W,a,U),T(a,s),T(s,o),T(s,p),T(s,C),ar(C,c[0]),T(s,k),Q&&Q.m(s,null),T(a,E),V&&V.m(a,null),B=!0,G||(D=[Qt(C,"input",c[14]),Qt(C,"input",c[15]),Qt(C,"focus",c[16]),Qt(C,"keydown",c[17])],G=!0)},p(W,[U]){(!B||U&10&&b!==(b=W[1]?W[1]:W[3].t("Search")))&&O(C,"placeholder",b),U&1&&C.value!==W[0]&&ar(C,W[0]),W[2]&&W[0]?Q?(Q.p(W,U),U&5&&nt(Q,1)):(Q=ah(W),Q.c(),nt(Q,1),Q.m(s,null)):Q&&(Nr(),dt(Q,1,1,()=>{Q=null}),zr()),W[5]&&(W[6].length>0||W[7].length>0)?V?(V.p(W,U),U&224&&nt(V,1)):(V=nh(W),V.c(),nt(V,1),V.m(a,null)):V&&(V.d(1),V=null)},i(W){B||(nt(Q),nt(V),B=!0)},o(W){dt(Q),B=!1},d(W){W&&z(a),Q&&Q.d(),V&&V.d(),G=!1,Es(D)}}}function X5(c,a,s){let o,u;YA(c,Ju,F=>s(13,u=F));const p=ii(),C=Xs("i18n");YA(c,C,F=>s(3,o=F));let{placeholder:b=""}=a,{value:k=""}=a,{showClearButton:E=!1}=a,B=0,G="",D=[{name:"tag:",description:o.t("search for tags")}],Q=!1,V=D,W=[];const U=async()=>{await Ju.set(await Z1(localStorage.token))},H=()=>{s(0,k=""),p("input")},K=F=>{const Ie=document.getElementById("search-container"),he=document.getElementById("chat-search");if(!Ie.contains(F.target)&&!he.contains(F.target)){if(F.target.id.startsWith("search-tag-")||F.target.id.startsWith("search-option-"))return;s(5,Q=!1)}};li(()=>{document.addEventListener("click",K)}),B2(()=>{document.removeEventListener("click",K)});function J(){k=this.value,s(0,k)}const g=()=>{p("input")},v=()=>{s(5,Q=!0),U()},e=F=>
4{if(F.key==="Enter"){if(W.length>0){document.getElementById(`search-tag-${B}`).click();return}if(V.length>0){document.getElementById(`search-option-${B}`).click();return}}F.key==="ArrowUp"?(F.preventDefault(),s(4,B=Math.max(0,B-1))):F.key==="ArrowDown"?(F.preventDefault(),W.length>0?s(4,B=Math.min(B+1,W.length-1)):s(4,B=Math.min(B+1,V.length-1))):s(4,B=0)},d=async F=>{const Ie=k.split(" ");Ie.pop(),Ie.push(`tag:${F.id} `),s(0,k=Ie.join(" ")),p("input")},_=async()=>{const F=k.split(" ");F.pop(),F.push("tag:"),s(0,k=F.join(" ")),p("input")},re=()=>{s(4,B=null)},S=()=>{s(4,B=0)};return c.$$set=F=>{"placeholder"in F&&s(1,b=F.placeholder),"value"in F&&s(0,k=F.value),"showClearButton"in F&&s(2,E=F.showClearButton)},c.$$.update=()=>{c.$$.dirty&1&&s(12,G=k&&k.split(" ").at(-1)),c.$$.dirty&4096&&s(6,V=D.filter(F=>F.name.startsWith(G))),c.$$.dirty&12296&&s(7,W=G.startsWith("tag:")?[...u,{id:"none",name:o.t("Untagged")}].filter(F=>{const Ie=G.slice(4);if(Ie){const he=Ie.replace(" ","_").toLowerCase();return F.id!==he?F.id.startsWith(he):!1}else return!0}):[])},[k,b,E,o,B,Q,V,W,p,C,U,H,G,u,J,g,v,e,d,_,re,S]}class q5 extends bs{constructor(a){super(),Cs(this,a,X5,Z5,ms,{placeholder:1,value:0,showClearButton:2})}}function lh(c){let a;return{c(){a=X("div"),this.h()},l(s){a=q(s,"DIV",{class:!0}),$(a).forEach(z),this.h()},h(){O(a,"class","absolute top-0 left-0 w-full h-full rounded-xs bg-gray-100/50 dark:bg-gray-700/20 bg-opacity-50 dark:bg-opacity-10 z-50 pointer-events-none touch-none")},m(s,o){Le(s,a,o)},d(s){s&&z(a)}}}function J5(c){let a;const s=c[11].default,o=k2(s,c,c[16],null);return{c(){o&&o.c()},l(u){o&&o.l(u)},m(u,p){o&&o.m(u,p),a=!0},p(u,p){o&&o.p&&(!a||p&65536)&&v2(o,s,u,u[16],a?E2(s,u[16],p,null):y2(u[16]),null)},i(u){a||(nt(o,u),a=!0)},o(u){dt(o,u),a=!1},d(u){o&&o.d(u)}}}function $5(c){let a,s,o;function u(C){c[13](C)}let p={className:"w-full ",buttonClassName:"w-full",$$slots:{content:[sI],default:[rI]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.open=c[0]),a=new Jp({props:p}),kr.push(()=>es(a,"open",u)),a.$on("change",c[14]),{c(){Ut(a.$$.fragment)},l(C){Kt(a.$$.fragment,C)},m(C,b){Zt(a,C,b),o=!0},p(C,b){const k={};b&65563&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.open=C[0],$r(()=>s=!1)),a.$set(k)},i(C){o||(nt(a.$$.fragment,C),o=!0)},o(C){dt(a.$$.fragment,C),o=!1},d(C){Xt(a,C)}}}function eI(c){let a,s;return a=new pm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function tI(c){let a,s;return a=new hm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function ch(c){let a,s,o,u,p;return s=new ni({props:{content:c[3],$$slots:{default:[AI]},$$scope:{ctx:c}}}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","absolute z-10 right-2 invisible group-hover:visible self-center flex items-center dark:text-gray-300")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=[Qt(a,"pointerup",iI),Qt(a,"click",c[12])],u=!0)},p(C,b){const k={};b&8&&(k.content=C[3]),b&65536&&(k.$$scope={dirty:b,ctx:C}),s.$set(k)},i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,Es(p)}}}function AI(c){let a,s,o,u,p;return s=new Af({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","p-0.5 dark:hover:bg-gray-850 rounded-lg touch-auto")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",nI),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function rI(c){let a,s,o,u,p,C,b,k,E,B;const G=[tI,eI],D=[];function Q(W,U){return W[0]?0:1}u=Q(c),p=D[u]=G[u](c);let V=c[4]&&ch(c);return{c(){a=X("div"),s=X("button"),o=X("div"),p.c(),C=Se(),b=X("div"),k=Ze(c[1]),E=Se(),V&&V.c(),this.h()},l(W){a=q(W,"DIV",{class:!0});var U=$(a);s=q(U,"BUTTON",{class:!0});var H=$(s);o=q(H,"DIV",{class:!0});var K=$(o);
4p.l(K),K.forEach(z),C=Ne(H),b=q(H,"DIV",{class:!0});var J=$(b);k=Xe(J,c[1]),J.forEach(z),H.forEach(z),E=Ne(U),V&&V.l(U),U.forEach(z),this.h()},h(){O(o,"class","text-gray-300 dark:text-gray-600"),O(b,"class","translate-y-[0.5px]"),O(s,"class","w-full py-1.5 pl-2 flex items-center gap-1.5 text-xs font-medium"),O(a,"class","w-full group rounded-md relative flex items-center justify-between hover:bg-gray-100 dark:hover:bg-gray-900 text-gray-500 dark:text-gray-500 transition")},m(W,U){Le(W,a,U),T(a,s),T(s,o),D[u].m(o,null),T(s,C),T(s,b),T(b,k),T(a,E),V&&V.m(a,null),B=!0},p(W,U){let H=u;u=Q(W),u!==H&&(Nr(),dt(D[H],1,1,()=>{D[H]=null}),zr(),p=D[u],p||(p=D[u]=G[u](W),p.c()),nt(p,1),p.m(o,null)),(!B||U&2)&&tt(k,W[1]),W[4]?V?(V.p(W,U),U&16&&nt(V,1)):(V=ch(W),V.c(),nt(V,1),V.m(a,null)):V&&(Nr(),dt(V,1,1,()=>{V=null}),zr())},i(W){B||(nt(p),nt(V),B=!0)},o(W){dt(p),dt(V),B=!1},d(W){W&&z(a),D[u].d(),V&&V.d()}}}function sI(c){let a,s;const o=c[11].default,u=k2(o,c,c[16],null);return{c(){a=X("div"),u&&u.c(),this.h()},l(p){a=q(p,"DIV",{slot:!0,class:!0});var C=$(a);u&&u.l(C),C.forEach(z),this.h()},h(){O(a,"slot","content"),O(a,"class","w-full")},m(p,C){Le(p,a,C),u&&u.m(a,null),s=!0},p(p,C){u&&u.p&&(!s||C&65536)&&v2(u,o,p,p[16],s?E2(o,p[16],C,null):y2(p[16]),null)},i(p){s||(nt(u,p),s=!0)},o(p){dt(u,p),s=!1},d(p){p&&z(a),u&&u.d(p)}}}function aI(c){let a,s,o,u,p,C,b=c[7]&&lh();const k=[$5,J5],E=[];function B(G,D){return G[2]?0:1}return o=B(c),u=E[o]=k[o](c),{c(){a=X("div"),b&&b.c(),s=Se(),u.c(),this.h()},l(G){a=q(G,"DIV",{class:!0});var D=$(a);b&&b.l(D),s=Ne(D),u.l(D),D.forEach(z),this.h()},h(){O(a,"class",p="relative "+c[5])},m(G,D){Le(G,a,D),b&&b.m(a,null),T(a,s),E[o].m(a,null),c[15](a),C=!0},p(G,[D]){G[7]?b||(b=lh(),b.c(),b.m(a,s)):b&&(b.d(1),b=null);let Q=o;o=B(G),o===Q?E[o].p(G,D):(Nr(),dt(E[Q],1,1,()=>{E[Q]=null}),zr(),u=E[o],u?u.p(G,D):(u=E[o]=k[o](G),u.c()),nt(u,1),u.m(a,null)),(!C||D&32&&p!==(p="relative "+G[5]))&&O(a,"class",p)},i(G){C||(nt(u),C=!0)},o(G){dt(u),C=!1},d(G){G&&z(a),b&&b.d(),E[o].d(),c[15](null)}}}const nI=c=>{},iI=c=>{c.stopPropagation()};function oI(c,a,s){let{$$slots:o={},$$scope:u}=a;Xs("i18n");const p=ii();let{open:C=!0}=a,{id:b=""}=a,{name:k=""}=a,{collapsible:E=!0}=a,{onAddLabel:B=""}=a,{onAdd:G=null}=a,{dragAndDrop:D=!0}=a,{className:Q=""}=a,V,W=!1;const U=d=>{d.preventDefault(),d.stopPropagation(),s(7,W=!0)},H=d=>{if(d.preventDefault(),d.stopPropagation(),V.contains(d.target)){if(console.log("Dropped on the Button"),d.dataTransfer.items&&d.dataTransfer.items.length>0)for(const _ of Array.from(d.dataTransfer.items))if(_.kind==="file"){const re=_.getAsFile();if(re&&re.type==="application/json"){console.log("Dropped file is a JSON file!");const S=new FileReader;S.onload=async function(F){try{const Ie=JSON.parse(F.target.result);console.log("Parsed JSON Content: ",Ie),s(0,C=!0),p("import",Ie)}catch(Ie){console.error("Error parsing JSON file:",Ie)}},S.readAsText(re)}else console.error("Only JSON file types are supported.")}else{s(0,C=!0);const re=d.dataTransfer.getData("text/plain"),S=JSON.parse(re);console.log(S),p("drop",S)}s(7,W=!1)}},K=d=>{d.preventDefault(),d.stopPropagation(),s(7,W=!1)};li(()=>{D&&(V.addEventListener("dragover",U),V.addEventListener("drop",H),V.addEventListener("dragleave",K))}),B2(()=>{D&&(V.addEventListener("dragover",U),V.removeEventListener("drop",H),V.removeEventListener("dragleave",K))});const J=d=>{d.stopPropagation(),G()};function g(d){C=d,s(0,C)}const v=d=>{p("change",d.detail)};function e(d){kr[d?"unshift":"push"](()=>{V=d,s(6,V)})}return c.$$set=d=>{"open"in d&&s(0,C=d.open),"id"in d&&s(9,b=d.id),"name"in d&&s(1,k=d.name),"collapsible"in d&&s(2,E=d.collapsible),"onAddLabel"in d&&s(3,B=d.onAddLabel),"onAdd"in d&&s(4,G=d.onAdd),"dragAndDrop"in d&&s(10,D=d.dragAndDrop),"className"in d&&s(5,Q=d.className),"$$scope"in d&&s(16,u=d.$$scope)},[C,k,E,B,G,Q,V,W,p,b,D,o,J,g,v,e,u]}class od extends bs{constructor(a){super(),Cs(this,a,oI,aI,ms,{open:0,id:9,name:1,collapsible:2,onAddLabel:3,onAdd:4,dragAndDrop:10,className:5})}}function lI(c){let a;const s=c[4].default,o=k2(s,c,c[10],null);return{c(){o&&o.c()},l(u){o&&o.l(u)},m(u,p){o&&o.m(u,p),a=!0},p(u,p){o&&o.p&&(!a||p&1024)&&v2(o,s,u,u[10],a?E2(s,u[10],p,null):y2(u[10]),null)},i(u){a||(nt(o,u),a=!0)},o(u){dt(o,u),a=!1},d(u){o&&o.d(u)}}}function cI(c){let a,s;return a=new ni({props:{content:c[1].t("More"),$$slots:{default:[lI]},$$scope:{ctx:c}}}
4),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u&2&&(p.content=o[1].t("More")),u&1024&&(p.$$scope={dirty:u,ctx:o}),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function uI(c){let a,s,o,u=c[1].t("Rename")+"",p,C;return a=new gm({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k&2)&&u!==(u=b[1].t("Rename")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function fI(c){let a,s,o,u=c[1].t("Export")+"",p,C;return a=new ym({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k&2)&&u!==(u=b[1].t("Export")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function dI(c){let a,s,o,u=c[1].t("Delete")+"",p,C;return a=new sd({props:{strokeWidth:"2"}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("div"),p=Ze(u),this.h()},l(b){Kt(a.$$.fragment,b),s=Ne(b),o=q(b,"DIV",{class:!0});var k=$(o);p=Xe(k,u),k.forEach(z),this.h()},h(){O(o,"class","flex items-center")},m(b,k){Zt(a,b,k),Le(b,s,k),Le(b,o,k),T(o,p),C=!0},p(b,k){(!C||k&2)&&u!==(u=b[1].t("Delete")+"")&&tt(p,u)},i(b){C||(nt(a.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),Xt(a,b)}}}function gI(c){let a,s,o,u,p,C;return a=new A0({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[uI]},$$scope:{ctx:c}}}),a.$on("click",c[5]),o=new A0({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[fI]},$$scope:{ctx:c}}}),o.$on("click",c[6]),p=new A0({props:{class:"flex  gap-2  items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[dI]},$$scope:{ctx:c}}}),p.$on("click",c[7]),{c(){Ut(a.$$.fragment),s=Se(),Ut(o.$$.fragment),u=Se(),Ut(p.$$.fragment)},l(b){Kt(a.$$.fragment,b),s=Ne(b),Kt(o.$$.fragment,b),u=Ne(b),Kt(p.$$.fragment,b)},m(b,k){Zt(a,b,k),Le(b,s,k),Zt(o,b,k),Le(b,u,k),Zt(p,b,k),C=!0},p(b,k){const E={};k&1026&&(E.$$scope={dirty:k,ctx:b}),a.$set(E);const B={};k&1026&&(B.$$scope={dirty:k,ctx:b}),o.$set(B);const G={};k&1026&&(G.$$scope={dirty:k,ctx:b}),p.$set(G)},i(b){C||(nt(a.$$.fragment,b),nt(o.$$.fragment,b),nt(p.$$.fragment,b),C=!0)},o(b){dt(a.$$.fragment,b),dt(o.$$.fragment,b),dt(p.$$.fragment,b),C=!1},d(b){b&&(z(s),z(u)),Xt(a,b),Xt(o,b),Xt(p,b)}}}function hI(c){let a,s,o;return s=new dm({props:{class:"w-full max-w-[160px] rounded-lg px-1 py-1.5  z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg",sideOffset:-2,side:"bottom",align:"start",transition:rd,$$slots:{default:[gI]},$$scope:{ctx:c}}}),{c(){a=X("div"),Ut(s.$$.fragment),this.h()},l(u){a=q(u,"DIV",{slot:!0});var p=$(a);Kt(s.$$.fragment,p),p.forEach(z),this.h()},h(){O(a,"slot","content")},m(u,p){Le(u,a,p),Zt(s,a,null),o=!0},p(u,p){const C={};p&1026&&(C.$$scope={dirty:p,ctx:u}),s.$set(C)},i(u){o||(nt(s.$$.fragment,u),o=!0)},o(u){dt(s.$$.fragment,u),o=!1},d(u){u&&z(a),Xt(s)}}}function pI(c){let a,s,o;function u(C){c[8](C)}let p={$$slots:{content:[hI],default:[cI]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),a=new fm({props:p}),kr.push(()=>es(a,"show",u)),a.$on("change",c[9]),{c(){Ut(a.$$.fragment)},l(C){Kt(a.$$.fragment,C)},m(C,b){Zt(a,C,b),o=!0},p(C,[b]){const k={};b&1026&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],$r(()=>s=!1)),a.$set(k)},i(C){o||(nt(a.$$.fragment,C),o=!0)},o(C){dt(a.$$.fragment,C),o=!1},d(C){Xt(a,C)}}}function mI(c,a,s){let o,{$$slots:u={},$$scope:p}=a;const C=Xs("i18n");YA(c,C,V=>s(1,o=V));const b=ii();let k=!1;const E=()=>{b("rename")},B=()=>{b("export")},G=()=>{b("delete")};function D(V){k=V,s(0,k)}const Q=V=>{V.detail===!1&&b("close")};return c.$$set=V=>{"$$scope"in V&&s(10,p=V.$$scope)},[k,o,C,b,u,E,B,G,D,Q,p]}
4class bI extends bs{constructor(a){super(),Cs(this,a,mI,pI,ms,{})}}function uh(c,a,s){const o=c.slice();return o[47]=a[s],o}function fh(c,a,s){const o=c.slice();return o[51]=a[s],o}function Of(c){var o;const a=c.slice(),s=(o=a[1][a[2]])==null?void 0:o.childrenIds.map(u=>a[1][u]).sort((u,p)=>u.name.localeCompare(p.name,void 0,{numeric:!0,sensitivity:"base"}));return a[50]=s,a}function CI(c){let a,s,o=Kg.sanitize(c[12].t("This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.",{NAME:c[1][c[2]].name}))+"";return{c(){a=X("div"),s=new h8(!1),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);s=p8(p,!1),p.forEach(z),this.h()},h(){s.a=null,O(a,"class","text-sm text-gray-700 dark:text-gray-300 flex-1 line-clamp-3")},m(u,p){Le(u,a,p),s.m(o,a)},p(u,p){p[0]&4102&&o!==(o=Kg.sanitize(u[12].t("This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.",{NAME:u[1][u[2]].name}))+"")&&s.p(o)},d(u){u&&z(a)}}}function dh(c){let a,s;return a=new Em({props:{x:c[9],y:c[10],$$slots:{default:[II]},$$scope:{ctx:c}}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&512&&(p.x=o[9]),u[0]&1024&&(p.y=o[10]),u[0]&6|u[1]&8388608&&(p.$$scope={dirty:u,ctx:o}),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function II(c){let a,s,o,u,p,C=c[1][c[2]].name+"",b,k;return o=new oC({props:{className:"size-3.5",strokeWidth:"2"}}),{c(){a=X("div"),s=X("div"),Ut(o.$$.fragment),u=Se(),p=X("div"),b=Ze(C),this.h()},l(E){a=q(E,"DIV",{class:!0});var B=$(a);s=q(B,"DIV",{class:!0});var G=$(s);Kt(o.$$.fragment,G),u=Ne(G),p=q(G,"DIV",{class:!0});var D=$(p);b=Xe(D,C),D.forEach(z),G.forEach(z),B.forEach(z),this.h()},h(){O(p,"class","text-xs text-white line-clamp-1"),O(s,"class","flex items-center gap-1"),O(a,"class","bg-black/80 backdrop-blur-2xl px-2 py-1 rounded-lg w-fit max-w-40")},m(E,B){Le(E,a,B),T(a,s),Zt(o,s,null),T(s,u),T(s,p),T(p,b),k=!0},p(E,B){(!k||B[0]&6)&&C!==(C=E[1][E[2]].name+"")&&tt(b,C)},i(E){k||(nt(o.$$.fragment,E),k=!0)},o(E){dt(o.$$.fragment,E),k=!1},d(E){E&&z(a),Xt(o)}}}function gh(c){let a;return{c(){a=X("div"),this.h()},l(s){a=q(s,"DIV",{class:!0}),$(a).forEach(z),this.h()},h(){O(a,"class","absolute top-0 left-0 w-full h-full rounded-xs bg-gray-100/50 dark:bg-gray-700/20 bg-opacity-50 dark:bg-opacity-10 z-50 pointer-events-none touch-none")},m(s,o){Le(s,a,o)},d(s){s&&z(a)}}}function wI(c){let a,s;return a=new pm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function kI(c){let a,s;return a=new hm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function vI(c){let a=c[1][c[2]].name+"",s;return{c(){s=Ze(a)},l(o){s=Xe(o,a)},m(o,u){Le(o,s,u)},p(o,u){u[0]&6&&a!==(a=o[1][o[2]].name+"")&&tt(s,a)},d(o){o&&z(s)}}}function yI(c){let a,s,o,u;return{c(){a=X("input"),this.h()},l(p){a=q(p,"INPUT",{id:!0,type:!0,class:!0}),this.h()},h(){O(a,"id",s="folder-"+c[2]+"-input"),O(a,"type","text"),O(a,"class","w-full h-full bg-transparent text-gray-500 dark:text-gray-500 outline-hidden")},m(p,C){Le(p,a,C),ar(a,c[8]),o||(u=[Qt(a,"input",c[26]),Qt(a,"focus",DI),Qt(
4a,"blur",c[27]),Qt(a,"click",GI),Qt(a,"mousedown",_I),Qt(a,"keydown",c[28])],o=!0)},p(p,C){C[0]&4&&s!==(s="folder-"+p[2]+"-input")&&O(a,"id",s),C[0]&256&&a.value!==p[8]&&ar(a,p[8])},d(p){p&&z(a),o=!1,Es(u)}}}function EI(c){let a,s,o,u,p;return s=new lC({props:{className:"size-4",strokeWidth:"2.5"}}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","p-0.5 dark:hover:bg-gray-850 rounded-lg touch-auto")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",TI),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function BI(c){let a,s,o,u,p,C,b,k,E,B,G,D,Q,V;const W=[kI,wI],U=[];function H(v,e){return v[0]?0:1}u=H(c),p=U[u]=W[u](c);function K(v,e){return v[5]?yI:vI}let J=K(c),g=J(c);return B=new bI({props:{$$slots:{default:[EI]},$$scope:{ctx:c}}}),B.$on("rename",c[29]),B.$on("delete",c[30]),B.$on("export",c[31]),{c(){a=X("div"),s=X("button"),o=X("div"),p.c(),C=Se(),b=X("div"),g.c(),k=Se(),E=X("button"),Ut(B.$$.fragment),this.h()},l(v){a=q(v,"DIV",{class:!0});var e=$(a);s=q(e,"BUTTON",{id:!0,class:!0});var d=$(s);o=q(d,"DIV",{class:!0});var _=$(o);p.l(_),_.forEach(z),C=Ne(d),b=q(d,"DIV",{class:!0});var re=$(b);g.l(re),re.forEach(z),k=Ne(d),E=q(d,"BUTTON",{class:!0});var S=$(E);Kt(B.$$.fragment,S),S.forEach(z),d.forEach(z),e.forEach(z),this.h()},h(){O(o,"class","text-gray-300 dark:text-gray-600"),O(b,"class","translate-y-[0.5px] flex-1 justify-start text-start line-clamp-1"),O(E,"class","absolute z-10 right-2 invisible group-hover:visible self-center flex items-center dark:text-gray-300"),O(s,"id",G="folder-"+c[2]+"-button"),O(s,"class","relative w-full py-1.5 px-2 rounded-md flex items-center gap-1.5 text-xs text-gray-500 dark:text-gray-500 font-medium hover:bg-gray-100 dark:hover:bg-gray-900 transition"),O(a,"class","w-full group")},m(v,e){Le(v,a,e),T(a,s),T(s,o),U[u].m(o,null),T(s,C),T(s,b),g.m(b,null),T(s,k),T(s,E),Zt(B,E,null),D=!0,Q||(V=[Qt(E,"pointerup",QI),Qt(s,"dblclick",c[32])],Q=!0)},p(v,e){let d=u;u=H(v),u!==d&&(Nr(),dt(U[d],1,1,()=>{U[d]=null}),zr(),p=U[u],p||(p=U[u]=W[u](v),p.c()),nt(p,1),p.m(o,null)),J===(J=K(v))&&g?g.p(v,e):(g.d(1),g=J(v),g&&(g.c(),g.m(b,null)));const _={};e[1]&8388608&&(_.$$scope={dirty:e,ctx:v}),B.$set(_),(!D||e[0]&4&&G!==(G="folder-"+v[2]+"-button"))&&O(s,"id",G)},i(v){D||(nt(p),nt(B.$$.fragment,v),D=!0)},o(v){dt(p),dt(B.$$.fragment,v),D=!1},d(v){v&&z(a),U[u].d(),g.d(),Xt(B),Q=!1,Es(V)}}}function hh(c){var C,b;let a,s,o,u=((C=c[1][c[2]])==null?void 0:C.childrenIds)&&ph(Of(c)),p=((b=c[1][c[2]].items)==null?void 0:b.chats)&&bh(c);return{c(){a=X("div"),u&&u.c(),s=Se(),p&&p.c(),this.h()},l(k){a=q(k,"DIV",{class:!0});var E=$(a);u&&u.l(E),s=Ne(E),p&&p.l(E),E.forEach(z),this.h()},h(){O(a,"class","ml-3 pl-1 mt-[1px] flex flex-col overflow-y-auto scrollbar-hidden border-s border-gray-100 dark:border-gray-900")},m(k,E){Le(k,a,E),u&&u.m(a,null),T(a,s),p&&p.m(a,null),o=!0},p(k,E){var B,G;(B=k[1][k[2]])!=null&&B.childrenIds?u?(u.p(Of(k),E),E[0]&6&&nt(u,1)):(u=ph(Of(k)),u.c(),nt(u,1),u.m(a,s)):u&&(Nr(),dt(u,1,1,()=>{u=null}),zr()),(G=k[1][k[2]].items)!=null&&G.chats?p?(p.p(k,E),E[0]&6&&nt(p,1)):(p=bh(k),p.c(),nt(p,1),p.m(a,null)):p&&(Nr(),dt(p,1,1,()=>{p=null}),zr())},i(k){o||(nt(u),nt(p),o=!0)},o(k){dt(u),dt(p),o=!1},d(k){k&&z(a),u&&u.d(),p&&p.d()}}}function ph(c){let a=[],s=new Map,o,u,p=Ur(c[50]);const C=b=>`${b[2]}-${b[51].id}`;for(let b=0;b<p.length;b+=1){let k=fh(c,p,b),E=C(k);s.set(E,a[b]=mh(E,k))}return{c(){for(let b=0;b<a.length;b+=1)a[b].c();o=ps()},l(b){for(let k=0;k<a.length;k+=1)a[k].l(b);o=ps()},m(b,k){for(let E=0;E<a.length;E+=1)a[E]&&a[E].m(b,k);Le(b,o,k),u=!0},p(b,k){k[0]&16518&&(p=Ur(b[50]),Nr(),a=ef(a,k,C,1,b,p,s,o.parentNode,tf,mh,o,fh),zr())},i(b){if(!u){for(let k=0;k<p.length;k+=1)nt(a[k]);u=!0}},o(b){for(let k=0;k<a.length;k+=1)dt(a[k]);u=!1},d(b){b&&z(o);for(let k=0;k<a.length;k+=1)a[k].d(b)}}}function mh(c,a){let s,o,u;return o=new Bm({props:{folders:a[1],folderId:a[51].id,parentDragged:a[7]}}),o.$on("import",a[22]),o.$on("update",a[23]),o.$on("change",a[24]),{key:c,first:null,c(){s=ps(),Ut(o.$$.fragment),this.h()},l(p){s=ps(),Kt(o.$$.fragment,p),this.h()},h(){this.first=s},m(p,C){Le(p,s,C),Zt(o,p,C),u=!0},p(p,C){a=p;const b={};C[0]&2&&(b.folders=a[1]),C[0]&6&&(b.folderId=a[51].id),C[0]&128&&(b.parentDragged=a[7]),o.$set(b)},i(p){u||(nt(o.$$.fragment,p),u=!0)},o(p){dt(o.$$.fragment,p),u=!1},d(p){p&&z(s),Xt(o,p)}}}function bh(c){let a=[],s=new Map,o,u,p=Ur(c[1][c[2]].items.chats);const C=b=>b[47].id;for(let b=0;b<p.length;b+=1){let k=uh(c,p,b),E=C(k);s.set(E,a[b]=Ch(E,k))}return{c(){for(let b=0;b<a.length;b+=1)a[b].c();o=ps()},l(b){for(let k=0;k<a.length;k+=1)a[k].l(b);o=ps()},m(b,k){for(let E=0;E<a.length;E+=1)a[E]&&a[E].m(b,k);Le(b,o,k),u=!0},p(b,k){k[0]&16390&&(p=Ur(b[1][b[2]].items.chats),Nr(),a=ef(a,k,C,1,b,p,s,o.parentNode,tf,Ch,o,uh),zr())},i(b){if(!u){for(let k=0;k<p.length;k+=1)nt(a[k]);u=!0}},o(b){for(let k=0;k<a.length;k+=1)dt(a[k]);u=!1},d(b){b&&z(o);for(let k=0;k<a.length;k+=1)a[k].d(b)}}}function Ch(c,a){let s,o,u;return o=new id({props:{id:a[47].id,title:a[47].title}}),o.$on("change",a[25]),{key:c,first:null,c(){s=ps(),Ut(o.$$.fragment),this.h()},l(p){s=ps(),Kt(o.$$.fragment,p),this.h()},h(){this.first=s},m(p,C){Le(p,s,C),Zt(o,p,C),u=!0},p(p,C){a=p;const b={};C[0]&6&&(b.id=a[47].id),C[0]&6&&(b.title=a[47].title),o.$set(b)},i(p){u||(nt(o.$$.fragment,p),u=!0)},o(p){dt(o.$$.fragment,p),u=!1},d(p){p&&z(s),Xt(o,p)}}}function xI(c){var u,p;
4let a,s,o=((((u=c[1][c[2]])==null?void 0:u.childrenIds)??[]).length>0||(((p=c[1][c[2]].items)==null?void 0:p.chats)??[]).length>0)&&hh(c);return{c(){a=X("div"),o&&o.c(),this.h()},l(C){a=q(C,"DIV",{slot:!0,class:!0});var b=$(a);o&&o.l(b),b.forEach(z),this.h()},h(){O(a,"slot","content"),O(a,"class","w-full")},m(C,b){Le(C,a,b),o&&o.m(a,null),s=!0},p(C,b){var k,E;(((k=C[1][C[2]])==null?void 0:k.childrenIds)??[]).length>0||(((E=C[1][C[2]].items)==null?void 0:E.chats)??[]).length>0?o?(o.p(C,b),b[0]&6&&nt(o,1)):(o=hh(C),o.c(),nt(o,1),o.m(a,null)):o&&(Nr(),dt(o,1,1,()=>{o=null}),zr())},i(C){s||(nt(o),s=!0)},o(C){dt(o),s=!1},d(C){C&&z(a),o&&o.d()}}}function MI(c){var H,K;let a,s,o,u,p,C,b,k,E,B;function G(J){c[20](J)}let D={title:c[12].t("Delete folder?"),$$slots:{default:[CI]},$$scope:{ctx:c}};c[11]!==void 0&&(D.show=c[11]),a=new M2({props:D}),kr.push(()=>es(a,"show",G)),a.$on("confirm",c[21]);let Q=c[7]&&c[9]&&c[10]&&dh(c),V=c[6]&&gh();function W(J){c[33](J)}let U={className:"w-full",buttonClassName:"w-full",hide:(((H=c[1][c[2]])==null?void 0:H.childrenIds)??[]).length===0&&(((K=c[1][c[2]].items)==null?void 0:K.chats)??[]).length===0,$$slots:{content:[xI],default:[BI]},$$scope:{ctx:c}};return c[0]!==void 0&&(U.open=c[0]),b=new Jp({props:U}),kr.push(()=>es(b,"open",W)),b.$on("change",c[34]),{c(){Ut(a.$$.fragment),o=Se(),Q&&Q.c(),u=Se(),p=X("div"),V&&V.c(),C=Se(),Ut(b.$$.fragment),this.h()},l(J){Kt(a.$$.fragment,J),o=Ne(J),Q&&Q.l(J),u=Ne(J),p=q(J,"DIV",{class:!0,draggable:!0});var g=$(p);V&&V.l(g),C=Ne(g),Kt(b.$$.fragment,g),g.forEach(z),this.h()},h(){O(p,"class",E="relative "+c[3]),O(p,"draggable","true")},m(J,g){Zt(a,J,g),Le(J,o,g),Q&&Q.m(J,g),Le(J,u,g),Le(J,p,g),V&&V.m(p,null),T(p,C),Zt(b,p,null),c[35](p),B=!0},p(J,g){var d,_;const v={};g[0]&4096&&(v.title=J[12].t("Delete folder?")),g[0]&4102|g[1]&8388608&&(v.$$scope={dirty:g,ctx:J}),!s&&g[0]&2048&&(s=!0,v.show=J[11],$r(()=>s=!1)),a.$set(v),J[7]&&J[9]&&J[10]?Q?(Q.p(J,g),g[0]&1664&&nt(Q,1)):(Q=dh(J),Q.c(),nt(Q,1),Q.m(u.parentNode,u)):Q&&(Nr(),dt(Q,1,1,()=>{Q=null}),zr()),J[6]?V||(V=gh(),V.c(),V.m(p,C)):V&&(V.d(1),V=null);const e={};g[0]&6&&(e.hide=(((d=J[1][J[2]])==null?void 0:d.childrenIds)??[]).length===0&&(((_=J[1][J[2]].items)==null?void 0:_.chats)??[]).length===0),g[0]&2471|g[1]&8388608&&(e.$$scope={dirty:g,ctx:J}),!k&&g[0]&1&&(k=!0,e.open=J[0],$r(()=>k=!1)),b.$set(e),(!B||g[0]&8&&E!==(E="relative "+J[3]))&&O(p,"class",E)},i(J){B||(nt(a.$$.fragment,J),nt(Q),nt(b.$$.fragment,J),B=!0)},o(J){dt(a.$$.fragment,J),dt(Q),dt(b.$$.fragment,J),B=!1},d(J){J&&(z(o),z(u),z(p)),Xt(a,J),Q&&Q.d(J),V&&V.d(),Xt(b),c[35](null)}}}const DI=c=>{c.target.select()},GI=c=>{c.stopPropagation()},_I=c=>{c.stopPropagation()},TI=c=>{},QI=c=>{c.stopPropagation()};function PI(c,a,s){let o;const u=Xs("i18n");YA(c,u,rt=>s(12,o=rt));const p=ii(),{saveAs:C}=$u;let{open:b=!1}=a,{folders:k}=a,{folderId:E}=a,{className:B=""}=a,{parentDragged:G=!1}=a,D,Q=!1,V=!1,W=!1,U="";const H=rt=>{rt.preventDefault(),rt.stopPropagation(),!(W||G)&&s(6,V=!0)},K=async rt=>{if(rt.preventDefault(),rt.stopPropagation(),!(W||G)&&D.contains(rt.target)){if(console.log("Dropped on the Button"),rt.dataTransfer.items&&rt.dataTransfer.items.length>0)for(const Bt of Array.from(rt.dataTransfer.items))if(Bt.kind==="file"){const Ot=Bt.getAsFile();if(Ot&&Ot.type==="application/json"){console.log("Dropped file is a JSON file!");const St=new FileReader;St.onload=async function(oe){try{const zt=JSON.parse(oe.target.result);s(0,b=!0),p("import",{folderId:E,items:zt})}catch(zt){console.error("Error parsing JSON file:",zt)}},St.readAsText(Ot)}else console.error("Only JSON file types are supported.");console.log(Ot)}else{const Ot=rt.dataTransfer.getData("text/plain"),St=JSON.parse(Ot);console.log(St);const{type:oe,id:zt,item:ke}=St;if(oe==="folder"){if(s(0,b=!0),zt===E)return;await km(localStorage.token,zt,E).catch(Qe=>(cr.error(`${Qe}`),null))&&p("update")}else if(oe==="chat"){s(0,b=!0);let fe=await Ic(localStorage.token,zt).catch(Je=>null);!fe&&ke&&(fe=await Y1(localStorage.token,ke.chat,(ke==null?void 0:ke.meta)??{})),await qf(localStorage.token,fe.id,E).catch(Je=>(cr.error(`${Je}`),null))&&p("update")}}s(6,V=!1)}},J=rt=>{rt.preventDefault(),!(W||G)&&s(6,V=!1)},g=new Image;g.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";let v,e;const d=rt=>{rt.stopPropagation(),rt.dataTransfer.setDragImage(g,0,0),rt.dataTransfer.setData("text/plain",JSON.stringify({type:"folder",id:E})),s(7,W=!0),s(4,D.style.opacity="0.5",D)},_=rt=>{rt.stopPropagation(),s(9,v=rt.clientX),s(10,e=rt.clientY)},re=rt=>{rt.stopPropagation(),s(4,D.style.opacity="1",D),s(7,W=!1)};li(async()=>{var rt;s(0,b=k[E].is_expanded),D&&(D.addEventListener("dragover",H),D.addEventListener("drop",K),D.addEventListener("dragleave",J),D.addEventListener("dragstart",d),D.addEventListener("drag",_),D.addEventListener("dragend",re)),(rt=k[E])!=null&&rt.new&&(delete k[E].new,await il(),Ce())}),B2(()=>{D&&(D.addEventListener("dragover",H),D.removeEventListener("drop",K),D.removeEventListener("dragleave",J),D.removeEventListener("dragstart",d),D.removeEventListener("drag",_),D.removeEventListener("dragend",re))});let S=!1;const F=async()=>{await RC(localStorage.token,E).catch(Bt=>(cr.error(`${Bt}`),null))&&(cr.success(o.t("Folder deleted successfully")),p("update"))},Ie=async()=>
4{if(U===""){cr.error(o.t("Folder name cannot be empty"));return}if(U===k[E].name){s(5,Q=!1);return}const rt=k[E].name;s(8,U=U.trim()),s(1,k[E].name=U,k),await HC(localStorage.token,E,U).catch(Ot=>(cr.error(`${Ot}`),s(1,k[E].name=rt,k),null))&&(s(1,k[E].name=U,k),cr.success(o.t("Folder name updated successfully")),p("update"))},he=async()=>{await YC(localStorage.token,E,b).catch(rt=>(cr.error(`${rt}`),null))};let ce;const ge=rt=>{clearTimeout(ce),ce=setTimeout(()=>{he()},500)},Ce=async()=>{console.log("Edit"),await il(),s(8,U=k[E].name),s(5,Q=!0),await il();const rt=document.getElementById(`folder-${E}-input`);rt&&rt.focus()},Fe=async()=>{const rt=await V8(localStorage.token,E).catch(Ot=>(cr.error(`${Ot}`),null));if(!rt)return;const Bt=new Blob([JSON.stringify(rt)],{type:"application/json"});C(Bt,`folder-${k[E].name}-export-${Date.now()}.json`)};function Pe(rt){S=rt,s(11,S)}const de=()=>{F()},pe=rt=>{p("import",rt.detail)},we=rt=>{p("update",rt.detail)},Ge=rt=>{p("change",rt.detail)},me=rt=>{p("change",rt.detail)};function at(){U=this.value,s(8,U)}const Ue=()=>{Ie(),s(5,Q=!1)},ot=rt=>{rt.key==="Enter"&&(Ie(),s(5,Q=!1))},pt=()=>{setTimeout(()=>{Ce()},200)},ct=()=>{s(11,S=!0)},je=()=>{Fe()},At=()=>{Ce()};function It(rt){b=rt,s(0,b)}const wt=rt=>{p("open",rt.detail)};function ze(rt){kr[rt?"unshift":"push"](()=>{D=rt,s(4,D)})}return c.$$set=rt=>{"open"in rt&&s(0,b=rt.open),"folders"in rt&&s(1,k=rt.folders),"folderId"in rt&&s(2,E=rt.folderId),"className"in rt&&s(3,B=rt.className),"parentDragged"in rt&&s(19,G=rt.parentDragged)},c.$$.update=()=>{c.$$.dirty[0]&1&&ge()},[b,k,E,B,D,Q,V,W,U,v,e,S,o,u,p,F,Ie,Ce,Fe,G,Pe,de,pe,we,Ge,me,at,Ue,ot,pt,ct,je,At,It,wt,ze]}class Bm extends bs{constructor(a){super(),Cs(this,a,PI,MI,ms,{open:0,folders:1,folderId:2,className:3,parentDragged:19},null,[-1,-1])}}function Ih(c,a,s){const o=c.slice();return o[6]=a[s],o}function wh(c,a){let s,o,u;return o=new Bm({props:{className:"",folders:a[0],folderId:a[6]}}),o.$on("import",a[3]),o.$on("update",a[4]),o.$on("change",a[5]),{key:c,first:null,c(){s=ps(),Ut(o.$$.fragment),this.h()},l(p){s=ps(),Kt(o.$$.fragment,p),this.h()},h(){this.first=s},m(p,C){Le(p,s,C),Zt(o,p,C),u=!0},p(p,C){a=p;const b={};C&1&&(b.folders=a[0]),C&2&&(b.folderId=a[6]),o.$set(b)},i(p){u||(nt(o.$$.fragment,p),u=!0)},o(p){dt(o.$$.fragment,p),u=!1},d(p){p&&z(s),Xt(o,p)}}}function SI(c){let a=[],s=new Map,o,u,p=Ur(c[1]);const C=b=>b[6];for(let b=0;b<p.length;b+=1){let k=Ih(c,p,b),E=C(k);s.set(E,a[b]=wh(E,k))}return{c(){for(let b=0;b<a.length;b+=1)a[b].c();o=ps()},l(b){for(let k=0;k<a.length;k+=1)a[k].l(b);o=ps()},m(b,k){for(let E=0;E<a.length;E+=1)a[E]&&a[E].m(b,k);Le(b,o,k),u=!0},p(b,[k]){k&7&&(p=Ur(b[1]),Nr(),a=ef(a,k,C,1,b,p,s,o.parentNode,tf,wh,o,Ih),zr())},i(b){if(!u){for(let k=0;k<p.length;k+=1)nt(a[k]);u=!0}},o(b){for(let k=0;k<a.length;k+=1)dt(a[k]);u=!1},d(b){b&&z(o);for(let k=0;k<a.length;k+=1)a[k].d(b)}}}function NI(c,a,s){const o=ii();let{folders:u={}}=a,p=[];const C=E=>{o("import",E.detail)},b=E=>{o("update",E.detail)},k=E=>{o("change",E.detail)};return c.$$set=E=>{"folders"in E&&s(0,u=E.folders)},c.$$.update=()=>{c.$$.dirty&1&&s(1,p=Object.keys(u).filter(E=>u[E].parent_id===null).sort((E,B)=>u[E].name.localeCompare(u[B].name,void 0,{numeric:!0,sensitivity:"base"})))},[u,p,o,C,b,k]}class zI extends bs{constructor(a){super(),Cs(this,a,NI,SI,ms,{folders:0})}}function OI(c){let a=c[6].t("Create Channel")+"",s;return{c(){s=Ze(a)},l(o){s=Xe(o,a)},m(o,u){Le(o,s,u)},p(o,u){u&64&&a!==(a=o[6].t("Create Channel")+"")&&tt(s,a)},d(o){o&&z(s)}}}function FI(c){let a=c[6].t("Edit Channel")+"",s;return{c(){s=Ze(a)},l(o){s=Xe(o,a)},m(o,u){Le(o,s,u)},p(o,u){u&64&&a!==(a=o[6].t("Edit Channel")+"")&&tt(s,a)},d(o){o&&z(s)}}}function kh(c){let a,s=c[6].t("Delete")+"",o,u,p;return{c(){a=X("button"),o=Ze(s),this.h()},l(C){a=q(C,"BUTTON",{class:!0,type:!0});var b=$(a);o=Xe(b,s),b.forEach(z),this.h()},h(){O(a,"class","px-3.5 py-1.5 text-sm font-medium dark:bg-black dark:hover:bg-black/90 dark:text-white bg-white text-black hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center"),O(a,"type","button")},m(C,b){Le(C,a,b),T(a,o),u||(p=Qt(a,"click",c[16]),u=!0)},p(C,b){b&64&&s!==(s=C[6].t("Delete")+"")&&tt(o,s)},d(C){C&&z(a),u=!1,p()}}}function LI(c){let a=c[6].t("Create")+"",s;return{c(){s=Ze(a)},l(o){s=Xe(o,a)},m(o,u){Le(o,s,u)},p(o,u){u&64&&a!==(a=o[6].t("Create")+"")&&tt(s,a)},d(o){o&&z(s)}}}function VI(c){let a=c[6].t("Update")+"",s;return{c(){s=Ze(a)},l(o){s=Xe(o,a)},m(o,u){Le(o,s,u)},p(o,u){u&64&&a!==(a=o[6].t("Update")+"")&&tt(s,a)},d(o){o&&z(s)}}}function vh(c){let a,s=`<svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><style>.spinner_ajPY {
5												transform-origin: center;
6												animation: spinner_AtaB 0.75s infinite linear;
7											}
8											@keyframes spinner_AtaB {
9												100% {
10													transform: rotate(360deg);
11												}
12											}
13										</style><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"></path><path d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z" class="spinner_ajPY"></path></svg>`;return{c(){a=X("div"),a.innerHTML=s,this.h()},l(o){a=q(o,"DIV",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1vuzrxa"&&(a.innerHTML=s),this.h()},h(){O(a,"class","ml-2 self-center")},m(o,u){Le(o,a,u)},d(o){o&&z(a)}}}function HI(c){let a,s,o,u,p,C='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path fill-rule="evenodd" d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" clip-rule="evenodd"></path></svg>',b,k,E,B,G,D,Q=c[6].t("Channel Name")+"",V,W,U,H,K,J,g,v,e,d,_,re,S,F,Ie,he,ce,ge,Ce,Fe,Pe;function de(je,At){return je[1]?FI:OI}let pe=de(c),we=pe(c);function Ge(je){c[15](je)}let me={};c[3]!==void 0&&(me.accessControl=c[3]),_=new gC({props:me}),kr.push(()=>es(_,"accessControl",Ge));let at=c[1]&&kh(c);function Ue(je,At){return je[1]?VI:LI}let ot=Ue(c),pt=ot(c),ct=c[4]&&vh();return{c(){a=X("div"),s=X("div"),o=X("div"),we.c(),u=Se(),p=X("button"),p.innerHTML=C,b=Se(),k=X("div"),E=X("div"),B=X("form"),G=X("div"),D=X("div"),V=Ze(Q),W=Se(),U=X("div"),H=X("input"),J=Se(),g=X("hr"),v=Se(),e=X("div"),d=X("div"),Ut(_.$$.fragment),S=Se(),F=X("div"),at&&at.c(),Ie=Se(),he=X("button"),pt.c(),ce=Se(),ct&&ct.c(),this.h()},l(je){a=q(je,"DIV",{});var At=$(a);s=q(At,"DIV",{class:!0});
13var It=$(s);o=q(It,"DIV",{class:!0});var wt=$(o);we.l(wt),wt.forEach(z),u=Ne(It),p=q(It,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(p)!=="svelte-i7w487"&&(p.innerHTML=C),It.forEach(z),b=Ne(At),k=q(At,"DIV",{class:!0});var ze=$(k);E=q(ze,"DIV",{class:!0});var rt=$(E);B=q(rt,"FORM",{class:!0});var Bt=$(B);G=q(Bt,"DIV",{class:!0});var Ot=$(G);D=q(Ot,"DIV",{class:!0});var St=$(D);V=Xe(St,Q),St.forEach(z),W=Ne(Ot),U=q(Ot,"DIV",{class:!0});var oe=$(U);H=q(oe,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),oe.forEach(z),Ot.forEach(z),J=Ne(Bt),g=q(Bt,"HR",{class:!0}),v=Ne(Bt),e=q(Bt,"DIV",{class:!0});var zt=$(e);d=q(zt,"DIV",{class:!0});var ke=$(d);Kt(_.$$.fragment,ke),ke.forEach(z),zt.forEach(z),S=Ne(Bt),F=q(Bt,"DIV",{class:!0});var fe=$(F);at&&at.l(fe),Ie=Ne(fe),he=q(fe,"BUTTON",{class:!0,type:!0});var Qe=$(he);pt.l(Qe),ce=Ne(Qe),ct&&ct.l(Qe),Qe.forEach(z),fe.forEach(z),Bt.forEach(z),rt.forEach(z),ze.forEach(z),At.forEach(z),this.h()},h(){O(o,"class","text-lg font-medium self-center"),O(p,"class","self-center"),O(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),O(D,"class","mb-1 text-xs text-gray-500"),O(H,"class","w-full text-sm bg-transparent placeholder:text-gray-300 dark:placeholder:text-gray-700 outline-hidden"),O(H,"type","text"),O(H,"placeholder",K=c[6].t("new-channel")),O(H,"autocomplete","off"),O(U,"class","flex-1"),O(G,"class","flex flex-col w-full mt-2"),O(g,"class","border-gray-100 dark:border-gray-700/10 my-2.5 w-full"),O(d,"class","px-3 py-2 bg-gray-50 dark:bg-gray-950 rounded-lg"),O(e,"class","my-2 -mx-2"),O(he,"class",ge="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-950 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center "+(c[4]?" cursor-not-allowed":"")),O(he,"type","submit"),he.disabled=c[4],O(F,"class","flex justify-end pt-3 text-sm font-medium gap-1.5"),O(B,"class","flex flex-col w-full"),O(E,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),O(k,"class","flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200")},m(je,At){Le(je,a,At),T(a,s),T(s,o),we.m(o,null),T(s,u),T(s,p),T(a,b),T(a,k),T(k,E),T(E,B),T(B,G),T(G,D),T(D,V),T(G,W),T(G,U),T(U,H),ar(H,c[2]),T(B,J),T(B,g),T(B,v),T(B,e),T(e,d),Zt(_,d,null),T(B,S),T(B,F),at&&at.m(F,null),T(F,Ie),T(F,he),pt.m(he,null),T(he,ce),ct&&ct.m(he,null),Ce=!0,Fe||(Pe=[Qt(p,"click",c[13]),Qt(H,"input",c[14]),Qt(B,"submit",ul(c[17]))],Fe=!0)},p(je,At){pe===(pe=de(je))&&we?we.p(je,At):(we.d(1),we=pe(je),we&&(we.c(),we.m(o,null))),(!Ce||At&64)&&Q!==(Q=je[6].t("Channel Name")+"")&&tt(V,Q),(!Ce||At&64&&K!==(K=je[6].t("new-channel")))&&O(H,"placeholder",K),At&4&&H.value!==je[2]&&ar(H,je[2]);const It={};!re&&At&8&&(re=!0,It.accessControl=je[3],$r(()=>re=!1)),_.$set(It),je[1]?at?at.p(je,At):(at=kh(je),at.c(),at.m(F,Ie)):at&&(at.d(1),at=null),ot===(ot=Ue(je))&&pt?pt.p(je,At):(pt.d(1),pt=ot(je),pt&&(pt.c(),pt.m(he,ce))),je[4]?ct||(ct=vh(),ct.c(),ct.m(he,null)):ct&&(ct.d(1),ct=null),(!Ce||At&16&&ge!==(ge="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-950 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center "+(je[4]?" cursor-not-allowed":"")))&&O(he,"class",ge),(!Ce||At&16)&&(he.disabled=je[4])},i(je){Ce||(nt(_.$$.fragment,je),Ce=!0)},o(je){dt(_.$$.fragment,je),Ce=!1},d(je){je&&z(a),we.d(),Xt(_),at&&at.d(),pt.d(),ct&&ct.d(),Fe=!1,Es(Pe)}}}function YI(c){let a,s,o,u,p,C;function b(G){c[18](G)}let k={size:"sm",$$slots:{default:[HI]},$$scope:{ctx:c}};c[0]!==void 0&&(k.show=c[0]),a=new kc({props:k}),kr.push(()=>es(a,"show",b));function E(G){c[19](G)}let B={message:c[6].t("Are you sure you want to delete this channel?"),confirmLabel:c[6].t("Delete")};return c[5]!==void 0&&(B.show=c[5]),u=new M2({props:B}),kr.push(()=>es(u,"show",E)),u.$on("confirm",c[20]),{c(){Ut(a.$$.fragment),o=Se(),Ut(u.$$.fragment)},l(G){Kt(a.$$.fragment,G),o=Ne(G),Kt(u.$$.fragment,G)},m(G,D){Zt(a,G,D),Le(G,o,D),Zt(u,G,D),C=!0},p(G,[D]){const Q={};D&8388735&&(Q.$$scope={dirty:D,ctx:G}),!s&&D&1&&(s=!0,Q.show=G[0],$r(()=>s=!1)),a.$set(Q);const V={};D&64&&(V.message=G[6].t("Are you sure you want to delete this channel?")),D&64&&(V.confirmLabel=G[6].t("Delete")),!p&&D&32&&(p=!0,V.show=G[5],$r(()=>p=!1)),u.$set(V)},i(G){C||(nt(a.$$.fragment,G),nt(u.$$.fragment,G),C=!0)},o(G){dt(a.$$.fragment,G),dt(u.$$.fragment,G),C=!1},d(G){G&&z(o),Xt(a,G),Xt(u,G)}}}function RI(c,a,s){let o,u;YA(c,td,S=>s(21,o=S));const p=Xs("i18n");YA(c,p,S=>s(6,u=S));let{show:C=!1}=a,{onSubmit:b=()=>{}}=a,{onUpdate:k=()=>{}}=a,{channel:E=null}=a,{edit:B=!1}=a,G="",D={},Q=!1;const V=async()=>{s(4,Q=!0),await b({name:G.replace(/\s/g,"-"),access_control:D}),s(0,C=!1),s(4,Q=!1)},W=()=>{s(2,G=E.name),s(3,D=E.access_control)};let U=!1;const H=async()=>{s(5,U=!1),await cC(localStorage.token,E.id).catch(F=>{cr.error(F.message)})&&(cr.success("Channel deleted successfully"),k(),o.url.pathname===`/channels/${E.id}`&&cl("/")),s(0,C=!1)},K=()=>{s(0,C=!1)};function J(){G=this.value,s(2,G)}function g(S){D=S,s(3,D)}const v=()=>{s(5,U=!0)},e=()=>{V()};function d(S){C=S,s(0,C)}function _(S){U=S,s(5,U)}const re=()=>{H()};return c.$$set=S=>{"show"in S&&s(0,C=S.show),"onSubmit"in S&&s(10,b=S.onSubmit),"onUpdate"in S&&s(11,k=S.onUpdate),"channel"in S&&s(12,E=S.channel),"edit"in S&&s(1,B=S.edit)},c.$$.update=()=>{c.$$.dirty&4&&G&&s(2,G=G.replace(/\s/g,"-").toLocaleLowerCase()),c.$$.dirty&4096&&E&&W()},[C,B,G,D,Q,U,u,p,V,H,b,k,E,K,J,g,v,e,d,_,re]}
13class xm extends bs{constructor(a){super(),Cs(this,a,RI,YI,ms,{show:0,onSubmit:10,onUpdate:11,channel:12,edit:1})}}function yh(c){let a,s,o,u,p,C;return o=new mm({props:{className:"size-3.5"}}),{c(){a=X("button"),s=X("button"),Ut(o.$$.fragment),this.h()},l(b){a=q(b,"BUTTON",{class:!0});var k=$(a);s=q(k,"BUTTON",{class:!0});var E=$(s);Kt(o.$$.fragment,E),E.forEach(z),k.forEach(z),this.h()},h(){O(s,"class","p-0.5 dark:hover:bg-gray-850 rounded-lg touch-auto"),O(a,"class","absolute z-10 right-2 invisible group-hover:visible self-center flex items-center dark:text-gray-300")},m(b,k){Le(b,a,k),T(a,s),Zt(o,s,null),u=!0,p||(C=[Qt(s,"click",WI),Qt(a,"click",c[11])],p=!0)},p:WA,i(b){u||(nt(o.$$.fragment,b),u=!0)},o(b){dt(o.$$.fragment,b),u=!1},d(b){b&&z(a),Xt(o),p=!1,Es(C)}}}function jI(c){var e;let a,s,o,u,p,C,b,k,E,B,G=c[2].name+"",D,Q,V,W,U,H,K;function J(d){c[9](d)}let g={channel:c[2],edit:!0,onUpdate:c[0],onSubmit:c[8]};c[3]!==void 0&&(g.show=c[3]),a=new xm({props:g}),kr.push(()=>es(a,"show",J));let v=((e=c[7])==null?void 0:e.role)==="admin"&&yh(c);return{c(){Ut(a.$$.fragment),o=Se(),u=X("div"),p=X("a"),C=X("div"),b=Ea("svg"),k=Ea("path"),E=Se(),B=X("div"),D=Ze(G),V=Se(),v&&v.c(),this.h()},l(d){Kt(a.$$.fragment,d),o=Ne(d),u=q(d,"DIV",{class:!0});var _=$(u);p=q(_,"A",{class:!0,href:!0,draggable:!0});var re=$(p);C=q(re,"DIV",{class:!0});var S=$(C);b=Ba(S,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var F=$(b);k=Ba(F,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(k).forEach(z),F.forEach(z),E=Ne(S),B=q(S,"DIV",{class:!0});var Ie=$(B);
13D=Xe(Ie,G),Ie.forEach(z),S.forEach(z),re.forEach(z),V=Ne(_),v&&v.l(_),_.forEach(z),this.h()},h(){O(k,"fill-rule","evenodd"),O(k,"d","M7.487 2.89a.75.75 0 1 0-1.474-.28l-.455 2.388H3.61a.75.75 0 0 0 0 1.5h1.663l-.571 2.998H2.75a.75.75 0 0 0 0 1.5h1.666l-.403 2.114a.75.75 0 0 0 1.474.28l.456-2.394h2.973l-.403 2.114a.75.75 0 0 0 1.474.28l.456-2.394h1.947a.75.75 0 0 0 0-1.5h-1.661l.57-2.998h1.95a.75.75 0 0 0 0-1.5h-1.664l.402-2.108a.75.75 0 0 0-1.474-.28l-.455 2.388H7.085l.402-2.108ZM6.8 6.498l-.571 2.998h2.973l.57-2.998H6.8Z"),O(k,"clip-rule","evenodd"),O(b,"xmlns","http://www.w3.org/2000/svg"),O(b,"viewBox","0 0 16 16"),O(b,"fill","currentColor"),O(b,"class","size-5"),O(B,"class","text-left self-center overflow-hidden w-full line-clamp-1"),O(C,"class","flex items-center gap-1"),O(p,"class","w-full flex justify-between"),O(p,"href",Q="/channels/"+c[2].id),O(p,"draggable","false"),O(u,"class",W="w-full "+c[1]+" rounded-lg flex relative group hover:bg-gray-100 dark:hover:bg-gray-900 "+(c[5].url.pathname===`/channels/${c[2].id}`?"bg-gray-100 dark:bg-gray-900":"")+" px-2.5 py-1")},m(d,_){Zt(a,d,_),Le(d,o,_),Le(d,u,_),T(u,p),T(p,C),T(C,b),T(b,k),T(C,E),T(C,B),T(B,D),T(u,V),v&&v.m(u,null),c[12](u),U=!0,H||(K=Qt(p,"click",c[10]),H=!0)},p(d,[_]){var S;const re={};_&4&&(re.channel=d[2]),_&1&&(re.onUpdate=d[0]),_&5&&(re.onSubmit=d[8]),!s&&_&8&&(s=!0,re.show=d[3],$r(()=>s=!1)),a.$set(re),(!U||_&4)&&G!==(G=d[2].name+"")&&tt(D,G),(!U||_&4&&Q!==(Q="/channels/"+d[2].id))&&O(p,"href",Q),((S=d[7])==null?void 0:S.role)==="admin"?v?(v.p(d,_),_&128&&nt(v,1)):(v=yh(d),v.c(),nt(v,1),v.m(u,null)):v&&(Nr(),dt(v,1,1,()=>{v=null}),zr()),(!U||_&38&&W!==(W="w-full "+d[1]+" rounded-lg flex relative group hover:bg-gray-100 dark:hover:bg-gray-900 "+(d[5].url.pathname===`/channels/${d[2].id}`?"bg-gray-100 dark:bg-gray-900":"")+" px-2.5 py-1"))&&O(u,"class",W)},i(d){U||(nt(a.$$.fragment,d),nt(v),U=!0)},o(d){dt(a.$$.fragment,d),dt(v),U=!1},d(d){d&&(z(o),z(u)),Xt(a,d),v&&v.d(),c[12](null),H=!1,K()}}}const WI=c=>{};function UI(c,a,s){let o,u,p;YA(c,td,U=>s(5,o=U)),YA(c,U1,U=>s(6,u=U)),YA(c,Ac,U=>s(7,p=U)),Xs("i18n");let{onUpdate:C=()=>{}}=a,{className:b=""}=a,{channel:k}=a,E=!1,B;const G=async({name:U,access_control:H})=>{await uC(localStorage.token,k.id,{name:U,access_control:H}).catch(J=>{cr.error(J.message)})&&cr.success("Channel updated successfully"),C()};function D(U){E=U,s(3,E)}const Q=()=>{u&&Oo.set(!1)},V=U=>{U.stopPropagation(),s(3,E=!0)};function W(U){kr[U?"unshift":"push"](()=>{B=U,s(4,B)})}return c.$$set=U=>{"onUpdate"in U&&s(0,C=U.onUpdate),"className"in U&&s(1,b=U.className),"channel"in U&&s(2,k=U.channel)},[C,b,k,E,B,o,u,p,G,D,Q,V,W]}class KI extends bs{constructor(a){super(),Cs(this,a,UI,jI,ms,{onUpdate:0,className:1,channel:2})}}function Eh(c,a,s){const o=c.slice();return o[82]=a[s],o[84]=s,o}function Bh(c,a,s){const o=c.slice();return o[82]=a[s],o[84]=s,o}function xh(c,a,s){const o=c.slice();return o[86]=a[s],o}function Mh(c){let a,s,o,u;return{c(){a=X("div"),this.h()},l(p){a=q(p,"DIV",{class:!0}),$(a).forEach(z),this.h()},h(){O(a,"class",s=(c[17]?" ml-[4.5rem] md:ml-0":"")+" fixed md:hidden z-40 top-0 right-0 left-0 bottom-0 bg-black/60 w-full min-h-screen h-screen flex justify-center overflow-hidden overscroll-contain")},m(p,C){Le(p,a,C),o||(u=Qt(a,"mousedown",c[36]),o=!0)},p(p,C){C[0]&131072&&s!==(s=(p[17]?" ml-[4.5rem] md:ml-0":"")+" fixed md:hidden z-40 top-0 right-0 left-0 bottom-0 bg-black/60 w-full min-h-screen h-screen flex justify-center overflow-hidden overscroll-contain")&&O(a,"class",s)},d(p){p&&z(a),o=!1,u()}}}function Dh(c){let a,s,o,u='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="size-[1.1rem]"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 0 0 2.25-2.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v2.25A2.25 2.25 0 0 0 6 10.5Zm0 9.75h2.25A2.25 2.25 0 0 0 10.5 18v-2.25a2.25 2.25 0 0 0-2.25-2.25H6a2.25 2.25 0 0 0-2.25 2.25V18A2.25 2.25 0 0 0 6 20.25Zm9.75-9.75H18a2.25 2.25 0 0 0 2.25-2.25V6A2.25 2.25 0 0 0 18 3.75h-2.25A2.25 2.25 0 0 0 13.5 6v2.25a2.25 2.25 0 0 0 2.25 2.25Z"></path></svg>',p,C,b,k=c[12].t("Workspace")+"",E,B,G;return{c(){a=X("div"),s=X("a"),o=X("div"),o.innerHTML=u,p=Se(),C=X("div"),b=X("div"),E=Ze(k),this.h()},l(D){a=q(D,"DIV",{class:!0});var Q=$(a);s=q(Q,"A",{class:!0,href:!0,draggable:!0});var V=$(s);o=q(V,"DIV",{class:!0,"data-svelte-h":!0}),ur(o)!=="svelte-zod9jr"&&(o.innerHTML=u),p=Ne(V),C=q(V,"DIV",{class:!0});var W=$(C);b=q(W,"DIV",{class:!0});var U=$(b);
13E=Xe(U,k),U.forEach(z),W.forEach(z),V.forEach(z),Q.forEach(z),this.h()},h(){O(o,"class","self-center"),O(b,"class","self-center font-medium text-sm font-primary"),O(C,"class","flex self-center translate-y-[0.5px]"),O(s,"class","grow flex items-center space-x-3 rounded-lg px-2 py-[7px] hover:bg-gray-100 dark:hover:bg-gray-900 transition"),O(s,"href","/workspace"),O(s,"draggable","false"),O(a,"class","px-1.5 flex justify-center text-gray-800 dark:text-gray-200")},m(D,Q){Le(D,a,Q),T(a,s),T(s,o),T(s,p),T(s,C),T(C,b),T(b,E),B||(G=Qt(s,"click",c[39]),B=!0)},p(D,Q){Q[0]&4096&&k!==(k=D[12].t("Workspace")+"")&&tt(E,k)},d(D){D&&z(a),B=!1,G()}}}function Gh(c){let a;return{c(){a=X("div"),this.h()},l(s){a=q(s,"DIV",{class:!0}),$(a).forEach(z),this.h()},h(){O(a,"class","absolute z-40 w-full h-full flex justify-center")},m(s,o){Le(s,a,o)},d(s){s&&z(a)}}}function _h(c){let a,s;return a=new od({props:{className:"px-2 mt-0.5",name:c[12].t("Channels"),dragAndDrop:!1,onAdd:c[42],onAddLabel:c[12].t("Create Channel"),$$slots:{default:[ZI]},$$scope:{ctx:c}}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&4096&&(p.name=o[12].t("Channels")),u[0]&65600&&(p.onAdd=o[42]),u[0]&4096&&(p.onAddLabel=o[12].t("Create Channel")),u[0]&1048576|u[2]&134217728&&(p.$$scope={dirty:u,ctx:o}),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function Th(c){let a,s;return a=new KI({props:{channel:c[86],onUpdate:c[41]}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&1048576&&(p.channel=o[86]),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function ZI(c){let a,s,o=Ur(c[20]),u=[];for(let C=0;C<o.length;C+=1)u[C]=Th(xh(c,o,C));const p=C=>dt(u[C],1,1,()=>{u[C]=null});return{c(){for(let C=0;C<u.length;C+=1)u[C].c();a=ps()},l(C){for(let b=0;b<u.length;b+=1)u[b].l(C);a=ps()},m(C,b){for(let k=0;k<u.length;k+=1)u[k]&&u[k].m(C,b);Le(C,a,b),s=!0},p(C,b){if(b[0]&68157440){o=Ur(C[20]);let k;for(k=0;k<o.length;k+=1){const E=xh(C,o,k);u[k]?(u[k].p(E,b),nt(u[k],1)):(u[k]=Th(E),u[k].c(),nt(u[k],1),u[k].m(a.parentNode,a))}for(Nr(),k=o.length;k<u.length;k+=1)p(k);zr()}},i(C){if(!s){for(let b=0;b<o.length;b+=1)nt(u[b]);s=!0}},o(C){u=u.filter(Boolean);for(let b=0;b<u.length;b+=1)dt(u[b]);s=!1},d(C){C&&z(a),oi(u,C)}}}function Qh(c){let a;return{c(){a=X("div"),this.h()},l(s){a=q(s,"DIV",{class:!0}),$(a).forEach(z),this.h()},h(){O(a,"class","absolute z-40 w-full h-full flex justify-center")},m(s,o){Le(s,a,o)},d(s){s&&z(a)}}}function Ph(c){let a,s,o,u;function p(b){c[47](b)}let C={className:"",name:c[12].t("Pinned"),$$slots:{default:[XI]},$$scope:{ctx:c}};return c[5]!==void 0&&(C.open=c[5]),s=new od({props:C}),kr.push(()=>es(s,"open",p)),s.$on("change",c[48]),s.$on("import",c[49]),s.$on("drop",c[50]),{c(){a=X("div"),Ut(s.$$.fragment),this.h()},l(b){a=q(b,"DIV",{class:!0});var k=$(a);Kt(s.$$.fragment,k),k.forEach(z),this.h()},h(){O(a,"class","flex flex-col space-y-1 rounded-xl")},m(b,k){Le(b,a,k),Zt(s,a,null),u=!0},p(b,k){const E={};k[0]&4096&&(E.name=b[12].t("Pinned")),k[0]&2097164|k[2]&134217728&&(E.$$scope={dirty:k,ctx:b}),!o&&k[0]&32&&(o=!0,E.open=b[5],$r(()=>o=!1)),s.$set(E)},i(b){u||(nt(s.$$.fragment,b),u=!0)},o(b){dt(s.$$.fragment,b),u=!1},d(b){b&&z(a),Xt(s)}}}function Sh(c){let a,s;function o(){return c[43](c[82])}function u(...p){return c[46](c[82],...p)}return a=new id({props:{className:"",id:c[82].id,title:c[82].title,shiftKey:c[2],selected:c[3]===c[82].id}}),a.$on("select",o),a.$on("unselect",c[44]),a.$on("change",c[45]),a.$on("tag",u),{c(){Ut(a.$$.fragment)},l(p){Kt(a.$$.fragment,p)},m(p,C){Zt(a,p,C),s=!0},p(p,C){c=p;const b={};C[0]&2097152&&(b.id=c[82].id),C[0]&2097152&&(b.title=c[82].title),C[0]&4&&(b.shiftKey=c[2]),C[0]&2097160&&(b.selected=c[3]===c[82].id),a.$set(b)},i(p){s||(nt(a.$$.fragment,p),s=!0)},o(p){dt(a.$$.fragment,p),s=!1},d(p){Xt(a,p)}}}function XI(c){let a,s,o=Ur(c[21]),u=[];for(let C=0;C<o.length;C+=1)u[C]=Sh(Bh(c,o,C));const p=C=>dt(u[C],1,1,()=>{u[C]=null});return{c(){a=X("div");for(let C=0;C<u.length;C+=1)u[C].c();this.h()},l(C){a=q(C,"DIV",{class:!0});var b=$(a);for(let k=0;k<u.length;k+=1)u[k].l(b);b.forEach(z),this.h()},h(){O(a,"class","ml-3 pl-1 mt-[1px] flex flex-col overflow-y-auto scrollbar-hidden border-s border-gray-100 dark:border-gray-900 svelte-141e0sl")},m(C,b){Le(C,a,b);for(let k=0;k<u.length;k+=1)u[k]&&u[k].m(a,null);s=!0},p(C,b){if(b[0]&136314892|b[1]&1){o=Ur(C[21]);let k;for(k=0;k<o.length;k+=1){const E=Bh(C,o,k);u[k]?(u[k].p(E,b),nt(u[k],1)):(u[k]=Sh(E),u[k].c(),nt(u[k],1),u[k].m(a,null))}for(Nr(),k=o.length;k<u.length;k+=1)p(k);zr()}},i(C){if(!s){for(let b=0;b<o.length;b+=1)nt(u[b]);s=!0}},o(C){u=u.filter(Boolean);for(let b=0;b<u.length;b+=1)dt(u[b]);s=!1},d(C){C&&z(a),oi(u,C)}}}function Nh(c){let a,s;return a=new zI({props:{folders:c[9]}}),a.$on("import",c[51]),a.$on("update",c[52]),a.$on("change",c[53]),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&512&&(p.folders=o[9]),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function qI(c){let a,s,o,u,p="Loading...",C;return s=new D2({props:{className:" size-4"}}),{c(){a=X("div"),Ut(s.$$.fragment),o=Se(),u=X("div"),u.textContent=p,this.h()},l(b){a=q(b,"DIV",{class:!0});var k=$(a);Kt(s.$$.fragment,k),o=Ne(k),u=q(k,"DIV",{class:!0,"data-svelte-h":!0}
13),ur(u)!=="svelte-17uns3n"&&(u.textContent=p),k.forEach(z),this.h()},h(){O(u,"class",""),O(a,"class","w-full flex justify-center py-1 text-xs animate-pulse items-center gap-2")},m(b,k){Le(b,a,k),Zt(s,a,null),T(a,o),T(a,u),C=!0},p:WA,i(b){C||(nt(s.$$.fragment,b),C=!0)},o(b){dt(s.$$.fragment,b),C=!1},d(b){b&&z(a),Xt(s)}}}function JI(c){let a,s,o,u=Ur(c[13]),p=[];for(let k=0;k<u.length;k+=1)p[k]=Oh(Eh(c,u,k));const C=k=>dt(p[k],1,1,()=>{p[k]=null});let b=c[22]&&!c[8]&&Fh(c);return{c(){for(let k=0;k<p.length;k+=1)p[k].c();a=Se(),b&&b.c(),s=ps()},l(k){for(let E=0;E<p.length;E+=1)p[E].l(k);a=Ne(k),b&&b.l(k),s=ps()},m(k,E){for(let B=0;B<p.length;B+=1)p[B]&&p[B].m(k,E);Le(k,a,E),b&&b.m(k,E),Le(k,s,E),o=!0},p(k,E){if(E[0]&134230028|E[1]&1){u=Ur(k[13]);let B;for(B=0;B<u.length;B+=1){const G=Eh(k,u,B);p[B]?(p[B].p(G,E),nt(p[B],1)):(p[B]=Oh(G),p[B].c(),nt(p[B],1),p[B].m(a.parentNode,a))}for(Nr(),B=u.length;B<p.length;B+=1)C(B);zr()}k[22]&&!k[8]?b?(b.p(k,E),E[0]&4194560&&nt(b,1)):(b=Fh(k),b.c(),nt(b,1),b.m(s.parentNode,s)):b&&(Nr(),dt(b,1,1,()=>{b=null}),zr())},i(k){if(!o){for(let E=0;E<u.length;E+=1)nt(p[E]);nt(b),o=!0}},o(k){p=p.filter(Boolean);for(let E=0;E<p.length;E+=1)dt(p[E]);dt(b),o=!1},d(k){k&&(z(a),z(s)),oi(p,k),b&&b.d(k)}}}function zh(c){let a,s=c[12].t(c[82].time_range)+"",o;return{c(){a=X("div"),o=Ze(s),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","w-full pl-2.5 text-xs text-gray-500 dark:text-gray-500 font-medium "+(c[84]===0?"":"pt-5")+" pb-1.5")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&12288&&s!==(s=u[12].t(u[82].time_range)+"")&&tt(o,s)},d(u){u&&z(a)}}}function Oh(c){let a,s,o,u=(c[84]===0||c[84]>0&&c[82].time_range!==c[13][c[84]-1].time_range)&&zh(c);function p(){return c[54](c[82])}function C(...b){return c[57](c[82],...b)}return s=new id({props:{className:"",id:c[82].id,title:c[82].title,shiftKey:c[2],selected:c[3]===c[82].id}}),s.$on("select",p),s.$on("unselect",c[55]),s.$on("change",c[56]),s.$on("tag",C),{c(){u&&u.c(),a=Se(),Ut(s.$$.fragment)},l(b){u&&u.l(b),a=Ne(b),Kt(s.$$.fragment,b)},m(b,k){u&&u.m(b,k),Le(b,a,k),Zt(s,b,k),o=!0},p(b,k){c=b,c[84]===0||c[84]>0&&c[82].time_range!==c[13][c[84]-1].time_range?u?u.p(c,k):(u=zh(c),u.c(),u.m(a.parentNode,a)):u&&(u.d(1),u=null);const E={};k[0]&8192&&(E.id=c[82].id),k[0]&8192&&(E.title=c[82].title),k[0]&4&&(E.shiftKey=c[2]),k[0]&8200&&(E.selected=c[3]===c[82].id),s.$set(E)},i(b){o||(nt(s.$$.fragment,b),o=!0)},o(b){dt(s.$$.fragment,b),o=!1},d(b){b&&z(a),u&&u.d(b),Xt(s,b)}}}function Fh(c){let a,s;return a=new iC({props:{$$slots:{default:[$I]},$$scope:{ctx:c}}}),a.$on("visible",c[58]),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[2]&134217728&&(p.$$scope={dirty:u,ctx:o}),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function $I(c){let a,s,o,u,p="Loading...",C;return s=new D2({props:{className:" size-4"}}),{c(){a=X("div"),Ut(s.$$.fragment),o=Se(),u=X("div"),u.textContent=p,this.h()},l(b){a=q(b,"DIV",{class:!0});var k=$(a);Kt(s.$$.fragment,k),o=Ne(k),u=q(k,"DIV",{class:!0,"data-svelte-h":!0}),ur(u)!=="svelte-17uns3n"&&(u.textContent=p),k.forEach(z),this.h()},h(){O(u,"class",""),O(a,"class","w-full flex justify-center py-1 text-xs animate-pulse items-center gap-2")},m(b,k){Le(b,a,k),Zt(s,a,null),T(a,o),T(a,u),C=!0},p:WA,i(b){C||(nt(s.$$.fragment,b),C=!0)},o(b){dt(s.$$.fragment,b),C=!1},d(b){b&&z(a),Xt(s)}}}function ew(c){let a,s,o,u,p,C,b,k,E=c[18]&&Qh(),B=!c[1]&&c[21].length>0&&Ph(c),G=!c[1]&&c[9]&&Nh(c);const D=[JI,qI],Q=[];function V(W,U){return W[13]?0:1}return C=V(c),b=Q[C]=D[C](c),{c(){E&&E.c(),a=Se(),B&&B.c(),s=Se(),G&&G.c(),o=Se(),u=X("div"),p=X("div"),b.c(),this.h()},l(W){E&&E.l(W),a=Ne(W),B&&B.l(W),s=Ne(W),G&&G.l(W),o=Ne(W),u=q(W,"DIV",{class:!0});var U=$(u);p=q(U,"DIV",{class:!0});var H=$(p);b.l(H),H.forEach(z),U.forEach(z),this.h()},h(){O(p,"class","pt-1.5"),O(u,"class","flex-1 flex flex-col overflow-y-auto scrollbar-hidden svelte-141e0sl")},m(W,U){E&&E.m(W,U),Le(W,a,U),B&&B.m(W,U),Le(W,s,U),G&&G.m(W,U),Le(W,o,U),Le(W,u,U),T(u,p),Q[C].m(p,null),k=!0},p(W,U){W[18]?E||(E=Qh(),E.c(),E.m(a.parentNode,a)):E&&(E.d(1),E=null),!W[1]&&W[21].length>0?B?(B.p(W,U),U[0]&2097154&&nt(B,1)):(B=Ph(W),B.c(),nt(B,1),B.m(s.parentNode,s)):B&&(Nr(),dt(B,1,1,()=>{B=null}),zr()),!W[1]&&W[9]?G?(G.p(W,U),U[0]&514&&nt(G,1)):(G=Nh(W),G.c(),nt(G,1),G.m(o.parentNode,o)):G&&(Nr(),dt(G,1,1,()=>{G=null}),zr());let H=C;C=V(W),C===H?Q[C].p(W,U):(Nr(),dt(Q[H],1,1,()=>{Q[H]=null}),zr(),b=Q[C],b?b.p(W,U):(b=Q[C]=D[C](W),b.c()),nt(b,1),b.m(p,null))},i(W){k||(nt(B),nt(G),nt(b),k=!0)},o(W){dt(B),dt(G),dt(b),k=!1},d(W){W&&(z(a),z(s),z(o),z(u)),E&&E.d(W),B&&B.d(W),G&&G.d(W),Q[C].d()}}}function Lh(c){var o;let a,s;return a=new j8({props:{role:(o=c[16])==null?void 0:o.role,$$slots:{default:[tw]},$$scope:{ctx:c}}}),a.$on("show",c[63]),{c(){Ut(a.$$.fragment)},l(u){Kt(a.$$.fragment,u)},m(u,p){Zt(a,u,p),s=!0},p(u,p){var b;const C={};p[0]&65536&&(C.role=(b=u[16])==null?void 0:b.role),p[0]&65552|p[2]&134217728&&(C.$$scope={dirty:p,ctx:u}),a.$set(C)},i(u){s||(nt(a.$$.fragment,u),s=!0)},o(u){dt(a.$$.fragment,u),s=!1},d(u){Xt(a,u)}}}function tw(c){var G;let a,s,o,u,p,C,b=((G=c[16])==null?void 0:G.name)+"",k,E,B;return{c(){a=X("button"),s=X("div"),o=X("img"),p=Se(),C=X("div"),k=Ze(b),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0});var V=$(s);o=q(V,"IMG",{src:!0,class:!0,alt:!0}
13),V.forEach(z),p=Ne(Q),C=q(Q,"DIV",{class:!0});var W=$(C);k=Xe(W,b),W.forEach(z),Q.forEach(z),this.h()},h(){var D;j1(o.src,u=(D=c[16])==null?void 0:D.profile_image_url)||O(o,"src",u),O(o,"class","max-w-[30px] object-cover rounded-full"),O(o,"alt","User profile"),O(s,"class","self-center mr-3"),O(C,"class","self-center font-medium"),O(a,"class","flex items-center rounded-xl py-2.5 px-2.5 w-full hover:bg-gray-100 dark:hover:bg-gray-900 transition")},m(D,Q){Le(D,a,Q),T(a,s),T(s,o),T(a,p),T(a,C),T(C,k),E||(B=Qt(a,"click",c[62]),E=!0)},p(D,Q){var V,W;Q[0]&65536&&!j1(o.src,u=(V=D[16])==null?void 0:V.profile_image_url)&&O(o,"src",u),Q[0]&65536&&b!==(b=((W=D[16])==null?void 0:W.name)+"")&&tt(k,b)},d(D){D&&z(a),E=!1,B()}}}function Aw(c){var ke,fe,Qe,Je,st,lt,xt,jt,$t,Ft,dA,eA,nA,aA,bA,vA;let a,s,o,u,p,C,b,k,E,B,G,D='<div class="m-auto self-center"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="size-5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25H12"></path></svg></div>',Q,V,W,U,H=`<img crossorigin="anonymous" src="${I8}/static/favicon.png" class="size-5 -translate-x-1.5 rounded-full" alt="logo"/>`,K,J,g=c[12].t("New Chat")+"",v,e,d,_,re,S,F,Ie,he,ce,ge,Ce,Fe,Pe,de,pe,we,Ge,me,at,Ue,ot,pt,ct;function je(Gt){c[32](Gt)}let At={};c[14]!==void 0&&(At.show=c[14]),a=new vm({props:At}),kr.push(()=>es(a,"show",je)),a.$on("change",c[33]);function It(Gt){c[35](Gt)}let wt={onSubmit:c[34]};c[6]!==void 0&&(wt.show=c[6]),u=new xm({props:wt}),kr.push(()=>es(u,"show",It));let ze=c[11]&&Mh(c);_=new q8({props:{className:" size-5",strokeWidth:"2"}});let rt=(((ke=c[16])==null?void 0:ke.role)==="admin"||((Je=(Qe=(fe=c[16])==null?void 0:fe.permissions)==null?void 0:Qe.workspace)==null?void 0:Je.models)||((xt=(lt=(st=c[16])==null?void 0:st.permissions)==null?void 0:lt.workspace)==null?void 0:xt.knowledge)||((Ft=($t=(jt=c[16])==null?void 0:jt.permissions)==null?void 0:$t.workspace)==null?void 0:Ft.prompts)||((nA=(eA=(dA=c[16])==null?void 0:dA.permissions)==null?void 0:eA.workspace)==null?void 0:nA.tools))&&Dh(c),Bt=c[18]&&Gh();function Ot(Gt){c[40](Gt)}let St={placeholder:c[12].t("Search"),showClearButton:!0};c[1]!==void 0&&(St.value=c[1]),he=new q5({props:St}),kr.push(()=>es(he,"value",Ot)),he.$on("input",c[29]);let oe=((bA=(aA=c[19])==null?void 0:aA.features)==null?void 0:bA.enable_channels)&&(((vA=c[16])==null?void 0:vA.role)==="admin"||c[20].length>0)&&!c[1]&&_h(c);de=new od({props:{collapsible:!c[1],className:"px-2 mt-0.5",name:c[12].t("Chats"),onAdd:c[59],onAddLabel:c[12].t("New Folder"),$$slots:{default:[ew]},$$scope:{ctx:c}}}),de.$on("import",c[60]),de.$on("drop",c[61]);let zt=c[16]!==void 0&&c[16]!==null&&Lh(c);return{c(){Ut(a.$$.fragment),o=Se(),Ut(u.$$.fragment),C=Se(),ze&&ze.c(),b=Se(),k=X("div"),E=X("div"),B=X("div"),G=X("button"),G.innerHTML=D,Q=Se(),V=X("a"),W=X("div"),U=X("div"),U.innerHTML=H,K=Se(),J=X("div"),v=Ze(g),e=Se(),d=X("div"),Ut(_.$$.fragment),re=Se(),rt&&rt.c(),S=Se(),F=X("div"),Bt&&Bt.c(),Ie=Se(),Ut(he.$$.fragment),Ce=Se(),Fe=X("div"),oe&&oe.c(),Pe=Se(),Ut(de.$$.fragment),we=Se(),Ge=X("div"),me=X("div"),zt&&zt.c(),this.h()},l(Gt){Kt(a.$$.fragment,Gt),o=Ne(Gt),Kt(u.$$.fragment,Gt),C=Ne(Gt),ze&&ze.l(Gt),b=Ne(Gt),k=q(Gt,"DIV",{id:!0,class:!0,"data-state":!0});var mA=$(k);E=q(mA,"DIV",{class:!0});var AA=$(E);B=q(AA,"DIV",{class:!0});var gr=$(B);G=q(gr,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(G)!=="svelte-uwd94y"&&(G.innerHTML=D),Q=Ne(gr),V=q(gr,"A",{id:!0,class:!0,href:!0,draggable:!0});var CA=$(V);W=q(CA,"DIV",{class:!0});var NA=$(W);U=q(NA,"DIV",{class:!0,"data-svelte-h":!0}),ur(U)!=="svelte-irsu7d"&&(U.innerHTML=H),K=Ne(NA),J=q(NA,"DIV",{class:!0});var tA=$(J);v=Xe(tA,g),tA.forEach(z),NA.forEach(z),e=Ne(CA),d=q(CA,"DIV",{});var iA=$(d);Kt(_.$$.fragment,iA),iA.forEach(z),CA.forEach(z),gr.forEach(z),re=Ne(AA),rt&&rt.l(AA),S=Ne(AA),F=q(AA,"DIV",{class:!0});var qt=$(F);Bt&&Bt.l(qt),Ie=Ne(qt),Kt(he.$$.fragment,qt),qt.forEach(z),Ce=Ne(AA),Fe=q(AA,"DIV",{class:!0});var zA=$(Fe);oe&&oe.l(zA),Pe=Ne(zA),Kt(de.$$.fragment,zA),zA.forEach(z),we=Ne(AA),Ge=q(AA,"DIV",{class:!0});var Fr=$(Ge);me=q(Fr,"DIV",{class:!0});var Vr=$(me);zt&&zt.l(Vr),Vr.forEach(z),Fr.forEach(z),AA.forEach(z),mA.forEach(z),this.h()},h(){O(G,"class","cursor-pointer p-[7px] flex rounded-xl hover:bg-gray-100 dark:hover:bg-gray-900 transition"),O(U,"class","self-center mx-1.5"),O(J,"class","self-center font-medium text-sm text-gray-850 dar
13k:text-white font-primary"),O(W,"class","flex items-center"),O(V,"id","sidebar-new-chat-button"),O(V,"class","flex justify-between items-center flex-1 rounded-lg px-2 py-1 h-full text-right hover:bg-gray-100 dark:hover:bg-gray-900 transition no-drag-region"),O(V,"href","/"),O(V,"draggable","false"),O(B,"class","px-1.5 flex justify-between space-x-1 text-gray-600 dark:text-gray-400"),O(F,"class",ge="relative "+(c[18]?"opacity-20":"")),O(Fe,"class",pe="relative flex flex-col flex-1 overflow-y-auto overflow-x-hidden "+(c[18]?"opacity-20":"")),O(me,"class","flex flex-col font-primary"),O(Ge,"class","px-2"),O(E,"class",at="py-2 my-auto flex flex-col justify-between h-screen max-h-[100dvh] w-[260px] overflow-x-hidden z-50 "+(c[11]?"":"invisible")),O(k,"id","sidebar"),O(k,"class",Ue="h-screen max-h-[100dvh] min-h-screen select-none "+(c[11]?"md:relative w-[260px] max-w-[260px]":"-translate-x-[260px] w-[0px]")+" "+(c[17]?"ml-[4.5rem] md:ml-0 ":"transition-width duration-200 ease-in-out")+" shrink-0 bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm fixed z-50 top-0 left-0 overflow-x-hidden svelte-141e0sl"),O(k,"data-state",c[11])},m(Gt,mA){Zt(a,Gt,mA),Le(Gt,o,mA),Zt(u,Gt,mA),Le(Gt,C,mA),ze&&ze.m(Gt,mA),Le(Gt,b,mA),Le(Gt,k,mA),T(k,E),T(E,B),T(B,G),T(B,Q),T(B,V),T(V,W),T(W,U),T(W,K),T(W,J),T(J,v),T(V,e),T(V,d),Zt(_,d,null),T(E,re),rt&&rt.m(E,null),T(E,S),T(E,F),Bt&&Bt.m(F,null),T(F,Ie),Zt(he,F,null),T(E,Ce),T(E,Fe),oe&&oe.m(Fe,null),T(Fe,Pe),Zt(de,Fe,null),T(E,we),T(E,Ge),T(Ge,me),zt&&zt.m(me,null),c[64](k),ot=!0,pt||(ct=[Qt(G,"click",c[37]),Qt(V,"click",c[38])],pt=!0)},p(Gt,mA){var tA,iA,qt,zA,Fr,Vr,Tt,MA,QA,ZA,FA,EA,Rr,Er,Dr,Vs;const AA={};!s&&mA[0]&16384&&(s=!0,AA.show=Gt[14],$r(()=>s=!1)),a.$set(AA);const gr={};mA[0]&98368&&(gr.onSubmit=Gt[34]),!p&&mA[0]&64&&(p=!0,gr.show=Gt[6],$r(()=>p=!1)),u.$set(gr),Gt[11]?ze?ze.p(Gt,mA):(ze=Mh(Gt),ze.c(),ze.m(b.parentNode,b)):ze&&(ze.d(1),ze=null),(!ot||mA[0]&4096)&&g!==(g=Gt[12].t("New Chat")+"")&&tt(v,g),((tA=Gt[16])==null?void 0:tA.role)==="admin"||(zA=(qt=(iA=Gt[16])==null?void 0:iA.permissions)==null?void 0:qt.workspace)!=null&&zA.models||(Tt=(Vr=(Fr=Gt[16])==null?void 0:Fr.permissions)==null?void 0:Vr.workspace)!=null&&Tt.knowledge||(ZA=(QA=(MA=Gt[16])==null?void 0:MA.permissions)==null?void 0:QA.workspace)!=null&&ZA.prompts||(Rr=(EA=(FA=Gt[16])==null?void 0:FA.permissions)==null?void 0:EA.workspace)!=null&&Rr.tools?rt?rt.p(Gt,mA):(rt=Dh(Gt),rt.c(),rt.m(E,S)):rt&&(rt.d(1),rt=null),Gt[18]?Bt||(Bt=Gh(),Bt.c(),Bt.m(F,Ie)):Bt&&(Bt.d(1),Bt=null);const CA={};mA[0]&4096&&(CA.placeholder=Gt[12].t("Search")),!ce&&mA[0]&2&&(ce=!0,CA.value=Gt[1],$r(()=>ce=!1)),he.$set(CA),(!ot||mA[0]&262144&&ge!==(ge="relative "+(Gt[18]?"opacity-20":"")))&&O(F,"class",ge),(Dr=(Er=Gt[19])==null?void 0:Er.features)!=null&&Dr.enable_channels&&(((Vs=Gt[16])==null?void 0:Vs.role)==="admin"||Gt[20].length>0)&&!Gt[1]?oe?(oe.p(Gt,mA),mA[0]&1638402&&nt(oe,1)):(oe=_h(Gt),oe.c(),nt(oe,1),oe.m(Fe,Pe)):oe&&(Nr(),dt(oe,1,1,()=>{oe=null}),zr());const NA={};mA[0]&2&&(NA.collapsible=!Gt[1]),mA[0]&4096&&(NA.name=Gt[12].t("Chats")),mA[0]&4096&&(NA.onAddLabel=Gt[12].t("New Folder")),mA[0]&6566830|mA[2]&134217728&&(NA.$$scope={dirty:mA,ctx:Gt}),de.$set(NA),(!ot||mA[0]&262144&&pe!==(pe="relative flex flex-col flex-1 overflow-y-auto overflow-x-hidden "+(Gt[18]?"opacity-20":"")))&&O(Fe,"class",pe),Gt[16]!==void 0&&Gt[16]!==null?zt?(zt.p(Gt,mA),mA[0]&65536&&nt(zt,1)):(zt=Lh(Gt),zt.c(),nt(zt,1),zt.m(me,null)):zt&&(Nr(),dt(zt,1,1,()=>{zt=null}),zr()),(!ot||mA[0]&2048&&at!==(at="py-2 my-auto flex flex-col justify-between h-screen max-h-[100dvh] w-[260px] overflow-x-hidden z-50 "+(Gt[11]?"":"invisible")))&&O(E,"class",at),(!ot||mA[0]&133120&&Ue!==(Ue="h-screen max-h-[100dvh] min-h-screen select-none "+(Gt[11]?"md:relative w-[260px] max-w-[260px]":"-translate-x-[260px] w-[0px]")+" "+(Gt[17]?"ml-[4.5rem] md:ml-0 ":"transition-width duration-200 ease-in-out")+" shrink-0 bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm fixed z-50 top-0 left-0 overflow-x-hidden svelte-141e0sl"))&&O(k,"class",Ue),(!ot||mA[0]&2048)&&O(k,"data-state",Gt[11])},i(Gt){ot||(nt(a.$$.fragment,Gt),nt(u.$$.fragment,Gt),nt(_.$$.fragment,Gt),nt(he.$$.fragment,Gt),nt(oe),nt(de.$$.fragment,Gt),nt(zt),ot=!0)},o(Gt){dt(a.$$.fragment,Gt),dt(u.$$.fragment,Gt),dt(_.$$.fragment,Gt),dt(he.$$.fragment,Gt),dt(oe),dt(de.$$.fragment,Gt),dt(zt),ot=!1},d(Gt){Gt&&(z(o),z(C),z(b),z(k)),Xt(a,Gt),Xt(u,Gt),ze&&ze.d(Gt),Xt(_),rt&&rt.d(),Bt&&Bt.d(),Xt(he),oe&&oe.d(),Xt(de),zt&&zt.d(),c[64](null),pt=!1,Es(ct)}}}function rw(c,a,s){let o,u,p,C,b,k,E,B,G,D,Q,V,W,U;YA(c,U1,Tt=>s(10,o=Tt)),YA(c,Oo,Tt=>s(11,u=Tt)),YA(c,t0,Tt=>s(13,C=Tt)),YA(c,r0,Tt=>s(70,b=Tt)),YA(c,Tf,Tt=>s(14,k=Tt)),YA(c,b8,Tt=>s(15,E=Tt)),YA(c,Ac,Tt=>s(16,B=Tt)),YA(c,C8,Tt=>s(17,G=Tt)),YA(c,Uu,Tt=>s(18,D=Tt)),YA(c,rc,Tt=>s(19,Q=Tt)),YA(c,jg,Tt=>s(20,V=Tt)),YA(c,K1,Tt=>s(21,W=Tt)),YA(c,d2,Tt=>s(22,U=Tt));const H=Xs("i18n");YA(c,H,Tt=>s(12,p=Tt));let K,J="",g=!1,v=null,e=!1,d=!0,_=!1,re=!1,S=!1,F={},Ie=null;const he=async()=>{const Tt=await VC(localStorage.token).catch(MA=>(cr.error(`${MA}`),[]));s(9,F={});for(const MA of Tt)s(9,F[MA.id]={...F[MA.id]||{},...MA},F),Ie&&MA.id===Ie&&(s(9,F[MA.id].new=!0,F),Ie=null);for(const MA of Tt)MA.parent_id&&(F[MA.parent_id]||s(9,F[MA.parent_id]={},F),s(9,F[MA.parent_id].childrenIds=F[MA.parent_id].childrenIds?[...F[MA.parent_id].childrenIds,MA.id]:[MA.id],F),F[MA.parent_id].childrenIds.sort((QA,ZA)=>F[ZA].updated_at-F[QA].updated_at))},ce=async(Tt="Untitled")=>{if(Tt===""){cr.error(p.t("Folder name cannot be empty."));return}const MA=Object.values(F).filter(FA=>FA.parent_id===null);if(MA.find(FA=>FA.name.toLowerCase()===Tt.toLowerCase())){let FA=1;for(;MA.find(EA=>EA.name.toLowerCase()===`${Tt} ${FA}`.toLowerCase());)FA++;Tt=`${Tt} ${FA}`}const QA=B8();s(9,F={...F,tempId:{id:QA,name:Tt,created_at:Date.now(),updated_at:Date.now()}});const ZA=await LC(localStorage.token,Tt).catch(FA=>(cr.error(`${FA}`),null));ZA&&(Ie=ZA.id,await he())},ge=async()=>{await jg.set(await fC(localStorage.token))},Ce=async()=>{Ju.set(await Z1(localStorage.token)),K1.set(await Xf(localStorage.token)),he(),r0.set(1),s(8,S=!1),J?await t0.set(await Pf(localStorage.token,J,b)):await t0.set(await tc(localStorage.token,b)),d2.set(!0)},Fe=async()=>
13{s(7,re=!0),r0.set(b+1);let Tt=[];J?Tt=await Pf(localStorage.token,J,b):Tt=await tc(localStorage.token,b),s(8,S=Tt.length===0),await t0.set([...C||[],...Tt]),s(7,re=!1)};let Pe;const de=async()=>{if(console.log("search",J),t0.set(null),Pe&&clearTimeout(Pe),J===""){await Ce();return}else Pe=setTimeout(async()=>{s(8,S=!1),r0.set(1),await t0.set(await Pf(localStorage.token,J)),C.length===0&&Ju.set(await Z1(localStorage.token))},1e3)},pe=async(Tt,MA=!1,QA=null)=>{console.log("importChatHandler",Tt,MA,QA);for(const ZA of Tt)console.log(ZA),ZA.chat&&await Y1(localStorage.token,ZA.chat,(ZA==null?void 0:ZA.meta)??{},MA,QA);Ce()},we=async Tt=>{console.log(Tt);for(const MA of Tt){const QA=new FileReader;QA.onload=async ZA=>{const FA=ZA.target.result;try{const EA=JSON.parse(FA);pe(EA)}catch{cr.error(p.t("Invalid file format."))}},QA.readAsText(MA)}},Ge=async(Tt,MA,QA)=>{console.log(Tt,MA,QA),(Tt==="delete"||Tt==="add")&&Ce()},me=Tt=>{var MA,QA;Tt.preventDefault(),(QA=(MA=Tt.dataTransfer)==null?void 0:MA.types)!=null&&QA.includes("Files")},at=()=>{},Ue=async Tt=>{var MA,QA;if(Tt.preventDefault(),console.log(Tt),(MA=Tt.dataTransfer)!=null&&MA.files){const ZA=Array.from((QA=Tt.dataTransfer)==null?void 0:QA.files);ZA&&ZA.length>0&&(console.log(ZA),we(ZA))}};let ot,pt;function ct(){const Tt=window.innerWidth,MA=Math.abs(pt.screenX-ot.screenX);ot.clientX<40&&MA>=Tt/8&&(pt.screenX<ot.screenX&&Oo.set(!1),pt.screenX>ot.screenX&&Oo.set(!0))}const je=Tt=>{ot=Tt.changedTouches[0],console.log(ot.clientX)},At=Tt=>{pt=Tt.changedTouches[0],ct()},It=Tt=>{Tt.key==="Shift"&&s(2,g=!0)},wt=Tt=>{Tt.key==="Shift"&&s(2,g=!1)},ze=()=>{},rt=()=>{s(2,g=!1),s(3,v=null)};li(async()=>{s(5,d=localStorage!=null&&localStorage.showPinnedChat?localStorage.showPinnedChat==="true":!0),U1.subscribe(MA=>{if(u&&MA&&Oo.set(!1),u&&!MA){const QA=document.getElementsByTagName("nav")[0];QA&&(QA.style["-webkit-app-region"]="drag")}!u&&!MA&&Oo.set(!0)}),Oo.set(o?!1:localStorage.sidebar==="true"),Oo.subscribe(MA=>{localStorage.sidebar=MA;const QA=document.getElementsByTagName("nav")[0];QA&&(o&&MA?QA.style["-webkit-app-region"]="no-drag":QA.style["-webkit-app-region"]="drag")}),await ge(),await Ce(),window.addEventListener("keydown",It),window.addEventListener("keyup",wt),window.addEventListener("touchstart",je),window.addEventListener("touchend",At),window.addEventListener("focus",ze),window.addEventListener("blur-sm",rt);const Tt=document.getElementById("sidebar");Tt==null||Tt.addEventListener("dragover",me),Tt==null||Tt.addEventListener("drop",Ue),Tt==null||Tt.addEventListener("dragleave",at)}),B2(()=>{window.removeEventListener("keydown",It),window.removeEventListener("keyup",wt),window.removeEventListener("touchstart",je),window.removeEventListener("touchend",At),window.removeEventListener("focus",ze),window.removeEventListener("blur-sm",rt);const Tt=document.getElementById("sidebar");Tt==null||Tt.removeEventListener("dragover",me),Tt==null||Tt.removeEventListener("drop",Ue),Tt==null||Tt.removeEventListener("dragleave",at)});function Bt(Tt){k=Tt,Tf.set(k)}const Ot=async()=>{await Ce()},St=async({name:Tt,access_control:MA})=>{await dC(localStorage.token,{name:Tt,access_control:MA}).catch(ZA=>(cr.error(`${ZA}`),null))&&(E.emit("join-channels",{auth:{token:B==null?void 0:B.token}}),await ge(),s(6,_=!1))};function oe(Tt){_=Tt,s(6,_)}const zt=()=>{Oo.set(!u)},ke=()=>{Oo.set(!u)},fe=async()=>{s(3,v=null),await cl("/");const Tt=document.getElementById("new-chat-button");setTimeout(()=>{Tt==null||Tt.click(),o&&Oo.set(!1)},0)},Qe=()=>{s(3,v=null),Wf.set(""),o&&Oo.set(!1)};function Je(Tt){J=Tt,s(1,J)}const st=async()=>{await ge()},lt=async()=>{(B==null?void 0:B.role)==="admin"&&(await il(),setTimeout(()=>{s(6,_=!0)},0))},xt=Tt=>{s(3,v=Tt.id)},jt=()=>{s(3,v=null)},$t=async()=>{Ce()},Ft=(Tt,MA)=>{const{type:QA,name:ZA}=MA.detail;Ge(QA,ZA,Tt.id)};function dA(Tt){d=Tt,s(5,d)}const eA=Tt=>{localStorage.setItem("showPinnedChat",Tt.detail),console.log(Tt.detail)},nA=Tt=>{pe(Tt.detail,!0)},aA=async Tt=>{const{type:MA,id:QA,item:ZA}=Tt.detail;if(MA==="chat"){let FA=await Ic(localStorage.token,QA).catch(EA=>null);!FA&&ZA&&(FA=await Y1(localStorage.token,ZA.chat,(ZA==null?void 0:ZA.meta)??{})),FA&&(console.log(FA),FA.folder_id&&await qf(localStorage.token,FA.id,null).cat
13ch(EA=>(cr.error(`${EA}`),null)),FA.pinned||await Zf(localStorage.token,FA.id),Ce())}},bA=Tt=>{const{folderId:MA,items:QA}=Tt.detail;pe(QA,!1,MA)},vA=async Tt=>{Ce()},Gt=async()=>{Ce()},mA=Tt=>{s(3,v=Tt.id)},AA=()=>{s(3,v=null)},gr=async()=>{Ce()},CA=(Tt,MA)=>{const{type:QA,name:ZA}=MA.detail;Ge(QA,ZA,Tt.id)},NA=Tt=>{re||Fe()},tA=()=>{ce()},iA=Tt=>{pe(Tt.detail)},qt=async Tt=>{const{type:MA,id:QA,item:ZA}=Tt.detail;if(MA==="chat"){let FA=await Ic(localStorage.token,QA).catch(EA=>null);!FA&&ZA&&(FA=await Y1(localStorage.token,ZA.chat,(ZA==null?void 0:ZA.meta)??{})),FA&&(console.log(FA),FA.folder_id&&await qf(localStorage.token,FA.id,null).catch(EA=>(cr.error(`${EA}`),null)),FA.pinned&&await Zf(localStorage.token,FA.id),Ce())}else if(MA==="folder"){if(F[QA].parent_id===null)return;await km(localStorage.token,QA,null).catch(EA=>(cr.error(`${EA}`),null))&&await he()}},zA=()=>{s(4,e=!e)},Fr=Tt=>{Tt.detail==="archived-chat"&&Tf.set(!0)};function Vr(Tt){kr[Tt?"unshift":"push"](()=>{K=Tt,s(0,K)})}return[K,J,g,v,e,d,_,re,S,F,o,u,p,C,k,E,B,G,D,Q,V,W,U,H,he,ce,ge,Ce,Fe,de,pe,Ge,Bt,Ot,St,oe,zt,ke,fe,Qe,Je,st,lt,xt,jt,$t,Ft,dA,eA,nA,aA,bA,vA,Gt,mA,AA,gr,CA,NA,tA,iA,qt,zA,Fr,Vr]}class sw extends bs{constructor(a){super(),Cs(this,a,rw,Aw,ms,{},null,[-1,-1,-1])}}function Vh(c){let a,s,o,u=c[4].t("Current Password")+"",p,C,b,k,E,B,G,D,Q=c[4].t("New Password")+"",V,W,U,H,K,J,g,v,e=c[4].t("Confirm Password")+"",d,_,re,S,F,Ie,he,ce,ge=c[4].t("Update password")+"",Ce,Fe,Pe;return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("div"),k=X("input"),B=Se(),G=X("div"),D=X("div"),V=Ze(Q),W=Se(),U=X("div"),H=X("input"),J=Se(),g=X("div"),v=X("div"),d=Ze(e),_=Se(),re=X("div"),S=X("input"),Ie=Se(),he=X("div"),ce=X("button"),Ce=Ze(ge),this.h()},l(de){a=q(de,"DIV",{class:!0});var pe=$(a);s=q(pe,"DIV",{class:!0});var we=$(s);o=q(we,"DIV",{class:!0});var Ge=$(o);p=Xe(Ge,u),Ge.forEach(z),C=Ne(we),b=q(we,"DIV",{class:!0});var me=$(b);k=q(me,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),me.forEach(z),we.forEach(z),B=Ne(pe),G=q(pe,"DIV",{class:!0});var at=$(G);D=q(at,"DIV",{class:!0});var Ue=$(D);V=Xe(Ue,Q),Ue.forEach(z),W=Ne(at),U=q(at,"DIV",{class:!0});var ot=$(U);H=q(ot,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),ot.forEach(z),at.forEach(z),J=Ne(pe),g=q(pe,"DIV",{class:!0});var pt=$(g);v=q(pt,"DIV",{class:!0});var ct=$(v);d=Xe(ct,e),ct.forEach(z),_=Ne(pt),re=q(pt,"DIV",{class:!0});var je=$(re);S=q(je,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),je.forEach(z),pt.forEach(z),pe.forEach(z),Ie=Ne(de),he=q(de,"DIV",{class:!0});var At=$(he);ce=q(At,"BUTTON",{class:!0});
13var It=$(ce);Ce=Xe(It,ge),It.forEach(z),At.forEach(z),this.h()},h(){O(o,"class","mb-1 text-xs text-gray-500"),O(k,"class","w-full bg-transparent dark:text-gray-300 outline-hidden placeholder:opacity-30"),O(k,"type","password"),O(k,"placeholder",E=c[4].t("Enter your current password")),O(k,"autocomplete","current-password"),k.required=!0,O(b,"class","flex-1"),O(s,"class","flex flex-col w-full"),O(D,"class","mb-1 text-xs text-gray-500"),O(H,"class","w-full bg-transparent text-sm dark:text-gray-300 outline-hidden placeholder:opacity-30"),O(H,"type","password"),O(H,"placeholder",K=c[4].t("Enter your new password")),O(H,"autocomplete","new-password"),H.required=!0,O(U,"class","flex-1"),O(G,"class","flex flex-col w-full"),O(v,"class","mb-1 text-xs text-gray-500"),O(S,"class","w-full bg-transparent text-sm dark:text-gray-300 outline-hidden placeholder:opacity-30"),O(S,"type","password"),O(S,"placeholder",F=c[4].t("Confirm your new password")),O(S,"autocomplete","off"),S.required=!0,O(re,"class","flex-1"),O(g,"class","flex flex-col w-full"),O(a,"class","py-2.5 space-y-1.5"),O(ce,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(he,"class","mt-3 flex justify-end")},m(de,pe){Le(de,a,pe),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(b,k),ar(k,c[1]),T(a,B),T(a,G),T(G,D),T(D,V),T(G,W),T(G,U),T(U,H),ar(H,c[2]),T(a,J),T(a,g),T(g,v),T(v,d),T(g,_),T(g,re),T(re,S),ar(S,c[3]),Le(de,Ie,pe),Le(de,he,pe),T(he,ce),T(ce,Ce),Fe||(Pe=[Qt(k,"input",c[8]),Qt(H,"input",c[9]),Qt(S,"input",c[10])],Fe=!0)},p(de,pe){pe&16&&u!==(u=de[4].t("Current Password")+"")&&tt(p,u),pe&16&&E!==(E=de[4].t("Enter your current password"))&&O(k,"placeholder",E),pe&2&&k.value!==de[1]&&ar(k,de[1]),pe&16&&Q!==(Q=de[4].t("New Password")+"")&&tt(V,Q),pe&16&&K!==(K=de[4].t("Enter your new password"))&&O(H,"placeholder",K),pe&4&&H.value!==de[2]&&ar(H,de[2]),pe&16&&e!==(e=de[4].t("Confirm Password")+"")&&tt(d,e),pe&16&&F!==(F=de[4].t("Confirm your new password"))&&O(S,"placeholder",F),pe&8&&S.value!==de[3]&&ar(S,de[3]),pe&16&&ge!==(ge=de[4].t("Update password")+"")&&tt(Ce,ge)},d(de){de&&(z(a),z(Ie),z(he)),Fe=!1,Es(Pe)}}}function aw(c){let a,s,o,u=c[4].t("Change Password")+"",p,C,b,k=(c[0]?c[4].t("Hide"):c[4].t("Show"))+"",E,B,G,D,Q=c[0]&&Vh(c);return{c(){a=X("form"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),E=Ze(k),B=Se(),Q&&Q.c(),this.h()},l(V){a=q(V,"FORM",{class:!0});var W=$(a);s=q(W,"DIV",{class:!0});var U=$(s);o=q(U,"DIV",{class:!0});var H=$(o);p=Xe(H,u),H.forEach(z),C=Ne(U),b=q(U,"BUTTON",{class:!0,type:!0});var K=$(b);E=Xe(K,k),K.forEach(z),U.forEach(z),B=Ne(W),Q&&Q.l(W),W.forEach(z),this.h()},h(){O(o,"class","font-medium"),O(b,"class","text-xs font-medium text-gray-500"),O(b,"type","button"),O(s,"class","flex justify-between items-center text-sm"),O(a,"class","flex flex-col text-sm")},m(V,W){Le(V,a,W),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(b,E),T(a,B),Q&&Q.m(a,null),G||(D=[Qt(b,"click",c[7]),Qt(a,"submit",ul(c[11]))],G=!0)},p(V,[W]){W&16&&u!==(u=V[4].t("Change Password")+"")&&tt(p,u),W&17&&k!==(k=(V[0]?V[4].t("Hide"):V[4].t("Show"))+"")&&tt(E,k),V[0]?Q?Q.p(V,W):(Q=Vh(V),Q.c(),Q.m(a,null)):Q&&(Q.d(1),Q=null)},i:WA,o:WA,d(V){V&&z(a),Q&&Q.d(),G=!1,Es(D)}}}function nw(c,a,s){let o;const u=Xs("i18n");YA(c,u,W=>s(4,o=W));let p=!1,C="",b="",k="";const E=async()=>{b===k?(await hC(localStorage.token,C,b).catch(U=>(cr.error(`${U}`),null))&&cr.success(o.t("Successfully updated.")),s(1,C=""),s(2,b=""),s(3,k="")):(cr.error("The passwords you entered don't quite match. Please double-check and try again."),s(2,b=""),s(3,k=""))},B=()=>{s(0,p=!p)};function G(){C=this.value,s(1,C)}function D(){b=this.value,s(2,b)}function Q(){k=this.value,s(3,k)}return[p,C,b,k,o,u,E,B,G,D,Q,()=>{E()}]}class iw extends bs{constructor(a){super(),Cs(this,a,nw,aw,ms,{})}}function Hh(c){let a,s,o,u=c[10].t("Notification Webhook")+"",p,C,b,k,E,B,G;return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("div"),k=X("input"),this.h()},l(D){a=q(D,"DIV",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0});var V=$(s);o=q(V,"DIV",{class:!0});var W=$(o);p=Xe(W,u),W.forEach(z),C=Ne(V),b=q(V,"DIV",{class:!0});var U=$(b);k=q(U,"INPUT",{class:!0,type:!0,placeholder:!0}
13),U.forEach(z),V.forEach(z),Q.forEach(z),this.h()},h(){O(o,"class","mb-1 text-xs font-medium"),O(k,"class","w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-hidden"),O(k,"type","url"),O(k,"placeholder",E=c[10].t("Enter your webhook URL")),k.required=!0,O(b,"class","flex-1"),O(s,"class","flex flex-col w-full"),O(a,"class","pt-2")},m(D,Q){Le(D,a,Q),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(b,k),ar(k,c[3]),B||(G=Qt(k,"input",c[23]),B=!0)},p(D,Q){Q[0]&1024&&u!==(u=D[10].t("Notification Webhook")+"")&&tt(p,u),Q[0]&1024&&E!==(E=D[10].t("Enter your webhook URL"))&&O(k,"placeholder",E),Q[0]&8&&k.value!==D[3]&&ar(k,D[3])},d(D){D&&z(a),B=!1,G()}}}function Yh(c){var g,v;let a,s,o,u,p=c[10].t("JWT Token")+"",C,b,k,E,B,G,D,Q,V,W;E=new Ad({props:{value:localStorage.token,readOnly:!0}});function U(e,d){return e[5]?lw:ow}let H=U(c),K=H(c),J=(((v=(g=c[11])==null?void 0:g.features)==null?void 0:v.enable_api_key)??!0)&&Rh(c);return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("div"),C=Ze(p),b=Se(),k=X("div"),Ut(E.$$.fragment),B=Se(),G=X("button"),K.c(),D=Se(),J&&J.c(),this.h()},l(e){a=q(e,"DIV",{class:!0});var d=$(a);s=q(d,"DIV",{class:!0});var _=$(s);o=q(_,"DIV",{class:!0});var re=$(o);u=q(re,"DIV",{class:!0});var S=$(u);C=Xe(S,p),S.forEach(z),re.forEach(z),b=Ne(_),k=q(_,"DIV",{class:!0});var F=$(k);Kt(E.$$.fragment,F),B=Ne(F),G=q(F,"BUTTON",{class:!0});var Ie=$(G);K.l(Ie),Ie.forEach(z),F.forEach(z),_.forEach(z),D=Ne(d),J&&J.l(d),d.forEach(z),this.h()},h(){O(u,"class","self-center text-xs font-medium"),O(o,"class","flex justify-between w-full"),O(G,"class","ml-1.5 px-1.5 py-1 dark:hover:bg-gray-850 transition rounded-lg"),O(k,"class","flex mt-2"),O(s,"class","justify-between w-full"),O(a,"class","flex flex-col gap-4")},m(e,d){Le(e,a,d),T(a,s),T(s,o),T(o,u),T(u,C),T(s,b),T(s,k),Zt(E,k,null),T(k,B),T(k,G),K.m(G,null),T(a,D),J&&J.m(a,null),Q=!0,V||(W=Qt(G,"click",c[25]),V=!0)},p(e,d){var _,re;(!Q||d[0]&1024)&&p!==(p=e[10].t("JWT Token")+"")&&tt(C,p),H!==(H=U(e))&&(K.d(1),K=H(e),K&&(K.c(),K.m(G,null))),((re=(_=e[11])==null?void 0:_.features)==null?void 0:re.enable_api_key)??!0?J?(J.p(e,d),d[0]&2048&&nt(J,1)):(J=Rh(e),J.c(),nt(J,1),J.m(a,null)):J&&(Nr(),dt(J,1,1,()=>{J=null}),zr())},i(e){Q||(nt(E.$$.fragment,e),nt(J),Q=!0)},o(e){dt(E.$$.fragment,e),dt(J),Q=!1},d(e){e&&z(a),Xt(E),K.d(),J&&J.d(),V=!1,W()}}}function ow(c){let a,s,o;return{c(){a=Ea("svg"),s=Ea("path"),o=Ea("path"),this.h()},l(u){a=Ba(u,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var p=$(a);s=Ba(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),o=Ba(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(o).forEach(z),p.forEach(z),this.h()},h(){O(s,"fill-rule","evenodd"),O(s,"d","M11.986 3H12a2 2 0 0 1 2 2v6a2 2 0 0 1-1.5 1.937V7A2.5 2.5 0 0 0 10 4.5H4.063A2 2 0 0 1 6 3h.014A2.25 2.25 0 0 1 8.25 1h1.5a2.25 2.25 0 0 1 2.236 2ZM10.5 4v-.75a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75V4h3Z"),O(s,"clip-rule","evenodd"),O(o,"fill-rule","evenodd"),O(o,"d","M3 6a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H3Zm1.75 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5ZM4 11.75a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z"),O(o,"clip-rule","evenodd"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"viewBox","0 0 16 16"),O(a,"fill","currentColor"),O(a,"class","w-4 h-4")},m(u,p){Le(u,a,p),T(a,s),T(a,o)},d(u){u&&z(a)}}}function lw(c){let a,s;return{c(){a=Ea("svg"),s=Ea("path"),this.h()},l(o){a=Ba(o,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var u=$(a);s=Ba(u,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),u.forEach(z),this.h()},h(){O(s,"fill-rule","evenodd"),O(s,"d","M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"),O(s,"clip-rule","evenodd"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"viewBox","0 0 20 20"),O(a,"fill","currentColor"),O(a,"class","w-4 h-4")},m(o,u){Le(o,a,u),T(a,s)},d(o){o&&z(a)}}}function Rh(c){let a,s,o,u=c[10].t("API Key")+"",p,C,b,k,E,B;const G=[uw,cw],D=[];function Q(V,W){return V[6]?0:1}return k=Q(c),E=D[k]=G[k](c),{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("div"),E.c(),this.h()},l(V){a=q(V,"DIV",{class:!0});var W=$(a);s=q(W,"DIV",{class:!0});var U=$(s);o=q(U,"DIV",{class:!0});var H=$(o);
13p=Xe(H,u),H.forEach(z),U.forEach(z),C=Ne(W),b=q(W,"DIV",{class:!0});var K=$(b);E.l(K),K.forEach(z),W.forEach(z),this.h()},h(){O(o,"class","self-center text-xs font-medium"),O(s,"class","flex justify-between w-full"),O(b,"class","flex mt-2"),O(a,"class","justify-between w-full")},m(V,W){Le(V,a,W),T(a,s),T(s,o),T(o,p),T(a,C),T(a,b),D[k].m(b,null),B=!0},p(V,W){(!B||W[0]&1024)&&u!==(u=V[10].t("API Key")+"")&&tt(p,u);let U=k;k=Q(V),k===U?D[k].p(V,W):(Nr(),dt(D[U],1,1,()=>{D[U]=null}),zr(),E=D[k],E?E.p(V,W):(E=D[k]=G[k](V),E.c()),nt(E,1),E.m(b,null))},i(V){B||(nt(E),B=!0)},o(V){dt(E),B=!1},d(V){V&&z(a),D[k].d()}}}function cw(c){let a,s,o,u=c[10].t("Create new secret key")+"",p,C,b,k;return s=new Af({props:{strokeWidth:"2",className:" size-3.5"}}),{c(){a=X("button"),Ut(s.$$.fragment),o=Se(),p=Ze(u),this.h()},l(E){a=q(E,"BUTTON",{class:!0});var B=$(a);Kt(s.$$.fragment,B),o=Ne(B),p=Xe(B,u),B.forEach(z),this.h()},h(){O(a,"class","flex gap-1.5 items-center font-medium px-3.5 py-1.5 rounded-lg bg-gray-100/70 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-850 transition")},m(E,B){Le(E,a,B),Zt(s,a,null),T(a,o),T(a,p),C=!0,b||(k=Qt(a,"click",c[28]),b=!0)},p(E,B){(!C||B[0]&1024)&&u!==(u=E[10].t("Create new secret key")+"")&&tt(p,u)},i(E){C||(nt(s.$$.fragment,E),C=!0)},o(E){dt(s.$$.fragment,E),C=!1},d(E){E&&z(a),Xt(s),b=!1,k()}}}function uw(c){let a,s,o,u,p,C,b,k;a=new Ad({props:{value:c[6],readOnly:!0}});function E(D,Q){return D[7]?dw:fw}let B=E(c),G=B(c);return p=new ni({props:{content:c[10].t("Create new key"),$$slots:{default:[gw]},$$scope:{ctx:c}}}),{c(){Ut(a.$$.fragment),s=Se(),o=X("button"),G.c(),u=Se(),Ut(p.$$.fragment),this.h()},l(D){Kt(a.$$.fragment,D),s=Ne(D),o=q(D,"BUTTON",{class:!0});var Q=$(o);G.l(Q),Q.forEach(z),u=Ne(D),Kt(p.$$.fragment,D),this.h()},h(){O(o,"class","ml-1.5 px-1.5 py-1 dark:hover:bg-gray-850 transition rounded-lg")},m(D,Q){Zt(a,D,Q),Le(D,s,Q),Le(D,o,Q),G.m(o,null),Le(D,u,Q),Zt(p,D,Q),C=!0,b||(k=Qt(o,"click",c[26]),b=!0)},p(D,Q){const V={};Q[0]&64&&(V.value=D[6]),a.$set(V),B!==(B=E(D))&&(G.d(1),G=B(D),G&&(G.c(),G.m(o,null)));const W={};Q[0]&1024&&(W.content=D[10].t("Create new key")),Q[1]&1&&(W.$$scope={dirty:Q,ctx:D}),p.$set(W)},i(D){C||(nt(a.$$.fragment,D),nt(p.$$.fragment,D),C=!0)},o(D){dt(a.$$.fragment,D),dt(p.$$.fragment,D),C=!1},d(D){D&&(z(s),z(o),z(u)),Xt(a,D),G.d(),Xt(p,D),b=!1,k()}}}function fw(c){let a,s,o;return{c(){a=Ea("svg"),s=Ea("path"),o=Ea("path"),this.h()},l(u){a=Ba(u,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var p=$(a);s=Ba(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),o=Ba(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(o).forEach(z),p.forEach(z),this.h()},h(){O(s,"fill-rule","evenodd"),O(s,"d","M11.986 3H12a2 2 0 0 1 2 2v6a2 2 0 0 1-1.5 1.937V7A2.5 2.5 0 0 0 10 4.5H4.063A2 2 0 0 1 6 3h.014A2.25 2.25 0 0 1 8.25 1h1.5a2.25 2.25 0 0 1 2.236 2ZM10.5 4v-.75a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75V4h3Z"),O(s,"clip-rule","evenodd"),O(o,"fill-rule","evenodd"),O(o,"d","M3 6a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H3Zm1.75 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5ZM4 11.75a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z"),O(o,"clip-rule","evenodd"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"viewBox","0 0 16 16"),O(a,"fill","currentColor"),O(a,"class","w-4 h-4")},m(u,p){Le(u,a,p),T(a,s),T(a,o)},d(u){u&&z(a)}}}function dw(c){let a,s;return{c(){a=Ea("svg"),s=Ea("path"),this.h()},l(o){a=Ba(o,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var u=$(a);s=Ba(u,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),u.forEach(z),this.h()},h(){O(s,"fill-rule","evenodd"),O(s,"d","M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"),O(s,"clip-rule","evenodd"),O(a,"xmlns","http://www.w3.org/2000/svg"),O(a,"viewBox","0 0 20 20"),O(a,"fill","currentColor"),O(a,"class","w-4 h-4")},m(o,u){Le(o,a,u),T(a,s)},d(o){o&&z(a)}}}function gw(c){let a,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="size-4"><path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"></path></svg>',o,u;return{c(){a=X("button"),a.innerHTML=s,this.h()},l(p){a=q(p,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-nx3com"&&(a.innerHTML=s),this.h()},h(){O(a,"class","px-1.5 py-1 dark:hover:bg-gray-850transition rounded-lg")},m(p,C){Le(p,a,C),o||(u=Qt(a,"click",c[27]),o=!0)},p:WA,d(p){p&&z(a),o=!1,u()}}}function hw(c){var aA,bA;let a,s,o,u,p,C,b,k,E,B,G,D,Q,V='<div class="my-auto text-gray-100"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="m2.695 14.762-1.262 3.155a.5.5 0 0 0 .65.65l3.155-1.262a4 4 0 0 0 1.343-.886L17.5 5.501a2.121 2.121 0 0 0-3-3L3.58 13.419a4 4 0 0 0-.885 1.343Z"></path></svg></div>',W,U,H,K=c[10].t("Profile Image")+"",J,g,v,e,d=c[10].t("Use Initials")+"",_,re,S,F=c[10].t("Use Gravatar")+"",Ie,he,ce,ge=c[10].t("Remove")+"",Ce,Fe,Pe,de,pe,we=c[10].t("Name")+"",Ge,me,at,Ue,ot,pt,ct,je,At,It,wt,ze,rt,Bt,Ot=c[10].t("API keys")+"",St,oe,zt,ke=(c[4]?c[10].t("Hide"):c[10].t("Show"))+"",fe,Qe,Je,st,lt,xt=c[10].t("Save")+"",jt,$t,Ft,dA,eA=((bA=(aA=c[11])==null?void 0:aA.features)==null?void 0:bA.enable_user_webhooks)&&Hh(c);At=new iw({});let nA=c[4]&&Yh(c);return{c(){a=X("div"),s=X("div"),o=X("input"),u=Se(),p=X("div"),C=X("div"),b=X("div"),k=X("div"),E=X("button"),B=X("img"),D=Se(),Q=X("div"),Q.innerHTML=V,W=Se(),U=X("div"),H=X("div"),J=Ze(K),g=Se(),v=X("div"),e=X("button"),_=Ze(d),re=Se(),S=X("button"),Ie=Ze(F),he=Se(),ce=X("button"),Ce=Ze(ge),Fe=Se(),Pe=X("div"),de=X("div"),pe=X("div"),Ge=Ze(we),me=Se(),at=X("div"),Ue=X("input"),pt=Se(),eA&&eA.c(),ct=Se(),je=X("div"),Ut(At.$$.fragment),It=Se(),wt=X("hr"),ze=Se(),rt=X("div"),Bt=X("div"),St=Ze(Ot),oe=Se(),zt=X("button"),fe=Ze(ke),Qe=Se(),nA&&nA.c(),Je=Se(),st=X("div"),lt=X("button"),jt=Ze(xt),this.h()},l(vA){a=q(vA,"DIV",{class:!0});var Gt=$(a);s=q(Gt,"DIV",{class:!0});var mA=$(s);o=q(mA,"INPUT",{id:!0,type:!0,accept:!0}),u=Ne(mA),p=q(mA,"DIV",{class:!0});var AA=$(p);C=q(AA,"DIV",{class:!0});var gr=$(C);b=q(gr,"DIV",{class:!0});var CA=$(b);k=q(CA,"DIV",{class:!0});var NA=$(k);E=q(NA,"BUTTON",{class:!0,type:!0});var tA=$(E);B=q(tA,"IMG",{src:!0,alt:!0,class:!0}),D=Ne(tA),Q=q(tA,"DIV",{class:!0,"data-svelte-h":!0}),ur(Q)!=="svelte-11ivb2j"&&(Q.innerHTML=V),tA.forEach(z),NA.forEach(z),CA.forEach(z),W=Ne(gr),U=q(gr,"DIV",{class:!0});var iA=$(U);H=q(iA,"DIV",{class:!0});var qt=$(H);J=Xe(qt,K),qt.forEach(z),g=Ne(iA),v=q(iA,"DIV",{});var zA=$(v);e=q(zA,"BUTTON",{class:!0});var Fr=$(e);_=Xe(Fr,d),Fr.forEach(z),re=Ne(zA),S=q(zA,"BUTTON",{class:!0});var Vr=$(S);
13Ie=Xe(Vr,F),Vr.forEach(z),he=Ne(zA),ce=q(zA,"BUTTON",{class:!0});var Tt=$(ce);Ce=Xe(Tt,ge),Tt.forEach(z),zA.forEach(z),iA.forEach(z),gr.forEach(z),Fe=Ne(AA),Pe=q(AA,"DIV",{class:!0});var MA=$(Pe);de=q(MA,"DIV",{class:!0});var QA=$(de);pe=q(QA,"DIV",{class:!0});var ZA=$(pe);Ge=Xe(ZA,we),ZA.forEach(z),me=Ne(QA),at=q(QA,"DIV",{class:!0});var FA=$(at);Ue=q(FA,"INPUT",{class:!0,type:!0,placeholder:!0}),FA.forEach(z),QA.forEach(z),MA.forEach(z),pt=Ne(AA),eA&&eA.l(AA),AA.forEach(z),ct=Ne(mA),je=q(mA,"DIV",{class:!0});var EA=$(je);Kt(At.$$.fragment,EA),EA.forEach(z),It=Ne(mA),wt=q(mA,"HR",{class:!0}),ze=Ne(mA),rt=q(mA,"DIV",{class:!0});var Rr=$(rt);Bt=q(Rr,"DIV",{class:!0});var Er=$(Bt);St=Xe(Er,Ot),Er.forEach(z),oe=Ne(Rr),zt=q(Rr,"BUTTON",{class:!0,type:!0});var Dr=$(zt);fe=Xe(Dr,ke),Dr.forEach(z),Rr.forEach(z),Qe=Ne(mA),nA&&nA.l(mA),mA.forEach(z),Je=Ne(Gt),st=q(Gt,"DIV",{class:!0});var Vs=$(st);lt=q(Vs,"BUTTON",{class:!0});var nr=$(lt);jt=Xe(nr,xt),nr.forEach(z),Vs.forEach(z),Gt.forEach(z),this.h()},h(){O(o,"id","profile-image-input"),O(o,"type","file"),o.hidden=!0,O(o,"accept","image/*"),j1(B.src,G=c[1]!==""?c[1]:Zu(c[2]))||O(B,"src",G),O(B,"alt","profile"),O(B,"class","rounded-full size-16 object-cover"),O(Q,"class","absolute flex justify-center rounded-full bottom-0 left-0 right-0 top-0 h-full w-full overflow-hidden bg-gray-700 bg-fixed opacity-0 transition duration-300 ease-in-out hover:opacity-50"),O(E,"class","relative rounded-full dark:bg-gray-700"),O(E,"type","button"),O(k,"class","self-center mt-2"),O(b,"class","flex flex-col"),O(H,"class","mb-0.5 text-sm font-medium"),O(e,"class","text-xs text-center text-gray-800 dark:text-gray-400 rounded-full px-4 py-0.5 bg-gray-100 dark:bg-gray-850"),O(S,"class","text-xs text-center text-gray-800 dark:text-gray-400 rounded-full px-4 py-0.5 bg-gray-100 dark:bg-gray-850"),O(ce,"class","text-xs text-center text-gray-800 dark:text-gray-400 rounded-lg px-2 py-1"),O(U,"class","flex-1 flex flex-col self-center gap-0.5"),O(C,"class","flex space-x-5"),O(pe,"class","mb-1 text-xs font-medium"),O(Ue,"class","w-full text-sm dark:text-gray-300 dark:bg-gray-850 outline-hidden"),O(Ue,"type","text"),Ue.required=!0,O(Ue,"placeholder",ot=c[10].t("Enter your name")),O(at,"class","flex-1"),O(de,"class","flex flex-col w-full"),O(Pe,"class","pt-0.5"),O(p,"class","space-y-1"),O(je,"class","py-0.5"),O(wt,"class","border-gray-50 dark:border-gray-850 my-2"),O(Bt,"class","font-medium"),O(zt,"class","text-xs font-medium text-gray-500"),O(zt,"type","button"),O(rt,"class","flex justify-between items-center text-sm"),O(s,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),O(lt,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(st,"class","flex justify-end pt-3 text-sm font-medium"),O(a,"class","flex flex-col h-full justify-between text-sm")},m(vA,Gt){Le(vA,a,Gt),T(a,s),T(s,o),c[16](o),T(s,u),T(s,p),T(p,C),T(C,b),T(b,k),T(k,E),T(E,B),T(E,D),T(E,Q),T(C,W),T(C,U),T(U,H),T(H,J),T(U,g),T(U,v),T(v,e),T(e,_),T(v,re),T(v,S),T(S,Ie),T(v,he),T(v,ce),T(ce,Ce),T(p,Fe),T(p,Pe),T(Pe,de),T(de,pe),T(pe,Ge),T(de,me),T(de,at),T(at,Ue),ar(Ue,c[2]),T(p,pt),eA&&eA.m(p,null),T(s,ct),T(s,je),Zt(At,je,null),T(s,It),T(s,wt),T(s,ze),T(s,rt),T(rt,Bt),T(Bt,St),T(rt,oe),T(rt,zt),T(zt,fe),T(s,Qe),nA&&nA.m(s,null),T(a,Je),T(a,st),T(st,lt),T(lt,jt),$t=!0,Ft||(dA=[Qt(o,"change",c[17]),Qt(E,"click",c[18]),Qt(e,"click",c[19]),Qt(S,"click",c[20]),Qt(ce,"click",c[21]),Qt(Ue,"input",c[22]),Qt(zt,"click",c[24]),Qt(lt,"click",c[29])],Ft=!0)},p(vA,Gt){var mA,AA;(!$t||Gt[0]&6&&!j1(B.src,G=vA[1]!==""?vA[1]:Zu(vA[2])))&&O(B,"src",G),(!$t||Gt[0]&1024)&&K!==(K=vA[10].t("Profile Image")+"")&&tt(J,K),(!$t||Gt[0]&1024)&&d!==(d=vA[10].t("Use Initials")+"")&&tt(_,d),(!$t||Gt[0]&1024)&&F!==(F=vA[10].t("Use Gravatar")+"")&&tt(Ie,F),(!$t||Gt[0]&1024)&&ge!==(ge=vA[10].t("Remove")+"")&&tt(Ce,ge),(!$t||Gt[0]&1024)&&we!==(we=vA[10].t("Name")+"")&&tt(Ge,we),(!$t||Gt[0]&1024&&ot!==(ot=vA[10].t("Enter your name")))&&O(Ue,"placeholder",ot),Gt[0]&4&&Ue.value!==vA[2]&&ar(Ue,vA[2]),(AA=(mA=vA[11
13])==null?void 0:mA.features)!=null&&AA.enable_user_webhooks?eA?eA.p(vA,Gt):(eA=Hh(vA),eA.c(),eA.m(p,null)):eA&&(eA.d(1),eA=null),(!$t||Gt[0]&1024)&&Ot!==(Ot=vA[10].t("API keys")+"")&&tt(St,Ot),(!$t||Gt[0]&1040)&&ke!==(ke=(vA[4]?vA[10].t("Hide"):vA[10].t("Show"))+"")&&tt(fe,ke),vA[4]?nA?(nA.p(vA,Gt),Gt[0]&16&&nt(nA,1)):(nA=Yh(vA),nA.c(),nt(nA,1),nA.m(s,null)):nA&&(Nr(),dt(nA,1,1,()=>{nA=null}),zr()),(!$t||Gt[0]&1024)&&xt!==(xt=vA[10].t("Save")+"")&&tt(jt,xt)},i(vA){$t||(nt(At.$$.fragment,vA),nt(nA),$t=!0)},o(vA){dt(At.$$.fragment,vA),dt(nA),$t=!1},d(vA){vA&&z(a),c[16](null),eA&&eA.d(),Xt(At),nA&&nA.d(),Ft=!1,Es(dA)}}}function pw(c,a,s){let o,u,p,C;YA(c,Do,Pe=>s(30,o=Pe)),YA(c,Ac,Pe=>s(9,u=Pe)),YA(c,rc,Pe=>s(11,C=Pe));const b=Xs("i18n");YA(c,b,Pe=>s(10,p=Pe));let{saveHandler:k}=a,{saveSettings:E}=a,B="",G="",D="",Q=!1,V=!1,W="",U=!1,H;const K=async()=>{var de;if(G!==(u==null?void 0:u.name)&&(B===Zu(u==null?void 0:u.name)||B==="")&&s(1,B=Zu(G)),D!==((de=o==null?void 0:o.notifications)==null?void 0:de.webhook_url)&&E({notifications:{...o.notifications,webhook_url:D}}),await mC(localStorage.token,G,B).catch(pe=>{cr.error(`${pe}`)})){const pe=await bC(localStorage.token).catch(we=>(cr.error(`${we}`),null));return await Ac.set(pe),!0}return!1},J=async()=>{s(6,W=await CC(localStorage.token)),W?cr.success(p.t("API Key created.")):cr.error(p.t("Failed to create API Key."))};li(async()=>{var Pe;s(2,G=u==null?void 0:u.name),s(1,B=u==null?void 0:u.profile_image_url),s(3,D=((Pe=o==null?void 0:o.notifications)==null?void 0:Pe.webhook_url)??""),s(6,W=await pC(localStorage.token).catch(de=>(console.log(de),"")))});function g(Pe){kr[Pe?"unshift":"push"](()=>{H=Pe,s(8,H)})}const v=Pe=>{const de=H.files??[];let pe=new FileReader;pe.onload=we=>{let Ge=`${we.target.result}`;const me=new Image;me.src=Ge,me.onload=function(){const at=document.createElement("canvas"),Ue=at.getContext("2d"),ot=me.width/me.height;let pt,ct;ot>1?(pt=250*ot,ct=250):(pt=250,ct=250/ot),at.width=250,at.height=250;const je=(250-pt)/2,At=(250-ct)/2;Ue.drawImage(me,je,At,pt,ct);const It=at.toDataURL("image/jpeg");s(1,B=It),s(8,H.files=null,H)}},de.length>0&&["image/gif","image/webp","image/jpeg","image/png"].includes(de[0].type)&&pe.readAsDataURL(de[0])},e=()=>{H.click()},d=async()=>{x8()?s(1,B=Zu(G)):cr.info(p.t("Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image."),{duration:1e3*10})},_=async()=>{const Pe=await wC(localStorage.token,u==null?void 0:u.email);s(1,B=Pe)},re=async()=>{s(1,B="/user.png")};function S(){G=this.value,s(2,G)}function F(){D=this.value,s(3,D)}const Ie=()=>{s(4,Q=!Q)},he=()=>{Wg(localStorage.token),s(5,V=!0),setTimeout(()=>{s(5,V=!1)},2e3)},ce=()=>{Wg(W),s(7,U=!0),setTimeout(()=>{s(7,U=!1)},2e3)},ge=()=>{J()},Ce=()=>{J()},Fe=async()=>{await K()&&k()};return c.$$set=Pe=>{"saveHandler"in Pe&&s(0,k=Pe.saveHandler),"saveSettings"in Pe&&s(15,E=Pe.saveSettings)},[k,B,G,D,Q,V,W,U,H,u,p,C,b,K,J,E,g,v,e,d,_,re,S,F,Ie,he,ce,ge,Ce,Fe]}class mw extends bs{constructor(a){super(),Cs(this,a,pw,hw,ms,{saveHandler:0,saveSettings:15},null,[-1,-1])}}function bw(c){let a,s;return{c(){a=Ze("v"),s=Ze(Y0)},l(o){a=Xe(o,"v"),s=Xe(o,Y0)},m(o,u){Le(o,a,u),Le(o,s,u)},p:WA,d(o){o&&(z(a),z(s))}}}function jh(c){let a,s,o,u,p=c[4].t("Ollama Version")+"",C,b,k,E,B=(c[0]??"N/A")+"",G;return{c(){a=X("hr"),s=Se(),o=X("div"),u=X("div"),C=Ze(p),b=Se(),k=X("div"),E=X("div"),G=Ze(B),this.h()},l(D){a=q(D,"HR",{class:!0}),s=Ne(D),o=q(D,"DIV",{});var Q=$(o);u=q(Q,"DIV",{class:!0});var V=$(u);C=Xe(V,p),V.forEach(z),b=Ne(Q),k=q(Q,"DIV",{class:!0});var W=$(k);E=q(W,"DIV",{class:!0});var U=$(E);G=Xe(U,B),U.forEach(z),W.forEach(z),Q.forEach(z),this.h()},h(){O(a,"class","border-gray-100 dark:border-gray-850"),O(u,"class","mb-2.5 text-sm font-medium"),O(E,"class","flex-1 text-xs text-gray-700 dark:text-gray-200"),O(k,"class","flex w-full")},m(D,Q){Le(D,a,Q),Le(D,s,Q),Le(D,o,Q),T(o,u),T(u,C),T(o,b),T(o,k),T(k,E),T(E,G)},p(D,Q){Q&16&&p!==(p=D[4].t("Ollama Version")+"")&&tt(C,p),Q&1&&B!==(B=(D[0]??"N/A")+"")&&tt(G,B)},d(D){D&&(z(a),z(s),z(o))}}}function Cw(c){let a,s='<a href="https://discord.gg/5rJgQTnV4s" target="_blank"><img alt="Discord" src="https://img.shields.io/badge/Discord-Open_WebUI-blue?logo=discord&amp;logoColor=white"/></a> <a href="https://twitter.com/OpenWebUI" target="_blank"><img alt="X (formerly Twitter) Follow" src="https://img.shields.io/twitter/follow/OpenWebUI"/></a> <a href="https://github.com/open-webui/open-webui" target="_blank"><img alt="Github Repo" src="https://img.shields.io/github/stars/open-webui/open-webui?style=social&amp;label=Star us on Github"/></a>';return{c(){a=X("div"),a.innerHTML=s,this.h()},l(o){a=q(o,"DIV",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1ythp9v"&&(a.innerHTML=s),this.h()},h(){O(a,"class","flex space-x-1")},m(o,u){Le(o,a,u)},p:WA,d(o){o&&z(a)}}}function Iw(c){var D,Q,V,W;let a,s=!c[3].includes("Open WebUI"),o,u,p=((Q=(D=c[5])==null?void 0:D.license_metadata)==null?void 0:Q.type)+"",C,b,k,E=((W=(V=c[5])==null?void 0:V.license_metadata)==null?void 0:W.organization_name)+"",B,G=s&&Wh(c);return{c(){a=X("div"),G&&G.c(),o=Se(),u=X("span"),C=Ze(p),b=Ze(` license purchased by
14				`),k=X("span"),B=Ze(E),this.h()},l(U){a=q(U,"DIV",{class:!0});var H=$(a);G&&G.l(H),o=Ne(H),u=q(H,"SPAN",{class:!0});var K=$(u);
14C=Xe(K,p),K.forEach(z),b=Xe(H,` license purchased by
15				`),k=q(H,"SPAN",{class:!0});var J=$(k);B=Xe(J,E),J.forEach(z),H.forEach(z),this.h()},h(){O(u,"class","capitalize"),O(k,"class","capitalize"),O(a,"class","mb-2 text-xs")},m(U,H){Le(U,a,H),G&&G.m(a,null),T(a,o),T(a,u),T(u,C),T(a,b),T(a,k),T(k,B)},p(U,H){var K,J,g,v;H&8&&(s=!U[3].includes("Open WebUI")),s?G?G.p(U,H):(G=Wh(U),G.c(),G.m(a,o)):G&&(G.d(1),G=null),H&32&&p!==(p=((J=(K=U[5])==null?void 0:K.license_metadata)==null?void 0:J.type)+"")&&tt(C,p),H&32&&E!==(E=((v=(g=U[5])==null?void 0:g.license_metadata)==null?void 0:v.organization_name)+"")&&tt(B,E)},d(U){U&&z(a),G&&G.d()}}}function Wh(c){let a,s,o;return{c(){a=X("span"),s=Ze(c[3]),o=Ze(" -"),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);s=Xe(p,c[3]),p.forEach(z),o=Xe(u," -"),this.h()},h(){O(a,"class","text-gray-500 dark:text-gray-300 font-medium")},m(u,p){Le(u,a,p),T(a,s),Le(u,o,p)},p(u,p){p&8&&tt(s,u[3])},d(u){u&&(z(a),z(o))}}}function ww(c){let a,s,o,u,p,C,b,k=c[4].t("Version")+"",E,B,G,D,Q,V,W,U,H=(c[1]===null?c[4].t("Checking for updates..."):c[1]?`(v${c[2].latest} ${c[4].t("available!")})`:c[4].t("(latest)"))+"",K,J,g,v,e,d=c[4].t("See what's new")+"",_,re,S,F=c[4].t("Check for updates")+"",Ie,he,ce,ge,Ce,Fe,Pe,de=`Emoji graphics provided by
16			<a href="https://github.com/jdecked/twemoji" target="_blank">Twemoji</a>, licensed under
17			<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">CC-BY 4.0</a>.`,pe,we,Ge,me,at=new Date().getFullYear()+"",Ue,ot,pt,ct="Open WebUI (Timothy Jaeryang Baek)",je,At,It,wt=c[4].t("Created by")+"",ze,rt,Bt,Ot="Timothy J. Baek",St,oe,zt;V=new ni({props:{content:w8,$$slots:{default:[bw]},$$scope:{ctx:c}}});let ke=c[0]&&jh(c);function fe(st,lt){var xt;return(xt=st[5])!=null&&xt.license_metadata?Iw:Cw}let Qe=fe(c),Je=Qe(c);return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("div"),p=X("div"),C=Ze(c[3]),b=Se(),E=Ze(k),B=Se(),G=X("div"),D=X("div"),Q=X("div"),Ut(V.$$.fragment),W=Se(),U=X("a"),K=Ze(H),g=Se(),v=X("button"),e=X("div"),_=Ze(d),re=Se(),S=X("button"),Ie=Ze(F),he=Se(),ke&&ke.c(),ce=Se(),ge=X("hr"),Ce=Se(),Je.c(),Fe=Se(),Pe=X("div"),Pe.innerHTML=de,pe=Se(),we=X("div"),Ge=X("pre"),me=Ze("Copyright (c) "),Ue=Ze(at),ot=Ze(" "),pt=X("a"),pt.textContent=ct,je=Ze(`
18All rights reserved.
19
20Redistribution and use in source and binary forms, with or without
21modification, are permitted provided that the following conditions are met:
22
231. Redistributions of source code must retain the above copyright notice, this
24   list of conditions and the following disclaimer.
25
262. Redistributions in binary form must reproduce the above copyright notice,
27   this list of conditions and the following disclaimer in the documentation
28   and/or other materials provided with the distribution.
29
303. Neither the name of the copyright holder nor the names of its
31   contributors may be used to endorse or promote products derived from
32   this software without specific prior written permission.
33
34THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
35AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
37DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
38FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
39DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
40SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
41CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
42OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
43OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44`),At=Se(),It=X("div"),ze=Ze(wt),rt=Se(),Bt=X("a"),Bt.textContent=Ot,this.h()},l(st){a=q(st,"DIV",{class:!0});var lt=$(a);s=q(lt,"DIV",{class:!0});var xt=$(s);o=q(xt,"DIV",{});var jt=$(o);u=q(jt,"DIV",{class:!0});var $t=$(u);p=q($t,"DIV",{});var Ft=$(p);C=Xe(Ft,c[3]),b=Ne(Ft),E=Xe(Ft,k),Ft.forEach(z),$t.forEach(z),B=Ne(jt),G=q(jt,"DIV",{class:!0});var dA=$(G);D=q(dA,"DIV",{class:!0});var eA=$(D);Q=q(eA,"DIV",{class:!0});var nA=$(Q);Kt(V.$$.fragment,nA),W=Ne(nA),U=q(nA,"A",{href:!0,target:!0});var aA=$(U);K=Xe(aA,H),aA.forEach(z),nA.forEach(z),g=Ne(eA),v=q(eA,"BUTTON",{class:!0});var bA=$(v);e=q(bA,"DIV",{});var vA=$(e);_=Xe(vA,d),vA.forEach(z),bA.forEach(z),eA.forEach(z),re=Ne(dA),S=q(dA,"BUTTON",{class:!0});var Gt=$(S);
44Ie=Xe(Gt,F),Gt.forEach(z),dA.forEach(z),jt.forEach(z),he=Ne(xt),ke&&ke.l(xt),ce=Ne(xt),ge=q(xt,"HR",{class:!0}),Ce=Ne(xt),Je.l(xt),Fe=Ne(xt),Pe=q(xt,"DIV",{class:!0,"data-svelte-h":!0}),ur(Pe)!=="svelte-1w5x546"&&(Pe.innerHTML=de),pe=Ne(xt),we=q(xt,"DIV",{});var mA=$(we);Ge=q(mA,"PRE",{class:!0});var AA=$(Ge);me=Xe(AA,"Copyright (c) "),Ue=Xe(AA,at),ot=Xe(AA," "),pt=q(AA,"A",{href:!0,target:!0,class:!0,"data-svelte-h":!0}),ur(pt)!=="svelte-dl88be"&&(pt.textContent=ct),je=Xe(AA,`
45All rights reserved.
46
47Redistribution and use in source and binary forms, with or without
48modification, are permitted provided that the following conditions are met:
49
501. Redistributions of source code must retain the above copyright notice, this
51   list of conditions and the following disclaimer.
52
532. Redistributions in binary form must reproduce the above copyright notice,
54   this list of conditions and the following disclaimer in the documentation
55   and/or other materials provided with the distribution.
56
573. Neither the name of the copyright holder nor the names of its
58   contributors may be used to endorse or promote products derived from
59   this software without specific prior written permission.
60
61THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
62AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
63IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
64DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
65FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
66DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
67SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
68CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
69OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
70OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
71`),AA.forEach(z),mA.forEach(z),At=Ne(xt),It=q(xt,"DIV",{class:!0});var gr=$(It);ze=Xe(gr,wt),rt=Ne(gr),Bt=q(gr,"A",{class:!0,href:!0,target:!0,"data-svelte-h":!0}),ur(Bt)!=="svelte-1tvrifl"&&(Bt.textContent=Ot),gr.forEach(z),xt.forEach(z),lt.forEach(z),this.h()},h(){O(u,"class","mb-2.5 text-sm font-medium flex space-x-2 items-center"),O(U,"href",J="https://github.com/open-webui/open-webui/releases/tag/v"+c[2].latest),O(U,"target","_blank"),O(Q,"class","flex gap-1"),O(v,"class","underline flex items-center space-x-1 text-xs text-gray-500 dark:text-gray-500"),O(D,"class","flex flex-col text-xs text-gray-700 dark:text-gray-200"),O(S,"class","text-xs px-3 py-1.5 bg-gray-100 hover:bg-gray-200 dark:bg-gray-850 dark:hover:bg-gray-800 transition rounded-lg font-medium"),O(G,"class","flex w-full justify-between items-center"),O(ge,"class","border-gray-100 dark:border-gray-850"),O(Pe,"class","mt-2 text-xs text-gray-400 dark:text-gray-500"),O(pt,"href","https://openwebui.com"),O(pt,"target","_blank"),O(pt,"class","underline"),O(Ge,"class","text-xs text-gray-400 dark:text-gray-500"),O(Bt,"class","text-gray-500 dark:text-gray-300 font-medium"),O(Bt,"href","https://github.com/tjbck"),O(Bt,"target","_blank"),O(It,"class","mt-2 text-xs text-gray-400 dark:text-gray-500"),O(s,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),O(a,"class","flex flex-col h-full justify-between space-y-3 text-sm mb-6")},m(st,lt){Le(st,a,lt),T(a,s),T(s,o),T(o,u),T(u,p),T(p,C),T(p,b),T(p,E),T(o,B),T(o,G),T(G,D),T(D,Q),Zt(V,Q,null),T(Q,W),T(Q,U),T(U,K),T(D,g),T(D,v),T(v,e),T(e,_),T(G,re),T(G,S),T(S,Ie),T(s,he),ke&&ke.m(s,null),T(s,ce),T(s,ge),T(s,Ce),Je.m(s,null),T(s,Fe),T(s,Pe),T(s,pe),T(s,we),T(we,Ge),T(Ge,me),T(Ge,Ue),T(Ge,ot),T(Ge,pt),T(Ge,je),T(s,At),T(s,It),T(It,ze),T(It,rt),T(It,Bt),St=!0,oe||(zt=[Qt(v,"click",c[8]),Qt(S,"click",c[9])],oe=!0)},p(st,[lt]){(!St||lt&8)&&tt(C,st[3]),(!St||lt&16)&&k!==(k=st[4].t("Version")+"")&&tt(E,k);const xt={};lt&1024&&(xt.$$scope={dirty:lt,ctx:st}),V.$set(xt),(!St||lt&22)&&H!==(H=(st[1]===null?st[4].t("Checking for updates..."):st[1]?`(v${st[2].latest} ${st[4].t("available!")})`:st[4].t("(latest)"))+"")&&tt(K,H),(!St||lt&4&&J!==(J="https://github.com/open-webui/open-webui/releases/tag/v"+st[2].latest))&&O(U,"href",J),(!St||lt&16)&&d!==(d=st[4].t("See what's new")+"")&&tt(_,d),(!St||lt&16)&&F!==(F=st[4].t("Check for updates")+"")&&tt(Ie,F),st[0]?ke?ke.p(st,lt):(ke=jh(st),ke.c(),ke.m(s,ce)):ke&&(ke.d(1),ke=null),Qe===(Qe=fe(st))&&Je?Je.p(st,lt):(Je.d(1),Je=Qe(st),Je&&(Je.c(),Je.m(s,Fe))),(!St||lt&16)&&wt!==(wt=st[4].t("Created by")+"")&&tt(ze,wt)},i(st){St||(nt(V.$$.fragment,st),St=!0)},o(st){dt(V.$$.fragment,st),St=!1},d(st){st&&z(a),Xt(V),ke&&ke.d(),Je.d(),oe=!1,Es(zt)}}}function kw(c,a,s){let o,u,p;YA(c,tm,Q=>s(3,o=Q)),YA(c,rc,Q=>s(5,p=Q));const C=Xs("i18n");YA(c,C,Q=>s(4,u=Q));let b="",k=null,E={current:"",latest:""};const B=async()=>{s(1,k=null),s(2,E=await sm(localStorage.token).catch(Q=>({current:Y0,latest:Y0}))),console.log(E),s(1,k=Uf(E.latest,E.current)),console.log(k)};return li(async()=>{s(0,b=await kC(localStorage.token).catch(Q=>"")),B()}),[b,k,E,o,u,p,C,B,()=>{H1.set(!0)},()=>{B()}]}
71class vw extends bs{constructor(a){super(),Cs(this,a,kw,ww,ms,{})}}function Uh(c,a,s){const o=c.slice();return o[36]=a[s],o}function Kh(c){let a,s=c[36].title+"",o,u;return{c(){a=X("option"),o=Ze(s),this.h()},l(p){a=q(p,"OPTION",{});var C=$(a);o=Xe(C,s),C.forEach(z),this.h()},h(){a.__value=u=c[36].code,ar(a,a.__value)},m(p,C){Le(p,a,C),T(a,o)},p(p,C){C[0]&2&&s!==(s=p[36].title+"")&&tt(o,s),C[0]&2&&u!==(u=p[36].code)&&(a.__value=u,ar(a,a.__value))},d(p){p&&z(a)}}}function Zh(c){let a,s=`Couldn&#39;t find your language?
72					<a class="text-gray-300 font-medium underline" href="https://github.com/open-webui/open-webui/blob/main/docs/CONTRIBUTING.md#-translations-and-internationalization" target="_blank">Help us translate Open WebUI!</a>`;return{c(){a=X("div"),a.innerHTML=s,this.h()},l(o){a=q(o,"DIV",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-3hlwzt"&&(a.innerHTML=s),this.h()},h(){O(a,"class","mb-2 text-xs text-gray-400 dark:text-gray-500")},m(o,u){Le(o,a,u)},d(o){o&&z(a)}}}function yw(c){let a,s=c[9].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Ew(c){let a,s=c[9].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Xh(c){let a,s,o,u,p=c[9].t("System Prompt")+"",C,b,k,E,B,G,D,Q,V=c[9].t("Advanced Parameters")+"",W,U,H,K=(c[5]?c[9].t("Hide"):c[9].t("Show"))+"",J,g,v,e,d;function _(F){c[23](F)}let re={className:"w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-900 outline-hidden resize-none",rows:"4",placeholder:c[9].t("Enter system prompt here")};c[4]!==void 0&&(re.value=c[4]),k=new bm({props:re}),kr.push(()=>es(k,"value",_));let S=c[5]&&qh(c);return{c(){a=X("hr"),s=Se(),o=X("div"),u=X("div"),C=Ze(p),b=Se(),Ut(k.$$.fragment),B=Se(),G=X("div"),D=X("div"),Q=X("div"),W=Ze(V),U=Se(),H=X("button"),J=Ze(K),g=Se(),S&&S.c(),this.h()},l(F){a=q(F,"HR",{class:!0}),s=Ne(F),o=q(F,"DIV",{});var Ie=$(o);u=q(Ie,"DIV",{class:!0});var he=$(u);C=Xe(he,p),he.forEach(z),b=Ne(Ie),Kt(k.$$.fragment,Ie),Ie.forEach(z),B=Ne(F),G=q(F,"DIV",{class:!0});var ce=$(G);D=q(ce,"DIV",{class:!0});var ge=$(D);Q=q(ge,"DIV",{class:!0});var Ce=$(Q);W=Xe(Ce,V),Ce.forEach(z),U=Ne(ge),H=q(ge,"BUTTON",{class:!0,type:!0});var Fe=$(H);J=Xe(Fe,K),Fe.forEach(z),ge.forEach(z),g=Ne(ce),S&&S.l(ce),ce.forEach(z),this.h()},h(){O(a,"class","border-gray-50 dark:border-gray-850 my-3"),O(u,"class","my-2.5 text-sm font-medium"),O(Q,"class","font-medium"),O(H,"class","text-xs font-medium text-gray-500"),O(H,"type","button"),O(D,"class","flex justify-between items-center text-sm"),O(G,"class","mt-2 space-y-3 pr-1.5")},m(F,Ie){Le(F,a,Ie),Le(F,s,Ie),Le(F,o,Ie),T(o,u),T(u,C),T(o,b),Zt(k,o,null),Le(F,B,Ie),Le(F,G,Ie),T(G,D),T(D,Q),T(Q,W),T(D,U),T(D,H),T(H,J),T(G,g),S&&S.m(G,null),v=!0,e||(d=Qt(H,"click",c[24]),e=!0)},p(F,Ie){(!v||Ie[0]&512)&&p!==(p=F[9].t("System Prompt")+"")&&tt(C,p);const he={};Ie[0]&512&&(he.placeholder=F[9].t("Enter system prompt here")),!E&&Ie[0]&16&&(E=!0,he.value=F[4],$r(()=>E=!1)),k.$set(he),(!v||Ie[0]&512)&&V!==(V=F[9].t("Advanced Parameters")+"")&&tt(W,V),(!v||Ie[0]&544)&&K!==(K=(F[5]?F[9].t("Hide"):F[9].t("Show"))+"")&&tt(J,K),F[5]?S?(S.p(F,Ie),Ie[0]&32&&nt(S,1)):(S=qh(F),S.c(),nt(S,1),S.m(G,null)):S&&(Nr(),dt(S,1,1,()=>{S=null}),zr())},i(F){v||(nt(k.$$.fragment,F),nt(S),v=!0)},o(F){dt(k.$$.fragment,F),dt(S),v=!1},d(F){F&&(z(a),z(s),z(o),z(B),z(G)),Xt(k),S&&S.d(),e=!1,d()}}}function qh(c){var pe;let a,s,o,u,p,C,b,k,E=c[9].t("Keep Alive")+"",B,G,D,Q,V,W,U,H,K=c[9].t("Request Mode")+"",J,g,v,e,d,_,re;function S(we){c[25](we)}let F={admin:((pe=c[10])==null?void 0:pe.role)==="admin"};c[8]!==void 0&&(F.params=c[8]),a=new EC({props:F}),kr.push(()=>es(a,"params",S));function Ie(we,Ge){return we[7]===null?xw:Bw}let he=Ie(c),ce=he(c),ge=c[7]!==null&&Jh(c);function Ce(we,Ge){return we[6]===null?Dw:Mw}let Fe=Ce(c),Pe=Fe(c),de=c[6]!==null&&$h(c);return{c(){Ut(a.$$.fragment),o=Se(),u=X("hr"),p=Se(),C=X("div"),b=X("div"),k=X("div"),B=Ze(E),G=Se(),D=X("button"),ce.c(),Q=Se(),ge&&ge.c(),V=Se(),W=X("div"),U=X("div"),H=X("div"),J=Ze(K),g=Se(),v=X("button"),Pe.c(),e=Se(),de&&de.c(),this.h()},l(we){Kt(a.$$.fragment,we),o=Ne(we),u=q(we,"HR",{class:!0}),p=Ne(we),C=q(we,"DIV",{class:!0});var Ge=$(C);b=q(Ge,"DIV",{class:!0});var me=$(b);k=q(me,"DIV",{class:!0});var at=$(k);B=Xe(at,E),at.forEach(z),G=Ne(me),D=q(me,"BUTTON",{class:!0,type:!0});var Ue=$(D);ce.l(Ue),Ue.forEach(z),me.forEach(z),Q=Ne(Ge),ge&&ge.l(Ge),Ge.forEach(z),V=Ne(we),W=q(we,"DIV",{});var ot=$(W);U=q(ot,"DIV",{class:!0});var pt=$(U);H=q(pt,"DIV",{class:!0});var ct=$(H);J=Xe(ct,K),ct.forEach(z),g=Ne(pt),v=q(pt,"BUTTON",{class:!0});var je=$(v);Pe.l(je),je.forEach(z),pt.forEach(z),e=Ne(ot),de&&de.l(ot),ot.forEach(z),this.h()},h(){O(u,"class","border-gray-100 dark:border-gray-850"),O(k,"class","self-center text-xs font-medium"),O(D,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(D,"type","button"),O(b,"class","flex w-full justify-between"),O(C,"class","w-full justify-between"),O(H,"class","self-center text-xs font-medium"),O(v,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(U,"class","flex w-full justify-between")},m(we,Ge){Zt(a,we,Ge),Le(we,o,Ge),Le(we,u,Ge),Le(we,p,Ge),Le(we,C,Ge),T(C,b),T(b,k),T(k,B),T(b,G),T(b,D),ce.m(D,null),T(C,Q),ge&&ge.m(C,null),Le(we,V,Ge),Le(we,W,Ge),T(W,U),T(U,H),T(H,J),T(U,g),T(U,v),Pe.m(v,null),T(W,e),de&&de.m(W,null),d=!0,_||(re=[Qt(D,"click",c[26]),Qt(v,"click",c[28])],_=!0)},p(we,Ge){var at;const me={};Ge[0]&1024&&(me.admin=((at=we[10])==null?void 0:at.role)==="admin"),!s&&Ge[0]&256&&(s=!0,me.params=we[8],$r(()=>s=!1)),a.$set(me),(!d||Ge[0]&512)&&E!==(E=we[9].t("Keep Alive")+"")&&tt(B,E),he===(he=Ie(we))&&ce?ce.p(we,Ge):(ce.d(1),ce=he(we),ce&&(ce.c(),ce.m(D,null))),we[7]!==null?ge?ge.p(we,Ge):(ge=Jh(we),ge.c(),ge.m(C,null)):ge&&(ge.d(1),ge=null),(!d||Ge[0]&512)&&K!==(K=we[9].t("Request Mode")+"")&&tt(J,K),Fe===(Fe=Ce(we))&&Pe?Pe.p(we,Ge):(Pe.d(1),Pe=Fe(we),Pe&&(Pe.c(),Pe.m(v,null))),we[6]!==null?de?(de.p(we,Ge),Ge[0]&64&&nt(de,1)):(de=$h(we),de.c(),nt(de,1),de.m(W,null)):de&&(Nr(),dt(de,1,1,()=>{de=null}),zr())},i(we){d||(nt(a.$$.fragment,we),nt(de),d=!0)},o(we){dt(a.$$.fragment,we),dt(de),d=!1},d(we){we&&(z(o),z(u),z(p),z(C),z(V),z(W)),Xt(a,we),ce.d(),ge&&ge.d(),Pe.d(),de&&de.d(),_=!1,Es(re)}}}function Bw(c){let a,s=c[9].t("Custom")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("Custom")+"")&&tt(o,s)},d(u){u&&z(a)}}}function xw(c){let a,s=c[9].t("Default")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("Default")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Jh(c){let a,s,o,u,p;return{c(){a=X("div"),s=X("input"),this.h()},l(C){a=q(C,"DIV",{class:!0});var b=$(a);s=q(b,"INPUT",{class:!0,type:!0,placeholder:!0}),b.forEach(z),this.h()},h(){O(s,"class","w-full text-sm dark:text-gray-300 dark:bg-gray-850 outline-hidden"),O(s,"type","text"),O(s,"placeholder",o=c[9].t("e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.")),O(a,"class","flex mt-1 space-x-2")},m(C,b){Le(C,a,b),T(a,s),ar(s,c[7]),u||(p=Qt(s,"input",c[27]),u=!0)},p(C,b){b[0]&512&&o!==(o=C[9].t("e.g. '30s','10m'. Valid time units are 's', 'm', 'h'."))&&O(s,"placeholder",o),b[0]&128&&s.value!==C[7]&&ar(s,C[7])},d(C){C&&z(a),u=!1,p()}}}function Mw(c){let a,s=c[9].t("JSON")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("JSON")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Dw(c){let a,s=c[9].t("Default")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&512&&s!==(s=u[9].t("Default")+"")&&tt(o,s)},d(u){u&&z(a)}}}function $h(c){let a,s,o,u;function p(b){c[29](b)}let C={className:"w-full  text-sm dark:text-gray-300 dark:bg-gray-900 outline-hidden",placeholder:c[9].t('e.g. "json" or a JSON sc
72hema')};return c[6]!==void 0&&(C.value=c[6]),s=new bm({props:C}),kr.push(()=>es(s,"value",p)),{c(){a=X("div"),Ut(s.$$.fragment),this.h()},l(b){a=q(b,"DIV",{class:!0});var k=$(a);Kt(s.$$.fragment,k),k.forEach(z),this.h()},h(){O(a,"class","flex mt-1 space-x-2")},m(b,k){Le(b,a,k),Zt(s,a,null),u=!0},p(b,k){const E={};k[0]&512&&(E.placeholder=b[9].t('e.g. "json" or a JSON schema')),!o&&k[0]&64&&(o=!0,E.value=b[6],$r(()=>o=!1)),s.$set(E)},i(b){u||(nt(s.$$.fragment,b),u=!0)},o(b){dt(s.$$.fragment,b),u=!1},d(b){b&&z(a),Xt(s)}}}function Gw(c){var dA,eA,nA;let a,s,o,u,p=c[9].t("WebUI Settings")+"",C,b,k,E,B=c[9].t("Theme")+"",G,D,Q,V,W,U,H=c[9].t("System")+"",K,J,g,v=c[9].t("Dark")+"",e,d,_,re=c[9].t("OLED Dark")+"",S,F,Ie,he=c[9].t("Light")+"",ce,ge,Ce="🌷 Her",Fe,Pe,de,pe=c[9].t("Language")+"",we,Ge,me,at,Ue,ot,pt,ct,je,At=c[9].t("Notifications")+"",It,wt,ze,rt,Bt,Ot,St,oe=c[9].t("Save")+"",zt,ke,fe,Qe,Je=Ur(c[1]),st=[];for(let aA=0;aA<Je.length;aA+=1)st[aA]=Kh(Uh(c,Je,aA));let lt=c[9].language==="en-US"&&Zh();function xt(aA,bA){return aA[3]===!0?Ew:yw}let jt=xt(c),$t=jt(c),Ft=(((dA=c[10])==null?void 0:dA.role)==="admin"||((nA=(eA=c[10])==null?void 0:eA.permissions.chat)==null?void 0:nA.controls))&&Xh(c);return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("div"),C=Ze(p),b=Se(),k=X("div"),E=X("div"),G=Ze(B),D=Se(),Q=X("div"),V=X("select"),W=X("option"),U=Ze("⚙️ "),K=Ze(H),J=X("option"),g=Ze("🌑 "),e=Ze(v),d=X("option"),_=Ze("🌃 "),S=Ze(re),F=X("option"),Ie=Ze("☀️ "),ce=Ze(he),ge=X("option"),ge.textContent=Ce,Fe=Se(),Pe=X("div"),de=X("div"),we=Ze(pe),Ge=Se(),me=X("div"),at=X("select");for(let aA=0;aA<st.length;aA+=1)st[aA].c();Ue=Se(),lt&&lt.c(),ot=Se(),pt=X("div"),ct=X("div"),je=X("div"),It=Ze(At),wt=Se(),ze=X("button"),$t.c(),rt=Se(),Ft&&Ft.c(),Bt=Se(),Ot=X("div"),St=X("button"),zt=Ze(oe),this.h()},l(aA){a=q(aA,"DIV",{class:!0});var bA=$(a);s=q(bA,"DIV",{class:!0});var vA=$(s);o=q(vA,"DIV",{class:!0});var Gt=$(o);u=q(Gt,"DIV",{class:!0});var mA=$(u);C=Xe(mA,p),mA.forEach(z),b=Ne(Gt),k=q(Gt,"DIV",{class:!0});var AA=$(k);E=q(AA,"DIV",{class:!0});var gr=$(E);G=Xe(gr,B),gr.forEach(z),D=Ne(AA),Q=q(AA,"DIV",{class:!0});var CA=$(Q);V=q(CA,"SELECT",{class:!0,placeholder:!0});var NA=$(V);W=q(NA,"OPTION",{});var tA=$(W);U=Xe(tA,"⚙️ "),K=Xe(tA,H),tA.forEach(z),J=q(NA,"OPTION",{});var iA=$(J);g=Xe(iA,"🌑 "),e=Xe(iA,v),iA.forEach(z),d=q(NA,"OPTION",{});var qt=$(d);_=Xe(qt,"🌃 "),S=Xe(qt,re),qt.forEach(z),F=q(NA,"OPTION",{});var zA=$(F);Ie=Xe(zA,"☀️ "),ce=Xe(zA,he),zA.forEach(z),ge=q(NA,"OPTION",{"data-svelte-h":!0}),ur(ge)!=="svelte-188ouwx"&&(ge.textContent=Ce),NA.forEach(z),CA.forEach(z),AA.forEach(z),Fe=Ne(Gt),Pe=q(Gt,"DIV",{class:!0});var Fr=$(Pe);de=q(Fr,"DIV",{class:!0});var Vr=$(de);we=Xe(Vr,pe),Vr.forEach(z),Ge=Ne(Fr),me=q(Fr,"DIV",{class:!0});var Tt=$(me);at=q(Tt,"SELECT",{class:!0,placeholder:!0});var MA=$(at);for(let Dr=0;Dr<st.length;Dr+=1)st[Dr].l(MA);MA.forEach(z),Tt.forEach(z),Fr.forEach(z),Ue=Ne(Gt),lt&&lt.l(Gt),ot=Ne(Gt),pt=q(Gt,"DIV",{});var QA=$(pt);ct=q(QA,"DIV",{class:!0});var ZA=$(ct);je=q(ZA,"DIV",{class:!0});var FA=$(je);It=Xe(FA,At),FA.forEach(z),wt=Ne(ZA),ze=q(ZA,"BUTTON",{class:!0,type:!0});var EA=$(ze);$t.l(EA),EA.forEach(z),ZA.forEach(z),QA.forEach(z),Gt.forEach(z),rt=Ne(vA),Ft&&Ft.l(vA),vA.forEach(z),Bt=Ne(bA),Ot=q(bA,"DIV",{class:!0});var Rr=$(Ot);St=q(Rr,"BUTTON",{class:!0});var Er=$(St);zt=Xe(Er,oe),Er.forEach(z),Rr.forEach(z),bA.forEach(z),this.h()},h(){O(u,"class","mb-1 text-sm font-medium"),O(E,"class","self-center text-xs font-medium"),W.__value="system",ar(W,W.__value),J.__value="dark",ar(J,J.__value),d.__value="oled-dark",ar(d,d.__value),F.__value="light",ar(F,F.__value),ge.__value="her",ar(ge,ge.__value),O(V,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm py-2 px-2 text-xs bg-transparent outline-hidden text-right"),O(V,"placeholder","Select a theme"),c[0]===void 0&&ll(()=>c[18].call(V)),O(Q,"class","flex items-center relative"),O(k,"class","flex w-full justify-between"),O(de,"class","self-center text-xs font-medium"),O(at,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm py-2 px-2 text-xs bg-transparent outline-hidden text-right"),O(at,"placeholder","Select a language"),c[2]===void 0&&ll(()=>c[20].call(at)),O(me,"class","flex items-center relative"),O(Pe,"class","flex w-full justify-between"),O(je,"class","self-center text-xs font-medium"),O(ze,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(ze,"type","button"),O(ct,"class","py-0.5 flex w-full justify-between"),O(o,"class",""),O(s,"class","overflow-y-scroll max-h-[28rem] lg:max-h-full"),O(St,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(Ot,"class","flex justify-end pt-3 text-sm font-medium"),O(a,"class","flex flex-col h-full justify-between text-sm")},m(aA,bA){Le(aA,a,bA),T(a,s),T(s,o),T(o,u),T(u,C),T(o,b),T(o,k),T(k,E),T(E,G),T(k,D),T(k,Q),T(Q,V),T(V,W),T(W,U),T(W,K),T(V,J),T(J,g),T(J,e),T(V,d),T(d,_),T(d,S),T(V,F),T(F,Ie),T(F,ce),T(V,ge),Mo(V,c[0],!0),T(o,Fe),T(o,Pe),T(Pe,de),T(de,we),T(Pe,Ge),T(Pe,me),T(me,at);for(let vA=0;vA<st.length;vA+=1)st[vA]&&st[vA].m(at,null);Mo(at,c[2],!0),T(o,Ue),lt&&lt.m(o,null),T(o,ot),T(o,pt),T(pt,ct),T(ct,je),T(je,It),T(ct,wt),T(ct,ze),$t.m(ze,null),T(s,rt),Ft&&Ft.m(s,null),T(a,Bt),T(a,Ot),T(Ot,St),T(St,zt),ke=!0,fe||(Qe=[Qt(V,"change",c[18]),Qt(V,"change",c[19]),Qt(at,"change",c[20]),Qt(at,"change",c[21]),Qt(ze,"click",c[22]),Qt(St,"click",c[30])],fe=!0)},p(aA,bA){var vA,Gt,mA;if((!ke||bA[0]&512)&&p!==(p=aA[9].t("WebUI Settings")+"")&&tt(C,p),(!ke||bA[0]&512)&&B!==(B=aA[9].t("Theme")+"")&&tt(G,B),(!ke||bA[0]&512)&&H!==(H=aA[9].t("System")+"")&&tt(K,H),(!ke||bA[0]&512)&&v!==(v=aA[9].t("Dark")+"")&&tt(e,v),(!ke||bA[0]&512)&&re!==(re=aA[9].t("OLED Dark")+"")&&tt(S,re),(!ke||bA[0]&512)&&he!==(he=aA[9].t("Light")+"")&&tt(ce,he),bA[0]&1&&Mo(V,aA[0]),(!ke||bA[0]&512)&&pe!==(pe=aA[9].t("Language")+"")&&tt(we,pe),bA[0]&2){Je=Ur(aA[1]);let AA;for(AA=0;AA<Je.length;AA+=1){const gr=Uh(aA,Je,AA);st[AA]?st[AA].p(gr,bA):(st[AA]=Kh(gr),st[AA].c(),st[AA].m(at,null))}for(;AA<st.length;AA+=1)st[AA].d(1);st.length=Je.length}bA[0]&6&&Mo(at,aA[2]),aA[9].language==="en-US"?lt||(lt=Zh(),lt.c(),lt.m(o,ot)):lt&&(lt.d(1),lt=null),(!ke||bA[0]&512)&&At!==(At=aA[9].t("Notifications")+"")&&tt(It,At),jt===(jt=xt(aA))&&$t?$t.p(aA,bA):($t.d(1),$t=jt(aA),$t&&($t.c(),$t.m(ze,null))),((vA=aA[10])==null?void 0:vA.role)==="admin"||(mA=(Gt=aA[10])==null?void 0:Gt.permissions.chat)!=null&&mA.controls?Ft?(Ft.p(aA,bA),bA[0]&1024&&nt(Ft,1)
72):(Ft=Xh(aA),Ft.c(),nt(Ft,1),Ft.m(s,null)):Ft&&(Nr(),dt(Ft,1,1,()=>{Ft=null}),zr()),(!ke||bA[0]&512)&&oe!==(oe=aA[9].t("Save")+"")&&tt(zt,oe)},i(aA){ke||(nt(Ft),ke=!0)},o(aA){dt(Ft),ke=!1},d(aA){aA&&z(a),oi(st,aA),lt&&lt.d(),$t.d(),Ft&&Ft.d(),fe=!1,Es(Qe)}}}function _w(c,a,s){let o,u,p;YA(c,Do,me=>s(31,o=me)),YA(c,Ac,me=>s(10,p=me));const C=ii(),b=Xs("i18n");YA(c,b,me=>s(9,u=me));let{saveSettings:k}=a,{getModels:E}=a,B=["dark","light","rose-pine dark","rose-pine-dawn light","oled-dark"],G="system",D=[],Q=u.language,V=!1,W="",U=!1;const H=async()=>{await Notification.requestPermission()==="granted"?(s(3,V=!V),k({notificationEnabled:V})):cr.error(u.t("Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access."))};let K=null,J=null,g={stream_response:null,function_calling:null,seed:null,temperature:null,reasoning_effort:null,logit_bias:null,frequency_penalty:null,presence_penalty:null,repeat_penalty:null,repeat_last_n:null,mirostat:null,mirostat_eta:null,mirostat_tau:null,top_k:null,top_p:null,min_p:null,stop:null,tfs_z:null,num_ctx:null,num_batch:null,num_keep:null,max_tokens:null,num_gpu:null};const v=me=>{try{const at=JSON.parse(me);if(at&&typeof at=="object")return!0}catch{}return!1},e=async()=>{K===null?s(6,K="json"):s(6,K=null),k({requestFormat:K!==null?K:void 0})},d=async()=>{if(K!==null&&K!=="json")if(v(K)===!1){cr.error(u.t("Invalid JSON schema"));return}else s(6,K=JSON.parse(K));k({system:W!==""?W:void 0,params:{stream_response:g.stream_response!==null?g.stream_response:void 0,function_calling:g.function_calling!==null?g.function_calling:void 0,seed:(g.seed!==null?g.seed:void 0)??void 0,stop:g.stop?g.stop.split(",").filter(me=>me):void 0,temperature:g.temperature!==null?g.temperature:void 0,reasoning_effort:g.reasoning_effort!==null?g.reasoning_effort:void 0,logit_bias:g.logit_bias!==null?g.logit_bias:void 0,frequency_penalty:g.frequency_penalty!==null?g.frequency_penalty:void 0,presence_penalty:g.frequency_penalty!==null?g.frequency_penalty:void 0,repeat_penalty:g.frequency_penalty!==null?g.frequency_penalty:void 0,repeat_last_n:g.repeat_last_n!==null?g.repeat_last_n:void 0,mirostat:g.mirostat!==null?g.mirostat:void 0,mirostat_eta:g.mirostat_eta!==null?g.mirostat_eta:void 0,mirostat_tau:g.mirostat_tau!==null?g.mirostat_tau:void 0,top_k:g.top_k!==null?g.top_k:void 0,top_p:g.top_p!==null?g.top_p:void 0,min_p:g.min_p!==null?g.min_p:void 0,tfs_z:g.tfs_z!==null?g.tfs_z:void 0,num_ctx:g.num_ctx!==null?g.num_ctx:void 0,num_batch:g.num_batch!==null?g.num_batch:void 0,num_keep:g.num_keep!==null?g.num_keep:void 0,max_tokens:g.max_tokens!==null?g.max_tokens:void 0,use_mmap:g.use_mmap!==null?g.use_mmap:void 0,use_mlock:g.use_mlock!==null?g.use_mlock:void 0,num_thread:g.num_thread!==null?g.num_thread:void 0,num_gpu:g.num_gpu!==null?g.num_gpu:void 0},keepAlive:J?isNaN(J)?J:parseInt(J):void 0,requestFormat:K!==null?K:void 0}),C("save"),s(6,K=typeof K=="object"?JSON.stringify(K,null,2):K)};li(async()=>{var me,at;s(0,G=localStorage.theme??"system"),s(1,D=await vC()),s(3,V=o.notificationEnabled??!1),s(4,W=o.system??""),s(6,K=o.requestFormat??null),K!==null&&K!=="json"&&s(6,K=typeof K=="object"?JSON.stringify(K,null,2):K),s(7,J=o.keepAlive??null),s(8,g={...g,...o.params}),s(8,g.stop=(me=o==null?void 0:o.params)!=null&&me.stop?(((at=o==null?void 0:o.params)==null?void 0:at.stop)??[]).join(","):null,g)});const _=me=>{let at=me==="oled-dark"?"dark":me;me==="system"&&(at=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),at==="dark"&&!me.includes("oled")&&(document.documentElement.style.setProperty("--color-gray-800","#333"),document.documentElement.style.setProperty("--color-gray-850","#262626"),document.documentElement.style.setProperty("--color-gray-900","#171717"),document.documentElement.style.setProperty("--color-gray-950","#0d0d0d")),B.filter(ot=>ot!==at).forEach(ot=>{ot.split(" ").forEach(pt=>{document.documentElement.classList.remove(pt)})}),at.split(" ").forEach(ot=>{document.documentElement.classList.add(ot)});const Ue=document.querySelector('meta[name="theme-color"]');if(Ue)if(me.includes("system")){const ot=window.matchMedia("(prefers-color-scheme: dark)").matches?"dar
72k":"light";console.log("Setting system meta theme color: "+ot),Ue.setAttribute("content",ot==="light"?"#ffffff":"#171717")}else console.log("Setting meta theme color: "+me),Ue.setAttribute("content",me==="dark"?"#171717":me==="oled-dark"?"#000000":me==="her"?"#983724":"#ffffff");typeof window<"u"&&window.applyTheme&&window.applyTheme(),me.includes("oled")&&(document.documentElement.style.setProperty("--color-gray-800","#101010"),document.documentElement.style.setProperty("--color-gray-850","#050505"),document.documentElement.style.setProperty("--color-gray-900","#000000"),document.documentElement.style.setProperty("--color-gray-950","#000000"),document.documentElement.classList.add("dark")),console.log(me)},re=me=>{em.set(me),localStorage.setItem("theme",me),_(me)};function S(){G=bc(this),s(0,G)}const F=()=>re(G);function Ie(){Q=bc(this),s(2,Q),s(1,D)}const he=me=>{yC(Q)},ce=()=>{H()};function ge(me){W=me,s(4,W)}const Ce=()=>{s(5,U=!U)};function Fe(me){g=me,s(8,g)}const Pe=()=>{s(7,J=J===null?"5m":null)};function de(){J=this.value,s(7,J)}const pe=()=>{e()};function we(me){K=me,s(6,K)}const Ge=()=>{d()};return c.$$set=me=>{"saveSettings"in me&&s(16,k=me.saveSettings),"getModels"in me&&s(17,E=me.getModels)},[G,D,Q,V,W,U,K,J,g,u,p,b,H,e,d,re,k,E,S,F,Ie,he,ce,ge,Ce,Fe,Pe,de,pe,we,Ge]}class Tw extends bs{constructor(a){super(),Cs(this,a,_w,Gw,ms,{saveSettings:16,getModels:17},null,[-1,-1])}}function Qw(c){let a,s=c[35].t("Chat")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Chat")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Pw(c){let a,s=c[35].t("Default")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Default")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Sw(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Nw(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function ep(c){let a,s,o,u=c[35].t("Display the username instead of You in the Chat")+"",p,C,b,k,E;function B(Q,V){return Q[10]===!0?Ow:zw}let G=B(c),D=G(c);return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),D.c(),this.h()},l(Q){a=q(Q,"DIV",{});var V=$(a);s=q(V,"DIV",{class:!0});var W=$(s);o=q(W,"DIV",{class:!0});var U=$(o);p=Xe(U,u),U.forEach(z),C=Ne(W),b=q(W,"BUTTON",{class:!0,type:!0});var H=$(b);D.l(H),H.forEach(z),W.forEach(z),V.forEach(z),this.h()},h(){O(o,"class","self-center text-xs"),O(b,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(b,"type","button"),O(s,"class","py-0.5 flex w-full justify-between")},m(Q,V){Le(Q,a,V),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),D.m(b,null),k||(E=Qt(b,"click",c[73]),k=!0)},p(Q,V){V[1]&16&&u!==(u=Q[35].t("Display the username instead of You in the Chat")+"")&&tt(p,u),G===(G=B(Q))&&D?D.p(Q,V):(D.d(1),D=G(Q),D&&(D.c(),D.m(b,null)))},d(Q){Q&&z(a),D.d(),k=!1,E()}}}function zw(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Ow(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Fw(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Lw(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Vw(c){let a,s=c[35].t("Auto")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Auto")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Hw(c){let a,s=c[35].t("RTL")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("RTL")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Yw(c){let a,s=c[35].t("LTR")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("LTR")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Rw(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function jw(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function tp(c){let a,s,o,u=c[35].t("Toast notifications for new updates")+"",p,C,b,k,E,B,G,D=c[35].t(`Show "What's New" modal on login`)+"",Q,V,W,U,H;function K(_,re){return _[25]===!0?Uw:Ww}let J=K(c),g=J(c);function v(_,re){return _[26]===!0?Zw:Kw}let e=v(c),d=e(c);return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),g.c(),k=Se(),E=X("div"),B=X("div"),G=X("div"),Q=Ze(D),V=Se(),W=X("button"),d.c(),this.h()},l(_){a=q(_,"DIV",{});var re=$(a);s=q(re,"DIV",{class:!0});var S=$(s);o=q(S,"DIV",{class:!0});var F=$(o);p=Xe(F,u),F.forEach(z),C=Ne(S),b=q(S,"BUTTON",{class:!0,type:!0});var Ie=$(b);
72g.l(Ie),Ie.forEach(z),S.forEach(z),re.forEach(z),k=Ne(_),E=q(_,"DIV",{});var he=$(E);B=q(he,"DIV",{class:!0});var ce=$(B);G=q(ce,"DIV",{class:!0});var ge=$(G);Q=Xe(ge,D),ge.forEach(z),V=Ne(ce),W=q(ce,"BUTTON",{class:!0,type:!0});var Ce=$(W);d.l(Ce),Ce.forEach(z),ce.forEach(z),he.forEach(z),this.h()},h(){O(o,"class","self-center text-xs"),O(b,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(b,"type","button"),O(s,"class","py-0.5 flex w-full justify-between"),O(G,"class","self-center text-xs"),O(W,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(W,"type","button"),O(B,"class","py-0.5 flex w-full justify-between")},m(_,re){Le(_,a,re),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),g.m(b,null),Le(_,k,re),Le(_,E,re),T(E,B),T(B,G),T(G,Q),T(B,V),T(B,W),d.m(W,null),U||(H=[Qt(b,"click",c[76]),Qt(W,"click",c[77])],U=!0)},p(_,re){re[1]&16&&u!==(u=_[35].t("Toast notifications for new updates")+"")&&tt(p,u),J===(J=K(_))&&g?g.p(_,re):(g.d(1),g=J(_),g&&(g.c(),g.m(b,null))),re[1]&16&&D!==(D=_[35].t(`Show "What's New" modal on login`)+"")&&tt(Q,D),e===(e=v(_))&&d?d.p(_,re):(d.d(1),d=e(_),d&&(d.c(),d.m(W,null)))},d(_){_&&(z(a),z(k),z(E)),g.d(),d.d(),U=!1,Es(H)}}}function Ww(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Uw(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Kw(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Zw(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Xw(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function qw(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Jw(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function $w(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function ek(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function tk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Ak(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function rk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function sk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function ak(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Ap(c){let a,s,o,u=c[35].t("Prompt Autocompletion")+"",p,C,b,k,E;function B(Q,V){return Q[14]===!0?ik:nk}let G=B(c),D=G(c);return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),D.c(),this.h()},l(Q){a=q(Q,"DIV",{});var V=$(a);s=q(V,"DIV",{class:!0});var W=$(s);o=q(W,"DIV",{class:!0});var U=$(o);
72p=Xe(U,u),U.forEach(z),C=Ne(W),b=q(W,"BUTTON",{class:!0,type:!0});var H=$(b);D.l(H),H.forEach(z),W.forEach(z),V.forEach(z),this.h()},h(){O(o,"class","self-center text-xs"),O(b,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(b,"type","button"),O(s,"class","py-0.5 flex w-full justify-between")},m(Q,V){Le(Q,a,V),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),D.m(b,null),k||(E=Qt(b,"click",c[83]),k=!0)},p(Q,V){V[1]&16&&u!==(u=Q[35].t("Prompt Autocompletion")+"")&&tt(p,u),G===(G=B(Q))&&D?D.p(Q,V):(D.d(1),D=G(Q),D&&(D.c(),D.m(b,null)))},d(Q){Q&&z(a),D.d(),k=!1,E()}}}function nk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function ik(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function ok(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function lk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function ck(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function uk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function fk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function dk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function gk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function hk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function pk(c){let a,s=c[35].t("Upload")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Upload")+"")&&tt(o,s)},d(u){u&&z(a)}}}function mk(c){let a,s=c[35].t("Reset")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Reset")+"")&&tt(o,s)},d(u){u&&z(a)}}}function bk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Ck(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Ik(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function wk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function kk(c){let a,s=c[35].t("Enter to Send")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Enter to Send")+"")&&tt(o,s)},d(u){u&&z(a)}}}function vk(c){let a,s=c[35].t("Ctrl+Enter to Send")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Ctrl+Enter to Send")+"")&&tt(o,s)},d(u){u&&z(a)}}}function yk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Ek(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Bk(c){let a,s=c[35].t("Default")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Default")+"")&&tt(o,s)},d(u){u&&z(a)}}}function xk(c){let a,s=c[35].t("Always")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Always")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Mk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Dk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Gk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function _k(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Tk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Qk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Pk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Sk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Nk(c){let a,s=c[35].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function zk(c){let a,s=c[35].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[1]&16&&s!==(s=u[35].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function rp(c){let a,s,o,u=c[35].t("Image Max Compression Size")+"",p,C,b,k,E,B,G,D;return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("div"),k=X("input"),E=Ze(`x
73							`),B=X("input"),this.h()},l(Q){a=q(Q,"DIV",{});var V=$(a);s=q(V,"DIV",{class:!0});var W=$(s);o=q(W,"DIV",{class:!0});var U=$(o);
73p=Xe(U,u),U.forEach(z),C=Ne(W),b=q(W,"DIV",{});var H=$(b);k=q(H,"INPUT",{type:!0,class:!0,min:!0,placeholder:!0}),E=Xe(H,`x
74							`),B=q(H,"INPUT",{type:!0,class:!0,min:!0,placeholder:!0}),H.forEach(z),W.forEach(z),V.forEach(z),this.h()},h(){O(o,"class","self-center text-xs"),O(k,"type","number"),O(k,"class","w-20 bg-transparent outline-hidden text-center"),O(k,"min","0"),O(k,"placeholder","Width"),O(B,"type","number"),O(B,"class","w-20 bg-transparent outline-hidden text-center"),O(B,"min","0"),O(B,"placeholder","Height"),O(s,"class","py-0.5 flex w-full justify-between text-xs")},m(Q,V){Le(Q,a,V),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(b,k),ar(k,c[24].width),T(b,E),T(b,B),ar(B,c[24].height),G||(D=[Qt(k,"input",c[99]),Qt(B,"input",c[100])],G=!0)},p(Q,V){V[1]&16&&u!==(u=Q[35].t("Image Max Compression Size")+"")&&tt(p,u),V[0]&16777216&&W1(k.value)!==Q[24].width&&ar(k,Q[24].width),V[0]&16777216&&W1(B.value)!==Q[24].height&&ar(B,Q[24].height)},d(Q){Q&&z(a),G=!1,Es(D)}}}function Ok(c){var i,l,h;let a,s,o,u,p,C,b=c[35].t("UI")+"",k,E,B,G,D,Q=c[35].t("Landing Page Mode")+"",V,W,U,H,K,J,g,v=c[35].t("Chat Bubble UI")+"",e,d,_,re,S,F,Ie,he,ce=c[35].t("Widescreen Mode")+"",ge,Ce,Fe,Pe,de,pe,we,Ge=c[35].t("Chat direction")+"",me,at,Ue,ot,pt,ct,je,At=c[35].t("Notification Sound")+"",It,wt,ze,rt,Bt,Ot,St=c[35].t("Chat")+"",oe,zt,ke,fe,Qe,Je=c[35].t("Title Auto-Generation")+"",st,lt,xt,jt,$t,Ft,dA,eA=c[35].t("Chat Tags Auto-Generation")+"",nA,aA,bA,vA,Gt,mA,AA,gr=c[35].t("Detect Artifacts Automatically")+"",CA,NA,tA,iA,qt,zA,Fr,Vr=c[35].t("Auto-Copy Response to Clipboard")+"",Tt,MA,QA,ZA,FA,EA,Rr,Er=c[35].t("Rich Text Input for Chat")+"",Dr,Vs,nr,qs,xa,Ja,ma,Qa,$a=c[35].t("Paste Large Text as File")+"",ds,en,oa,Yn,Ma,Br,Hr,cn=c[35].t("Copy Formatted Text")+"",Rn,Oi,Ra,jn,Tn,ja,$A,fr=c[35].t("Always Collapse Code Blocks")+"",la,vi,Pa,ci,tn,Wa,_t,Ee=c[35].t("Always Expand Details")+"",qe,ut,mt,vt,Rt,lA,gt,pA=c[35].t("Chat Backgroun
74d Image")+"",oA,sr,jr,Gr,Or,ir,IA,_A=c[35].t("Allow User Location")+"",_r,ba,Bs,ts,PA,Kr,Yt,TA=c[35].t("Haptic Feedback")+"",Js,Ss,Ds=c[35].t("Android")+"",ks,os,Tr,As,yi,Da,Qn,$s,Ei=c[35].t("Enter Key Behavior")+"",or,ea,ta,Fo,io,ui,Fi,Wn=c[35].t("Scroll to bottom when switching between branches")+"",Un,Lo,vn,Sa,Ns,BA,Aa,Li=c[35].t("Web Search in Chat")+"",Vi,Go,Kn,Vo,Hi,Bi,ca,Wr=c[35].t("iframe Sandbox Allow Same Origin")+"",xi,Yi,Gs,fi,An,Zn,Mi,Pn=c[35].t("iframe Sandbox Allow Forms")+"",oo,_o,Sn,uA,yn,kA=c[35].t("Voice")+"",lo,co,ra,js,Nn,di=c[35].t("Allow Voice Interruption in Call")+"",uo,_s,Xn,Ho,En,un,Ri,Di=c[35].t("Display Emoji in Call")+"",gi,wA,ua,To,qn,fn=c[35].t("File")+"",fo,Yo,go,zn,ji,ho=c[35].t("Image Compression")+"",Ts,Ro,Jn,rr,wr,Gi,Na,po=c[35].t("Save")+"",Ws,On,fa;function $n(m,w){return m[16]===""?Pw:Qw}let Wi=$n(c),dn=Wi(c);function s0(m,w){return m[17]===!0?Nw:Sw}let Ui=s0(c),Zr=Ui(c),sa=!c[33].chatBubble&&ep(c);function jo(m,w){return m[7]===!0?Lw:Fw}let Us=jo(c),za=Us(c);function ei(m,w){return m[18]==="LTR"?Yw:m[18]==="RTL"?Hw:Vw}let mo=ei(c),gn=mo(c);function Wo(m,w){return m[11]===!0?jw:Rw}let Ki=Wo(c),aa=Ki(c),da=((i=c[36])==null?void 0:i.role)==="admin"&&tp(c);function a0(m,w){return m[4]===!0?qw:Xw}let bo=a0(c),hn=bo(c);function ti(m,w){return m[5]===!0?$w:Jw}let Zi=ti(c),rs=Zi(c);function Uo(m,w){return m[12]===!0?tk:ek}let Xi=Uo(c),Ua=Xi(c);function Ka(m,w){return m[6]===!0?rk:Ak}let _i=Ka(c),pn=_i(c);function Bn(m,w){return m[13]===!0?ak:sk}let Co=Bn(c),rn=Co(c),Ca=((h=(l=c[34])==null?void 0:l.features)==null?void 0:h.enable_autocomplete_generation)&&c[13]&&Ap(c);function qi(m,w){return m[15]===!0?lk:ok}let Io=qi(c),xn=Io(c);function n0(m,w){return m[20]===!0?uk:ck}let Ks=n0(c),Za=Ks(c);function Ia(m,w){return m[21]===!0?dk:fk}let wo=Ia(c),sn=wo(c);function mn(m,w){return m[22]===!0?hk:gk}let ss=mn(c),bn=ss(c);function hi(m,w){return m[1]!==null?mk:pk}let pi=hi(c),Mn=pi(c);function Ko(m,w){return m[9]===!0?Ck:bk}let ko=Ko(c),Dn=ko(c);function mi(m,w){return m[29]===!0?wk:Ik}let an=mi(c),Cn=an(c);function vo(m,w){return m[19]===!0?vk:kk}let Hs=vo(c),vr=Hs(c);function Ji(m,w){return m[8]===!0?Ek:yk}let Qo=Ji(c),wa=Qo(c);function bi(m,w){return m[30]==="always"?xk:Bk}let Ai=bi(c),In=Ai(c);function ka(m,w){return m[31]===!0?Dk:Mk}let Po=ka(c),wn=Po(c);function $i(m,w){return m[32]===!0?_k:Gk}let Ti=$i(c),gs=Ti(c);function Zo(m,w){return m[28]===!0?Qk:Tk}let eo=Zo(c),Ga=eo(c);function i0(m,w){return m[27]===!0?Sk:Pk}let Ci=i0(c),LA=Ci(c);function t(m,w){return m[23]===!0?zk:Nk}let A=t(c),r=A(c),n=c[23]&&rp(c);return{c(){a=X("form"),s=X("input"),o=Se(),u=X("div"),p=X("div"),C=X("div"),k=Ze(b),E=Se(),B=X("div"),G=X("div"),D=X("div"),V=Ze(Q),W=Se(),U=X("button"),dn.c(),H=Se(),K=X("div"),J=X("div"),g=X("div"),e=Ze(v),d=Se(),_=X("button"),Zr.c(),re=Se(),sa&&sa.c(),S=Se(),F=X("div"),Ie=X("div"),he=X("div"),ge=Ze(ce),Ce=Se(),Fe=X("button"),za.c(),Pe=Se(),de=X("div"),pe=X("div"),we=X("div"),me=Ze(Ge),at=Se(),Ue=X("button"),gn.c(),ot=Se(),pt=X("div"),ct=X("div"),je=X("div"),It=Ze(At),wt=Se(),ze=X("button"),aa.c(),rt=Se(),da&&da.c(),Bt=Se(),Ot=X("div"),oe=Ze(St),zt=Se(),ke=X("div"),fe=X("div"),Qe=X("div"),st=Ze(Je),lt=Se(),xt=X("button"),hn.c(),jt=Se(),$t=X("div"),Ft=X("div"),dA=X("div"),nA=Ze(eA),aA=Se(),bA=X("button"),rs.c(),vA=Se(),Gt=X("div"),mA=X("div"),AA=X("div"),CA=Ze(gr),NA=Se(),tA=X("button"),Ua.c(),iA=Se(),qt=X("div"),zA=X("div"),Fr=X("div"),Tt=Ze(Vr),MA=Se(),QA=X("button"),pn.c(),ZA=Se(),FA=X("div"),EA=X("div"),Rr=X("div"),Dr=Ze(Er),Vs=Se(),nr=X("button"),rn.c(),qs=Se(),Ca&&Ca.c(),xa=Se(),Ja=X("div"),ma=X("div"),Qa=X("div"),ds=Ze($a),en=Se(),oa=X("button"),xn.c(),Yn=Se(),Ma=X("div"),Br=X("div"),Hr=X("div"),Rn=Ze(cn),Oi=Se(),Ra=X("button"),Za.c(),jn=Se(),Tn=X("div"),ja=X("div"),$A=X("div"),la=Ze(fr),vi=Se(),Pa=X("button"),sn.c(),ci=Se(),tn=X("div"),Wa=X("div"),_t=X("div"),qe=Ze(Ee),ut=Se(),mt=X("button"),bn.c(),vt=Se(),Rt=X("div"),lA=X("div"),gt=X("div"),oA=Ze(pA),sr=Se(),jr=X("button"),Mn.c(),Gr=Se(),Or=X("div"),ir=X("div"),IA=X("div"),_r=Ze(_A),ba=Se(),Bs=X("button"),Dn.c(),ts=Se(),PA=X("div"),Kr=X("div"),Yt=X("div"),Js=Ze(TA),Ss=Ze(" ("),ks=Ze(Ds),os=Ze(")"),Tr=Se(),As=X("button"),Cn.c(),yi=Se(),Da=X("div"),Qn=X("div"),$s=X("div"),or=Ze(Ei),ea=Se(),ta=X("button"),vr.c(),Fo=Se(),io=X("div"),ui=X("div"),Fi=X("div"),Un=Ze(Wn),Lo=Se(),vn=X("button"),wa.c(),Sa=Se(),Ns=X("div"),BA=X("div"),Aa=X("div"),Vi=Ze(Li),Go=Se(),Kn=X("button"),In.c(),Vo=Se(),Hi=X("div"),Bi=X("div"),ca=X("div"),xi=Ze(Wr),Yi=Se(),Gs=X("button"),wn.c(),fi=Se(),An=X("div"),Zn=X("div"),Mi=X("div"),oo=Ze(Pn),_o=Se(),Sn=X("button"),gs.c(),uA=Se(),yn=X("div"),lo=Ze(kA),co=Se(),ra=X("div"),js=X("div"),Nn=X("div"),uo=Ze(di),_s=Se(),Xn=X("button"),Ga.c(),Ho=Se(),En=X("div"),un=X("div"),Ri=X("div"),gi=Ze(Di),wA=Se(),ua=X("button"),LA.c(),To=Se(),qn=X("div"),fo=Ze(fn),Yo=Se(),go=X("div"),zn=X("div"),ji=X("div"),Ts=Ze(ho),Ro=Se(),Jn=X("button"),r.c(),rr=Se(),n&&n.c(),wr=Se(),Gi=X("div"),Na=X("button"),Ws=Ze(po),this.h()},l(m){a=q(m,"FORM",{class:!0});var w=$(a);s=q(w,"INPUT",{type:!0,accept:!0}),o=Ne(w),u=q(w,"DIV",{class:!0});var M=$(u);p=q(M,"DIV",{});var y=$(p);C=q(y,"DIV",{class:!0});var P=$(C);k=Xe(P,b),P.forEach(z),E=Ne(y),B=q(y,"DIV",{});var R=$(B);G=q(R,"DIV",{class:!0});var ee=$(G);D=q(ee,"DIV",{class:!0});var ae=$(D);V=Xe(ae,Q),ae.forEach(z),W=Ne(ee),U=q(ee,"BUTTON",{class:!0,type:!0});
74var ue=$(U);dn.l(ue),ue.forEach(z),ee.forEach(z),R.forEach(z),H=Ne(y),K=q(y,"DIV",{});var be=$(K);J=q(be,"DIV",{class:!0});var _e=$(J);g=q(_e,"DIV",{class:!0});var Ve=$(g);e=Xe(Ve,v),Ve.forEach(z),d=Ne(_e),_=q(_e,"BUTTON",{class:!0,type:!0});var $e=$(_);Zr.l($e),$e.forEach(z),_e.forEach(z),be.forEach(z),re=Ne(y),sa&&sa.l(y),S=Ne(y),F=q(y,"DIV",{});var it=$(F);Ie=q(it,"DIV",{class:!0});var ht=$(Ie);he=q(ht,"DIV",{class:!0});var yt=$(he);ge=Xe(yt,ce),yt.forEach(z),Ce=Ne(ht),Fe=q(ht,"BUTTON",{class:!0,type:!0});var Pt=$(Fe);za.l(Pt),Pt.forEach(z),ht.forEach(z),it.forEach(z),Pe=Ne(y),de=q(y,"DIV",{});var Wt=$(de);pe=q(Wt,"DIV",{class:!0});var cA=$(pe);we=q(cA,"DIV",{class:!0});var gA=$(we);me=Xe(gA,Ge),gA.forEach(z),at=Ne(cA),Ue=q(cA,"BUTTON",{class:!0,type:!0});var SA=$(Ue);gn.l(SA),SA.forEach(z),cA.forEach(z),Wt.forEach(z),ot=Ne(y),pt=q(y,"DIV",{});var VA=$(pt);ct=q(VA,"DIV",{class:!0});var qA=$(ct);je=q(qA,"DIV",{class:!0});var Cr=$(je);It=Xe(Cr,At),Cr.forEach(z),wt=Ne(qA),ze=q(qA,"BUTTON",{class:!0,type:!0});var Yr=$(ze);aa.l(Yr),Yr.forEach(z),qA.forEach(z),VA.forEach(z),rt=Ne(y),da&&da.l(y),Bt=Ne(y),Ot=q(y,"DIV",{class:!0});var Xr=$(Ot);oe=Xe(Xr,St),Xr.forEach(z),zt=Ne(y),ke=q(y,"DIV",{});var ls=$(ke);fe=q(ls,"DIV",{class:!0});var as=$(fe);Qe=q(as,"DIV",{class:!0});var xs=$(Qe);st=Xe(xs,Je),xs.forEach(z),lt=Ne(as),xt=q(as,"BUTTON",{class:!0,type:!0});var Ms=$(xt);hn.l(Ms),Ms.forEach(z),as.forEach(z),ls.forEach(z),jt=Ne(y),$t=q(y,"DIV",{});var zs=$($t);Ft=q(zs,"DIV",{class:!0});var Os=$(Ft);dA=q(Os,"DIV",{class:!0});var ga=$(dA);nA=Xe(ga,eA),ga.forEach(z),aA=Ne(Os),bA=q(Os,"BUTTON",{class:!0,type:!0});var na=$(bA);rs.l(na),na.forEach(z),Os.forEach(z),zs.forEach(z),vA=Ne(y),Gt=q(y,"DIV",{});var ha=$(Gt);mA=q(ha,"DIV",{class:!0});var pa=$(mA);AA=q(pa,"DIV",{class:!0});var Gn=$(AA);CA=Xe(Gn,gr),Gn.forEach(z),NA=Ne(pa),tA=q(pa,"BUTTON",{class:!0,type:!0});var Fn=$(tA);
74Ua.l(Fn),Fn.forEach(z),pa.forEach(z),ha.forEach(z),iA=Ne(y),qt=q(y,"DIV",{});var Ln=$(qt);zA=q(Ln,"DIV",{class:!0});var Vn=$(zA);Fr=q(Vn,"DIV",{class:!0});var yo=$(Fr);Tt=Xe(yo,Vr),yo.forEach(z),MA=Ne(Vn),QA=q(Vn,"BUTTON",{class:!0,type:!0});var to=$(QA);pn.l(to),to.forEach(z),Vn.forEach(z),Ln.forEach(z),ZA=Ne(y),FA=q(y,"DIV",{});var Ao=$(FA);EA=q(Ao,"DIV",{class:!0});var Qi=$(EA);Rr=q(Qi,"DIV",{class:!0});var Xo=$(Rr);Dr=Xe(Xo,Er),Xo.forEach(z),Vs=Ne(Qi),nr=q(Qi,"BUTTON",{class:!0,type:!0});var o0=$(nr);rn.l(o0),o0.forEach(z),Qi.forEach(z),Ao.forEach(z),qs=Ne(y),Ca&&Ca.l(y),xa=Ne(y),Ja=q(y,"DIV",{});var l0=$(Ja);ma=q(l0,"DIV",{class:!0});var ro=$(ma);Qa=q(ro,"DIV",{class:!0});var fl=$(Qa);ds=Xe(fl,$a),fl.forEach(z),en=Ne(ro),oa=q(ro,"BUTTON",{class:!0,type:!0});var dl=$(oa);xn.l(dl),dl.forEach(z),ro.forEach(z),l0.forEach(z),Yn=Ne(y),Ma=q(y,"DIV",{});var gl=$(Ma);Br=q(gl,"DIV",{class:!0});var m0=$(Br);Hr=q(m0,"DIV",{class:!0});var hl=$(Hr);Rn=Xe(hl,cn),hl.forEach(z),Oi=Ne(m0),Ra=q(m0,"BUTTON",{class:!0,type:!0});var R0=$(Ra);Za.l(R0),R0.forEach(z),m0.forEach(z),gl.forEach(z),jn=Ne(y),Tn=q(y,"DIV",{});var pl=$(Tn);ja=q(pl,"DIV",{class:!0});var b0=$(ja);$A=q(b0,"DIV",{class:!0});var j0=$($A);la=Xe(j0,fr),j0.forEach(z),vi=Ne(b0),Pa=q(b0,"BUTTON",{class:!0,type:!0});var ml=$(Pa);sn.l(ml),ml.forEach(z),b0.forEach(z),pl.forEach(z),ci=Ne(y),tn=q(y,"DIV",{});var bl=$(tn);Wa=q(bl,"DIV",{class:!0});var C0=$(Wa);_t=q(C0,"DIV",{class:!0});var Cl=$(_t);qe=Xe(Cl,Ee),Cl.forEach(z),ut=Ne(C0),mt=q(C0,"BUTTON",{class:!0,type:!0});var W0=$(mt);bn.l(W0),W0.forEach(z),C0.forEach(z),bl.forEach(z),vt=Ne(y),Rt=q(y,"DIV",{});var Il=$(Rt);lA=q(Il,"DIV",{class:!0});var I0=$(lA);gt=q(I0,"DIV",{class:!0});var U0=$(gt);oA=Xe(U0,pA),U0.forEach(z),sr=Ne(I0),jr=q(I0,"BUTTON",{class:!0,type:!0});var wl=$(jr);Mn.l(wl),wl.forEach(z),I0.forEach(z),Il.forEach(z),Gr=Ne(y),Or=q(y,"DIV",{});var kl=$(Or);ir=q(kl,"DIV",{class:!0});var c0=$(ir);IA=q(c0,"DIV",{class:!0});var vl=$(IA);_r=Xe(vl,_A),vl.forEach(z),ba=Ne(c0),Bs=q(c0,"BUTTON",{class:!0,type:!0});var Pi=$(Bs);Dn.l(Pi),Pi.forEach(z),c0.forEach(z),kl.forEach(z),ts=Ne(y),PA=q(y,"DIV",{});var Si=$(PA);Kr=q(Si,"DIV",{class:!0});var so=$(Kr);Yt=q(so,"DIV",{class:!0});var Ni=$(Yt);Js=Xe(Ni,TA),Ss=Xe(Ni," ("),ks=Xe(Ni,Ds),os=Xe(Ni,")"),Ni.forEach(z),Tr=Ne(so),As=q(so,"BUTTON",{class:!0,type:!0});var yl=$(As);Cn.l(yl),yl.forEach(z),so.forEach(z),Si.forEach(z),yi=Ne(y),Da=q(y,"DIV",{});var El=$(Da);Qn=q(El,"DIV",{class:!0});var u0=$(Qn);$s=q(u0,"DIV",{class:!0});var Bl=$($s);or=Xe(Bl,Ei),Bl.forEach(z),ea=Ne(u0),ta=q(u0,"BUTTON",{class:!0,type:!0});var xl=$(ta);vr.l(xl),xl.forEach(z),u0.forEach(z),El.forEach(z),Fo=Ne(y),io=q(y,"DIV",{});var Ml=$(io);ui=q(Ml,"DIV",{class:!0});var w0=$(ui);Fi=q(w0,"DIV",{class:!0});var Dl=$(Fi);Un=Xe(Dl,Wn),Dl.forEach(z),Lo=Ne(w0),vn=q(w0,"BUTTON",{class:!0,type:!0});var Gl=$(vn);wa.l(Gl),Gl.forEach(z),w0.forEach(z),Ml.forEach(z),Sa=Ne(y),Ns=q(y,"DIV",{});var nn=$(Ns);BA=q(nn,"DIV",{class:!0});var k0=$(BA);Aa=q(k0,"DIV",{class:!0});var _l=$(Aa);Vi=Xe(_l,Li),_l.forEach(z),Go=Ne(k0),Kn=q(k0,"BUTTON",{class:!0,type:!0});var v0=$(Kn);In.l(v0),v0.forEach(z),k0.forEach(z),nn.forEach(z),Vo=Ne(y),Hi=q(y,"DIV",{});var Tl=$(Hi);Bi=q(Tl,"DIV",{class:!0});var So=$(Bi);ca=q(So,"DIV",{class:!0});var Eo=$(ca);xi=Xe(Eo,Wr),Eo.forEach(z),Yi=Ne(So),Gs=q(So,"BUTTON",{class:!0,type:!0});var Ql=$(Gs);wn.l(Ql),Ql.forEach(z),So.forEach(z),Tl.forEach(z),fi=Ne(y),An=q(y,"DIV",{});var Pl=$(An);Zn=q(Pl,"DIV",{class:!0});var y0=$(Zn);Mi=q(y0,"DIV",{class:!0});var Sl=$(Mi);oo=Xe(Sl,Pn),Sl.forEach(z),_o=Ne(y0),Sn=q(y0,"BUTTON",{class:!0,type:!0});var E0=$(Sn);gs.l(E0),E0.forEach(z),y0.forEach(z),Pl.forEach(z),uA=Ne(y),yn=q(y,"DIV",{class:!0});var Nl=$(yn);lo=Xe(Nl,kA),Nl.forEach(z),co=Ne(y),ra=q(y,"DIV",{});var zl=$(ra);js=q(zl,"DIV",{class:!0});var B0=$(js);Nn=q(B0,"DIV",{class:!0});var Ol=$(Nn);uo=Xe(Ol,di),Ol.forEach(z),_s=Ne(B0),Xn=q(B0,"BUTTON",{class:!0,type:!0});var f0=$(Xn);Ga.l(f0),f0.forEach(z),B0.forEach(z),zl.forEach(z),Ho=Ne(y),En=q(y,"DIV",{});var Fl=$(En);un=q(Fl,"DIV",{class:!0});var d0=$(un);Ri=q(d0,"DIV",{class:!0});var Ll=$(Ri);gi=Xe(Ll,Di),Ll.forEach(z),wA=Ne(d0),ua=q(d0,"BUTTON",{class:!0,type:!0});var g0=$(ua);
74LA.l(g0),g0.forEach(z),d0.forEach(z),Fl.forEach(z),To=Ne(y),qn=q(y,"DIV",{class:!0});var Vl=$(qn);fo=Xe(Vl,fn),Vl.forEach(z),Yo=Ne(y),go=q(y,"DIV",{});var Hl=$(go);zn=q(Hl,"DIV",{class:!0});var x0=$(zn);ji=q(x0,"DIV",{class:!0});var Yl=$(ji);Ts=Xe(Yl,ho),Yl.forEach(z),Ro=Ne(x0),Jn=q(x0,"BUTTON",{class:!0,type:!0});var M0=$(Jn);r.l(M0),M0.forEach(z),x0.forEach(z),Hl.forEach(z),rr=Ne(y),n&&n.l(y),y.forEach(z),M.forEach(z),wr=Ne(w),Gi=q(w,"DIV",{class:!0});var Rl=$(Gi);Na=q(Rl,"BUTTON",{class:!0,type:!0});var jl=$(Na);Ws=Xe(jl,po),jl.forEach(z),Rl.forEach(z),w.forEach(z),this.h()},h(){O(s,"type","file"),s.hidden=!0,O(s,"accept","image/*"),O(C,"class","mb-1.5 text-sm font-medium"),O(D,"class","self-center text-xs"),O(U,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(U,"type","button"),O(G,"class","py-0.5 flex w-full justify-between"),O(g,"class","self-center text-xs"),O(_,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(_,"type","button"),O(J,"class","py-0.5 flex w-full justify-between"),O(he,"class","self-center text-xs"),O(Fe,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Fe,"type","button"),O(Ie,"class","py-0.5 flex w-full justify-between"),O(we,"class","self-center text-xs"),O(Ue,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Ue,"type","button"),O(pe,"class","py-0.5 flex w-full justify-between"),O(je,"class","self-center text-xs"),O(ze,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(ze,"type","button"),O(ct,"class","py-0.5 flex w-full justify-between"),O(Ot,"class","my-1.5 text-sm font-medium"),O(Qe,"class","self-center text-xs"),O(xt,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(xt,"type","button"),O(fe,"class","py-0.5 flex w-full justify-between"),O(dA,"class","self-center text-xs"),O(bA,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(bA,"type","button"),O(Ft,"class","py-0.5 flex w-full justify-between"),O(AA,"class","self-center text-xs"),O(tA,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(tA,"type","button"),O(mA,"class","py-0.5 flex w-full justify-between"),O(Fr,"class","self-center text-xs"),O(QA,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(QA,"type","button"),O(zA,"class","py-0.5 flex w-full justify-between"),O(Rr,"class","self-center text-xs"),O(nr,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(nr,"type","button"),O(EA,"class","py-0.5 flex w-full justify-between"),O(Qa,"class","self-center text-xs"),O(oa,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(oa,"type","button"),O(ma,"class","py-0.5 flex w-full justify-between"),O(Hr,"class","self-center text-xs"),O(Ra,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Ra,"type","button"),O(Br,"class","py-0.5 flex w-full justify-between"),O($A,"class","self-center text-xs"),O(Pa,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Pa,"type","button"),O(ja,"class","py-0.5 flex w-full justify-between"),O(_t,"class","self-center text-xs"),O(mt,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(mt,"type","button"),O(Wa,"class","py-0.5 flex w-full justify-between"),O(gt,"class","self-center text-xs"),O(jr,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(jr,"type","button"),O(lA,"class","py-0.5 flex w-full justify-between"),O(IA,"class","self-center text-xs"),O(Bs,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Bs,"type","button"),O(ir,"class","py-0.5 flex w-full justify-between"),O(Yt,"class","self-center text-xs"),O(As,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(As,"type","button"),O(Kr,"class","py-0.5 flex w-full justify-between"),O($s,"class","self-center text-xs"),O(ta,"class","p-1 px-3 text-xs flex rounded transition"),O(ta,"type","button"),O(Qn,"class","py-0.5 flex w-full justify-between"),O(Fi,"class","self-center text-xs"),O(vn,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(vn,"type","button"),O(ui,"class","py-0.5 flex w-full justify-between"),O(Aa,"class","self-center text-xs"),O(Kn,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Kn,"type","button"),O(BA,"class","py-0.5 flex w-full justify-between"),O(ca,"class","self-center text-xs"),O(Gs,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Gs,"type","button"),O(Bi,"class","py-0.5 flex w-full justify-between"),O(Mi,"class","self-center text-xs"),O(Sn,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Sn,"type","button"),O(Zn,"class","py-0.5 flex w-full justify-between"),O(yn,"class","my-1.5 text-sm font-medium"),O(Nn,"class","self-center text-xs"),O(Xn,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Xn,"type","button"),O(js,"class","py-0.5 flex w-full justify-between"),O(Ri,"class","self-center text-xs"),O(ua,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(ua,"type","button"),O(un,"class","py-0.5 flex w-full justify-between"),O(qn,"class","my-1.5 text-sm font-medium"),O(ji,"class","self-center text-xs"),O(Jn,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Jn,"type","button"),O(zn,"class","py-0.5 flex w-full justify-between"),O(u,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),O(Na,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(Na,"type","submit"),O(Gi,"class","flex justify-end text-sm font-medium"),O(a,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(m,w){Le(m,a,w),T(a,s),c[68](s),T(a,o),T(a,u),T(u,p),T(p,C),T(C,k
74),T(p,E),T(p,B),T(B,G),T(G,D),T(D,V),T(G,W),T(G,U),dn.m(U,null),T(p,H),T(p,K),T(K,J),T(J,g),T(g,e),T(J,d),T(J,_),Zr.m(_,null),T(p,re),sa&&sa.m(p,null),T(p,S),T(p,F),T(F,Ie),T(Ie,he),T(he,ge),T(Ie,Ce),T(Ie,Fe),za.m(Fe,null),T(p,Pe),T(p,de),T(de,pe),T(pe,we),T(we,me),T(pe,at),T(pe,Ue),gn.m(Ue,null),T(p,ot),T(p,pt),T(pt,ct),T(ct,je),T(je,It),T(ct,wt),T(ct,ze),aa.m(ze,null),T(p,rt),da&&da.m(p,null),T(p,Bt),T(p,Ot),T(Ot,oe),T(p,zt),T(p,ke),T(ke,fe),T(fe,Qe),T(Qe,st),T(fe,lt),T(fe,xt),hn.m(xt,null),T(p,jt),T(p,$t),T($t,Ft),T(Ft,dA),T(dA,nA),T(Ft,aA),T(Ft,bA),rs.m(bA,null),T(p,vA),T(p,Gt),T(Gt,mA),T(mA,AA),T(AA,CA),T(mA,NA),T(mA,tA),Ua.m(tA,null),T(p,iA),T(p,qt),T(qt,zA),T(zA,Fr),T(Fr,Tt),T(zA,MA),T(zA,QA),pn.m(QA,null),T(p,ZA),T(p,FA),T(FA,EA),T(EA,Rr),T(Rr,Dr),T(EA,Vs),T(EA,nr),rn.m(nr,null),T(p,qs),Ca&&Ca.m(p,null),T(p,xa),T(p,Ja),T(Ja,ma),T(ma,Qa),T(Qa,ds),T(ma,en),T(ma,oa),xn.m(oa,null),T(p,Yn),T(p,Ma),T(Ma,Br),T(Br,Hr),T(Hr,Rn),T(Br,Oi),T(Br,Ra),Za.m(Ra,null),T(p,jn),T(p,Tn),T(Tn,ja),T(ja,$A),T($A,la),T(ja,vi),T(ja,Pa),sn.m(Pa,null),T(p,ci),T(p,tn),T(tn,Wa),T(Wa,_t),T(_t,qe),T(Wa,ut),T(Wa,mt),bn.m(mt,null),T(p,vt),T(p,Rt),T(Rt,lA),T(lA,gt),T(gt,oA),T(lA,sr),T(lA,jr),Mn.m(jr,null),T(p,Gr),T(p,Or),T(Or,ir),T(ir,IA),T(IA,_r),T(ir,ba),T(ir,Bs),Dn.m(Bs,null),T(p,ts),T(p,PA),T(PA,Kr),T(Kr,Yt),T(Yt,Js),T(Yt,Ss),T(Yt,ks),T(Yt,os),T(Kr,Tr),T(Kr,As),Cn.m(As,null),T(p,yi),T(p,Da),T(Da,Qn),T(Qn,$s),T($s,or),T(Qn,ea),T(Qn,ta),vr.m(ta,null),T(p,Fo),T(p,io),T(io,ui),T(ui,Fi),T(Fi,Un),T(ui,Lo),T(ui,vn),wa.m(vn,null),T(p,Sa),T(p,Ns),T(Ns,BA),T(BA,Aa),T(Aa,Vi),T(BA,Go),T(BA,Kn),In.m(Kn,null),T(p,Vo),T(p,Hi),T(Hi,Bi),T(Bi,ca),T(ca,xi),T(Bi,Yi),T(Bi,Gs),wn.m(Gs,null),T(p,fi),T(p,An),T(An,Zn),T(Zn,Mi),T(Mi,oo),T(Zn,_o),T(Zn,Sn),gs.m(Sn,null),T(p,uA),T(p,yn),T(yn,lo),T(p,co),T(p,ra),T(ra,js),T(js,Nn),T(Nn,uo),T(js,_s),T(js,Xn),Ga.m(Xn,null),T(p,Ho),T(p,En),T(En,un),T(un,Ri),T(Ri,gi),T(un,wA),T(un,ua),LA.m(ua,null),T(p,To),T(p,qn),T(qn,fo),T(p,Yo),T(p,go),T(go,zn),T(zn,ji),T(ji,Ts),T(zn,Ro),T(zn,Jn),r.m(Jn,null),T(p,rr),n&&n.m(p,null),T(a,wr),T(a,Gi),T(Gi,Na),T(Na,Ws),On||(fa=[Qt(s,"change",c[69]),Qt(s,"change",c[70]),Qt(U,"click",c[71]),Qt(_,"click",c[72]),Qt(Fe,"click",c[74]),Qt(Ue,"click",c[62]),Qt(ze,"click",c[75]),Qt(xt,"click",c[78]),Qt(bA,"click",c[79]),Qt(tA,"click",c[80]),Qt(QA,"click",c[81]),Qt(nr,"click",c[82]),Qt(oa,"click",c[84]),Qt(Ra,"click",c[85]),Qt(Pa,"click",c[86]),Qt(mt,"click",c[87]),Qt(jr,"click",c[88]),Qt(Bs,"click",c[89]),Qt(As,"click",c[90]),Qt(ta,"click",c[91]),Qt(vn,"click",c[92]),Qt(Kn,"click",c[93]),Qt(Gs,"click",c[94]),Qt(Sn,"click",c[95]),Qt(Xn,"click",c[96]),Qt(ua,"click",c[97]),Qt(Jn,"click",c[98]),Qt(a,"submit",ul(c[101]))],On=!0)},p(m,w){var M,y,P;w[1]&16&&b!==(b=m[35].t("UI")+"")&&tt(k,b),w[1]&16&&Q!==(Q=m[35].t("Landing Page Mode")+"")&&tt(V,Q),Wi===(Wi=$n(m))&&dn?dn.p(m,w):(dn.d(1),dn=Wi(m),dn&&(dn.c(),dn.m(U,null))),w[1]&16&&v!==(v=m[35].t("Chat Bubble UI")+"")&&tt(e,v),Ui===(Ui=s0(m))&&Zr?Zr.p(m,w):(Zr.d(1),Zr=Ui(m),Zr&&(Zr.c(),Zr.m(_,null))),m[33].chatBubble?sa&&(sa.d(1),sa=null):sa?sa.p(m,w):(sa=ep(m),sa.c(),sa.m(p,S)),w[1]&16&&ce!==(ce=m[35].t("Widescreen Mode")+"")&&tt(ge,ce),Us===(Us=jo(m))&&za?za.p(m,w):(za.d(1),za=Us(m),za&&(za.c(),za.m(Fe,null))),w[1]&16&&Ge!==(Ge=m[35].t("Chat direction")+"")&&tt(me,Ge),mo===(mo=ei(m))&&gn?gn.p(m,w):(gn.d(1),gn=mo(m),gn&&(gn.c(),gn.m(Ue,null))),w[1]&16&&At!==(At=m[35].t("Notification Sound")+"")&&tt(It,At),Ki===(Ki=Wo(m))&&aa?aa.p(m,w):(aa.d(1),aa=Ki(m),aa&&(aa.c(),aa.m(ze,null))),((M=m[36])==null?void 0:M.role)==="admin"?da?da.p(m,w):(da=tp(m),da.c(),da.m(p,Bt)):da&&(da.d(1),da=null),w[1]&16&&St!==(St=m[35].t("Chat")+"")&&tt(oe,St),w[1]&16&&Je!==(Je=m[35].t("Title Auto-Generation")+"")&&tt(st,Je),bo===(bo=a0(m))&&hn?hn.p(m,w):(hn.d(1),hn=bo(m),hn&&(hn.c(),hn.m(xt,null))),w[1]&16&&eA!==(eA=m[35].t("Chat Tags Auto-Generation")+"")&&tt(nA,eA),Zi===(Zi=ti(m))&&rs?rs.p(m,w):(rs.d(1),rs=Zi(m),rs&&(rs.c(),rs.m(bA,null))),w[1]&16&&gr!==(gr=m[35].t("Detect Artifacts Automatically")+"")&&tt(CA,gr),Xi===(Xi=Uo(m))&&Ua?Ua.p(m,w):(Ua.d(1),Ua=Xi(m),Ua&&(Ua.c(),Ua.m(tA,null))),w[1]&16&&Vr!==(Vr=m[35].t("Auto-Copy Response to Clipboard")+"")&&tt(Tt,Vr),_i===(_i=Ka(m))&&pn?pn.p(m,w):(pn.d(1),pn=_i(m),pn&&(pn.c(),pn.m(QA,null))),w[1]&16&&Er!==(Er=m[35].t("Rich Text Input for Chat")+"")&&tt(Dr,Er),Co===(Co=Bn(m))&&rn?rn.p(m,w):(rn.d(1),rn=Co(m),rn&&(rn.c(),rn.m(nr,null))),(P=(y=m[34])==null?void 0:y.features)!=null&&P.enable_autocomplete_generation&&m[13]?Ca?Ca.p(m,w):(Ca=Ap(m),Ca.c(),Ca.m(p,xa)):Ca&&(Ca.d(1),Ca=null),w[1]&16&&$a!==($a=m[35].t("Paste Large Text as File")+"")&&tt(ds,$a),Io===(Io=qi(m))&&xn?xn.p(m,w):(xn.d(1),xn=Io(m),xn&&(xn.c(),xn.m(oa,null))),w[1]&16&&cn!==(cn=m[35].t("Copy Formatted Text")+"")&&tt(Rn,cn),Ks===(Ks=n0(m))&&Za?Za.p(m,w):(Za.d(1),Za=Ks(m),Za&&(Za.c(),Za.m(Ra,null))),w[1]&16&&fr!==(fr=m[35].t("Always Collapse Code Blocks")+"")&&tt(la,fr),wo===(wo=Ia(m))&&sn?sn.p(m,w):(sn.d(1),sn=wo(m),sn&&(sn.c(),sn.m(Pa,null))),w[1]&16&&Ee!==(Ee=m[35].t("Always Expand Details")+"")&&tt(qe,Ee),ss===(ss=mn(m))&&bn?bn.p(m,w):(bn.d(1),bn=ss(m),bn&&(bn.c(),bn.m(mt,null))),w[1]&16&&pA!==(pA=m[35].t("Chat Backgroun
74d Image")+"")&&tt(oA,pA),pi===(pi=hi(m))&&Mn?Mn.p(m,w):(Mn.d(1),Mn=pi(m),Mn&&(Mn.c(),Mn.m(jr,null))),w[1]&16&&_A!==(_A=m[35].t("Allow User Location")+"")&&tt(_r,_A),ko===(ko=Ko(m))&&Dn?Dn.p(m,w):(Dn.d(1),Dn=ko(m),Dn&&(Dn.c(),Dn.m(Bs,null))),w[1]&16&&TA!==(TA=m[35].t("Haptic Feedback")+"")&&tt(Js,TA),w[1]&16&&Ds!==(Ds=m[35].t("Android")+"")&&tt(ks,Ds),an===(an=mi(m))&&Cn?Cn.p(m,w):(Cn.d(1),Cn=an(m),Cn&&(Cn.c(),Cn.m(As,null))),w[1]&16&&Ei!==(Ei=m[35].t("Enter Key Behavior")+"")&&tt(or,Ei),Hs===(Hs=vo(m))&&vr?vr.p(m,w):(vr.d(1),vr=Hs(m),vr&&(vr.c(),vr.m(ta,null))),w[1]&16&&Wn!==(Wn=m[35].t("Scroll to bottom when switching between branches")+"")&&tt(Un,Wn),Qo===(Qo=Ji(m))&&wa?wa.p(m,w):(wa.d(1),wa=Qo(m),wa&&(wa.c(),wa.m(vn,null))),w[1]&16&&Li!==(Li=m[35].t("Web Search in Chat")+"")&&tt(Vi,Li),Ai===(Ai=bi(m))&&In?In.p(m,w):(In.d(1),In=Ai(m),In&&(In.c(),In.m(Kn,null))),w[1]&16&&Wr!==(Wr=m[35].t("iframe Sandbox Allow Same Origin")+"")&&tt(xi,Wr),Po===(Po=ka(m))&&wn?wn.p(m,w):(wn.d(1),wn=Po(m),wn&&(wn.c(),wn.m(Gs,null))),w[1]&16&&Pn!==(Pn=m[35].t("iframe Sandbox Allow Forms")+"")&&tt(oo,Pn),Ti===(Ti=$i(m))&&gs?gs.p(m,w):(gs.d(1),gs=Ti(m),gs&&(gs.c(),gs.m(Sn,null))),w[1]&16&&kA!==(kA=m[35].t("Voice")+"")&&tt(lo,kA),w[1]&16&&di!==(di=m[35].t("Allow Voice Interruption in Call")+"")&&tt(uo,di),eo===(eo=Zo(m))&&Ga?Ga.p(m,w):(Ga.d(1),Ga=eo(m),Ga&&(Ga.c(),Ga.m(Xn,null))),w[1]&16&&Di!==(Di=m[35].t("Display Emoji in Call")+"")&&tt(gi,Di),Ci===(Ci=i0(m))&&LA?LA.p(m,w):(LA.d(1),LA=Ci(m),LA&&(LA.c(),LA.m(ua,null))),w[1]&16&&fn!==(fn=m[35].t("File")+"")&&tt(fo,fn),w[1]&16&&ho!==(ho=m[35].t("Image Compression")+"")&&tt(Ts,ho),A===(A=t(m))&&r?r.p(m,w):(r.d(1),r=A(m),r&&(r.c(),r.m(Jn,null))),m[23]?n?n.p(m,w):(n=rp(m),n.c(),n.m(p,null)):n&&(n.d(1),n=null),w[1]&16&&po!==(po=m[35].t("Save")+"")&&tt(Ws,po)},i:WA,o:WA,d(m){m&&z(a),c[68](null),dn.d(),Zr.d(),sa&&sa.d(),za.d(),gn.d(),aa.d(),da&&da.d(),hn.d(),rs.d(),Ua.d(),pn.d(),rn.d(),Ca&&Ca.d(),xn.d(),Za.d(),sn.d(),bn.d(),Mn.d(),Dn.d(),Cn.d(),vr.d(),wa.d(),In.d(),wn.d(),gs.d(),Ga.d(),LA.d(),r.d(),n&&n.d(),On=!1,Es(fa)}}}function Fk(c,a,s){let o,u,p,C;YA(c,Do,Br=>s(33,o=Br)),YA(c,rc,Br=>s(34,u=Br)),YA(c,Ac,Br=>s(36,C=Br));const b=ii(),k=Xs("i18n");YA(c,k,Br=>s(35,p=Br));let{saveSettings:E}=a,B=null,G=null,D,Q=!0,V=!0,W=!1,U=!1,H=!0,K=!1,J="",g=!1,v=!0,e=!0,d=!0,_=!1,re=!1,S="",F=!0,Ie="auto",he=!1,ce=!1,ge=!1,Ce=!1,Fe=!1,Pe={width:"",height:""},de=!0,pe=!0,we=!1,Ge=!1,me=!1,at=null,Ue=!1,ot=!1;const pt=()=>{s(22,Ce=!Ce),E({expandDetails:Ce})},ct=()=>{s(21,ge=!ge),E({collapseCodeBlocks:ge})},je=async()=>{s(14,_=!_),E({promptAutocomplete:_})},At=async()=>{s(8,H=!H),E({scrollOnBranchChange:H})},It=async()=>{s(7,U=!U),E({widescreenMode:U})},wt=async()=>{s(17,F=!F),E({chatBubble:F})},ze=async()=>{s(16,S=S===""?"chat":""),E({landingPageMode:S})},rt=async()=>{s(25,de=!de),E({showUpdateToast:de})},Bt=async()=>{s(11,v=!v),E({notificationSound:v})},Ot=async()=>{s(26,pe=!pe),E({showChangelog:pe})},St=async()=>{s(10,g=!g),E({showUsername:g})},oe=async()=>{s(27,we=!we),E({showEmojiInCall:we})},zt=async()=>{s(28,Ge=!Ge),E({voiceInterruption:Ge})},ke=async()=>{s(23,Fe=!Fe),E({imageCompression:Fe})},fe=async()=>{s(29,me=!me),E({hapticFeedback:me})},Qe=async()=>{if(s(9,K=!K),K){const Br=await M8().catch(Hr=>(cr.error(Hr.message),null));Br?(await S8(localStorage.token,{location:Br}),cr.success(p.t("User location successfully retrieved."))):s(9,K=!1)}E({userLocation:K})},Je=async()=>{s(4,Q=!Q),E({title:{...o.title,auto:Q}})},st=async()=>{s(5,V=!V),E({autoTags:V})},lt=async()=>{s(12,e=!e),E({detectArtifacts:e})},xt=async()=>{s(13,d=!d),E({richTextInput:d})},jt=async()=>{s(15,re=!re),E({largeTextAsFile:re})},$t=async()=>{const Br=await navigator.clipboard.readText().then(()=>"granted").catch(()=>"");console.log(Br),Br==="granted"?(s(6,W=!W),E({responseAutoCopy:W})):cr.error(p.t("Clipboard write permission denied. Please check your browser settings to grant the necessary access."))},Ft=async()=>{s(20,ce=!ce),E({copyFormatted:ce})},dA=async()=>{Ie==="auto"?s(18,Ie="LTR"):Ie==="LTR"?s(18,Ie="RTL"):Ie==="RTL"&&s(18,Ie="auto"),E({chatDirection:Ie})},eA=async()=>{s(19,he=!he),E({ctrlEnterToSend:he})},nA=async()=>{E({models:[J],imageCompressionSize:Pe})},aA=async()=>{s(30,at=at===null?"always":null),E({webSearch:at})},bA=async()=>{s(31,Ue=!Ue),E({iframeSandboxAllowSameOrigin:Ue})},vA=async()=>{s(32,ot=!ot),E({iframeSandboxAllowForms:ot})};li(async()=>{var Br,Hr;s(4,Q=((Br=o==null?void 0:o.title)==null?void 0:Br.auto)??!0),s(5,V=o.autoTags??!0),s(12,e=o.detectArtifacts??!0),s(6,W=o.responseAutoCopy??
74!1),s(10,g=o.showUsername??!1),s(25,de=o.showUpdateToast??!0),s(26,pe=o.showChangelog??!0),s(27,we=o.showEmojiInCall??!1),s(28,Ge=o.voiceInterruption??!1),s(13,d=o.richTextInput??!0),s(14,_=o.promptAutocomplete??!1),s(15,re=o.largeTextAsFile??!1),s(20,ce=o.copyFormatted??!1),s(21,ge=o.collapseCodeBlocks??!1),s(22,Ce=o.expandDetails??!1),s(16,S=o.landingPageMode??""),s(17,F=o.chatBubble??!0),s(7,U=o.widescreenMode??!1),o.splitLargeChunks,s(8,H=o.scrollOnBranchChange??!0),s(18,Ie=o.chatDirection??"auto"),s(9,K=o.userLocation??!1),s(11,v=o.notificationSound??!0),s(29,me=o.hapticFeedback??!1),s(19,he=o.ctrlEnterToSend??!1),s(23,Fe=o.imageCompression??!1),s(24,Pe=o.imageCompressionSize??{width:"",height:""}),J=((Hr=o==null?void 0:o.models)==null?void 0:Hr.at(0))??"",u!=null&&u.default_models&&(J=u.default_models.split(",")[0]),s(1,B=o.backgroundImageUrl??null),s(30,at=o.webSearch??null)});function Gt(Br){kr[Br?"unshift":"push"](()=>{D=Br,s(3,D)})}function mA(){G=this.files,s(2,G)}const AA=()=>{let Br=new FileReader;Br.onload=Hr=>{let cn=`${Hr.target.result}`;s(1,B=cn),E({backgroundImageUrl:B})},G&&G.length>0&&["image/gif","image/webp","image/jpeg","image/png"].includes(G[0].type)?Br.readAsDataURL(G[0]):(console.log(`Unsupported File Type '${G[0].type}'.`),s(2,G=null))},gr=()=>{ze()},CA=()=>{wt()},NA=()=>{St()},tA=()=>{It()},iA=()=>{Bt()},qt=()=>{rt()},zA=()=>{Ot()},Fr=()=>{Je()},Vr=()=>{st()},Tt=()=>{lt()},MA=()=>{$t()},QA=()=>{xt()},ZA=()=>{je()},FA=()=>{jt()},EA=()=>{Ft()},Rr=()=>{ct()},Er=()=>{pt()},Dr=()=>{B!==null?(s(1,B=null),E({backgroundImageUrl:B})):D.click()},Vs=()=>{Qe()},nr=()=>{fe()},qs=()=>{eA()},xa=()=>{At()},Ja=()=>{aA()},ma=()=>{bA()},Qa=()=>{vA()},$a=()=>{zt()},ds=()=>{oe()},en=()=>{ke()};function oa(){Pe.width=W1(this.value),s(24,Pe)}function Yn(){Pe.height=W1(this.value),s(24,Pe)}const Ma=()=>{nA(),b("save")};return c.$$set=Br=>{"saveSettings"in Br&&s(0,E=Br.saveSettings)},[E,B,G,D,Q,V,W,U,H,K,g,v,e,d,_,re,S,F,Ie,he,ce,ge,Ce,Fe,Pe,de,pe,we,Ge,me,at,Ue,ot,o,u,p,C,b,k,pt,ct,je,At,It,wt,ze,rt,Bt,Ot,St,oe,zt,ke,fe,Qe,Je,st,lt,xt,jt,$t,Ft,dA,eA,nA,aA,bA,vA,Gt,mA,AA,gr,CA,NA,tA,iA,qt,zA,Fr,Vr,Tt,MA,QA,ZA,FA,EA,Rr,Er,Dr,Vs,nr,qs,xa,Ja,ma,Qa,$a,ds,en,oa,Yn,Ma]}class Lk extends bs{constructor(a){super(),Cs(this,a,Fk,Ok,ms,{saveSettings:0},null,[-1,-1,-1,-1])}}var rl={},Ff,f2,Mm={
vendor: 344 bytes, line 74
74"./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm":(c,a,s)=>{c.exports=s.p+"ort-wasm-simd-threaded.jsep.wasm"},"./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb":(c,a,s)=>{c.exports=s.p+"ort.bundle.min.mjs"},"?2ce3":()=>{},"?7a2c":()=>{},"?a42a":()=>{},"?2b25":()=>{},"?569f":()=>{},"?3f59":()=>{},"?154a":()=>{},
vendor: 33,754 bytes, lines 74-81
74"./node_modules/@huggingface/jinja/dist/index.js":(c,a,s)=>{s.r(a),s.d(a,{Environment:()=>Bt,Interpreter:()=>Ot,Template:()=>zt,parse:()=>pe,tokenize:()=>B});var o=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",BooleanLiteral:"BooleanLiteral",NullLiteral:"NullLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Set:"Set",If:"If",For:"For",In:"In",Is:"Is",NotIn:"NotIn",Else:"Else",EndIf:"EndIf",ElseIf:"ElseIf",EndFor:"EndFor",And:"And",Or:"Or",Not:"UnaryOperator",Macro:"Macro",EndMacro:"EndMacro"}),u=Object.freeze({set:o.Set,for:o.For,in:o.In,is:o.Is,if:o.If,else:o.Else,endif:o.EndIf,elif:o.ElseIf,endfor:o.EndFor,and:o.And,or:o.Or,not:o.Not,"not in":o.NotIn,macro:o.Macro,endmacro:o.EndMacro,true:o.BooleanLiteral,false:o.BooleanLiteral,none:o.NullLiteral,True:o.BooleanLiteral,False:o.BooleanLiteral,None:o.NullLiteral}),p=class{constructor(ke,fe){this.value=ke,this.type=fe}};function C(ke){return/\w/.test(ke)}function b(ke){return/[0-9]/.test(ke)}var k=[["{%",o.OpenStatement],["%}",o.CloseStatement],["{{",o.OpenExpression],["}}",o.CloseExpression],["(",o.OpenParen],[")",o.CloseParen],["{",o.OpenCurlyBracket],["}",o.CloseCurlyBracket],["[",o.OpenSquareBracket],["]",o.CloseSquareBracket],[",",o.Comma],[".",o.Dot],[":",o.Colon],["|",o.Pipe],["<=",o.ComparisonBinaryOperator],[">=",o.ComparisonBinaryOperator],["==",o.ComparisonBinaryOperator],["!=",o.ComparisonBinaryOperator],["<",o.ComparisonBinaryOperator],[">",o.ComparisonBinaryOperator],["+",o.AdditiveBinaryOperator],["-",o.AdditiveBinaryOperator],["*",o.MultiplicativeBinaryOperator],["/",o.MultiplicativeBinaryOperator],["%",o.MultiplicativeBinaryOperator],["=",o.Equals]],E=new Map([["n",`
75`],["t","	"],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function B(ke,fe={}){var xt,jt,$t;const Qe=[],Je=function(Ft,dA={}){return Ft.endsWith(`
76`)&&(Ft=Ft.slice(0,-1)),Ft=Ft.replace(/{#.*?#}/gs,"{##}"),dA.lstrip_blocks&&(Ft=Ft.replace(/^[ \t]*({[#%])/gm,"$1")),dA.trim_blocks&&(Ft=Ft.replace(/([#%]})\n/g,"$1")),Ft.replace(/{##}/g,"").replace(/-%}\s*/g,"%}").replace(/\s*{%-/g,"{%").replace(/-}}\s*/g,"}}").replace(/\s*{{-/g,"{{")}(ke,fe);let st=0;const lt=Ft=>{let dA="";for(;Ft(Je[st]);)if(Je[st]!=="\\"){if(dA+=Je[st++],st>=Je.length)throw new SyntaxError("Unexpected end of input")}else{if(++st,st>=Je.length)throw new SyntaxError("Unexpected end of input");const eA=Je[st++],nA=E.get(eA);if(nA===void 0)throw new SyntaxError(`Unexpected escaped character: ${eA}`);dA+=nA}return dA};e:for(;st<Je.length;){const Ft=(xt=Qe.at(-1))==null?void 0:xt.type;if(Ft===void 0||Ft===o.CloseStatement||Ft===o.CloseExpression){let eA="";for(;st<Je.length&&(Je[st]!=="{"||Je[st+1]!=="%"&&Je[st+1]!=="{");)eA+=Je[st++];if(eA.length>0){Qe.push(new p(eA,o.Text));continue}}lt(eA=>/\s/.test(eA));const dA=Je[st];if(dA==="-"||dA==="+"){const eA=(jt=Qe.at(-1))==null?void 0:jt.type;if(eA===o.Text||eA===void 0)throw new SyntaxError(`Unexpected character: ${dA}`);switch(eA){case o.Identifier:case o.NumericLiteral:case o.BooleanLiteral:case o.NullLiteral:case o.StringLiteral:case o.CloseParen:case o.CloseSquareBracket:break;default:{++st;const nA=lt(b);Qe.push(new p(`${dA}${nA}`,nA.length>0?o.NumericLiteral:o.UnaryOperator));continue}}}for(const[eA,nA]of k)if(Je.slice(st,st+eA.length)===eA){Qe.push(new p(eA,nA)),st+=eA.length;continue e}if(dA!=="'"&&dA!=='"')if(b(dA)){const eA=lt(b);Qe.push(new p(eA,o.NumericLiteral))}else{if(!C(dA))throw new SyntaxError(`Unexpected character: ${dA}`);{const eA=lt(C),nA=Object.hasOwn(u,eA)?u[eA]:o.Identifier;nA===o.In&&(($t=Qe.at(-1))==null?void 0:$t.type)===o.Not?(Qe.pop(),Qe.push(new p("not in",o.NotIn))):Qe.push(new p(eA,nA))}}else{++st;const eA=lt(nA=>nA!==dA);Qe.push(new p(eA,o.StringLiteral)),++st}}return Qe}var G=class{constructor(){Ct(this,"type","Statement")}},D=class extends G{constructor(fe){super();Ct(this,"type","Program");this.body=fe}},Q=class extends G{constructor(fe,Qe,Je){super();Ct(this,"type","If");this.test=fe,this.body=Qe,this.alternate=Je}},V=class extends G{constructor(fe,Qe,Je,st){super();Ct(this,"type","For");this.loopvar=fe,this.iterable=Qe,this.body=Je,this.defaultBlock=st}},W=class extends G{constructor(fe,Qe){super();Ct(this,"type","Set");this.assignee=fe,this.value=Qe}},U=class extends G{constructor(fe,Qe,Je){super();Ct(this,"type","Macro");this.name=fe,this.args=Qe,this.body=Je}},H=class extends G{constructor(){super(...arguments);Ct(this,"type","Expression")}},K=class extends H{constructor(fe,Qe,Je){super();Ct(this,"type","MemberExpression");this.object=fe,this.property=Qe,this.computed=Je}},J=class extends H{constructor(fe,Qe){super();Ct(this,"type","CallExpression");this.callee=fe,this.args=Qe}},g=class extends H{constructor(fe){super();Ct(this,"type","Identifier");this.value=fe}},v=class extends H{constructor(fe){super();Ct(this,"type","Literal");this.value=fe}},e=class extends v{constructor(){super(...arguments);Ct(this,"type","NumericLiteral")}},d=class extends v{constructor(){super(...arguments);Ct(this,"type","StringLiteral")}},_=class extends v{constructor(){super(...arguments);Ct(this,"type","BooleanLiteral")}},re=class extends v{constructor(){super(...arguments);Ct(this,"type","NullLiteral")}},S=class extends v{constructor(){super(...arguments);Ct(this,"type","ArrayLiteral")}},F=class extends v{constructor(){super(...arguments);Ct(this,"type","TupleLiteral")}},Ie=class extends v{constructor(){super(...arguments);Ct(this,"type","ObjectLiteral")}},he=class extends H{constructor(fe,Qe,Je){super();Ct(this,"type","BinaryExpression");this.operator=fe,this.left=Qe,this.right=Je}},ce=class extends H{constructor(fe,Qe){super();Ct(this,"type","FilterExpression");this.operand=fe,this.filter=Qe}},ge=class extends H{constructor(fe,Qe){super();Ct(this,"type","SelectExpression");this.iterable=fe,this.test=Qe}},Ce=class extends H{constructor(fe,Qe,Je){super();Ct(this,"type","TestExpression");this.operand=fe,this.negate=Qe,this.test=Je}},Fe=class extends H{constructor(fe,Qe){super();Ct(this,"type","UnaryExpression");this.operator=fe,this.argument=Qe}},Pe=class extends H{constructor(fe=void 0,Qe=void 0,Je=void 0){super();Ct(this,"type","SliceExpression");this.start=fe,this.stop=Qe,this.step=Je}},de=class extends H{constructor(fe,Qe){super();Ct(this,"type","KeywordArgumentExpression");this.key=fe,this.value=Qe}};function pe(ke){const fe=new D([]);let Qe=0;function Je(tA,iA){const qt=ke[Qe++];if(!qt||qt.type!==tA)throw new Error(`Parser Error: ${iA}. ${qt.type} !== ${tA}.`);return qt}function st(){switch(ke[Qe].type){case o.Text:return new d(Je(o.Text,"Expected text token").value);case o.OpenStatement:return function(){let tA;switch(Je(o.OpenStatement,"Expected opening statement token"),ke[Qe].type){case o.Set:++Qe,tA=jt(),Je(o.CloseStatement,"Expected closing statement token");break;case o.If:++Qe,tA=$t(),Je(o.OpenStatement,"Expected {% token"),Je(o.EndIf,"Expected endif token"),Je(o.CloseStatement,"Expected %} token");break;case o.Macro:++Qe,tA=function(){const iA=NA();if(iA.type!=="Identifier")throw new SyntaxError("Expected identifier following macro statement");const qt=Gt();Je(o.CloseStatement,"Expected closing statement token");const zA=[];for(;lt(o.OpenStatement,o.EndMacro);)zA.push(st());return new U(iA,qt,zA)}(),Je(o.OpenStatement,"Expected {% token"),Je(o.EndMacro,"Expected endmacro token"),Je(o.CloseStatement,"Expected %} token");break;case o.For:++Qe,tA=function(){const iA=Ft(!0);if(!(iA instanceof g||iA instanceof F))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${iA.type} instead`);Je(o.In,"Expected `in` keyword following loop variable");const qt=dA();Je(o.CloseStatement,"Expected closing statement token");const zA=[];for(;lt(o.OpenStatement,o.EndFor)&&lt(o.OpenStatement,o.Else);)zA.push(st());const Fr=[];if(xt(o.OpenStatement,o.Else))for(++Qe,++Qe,Je(o.CloseStatement,"Expected closing statement token");lt(o.OpenStatement,o.EndFor);)Fr.push(st());return new V(iA,qt,zA,Fr)}(),Je(o.OpenStatement,"Expected {% token"),Je(o.EndFor,"Expected endfor token"),Je(o.CloseStatement,"Expected %} token");break;default:throw new SyntaxError(`Unknown statement type: ${ke[Qe].type}`)}return tA}();case o.OpenExpression:return function(){Je(o.OpenExpression,"Expected opening expression token");const tA=dA();return Je(o.CloseExpression,"Expected closing expression token"),tA}();default:throw new SyntaxError(`Unexpected token type: ${ke[Qe].type}`)}}function lt(...tA){return Qe+tA.length<=ke.length&&tA.some((iA,qt)=>iA!==ke[Qe+qt].type)}function xt(...tA){return Qe+tA.length<=ke.length&&tA.every((iA,qt)=>iA===ke[Qe+qt].type)}function jt(){const tA=dA();if(xt(o.Equals)){++Qe;const iA=jt();return new W(tA,iA)}return tA}function $t(){var zA,Fr,Vr,Tt,MA,QA,ZA,FA;const tA=dA();Je(o.CloseStatement,"Expected closing statement token");const iA=[],qt=[];for(;((zA=ke[Qe])==null?void 0:zA.type)!==o.OpenStatement||((Fr=ke[Qe+1])==null?void 0:Fr.type)!==o.ElseIf&&((Vr=ke[Qe+1])==null?void 0:Vr.type)!==o.Else&&((Tt=ke[Qe+1])==null?void 0:Tt.type)!==o.EndIf;)iA.push(st());if(((MA=ke[Qe])==null?void 0:MA.type)===o.OpenStatement&&((QA=ke[Qe+1])==null?void 0:QA.type)!==o.EndIf)if(++Qe,xt(o.ElseIf))Je(o.ElseIf,"Expected elseif token"),qt.push($t());else for(Je(o.Else,"Expected else token"),Je(o.CloseStatement,"Expected closing statement token");((ZA=ke[Qe])==null?void 0:ZA.type)!==o.OpenStatement||((FA=ke[Qe+1])==null?void 0:FA.type)!==o.EndIf;)qt.push(st());return new Q(tA,iA,qt)}function Ft(tA=!1){const iA=tA?NA:dA,qt=[iA()],zA=xt(o.Comma);for(;zA&&(++Qe,qt.push(iA()),xt(o.Comma)););return zA?new F(qt):qt[0]}function dA(){return function(){const tA=eA();if(xt(o.If)){++Qe;const iA=eA();if(xt(o.Else)){++Qe;const qt=eA();return new Q(iA,[tA],[qt])}return new ge(tA,iA)}return tA}()}function eA(){let tA=nA();for(;xt(o.Or);){const iA=ke[Qe];++Qe;const qt=nA();tA=new he(iA,tA,qt)}return tA}function nA(){let tA=aA();for(;xt(o.And);){const iA=ke[Qe];++Qe;const qt=aA();tA=new he(iA,tA,qt)}return tA}function aA(){let tA;for(;xt(o.Not);){const iA=ke[Qe];++Qe;const qt=aA();tA=new Fe(iA,qt)}return tA??function(){let iA=bA();for(;xt(o.ComparisonBinaryOperator)||xt(o.In)||xt(o.NotIn);){const qt=ke[Qe];++Qe;const zA=bA();iA=new he(qt,iA,zA)}return iA}()}function bA(){let tA=gr();for(;xt(o.AdditiveBinaryOperator);){const iA=ke[Qe];++Qe;const qt=gr();tA=new he(iA,tA,qt)}return tA}function vA(tA){let iA=new J(tA,Gt());return iA=AA(iA),xt(o.OpenParen)&&(iA=vA(iA)),iA}function Gt(){Je(o.OpenParen,"Expected opening parenthesis for arguments list");const tA=function(){const iA=[];for(;!xt(o.CloseParen);){let qt=dA();if(xt(o.Equals)){if(++Qe,!(qt instanceof g))throw new SyntaxError("Expected identifier for keyword argument");const zA=dA();qt=new de(qt,zA)}iA.push(qt),xt(o.Comma)&&++Qe}return iA}();return Je(o.CloseParen,"Expected closing parenthesis for arguments list"),tA}function mA(){const tA=[];let iA=!1;for(;!xt(o.CloseSquareBracket);)xt(o.Colon)?(tA.push(void 0),++Qe,iA=!0):(tA.push(dA()),xt(o.Colon)&&(++Qe,iA=!0));if(tA.length===0)throw new SyntaxError("Expected at least one argument for member/slice expression");if(iA){if(tA.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new Pe(...tA)}return tA[0]}function AA(tA){for(;xt(o.Dot)||xt(o.OpenSquareBracket);){const iA=ke[Qe];let qt;++Qe;const zA=iA.type!==o.Dot;if(zA)qt=mA(),Je(o.CloseSquareBracket,"Expected closing square bracket");else if(qt=NA(),qt.type!=="Identifier")throw new SyntaxError("Expected identifier following dot operator");tA=new K(tA,qt,zA)}return tA}function gr(){let tA=CA();for(;xt(o.MultiplicativeBinaryOperator);){const iA=ke[Qe];++Qe;const qt=CA();tA=new he(iA,tA,qt)}return tA}function CA(){let tA=function(){let iA=function(){const qt=AA(NA());return xt(o.OpenParen)?vA(qt):qt}();for(;xt(o.Pipe);){++Qe;let qt=NA();if(!(qt instanceof g))throw new SyntaxError("Expected identifier for the filter");xt(o.OpenParen)&&(qt=vA(qt)),iA=new ce(iA,qt)}return iA}();for(;xt(o.Is);){++Qe;const iA=xt(o.Not);iA&&++Qe;let qt=NA();if(qt instanceof _?qt=new g(qt.value.toString()):qt instanceof re&&(qt=new g("none")),!(qt instanceof g))throw new SyntaxError("Expected identifier for the test");tA=new Ce(tA,iA,qt)}return tA}function NA(){const tA=ke[Qe];switch(tA.type){case o.NumericLiteral:return++Qe,new e(Number(tA.value));case o.StringLiteral:return++Qe,new d(tA.value);case o.BooleanLiteral:return++Qe,new _(tA.value.toLowerCase()==="true");case o.NullLiteral:return++Qe,new re(null);case o.Identifier:return++Qe,new g(tA.value);case o.OpenParen:{++Qe;const iA=Ft();if(ke[Qe].type!==o.CloseParen)throw new SyntaxError(`Expected closing parenthesis, got ${ke[Qe].type} instead`);return++Qe,iA}case o.OpenSquareBracket:{++Qe;const iA=[];for(;!xt(o.CloseSquareBracket);)iA.push(dA()),xt(o.Comma)&&++Qe;return++Qe,new S(iA)}case o.OpenCurlyBracket:{++Qe;const iA=new Map;for(;!xt(o.CloseCurlyBracket);){const qt=dA();Je(o.Colon,"Expected colon between key and value in object literal");const zA=dA();iA.set(qt,zA),xt(o.Comma)&&++Qe}return++Qe,new Ie(iA)}default:throw new SyntaxError(`Unexpected token: ${tA.type}`)}}for(;Qe<ke.length;)fe.body.push(st());return fe}function we(ke,fe,Qe=1){fe===void 0&&(fe=ke,ke=0);const Je=[];for(let st=ke;st<fe;st+=Qe)Je.push(st);return Je}function Ge(ke,fe,Qe,Je=1){const st=Math.sign(Je);st>=0?(fe=(fe??(fe=0))<0?Math.max(ke.length+fe,0):Math.min(fe,ke.length),Qe=(Qe??(Qe=ke.length))<0?Math.max(ke.length+Qe,0):Math.min(Qe,ke.length)):(fe=(fe??(fe=ke.length-1))<0?Math.max(ke.length+fe,-1):Math.min(fe,ke.length-1),Qe=(Qe??(Qe=-1))<-1?Math.max(ke.length+Qe,-1):Math.min(Qe,ke.length-1));const lt=[];for(let xt=fe;st*xt<st*Qe;xt+=Je)lt.push(ke[xt]);return lt}function me(ke){return ke.replace(/\b\w/g,fe=>fe.toUpperCase())}var at=class{constructor(ke=void 0){Ct(this,"type","RuntimeValue");Ct(this,"value");Ct(this,"builtins",new Map);this.value=ke}__bool__(){return new pt(!!this.value)}},Ue=class extends at{constructor(){super(...arguments);Ct(this,"type","NumericValue")}},ot=class extends at{constructor(){super(...arguments);Ct(this,"type","StringValue");Ct(this,"builtins",new Map([["upper",new wt(()=>new ot(this.value.toUpperCase()))],["lower",new wt(()=>new ot(this.value.toLowerCase()))],["strip",new wt(()=>new ot(this.value.trim()))],["title",new wt(()=>new ot(me(this.value)))],["length",new Ue(this.value.length)],["rstrip",new wt(()=>new ot(this.value.trimEnd()))],["lstrip",new wt(()=>new ot(this.value.trimStart()))],["split",new wt(fe=>{const Qe=fe[0]??new ze;if(!(Qe instanceof ot||Qe instanceof ze))throw new Error("sep argument must be a string or null");const Je=fe[1]??new Ue(-1);if(!(Je instanceof Ue))throw new Error("maxsplit argument must be a number");let st=[];if(Qe instanceof ze){const lt=this.value.trimStart();for(const{0:xt,index:jt}of lt.matchAll(/\S+/g)){if(Je.value!==-1&&st.length>=Je.value&&jt!==void 0){st.push(xt+lt.slice(jt+xt.length));break}st.push(xt)}}else{if(Qe.value==="")throw new Error("empty separator");st=this.value.split(Qe.value),Je.value!==-1&&st.length>Je.value&&st.push(st.splice(Je.value).join(Qe.value))}return new At(st.map(lt=>new ot(lt)))})]]))}},pt=class extends at{constructor(){super(...arguments);Ct(this,"type","BooleanValue")}},ct=class extends at{constructor(){super(...arguments);Ct(this,"type","ObjectValue");Ct(this,"builtins",new Map([["get",new wt(([fe,Qe])=>{if(!(fe instanceof ot))throw new Error(`Object key must be a string: got ${fe.type}`);return this.value.get(fe.value)??Qe??new ze})],["items",new wt(()=>new At(Array.from(this.value.entries()).map(([fe,Qe])=>new At([new ot(fe),Qe]))))]]))}__bool__(){return new pt(this.value.size>0)}},je=class extends ct{constructor(){super(...arguments);Ct(this,"type","KeywordArgumentsValue")}},At=class extends at{constructor(){super(...arguments);Ct(this,"type","ArrayValue");Ct(this,"builtins",new Map([["length",new Ue(this.value.length)]]))}__bool__(){return new pt(this.value.length>0)}},It=class extends At{constructor(){super(...arguments);Ct(this,"type","TupleValue")}},wt=class extends at{constructor(){super(...arguments);Ct(this,"type","FunctionValue")}},ze=class extends at{constructor(){super(...arguments);Ct(this,"type","NullValue")}},rt=class extends at{constructor(){super(...arguments);Ct(this,"type","UndefinedValue")}},Bt=class{constructor(ke){Ct(this,"variables",new Map([["namespace",new wt(ke=>{if(ke.length===0)return new ct(new Map);if(ke.length!==1||!(ke[0]instanceof ct))throw new Error("`namespace` expects either zero arguments or a single object argument");return ke[0]})]]));Ct(this,"tests",new Map([["boolean",ke=>ke.type==="BooleanValue"],["callable",ke=>ke instanceof wt],["odd",ke=>{if(ke.type!=="NumericValue")throw new Error(`Cannot apply test "odd" to type: ${ke.type}`);return ke.value%2!=0}],["even",ke=>{if(ke.type!=="NumericValue")throw new Error(`Cannot apply test "even" to type: ${ke.type}`);return ke.value%2==0}],["false",ke=>ke.type==="BooleanValue"&&!ke.value],["true",ke=>ke.type==="BooleanValue"&&ke.value],["none",ke=>ke.type==="NullValue"],["string",ke=>ke.type==="StringValue"],["number",ke=>ke.type==="NumericValue"],["integer",ke=>ke.type==="NumericValue"&&Number.isInteger(ke.value)],["iterable",ke=>ke.type==="ArrayValue"||ke.type==="StringValue"],["mapping",ke=>ke.type==="ObjectValue"],["lower",ke=>{const fe=ke.value;return ke.type==="StringValue"&&fe===fe.toLowerCase()}],["upper",ke=>{const fe=ke.value;return ke.type==="StringValue"&&fe===fe.toUpperCase()}],["none",ke=>ke.type==="NullValue"],["defined",ke=>ke.type!=="UndefinedValue"],["undefined",ke=>ke.type==="UndefinedValue"],["equalto",(ke,fe)=>ke.value===fe.value],["eq",(ke,fe)=>ke.value===fe.value]]));this.parent=ke}set(ke,fe){return this.declareVariable(ke,St(fe))}declareVariable(ke,fe){if(this.variables.has(ke))throw new SyntaxError(`Variable already declared: ${ke}`);return this.variables.set(ke,fe),fe}setVariable(ke,fe){return this.variables.set(ke,fe),fe}resolve(ke){if(this.variables.has(ke))return this;if(this.parent)return this.parent.resolve(ke);throw new Error(`Unknown variable: ${ke}`)}lookupVariable(ke){try{return this.resolve(ke).variables.get(ke)??new rt}catch{return new rt}}},Ot=class{constructor(ke){Ct(this,"global");this.global=ke??new Bt}run(ke){return this.evaluate(ke,this.global)}evaluateBinaryExpression(ke,fe){const Qe=this.evaluate(ke.left,fe);switch(ke.operator.value){case"and":return Qe.__bool__().value?this.evaluate(ke.right,fe):Qe;case"or":return Qe.__bool__().value?Qe:this.evaluate(ke.right,fe)}const Je=this.evaluate(ke.right,fe);switch(ke.operator.value){case"==":return new pt(Qe.value==Je.value);case"!=":return new pt(Qe.value!=Je.value)}if(Qe instanceof rt||Je instanceof rt)throw new Error("Cannot perform operation on undefined values");if(Qe instanceof ze||Je instanceof ze)throw new Error("Cannot perform operation on null values");if(Qe instanceof Ue&&Je instanceof Ue)switch(ke.operator.value){case"+":return new Ue(Qe.value+Je.value);case"-":return new Ue(Qe.value-Je.value);case"*":return new Ue(Qe.value*Je.value);case"/":return new Ue(Qe.value/Je.value);case"%":return new Ue(Qe.value%Je.value);case"<":return new pt(Qe.value<Je.value);case">":return new pt(Qe.value>Je.value);case">=":return new pt(Qe.value>=Je.value);case"<=":return new pt(Qe.value<=Je.value)}else if(Qe instanceof At&&Je instanceof At){if(ke.operator.value==="+")return new At(Qe.value.concat(Je.value))}else if(Je instanceof At){const st=Je.value.find(lt=>lt.value===Qe.value)!==void 0;switch(ke.operator.value){case"in":return new pt(st);case"not in":return new pt(!st)}}if((Qe instanceof ot||Je instanceof ot)&&ke.operator.value==="+")return new ot(Qe.value.toString()+Je.value.toString());if(Qe instanceof ot&&Je instanceof ot)switch(ke.operator.value){case"in":return new pt(Je.value.includes(Qe.value));case"not in":return new pt(!Je.value.includes(Qe.value))}if(Qe instanceof ot&&Je instanceof ct)switch(ke.operator.value){case"in":return new pt(Je.value.has(Qe.value));case"not in":return new pt(!Je.value.has(Qe.value))}throw new SyntaxError(`Unknown operator "${ke.operator.value}" between ${Qe.type} and ${Je.type}`)}evaluateArguments(ke,fe){const Qe=[],Je=new Map;for(const st of ke)if(st.type==="KeywordArgumentExpression"){const lt=st;Je.set(lt.key.value,this.evaluate(lt.value,fe))}else{if(Je.size>0)throw new Error("Positional arguments must come before keyword arguments");Qe.push(this.evaluate(st,fe))}return[Qe,Je]}evaluateFilterExpression(ke,fe){const Qe=this.evaluate(ke.operand,fe);if(ke.filter.type==="Identifier"){const Je=ke.filter;if(Je.value==="tojson")return new ot(oe(Qe));if(Qe instanceof At)switch(Je.value){case"list":return Qe;case"first":return Qe.value[0];case"last":return Qe.value[Qe.value.length-1];case"length":return new Ue(Qe.value.length);case"reverse":return new At(Qe.value.reverse());case"sort":return new At(Qe.value.sort((st,lt)=>{if(st.type!==lt.type)throw new Error(`Cannot compare different types: ${st.type} and ${lt.type}`);switch(st.type){case"NumericValue":return st.value-lt.value;case"StringValue":return st.value.localeCompare(lt.value);default:throw new Error(`Cannot compare type: ${st.type}`)}}));case"join":return new ot(Qe.value.map(st=>st.value).join(""));default:throw new Error(`Unknown ArrayValue filter: ${Je.value}`)}else if(Qe instanceof ot)switch(Je.value){case"length":return new Ue(Qe.value.length);case"upper":return new ot(Qe.value.toUpperCase());case"lower":return new ot(Qe.value.toLowerCase());case"title":return new ot(me(Qe.value));case"capitalize":return new ot(Qe.value.charAt(0).toUpperCase()+Qe.value.slice(1));case"trim":return new ot(Qe.value.trim());case"indent":return new ot(Qe.value.split(`
77`).map((st,lt)=>lt===0||st.length===0?st:"    "+st).join(`
78`));case"join":case"string":return Qe;default:throw new Error(`Unknown StringValue filter: ${Je.value}`)}else{if(Qe instanceof Ue){if(Je.value==="abs")return new Ue(Math.abs(Qe.value));throw new Error(`Unknown NumericValue filter: ${Je.value}`)}if(Qe instanceof ct)switch(Je.value){case"items":return new At(Array.from(Qe.value.entries()).map(([st,lt])=>new At([new ot(st),lt])));case"length":return new Ue(Qe.value.size);default:throw new Error(`Unknown ObjectValue filter: ${Je.value}`)}}throw new Error(`Cannot apply filter "${Je.value}" to type: ${Qe.type}`)}if(ke.filter.type==="CallExpression"){const Je=ke.filter;if(Je.callee.type!=="Identifier")throw new Error(`Unknown filter: ${Je.callee.type}`);const st=Je.callee.value;if(st==="tojson"){const[,lt]=this.evaluateArguments(Je.args,fe),xt=lt.get("indent")??new ze;if(!(xt instanceof Ue||xt instanceof ze))throw new Error("If set, indent must be a number");return new ot(oe(Qe,xt.value))}if(st==="join"){let lt;if(Qe instanceof ot)lt=Array.from(Qe.value);else{if(!(Qe instanceof At))throw new Error(`Cannot apply filter "${st}" to type: ${Qe.type}`);lt=Qe.value.map(Ft=>Ft.value)}const[xt,jt]=this.evaluateArguments(Je.args,fe),$t=xt.at(0)??jt.get("separator")??new ot("");if(!($t instanceof ot))throw new Error("separator must be a string");return new ot(lt.join($t.value))}if(Qe instanceof At){switch(st){case"selectattr":case"rejectattr":{const lt=st==="selectattr";if(Qe.value.some(eA=>!(eA instanceof ct)))throw new Error(`\`${st}\` can only be applied to array of objects`);if(Je.args.some(eA=>eA.type!=="StringLiteral"))throw new Error(`arguments of \`${st}\` must be strings`);const[xt,jt,$t]=Je.args.map(eA=>this.evaluate(eA,fe));let Ft;if(jt){const eA=fe.tests.get(jt.value);if(!eA)throw new Error(`Unknown test: ${jt.value}`);Ft=eA}else Ft=(...eA)=>eA[0].__bool__().value;const dA=Qe.value.filter(eA=>{const nA=eA.value.get(xt.value),aA=!!nA&&Ft(nA,$t);return lt?aA:!aA});return new At(dA)}case"map":{const[,lt]=this.evaluateArguments(Je.args,fe);if(lt.has("attribute")){const xt=lt.get("attribute");if(!(xt instanceof ot))throw new Error("attribute must be a string");const jt=lt.get("default"),$t=Qe.value.map(Ft=>{if(!(Ft instanceof ct))throw new Error("items in map must be an object");return Ft.value.get(xt.value)??jt??new rt});return new At($t)}throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${st}`)}if(Qe instanceof ot){if(st==="indent"){const[lt,xt]=this.evaluateArguments(Je.args,fe),jt=lt.at(0)??xt.get("width")??new Ue(4);if(!(jt instanceof Ue))throw new Error("width must be a number");const $t=lt.at(1)??xt.get("first")??new pt(!1),Ft=lt.at(2)??xt.get("blank")??new pt(!1),dA=Qe.value.split(`
79`),eA=" ".repeat(jt.value),nA=dA.map((aA,bA)=>!$t.value&&bA===0||!Ft.value&&aA.length===0?aA:eA+aA);return new ot(nA.join(`
80`))}throw new Error(`Unknown StringValue filter: ${st}`)}throw new Error(`Cannot apply filter "${st}" to type: ${Qe.type}`)}throw new Error(`Unknown filter: ${ke.filter.type}`)}evaluateTestExpression(ke,fe){const Qe=this.evaluate(ke.operand,fe),Je=fe.tests.get(ke.test.value);if(!Je)throw new Error(`Unknown test: ${ke.test.value}`);const st=Je(Qe);return new pt(ke.negate?!st:st)}evaluateUnaryExpression(ke,fe){const Qe=this.evaluate(ke.argument,fe);if(ke.operator.value==="not")return new pt(!Qe.value);throw new SyntaxError(`Unknown operator: ${ke.operator.value}`)}evalProgram(ke,fe){return this.evaluateBlock(ke.body,fe)}evaluateBlock(ke,fe){let Qe="";for(const Je of ke){const st=this.evaluate(Je,fe);st.type!=="NullValue"&&st.type!=="UndefinedValue"&&(Qe+=st.value)}return new ot(Qe)}evaluateIdentifier(ke,fe){return fe.lookupVariable(ke.value)}evaluateCallExpression(ke,fe){const[Qe,Je]=this.evaluateArguments(ke.args,fe);Je.size>0&&Qe.push(new je(Je));const st=this.evaluate(ke.callee,fe);if(st.type!=="FunctionValue")throw new Error(`Cannot call something that is not a function: got ${st.type}`);return st.value(Qe,fe)}evaluateSliceExpression(ke,fe,Qe){if(!(ke instanceof At||ke instanceof ot))throw new Error("Slice object must be an array or string");const Je=this.evaluate(fe.start,Qe),st=this.evaluate(fe.stop,Qe),lt=this.evaluate(fe.step,Qe);if(!(Je instanceof Ue||Je instanceof rt))throw new Error("Slice start must be numeric or undefined");if(!(st instanceof Ue||st instanceof rt))throw new Error("Slice stop must be numeric or undefined");if(!(lt instanceof Ue||lt instanceof rt))throw new Error("Slice step must be numeric or undefined");return ke instanceof At?new At(Ge(ke.value,Je.value,st.value,lt.value)):new ot(Ge(Array.from(ke.value),Je.value,st.value,lt.value).join(""))}evaluateMemberExpression(ke,fe){const Qe=this.evaluate(ke.object,fe);let Je,st;if(ke.computed){if(ke.property.type==="SliceExpression")return this.evaluateSliceExpression(Qe,ke.property,fe);Je=this.evaluate(ke.property,fe)}else Je=new ot(ke.property.value);if(Qe instanceof ct){if(!(Je instanceof ot))throw new Error(`Cannot access property with non-string: got ${Je.type}`);st=Qe.value.get(Je.value)??Qe.builtins.get(Je.value)}else if(Qe instanceof At||Qe instanceof ot)if(Je instanceof Ue)st=Qe.value.at(Je.value),Qe instanceof ot&&(st=new ot(Qe.value.at(Je.value)));else{if(!(Je instanceof ot))throw new Error(`Cannot access property with non-string/non-number: got ${Je.type}`);st=Qe.builtins.get(Je.value)}else{if(!(Je instanceof ot))throw new Error(`Cannot access property with non-string: got ${Je.type}`);st=Qe.builtins.get(Je.value)}return st instanceof at?st:new rt}evaluateSet(ke,fe){const Qe=this.evaluate(ke.value,fe);if(ke.assignee.type==="Identifier"){const Je=ke.assignee.value;fe.setVariable(Je,Qe)}else{if(ke.assignee.type!=="MemberExpression")throw new Error(`Invalid LHS inside assignment expression: ${JSON.stringify(ke.assignee)}`);{const Je=ke.assignee,st=this.evaluate(Je.object,fe);if(!(st instanceof ct))throw new Error("Cannot assign to member of non-object");if(Je.property.type!=="Identifier")throw new Error("Cannot assign to member with non-identifier property");st.value.set(Je.property.value,Qe)}}return new ze}evaluateIf(ke,fe){const Qe=this.evaluate(ke.test,fe);return this.evaluateBlock(Qe.__bool__().value?ke.body:ke.alternate,fe)}evaluateFor(ke,fe){const Qe=new Bt(fe);let Je,st;if(ke.iterable.type==="SelectExpression"){const Ft=ke.iterable;st=this.evaluate(Ft.iterable,Qe),Je=Ft.test}else st=this.evaluate(ke.iterable,Qe);if(!(st instanceof At))throw new Error(`Expected iterable type in for loop: got ${st.type}`);const lt=[],xt=[];for(let Ft=0;Ft<st.value.length;++Ft){const dA=new Bt(Qe),eA=st.value[Ft];let nA;if(ke.loopvar.type==="Identifier")nA=aA=>aA.setVariable(ke.loopvar.value,eA);else{if(ke.loopvar.type!=="TupleLiteral")throw new Error(`Invalid loop variable(s): ${ke.loopvar.type}`);{const aA=ke.loopvar;if(eA.type!=="ArrayValue")throw new Error(`Cannot unpack non-iterable type: ${eA.type}`);const bA=eA;if(aA.value.length!==bA.value.length)throw new Error(`Too ${aA.value.length>bA.value.length?"few":"many"} items to unpack`);nA=vA=>{for(let Gt=0;Gt<aA.value.length;++Gt){if(aA.value[Gt].type!=="Identifier")throw new Error(`Cannot unpack non-identifier type: ${aA.value[Gt].type}`);vA.setVariable(aA.value[Gt].value,bA.value[Gt])}}}}Je&&(nA(dA),!this.evaluate(Je,dA).__bool__().value)||(lt.push(eA),xt.push(nA))}let jt="",$t=!0;for(let Ft=0;Ft<lt.length;++Ft){const dA=new Map([["index",new Ue(Ft+1)],["index0",new Ue(Ft)],["revindex",new Ue(lt.length-Ft)],["revindex0",new Ue(lt.length-Ft-1)],["first",new pt(Ft===0)],["last",new pt(Ft===lt.length-1)],["length",new Ue(lt.length)],["previtem",Ft>0?lt[Ft-1]:new rt],["nextitem",Ft<lt.length-1?lt[Ft+1]:new rt]]);Qe.setVariable("loop",new ct(dA)),xt[Ft](Qe),jt+=this.evaluateBlock(ke.body,Qe).value,$t=!1}return $t&&(jt+=this.evaluateBlock(ke.defaultBlock,Qe).value),new ot(jt)}evaluateMacro(ke,fe){return fe.setVariable(ke.name.value,new wt((Qe,Je)=>{var xt;const st=new Bt(Je);let lt;Qe=Qe.slice(),((xt=Qe.at(-1))==null?void 0:xt.type)==="KeywordArgumentsValue"&&(lt=Qe.pop());for(let jt=0;jt<ke.args.length;++jt){const $t=ke.args[jt],Ft=Qe[jt];if($t.type==="Identifier"){const dA=$t;if(!Ft)throw new Error(`Missing positional argument: ${dA.value}`);st.setVariable(dA.value,Ft)}else{if($t.type!=="KeywordArgumentExpression")throw new Error(`Unknown argument type: ${$t.type}`);{const dA=$t,eA=Ft??(lt==null?void 0:lt.value.get(dA.key.value))??this.evaluate(dA.value,st);st.setVariable(dA.key.value,eA)}}}return this.evaluateBlock(ke.body,st)})),new ze}evaluate(ke,fe){if(ke===void 0)return new rt;switch(ke.type){case"Program":return this.evalProgram(ke,fe);case"Set":return this.evaluateSet(ke,fe);case"If":return this.evaluateIf(ke,fe);case"For":return this.evaluateFor(ke,fe);case"Macro":return this.evaluateMacro(ke,fe);case"NumericLiteral":return new Ue(Number(ke.value));case"StringLiteral":return new ot(ke.value);case"BooleanLiteral":return new pt(ke.value);case"NullLiteral":return new ze(ke.value);case"ArrayLiteral":return new At(ke.value.map(Qe=>this.evaluate(Qe,fe)));case"TupleLiteral":return new It(ke.value.map(Qe=>this.evaluate(Qe,fe)));case"ObjectLiteral":{const Qe=new Map;for(const[Je,st]of ke.value){const lt=this.evaluate(Je,fe);if(!(lt instanceof ot))throw new Error(`Object keys must be strings: got ${lt.type}`);Qe.set(lt.value,this.evaluate(st,fe))}return new ct(Qe)}case"Identifier":return this.evaluateIdentifier(ke,fe);case"CallExpression":return this.evaluateCallExpression(ke,fe);case"MemberExpression":return this.evaluateMemberExpression(ke,fe);case"UnaryExpression":return this.evaluateUnaryExpression(ke,fe);case"BinaryExpression":return this.evaluateBinaryExpression(ke,fe);case"FilterExpression":return this.evaluateFilterExpression(ke,fe);case"TestExpression":return this.evaluateTestExpression(ke,fe);default:throw new SyntaxError(`Unknown node type: ${ke.type}`)}}};function St(ke){switch(typeof ke){case"number":return new Ue(ke);case"string":return new ot(ke);case"boolean":return new pt(ke);case"undefined":return new rt;case"object":return ke===null?new ze:Array.isArray(ke)?new At(ke.map(St)):new ct(new Map(Object.entries(ke).map(([fe,Qe])=>[fe,St(Qe)])));case"function":return new wt((fe,Qe)=>{const Je=ke(...fe.map(st=>st.value))??null;return St(Je)});default:throw new Error(`Cannot convert to runtime value: ${ke}`)}}function oe(ke,fe,Qe){const Je=Qe??0;switch(ke.type){case"NullValue":case"UndefinedValue":return"null";case"NumericValue":case"StringValue":case"BooleanValue":return JSON.stringify(ke.value);case"ArrayValue":case"ObjectValue":{const st=fe?" ".repeat(fe):"",lt=`
81`+st.repeat(Je),xt=lt+st;if(ke.type==="ArrayValue"){const jt=ke.value.map($t=>oe($t,fe,Je+1));return fe?`[${xt}${jt.join(`,${xt}`)}${lt}]`:`[${jt.join(", ")}]`}{const jt=Array.from(ke.value.entries()).map(([$t,Ft])=>{const dA=`"${$t}": ${oe(Ft,fe,Je+1)}`;return fe?`${xt}${dA}`:dA});return fe?`{${jt.join(",")}${lt}}`:`{${jt.join(", ")}}`}}default:throw new Error(`Cannot convert to JSON: ${ke.type}`)}}var zt=class{constructor(ke){Ct(this,"parsed");const fe=B(ke,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=pe(fe)}render(ke){const fe=new Bt;if(fe.set("false",!1),fe.set("true",!0),fe.set("raise_exception",Qe=>{throw new Error(Qe)}),fe.set("range",we),ke)for(const[Qe,Je]of Object.entries(ke))fe.set(Qe,Je);return new Ot(fe).run(this.parsed).value}}},
vendor: 1,626 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/backend-impl.js":(c,a,s)=>{s.r(a),s.d(a,{registerBackend:()=>p,resolveBackendAndExecutionProviders:()=>b});const o=new Map,u=[],p=(k,E,B)=>{if(!E||typeof E.init!="function"||typeof E.createInferenceSessionHandler!="function")throw new TypeError("not a valid backend");{const G=o.get(k);if(G===void 0)o.set(k,{backend:E,priority:B});else{if(G.priority>B)return;if(G.priority===B&&G.backend!==E)throw new Error(`cannot register backend "${k}" using priority ${B}`)}if(B>=0){const D=u.indexOf(k);D!==-1&&u.splice(D,1);for(let Q=0;Q<u.length;Q++)if(o.get(u[Q]).priority<=B)return void u.splice(Q,0,k);u.push(k)}}},C=async k=>{const E=o.get(k);if(!E)return"backend not found.";if(E.initialized)return E.backend;if(E.aborted)return E.error;{const B=!!E.initPromise;try{return B||(E.initPromise=E.backend.init(k)),await E.initPromise,E.initialized=!0,E.backend}catch(G){return B||(E.error=`${G}`,E.aborted=!0),E.error}finally{delete E.initPromise}}},b=async k=>{const E=k.executionProviders||[],B=E.map(U=>typeof U=="string"?U:U.name),G=B.length===0?u:B;let D;const Q=[],V=new Set;for(const U of G){const H=await C(U);typeof H=="string"?Q.push({name:U,err:H}):(D||(D=H),D===H&&V.add(U))}if(!D)throw new Error(`no available backend found. ERR: ${Q.map(U=>`[${U.name}] ${U.err}`).join(", ")}`);for(const{name:U,err:H}of Q)B.includes(U)&&console.warn(`removing requested execution provider "${U}" from session options because it is not available: ${H}`);const W=E.filter(U=>V.has(typeof U=="string"?U:U.name));return[D,new Proxy(k,{get:(U,H)=>H==="executionProviders"?W:Reflect.get(U,H)})]}},
vendor: 191 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/backend.js":(c,a,s)=>{s.r(a),s.d(a,{registerBackend:()=>o.registerBackend});var o=s("./node_modules/onnxruntime-common/dist/esm/backend-impl.js")},
vendor: 489 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/env-impl.js":(c,a,s)=>{s.r(a),s.d(a,{env:()=>p});var o=s("./node_modules/onnxruntime-common/dist/esm/version.js");let u="warning";const p={wasm:{},webgl:{},webgpu:{},versions:{common:o.version},set logLevel(C){if(C!==void 0){if(typeof C!="string"||["verbose","info","warning","error","fatal"].indexOf(C)===-1)throw new Error(`Unsupported logging level: ${C}`);u=C}},get logLevel(){return u}};Object.defineProperty(p,"logLevel",{enumerable:!0})},
vendor: 161 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/env.js":(c,a,s)=>{s.r(a),s.d(a,{env:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/env-impl.js").env},
vendor: 974 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/index.js":(c,a,s)=>{s.r(a),s.d(a,{InferenceSession:()=>p.InferenceSession,TRACE:()=>b.TRACE,TRACE_FUNC_BEGIN:()=>b.TRACE_FUNC_BEGIN,TRACE_FUNC_END:()=>b.TRACE_FUNC_END,Tensor:()=>C.Tensor,TrainingSession:()=>k.TrainingSession,env:()=>u.env,registerBackend:()=>o.registerBackend});var o=s("./node_modules/onnxruntime-common/dist/esm/backend.js"),u=s("./node_modules/onnxruntime-common/dist/esm/env.js"),p=s("./node_modules/onnxruntime-common/dist/esm/inference-session.js"),C=s("./node_modules/onnxruntime-common/dist/esm/tensor.js");s("./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js"),s("./node_modules/onnxruntime-common/dist/esm/tensor-factory.js");var b=s("./node_modules/onnxruntime-common/dist/esm/trace.js");s("./node_modules/onnxruntime-common/dist/esm/onnx-model.js"),s("./node_modules/onnxruntime-common/dist/esm/onnx-value.js");var k=s("./node_modules/onnxruntime-common/dist/esm/training-session.js")},
vendor: 3,665 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js":(c,a,s)=>{s.r(a),s.d(a,{InferenceSession:()=>C});var o=s("./node_modules/onnxruntime-common/dist/esm/backend-impl.js"),u=s("./node_modules/onnxruntime-common/dist/esm/tensor.js"),p=s("./node_modules/onnxruntime-common/dist/esm/trace.js");class C{constructor(k){this.handler=k}async run(k,E,B){(0,p.TRACE_FUNC_BEGIN)();const G={};let D={};if(typeof k!="object"||k===null||k instanceof u.Tensor||Array.isArray(k))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let Q=!0;if(typeof E=="object"){if(E===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(E instanceof u.Tensor)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(E)){if(E.length===0)throw new TypeError("'fetches' cannot be an empty array.");Q=!1;for(const U of E){if(typeof U!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(U)===-1)throw new RangeError(`'fetches' contains invalid output name: ${U}.`);G[U]=null}if(typeof B=="object"&&B!==null)D=B;else if(B!==void 0)throw new TypeError("'options' must be an object.")}else{let U=!1;const H=Object.getOwnPropertyNames(E);for(const K of this.outputNames)if(H.indexOf(K)!==-1){const J=E[K];(J===null||J instanceof u.Tensor)&&(U=!0,Q=!1,G[K]=J)}if(U){if(typeof B=="object"&&B!==null)D=B;else if(B!==void 0)throw new TypeError("'options' must be an object.")}else D=E}}else if(E!==void 0)throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(const U of this.inputNames)if(k[U]===void 0)throw new Error(`input '${U}' is missing in 'feeds'.`);if(Q)for(const U of this.outputNames)G[U]=null;const V=await this.handler.run(k,G,D),W={};for(const U in V)if(Object.hasOwnProperty.call(V,U)){const H=V[U];H instanceof u.Tensor?W[U]=H:W[U]=new u.Tensor(H.type,H.data,H.dims)}return(0,p.TRACE_FUNC_END)(),W}async release(){return this.handler.dispose()}static async create(k,E,B,G){let D;(0,p.TRACE_FUNC_BEGIN)();let Q={};if(typeof k=="string"){if(D=k,typeof E=="object"&&E!==null)Q=E;else if(E!==void 0)throw new TypeError("'options' must be an object.")}else if(k instanceof Uint8Array){if(D=k,typeof E=="object"&&E!==null)Q=E;else if(E!==void 0)throw new TypeError("'options' must be an object.")}else{if(!(k instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&k instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{const H=k;let K=0,J=k.byteLength;if(typeof E=="object"&&E!==null)Q=E;else if(typeof E=="number"){if(K=E,!Number.isSafeInteger(K))throw new RangeError("'byteOffset' must be an integer.");if(K<0||K>=H.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${H.byteLength}).`);if(J=k.byteLength-K,typeof B=="number"){if(J=B,!Number.isSafeInteger(J))throw new RangeError("'byteLength' must be an integer.");if(J<=0||K+J>H.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${H.byteLength-K}].`);if(typeof G=="object"&&G!==null)Q=G;else if(G!==void 0)throw new TypeError("'options' must be an object.")}else if(B!==void 0)throw new TypeError("'byteLength' must be a number.")}else if(E!==void 0)throw new TypeError("'options' must be an object.");D=new Uint8Array(H,K,J)}}const[V,W]=await(0,o.resolveBackendAndExecutionProviders)(Q),U=await V.createInferenceSessionHandler(D,W);return(0,p.TRACE_FUNC_END)(),new C(U)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}},
vendor: 215 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/inference-session.js":(c,a,s)=>{s.r(a),s.d(a,{InferenceSession:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js").InferenceSession},
vendor: 77 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/onnx-model.js":(c,a,s)=>{s.r(a)},
vendor: 77 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/onnx-value.js":(c,a,s)=>{s.r(a)},
vendor: 2,695 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js":(c,a,s)=>{s.r(a),s.d(a,{tensorToDataURL:()=>o,tensorToImageData:()=>u});const o=(p,C)=>{const b=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);b.width=p.dims[3],b.height=p.dims[2];const k=b.getContext("2d");if(k!=null){let E,B;(C==null?void 0:C.tensorLayout)!==void 0&&C.tensorLayout==="NHWC"?(E=p.dims[2],B=p.dims[3]):(E=p.dims[3],B=p.dims[2]);const G=(C==null?void 0:C.format)!==void 0?C.format:"RGB",D=C==null?void 0:C.norm;let Q,V;D===void 0||D.mean===void 0?Q=[255,255,255,255]:typeof D.mean=="number"?Q=[D.mean,D.mean,D.mean,D.mean]:(Q=[D.mean[0],D.mean[1],D.mean[2],0],D.mean[3]!==void 0&&(Q[3]=D.mean[3])),D===void 0||D.bias===void 0?V=[0,0,0,0]:typeof D.bias=="number"?V=[D.bias,D.bias,D.bias,D.bias]:(V=[D.bias[0],D.bias[1],D.bias[2],0],D.bias[3]!==void 0&&(V[3]=D.bias[3]));const W=B*E;let U=0,H=W,K=2*W,J=-1;G==="RGBA"?(U=0,H=W,K=2*W,J=3*W):G==="RGB"?(U=0,H=W,K=2*W):G==="RBG"&&(U=0,K=W,H=2*W);for(let g=0;g<B;g++)for(let v=0;v<E;v++){const e=(p.data[U++]-V[0])*Q[0],d=(p.data[H++]-V[1])*Q[1],_=(p.data[K++]-V[2])*Q[2],re=J===-1?255:(p.data[J++]-V[3])*Q[3];k.fillStyle="rgba("+e+","+d+","+_+","+re+")",k.fillRect(v,g,1,1)}if("toDataURL"in b)return b.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},u=(p,C)=>{const b=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");let k;if(b==null)throw new Error("Can not access image data");{let E,B,G;(C==null?void 0:C.tensorLayout)!==void 0&&C.tensorLayout==="NHWC"?(E=p.dims[2],B=p.dims[1],G=p.dims[3]):(E=p.dims[3],B=p.dims[2],G=p.dims[1]);const D=C!==void 0&&C.format!==void 0?C.format:"RGB",Q=C==null?void 0:C.norm;let V,W;Q===void 0||Q.mean===void 0?V=[255,255,255,255]:typeof Q.mean=="number"?V=[Q.mean,Q.mean,Q.mean,Q.mean]:(V=[Q.mean[0],Q.mean[1],Q.mean[2],255],Q.mean[3]!==void 0&&(V[3]=Q.mean[3])),Q===void 0||Q.bias===void 0?W=[0,0,0,0]:typeof Q.bias=="number"?W=[Q.bias,Q.bias,Q.bias,Q.bias]:(W=[Q.bias[0],Q.bias[1],Q.bias[2],0],Q.bias[3]!==void 0&&(W[3]=Q.bias[3]));const U=B*E;if(C!==void 0&&(C.format!==void 0&&G===4&&C.format!=="RGBA"||G===3&&C.format!=="RGB"&&C.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");const H=4;let K=0,J=1,g=2,v=3,e=0,d=U,_=2*U,re=-1;D==="RGBA"?(e=0,d=U,_=2*U,re=3*U):D==="RGB"?(e=0,d=U,_=2*U):D==="RBG"&&(e=0,_=U,d=2*U),k=b.createImageData(E,B);for(let S=0;S<B*E;K+=H,J+=H,g+=H,v+=H,S++)k.data[K]=(p.data[e++]-W[0])*V[0],k.data[J]=(p.data[d++]-W[1])*V[1],k.data[g]=(p.data[_++]-W[2])*V[2],k.data[v]=re===-1?255:(p.data[re++]-W[3])*V[3]}return k}},
vendor: 84 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js":(c,a,s)=>{s.r(a)},
vendor: 4,233 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js":(c,a,s)=>{s.r(a),s.d(a,{bufferToTensor:()=>u,tensorFromGpuBuffer:()=>b,tensorFromImage:()=>p,tensorFromMLTensor:()=>k,tensorFromPinnedBuffer:()=>E,tensorFromTexture:()=>C});var o=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js");const u=(B,G)=>{if(B===void 0)throw new Error("Image buffer must be defined");if(G.height===void 0||G.width===void 0)throw new Error("Image height and width must be defined");if(G.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");const{height:D,width:Q}=G,V=G.norm??{mean:255,bias:0};let W,U;W=typeof V.mean=="number"?[V.mean,V.mean,V.mean,V.mean]:[V.mean[0],V.mean[1],V.mean[2],V.mean[3]??255],U=typeof V.bias=="number"?[V.bias,V.bias,V.bias,V.bias]:[V.bias[0],V.bias[1],V.bias[2],V.bias[3]??0];const H=G.format!==void 0?G.format:"RGBA",K=G.tensorFormat!==void 0&&G.tensorFormat!==void 0?G.tensorFormat:"RGB",J=D*Q,g=K==="RGBA"?new Float32Array(4*J):new Float32Array(3*J);let v=4,e=0,d=1,_=2,re=3,S=0,F=J,Ie=2*J,he=-1;H==="RGB"&&(v=3,e=0,d=1,_=2,re=-1),K==="RGBA"?he=3*J:K==="RBG"?(S=0,Ie=J,F=2*J):K==="BGR"&&(Ie=0,F=J,S=2*J);for(let ce=0;ce<J;ce++,e+=v,_+=v,d+=v,re+=v)g[S++]=(B[e]+U[0])/W[0],g[F++]=(B[d]+U[1])/W[1],g[Ie++]=(B[_]+U[2])/W[2],he!==-1&&re!==-1&&(g[he++]=(B[re]+U[3])/W[3]);return K==="RGBA"?new o.Tensor("float32",g,[1,4,D,Q]):new o.Tensor("float32",g,[1,3,D,Q])},p=async(B,G)=>{const D=typeof HTMLImageElement<"u"&&B instanceof HTMLImageElement,Q=typeof ImageData<"u"&&B instanceof ImageData,V=typeof ImageBitmap<"u"&&B instanceof ImageBitmap,W=typeof B=="string";let U,H=G??{};const K=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},J=g=>typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement||g instanceof OffscreenCanvas?g.getContext("2d"):null;if(D){const g=K();g.width=B.width,g.height=B.height;const v=J(g);if(v==null)throw new Error("Can not access image data");{let e=B.height,d=B.width;if(G!==void 0&&G.resizedHeight!==void 0&&G.resizedWidth!==void 0&&(e=G.resizedHeight,d=G.resizedWidth),G!==void 0){if(H=G,G.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");H.tensorFormat="RGBA",H.height=e,H.width=d}else H.tensorFormat="RGBA",H.height=e,H.width=d;v.drawImage(B,0,0),U=v.getImageData(0,0,d,e).data}}else{if(!Q){if(V){if(G===void 0)throw new Error("Please provide image config with format for Imagebitmap");const g=K();g.width=B.width,g.height=B.height;const v=J(g);if(v!=null){const e=B.height,d=B.width;return v.drawImage(B,0,0,d,e),U=v.getImageData(0,0,d,e).data,H.height=e,H.width=d,u(U,H)}throw new Error("Can not access image data")}if(W)return new Promise((g,v)=>{const e=K(),d=J(e);if(!B||!d)return v();const _=new Image;_.crossOrigin="Anonymous",_.src=B,_.onload=()=>{e.width=_.width,e.height=_.height,d.drawImage(_,0,0,e.width,e.height);const re=d.getImageData(0,0,e.width,e.height);H.height=e.height,H.width=e.width,g(u(re.data,H))}});throw new Error("Input data provided is not supported - aborted tensor creation")}{let g,v;if(G!==void 0&&G.resizedWidth!==void 0&&G.resizedHeight!==void 0?(g=G.resizedHeight,v=G.resizedWidth):(g=B.height,v=B.width),G!==void 0&&(H=G),H.format="RGBA",H.height=g,H.width=v,G!==void 0){const e=K();e.width=v,e.height=g;const d=J(e);if(d==null)throw new Error("Can not access image data");d.putImageData(B,0,0),U=d.getImageData(0,0,v,g).data}else U=B.data}}if(U!==void 0)return u(U,H);throw new Error("Input data provided is not supported - aborted tensor creation")},C=(B,G)=>{const{width:D,height:Q,download:V,dispose:W}=G,U=[1,Q,D,4];return new o.Tensor({location:"texture",type:"float32",texture:B,dims:U,download:V,dispose:W})},b=(B,G)=>{const{dataType:D,dims:Q,download:V,dispose:W}=G;return new o.Tensor({location:"gpu-buffer",type:D??"float32",gpuBuffer:B,dims:Q,download:V,dispose:W})},k=(B,G)=>{const{dataType:D,dims:Q,download:V,dispose:W}=G;return new o.Tensor({location:"ml-tensor",type:D??"float32",mlTensor:B,dims:Q,download:V,dispose:W})},E=(B,G,D)=>new o.Tensor({location:"cpu-pinned",type:B,data:G,dims:D??[G.length]})},
vendor: 81 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-factory.js":(c,a,s)=>{s.r(a)},
vendor: 1,065 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js":(c,a,s)=>{s.r(a),s.d(a,{NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP:()=>u,NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP:()=>o,checkTypedArray:()=>C});const o=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),u=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);let p=!1;const C=()=>{if(!p){p=!0;const b=typeof BigInt64Array<"u"&&BigInt64Array.from,k=typeof BigUint64Array<"u"&&BigUint64Array.from,E=typeof Float16Array<"u"&&Float16Array.from;b&&(o.set("int64",BigInt64Array),u.set(BigInt64Array,"int64")),k&&(o.set("uint64",BigUint64Array),u.set(BigUint64Array,"uint64")),E?(o.set("float16",Float16Array),u.set(Float16Array,"float16")):o.set("float16",Uint16Array)}}},
vendor: 5,796 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-impl.js":(c,a,s)=>{s.r(a),s.d(a,{Tensor:()=>b});var o=s("./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js"),u=s("./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js"),p=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js"),C=s("./node_modules/onnxruntime-common/dist/esm/tensor-utils-impl.js");class b{constructor(E,B,G){let D,Q;if((0,p.checkTypedArray)(),typeof E=="object"&&"location"in E)switch(this.dataLocation=E.location,D=E.type,Q=E.dims,E.location){case"cpu-pinned":{const W=p.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(D);if(!W)throw new TypeError(`unsupported type "${D}" to create tensor from pinned buffer`);if(!(E.data instanceof W))throw new TypeError(`buffer should be of type ${W.name}`);this.cpuData=E.data;break}case"texture":if(D!=="float32")throw new TypeError(`unsupported type "${D}" to create tensor from texture`);this.gpuTextureData=E.texture,this.downloader=E.download,this.disposer=E.dispose;break;case"gpu-buffer":if(D!=="float32"&&D!=="float16"&&D!=="int32"&&D!=="int64"&&D!=="uint32"&&D!=="uint8"&&D!=="bool"&&D!=="uint4"&&D!=="int4")throw new TypeError(`unsupported type "${D}" to create tensor from gpu buffer`);this.gpuBufferData=E.gpuBuffer,this.downloader=E.download,this.disposer=E.dispose;break;case"ml-tensor":if(D!=="float32"&&D!=="float16"&&D!=="int32"&&D!=="int64"&&D!=="uint32"&&D!=="uint64"&&D!=="int8"&&D!=="uint8"&&D!=="bool")throw new TypeError(`unsupported type "${D}" to create tensor from MLTensor`);this.mlTensorData=E.mlTensor,this.downloader=E.download,this.disposer=E.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let W,U;if(typeof E=="string")if(D=E,U=G,E==="string"){if(!Array.isArray(B))throw new TypeError("A string tensor's data must be a string array.");W=B}else{const H=p.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(E);if(H===void 0)throw new TypeError(`Unsupported tensor type: ${E}.`);if(Array.isArray(B)){if(E==="float16"&&H===Uint16Array||E==="uint4"||E==="int4")throw new TypeError(`Creating a ${E} tensor from number array is not supported. Please use ${H.name} as data.`);W=E==="uint64"||E==="int64"?H.from(B,BigInt):H.from(B)}else if(B instanceof H)W=B;else{if(!(B instanceof Uint8ClampedArray))throw new TypeError(`A ${D} tensor's data must be type of ${H}`);if(E!=="uint8")throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");W=Uint8Array.from(B)}}else if(U=B,Array.isArray(E)){if(E.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");const H=typeof E[0];if(H==="string")D="string",W=E;else{if(H!=="boolean")throw new TypeError(`Invalid element type of data array: ${H}.`);D="bool",W=Uint8Array.from(E)}}else if(E instanceof Uint8ClampedArray)D="uint8",W=Uint8Array.from(E);else{const H=p.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.get(E.constructor);if(H===void 0)throw new TypeError(`Unsupported type for tensor data: ${E.constructor}.`);D=H,W=E}if(U===void 0)U=[W.length];else if(!Array.isArray(U))throw new TypeError("A tensor's dims must be a number array");Q=U,this.cpuData=W,this.dataLocation="cpu"}const V=(0,C.calculateSize)(Q);if(this.cpuData&&V!==this.cpuData.length&&(D!=="uint4"&&D!=="int4"||Math.ceil(V/2)!==this.cpuData.length))throw new Error(`Tensor's size(${V}) does not match data length(${this.cpuData.length}).`);this.type=D,this.dims=Q,this.size=V}static async fromImage(E,B){return(0,u.tensorFromImage)(E,B)}static fromTexture(E,B){return(0,u.tensorFromTexture)(E,B)}static fromGpuBuffer(E,B){return(0,u.tensorFromGpuBuffer)(E,B)}static fromMLTensor(E,B){return(0,u.tensorFromMLTensor)(E,B)}static fromPinnedBuffer(E,B,G){return(0,u.tensorFromPinnedBuffer)(E,B,G)}toDataURL(E){return(0,o.tensorToDataURL)(this,E)}toImageData(E){return(0,o.tensorToImageData)(this,E)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(E){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;const B=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=B,E&&this.disposer&&(this.disposer(),this.disposer=void 0),B}finally{this.isDownloading=!1}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(E){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return(0,C.tensorReshape)(this,E)}}},
vendor: 1,029 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-utils-impl.js":(c,a,s)=>{s.r(a),s.d(a,{calculateSize:()=>u,tensorReshape:()=>p});var o=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js");const u=C=>{let b=1;for(let k=0;k<C.length;k++){const E=C[k];if(typeof E!="number"||!Number.isSafeInteger(E))throw new TypeError(`dims[${k}] must be an integer, got: ${E}`);if(E<0)throw new RangeError(`dims[${k}] must be a non-negative integer, got: ${E}`);b*=E}return b},p=(C,b)=>{switch(C.location){case"cpu":return new o.Tensor(C.type,C.data,b);case"cpu-pinned":return new o.Tensor({location:"cpu-pinned",data:C.data,type:C.type,dims:b});case"texture":return new o.Tensor({location:"texture",texture:C.texture,type:C.type,dims:b});case"gpu-buffer":return new o.Tensor({location:"gpu-buffer",gpuBuffer:C.gpuBuffer,type:C.type,dims:b});case"ml-tensor":return new o.Tensor({location:"ml-tensor",mlTensor:C.mlTensor,type:C.type,dims:b});default:throw new Error(`tensorReshape: tensor location ${C.location} is not supported`)}}},
vendor: 173 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor.js":(c,a,s)=>{s.r(a),s.d(a,{Tensor:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js").Tensor},
vendor: 741 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/trace.js":(c,a,s)=>{s.r(a),s.d(a,{TRACE:()=>u,TRACE_FUNC_BEGIN:()=>C,TRACE_FUNC_END:()=>b});var o=s("./node_modules/onnxruntime-common/dist/esm/env-impl.js");const u=(k,E)=>{(o.env.trace===void 0?o.env.wasm.trace:o.env.trace)&&console.timeStamp(`${k}::ORT::${E}`)},p=(k,E)=>{var D;const B=((D=new Error().stack)==null?void 0:D.split(/\r\n|\r|\n/g))||[];let G=!1;for(let Q=0;Q<B.length;Q++){if(G&&!B[Q].includes("TRACE_FUNC")){let V=`FUNC_${k}::${B[Q].trim().split(" ")[1]}`;return E&&(V+=`::${E}`),void u("CPU",V)}B[Q].includes("TRACE_FUNC")&&(G=!0)}},C=k=>{(o.env.trace===void 0?o.env.wasm.trace:o.env.trace)&&p("BEGIN",k)},b=k=>{(o.env.trace===void 0?o.env.wasm.trace:o.env.trace)&&p("END",k)}},
vendor: 3,969 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/training-session-impl.js":(c,a,s)=>{s.r(a),s.d(a,{TrainingSession:()=>p});var o=s("./node_modules/onnxruntime-common/dist/esm/backend-impl.js"),u=s("./node_modules/onnxruntime-common/dist/esm/tensor.js");class p{constructor(b,k,E){this.handler=b,this.hasOptimizerModel=k,this.hasEvalModel=E}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw new Error("This training session has no evalModel loaded.")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw new Error("This training session has no evalModel loaded.")}static async create(b,k){const E=b.evalModel||"",B=b.optimizerModel||"",G=k||{},[D,Q]=await(0,o.resolveBackendAndExecutionProviders)(G);if(D.createTrainingSessionHandler){const V=await D.createTrainingSessionHandler(b.checkpointState,b.trainModel,E,B,Q);return new p(V,!!b.optimizerModel,!!b.evalModel)}throw new Error("Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.")}typeNarrowingForRunStep(b,k,E,B,G){const D={};let Q={};if(typeof E!="object"||E===null||E instanceof u.Tensor||Array.isArray(E))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let V=!0;if(typeof B=="object"){if(B===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(B instanceof u.Tensor)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(B)){if(B.length===0)throw new TypeError("'fetches' cannot be an empty array.");V=!1;for(const W of B){if(typeof W!="string")throw new TypeError("'fetches' must be a string array or an object.");if(k.indexOf(W)===-1)throw new RangeError(`'fetches' contains invalid output name: ${W}.`);D[W]=null}if(typeof G=="object"&&G!==null)Q=G;else if(G!==void 0)throw new TypeError("'options' must be an object.")}else{let W=!1;const U=Object.getOwnPropertyNames(B);for(const H of k)if(U.indexOf(H)!==-1){const K=B[H];(K===null||K instanceof u.Tensor)&&(W=!0,V=!1,D[H]=K)}if(W){if(typeof G=="object"&&G!==null)Q=G;else if(G!==void 0)throw new TypeError("'options' must be an object.")}else Q=B}}else if(B!==void 0)throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(const W of b)if(E[W]===void 0)throw new Error(`input '${W}' is missing in 'feeds'.`);if(V)for(const W of k)D[W]=null;return[D,Q]}convertHandlerReturnTypeToMapOfTensors(b){const k={};for(const E in b)if(Object.hasOwnProperty.call(b,E)){const B=b[E];B instanceof u.Tensor?k[E]=B:k[E]=new u.Tensor(B.type,B.data,B.dims)}return k}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(b,k,E){const[B,G]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,b,k,E),D=await this.handler.runTrainStep(b,B,G);return this.convertHandlerReturnTypeToMapOfTensors(D)}async runOptimizerStep(b){if(!this.hasOptimizerModel)throw new Error("This TrainingSession has no OptimizerModel loaded.");await this.handler.runOptimizerStep(b||{})}async runEvalStep(b,k,E){if(this.hasEvalModel){const[B,G]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,b,k,E),D=await this.handler.runEvalStep(b,B,G);return this.convertHandlerReturnTypeToMapOfTensors(D)}throw new Error("This TrainingSession has no EvalModel loaded.")}async getParametersSize(b=!0){return this.handler.getParametersSize(b)}async loadParametersBuffer(b,k=!0){const E=await this.getParametersSize(k);if(b.length!==4*E)throw new Error("Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.");return this.handler.loadParametersBuffer(b,k)}async getContiguousParameters(b=!0){return this.handler.getContiguousParameters(b)}async release(){return this.handler.dispose()}}},
vendor: 211 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/training-session.js":(c,a,s)=>{s.r(a),s.d(a,{TrainingSession:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/training-session-impl.js").TrainingSession},
vendor: 396,978 bytes, lines 81-2803
81"./node_modules/onnxruntime-common/dist/esm/version.js":(c,a,s)=>{s.r(a),s.d(a,{version:()=>o});const o="1.20.1"},"./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?3a96":(c,a,s)=>{s.r(a),s.d(a,{InferenceSession:()=>Fe,TRACE:()=>Ie,TRACE_FUNC_BEGIN:()=>ce,TRACE_FUNC_END:()=>ge,Tensor:()=>F,default:()=>U3,env:()=>G,registerBackend:()=>p});var o,u,p,C,b,k,E,B,G,D,Q,V,W,U,H,K,J,g,v,e,d,_,re,S,F,Ie,he,ce,ge,Ce,Fe,Pe=Object.defineProperty,de=Object.getOwnPropertyDescriptor,pe=Object.getOwnPropertyNames,we=Object.prototype.hasOwnProperty,Ge=(f=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(f,{get:(I,x)=>(typeof require<"u"?require:I)[x]}):f)(function(f){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+f+'" is not supported')}),me=(f,I)=>()=>(f&&(I=f(f=0)),I),at=(f,I)=>{for(var x in I)Pe(f,x,{get:I[x],enumerable:!0})},Ue=f=>((I,x,N,L)=>{if(x&&typeof x=="object"||typeof x=="function")for(let j of pe(x))!we.call(I,j)&&j!==N&&Pe(I,j,{get:()=>x[j],enumerable:!(L=de(x,j))||L.enumerable});return I})(Pe({},"__esModule",{value:!0}),f),ot=me(()=>{o=new Map,u=[],p=(f,I,x)=>{if(!I||typeof I.init!="function"||typeof I.createInferenceSessionHandler!="function")throw new TypeError("not a valid backend");{let N=o.get(f);if(N===void 0)o.set(f,{backend:I,priority:x});else{if(N.priority>x)return;if(N.priority===x&&N.backend!==I)throw new Error(`cannot register backend "${f}" using priority ${x}`)}if(x>=0){let L=u.indexOf(f);L!==-1&&u.splice(L,1);for(let j=0;j<u.length;j++)if(o.get(u[j]).priority<=x)return void u.splice(j,0,f);u.push(f)}}},C=async f=>{let I=o.get(f);if(!I)return"backend not found.";if(I.initialized)return I.backend;if(I.aborted)return I.error;{let x=!!I.initPromise;try{return x||(I.initPromise=I.backend.init(f)),await I.initPromise,I.initialized=!0,I.backend}catch(N){return x||(I.error=`${N}`,I.aborted=!0),I.error}finally{delete I.initPromise}}},b=async f=>{let I,x=f.executionProviders||[],N=x.map(se=>typeof se=="string"?se:se.name),L=N.length===0?u:N,j=[],Y=new Set;for(let se of L){let ne=await C(se);typeof ne=="string"?j.push({name:se,err:ne}):(I||(I=ne),I===ne&&Y.add(se))}if(!I)throw new Error(`no available backend found. ERR: ${j.map(se=>`[${se.name}] ${se.err}`).join(", ")}`);for(let{name:se,err:ne}of j)N.includes(se)&&console.warn(`removing requested execution provider "${se}" from session options because it is not available: ${ne}`);let Ae=x.filter(se=>Y.has(typeof se=="string"?se:se.name));return[I,new Proxy(f,{get:(se,ne)=>ne==="executionProviders"?Ae:Reflect.get(se,ne)})]}}),pt=me(()=>{ot()}),ct=me(()=>{k="1.21.0-dev.20250206-d981b153d3"}),je=me(()=>{ct(),E="warning",B={wasm:{},webgl:{},webgpu:{},versions:{common:k},set logLevel(f){if(f!==void 0){if(typeof f!="string"||["verbose","info","warning","error","fatal"].indexOf(f)===-1)throw new Error(`Unsupported logging level: ${f}`);E=f}},get logLevel(){return E}},Object.defineProperty(B,"logLevel",{enumerable:!0})}),At=me(()=>{je(),G=B}),It=me(()=>{D=(f,I)=>{let x=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);x.width=f.dims[3],x.height=f.dims[2];let N=x.getContext("2d");if(N!=null){let L,j;(I==null?void 0:I.tensorLayout)!==void 0&&I.tensorLayout==="NHWC"?(L=f.dims[2],j=f.dims[3]):(L=f.dims[3],j=f.dims[2]);let Y,Ae,se=(I==null?void 0:I.format)!==void 0?I.format:"RGB",ne=I==null?void 0:I.norm;ne===void 0||ne.mean===void 0?Y=[255,255,255,255]:typeof ne.mean=="number"?Y=[ne.mean,ne.mean,ne.mean,ne.mean]:(Y=[ne.mean[0],ne.mean[1],ne.mean[2],0],ne.mean[3]!==void 0&&(Y[3]=ne.mean[3])),ne===void 0||ne.bias===void 0?Ae=[0,0,0,0]:typeof ne.bias=="number"?Ae=[ne.bias,ne.bias,ne.bias,ne.bias]:(Ae=[ne.bias[0],ne.bias[1],ne.bias[2],0],ne.bias[3]!==void 0&&(Ae[3]=ne.bias[3]));let ye=j*L,Be=0,te=ye,Te=2*ye,Oe=-1;se==="RGBA"?(Be=0,te=ye,Te=2*ye,Oe=3*ye):se==="RGB"?(Be=0,te=ye,Te=2*ye):se==="RBG"&&(Be=0,Te=ye,te=2*ye);for(let Ke=0;Ke<j;Ke++)for(let Re=0;Re<L;Re++){let et=(f.data[Be++]-Ae[0])*Y[0],ft=(f.data[te++]-Ae[1])*Y[1],bt=(f.data[Te++]-Ae[2])*Y[2],Mt=Oe===-1?255:(f.data[Oe++]-Ae[3])*Y[3];N.fillStyle="rgba("+et+","+ft+","+bt+","+Mt+")",N.fillRect(Re,Ke,1,1)}if("toDataURL"in x)return x.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},Q=(f,I)=>{let x,N=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(N==null)throw new Error("Can not access image data");{let L,j,Y;(I==null?void 0:I.tensorLayout)!==void 0&&I.tensorLayout==="NHWC"?(L=f.dims[2],j=f.dims[1],Y=f.dims[3]):(L=f.dims[3],j=f.dims[2],Y=f.dims[1]);let Ae,se,ne=I!==void 0&&I.format!==void 0?I.format:"RGB",ye=I==null?void 0:I.norm;ye===void 0||ye.mean===void 0?Ae=[255,255,255,255]:typeof ye.mean=="number"?Ae=[ye.mean,ye.mean,ye.mean,ye.mean]:(Ae=[ye.mean[0],ye.mean[1],ye.mean[2],255],ye.mean[3]!==void 0&&(Ae[3]=ye.mean[3])),ye===void 0||ye.bias===void 0?se=[0,0,0,0]:typeof ye.bias=="number"?se=[ye.bias,ye.bias,ye.bias,ye.bias]:(se=[ye.bias[0],ye.bias[1],ye.bias[2],0],ye.bias[3]!==void 0&&(se[3]=ye.bias[3]));let Be=j*L;if(I!==void 0&&(I.format!==void 0&&Y===4&&I.format!=="RGBA"||Y===3&&I.format!=="RGB"&&I.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let te=4,Te=0,Oe=1,Ke=2,Re=3,et=0,ft=Be,bt=2*Be,Mt=-1;ne==="RGBA"?(et=0,ft=Be,bt=2*Be,Mt=3*Be):ne==="RGB"?(et=0,ft=Be,bt=2*Be):ne==="RBG"&&(et=0,bt=Be,ft=2*Be),x=N.createImageData(L,j);for(let Dt=0;Dt<j*L;Te+=te,Oe+=te,Ke+=te,Re+=te,Dt++)x.data[Te]=(f.data[et++]-se[0])*Ae[0],x.data[Oe]=(f.data[ft++]-se[1])*Ae[1],x.data[Ke]=(f.data[bt++]-se[2])*Ae[2],x.data[Re]=Mt===-1?255:(f.data[Mt++]-se[3])*Ae[3]}return x}}),wt=me(()=>{Bt(),V=(f,I)=>{if(f===void 0)throw new Error("Image buffer must be defined");if(I.height===void 0||I.width===void 0)throw new Error("Image height and width must be defined");if(I.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let x,N,{height:L,width:j}=I,Y=I.norm??{mean:255,bias:0};x=typeof Y.mean=="number"?[Y.mean,Y.mean,Y.mean,Y.mean]:[Y.mean[0],Y.mean[1],Y.mean[2],Y.mean[3]??255],N=typeof Y.bias=="number"?[Y.bias,Y.bias,Y.bias,Y.bias]:[Y.bias[0],Y.bias[1],Y.bias[2],Y.bias[3]??0];let Ae=I.format!==void 0?I.format:"RGBA",se=I.tensorFormat!==void 0&&I.tensorFormat!==void 0?I.tensorFormat:"RGB",ne=L*j,ye=se==="RGBA"?new Float32Array(4*ne):new Float32Array(3*ne),Be=4,te=0,Te=1,Oe=2,Ke=3,Re=0,et=ne,ft=2*ne,bt=-1;Ae==="RGB"&&(Be=3,te=0,Te=1,Oe=2,Ke=-1),se==="RGBA"?bt=3*ne:se==="RBG"?(Re=0,ft=ne,et=2*ne):se==="BGR"&&(ft=0,et=ne,Re=2*ne);for(let Mt=0;Mt<ne;Mt++,te+=Be,Oe+=Be,Te+=Be,Ke+=Be)ye[Re++]=(f[te]+N[0])/x[0],ye[et++]=(f[Te]+N[1])/x[1],ye[ft++]=(f[Oe]+N[2])/x[2],bt!==-1&&Ke!==-1&&(ye[bt++]=(f[Ke]+N[3])/x[3]);return new S("float32",ye,se==="RGBA"?[1,4,L,j]:[1,3,L,j])},W=async(f,I)=>{let x,N=typeof HTMLImageElement<"u"&&f instanceof HTMLImageElement,L=typeof ImageData<"u"&&f instanceof ImageData,j=typeof ImageBitmap<"u"&&f instanceof ImageBitmap,Y=typeof f=="string",Ae=I??{},se=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},ne=ye=>typeof HTMLCanvasElement<"u"&&ye instanceof HTMLCanvasElement||ye instanceof OffscreenCanvas?ye.getContext("2d"):null;if(N){let ye=se();ye.width=f.width,ye.height=f.height;let Be=ne(ye);if(Be==null)throw new Error("Can not access image data");{let te=f.height,Te=f.width;if(I!==void 0&&I.resizedHeight!==void 0&&I.resizedWidth!==void 0&&(te=I.resizedHeight,Te=I.resizedWidth),I!==void 0){if(Ae=I,I.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");Ae.tensorFormat="RGBA",Ae.height=te,Ae.width=Te}else Ae.tensorFormat="RGBA",Ae.height=te,Ae.width=Te;Be.drawImage(f,0,0),x=Be.getImageData(0,0,Te,te).data}}else{if(!L){if(j){if(I===void 0)throw new Error("Please provide image config with format for Imagebitmap");let ye=se();ye.width=f.width,ye.height=f.height;let Be=ne(ye);if(Be!=null){let te=f.height,Te=f.width;return Be.drawImage(f,0,0,Te,te),x=Be.getImageData(0,0,Te,te).data,Ae.height=te,Ae.width=Te,V(x,Ae)}throw new Error("Can not access image data")}if(Y)return new Promise((ye,Be)=>{let te=se(),Te=ne(te);if(!f||!Te)return Be();let Oe=new Image;Oe.crossOrigin="Anonymous",Oe.src=f,Oe.onload=()=>{te.width=Oe.width,te.height=Oe.height,Te.drawImage(Oe,0,0,te.width,te.height);let Ke=Te.getImageData(0,0,te.width,te.height);Ae.height=te.height,Ae.width=te.width,ye(V(Ke.data,Ae))}});throw new Error("Input data provided is not supported - aborted tensor creation")}{let ye,Be;if(I!==void 0&&I.resizedWidth!==void 0&&I.resizedHeight!==void 0?(ye=I.resizedHeight,Be=I.resizedWidth):(ye=f.height,Be=f.width),I!==void 0&&(Ae=I),Ae.format="RGBA",Ae.height=ye,Ae.width=Be,I!==void 0){let te=se();te.width=Be,te.height=ye;let Te=ne(te);if(Te==null)throw new Error("Can not access image data");Te.putImageData(f,0,0),x=Te.getImageData(0,0,Be,ye).data}else x=f.data}}if(x!==void 0)return V(x,Ae);throw new Error("Input data provided is not supported - aborted tensor creation")},U=(f,I)=>{let{width:x,height:N,download:L,dispose:j}=I;return new S({location:"texture",type:"float32",texture:f,dims:[1,N,x,4],download:L,dispose:j})},H=(f,I)=>{let{dataType:x,dims:N,download:L,dispose:j}=I;return new S({location:"gpu-buffer",type:x??"float32",gpuBuffer:f,dims:N,download:L,dispose:j})},K=(f,I)=>{let{dataType:x,dims:N,download:L,dispose:j}=I;return new S({location:"ml-tensor",type:x??"float32",mlTensor:f,dims:N,download:L,dispose:j})},J=(f,I,x)=>new S({location:"cpu-pinned",type:f,data:I,dims:x??[I.length]})}),ze=me(()=>{g=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),v=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),e=!1,d=()=>{if(!e){e=!0;let f=typeof BigInt64Array<"u"&&BigInt64Array.from,I=typeof BigUint64Array<"u"&&BigUint64Array.from,x=typeof Float16Array<"u"&&Float16Array.from;f&&(g.set("int64",BigInt64Array),v.set(BigInt64Array,"int64")),I&&(g.set("uint64",BigUint64Array),v.set(BigUint64Array,"uint64")),x?(g.set("float16",Float16Array),v.set(Float16Array,"float16")):g.set("float16",Uint16Array)}}}),rt=me(()=>{Bt(),_=f=>{let I=1;for(let x=0;x<f.length;x++){let N=f[x];if(typeof N!="number"||!Number.isSafeInteger(N))throw new TypeError(`dims[${x}] must be an integer, got: ${N}`);if(N<0)throw new RangeError(`dims[${x}] must be a non-negative integer, got: ${N}`);I*=N}return I},re=(f,I)=>{switch(f.location){case"cpu":return new S(f.type,f.data,I);case"cpu-pinned":return new S({location:"cpu-pinned",data:f.data,type:f.type,dims:I});case"texture":return new S({location:"texture",texture:f.texture,type:f.type,dims:I});case"gpu-buffer":return new S({location:"gpu-buffer",gpuBuffer:f.gpuBuffer,type:f.type,dims:I});case"ml-tensor":return new S({location:"ml-tensor",mlTensor:f.mlTensor,type:f.type,dims:I});default:throw new Error(`tensorReshape: tensor location ${f.location} is not supported`)}}}),Bt=me(()=>{It(),wt(),ze(),rt(),S=class{constructor(f,I,x){let N,L;if(d(),typeof f=="object"&&"location"in f)switch(this.dataLocation=f.location,N=f.type,L=f.dims,f.location){case"cpu-pinned":{let Y=g.get(N);if(!Y)throw new TypeError(`unsupported type "${N}" to create tensor from pinned buffer`);if(!(f.data instanceof Y))throw new TypeError(`buffer should be of type ${Y.name}`);this.cpuData=f.data;break}case"texture":if(N!=="float32")throw new TypeError(`unsupported type "${N}" to create tensor from texture`);this.gpuTextureData=f.texture,this.downloader=f.download,this.disposer=f.dispose;break;case"gpu-buffer":if(N!=="float32"&&N!=="float16"&&N!=="int32"&&N!=="int64"&&N!=="uint32"&&N!=="uint8"&&N!=="bool"&&N!=="uint4"&&N!=="int4")throw new TypeError(`unsupported type "${N}" to create tensor from gpu buffer`);this.gpuBufferData=f.gpuBuffer,this.downloader=f.download,this.disposer=f.dispose;break;case"ml-tensor":if(N!=="float32"&&N!=="float16"&&N!=="int32"&&N!=="int64"&&N!=="uint32"&&N!=="uint64"&&N!=="int8"&&N!=="uint8"&&N!=="bool"&&N!=="uint4"&&N!=="int4")throw new TypeError(`unsupported type "${N}" to create tensor from MLTensor`);this.mlTensorData=f.mlTensor,this.downloader=f.download,this.disposer=f.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let Y,Ae;if(typeof f=="string")if(N=f,Ae=x,f==="string"){if(!Array.isArray(I))throw new TypeError("A string tensor's data must be a string array.");Y=I}else{let se=g.get(f);if(se===void 0)throw new TypeError(`Unsupported tensor type: ${f}.`);if(Array.isArray(I)){if(f==="float16"&&se===Uint16Array||f==="uint4"||f==="int4")throw new TypeError(`Creating a ${f} tensor from number array is not supported. Please use ${se.name} as data.`);Y=f==="uint64"||f==="int64"?se.from(I,BigInt):se.from(I)}else if(I instanceof se)Y=I;else{if(!(I instanceof Uint8ClampedArray))throw new TypeError(`A ${N} tensor's data must be type of ${se}`);if(f!=="uint8")throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");Y=Uint8Array.from(I)}}else if(Ae=I,Array.isArray(f)){if(f.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let se=typeof f[0];if(se==="string")N="string",Y=f;else{if(se!=="boolean")throw new TypeError(`Invalid element type of data array: ${se}.`);N="bool",Y=Uint8Array.from(f)}}else if(f instanceof Uint8ClampedArray)N="uint8",Y=Uint8Array.from(f);else{let se=v.get(f.constructor);if(se===void 0)throw new TypeError(`Unsupported type for tensor data: ${f.constructor}.`);N=se,Y=f}if(Ae===void 0)Ae=[Y.length];else if(!Array.isArray(Ae))throw new TypeError("A tensor's dims must be a number array");L=Ae,this.cpuData=Y,this.dataLocation="cpu"}let j=_(L);if(this.cpuData&&j!==this.cpuData.length&&(N!=="uint4"&&N!=="int4"||Math.ceil(j/2)!==this.cpuData.length))throw new Error(`Tensor's size(${j}) does not match data length(${this.cpuData.length}).`);this.type=N,this.dims=L,this.size=j}static async fromImage(f,I){return W(f,I)}static fromTexture(f,I){return U(f,I)}static fromGpuBuffer(f,I){return H(f,I)}static fromMLTensor(f,I){return K(f,I)}static fromPinnedBuffer(f,I,x){return J(f,I,x)}toDataURL(f){return D(this,f)}toImageData(f){return Q(this,f)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(f){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let I=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=I,f&&this.disposer&&(this.disposer(),this.disposer=void 0),I}finally{this.isDownloading=!1}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(f){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return re(this,f)}}}),Ot=me(()=>{Bt(),F=S}),St=me(()=>{je(),Ie=(f,I)=>{(typeof B.trace>"u"?!B.wasm.trace:!B.trace)||console.timeStamp(`${f}::ORT::${I}`)},he=(f,I)=>{var L;let x=((L=new Error().stack)==null?void 0:L.split(/\r\n|\r|\n/g))||[],N=!1;for(let j=0;j<x.length;j++){if(N&&!x[j].includes("TRACE_FUNC")){let Y=`FUNC_${f}::${x[j].trim().split(" ")[1]}`;return I&&(Y+=`::${I}`),void Ie("CPU",Y)}x[j].includes("TRACE_FUNC")&&(N=!0)}},ce=f=>{(typeof B.trace>"u"?!B.wasm.trace:!B.trace)||he("BEGIN",f)},ge=f=>{(typeof B.trace>"u"?!B.wasm.trace:!B.trace)||he("END",f)}}),oe=me(()=>{ot(),Ot(),St(),Ce=class Dm{constructor(I){this.handler=I}async run(I,x,N){ce();let L={},j={};if(typeof I!="object"||I===null||I instanceof F||Array.isArray(I))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let Y=!0;if(typeof x=="object"){if(x===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(x instanceof F)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(x)){if(x.length===0)throw new TypeError("'fetches' cannot be an empty array.");Y=!1;for(let ne of x){if(typeof ne!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(ne)===-1)throw new RangeError(`'fetches' contains invalid output name: ${ne}.`);L[ne]=null}if(typeof N=="object"&&N!==null)j=N;else if(typeof N<"u")throw new TypeError("'options' must be an object.")}else{let ne=!1,ye=Object.getOwnPropertyNames(x);for(let Be of this.outputNames)if(ye.indexOf(Be)!==-1){let te=x[Be];(te===null||te instanceof F)&&(ne=!0,Y=!1,L[Be]=te)}if(ne){if(typeof N=="object"&&N!==null)j=N;else if(typeof N<"u")throw new TypeError("'options' must be an object.")}else j=x}}else if(typeof x<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let ne of this.inputNames)if(typeof I[ne]>"u")throw new Error(`input '${ne}' is missing in 'feeds'.`);if(Y)for(let ne of this.outputNames)L[ne]=null;let Ae=await this.handler.run(I,L,j),se={};for(let ne in Ae)if(Object.hasOwnProperty.call(Ae,ne)){let ye=Ae[ne];se[ne]=ye instanceof F?ye:new F(ye.type,ye.data,ye.dims)}return ge(),se}async release(){return this.handler.dispose()}static async create(I,x,N,L){ce();let j,Y={};if(typeof I=="string"){if(j=I,typeof x=="object"&&x!==null)Y=x;else if(typeof x<"u")throw new TypeError("'options' must be an object.")}else if(I instanceof Uint8Array){if(j=I,typeof x=="object"&&x!==null)Y=x;else if(typeof x<"u")throw new TypeError("'options' must be an object.")}else{if(!(I instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&I instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{let ye=I,Be=0,te=I.byteLength;if(typeof x=="object"&&x!==null)Y=x;else if(typeof x=="number"){if(Be=x,!Number.isSafeInteger(Be))throw new RangeError("'byteOffset' must be an integer.");if(Be<0||Be>=ye.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${ye.byteLength}).`);if(te=I.byteLength-Be,typeof N=="number"){if(te=N,!Number.isSafeInteger(te))throw new RangeError("'byteLength' must be an integer.");if(te<=0||Be+te>ye.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${ye.byteLength-Be}].`);if(typeof L=="object"&&L!==null)Y=L;else if(typeof L<"u")throw new TypeError("'options' must be an object.")}else if(typeof N<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof x<"u")throw new TypeError("'options' must be an object.");j=new Uint8Array(ye,Be,te)}}let[Ae,se]=await b(Y),ne=await Ae.createInferenceSessionHandler(j,se);return ge(),new Dm(ne)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}}),zt=me(()=>{oe(),Fe=Ce}),ke=me(()=>{}),fe=me(()=>{}),Qe=me(()=>{}),Je=me(()=>{}),st={};at(st,{InferenceSession:()=>Fe,TRACE:()=>Ie,TRACE_FUNC_BEGIN:()=>ce,TRACE_FUNC_END:()=>ge,Tensor:()=>F,env:()=>G,registerBackend:()=>p});var lt=me(()=>{pt(),At(),zt(),Ot(),ke(),fe(),St(),Qe(),Je()}),xt=me(()=>{}),jt={};at(jt,{default:()=>dA});var $t,Ft,dA,eA=me(()=>{var f;kd(),G0(),Jc(),$t="ort-wasm-proxy-worker",(Ft=((f=globalThis.self)==null?void 0:f.name)===$t)&&(self.onmessage=I=>{let{type:x,in:N}=I.data;try{switch(x){case"init-wasm":Rr(N.wasm).then(()=>{Ys(N).then(()=>{postMessage({type:x})},L=>{postMessage({type:x,err:L})})},L=>{postMessage({type:x,err:L})});break;case"init-ep":{let{epName:L,env:j}=N;La(j,L).then(()=>{postMessage({type:x})},Y=>{postMessage({type:x,err:Y})});break}case"copy-from":{let{buffer:L}=N,j=p0(L);postMessage({type:x,out:j});break}case"create":{let{model:L,options:j}=N;Kl(L,j).then(Y=>{postMessage({type:x,out:Y})},Y=>{postMessage({type:x,err:Y})});break}case"release":oc(N),postMessage({type:x});break;case"run":{let{sessionId:L,inputIndices:j,inputs:Y,outputIndices:Ae,options:se}=N;cc(L,j,Y,Ae,new Array(Ae.length).fill(null),se).then(ne=>{ne.some(ye=>ye[3]!=="cpu")?postMessage({type:x,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:x,out:ne},uc([...Y,...ne]))},ne=>{postMessage({type:x,err:ne})});break}case"end-profiling":Vu(N),postMessage({type:x})}}catch(L){postMessage({type:x,err:L})}}),dA=Ft?null:I=>new Worker(I??mA,{type:"module",name:$t})}),nA={};at(nA,{default:()=>vA});var aA,bA,vA,Gt,mA,AA,gr,CA,NA,tA,iA,qt,zA,Fr,Vr,Tt,MA,QA,ZA,FA,EA,Rr,Er,Dr,Vs,nr,qs,xa,Ja,ma,Qa,$a,ds,en,oa,Yn,Ma,Br,Hr,cn,Rn,Oi,Ra,jn,Tn,ja,$A,fr,la,vi,Pa,ci,tn,Wa,_t,Ee,qe,ut,mt,vt,Rt,lA,gt,pA,oA,sr,jr,Gr,Or,ir,IA,_A,_r,ba,Bs,ts,PA,Kr,Yt,TA,Js,Ss,Ds,ks,os,Tr,As,yi,Da,Qn,$s,Ei,or,ea,ta,Fo,io,ui,Fi,Wn,Un,Lo,vn,Sa,Ns,BA,Aa,Li,Vi,Go,Kn,Vo,Hi,Bi,ca,Wr,xi,Yi,Gs,fi,An,Zn,Mi,Pn,oo,_o,Sn,uA,yn,kA,lo,co,ra,js,Nn,di,uo,_s,Xn,Ho,En,un,Ri,Di,gi,wA,ua,To,qn,fn,fo,Yo,go,zn,ji,ho,Ts,Ro,Jn,rr,wr,Gi,Na,po,Ws,On,fa,$n,Wi,dn,s0,Ui,Zr,sa,jo,Us,za,ei,mo,gn,Wo,Ki,aa,da,a0,bo,hn,ti,Zi,rs,Uo,Xi,Ua,Ka,_i,pn,Bn,Co,rn,Ca,qi,Io,xn,n0,Ks,Za,Ia,wo,sn,mn,ss,bn,hi,pi,Mn,Ko,ko,Dn,mi,an,Cn,vo,Hs,vr,Ji,Qo,wa,bi,Ai,In,ka,Po,wn,$i,Ti,gs,Zo,eo,Ga,i0,Ci,LA,t,A,r,n,i,l,h,m,w,M,y,P,R,ee,ae,ue,be,_e,Ve,$e,it,ht,yt,Pt,Wt,cA,gA,SA,VA,qA,Cr,Yr,Xr,ls,as,xs,Ms,zs,Os,ga,na,ha,pa,Gn,Fn,Ln,Vn,yo,to,Ao,Qi,Xo,o0,l0,ro,fl,dl,gl,m0,hl,R0,pl,b0,j0,ml,bl,C0,Cl,W0,Il,I0,U0,wl,kl,c0,vl,Pi,Si,so,Ni,yl,El,u0,Bl,xl,Ml,w0,Dl,Gl,nn,k0,_l,v0,Tl,So,Eo,Ql,Pl,y0,Sl,E0,Nl,zl,B0,Ol,f0,Fl,d0,Ll,g0,Vl,Hl,x0,Yl,M0,Rl,jl,G2,e1,_2,T2,Q2,K0,P2,S2,N2,z2,O2,F2,L2,D0,V2,vc,yc,Ec,H2,Y2,sc,Bc,R2,xc,Mc,j2,Dc,Gc,W2,ac,U2,K2,Z2,X2,_c,nc,t1,q2,J2,Tc,$2,eu,Qc,tu,Au,Pc,ru,A1,Sc,Nc,su,au,zc,nu,iu,ic,ou,lu,Oc,cu,uu,fu,du,gu,hu,pu,mu,bu,Fc,Cu,Wl,Lc,Vc,Iu,Is,r1,s1,a1,Hc,wu,ku,Yc,vu,Rc,jc,n1,yu,Eu,Wc,i1,o1,Bu,xu,Mu,Du,Gu,_u,Uc,Tu,Kc,Zc,Xc,Qu,l1,qc,Pu,Su,c1=me(()=>{var f;aA=import.meta.url,bA=async function(I={}){function x(){return Lt.buffer!=RA.buffer&&Qs(),RA}function N(){return Lt.buffer!=RA.buffer&&Qs(),is}function L(){return Lt.buffer!=RA.buffer&&Qs(),Va}function j(){return Lt.buffer!=RA.buffer&&Qs(),ai}function Y(){return Lt.buffer!=RA.buffer&&Qs(),N0}function Ae(){return Lt.buffer!=RA.buffer&&Qs(),$0}function se(){return Lt.buffer!=RA.buffer&&Qs(),fc}function ne(){return Lt.buffer!=RA.buffer&&Qs(),O0}var ye,Be,te=Object.assign({},I),Te=new Promise((Z,ie)=>{ye=Z,Be=ie}),Oe=typeof window=="object",Ke=typeof importScripts=="function",Re=Ke&&self.name=="em-pthread";te.mountExternalData=(Z,ie)=>{Z.startsWith("./")&&(Z=Z.substring(2)),(te.Fb||(te.Fb=new Map)).set(Z,ie)},te.unmountExternalData=()=>{delete te.Fb};var et=globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let ft=()=>{let Z=(ve,De,We)=>(...kt)=>{let sA=V0,fA=De==null?void 0:De();kt=ve(...kt);let jA=De==null?void 0:De();return fA!==jA&&(ve=jA,We(fA),De=We=null),V0!=sA?new Promise((KA,dr)=>{yf={resolve:KA,reject:dr}}):kt},ie=ve=>async(...De)=>{var We;try{if(te.Gb)throw Error("Session already started");let kt=te.Gb={hc:De[0],errors:[]},sA=await ve(...De);if(te.Gb!==kt)throw Error("Session mismatch");(We=te.Hb)==null||We.flush();let fA=kt.errors;if(0<fA.length){let jA=await Promise.all(fA);if(jA=jA.filter(KA=>KA),0<jA.length)throw Error(jA.join(`
82`))}return sA}finally{te.Gb=null}};te._OrtCreateSession=Z(te._OrtCreateSession,()=>te._OrtCreateSession,ve=>te._OrtCreateSession=ve),te._OrtRun=ie(Z(te._OrtRun,()=>te._OrtRun,ve=>te._OrtRun=ve)),te._OrtRunWithBinding=ie(Z(te._OrtRunWithBinding,()=>te._OrtRunWithBinding,ve=>te._OrtRunWithBinding=ve)),te._OrtBindInput=Z(te._OrtBindInput,()=>te._OrtBindInput,ve=>te._OrtBindInput=ve),ft=void 0};te.jsepInit=(Z,ie)=>{if(ft==null||ft(),Z==="webgpu"){[te.Hb,te.Vb,te.Zb,te.Ob,te.Yb,te.kb,te.$b,te.cc,te.Wb,te.Xb,te.ac]=ie;let ve=te.Hb;te.jsepRegisterBuffer=(De,We,kt,sA)=>ve.registerBuffer(De,We,kt,sA),te.jsepGetBuffer=De=>ve.getBuffer(De),te.jsepCreateDownloader=(De,We,kt)=>ve.createDownloader(De,We,kt),te.jsepOnCreateSession=De=>{ve.onCreateSession(De)},te.jsepOnReleaseSession=De=>{ve.onReleaseSession(De)},te.jsepOnRunStart=De=>ve.onRunStart(De),te.dc=(De,We)=>{ve.upload(De,We)}}else if(Z==="webnn"){[te.Hb,te.bc,te.Pb,te.jsepEnsureTensor,te.ec,te.jsepDownloadTensor]=ie,te.jsepReleaseTensorId=te.Pb;let ve=te.Hb;te.jsepOnRunStart=De=>ve.onRunStart(De),te.jsepRegisterMLContext=(De,We)=>{ve.registerMLContext(De,We)},te.jsepOnReleaseSession=De=>{ve.onReleaseSession(De)},te.jsepCreateMLTensorDownloader=(De,We)=>ve.createMLTensorDownloader(De,We),te.jsepRegisterMLTensor=(De,We,kt)=>ve.registerMLTensor(De,We,kt),te.jsepCreateMLContext=De=>ve.createMLContext(De),te.jsepRegisterMLConstant=(De,We,kt,sA,fA)=>ve.registerMLConstant(De,We,kt,sA,fA,te.Fb)}};var bt,Mt,Dt=Object.assign({},te),Nt=(Z,ie)=>{throw ie},hA="";(Oe||Ke)&&(Ke?hA=self.location.href:typeof document<"u"&&document.currentScript&&(hA=document.currentScript.src),aA&&(hA=aA),hA=hA.startsWith("blob:")?"":hA.substr(0,hA.replace(/[?#].*/,"").lastIndexOf("/")+1),Ke&&(Mt=Z=>{var ie=new XMLHttpRequest;return ie.open("GET",Z,!1),ie.responseType="arraybuffer",ie.send(null),new Uint8Array(ie.response)}),bt=(Z,ie,ve)=>{var De=new XMLHttpRequest;De.open("GET",Z,!0),De.responseType="arraybuffer",De.onload=()=>{De.status==200||De.status==0&&De.response?ie(De.response):ve()},De.onerror=ve,De.send(null)});var xA,er=console.log.bind(console),tr=console.error.bind(console),qr=er,Ar=tr;if(Object.assign(te,Dt),Dt=null,Re){let Z=function(ie){try{var ve=ie.data,De=ve.cmd;if(De==="load"){let We=[];self.onmessage=kt=>We.push(kt),self.startWorker=()=>{postMessage({cmd:"loaded"});for(let kt of We)Z(kt);self.onmessage=Z};for(let kt of ve.handlers)te[kt]&&!te[kt].proxy||(te[kt]=(...sA)=>{postMessage({Nb:"callHandler",pc:kt,args:sA})},kt=="print"&&(qr=te[kt]),kt=="printErr"&&(Ar=te[kt]));Lt=ve.wasmMemory,Qs(),Ir(ve.wasmModule)}else if(De==="run"){Mf(ve.pthread_ptr,0,0,1,0,0),kf(ve.pthread_ptr),X3(),Nd(),mr||(Qg(),mr=!0);try{q3(ve.start_routine,ve.arg)}catch(We){if(We!="unwind")throw We}}else De==="cancel"?c2()&&O1(-1):ve.target!=="setimmediate"&&(De==="checkMailbox"?mr&&M1():De&&(Ar(`worker: received unknown command ${De}`),Ar(ve)))}catch(We){throw Pg(),We}};var Ir,mr=!1;Ar=function(...ie){ie=ie.join(" "),console.error(ie)},self.alert=function(...ie){postMessage({Nb:"alert",text:ie.join(" "),rc:c2()})},te.instantiateWasm=(ie,ve)=>new Promise(De=>{Ir=We=>{We=new WebAssembly.Instance(We,_d()),ve(We),De()}}),self.onunhandledrejection=ie=>{throw ie.reason||ie},self.onmessage=Z}te.wasmBinary&&(xA=te.wasmBinary);var Lt,UA,HA,RA,is,Va,ai,N0,$0,fc,Jo,z0,O0,$o=!1;function Qs(){var Z=Lt.buffer;te.HEAP8=RA=new Int8Array(Z),te.HEAP16=Va=new Int16Array(Z),te.HEAPU8=is=new Uint8Array(Z),te.HEAPU16=ai=new Uint16Array(Z),te.HEAP32=N0=new Int32Array(Z),te.HEAPU32=$0=new Uint32Array(Z),te.HEAPF32=fc=new Float32Array(Z),te.HEAPF64=O0=new Float64Array(Z),te.HEAP64=Jo=new BigInt64Array(Z),te.HEAPU64=z0=new BigUint64Array(Z)}if(!Re){if(!((Lt=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0})).buffer instanceof et))throw Ar("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Error("bad memory");Qs()}var no=[],el=[],lf=[],dc=0,Yu=null;function Bd(){if(--dc==0&&Yu){var Z=Yu;Yu=null,Z()}}function Zl(Z){throw Ar(Z="Aborted("+Z+")"),$o=!0,HA=1,Z=new WebAssembly.RuntimeError(Z+". Build with -sASSERTIONS for more info."),Be(Z),Z}var cf,xd=Z=>Z.startsWith("data:application/octet-stream;base64,"),Md=Z=>Z.startsWith("file://");function Dd(Z){if(Z==cf&&xA)return new Uint8Array(xA);if(Mt)return Mt(Z);throw"both async and sync fetching of the wasm failed"}function Gd(Z,ie,ve){return function(De){if(!xA&&(Oe||Ke)){if(typeof fetch=="function"&&!Md(De))return fetch(De,{credentials:"same-origin"}).then(We=>{if(!We.ok)throw`failed to load wasm binary file at '${De}'`;return We.arrayBuffer()}).catch(()=>Dd(De));if(bt)return new Promise((We,kt)=>{bt(De,sA=>We(new Uint8Array(sA)),kt)})}return Promise.resolve().then(()=>Dd(De))}(Z).then(De=>WebAssembly.instantiate(De,ie)).then(ve,De=>{Ar(`failed to asynchronously prepare wasm: ${De}`),Zl(De)})}function _d(){return{a:{O:Z3,Aa:K3,b:$3,aa:Ld,B:Yd,qa:Rd,Y:Wd,_:Ud,ra:Kd,oa:Zd,ha:Xd,na:qd,L:Jd,Z:$d,W:eg,pa:tg,X:Ag,va:eb,F:tb,Q:Ab,P:sb,E:nb,u:ib,q:ob,G:lb,A:pb,R:mb,ua:bb,ka:Cb,U:Ib,ba:wb,H:kb,ja:kf,ta:vb,t:yb,Ba:Eb,x:Mb,o:Db,m:_b,c:If,n:Tb,k:Sb,w:Nb,p:zb,f:Ob,s:Fb,l:Lb,e:Vb,j:Hb,i:Yb,g:Rb,d:jb,ea:Wb,fa:Ub,ga:Kb,ca:pg,da:mg,T:Zb,h:Xb,D:qb,I:Jb,M:$b,y:e8,sa:t8,V:A8,v:Cg,z:r8,N:s8,S:a8,za:n8,ya:i8,la:kg,ma:vg,$:hf,C:yg,K:Eg,ia:Bg,J:xg,a:Lt,xa:gf,wa:Gg,r:c8}}}var uf={916868:(Z,ie,ve,De,We)=>{if(te===void 0||!te.Fb)return 1;if((Z=on(Number(Z>>>0))).startsWith("./")&&(Z=Z.substring(2)),!(Z=te.Fb.get(Z)))return 2;if(ie=Number(ie>>>0),ve=Number(ve>>>0),De=Number(De>>>0),ie+ve>Z.byteLength)return 3;try{let kt=Z.subarray(ie,ie+ve);switch(We){case 0:N().set(kt,De>>>0);break;case 1:te.dc(De,kt);break;default:return 4}return 0}catch{return 4}},917583:(Z,ie,ve)=>{te.ec(Z,N().subarray(ie>>>0,ie+ve>>>0))},917646:()=>te.bc(),917687:Z=>{te.Pb(Z)},917723:()=>{te.Wb()},917754:()=>{te.Xb()},917783:()=>{te.ac()},917808:Z=>te.Vb(Z),917841:Z=>te.Zb(Z),917873:(Z,ie,ve)=>{te.Ob(Number(Z),Number(ie),Number(ve),!0)},917936:(Z,ie,ve)=>{te.Ob(Number(Z),Number(ie),Number(ve))},917993:()=>typeof wasmOffsetConverter<"u",918050:Z=>{te.kb("Abs",Z,void 0)},918101:Z=>{te.kb("Neg",Z,void 0)},918152:Z=>{te.kb("Floor",Z,void 0)},918205:Z=>{te.kb("Ceil",Z,void 0)},918257:Z=>{te.kb("Reciprocal",Z,void 0)},918315:Z=>{te.kb("Sqrt",Z,void 0)},918367:Z=>{te.kb("Exp",Z,void 0)},918418:Z=>{te.kb("Erf",Z,void 0)},918469:Z=>{te.kb("Sigmoid",Z,void 0)},918524:(Z,ie,ve)=>{te.kb("HardSigmoid",Z,{alpha:ie,beta:ve})},918603:Z=>{te.kb("Log",Z,void 0)},918654:Z=>{te.kb("Sin",Z,void 0)},918705:Z=>{te.kb("Cos",Z,void 0)},918756:Z=>{te.kb("Tan",Z,void 0)},918807:Z=>{te.kb("Asin",Z,void 0)},918859:Z=>{te.kb("Acos",Z,void 0)},918911:Z=>{te.kb("Atan",Z,void 0)},918963:Z=>{te.kb("Sinh",Z,void 0)},919015:Z=>{te.kb("Cosh",Z,void 0)},919067:Z=>{te.kb("Asinh",Z,void 0)},919120:Z=>{te.kb("Acosh",Z,void 0)},919173:Z=>{te.kb("Atanh",Z,void 0)},919226:Z=>{te.kb("Tanh",Z,void 0)},919278:Z=>{te.kb("Not",Z,void 0)},919329:(Z,ie,ve)=>{te.kb("Clip",Z,{min:ie,max:ve})},919398:Z=>{te.kb("Clip",Z,void 0)},919450:(Z,ie)=>{te.kb("Elu",Z,{alpha:ie})},919508:Z=>{te.kb("Gelu",Z,void 0)},919560:Z=>{te.kb("Relu",Z,void 0)},919612:(Z,ie)=>{te.kb("LeakyRelu",Z,{alpha:ie})},919676:(Z,ie)=>{te.kb("ThresholdedRelu",Z,{alpha:ie})},919746:(Z,ie)=>{te.kb("Cast",Z,{to:ie})},919804:Z=>{te.kb("Add",Z,void 0)},919855:Z=>{te.kb("Sub",Z,void 0)},919906:Z=>{te.kb("Mul",Z,void 0)},919957:Z=>{te.kb("Div",Z,void 0)},920008:Z=>{te.kb("Pow",Z,void 0)},920059:Z=>{te.kb("Equal",Z,void 0)},920112:Z=>{te.kb("Greater",Z,void 0)},920167:Z=>{te.kb("GreaterOrEqual",Z,void 0)},920229:Z=>{te.kb("Less",Z,void 0)},920281:Z=>{te.kb("LessOrEqual",Z,void 0)},920340:(Z,ie,ve,De,We)=>{te.kb("ReduceMean",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},920515:(Z,ie,ve,De,We)=>{te.kb("ReduceMax",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},920689:(Z,ie,ve,De,We)=>{te.kb("ReduceMin",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},920863:(Z,ie,ve,De,We)=>{te.kb("ReduceProd",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},921038:(Z,ie,ve,De,We)=>{te.kb("ReduceSum",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},921212:(Z,ie,ve,De,We)=>{te.kb("ReduceL1",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},921385:(Z,ie,ve,De,We)=>{te.kb("ReduceL2",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},921558:(Z,ie,ve,De,We)=>{te.kb("ReduceLogSum",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},921735:(Z,ie,ve,De,We)=>{te.kb("ReduceSumSquare",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},921915:(Z,ie,ve,De,We)=>{te.kb("ReduceLogSumExp",Z,{keepDims:!!ie,noopWithEmptyAxes:!!ve,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},922095:Z=>{te.kb("Where",Z,void 0)},922148:(Z,ie,ve)=>{te.kb("Transpose",Z,{perm:ie?Array.from(Y().subarray(Number(ie)>>>0,Number(ve)>>>0)):[]})},922272:(Z,ie,ve,De)=>{te.kb("DepthToSpace",Z,{blocksize:ie,mode:on(ve),format:De?"NHWC":"NCHW"})},922405:(Z,ie,ve,De)=>{te.kb("DepthToSpace",Z,{blocksize:ie,mode:on(ve),format:De?"NHWC":"NCHW"})},922538:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt,hs)=>{te.kb("ConvTranspose",Z,{format:jA?"NHWC":"NCHW",autoPad:ie,dilations:[ve],group:De,kernelShape:[We],pads:[kt,sA],strides:[fA],wIsConst:()=>!!x()[KA>>>0],outputPadding:dr?Array.from(Y().subarray(Number(dr)>>>0,Number(fs)>>>0)):[],outputShape:Ps?Array.from(Y().subarray(Number(Ps)>>>0,Number(Jt)>>>0)):[],activation:on(hs)})},922971:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt)=>{te.kb("ConvTranspose",Z,{format:fA?"NHWC":"NCHW",autoPad:ie,dilations:Array.from(Y().subarray(Number(ve)>>>0,2+(Number(ve)>>>0)>>>0)),group:De,kernelShape:Array.from(Y().subarray(Number(We)>>>0,2+(Number(We)>>>0)>>>0)),pads:Array.from(Y().subarray(Number(kt)>>>0,4+(Number(kt)>>>0)>>>0)),strides:Array.from(Y().subarray(Number(sA)>>>0,2+(Number(sA)>>>0)>>>0)),wIsConst:()=>!!x()[jA>>>0],outputPadding:KA?Array.from(Y().subarray(Number(KA)>>>0,Number(dr)>>>0)):[],outputShape:fs?Array.from(Y().subarray(Number(fs)>>>0,Number(Ps)>>>0)):[],activation:on(Jt)})},923632:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt,hs)=>{te.kb("ConvTranspose",Z,{format:jA?"NHWC":"NCHW",autoPad:ie,dilations:[ve],group:De,kernelShape:[We],pads:[kt,sA],strides:[fA],wIsConst:()=>!!x()[KA>>>0],outputPadding:dr?Array.from(Y().subarray(Number(dr)>>>0,Number(fs)>>>0)):[],outputShape:Ps?Array.from(Y().subarray(Number(Ps)>>>0,Number(Jt)>>>0)):[],activation:on(hs)})},924065:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt)=>{te.kb("ConvTranspose",Z,{format:fA?"NHWC":"NCHW",autoPad:ie,dilations:Array.from(Y().subarray(Number(ve)>>>0,2+(Number(ve)>>>0)>>>0)),group:De,kernelShape:Array.from(Y().subarray(Number(We)>>>0,2+(Number(We)>>>0)>>>0)),pads:Array.from(Y().subarray(Number(kt)>>>0,4+(Number(kt)>>>0)>>>0)),strides:Array.from(Y().subarray(Number(sA)>>>0,2+(Number(sA)>>>0)>>>0)),wIsConst:()=>!!x()[jA>>>0],outputPadding:KA?Array.from(Y().subarray(Number(KA)>>>0,Number(dr)>>>0)):[],outputShape:fs?Array.from(Y().subarray(Number(fs)>>>0,Number(Ps)>>>0)):[],activation:on(Jt)})},924726:(Z,ie)=>{te.kb("GlobalAveragePool",Z,{format:ie?"NHWC":"NCHW"})},924817:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt)=>{te.kb("AveragePool",Z,{format:Jt?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ve,count_include_pad:De,storage_order:We,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(sA)>>>0)):[],kernel_shape:fA?Array.from(Y().subarray(Number(fA)>>>0,Number(jA)>>>0)):[],pads:KA?Array.from(Y().subarray(Number(KA)>>>0,Number(dr)>>>0)):[],strides:fs?Array.from(Y().subarray(Number(fs)>>>0,Number(Ps)>>>0)):[]})},925296:(Z,ie)=>{te.kb("GlobalAveragePool",Z,{format:ie?"NHWC":"NCHW"})},925387:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt)=>{te.kb("AveragePool",Z,{format:Jt?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ve,count_include_pad:De,storage_order:We,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(sA)>>>0)):[],kernel_shape:fA?Array.from(Y().subarray(Number(fA)>>>0,Number(jA)>>>0)):[],pads:KA?Array.from(Y().subarray(Number(KA)>>>0,Number(dr)>>>0)):[],strides:fs?Array.from(Y().subarray(Number(fs)>>>0,Number(Ps)>>>0)):[]})},925866:(Z,ie)=>{te.kb("GlobalMaxPool",Z,{format:ie?"NHWC":"NCHW"})},925953:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt)=>{te.kb("MaxPool",Z,{format:Jt?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ve,count_include_pad:De,storage_order:We,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(sA)>>>0)):[],kernel_shape:fA?Array.from(Y().subarray(Number(fA)>>>0,Number(jA)>>>0)):[],pads:KA?Array.from(Y().subarray(Number(KA)>>>0,Number(dr)>>>0)):[],strides:fs?Array.from(Y().subarray(Number(fs)>>>0,Number(Ps)>>>0)):[]})},926428:(Z,ie)=>{te.kb("GlobalMaxPool",Z,{format:ie?"NHWC":"NCHW"})},926515:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt)=>{te.kb("MaxPool",Z,{format:Jt?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ve,count_include_pad:De,storage_order:We,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(sA)>>>0)):[],kernel_shape:fA?Array.from(Y().subarray(Number(fA)>>>0,Number(jA)>>>0)):[],pads:KA?Array.from(Y().subarray(Number(KA)>>>0,Number(dr)>>>0)):[],strides:fs?Array.from(Y().subarray(Number(fs)>>>0,Number(Ps)>>>0)):[]})},926990:(Z,ie,ve,De,We)=>{te.kb("Gemm",Z,{alpha:ie,beta:ve,transA:De,transB:We})},927094:Z=>{te.kb("MatMul",Z,void 0)},927148:(Z,ie,ve,De)=>{te.kb("ArgMax",Z,{keepDims:!!ie,selectLastIndex:!!ve,axis:De})},927256:(Z,ie,ve,De)=>{te.kb("ArgMin",Z,{keepDims:!!ie,selectLastIndex:!!ve,axis:De})},927364:(Z,ie)=>{te.kb("Softmax",Z,{axis:ie})},927427:(Z,ie)=>{te.kb("Concat",Z,{axis:ie})},927487:(Z,ie,ve,De,We)=>{te.kb("Split",Z,{axis:ie,numOutputs:ve,splitSizes:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},927643:Z=>{te.kb("Expand",Z,void 0)},927697:(Z,ie)=>{te.kb("Gather",Z,{axis:Number(ie)})},927768:(Z,ie)=>{te.kb("GatherElements",Z,{axis:Number(ie)})},927847:(Z,ie)=>{te.kb("GatherND",Z,{batch_dims:Number(ie)})},927926:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr)=>{te.kb("Resize",Z,{antialias:ie,axes:ve?Array.from(Y().subarray(Number(ve)>>>0,Number(De)>>>0)):[],coordinateTransformMode:on(We),cubicCoeffA:kt,excludeOutside:sA,extrapolationValue:fA,keepAspectRatioPolicy:on(jA),mode:on(KA),nearestMode:on(dr)})},928288:(Z,ie,ve,De,We,kt,sA)=>{te.kb("Slice",Z,{starts:ie?Array.from(Y().subarray(Number(ie)>>>0,Number(ve)>>>0)):[],ends:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[],axes:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(sA)>>>0)):[]})},928552:Z=>{te.kb("Tile",Z,void 0)},928604:(Z,ie,ve)=>{te.kb("InstanceNormalization",Z,{epsilon:ie,format:ve?"NHWC":"NCHW"})},928718:(Z,ie,ve)=>{te.kb("InstanceNormalization",Z,{epsilon:ie,format:ve?"NHWC":"NCHW"})},928832:Z=>{te.kb("Range",Z,void 0)},928885:(Z,ie)=>{te.kb("Einsum",Z,{equation:on(ie)})},928966:(Z,ie,ve,De,We)=>{te.kb("Pad",Z,{mode:ie,value:ve,pads:De?Array.from(Y().subarray(Number(De)>>>0,Number(We)>>>0)):[]})},929109:(Z,ie,ve,De,We,kt)=>{te.kb("BatchNormalization",Z,{epsilon:ie,momentum:ve,spatial:!!We,trainingMode:!!De,format:kt?"NHWC":"NCHW"})},929278:(Z,ie,ve,De,We,kt)=>{te.kb("BatchNormalization",Z,{epsilon:ie,momentum:ve,spatial:!!We,trainingMode:!!De,format:kt?"NHWC":"NCHW"})},929447:(Z,ie,ve)=>{te.kb("CumSum",Z,{exclusive:Number(ie),reverse:Number(ve)})},929544:(Z,ie,ve)=>{te.kb("DequantizeLinear",Z,{axis:ie,blockSize:ve})},929634:(Z,ie,ve,De,We)=>{te.kb("GridSample",Z,{align_corners:ie,mode:on(ve),padding_mode:on(De),format:We?"NHWC":"NCHW"})},929804:(Z,ie,ve,De,We)=>{te.kb("GridSample",Z,{align_corners:ie,mode:on(ve),padding_mode:on(De),format:We?"NHWC":"NCHW"})},929974:(Z,ie,ve,De,We,kt,sA,fA,jA)=>{te.kb("Attention",Z,{numHeads:ie,isUnidirectional:ve,maskFilterValue:De,scale:We,doRotary:kt,qkvHiddenSizes:sA?Array.from(Y().subarray(Number(fA)>>>0,Number(fA)+sA>>>0)):[],pastPresentShareBuffer:!!jA})},930246:Z=>{te.kb("BiasAdd",Z,void 0)},930301:Z=>{te.kb("BiasSplitGelu",Z,void 0)},930362:Z=>{te.kb("FastGelu",Z,void 0)},930418:(Z,ie,ve,De,We,kt,sA,fA,jA,KA,dr,fs,Ps,Jt,hs,qa)=>{te.kb("Conv",Z,{format:fs?"NHWC":"NCHW",auto_pad:ie,dilations:ve?Array.from(Y().subarray(Number(ve)>>>0,Number(De)>>>0)):[],group:We,kernel_shape:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(sA)>>>0)):[],pads:fA?Array.from(Y().subarray(Number(fA)>>>0,Number(jA)>>>0)):[],strides:KA?Array.from(Y().subarray(Number(KA)>>>0,Number(dr)>>>0)):[],w_is_const:()=>!!x()[Number(Ps)>>>0],activation:on(Jt),activation_params:hs?Array.from(se().subarray(Number(hs)>>>0,Number(qa)>>>0)):[]})},931002:Z=>{te.kb("Gelu",Z,void 0)},931054:(Z,ie,ve,De,We,kt,sA,fA,jA)=>{te.kb("GroupQueryAttention",Z,{numHeads:ie,kvNumHeads:ve,scale:De,softcap:We,doRotary:kt,rotaryInterleaved:sA,smoothSoftmax:fA,localWindowSize:jA})},931271:(Z,ie,ve,De)=>{te.kb("LayerNormalization",Z,{axis:ie,epsilon:ve,simplified:!!De})},931382:(Z,ie,ve,De)=>{te.kb("LayerNormalization",Z,{axis:ie,epsilon:ve,simplified:!!De})},931493:(Z,ie,ve,De,We,kt)=>{te.kb("MatMulNBits",Z,{k:ie,n:ve,accuracyLevel:De,bits:We,blockSize:kt})},931620:(Z,ie,ve,De,We,kt)=>{te.kb("MultiHeadAttention",Z,{numHeads:ie,isUnidirectional:ve,maskFilterValue:De,scale:We,doRotary:kt})},931779:(Z,ie)=>{te.kb("QuickGelu",Z,{alpha:ie})},931843:(Z,ie,ve,De,We)=>{te.kb("RotaryEmbedding",Z,{interleaved:!!ie,numHeads:ve,rotaryEmbeddingDim:De,scale:We})},931982:(Z,ie,ve)=>{te.kb("SkipLayerNormalization",Z,{epsilon:ie,simplified:!!ve})},932084:(Z,ie,ve)=>{te.kb("SkipLayerNormalization",Z,{epsilon:ie,simplified:!!ve})},932186:(Z,ie,ve,De)=>{te.kb("GatherBlockQuantized",Z,{gatherAxis:ie,quantizeAxis:ve,blockSize:De})},932307:Z=>{te.$b(Z)},932341:(Z,ie)=>te.cc(Number(Z),Number(ie),te.Gb.hc,te.Gb.errors)};function K3(Z,ie,ve){return ug(async()=>{await te.Yb(Number(Z),Number(ie),Number(ve))})}function Z3(){return typeof wasmOffsetConverter<"u"}function ff(Z){this.name="ExitStatus",this.message=`Program terminated with exit(${Z})`,this.status=Z}var df=Z=>{Z.terminate(),Z.onmessage=()=>{}},Td=Z=>{Xl.length==0&&(Od(),zd(Xl[0]));var ie=Xl.pop();if(!ie)return 6;hc.push(ie),F0[Z.Bb]=ie,ie.Bb=Z.Bb;var ve={cmd:"run",start_routine:Z.ic,arg:Z.Rb,pthread_ptr:Z.Bb};return ie.postMessage(ve,Z.nc),0},gc=0,Ha=(Z,ie,...ve)=>{for(var De=2*ve.length,We=_f(),kt=Gf(8*De),sA=kt>>>3,fA=0;fA<ve.length;fA++){var jA=ve[fA];typeof jA=="bigint"?(Jo[sA+2*fA]=1n,Jo[sA+2*fA+1]=jA):(Jo[sA+2*fA]=0n,ne()[sA+2*fA+1>>>0]=jA)}return Z=Sg(Z,0,De,kt,ie),F1(We),Z};function gf(Z){if(Re)return Ha(0,1,Z);if(HA=Z,!(0<gc)){for(var ie of hc)df(ie);for(ie of Xl)df(ie);Xl=[],hc=[],F0=[],$o=!0}Nt(0,new ff(Z))}function Qd(Z){if(Re)return Ha(1,0,Z);hf(Z)}var hf=Z=>{if(HA=Z,Re)throw Qd(Z),"unwind";gf(Z)},Xl=[],hc=[],Pd=[],F0={},Sd=Z=>{var ie=Z.Bb;delete F0[ie],Xl.push(Z),hc.splice(hc.indexOf(Z),1),Z.Bb=0,Df(ie)};function Nd(){Pd.forEach(Z=>Z())}var zd=Z=>new Promise(ie=>{Z.onmessage=We=>{var kt=(We=We.data).cmd;if(We.targetThread&&We.targetThread!=c2()){var sA=F0[We.targetThread];sA?sA.postMessage(We,We.transferList):Ar(`Internal error! Worker sent a message "${kt}" to target pthread ${We.targetThread}, but that thread no longer exists!`)}else kt==="checkMailbox"?M1():kt==="spawnThread"?Td(We):kt==="cleanupThread"?Sd(F0[We.thread]):kt==="killThread"?(We=We.thread,kt=F0[We],delete F0[We],df(kt),Df(We),hc.splice(hc.indexOf(kt),1),kt.Bb=0):kt==="cancelThread"?F0[We.thread].postMessage({cmd:"cancel"}):kt==="loaded"?(Z.loaded=!0,ie(Z)):kt==="alert"?alert(`Thread ${We.threadId}: ${We.text}`):We.target==="setimmediate"?Z.postMessage(We):kt==="callHandler"?te[We.handler](...We.args):kt&&Ar(`worker sent an unknown command ${kt}`)},Z.onerror=We=>{throw Ar(`worker sent an error! ${We.filename}:${We.lineno}: ${We.message}`),We};var ve,De=[];for(ve of[])te.hasOwnProperty(ve)&&De.push(ve);Z.postMessage({cmd:"load",handlers:De,wasmMemory:Lt,wasmModule:UA})});function Od(){var Z=new Worker(import.meta.url.startsWith("file:")?new URL(s("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb"),s.b):new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Xl.push(Z)}var x1=Z=>{for(;0<Z.length;)Z.shift()(te)},X3=()=>{var Z=c2(),ie=Ae()[Z+52>>>2>>>0];Z=Ae()[Z+56>>>2>>>0],zg(ie,ie-Z),F1(ie)},q3=(Z,ie)=>{gc=0,Z=Og(Z,ie),0<gc?HA=Z:O1(Z)};class J3{constructor(ie){this.Kb=ie-24}}function $3(Z,ie,ve){var De=new J3(Z>>>=0);throw ie>>>=0,ve>>>=0,Ae()[De.Kb+16>>>2>>>0]=0,Ae()[De.Kb+4>>>2>>>0]=ie,Ae()[De.Kb+8>>>2>>>0]=ve,Z}function Fd(Z,ie,ve,De){return Re?Ha(2,1,Z,ie,ve,De):Ld(Z,ie,ve,De)}function Ld(Z,ie,ve,De){if(Z>>>=0,ie>>>=0,ve>>>=0,De>>>=0,et===void 0)return Ar("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var We=[];return Re&&We.length===0?Fd(Z,ie,ve,De):(Z={ic:ve,Bb:Z,Rb:De,nc:We},Re?(Z.Nb="spawnThread",postMessage(Z,We),0):Td(Z))}var Vd=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Hd=(Z,ie,ve)=>{var De=(ie>>>=0)+ve;for(ve=ie;Z[ve]&&!(ve>=De);)++ve;if(16<ve-ie&&Z.buffer&&Vd)return Vd.decode(Z.buffer instanceof et?Z.slice(ie,ve):Z.subarray(ie,ve));for(De="";ie<ve;){var We=Z[ie++];if(128&We){var kt=63&Z[ie++];if((224&We)==192)De+=String.fromCharCode((31&We)<<6|kt);else{var sA=63&Z[ie++];65536>(We=(240&We)==224?(15&We)<<12|kt<<6|sA:(7&We)<<18|kt<<12|sA<<6|63&Z[ie++])?De+=String.fromCharCode(We):(We-=65536,De+=String.fromCharCode(55296|We>>10,56320|1023&We))}}else De+=String.fromCharCode(We)}return De},on=(Z,ie)=>(Z>>>=0)?Hd(N(),Z,ie):"";function Yd(Z,ie,ve){return Re?Ha(3,1,Z,ie,ve):0}function Rd(Z,ie){if(Re)return Ha(4,1,Z,ie)}var pf=Z=>{for(var ie=0,ve=0;ve<Z.length;++ve){var De=Z.charCodeAt(ve);127>=De?ie++:2047>=De?ie+=2:55296<=De&&57343>=De?(ie+=4,++ve):ie+=3}return ie},jd=(Z,ie,ve,De)=>{if(!(0<De))return 0;var We=ve>>>=0;De=ve+De-1;for(var kt=0;kt<Z.length;++kt){var sA=Z.charCodeAt(kt);if(55296<=sA&&57343>=sA&&(sA=65536+((1023&sA)<<10)|1023&Z.charCodeAt(++kt)),127>=sA){if(ve>=De)break;ie[ve++>>>0]=sA}else{if(2047>=sA){if(ve+1>=De)break;ie[ve++>>>0]=192|sA>>6}else{if(65535>=sA){if(ve+2>=De)break;ie[ve++>>>0]=224|sA>>12}else{if(ve+3>=De)break;ie[ve++>>>0]=240|sA>>18,ie[ve++>>>0]=128|sA>>12&63}ie[ve++>>>0]=128|sA>>6&63}ie[ve++>>>0]=128|63&sA}}return ie[ve>>>0]=0,ve-We},o2=(Z,ie,ve)=>jd(Z,N(),ie,ve);function Wd(Z,ie){if(Re)return Ha(5,1,Z,ie)}function Ud(Z,ie,ve){if(Re)return Ha(6,1,Z,ie,ve)}function Kd(Z,ie,ve){return Re?Ha(7,1,Z,ie,ve):0}function Zd(Z,ie){if(Re)return Ha(8,1,Z,ie)}function Xd(Z,ie,ve){if(Re)return Ha(9,1,Z,ie,ve)}function qd(Z,ie,ve,De){if(Re)return Ha(10,1,Z,ie,ve,De)}function Jd(Z,ie,ve,De){if(Re)return Ha(11,1,Z,ie,ve,De)}function $d(Z,ie,ve,De){if(Re)return Ha(12,1,Z,ie,ve,De)}function eg(Z){if(Re)return Ha(13,1,Z)}function tg(Z,ie){if(Re)return Ha(14,1,Z,ie)}function Ag(Z,ie,ve){if(Re)return Ha(15,1,Z,ie,ve)}var rg,ql,eb=()=>{Zl("")},L0=Z=>{for(var ie="";N()[Z>>>0];)ie+=rg[N()[Z++>>>0]];return ie},mf={},bf={};function tl(Z,ie,ve={}){if(!("argPackAdvance"in ie))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(De,We,kt={}){var sA=We.name;if(!De)throw new ql(`type "${sA}" must have a positive integer typeid pointer`);if(bf.hasOwnProperty(De)){if(kt.Tb)return;throw new ql(`Cannot register type '${sA}' twice`)}bf[De]=We,mf.hasOwnProperty(De)&&(We=mf[De],delete mf[De],We.forEach(fA=>fA()))}(Z,ie,ve)}var sg=(Z,ie,ve)=>{switch(ie){case 1:return ve?De=>x()[De>>>0]:De=>N()[De>>>0];case 2:return ve?De=>L()[De>>>1>>>0]:De=>j()[De>>>1>>>0];case 4:return ve?De=>Y()[De>>>2>>>0]:De=>Ae()[De>>>2>>>0];case 8:return ve?De=>Jo[De>>>3]:De=>z0[De>>>3];default:throw new TypeError(`invalid integer width (${ie}): ${Z}`)}};function tb(Z,ie,ve){ve>>>=0,tl(Z>>>=0,{name:ie=L0(ie>>>0),fromWireType:De=>De,toWireType:function(De,We){if(typeof We!="bigint"&&typeof We!="number")throw We=We===null?"null":(De=typeof We)=="object"||De==="array"||De==="function"?We.toString():""+We,new TypeError(`Cannot convert "${We}" to ${this.name}`);return typeof We=="number"&&(We=BigInt(We)),We},argPackAdvance:Jl,readValueFromPointer:sg(ie,ve,ie.indexOf("u")==-1),Eb:null})}var Jl=8;function Ab(Z,ie,ve,De){tl(Z>>>=0,{name:ie=L0(ie>>>0),fromWireType:function(We){return!!We},toWireType:function(We,kt){return kt?ve:De},argPackAdvance:Jl,readValueFromPointer:function(We){return this.fromWireType(N()[We>>>0])},Eb:null})}var Cf=[],Al=[];function If(Z){9<(Z>>>=0)&&--Al[Z+1]==0&&(Al[Z]=void 0,Cf.push(Z))}var zo=Z=>{if(!Z)throw new ql("Cannot use deleted val. handle = "+Z);return Al[Z]},e0=Z=>{switch(Z){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let ie=Cf.pop()||Al.length;return Al[ie]=Z,Al[ie+1]=1,ie}};function wf(Z){return this.fromWireType(Ae()[Z>>>2>>>0])}var rb={name:"emscripten::val",fromWireType:Z=>{var ie=zo(Z);return If(Z),ie},toWireType:(Z,ie)=>e0(ie),argPackAdvance:Jl,readValueFromPointer:wf,Eb:null};function sb(Z){return tl(Z>>>0,rb)}var ab=(Z,ie)=>{switch(ie){case 4:return function(ve){return this.fromWireType(se()[ve>>>2>>>0])};case 8:return function(ve){return this.fromWireType(ne()[ve>>>3>>>0])};default:throw new TypeError(`invalid float width (${ie}): ${Z}`)}};function nb(Z,ie,ve){ve>>>=0,tl(Z>>>=0,{name:ie=L0(ie>>>0),fromWireType:De=>De,toWireType:(De,We)=>We,argPackAdvance:Jl,readValueFromPointer:ab(ie,ve),Eb:null})}function ib(Z,ie,ve,De,We){if(Z>>>=0,ve>>>=0,ie=L0(ie>>>0),We===-1&&(We=4294967295),We=fA=>fA,De===0){var kt=32-8*ve;We=fA=>fA<<kt>>>kt}var sA=ie.includes("unsigned")?function(fA,jA){return jA>>>0}:function(fA,jA){return jA};tl(Z,{name:ie,fromWireType:We,toWireType:sA,argPackAdvance:Jl,readValueFromPointer:sg(ie,ve,De!==0),Eb:null})}function ob(Z,ie,ve){function De(kt){var sA=Ae()[kt>>>2>>>0];return kt=Ae()[kt+4>>>2>>>0],new We(x().buffer,kt,sA)}var We=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][ie];tl(Z>>>=0,{name:ve=L0(ve>>>0),fromWireType:De,argPackAdvance:Jl,readValueFromPointer:De},{Tb:!0})}function lb(Z,ie){Z>>>=0;var ve=(ie=L0(ie>>>0))==="std::string";tl(Z,{name:ie,fromWireType:function(De){var We=Ae()[De>>>2>>>0],kt=De+4;if(ve)for(var sA=kt,fA=0;fA<=We;++fA){var jA=kt+fA;if(fA==We||N()[jA>>>0]==0){if(sA=on(sA,jA-sA),KA===void 0)var KA=sA;else KA+="\0",KA+=sA;sA=jA+1}}else{for(KA=Array(We),fA=0;fA<We;++fA)KA[fA]=String.fromCharCode(N()[kt+fA>>>0]);KA=KA.join("")}return H0(De),KA},toWireType:function(De,We){We instanceof ArrayBuffer&&(We=new Uint8Array(We));var kt=typeof We=="string";if(!(kt||We instanceof Uint8Array||We instanceof Uint8ClampedArray||We instanceof Int8Array))throw new ql("Cannot pass non-string to std::string");var sA=ve&&kt?pf(We):We.length,fA=z1(4+sA+1),jA=fA+4;if(Ae()[fA>>>2>>>0]=sA,ve&&kt)o2(We,jA,sA+1);else if(kt)for(kt=0;kt<sA;++kt){var KA=We.charCodeAt(kt);if(255<KA)throw H0(jA),new ql("String has UTF-16 code units that do not fit in 8 bits");N()[jA+kt>>>0]=KA}else for(kt=0;kt<sA;++kt)N()[jA+kt>>>0]=We[kt];return De!==null&&De.push(H0,fA),fA},argPackAdvance:Jl,readValueFromPointer:wf,Eb(De){H0(De)}})}var ag=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,cb=(Z,ie)=>{for(var ve=Z>>1,De=ve+ie/2;!(ve>=De)&&j()[ve>>>0];)++ve;if(32<(ve<<=1)-Z&&ag)return ag.decode(N().slice(Z,ve));for(ve="",De=0;!(De>=ie/2);++De){var We=L()[Z+2*De>>>1>>>0];if(We==0)break;ve+=String.fromCharCode(We)}return ve},ub=(Z,ie,ve)=>{if(ve??(ve=2147483647),2>ve)return 0;var De=ie;ve=(ve-=2)<2*Z.length?ve/2:Z.length;for(var We=0;We<ve;++We){var kt=Z.charCodeAt(We);L()[ie>>>1>>>0]=kt,ie+=2}return L()[ie>>>1>>>0]=0,ie-De},fb=Z=>2*Z.length,db=(Z,ie)=>{for(var ve=0,De="";!(ve>=ie/4);){var We=Y()[Z+4*ve>>>2>>>0];if(We==0)break;++ve,65536<=We?(We-=65536,De+=String.fromCharCode(55296|We>>10,56320|1023&We)):De+=String.fromCharCode(We)}return De},gb=(Z,ie,ve)=>{if(ie>>>=0,ve??(ve=2147483647),4>ve)return 0;var De=ie;ve=De+ve-4;for(var We=0;We<Z.length;++We){var kt=Z.charCodeAt(We);if(55296<=kt&&57343>=kt&&(kt=65536+((1023&kt)<<10)|1023&Z.charCodeAt(++We)),Y()[ie>>>2>>>0]=kt,(ie+=4)+4>ve)break}return Y()[ie>>>2>>>0]=0,ie-De},hb=Z=>{for(var ie=0,ve=0;ve<Z.length;++ve){var De=Z.charCodeAt(ve);55296<=De&&57343>=De&&++ve,ie+=4}return ie};function pb(Z,ie,ve){if(Z>>>=0,ie>>>=0,ve=L0(ve>>>=0),ie===2)var De=cb,We=ub,kt=fb,sA=fA=>j()[fA>>>1>>>0];else ie===4&&(De=db,We=gb,kt=hb,sA=fA=>Ae()[fA>>>2>>>0]);tl(Z,{name:ve,fromWireType:fA=>{for(var jA,KA=Ae()[fA>>>2>>>0],dr=fA+4,fs=0;fs<=KA;++fs){var Ps=fA+4+fs*ie;fs!=KA&&sA(Ps)!=0||(dr=De(dr,Ps-dr),jA===void 0?jA=dr:(jA+="\0",jA+=dr),dr=Ps+ie)}return H0(fA),jA},toWireType:(fA,jA)=>{if(typeof jA!="string")throw new ql(`Cannot pass non-string to C++ string type ${ve}`);var KA=kt(jA),dr=z1(4+KA+ie);return Ae()[dr>>>2>>>0]=KA/ie,We(jA,dr+4,KA+ie),fA!==null&&fA.push(H0,dr),dr},argPackAdvance:Jl,readValueFromPointer:wf,Eb(fA){H0(fA)}})}function mb(Z,ie){tl(Z>>>=0,{Ub:!0,name:ie=L0(ie>>>0),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})}var bb=()=>1;function Cb(Z){Mf(Z>>>0,!Ke,1,!Oe,131072,!1),Nd()}var ng=Z=>{if(!$o)try{if(Z(),!(0<gc))try{Re?O1(HA):hf(HA)}catch(ie){ie instanceof ff||ie=="unwind"||Nt(0,ie)}}catch(ie){ie instanceof ff||ie=="unwind"||Nt(0,ie)}};function kf(Z){Z>>>=0,typeof Atomics.oc=="function"&&(Atomics.oc(Y(),Z>>>2,Z).value.then(M1),Z+=128,Atomics.store(Y(),Z>>>2,1))}var M1=()=>{var Z=c2();Z&&(kf(Z),ng(Ng))};function Ib(Z,ie){(Z>>>=0)==ie>>>0?setTimeout(M1):Re?postMessage({targetThread:Z,cmd:"checkMailbox"}):(Z=F0[Z])&&Z.postMessage({cmd:"checkMailbox"})}var vf=[];function wb(Z,ie,ve,De,We){for(ie>>>=0,De/=2,vf.length=De,ve=We>>>0>>>3,We=0;We<De;We++)vf[We]=Jo[ve+2*We]?Jo[ve+2*We+1]:ne()[ve+2*We+1>>>0];return(ie?uf[ie]:u8[Z])(...vf)}function kb(Z){Z>>>=0,Re?postMessage({cmd:"cleanupThread",thread:Z}):Sd(F0[Z])}function vb(Z){}var D1=(Z,ie)=>{var ve=bf[Z];if(ve===void 0)throw Z=Tg(Z),ve=L0(Z),H0(Z),new ql(`${ie} has unknown type ${ve}`);return ve},ig=(Z,ie,ve)=>{var De=[];return Z=Z.toWireType(De,ve),De.length&&(Ae()[ie>>>2>>>0]=e0(De)),Z};function yb(Z,ie,ve){return ie>>>=0,ve>>>=0,Z=zo(Z>>>0),ie=D1(ie,"emval::as"),ig(ie,ve,Z)}function Eb(Z,ie){return ie>>>=0,Z=zo(Z>>>0),(ie=D1(ie,"emval::as")).toWireType(null,Z)}var G1=Z=>{try{Z()}catch(ie){Zl(ie)}},$l=0,V0=null,og=0,_1=[],lg={},cg={},Bb=0,yf=null,xb=[];function ug(Z){return function(){if(!$o){if($l===0){var ie=!1,ve=!1;(De=>{Z().then(De)})((De=0)=>{if(!$o&&(og=De,ie=!0,ve)){$l=2,G1(()=>Vg(V0)),typeof Browser<"u"&&Browser.Lb.Sb&&Browser.Lb.resume(),De=!1;try{var We=function(){var fA=Y()[V0+8>>>2>>>0];return fA=lr[cg[fA]],--gc,fA()}()}catch(fA){We=fA,De=!0}var kt=!1;if(!V0){var sA=yf;sA&&(yf=null,(De?sA.reject:sA.resolve)(We),kt=!0)}if(De&&!kt)throw We}}),ve=!0,ie||($l=1,V0=function(){var De=z1(65548),We=De+12;Ae()[De>>>2>>>0]=We,Ae()[De+4>>>2>>>0]=We+65536,We=_1[0];var kt=lg[We];return kt===void 0&&(kt=Bb++,lg[We]=kt,cg[kt]=We),We=kt,Y()[De+8>>>2>>>0]=We,De}(),typeof Browser<"u"&&Browser.Lb.Sb&&Browser.Lb.pause(),G1(()=>Fg(V0)))}else $l===2?($l=0,G1(Hg),H0(V0),V0=null,xb.forEach(ng)):Zl(`invalid state: ${$l}`);return og}}()}function Mb(Z){return Z>>>=0,ug(()=>(Z=zo(Z)).then(e0))}var T1=[];function Db(Z,ie,ve,De){return ve>>>=0,De>>>=0,(Z=T1[Z>>>0])(null,ie=zo(ie>>>0),ve,De)}var Gb={},Q1=Z=>{var ie=Gb[Z];return ie===void 0?L0(Z):ie};function _b(Z,ie,ve,De,We){return ve>>>=0,De>>>=0,We>>>=0,(Z=T1[Z>>>0])(ie=zo(ie>>>0),ie[ve=Q1(ve)],De,We)}var fg=()=>typeof globalThis=="object"?globalThis:Function("return this")();function Tb(Z){return(Z>>>=0)==0?e0(fg()):(Z=Q1(Z),e0(fg()[Z]))}var Qb=Z=>{var ie=T1.length;return T1.push(Z),ie},Pb=(Z,ie)=>{for(var ve=Array(Z),De=0;De<Z;++De)ve[De]=D1(Ae()[ie+4*De>>>2>>>0],"parameter "+De);return ve},dg=(Z,ie)=>Object.defineProperty(ie,"name",{value:Z});function Sb(Z,ie,ve){var De=(ie=Pb(Z,ie>>>0)).shift();Z--;var We=`return function (obj, func, destructorsRef, args) {
83`,kt=0,sA=[];ve===0&&sA.push("obj");for(var fA=["retType"],jA=[De],KA=0;KA<Z;++KA)sA.push("arg"+KA),fA.push("argType"+KA),jA.push(ie[KA]),We+=`  var arg${KA} = argType${KA}.readValueFromPointer(args${kt?"+"+kt:""});
84`,kt+=ie[KA].argPackAdvance;return We+=`  var rv = ${ve===1?"new func":"func.call"}(${sA.join(", ")});
85`,De.Ub||(fA.push("emval_returnValue"),jA.push(ig),We+=`  return emval_returnValue(retType, destructorsRef, rv);
86`),fA.push(We+`};
87`),Z=function(dr){var fs=Function;if(!(fs instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof fs} which is not a function`);var Ps=dg(fs.name||"unknownFunctionName",function(){});return Ps.prototype=fs.prototype,Ps=new Ps,(dr=fs.apply(Ps,dr))instanceof Object?dr:Ps}(fA)(...jA),ve=`methodCaller<(${ie.map(dr=>dr.name).join(", ")}) => ${De.name}>`,Qb(dg(ve,Z))}function Nb(Z){return Z=Q1(Z>>>0),e0(te[Z])}function zb(Z,ie){return ie>>>=0,Z=zo(Z>>>0),ie=zo(ie),e0(Z[ie])}function Ob(Z){9<(Z>>>=0)&&(Al[Z+1]+=1)}function Fb(){return e0([])}function Lb(Z){Z=zo(Z>>>0);for(var ie=Array(Z.length),ve=0;ve<Z.length;ve++)ie[ve]=Z[ve];return e0(ie)}function Vb(Z){return e0(Q1(Z>>>0))}function Hb(){return e0({})}function Yb(Z){for(var ie=zo(Z>>>=0);ie.length;){var ve=ie.pop();ie.pop()(ve)}If(Z)}function Rb(Z,ie,ve){ie>>>=0,ve>>>=0,Z=zo(Z>>>0),ie=zo(ie),ve=zo(ve),Z[ie]=ve}function jb(Z,ie){return ie>>>=0,Z=(Z=D1(Z>>>0,"_emval_take_value")).readValueFromPointer(ie),e0(Z)}function Wb(Z,ie){Z=-9007199254740992>Z||9007199254740992<Z?NaN:Number(Z),ie>>>=0,Z=new Date(1e3*Z),Y()[ie>>>2>>>0]=Z.getUTCSeconds(),Y()[ie+4>>>2>>>0]=Z.getUTCMinutes(),Y()[ie+8>>>2>>>0]=Z.getUTCHours(),Y()[ie+12>>>2>>>0]=Z.getUTCDate(),Y()[ie+16>>>2>>>0]=Z.getUTCMonth(),Y()[ie+20>>>2>>>0]=Z.getUTCFullYear()-1900,Y()[ie+24>>>2>>>0]=Z.getUTCDay(),Z=(Z.getTime()-Date.UTC(Z.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,Y()[ie+28>>>2>>>0]=Z}var l2=Z=>Z%4==0&&(Z%100!=0||Z%400==0),gg=[0,31,60,91,121,152,182,213,244,274,305,335],hg=[0,31,59,90,120,151,181,212,243,273,304,334];function Ub(Z,ie){Z=-9007199254740992>Z||9007199254740992<Z?NaN:Number(Z),ie>>>=0,Z=new Date(1e3*Z),Y()[ie>>>2>>>0]=Z.getSeconds(),Y()[ie+4>>>2>>>0]=Z.getMinutes(),Y()[ie+8>>>2>>>0]=Z.getHours(),Y()[ie+12>>>2>>>0]=Z.getDate(),Y()[ie+16>>>2>>>0]=Z.getMonth(),Y()[ie+20>>>2>>>0]=Z.getFullYear()-1900,Y()[ie+24>>>2>>>0]=Z.getDay();var ve=(l2(Z.getFullYear())?gg:hg)[Z.getMonth()]+Z.getDate()-1|0;Y()[ie+28>>>2>>>0]=ve,Y()[ie+36>>>2>>>0]=-60*Z.getTimezoneOffset(),ve=new Date(Z.getFullYear(),6,1).getTimezoneOffset();var De=new Date(Z.getFullYear(),0,1).getTimezoneOffset();Z=0|(ve!=De&&Z.getTimezoneOffset()==Math.min(De,ve)),Y()[ie+32>>>2>>>0]=Z}function Kb(Z){Z>>>=0;var ie=new Date(Y()[Z+20>>>2>>>0]+1900,Y()[Z+16>>>2>>>0],Y()[Z+12>>>2>>>0],Y()[Z+8>>>2>>>0],Y()[Z+4>>>2>>>0],Y()[Z>>>2>>>0],0),ve=Y()[Z+32>>>2>>>0],De=ie.getTimezoneOffset(),We=new Date(ie.getFullYear(),6,1).getTimezoneOffset(),kt=new Date(ie.getFullYear(),0,1).getTimezoneOffset(),sA=Math.min(kt,We);return 0>ve?Y()[Z+32>>>2>>>0]=+(We!=kt&&sA==De):0<ve!=(sA==De)&&(We=Math.max(kt,We),ie.setTime(ie.getTime()+6e4*((0<ve?sA:We)-De))),Y()[Z+24>>>2>>>0]=ie.getDay(),ve=(l2(ie.getFullYear())?gg:hg)[ie.getMonth()]+ie.getDate()-1|0,Y()[Z+28>>>2>>>0]=ve,Y()[Z>>>2>>>0]=ie.getSeconds(),Y()[Z+4>>>2>>>0]=ie.getMinutes(),Y()[Z+8>>>2>>>0]=ie.getHours(),Y()[Z+12>>>2>>>0]=ie.getDate(),Y()[Z+16>>>2>>>0]=ie.getMonth(),Y()[Z+20>>>2>>>0]=ie.getYear(),Z=ie.getTime(),BigInt(isNaN(Z)?-1:Z/1e3)}function pg(Z,ie,ve,De,We,kt,sA){return Re?Ha(16,1,Z,ie,ve,De,We,kt,sA):-52}function mg(Z,ie,ve,De,We,kt){if(Re)return Ha(17,1,Z,ie,ve,De,We,kt)}function Zb(Z,ie,ve,De){Z>>>=0,ie>>>=0,ve>>>=0,De>>>=0;var We=new Date().getFullYear(),kt=new Date(We,0,1),sA=new Date(We,6,1);We=kt.getTimezoneOffset();var fA=sA.getTimezoneOffset(),jA=Math.max(We,fA);Ae()[Z>>>2>>>0]=60*jA,Y()[ie>>>2>>>0]=+(We!=fA),kt=(Z=KA=>KA.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1])(kt),sA=Z(sA),fA<We?(o2(kt,ve,17),o2(sA,De,17)):(o2(kt,De,17),o2(sA,ve,17))}var Ef=[],bg=(Z,ie)=>{Ef.length=0;for(var ve;ve=N()[Z++>>>0];){var De=ve!=105;ie+=(De&=ve!=112)&&ie%8?4:0,Ef.push(ve==112?Ae()[ie>>>2>>>0]:ve==106?Jo[ie>>>3]:ve==105?Y()[ie>>>2>>>0]:ne()[ie>>>3>>>0]),ie+=De?8:4}return Ef};function Xb(Z,ie,ve){return Z>>>=0,ie=bg(ie>>>0,ve>>>0),uf[Z](...ie)}function qb(Z,ie,ve){return Z>>>=0,ie=bg(ie>>>0,ve>>>0),uf[Z](...ie)}var Jb=()=>{},$b=()=>Date.now();function e8(Z,ie){return Ar(on(Z>>>0,ie>>>0))}var Cg,t8=()=>{throw gc+=1,"unwind"};function A8(){return 4294901760}Cg=()=>performance.timeOrigin+performance.now();var r8=()=>navigator.hardwareConcurrency;function s8(){return Zl("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0}function a8(Z){Z>>>=0;var ie=N().length;if(Z<=ie||4294901760<Z)return!1;for(var ve=1;4>=ve;ve*=2){var De=ie*(1+.2/ve);De=Math.min(De,Z+100663296);var We=Math;De=Math.max(Z,De);e:{We=(We.min.call(We,4294901760,De+(65536-De%65536)%65536)-Lt.buffer.byteLength+65535)/65536;try{Lt.grow(We),Qs();var kt=1;break e}catch{}kt=void 0}if(kt)return!0}return!1}var P1=()=>(Zl("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0),Ru={},Ig=Z=>{Z.forEach(ie=>{P1()})};function n8(){var Z=Error().stack.toString().split(`
88`);return Z[0]=="Error"&&Z.shift(),Ig(Z),Ru.Qb=P1(),Ru.fc=Z,Ru.Qb}function i8(Z,ie,ve){if(Z>>>=0,ie>>>=0,Ru.Qb==Z)var De=Ru.fc;else(De=Error().stack.toString().split(`
89`))[0]=="Error"&&De.shift(),Ig(De);for(var We=3;De[We]&&P1()!=Z;)++We;for(Z=0;Z<ve&&De[Z+We];++Z)Y()[ie+4*Z>>>2>>>0]=P1();return Z}var Bf,xf={},wg=()=>{if(!Bf){var Z,ie={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"};for(Z in xf)xf[Z]===void 0?delete ie[Z]:ie[Z]=xf[Z];var ve=[];for(Z in ie)ve.push(`${Z}=${ie[Z]}`);Bf=ve}return Bf};function kg(Z,ie){if(Re)return Ha(18,1,Z,ie);Z>>>=0,ie>>>=0;var ve=0;return wg().forEach((De,We)=>{var kt=ie+ve;for(We=Ae()[Z+4*We>>>2>>>0]=kt,kt=0;kt<De.length;++kt)x()[We++>>>0]=De.charCodeAt(kt);x()[We>>>0]=0,ve+=De.length+1}),0}function vg(Z,ie){if(Re)return Ha(19,1,Z,ie);Z>>>=0,ie>>>=0;var ve=wg();Ae()[Z>>>2>>>0]=ve.length;var De=0;return ve.forEach(We=>De+=We.length+1),Ae()[ie>>>2>>>0]=De,0}function yg(Z){return Re?Ha(20,1,Z):52}function Eg(Z,ie,ve,De){return Re?Ha(21,1,Z,ie,ve,De):52}function Bg(Z,ie,ve,De){return Re?Ha(22,1,Z,ie,ve,De):70}var o8=[null,[],[]];function xg(Z,ie,ve,De){if(Re)return Ha(23,1,Z,ie,ve,De);ie>>>=0,ve>>>=0,De>>>=0;for(var We=0,kt=0;kt<ve;kt++){var sA=Ae()[ie>>>2>>>0],fA=Ae()[ie+4>>>2>>>0];ie+=8;for(var jA=0;jA<fA;jA++){var KA=N()[sA+jA>>>0],dr=o8[Z];KA===0||KA===10?((Z===1?qr:Ar)(Hd(dr,0)),dr.length=0):dr.push(KA)}We+=fA}return Ae()[De>>>2>>>0]=We,0}var Mg=[31,29,31,30,31,30,31,31,30,31,30,31],Dg=[31,28,31,30,31,30,31,31,30,31,30,31],l8=(Z,ie)=>{x().set(Z,ie>>>0)};function Gg(Z,ie,ve,De){function We(Jt,hs,qa){for(Jt=typeof Jt=="number"?Jt.toString():Jt||"";Jt.length<hs;)Jt=qa[0]+Jt;return Jt}function kt(Jt,hs){return We(Jt,hs,"0")}function sA(Jt,hs){function qa(Rg){return 0>Rg?-1:0<Rg?1:0}var pc;return(pc=qa(Jt.getFullYear()-hs.getFullYear()))===0&&(pc=qa(Jt.getMonth()-hs.getMonth()))===0&&(pc=qa(Jt.getDate()-hs.getDate())),pc}function fA(Jt){switch(Jt.getDay()){case 0:return new Date(Jt.getFullYear()-1,11,29);case 1:return Jt;case 2:return new Date(Jt.getFullYear(),0,3);case 3:return new Date(Jt.getFullYear(),0,2);case 4:return new Date(Jt.getFullYear(),0,1);case 5:return new Date(Jt.getFullYear()-1,11,31);case 6:return new Date(Jt.getFullYear()-1,11,30)}}function jA(Jt){var hs=Jt.Cb;for(Jt=new Date(new Date(Jt.Db+1900,0,1).getTime());0<hs;){var qa=Jt.getMonth(),pc=(l2(Jt.getFullYear())?Mg:Dg)[qa];if(!(hs>pc-Jt.getDate())){Jt.setDate(Jt.getDate()+hs);break}hs-=pc-Jt.getDate()+1,Jt.setDate(1),11>qa?Jt.setMonth(qa+1):(Jt.setMonth(0),Jt.setFullYear(Jt.getFullYear()+1))}return qa=new Date(Jt.getFullYear()+1,0,4),hs=fA(new Date(Jt.getFullYear(),0,4)),qa=fA(qa),0>=sA(hs,Jt)?0>=sA(qa,Jt)?Jt.getFullYear()+1:Jt.getFullYear():Jt.getFullYear()-1}Z>>>=0,ie>>>=0,ve>>>=0,De>>>=0;var KA=Ae()[De+40>>>2>>>0];for(var dr in De={lc:Y()[De>>>2>>>0],kc:Y()[De+4>>>2>>>0],Ib:Y()[De+8>>>2>>>0],Mb:Y()[De+12>>>2>>>0],Jb:Y()[De+16>>>2>>>0],Db:Y()[De+20>>>2>>>0],vb:Y()[De+24>>>2>>>0],Cb:Y()[De+28>>>2>>>0],sc:Y()[De+32>>>2>>>0],jc:Y()[De+36>>>2>>>0],mc:KA?on(KA):""},ve=on(ve),KA={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})ve=ve.replace(new RegExp(dr,"g"),KA[dr]);var fs="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Ps="January February March April May June July August September October November December".split(" ");for(dr in KA={"%a":Jt=>fs[Jt.vb].substring(0,3),"%A":Jt=>fs[Jt.vb],"%b":Jt=>Ps[Jt.Jb].substring(0,3),"%B":Jt=>Ps[Jt.Jb],"%C":Jt=>kt((Jt.Db+1900)/100|0,2),"%d":Jt=>kt(Jt.Mb,2),"%e":Jt=>We(Jt.Mb,2," "),"%g":Jt=>jA(Jt).toString().substring(2),"%G":jA,"%H":Jt=>kt(Jt.Ib,2),"%I":Jt=>((Jt=Jt.Ib)==0?Jt=12:12<Jt&&(Jt-=12),kt(Jt,2)),"%j":Jt=>{for(var hs=0,qa=0;qa<=Jt.Jb-1;hs+=(l2(Jt.Db+1900)?Mg:Dg)[qa++]);return kt(Jt.Mb+hs,3)},"%m":Jt=>kt(Jt.Jb+1,2),"%M":Jt=>kt(Jt.kc,2),"%n":()=>`
90`,"%p":Jt=>0<=Jt.Ib&&12>Jt.Ib?"AM":"PM","%S":Jt=>kt(Jt.lc,2),"%t":()=>"	","%u":Jt=>Jt.vb||7,"%U":Jt=>kt(Math.floor((Jt.Cb+7-Jt.vb)/7),2),"%V":Jt=>{var hs=Math.floor((Jt.Cb+7-(Jt.vb+6)%7)/7);if(2>=(Jt.vb+371-Jt.Cb-2)%7&&hs++,hs)hs==53&&((qa=(Jt.vb+371-Jt.Cb)%7)==4||qa==3&&l2(Jt.Db)||(hs=1));else{hs=52;var qa=(Jt.vb+7-Jt.Cb-1)%7;(qa==4||qa==5&&l2(Jt.Db%400-1))&&hs++}return kt(hs,2)},"%w":Jt=>Jt.vb,"%W":Jt=>kt(Math.floor((Jt.Cb+7-(Jt.vb+6)%7)/7),2),"%y":Jt=>(Jt.Db+1900).toString().substring(2),"%Y":Jt=>Jt.Db+1900,"%z":Jt=>(0<=(Jt=Jt.jc)?"+":"-")+("0000"+((Jt=Math.abs(Jt)/60)/60*100+Jt%60)).slice(-4),"%Z":Jt=>Jt.mc,"%%":()=>"%"},ve=ve.replace(/%%/g,"\0\0"),KA)ve.includes(dr)&&(ve=ve.replace(new RegExp(dr,"g"),KA[dr](De)));return dr=function(Jt){var hs=Array(pf(Jt)+1);return jd(Jt,hs,0,hs.length),hs}(ve=ve.replace(/\0\0/g,"%")),dr.length>ie?0:(l8(dr,Z),dr.length-1)}function c8(Z,ie,ve,De){return Gg(Z>>>0,ie>>>0,ve>>>0,De>>>0)}Re||function(){for(var Z=te.numThreads-1;Z--;)Od();no.unshift(()=>{dc++,function(ie){Re?ie():Promise.all(Xl.map(zd)).then(ie)}(()=>Bd())})}();for(var _g=Array(256),S1=0;256>S1;++S1)_g[S1]=String.fromCharCode(S1);rg=_g,ql=te.BindingError=class extends Error{constructor(Z){super(Z),this.name="BindingError"}},te.InternalError=class extends Error{constructor(Z){super(Z),this.name="InternalError"}},Al.push(0,1,void 0,1,null,1,!0,1,!1,1),te.count_emval_handles=()=>Al.length/2-5-Cf.length;var u8=[gf,Qd,Fd,Yd,Rd,Wd,Ud,Kd,Zd,Xd,qd,Jd,$d,eg,tg,Ag,pg,mg,kg,vg,yg,Eg,Bg,xg],lr=function(){function Z(ve,De){return lr=ve.exports,lr=function(){var We=lr,kt={};for(let[sA,fA]of Object.entries(We))kt[sA]=typeof fA=="function"?(...jA)=>{_1.push(sA);try{return fA(...jA)}finally{$o||(_1.pop(),V0&&$l===1&&_1.length===0&&($l=0,gc+=1,G1(Lg),typeof Fibers<"u"&&Fibers.tc()))}}:fA;return kt}(),lr=function(){var We=lr,kt=fA=>jA=>fA(jA)>>>0,sA=fA=>()=>fA()>>>0;return(We=Object.assign({},We)).Da=kt(We.Da),We.gb=sA(We.gb),We.ib=kt(We.ib),We.emscripten_main_runtime_thread_id=sA(We.emscripten_main_runtime_thread_id),We.tb=kt(We.tb),We.ub=sA(We.ub),We}(),Pd.push(lr.jb),el.unshift(lr.Ca),UA=De,Bd(),lr}var ie=_d();if(dc++,te.instantiateWasm)try{return te.instantiateWasm(ie,Z)}catch(ve){Ar(`Module.instantiateWasm callback failed with error: ${ve}`),Be(ve)}return cf||(cf=te.locateFile?xd("ort-wasm-simd-threaded.jsep.wasm")?"ort-wasm-simd-threaded.jsep.wasm":te.locateFile?te.locateFile("ort-wasm-simd-threaded.jsep.wasm",hA):hA+"ort-wasm-simd-threaded.jsep.wasm":new URL(s("./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm"),s.b).href),function(ve,De){var We=cf;return xA||typeof WebAssembly.instantiateStreaming!="function"||xd(We)||Md(We)||typeof fetch!="function"?Gd(We,ve,De):fetch(We,{credentials:"same-origin"}).then(kt=>WebAssembly.instantiateStreaming(kt,ve).then(De,function(sA){return Ar(`wasm streaming compile failed: ${sA}`),Ar("falling back to ArrayBuffer instantiation"),Gd(We,ve,De)}))}(ie,function(ve){Z(ve.instance,ve.module)}).catch(Be),{}}(),Tg=Z=>(Tg=lr.Da)(Z),Qg=()=>(Qg=lr.Ea)();te._OrtInit=(Z,ie)=>(te._OrtInit=lr.Fa)(Z,ie),te._OrtGetLastError=(Z,ie)=>(te._OrtGetLastError=lr.Ga)(Z,ie),te._OrtCreateSessionOptions=(Z,ie,ve,De,We,kt,sA,fA,jA,KA)=>(te._OrtCreateSessionOptions=lr.Ha)(Z,ie,ve,De,We,kt,sA,fA,jA,KA),te._OrtAppendExecutionProvider=(Z,ie)=>(te._OrtAppendExecutionProvider=lr.Ia)(Z,ie),te._OrtAddFreeDimensionOverride=(Z,ie,ve)=>(te._OrtAddFreeDimensionOverride=lr.Ja)(Z,ie,ve),te._OrtAddSessionConfigEntry=(Z,ie,ve)=>(te._OrtAddSessionConfigEntry=lr.Ka)(Z,ie,ve),te._OrtReleaseSessionOptions=Z=>(te._OrtReleaseSessionOptions=lr.La)(Z),te._OrtCreateSession=(Z,ie,ve)=>(te._OrtCreateSession=lr.Ma)(Z,ie,ve),te._OrtReleaseSession=Z=>(te._OrtReleaseSession=lr.Na)(Z),te._OrtGetInputOutputCount=(Z,ie,ve)=>(te._OrtGetInputOutputCount=lr.Oa)(Z,ie,ve),te._OrtGetInputName=(Z,ie)=>(te._OrtGetInputName=lr.Pa)(Z,ie),te._OrtGetOutputName=(Z,ie)=>(te._OrtGetOutputName=lr.Qa)(Z,ie),te._OrtFree=Z=>(te._OrtFree=lr.Ra)(Z),te._OrtCreateTensor=(Z,ie,ve,De,We,kt)=>(te._OrtCreateTensor=lr.Sa)(Z,ie,ve,De,We,kt),te._OrtGetTensorData=(Z,ie,ve,De,We)=>(te._OrtGetTensorData=lr.Ta)(Z,ie,ve,De,We),te._OrtReleaseTensor=Z=>(te._OrtReleaseTensor=lr.Ua)(Z),te._OrtCreateRunOptions=(Z,ie,ve,De)=>(te._OrtCreateRunOptions=lr.Va)(Z,ie,ve,De),te._OrtAddRunConfigEntry=(Z,ie,ve)=>(te._OrtAddRunConfigEntry=lr.Wa)(Z,ie,ve),te._OrtReleaseRunOptions=Z=>(te._OrtReleaseRunOptions=lr.Xa)(Z),te._OrtCreateBinding=Z=>(te._OrtCreateBinding=lr.Ya)(Z),te._OrtBindInput=(Z,ie,ve)=>(te._OrtBindInput=lr.Za)(Z,ie,ve),te._OrtBindOutput=(Z,ie,ve,De)=>(te._OrtBindOutput=lr._a)(Z,ie,ve,De),te._OrtClearBoundOutputs=Z=>(te._OrtClearBoundOutputs=lr.$a)(Z),te._OrtReleaseBinding=Z=>(te._OrtReleaseBinding=lr.ab)(Z),te._OrtRunWithBinding=(Z,ie,ve,De,We)=>(te._OrtRunWithBinding=lr.bb)(Z,ie,ve,De,We),te._OrtRun=(Z,ie,ve,De,We,kt,sA,fA)=>(te._OrtRun=lr.cb)(Z,ie,ve,De,We,kt,sA,fA),te._OrtEndProfiling=Z=>(te._OrtEndProfiling=lr.db)(Z),te._JsepOutput=(Z,ie,ve)=>(te._JsepOutput=lr.eb)(Z,ie,ve),te._JsepGetNodeName=Z=>(te._JsepGetNodeName=lr.fb)(Z);var N1,c2=()=>(c2=lr.gb)(),H0=te._free=Z=>(H0=te._free=lr.hb)(Z),z1=te._malloc=Z=>(z1=te._malloc=lr.ib)(Z),Mf=(Z,ie,ve,De,We,kt)=>(Mf=lr.lb)(Z,ie,ve,De,We,kt),Pg=()=>(Pg=lr.mb)(),Sg=(Z,ie,ve,De,We)=>(Sg=lr.nb)(Z,ie,ve,De,We),Df=Z=>(Df=lr.ob)(Z),O1=Z=>(O1=lr.pb)(Z),Ng=()=>(Ng=lr.qb)(),zg=(Z,ie)=>(zg=lr.rb)(Z,ie),F1=Z=>(F1=lr.sb)(Z),Gf=Z=>(Gf=lr.tb)(Z),_f=()=>(_f=lr.ub)(),Og=te.dynCall_ii=(Z,ie)=>(Og=te.dynCall_ii=lr.wb)(Z,ie),Fg=Z=>(Fg=lr.xb)(Z),Lg=()=>(Lg=lr.yb)(),Vg=Z=>(Vg=lr.zb)(Z),Hg=()=>(Hg=lr.Ab)();function Yg(){0<dc||(Re?(ye(te),Re||x1(el),startWorker(te)):(x1(no),0<dc||N1||(N1=!0,te.calledRun=!0,$o||(Re||x1(el),ye(te),Re||x1(lf)))))}return te.___start_em_js=932469,te.___stop_em_js=932715,te.stackSave=()=>_f(),te.stackRestore=Z=>F1(Z),te.stackAlloc=Z=>Gf(Z),te.setValue=function(Z,ie,ve="i8"){switch(ve.endsWith("*")&&(ve="*"),ve){case"i1":case"i8":x()[Z>>>0]=ie;break;case"i16":L()[Z>>>1>>>0]=ie;break;case"i32":Y()[Z>>>2>>>0]=ie;break;case"i64":Jo[Z>>>3]=BigInt(ie);break;case"float":se()[Z>>>2>>>0]=ie;break;case"double":ne()[Z>>>3>>>0]=ie;break;case"*":Ae()[Z>>>2>>>0]=ie;break;default:Zl(`invalid type for setValue: ${ve}`)}},te.getValue=function(Z,ie="i8"){switch(ie.endsWith("*")&&(ie="*"),ie){case"i1":case"i8":return x()[Z>>>0];case"i16":return L()[Z>>>1>>>0];case"i32":return Y()[Z>>>2>>>0];case"i64":return Jo[Z>>>3];case"float":return se()[Z>>>2>>>0];case"double":return ne()[Z>>>3>>>0];case"*":return Ae()[Z>>>2>>>0];default:Zl(`invalid type for getValue: ${ie}`)}},te.UTF8ToString=on,te.stringToUTF8=o2,te.lengthBytesUTF8=pf,Yu=function Z(){N1||Yg(),N1||(Yu=Z)},Yg(),te.PTR_SIZE=4,Te},vA=bA,((f=globalThis.self)==null?void 0:f.name)==="em-pthread"&&bA()}),Jc=me(()=>{xt(),Gt=typeof location>"u"?void 0:location.origin,mA=(()=>{var f;return(f=import.meta.url)!=null&&f.startsWith("file:")?new URL(new URL(s("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb"),s.b).href,Gt).href:import.meta.url})(),AA=()=>{if(mA&&!mA.startsWith("blob:"))return mA.substring(0,mA.lastIndexOf("/")+1)},gr=(f,I)=>{try{let x=I??mA;return(x?new URL(f,x):new URL(f)).origin===Gt}catch{return!1}},CA=(f,I)=>{let x=I??mA;try{return(x?new URL(f,x):new URL(f)).href}catch{return}},NA=(f,I)=>`${I??"./"}${f}`,tA=async f=>{let I=await(await fetch(f,{credentials:"same-origin"})).blob();return URL.createObjectURL(I)},iA=async f=>(await import(f)).default,qt=(eA(),Ue(jt)).default,zA=async()=>{if(!mA)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(gr(mA))return[void 0,qt()];let f=await tA(mA);return[f,qt(f)]},Fr=(c1(),Ue(nA)).default,Vr=async(f,I,x)=>{if(!f&&!I&&Fr&&mA&&gr(mA))return[void 0,Fr];{let N="ort-wasm-simd-threaded.jsep.mjs",L=f??CA(N,I),j=x&&L&&!gr(L,I),Y=j?await tA(L):L??NA(N,I);return[j?Y:void 0,await iA(Y)]}}}),G0=me(()=>{Jc(),MA=!1,QA=!1,ZA=!1,FA=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},EA=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Rr=async f=>{if(MA)return Promise.resolve();if(QA)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(ZA)throw new Error("previous call to 'initializeWebAssembly()' failed.");QA=!0;let I=f.initTimeout,x=f.numThreads;if(!EA())throw new Error("WebAssembly SIMD is not supported in the current environment.");let N=FA();x>1&&!N&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+x+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),f.numThreads=x=1);let L=f.wasmPaths,j=typeof L=="string"?L:void 0,Y=L==null?void 0:L.mjs,Ae=(Y==null?void 0:Y.href)??Y,se=L==null?void 0:L.wasm,ne=(se==null?void 0:se.href)??se,ye=f.wasmBinary,[Be,te]=await Vr(Ae,j,x>1),Te=!1,Oe=[];if(I>0&&Oe.push(new Promise(Ke=>{setTimeout(()=>{Te=!0,Ke()},I)})),Oe.push(new Promise((Ke,Re)=>{let et={numThreads:x};if(ye)et.wasmBinary=ye;else if(ne||j)et.locateFile=ft=>ne??j+ft;else if(Ae&&Ae.indexOf("blob:")!==0)et.locateFile=ft=>new URL(ft,Ae).href;else if(Be){let ft=AA();ft&&(et.locateFile=bt=>ft+bt)}te(et).then(ft=>{QA=!1,MA=!0,Tt=ft,Ke(),Be&&URL.revokeObjectURL(Be)},ft=>{QA=!1,ZA=!0,Re(ft)})})),await Promise.race(Oe),Te)throw new Error(`WebAssembly backend initializing failed due to timeout: ${I}ms`)},Er=()=>{if(MA&&Tt)return Tt;throw new Error("WebAssembly is not initialized yet.")}}),Nu=me(()=>{G0(),Dr=(f,I)=>{let x=Er(),N=x.lengthBytesUTF8(f)+1,L=x._malloc(N);return x.stringToUTF8(f,L,N),I.push(L),L},Vs=(f,I,x,N)=>{if(typeof f=="object"&&f!==null){if(x.has(f))throw new Error("Circular reference in options");x.add(f)}Object.entries(f).forEach(([L,j])=>{let Y=I?I+L:L;if(typeof j=="object")Vs(j,Y+".",x,N);else if(typeof j=="string"||typeof j=="number")N(Y,j.toString());else{if(typeof j!="boolean")throw new Error("Can't handle extra config type: "+typeof j);N(Y,j?"1":"0")}})},nr=f=>{let I=Er(),x=I.stackSave();try{let N=I.PTR_SIZE,L=I.stackAlloc(2*N);I._OrtGetLastError(L,L+N);let j=Number(I.getValue(L,N===4?"i32":"i64")),Y=I.getValue(L+N,"*"),Ae=Y?I.UTF8ToString(Y):"";throw new Error(`${f} ERROR_CODE: ${j}, ERROR_MESSAGE: ${Ae}`)}finally{I.stackRestore(x)}}}),zu=me(()=>{G0(),Nu(),qs=f=>{let I=Er(),x=0,N=[],L=f||{};try{if((f==null?void 0:f.logSeverityLevel)===void 0)L.logSeverityLevel=2;else if(typeof f.logSeverityLevel!="number"||!Number.isInteger(f.logSeverityLevel)||f.logSeverityLevel<0||f.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${f.logSeverityLevel}`);if((f==null?void 0:f.logVerbosityLevel)===void 0)L.logVerbosityLevel=0;else if(typeof f.logVerbosityLevel!="number"||!Number.isInteger(f.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${f.logVerbosityLevel}`);(f==null?void 0:f.terminate)===void 0&&(L.terminate=!1);let j=0;return(f==null?void 0:f.tag)!==void 0&&(j=Dr(f.tag,N)),x=I._OrtCreateRunOptions(L.logSeverityLevel,L.logVerbosityLevel,!!L.terminate,j),x===0&&nr("Can't create run options."),(f==null?void 0:f.extra)!==void 0&&Vs(f.extra,"",new WeakSet,(Y,Ae)=>{let se=Dr(Y,N),ne=Dr(Ae,N);I._OrtAddRunConfigEntry(x,se,ne)!==0&&nr(`Can't set a run config entry: ${Y} - ${Ae}.`)}),[x,N]}catch(j){throw x!==0&&I._OrtReleaseRunOptions(x),N.forEach(Y=>I._free(Y)),j}}}),u1=me(()=>{G0(),Nu(),xa=f=>{switch(f){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${f}`)}},Ja=f=>{switch(f){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${f}`)}},ma=f=>{f.extra||(f.extra={}),f.extra.session||(f.extra.session={});let I=f.extra.session;I.use_ort_model_bytes_directly||(I.use_ort_model_bytes_directly="1"),f.executionProviders&&f.executionProviders.some(x=>(typeof x=="string"?x:x.name)==="webgpu")&&(f.enableMemPattern=!1)},Qa=(f,I,x)=>{for(let N of I){let L=typeof N=="string"?N:N.name;switch(L){case"webnn":if(L="WEBNN",typeof N!="string"){let Y=N==null?void 0:N.deviceType;if(Y){let Ae=Dr("deviceType",x),se=Dr(Y,x);Er()._OrtAddSessionConfigEntry(f,Ae,se)!==0&&nr(`Can't set a session config entry: 'deviceType' - ${Y}.`)}}break;case"webgpu":if(L="JS",typeof N!="string"){let Y=N;if(Y!=null&&Y.preferredLayout){if(Y.preferredLayout!=="NCHW"&&Y.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${Y.preferredLayout}`);let Ae=Dr("preferredLayout",x),se=Dr(Y.preferredLayout,x);Er()._OrtAddSessionConfigEntry(f,Ae,se)!==0&&nr(`Can't set a session config entry: 'preferredLayout' - ${Y.preferredLayout}.`)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${L}`)}let j=Dr(L,x);Er()._OrtAppendExecutionProvider(f,j)!==0&&nr(`Can't append execution provider: ${L}.`)}},$a=f=>{let I=Er(),x=0,N=[],L=f||{};ma(L);try{let j=xa(L.graphOptimizationLevel??"all"),Y=Ja(L.executionMode??"sequential"),Ae=typeof L.logId=="string"?Dr(L.logId,N):0,se=L.logSeverityLevel??2;if(!Number.isInteger(se)||se<0||se>4)throw new Error(`log serverity level is not valid: ${se}`);let ne=L.logVerbosityLevel??0;if(!Number.isInteger(ne)||ne<0||ne>4)throw new Error(`log verbosity level is not valid: ${ne}`);let ye=typeof L.optimizedModelFilePath=="string"?Dr(L.optimizedModelFilePath,N):0;if(x=I._OrtCreateSessionOptions(j,!!L.enableCpuMemArena,!!L.enableMemPattern,Y,!!L.enableProfiling,0,Ae,se,ne,ye),x===0&&nr("Can't create session options."),L.executionProviders&&Qa(x,L.executionProviders,N),L.enableGraphCapture!==void 0){if(typeof L.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${L.enableGraphCapture}`);let Be=Dr("enableGraphCapture",N),te=Dr(L.enableGraphCapture.toString(),N);I._OrtAddSessionConfigEntry(x,Be,te)!==0&&nr(`Can't set a session config entry: 'enableGraphCapture' - ${L.enableGraphCapture}.`)}if(L.freeDimensionOverrides)for(let[Be,te]of Object.entries(L.freeDimensionOverrides)){if(typeof Be!="string")throw new Error(`free dimension override name must be a string: ${Be}`);if(typeof te!="number"||!Number.isInteger(te)||te<0)throw new Error(`free dimension override value must be a non-negative integer: ${te}`);let Te=Dr(Be,N);I._OrtAddFreeDimensionOverride(x,Te,te)!==0&&nr(`Can't set a free dimension override: ${Be} - ${te}.`)}return L.extra!==void 0&&Vs(L.extra,"",new WeakSet,(Be,te)=>{let Te=Dr(Be,N),Oe=Dr(te,N);I._OrtAddSessionConfigEntry(x,Te,Oe)!==0&&nr(`Can't set a session config entry: ${Be} - ${te}.`)}),[x,N]}catch(j){throw x!==0&&I._OrtReleaseSessionOptions(x)!==0&&nr("Can't release session options."),N.forEach(Y=>I._free(Y)),j}}}),hr=me(()=>{ds=f=>{switch(f){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${f}`)}},en=f=>{switch(f){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${f}`)}},oa=(f,I)=>{let x=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][f],N=typeof I=="number"?I:I.reduce((L,j)=>L*j,1);return x>0?Math.ceil(N*x):void 0},Yn=f=>{switch(f){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${f}`)}},Ma=f=>{switch(f){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${f}`)}},Br=f=>f==="float32"||f==="float16"||f==="int32"||f==="int64"||f==="uint32"||f==="uint8"||f==="bool"||f==="uint4"||f==="int4",Hr=f=>f==="float32"||f==="float16"||f==="int32"||f==="int64"||f==="uint32"||f==="uint64"||f==="int8"||f==="uint8"||f==="bool"||f==="uint4"||f==="int4",cn=f=>{switch(f){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${f}`)}}}),Ou=me(()=>{xt(),Rn=async f=>{if(typeof f=="string"){let I=await fetch(f);if(!I.ok)throw new Error(`failed to load external data file: ${f}`);let x=I.headers.get("Content-Length"),N=x?parseInt(x,10):0;if(N<1073741824)return new Uint8Array(await I.arrayBuffer());{if(!I.body)throw new Error(`failed to load external data file: ${f}, no response body.`);let L,j=I.body.getReader();try{L=new ArrayBuffer(N)}catch(Ae){if(!(Ae instanceof RangeError))throw Ae;{let se=Math.ceil(N/65536);L=new WebAssembly.Memory({initial:se,maximum:se}).buffer}}let Y=0;for(;;){let{done:Ae,value:se}=await j.read();if(Ae)break;let ne=se.byteLength;new Uint8Array(L,Y,ne).set(se),Y+=ne}return new Uint8Array(L,0,N)}}return f instanceof Blob?new Uint8Array(await f.arrayBuffer()):f instanceof Uint8Array?f:new Uint8Array(f)}}),qo=me(()=>{hr(),Oi=["V","I","W","E","F"],Ra=(f,I)=>{console.log(`[${Oi[f]},${new Date().toISOString()}]${I}`)},ja=(f,I)=>{jn=f,Tn=I},$A=(f,I)=>{let x=Ma(f);x>=Ma(jn)&&Ra(x,typeof I=="function"?I():I)},fr=(...f)=>{Tn&&$A(...f)}}),Fu=me(()=>{hr(),la=(f,I)=>new(Yn(I))(f)}),$c=me(()=>{}),f1=me(()=>{qo(),$c(),vi=new Map([[64,250],[128,200],[256,200],[512,200],[2048,230],[4096,200],[8192,50],[16384,50],[32768,50],[65536,50],[131072,50],[262144,50],[524288,50],[1048576,50],[2097152,30],[4194304,20],[8388608,10],[12582912,10],[16777216,10],[26214400,15],[33554432,22],[44236800,2],[58982400,6],[67108864,6],[134217728,6],[167772160,6]]),Pa=[],ci=f=>16*Math.ceil(Number(f)/16),tn=f=>{for(let I=0;I<Pa.length;I++){let x=Pa[I];if(f<=x)return x}return 16*Math.ceil(f/16)},Wa=1,_t=()=>Wa++,Ee=async(f,I,x,N)=>{let L=ci(x),j=f.device.createBuffer({size:L,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let Y=f.getCommandEncoder();f.endComputePass(),Y.copyBufferToBuffer(I,0,j,0,L),f.flush(),await j.mapAsync(GPUMapMode.READ);let Ae=j.getMappedRange();if(N){let se=N();return se.set(new Uint8Array(Ae,0,x)),se}return new Uint8Array(Ae.slice(0,x))}finally{j.destroy()}},qe=class{constructor(f){this.backend=f,this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersPending=[],this.capturedPendingBuffers=new Map;for(let[I]of vi)Pa.push(I),this.freeBuffers.set(I,[]),this.freeUniformBuffers.set(I,[]);this.sessionCount=0}upload(f,I){let x=I.buffer,N=I.byteOffset,L=I.byteLength,j=ci(L),Y=this.storageCache.get(f);if(!Y)throw new Error("gpu data for uploading does not exist");if(Number(Y.originalSize)!==L)throw new Error(`inconsistent data size. gpu data size=${Y.originalSize}, data size=${L}`);let Ae=this.backend.device.createBuffer({mappedAtCreation:!0,size:j,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),se=Ae.getMappedRange();new Uint8Array(se).set(new Uint8Array(x,N,L)),Ae.unmap();let ne=this.backend.device.createCommandEncoder();ne.copyBufferToBuffer(Ae,0,Y.gpuData.buffer,0,j),this.backend.device.queue.submit([ne.finish()]),Ae.destroy(),fr("verbose",()=>`[WebGPU] GpuDataManager.upload(id=${f})`)}memcpy(f,I){let x=this.storageCache.get(f);if(!x)throw new Error("source gpu data for memcpy does not exist");let N=this.storageCache.get(I);if(!N)throw new Error("destination gpu data for memcpy does not exist");if(x.originalSize!==N.originalSize)throw new Error("inconsistent source and destination gpu data size");let L=ci(x.originalSize),j=this.backend.getCommandEncoder();this.backend.endComputePass(),j.copyBufferToBuffer(x.gpuData.buffer,0,N.gpuData.buffer,0,L)}registerExternalBuffer(f,I,x){let N;if(x){if(N=x[0],f===x[1])return fr("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${I}) => id=${N}, buffer is the same, skip.`),N;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.
91             Please use the previous external buffer!`)}else N=_t();return this.storageCache.set(N,{gpuData:{id:N,type:0,buffer:f},originalSize:I}),fr("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${I}) => id=${N}, registered.`),N}unregisterExternalBuffer(f){f!==void 0&&(this.storageCache.delete(f),fr("verbose",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${f}`))}create(f,I=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let x,N=tn(f),L=(I&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,j=(I&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(L||j){let Ae=(L?this.freeBuffers:this.freeUniformBuffers).get(N);x=Ae&&Ae.length>0?Ae.pop():this.backend.device.createBuffer({size:N,usage:I})}else x=this.backend.device.createBuffer({size:N,usage:I});let Y={id:_t(),type:0,buffer:x};return this.storageCache.set(Y.id,{gpuData:Y,originalSize:Number(f)}),fr("verbose",()=>`[WebGPU] GpuDataManager.create(size=${f}) => id=${Y.id}`),Y}get(f){var I;return(I=this.storageCache.get(f))==null?void 0:I.gpuData}release(f){let I=typeof f=="bigint"?Number(f):f,x=this.storageCache.get(I);if(!x){if(this.storageCache.size===0)return 0;throw new Error("releasing data does not exist")}return fr("verbose",()=>`[WebGPU] GpuDataManager.release(id=${I}), gpuDataId=${x.gpuData.id}`),this.storageCache.delete(I),this.buffersPending.push(x.gpuData.buffer),x.originalSize}async download(f,I){let x=this.storageCache.get(Number(f));if(!x)throw new Error("data does not exist");await Ee(this.backend,x.gpuData.buffer,x.originalSize,I)}refreshPendingBuffers(){if(this.buffersPending.length!==0)if(this.backend.sessionStatus==="default"){for(let f of this.buffersPending){let I=vi.get(f.size);if((f.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE){let x=this.freeBuffers.get(f.size)||[];I===void 0||x.length>=I?f.destroy():x.push(f)}else if((f.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM){let x=this.freeUniformBuffers.get(f.size)||[];I===void 0||x.length>=I?f.destroy():x.push(f)}else f.destroy()}this.buffersPending=[]}else{let f=this.capturedPendingBuffers.get(this.backend.currentSessionId);f||(f=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,f));for(let I of this.buffersPending)f.push(I);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(f=>{f.forEach(I=>{I.destroy()})}),this.freeUniformBuffers.forEach(f=>{f.forEach(I=>{I.destroy()})}),this.storageCache.forEach(f=>{f.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(f=>{f.forEach(I=>{I.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onCreateSession(){this.sessionCount+=1}onReleaseSession(f){let I=this.capturedPendingBuffers.get(f);I&&(I.forEach(x=>{x.destroy()}),this.capturedPendingBuffers.delete(f)),this.sessionCount-=1,this.sessionCount===0&&(fr("warning",()=>"[WebGPU] Clearing webgpu buffer cache"),this.storageCache.forEach(x=>{x.gpuData.buffer.destroy()}),this.storageCache=new Map)}},ut=(...f)=>new qe(...f)}),va=me(()=>{mt=class{constructor(f){Object.assign(this,f)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(f=>`${this[f]}`).join(";")),this.key}},vt=f=>new mt(f)}),yr=me(()=>{Rt=class{static calcMatMulShape(f,I){return f[1]!==I[0]?void 0:[f[0],I[1]]}},lA=class{static calcShape(f,I,x=!1){let N=f.length,L=I.length;if(N===0)return I;if(L===0)return f;let j=Math.max(f.length,I.length),Y=new Array(j);if(x){if(N<2||L<2)return;let Ae=Rt.calcMatMulShape([f[N-2],f[N-1]],[I[L-2],I[L-1]]);if(Ae===void 0)return;[Y[j-2],Y[j-1]]=Ae}for(let Ae=x?3:1;Ae<=j;Ae++){let se=N-Ae<0?1:f[N-Ae],ne=L-Ae<0?1:I[L-Ae];if(se!==ne&&se>1&&ne>1)return;let ye=Math.max(se,ne);if(se&&ne)Y[j-Ae]=Math.max(se,ne);else{if(ye>1)return;Y[j-Ae]=0}}return Y}static isValidBroadcast(f,I){let x=f.length,N=I.length;if(x>N)return!1;for(let L=1;L<=x;L++)if(f[x-L]!==1&&f[x-L]!==I[N-L])return!1;return!0}},gt=class R1{static size(I){return R1.getSizeFromDimensionRange(I,0,I.length)}static convertShape(I,x=4){let N=I.length;if(N===0)return[];let L=new Array(N),j=N-1;for(;j>=0;){if(I[j]%x==0){L[j]=I[j]/x;break}if(x%I[j]!=0)throw new Error("cannot convert shape");L[j]=1,x/=I[j],j--}for(j--;j>=0;j--)L[j]=I[j];return L}static sizeFromDimension(I,x){if(x<0||x>I.length)throw new Error(`invalid dimension of ${x} for sizeFromDimension as Tensor has ${I.length} dimensions.`);return R1.getSizeFromDimensionRange(I,x,I.length)}static sizeToDimension(I,x){if(x<0||x>I.length)throw new Error(`invalid dimension of ${x} for sizeToDimension as Tensor has ${I.length} dimensions.`);return R1.getSizeFromDimensionRange(I,0,x)}static getSizeFromDimensionRange(I,x,N){let L=1;for(let j=x;j<N;j++){if(I[j]<0)throw new Error("cannot get valid size from specified dimension range. Most likely the range contains negative values in them.");L*=Number(I[j])}return L}static computeStrides(I){let x=I.length;if(x===0)return[];if(x===1)return[1];let N=new Array(x);N[x-1]=1,N[x-2]=I[x-1];for(let L=x-3;L>=0;--L)N[L]=N[L+1]*I[L+1];return N}static normalizeAxis(I,x){if(I<-x&&I>=x)throw new Error("unsupported axis for this operation.");return I<0?I+x:I}static normalizeAxes(I,x){return I.map(N=>this.normalizeAxis(N,x??I.length))}static sortBasedOnPerm(I,x){return x?x.map(N=>I[N]):I.slice().reverse()}static padShape(I,x){let N=I.length;return I.map((L,j)=>L+x[j]+x[j+N])}static areEqual(I,x){return I.length===x.length&&I.every((N,L)=>N===x[L])}},pA=class Ku{static adjustPoolAttributes(I,x,N,L,j,Y){if(!I&&N.length!==x.length-2)throw new Error("length of specified kernel shapes should be 2 less than length of input dimensions");if(I)for(let Ae=0;Ae<x.length-2;Ae++)Ae>=N.length?N.push(x[Ae+2]):N[Ae]=x[Ae+2];for(let Ae=0;Ae<N.length;Ae++)if(Ae<L.length){if(L[Ae]<0)throw new Error("strides should be greater than or equal to 1")}else L.push(1);for(let Ae=0;Ae<N.length;Ae++)if(Ae<j.length){if(j[Ae]<0)throw new Error("dilations should be greater than or equal to 1")}else j.push(1);for(let Ae=0;Ae<2*N.length;Ae++)if(Ae<Y.length){if(Y[Ae]<0)throw new Error("pad should be greater than or equal to 1")}else Y.push(0);for(let Ae=0;Ae<N.length;Ae++){if(N[Ae]<=0)throw new Error("kernel shapes need to be greater than 0");if(Y[Ae]>=N[Ae]||Y[Ae+N.length]>=N[Ae])throw new Error("pads should be smaller than kernel")}}static adjustPadsBasedOnAutoPad(I,x,N,L,j,Y,Ae){if(Ae){if(j.length!==2*(I.length-2))throw new Error("length of pads should be twice the length of data dimensions");if(x.length!==I.length-2)throw new Error("length of strides should be the length of data dimensions");if(L.length!==I.length-2)throw new Error("length of kernel shapes should be the length of data dimensions");for(let se=0;se<I.length-2;se++)Ku.adjustPadAndReturnShape(I[se+(Y?1:2)],x[se],N[se],L[se],j,se,se+I.length-2,Ae)}}static computePoolOutputShape(I,x,N,L,j,Y,Ae){if(x.length<=0)throw new Error("input shape must be of size greater than 0");let se=[x[0],x[1]];return Ku.computeShapeHelper(I,x,se,N,L,j,Y,Ae),se}static computeConvOutputShape(I,x,N,L,j,Y,Ae){if(I.length<=0||x.length<=0)throw new Error("invalid input tensor dims or invalid filter tensor dims");let se=[I[0],x[0]];return Ku.computeShapeHelper(!1,I,se,N,L,j,Y,Ae),se}static computeShapeHelper(I,x,N,L,j,Y,Ae,se){if(I)for(let ne=0;ne<x.length-2;ne++)N.push(1);else for(let ne=0;ne<x.length-2;ne++)N.push(Ku.adjustPadAndReturnShape(x[ne+2],L[ne],j[ne],Y[ne],Ae,ne,ne+x.length-2,se))}static adjustPadAndReturnShape(I,x,N,L,j,Y,Ae,se){let ne=N*(L-1)+1;if(!se||se==="NOTSET")return Math.floor((I+j[Y]+j[Ae]-ne)/x+1);switch(se){case"VALID":return j[Y]=0,j[Ae]=0,Math.floor((I-ne)/x+1);case"SAME_LOWER":case"SAME_UPPER":if(N!==1)throw new Error("Dilation not supported for SAME_UPPER or SAME_LOWER");{let ye=((I+x-1)/x-1)*x+L-I;return j[Y]=Math.floor(se==="SAME_LOWER"?(ye+1)/2:ye/2),j[Ae]=ye-j[Y],Math.floor((I+ye-L)/x+1)}default:throw new Error("Unsupported AutoPad type")}}},oA=class{static getShapeOfGemmResult(f,I,x,N,L){if(f.length!==2||x.length!==2)throw new Error("shape need to be of size 2");let j,Y,Ae;I?(j=f[1],Y=f[0]):(j=f[0],Y=f[1]);let se=-1;if(N?(Ae=x[0],se=1):(Ae=x[1],se=0),x[se]!==Y)throw new Error("dimension mismatch");if(j<=0||Ae<=0||Y<=0)throw new Error("invalid shape specified");if(L&&!lA.isValidBroadcast(L,[j,Ae]))throw new Error("gemm: invalid bias shape for broadcast");return[j,Ae,Y]}},sr=-34028234663852886e22,jr=34028234663852886e22}),Qr=me(()=>{hr(),yr(),Gr=64,Or=(f,I)=>{if(I===3)throw new Error("vec3 has same alignment as vec4, use vec4 instead");switch(Number(f)){case 10:return I>1?`vec${I}<f16>`:"f16";case 1:return I>1?`vec${I}<f32>`:"f32";case 6:return I>1?`vec${I}<i32>`:"i32";case 12:return I>1?`vec${I}<u32>`:"u32";case 7:if(I>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","i32"];case 13:if(I>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","u32"];case 9:if(I!==4)throw new Error("bool must be vec4");return["u32","vec4<bool>"];case 22:return"i32";case 21:return"u32";default:throw new Error(`Unknown data type: ${f}`)}},ir=(f,I=1)=>{let x=Or(f,I);return typeof x=="string"?x:x[0]},IA=(f,I=1)=>{let x=Or(f,I);return typeof x=="string"?x:x[1]},_A=(...f)=>{let I=[];return f.forEach(x=>{x.length!==0&&I.push({type:12,data:x},{type:12,data:gt.computeStrides(x)})}),I},_r=f=>f%4==0?4:f%2==0?2:1,ba=(f="f32",I,x="0")=>I&&I!==1?`vec${I}<${f}>(${x})`:`${f}(${x})`,Bs=(f,I,x)=>f==="f32"?x:I===1?`f32(${x})`:`vec${I}<f32>(${x})`,ts=(f,I)=>I===4?`(${f}.x + ${f}.y + ${f}.z + ${f}.w)`:I===2?`(${f}.x + ${f}.y)`:I===3?`(${f}.x + ${f}.y + ${f}.z)`:f,PA=(f,I,x,N)=>f.startsWith("uniforms.")&&x>4?typeof I=="string"?N==="f16"?`${f}[(${I}) / 8][(${I}) % 8 / 4][(${I}) % 8 % 4]`:`${f}[(${I}) / 4][(${I}) % 4]`:N==="f16"?`${f}[${Math.floor(I/8)}][${Math.floor(I%8/4)}][${I%8%4}]`:`${f}[${Math.floor(I/4)}][${I%4}]`:x>1?`${f}[${I}]`:f,Kr=(f,I,x,N,L)=>{let j=typeof x=="number",Y=j?x:x.length,Ae=[...new Array(Y).keys()],se=Y<2?"u32":Y<=4?`vec${Y}<u32>`:`array<u32, ${Y}>`,ne=Or(I,L),ye=typeof ne=="string"?ne:ne[1],Be=typeof ne=="string"?ne:ne[0],te={indices:se,value:ye,storage:Be,tensor:I},Te=Lt=>typeof Lt=="string"?Lt:`${Lt}u`,Oe={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},Ke=j?"uniforms.":"",Re=`${Ke}${f}_shape`,et=`${Ke}${f}_strides`,ft="";for(let Lt=0;Lt<Y-1;Lt++)ft+=`
92    let dim${Lt} = current / ${PA(et,Lt,Y)};
93    let rest${Lt} = current % ${PA(et,Lt,Y)};
94    indices[${Lt}] = dim${Lt};
95    current = rest${Lt};
96    `;ft+=`indices[${Y-1}] = current;`;let bt=Y<2?"":`
97  fn o2i_${f}(offset: u32) -> ${te.indices} {
98    var indices: ${te.indices};
99    var current = offset;
100    ${ft}
101    return indices;
102  }`,Mt=[];if(Y>=2)for(let Lt=Y-1;Lt>=0;Lt--)Mt.push(`${PA(et,Lt,Y)} * (indices[${Lt}])`);let Dt=Y<2?"":`
103  fn i2o_${f}(indices: ${te.indices}) -> u32 {
104    return ${Mt.join("+")};
105  }`,Nt=(...Lt)=>Y===0?"0u":`${te.indices}(${Lt.map(Te).join(",")})`,hA=(Lt,UA)=>Y<2?`${Lt}`:`${PA(Lt,UA,Y)}`,xA={},er=(Lt,UA)=>(()=>{if(te.storage===te.value)return`${f}[${Lt}]=${UA};`;if(te.storage==="vec2<u32>"&&te.value==="i32")return`${f}[${Lt}]=vec2<u32>(u32(${UA}), select(0u, 0xFFFFFFFFu, ${UA} < 0));`;if(te.storage==="vec2<u32>"&&te.value==="u32")return`${f}[${Lt}]=vec2<u32>(u32(${UA}), 0u);`;if(te.storage==="u32"&&te.value==="vec4<bool>")return`${f}[${Lt}]=dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(${UA}));`;throw new Error(`not supported combination of storage type ${te.storage} and value type ${te.value} yet`)})(),tr=Lt=>(()=>{if(te.storage===te.value)return`${f}[${Lt}]`;if(te.storage==="vec2<u32>"&&te.value==="i32")return`i32(${f}[${Lt}].x)`;if(te.storage==="vec2<u32>"&&te.value==="u32")return`u32(${f}[${Lt}].x)`;if(te.storage==="u32"&&te.value==="vec4<bool>")return`vec4<bool>(bool(${f}[${Lt}] & 0xFFu), bool(${f}[${Lt}] & 0xFF00u), bool(${f}[${Lt}] & 0xFF0000u), bool(${f}[${Lt}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${te.storage} and value type ${te.value} yet`)})(),qr=Y<2?"":`
106  fn get_${f}ByIndices(indices: ${te.indices}) -> ${ye} {
107    return ${tr(`i2o_${f}(indices)`)};
108  }`,Ar=Y<2?"":(()=>{let Lt=Ae.map(HA=>`d${HA}: u32`).join(", "),UA=Ae.map(HA=>`d${HA}`).join(", ");return`
109  fn get_${f}(${Lt}) -> ${ye} {
110    return get_${f}ByIndices(${Nt(UA)});
111  }`})(),Ir=Y<2?"":`
112  fn set_${f}ByIndices(indices: ${te.indices}, value: ${ye}) {
113    ${er(`i2o_${f}(indices)`,"value")}
114  }`,mr=Y<2?"":(()=>{let Lt=Ae.map(HA=>`d${HA}: u32`).join(", "),UA=Ae.map(HA=>`d${HA}`).join(", ");return`
115  fn set_${f}(${Lt}, value: ${ye}) {
116    set_${f}ByIndices(${Nt(UA)}, value);
117  }`})();return{impl:()=>{let Lt=[],UA=!1;return Oe.offsetToIndices&&(Lt.push(bt),UA=!0),Oe.indicesToOffset&&(Lt.push(Dt),UA=!0),Oe.broadcastedIndicesToOffset&&(Object.values(xA).forEach(HA=>Lt.push(HA)),UA=!0),Oe.set&&(Lt.push(mr),UA=!0),Oe.setByIndices&&(Lt.push(Ir),UA=!0),Oe.get&&(Lt.push(Ar),UA=!0),Oe.getByIndices&&(Lt.push(qr),UA=!0),!j&&UA&&Lt.unshift(`const ${Re} = ${te.indices}(${x.join(",")});`,`const ${et} = ${te.indices}(${gt.computeStrides(x).join(",")});`),Lt.join(`
118`)},type:te,offsetToIndices:Lt=>(Oe.offsetToIndices=!0,Y<2?Lt:`o2i_${f}(${Lt})`),indicesToOffset:Lt=>(Oe.indicesToOffset=!0,Y<2?Lt:`i2o_${f}(${Lt})`),broadcastedIndicesToOffset:(Lt,UA)=>{Oe.broadcastedIndicesToOffset=!0;let HA=`${UA.name}broadcastedIndicesTo${f}Offset`;if(HA in xA)return`${HA}(${Lt})`;let RA=[];for(let is=Y-1;is>=0;is--){let Va=UA.indicesGet("outputIndices",is+UA.rank-Y);RA.push(`${hA(et,is)} * (${Va} % ${hA(Re,is)})`)}return xA[HA]=`fn ${HA}(outputIndices: ${UA.type.indices}) -> u32 {
119             return ${RA.length>0?RA.join("+"):"0u"};
120           }`,`${HA}(${Lt})`},indices:Nt,indicesGet:hA,indicesSet:(Lt,UA,HA)=>Y<2?`${Lt}=${HA};`:`${PA(Lt,UA,Y)}=${HA};`,set:(...Lt)=>{if(Lt.length!==Y+1)throw new Error(`indices length must be ${Y}`);let UA=Lt[Y];if(typeof UA!="string")throw new Error("value must be string");let HA=Lt.slice(0,Y).map(Te).join(",");return Y===0?er("0u",UA):Y===1?er(HA[0],UA):(Oe.set=!0,Oe.setByIndices=!0,Oe.indicesToOffset=!0,`set_${f}(${HA}, ${UA})`)},setByOffset:er,setByIndices:(Lt,UA)=>Y<2?er(Lt,UA):(Oe.setByIndices=!0,Oe.indicesToOffset=!0,`set_${f}ByIndices(${Lt}, ${UA});`),get:(...Lt)=>{if(Lt.length!==Y)throw new Error(`indices length must be ${Y}`);let UA=Lt.map(Te).join(",");return Y===0?tr("0u"):Y===1?tr(UA[0]):(Oe.get=!0,Oe.getByIndices=!0,Oe.indicesToOffset=!0,`get_${f}(${UA})`)},getByOffset:tr,getByIndices:Lt=>Y<2?tr(Lt):(Oe.getByIndices=!0,Oe.indicesToOffset=!0,`get_${f}ByIndices(${Lt})`),usage:N,name:f,strides:et,shape:Re,rank:Y}},Yt=(f,I,x,N=1)=>Kr(f,I,x,"input",N),TA=(f,I,x,N=1)=>Kr(f,I,x,"output",N),Js=(f,I,x)=>Kr(f,I,x,"atomicOutput",1),Ss=(f,I,x,N=1)=>Kr(f,I,x,"internal",N),Ds=class{constructor(f,I){this.normalizedDispatchGroup=f,this.limits=I,this.internalVariables=[],this.variables=[],this.uniforms=[],this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(f){return`if (global_idx >= ${typeof f=="number"?`${f}u`:f}) { return; }`}mainStart(f=Gr){let I=typeof f=="number"?f:f[0],x=typeof f=="number"?1:f[1],N=typeof f=="number"?1:f[2];if(I>this.limits.maxComputeWorkgroupSizeX||x>this.limits.maxComputeWorkgroupSizeY||N>this.limits.maxComputeWorkgroupSizeZ)throw new Error(`workgroup size [${I}, ${x}, ${N}] exceeds the maximum workgroup size [${this.limits.maxComputeWorkgroupSizeX}, ${this.limits.maxComputeWorkgroupSizeY}, ${this.limits.maxComputeWorkgroupSizeZ}].`);if(I*x*N>this.limits.maxComputeInvocationsPerWorkgroup)throw new Error(`workgroup size [${I}, ${x}, ${N}] exceeds the maximum workgroup invocations ${this.limits.maxComputeInvocationsPerWorkgroup}.`);let L=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1;return`@compute @workgroup_size(${I}, ${x}, ${N})
121  fn main(${L?`@builtin(global_invocation_id) global_id : vec3<u32>,
122    @builtin(workgroup_id) workgroup_id : vec3<u32>,
123    @builtin(local_invocation_index) local_idx : u32,
124    @builtin(local_invocation_id) local_id : vec3<u32>`:`@builtin(global_invocation_id) global_id : vec3<u32>,
125                                             @builtin(local_invocation_id) local_id : vec3<u32>,
126    @builtin(local_invocation_index) local_idx : u32,
127    @builtin(workgroup_id) workgroup_id : vec3<u32>,
128    @builtin(num_workgroups) num_workgroups : vec3<u32>`}) {
129    ${L?`let global_idx = global_id.x;
130         let workgroup_index = workgroup_id.x;`:`let workgroup_index = workgroup_id.z * num_workgroups[0] * num_workgroups[1] +
131             workgroup_id.y * num_workgroups[0] + workgroup_id.x;
132         let global_idx = workgroup_index * ${I*x*N}u + local_idx;`}
133  `}appendVariableUniforms(f){f.rank!==0&&(f.shape.startsWith("uniforms.")&&this.uniforms.push({name:f.shape.replace("uniforms.",""),type:"u32",length:f.rank}),f.strides.startsWith("uniforms.")&&this.uniforms.push({name:f.strides.replace("uniforms.",""),type:"u32",length:f.rank}))}declareVariable(f,I){if(f.usage==="internal")throw new Error("cannot use internal variable with declareVariable(). use registerInternalVariables() instead.");this.variables.push(f),this.appendVariableUniforms(f);let x=f.usage==="input"?"read":"read_write",N=f.usage==="atomicOutput"?"atomic<i32>":f.type.storage;return`@group(0) @binding(${I}) var<storage, ${x}> ${f.name}: array<${N}>;`}declareVariables(...f){return f.map(I=>this.declareVariable(I,this.variableIndex++)).join(`
134`)}registerInternalVariable(f){if(f.usage!=="internal")throw new Error("cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.");this.internalVariables.push(f),this.appendVariableUniforms(f)}registerInternalVariables(...f){return f.forEach(I=>this.registerInternalVariable(I)),this}registerUniform(f,I,x=1){return this.uniforms.push({name:f,type:I,length:x}),this}registerUniforms(f){return this.uniforms=this.uniforms.concat(f),this}uniformDeclaration(){if(this.uniforms.length===0)return"";let f=[];for(let{name:I,type:x,length:N}of this.uniforms)if(N&&N>4)x==="f16"?f.push(`@align(16) ${I}:array<mat2x4<${x}>, ${Math.ceil(N/8)}>`):f.push(`${I}:array<vec4<${x}>, ${Math.ceil(N/4)}>`);else{let L=N==null||N===1?x:`vec${N}<${x}>`;f.push(`${I}:${L}`)}return`
135      struct Uniforms { ${f.join(", ")} };
136      @group(0) @binding(${this.variableIndex}) var<uniform> uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(f=>f.impl()).join(`
137`)+this.internalVariables.map(f=>f.impl()).join(`
138`)}get variablesInfo(){if(this.uniforms.length===0)return;let f=I=>[12,10,1,6][["u32","f16","f32","i32"].indexOf(I)];return this.uniforms.map(I=>[f(I.type),I.length??1])}},ks=(f,I)=>new Ds(f,I)}),h0=me(()=>{hr(),yr(),va(),Qr(),os=(f,I)=>{if(!f||f.length!==1)throw new Error("Transpose requires 1 input.");if(I.length!==0&&I.length!==f[0].dims.length)throw new Error(`perm size ${I.length} does not match input rank ${f[0].dims.length}`)},Tr=(f,I)=>I.length!==0?I:[...new Array(f).keys()].reverse(),As=(f,I)=>gt.sortBasedOnPerm(f,Tr(f.length,I)),yi=(f,I,x,N)=>{let L=`fn perm(i: ${N.type.indices}) -> ${x.type.indices} {
139    var a: ${x.type.indices};`;for(let j=0;j<I;++j)L+=`a[${f[j]}]=i[${j}];`;return L+"return a;}"},Da=(f,I)=>{let x=[],N=[];for(let L=0;L<f.length;++L)f[L]!==1&&x.push(f[L]),f[I[L]]!==1&&N.push(I[L]);return{newShape:x,newPerm:N}},Qn=(f,I)=>{let x=0;for(let N=0;N<f.length;++N)if(I[f[N]]!==1){if(f[N]<x)return!1;x=f[N]}return!0},$s=(f,I)=>{let x,N=f.dataType,L=f.dims.length,j=Tr(L,I),Y=As(f.dims,j),Ae=f.dims,se=Y;if(L<2||Qn(j,f.dims))return x=Te=>{let Oe=Yt("input",N,Ae,4),Ke=TA("output",N,se,4);return`
140  ${Te.registerUniform("output_size","u32").declareVariables(Oe,Ke)}
141  ${Te.mainStart()}
142    ${Te.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
143    output[global_idx] = input[global_idx];
144  }`},{name:"TransposeCopy",shaderCache:{inputDependencies:["type"]},getRunData:()=>{let Te=gt.size(Y);return{outputs:[{dims:Y,dataType:f.dataType}],dispatchGroup:{x:Math.ceil(Te/64/4)},programUniforms:[{type:12,data:Math.ceil(Te/4)}]}},getShaderSource:x};let{newShape:ne,newPerm:ye}=Da(f.dims,j),Be=gt.areEqual(ye,[2,3,1]),te=gt.areEqual(ye,[3,1,2]);if(ne.length===2||Be||te){Ae=Be?[ne[0],ne[1]*ne[2]]:te?[ne[0]*ne[1],ne[2]]:ne,se=[Ae[1],Ae[0]];let Te=16;return x=Oe=>{let Ke=Yt("a",N,Ae.length),Re=TA("output",N,se.length);return`
145  ${Oe.registerUniform("output_size","u32").declareVariables(Ke,Re)}
146  var<workgroup> tile : array<array<${Re.type.value}, ${Te+1}>, ${Te}>;
147  ${Oe.mainStart([Te,Te,1])}
148    let stride = (uniforms.output_shape[1] - 1) / ${Te} + 1;
149    let workgroup_id_x = workgroup_index % stride;
150    let workgroup_id_y = workgroup_index / stride;
151    let input_col = workgroup_id_y * ${Te}u + local_id.x;
152    let input_row = workgroup_id_x * ${Te}u + local_id.y;
153    if (input_row < uniforms.a_shape[0] && input_col < uniforms.a_shape[1]) {
154      tile[local_id.y][local_id.x] = ${Ke.getByIndices(`${Ke.type.indices}(input_row, input_col)`)};
155    }
156    workgroupBarrier();
157
158    let output_col = workgroup_id_x * ${Te}u + local_id.x;
159    let output_row = workgroup_id_y * ${Te}u + local_id.y;
160    if (output_row < uniforms.output_shape[0] && output_col < uniforms.output_shape[1]) {
161      ${Re.setByIndices(`${Re.type.indices}(output_row, output_col)`,"tile[local_id.x][local_id.y]")}
162    }
163  }`},{name:"TransposeShared",shaderCache:{inputDependencies:["type"]},getRunData:()=>{let Oe=gt.size(Y);return{outputs:[{dims:Y,dataType:f.dataType}],dispatchGroup:{x:Math.ceil(se[1]/Te),y:Math.ceil(se[0]/Te)},programUniforms:[{type:12,data:Oe},..._A(Ae,se)]}},getShaderSource:x}}return x=Te=>{let Oe=Yt("a",N,Ae.length),Ke=TA("output",N,se.length);return`
164  ${Te.registerUniform("output_size","u32").declareVariables(Oe,Ke)}
165
166  ${yi(j,L,Oe,Ke)}
167
168  ${Te.mainStart()}
169    ${Te.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
170
171    let indices = ${Ke.offsetToIndices("global_idx")};
172    let aIndices = perm(indices);
173
174    ${Ke.setByOffset("global_idx",Oe.getByIndices("aIndices"))}
175  }`},{name:"Transpose",shaderCache:{hint:`${I}`,inputDependencies:["rank"]},getRunData:()=>{let Te=gt.size(Y);return{outputs:[{dims:Y,dataType:f.dataType}],dispatchGroup:{x:Math.ceil(Te/64)},programUniforms:[{type:12,data:Te},..._A(Ae,se)]}},getShaderSource:x}},Ei=(f,I)=>{os(f.inputs,I.perm),f.compute($s(f.inputs[0],I.perm))},or=f=>vt({perm:f.perm})}),d1=me(()=>{hr(),yr(),Qr(),e2(),h0(),ea={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate * candidate",logSumExp:"bestValue + exp(candidate)",l1:"bestValue + abs(candidate)",l2:"bestValue + candidate * candidate",logSum:"bestValue + candidate"},ta={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate",logSumExp:"bestValue + candidate",l1:"bestValue + candidate",l2:"bestValue + candidate",logSum:"bestValue + candidate"},Fo={max:"_A[offset]",min:"_A[offset]",mean:"0",sum:"0",prod:"1",sumSquare:"0",logSumExp:"0",l1:"0",l2:"0",logSum:"0"},io={max:"bestValue",min:"bestValue",sum:"bestValue",prod:"bestValue",sumSquare:"bestValue",logSumExp:"log(bestValue)",l1:"bestValue",l2:"sqrt(bestValue)",logSum:"log(bestValue)"},ui=(f,I)=>{let x=[];for(let N=I-f;N<I;++N)x.push(N);return x},Fi=(f,I)=>{let x=[],N=f.length;for(let j=0;j<N;j++)I.indexOf(j)===-1&&x.push(f[j]);let L=I.map(j=>f[j]);return[x,L]},Wn=(f,I)=>{let x=f.length+I.length,N=[],L=0;for(let j=0;j<x;j++)I.indexOf(j)===-1?N.push(f[L++]):N.push(1);return N},Un=(f,I)=>{for(let x=0;x<f.length;++x)if(f[f.length-x-1]!==I-1-x)return!1;return!0},Lo=(f,I)=>{let x=[];if(!Un(f,I)){for(let N=0;N<I;++N)f.indexOf(N)===-1&&x.push(N);f.forEach(N=>x.push(N))}return x},vn=(f,I,x,N,L,j,Y)=>{let Ae=x[0].dims,se=gt.size(j),ne=gt.size(Y),ye=Yt("_A",x[0].dataType,Ae),Be=TA("output",L,j),te=64;se===1&&(te=256);let Te=`
176          var<workgroup> aBestValues : array<f32, ${te}>;
177       `;return{name:f,shaderCache:{hint:`${I};${te}`,inputDependencies:["type"]},getShaderSource:Oe=>`
178        ${Oe.registerUniform("reduceSize","u32").declareVariables(ye,Be)}
179        ${Te}
180        fn DIV_CEIL(a : u32, b : u32) -> u32 {
181          return ((a - 1u) / b + 1u);
182         }
183         ${Oe.mainStart(te)}
184
185          let outputIndex = global_idx / ${te};
186          let offset = outputIndex * uniforms.reduceSize;
187
188          var bestValue = f32(${Fo[N]});
189          let Length = uniforms.reduceSize;
190          for (var k = local_idx; k < Length; k = k + ${te}) {
191           let candidate = f32(${ye.getByOffset("offset + k")});
192           bestValue = ${ea[N]};
193          }
194          aBestValues[local_idx] = bestValue;
195          workgroupBarrier();
196
197         var reduceSize = min(Length, ${te}u);
198         for (var currentSize = reduceSize / 2u; reduceSize > 1u;
199             currentSize = reduceSize / 2u) {
200           let interval = DIV_CEIL(reduceSize, 2u);
201           if (local_idx < currentSize) {
202            let candidate = aBestValues[local_idx + interval];
203            bestValue = ${ta[N]};
204            aBestValues[local_idx] = bestValue;
205           }
206           reduceSize = interval;
207           workgroupBarrier();
208         }
209
210         if (local_idx == 0u) {
211          ${Be.setByOffset("outputIndex",N==="mean"?`${Be.type.storage}(bestValue / f32(uniforms.reduceSize))`:`${Be.type.storage}(${io[N]})`)};
212         }
213        }`,getRunData:()=>({outputs:[{dims:j,dataType:L}],dispatchGroup:{x:se},programUniforms:[{type:12,data:ne}]})}},Sa=(f,I,x,N)=>{let L=f.inputs.length===1?x:Yi(f.inputs,x),j=L.axes;j.length===0&&!L.noopWithEmptyAxes&&(j=f.inputs[0].dims.map((Te,Oe)=>Oe));let Y=gt.normalizeAxes(j,f.inputs[0].dims.length),Ae=Y,se=f.inputs[0],ne=Lo(Ae,f.inputs[0].dims.length);ne.length>0&&(se=f.compute($s(f.inputs[0],ne),{inputs:[0],outputs:[-1]})[0],Ae=ui(Ae.length,se.dims.length));let[ye,Be]=Fi(se.dims,Ae),te=ye;L.keepDims&&(te=Wn(ye,Y)),f.compute(vn(I,L.cacheKey,[se],N,f.inputs[0].dataType,te,Be),{inputs:[se]})},Ns=(f,I)=>{Sa(f,"ReduceMeanShared",I,"mean")},BA=(f,I)=>{Sa(f,"ReduceL1Shared",I,"l1")},Aa=(f,I)=>{Sa(f,"ReduceL2Shared",I,"l2")},Li=(f,I)=>{Sa(f,"ReduceLogSumExpShared",I,"logSumExp")},Vi=(f,I)=>{Sa(f,"ReduceMaxShared",I,"max")},Go=(f,I)=>{Sa(f,"ReduceMinShared",I,"min")},Kn=(f,I)=>{Sa(f,"ReduceProdShared",I,"prod")},Vo=(f,I)=>{Sa(f,"ReduceSumShared",I,"sum")},Hi=(f,I)=>{Sa(f,"ReduceSumSquareShared",I,"sumSquare")},Bi=(f,I)=>{Sa(f,"ReduceLogSumShared",I,"logSum")}}),e2=me(()=>{hr(),yr(),va(),Qr(),d1(),ca=f=>{if(!f||f.length===0||f.length>2)throw new Error("Reduce op requires 1 or 2 inputs.");if(f.length===2&&f[1].dims.length!==1)throw new Error("Invalid axes input dims.")},Wr=f=>["","",`var value = ${f.getByIndices("input_indices")};`,""],xi=(f,I,x,N,L,j,Y=!1,Ae=!1)=>{let se=[],ne=x[0].dims,ye=ne.length,Be=gt.normalizeAxes(L,ye),te=!Ae&&Be.length===0;ne.forEach((Ke,Re)=>{te||Be.indexOf(Re)>=0?Y&&se.push(1):se.push(Ke)});let Te=se.length,Oe=gt.size(se);return{name:f,shaderCache:I,getShaderSource:Ke=>{let Re=[],et=Yt("_A",x[0].dataType,ye),ft=TA("output",j,Te),bt=N(et,ft,Be),Mt=bt[2];for(let Dt=0,Nt=0;Dt<ye;Dt++)te||Be.indexOf(Dt)>=0?(Y&&Nt++,Mt=`for(var j${Dt}: u32 = 0; j${Dt} < ${ne[Dt]}; j${Dt}++) {
214                  ${bt[2].includes("last_index")?`let last_index = j${Dt};`:""}
215                  ${et.indicesSet("input_indices",Dt,`j${Dt}`)}
216                  ${Mt}
217                }`):(Re.push(`${et.indicesSet("input_indices",Dt,ft.indicesGet("output_indices",Nt))};`),Nt++);return`
218
219        ${Ke.registerUniform("output_size","u32").declareVariables(et,ft)}
220
221        ${Ke.mainStart()}
222          ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
223          var input_indices: ${et.type.indices};
224          let output_indices = ${ft.offsetToIndices("global_idx")};
225
226          ${Re.join(`
227`)}
228          ${bt[0]}       // init ops for reduce max/min
229          ${bt[1]}
230          ${Mt}
231          ${bt[3]}
232          ${bt.length===4?ft.setByOffset("global_idx","value"):bt.slice(4).join(`
233`)}
234        }`},getRunData:()=>({outputs:[{dims:se,dataType:j}],dispatchGroup:{x:Math.ceil(Oe/64)},programUniforms:[{type:12,data:Oe},..._A(ne,se)]})}},Yi=(f,I)=>{let x=[];return f[1].dims[0]>0&&f[1].getBigInt64Array().forEach(N=>x.push(Number(N))),vt({axes:x,keepDims:I.keepDims,noopWithEmptyAxes:I.noopWithEmptyAxes})},Gs=(f,I,x,N)=>{let L=f.inputs,j=L.length===1?x:Yi(L,x);f.compute(xi(I,{hint:j.cacheKey,inputDependencies:["rank"]},[L[0]],j.noopWithEmptyAxes&&j.axes.length===0?Wr:N,j.axes,L[0].dataType,j.keepDims,j.noopWithEmptyAxes),{inputs:[0]})},fi=(f,I)=>{ca(f.inputs),Gs(f,"ReduceLogSum",I,(x,N)=>[`var value = ${N.type.storage}(0);`,"",`value += ${x.getByIndices("input_indices")};`,"value = log(value);"])},An=(f,I)=>{ca(f.inputs),Gs(f,"ReduceL1",I,(x,N)=>[`var value = ${N.type.storage}(0);`,"",`value += abs(${x.getByIndices("input_indices")});`,""])},Zn=(f,I)=>{ca(f.inputs),Gs(f,"ReduceL2",I,(x,N)=>[`var t = ${N.type.value}(0); var value = ${N.type.value}(0);`,"",`t = ${x.getByIndices("input_indices")}; value += (t * t);`,"value = sqrt(value);"])},Mi=(f,I)=>{ca(f.inputs),Gs(f,"ReduceLogSumExp",I,(x,N)=>[`var value = ${N.type.storage}(0);`,"",`value += exp(${x.getByIndices("input_indices")});`,"value = log(value);"])},Pn=(f,I)=>{ca(f.inputs),Gs(f,"ReduceMax",I,(x,N,L)=>{let j=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&j.push(x.indicesSet("input_indices",Y,0));return[`${j.join(`
235`)}`,`var value = ${x.getByIndices("input_indices")};`,`value = max(value, ${x.getByIndices("input_indices")});`,""]})},oo=(f,I)=>{ca(f.inputs),Gs(f,"ReduceMean",I,(x,N,L)=>{let j=1;for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&(j*=f.inputs[0].dims[Y]);return["var sum = f32(0);","",`sum += f32(${x.getByIndices("input_indices")});`,`let value = ${N.type.value}(sum / ${j});`]})},_o=(f,I)=>{ca(f.inputs),Gs(f,"ReduceMin",I,(x,N,L)=>{let j=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&j.push(`input_indices[${Y}] = 0;`);return[`${j.join(`
236`)}`,`var value = ${x.getByIndices("input_indices")};`,`value = min(value, ${x.getByIndices("input_indices")});`,""]})},Sn=(f,I)=>{ca(f.inputs),Gs(f,"ReduceProd",I,(x,N)=>[`var value = ${N.type.storage}(1);`,"",`value *= ${x.getByIndices("input_indices")};`,""])},uA=(f,I)=>{ca(f.inputs),Gs(f,"ReduceSum",I,(x,N)=>[`var value = ${N.type.storage}(0);`,"",`value += ${x.getByIndices("input_indices")};`,""])},yn=(f,I)=>{ca(f.inputs),Gs(f,"ReduceSumSquare",I,(x,N)=>[`var t = ${N.type.value}(0); var value = ${N.type.value}(0);`,"",`t = ${x.getByIndices("input_indices")}; value += t * t;`,""])},kA=(f,I,x)=>{if(I.length===0)return x;let N=1,L=1;for(let j=0;j<I.length;j++)I.indexOf(j)===-1?N*=f[j]:L*=f[j];return L<32&&N>1024},lo=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?oo(f,I):Ns(f,I)},co=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?An(f,I):BA(f,I)},ra=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?Zn(f,I):Aa(f,I)},js=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?Mi(f,I):Li(f,I)},Nn=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?Pn(f,I):Vi(f,I)},di=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?_o(f,I):Go(f,I)},uo=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?Sn(f,I):Kn(f,I)},_s=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?uA(f,I):Vo(f,I)},Xn=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?yn(f,I):Hi(f,I)},Ho=(f,I)=>{kA(f.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?fi(f,I):Bi(f,I)}}),g1=me(()=>{hr(),va(),e2(),En=f=>{if(!f||f.length===0||f.length>2)throw new Error("ArgMinMaxOp op requires 1 or 2 inputs.");if(f[0].dataType!==1)throw new Error("Invalid input type.")},un=(f,I)=>{En(f.inputs),f.compute(xi("ArgMin",{hint:I.cacheKey,inputDependencies:["rank"]},[f.inputs[0]],(x,N,L)=>{let j=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&j.push(`input_indices[${Y}] = 0;`);return[`${j.join(`
237`)}`,`var value = ${x.getByIndices("input_indices")};
238var best_index : i32 = 0;`,`if (${x.getByIndices("input_indices")} ${I.selectLastIndex>0?"<=":"<"} value) {
239         value = ${x.getByIndices("input_indices")};
240         best_index = i32(last_index);
241       }`,"",N.setByOffset("global_idx","best_index")]},[I.axis],7,I.keepDims),{inputs:[0]})},Ri=(f,I)=>{En(f.inputs),f.compute(xi("argMax",{hint:I.cacheKey,inputDependencies:["rank"]},[f.inputs[0]],(x,N,L)=>{let j=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&j.push(`input_indices[${Y}] = 0;`);return[`${j.join(`
242`)}`,`var value = ${x.getByIndices("input_indices")};
243var best_index : i32 = 0;`,`if (${x.getByIndices("input_indices")} ${I.selectLastIndex>0?">=":">"} value) {
244         value = ${x.getByIndices("input_indices")};
245         best_index = i32(last_index);
246       }`,"",N.setByOffset("global_idx","best_index")]},[I.axis],7,I.keepDims),{inputs:[0]})},Di=f=>vt(f)}),t2=me(()=>{hr(),yr(),$c(),Qr(),gi=(f,I)=>{let x=f[0],N=f[1],L=f[2],j=f[3],Y=f[4],Ae=f[5];if(Y&&Ae)throw new Error("Attention cannot have both past and attention_bias");if(x.dims.length!==3)throw new Error('Input "input" must have 3 dimensions');let se=x.dims[0],ne=x.dims[1],ye=x.dims[2];if(L.dims.length!==1)throw new Error('Input "bias" is expected to have 1 dimensions');if(N.dims.length!==2)throw new Error('Input "weights" is expected to have 2 dimensions');if(N.dims[0]!==ye)throw new Error("Input 1 dimension 0 should have same length as dimension 2 of input 0");if(L.dims[0]!==N.dims[1])throw new Error('Input "bias" dimension 0 should have same length as dimension 1 of input "weights"');let Be=L.dims[0]/3,te=Be,Te=te;if(I.qkvHiddenSizes.length>0){if(I.qkvHiddenSizes.length!==3)throw new Error("qkv_hidden_sizes attribute should have 3 elements");for(let et of I.qkvHiddenSizes)if(et%I.numHeads!=0)throw new Error("qkv_hidden_sizes should be divisible by num_heads");Be=I.qkvHiddenSizes[0],te=I.qkvHiddenSizes[1],Te=I.qkvHiddenSizes[2]}let Oe=ne;if(Be!==te)throw new Error("qkv_hidden_sizes first element should be same as the second");if(L.dims[0]!==Be+te+Te)throw new Error('Input "bias" dimension 0 should have same length as sum of Q/K/V hidden sizes');let Ke=0;if(Y){if(te!==Te)throw new Error('Input "past" expect k_hidden_size == v_hidden_size');if(Y.dims.length!==5)throw new Error('Input "past" must have 5 dimensions');if(Y.dims[0]!==2)throw new Error('Input "past" first dimension must be 2');if(Y.dims[1]!==se)throw new Error('Input "past" second dimension must be batch_size');if(Y.dims[2]!==I.numHeads)throw new Error('Input "past" third dimension must be num_heads');if(Y.dims[4]!==te/I.numHeads)throw new Error('Input "past" fifth dimension must be k_hidden_size / num_heads');I.pastPresentShareBuffer||(Ke=Y.dims[3])}let Re=Oe+Ke;if(j)throw new Error("Mask not supported");if(Y)throw new Error("past is not supported");if(Ae){if(Ae.dims.length!==4)throw new Error('Input "attention_bias" must have 4 dimensions');if(Ae.dims[0]!==se||Ae.dims[1]!==I.numHeads||Ae.dims[2]!==ne||Ae.dims[3]!==Re)throw new Error('Expect "attention_bias" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:se,sequenceLength:ne,pastSequenceLength:Ke,kvSequenceLength:Oe,totalSequenceLength:Re,maxSequenceLength:-1,inputHiddenSize:ye,hiddenSize:Be,vHiddenSize:Te,headSize:Math.floor(Be/I.numHeads),vHeadSize:Math.floor(Te/I.numHeads),numHeads:I.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:I.maskFilterValue,maskType:0,scale:I.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},wA=(f,I,x)=>I&&f?`
247      let total_sequence_length_input = u32(${I.getByOffset("0")});
248      let present_sequence_length = max(total_sequence_length_input, uniforms.past_sequence_length);
249      let is_subsequent_prompt: bool = sequence_length > 1 && sequence_length != total_sequence_length_input;
250      let is_first_prompt: bool = is_subsequent_prompt == false && sequence_length == total_sequence_length_input;
251      total_sequence_length = u32(${f==null?void 0:f.getByOffset("batchIdx")}) + 1;
252      var past_sequence_length: u32 = 0;
253      if (is_first_prompt == false) {
254        past_sequence_length = total_sequence_length - sequence_length;
255      }
256       `:`
257    ${x?"let past_sequence_length = uniforms.past_sequence_length":""};
258    let present_sequence_length = total_sequence_length;
259    `,ua=(f,I,x,N,L,j,Y,Ae)=>{let se=_r(Y?1:j),ne=64,ye=j/se;ye<ne&&(ne=32);let Be=Math.ceil(j/se/ne),te=[{type:12,data:I},{type:12,data:x},{type:12,data:N},{type:12,data:L},{type:12,data:ye},{type:12,data:Be}],Te=ir(f.dataType,se),Oe=IA(1,se),Ke=["type"];return Y&&Ke.push("type"),Ae&&Ke.push("type"),{name:"AttentionProbsSoftmax",shaderCache:{hint:`${ne};${Te};${se}`,inputDependencies:Ke},getShaderSource:Re=>{let et=TA("x",f.dataType,f.dims,se),ft=[et],bt=Y?Yt("seq_lens",Y.dataType,Y.dims):void 0;bt&&ft.push(bt);let Mt=Ae?Yt("total_sequence_length_input",Ae.dataType,Ae.dims):void 0;Mt&&ft.push(Mt);let Dt=IA(f.dataType);return`
260  var<workgroup> thread_max: array<f32, ${ne}>;
261  var<workgroup> thread_sum: array<f32, ${ne}>;
262  ${Re.registerUniforms([{name:"batch_size",type:"u32"},{name:"num_heads",type:"u32"},{name:"past_sequence_length",type:"u32"},{name:"sequence_length",type:"u32"},{name:"total_sequence_length",type:"u32"},{name:"elements_per_thread",type:"u32"}]).declareVariables(...ft)}
263  ${Re.mainStart([ne,1,1])}
264    let batchIdx = workgroup_id.z / uniforms.num_heads;
265    let headIdx = workgroup_id.z % uniforms.num_heads;
266    let sequence_length = uniforms.sequence_length;
267    var total_sequence_length = uniforms.total_sequence_length;
268    ${wA(bt,Mt,!1)}
269    let local_offset = local_idx * uniforms.elements_per_thread;
270    let offset = (global_idx / ${ne}) * uniforms.total_sequence_length + local_offset;
271    let seq_causal_length = ${Y?"u32(past_sequence_length + workgroup_id.y + 1)":"total_sequence_length"};
272    var thread_max_vector = ${Oe}(-3.402823e+38f);
273    for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
274      thread_max_vector = max(${Oe}(x[offset + i]), thread_max_vector);
275    }
276    thread_max[local_idx] = ${(()=>{switch(se){case 1:return"thread_max_vector";case 2:return"max(thread_max_vector.x, thread_max_vector.y)";case 4:return"max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))";default:throw new Error(`Unsupported components: ${se}`)}})()};
277    workgroupBarrier();
278
279    var max_value =  f32(-3.402823e+38f);
280    for (var i = 0u; i < ${ne}; i++) {
281      max_value = max(thread_max[i], max_value);
282    }
283
284    var sum_vector = ${Oe}(0);
285    for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
286      sum_vector += exp(${Oe}(x[offset + i]) - max_value);
287    }
288    thread_sum[local_idx] = ${(()=>{switch(se){case 1:return"sum_vector";case 2:return"sum_vector.x + sum_vector.y";case 4:return"sum_vector.x + sum_vector.y + sum_vector.z + sum_vector.w";default:throw new Error(`Unsupported components: ${se}`)}})()};
289    workgroupBarrier();
290
291    var sum: f32 = 0;
292    for (var i = 0u; i < ${ne}; i++) {
293      sum += thread_sum[i];
294    }
295
296    if (sum == 0) {
297      for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
298        x[offset + i] = ${et.type.value}(${Dt}(1.0) / ${Dt}(seq_causal_length));
299      }
300    } else {
301      for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
302        var f32input = ${Oe}(x[offset + i]);
303        x[offset + i] = ${et.type.value}(exp(f32input - max_value) / sum);
304      }
305    }
306      ${Y?`
307        for (var total_seq_id: u32 = seq_causal_length; total_seq_id + local_offset < uniforms.total_sequence_length; total_seq_id++) {
308          x[offset + total_seq_id] = ${et.type.value}(${Dt}(0));
309        }`:""};
310  }`},getRunData:()=>({outputs:[],dispatchGroup:{x:Math.ceil(j/ne),y:L,z:I*x},programUniforms:te})}},To=(f,I,x,N,L,j,Y,Ae,se)=>{let ne=Y+j.kvSequenceLength,ye=[j.batchSize,j.numHeads,j.sequenceLength,ne],Be=f>1&&N,te=j.kvNumHeads?j.kvNumHeads:j.numHeads,Te=Be?[j.batchSize,te,ne,j.headSize]:void 0,Oe=j.nReps?j.nReps:1,Ke=j.scale===0?1/Math.sqrt(j.headSize):j.scale,Re=_r(j.headSize),et=j.headSize/Re,ft=12,bt={x:Math.ceil(ne/ft),y:Math.ceil(j.sequenceLength/ft),z:j.batchSize*j.numHeads},Mt=[{type:12,data:j.sequenceLength},{type:12,data:et},{type:12,data:ne},{type:12,data:j.numHeads},{type:12,data:j.headSize},{type:1,data:Ke},{type:12,data:Y},{type:12,data:j.kvSequenceLength},{type:12,data:Oe}],Dt=Be&&N&&gt.size(N.dims)>0,Nt=["type","type"];Dt&&Nt.push("type"),L&&Nt.push("type"),Ae&&Nt.push("type"),se&&Nt.push("type");let hA=[{dims:ye,dataType:I.dataType,gpuDataType:0}];return Be&&hA.push({dims:Te,dataType:I.dataType,gpuDataType:0}),{name:"AttentionProbs",shaderCache:{hint:`${Re};${L!==void 0};${N!==void 0};${f}`,inputDependencies:Nt},getRunData:()=>({outputs:hA,dispatchGroup:bt,programUniforms:Mt}),getShaderSource:xA=>{let er=Yt("q",I.dataType,I.dims,Re),tr=[er,Yt("key",x.dataType,x.dims,Re)];if(Dt){let UA=Yt("past_key",N.dataType,N.dims,Re);tr.push(UA)}L&&tr.push(Yt("attention_bias",L.dataType,L.dims));let qr=Ae?Yt("seq_lens",Ae.dataType,Ae.dims):void 0;qr&&tr.push(qr);let Ar=se?Yt("total_sequence_length_input",se.dataType,se.dims):void 0;Ar&&tr.push(Ar);let Ir=TA("output",I.dataType,ye),mr=[Ir];Be&&mr.push(TA("present_key",I.dataType,Te,Re));let Lt=IA(1,Re);return`
311  const TILE_SIZE = 12u;
312
313  var<workgroup> tileQ: array<${er.type.storage}, 144>;
314  var<workgroup> tileK: array<${er.type.storage}, 144>;
315  ${xA.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"alpha",type:"f32"},{name:"past_sequence_length",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"n_reps",type:"u32"}]).declareVariables(...tr,...mr)}
316  ${xA.mainStart([ft,ft,1])}
317    // x holds the N and y holds the M
318    let headIdx = workgroup_id.z % uniforms.num_heads;
319    let kvHeadIdx = ${Oe===1?"headIdx":"headIdx / uniforms.n_reps"};
320    let kv_num_heads = ${Oe===1?"uniforms.num_heads":"uniforms.num_heads / uniforms.n_reps"};
321    let batchIdx = workgroup_id.z / uniforms.num_heads;
322    let m = workgroup_id.y * TILE_SIZE;
323    let n = workgroup_id.x * TILE_SIZE;
324    let sequence_length = uniforms.M;
325    var total_sequence_length = uniforms.N;
326    ${wA(qr,Ar,!0)}
327    let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx;
328    let qOffset = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;
329    ${Dt&&Be?"let pastKeyOffset = absKvHeadIdx * uniforms.past_sequence_length * uniforms.K;":""};
330    let kOffset = absKvHeadIdx * uniforms.kv_sequence_length * uniforms.K;
331    ${Be?"let presentKeyOffset = absKvHeadIdx * uniforms.N * uniforms.K;":""}
332    var value = ${Lt}(0);
333    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
334      if (global_id.y < uniforms.M && w + local_id.x < uniforms.K) {
335        tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];
336      }
337      if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {
338        var idx = TILE_SIZE * local_id.y + local_id.x;
339      ${Dt&&Be?`
340              if (n + local_id.y < past_sequence_length) {
341                tileK[idx] = past_key[pastKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x];
342              } else if (n + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {
343                tileK[idx] = key[kOffset + (n + local_id.y - past_sequence_length) * uniforms.K + w + local_id.x];
344              }`:`
345          if (n + local_id.y < uniforms.kv_sequence_length) {
346            tileK[idx] = key[kOffset + (n + local_id.y) * uniforms.K + w + local_id.x];
347          }`}
348      ${Be?`if (n + local_id.y < present_sequence_length) {
349        present_key[presentKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x] = tileK[idx];
350      }`:""}
351      }
352      workgroupBarrier();
353
354      for (var k: u32 = 0u; k < TILE_SIZE && w+k < uniforms.K; k++) {
355          value += ${Lt}(tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * local_id.x + k]);
356      }
357
358      workgroupBarrier();
359    }
360
361    if (global_id.y < uniforms.M && global_id.x < total_sequence_length) {
362      let headOffset = workgroup_id.z * uniforms.M * uniforms.N;
363      let outputIdx = headOffset + global_id.y * uniforms.N + global_id.x;
364      var sum: f32 = ${(()=>{switch(Re){case 1:return"value";case 2:return"value.x + value.y";case 4:return"value.x + value.y + value.z + value.w";default:throw new Error(`Unsupported components: ${Re}`)}})()};
365        output[outputIdx] = ${Ir.type.value} (sum * uniforms.alpha) + ${L?"attention_bias[outputIdx]":"0.0"};
366    }
367  }`}}},qn=(f,I,x,N,L,j,Y=void 0,Ae=void 0)=>{let se=j+L.kvSequenceLength,ne=L.nReps?L.nReps:1,ye=L.vHiddenSize*ne,Be=f>1&&N,te=L.kvNumHeads?L.kvNumHeads:L.numHeads,Te=Be?[L.batchSize,te,se,L.headSize]:void 0,Oe=[L.batchSize,L.sequenceLength,ye],Ke=12,Re={x:Math.ceil(L.vHeadSize/Ke),y:Math.ceil(L.sequenceLength/Ke),z:L.batchSize*L.numHeads},et=[{type:12,data:L.sequenceLength},{type:12,data:se},{type:12,data:L.vHeadSize},{type:12,data:L.numHeads},{type:12,data:L.headSize},{type:12,data:ye},{type:12,data:j},{type:12,data:L.kvSequenceLength},{type:12,data:ne}],ft=Be&&N&&gt.size(N.dims)>0,bt=["type","type"];ft&&bt.push("type"),Y&&bt.push("type"),Ae&&bt.push("type");let Mt=[{dims:Oe,dataType:I.dataType,gpuDataType:0}];return Be&&Mt.push({dims:Te,dataType:I.dataType,gpuDataType:0}),{name:"AttentionScore",shaderCache:{hint:`${N!==void 0};${f}`,inputDependencies:bt},getRunData:()=>({outputs:Mt,dispatchGroup:Re,programUniforms:et}),getShaderSource:Dt=>{let Nt=Yt("probs",I.dataType,I.dims),hA=[Nt,Yt("v",x.dataType,x.dims)];ft&&hA.push(Yt("past_value",N.dataType,N.dims));let xA=Y?Yt("seq_lens",Y.dataType,Y.dims):void 0;Y&&hA.push(xA);let er=Ae?Yt("total_sequence_length_input",Ae.dataType,Ae.dims):void 0;Ae&&hA.push(er);let tr=[TA("output",I.dataType,Oe)];return Be&&tr.push(TA("present_value",I.dataType,Te)),`
368  const TILE_SIZE = 12u;
369  var<workgroup> tileQ: array<${Nt.type.value}, 144>;
370  var<workgroup> tileV: array<${Nt.type.value}, 144>;
371  ${Dt.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"v_hidden_size",type:"u32"},{name:"past_sequence_length",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"n_reps",type:"u32"}]).declareVariables(...hA,...tr)}
372  ${Dt.mainStart([Ke,Ke,1])}
373   let headIdx = workgroup_id.z % uniforms.num_heads;
374   let batchIdx = workgroup_id.z / uniforms.num_heads;
375   let kvHeadIdx = ${ne===1?"headIdx":"headIdx / uniforms.n_reps"};
376   let kv_num_heads = ${ne===1?"uniforms.num_heads":"uniforms.num_heads / uniforms.n_reps"};
377   let m = global_id.y;
378   let n = global_id.x;
379   let sequence_length = uniforms.M;
380   var total_sequence_length = uniforms.K;
381   ${wA(xA,er,!0)}
382   let offsetA = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;
383   let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx; // kvHeadIdx is relative to the batch
384   ${ft&&Be?"let pastValueOffset = absKvHeadIdx * uniforms.N * uniforms.past_sequence_length + n;":""};
385   let vOffset = absKvHeadIdx * uniforms.N * uniforms.kv_sequence_length + n;
386   ${Be?"let presentValueOffset = absKvHeadIdx * uniforms.N * uniforms.K + n;":""}
387   var value = ${Nt.type.storage}(0);
388   for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
389      if (m < uniforms.M && w + local_id.x < uniforms.K) {
390        tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];
391      }
392      if (n < uniforms.N && w + local_id.y < uniforms.K) {
393        var idx = TILE_SIZE * local_id.y + local_id.x;
394        ${ft&&Be?`
395        if (w + local_id.y < past_sequence_length) {
396          tileV[idx] = past_value[pastValueOffset + (w + local_id.y) * uniforms.N];
397        } else if (w + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {
398          tileV[idx] = v[vOffset + (w + local_id.y - past_sequence_length) * uniforms.N];
399        }
400      `:`
401            if (w + local_id.y < uniforms.kv_sequence_length) {
402              tileV[idx] = v[vOffset + (w + local_id.y) * uniforms.N];
403            }`}
404        ${Be?`
405            if (w + local_id.y < present_sequence_length) {
406          present_value[presentValueOffset + (w + local_id.y) * uniforms.N] = tileV[idx];
407        }`:""}
408      }
409     workgroupBarrier();
410     for (var k: u32 = 0u; k < TILE_SIZE && w+k < total_sequence_length; k++) {
411       value += tileQ[TILE_SIZE * local_id.y + k] * tileV[TILE_SIZE * k + local_id.x];
412     }
413     workgroupBarrier();
414   }
415
416   // we need to transpose output from BNSH_v to BSND_v
417   if (m < uniforms.M && n < uniforms.N) {
418     let outputIdx = batchIdx * uniforms.M * uniforms.v_hidden_size + m * uniforms.v_hidden_size
419       + headIdx * uniforms.N + n;
420     output[outputIdx] = value;
421   }
422  }`}}},fn=(f,I,x,N,L,j,Y,Ae,se,ne,ye=void 0,Be=void 0)=>{let te=Math.min(f.outputCount,1+(Y?1:0)+(Ae?1:0)),Te=te>1?ne.pastSequenceLength:0,Oe=Te+ne.kvSequenceLength,Ke=se&&gt.size(se.dims)>0?se:void 0,Re=[I,x];te>1&&Y&&gt.size(Y.dims)>0&&Re.push(Y),Ke&&Re.push(Ke),ye&&Re.push(ye),Be&&Re.push(Be);let et=f.compute(To(te,I,x,Y,Ke,ne,Te,ye,Be),{inputs:Re,outputs:te>1?[-1,1]:[-1]})[0];f.compute(ua(et,ne.batchSize,ne.numHeads,Te,ne.sequenceLength,Oe,ye,Be),{inputs:ye&&Be?[et,ye,Be]:[et],outputs:[]});let ft=[et,N];te>1&&Ae&&gt.size(Ae.dims)>0&&ft.push(Ae),ye&&ft.push(ye),Be&&ft.push(Be),f.compute(qn(te,et,N,Ae,ne,Te,ye,Be),{inputs:ft,outputs:te>1?[0,2]:[0]})},fo=(f,I)=>{let x=[I.batchSize,I.numHeads,I.sequenceLength,I.headSize],N=I.sequenceLength,L=I.inputHiddenSize,j=I.headSize,Y=12,Ae={x:Math.ceil(I.headSize/Y),y:Math.ceil(I.sequenceLength/Y),z:I.batchSize*I.numHeads},se=[f.inputs[0],f.inputs[1],f.inputs[2]],ne=[{type:12,data:N},{type:12,data:L},{type:12,data:j},{type:12,data:I.numHeads},{type:12,data:I.headSize},{type:12,data:I.hiddenSize},{type:12,data:I.hiddenSize+I.hiddenSize+I.vHiddenSize}];return f.compute({name:"AttentionPrepare",shaderCache:{inputDependencies:["type","type","type"]},getRunData:()=>({outputs:[{dims:x,dataType:f.inputs[0].dataType,gpuDataType:0},{dims:x,dataType:f.inputs[0].dataType,gpuDataType:0},{dims:x,dataType:f.inputs[0].dataType,gpuDataType:0}],dispatchGroup:Ae,programUniforms:ne}),getShaderSource:ye=>{let Be=TA("output_q",se[0].dataType,x),te=TA("output_k",se[0].dataType,x),Te=TA("output_v",se[0].dataType,x),Oe=Yt("input",se[0].dataType,se[0].dims),Ke=Yt("weight",se[1].dataType,se[1].dims),Re=Yt("bias",se[2].dataType,se[2].dims),et=Oe.type.storage;return`
423  const TILE_SIZE = 12u;
424  var<workgroup> tileInput: array<${et}, 144>;
425  var<workgroup> tileWeightQ: array<${et}, 144>;
426  var<workgroup> tileWeightK: array<${et}, 144>;
427  var<workgroup> tileWeightV: array<${et}, 144>;
428  ${ye.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"hidden_size",type:"u32"},{name:"ldb",type:"u32"}]).declareVariables(Oe,Ke,Re,Be,te,Te)}
429  ${ye.mainStart([Y,Y,1])}
430    let batchIndex = workgroup_id.z / uniforms.num_heads;
431    let headNumber = workgroup_id.z % uniforms.num_heads;
432    let m = global_id.y;
433    let n = global_id.x;
434
435    let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;
436    let biasOffsetQ = headNumber * uniforms.head_size;
437    let biasOffsetK = uniforms.hidden_size + biasOffsetQ;
438    let biasOffsetV = uniforms.hidden_size + biasOffsetK;
439
440    var valueQ = ${et}(0);
441    var valueK = ${et}(0);
442    var valueV = ${et}(0);
443    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
444      if (m < uniforms.M && w + local_id.x < uniforms.K) {
445        tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];
446      }
447      if (n < uniforms.N && w + local_id.y < uniforms.K) {
448        let offset = n + (w + local_id.y) * uniforms.ldb;
449        tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];
450        tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];
451        tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];
452      }
453      workgroupBarrier();
454      for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {
455        let inputTileOffset = TILE_SIZE * local_id.y + k;
456        let weightTileOffset = TILE_SIZE * k + local_id.x;
457        valueQ += tileInput[inputTileOffset] * tileWeightQ[weightTileOffset];
458        valueK += tileInput[inputTileOffset] * tileWeightK[weightTileOffset];
459        valueV += tileInput[inputTileOffset] * tileWeightV[weightTileOffset];
460      }
461
462      workgroupBarrier();
463    }
464
465    let headOffset = (m * uniforms.N + n) % uniforms.head_size;
466    valueQ += bias[headOffset + biasOffsetQ];
467    valueK += bias[headOffset + biasOffsetK];
468    valueV += bias[headOffset + biasOffsetV];
469
470    let offset = workgroup_id.z * uniforms.M * uniforms.N;
471    if (m < uniforms.M && n < uniforms.N) {
472      let outputIdx = offset + m * uniforms.N + n;
473      output_q[outputIdx] = valueQ;
474      output_k[outputIdx] = valueK;
475      output_v[outputIdx] = valueV;
476    }
477  }`}},{inputs:se,outputs:[-1,-1,-1]})},Yo=(f,I)=>{let x=gi(f.inputs,I),[N,L,j]=fo(f,x);return fn(f,N,L,j,f.inputs[4],void 0,void 0,void 0,f.inputs[5],x)}}),h1=me(()=>{lt(),hr(),yr(),va(),Qr(),go=(f,I)=>{if(!f||f.length!==5)throw new Error("BatchNormalization requires 5 inputs");let x=(N,L,j)=>{let Y=L.length;if(Y!==N.length)throw new Error(`${j}: num dimensions != ${Y}`);L.forEach((Ae,se)=>{if(Ae!==N[se])throw new Error(`${j}: dim[${se}] do not match`)})};if(f[0].dims.length>1){let N=I.format==="NHWC"?I.spatial?f[0].dims.slice(-1):f[0].dims.slice(-1).concat(f[0].dims.slice(1,f[0].dims.length-1)):f[0].dims.slice(1,I.spatial?2:void 0);x(f[1].dims,N,"Invalid input scale"),x(f[2].dims,N,"Invalid input B"),x(f[3].dims,N,"Invalid input mean"),x(f[4].dims,N,"Invalid input var")}else x(f[1].dims,[1],"Invalid input scale"),x(f[2].dims,[1],"Invalid input B"),x(f[3].dims,[1],"Invalid input mean"),x(f[4].dims,[1],"Invalid input var")},zn=(f,I)=>{let{epsilon:x,spatial:N,format:L}=I,j=f[0].dims,Y=N?_r(j[j.length-1]):1,Ae=L==="NHWC"&&j.length>1?Y:1,se=gt.size(j)/Y,ne=N,ye=ne?j.length:j,Be=Yt("x",f[0].dataType,f[0].dims,Y),te=Yt("scale",f[1].dataType,f[1].dims,Ae),Te=Yt("bias",f[2].dataType,f[2].dims,Ae),Oe=Yt("inputMean",f[3].dataType,f[3].dims,Ae),Ke=Yt("inputVar",f[4].dataType,f[4].dims,Ae),Re=TA("y",f[0].dataType,ye,Y);return{name:"BatchNormalization",shaderCache:{hint:`${I.epsilon}_${I.format}_${N}_${Y}`,inputDependencies:ne?["rank","type","type","type","type"]:void 0},getShaderSource:et=>`
478  const epsilon = ${x};
479  ${et.registerUniform("outputSize","u32").declareVariables(Be,te,Te,Oe,Ke,Re)}
480  ${et.mainStart()}
481  ${et.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
482    var outputIndices = ${Re.offsetToIndices(`global_idx * ${Y}`)};
483    ${(()=>{let ft="";if(N)ft=`let cOffset = ${j.length===1?"0u":L==="NHWC"?`outputIndices[${j.length-1}] / ${Y}`:"outputIndices[1]"};`;else if(L==="NCHW")ft=`
484            ${Re.indicesSet("outputIndices","0","0")}
485            let cOffset = ${Re.indicesToOffset("outputIndices")};`;else{ft=`var cIndices = ${te.type.indices}(0);
486                       cIndices[0] = outputIndices[${j.length-1}];`;for(let bt=1;bt<te.rank;bt++)ft+=`cIndices[${bt}] = outputIndices[${bt}];`;ft+=`let cOffset = ${te.indicesToOffset("cIndices")};`}return ft})()}
487    let scale = ${te.getByOffset("cOffset")};
488    let bias = ${Te.getByOffset("cOffset")};
489    let inputMean = ${Oe.getByOffset("cOffset")};
490    let inputVar = ${Ke.getByOffset("cOffset")};
491    let x = ${Be.getByOffset("global_idx")};
492    let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;
493    ${Re.setByOffset("global_idx","value")}
494  }`,getRunData:()=>({outputs:[{dims:f[0].dims,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:ne?[{type:12,data:se},..._A(j)]:[{type:12,data:se}]})}},ji=f=>vt(f),ho=(f,I)=>{let{inputs:x,outputCount:N}=f,L=ji({...I,outputCount:N});if(G.webgpu.validateInputContent&&go(x,L),I.trainingMode)throw new Error("BatchNormalization trainingMode is not supported yet.");f.compute(zn(x,L))}}),p1=me(()=>{yr(),Qr(),Ts=f=>{if(f[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![320,640,1280].includes(f[0].dims[2]))throw new Error("number of channels should be 320, 640 or 1280");if(f[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(f[0].dims[2]!==f[1].dims[0])throw new Error("last dimension of input and bias are not the same")},Ro=f=>{let I=f[0].dims,x=f[0].dims[2],N=gt.size(I)/4,L=f[0].dataType,j=Yt("input",L,I,4),Y=Yt("bias",L,[x],4),Ae=Yt("residual",L,I,4),se=TA("output",L,I,4);return{name:"BiasAdd",getRunData:()=>({outputs:[{dims:I,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(N/64)}}),getShaderSource:ne=>`
495  const channels = ${x}u / 4;
496  ${ne.declareVariables(j,Y,Ae,se)}
497
498  ${ne.mainStart()}
499    ${ne.guardAgainstOutOfBoundsWorkgroupSizes(N)}
500    let value = ${j.getByOffset("global_idx")}
501      + ${Y.getByOffset("global_idx % channels")} + ${Ae.getByOffset("global_idx")};
502    ${se.setByOffset("global_idx","value")}
503  }`}},Jn=f=>{Ts(f.inputs),f.compute(Ro(f.inputs))}}),A2=me(()=>{hr(),yr(),va(),Qr(),rr=(f,I,x,N,L,j,Y)=>{let Ae=Math.ceil(I/4),se="";se=typeof L=="string"?`${L}(a)`:L("a");let ne=Yt("inputData",x,[Ae],4),ye=TA("outputData",N,[Ae],4),Be=[{name:"vec_size",type:"u32"}];return Y&&Be.push(...Y),`
504      ${f.registerUniforms(Be).declareVariables(ne,ye)}
505
506  ${j??""}
507
508  ${f.mainStart()}
509    ${f.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
510
511    let a = ${ne.getByOffset("global_idx")};
512    ${ye.setByOffset("global_idx",se)}
513  }`},wr=(f,I,x,N,L,j=f.dataType,Y,Ae)=>{let se=[{type:12,data:Math.ceil(gt.size(f.dims)/4)}];return Y&&se.push(...Y),{name:I,shaderCache:{hint:L,inputDependencies:["type"]},getShaderSource:ne=>rr(ne,gt.size(f.dims),f.dataType,j,x,N,Ae),getRunData:ne=>({outputs:[{dims:f.dims,dataType:j}],dispatchGroup:{x:Math.ceil(gt.size(ne[0].dims)/64/4)},programUniforms:se})}},Gi=f=>{f.compute(wr(f.inputs[0],"Abs","abs"))},Na=f=>{f.compute(wr(f.inputs[0],"Acos","acos"))},po=f=>{f.compute(wr(f.inputs[0],"Acosh","acosh"))},Ws=f=>{f.compute(wr(f.inputs[0],"Asin","asin"))},On=f=>{f.compute(wr(f.inputs[0],"Asinh","asinh"))},fa=f=>{f.compute(wr(f.inputs[0],"Atan","atan"))},$n=f=>{f.compute(wr(f.inputs[0],"Atanh","atanh"))},Wi=f=>vt(f),dn=(f,I)=>{let x;switch(I.to){case 10:x="vec4<f16>";break;case 1:x="vec4<f32>";break;case 12:x="vec4<u32>";break;case 6:x="vec4<i32>";break;case 9:x="vec4<bool>";break;default:throw new RangeError(`not supported type (specified in attribute 'to' from 'Cast' operator): ${I.to}`)}f.compute(wr(f.inputs[0],"Cast",x,void 0,I.cacheKey,I.to))},s0=f=>{let I,x,N=f.length>=2&&f[1].data!==0,L=f.length>=3&&f[2].data!==0;switch(f[0].dataType){case 1:I=N?f[1].getFloat32Array()[0]:-34028234663852886e22,x=L?f[2].getFloat32Array()[0]:34028234663852886e22;break;case 10:I=N?f[1].getUint16Array()[0]:64511,x=L?f[2].getUint16Array()[0]:31743;break;default:throw new Error("Unsupport data type")}return vt({min:I,max:x})},Ui=(f,I)=>{let x=I||s0(f.inputs),N=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"Clip",L=>`clamp(${L}, vec4<${N}>(uniforms.min), vec4<${N}>(uniforms.max))`,void 0,x.cacheKey,void 0,[{type:f.inputs[0].dataType,data:x.min},{type:f.inputs[0].dataType,data:x.max}],[{name:"min",type:N},{name:"max",type:N}]),{inputs:[0]})},Zr=f=>{f.compute(wr(f.inputs[0],"Ceil","ceil"))},sa=f=>{f.compute(wr(f.inputs[0],"Cos","cos"))},jo=f=>{f.compute(wr(f.inputs[0],"Cosh","cosh"))},Us=f=>vt(f),za=(f,I)=>{let x=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"Elu",N=>`elu_vf32(${N})`,`
514  const elu_alpha_ = ${x}(${I.alpha});
515
516  fn elu_f32(a: ${x}) -> ${x} {
517  return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);
518  }
519
520  fn elu_vf32(v: vec4<${x}>) -> vec4<${x}> {
521  return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));
522  }`,I.cacheKey))},ei=(f="f32")=>`
523const r0: ${f} = 0.3275911;
524const r1: ${f} = 0.254829592;
525const r2: ${f} = -0.284496736;
526const r3: ${f} = 1.421413741;
527const r4: ${f} = -1.453152027;
528const r5: ${f} = 1.061405429;
529
530fn erf_vf32(v: vec4<${f}>) -> vec4<${f}> {
531  let absv = abs(v);
532  let x = 1.0 / (1.0 + r0 * absv);
533  return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));
534}`,mo=f=>{let I=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"Erf",x=>`erf_vf32(${x})`,ei(I)))},gn=f=>{f.compute(wr(f.inputs[0],"Exp","exp"))},Wo=f=>{f.compute(wr(f.inputs[0],"Floor","floor"))},Ki=f=>{let I=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"Gelu",x=>`0.5 * ${x} * (1.0 + erf_vf32(${x} * 0.7071067811865475))`,ei(I)))},aa=(f,I)=>{let x=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"LeakyRelu",N=>`select(leaky_relu_alpha_ * ${N}, ${N}, ${N} >= vec4<${x}>(0.0))`,`const leaky_relu_alpha_ = ${x}(${I.alpha});`,I.cacheKey))},da=f=>{f.compute(wr(f.inputs[0],"Not",I=>`!${I}`))},a0=f=>{f.compute(wr(f.inputs[0],"Neg",I=>`-${I}`))},bo=f=>{f.compute(wr(f.inputs[0],"Reciprocal",I=>`1.0/${I}`))},hn=f=>{let I=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"Relu",x=>`select(vec4<${I}>(0.0), ${x}, ${x} > vec4<${I}>(0.0))`))},ti=f=>{f.compute(wr(f.inputs[0],"Sigmoid",I=>`(1.0 / (1.0 + exp(-${I})))`))},Zi=f=>vt(f),rs=(f,I)=>{let x=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"HardSigmoid",N=>`max(vec4<${x}>(0.0), min(vec4<${x}>(1.0), ${I.alpha} * ${N} + vec4<${x}>(${I.beta})))`,void 0,I.cacheKey))},Uo=f=>{f.compute(wr(f.inputs[0],"Sin","sin"))},Xi=f=>{f.compute(wr(f.inputs[0],"Sinh","sinh"))},Ua=f=>{f.compute(wr(f.inputs[0],"Sqrt","sqrt"))},Ka=f=>{f.compute(wr(f.inputs[0],"Tan","tan"))},_i=f=>`sign(${f}) * (1 - exp(-2 * abs(${f}))) / (1 + exp(-2 * abs(${f})))`,pn=f=>{f.compute(wr(f.inputs[0],"Tanh",_i))},Bn=(f="f32")=>`
535const fast_gelu_a: ${f} = 0.5;
536const fast_gelu_b: ${f} = 0.7978845608028654;
537const fast_gelu_c: ${f} = 0.035677408136300125;
538
539fn tanh_v(v: vec4<${f}>) -> vec4<${f}> {
540  return ${_i("v")};
541}
542`,Co=f=>`(fast_gelu_a + fast_gelu_a * tanh_v(${f} * (fast_gelu_c * ${f} * ${f} + fast_gelu_b))) * ${f}`,rn=f=>{let I=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"FastGelu",Co,Bn(I),void 0,f.inputs[0].dataType))},Ca=(f,I)=>{let x=IA(f.inputs[0].dataType);return f.compute(wr(f.inputs[0],"ThresholdedRelu",N=>`select(vec4<${x}>(0.0), ${N}, ${N} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${x}>(${I.alpha});`,I.cacheKey)),0},qi=f=>{f.compute(wr(f.inputs[0],"Log","log"))},Io=(f,I)=>`
543const alpha = vec4<${f}>(${I});
544const one = ${f}(1.0);
545const zero = ${f}(0.0);
546
547fn quick_gelu_impl(x: vec4<${f}>) -> vec4<${f}> {
548  let v = x *alpha;
549  var x1 : vec4<${f}>;
550  for (var i = 0; i < 4; i = i + 1) {
551    if (v[i] >= zero) {
552      x1[i] = one / (one + exp(-v[i]));
553    } else {
554      x1[i] = one - one / (one + exp(v[i]));
555    }
556  }
557  return x * x1;
558}
559`,xn=f=>`quick_gelu_impl(${f})`,n0=(f,I)=>{let x=IA(f.inputs[0].dataType);f.compute(wr(f.inputs[0],"QuickGelu",xn,Io(x,I.alpha),I.cacheKey,f.inputs[0].dataType))}}),m1=me(()=>{yr(),Qr(),A2(),Ks=f=>{if(f[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![2560,5120,10240].includes(f[0].dims[2]))throw new Error("hidden state should be 2560, 5120 or 10240");if(f[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(f[0].dims[2]!==f[1].dims[0])throw new Error("last dimension of input and bias are not the same")},Za=f=>{let I=f[0].dims.slice();I[2]=I[2]/2;let x=Yt("input",f[0].dataType,f[0].dims,4),N=Yt("bias",f[0].dataType,[f[0].dims[2]],4),L=TA("output",f[0].dataType,I,4),j=gt.size(I)/4,Y=ir(f[0].dataType);return{name:"BiasSplitGelu",getRunData:()=>({outputs:[{dims:I,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(j/64)}}),getShaderSource:Ae=>`
560  const M_SQRT2 = sqrt(2.0);
561  const halfChannels = ${f[0].dims[2]/4/2}u;
562
563  ${Ae.declareVariables(x,N,L)}
564
565  ${ei(Y)}
566
567  ${Ae.mainStart()}
568    ${Ae.guardAgainstOutOfBoundsWorkgroupSizes(j)}
569    let biasIdx = global_idx % halfChannels;
570    let batchIndex = global_idx / halfChannels;
571    let inputOffset = biasIdx + batchIndex * halfChannels * 2;
572    let valueLeft = input[inputOffset] + bias[biasIdx];
573    let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];
574    let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);
575
576    ${L.setByOffset("global_idx","valueLeft * geluRight")}
577  }`}},Ia=f=>{Ks(f.inputs),f.compute(Za(f.inputs))}}),b1=me(()=>{hr(),yr(),Qr(),wo=(f,I,x,N,L,j,Y,Ae,se,ne,ye,Be)=>{let te,Te;typeof Ae=="string"?te=Te=(ft,bt)=>`${Ae}((${ft}),(${bt}))`:typeof Ae=="function"?te=Te=Ae:(te=Ae.scalar,Te=Ae.vector);let Oe,Ke=TA("outputData",ye,N.length,4),Re=Yt("aData",se,I.length,4),et=Yt("bData",ne,x.length,4);if(L)if(j){let ft=gt.size(I)===1,bt=gt.size(x)===1,Mt=I.length>0&&I[I.length-1]%4==0,Dt=x.length>0&&x[x.length-1]%4==0;Oe=ft||bt?Ke.setByOffset("global_idx",Te(ft?`${Re.type.value}(${Re.getByOffset("0")}.x)`:Re.getByOffset("global_idx"),bt?`${et.type.value}(${et.getByOffset("0")}.x)`:et.getByOffset("global_idx"))):`
578            let outputIndices = ${Ke.offsetToIndices("global_idx * 4u")};
579            let offsetA = ${Re.broadcastedIndicesToOffset("outputIndices",Ke)};
580            let offsetB = ${et.broadcastedIndicesToOffset("outputIndices",Ke)};
581            ${Ke.setByOffset("global_idx",Te(Y||Mt?Re.getByOffset("offsetA / 4u"):`${Re.type.value}(${Re.getByOffset("offsetA / 4u")}[offsetA % 4u])`,Y||Dt?et.getByOffset("offsetB / 4u"):`${et.type.value}(${et.getByOffset("offsetB / 4u")}[offsetB % 4u])`))}
582          `}else Oe=Ke.setByOffset("global_idx",Te(Re.getByOffset("global_idx"),et.getByOffset("global_idx")));else{if(!j)throw new Error("no necessary to use scalar implementation for element-wise binary op implementation.");let ft=(bt,Mt,Dt="")=>{let Nt=`aData[indexA${Mt}][componentA${Mt}]`,hA=`bData[indexB${Mt}][componentB${Mt}]`;return`
583            let outputIndices${Mt} = ${Ke.offsetToIndices(`global_idx * 4u + ${Mt}u`)};
584            let offsetA${Mt} = ${Re.broadcastedIndicesToOffset(`outputIndices${Mt}`,Ke)};
585            let offsetB${Mt} = ${et.broadcastedIndicesToOffset(`outputIndices${Mt}`,Ke)};
586            let indexA${Mt} = offsetA${Mt} / 4u;
587            let indexB${Mt} = offsetB${Mt} / 4u;
588            let componentA${Mt} = offsetA${Mt} % 4u;
589            let componentB${Mt} = offsetB${Mt} % 4u;
590            ${bt}[${Mt}] = ${Dt}(${te(Nt,hA)});
591          `};Oe=ye===9?`
592            var data = vec4<u32>(0);
593            ${ft("data",0,"u32")}
594            ${ft("data",1,"u32")}
595            ${ft("data",2,"u32")}
596            ${ft("data",3,"u32")}
597            outputData[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
598            ${ft("outputData[global_idx]",0)}
599            ${ft("outputData[global_idx]",1)}
600            ${ft("outputData[global_idx]",2)}
601            ${ft("outputData[global_idx]",3)}
602          `}return`
603        ${f.registerUniform("vec_size","u32").declareVariables(Re,et,Ke)}
604
605        ${Be??""}
606
607        ${f.mainStart()}
608        ${f.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
609        ${Oe}
610      }`},sn=(f,I,x,N,L,j,Y=x.dataType)=>{let Ae=x.dims.map(Ke=>Number(Ke)??1),se=N.dims.map(Ke=>Number(Ke)??1),ne=!gt.areEqual(Ae,se),ye=Ae,Be=gt.size(Ae),te=!1,Te=!1,Oe=[ne];if(ne){let Ke=lA.calcShape(Ae,se,!1);if(!Ke)throw new Error("Can't perform binary op on the given tensors");ye=Ke.slice(),Be=gt.size(ye);let Re=gt.size(Ae)===1,et=gt.size(se)===1,ft=Ae.length>0&&Ae[Ae.length-1]%4==0,bt=se.length>0&&se[se.length-1]%4==0;Oe.push(Re),Oe.push(et),Oe.push(ft),Oe.push(bt);let Mt=1;for(let Dt=1;Dt<ye.length;Dt++){let Nt=Ae[Ae.length-Dt];if(Nt!==se[se.length-Dt])break;Mt*=Nt}Mt%4==0?(Te=!0,te=!0):(Re||et||ft||bt)&&(te=!0)}else te=!0;return Oe.push(te),{name:f,shaderCache:{hint:I+Oe.map(Ke=>Ke.toString()).join("_"),inputDependencies:["rank","rank"]},getShaderSource:Ke=>wo(Ke,Ae,se,ye,te,ne,Te,L,x.dataType,N.dataType,Y,j),getRunData:()=>({outputs:[{dims:ye,dataType:Y}],dispatchGroup:{x:Math.ceil(Be/64/4)},programUniforms:[{type:12,data:Math.ceil(gt.size(ye)/4)},..._A(Ae,se,ye)]})}},mn=(f,I,x,N,L,j)=>{f.compute(sn(I,L??"",f.inputs[0],f.inputs[1],x,N,j))},ss=f=>{mn(f,"Add",(I,x)=>`${I}+${x}`)},bn=f=>{mn(f,"Div",(I,x)=>`${I}/${x}`)},hi=f=>{mn(f,"Equal",{scalar:(I,x)=>`u32(${I}==${x})`,vector:(I,x)=>`vec4<u32>(${I}==${x})`},void 0,void 0,9)},pi=f=>{mn(f,"Mul",(I,x)=>`${I}*${x}`)},Mn=f=>{let I=Yt("input",f.inputs[0].dataType,f.inputs[0].dims).type.value;mn(f,"Pow",{scalar:(x,N)=>`pow_custom(${x},${N})`,vector:(x,N)=>`pow_vector_custom(${x},${N})`},`
611    fn pow_custom(a : ${I}, b : ${I}) -> ${I} {
612      if (b == ${I}(0.0)) {
613        return ${I}(1.0);
614      } else if (a < ${I}(0.0) && f32(b) != floor(f32(b))) {
615        return ${I}(pow(f32(a), f32(b))); // NaN
616      }
617      return select(sign(a), ${I}(1.0), round(f32(abs(b) % ${I}(2.0))) != 1.0) * ${I}(${I==="i32"?"round":""}(pow(f32(abs(a)), f32(b))));
618    }
619    fn pow_vector_custom(a : vec4<${I}>, b : vec4<${I}>) -> vec4<${I}> {
620      // TODO: implement vectorized pow
621      return vec4<${I}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));
622    }
623      `)},Ko=f=>{mn(f,"Sub",(I,x)=>`${I}-${x}`)},ko=f=>{mn(f,"Greater",{scalar:(I,x)=>`u32(${I}>${x})`,vector:(I,x)=>`vec4<u32>(${I}>${x})`},void 0,void 0,9)},Dn=f=>{mn(f,"Less",{scalar:(I,x)=>`u32(${I}<${x})`,vector:(I,x)=>`vec4<u32>(${I}<${x})`},void 0,void 0,9)},mi=f=>{mn(f,"GreaterOrEqual",{scalar:(I,x)=>`u32(${I}>=${x})`,vector:(I,x)=>`vec4<u32>(${I}>=${x})`},void 0,void 0,9)},an=f=>{mn(f,"LessOrEqual",{scalar:(I,x)=>`u32(${I}<=${x})`,vector:(I,x)=>`vec4<u32>(${I}<=${x})`},void 0,void 0,9)}}),C1=me(()=>{hr(),yr(),va(),Qr(),Cn=(f,I)=>{if(!f||f.length<1)throw new Error("too few inputs");let x=f[0],N=x.dataType,L=x.dims.length;f.forEach((j,Y)=>{if(Y!==0){if(j.dataType!==N)throw new Error("input tensors should be one type");if(j.dims.length!==L)throw new Error("input tensors should have the same shape");j.dims.forEach((Ae,se)=>{if(se!==I&&Ae!==x.dims[se])throw new Error("non concat dimensions must match")})}})},vo=(f,I)=>`
624  fn calculateInputIndex(index: u32) -> u32 {
625    let sizeInConcatAxis = array<u32, ${f}u>(${I});
626    for (var i: u32 = 0u; i < ${f}; i += 1u ) {
627      if (index < sizeInConcatAxis[i]) {
628        return i;
629      }
630    }
631    return ${f}u;
632  }`,Hs=(f,I)=>{let x=f.length,N=[];for(let L=0;L<x;++L){let j=I.setByOffset("global_idx",f[L].getByIndices("indices"));x===1?N.push(j):L===0?N.push(`if (inputIndex == ${L}u) { ${j} }`):L===x-1?N.push(`else { ${j} }`):N.push(`else if (inputIndex == ${L}) { ${j} }`)}return N.join(`
633`)},vr=(f,I,x,N)=>{let L=gt.size(x),j=new Array(f.length),Y=new Array(f.length),Ae=0,se=[],ne=[],ye=[{type:12,data:L}];for(let Oe=0;Oe<f.length;++Oe)Ae+=f[Oe].dims[I],j[Oe]=Ae,ne.push(f[Oe].dims.length),Y[Oe]=Yt(`input${Oe}`,N,ne[Oe]),se.push("rank"),ye.push({type:12,data:j[Oe]});for(let Oe=0;Oe<f.length;++Oe)ye.push(..._A(f[Oe].dims));ye.push(..._A(x));let Be=TA("output",N,x.length),te=Be.indicesGet("indices",I),Te=Array.from(Array(j.length).keys()).map(Oe=>`uniforms.sizeInConcatAxis${Oe}`).join(",");return{name:"Concat",shaderCache:{hint:`${I}`,inputDependencies:se},getRunData:()=>({outputs:[{dims:x,dataType:N}],dispatchGroup:{x:Math.ceil(L/64)},programUniforms:ye}),getShaderSource:Oe=>`
634
635  ${(()=>{Oe.registerUniform("outputSize","u32");for(let Ke=0;Ke<f.length;Ke++)Oe.registerUniform(`sizeInConcatAxis${Ke}`,"u32");return Oe.declareVariables(...Y,Be)})()}
636
637  ${vo(j.length,Te)}
638
639  ${Oe.mainStart()}
640    ${Oe.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
641
642    var indices = ${Be.offsetToIndices("global_idx")};
643
644    let inputIndex = calculateInputIndex(${te});
645    if (inputIndex != 0u) {
646      let sizeInConcatAxis = array<u32, ${j.length}u>(${Te});
647      ${te} -= sizeInConcatAxis[inputIndex - 1u];
648    }
649
650    ${Hs(Y,Be)}
651  }`}},Ji=(f,I)=>{let x=f.inputs,N=x[0].dims,L=gt.normalizeAxis(I.axis,N.length);Cn(x,L);let j=N.slice();j[L]=x.reduce((Ae,se)=>Ae+(se.dims.length>L?se.dims[L]:0),0);let Y=x.filter(Ae=>gt.size(Ae.dims)>0);f.compute(vr(Y,L,j,x[0].dataType),{inputs:Y})},Qo=f=>vt({axis:f.axis})}),_0=me(()=>{hr(),yr(),wa=(f,I,x="f32")=>{switch(f.activation){case"Relu":return`value = max(value, ${I}(0.0));`;case"Sigmoid":return`value = (${I}(1.0) / (${I}(1.0) + exp(-value)));`;case"Clip":return`value = clamp(value, ${I}(${x}(uniforms.clip_min)), ${I}(${x}(uniforms.clip_max)));`;case"HardSigmoid":return`value = max(${I}(0.0), min(${I}(1.0), ${x}(uniforms.alpha) * value + ${x}(uniforms.beta)));`;case"LeakyRelu":return`value = select(${x}(uniforms.alpha) * value, value, value >= ${I}(0.0));`;case"Tanh":return`let e2x = exp(-2.0 * abs(value));
652              value = sign(value) * (1.0 - e2x) / (1.0 + e2x);
653        `;case"":return"";default:throw new Error(`Unsupported activation ${f.activation}`)}},bi=(f,I)=>{f.activation==="Clip"?I.push({type:1,data:f.clipMax},{type:1,data:f.clipMin}):f.activation==="HardSigmoid"?I.push({type:1,data:f.alpha},{type:1,data:f.beta}):f.activation==="LeakyRelu"&&I.push({type:1,data:f.alpha})},Ai=(f,I)=>{f.activation==="Clip"?I.push({name:"clip_max",type:"f32"},{name:"clip_min",type:"f32"}):f.activation==="HardSigmoid"?I.push({name:"alpha",type:"f32"},{name:"beta",type:"f32"}):f.activation==="LeakyRelu"&&I.push({name:"alpha",type:"f32"})},In=f=>{let I=(f==null?void 0:f.activation)||"";if(I==="HardSigmoid"){let[x,N]=(f==null?void 0:f.activation_params)||[.2,.5];return{activation:I,alpha:x,beta:N}}if(I==="Clip"){let[x,N]=(f==null?void 0:f.activation_params)||[sr,jr];return{activation:I,clipMax:N,clipMin:x}}if(I==="LeakyRelu"){let[x]=(f==null?void 0:f.activation_params)||[.01];return{activation:I,alpha:x}}return{activation:I}}}),r2=me(()=>{ka=(f,I)=>{switch(f){case 1:return I;case 2:return`vec2<${I}>`;case 3:return`vec3<${I}>`;case 4:return`vec4<${I}>`;default:throw new Error(`${f}-component is not supported.`)}},Po=f=>`
654      ${f?"value = value + getBiasByOutputCoords(coords);":""}
655      `}),I1=me(()=>{wn=f=>`
656fn getIndexFromCoords4D(coords : vec4<i32>, shape : vec4<i32>) -> i32 {
657  return dot(coords, vec4<i32>(
658      shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));
659}
660fn getOutputIndexFromCoords(coords : vec4<i32>) -> i32 {
661  return dot(coords, vec4<i32>(
662    i32(${f}.x), i32(${f}.y), i32(${f}.z), 1));
663}
664`}),s2=me(()=>{hr(),yr(),Qr(),_0(),$i=(f,I,x,N,L)=>{let j=N-x;return`
665      ${Array.from({length:x}).map((Y,Ae)=>`
666      if (${PA(I.shape,Ae,I.rank)} != 1) {
667        ${I.indicesSet(f,Ae,PA(L,Ae+j,N))}
668      } else {
669        ${I.indicesSet(f,Ae,0)}
670      }`).join("")}
671`},Ti=(f,I,x,N,L=!1,j)=>{let Y=f[0].dims,Ae=f[1].dims,se=Y[Y.length-2],ne=Ae[Ae.length-1],ye=Y[Y.length-1],Be=_r(ne),te=_r(ye),Te=_r(se),Oe=gt.size(x)/Be/Te,Ke=f.length>2,Re=N?N.slice(0,-2):x.slice(0,-2),et=[gt.size(Re),se,ne],ft=[{type:12,data:Oe},{type:12,data:se},{type:12,data:ne},{type:12,data:ye}];return bi(I,ft),ft.push(..._A(Re,Y,Ae)),Ke&&ft.push(..._A(f[2].dims)),ft.push(..._A(et)),{name:"MatMulNaive",shaderCache:{hint:`${I.activation};${Be};${te};${Te};${L}`,inputDependencies:Ke?["rank","rank","rank"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:j?j(x):x,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(Oe/64)},programUniforms:ft}),getShaderSource:bt=>{let Mt=Ss("batch_dims",f[0].dataType,Re.length),Dt=Yt("a",f[0].dataType,Y.length,te),Nt=Yt("b",f[1].dataType,Ae.length,Be),hA=TA("output",f[0].dataType,et.length,Be),xA=ir(hA.type.tensor),er=wa(I,hA.type.value,xA),tr=[Dt,Nt],qr="";if(Ke){let Ir=L?Be:1;tr.push(Yt("bias",f[2].dataType,f[2].dims.length,Ir)),qr=L?`value += bias[col / ${Ir}];`:`value += ${hA.type.value}(bias[row + i]);`}let Ar=[{name:"output_size",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"}];return Ai(I,Ar),`
672  ${bt.registerUniforms(Ar).registerInternalVariables(Mt).declareVariables(...tr,hA)}
673  ${bt.mainStart()}
674    ${bt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
675    let col = (global_idx % (uniforms.N / ${Be})) * ${Be};
676    var index1 = global_idx / (uniforms.N / ${Be});
677    let stride1 = uniforms.M / ${Te};
678    let row = (index1 % stride1) * ${Te};
679    let batch = index1 / stride1;
680
681    ${x.length===2?"":`let batch_indices = ${Mt.offsetToIndices("batch")};`}
682
683    var a_indices: ${Dt.type.indices};
684    ${$i("a_indices",Dt,Dt.rank-2,Mt.rank,"batch_indices")}
685    ${Dt.indicesSet("a_indices",Dt.rank-2,0)}
686    ${Dt.indicesSet("a_indices",Dt.rank-1,0)}
687    let a_offset = ${Dt.indicesToOffset("a_indices")};
688
689    var b_indices: ${Nt.type.indices};
690    ${$i("b_indices",Nt,Nt.rank-2,Mt.rank,"batch_indices")}
691    ${Nt.indicesSet("b_indices",Nt.rank-2,0)}
692    ${Nt.indicesSet("b_indices",Nt.rank-1,0)}
693    let b_offset = ${Nt.indicesToOffset("b_indices")};
694    var values: array<${hA.type.value}, ${Te}>;
695    for (var k: u32 = 0u; k < uniforms.K; k = k + ${te}) {
696      ${(()=>{let Ir=`var a_data: ${Dt.type.value};`;for(let mr=0;mr<te;mr++)Ir+=`
697              let b_data${mr} = b[(b_offset + (k + ${mr}) * uniforms.N + col) / ${Be}];`;for(let mr=0;mr<Te;mr++){Ir+=`a_data = a[(a_offset + (row + ${mr}) * uniforms.K + k) / ${te}];`;for(let Lt=0;Lt<te;Lt++)Ir+=`
698            values[${mr}] = fma(${Nt.type.value}(a_data${te===1?"":`[${Lt}]`}), b_data${Lt}, values[${mr}]);
699`}return Ir})()}
700    }
701    for (var i = 0u; i < ${Te}u; i++) {
702      var value = values[i];
703      ${qr}
704      ${er}
705      let cur_indices = ${hA.type.indices}(batch, row + i, col);
706      let offset = ${hA.indicesToOffset("cur_indices")};
707      ${hA.setByOffset(`offset / ${Be}`,"value")};
708    }
709  }
710  `}}}}),a2=me(()=>{hr(),yr(),Qr(),_0(),s2(),r2(),gs=(f,I)=>f?`
711        mm_Asub[inputRow][inputCol] = mm_readA(batch,
712          kStart + inputRow,
713          globalRowStart / innerElementSize + inputCol${I?", batchIndices":""});
714        `:`
715        mm_Asub[inputRow][inputCol] = mm_readA(batch,
716          globalRow + innerRow,
717          kStart / innerElementSize + inputCol${I?", batchIndices":""});
718        `,Zo=(f,I)=>f?`
719        let ACached0 = mm_Asub[k * innerElementSize][localRow];
720        let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];
721        let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];
722        ${I===3?"":"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];"}
723        for (var i = 0; i < rowPerThread; i = i + 1) {
724          acc[i] = BCached0 * ACached0[i] + acc[i];
725          acc[i] = BCached1 * ACached1[i] + acc[i];
726          acc[i] = BCached2 * ACached2[i] + acc[i];
727          ${I===3?"":"acc[i] = BCached3 * ACached3[i] + acc[i];"}
728        }`:`
729        for (var i = 0; i < rowPerThread; i = i + 1) {
730          let ACached = mm_Asub[tileRow + i][k];
731          acc[i] = BCached0 * ACached.x + acc[i];
732          acc[i] = BCached1 * ACached.y + acc[i];
733          acc[i] = BCached2 * ACached.z + acc[i];
734          ${I===3?"":"acc[i] = BCached3 * ACached.w + acc[i];"}
735        }`,eo=(f,I,x="f32",N,L=!1,j=32,Y=!1,Ae=32)=>{let se=I[1]*f[1],ne=I[0]*f[0],ye=L?se:j,Be=L?j:se,te=ye/I[0],Te=j/I[1];if((!L||te!==4||f[1]!==4)&&(L||te!==3&&te!==4)||ye%I[0]!=0||j%I[1]!=0||f[0]!==4)throw new Error(`If transposeA ${L} is true, innerElementSize ${te} and workPerThread[1] ${f[1]} must be 4.
736      Otherwise, innerElementSize ${te} must be 3 or 4.
737  tileAWidth ${ye} must be divisible by workgroupSize[0]${I[0]}. tileInner ${j} must be divisible by workgroupSize[1] ${I[1]}. colPerThread ${f[0]} must be 4.`);return`
738var<workgroup> mm_Asub: array<array<vec${te}<${x}>, ${ye/te}>, ${Be}>;
739var<workgroup> mm_Bsub: array<array<vec4<${x}>, ${ne/f[0]}>, ${j}>;
740
741const rowPerThread = ${f[1]};
742const colPerThread = ${f[0]};
743const innerElementSize = ${te};
744const tileInner = ${j};
745
746@compute @workgroup_size(${I[0]}, ${I[1]}, ${I[2]})
747fn main(@builtin(local_invocation_id) localId : vec3<u32>,
748        @builtin(global_invocation_id) globalId : vec3<u32>,
749        @builtin(workgroup_id) workgroupId : vec3<u32>) {
750  let localRow = i32(localId.y);
751  let tileRow = localRow * rowPerThread;
752  let tileCol = i32(localId.x);
753
754  let globalRow =i32(globalId.y) * rowPerThread;
755  let globalCol = i32(globalId.x);
756  let batch = ${Y?"0":"i32(globalId.z)"};
757  ${N?`let batchIndices = ${N.offsetToIndices("u32(batch)")};`:""}
758  let globalRowStart = i32(workgroupId.y) * ${se};
759
760  let num_tiles = ${Y?`${Math.ceil(Ae/j)}`:"(uniforms.dim_inner - 1) / tileInner + 1"};
761  var kStart = ${Y?`i32(globalId.z) * ${Ae}`:"0"};
762
763  var acc: array<vec4<${x}>, rowPerThread>;
764
765  // Loop over shared dimension.
766  let tileRowB = localRow * ${Te};
767  for (var t = 0; t < num_tiles; t = t + 1) {
768      // Load one tile of A into local memory.
769      for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
770          let inputRow = tileRow + innerRow;
771          let inputCol = tileCol;
772          ${gs(L,N)}
773      }
774
775      // Load one tile of B into local memory.
776      for (var innerRow = 0; innerRow < ${Te}; innerRow = innerRow + 1) {
777          let inputRow = tileRowB + innerRow;
778          let inputCol = tileCol;
779          mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${N?", batchIndices":""});
780      }
781      kStart = kStart + tileInner;
782      workgroupBarrier();
783
784      // Compute acc values for a single thread.
785      for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {
786          let BCached0 = mm_Bsub[k * innerElementSize][tileCol];
787          let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];
788          let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];
789          ${te===3?"":"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];"}
790
791          ${Zo(L,te)}
792      }
793
794      workgroupBarrier();
795  }
796
797  for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
798      mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);
799  }
800}`},Ga=(f,I)=>f?`
801            mm_Asub[inputRow][inputCol] = mm_readA(batch,
802              kStart + inputRow,
803              globalRowStart + inputCol${I?", batchIndices":""});
804            `:`
805            mm_Asub[inputRow][inputCol] = mm_readA(batch,
806              globalRowStart + inputRow,
807              kStart + inputCol${I?", batchIndices":""});
808            `,i0=f=>f?"let ACached = mm_Asub[k][tileRow + innerRow];":"let ACached = mm_Asub[tileRow + innerRow][k];",Ci=(f,I,x="f32",N,L=!1,j=32,Y=!1,Ae=32,se=!1)=>{let ne=f[1]*I[1],ye=f[0]*I[0],Be=L?ne:j,te=L?j:ne;if(te%I[1]!=0||Be%I[0]!=0||j%I[1]!=0)throw new Error(`tileAHight ${te} must be divisible by workgroupSize[1]${I[1]}, tileAWidth ${Be} must be divisible by workgroupSize[0]${I[0]}, tileInner ${j} must be divisible by workgroupSize[1]${I[1]}`);let Te=te/I[1],Oe=Be/I[0],Ke=j/I[1],Re=se?`
809    let localRow = i32(localId.y);
810    let localCol = i32(localId.x);
811    let globalRowStart = i32(workgroupId.y) * ${ne};
812    let globalColStart = i32(workgroupId.x) * ${ye};
813
814    // Loop over shared dimension.
815    for (var t = 0; t < num_tiles; t = t + 1) {
816      // Load one tile of A into local memory.
817      for (var inputRow = localRow; inputRow < ${te}; inputRow = inputRow + ${I[1]}) {
818        for (var inputCol = localCol; inputCol < ${Be}; inputCol = inputCol + ${I[0]}) {
819          ${Ga(L,N)}
820        }
821      }
822      // Load one tile of B into local memory.
823      for (var inputRow = localRow; inputRow < ${j}; inputRow = inputRow + ${I[1]}) {
824            for (var inputCol = localCol; inputCol < ${ye}; inputCol = inputCol + ${I[0]}) {
825          mm_Bsub[inputRow][inputCol] = mm_readB(batch,
826            kStart + inputRow,
827            globalColStart + inputCol${N?", batchIndices":""});
828        }
829      }
830      kStart = kStart + tileInner;
831      workgroupBarrier();
832
833      // Compute acc values for a single thread.
834      var BCached : array<${x}, colPerThread>;
835      for (var k = 0; k < tileInner; k = k + 1) {
836        for (var inner = 0; inner < colPerThread; inner = inner + 1) {
837          BCached[inner] = mm_Bsub[k][localCol + inner * ${I[0]}];
838        }
839        for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
840          let ACached = ${L?`mm_Asub[k][localRow + innerRow * ${I[1]}];`:`mm_Asub[localRow + innerRow * ${I[1]}][k];`}
841          for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
842            acc[innerRow][innerCol] = acc[innerRow][innerCol] +
843                ACached * BCached[innerCol];
844          }
845        }
846      }
847      workgroupBarrier();
848    }
849    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
850      let gRow = globalRowStart + localRow + innerRow * ${I[1]};
851      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
852        let gCol = globalColStart + localCol + innerCol * ${I[0]};
853        mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);
854      }
855    }
856    `:`
857let tileRow = i32(localId.y) * rowPerThread;
858let tileCol = i32(localId.x) * colPerThread;
859
860let globalRow = i32(globalId.y) * rowPerThread;
861let globalCol = i32(globalId.x) * colPerThread;
862let globalRowStart = i32(workgroupId.y) * ${ne};
863
864let tileRowA = i32(localId.y) * ${Te};
865let tileColA = i32(localId.x) * ${Oe};
866let tileRowB = i32(localId.y) * ${Ke};
867// Loop over shared dimension.
868for (var t = 0; t < num_tiles; t = t + 1) {
869  // Load one tile of A into local memory.
870  for (var innerRow = 0; innerRow < ${Te}; innerRow = innerRow + 1) {
871    for (var innerCol = 0; innerCol < ${Oe}; innerCol = innerCol + 1) {
872      let inputRow = tileRowA + innerRow;
873      let inputCol = tileColA + innerCol;
874      ${Ga(L,N)}
875    }
876  }
877
878  // Load one tile of B into local memory.
879  for (var innerRow = 0; innerRow < ${Ke}; innerRow = innerRow + 1) {
880    for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
881      let inputRow = tileRowB + innerRow;
882      let inputCol = tileCol + innerCol;
883      mm_Bsub[inputRow][inputCol] = mm_readB(batch,
884        kStart + inputRow,
885        globalCol + innerCol${N?", batchIndices":""});
886    }
887  }
888  kStart = kStart + tileInner;
889  workgroupBarrier();
890
891  // Compute acc values for a single thread.
892  var BCached : array<${x}, colPerThread>;
893  for (var k = 0; k < tileInner; k = k + 1) {
894    for (var inner = 0; inner < colPerThread; inner = inner + 1) {
895      BCached[inner] = mm_Bsub[k][tileCol + inner];
896    }
897
898    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
899      ${i0(L)}
900      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
901        acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];
902      }
903    }
904  }
905
906  workgroupBarrier();
907}
908
909for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
910  for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
911    mm_write(batch, globalRow + innerRow, globalCol + innerCol,
912        acc[innerRow][innerCol]);
913  }
914}
915`;return`
916  var<workgroup> mm_Asub : array<array<${x}, ${Be}>, ${te}>;
917  var<workgroup> mm_Bsub : array<array<${x}, ${ye}>, ${j}>;
918  const rowPerThread = ${f[1]};
919  const colPerThread = ${f[0]};
920  const tileInner = ${j};
921
922@compute @workgroup_size(${I[0]}, ${I[1]}, ${I[2]})
923fn main(@builtin(local_invocation_id) localId : vec3<u32>,
924        @builtin(global_invocation_id) globalId : vec3<u32>,
925        @builtin(workgroup_id) workgroupId : vec3<u32>) {
926    let batch = ${Y?"0":"i32(globalId.z)"};
927    ${N?`let batchIndices = ${N.offsetToIndices("u32(batch)")};`:""}
928    let num_tiles = ${Y?`${Math.ceil(Ae/j)}`:"(uniforms.dim_inner - 1) / tileInner + 1"};
929    var kStart = ${Y?`i32(globalId.z) * ${Ae}`:"0"};
930
931    var acc : array<array<${x}, colPerThread>, rowPerThread>;
932    ${Re}
933  }
934`},LA=(f,I,x,N,L=!1)=>{let[j,Y,Ae,se]=N,ne=ir(N[0].type.tensor);return`
935    fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${j.type.indices}) -> ${ka(f,ne)} {
936      var value = ${ka(f,ne)}(0.0);
937      let col = colIn * ${f};
938      if(row < uniforms.dim_a_outer && col < uniforms.dim_inner)
939      {
940        var aIndices: ${Y.type.indices};
941        ${$i("aIndices",Y,Y.rank-2,j.rank,"batchIndices")}
942        ${Y.indicesSet("aIndices",Y.rank-2,"u32(row)")}
943        ${Y.indicesSet("aIndices",Y.rank-1,"u32(colIn)")}
944        value = ${Y.getByIndices("aIndices")};
945      }
946      return value;
947    }
948
949    fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${j.type.indices}) -> ${ka(f,ne)} {
950      var value = ${ka(f,ne)}(0.0);
951      let col = colIn * ${f};
952      if(row < uniforms.dim_inner && col < uniforms.dim_b_outer)
953      {
954        var bIndices: ${Ae.type.indices};
955        ${$i("bIndices",Ae,Ae.rank-2,j.rank,"batchIndices")}
956        ${Ae.indicesSet("bIndices",Ae.rank-2,"u32(row)")}
957        ${Ae.indicesSet("bIndices",Ae.rank-1,"u32(colIn)")}
958        value = ${Ae.getByIndices("bIndices")};
959      }
960      return value;
961    }
962
963    fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${ka(f,ne)}) {
964      let col = colIn * ${f};
965      if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {
966        var value = valueIn;
967        let coords = vec3<i32>(batch, row, colIn);
968        ${I?`value = value + ${L?"bias[colIn]":`${ka(f,ne)}(bias[row])`};`:""}
969        ${x}
970        ${se.setByIndices("vec3<u32>(coords)","value")}
971      }
972    }
973    `},t=(f,I,x,N,L=!1,j)=>{let Y=f[0].dims,Ae=f[1].dims,se=Y.slice(0,-2),ne=Ae.slice(0,-2),ye=N?N.slice(0,-2):x.slice(0,-2),Be=gt.size(ye),te=Y[Y.length-2],Te=Y[Y.length-1],Oe=Ae[Ae.length-1],Ke=Te%4==0&&Oe%4==0,Re=te<=8?[4,1,1]:[4,4,1],et=[8,8,1],ft=[Math.ceil(Oe/et[0]/Re[0]),Math.ceil(te/et[1]/Re[1]),Math.ceil(Be/et[2]/Re[2])],bt=Ke?4:1,Mt=[...se,te,Te/bt],Dt=Mt.length,Nt=[...ne,Te,Oe/bt],hA=Nt.length,xA=[Be,te,Oe/bt],er=[{type:6,data:te},{type:6,data:Oe},{type:6,data:Te}];bi(I,er),er.push(..._A(ye,Mt,Nt));let tr=["rank","rank"],qr=f.length>2;return qr&&(er.push(..._A(f[2].dims)),tr.push("rank")),er.push(..._A(xA)),{name:"MatMul",shaderCache:{hint:`${Re};${I.activation};${Ke};${L}`,inputDependencies:tr},getRunData:()=>({outputs:[{dims:j?j(x):x,dataType:f[0].dataType}],dispatchGroup:{x:ft[0],y:ft[1],z:ft[2]},programUniforms:er}),getShaderSource:Ar=>{let Ir=ye.length,mr=Ss("batchDims",f[0].dataType,Ir,1),Lt=ir(f[0].dataType),UA=Yt("a",f[0].dataType,Dt,bt),HA=Yt("b",f[1].dataType,hA,bt),RA=TA("result",f[0].dataType,xA.length,bt),is=[UA,HA];if(qr){let fc=L?bt:1;is.push(Yt("bias",f[2].dataType,f[2].dims.length,fc))}let Va=[{name:"dim_a_outer",type:"i32"},{name:"dim_b_outer",type:"i32"},{name:"dim_inner",type:"i32"}];Ai(I,Va);let ai=ir(RA.type.tensor),N0=wa(I,RA.type.value,ai),$0=LA(bt,qr,N0,[mr,UA,HA,RA],L);return`
974  ${Ar.registerUniforms(Va).registerInternalVariables(mr).declareVariables(...is,RA)}
975  ${$0}
976  ${Ke?eo(Re,et,Lt,mr):Ci(Re,et,Lt,mr)}
977                   `}}}}),w1=me(()=>{hr(),qo(),Qr(),_0(),r2(),I1(),a2(),A=(f,I,x,N,L=!1,j,Y=4,Ae=4,se=4,ne="f32")=>{let ye=xA=>{switch(xA){case 1:return"return w[row * i32(uniforms.w_shape[3]) + colIn];";case 4:return"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];";default:throw new Error(`innerElementSize ${xA} is not supported.`)}},Be=f?`
978    let coord = vec4<i32>(batch, xRow, xCol, xCh);
979    `:`
980    let coord = vec4<i32>(batch, xCh, xRow, xCol);
981    `,te=f?`
982    let coords = vec4<i32>(
983      batch,
984      row / outWidth,
985      row % outWidth,
986      col);
987    `:`
988    let coords = vec4<i32>(
989      batch,
990      row,
991      col / outWidth,
992      col % outWidth);
993    `,Te=f?"i32(uniforms.x_shape[1])":"i32(uniforms.x_shape[2])",Oe=f?"i32(uniforms.x_shape[2])":"i32(uniforms.x_shape[3])",Ke=f?"row":"col",Re=f?"col":"row",et=`
994    let inChannels = i32(uniforms.w_shape[2]);
995    let outWidth = ${f?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
996    let outRow = ${Ke} / outWidth;
997    let outCol = ${Ke} % outWidth;
998
999    let WRow = ${Re} / (i32(uniforms.w_shape[1]) * inChannels);
1000    let WCol = ${Re} / inChannels % i32(uniforms.w_shape[1]);
1001    let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];
1002    let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];
1003    let xCh = ${Re} % inChannels;
1004    var resData = ${ka(Y,ne)}(0.0);
1005    // The bounds checking is always needed since we use it to pad zero for
1006    // the 'same' padding type.
1007    if (xRow >= 0 && xRow < ${Te} && xCol >= 0 && xCol < ${Oe}) {
1008      ${Be}
1009      let xIndex = getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape));
1010      ${(xA=>{switch(xA){case 1:return"resData = x[xIndex];";case 3:return`resData = vec3<${ne}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return"resData = x[xIndex / 4];";default:throw new Error(`innerElementSize ${xA} is not supported.`)}})(Y)}
1011    }
1012    return resData;`,ft=f?I&&N?`
1013    let col = colIn * ${Y};
1014    ${et}`:`
1015    let col = colIn * ${Y};
1016    if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {
1017      ${et}
1018    }
1019    return ${ka(Y,ne)}(0.0);`:N&&x?`
1020    let col = colIn * ${Y};
1021    ${et}`:`
1022    let col = colIn * ${Y};
1023    if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {
1024      ${et}
1025    }
1026    return ${ka(Y,ne)}(0.0);`,bt=f?N&&x?ye(Ae):`
1027    let col = colIn * ${Ae};
1028    if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {
1029      ${ye(Ae)}
1030    }
1031    return ${ka(Ae,ne)}(0.0);`:`
1032    let col = colIn * ${Ae};
1033    if (row < uniforms.dim_inner && col < uniforms.dim_a_outer) {
1034      ${ye(Ae)}
1035    }
1036    return ${ka(Ae,ne)}(0.0);`,Mt=ka(se,ne),Dt=ka(f?Y:Ae,ne),Nt=ka(f?Ae:Y,ne),hA=wa(j,Mt,ne);return`
1037    fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${Dt} {
1038      ${f?ft:bt}
1039    }
1040
1041    fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${Nt} {
1042      ${f?bt:ft}
1043    }
1044
1045    fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${Mt}) {
1046      let col = colIn * ${se};
1047      if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer)
1048      {
1049      var value = valueIn;
1050      let outWidth = ${f?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
1051      ${te}
1052      ${Po(L)}
1053      ${hA}
1054      setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);
1055      }
1056    }`},r=(f,I,x,N,L,j,Y,Ae,se)=>{let ne=I.format==="NHWC",ye=ne?f[0].dims[3]:f[0].dims[1],Be=x[0],te=ne?x[2]:x[3],Te=ne?x[1]:x[2],Oe=ne?x[3]:x[1],Ke=ne&&(ye%4==0||ye%3==0)&&Oe%4==0,Re=ne?Oe:te*Te,et=ne?te*Te:Oe,ft=[8,8,1],bt=N<=8?[4,1,1]:[4,4,1],Mt=[Math.ceil(Re/ft[0]/bt[0]),Math.ceil(et/ft[1]/bt[1]),Math.ceil(Be/ft[2]/bt[2])];fr("verbose",()=>`[conv2d_mm_webgpu] dispatch = ${Mt}`);let Dt=Ke?ne&&ye%4!=0?3:4:1,Nt=ft[1]*bt[1],hA=ft[0]*bt[0],xA=Math.max(ft[0]*Dt,ft[1]),er=N%Nt==0,tr=L%hA==0,qr=j%xA==0,Ar=Ke?[Dt,4,4]:[1,1,1],Ir=[{type:6,data:N},{type:6,data:L},{type:6,data:j},{type:6,data:[I.pads[0],I.pads[1]]},{type:6,data:I.strides},{type:6,data:I.dilations}];bi(I,Ir),Ir.push(..._A(f[0].dims,f[1].dims));let mr=["rank","rank"];return Y&&(Ir.push(..._A(f[2].dims)),mr.push("rank")),Ir.push(..._A(x)),{name:"Conv2DMatMul",shaderCache:{hint:`${I.cacheKey};${Dt};${Ke};${er};${tr};${qr};${Nt};${hA};${xA}`,inputDependencies:mr},getRunData:()=>({outputs:[{dims:se?se(x):x,dataType:f[0].dataType}],dispatchGroup:{x:Mt[0],y:Mt[1],z:Mt[2]},programUniforms:Ir}),getShaderSource:Lt=>{let UA=[{name:"dim_a_outer",type:"i32"},{name:"dim_b_outer",type:"i32"},{name:"dim_inner",type:"i32"},{name:"pad",type:"i32",length:2},{name:"stride",type:"i32",length:2},{name:"dilation",type:"i32",length:2}];Ai(I,UA);let HA=Ke?4:1,RA=ir(f[0].dataType),is=`
1057      fn setOutputAtIndex(flatIndex : i32, value : ${Ke?`vec4<${RA}>`:RA}) {
1058        result[flatIndex] = ${Ke?`vec4<${RA}>`:RA}(value);
1059      }
1060      fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${Ke?`vec4<${RA}>`:RA}) {
1061        let flatIndex = getOutputIndexFromCoords(vec4<i32>(d0, d1, d2, d3));
1062        setOutputAtIndex(flatIndex ${Ke?"/ 4":""}, value);
1063      }`,Va=[Yt("x",f[0].dataType,f[0].dims.length,Dt===3?1:Dt),Yt("w",f[1].dataType,f[1].dims.length,HA)],ai=TA("result",f[0].dataType,x.length,HA);if(Y){let N0=Yt("bias",f[2].dataType,f[2].dims.length,HA);Va.push(N0),is+=`
1064        fn getBiasByOutputCoords(coords : vec4<i32>) -> ${Ke?`vec4<${RA}>`:RA} {
1065          return bias[coords.${ne?"w":"y"}${Ke?"/ 4":""}];
1066        }`}return`
1067        ${wn("uniforms.result_strides")}
1068        //struct Uniforms { xShape : vec4<i32>, wShape : vec4<i32>, outShape : vec4<i32>,
1069        //  outShapeStrides: vec3<i32>, filterDims : vec2<i32>, pad : vec2<i32>, stride : vec2<i32>,
1070        //  dilation : vec2<i32>, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };
1071        ${Lt.registerUniforms(UA).declareVariables(...Va,ai)}
1072        ${is}
1073        ${A(ne,er,tr,qr,Y,I,Ar[0],Ar[1],Ar[2],RA)}
1074        ${Ke?eo(bt,ft,RA,void 0,!ne,xA):Ci(bt,ft,RA,void 0,!ne,xA,!1,void 0,Ae)}`}}}}),k1=me(()=>{hr(),qo(),yr(),Qr(),_0(),r2(),n=f=>{let I=1;for(let x=0;x<f.length;x++)I*=f[x];return I},i=f=>typeof f=="number"?[f,f,f]:f,l=(f,I)=>I<=1?f:f+(f-1)*(I-1),h=(f,I,x,N=1)=>{let L=l(I,N);return Math.floor((f[0]*(x-1)-x+L)/2)},m=(f,I,x,N,L)=>{L==null&&(L=h(f,I[0],N[0]));let j=[0,0,0,x];for(let Y=0;Y<3;Y++)f[Y]+2*L>=I[Y]&&(j[Y]=Math.trunc((f[Y]-I[Y]+2*L)/N[Y]+1));return j},w=(f,I,x,N,L,j,Y,Ae,se,ne)=>{let ye,Be,te,Te;if(f==="VALID"&&(f=0),typeof f=="number"){ye={top:f,bottom:f,left:f,right:f,front:f,back:f};let Oe=m([I,x,N,1],[Ae,se,ne],1,[L,j,Y],f);Be=Oe[0],te=Oe[1],Te=Oe[2]}else if(Array.isArray(f)){if(!f.every((Ke,Re,et)=>Ke===et[0]))throw Error(`Unsupported padding parameter: ${f}`);ye={top:f[0],bottom:f[1],left:f[2],right:f[3],front:f[4],back:f[5]};let Oe=m([I,x,N,1],[Ae,se,ne],1,[L,j,Y],f[0]);Be=Oe[0],te=Oe[1],Te=Oe[2]}else{if(f!=="SAME_UPPER")throw Error(`Unknown padding parameter: ${f}`);{Be=Math.ceil(I/L),te=Math.ceil(x/j),Te=Math.ceil(N/Y);let Oe=(Be-1)*L+Ae-I,Ke=(te-1)*j+se-x,Re=(Te-1)*Y+ne-N,et=Math.floor(Oe/2),ft=Oe-et,bt=Math.floor(Ke/2),Mt=Ke-bt,Dt=Math.floor(Re/2);ye={top:bt,bottom:Mt,left:Dt,right:Re-Dt,front:et,back:ft}}}return{padInfo:ye,outDepth:Be,outHeight:te,outWidth:Te}},M=(f,I,x,N,L,j=!1,Y="channelsLast")=>{let Ae,se,ne,ye,Be;if(Y==="channelsLast")[Ae,se,ne,ye,Be]=f;else{if(Y!=="channelsFirst")throw new Error(`Unknown dataFormat ${Y}`);[Ae,Be,se,ne,ye]=f}let[te,,Te,Oe,Ke]=I,[Re,et,ft]=i(x),[bt,Mt,Dt]=i(N),Nt=l(Te,bt),hA=l(Oe,Mt),xA=l(Ke,Dt),{padInfo:er,outDepth:tr,outHeight:qr,outWidth:Ar}=w(L,se,ne,ye,Re,et,ft,Nt,hA,xA),Ir=j?te*Be:te,mr=[0,0,0,0,0];return Y==="channelsFirst"?mr=[Ae,Ir,tr,qr,Ar]:Y==="channelsLast"&&(mr=[Ae,tr,qr,Ar,Ir]),{batchSize:Ae,dataFormat:Y,inDepth:se,inHeight:ne,inWidth:ye,inChannels:Be,outDepth:tr,outHeight:qr,outWidth:Ar,outChannels:Ir,padInfo:er,strideDepth:Re,strideHeight:et,strideWidth:ft,filterDepth:Te,filterHeight:Oe,filterWidth:Ke,effectiveFilterDepth:Nt,effectiveFilterHeight:hA,effectiveFilterWidth:xA,dilationDepth:bt,dilationHeight:Mt,dilationWidth:Dt,inShape:f,outShape:mr,filterShape:I}},y=(f,I,x,N,L,j)=>{let Y=j==="channelsLast";Y?f[0].dims[3]:f[0].dims[1];let Ae={x:x.map((te,Te)=>Te)},se=[Math.ceil(n(Ae.x.map(te=>x[te]))/64),1,1];fr("verbose",()=>`[conv3d_naive_webgpu] dispatch = ${se}`);let ne=[{type:12,data:gt.size(x)},{type:12,data:N},{type:12,data:L},{type:12,data:I.strides},{type:12,data:I.dilations}];bi(I,ne),ne.push(..._A(f[0].dims,f[1].dims));let ye=["rank","rank"],Be=f.length===3;return Be&&(ne.push(..._A(f[2].dims)),ye.push("rank")),ne.push(..._A(x)),{name:"Conv3DNaive",shaderCache:{hint:`${I.cacheKey};${Y};1;${Be}`,inputDependencies:ye},getRunData:()=>({outputs:[{dims:x,dataType:f[0].dataType}],dispatchGroup:{x:se[0],y:se[1],z:se[2]},programUniforms:ne}),getShaderSource:te=>{let Te=[{name:"output_size",type:"u32"},{name:"filter_dims",type:"u32",length:N.length},{name:"pads",type:"u32",length:L.length},{name:"strides",type:"u32",length:I.strides.length},{name:"dilations",type:"u32",length:I.dilations.length}];Ai(I,Te);let Oe=ir(f[0].dataType),Ke=Yt("x",f[0].dataType,f[0].dims.length,1),Re=Yt("W",f[1].dataType,f[1].dims.length,1),et=[Ke,Re],ft=TA("result",f[0].dataType,x.length,1),bt="";if(Be){let Nt=Yt("bias",f[2].dataType,f[2].dims.length,1);et.push(Nt),bt+=`
1075        fn getBiasByOutputCoords(coords : array<u32, 5>) -> ${Oe} {
1076          return bias[${PA("coords",Y?4:1,5)}];
1077        }`}let Mt=ka(1,Oe),Dt=wa(I,Mt,Oe);return`
1078            ${bt}
1079            fn getX(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {
1080              let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);
1081              return ${Ke.getByIndices("aIndices")};
1082            }
1083            fn getW(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {
1084              let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);
1085              return ${Re.getByIndices("aIndices")};
1086            }
1087          ${te.registerUniforms(Te).declareVariables(...et,ft)}
1088          ${te.mainStart()}
1089          ${te.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1090              let coords = ${ft.offsetToIndices("global_idx")};
1091              let batch = ${PA("coords",0,Ke.rank)};
1092              let d2 = ${PA("coords",Y?Ke.rank-1:1,Ke.rank)};
1093              let xFRCCorner = vec3<u32>(${PA("coords",Y?1:2,Ke.rank)},
1094              ${PA("coords",Y?2:3,Ke.rank)},
1095              ${PA("coords",Y?3:4,Ke.rank)}) * uniforms.strides - uniforms.pads;
1096              let xFCorner = xFRCCorner.x;
1097              let xRCorner = xFRCCorner.y;
1098              let xCCorner = xFRCCorner.z;
1099              let xShapeY = ${PA("uniforms.x_shape",Y?1:2,Ke.rank)};
1100              let xShapeZ = ${PA("uniforms.x_shape",Y?2:3,Ke.rank)};
1101              let xShapeW = ${PA("uniforms.x_shape",Y?3:4,Ke.rank)};
1102              let xShapeU = ${PA("uniforms.x_shape",Y?4:1,Ke.rank)};
1103              let inputDepthNearestVec4 = (xShapeU / 4) * 4;
1104              let inputDepthVec4Remainder = xShapeU % 4;
1105
1106              var value = 0.0;
1107              for (var wF = 0u; wF < uniforms.filter_dims[0]; wF++) {
1108                let xF = xFCorner + wF * uniforms.dilations[0];
1109                if (xF < 0 || xF >= xShapeY) {
1110                  continue;
1111                }
1112
1113                for (var wR = 0u; wR < uniforms.filter_dims[1]; wR++) {
1114                  let xR = xRCorner + wR * uniforms.dilations[1];
1115                  if (xR < 0 || xR >= xShapeZ) {
1116                    continue;
1117                  }
1118
1119                  for (var wC = 0u; wC < uniforms.filter_dims[2]; wC++) {
1120                    let xC = xCCorner + wC * uniforms.dilations[2];
1121                    if (xC < 0 || xC >= xShapeW) {
1122                      continue;
1123                    }
1124
1125                    for (var d1 = 0u; d1 < inputDepthNearestVec4; d1 += 4) {
1126                      ${Y?`let xValues = vec4<f32>(
1127                               getX(batch, xF, xR, xC, d1),
1128                               getX(batch, xF, xR, xC, d1 + 1),
1129                               getX(batch, xF, xR, xC, d1 + 2),
1130                               getX(batch, xF, xR, xC, d1 + 3));
1131                            `:`let xValues = vec4<f32>(
1132                               getX(batch, d1, xF, xR, xC),
1133                               getX(batch, d1 + 1, xF, xR, xC),
1134                               getX(batch, d1 + 2, xF, xR, xC),
1135                               getX(batch, d1 + 3, xF, xR, xC));
1136                            `}
1137                            let wValues = vec4<f32>(
1138                              getW(d2, d1, wF, wR, wC),
1139                              getW(d2, d1 + 1, wF, wR, wC),
1140                              getW(d2, d1 + 2, wF, wR, wC),
1141                              getW(d2, d1 + 3, wF, wR, wC));
1142                      value += dot(xValues, wValues);
1143                    }
1144                    if (inputDepthVec4Remainder == 1) {
1145                        ${Y?`value += getX(batch, xF, xR, xC, inputDepthNearestVec4)
1146                          * getW(d2, inputDepthNearestVec4, wF, wR, wC);`:`value += getX(batch, inputDepthNearestVec4, xF, xR, xC)
1147                          * getW(d2, inputDepthNearestVec4, wF, wR, wC);`}
1148                    } else if (inputDepthVec4Remainder == 2) {
1149                      ${Y?`let xValues = vec2<f32>(
1150                        getX(batch, xF, xR, xC, inputDepthNearestVec4),
1151                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1));
1152                      `:`let xValues = vec2<f32>(
1153                        getX(batch, inputDepthNearestVec4, xF, xR, xC),
1154                        getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC));
1155                    `}
1156                    let wValues = vec2<f32>(
1157                      getW(d2, inputDepthNearestVec4, wF, wR, wC),
1158                      getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC));
1159                      value += dot(xValues, wValues);
1160                    } else if (inputDepthVec4Remainder == 3) {
1161                      ${Y?`let xValues = vec3<f32>(
1162                        getX(batch, xF, xR, xC, inputDepthNearestVec4),
1163                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1),
1164                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 2));
1165                      `:`let xValues = vec3<f32>(
1166                        getX(batch, inputDepthNearestVec4, xF, xR, xC),
1167                        getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC),
1168                        getX(batch, inputDepthNearestVec4 + 2, xF, xR, xC));
1169                    `}
1170                    let wValues = vec3<f32>(
1171                      getW(d2, inputDepthNearestVec4, wF, wR, wC),
1172                      getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC),
1173                      getW(d2, inputDepthNearestVec4 + 2, wF, wR, wC));
1174                      value += dot(xValues, wValues);
1175                    }
1176                  }
1177                }
1178              }
1179              ${Be?"value = value + getBiasByOutputCoords(coords)":""};
1180              ${Dt}
1181              result[global_idx] = f32(value);
1182          }`}}}}),rf=me(()=>{hr(),yr(),Qr(),_0(),P=(f,I,x,N)=>{let L=f.length>2,j=L?"value += b[output_channel];":"",Y=f[0].dims,Ae=f[1].dims,se=I.format==="NHWC",ne=se?x[3]:x[1],ye=ne/I.group,Be=se&&ye>=4?_r(ne):1,te=gt.size(x)/Be,Te=[{type:12,data:te},{type:12,data:I.dilations},{type:12,data:[I.strides[0],I.strides[1]]},{type:12,data:[I.pads[0],I.pads[1]]},{type:12,data:ye}];bi(I,Te),Te.push(..._A(Y,[Ae[0],Ae[1],Ae[2],Ae[3]/Be]));let Oe=L?["rank","rank","rank"]:["rank","rank"];return Te.push(..._A([x[0],x[1],x[2],x[3]/Be])),{name:"GroupedConv",shaderCache:{hint:`${I.cacheKey}_${Be}`,inputDependencies:Oe},getRunData:()=>({outputs:[{dims:N?N(x):x,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(te/64)},programUniforms:Te}),getShaderSource:Ke=>{let Re=TA("output",f[0].dataType,x.length,Be),et=ir(Re.type.tensor),ft=wa(I,Re.type.value,et),bt=Yt("x",f[0].dataType,Y.length),Mt=Yt("w",f[1].dataType,Ae.length,Be),Dt=[bt,Mt];L&&Dt.push(Yt("b",f[2].dataType,f[2].dims,Be));let Nt=[{name:"output_size",type:"u32"},{name:"dilations",type:"u32",length:I.dilations.length},{name:"strides",type:"u32",length:2},{name:"pads",type:"u32",length:2},{name:"output_channels_per_group",type:"u32"}];Ai(I,Nt);let hA=se?`
1183      for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[0]; wHeight++) {
1184        let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];
1185
1186        if (xHeight < 0u || xHeight >= uniforms.x_shape[1]) {
1187          continue;
1188        }
1189
1190        for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[1]; wWidth++) {
1191          let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];
1192          if (xWidth < 0u || xWidth >= uniforms.x_shape[2]) {
1193            continue;
1194          }
1195
1196          for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[2]; wInChannel++) {
1197            let input_channel = in_channel_offset + wInChannel;
1198            let xVal = ${bt.get("batch","xHeight","xWidth","input_channel")};
1199            let wVal = ${Mt.get("wHeight","wWidth","wInChannel","output_channel")};
1200            value += xVal * wVal;
1201          }
1202        }
1203      }
1204      `:`
1205      for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[1]; wInChannel++) {
1206        let input_channel = in_channel_offset + wInChannel;
1207        for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[2]; wHeight++) {
1208          let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];
1209
1210          if (xHeight < 0u || xHeight >= uniforms.x_shape[2]) {
1211            continue;
1212          }
1213
1214          for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[3]; wWidth++) {
1215            let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];
1216            if (xWidth < 0u || xWidth >= uniforms.x_shape[3]) {
1217              continue;
1218            }
1219
1220            let xVal = ${bt.get("batch","input_channel","xHeight","xWidth")};
1221            let wVal = ${Mt.get("output_channel","wInChannel","wHeight","wWidth")};
1222            value += xVal * wVal;
1223          }
1224        }
1225      }
1226      `;return`
1227  ${Ke.registerUniforms(Nt).declareVariables(...Dt,Re)}
1228
1229  ${Ke.mainStart()}
1230    ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1231
1232    let outputIndices = ${Re.offsetToIndices("global_idx")};
1233    let batch: u32 = outputIndices[0];
1234    let output_channel: u32 = outputIndices[${se?3:1}];
1235    let xRCCorner: vec2<u32> = vec2<u32>(outputIndices[${se?1:2}], outputIndices[${se?2:3}]) * uniforms.strides - uniforms.pads;
1236    let group_id: u32 = output_channel * ${Be} / uniforms.output_channels_per_group;
1237    var in_channel_offset = group_id * uniforms.w_shape[${se?2:1}];
1238
1239    var value: ${Re.type.value} = ${Re.type.value}(0);
1240    ${hA}
1241    ${j}
1242    ${ft}
1243    ${Re.setByOffset("global_idx","value")}
1244  }`}}},R=(f,I,x,N)=>{let L=f.length>2,j=_r(x[3]),Y=_r(x[2]),Ae=gt.size(x)/j/Y,se=[f[0].dims[0],f[0].dims[1],f[0].dims[2],f[0].dims[3]/j],ne=[f[1].dims[0],f[1].dims[1],f[1].dims[2],f[1].dims[3]/j],ye=[x[0],x[1],x[2],x[3]/j],Be=[{type:12,data:Ae},{type:6,data:[I.strides[0],I.strides[1]]},{type:6,data:[I.pads[0],I.pads[1]]}];bi(I,Be),Be.push(..._A(se,ne,ye));let te=(Y-1)*I.strides[1]+ne[1];return{name:"GroupedConv-Vectorize",shaderCache:{hint:`${I.cacheKey};${j};${Y};${te};${ne[0]};${ne[1]}`,inputDependencies:L?["rank","rank","type"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:N?N(x):x,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(Ae/64)},programUniforms:Be}),getShaderSource:Te=>{let Oe=TA("output",f[0].dataType,ye.length,j),Ke=ir(Oe.type.tensor),Re=wa(I,Oe.type.value,Ke),et=Yt("x",f[0].dataType,se.length,j),ft=Yt("w",f[1].dataType,ne.length,j),bt=[et,ft];L&&bt.push(Yt("b",f[2].dataType,f[2].dims,j));let Mt=L?"value += b[output_channel];":"",Dt=[{name:"output_size",type:"u32"},{name:"strides",type:"i32",length:2},{name:"pads",type:"i32",length:2}];return Ai(I,Dt),`
1245  ${Te.registerUniforms(Dt).declareVariables(...bt,Oe)}
1246  ${Te.mainStart()}
1247    ${Te.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1248    let width0 = uniforms.output_shape[3];
1249    let output_channel = global_idx % width0;
1250    var index1 = global_idx / width0;
1251    let width1 = uniforms.output_shape[2] / ${Y}u;
1252    let col = (index1 % width1) * ${Y}u;
1253    index1 = index1 / width1;
1254    let row = index1 % uniforms.output_shape[1];
1255    let batch = index1 / uniforms.output_shape[1];
1256
1257    let x_corner = vec2<i32>(i32(row), i32(col)) * uniforms.strides - uniforms.pads;
1258
1259    var x_vals: array<${et.type.value}, ${te}>;
1260    var values: array<${Oe.type.value}, ${Y}>;
1261    let input_channel = output_channel;
1262    // Use constant instead of uniform can give better performance for w's height/width.
1263    for (var w_height: u32 = 0u; w_height < ${ne[0]}; w_height++) {
1264      let x_height = x_corner.x + i32(w_height);
1265      if (x_height >= 0 && u32(x_height) < uniforms.x_shape[1]) {
1266        for (var i = 0; i < ${te}; i++) {
1267          let x_width = x_corner.y + i;
1268          if (x_width >= 0 && u32(x_width) < uniforms.x_shape[2]) {
1269            x_vals[i] = ${et.get("batch","u32(x_height)","u32(x_width)","input_channel")};
1270          } else {
1271            x_vals[i] = ${et.type.value}(0);
1272          }
1273        }
1274        for (var w_width: u32 = 0u; w_width < ${ne[1]}; w_width++) {
1275          let w_val = ${ft.get("w_height","w_width","0","output_channel")};
1276          for (var i = 0u; i < ${Y}u; i++) {
1277            values[i] = fma(x_vals[i * u32(uniforms.strides[1]) + w_width], w_val, values[i]);
1278          }
1279        }
1280      }
1281    }
1282
1283    for (var i = 0u; i < ${Y}u; i++) {
1284      var value = values[i];
1285      ${Mt}
1286      ${Re}
1287      ${Oe.set("batch","row","col + i","output_channel","value")};
1288    }
1289  }`}}}}),xr=me(()=>{yr(),w1(),k1(),a2(),rf(),_0(),s2(),h0(),ee=(f,I,x,N,L,j)=>{let Y=f[0],Ae=f.slice(j?1:2,j?3:4),se=Ae.length,ne=I[0],ye=I.slice(2).map((te,Te)=>te+(te-1)*(x[Te]-1)),Be=Ae.map((te,Te)=>te+N[Te]+N[Te+se]).map((te,Te)=>Math.floor((te-ye[Te]+L[Te])/L[Te]));return Be.splice(0,0,Y),Be.splice(j?3:1,0,ne),Be},ae=[2,3,1,0],ue=(f,I)=>{if(!f||f.length!==2&&f.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(f[0].dims.length>5)throw new Error("greater than 5D is not supported");if(f[0].dims.length!==f[1].dims.length)throw new Error("filter does not have same dimension as input");if(f[0].dims[I.format==="NHWC"?f[0].dims.length-1:1]!==f[1].dims[1]*I.group)throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");if(f.length===3&&(f[2].dims.length!==1||f[1].dims[0]!==f[2].dims[0]))throw new Error("invalid bias");let x=f[0].dims.length-2;if(I.dilations.length!==x)throw new Error(`dilations should be ${x}D`);if(I.strides.length!==x)throw new Error(`strides should be ${x}D`);if(I.pads.length!==2*x)throw new Error(`pads should be ${2*x}D`);if(I.kernelShape.length!==0&&I.kernelShape.length!==f[1].dims.length-2)throw new Error("invalid kernel shape")},be=(f,I)=>{let x=f.kernelShape.slice();x.length<I[1].dims.length-2&&x.push(...Array(I[1].dims.length-2-x.length).fill(0));for(let j=2;j<I[1].dims.length;++j)x[j-2]===0&&(x[j-2]=I[1].dims[j]);let N=f.pads.slice();pA.adjustPadsBasedOnAutoPad(I[0].dims,f.strides,f.dilations,x,N,f.format==="NHWC",f.autoPad);let L=Object.assign({},f);return Object.assign(L,{kernelShape:x,pads:N}),L},_e=f=>{let I=In(f),x=f.format;return{autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][f.auto_pad],format:x,dilations:f.dilations,group:f.group,kernelShape:f.kernel_shape,pads:f.pads,strides:f.strides,wIsConst:f.w_is_const(),...I,cacheKey:`${f.format};${I.activation};`}},Ve=(f,I,x,N)=>{let L=x.format==="NHWC",j=ee(I[0].dims,I[1].dims,x.dilations,x.pads,x.strides,L);if(x.group!==1){let Dt=[I[0]];if(L){let Nt=f.kernelCustomData.wT??f.compute($s(I[1],ae),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];x.wIsConst&&!f.kernelCustomData.wT&&(f.kernelCustomData.wT=Nt),Dt.push(Nt)}else Dt.push(I[1]);return I.length===3&&Dt.push(I[2]),void(!f.adapterInfo.isArchitecture("ampere")&&L&&I[1].dims[0]===x.group&&I[1].dims[1]===1&&x.dilations[0]===1&&x.dilations[1]===1?f.compute(R(Dt,x,j,N),{inputs:Dt}):f.compute(P(Dt,x,j,N),{inputs:Dt}))}let Y=I.length===3,Ae=I[0].dims[L?1:2],se=I[0].dims[L?2:3],ne=I[0].dims[L?3:1],ye=I[1].dims[2],Be=I[1].dims[3],te=j[L?1:2],Te=j[L?2:3],Oe=j[L?3:1],Ke=L&&ye===Ae&&Be===se&&x.pads[0]===0&&x.pads[1]===0;if(Ke||ye===1&&Be===1&&x.dilations[0]===1&&x.dilations[1]===1&&x.strides[0]===1&&x.strides[1]===1&&x.pads[0]===0&&x.pads[1]===0){let Dt,Nt,hA,xA=j[0],er=[];if(L){let Ar=f.kernelCustomData.wT??f.compute($s(I[1],ae),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];if(x.wIsConst&&!f.kernelCustomData.wT&&(f.kernelCustomData.wT=Ar),Ke){let Ir=Ae*se*ne;Dt=I[0].reshape([1,xA,Ir]),Nt=Ar.reshape([1,Ir,Oe]),hA=[1,xA,Oe]}else Dt=I[0].reshape([xA,Ae*se,ne]),Nt=Ar.reshape([1,ne,Oe]),hA=[xA,te*Te,Oe];er.push(Dt),er.push(Nt)}else Dt=I[0].reshape([xA,ne,Ae*se]),Nt=I[1].reshape([1,Oe,ne]),hA=[xA,Oe,te*Te],er.push(Nt),er.push(Dt);Y&&er.push(I[2]);let tr=hA[2],qr=er[0].dims[er[0].dims.length-1];return void(tr<8&&qr<8?f.compute(Ti(er,x,j,hA,L,N),{inputs:er}):f.compute(t(er,x,j,hA,L,N),{inputs:er}))}let Re=f.kernelCustomData.wT??f.compute($s(I[1],ae),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];x.wIsConst&&!f.kernelCustomData.wT&&(f.kernelCustomData.wT=Re);let et=[I[0],Re];Y&&et.push(I[2]);let ft=L?te*Te:Oe,bt=L?Oe:te*Te,Mt=ye*Be*ne;f.compute(r(et,x,j,ft,bt,Mt,Y,!0,N),{inputs:et})},$e=(f,I)=>{let x=I.format==="NHWC",N=[f.inputs[0].reshape(x?[f.inputs[0].dims[0],1,f.inputs[0].dims[1],f.inputs[0].dims[2]]:[f.inputs[0].dims[0],f.inputs[0].dims[1],1,f.inputs[0].dims[2]]),f.inputs[1].reshape([f.inputs[1].dims[0],f.inputs[1].dims[1],1,f.inputs[1].dims[2]])];f.inputs.length===3&&N.push(f.inputs[2]);let L=[0,I.pads[0],0,I.pads[1]],j=[1].concat(I.strides),Y=[1].concat(I.dilations),Ae=[1].concat(I.kernelShape),se=be({...I,pads:L,strides:j,dilations:Y,kernelShape:Ae},N);Ve(f,N,se,ne=>x?[ne[0],ne[2],ne[3]]:[ne[0],ne[1],ne[3]])},it=(f,I,x)=>{let N=x.format==="NHWC"?"channelsLast":"channelsFirst",L=be(x,I),j=x.autoPad==="NOTSET"?x.pads:x.autoPad,Y=M(I[0].dims,I[1].dims,x.strides,x.dilations,j,!1,N);f.compute(y(I,L,Y.outShape,[Y.filterDepth,Y.filterHeight,Y.filterWidth],[Y.padInfo.front,Y.padInfo.top,Y.padInfo.left],N))},ht=(f,I)=>{if(ue(f.inputs,I),f.inputs[0].dims.length===3)$e(f,I);else if(f.inputs[0].dims.length===5)it(f,f.inputs,I);else{let x=be(I,f.inputs);Ve(f,f.inputs,x)}}}),v1=me(()=>{hr(),qo(),yr(),Qr(),yt=(f,I,x)=>{let N=f.length>2,L=I.outputShape,j=I.format==="NHWC",Y=I.group,Ae=f[1].dims,se=Ae[2]/Y,ne=Ae[3],ye=j?_r(se):1,Be=j?_r(ne):1,te=j?ne===1?ye:Be:1,Te=gt.size(L)/Be,Oe=[Math.ceil(Te/64),1,1];fr("verbose",()=>`[conv2d_backprop_webgpu] dispatch = ${Oe}`);let Ke=["rank","rank"],Re=[I.strides[0],I.strides[1]],et=[I.kernelShape[j?1:2],I.kernelShape[j?2:3]],ft=[I.dilations[0],I.dilations[1]],bt=[et[0]+(I.dilations[0]<=1?0:(I.kernelShape[j?1:2]-1)*(I.dilations[0]-1)),et[1]+(I.dilations[1]<=1?0:(I.kernelShape[j?2:3]-1)*(I.dilations[1]-1))],Mt=[bt[0]-1-Math.floor((I.pads[0]+I.pads[2])/2),bt[1]-1-Math.floor((I.pads[1]+I.pads[3])/2)],Dt=[{type:12,data:Te},{type:12,data:Re},{type:12,data:et},{type:12,data:ft},{type:12,data:bt},{type:6,data:Mt},{type:12,data:se},{type:12,data:ne},..._A(f[0].dims,f[1].dims)];return N&&(Dt.push(..._A(f[2].dims)),Ke.push("rank")),Dt.push(..._A(L)),{name:"ConvTranspose2D",shaderCache:{hint:`${I.cacheKey};${ye}${te}${Be}${ne===1}`,inputDependencies:Ke},getRunData:()=>({dispatchGroup:{x:Oe[0],y:Oe[1],z:Oe[2]},outputs:[{dims:x?x(L):L,dataType:f[0].dataType}],programUniforms:Dt}),getShaderSource:Nt=>{let hA=[{name:"output_size",type:"u32"},{name:"strides",type:"u32",length:Re.length},{name:"filter_dims",type:"u32",length:et.length},{name:"dilations",type:"u32",length:et.length},{name:"effective_filter_dims",type:"u32",length:bt.length},{name:"pads",type:"i32",length:Mt.length},{name:"input_channels_per_group",type:"u32"},{name:"output_channels_per_group",type:"u32"}],xA=ir(f[0].dataType),er=j?1:2,tr=j?2:3,qr=j?3:1,Ar=Yt("W",f[1].dataType,f[1].dims.length,te),Ir=Yt("Dy",f[0].dataType,f[0].dims.length,ye),mr=[Ir,Ar];N&&mr.push(Yt("bias",f[2].dataType,[L[qr]].length,Be));let Lt=TA("result",f[0].dataType,L.length,Be),UA=`
1290            let outputIndices = ${Lt.offsetToIndices(`global_idx * ${Be}`)};
1291            let batch = ${Lt.indicesGet("outputIndices",0)};
1292            let d1 = ${Lt.indicesGet("outputIndices",qr)};
1293            let r = ${Lt.indicesGet("outputIndices",er)};
1294            let c = ${Lt.indicesGet("outputIndices",tr)};
1295            let dyCorner = vec2<i32>(i32(r), i32(c)) - uniforms.pads;
1296            let dyRCorner = dyCorner.x;
1297            let dyCCorner = dyCorner.y;
1298            let groupId = d1 / uniforms.output_channels_per_group;
1299            let wOutChannel = d1 - groupId * uniforms.output_channels_per_group;
1300            // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).
1301            // ? = to be determined. : = across all values in that axis.
1302            var dotProd = ${Lt.type.value}(0.0);
1303            var wR: u32 = 0;
1304            if (uniforms.dilations.x == 1) {
1305              // Minimum wR >= 0 that satisfies (dyRCorner + wR) % (uniforms.strides.x) == 0
1306              wR = u32(((dyRCorner + i32(uniforms.strides.x) - 1) / i32(uniforms.strides.x)) * i32(uniforms.strides.x) - dyRCorner);
1307            }
1308            for (; wR < uniforms.effective_filter_dims.x; wR = wR + 1) {
1309              if (wR % uniforms.dilations.x != 0) {
1310                continue;
1311              }
1312              let dyR = (${xA}(dyRCorner) + ${xA}(wR)) / ${xA}(uniforms.strides[0]);
1313              let wRPerm = uniforms.filter_dims.x - 1 - wR / uniforms.dilations.x;
1314              if (dyR < 0.0 || dyR >= ${xA}(uniforms.Dy_shape[${er}]) || fract(dyR) > 0.0 ||
1315                  wRPerm < 0) {
1316                continue;
1317              }
1318              let idyR: u32 = u32(dyR);
1319              var wC: u32 = 0;
1320              if (uniforms.dilations.y == 1) {
1321                // Minimum wC >= 0 that satisfies (dyCCorner + wC) % (uniforms.strides.y) == 0
1322                wC = u32(((dyCCorner + i32(uniforms.strides.y) - 1) / i32(uniforms.strides.y)) * i32(uniforms.strides.y) - dyCCorner);
1323              }
1324
1325              for (; wC < uniforms.effective_filter_dims.y; wC = wC + 1) {
1326                if (wC % uniforms.dilations.y != 0) {
1327                  continue;
1328                }
1329                let dyC = (${xA}(dyCCorner) + ${xA}(wC)) / ${xA}(uniforms.strides.y);
1330                let wCPerm = uniforms.filter_dims.y - 1 - wC / uniforms.dilations.y;
1331                if (dyC < 0.0 || dyC >= ${xA}(uniforms.Dy_shape[${tr}]) ||
1332                    fract(dyC) > 0.0 || wCPerm < 0) {
1333                  continue;
1334                }
1335                let idyC: u32 = u32(dyC);
1336                var inputChannel = groupId * uniforms.input_channels_per_group;
1337                for (var d2: u32 = 0; d2 < uniforms.input_channels_per_group; d2 = d2 + ${ye}) {
1338                  let xValue = ${j?Ir.getByOffset(`${Ir.indicesToOffset(`${Ir.type.indices}(batch, idyR, idyC, inputChannel)`)} / ${ye}`):Ir.get("batch","inputChannel","idyR","idyC")};
1339                  ${(()=>{let HA="";if(ye===1)HA+=`
1340        let w_offset = ${Ar.indicesToOffset(`${Ar.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)};
1341        let wValue = ${Ar.getByOffset(`w_offset / ${te}`)};
1342        dotProd = dotProd + xValue * wValue;`;else if(ne===1)HA+=`
1343          let wValue = ${Ar.getByOffset(`${Ar.indicesToOffset(`${Ar.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)} / ${te}`)};
1344          dotProd = dotProd + dot(xValue, wValue);`;else for(let RA=0;RA<ye;RA++)HA+=`
1345            let wValue${RA} = ${Ar.getByOffset(`${Ar.indicesToOffset(`${Ar.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel + ${RA}, wOutChannel)`)} / ${te}`)};
1346            dotProd = dotProd + xValue[${RA}] * wValue${RA};`;return HA})()}
1347                  inputChannel = inputChannel + ${ye};
1348                }
1349                wC = wC + uniforms.strides.y - 1;
1350              }
1351              wR = wR + uniforms.strides[0] - 1;
1352            }
1353            let value = dotProd${N?` + bias[d1 / ${Be}]`:""};
1354            ${Lt.setByOffset("global_idx","value")};
1355          `;return`
1356    ${Nt.registerUniforms(hA).declareVariables(...mr,Lt)}
1357      ${Nt.mainStart()}
1358      ${Nt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")};
1359    ${UA}}`}}}}),kn=me(()=>{v1(),_0(),h0(),Pt=(f,I,x,N,L,j)=>(f-1)*I+x+(N-1)*L+1-j,Wt=(f,I,x,N,L)=>{let j=Math.floor(f/2);I==="SAME_UPPER"?(x[N]=j,x[L]=f-j):I==="SAME_LOWER"&&(x[N]=f-j,x[L]=j)},cA=(f,I,x,N,L,j,Y,Ae,se,ne)=>{let ye=f.length-2,Be=ne.length===0;se.length<ye&&se.push(...Array(ye-se.length).fill(0));let te=f[0],Te=I[Ae?3:1]*L;for(let Oe=0,Ke=f.length-ye-(Ae?1:0);Oe<ye;++Oe,++Ke){let Re=f[Ke],et=Be?Re*Y[Oe]:ne[Oe],ft=Pt(Re,Y[Oe],j[Oe],I[Ke],x[Oe],et);Wt(ft,N,j,Oe,Oe+ye),Be&&ne.push(Y[Oe]*(Re-1)+se[Oe]+(I[Ke]-1)*x[Oe]+1-j[Oe]-j[Oe+ye])}ne.splice(0,0,te),ne.splice(Ae?3:1,0,Te)},gA=(f,I)=>{let x=f.kernelShape.slice();if(f.kernelShape.length===0||f.kernelShape.reduce((Be,te)=>Be*te,1)===0){x.length=0;for(let Be=2;Be<I[1].dims.length;++Be)x.push(I[1].dims[Be])}let N=f.format==="NHWC";x.splice(0,0,I[1].dims[0]),x.splice(N?3:1,0,I[1].dims[1]);let L=f.pads.slice(),j=f.outputShape.slice(),Y=f.outputPadding.slice(),Ae=I[0].dims,se=f.dilations.slice();if(se.reduce((Be,te)=>Be+te,0)===0){let Be=I[0].dims.length-2;se=new Array(Be).fill(1)}let ne=f.strides.slice();if(ne.reduce((Be,te)=>Be+te,0)===0){let Be=I[0].dims.length-2;ne=new Array(Be).fill(1)}cA(Ae,x,se,f.autoPad,f.group,L,ne,N,Y,j);let ye=Object.assign({},f);return Object.assign(ye,{kernelShape:x,pads:L,outputPadding:Y,outputShape:j,dilations:se,strides:ne}),ye},SA=f=>{let I=In(f),x=f.format,N=["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][typeof f.autoPad>"u"?0:f.autoPad],L=f.dilations,j=f.group,Y=f.kernelShape,Ae=f.pads,se=f.strides,ne=f.wIsConst();return{autoPad:N,format:x,dilations:L,group:j,kernelShape:Y,outputPadding:f.outputPadding,outputShape:f.outputShape,pads:Ae,strides:se,wIsConst:ne,...I,cacheKey:`${f.format};${I.activation};`}},VA=(f,I)=>{if(!f||f.length!==2&&f.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(f[0].dims.length!==4&&f[0].dims.length!==3)throw new Error("currently only support 2-dimensional conv");if(f[0].dims.length!==f[1].dims.length)throw new Error("filter does not have same dimension as input");if(f[0].dims[I.format==="NHWC"?f[0].dims.length-1:1]!==f[1].dims[0])throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");let x=f[1].dims[1]*I.group;if(f.length===3&&(f[2].dims.length!==1||f[2].dims[0]!==x))throw new Error("invalid bias");let N=f[0].dims.length-2;if(I.dilations.reduce((L,j)=>L+j,0)>0&&I.dilations.length!==N)throw new Error(`dilations should be ${N}D`);if(I.strides.reduce((L,j)=>L+j,0)>0&&I.strides.length!==N)throw new Error(`strides should be ${N}D`);if(I.pads.reduce((L,j)=>L+j,0)>0&&I.pads.length!==2*N)throw new Error(`pads should be ${2*N}D`);if(I.outputPadding.length!==N&&I.outputPadding.length!==0)throw new Error(`output_padding should be ${N}D`);if(I.kernelShape.reduce((L,j)=>L+j,0)>0&&I.kernelShape.length!==0&&I.kernelShape.length!==f[1].dims.length-2)throw new Error("invalid kernel shape");if(I.outputShape.length!==0&&I.outputShape.length!==f[0].dims.length-2)throw new Error("invalid output shape")},qA=(f,I,x,N)=>{let L=f.kernelCustomData.wT??f.compute($s(I[1],[2,3,0,1]),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];x.wIsConst&&!f.kernelCustomData.wT&&(f.kernelCustomData.wT=L);let j=[I[0],L];I.length===3&&j.push(I[2]),f.compute(yt(j,x,N),{inputs:j})},Cr=(f,I)=>{let x=I.format==="NHWC",N=[f.inputs[0].reshape(x?[f.inputs[0].dims[0],1,f.inputs[0].dims[1],f.inputs[0].dims[2]]:[f.inputs[0].dims[0],f.inputs[0].dims[1],1,f.inputs[0].dims[2]]),f.inputs[1].reshape([f.inputs[1].dims[0],f.inputs[1].dims[1],1,f.inputs[1].dims[2]])];f.inputs.length===3&&N.push(f.inputs[2]);let L=I.kernelShape;(L.length===0||L[0]===0)&&(L=[f.inputs[1].dims[2]]);let j=I.dilations;(j.length===0||j[0]===0)&&(j=[1]);let Y=I.strides;(Y.length===0||Y[0]===0)&&(Y=[1]);let Ae=I.pads;Ae.length===0&&(Ae=[0,0]),Ae=[0,Ae[0],0,Ae[1]],Y=[1].concat(Y),j=[1].concat(j),L=[1].concat(L);let se=I.outputPadding;se=[0].concat(se);let ne=gA({...I,pads:Ae,strides:Y,dilations:j,kernelShape:L,outputPadding:se},N);qA(f,N,ne,ye=>x?[ye[0],ye[2],ye[3]]:[ye[0],ye[1],ye[3]])},Yr=(f,I)=>{if(VA(f.inputs,I),f.inputs[0].dims.length===3)Cr(f,I);else{let x=gA(I,f.inputs);qA(f,f.inputs,x)}}}),_n=me(()=>{hr(),yr(),va(),Qr(),Xr=(f,I,x,N)=>{let L=gt.size(I),j=I.length,Y=Yt("input",f,j),Ae=TA("output",f,j),se=x.dataType===6?x.getInt32Array()[0]:Number(x.getBigInt64Array()[0]),ne=gt.normalizeAxis(se,j);return{name:"CumSum",shaderCache:{hint:N.cacheKey,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:I,dataType:f}],dispatchGroup:{x:Math.ceil(L/64)},programUniforms:[{type:12,data:L},{type:12,data:ne},..._A(I,I)]}),getShaderSource:ye=>{let Be=` i32(${Y.indicesGet("inputIndices","uniforms.axis")}) `,te=PA("uniforms.input_shape","uniforms.axis",j),Te=N.reverse?Be+(N.exclusive?" + 1":""):"0",Oe=N.reverse?te:Be+(N.exclusive?"":" + 1");return`
1360                ${ye.registerUniform("outputSize","u32").registerUniform("axis","u32").declareVariables(Y,Ae)}
1361                ${ye.mainStart()}
1362                  ${ye.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1363                  var inputIndices = ${Ae.offsetToIndices("global_idx")};
1364                  var sum = ${Ae.type.value}(0);
1365                  let first : i32 = ${Te};
1366                  let last : i32 = ${Oe};
1367                  for (var i : i32 = first; i < last; i++) {
1368                    ${Y.indicesSet("inputIndices","uniforms.axis","u32(i)")};
1369                    sum = sum + ${Y.getByIndices("inputIndices")};
1370                  }
1371                  ${Ae.setByOffset("global_idx","sum")};
1372                }`}}},ls=(f,I)=>{let x=f.inputs[0].dims,N=f.inputs[0].dataType,L=f.inputs[1];f.compute(Xr(N,x,L,I),{inputs:[0]})},as=f=>{let I=f.exclusive===1,x=f.reverse===1;return vt({exclusive:I,reverse:x})}}),ri=me(()=>{hr(),yr(),va(),Qr(),xs=f=>{if(!f||f.length!==1)throw new Error("DepthToSpace requires 1 input.");if(f[0].dims.length!==4)throw new Error("DepthToSpace requires 4D input.")},Ms=(f,I,x,N)=>{let L=[];L.push(`fn perm(i: ${N.type.indices}) -> ${x.type.indices} {
1373    var a: ${x.type.indices};`);for(let j=0;j<I;++j)L.push(x.indicesSet("a",f[j],`i[${j}]`));return L.push("return a;}"),L.join(`
1374`)},zs=(f,I)=>{let x,N,L,j,Y,Ae,se=I.format==="NHWC",ne=I.blocksize,ye=I.mode==="DCR";se?([x,N,L,j]=f.dims,Y=ye?[x,N,L,ne,ne,j/ne**2]:[x,N,L,j/ne**2,ne,ne],Ae=ye?[0,1,3,2,4,5]:[0,1,4,2,5,3]):([x,N,L,j]=[f.dims[0],f.dims[2],f.dims[3],f.dims[1]],Y=ye?[x,ne,ne,j/ne**2,N,L]:[x,j/ne**2,ne,ne,N,L],Ae=ye?[0,3,4,1,5,2]:[0,1,4,2,5,3]);let Be=f.reshape(Y),te=Be.dims.length,Te=f.dataType,Oe=Yt("a",Te,te),Ke=TA("output",Te,te);return{name:"DepthToSpace",shaderCache:{hint:`${f.dims};${I.blocksize};${I.mode}`,inputDependencies:["rank"]},getRunData:Re=>{let et=se?[x,N*ne,L*ne,j/ne**2]:[x,j/ne**2,N*ne,L*ne],ft=gt.size(et),bt=Be.dims,Mt=gt.sortBasedOnPerm(bt,Ae);return{outputs:[{dims:et,dataType:Re[0].dataType}],dispatchGroup:{x:Math.ceil(ft/64)},programUniforms:[{type:12,data:ft},..._A(bt,Mt)]}},getShaderSource:Re=>`
1375  ${Re.registerUniform("output_size","u32").declareVariables(Oe,Ke)}
1376
1377  ${Ms(Ae,te,Oe,Ke)}
1378
1379  ${Re.mainStart()}
1380    ${Re.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1381
1382    let indices = ${Ke.offsetToIndices("global_idx")};
1383    let aIndices = perm(indices);
1384
1385    ${Ke.setByOffset("global_idx",Oe.getByIndices("aIndices"))}
1386  }`}},Os=(f,I)=>{xs(f.inputs),f.compute(zs(f.inputs[0],I))},ga=f=>vt({blocksize:f.blocksize,mode:f.mode,format:f.format})}),Z0=me(()=>{hr(),yr(),va(),Qr(),pa="^"+(ha="("+(na="[a-zA-Z]|\\.\\.\\.")+")+")+"$",Gn="^"+("("+ha+",)*"+ha)+"$",Fn=class{constructor(f=-1){this.symbolToIndices=new Map,this.inputIndex=f}addSymbol(f,I){let x=this.symbolToIndices.get(f);x===void 0?x=[I]:x.push(I),this.symbolToIndices.set(f,x)}},Ln=class{constructor(f,I){var L;this.equation=I,this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[x,N]=I.includes("->")?I.split("->",2):[I,""];if(!x.match(RegExp(Gn)))throw new Error("Invalid LHS term");if(x.split(",").forEach((j,Y)=>{let Ae=f[Y].dims.slice();if(!j.match(RegExp(pa)))throw new Error("Invalid LHS term");let se=this.processTerm(j,!0,Ae,Y);this.lhs.push(se)}),N==="")N+=[...this.symbolToInfo.entries()].filter(([j,Y])=>Y.count===1||j==="...").map(([j])=>j).join("");else if(!N.match(RegExp(ha)))throw new Error("Invalid RHS");(L=N.match(RegExp(na,"g")))==null||L.forEach(j=>{if(j==="...")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let Y=this.symbolToInfo.get(j);if(Y===void 0)throw new Error("Invalid RHS symbol");this.outputDims.push(Y.dimValue)}}),this.rhs=this.processTerm(N,!1,this.outputDims)}addSymbol(f,I,x){let N=this.symbolToInfo.get(f);if(N!==void 0){if(N.dimValue!==I&&N.count!==1)throw new Error("Dimension mismatch");N.count++,N.inputIndices.push(x)}else N={count:1,dimValue:I,inputIndices:[x]};this.symbolToInfo.set(f,N)}processTerm(f,I,x,N=-1){let L=x.length,j=!1,Y=[],Ae=0;if(!f.match(RegExp(pa))&&!I&&f!=="")throw new Error("Invalid LHS term");let se=f.match(RegExp(na,"g")),ne=new Fn(N);return se==null||se.forEach((ye,Be)=>{if(ye==="..."){if(j)throw new Error("Only one ellipsis is allowed per input term");j=!0;let te=L-se.length+1;if(te<0)throw new Error("Ellipsis out of bounds");if(Y=x.slice(Ae,Ae+te),this.hasEllipsis){if(this.ellipsisDims.length!==Y.length||this.ellipsisDims.toString()!==Y.toString())throw new Error("Ellipsis dimensions mismatch")}else{if(!I)throw new Error("Ellipsis must be specified in the LHS");this.hasEllipsis=!0,this.ellipsisDims=Y}for(let Te=0;Te<Y.length;Te++){let Oe=String.fromCharCode(48+Te);ne.addSymbol(Oe,Be+Te),this.addSymbol(Oe,x[Ae++],N)}}else ne.addSymbol(ye,Be+(this.hasEllipsis?this.ellipsisDims.length-1:0)),this.addSymbol(ye,x[Ae++],N)}),ne}},Vn=f=>f+"_max",yo=(f,I,x,N)=>{let L=f.map(se=>se.length).map((se,ne)=>Yt(`input${ne}`,I,se)),j=gt.size(N),Y=TA("output",I,N.length),Ae=[...x.symbolToInfo.keys()].filter(se=>!x.rhs.symbolToIndices.has(se));return{name:"Einsum",shaderCache:{hint:x.equation,inputDependencies:f.map(()=>"rank")},getRunData:()=>{let se=Ae.filter(ye=>x.symbolToInfo.has(ye)).map(ye=>{var Be;return{type:12,data:((Be=x.symbolToInfo.get(ye))==null?void 0:Be.dimValue)||0}});se.push({type:12,data:j});let ne=f.map((ye,Be)=>[..._A(ye)]).reduce((ye,Be)=>ye.concat(Be),se);return ne.push(..._A(N)),{outputs:[{dims:N,dataType:I}],dispatchGroup:{x:Math.ceil(j/64)},programUniforms:ne}},getShaderSource:se=>{let ne=[],ye=[],Be=[],te=[],Te=[],Oe=x.symbolToInfo.size===x.rhs.symbolToIndices.size;x.symbolToInfo.forEach((Re,et)=>{var ft;if(x.rhs.symbolToIndices.has(et)){let bt=(ft=x.rhs.symbolToIndices.get(et))==null?void 0:ft[0];bt!==void 0&&x.lhs.forEach((Mt,Dt)=>{if(Re.inputIndices.includes(Dt)){let Nt=Mt.symbolToIndices.get(et);if(Nt===void 0)throw new Error("Invalid symbol error");Nt.forEach(hA=>{ne.push(`${L[Dt].indicesSet(`input${Dt}Indices`,hA,Y.indicesGet("outputIndices",bt))}`)})}})}else x.lhs.forEach((bt,Mt)=>{if(Re.inputIndices.includes(Mt)){let Dt=bt.symbolToIndices.get(et);if(Dt===void 0)throw new Error("Invalid symbol error");Dt.forEach(Nt=>{ye.push(`${L[Mt].indicesSet(`input${Mt}Indices`,Nt,`${et}`)}`)}),Te.push(`prod *= ${L[Mt].getByIndices(`input${Mt}Indices`)};`)}}),Be.push(`for(var ${et}: u32 = 0; ${et} < uniforms.${Vn(et)}; ${et}++) {`),te.push("}")});let Ke=Oe?[...ne,`let sum = ${L.map((Re,et)=>Re.getByIndices(`input${et}Indices`)).join(" * ")};`]:[...ne,"var sum = 0.0;",...Be,...ye,"var prod = 1.0;",...Te,"sum += prod;",...te];return`
1387            ${se.registerUniforms(Ae.map(Re=>({name:`${Vn(Re)}`,type:"u32"}))).registerUniform("outputSize","u32").declareVariables(...L,Y)}
1388
1389            ${se.mainStart()}
1390            ${se.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1391            var outputIndices = ${Y.offsetToIndices("global_idx")};
1392            ${L.map((Re,et)=>`var input${et}Indices: ${L[et].type.indices};`).join(`
1393`)}
1394            ${Ke.join(`
1395`)};
1396            ${Y.setByOffset("global_idx","sum")};
1397          }`}}},to=(f,I)=>{let x=new Ln(f.inputs,I.equation),N=x.outputDims,L=f.inputs.map((j,Y)=>j.dims);f.compute(yo(L,f.inputs[0].dataType,x,N))},Ao=f=>{let I=f.equation.replace(/\s+/g,"");return vt({equation:I})}}),sf=me(()=>{hr(),yr(),Qr(),Qi=f=>{if(!f||f.length!==2)throw new Error("Expand requires 2 input.");let I=f[0].dims,x=Array.from(f[1].getBigInt64Array(),Number),N=x.length<I.length?0:x.length-I.length,L=I.length<x.length?0:I.length-x.length;for(;N<x.length&&L<I.length;++N,++L)if(x[N]!==I[L]&&x[N]!==1&&I[L]!==1)throw new Error("Expand requires shape to be broadcastable to input")},Xo=(f,I)=>{let x=f.length-I.length,N=[];for(let L=0;L<x;++L)N.push(f[L]);for(let L=0;L<I.length;++L)N.push(I[L]===1?f[L+x]:I[L]);return N},o0=(f,I)=>f.length>I.length?Xo(f,I):Xo(I,f),l0=f=>{let I=f[0].dims,x=Array.from(f[1].getBigInt64Array(),Number),N=o0(I,x),L=f[0].dataType,j=L===9||gt.size(I)===1,Y=L===9||I.length>0&&I[I.length-1]%4==0?4:1,Ae=j||N.length>0&&N[N.length-1]%4==0?4:1,se=Math.ceil(gt.size(N)/Ae),ne=[{type:12,data:se},..._A(I,N)];return{name:"Expand",shaderCache:{hint:`${N.length};${Y}${Ae}`,inputDependencies:["rank"]},getShaderSource:ye=>{let Be,te=Yt("input",L,I.length,Y),Te=TA("output",L,N.length,Ae);if(L===9){let Oe=(Ke,Re,et="")=>`
1398          let outputIndices${Re} = ${Te.offsetToIndices(`outputOffset + ${Re}u`)};
1399          let offset${Re} = ${te.broadcastedIndicesToOffset(`outputIndices${Re}`,Te)};
1400          let index${Re} = offset${Re} / 4u;
1401          let component${Re} = offset${Re} % 4u;
1402          ${Ke}[${Re}] = ${et}(${te.getByOffset(`index${Re}`)}[component${Re}]);
1403        `;Be=`
1404        let outputOffset = global_idx * ${Ae};
1405        var data = vec4<u32>(0);
1406        ${Oe("data",0,"u32")}
1407        ${Oe("data",1,"u32")}
1408        ${Oe("data",2,"u32")}
1409        ${Oe("data",3,"u32")}
1410        ${Te.setByOffset("global_idx","data")}
1411      }`}else Be=`
1412        let outputIndices = ${Te.offsetToIndices(`global_idx * ${Ae}`)};
1413        let inputOffset = ${te.broadcastedIndicesToOffset("outputIndices",Te)};
1414        let data = ${Te.type.value}(${te.getByOffset(`inputOffset / ${Y}`)});
1415        ${Te.setByOffset("global_idx","data")}
1416      }`;return`
1417    ${ye.registerUniform("vec_size","u32").declareVariables(te,Te)}
1418    ${ye.mainStart()}
1419    ${ye.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
1420    ${Be}`},getRunData:()=>({outputs:[{dims:N,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:ne})}},ro=f=>{Qi(f.inputs),f.compute(l0(f.inputs),{inputs:[0]})}}),y1=me(()=>{hr(),yr(),Qr(),A2(),fl=f=>{let I=f[0].dataType,x=gt.size(f[0].dims),N=gt.size(f[1].dims),L=N%4==0;return{name:"FastGeluWithBias",shaderCache:{hint:`${L}`,inputDependencies:["type","type"]},getShaderSource:j=>{let Y=Yt("x",I,[1],4),Ae=Yt("bias",I,[1],4),se=TA("y",I,[1],4),ne=Be=>`
1421      let bias${Be}_offset: u32 = (global_idx * 4 + ${Be}) % uniforms.bias_size;
1422      let bias${Be} = ${Ae.getByOffset(`bias${Be}_offset / 4`)}[bias${Be}_offset % 4];`,ye=L?`
1423      let bias = ${Ae.getByOffset("global_idx % (uniforms.bias_size / 4)")};`:`${ne(0)}${ne(1)}${ne(2)}${ne(3)}
1424      let bias = ${Y.type.value}(bias0, bias1, bias2, bias3);`;return`${j.registerUniforms([{name:"output_vec_size",type:"u32"},{name:"bias_size",type:"u32"}]).declareVariables(Y,Ae,se)}
1425
1426    ${Bn(IA(I))}
1427
1428    ${j.mainStart(Gr)}
1429      ${j.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_vec_size")}
1430
1431      let x = ${Y.getByOffset("global_idx")};
1432      ${ye}
1433      let x_in = x + bias;
1434      ${se.setByOffset("global_idx",Co("x_in"))}
1435    }`},getRunData:j=>({outputs:[{dims:j[0].dims,dataType:j[0].dataType}],programUniforms:[{type:12,data:Math.ceil(x/4)},{type:12,data:N}],dispatchGroup:{x:Math.ceil(x/Gr/4)}})}},dl=f=>{f.inputs.length<2||gt.size(f.inputs[1].dims)===0?rn(f):f.compute(fl(f.inputs))}}),E1=me(()=>{hr(),yr(),va(),Qr(),gl=f=>{if(!f||f.length!==2)throw new Error("Gather requires 2 inputs.")},m0=(f,I)=>{let x=f[0].dims,N=f[1].dims,L=x.length,j=gt.normalizeAxis(I.axis,L),Y=x.slice(0);Y.splice(j,1,...N);let Ae=x[j],se=f[0].dataType===9?4:1,ne=Math.ceil(gt.size(Y)/se),ye=[{type:12,data:ne},{type:6,data:Ae},{type:12,data:j},..._A(f[0].dims,f[1].dims,Y)];return{name:"Gather",shaderCache:{hint:I.cacheKey,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:Y,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:ye}),getShaderSource:Be=>{let te,Te=Yt("data",f[0].dataType,f[0].dims.length,se),Oe=Yt("inputIndices",f[1].dataType,f[1].dims.length),Ke=TA("output",f[0].dataType,Y.length,se),Re=et=>{let ft=N.length,bt=`var indicesIndices${et}  = ${Oe.type.indices}(0);`;for(let Mt=0;Mt<ft;Mt++)bt+=`${ft>1?`indicesIndices${et}[${Mt}]`:`indicesIndices${et}`} = ${Y.length>1?`outputIndices${et}[uniforms.axis + ${Mt}]`:`outputIndices${et}`};`;bt+=`
1436          var idx${et} = ${Oe.getByIndices(`indicesIndices${et}`)};
1437          if (idx${et} < 0) {
1438            idx${et} = idx${et} + uniforms.axisDimLimit;
1439          }
1440          var dataIndices${et} : ${Te.type.indices};
1441        `;for(let Mt=0,Dt=0;Mt<L;Mt++)Mt===j?(bt+=`${L>1?`dataIndices${et}[${Mt}]`:`dataIndices${et}`} = u32(idx${et});`,Dt+=ft):(bt+=`${L>1?`dataIndices${et}[${Mt}]`:`dataIndices${et}`} = ${Y.length>1?`outputIndices${et}[${Dt}]`:`outputIndices${et}`};`,Dt++);return bt};if(f[0].dataType===9){let et=(ft,bt,Mt="")=>`
1442          let outputIndices${bt} = ${Ke.offsetToIndices(`outputOffset + ${bt}u`)};
1443          ${Re(bt)};
1444          let offset${bt} = ${Te.indicesToOffset(`dataIndices${bt}`)};
1445          let index${bt} = offset${bt} / 4u;
1446          let component${bt} = offset${bt} % 4u;
1447          ${ft}[${bt}] = ${Mt}(${Te.getByOffset(`index${bt}`)}[component${bt}]);
1448        `;te=`
1449        let outputOffset = global_idx * ${se};
1450        var value = vec4<u32>(0);
1451        ${et("value",0,"u32")}
1452        ${et("value",1,"u32")}
1453        ${et("value",2,"u32")}
1454        ${et("value",3,"u32")}
1455        ${Ke.setByOffset("global_idx","value")}
1456      `}else te=`
1457      let outputIndices = ${Ke.offsetToIndices("global_idx")};
1458      ${Re("")};
1459      let value = ${Te.getByIndices("dataIndices")};
1460      ${Ke.setByOffset("global_idx","value")};
1461      `;return`
1462      ${Be.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(Te,Oe,Ke)}
1463      ${Be.mainStart()}
1464        ${Be.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1465        ${te}
1466      }`}}},hl=f=>vt({axis:f.axis}),R0=(f,I)=>{let x=f.inputs;gl(x),f.compute(m0(f.inputs,I))}}),le=me(()=>{hr(),yr(),Qr(),pl=(f,I,x,N,L,j,Y,Ae,se)=>{let ne=[{type:12,data:j},{type:12,data:N},{type:12,data:L},{type:12,data:x},{type:12,data:Y},{type:12,data:Ae},{type:12,data:se}],ye=[j];return ne.push(..._A(I.dims,ye)),f.compute({name:"computeSliceOffsets",shaderCache:{hint:`${L.length}_${x.length}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:ye,dataType:f.inputs[1].dataType}],dispatchGroup:{x:Math.ceil(j/64)},programUniforms:ne}),getShaderSource:Be=>{let te=[Yt("indices_data",I.dataType,I.dims.length),TA("input_slice_offsets_data",12,1,1)],Te=[{name:"output_size",type:"u32"},{name:"batch_dims",type:"u32"},{name:"input_dims",type:"u32",length:L.length},{name:"sizes_from_slice_dims_data",type:"u32",length:x.length},{name:"num_slices_per_batch",type:"u32"},{name:"input_batch_stride",type:"u32"},{name:"num_slice_dims",type:"u32"}];return`
1467  ${Be.registerUniforms(Te).declareVariables(...te)}
1468  ${Be.mainStart()}
1469    ${Be.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1470    let batch_idx = global_idx / uniforms.num_slices_per_batch;
1471    let base_offset = batch_idx * uniforms.input_batch_stride;
1472
1473    let slice_indices_base_offset = global_idx * uniforms.num_slice_dims;
1474    var relative_slice_offset = 0;
1475    for (var dim_idx = 0u; dim_idx < uniforms.num_slice_dims; dim_idx ++) {
1476      var index = i32(indices_data[dim_idx + slice_indices_base_offset].x);
1477      let input_dim_idx = uniforms.batch_dims + dim_idx;
1478      if (index < 0) {
1479        ${L.length===1?"index += i32(uniforms.input_dims);":"index += i32(uniforms.input_dims[input_dim_idx]);"}
1480      }
1481      ${x.length===1?"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data);":"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data[dim_idx]);"}
1482    }
1483
1484    input_slice_offsets_data[global_idx] =  base_offset + u32(relative_slice_offset);
1485  }`}},{inputs:[I],outputs:[-1]})[0]},b0=(f,I)=>{let x=f.inputs,N=x[0].dims,L=x[0].dataType,j=x[1].dims,Y=j[j.length-1],Ae=gt.sizeToDimension(j,j.length-1),se=gt.sizeFromDimension(N,I.batchDims+Y),ne=gt.sizeToDimension(N,I.batchDims),ye=gt.sizeFromDimension(N,I.batchDims),Be=Ae/ne,te=new Array(Y),Te=se;for(let bt=0;bt<Y;++bt)te[Y-1-bt]=Te,Te*=N[I.batchDims+Y-1-bt];let Oe=pl(f,x[1],te,I.batchDims,N,Ae,Be,ye,Y),Ke=I.batchDims+Y;if(Ke>N.length)throw new Error("last dimension of indices must not be larger than rank of input tensor");let Re=j.slice(0,-1).concat(N.slice(Ke)),et=gt.size(Re),ft=[{type:12,data:et},{type:12,data:se},..._A(x[0].dims,Oe.dims,Re)];f.compute({name:"GatherND",shaderCache:{hint:I.cacheKey,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:Re,dataType:L}],dispatchGroup:{x:Math.ceil(et/64)},programUniforms:ft}),getShaderSource:bt=>{let Mt=Yt("data",x[0].dataType,x[0].dims.length),Dt=Yt("slice_offsets",12,Oe.dims.length),Nt=TA("output",x[0].dataType,Re.length);return`
1486          ${bt.registerUniform("output_size","u32").registerUniform("slice_size","u32").declareVariables(Mt,Dt,Nt)}
1487            ${bt.mainStart()}
1488            ${bt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1489          let slice_offset = slice_offsets[global_idx / uniforms.slice_size];
1490          output[global_idx] = data[u32(slice_offset) + global_idx % uniforms.slice_size];
1491        }`}},{inputs:[x[0],Oe]})},j0=f=>({batchDims:f.batch_dims,cacheKey:""})}),xe=me(()=>{hr(),yr(),va(),Qr(),ml=(f,I)=>{if(f.length<3||f.length>4)throw new Error("GatherBlockQuantized requires 3 or 4 inputs.");let x=gt.normalizeAxis(I.quantizeAxis,f[0].dims.length),N=I.blockSize,L=f[0],j=f[2],Y=f.length===4?f[3]:void 0;if(j.dims.length!==L.dims.length||!L.dims.map((Ae,se)=>se===x?Math.ceil(Ae/N)===j.dims[se]:Ae===j.dims[se]).reduce((Ae,se)=>Ae&&se,!0))throw new Error("Scales must have the same rank as the input tensor and the dims should match except on gatherAxis.");if(Y){if(Y.dataType!==L.dataType)throw new Error("Zero point must have the same data type as the input tensor.");if(Y.dims.length!==j.dims.length||!Y.dims.map((Ae,se)=>Ae===j.dims[se]).reduce((Ae,se)=>Ae&&se,!0))throw new Error("Zero point must have the same rank as the input tensor and the dims should match except on quantizeAxis.")}},bl=(f,I)=>{let x=f[0].dims,N=f[1].dims,L=x.length,j=gt.normalizeAxis(I.gatherAxis,L),Y=gt.normalizeAxis(I.quantizeAxis,L),Ae=x.slice(0);Ae.splice(j,1,...N);let se=gt.size(Ae),ne=f[2].dataType,ye=f[0].dataType===22,Be=[{type:12,data:se},{type:12,data:Y},{type:12,data:j},{type:12,data:I.blockSize},..._A(...f.map((te,Te)=>te.dims),Ae)];return{name:"GatherBlockQuantized",shaderCache:{hint:`${I.cacheKey};${f.filter((te,Te)=>Te!==1).map(te=>te.dims.join("_")).join(";")}`,inputDependencies:Array.from({length:f.length},(te,Te)=>"rank")},getRunData:()=>({outputs:[{dims:Ae,dataType:ne}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:Be}),getShaderSource:te=>{let Te=Yt("data",f[0].dataType,f[0].dims.length),Oe=Yt("inputIndices",f[1].dataType,f[1].dims.length),Ke=Yt("scales",f[2].dataType,f[2].dims.length),Re=f.length>3?Yt("zeroPoint",f[3].dataType,f[3].dims.length):void 0,et=TA("output",ne,Ae.length),ft=[Te,Oe,Ke];return Re&&ft.push(Re),`
1492        ${te.registerUniforms([{name:"output_size",type:"u32"},{name:"quantize_axis",type:"u32"},{name:"gather_axis",type:"u32"},{name:"block_size",type:"u32"}]).declareVariables(...ft,et)}
1493        ${te.mainStart()}
1494        let output_indices = ${et.offsetToIndices("global_idx")};
1495        var indices_indices = ${Oe.type.indices}(0);
1496        ${N.length>1?`
1497          for (var i: u32 = 0; i < ${N.length}; i++) {
1498            let index = ${et.indicesGet("output_indices","uniforms.gather_axis + i")};
1499            ${Oe.indicesSet("indices_indices","i","index")};
1500          }`:`indices_indices = ${et.indicesGet("output_indices","uniforms.gather_axis")};`};
1501        var data_indices = ${Te.type.indices}(0);
1502        for (var i: u32 = 0; i < uniforms.gather_axis; i++) {
1503          let index = ${et.indicesGet("output_indices","i")};
1504          ${Te.indicesSet("data_indices","i","index")};
1505        }
1506        var index_from_indices = ${Oe.getByIndices("indices_indices")};
1507        if (index_from_indices < 0) {
1508          index_from_indices += ${x[j]};
1509        }
1510        ${Te.indicesSet("data_indices","uniforms.gather_axis","u32(index_from_indices)")};
1511        for (var i = uniforms.gather_axis + 1; i < ${Ae.length}; i++) {
1512          let index = ${et.indicesGet("output_indices",`i + ${N.length} - 1`)};
1513          ${Te.indicesSet("data_indices","i","index")};
1514        }
1515        let data_offset = ${Te.indicesToOffset("data_indices")};
1516        let data_index = data_offset % 8;
1517        // Convert 4-bit packed data to 8-bit packed data.
1518        let packed_4bit_quantized_data = ${Te.getByOffset("data_offset / 8")};
1519        let packed_8bit_quantized_data = (packed_4bit_quantized_data >> (4 * (data_index % 2))) & 0x0f0f0f0f;
1520        let quantized_data_vec = ${ye?"unpack4xI8":"unpack4xU8"}(u32(packed_8bit_quantized_data));
1521        let quantized_data = quantized_data_vec[data_index / 2];
1522        var scale_indices = data_indices;
1523        let quantize_axis_index = ${Ke.indicesGet("data_indices","uniforms.quantize_axis")} / uniforms.block_size;
1524        ${Ke.indicesSet("scale_indices","uniforms.quantize_axis","quantize_axis_index")};
1525        var scale = ${Ke.getByIndices("scale_indices")};
1526        ${Re?`
1527              let zero_point_indices = scale_indices;
1528              let zero_point_offset = ${Re.indicesToOffset("zero_point_indices")};
1529              let zero_point_index = zero_point_offset % 8;
1530              let packed_4bit_zero_points = ${Re.getByOffset("zero_point_offset / 8")};
1531              let packed_8bit_zero_points = (packed_4bit_zero_points >> (4 * (zero_point_index % 2))) & 0x0f0f0f0f;
1532              let zero_point_vec = ${ye?"unpack4xI8":"unpack4xU8"}(u32(packed_8bit_zero_points));
1533              let zero_point = zero_point_vec[zero_point_index / 2];`:"var zero_point = 0"};
1534        let dequantized_data = ${IA(ne)}(quantized_data - zero_point) * scale;
1535        ${et.setByOffset("global_idx","dequantized_data")};
1536    }`}}},C0=(f,I)=>{let x=f.inputs;ml(x,I),f.compute(bl(f.inputs,I))},Cl=f=>vt({blockSize:f.blockSize,gatherAxis:f.gatherAxis,quantizeAxis:f.quantizeAxis})}),Ye=me(()=>{hr(),yr(),va(),Qr(),W0=f=>{if(!f||f.length!==2)throw new Error("GatherElements requires 2 inputs.");if(f[0].dims.length<1)throw new Error("GatherElements requires that the data input be rank >= 1.");if(f[0].dims.length!==f[1].dims.length)throw new Error(`GatherElements requires that the data input and
1537                     indices input tensors be of same rank.`)},Il=(f,I)=>{let x=f[0].dims,N=f[0].dataType,L=x.length,j=f[1].dims,Y=f[1].dataType,Ae=gt.normalizeAxis(I.axis,L),se=x[Ae],ne=j.slice(0),ye=gt.size(ne),Be=Yt("input",N,L),te=Yt("indicesInput",Y,j.length),Te=TA("output",N,ne.length),Oe=[{type:12,data:ye},{type:6,data:se},{type:12,data:Ae}];return Oe.push(..._A(x,j,ne)),{name:"GatherElements",shaderCache:{inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:ne,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(ye/64)},programUniforms:Oe}),getShaderSource:Ke=>`
1538      ${Ke.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(Be,te,Te)}
1539      ${Ke.mainStart()}
1540      ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1541
1542      let outputIndices = ${Te.offsetToIndices("global_idx")};
1543
1544      var idx = ${te.getByOffset("global_idx")};
1545      if (idx < 0) {
1546        idx = idx + uniforms.axisDimLimit;
1547      }
1548      var inputIndices = ${Be.type.indices}(outputIndices);
1549      ${Be.indicesSet("inputIndices","uniforms.axis","u32(idx)")};
1550      let value = ${Be.getByIndices("inputIndices")};
1551
1552      ${Te.setByOffset("global_idx","value")};
1553  }`}},I0=f=>vt({axis:f.axis}),U0=(f,I)=>{let x=f.inputs;W0(x),f.compute(Il(f.inputs,I))}}),Et=me(()=>{hr(),yr(),Qr(),wl=f=>{if(!f)throw new Error("Input is missing");if(f.length<2||f.length>3)throw new Error("Invaid input number.");if(f.length===3&&f[2].dims.length>2)throw new Error("Invalid input shape of C");if(f[0].dataType!==f[1].dataType||f.length===3&&f[0].dataType!==f[2].dataType)throw new Error("Input types are mismatched")},kl=(f,I)=>{let x=f[0].dims.slice(),N=f[1].dims.slice(),[L,j,Y]=oA.getShapeOfGemmResult(x,I.transA,N,I.transB,f.length===3?f[2].dims:void 0),Ae=[L,j];if(!Ae)throw new Error("Can't use gemm on the given tensors");let se=16,ne=Math.ceil(j/se),ye=Math.ceil(L/se),Be=(gt.size(Ae),[{type:12,data:ne},{type:12,data:L},{type:12,data:j},{type:12,data:Y},{type:1,data:I.alpha},{type:1,data:I.beta}]),te=["type","type"];return f.length===3&&(Be.push(..._A(f[2].dims)),te.push("rank")),Be.push(..._A(Ae)),{name:"GemmShared",shaderCache:{hint:`${I.cacheKey}`,inputDependencies:te},getRunData:()=>({outputs:[{dims:Ae,dataType:f[0].dataType}],dispatchGroup:{x:ne*ye},programUniforms:Be}),getShaderSource:Te=>{let Oe=Yt("a",f[0].dataType,f[0].dims),Ke=Yt("b",f[1].dataType,f[1].dims),Re=null,et=[Oe,Ke];f.length===3&&(Re=Yt("c",f[2].dataType,f[2].dims.length),et.push(Re));let ft=TA("output",f[0].dataType,Ae.length);et.push(ft);let bt="",Mt="";I.transA&&I.transB?(Mt=`
1554      var col = tile_row_start + local_id.x;
1555      var row = k_start + local_id.y;
1556      if (col < uniforms.M && row < uniforms.K) {
1557        tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];
1558      } else {
1559        tile_a[local_id.y][local_id.x] = ${Oe.type.value}(0);
1560      }
1561
1562      col = k_start + local_id.x;
1563      row = tile_col_start + local_id.y;
1564      if (col < uniforms.K && row < uniforms.N) {
1565        tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];
1566      } else {
1567        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1568      }
1569      `,bt="value += tile_a[k][local_id.y] * tile_b[local_id.x][k];"):I.transA&&!I.transB?(Mt=`
1570      var col = tile_row_start + local_id.x;
1571      var row = k_start + local_id.y;
1572      if (col < uniforms.M && row < uniforms.K) {
1573        tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];
1574      } else {
1575        tile_a[local_id.y][local_id.x] = ${Oe.type.value}(0);
1576      }
1577
1578      col = tile_col_start + local_id.x;
1579      row = k_start + local_id.y;
1580      if (col < uniforms.N && row < uniforms.K) {
1581        tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];
1582      } else {
1583        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1584      }
1585      `,bt="value += tile_a[k][local_id.y] * tile_b[k][local_id.x];"):!I.transA&&I.transB?(Mt=`
1586      var col = k_start + local_id.x;
1587      var row = tile_row_start + local_id.y;
1588      if (col < uniforms.K && row < uniforms.M) {
1589        tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];
1590      } else {
1591        tile_a[local_id.y][local_id.x] = ${Oe.type.value}(0);
1592      }
1593
1594      col = k_start + local_id.x;
1595      row = tile_col_start + local_id.y;
1596      if (col < uniforms.K && row < uniforms.N) {
1597        tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];
1598      } else {
1599        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1600      }
1601      `,bt="value += tile_a[local_id.y][k] * tile_b[local_id.x][k];"):!I.transA&&!I.transB&&(Mt=`
1602      var col = k_start + local_id.x;
1603      var row = tile_row_start + local_id.y;
1604      if (col < uniforms.K && row < uniforms.M) {
1605        tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];
1606      } else {
1607        tile_a[local_id.y][local_id.x] = ${Oe.type.value}(0);
1608      }
1609
1610      col = tile_col_start + local_id.x;
1611      row = k_start + local_id.y;
1612      if (col < uniforms.N && row < uniforms.K) {
1613        tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];
1614      } else {
1615        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1616      }
1617      `,bt="value += tile_a[local_id.y][k] * tile_b[k][local_id.x];");let Dt=I.alpha===1?"":"value *= uniforms.alpha;";return`
1618  ${Te.registerUniforms([{name:"num_tile_n",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"},{name:"alpha",type:"f32"},{name:"beta",type:"f32"}]).declareVariables(...et)}
1619  var<workgroup> tile_a: array<array<${Oe.type.storage}, 16>, 16>;
1620  var<workgroup> tile_b: array<array<${Ke.type.storage}, 16>, 16>;
1621  ${Te.mainStart([se,se,1])}
1622    let tile_col_start = (workgroup_index % uniforms.num_tile_n) * 16;
1623    let tile_row_start = (workgroup_index / uniforms.num_tile_n) * 16;
1624    let num_tiles = (uniforms.K - 1) / 16 + 1;
1625    var k_start = 0u;
1626    var value = ${ft.type.value}(0);
1627    for (var t: u32 = 0u; t < num_tiles; t++) {
1628      ${Mt}
1629      k_start = k_start + 16;
1630      workgroupBarrier();
1631
1632      for (var k: u32 = 0u; k < 16; k++) {
1633        ${bt}
1634      }
1635      workgroupBarrier();
1636    }
1637
1638    ${Dt}
1639    let m = tile_row_start + local_id.y;
1640    let n = tile_col_start + local_id.x;
1641    ${Re!=null?`let cOffset = ${Re.broadcastedIndicesToOffset("vec2(m, n)",ft)}; value += ${ft.type.value}(uniforms.beta) * ${Re.getByOffset("cOffset")};`:""}
1642    if (m < uniforms.M && n < uniforms.N) {
1643      output[m * uniforms.N + n] = value;
1644    }
1645  }`}}},c0=f=>({transA:f.transA,transB:f.transB,alpha:f.alpha,beta:f.beta,cacheKey:`${f.transA};${f.transB};${f.alpha===1}`}),vl=(f,I)=>{wl(f.inputs),f.compute(kl(f.inputs,I))}}),Ht=me(()=>{hr(),yr(),va(),Qr(),[Pi,Si,so,Ni]=[0,1,2,3],yl=f=>{if(f[0].dims.length!==4)throw new Error("only 4-D tensor is supported.");if(f[0].dims.length!==f[1].dims.length)throw new Error("input dimensions must be equal to grid dimensions");if(f[0].dims.length-2!==f[1].dims[f[1].dims.length-1])throw new Error("last dimension of grid must be equal to "+(f[0].dims.length-2));if(f[0].dims[0]!==f[1].dims[0])throw new Error("grid batch size must match input batch size")},El=f=>`
1646  fn gs_bicubic_interpolate(p: mat4x4<${f}>, x: f32, y: f32) -> ${f} {
1647    var v: vec4<f32>;
1648    var coeffs = gs_get_cubic_coeffs(x);
1649    for (var i = 0; i < 4; i++) {
1650      v[i] = coeffs[0] * p[i][0] + coeffs[1] * p[i][1] + coeffs[2] * p[i][2] + coeffs[3] * p[i][3];
1651    }
1652    coeffs = gs_get_cubic_coeffs(y);
1653    let pixel = ${f}(coeffs[0] * v[0] + coeffs[1] * v[1] + coeffs[2] * v[2] + coeffs[3] * v[3]);
1654    return pixel;
1655  }
1656`,u0=f=>`
1657  fn gs_denormalize(n: f32, length: i32) -> f32 {
1658    ${f.alignCorners===0?`
1659    // alignCorners: false => [-1, 1] to [-0.5, length - 0.5]
1660    return ((n + 1.0) * f32(length) - 1.0) / 2.0;
1661    `:`
1662    // alignCorners: true => [-1, 1] to [0, length - 1]
1663    return (n + 1.0) / 2.0 * (f32(length - 1));
1664    `}
1665  }
1666`,Bl=f=>`
1667  ${f.paddingMode==="reflection"?`
1668      fn gs_reflect(x: i32, x_min: f32, x_max: f32) -> u32 {
1669        var dx = 0.0;
1670        var fx = f32(x);
1671        let range = x_max - x_min;
1672        if (fx < x_min) {
1673          dx = x_min - fx;
1674          let n = u32(dx / range);
1675          let r = dx - f32(n) * range;
1676          if (n % 2 == 0) {
1677            fx = x_min + r;
1678          } else {
1679            fx = x_max - r;
1680          }
1681        } else if (fx > x_max) {
1682          dx = fx - x_max;
1683          let n = u32(dx / range);
1684          let r = dx - f32(n) * range;
1685          if (n % 2 == 0) {
1686            fx = x_max - r;
1687          } else {
1688            fx = x_min + r;
1689          }
1690        }
1691        return u32(fx);
1692      }`:""}
1693`,xl=(f,I,x)=>`
1694  fn pixel_at_grid(r: i32, c: i32, H: i32, W: i32, batch: u32, channel: u32, border: vec4<f32>) -> ${I} {
1695     var pixel = ${I}(0);
1696     var indices = vec4<u32>(0);
1697     indices[${Pi}] = batch;
1698     indices[${Si}] = channel;`+(()=>{switch(x.paddingMode){case"zeros":return`
1699          if (r >= 0 && r < H && c >=0 && c < W) {
1700            indices[${so}] = u32(r);
1701            indices[${Ni}] = u32(c);
1702          }
1703        `;case"border":return`
1704          indices[${so}] = u32(clamp(r, 0, H - 1));
1705          indices[${Ni}] = u32(clamp(c, 0, W - 1));
1706        `;case"reflection":return`
1707          indices[${so}] = gs_reflect(r, border[1], border[3]);
1708          indices[${Ni}] = gs_reflect(c, border[0], border[2]);
1709        `;default:throw new Error(`padding mode ${x.paddingMode} is not supported`)}})()+`
1710    return ${f.getByIndices("indices")};
1711  }
1712`,Ml=(f,I,x)=>(()=>{switch(x.mode){case"nearest":return`
1713          let result = pixel_at_grid(i32(round(y)), i32(round(x)), H_in, W_in, indices[${Pi}], indices[${Si}], border);
1714        `;case"bilinear":return`
1715          let x1 = i32(floor(x));
1716          let y1 = i32(floor(y));
1717          let x2 = x1 + 1;
1718          let y2 = y1 + 1;
1719
1720          let p11 = pixel_at_grid(y1, x1, H_in, W_in, indices[${Pi}], indices[${Si}], border);
1721          let p12 = pixel_at_grid(y1, x2, H_in, W_in, indices[${Pi}], indices[${Si}], border);
1722          let p21 = pixel_at_grid(y2, x1, H_in, W_in, indices[${Pi}], indices[${Si}], border);
1723          let p22 = pixel_at_grid(y2, x2, H_in, W_in, indices[${Pi}], indices[${Si}], border);
1724
1725          let dx2 = ${I}(f32(x2) - x);
1726          let dx1 = ${I}(x - f32(x1));
1727          let dy2 = ${I}(f32(y2) - y);
1728          let dy1 = ${I}(y - f32(y1));
1729          let result = dy2 * (dx2 * p11 + dx1 * p12) + dy1 * (dx2 * p21 + dx1 * p22);
1730        `;case"bicubic":return`
1731          let x0 = i32(floor(x)) - 1;
1732          let y0 = i32(floor(y)) - 1;
1733          var p: mat4x4<${I}>;
1734          for (var h = 0; h < 4; h++) {
1735            for (var w = 0; w < 4; w++) {
1736              p[h][w] = pixel_at_grid(h + y0, w + x0, H_in, W_in, indices[${Pi}], indices[${Si}], border);
1737            }
1738          }
1739
1740          let dx = x - f32(x0 + 1);
1741          let dy = y - f32(y0 + 1);
1742          let result = gs_bicubic_interpolate(p, dx, dy);
1743        `;default:throw new Error(`mode ${x.mode} is not supported`)}})()+`${f.setByOffset("global_idx","result")}`,w0=(f,I)=>{let x=Yt("x",f[0].dataType,f[0].dims.length),N=[f[1].dims[0],f[1].dims[1],f[1].dims[2]],L=Yt("grid",f[1].dataType,N.length,2),j=[f[0].dims[0],f[0].dims[1],f[1].dims[1],f[1].dims[2]];I.format==="NHWC"&&(j=[f[0].dims[0],f[1].dims[1],f[1].dims[2],f[0].dims[3]],[Pi,Si,so,Ni]=[0,3,1,2]);let Y=TA("output",f[0].dataType,j.length),Ae=x.type.value,se=[{type:12,data:gt.size(j)},..._A(f[0].dims,N,j)];return{name:"GridSample",shaderCache:{hint:`${I.cacheKey}`,inputDependencies:["type","type"]},getRunData:ne=>{let ye=gt.size(j);return{outputs:[{dims:j,dataType:ne[0].dataType}],dispatchGroup:{x:Math.ceil(ye/64)},programUniforms:se}},getShaderSource:ne=>`
1744  ${ne.registerUniform("output_size","u32").declareVariables(x,L,Y)}
1745  
1746  fn gs_get_cubic_coeffs(x: f32) -> vec4<f32> {
1747    let cubic_alpha = -0.75f;
1748    let x_abs = abs(x);
1749    var coeffs: vec4<f32>;
1750    coeffs[0] = (((cubic_alpha * (x_abs + 1) - 5 * cubic_alpha) * (x_abs + 1) + 8 * cubic_alpha) * (x_abs + 1) - 4 * cubic_alpha);
1751    coeffs[1] = (((cubic_alpha + 2) * x_abs - (cubic_alpha + 3)) * x_abs * x_abs + 1);
1752    coeffs[2] = (((cubic_alpha + 2) * (1 - x_abs) - (cubic_alpha + 3)) * (1 - x_abs) * (1 - x_abs) + 1);
1753    coeffs[3] = (((cubic_alpha * (2 - x_abs) - 5 * cubic_alpha) * (2 - x_abs) + 8 * cubic_alpha) * (2 - x_abs) - 4 * cubic_alpha);
1754    return coeffs;
1755  }
1756
1757  ${El(Ae)}
1758  ${u0(I)}
1759  ${Bl(I)}
1760  ${xl(x,Ae,I)}
1761
1762  ${ne.mainStart()}
1763    ${ne.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1764      let H_in = i32(uniforms.x_shape[${so}]);
1765      let W_in = i32(uniforms.x_shape[${Ni}]);
1766
1767      ${I.alignCorners===0?`
1768      let x_min = -0.5;
1769      let x_max = f32(W_in) - 0.5;
1770      let y_min = -0.5;
1771      let y_max = f32(H_in) - 0.5;
1772      `:`
1773      let x_min = 0.0;
1774      let x_max = f32(W_in) - 1.0;
1775      let y_min = 0.0;
1776      let y_max = f32(H_in) - 1.0;
1777      `};
1778      let border = vec4<f32>(x_min, y_min, x_max, y_max);
1779
1780      let indices = ${Y.offsetToIndices("global_idx")};
1781      var grid_indices = vec3<u32>(indices[${Pi}], indices[${so}], indices[${Ni}]);
1782      let nxy = ${L.getByIndices("grid_indices")};
1783      var x = gs_denormalize(f32(nxy[0]), W_in);
1784      var y = gs_denormalize(f32(nxy[1]), H_in);
1785
1786      ${Ml(Y,Ae,I)}
1787  }`}},Dl=(f,I)=>{yl(f.inputs),f.compute(w0(f.inputs,I))},Gl=f=>vt({alignCorners:f.align_corners,mode:f.mode,paddingMode:f.padding_mode,format:f.format})}),Vt=me(()=>{hr(),yr(),va(),$c(),t2(),Qr(),h0(),nn=(f,I)=>f.length>I&&f[I].dims.length>0?f[I]:void 0,k0=(f,I)=>{let x=f[0],N=nn(f,1),L=nn(f,2),j=nn(f,3),Y=nn(f,4),Ae=nn(f,5),se=nn(f,6),ne=nn(f,7);if(x.dims.length!==3&&x.dims.length!==5)throw new Error("Input query is expected to have 3 or 5 dimensions");let ye,Be=x.dims[0],te=x.dims[1],Te=x.dims.length===3?x.dims[2]:I.numHeads*x.dims[4],Oe=te,Ke=0,Re=0,et=Math.floor(Te/I.numHeads);if(se&&ne&&gt.size(se.dims)&&gt.size(ne.dims)){if(se.dims.length!==4)throw new Error('Input "past_key" is expected to have 4 dimensions');if(se.dims[0]!==Be||se.dims[1]!==I.numHeads||se.dims[3]!==et)throw new Error('Input "past_key" shape (batch_size, num_heads, past_sequence_length, head_size)');if(ne.dims[0]!==Be||ne.dims[1]!==I.numHeads||ne.dims[3]!==et)throw new Error('Input "past_value" shape (batch_size, num_heads, past_sequence_length, head_size)');if(se.dims[2]!==ne.dims[2])throw new Error('Input "past_key" and "past_value" shall have same dim 2 (past_sequence_length)');if(ne.dims.length!==4)throw new Error('Input "past_value" is expected to have 4 dimensions');Ke=se.dims[2],Re=se.dims[2]}else if(se&&gt.size(se.dims)||ne&&gt.size(ne.dims))throw new Error('Input "past_key" and "past_value" shall be both present or both absent');if(N&&gt.size(N.dims)>0){if(x.dims.length!==3)throw new Error('Input "query" is expected to have 3 dimensions when key is given');if(N.dims.length<3||N.dims.length>5)throw new Error('Input "key" is expected to have 3, 4, or 5 dimensions');if(x.dims[0]!==N.dims[0])throw new Error('Input "query" and "key" shall have same dim 0 (batch size)');if(N.dims.length===3){if(N.dims[2]!==x.dims[2])throw new Error('Input "query" and "key" shall have same dim 2 (hidden_size)');ye=2,Oe=N.dims[1]}else if(N.dims.length===5){if(N.dims[2]!==I.numHeads||N.dims[3]!==2||N.dims[4]!==et)throw new Error('Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(L)throw new Error('Expect "value" be none when "key" has packed kv format.');ye=5,Oe=N.dims[1]}else{if(N.dims[1]!==I.numHeads||N.dims[3]!==et)throw new Error('Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');ye=0,Oe=N.dims[2]}}else{if(x.dims.length!==5)throw new Error('Input "query" is expected to have 5 dimensions when key is empty');if(x.dims[2]!==I.numHeads||x.dims[3]!==3)throw new Error('Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');ye=3}if(j&&gt.size(j.dims)>0){if(j.dims.length!==1)throw new Error('Input "bias" is expected to have 1 dimension');if(N&&N.dims.length===5&&N.dims[3]===2)throw new Error("bias is not allowed for packed kv.")}let ft=Ke+Oe,bt=0;if(Y&&gt.size(Y.dims)>0){bt=8;let Nt=Y.dims;throw Nt.length===1?Nt[0]===Be?bt=1:Nt[0]===3*Be+2&&(bt=3):Nt.length===2&&Nt[0]===Be&&Nt[1]===ft&&(bt=5),bt===8?new Error('Input "key_padding_mask" shape shall be (batch_size) or (batch_size, total_sequence_length)'):new Error("Mask not supported")}let Mt=!1,Dt=Te;if(L&&gt.size(L.dims)>0){if(L.dims.length!==3&&L.dims.length!==4)throw new Error('Input "value" is expected to have 3 or 4 dimensions');if(x.dims[0]!==L.dims[0])throw new Error('Input "query" and "value" shall have same dim 0 (batch_size)');if(L.dims.length===3){if(Oe!==L.dims[1])throw new Error('Input "key" and "value" shall have the same dim 1 (kv_sequence_length)');Dt=L.dims[2]}else{if(Oe!==L.dims[2])throw new Error('Input "key" and "value" shall have the same dim 2 (kv_sequence_length)');Dt=L.dims[1]*L.dims[3],Mt=!0}}if(Y&&gt.size(Y.dims)>0)throw new Error("Key padding mask is not supported");if(Ae&&gt.size(Ae.dims)>0){if(Ae.dims.length!==4)throw new Error('Input "attention_bias" is expected to have 4 dimensions');if(Ae.dims[0]!==Be||Ae.dims[1]!==I.numHeads||Ae.dims[2]!==te||Ae.dims[3]!==ft)throw new Error('Expect "attention_bias" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:Be,sequenceLength:te,pastSequenceLength:Ke,kvSequenceLength:Oe,totalSequenceLength:ft,maxSequenceLength:Re,inputHiddenSize:0,hiddenSize:Te,vHiddenSize:Dt,headSize:et,vHeadSize:Math.floor(Dt/I.numHeads),numHeads:I.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:I.maskFilterValue,maskType:bt,scale:I.scale,broadcastResPosBias:!1,passPastInKv:Mt,qkvFormat:ye}},_l=f=>vt({...f}),v0=vt({perm:[0,2,1,3]}),Tl=(f,I,x,N,L,j,Y)=>{let Ae=[N,L,j],se=gt.size(Ae),ne=[{type:12,data:se},{type:12,data:Y},{type:12,data:j}];return f.compute({name:"MultiHeadAttentionAddBias",shaderCache:{inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:Ae,dataType:I.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:ne}),getShaderSource:ye=>{let Be=TA("qkv_with_bias",I.dataType,Ae),te=Yt("qkv",I.dataType,Ae),Te=Yt("bias",x.dataType,Ae);return`
1788  ${ye.registerUniforms([{name:"output_size",type:"u32"},{name:"bias_offset",type:"u32"},{name:"hidden_size",type:"u32"}]).declareVariables(te,Te,Be)}
1789  ${ye.mainStart()}
1790    ${ye.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1791    let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;
1792
1793    qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];
1794  }`}},{inputs:[I,x],outputs:[-1]})[0]},So=(f,I,x,N,L,j,Y,Ae)=>{let se=j;if(Y&&gt.size(Y.dims)>0){if(N===1)throw new Error("AddBiasReshape is not implemented. Please export your model with packed QKV or KV");return se=Tl(f,j,Y,I,N,x*L,Ae),se=se.reshape([I,N,x,L]),x===1||N===1?se:f.compute($s(se,v0.perm),{inputs:[se],outputs:[-1]})[0]}return j.dims.length===3&&(se=j.reshape([I,N,x,L])),x===1||N===1?se:f.compute($s(se,v0.perm),{inputs:[se],outputs:[-1]})[0]},Eo=(f,I)=>{let x=k0(f.inputs,I),N=f.inputs[0],L=nn(f.inputs,1),j=nn(f.inputs,2),Y=nn(f.inputs,3),Ae=nn(f.inputs,4),se=nn(f.inputs,5),ne=nn(f.inputs,6),ye=nn(f.inputs,7);if(N.dims.length===5)throw new Error("Packed QKV is not implemented");if((L==null?void 0:L.dims.length)===5)throw new Error("Packed KV is not implemented");let Be=L&&j&&L.dims.length===4&&j.dims.length===4,te=So(f,x.batchSize,x.numHeads,x.sequenceLength,x.headSize,N,Y,0);if(Be)return fn(f,te,L,j,Ae,void 0,ne,ye,se,x);if(!L||!j)throw new Error("key and value must be provided");let Te=So(f,x.batchSize,x.numHeads,x.kvSequenceLength,x.headSize,L,Y,x.hiddenSize),Oe=So(f,x.batchSize,x.numHeads,x.kvSequenceLength,x.vHeadSize,j,Y,2*x.hiddenSize);fn(f,te,Te,Oe,Ae,void 0,ne,ye,se,x)}}),rA=me(()=>{hr(),yr(),va(),Qr(),Ql=f=>{if(!f||f.length<1)throw new Error("too few inputs")},Pl=(f,I)=>{let x=[],N=I.numOutputs;return f[1].dims[0]>0&&(f[1].getBigInt64Array().forEach(L=>x.push(Number(L))),N=x.length),vt({numOutputs:N,axis:I.axis,splitSizes:x})},y0=f=>`
1795fn calculateOutputIndex(index: u32) -> u32 {
1796    for (var i: u32 = 0u; i < ${f}u; i += 1u ) {
1797    if (index < ${PA("uniforms.size_in_split_axis","i",f)}) {
1798        return i;
1799    }
1800    }
1801    return ${f}u;
1802}`,Sl=f=>{let I=f.length,x=[];for(let N=0;N<I;++N){let L=f[N].setByIndices("indices","input[global_idx]");I===1?x.push(L):N===0?x.push(`if (output_number == ${N}u) { ${L} }`):N===I-1?x.push(`else { ${L} }`):x.push(`else if (output_number == ${N}) { ${L} }`)}return`
1803      fn writeBufferData(output_number: u32, indices: ${f[0].type.indices}, global_idx: u32) {
1804        ${x.join(`
1805`)}
1806      }`},E0=(f,I)=>{let x=f[0].dims,N=gt.size(x),L=f[0].dataType,j=gt.normalizeAxis(I.axis,x.length),Y=new Array(I.numOutputs),Ae=Yt("input",L,x.length),se=new Array(I.numOutputs),ne=[],ye=[],Be=0,te=[{type:12,data:N}];for(let Te=0;Te<I.numOutputs;Te++){Be+=I.splitSizes[Te],se[Te]=Be;let Oe=x.slice();Oe[j]=I.splitSizes[Te],ye.push(Oe),Y[Te]=TA(`output${Te}`,L,Oe.length),ne.push({dims:ye[Te],dataType:f[0].dataType})}return te.push({type:12,data:se},..._A(x,...ye)),{name:"Split",shaderCache:{hint:I.cacheKey,inputDependencies:["rank"]},getShaderSource:Te=>`
1807  ${Te.registerUniform("input_size","u32").registerUniform("size_in_split_axis","u32",se.length).declareVariables(Ae,...Y)}
1808  ${y0(se.length)}
1809  ${Sl(Y)}
1810
1811  ${Te.mainStart()}
1812    ${Te.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.input_size")}
1813
1814    var indices = ${Ae.offsetToIndices("global_idx")};
1815    var index = ${Ae.indicesGet("indices",j)};
1816    let output_number = calculateOutputIndex(index);
1817    if (output_number != 0) {
1818      index -= ${PA("uniforms.size_in_split_axis","output_number - 1u",se.length)};
1819      ${Ae.indicesSet("indices",j,"index")};
1820    }
1821    writeBufferData(output_number, indices, global_idx);
1822  }`,getRunData:()=>({outputs:ne,dispatchGroup:{x:Math.ceil(N/64)},programUniforms:te})}},Nl=(f,I)=>{Ql(f.inputs);let x=f.inputs.length===1?I:Pl(f.inputs,I);f.compute(E0(f.inputs,x),{inputs:[0]})},zl=f=>{let I=f.axis,x=f.splitSizes,N=f.numOutputs<0?x.length:f.numOutputs;if(N!==x.length)throw new Error("numOutputs and splitSizes lengh must be equal");return vt({axis:I,numOutputs:N,splitSizes:x})}}),DA=me(()=>{va(),t2(),Vt(),rA(),h0(),B0=(f,I)=>{if(I.doRotary)throw new Error("GroupQuerryAttention do_rotary attribute is not supported");if(I.doRotary&&f.length<=7)throw new Error("cos_cache and sin_cache inputs are required if do_rotary is specified");let x=f[0],N=f[1],L=f[2],j=f[3],Y=f[4];if(I.localWindowSize!==-1)throw new Error("Local attention is not supported");if(I.softcap!==0)throw new Error("Softcap is not supported");if(I.rotaryInterleaved!==0)throw new Error("Rotary interleaved is not supported");if(I.smoothSoftmax)throw new Error("Smooth softmax is not supported");if(x.dims.length!==3&&x.dims.length!==5)throw new Error("Input query is expected to have 3 or 5 dimensions");let Ae=x.dims[0],se=x.dims[1],ne=x.dims.length===3?x.dims[2]:I.numHeads*x.dims[4],ye=se,Be=0,te=!N||N.dims.length===0,Te=Math.floor(te?ne/(I.numHeads+2*I.kvNumHeads):ne/I.numHeads);te&&(ne=Te*I.numHeads);let Oe=j&&j.dims.length!==0,Ke=Y&&Y.dims.length!==0;if(Oe&&j.dims.length===4&&j.dims[0]===Ae&&j.dims[1]!==I.kvNumHeads&&j.dims[2]===I.kvNumHeads&&j.dims[3]===Te)throw new Error("BSNH pastKey/pastValue is not supported");if(Oe&&Ke){if(j.dims.length!==4)throw new Error('Input "past_key" is expected to have 4 dimensions');if(Y.dims.length!==4)throw new Error('Input "past_value" is expected to have 4 dimensions');Be=j.dims[2]}else if(Oe||Ke)throw new Error('Input "past_key" and "past_value" shall be both present or both absent');let Re=1;if(N&&N.dims.length>0){if(x.dims.length!==3)throw new Error('Input "query" is expected to have 3 dimensions when key is given');if(N.dims.length<3||N.dims.length>5)throw new Error('Input "key" is expected to have 3, 4, or 5 dimensions');if(x.dims[0]!==N.dims[0])throw new Error('Input "query" and "key" shall have same dim 0 (batch size)');if(N.dims.length===3){if(x.dims[2]%N.dims[2]!=0)throw new Error('Dimension 2 of "query" should be a multiple of "key"');ye=N.dims[1]}else if(N.dims.length===5){if(N.dims[2]!==I.numHeads||N.dims[3]!==2||N.dims[4]!==Te)throw new Error('Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(L)throw new Error('Expect "value" be none when "key" has packed kv format.');ye=N.dims[1]}else{if(N.dims[1]!==I.numHeads||N.dims[3]!==Te)throw new Error('Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');ye=N.dims[2]}}else{if(x.dims.length!==3&&x.dims.length!==5)throw new Error('Input "query" is expected to have 3 or 5 dimensions when key is empty');if(x.dims.length===5&&(x.dims[2]!==I.numHeads||x.dims[3]!==3))throw new Error('Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');Re=3}let et=!1,ft=I.kvNumHeads?Te*I.kvNumHeads:ne;if(L&&L.dims.length>0){if(L.dims.length!==3&&L.dims.length!==4)throw new Error('Input "value" is expected to have 3 or 4 dimensions');if(x.dims[0]!==L.dims[0])throw new Error('Input "query" and "value" shall have same dim 0 (batch_size)');if(L.dims.length===3){if(ye!==L.dims[1])throw new Error('Input "key" and "value" shall have the same dim 1 (kv_sequence_length)');ft=L.dims[2]}else{if(ye!==L.dims[2])throw new Error('Input "past_key" and "past_value" shall have the same dim 2 (kv_sequence_length)');ft=L.dims[1]*L.dims[3],et=!0}}let bt=f.length>4?f[5]:void 0;if(bt&&bt.dims.length!==1&&bt.dims[0]!==Ae)throw new Error('Input "seqlens" is expected to have 1 dimension and the same dim 0 as batch_size');return{batchSize:Ae,sequenceLength:se,pastSequenceLength:Be,kvSequenceLength:ye,totalSequenceLength:-1,maxSequenceLength:-1,inputHiddenSize:0,hiddenSize:ne,vHiddenSize:ft,headSize:Te,vHeadSize:Math.floor(ft/I.kvNumHeads),numHeads:I.numHeads,kvNumHeads:I.kvNumHeads,nReps:I.numHeads/I.kvNumHeads,pastPresentShareBuffer:!1,maskType:0,scale:I.scale,broadcastResPosBias:!1,passPastInKv:et,qkvFormat:Re}},Ol=vt({perm:[0,2,1,3]}),f0=(f,I,x)=>{let N=I,L=x.kvNumHeads;return I.dims.length===3&&x.kvSequenceLength!==0&&(N=I.reshape([x.batchSize,x.kvSequenceLength,L,x.headSize]),N=f.compute($s(N,Ol.perm),{inputs:[N],outputs:[-1]})[0]),N},Fl=(f,I)=>{var Re;let x=B0(f.inputs,I);if(f.inputs[0].dims.length===5)throw new Error("Packed QKV is not implemented");if(((Re=f.inputs[1])==null?void 0:Re.dims.length)===5)throw new Error("Packed KV is not implemented");let N=f.inputs[0],L=f.inputs[1]&&f.inputs[1].dims.length>0?f.inputs[1]:void 0,j=f.inputs[2]&&f.inputs[2].dims.length>0?f.inputs[2]:void 0,Y=f.inputs[3]&&f.inputs[3].dims.length!==0?f.inputs[3]:void 0,Ae=f.inputs[4]&&f.inputs[4].dims.length!==0?f.inputs[4]:void 0,se=f.inputs.length>4?f.inputs[5]:void 0,ne=f.inputs.length>5?f.inputs[6]:void 0,ye=x.kvNumHeads?x.kvNumHeads:x.numHeads,Be=vt({axis:2,numOutputs:3,splitSizes:[x.numHeads*x.headSize,ye*x.headSize,ye*x.headSize]}),[te,Te,Oe]=L||j?[N,L,j]:f.compute(E0([N],Be),{inputs:[N],outputs:[-1,-1,-1]}),Ke=So(f,x.batchSize,x.numHeads,x.sequenceLength,x.headSize,te,void 0,0);fn(f,Ke,f0(f,Te,x),f0(f,Oe,x),void 0,void 0,Y,Ae,void 0,x,se,ne)}}),GA=me(()=>{hr(),yr(),h0(),Qr(),d0=(f,I,x,N,L,j,Y,Ae)=>{let se=_r(j),ne=se===1?"f32":`vec${se}f`,ye=se===1?"vec2f":`mat2x${se}f`,Be=L*Y,te=64;Be===1&&(te=256);let Te=[L,Y,j/se],Oe=[L,Y,2],Ke=[];return Ke.push(..._A(Te,Oe)),f.compute({name:"InstanceNormComputeChannelScaleShift",shaderCache:{hint:`${se};${Ae};${te}`,inputDependencies:["rank","type","type"]},getRunData:()=>({outputs:[{dims:Oe,dataType:1}],dispatchGroup:{x:Be},programUniforms:Ke}),getShaderSource:Re=>{let et=Yt("x",I.dataType,3,se),ft=[et,Yt("scale",x.dataType,x.dims),Yt("bias",N.dataType,N.dims),TA("output",1,3,2)];return`
1823  var<workgroup> workgroup_shared : array<${ye}, ${te}>;
1824  const workgroup_size = ${te}u;
1825  ${Re.declareVariables(...ft)}
1826  ${Re.mainStart(te)}
1827    let batch = workgroup_index / uniforms.x_shape[1];
1828    let channel = workgroup_index % uniforms.x_shape[1];
1829    let hight = uniforms.x_shape[2];
1830    // initialize workgroup memory
1831    var sum = ${ne}(0);
1832    var squared_sum = ${ne}(0);
1833    for (var h = local_idx; h < hight; h += workgroup_size) {
1834      let value = ${ne}(${et.get("batch","channel","h")});
1835      sum += value;
1836      squared_sum += value * value;
1837    }
1838    workgroup_shared[local_idx] = ${ye}(sum, squared_sum);
1839    workgroupBarrier();
1840
1841    for (var currSize = workgroup_size >> 1;  currSize > 0; currSize = currSize >> 1) {
1842      if (local_idx < currSize) {
1843        workgroup_shared[local_idx] = workgroup_shared[local_idx] + workgroup_shared[local_idx + currSize];
1844      }
1845      workgroupBarrier();
1846    }
1847    if (local_idx == 0) {
1848      let sum_final = ${ts("workgroup_shared[0][0]",se)} / f32(hight * ${se});
1849      let squared_sum_final = ${ts("workgroup_shared[0][1]",se)} / f32(hight * ${se});
1850
1851      let inv_std_dev = inverseSqrt(squared_sum_final - sum_final * sum_final + f32(${Ae}));
1852      let channel_scale = inv_std_dev * f32(scale[channel]);
1853      let channel_shift = f32(bias[channel]) - sum_final * channel_scale;
1854      output[workgroup_index] = vec2f(channel_scale, channel_shift);
1855    }
1856  }`}},{inputs:[I,x,N],outputs:[-1]})[0]},Ll=(f,I,x)=>{let N=I[0].dims,L=N,j=N[0],Y=N[1],Ae=gt.sizeFromDimension(N,2),se=_r(Ae),ne=gt.size(L)/se,ye=d0(f,I[0],I[1],I[2],j,Ae,Y,x.epsilon),Be=[j,Y,Ae/se],te=[j,Y];f.compute({name:"InstanceNormalization",shaderCache:{hint:`${se}`,inputDependencies:["type","none"]},getRunData:()=>({outputs:[{dims:L,dataType:I[0].dataType}],dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:[{type:12,data:ne},..._A(Be,te,Be)]}),getShaderSource:Te=>{let Oe=Yt("x",I[0].dataType,Be.length,se),Ke=Yt("scale_shift",1,te.length,2),Re=TA("output",I[0].dataType,Be.length,se),et=[Oe,Ke,Re];return`
1857  ${Te.registerUniform("output_size","u32").declareVariables(...et)}
1858  ${Te.mainStart()}
1859  ${Te.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1860      let outputIndices = ${Re.offsetToIndices("global_idx")};
1861      let batch = outputIndices[0];
1862      let channel = outputIndices[1];
1863      let scale_shift = ${Ke.getByIndices("vec2<u32>(batch, channel)")};
1864      let value = ${Oe.getByOffset("global_idx")} * ${Re.type.value}(scale_shift.x) + ${Re.type.value}(scale_shift.y);
1865      ${Re.setByOffset("global_idx","value")};
1866  }`}},{inputs:[I[0],ye]})},g0=(f,I,x)=>{let N=I[0].dims,L=N,j=N[0],Y=N[N.length-1],Ae=gt.sizeFromDimension(N,1)/Y,se=_r(Y),ne=gt.size(L)/se,ye=[{type:12,data:Ae},{type:12,data:Math.floor(Y/se)}],Be=!1,te=[0,N.length-1];for(let Ke=0;Ke<N.length-2;Ke++)Be=Be||N[Ke+1]!==1,te.push(Ke+1);Be=Be&&N[N.length-1]!==1;let Te=Be?f.compute($s(f.inputs[0],te),{inputs:[f.inputs[0]],outputs:[-1]})[0]:f.inputs[0].reshape(Array.from({length:N.length},(Ke,Re)=>N[te[Re]])),Oe=d0(f,Te,I[1],I[2],j,Ae,Y,x.epsilon);f.compute({name:"InstanceNormalizationNHWC",shaderCache:{hint:`${se}`,inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:L,dataType:I[0].dataType}],dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:ye}),getShaderSource:Ke=>{let Re=ir(I[0].dataType),et=se===1?"vec2f":`mat${se}x2f`,ft=Dt=>{let Nt=Dt===0?"x":"y",hA=se===1?"f32":`vec${se}f`;switch(se){case 1:return`${Re}(${hA}(scale.${Nt}))`;case 2:return`vec2<${Re}>(${hA}(scale[0].${Nt}, scale[1].${Nt}))`;case 4:return`vec4<${Re}>(${hA}(scale[0].${Nt}, scale[1].${Nt}, scale[2].${Nt}, scale[3].${Nt}))`;default:throw new Error(`Not supported compoents ${se}`)}},bt=Yt("input",I[0].dataType,I[0].dims,se),Mt=TA("output",I[0].dataType,L,se);return`
1867  @group(0) @binding(0) var<storage, read> input : array<${bt.type.storage}>;
1868  @group(0) @binding(1) var<storage, read> scale_input : array<${et}>;
1869  @group(0) @binding(2) var<storage, read_write> output : array<${Mt.type.storage}>;
1870  struct Uniforms {H: u32, C : u32};
1871  @group(0) @binding(3) var<uniform> uniforms: Uniforms;
1872
1873  ${Ke.mainStart()}
1874    let current_image_number = global_idx / (uniforms.C * uniforms.H);
1875    let current_channel_number = global_idx % uniforms.C;
1876
1877    let scale_offset = current_image_number * uniforms.C + current_channel_number;
1878    let scale = scale_input[scale_offset];
1879    output[global_idx] = fma(input[global_idx], ${ft(0)}, ${ft(1)});
1880  }`}},{inputs:[I[0],Oe]})},Vl=(f,I)=>{I.format==="NHWC"?g0(f,f.inputs,I):Ll(f,f.inputs,I)}}),yA=me(()=>{hr(),yr(),Qr(),Hl=f=>{if(!f||f.length<2)throw new Error("layerNorm requires at least 2 inputs.")},x0=(f,I,x)=>{let N=I.simplified,L=f[0].dims,j=f[1],Y=!N&&f[2],Ae=L,se=gt.normalizeAxis(I.axis,L.length),ne=gt.sizeToDimension(L,se),ye=gt.sizeFromDimension(L,se),Be=gt.size(j.dims),te=Y?gt.size(Y.dims):0;if(Be!==ye||Y&&te!==ye)throw new Error(`Size of X.shape()[axis:] == ${ye}.
1881       Size of scale and bias (if provided) must match this.
1882       Got scale size of ${Be} and bias size of ${te}`);let Te=[];for(let Mt=0;Mt<L.length;++Mt)Mt<se?Te.push(L[Mt]):Te.push(1);let Oe=_r(ye),Ke=["type","type"],Re=[{type:12,data:ne},{type:1,data:ye},{type:12,data:Math.floor(ye/Oe)},{type:1,data:I.epsilon}];Y&&Ke.push("type");let et=x>1,ft=x>2,bt=[{dims:Ae,dataType:f[0].dataType}];return et&&bt.push({dims:Te,dataType:1}),ft&&bt.push({dims:Te,dataType:1}),{name:"LayerNormalization",shaderCache:{hint:`${Oe};${x};${N}`,inputDependencies:Ke},getRunData:()=>({outputs:bt,dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:Re}),getShaderSource:Mt=>{let Dt=ir(f[0].dataType),Nt=[Yt("x",f[0].dataType,f[0].dims,Oe),Yt("scale",j.dataType,j.dims,Oe)];return Y&&Nt.push(Yt("bias",Y.dataType,Y.dims,Oe)),Nt.push(TA("output",f[0].dataType,Ae,Oe)),et&&Nt.push(TA("mean_data_output",1,Te)),ft&&Nt.push(TA("inv_std_output",1,Te)),`
1883  ${Mt.registerUniforms([{name:"norm_count",type:"u32"},{name:"norm_size",type:"f32"},{name:"norm_size_vectorized",type:"u32"},{name:"epsilon",type:"f32"}]).declareVariables(...Nt)}
1884  ${Mt.mainStart()}
1885    ${Mt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.norm_count")}
1886    let offset = global_idx * uniforms.norm_size_vectorized;
1887    var mean_vector = ${ba("f32",Oe)};
1888    var mean_square_vector = ${ba("f32",Oe)};
1889
1890    for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {
1891      let value = ${Bs(Dt,Oe,"x[h + offset]")};
1892      mean_vector += value;
1893      mean_square_vector += value * value;
1894    }
1895    let mean = ${ts("mean_vector",Oe)} / uniforms.norm_size;
1896    let inv_std_dev = inverseSqrt(${ts("mean_square_vector",Oe)} / uniforms.norm_size ${N?"":"- mean * mean"} + uniforms.epsilon);
1897
1898    for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {
1899      let f32input = ${Bs(Dt,Oe,"x[j + offset]")};
1900      let f32scale = ${Bs(Dt,Oe,"scale[j]")};
1901      output[j + offset] = ${Nt[0].type.value}((f32input ${N?"":"- mean"}) * inv_std_dev * f32scale
1902        ${Y?`+ ${Bs(Dt,Oe,"bias[j]")}`:""}
1903      );
1904    }
1905
1906    ${et?"mean_data_output[global_idx] = mean":""};
1907    ${ft?"inv_std_output[global_idx] = inv_std_dev":""};
1908  }`}}},Yl=(f,I)=>{Hl(f.inputs),f.compute(x0(f.inputs,I,f.outputCount))}}),OA=me(()=>{yr(),s2(),a2(),M0=f=>{if(!f||f.length!==2)throw new Error("MatMul requires 2 inputs.");if(f[0].dims[f[0].dims.length-1]!==f[1].dims[f[1].dims.length-2])throw new Error("shared dimension does not match.")},Rl=f=>{M0(f.inputs);let I=lA.calcShape(f.inputs[0].dims,f.inputs[1].dims,!0);if(!I)throw new Error("Can't use matmul on the given tensors");let x=I[I.length-1],N=f.inputs[0].dims[f.inputs[0].dims.length-1];if(x<8&&N<8)f.compute(Ti(f.inputs,{activation:""},I));else{let L=I[I.length-2],j=gt.size(f.inputs[0].dims.slice(0,-2)),Y=gt.size(f.inputs[1].dims.slice(0,-2));if(j!==1&&L===1&&Y===1){let Ae=[1,j,x],se=[f.inputs[0].reshape([1,j,N]),f.inputs[1].reshape([1,N,x])];f.compute(t(se,{activation:""},I,Ae),{inputs:se})}else f.compute(t(f.inputs,{activation:""},I))}}}),XA=me(()=>{hr(),yr(),va(),Qr(),jl=(f,I)=>{if(f.length<3||f.length>4)throw new Error("MatMulNBits requires 3 or 4 inputs");let x=f[0],N=x.dims.length;if(x.dims[N-1]!==I.k)throw new Error("The last dim of input shape does not match the k value");let L=Math.floor((I.k+I.blockSize-1)/I.blockSize),j=I.blockSize/8*I.bits,Y=f[1];if(!gt.areEqual(Y.dims,[I.n,L,j]))throw new Error("The second inputs must be 3D tensor with shape N X nBlocksPerCol X blobSize");let Ae=f[2].dims;if(gt.size(Ae)!==I.n*L)throw new Error("scales input size error.");if(f.length===4){let se=f[3].dims,ne=I.bits>4?I.n*L:I.n*Math.floor((L+1)/2);if(gt.size(se)!==ne)throw new Error("zeroPoints input size error.")}},G2=(f,I)=>{let x=f[0].dims,N=x.length,L=x[N-2],j=I.k,Y=I.n,Ae=x.slice(0,N-2),se=gt.size(Ae),ne=f[1].dims[2]/4,ye=f[0].dataType,Be=_r(I.k),te=_r(ne),Te=_r(Y),Oe=Ae.concat([L,Y]),Ke=L>1&&Y/Te%2==0?2:1,Re=gt.size(Oe)/Te/Ke,et=64,ft=[],bt=[se,L,j/Be],Mt=gt.convertShape(f[1].dims).slice();Mt.splice(-1,1,ne/te),ft.push(..._A(bt)),ft.push(..._A(Mt)),ft.push(..._A(f[2].dims)),f.length===4&&ft.push(..._A(gt.convertShape(f[3].dims)));let Dt=[se,L,Y/Te];return ft.push(..._A(Dt)),{name:"MatMulNBits",shaderCache:{hint:`${I.blockSize};${I.bits};${Be};${te};${Te};${Ke};64`,inputDependencies:Array(f.length).fill("rank")},getRunData:()=>({outputs:[{dims:Oe,dataType:ye}],dispatchGroup:{x:Re},programUniforms:ft}),getShaderSource:Nt=>{let hA=bt.length,xA=Yt("a",f[0].dataType,hA,Be),er=Yt("b",12,Mt.length,te),tr=Yt("scales",f[2].dataType,f[2].dims.length),qr=[xA,er,tr],Ar=f.length===4?Yt("zero_points",12,f[3].dims.length):void 0;Ar&&qr.push(Ar);let Ir=Dt.length,mr=TA("output",f[0].dataType,Ir,Te),Lt=ir(f[0].dataType),UA=(()=>{switch(Be){case 1:return`array<${Lt}, 8>`;case 2:return`mat4x2<${Lt}>`;case 4:return`mat2x4<${Lt}>`;default:throw new Error(`${Be}-component is not supported.`)}})();return`
1909        var<workgroup> workgroup_shared: array<${mr.type.value}, ${Ke*et}>;
1910        ${Nt.declareVariables(...qr,mr)}
1911        ${Nt.mainStart([et,1,1])}
1912          let output_indices = ${mr.offsetToIndices(`(global_idx / 64) * ${Ke}`)};
1913          let col = output_indices[2];
1914          let row = output_indices[1];
1915          let batch = output_indices[0];
1916          let nBlocksPerCol = uniforms.b_shape[1];
1917
1918          for (var block = local_id.x; block < nBlocksPerCol; block += 64) {
1919            //process one block
1920            var word_offset: u32 = block * ${I.blockSize/Be};
1921            ${(()=>{let HA=`
1922            var col_index = col * ${Te};
1923            ${Ar?`
1924            let zero_point_bytes_per_col = (nBlocksPerCol + 1) / 2;
1925            var zero_point_byte_count: u32;
1926            var zero_point_word_index: u32;
1927            var zero_point_byte_offset: u32;
1928            let zero_point_nibble_offset: u32 = block & 0x1u;
1929            var zero_point_bits_offset: u32;
1930            var zero_point_word: u32;`:`
1931            // The default zero point is 8 for unsigned 4-bit quantization.
1932            let zero_point = ${Lt}(8);`}
1933            `;for(let RA=0;RA<Te*Ke;RA++)HA+=`
1934            let scale${RA} = ${tr.getByOffset("col_index * nBlocksPerCol + block")};
1935            ${Ar?`
1936            zero_point_byte_count = col_index * zero_point_bytes_per_col + (block >> 0x1u);
1937            zero_point_word_index = zero_point_byte_count >> 0x2u;
1938            zero_point_byte_offset = zero_point_byte_count & 0x3u;
1939            zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_nibble_offset << 2);
1940            zero_point_word = ${Ar.getByOffset("zero_point_word_index")} >> zero_point_bits_offset;
1941            let zero_point${RA} = ${Lt}((zero_point_word) & 0xFu);`:""}
1942            col_index += 1;`;return HA})()}
1943            for (var word: u32 = 0; word < ${ne}; word += ${te}) {
1944              ${(()=>{let HA=`col_index = col * ${Te};`;for(let RA=0;RA<Te*Ke;RA++)HA+=`
1945            let b${RA}_data = ${er.getByIndices(`${er.type.indices}(col_index, block, word)`)};
1946            col_index += 1;`;return HA+=`
1947            var b_value: u32;
1948            let b_mask: u32 = 0x0F0F0F0Fu;
1949            var b_value_lower: vec4<u32>;
1950            var b_value_upper: vec4<u32>;
1951            var b_quantized_values: ${UA};
1952            var b_dequantized_values: ${UA};`,HA})()}
1953              for (var i: u32 = 0; i < ${te}; i++) {
1954                ${(()=>{let HA=`
1955          // reuse a data
1956            var input_offset = ${xA.indicesToOffset(`${xA.type.indices}(batch, row, word_offset)`)};
1957            var a_data: ${UA};
1958            for (var j: u32 = 0; j < ${8/Be}; j++) {
1959              a_data[j] = ${xA.getByOffset("input_offset")};
1960              input_offset++;
1961            }
1962          `;for(let RA=0;RA<Te*Ke;RA++)HA+=`
1963            b_value = ${te===1?`b${RA}_data`:`b${RA}_data[i]`};
1964            b_value_lower = unpack4xU8(b_value & b_mask);
1965            b_value_upper = unpack4xU8((b_value >> 4) & b_mask);
1966            b_quantized_values = ${UA}(${Array.from({length:4},(is,Va)=>`${Lt}(b_value_lower[${Va}]), ${Lt}(b_value_upper[${Va}])`).join(", ")});
1967            b_dequantized_values = ${Be===1?`${UA}(${Array.from({length:8},(is,Va)=>`(b_quantized_values[${Va}] - ${Ar?`zero_point${RA}`:"zero_point"}) * scale${RA}`).join(", ")});`:`(b_quantized_values - ${UA}(${Array(8).fill(Ar?`zero_point${RA}`:"zero_point").join(",")})) * scale${RA};`};
1968            workgroup_shared[local_id.x * ${Ke} + ${Math.floor(RA/Te)}]${Te>1?`[${RA%Te}]`:""} += ${Array.from({length:8/Be},(is,Va)=>Be===1?`a_data[${Va}] * b_dequantized_values[${Va}]`:`dot(a_data[${Va}], b_dequantized_values[${Va}])`).join(" + ")};
1969          `;return HA})()}
1970                word_offset += ${8/Be};
1971              }
1972            }
1973          }
1974          workgroupBarrier();
1975
1976          if (local_id.x < ${Ke}) {
1977            var output_value: ${mr.type.value} = ${mr.type.value}(0);
1978            var workgroup_shared_offset: u32 = local_id.x;
1979            for (var b: u32 = 0u; b < 64u; b++) {
1980              output_value += workgroup_shared[workgroup_shared_offset];
1981              workgroup_shared_offset += ${Ke};
1982            }
1983            ${mr.setByIndices(`${mr.type.indices}(batch, row, col + local_id.x)`,"output_value")};
1984          }
1985        }`}}},e1=(f,I)=>{let x=f[0].dims,N=x.length,L=x[N-2],j=I.k,Y=I.n,Ae=x.slice(0,N-2),se=gt.size(Ae),ne=f[1].dims[2]/4,ye=f[0].dataType,Be=_r(I.k),te=_r(ne),Te=Ae.concat([L,Y]),Oe=Y%8==0?8:Y%4==0?4:1,Ke=128/Oe,Re=Ke*te*8,et=Re/Be,ft=Re/I.blockSize,bt=gt.size(Te)/Oe,Mt=[],Dt=[se,L,j/Be],Nt=gt.convertShape(f[1].dims).slice();Nt.splice(-1,1,ne/te),Mt.push(..._A(Dt)),Mt.push(..._A(Nt)),Mt.push(..._A(f[2].dims)),f.length===4&&Mt.push(..._A(gt.convertShape(f[3].dims)));let hA=[se,L,Y];return Mt.push(..._A(hA)),{name:"BlockwiseMatMulNBits32",shaderCache:{hint:`${I.blockSize};${Be};${te};${Ke};${Oe}`,inputDependencies:Array(f.length).fill("rank")},getRunData:()=>({outputs:[{dims:Te,dataType:ye}],dispatchGroup:{x:bt},programUniforms:Mt}),getShaderSource:xA=>{let er=Dt.length,tr=Yt("a",f[0].dataType,er,Be),qr=Yt("b",12,Nt.length,te),Ar=Yt("scales",f[2].dataType,f[2].dims.length),Ir=[tr,qr,Ar],mr=f.length===4?Yt("zero_points",12,f[3].dims.length):void 0;mr&&Ir.push(mr);let Lt=hA.length,UA=TA("output",f[0].dataType,Lt),HA=ir(f[0].dataType);return`
1986        var<workgroup> sub_a: array<${tr.type.value}, ${et}>;
1987        var<workgroup> inter_results: array<array<${UA.type.value}, ${Ke}>, ${Oe}>;
1988        ${xA.declareVariables(...Ir,UA)}
1989        ${xA.mainStart([Ke,Oe,1])}
1990          let output_indices = ${UA.offsetToIndices(`workgroup_index * ${Oe}`)};
1991          let col = output_indices[2];
1992          let row = output_indices[1];
1993          let batch = output_indices[0];
1994          let n_blocks_per_col = uniforms.b_shape[1];
1995          let num_tiles =  (n_blocks_per_col - 1) / ${ft} + 1;
1996
1997          // Loop over shared dimension.
1998          for (var tile: u32 = 0; tile < num_tiles; tile += 1) {
1999            let a_col_start = tile * ${et};
2000            // load one tile A data into shared memory.
2001            for (var a_offset = local_idx; a_offset < ${et}; a_offset += 128)
2002            {
2003              let a_col = a_col_start + a_offset;
2004              if (a_col < uniforms.a_shape[2])
2005              {
2006                sub_a[a_offset] = ${tr.getByIndices(`${tr.type.indices}(batch, row, a_col)`)};
2007              } else {
2008                sub_a[a_offset] = ${tr.type.value}(0);
2009              }
2010            }
2011            workgroupBarrier();
2012
2013            // each thread process one block
2014            let b_row = col + local_id.y;
2015            let block = tile * ${ft} + local_id.x;
2016            ${mr?`
2017            let zero_point_bytes_per_col = (n_blocks_per_col + 1) / 2;
2018            let zero_point_byte_count = b_row * zero_point_bytes_per_col + (block >> 0x1u);
2019            let zero_point_word_index = zero_point_byte_count >> 0x2u;
2020            let zero_point_byte_offset = zero_point_byte_count & 0x3u;
2021            let zero_point_nibble_offset: u32 = block & 0x1u;
2022            let zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_nibble_offset << 2);
2023            let zero_point_word = ${mr.getByOffset("zero_point_word_index")} >> zero_point_bits_offset;
2024            let zero_point = ${HA}((zero_point_word) & 0xFu);`:`
2025            // The default zero point is 8 for unsigned 4-bit quantization.
2026            let zero_point = ${HA}(8);`}
2027            let scale = ${Ar.getByOffset("b_row * n_blocks_per_col + block")};
2028            let b_data = ${qr.getByIndices(`${qr.type.indices}(b_row, block, 0)`)};
2029            var word_offset = local_id.x * ${I.blockSize/Be};
2030            for (var i: u32 = 0; i < ${te}; i++) {
2031              ${(()=>{switch(Be){case 1:return`
2032          let a_data0 = vec4<${HA}>(sub_a[word_offset], sub_a[word_offset + 1], sub_a[word_offset + 2], sub_a[word_offset + 3]);
2033          let a_data1 = vec4<${HA}>(sub_a[word_offset + 4], sub_a[word_offset + 5], sub_a[word_offset + 6], sub_a[word_offset + 7]);`;case 2:return`
2034          let a_data0 = vec4<${HA}>(sub_a[word_offset], sub_a[word_offset + 1]);
2035          let a_data1 = vec4<${HA}>(sub_a[word_offset + 2], sub_a[word_offset + 3]);`;case 4:return`
2036          let a_data0 = sub_a[word_offset];
2037          let a_data1 = sub_a[word_offset + 1];`;default:throw new Error(`${Be}-component is not supported.`)}})()}
2038              let b_value = ${te===1?"b_data":"b_data[i]"};
2039              let b_value_lower = unpack4xU8(b_value & 0x0F0F0F0Fu);
2040              let b_value_upper = unpack4xU8((b_value >> 4) & 0x0F0F0F0Fu);
2041              let b_quantized_values = mat2x4<${HA}>(${Array.from({length:4},(RA,is)=>`${HA}(b_value_lower[${is}]), ${HA}(b_value_upper[${is}])`).join(", ")});
2042              let b_dequantized_values = (b_quantized_values - mat2x4<${HA}>(${Array(8).fill("zero_point").join(",")})) * scale;
2043              inter_results[local_id.y][local_id.x] += ${Array.from({length:2},(RA,is)=>`dot(a_data${is}, b_dequantized_values[${is}])`).join(" + ")};
2044              word_offset += ${8/Be};
2045            }
2046            workgroupBarrier();
2047          }
2048
2049          if (local_idx < ${Oe}) {
2050            var output_value: ${UA.type.value} = ${UA.type.value}(0);
2051            for (var b = 0u; b < ${Ke}; b++) {
2052              output_value += inter_results[local_idx][b];
2053            }
2054            if (col + local_idx < uniforms.output_shape[2])
2055            {
2056              ${UA.setByIndices(`${UA.type.indices}(batch, row, col + local_idx)`,"output_value")}
2057            }
2058          }
2059        }`}}},_2=(f,I)=>{jl(f.inputs,I),I.blockSize===32&&f.adapterInfo.isVendor("intel")&&f.adapterInfo.isArchitecture("gen-12lp")?f.compute(e1(f.inputs,I)):f.compute(G2(f.inputs,I))},T2=f=>vt(f)}),pr=me(()=>{hr(),yr(),Qr(),Q2=f=>{if(!f||f.length<1)throw new Error("Too few inputs");if(f[0].dataType!==1&&f[0].dataType!==10)throw new Error("Input type must be float or float16.");if(f.length>=2){let I=2*f[0].dims.length===f[1].dims[0];if(f.length===4&&(I=2*f[3].dims[0]===f[1].dims[0]),!I)throw new Error("The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].")}},K0=(f,I,x)=>{let N="";for(let L=I-1;L>=0;--L)N+=`
2060            k = i32(${f.indicesGet("indices",L)}) - ${PA("uniforms.pads",L,x)};
2061            if (k < 0) {
2062              break;
2063            }
2064            if (k >= i32(${PA("uniforms.x_shape",L,I)})) {
2065              break;
2066            }
2067            offset += k * i32(${PA("uniforms.x_strides",L,I)});
2068        `;return`
2069          value = ${f.type.value}(uniforms.constant_value);
2070          for (var i = 0; i < 1; i++) {
2071            var offset = 0;
2072            var k = 0;
2073            ${N}
2074            value = x[offset];
2075          }
2076      `},P2=(f,I,x)=>{let N="";for(let L=I-1;L>=0;--L)N+=`
2077                k = i32(${f.indicesGet("indices",L)}) - ${PA("uniforms.pads",L,x)};
2078                if (k < 0) {
2079                  k = -k;
2080                }
2081                {
2082                  let _2n_1 = 2 * (i32(${PA("uniforms.x_shape",L,I)}) - 1);
2083                  k = k % _2n_1;
2084                  if(k >= i32(${PA("uniforms.x_shape",L,I)})) {
2085                    k = _2n_1 - k;
2086                  }
2087                }
2088                offset += k * i32(${PA("uniforms.x_strides",L,I)});
2089            `;return`
2090              var offset = 0;
2091              var k = 0;
2092              ${N}
2093              value = x[offset];
2094          `},S2=(f,I,x)=>{let N="";for(let L=I-1;L>=0;--L)N+=`
2095                k = i32(${f.indicesGet("indices",L)}) - ${PA("uniforms.pads",L,x)};
2096                if (k < 0) {
2097                  k = 0;
2098                }
2099                if (k >= i32(${PA("uniforms.x_shape",L,I)})) {
2100                  k = i32(${PA("uniforms.x_shape",L,I)}) - 1;
2101                }
2102                offset += k * i32(${PA("uniforms.x_strides",L,I)});
2103            `;return`
2104              var offset = 0;
2105              var k = 0;
2106              ${N}
2107              value = x[offset];
2108          `},N2=(f,I,x)=>{let N="";for(let L=I-1;L>=0;--L)N+=`
2109                k = i32(${f.indicesGet("indices",L)}) - ${PA("uniforms.pads",L,x)};
2110                if (k < 0)  {
2111                  k += i32(${PA("uniforms.x_shape",L,I)}]);
2112                }
2113                if (k >= i32(${PA("uniforms.x_shape",L,I)})) {
2114                  k -= i32(${PA("uniforms.x_shape",L,I)});
2115                }
2116                offset += k * i32(${PA("uniforms.x_strides",L,I)});
2117            `;return`
2118              var offset = 0;
2119              var k = 0;
2120              ${N}
2121              value = x[offset];
2122          `},z2=(f,I,x)=>{switch(x.mode){case 0:return K0(f,I,x.pads.length);case 1:return P2(f,I,x.pads.length);case 2:return S2(f,I,x.pads.length);case 3:return N2(f,I,x.pads.length);default:throw new Error("Invalid mode")}},O2=(f,I)=>{let x=gt.padShape(f[0].dims.slice(),I.pads),N=f[0].dims,L=[{type:12,data:gt.size(x)},{type:6,data:I.pads}],j=f.length>=3&&f[2].data;return I.mode===0&&L.push({type:j?f[2].dataType:1,data:I.value}),L.push(..._A(f[0].dims,x)),{name:"Pad",shaderCache:{hint:`${I.mode}${j}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:x,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(gt.size(x)/64)},programUniforms:L}),getShaderSource:Y=>{let Ae=TA("output",f[0].dataType,x.length),se=Yt("x",f[0].dataType,N.length),ne=se.type.value,ye=z2(Ae,N.length,I),Be=[{name:"output_size",type:"u32"},{name:"pads",type:"i32",length:I.pads.length}];return I.mode===0&&Be.push({name:"constant_value",type:j?ne:"f32"}),`
2123            ${Y.registerUniforms(Be).declareVariables(se,Ae)}
2124            ${Y.mainStart()}
2125            ${Y.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2126
2127            let indices = ${Ae.offsetToIndices("global_idx")};
2128
2129            var value = ${ne}(0);
2130            ${ye}
2131            output[global_idx] = value;
2132        }`}}},F2=(f,I)=>{if(f.length>1){let x=f[1].getBigInt64Array(),N=f.length>=3&&f[2].data?f[2].dataType===10?f[2].getUint16Array()[0]:f[2].getFloat32Array()[0]:0,L=f[0].dims.length,j=new Int32Array(2*L).fill(0);if(f.length>=4){let Ae=f[3].getBigInt64Array();for(let se=0;se<Ae.length;se++)j[Number(Ae[se])]=Number(x[se]),j[Number(Ae[se])+L]=Number(x[se+Ae.length])}else x.forEach((Ae,se)=>j[Number(se)]=Number(Ae));let Y=[];return j.forEach(Ae=>Y.push(Ae)),{mode:I.mode,value:N,pads:Y}}return I},L2=(f,I)=>{Q2(f.inputs);let x=F2(f.inputs,I);f.compute(O2(f.inputs,x),{inputs:[0]})}}),cs=me(()=>{lt(),hr(),yr(),Qr(),D0=f=>{if(G.webgpu.validateInputContent&&(!f||f.length!==1))throw new Error("Pool ops requires 1 input.")},V2=(f,I,x)=>{let N=I.format==="NHWC",L=f.dims.slice();N&&L.splice(1,0,L.pop());let j=Object.hasOwnProperty.call(I,"dilations"),Y=I.kernelShape.slice(),Ae=I.strides.slice(),se=j?I.dilations.slice():[],ne=I.pads.slice();pA.adjustPoolAttributes(x,L,Y,Ae,se,ne);let ye=pA.computePoolOutputShape(x,L,Ae,se,Y,ne,I.autoPad),Be=Object.assign({},I);j?Object.assign(Be,{kernelShape:Y,strides:Ae,pads:ne,dilations:se,cacheKey:I.cacheKey}):Object.assign(Be,{kernelShape:Y,strides:Ae,pads:ne,cacheKey:I.cacheKey});let te=ye.slice();return te.push(te.splice(1,1)[0]),[Be,N?te:ye]},vc=(f,I)=>{let x=I.format==="NHWC",N=[{type:12,data:gt.size(f)},{type:12,data:gt.size(I.kernelShape)}],L=[{name:"outputSize",type:"u32"},{name:"kernelSize",type:"u32"}];if(I.kernelShape.length<=2){let j=I.kernelShape[I.kernelShape.length-1],Y=I.strides[I.strides.length-1],Ae=I.pads[I.pads.length/2-1],se=I.pads[I.pads.length-1],ne=!!(Ae+se);N.push({type:12,data:j},{type:12,data:Y},{type:12,data:Ae},{type:12,data:se}),L.push({name:"kw",type:"u32"},{name:"sw",type:"u32"},{name:"pwStart",type:"u32"},{name:"pwEnd",type:"u32"});let ye=!1;if(I.kernelShape.length===2){let Be=I.kernelShape[I.kernelShape.length-2],te=I.strides[I.strides.length-2],Te=I.pads[I.pads.length/2-2],Oe=I.pads[I.pads.length-2];ye=!!(Te+Oe),N.push({type:12,data:Be},{type:12,data:te},{type:12,data:Te},{type:12,data:Oe}),L.push({name:"kh",type:"u32"},{name:"sh",type:"u32"},{name:"phStart",type:"u32"},{name:"phEnd",type:"u32"})}return[N,L,!0,ne,ye]}{if(x)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let j=gt.computeStrides(I.kernelShape);N.push({type:12,data:j},{type:12,data:I.pads},{type:12,data:I.strides}),L.push({name:"kernelStrides",type:"u32",length:j.length},{name:"pads",type:"u32",length:I.pads.length},{name:"strides",type:"u32",length:I.strides.length});let Y=I.pads.reduce((Ae,se)=>Ae+se);return[N,L,!!Y,!1,!1]}},yc=(f,I,x,N,L,j,Y,Ae,se,ne,ye,Be)=>{let te=L.format==="NHWC",Te=I.type.value,Oe=TA("output",I.type.tensor,N);if(L.kernelShape.length<=2){let Ke="",Re="",et="",ft=x-(te?2:1);if(Ke=ye?`
2133                for (var i: u32 = 0u; i < uniforms.kw; i++) {
2134                  xIndices[${ft}] = indices[${ft}] * uniforms.sw - uniforms.pwStart + i;
2135                  if (xIndices[${ft}] < 0 || xIndices[${ft}]
2136                      >= uniforms.x_shape[${ft}]) {
2137                    pad++;
2138                    continue;
2139                  }
2140                  let x_val = x[${I.indicesToOffset("xIndices")}];
2141                  ${j}
2142                }`:`
2143                for (var i: u32 = 0u; i < uniforms.kw; i++) {
2144                  xIndices[${ft}] = indices[${ft}] * uniforms.sw - uniforms.pwStart + i;
2145                  let x_val = x[${I.indicesToOffset("xIndices")}];
2146                  ${j}
2147                }`,L.kernelShape.length===2){let bt=x-(te?3:2);Re=Be?`
2148                for (var j: u32 = 0u; j < uniforms.kh; j++) {
2149                  xIndices[${bt}] = indices[${bt}] * uniforms.sh - uniforms.phStart + j;
2150                  if (xIndices[${bt}] < 0 || xIndices[${bt}] >= uniforms.x_shape[${bt}]) {
2151                    pad += i32(uniforms.kw);
2152                    continue;
2153                  }
2154              `:`
2155                for (var j: u32 = 0u; j < uniforms.kh; j++) {
2156                  xIndices[${bt}] = indices[${bt}] * uniforms.sh - uniforms.phStart + j;
2157                `,et=`
2158              }
2159            `}return`
2160            ${f.registerUniforms(se).declareVariables(I,Oe)}
2161
2162            ${f.mainStart()}
2163              ${f.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2164
2165              let indices = ${Oe.offsetToIndices("global_idx")};
2166              var xIndices = ${Oe.offsetToIndices("global_idx")};
2167
2168              var value = ${Te}(${Ae});
2169              var pad = 0;
2170              ${Re}
2171              ${Ke}
2172              ${et}
2173              ${Y}
2174
2175              output[global_idx] = value;
2176            }`}{if(te)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let Ke=L.kernelShape.length,Re=L.pads.length,et="";return et=ne?`
2177                if (xIndices[j] >= uniforms.x_shape[j]) {
2178                  pad++;
2179                  isPad = true;
2180                  break;
2181                }
2182              }
2183              if (!isPad) {
2184                let x_val = x[${I.indicesToOffset("xIndices")}];
2185                ${j}
2186              }`:`
2187              }
2188              let x_val = x[${I.indicesToOffset("xIndices")}];
2189              ${j}
2190            `,`
2191            ${f.registerUniforms(se).declareVariables(I,Oe)}
2192
2193            ${f.mainStart()}
2194              ${f.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2195              let indices = ${Oe.offsetToIndices("global_idx")};
2196              var xIndices = ${Oe.offsetToIndices("global_idx")};
2197
2198              var offsets: array<u32, ${Ke}>;
2199
2200              var value = ${Te}(${Ae});
2201              var pad = 0;
2202              var isPad = false;
2203
2204              for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {
2205                var offset = i;
2206                for (var j = 0u; j < ${Ke-1}u; j++) {
2207                  offsets[j] = offset / ${PA("uniforms.kernelStrides","j",Ke)};
2208                  offset -= offsets[j] * ${PA("uniforms.kernelStrides","j",Ke)};
2209                }
2210                offsets[${Ke-1}] = offset;
2211
2212                isPad = false;
2213                for (var j = ${x-Ke}u; j < ${x}u; j++) {
2214                  xIndices[j] = indices[j] * ${PA("uniforms.strides",`j - ${x-Ke}u`,Ke)}
2215                    + offsets[j - ${x-Ke}u] - ${PA("uniforms.pads","j - 2u",Re)};
2216                  ${et}
2217              }
2218              ${Y}
2219
2220              output[global_idx] = value;
2221            }`}},Ec=f=>`${f.format};${f.ceilMode};${f.autoPad};${f.kernelShape.length}`,H2=f=>`${Ec(f)};${f.countIncludePad}`,Y2=f=>`${Ec(f)};${f.storageOrder};${f.dilations}`,sc=f=>({format:f.format,autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][f.auto_pad],ceilMode:f.ceil_mode,kernelShape:f.kernel_shape,strides:f.strides,pads:f.pads}),Bc=(f,I,x,N)=>{let[L,j]=V2(I,N,x),Y=Yt("x",I.dataType,I.dims.length),Ae=Y.type.value,se="";L.countIncludePad?se+=`value /= ${Ae}(uniforms.kernelSize);`:se+=`value /= ${Ae}(i32(uniforms.kernelSize) - pad);`;let[ne,ye,Be,te,Te]=vc(j,L);return ne.push(..._A(I.dims,j)),{name:f,shaderCache:{hint:`${N.cacheKey};${Be};${te};${Te}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:j,dataType:I.dataType}],dispatchGroup:{x:Math.ceil(gt.size(j)/64)},programUniforms:ne}),getShaderSource:Oe=>yc(Oe,Y,I.dims.length,j.length,L,"value += x_val;",se,0,ye,Be,te,Te)}},R2=f=>{let I=f.count_include_pad!==0,x=sc(f);if(x.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for AveragePool");let N={countIncludePad:I,...x,cacheKey:""};return{...N,cacheKey:H2(N)}},xc=(f,I)=>{D0(f.inputs),f.compute(Bc("AveragePool",f.inputs[0],!1,I))},Mc={autoPad:"",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},j2=f=>{let I=f.format;return{format:I,...Mc,cacheKey:I}},Dc=(f,I)=>{D0(f.inputs),f.compute(Bc("GlobalAveragePool",f.inputs[0],!0,I))},Gc=(f,I,x,N)=>{let[L,j]=V2(I,N,x),Y=Yt("x",I.dataType,I.dims.length),[Ae,se,ne,ye,Be]=vc(j,L);return Ae.push(..._A(I.dims,j)),{name:f,shaderCache:{hint:`${N.cacheKey};${ne};${ye};${Be}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:j,dataType:I.dataType}],dispatchGroup:{x:Math.ceil(gt.size(j)/64)},programUniforms:Ae}),getShaderSource:te=>yc(te,Y,I.dims.length,j.length,L,`
2222      value = max(x_val, value);
2223    `,"",I.dataType===10?-65504:-1e5,se,ne,ye,Be)}},W2=(f,I)=>{D0(f.inputs),f.compute(Gc("MaxPool",f.inputs[0],!1,I))},ac=f=>{let I=f.storage_order,x=f.dilations,N=sc(f);if(I!==0)throw new Error("column major storage order is not yet supported for MaxPool");if(N.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for MaxPool");let L={storageOrder:I,dilations:x,...N,cacheKey:""};return{...L,cacheKey:Y2(L)}},U2=f=>{let I=f.format;return{format:I,...Mc,cacheKey:I}},K2=(f,I)=>{D0(f.inputs),f.compute(Gc("GlobalMaxPool",f.inputs[0],!0,I))}}),br=me(()=>{hr(),yr(),va(),Qr(),Z2=(f,I)=>{if(f.length<2||f.length>3)throw new Error("DequantizeLinear requires 2 or 3 inputs.");if(f.length===3&&f[1].dims===f[2].dims)throw new Error("x-scale and x-zero-point must have the same shape.");if(f.length===3&&f[0].dataType!==f[2].dataType)throw new Error("x and x-zero-point must have the same data type.");if(f[0].dataType===6&&f.length>2)throw new Error("In the case of dequantizing int32 there is no zero point.");if(f[1].dims.length!==0&&f[1].dims.length!==1&&f[1].dims.length!==f[0].dims.length)throw new Error("scale input must be a scalar, a 1D tensor, or have the same rank as the input tensor.");if(f.length>2){if(f[0].dataType!==f[2].dataType)throw new Error("x and x-zero-point must have the same data type.");if(f[1].dims.length!==f[2].dims.length)throw new Error("scale and zero-point inputs must have the same rank.");if(!f[1].dims.map((x,N)=>x===f[2].dims[N]).reduce((x,N)=>x&&N,!0))throw new Error("scale and zero-point inputs must have the same shape.")}if(I.blockSize>0){if(f[1].dims.length===0||f[1].dims.length===1&&f[1].dims[0]===1)throw new Error("blockSize must be set only for block quantization.");if(!f[1].dims.map((L,j)=>j===I.axis||L===f[0].dims[j]).reduce((L,j)=>L&&j,!0))throw new Error("For block qunatization, scale input shape to match the input shape except for the axis");if(f[1].dims.length!==f[0].dims.length)throw new Error("For block qunatization the scale input rank must be the same as the x rank.");let x=f[0].dims[I.axis],N=f[1].dims[I.axis];if(I.blockSize<Math.ceil(x/N)||I.blockSize>Math.ceil(x/(N-1)-1))throw new Error("blockSize must be with in the range [ceil(dI / Si), ceil(dI / (Si - 1) - 1)].")}},X2=(f,I)=>{let x=gt.normalizeAxis(I.axis,f[0].dims.length),N=f[0].dataType,L=N===3,j=f[0].dims,Y=f[1].dataType,Ae=gt.size(j),se=N===3||N===2,ne=se?[Math.ceil(gt.size(f[0].dims)/4)]:f[0].dims,ye=f[1].dims,Be=f.length>2?f[2]:void 0,te=Be?se?[Math.ceil(gt.size(Be.dims)/4)]:Be.dims:void 0,Te=ye.length===0||ye.length===1&&ye[0]===1,Oe=Te===!1&&ye.length===1,Ke=_r(Ae),Re=Te&&(!se||Ke===4),et=Re?Ke:1,ft=Re&&!se?Ke:1,bt=Yt("input",se?12:N,ne.length,ft),Mt=Yt("scale",Y,ye.length),Dt=Be?Yt("zero_point",se?12:N,te.length):void 0,Nt=TA("output",Y,j.length,et),hA=[bt,Mt];Dt&&hA.push(Dt);let xA=[ne,ye];Be&&xA.push(te);let er=[{type:12,data:Ae/et},{type:12,data:x},{type:12,data:I.blockSize},..._A(...xA,j)];return{name:"DequantizeLinear",shaderCache:{hint:I.cacheKey,inputDependencies:Dt?["rank","rank","rank"]:["rank","rank"]},getShaderSource:tr=>`
2224      ${tr.registerUniforms([{name:"output_size",type:"u32"},{name:"axis",type:"u32"},{name:"block_size",type:"u32"}]).declareVariables(...hA,Nt)}
2225      ${tr.mainStart()}
2226          ${tr.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2227          let output_indices = ${Nt.offsetToIndices("global_idx")};
2228
2229          // Set input x
2230          ${se?`
2231            let input = ${bt.getByOffset("global_idx / 4")};
2232            let x_vec = ${L?"unpack4xI8(input)":"unpack4xU8(input)"};
2233            let x_value = ${et===1?"x_vec[global_idx % 4]":"x_vec"};`:`let x_value = ${bt.getByOffset("global_idx")};`};
2234
2235          // Set scale input
2236          ${Te?`let scale_value= ${Mt.getByOffset("0")}`:Oe?`
2237            let scale_index = ${Nt.indicesGet("output_indices","uniforms.axis")};
2238            let scale_value= ${Mt.getByOffset("scale_index")};`:`
2239            var scale_indices: ${Mt.type.indices} = output_indices;
2240            let index = ${Mt.indicesGet("scale_indices","uniforms.axis")} / uniforms.block_size;
2241            ${Mt.indicesSet("scale_indices","uniforms.axis","index")};
2242            let scale_value= ${Mt.getByIndices("scale_indices")};`};
2243
2244          // Set zero-point input
2245          ${Dt?Te?se?`
2246                let zero_point_input = ${Dt.getByOffset("0")};
2247                let zero_point_vec =  ${L?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2248                let zero_point_value= zero_point_vec[0]`:`let zero_point_value = ${Dt.getByOffset("0")}`:Oe?se?`
2249                let zero_point_index = ${Nt.indicesGet("output_indices","uniforms.axis")};
2250                let zero_point_input = ${Dt.getByOffset("zero_point_index / 4")};
2251                let zero_point_vec =  ${L?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2252                let zero_point_value = zero_point_vec[zero_point_index % 4]`:`
2253                let zero_point_index = ${Nt.indicesGet("output_indices","uniforms.axis")};
2254                let zero_point_value = ${Dt.getByOffset("zero_point_index")};`:se?`
2255                let zero_point_offset = ${Mt.indicesToOffset("scale_indices")};
2256                let zero_point_input = ${Dt.getByOffset("zero_point_offset / 4")};
2257                let zero_point_vec = ${L?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2258                let zero_point_value = zero_point_vec[zero_point_offset % 4];`:`let zero_point_value = ${Dt.getByIndices("scale_indices")};`:`let zero_point_value = ${se?L?"i32":"u32":bt.type.value}(0);`};
2259      // Compute and write output
2260      ${Nt.setByOffset("global_idx",`${Nt.type.value}(x_value - zero_point_value) * scale_value`)};
2261      }`,getRunData:()=>({outputs:[{dims:j,dataType:Y}],dispatchGroup:{x:Math.ceil(Ae/et/64),y:1,z:1},programUniforms:er})}},_c=(f,I)=>{Z2(f.inputs,I),f.compute(X2(f.inputs,I))},nc=f=>vt({axis:f.axis,blockSize:f.blockSize})}),Mr=me(()=>{lt(),hr(),Qr(),t1=(f,I,x)=>{if(f===I||f<I&&x<0||f>I&&x>0)throw new Error("Range these inputs' contents are invalid.")},q2=(f,I,x,N)=>{let L=Math.abs(Math.ceil((I-f)/x)),j=[L],Y=L,Ae=[{type:12,data:Y},{type:N,data:f},{type:N,data:x},..._A(j)];return{name:"Range",shaderCache:{hint:`${N}`},getShaderSource:se=>{let ne=TA("output",N,j.length),ye=ne.type.value,Be=[{name:"outputSize",type:"u32"},{name:"start",type:ye},{name:"delta",type:ye}];return`
2262        ${se.registerUniforms(Be).declareVariables(ne)}
2263        ${se.mainStart()}
2264        ${se.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2265        output[global_idx] = uniforms.start + ${ye}(global_idx) * uniforms.delta;
2266      }`},getRunData:()=>({outputs:[{dims:j,dataType:N}],dispatchGroup:{x:Math.ceil(Y/64)},programUniforms:Ae})}},J2=f=>{let I=0,x=0,N=0;f.inputs[0].dataType===6?(I=f.inputs[0].getInt32Array()[0],x=f.inputs[1].getInt32Array()[0],N=f.inputs[2].getInt32Array()[0]):f.inputs[0].dataType===1&&(I=f.inputs[0].getFloat32Array()[0],x=f.inputs[1].getFloat32Array()[0],N=f.inputs[2].getFloat32Array()[0]),G.webgpu.validateInputContent&&t1(I,x,N),f.compute(q2(I,x,N,f.inputs[0].dataType),{inputs:[]})}}),Pr=me(()=>{hr(),yr(),va(),Qr(),Tc=(f,I,x,N)=>{if(f!=="none"&&N!=="i32"&&N!=="u32"&&N!=="f32")throw new Error(`Input ${N} is not supported with reduction ${f}.`);let L=`{
2267                var oldValue = 0;
2268                loop {
2269                  let newValueF32 =`,j=`;
2270                  let newValue = bitcast<i32>(newValueF32);
2271                  let res = atomicCompareExchangeWeak(&${I}, oldValue, newValue);
2272                  if res.exchanged {
2273                    break;
2274                  }
2275                  oldValue = res.old_value;
2276                }
2277              }`;switch(f){case"none":return`${I}=${x};`;case"add":return N==="i32"||N==="u32"?`atomicAdd(&${I}, bitcast<${N}>(${x}));`:`
2278              ${L}bitcast<${N}>(oldValue) + (${x})${j}`;case"max":return N==="i32"||N==="u32"?`atomicMax(&${I}, bitcast<${N}>(${x}));`:`
2279                ${L}max(bitcast<f32>(oldValue), (${x}))${j}`;case"min":return N==="i32"||N==="u32"?`atomicMin(&${I}, bitcast<${N}>(${x}));`:`${L}min(bitcast<${N}>(oldValue), (${x}))${j}`;case"mul":return`${L}(bitcast<${N}>(oldValue) * (${x}))${j}`;default:throw new Error(`Reduction ${f} is not supported.`)}},$2=(f,I)=>{let x=f[0].dims,N=f[1].dims,L=x,j=Math.ceil(gt.size(N)/1),Y=N[N.length-1],Ae=gt.sizeFromDimension(x,Y),se=[{type:12,data:j},{type:12,data:Y},{type:12,data:Ae},..._A(f[1].dims,f[2].dims,L)];return{name:"ScatterND",shaderCache:{hint:`${I.cacheKey}_${I.reduction}`,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:L,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(j/64)},programUniforms:se}),getShaderSource:ne=>{let ye=Yt("indices",f[1].dataType,f[1].dims.length),Be=Yt("updates",f[2].dataType,f[2].dims.length,1),te=I.reduction!=="none"&&I.reduction!==""?Js("output",f[0].dataType,L.length):TA("output",f[0].dataType,L.length,1);return`
2280      ${ne.registerUniform("output_size","u32").registerUniform("last_index_dimension","u32").registerUniform("num_updates_elements","u32").declareVariables(ye,Be,te)}
2281      ${ne.mainStart()}
2282        ${ne.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2283  var data_offset = 0u;
2284  let indices_start = uniforms.last_index_dimension * global_idx;
2285  let indices_end = indices_start + uniforms.last_index_dimension;
2286  for (var i = indices_start; i < indices_end; i++) {
2287    var index = i32(indices[i].x);
2288    ${f[0].dims.length===1?`
2289    let element_count_dim = uniforms.output_strides;
2290    let dim_value = uniforms.output_shape;`:`
2291    let element_count_dim = uniforms.output_strides[i - indices_start];
2292    let dim_value = uniforms.output_shape[i - indices_start + uniforms.last_index_dimension];`}
2293    if (index >= 0) {
2294      if (index >= i32(dim_value)) {
2295        index = i32(dim_value - 1);
2296      }
2297    } else {
2298      if (index < -i32(dim_value)) {
2299        index = 0;
2300      } else {
2301        index += i32(dim_value);
2302      }
2303    }
2304    data_offset += u32((u32(index) * element_count_dim));
2305  }
2306
2307  for (var i = 0u; i < uniforms.num_updates_elements; i++) {
2308    let value = updates[uniforms.num_updates_elements * global_idx + i];
2309    ${Tc(I.reduction,"output[data_offset + i]","value",te.type.value)}
2310  }
2311
2312      }`}}},eu=f=>vt({reduction:f.reduction}),Qc=(f,I)=>{f.compute($2(f.inputs,I),{inputs:[f.inputs[1],f.inputs[2]],outputs:[]})}}),us=me(()=>{hr(),yr(),va(),Qr(),tu=(f,I)=>{if(f.every(x=>x>0||(()=>{throw new Error("Resize requires scales input values to be positive")})),f.length>0){if(I.mode==="linear"){if(!(f.length===2||f.length===3||f.length===4&&f[0]===1&&f[1]===1||f.length===4&&f[0]===1&&f[3]===1||f.length===5&&f[0]===1&&f[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and
2313            one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(I.mode==="cubic"&&!(f.length===2||f.length===4&&f[0]===1&&f[1]===1||f.length===4&&f[0]===1&&f[3]===1))throw new Error("Resize requires scales input size to be 2 or 4 for cubic mode")}},Au=(f,I,x)=>{I.every(L=>L>=0&&L<x||(()=>{throw new Error("Resize requires axes input values to be positive and less than rank")}));let N=new Array(x).fill(1);return I.forEach((L,j)=>N[L]=f[j]),N},Pc=(f,I,x,N,L,j)=>{let[Y,Ae,se]=x>10?[1,2,3]:[-1,f.length>1?1:-1,-1],ne=f[0].dims.length;if(Y>0&&f.length>Y&&f[Y].dims.length>0)f[Y].getFloat32Array().forEach(ye=>j.push(ye));else if(I.coordinateTransformMode==="tf_crop_and_resize")throw new Error("Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize");if(Ae>0&&f.length>Ae&&f[Ae].dims.length===1&&f[Ae].dims[0]>0){if(f[Ae].getFloat32Array().forEach(ye=>N.push(ye)),N.length!==0&&N.length!==ne&&x>=18&&N.length!==I.axes.length)throw new Error("Resize requires scales input size to be same as input rank or axes size for opset 18 and up");tu(N,I),I.axes.length>0&&Au(N,I.axes,ne).forEach((ye,Be)=>N[Be]=ye)}if(se>0&&f.length>se&&f[se].dims.length===1&&f[se].dims[0]>0&&(f[se].getBigInt64Array().forEach(ye=>L.push(Number(ye))),L.length!==0&&L.length!==ne&&x>=18&&L.length!==I.axes.length))throw new Error("Resize requires sizes input size to be same as input rank or axes size for opset 18 and up");if(I.axes.length>0){if(N.length!==0&&N.length!==I.axes.length)throw new Error('Resize requires "scales" input size to be of axes rank when axes attributes is specified');if(L.length!==0&&L.length!==I.axes.length)throw new Error('Resize requires "sizes" input size to be of rank axes rank when axes attributes is specified')}if(typeof N<"u"&&typeof L<"u"&&N.length>0&&L.length>ne)throw new Error("Resize requires only of scales or sizes to be specified")},ru=(f,I,x,N)=>`
2314  // The whole part and the fractional part are calculated separately due to inaccuracy of floating
2315  // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an
2316  // offset-by-one error later in floor().
2317  let big = (${f}) * (${I});
2318  let whole = ${N}(big / (${x}));
2319  let fract = ${N}(big % (${x})) / ${N}(${x});
2320  return whole + fract;
2321`,A1=(f,I)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,
2322     lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${I} { `+(()=>{switch(f){case"asymmetric":return`
2323          if (xScale < 1.0 || floor(xScale) != xScale) {
2324            return ${I}(xResized) / ${I}(xScale);
2325          } else {
2326            ${ru("xResized","lengthOriginal","lengthResized",I)}
2327          }
2328        `;case"pytorch_half_pixel":return`if (lengthResized > 1) {
2329                    return (${I}(xResized) + 0.5) / ${I}(xScale) - 0.5;
2330                  } else {
2331                    return 0.0;
2332                  }`;case"tf_half_pixel_for_nn":return`return (${I}(xResized) + 0.5) / ${I}(xScale);`;case"align_corners":return`if (lengthResized == 1) {
2333                    return 0.0;
2334                  } else {
2335                    ${ru("xResized","lengthOriginal - 1","lengthResized - 1",I)}
2336                  }`;case"tf_crop_and_resize":return`if (lengthResized > 1) {
2337                    return ${I}(roiStart) * ${I}(lengthOriginal - 1) +
2338                        (${I}(xResized) * ${I}(roiEnd - roiStart) * ${I}(lengthOriginal - 1)) /
2339                        ${I}(lengthResized - 1);
2340                  } else {
2341                    return 0.5 * ${I}(roiStart + roiEnd) * ${I}(lengthOriginal - 1);
2342                  }`;case"half_pixel_symmetric":return`const outputWidth = ${I}xScale * ${I}(lengthResized);
2343                  const adjustment = ${I}(lengthResized) / outputWidth;
2344                  const center = ${I}(lengthOriginal) / 2;
2345                  const offset = center * (1 - adjustment);
2346                  return offset + ((${I}(xResized) + 0.5) / ${I}(xScale)) - 0.5;`;case"half_pixel":return`return ((${I}(xResized) + 0.5) / ${I}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${f} is not supported`)}})()+"}",Sc=(f,I,x)=>`fn getNearestPixelFromOriginal(xOriginal: ${x}, isDownSample: bool) -> ${x} {`+(()=>{switch(f){case"round_prefer_ceil":return"if (fract(xOriginal) == 0.5) {             return ceil(xOriginal);           } else {             return round(xOriginal);           }";case"floor":return"return floor(xOriginal);";case"ceil":return"return ceil(xOriginal);";case"round_prefer_floor":return"if (fract(xOriginal) == 0.5) {                     return floor(xOriginal);                   } else {                     return round(xOriginal);                   }";default:if(I<11)return"if (isDownSample)                     {                       return ceil(xOriginal);                     } else {                       return xOriginal;                     }";throw new Error(`Nearest mode ${f} is not supported`)}})()+"}",Nc=(f,I,x)=>{let N=new Array(x).fill(0).concat(new Array(x).fill(1)),L=f.length===0?N:f.slice();return I.length>0?(I.forEach((j,Y)=>{N[j]=L[Y],N[Y+x]=L[I.length+Y]}),N):L},su=(f,I,x,N)=>{let L=[];if(x.length>0)if(N.length>0){if(f.forEach(j=>L.push(j)),Math.max(...N)>f.length)throw new Error("axes is out of bound");N.forEach((j,Y)=>L[j]=x[Y])}else x.forEach(j=>L.push(j));else{if(I.length===0)throw new Error("Resize requires either scales or sizes.");L=f.map((j,Y)=>Math.round(j*I[Y]))}return L},au=(f,I,x)=>{let N=(()=>{switch(x.keepAspectRatioPolicy){case"not_larger":return x.axes.length>0?Math.min(...x.axes.map(j=>I[j]),Number.MAX_VALUE):Math.min(...I,Number.MAX_VALUE);case"not_smaller":return x.axes.length>0?Math.max(...x.axes.map(j=>I[j]),Number.MIN_VALUE):Math.max(...I,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${x.keepAspectRatioPolicy} is not supported`)}})();I.fill(1,0,I.length);let L=f.slice();return x.axes.length>0?(x.axes.forEach(j=>I[j]=N),x.axes.forEach(j=>L[j]=Math.round(f[j]*I[j]))):(I.fill(N,0,I.length),L.forEach((j,Y)=>L[Y]=Math.round(j*I[Y]))),L},zc=(f,I,x,N,L)=>`
2347    fn calculateOriginalIndicesFromOutputIndices(output_indices: ${f.type.indices}) -> array<${f.type.value}, ${x.length}> {
2348      var original_indices: array<${f.type.value}, ${x.length}>;
2349      for (var i:u32 = 0; i < ${x.length}; i++) {
2350        var output_index = ${f.indicesGet("output_indices","i")};
2351        var scale = ${PA("uniforms.scales","i",N)};
2352        var roi_low = ${PA("uniforms.roi","i",L)};
2353        var roi_hi = ${PA("uniforms.roi",`i + ${I.length}`,L)};
2354        if (scale == 1.0) {
2355          original_indices[i] = ${f.type.value}(output_index);
2356        } else {
2357          var input_shape_i = ${PA("uniforms.input_shape","i",I.length)};
2358          var output_shape_i = ${PA("uniforms.output_shape","i",x.length)};
2359          original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
2360                                                                           input_shape_i, roi_low, roi_hi);
2361        }
2362      }
2363      return original_indices;
2364    }`,nu=(f,I,x,N,L,j,Y)=>`
2365    fn calculateInputIndicesFromOutputIndices(output_indices: ${I.type.indices}) -> ${f.type.indices} {
2366      var input_indices: ${f.type.indices};
2367      for (var i:u32 = 0; i < ${N.length}; i++) {
2368        var output_index = ${I.indicesGet("output_indices","i")};
2369        var input_index: u32;
2370        var scale = ${PA("uniforms.scales","i",L)};
2371        if (scale == 1.0) {
2372          input_index = output_index;
2373        } else {
2374          var roi_low = ${PA("uniforms.roi","i",j)};
2375          var roi_hi = ${PA("uniforms.roi",`i + ${x.length}`,j)};
2376          var input_shape_i = ${PA("uniforms.input_shape","i",x.length)};
2377          var output_shape_i = ${PA("uniforms.output_shape","i",N.length)};
2378          var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
2379                                                                        input_shape_i, roi_low, roi_hi);
2380          if (!${Y} || (original_idx >= 0 && original_idx < ${I.type.value}(input_shape_i))) {
2381            if (original_idx < 0) {
2382              input_index = 0;
2383            } else if (original_idx > ${I.type.value}(input_shape_i - 1)) {
2384              input_index = input_shape_i - 1;
2385            } else {
2386              input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));
2387            }
2388          } else {
2389            input_index = u32(original_idx);
2390          }
2391        }
2392        ${f.indicesSet("input_indices","i","input_index")}
2393      }
2394      return input_indices;
2395    }`,iu=(f,I)=>`
2396    fn checkInputIndices(input_indices: ${f.type.indices}) -> bool {
2397      for (var i:u32 = 0; i < ${I.length}; i++) {
2398        var input_index = ${f.indicesGet("input_indices","i")};
2399        if (input_index < 0 || input_index >= ${PA("uniforms.input_shape","i",I.length)}) {
2400          return false;
2401        }
2402      }
2403      return true;
2404    }`,ic=(f,I,x,N)=>f.rank>N?`
2405    ${f.indicesSet("input_indices",I,"channel")};
2406    ${f.indicesSet("input_indices",x,"batch")};
2407`:"",ou=(f,I,x,N,L)=>{let[j,Y,Ae,se]=x.length===2?[-1,0,1,-1]:[0,2,3,1],ne=f.type.value;return`
2408    fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${ne} {
2409      var input_indices: ${f.type.indices};
2410      ${f.indicesSet("input_indices",Y,`max(0, min(row, ${x[Y]} - 1))`)};
2411      ${f.indicesSet("input_indices",Ae,`max(0, min(col, ${x[Ae]} - 1))`)};
2412      ${ic(f,se,j,2)}
2413      return ${f.getByIndices("input_indices")};
2414    }
2415
2416    fn bilinearInterpolation(output_indices: ${I.type.indices}) -> ${ne} {
2417      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
2418      var row:${ne} = originalIndices[${Y}];
2419      var col:${ne} = originalIndices[${Ae}];
2420      ${N?`if (row < 0 || row > (${x[Y]} - 1) || col < 0 || col > (${x[Ae]} - 1)) {
2421        return ${L};
2422      }`:""};
2423      row = max(0, min(row, ${x[Y]} - 1));
2424      col = max(0, min(col, ${x[Ae]} - 1));
2425      var row1: u32 = u32(row);
2426      var col1: u32 = u32(col);
2427      var row2: u32 = u32(row + 1);
2428      var col2: u32 = u32(col + 1);
2429      var channel: u32 = ${x.length>2?`u32(originalIndices[${se}])`:"0"};
2430      var batch: u32 =  ${x.length>2?`u32(originalIndices[${j}])`:"0"};
2431      var x11: ${ne} = getInputValue(batch, channel, row1, col1);
2432      var x12: ${ne} = getInputValue(batch, channel, row1, col2);
2433      var x21: ${ne} = getInputValue(batch, channel, row2, col1);
2434      var x22: ${ne} = getInputValue(batch, channel, row2, col2);
2435      var dx1: ${ne} = abs(row - ${ne}(row1));
2436      var dx2: ${ne} = abs(${ne}(row2) - row);
2437      var dy1: ${ne} = abs(col - ${ne}(col1));
2438      var dy2: ${ne} = abs(${ne}(col2) - col);
2439      if (row1 == row2) {
2440        dx1 = 0.5;
2441        dx2 = 0.5;
2442      }
2443      if (col1 == col2) {
2444        dy1 = 0.5;
2445        dy2 = 0.5;
2446      }
2447      return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);
2448    }`},lu=(f,I,x,N,L,j,Y,Ae,se,ne)=>{let ye=x.length===2,[Be,te]=ye?[0,1]:[2,3],Te=f.type.value,Oe=Ke=>{let Re=Ke===Be?"row":"col";return`
2449      fn ${Re}CubicInterpolation(input_indices: ${f.type.indices}, output_indices: ${I.type.indices}) -> ${Te} {
2450        var output_index = ${I.indicesGet("output_indices",Ke)};
2451        var originalIdx: ${Te} = getOriginalCoordinateFromResizedCoordinate(output_index, ${L[Ke]},
2452        ${N[Ke]}, ${x[Ke]}, ${j[Ke]}, ${j[Ke]} + ${x.length});
2453        var fractOriginalIdx: ${Te} = originalIdx - floor(originalIdx);
2454        var coefs = getCubicInterpolationCoefs(fractOriginalIdx);
2455
2456        if (${Ae} && (originalIdx < 0 || originalIdx > (${x[Ke]} - 1))) {
2457          return ${se};
2458        }
2459        var data: array<${Te}, 4> = array<${Te}, 4>(0.0, 0.0, 0.0, 0.0);
2460        for (var i: i32 = -1; i < 3; i++) {
2461          var ${Re}: ${Te} = originalIdx + ${Te}(i);
2462          if (${Re} < 0 || ${Re} >= ${x[Ke]}) {
2463            ${ne?`coefs[i + 1] = 0.0;
2464                        continue;`:Ae?`return ${se};`:`${Re} = max(0, min(${Re}, ${x[Ke]} - 1));`};
2465          }
2466        var input_indices_copy: ${f.type.indices} = input_indices;
2467          ${f.indicesSet("input_indices_copy",Ke,`u32(${Re})`)};
2468          data[i + 1] = ${Ke===Be?f.getByIndices("input_indices_copy"):"rowCubicInterpolation(input_indices_copy, output_indices)"};
2469        }
2470        return cubicInterpolation1D(data, coefs);
2471      }`};return`
2472    ${Oe(Be)};
2473    ${Oe(te)};
2474  fn getCubicInterpolationCoefs(s: ${Te}) -> array<${Te}, 4> {
2475    var absS = abs(s);
2476    var coeffs: array<${Te}, 4> = array<${Te}, 4>(0.0, 0.0, 0.0, 0.0);
2477    var oneMinusAbsS: ${Te} = 1.0 - absS;
2478    var twoMinusAbsS: ${Te} = 2.0 - absS;
2479    var onePlusAbsS: ${Te} = 1.0 + absS;
2480    coeffs[0] = ((${Y} * onePlusAbsS - 5 * ${Y}) * onePlusAbsS + 8 * ${Y}) * onePlusAbsS - 4 * ${Y};
2481    coeffs[1] = ((${Y} + 2) * absS - (${Y} + 3)) * absS * absS + 1;
2482    coeffs[2] = ((${Y} + 2) * oneMinusAbsS - (${Y} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;
2483    coeffs[3] = ((${Y} * twoMinusAbsS - 5 * ${Y}) * twoMinusAbsS + 8 * ${Y}) * twoMinusAbsS - 4 * ${Y};
2484    return coeffs;
2485  }
2486
2487  fn cubicInterpolation1D(x: array<${Te}, 4>, coefs: array<${Te}, 4>) -> ${Te} {
2488    var coefsSum: ${Te} = coefs[0] + coefs[1] + coefs[2] + coefs[3];
2489    return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;
2490  }
2491
2492  fn bicubicInterpolation(output_indices: ${I.type.indices}) -> ${Te} {
2493    var input_indices: ${f.type.indices} = output_indices;
2494    return colCubicInterpolation(input_indices, output_indices);
2495  }
2496    `},Oc=(f,I,x,N,L)=>{let[j,Y,Ae,se,ne]=x.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],ye=f.type.value;return`
2497    fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${ye} {
2498      var input_indices: ${f.type.indices};
2499      ${f.indicesSet("input_indices",Y,`max(0, min(depth, ${x[Y]} - 1))`)};
2500      ${f.indicesSet("input_indices",Ae,`max(0, min(height, ${x[Ae]} - 1))`)};
2501      ${f.indicesSet("input_indices",se,`max(0, min(width, ${x[se]} - 1))`)};
2502      ${ic(f,ne,j,3)}
2503      return ${f.getByIndices("input_indices")};
2504    }
2505
2506    fn trilinearInterpolation(output_indices: ${I.type.indices}) -> ${ye} {
2507      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
2508      var depth:${ye} = originalIndices[${Y}];
2509      var height:${ye} = originalIndices[${Ae}];
2510      var width:${ye} = originalIndices[${se}];
2511      ${N?`if (depth < 0 || depth > (${x[Y]} - 1) || height < 0 || height > (${x[Ae]} - 1) || width < 0 || (width > ${x[se]} - 1)) {
2512      return ${L};
2513        }`:""};
2514
2515    depth = max(0, min(depth, ${x[Y]} - 1));
2516      height = max(0, min(height, ${x[Ae]} - 1));
2517      width = max(0, min(width, ${x[se]} - 1));
2518      var depth1: u32 = u32(depth);
2519      var height1: u32 = u32(height);
2520      var width1: u32 = u32(width);
2521      var depth2: u32 = u32(depth + 1);
2522      var height2: u32 = u32(height + 1);
2523      var width2: u32 = u32(width + 1);
2524      var channel: u32 = ${x.length>3?`u32(originalIndices[${ne}])`:"0"};
2525      var batch: u32 =  ${x.length>3?`u32(originalIndices[${j}])`:"0"};
2526
2527      var x111: ${ye} = getInputValue(batch, channel, depth1, height1, width1);
2528      var x112: ${ye} = getInputValue(batch, channel, depth1, height1, width2);
2529      var x121: ${ye} = getInputValue(batch, channel, depth1, height2, width1);
2530      var x122: ${ye} = getInputValue(batch, channel, depth1, height2, width2);
2531      var x211: ${ye} = getInputValue(batch, channel, depth2, height1, width1);
2532      var x212: ${ye} = getInputValue(batch, channel, depth2, height1, width2);
2533      var x221: ${ye} = getInputValue(batch, channel, depth2, height2, width1);
2534      var x222: ${ye} = getInputValue(batch, channel, depth2, height2, width2);
2535      var dx1: ${ye} = abs(depth - ${ye}(depth1));
2536      var dx2: ${ye} = abs(${ye}(depth2) - depth);
2537      var dy1: ${ye} = abs(height - ${ye}(height1));
2538      var dy2: ${ye} = abs(${ye}(height2) - height);
2539      var dz1: ${ye} = abs(width - ${ye}(width1));
2540      var dz2: ${ye} = abs(${ye}(width2) - width);
2541      if (depth1 == depth2) {
2542        dx1 = 0.5;
2543        dx2 = 0.5;
2544      }
2545      if (height1 == height2) {
2546        dy1 = 0.5;
2547        dy2 = 0.5;
2548      }
2549      if (width1 == width2) {
2550        dz1 = 0.5;
2551        dz2 = 0.5;
2552      }
2553      return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +
2554              x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);
2555    }`},cu=(f,I,x,N,L,j)=>{let Y=f.dims,Ae=Nc(j,I.axes,Y.length),se=su(Y,N,L,I.axes),ne=N.slice();N.length===0&&(ne=Y.map((et,ft)=>et===0?1:se[ft]/et),I.keepAspectRatioPolicy!=="stretch"&&(se=au(Y,ne,I)));let ye=TA("output",f.dataType,se.length),Be=Yt("input",f.dataType,Y.length),te=gt.size(se),Te=Y.length===se.length&&Y.every((et,ft)=>et===se[ft]),Oe=I.coordinateTransformMode==="tf_crop_and_resize",Ke=I.extrapolationValue,Re=Be.type.value;return{name:"Resize",shaderCache:{hint:`${I.cacheKey}|${x}|${ne.length>0?I.mode==="cubic"?ne:ne.length:""}|${L.length>0?L:""}|${Ae.length>0?Ae:""}|${Te}|${I.mode==="nearest"?Y.length:Y}`,inputDependencies:["rank"]},getShaderSource:et=>`
2556      ${Te?"":`
2557      ${A1(I.coordinateTransformMode,Re)};
2558      ${(()=>{switch(I.mode){case"nearest":return`
2559              ${iu(Be,Y)};
2560              ${Sc(I.nearestMode,x,Re)};
2561              ${nu(Be,ye,Y,se,ne.length,Ae.length,Oe)};
2562              `;case"linear":return`
2563              ${zc(ye,Y,se,ne.length,Ae.length)};
2564              ${(()=>{if(Y.length===2||Y.length===4)return`${ou(Be,ye,Y,Oe,Ke)}`;if(Y.length===3||Y.length===5)return`${Oc(Be,ye,Y,Oe,Ke)}`;throw Error("Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.")})()};
2565            `;case"cubic":return`
2566            ${(()=>{if(Y.length===2||Y.length===4)return`${lu(Be,ye,Y,se,ne,Ae,I.cubicCoeffA,Oe,I.extrapolationValue,I.excludeOutside)}`;throw Error("Cubic mode only supports input dims 2 and 4 are supported in linear mode.")})()};
2567            `;default:throw Error("Invalid resize mode")}})()};
2568      `}
2569      ${et.registerUniform("output_size","u32").registerUniform("scales","f32",ne.length).registerUniform("roi","f32",Ae.length).declareVariables(Be,ye)}
2570      ${et.mainStart()}
2571        ${et.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2572        ${Te?"output[global_idx] = input[global_idx];":`
2573        let output_indices = ${ye.offsetToIndices("global_idx")};
2574        var input_indices: ${Be.type.indices};
2575        ${(()=>{switch(I.mode){case"nearest":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);
2576                if (checkInputIndices(input_indices)) {
2577                  output[global_idx] = ${Be.getByIndices("input_indices")};
2578                } else {
2579                  output[global_idx] = ${I.extrapolationValue};
2580                }`;case"linear":return`output[global_idx] = ${Y.length===2||Y.length===4?"bilinearInterpolation":"trilinearInterpolation"}(output_indices);`;case"cubic":return"output[global_idx] = bicubicInterpolation(output_indices);";default:throw Error(`Unsupported resize mode: ${I.mode}`)}})()};
2581`}
2582      }`,getRunData:()=>({outputs:[{dims:se,dataType:f.dataType}],dispatchGroup:{x:Math.ceil(te/64)},programUniforms:[{type:12,data:te},{type:1,data:ne},{type:1,data:Ae},..._A(Y,se)]})}},uu=f=>{let I=f.customDataBuffer;return new Uint32Array(I,I.byteOffset,1)[0]},fu=(f,I)=>{let x=[],N=[],L=[],j=uu(f);if(I.antialias!==0)throw Error("Only default value (0) for Antialias attribute is supported");Pc(f.inputs,I,j,x,N,L),f.compute(cu(f.inputs[0],I,j,x,N,L),{inputs:[0]})},du=f=>{let I=f.antialias,x=f.axes,N=f.coordinateTransformMode,L=f.cubicCoeffA,j=f.excludeOutside!==0,Y=f.extrapolationValue,Ae=f.keepAspectRatioPolicy,se=f.mode,ne=f.nearestMode===""?"simple":f.nearestMode;return vt({antialias:I,axes:x,coordinateTransformMode:N,cubicCoeffA:L,excludeOutside:j,extrapolationValue:Y,keepAspectRatioPolicy:Ae,mode:se,nearestMode:ne})}}),Zs=me(()=>{hr(),yr(),va(),Qr(),gu=(f,I)=>{let[x,N,L,j]=f,{numHeads:Y,rotaryEmbeddingDim:Ae}=I;if(x.dims.length!==3&&x.dims.length!==4)throw new Error(`Input 'x' is expected to have 3 or 4 dimensions, got ${x.dims.length}`);if(!gt.areEqual(N.dims,[])&&!gt.areEqual(N.dims,[1])&&N.dims.length!==2)throw new Error(`Input 'position_ids' is expected to have 0, 1, or 2 dimensions, got ${N.dims.length}`);if(L.dims.length!==2)throw new Error(`Input 'cos_cache' is expected to have 2 dimensions, got ${L.dims.length}`);if(j.dims.length!==2)throw new Error(`Input 'sin_cache' is expected to have 2 dimensions, got ${j.dims.length}`);if(!gt.areEqual(L.dims,j.dims))throw new Error("Inputs 'cos_cache' and 'sin_cache' are expected to have the same shape");if(Ae>0&&Y===0)throw new Error("num_heads must be provided if rotary_embedding_dim is specified");let se=x.dims[0],ne=x.dims[x.dims.length-2],ye=L.dims[0],Be=gt.sizeFromDimension(x.dims,1)/ne,te=Ae===0?2*L.dims[1]:Be/Y;if(Ae>te)throw new Error("rotary_embedding_dim must be less than or equal to head_size");if(N.dims.length===2){if(se!==N.dims[0])throw new Error(`Input 'position_ids' dimension 0 should be of size batch_size, got ${N.dims[0]}`);if(ne!==N.dims[1])throw new Error(`Input 'position_ids' dimension 1 should be of size sequence_length, got ${N.dims[1]}`)}if(te/2!==L.dims[1]&&Ae/2!==L.dims[1])throw new Error(`Input 'cos_cache' dimension 1 should be same as head_size / 2 or rotary_embedding_dim / 2, got ${L.dims[1]}`);if(ne>ye)throw new Error("Updating cos_cache and sin_cache in RotaryEmbedding is not currently supported")},hu=(f,I)=>{let{interleaved:x,numHeads:N,rotaryEmbeddingDim:L,scale:j}=I,Y=f[0].dims[0],Ae=gt.sizeFromDimension(f[0].dims,1),se=f[0].dims[f[0].dims.length-2],ne=Ae/se,ye=f[2].dims[1],Be=L===0?2*ye:ne/N,te=new Array(Y,se,ne/Be,Be-ye),Te=gt.computeStrides(te),Oe=[{type:1,data:j},{type:12,data:te},{type:12,data:Te},...f[0].dims.length===3?new Array({type:12,data:[Ae,ne,Be,1]}):[],...f[0].dims.length===4?new Array({type:12,data:[Ae,Be,se*Be,1]}):[],..._A(f[0].dims,f[1].dims,f[2].dims,f[3].dims,f[0].dims)];return{name:"RotaryEmbedding",shaderCache:{hint:vt({interleaved:x}).cacheKey,inputDependencies:["rank","rank","rank","rank"]},getShaderSource:Ke=>{let Re=Yt("input",f[0].dataType,f[0].dims.length),et=Yt("position_ids",f[1].dataType,f[1].dims.length),ft=Yt("cos_cache",f[2].dataType,f[2].dims.length),bt=Yt("sin_cache",f[3].dataType,f[3].dims.length),Mt=TA("output",f[0].dataType,f[0].dims.length);return Ke.registerUniforms([{name:"scale",type:"f32"},{name:"global_shape",type:"u32",length:te.length},{name:"global_strides",type:"u32",length:Te.length},{name:"input_output_strides",type:"u32",length:Te.length}]),`
2583        ${Ke.declareVariables(Re,et,ft,bt,Mt)}
2584
2585        ${Ke.mainStart(Gr)}
2586          let half_rotary_emb_dim = uniforms.${ft.name}_shape[1];
2587          let bsnh = global_idx / uniforms.global_strides % uniforms.global_shape;
2588          let size = uniforms.global_shape[0] * uniforms.global_strides[0];
2589          ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("size")}
2590
2591          if (bsnh[3] < half_rotary_emb_dim) {
2592            let position_ids_idx =
2593                ${et.broadcastedIndicesToOffset("bsnh.xy",TA("",et.type.tensor,2))};
2594            let position_id =
2595                u32(${et.getByOffset("position_ids_idx")}) + select(0, bsnh[1], position_ids_idx == 0);
2596            let i = dot(bsnh, uniforms.input_output_strides) + select(0, bsnh[3], ${x});
2597            let j = i + select(half_rotary_emb_dim, 1, ${x});
2598            let re = ${Re.getByOffset("i")} * ${ft.get("position_id","bsnh[3]")} -
2599                ${Re.getByOffset("j")} * ${bt.get("position_id","bsnh[3]")};
2600            ${Mt.setByOffset("i","re")}
2601            let im = ${Re.getByOffset("i")} * ${bt.get("position_id","bsnh[3]")} +
2602                ${Re.getByOffset("j")} * ${ft.get("position_id","bsnh[3]")};
2603            ${Mt.setByOffset("j","im")}
2604          } else {
2605            let k = dot(bsnh, uniforms.input_output_strides) + half_rotary_emb_dim;
2606            ${Mt.setByOffset("k",Re.getByOffset("k"))}
2607          }
2608        }`},getRunData:()=>({outputs:[{dims:f[0].dims,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(gt.size(te)/Gr)},programUniforms:Oe})}},pu=(f,I)=>{gu(f.inputs,I),f.compute(hu(f.inputs,I))}}),ia=me(()=>{hr(),yr(),Qr(),mu=f=>{if(!f||f.length<3)throw new Error("layerNorm requires at least 3 inputs.");let I=f[0],x=f[1],N=f[2];if(I.dataType!==x.dataType||I.dataType!==N.dataType)throw new Error("All inputs must have the same data type");if(I.dims.length!==3&&I.dims.length!==2)throw new Error("Input must be 2D or 3D");if(x.dims.length!==3&&x.dims.length!==2)throw new Error("Skip must be 2D or 3D");let L=I.dims[I.dims.length-1],j=I.dims[I.dims.length-2];if(x.dims[x.dims.length-1]!==L)throw new Error("Skip must have the same hidden size as input");if(x.dims[x.dims.length-2]!==j)throw new Error("Skip must have the same sequence length as input");if(N.dims.length!==1)throw new Error("Gamma must be 1D");if(N.dims[N.dims.length-1]!==L)throw new Error("Gamma must have the same hidden size as input");if(f.length>3){let Y=f[3];if(Y.dims.length!==1)throw new Error("Beta must be 1D");if(Y.dims[Y.dims.length-1]!==L)throw new Error("Beta must have the same hidden size as input")}if(f.length>4){let Y=f[4];if(Y.dims.length!==1)throw new Error("Bias must be 1D");if(Y.dims[Y.dims.length-1]!==L)throw new Error("Bias must have the same hidden size as input")}},bu=(f,I,x,N)=>{let L=I.simplified,j=f[0].dims,Y=gt.size(j),Ae=j,se=Y,ne=j.slice(-1)[0],ye=N?j.slice(0,-1).concat(1):[],Be=!L&&f.length>3,te=f.length>4,Te=N&&x>1,Oe=N&&x>2,Ke=x>3,Re=64,et=_r(ne),ft=[{type:12,data:se},{type:12,data:et},{type:12,data:ne},{type:1,data:I.epsilon}],bt=[{dims:Ae,dataType:f[0].dataType}];return x>1&&bt.push({dims:ye,dataType:1}),x>2&&bt.push({dims:ye,dataType:1}),x>3&&bt.push({dims:j,dataType:f[0].dataType}),{name:"SkipLayerNormalization",shaderCache:{hint:`${et};${Te};${Oe};${Ke}`,inputDependencies:f.map((Mt,Dt)=>"type")},getShaderSource:Mt=>{let Dt=[Yt("x",f[0].dataType,f[0].dims,et),Yt("skip",f[1].dataType,f[1].dims,et),Yt("gamma",f[2].dataType,f[2].dims,et)];Be&&Dt.push(Yt("beta",f[3].dataType,f[3].dims,et)),te&&Dt.push(Yt("bias",f[4].dataType,f[4].dims,et)),Dt.push(TA("output",f[0].dataType,Ae,et)),Te&&Dt.push(TA("mean_output",1,ye)),Oe&&Dt.push(TA("inv_std_output",1,ye)),Ke&&Dt.push(TA("input_skip_bias_sum",f[0].dataType,Ae,et));let Nt=ir(f[0].dataType),hA=ir(1,et);return`
2609
2610      ${Mt.registerUniforms([{name:"output_size",type:"u32"},{name:"components",type:"u32"},{name:"hidden_size",type:"u32"},{name:"epsilon",type:"f32"}]).declareVariables(...Dt)}
2611      var<workgroup> sum_shared : array<${hA}, 64>;
2612      var<workgroup> sum_squared_shared : array<${hA}, 64>;
2613
2614      ${Mt.mainStart([Re,1,1])}
2615        let ix = local_id.x;
2616        let iy = global_id.x / 64;
2617
2618        let hidden_size_vectorized: u32 = uniforms.hidden_size / uniforms.components;
2619        var stride = hidden_size_vectorized / 64;
2620        let offset = ix * stride + iy * hidden_size_vectorized;
2621        let offset1d = stride * ix;
2622        if (ix == 63) {
2623          stride = hidden_size_vectorized - stride * ix;
2624        }
2625        for (var i: u32 = 0; i < stride; i++) {
2626          let skip_value = skip[offset + i];
2627          let bias_value = ${te?"bias[offset1d + i]":Nt+"(0.0)"};
2628          let input_value = x[offset + i];
2629          let value = input_value + skip_value + bias_value;
2630          ${Ke?"input_skip_bias_sum[offset + i] = value;":""}
2631          output[offset + i] = value;
2632          let f32_value = ${Bs(Nt,et,"value")};
2633          sum_shared[ix] += f32_value;
2634          sum_squared_shared[ix] += f32_value * f32_value;
2635        }
2636        workgroupBarrier();
2637
2638        var reduce_size : u32 = 64;
2639        for (var curr_size = reduce_size >> 1;  curr_size > 0; curr_size = reduce_size >> 1) {
2640          reduce_size = curr_size + (reduce_size & 1);
2641          if (ix < curr_size) {
2642            sum_shared[ix] += sum_shared[ix + reduce_size];
2643            sum_squared_shared[ix] += sum_squared_shared[ix + reduce_size];
2644          }
2645          workgroupBarrier();
2646        }
2647
2648        let sum = sum_shared[0];
2649        let square_sum = sum_squared_shared[0];
2650        let mean = ${ts("sum",et)} / f32(uniforms.hidden_size);
2651        let inv_std_dev = inverseSqrt(${ts("square_sum",et)} / f32(uniforms.hidden_size) ${L?"":"- mean * mean"} + uniforms.epsilon);
2652        ${Te?"mean_output[global_idx] = mean;":""}
2653        ${Oe?"inv_std_output[global_idx] = inv_std_dev;":""}
2654
2655        for (var i: u32 = 0; i < stride; i++) {
2656          output[offset + i] = (output[offset + i] ${L?"":`- ${Nt}(mean)`}) *
2657            ${Nt}(inv_std_dev) * gamma[offset1d + i]
2658            ${Be?"+ beta[offset1d + i]":""};
2659        }
2660      }`},getRunData:()=>({outputs:bt,dispatchGroup:{x:Math.ceil(se/ne)},programUniforms:ft})}},Fc=(f,I)=>{mu(f.inputs);let x=[0];f.outputCount>1&&x.push(-3),f.outputCount>2&&x.push(-3),f.outputCount>3&&x.push(3),f.compute(bu(f.inputs,I,f.outputCount,!1),{outputs:x})}}),Fs=me(()=>{hr(),yr(),va(),Qr(),Cu=(f,I)=>{if(!f||f.length<1)throw new Error("too few inputs");if(I.axes.length!==0){if(I.axes.length!==I.starts.length||I.axes.length!==I.ends.length)throw new Error("axes, starts and ends must have the same length")}else if(I.starts.length!==I.ends.length)throw new Error("starts and ends must have the same length");f.slice(1).forEach((x,N)=>{if(f[N+1].dataType!==6&&f[N+1].dataType!==7)throw new Error(`Input ${N} must be an array of int32 or int64`)})},Wl=(f,I)=>{let x=[];if(f.length>I)if(f[I].dataType===7)f[I].getBigInt64Array().forEach(N=>x.push(Number(N)));else{if(f[I].dataType!==6)throw new Error(`Input ${I} must be an array of int32 or int64`);f[I].getInt32Array().forEach(N=>x.push(Number(N)))}return x},Lc=(f,I)=>{if(f.length>1){let x=Wl(f,1),N=Wl(f,2),L=Wl(f,3);return L.length===0&&(L=[...Array(f[0].dims.length).keys()]),vt({starts:x,ends:N,axes:L})}return I},Vc=(f,I,x,N,L)=>{let j=f;return f<0&&(j+=x[N[I]]),L[I]<0?Math.max(0,Math.min(j,x[N[I]]-1)):Math.max(0,Math.min(j,x[N[I]]))},Iu=(f,I,x)=>`fn calculateInputIndices(output_indices: ${I.type.indices}) -> ${f.type.indices} {
2661          var input_indices: ${f.type.indices};
2662          var carry = 0u;
2663          for (var i = ${x.length}; i >= 0; i--) {
2664            let input_shape_i = ${PA("uniforms.input_shape","i",x.length)};
2665            let steps_i = ${PA("uniforms.steps","i",x.length)};
2666            let signs_i = ${PA("uniforms.signs","i",x.length)};
2667            let starts_i = ${PA("uniforms.starts","i",x.length)};
2668            var output_index = ${I.indicesGet("output_indices","i")};
2669            var input_index = output_index * steps_i + starts_i + carry;
2670            carry = input_index / input_shape_i;
2671            input_index = input_index % input_shape_i;
2672            if (signs_i < 0) {
2673              input_index = input_shape_i - input_index - 1u + starts_i;
2674            }
2675            ${f.indicesSet("input_indices","i","input_index")};
2676          }
2677          return input_indices;
2678      }`,Is=(f,I)=>{let x=f[0].dims,N=gt.size(x),L=I.axes.length>0?gt.normalizeAxes(I.axes,x.length):[...Array(x.length).keys()],j=Wl(f,4);j.forEach(Re=>Re!==0||(()=>{throw new Error("step cannot be 0")})),j.length===0&&(j=Array(L.length).fill(1));let Y=I.starts.map((Re,et)=>Vc(Re,et,x,L,j)),Ae=I.ends.map((Re,et)=>Vc(Re,et,x,L,j));if(L.length!==Y.length||L.length!==Ae.length)throw new Error("start, ends and axes should have the same number of elements");if(L.length!==x.length)for(let Re=0;Re<x.length;++Re)L.includes(Re)||(Y.splice(Re,0,0),Ae.splice(Re,0,x[Re]),j.splice(Re,0,1));let se=j.map(Re=>Math.sign(Re));j.forEach((Re,et,ft)=>{if(Re<0){let bt=(Ae[et]-Y[et])/Re,Mt=Y[et],Dt=Mt+bt*j[et];Y[et]=Dt,Ae[et]=Mt,ft[et]=-Re}});let ne=x.slice(0);L.forEach((Re,et)=>{ne[Re]=Math.ceil((Ae[Re]-Y[Re])/j[Re])});let ye={dims:ne,dataType:f[0].dataType},Be=TA("output",f[0].dataType,ne.length),te=Yt("input",f[0].dataType,f[0].dims.length),Te=gt.size(ne),Oe=[{name:"outputSize",type:"u32"},{name:"starts",type:"u32",length:Y.length},{name:"signs",type:"i32",length:se.length},{name:"steps",type:"u32",length:j.length}],Ke=[{type:12,data:Te},{type:12,data:Y},{type:6,data:se},{type:12,data:j},..._A(f[0].dims,ne)];return{name:"Slice",shaderCache:{hint:`${se.length}_${Y.length}_${j.length}`,inputDependencies:["rank"]},getShaderSource:Re=>`
2679      ${Re.registerUniforms(Oe).declareVariables(te,Be)}
2680        ${Iu(te,Be,x)}
2681        ${Re.mainStart()}
2682          ${Re.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2683          let output_indices = ${Be.offsetToIndices("global_idx")};
2684          let input_indices = calculateInputIndices(output_indices);
2685          ${Be.setByOffset("global_idx",te.getByIndices("input_indices"))}
2686      }`,getRunData:()=>({outputs:[ye],dispatchGroup:{x:Math.ceil(N/64)},programUniforms:Ke})}},r1=(f,I)=>{Cu(f.inputs,I);let x=Lc(f.inputs,I);f.compute(Is(f.inputs,x),{inputs:[0]})},s1=f=>{let I=f.starts,x=f.ends,N=f.axes;return vt({starts:I,ends:x,axes:N})}}),Xa=me(()=>{hr(),yr(),va(),h0(),Qr(),a1=f=>{if(!f||f.length!==1)throw new Error("Softmax op requires 1 input.")},Hc=(f,I)=>{let x,N=f.inputs[0],L=N.dims,j=gt.size(L),Y=L.length,Ae=gt.normalizeAxis(I.axis,Y),se=Ae<L.length-1,ne=[];se?(ne=Array.from({length:Y},(Dt,Nt)=>Nt),ne[Ae]=Y-1,ne[Y-1]=Ae,x=f.compute($s(N,ne),{inputs:[N],outputs:[-1]})[0]):x=N;let ye=x.dims,Be=ye[Y-1],te=j/Be,Te=_r(Be),Oe=Be/Te,Ke=64;te===1&&(Ke=256);let Re=Yt("x",x.dataType,x.dims,Te),et=TA("result",x.dataType,x.dims,Te),ft=Re.type.value,bt=ir(x.dataType)==="f32"?`var threadMax = ${ft}(-3.402823e+38f);`:`var threadMax = ${ft}(-65504.0h);`,Mt=f.compute({name:"Softmax",shaderCache:{hint:`${Te};${Ke}`,inputDependencies:["type"]},getRunData:()=>({outputs:[{dims:ye,dataType:x.dataType}],dispatchGroup:{x:te},programUniforms:[{type:6,data:Oe}]}),getShaderSource:Dt=>`
2687      var<workgroup> rowMaxShared : ${ft};
2688      var<workgroup> rowSumShared : ${ft};
2689      var<workgroup> threadShared : array<${ft}, ${Ke}>;
2690
2691      fn getValue(row: i32, col: i32, row_stride: i32) -> ${ft} {
2692        let index = row * row_stride + col;
2693        return x[index];
2694      }
2695
2696      fn setValue(row: i32, col: i32, row_stride: i32, value: ${ft}) {
2697        let index = row * row_stride + col;
2698        result[index] = value;
2699      }
2700      ${Dt.registerUniform("packedCols","i32").declareVariables(Re,et)}
2701      ${Dt.mainStart(Ke)}
2702        let gindex = i32(global_idx);
2703        let lindex = i32(local_idx);
2704        const wg = ${Ke};
2705        let row = gindex / wg;
2706        let cols = uniforms.packedCols;
2707        let row_stride : i32 = uniforms.packedCols;
2708
2709        // find the rows max
2710        ${bt}
2711        for (var col = lindex; col < cols; col += wg) {
2712          let value = getValue(row, col, row_stride);
2713          threadMax = max(threadMax, value);
2714        }
2715        if (lindex < cols) {
2716          threadShared[lindex] = threadMax;
2717        }
2718        workgroupBarrier();
2719
2720        var reduceSize = min(cols, wg);
2721        for (var currSize = reduceSize >> 1;  currSize > 0; currSize = reduceSize >> 1) {
2722          reduceSize = currSize + (reduceSize & 1);
2723          if (lindex < currSize) {
2724            threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);
2725          }
2726          workgroupBarrier();
2727        }
2728        if (lindex == 0) {
2729          rowMaxShared = ${ft}(${((Nt,hA)=>hA===4?`max(max(${Nt}.x, ${Nt}.y), max(${Nt}.z, ${Nt}.w))`:hA===2?`max(${Nt}.x, ${Nt}.y)`:hA===3?`max(max(${Nt}.x, ${Nt}.y), ${Nt}.z)`:Nt)("threadShared[0]",Te)});
2730        }
2731        workgroupBarrier();
2732
2733        // find the rows sum
2734        var threadSum = ${ft}(0.0);
2735        for (var col = lindex; col < cols; col += wg) {
2736          let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);
2737          threadSum += subExp;
2738        }
2739        threadShared[lindex] = threadSum;
2740        workgroupBarrier();
2741
2742        for (var currSize = wg >> 1;  currSize > 0; currSize = currSize >> 1) {
2743          if (lindex < currSize) {
2744            threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];
2745          }
2746          workgroupBarrier();
2747        }
2748        if (lindex == 0) {
2749          rowSumShared = ${ft}(${ts("threadShared[0]",Te)});
2750        }
2751        workgroupBarrier();
2752
2753        // calculate final value for each element in the row
2754        for (var col = lindex; col < cols; col += wg) {
2755          let value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;
2756          setValue(row, col, row_stride, value);
2757        }
2758      }`},{inputs:[x],outputs:[se?-1:0]})[0];se&&f.compute($s(Mt,ne),{inputs:[Mt]})},wu=(f,I)=>{a1(f.inputs),Hc(f,I)},ku=f=>vt({axis:f.axis})}),Oa=me(()=>{hr(),yr(),Qr(),Yc=f=>Array.from(f.getBigInt64Array(),Number),vu=f=>{if(!f||f.length!==2)throw new Error("Tile requires 2 inputs.");if(f[0].dataType!==1&&f[0].dataType!==10&&f[0].dataType!==6&&f[0].dataType!==12)throw new Error("Tile only support float, float16, int32, and uint32 data types");if(f[1].dataType!==7)throw new Error("Tile `repeats` input should be of int64 data type");if(f[1].dims.length!==1)throw new Error("Tile `repeats` input should be 1-D");if(Yc(f[1]).length!==f[0].dims.length)throw new Error("Tile `repeats` input should have same number of elements as rank of input data tensor")},Rc=(f,I)=>{let x=[];for(let N=0;N<f.length;++N)x.push(f[N]*I[N]);return x},jc=(f,I)=>{let x=f[0].dims,N=I??Yc(f[1]),L=Rc(x,N),j=gt.size(L),Y=f[0].dataType,Ae=Yt("input",Y,x.length),se=TA("output",Y,L.length);return{name:"Tile",shaderCache:{hint:`${N}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:L,dataType:f[0].dataType}],dispatchGroup:{x:Math.ceil(j/64)},programUniforms:[{type:12,data:j},..._A(f[0].dims,L)]}),getShaderSource:ne=>`
2759      const inputShape = ${Ae.indices(...x)};
2760      ${ne.registerUniform("output_size","u32").declareVariables(Ae,se)}
2761      ${ne.mainStart()}
2762      ${ne.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2763      let output_indices = ${se.offsetToIndices("global_idx")};
2764      var input_indices: ${Ae.type.indices};
2765      for (var i = 0; i < ${x.length}; i++) {
2766        let input_dim_i = ${Ae.indicesGet("uniforms.input_shape","i")};
2767        let input_dim_value = ${se.indicesGet("output_indices","i")}  % input_dim_i;
2768
2769        ${Ae.indicesSet("input_indices","i","input_dim_value")}
2770      }
2771      ${se.setByOffset("global_idx",Ae.getByIndices("input_indices"))}
2772    }`}},n1=f=>{vu(f.inputs),f.compute(jc(f.inputs),{inputs:[0]})}}),Fa=me(()=>{hr(),yr(),Qr(),yu=(f,I,x,N,L)=>{let j,Y=TA("output_data",L,x.length,4),Ae=Yt("a_data",I[1].dataType,I[1].dims.length,4),se=Yt("b_data",I[2].dataType,I[2].dims.length,4),ne=Yt("c_data",I[0].dataType,I[0].dims.length,4),ye=(Be,te,Te)=>`select(${te}, ${Be}, ${Te})`;if(N){let Be=(te,Te,Oe="")=>{let Ke=`a_data[index_a${Te}][component_a${Te}]`,Re=`b_data[index_b${Te}][component_b${Te}]`,et=`bool(c_data[index_c${Te}] & (0xffu << (component_c${Te} * 8)))`;return`
2773            let output_indices${Te} = ${Y.offsetToIndices(`global_idx * 4u + ${Te}u`)};
2774            let offset_a${Te} = ${Ae.broadcastedIndicesToOffset(`output_indices${Te}`,Y)};
2775            let offset_b${Te} = ${se.broadcastedIndicesToOffset(`output_indices${Te}`,Y)};
2776            let offset_c${Te} = ${ne.broadcastedIndicesToOffset(`output_indices${Te}`,Y)};
2777            let index_a${Te} = offset_a${Te} / 4u;
2778            let index_b${Te} = offset_b${Te} / 4u;
2779            let index_c${Te} = offset_c${Te} / 4u;
2780            let component_a${Te} = offset_a${Te} % 4u;
2781            let component_b${Te} = offset_b${Te} % 4u;
2782            let component_c${Te} = offset_c${Te} % 4u;
2783            ${te}[${Te}] = ${Oe}(${ye(Ke,Re,et)});
2784          `};j=L===9?`
2785            var data = vec4<u32>(0);
2786            ${Be("data",0,"u32")}
2787            ${Be("data",1,"u32")}
2788            ${Be("data",2,"u32")}
2789            ${Be("data",3,"u32")}
2790            output_data[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
2791            ${Be("output_data[global_idx]",0)}
2792            ${Be("output_data[global_idx]",1)}
2793            ${Be("output_data[global_idx]",2)}
2794            ${Be("output_data[global_idx]",3)}
2795          `}else j=Y.setByOffset("global_idx",ye(Ae.getByOffset("global_idx"),se.getByOffset("global_idx"),ne.getByOffset("global_idx")));return`
2796        ${f.registerUniform("vec_size","u32").declareVariables(ne,Ae,se,Y)}
2797        ${f.mainStart()}
2798        ${f.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
2799        ${j}
2800      }`},Eu=f=>{let I=f[1].dims,x=f[2].dims,N=f[0].dims,L=f[1].dataType,j=!(gt.areEqual(I,x)&&gt.areEqual(x,N)),Y=I,Ae=gt.size(I);if(j){let ne=lA.calcShape(lA.calcShape(I,x,!1),N,!1);if(!ne)throw new Error("Can't perform where op on the given tensors");Y=ne,Ae=gt.size(Y)}let se=Math.ceil(Ae/4);return{name:"Where",shaderCache:{inputDependencies:["rank","rank","rank"]},getShaderSource:ne=>yu(ne,f,Y,j,L),getRunData:()=>({outputs:[{dims:Y,dataType:L}],dispatchGroup:{x:Math.ceil(Ae/64/4)},programUniforms:[{type:12,data:se},..._A(N,I,x,Y)]})}},Wc=f=>{f.compute(Eu(f.inputs))}}),_a=me(()=>{g1(),t2(),h1(),p1(),m1(),b1(),C1(),xr(),kn(),_n(),ri(),Z0(),sf(),y1(),E1(),le(),xe(),Ye(),Et(),Ht(),DA(),GA(),yA(),OA(),XA(),Vt(),pr(),cs(),br(),Mr(),Pr(),e2(),us(),Zs(),ia(),Fs(),Xa(),rA(),Oa(),h0(),A2(),Fa(),i1=new Map([["Abs",[Gi]],["Acos",[Na]],["Acosh",[po]],["Add",[ss]],["ArgMax",[Ri,Di]],["ArgMin",[un,Di]],["Asin",[Ws]],["Asinh",[On]],["Atan",[fa]],["Atanh",[$n]],["Attention",[Yo]],["AveragePool",[xc,R2]],["BatchNormalization",[ho]],["BiasAdd",[Jn]],["BiasSplitGelu",[Ia]],["Cast",[dn,Wi]],["Ceil",[Zr]],["Clip",[Ui]],["Concat",[Ji,Qo]],["Conv",[ht,_e]],["ConvTranspose",[Yr,SA]],["Cos",[sa]],["Cosh",[jo]],["CumSum",[ls,as]],["DepthToSpace",[Os,ga]],["DequantizeLinear",[_c,nc]],["Div",[bn]],["Einsum",[to,Ao]],["Elu",[za,Us]],["Equal",[hi]],["Erf",[mo]],["Exp",[gn]],["Expand",[ro]],["FastGelu",[dl]],["Floor",[Wo]],["FusedConv",[ht,_e]],["Gather",[R0,hl]],["GatherElements",[U0,I0]],["GatherBlockQuantized",[C0,Cl]],["GatherND",[b0,j0]],["Gelu",[Ki]],["Gemm",[vl,c0]],["GlobalAveragePool",[Dc,j2]],["GlobalMaxPool",[K2,U2]],["Greater",[ko]],["GreaterOrEqual",[mi]],["GridSample",[Dl,Gl]],["GroupQueryAttention",[Fl]],["HardSigmoid",[rs,Zi]],["InstanceNormalization",[Vl]],["LayerNormalization",[Yl]],["LeakyRelu",[aa,Us]],["Less",[Dn]],["LessOrEqual",[an]],["Log",[qi]],["MatMul",[Rl]],["MatMulNBits",[_2,T2]],["MaxPool",[W2,ac]],["Mul",[pi]],["MultiHeadAttention",[Eo,_l]],["Neg",[a0]],["Not",[da]],["Pad",[L2]],["Pow",[Mn]],["QuickGelu",[n0,Us]],["Range",[J2]],["Reciprocal",[bo]],["ReduceMin",[di]],["ReduceMean",[lo]],["ReduceMax",[Nn]],["ReduceSum",[_s]],["ReduceProd",[uo]],["ReduceL1",[co]],["ReduceL2",[ra]],["ReduceLogSum",[Ho]],["ReduceLogSumExp",[js]],["ReduceSumSquare",[Xn]],["Relu",[hn]],["Resize",[fu,du]],["RotaryEmbedding",[pu]],["ScatterND",[Qc,eu]],["Sigmoid",[ti]],["Sin",[Uo]],["Sinh",[Xi]],["Slice",[r1,s1]],["SkipLayerNormalization",[Fc]],["Split",[Nl,zl]],["Sqrt",[Ua]],["Softmax",[wu,ku]],["Sub",[Ko]],["Tan",[Ka]],["Tanh",[pn]],["ThresholdedRelu",[Ca,Us]],["Tile",[n1]],["Transpose",[Ei,or]],["Where",[Wc]]])}),Ii=me(()=>{lt(),qo(),Qr(),o1=class{constructor(f){this.backend=f,this.repo=new Map,this.attributesBound=!1}getArtifact(f){return this.repo.get(f)}setArtifact(f,I){this.repo.set(f,I)}run(f,I,x,N,L){ce(f.programInfo.name);let j=this.backend.device,Y=this.backend.getComputePassEncoder();this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber);let Ae=[];for(let ne of I)Ae.push({binding:Ae.length,resource:{buffer:ne.buffer}});for(let ne of x)Ae.push({binding:Ae.length,resource:{buffer:ne.buffer}});L&&Ae.push({binding:Ae.length,resource:L});let se=j.createBindGroup({layout:f.computePipeline.getBindGroupLayout(0),entries:Ae,label:f.programInfo.name});if(this.backend.sessionStatus==="capturing"){let ne={kernelId:this.backend.currentKernelId,computePipeline:f.computePipeline,bindGroup:se,dispatchGroup:N};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(ne)}Y.setPipeline(f.computePipeline),Y.setBindGroup(0,se),Y.dispatchWorkgroups(...N),this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType==="at-passes")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),ge(f.programInfo.name)}dispose(){}build(f,I){ce(f.name);let x=this.backend.device,N=[];[{feature:"shader-f16",extension:"f16"},{feature:"subgroups",extension:"subgroups"},{feature:"subgroups-f16",extension:"subgroups_f16"}].forEach(ne=>{x.features.has(ne.feature)&&N.push(`enable ${ne.extension};`)});let L=ks(I,this.backend.device.limits),j=f.getShaderSource(L),Y=`${N.join(`
2801`)}
2802${L.additionalImplementations}
2803${j}`,Ae=x.createShaderModule({code:Y,label:f.name});fr("verbose",()=>`[WebGPU] ${f.name} shader code: ${Y}`);let se=x.createComputePipeline({compute:{module:Ae,entryPoint:"main"},layout:"auto",label:f.name});return ge(f.name),{programInfo:f,computePipeline:se,uniformVariablesInfo:L.variablesInfo}}normalizeDispatchGroupSize(f){let I=typeof f=="number"?f:f.x,x=typeof f=="number"?1:f.y||1,N=typeof f=="number"?1:f.z||1,L=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(I<=L&&x<=L&&N<=L)return[I,x,N];let j=I*x*N,Y=Math.ceil(Math.sqrt(j));if(Y>L){if(Y=Math.ceil(Math.cbrt(j)),Y>L)throw new Error("Total dispatch size exceeds WebGPU maximum.");return[Y,Y,Y]}return[Y,Y,1]}}}),vs=me(()=>{lt(),hr(),qo(),Fu(),f1(),_a(),Ii(),Bu=(f,I)=>{if(I.length!==f.length)throw new Error(`inputDependencies length ${I.length} is not equal to inputTensors length ${f.length}.`);let x=[];for(let N=0;N<f.length;++N){let L=f[N].dataType;switch(I[N]){case"none":x.push("");break;case"type":x.push(`${L}`);break;case"rank":{let j=f[N].dims.length;x.push(`${L};${j}`);break}case"dims":{let j=f[N].dims.join(",");x.push(`${L};${j}`);break}default:throw new Error(`unsupported input dependency: ${I[N]}`)}}return x.join("|")},xu=(f,I,x)=>{var L,j;let N=f.name;return(L=f.shaderCache)!=null&&L.hint&&(N+="["+f.shaderCache.hint+"]"),N+=":"+x+`:${Bu(I,((j=f.shaderCache)==null?void 0:j.inputDependencies)??new Array(I.length).fill("dims"))}`,N},Mu=class{constructor(f){f&&(this.architecture=f.architecture,this.vendor=f.vendor)}isArchitecture(f){return this.architecture===f}isVendor(f){return this.vendor===f}},Du=class{constructor(f){this.subgroupsSupported=f.features.has("subgroups"),this.subgroupsF16Supported=f.features.has("subgroups");let I=f.limits;this.subgroupsSupported&&I.minSubgroupSize&&I.maxSubgroupSize?this.subgroupSizeRange=[I.minSubgroupSize,I.maxSubgroupSize]:this.subgroupSizeRange=void 0}},Gu=class{constructor(){this.currentSessionId=null,this.currentKernelId=null,this.commandEncoder=null,this.computePassEncoder=null,this.maxDispatchNumber=16,this.pendingDispatchNumber=0,this.pendingKernels=[],this.pendingQueries=new Map,this.sessionStatus="default",this.capturedCommandList=new Map,this.capturedPendingKernels=new Map,this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error("currentKernelCustomData(): currentKernelId is null. (should not happen)");let f=this.kernelCustomData.get(this.currentKernelId);return f||(f={},this.kernelCustomData.set(this.currentKernelId,f)),f}async initialize(f,I){this.env=f;let x=[],N={requiredLimits:{maxComputeWorkgroupStorageSize:I.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:I.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:I.limits.maxStorageBufferBindingSize,maxBufferSize:I.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:I.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:I.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:I.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:I.limits.maxComputeWorkgroupSizeZ},requiredFeatures:x},L=j=>I.features.has(j)&&x.push(j)&&!0;L("chromium-experimental-timestamp-query-inside-passes")||L("timestamp-query"),L("shader-f16"),L("subgroups")&&L("subgroups-f16"),this.device=await I.requestDevice(N),this.deviceInfo=new Du(this.device),this.adapterInfo=new Mu(I.info||await I.requestAdapterInfo()),this.gpuDataManager=ut(this),this.programManager=new o1(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,ja(f.logLevel,!!f.debug),this.device.onuncapturederror=j=>{j.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${j.error.message}`)},Object.defineProperty(this.env.webgpu,"device",{value:this.device,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(this.env.webgpu,"adapter",{value:I,writable:!1,enumerable:!0,configurable:!1}),this.setQueryType()}dispose(){typeof this.querySet<"u"&&this.querySet.destroy(),this.gpuDataManager.dispose()}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder()),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let f=this.getCommandEncoder(),I={};this.queryType==="at-passes"&&(I.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:2*this.pendingDispatchNumber,endOfPassWriteIndex:2*this.pendingDispatchNumber+1}),this.computePassEncoder=f.beginComputePass(I)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;let f;ce(),this.endComputePass(),this.queryType!=="none"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,2*this.pendingDispatchNumber,this.queryResolveBuffer,0),f=this.device.createBuffer({size:2*this.pendingDispatchNumber*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(f,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,f,0,2*this.pendingDispatchNumber*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!=="none"&&f.mapAsync(GPUMapMode.READ).then(()=>{var N;let I=new BigUint64Array(f.getMappedRange()),x=this.pendingQueries.get(f);for(let L=0;L<I.length/2;L++){let j=x[L],Y=j.kernelId,Ae=this.kernels.get(Y),se=Ae.kernelType,ne=Ae.kernelName,ye=j.programName,Be=j.inputTensorViews,te=j.outputTensorViews,Te=I[2*L],Oe=I[2*L+1];typeof this.queryTimeBase>"u"&&(this.queryTimeBase=Te);let Ke=Number(Te-this.queryTimeBase),Re=Number(Oe-this.queryTimeBase);if(!Number.isSafeInteger(Ke)||!Number.isSafeInteger(Re))throw new RangeError("incorrect timestamp range");if((N=this.env.webgpu.profiling)!=null&&N.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:Be.map(et=>({dims:et.dims,dataType:en(et.dataType)})),outputsMetadata:te.map(et=>({dims:et.dims,dataType:en(et.dataType)})),kernelId:Y,kernelType:se,kernelName:ne,programName:ye,startTime:Ke,endTime:Re});else{let et="";Be.forEach((bt,Mt)=>{et+=`input[${Mt}]: [${bt.dims}] | ${en(bt.dataType)}, `});let ft="";te.forEach((bt,Mt)=>{ft+=`output[${Mt}]: [${bt.dims}] | ${en(bt.dataType)}, `}),console.log(`[profiling] kernel "${Y}|${se}|${ne}|${ye}" ${et}${ft}execution time: ${Re-Ke} ns`)}Ie("GPU",`${ye}::${Te}::${Oe}`)}f.unmap(),this.pendingQueries.delete(f)}),ge()}run(f,I,x,N,L,j){ce(f.name);let Y=[];for(let ft=0;ft<I.length;++ft){let bt=I[ft].data;if(bt===0)continue;let Mt=this.gpuDataManager.get(bt);if(!Mt)throw new Error(`no GPU data for input: ${bt}`);Y.push(Mt)}let{outputs:Ae,dispatchGroup:se,programUniforms:ne}=f.getRunData(I),ye=x.length===0?Ae.map((ft,bt)=>bt):x;if(ye.length!==Ae.length)throw new Error(`Output size ${ye.length} must be equal to ${Ae.length}.`);let Be,te=[],Te=[];for(let ft=0;ft<Ae.length;++ft){if(!Number.isInteger(ye[ft])||ye[ft]<-3||ye[ft]>=j)throw new Error(`Invalid output index: ${ye[ft]}`);if(ye[ft]===-3)continue;let bt=ye[ft]===-1,Mt=ye[ft]===-2,Dt=bt||Mt?L(Ae[ft].dataType,Ae[ft].dims):N(ye[ft],Ae[ft].dataType,Ae[ft].dims);if(te.push(Dt),Dt.data===0)continue;let Nt=this.gpuDataManager.get(Dt.data);if(!Nt)throw new Error(`no GPU data for output: ${Dt.data}`);if(bt&&this.temporaryData.push(Nt),Mt){let hA=this.kernelPersistentData.get(this.currentKernelId);hA||(hA=[],this.kernelPersistentData.set(this.currentKernelId,hA)),hA.push(Nt)}Te.push(Nt)}if(Y.length!==I.length||Te.length!==te.length){if(Te.length===0)return ge(f.name),te;throw new Error(`Program ${f.name} has zero-sized tensor(s) in inputs or outputs. This is not supported now.`)}if(ne){let ft=0,bt=[];ne.forEach(hA=>{let xA=typeof hA.data=="number"?[hA.data]:hA.data;if(xA.length===0)return;let er,tr,qr=hA.type===10?2:4;hA.type===10?(tr=xA.length>4?16:xA.length>2?8:xA.length*qr,er=xA.length>4?16:qr*xA.length):(tr=xA.length<=2?xA.length*qr:16,er=16),ft=Math.ceil(ft/tr)*tr,bt.push(ft);let Ar=hA.type===10?8:4;ft+=xA.length>4?Math.ceil(xA.length/Ar)*er:xA.length*qr});let Mt=16;ft=Math.ceil(ft/Mt)*Mt;let Dt=new ArrayBuffer(ft);ne.forEach((hA,xA)=>{let er=bt[xA],tr=typeof hA.data=="number"?[hA.data]:hA.data;if(hA.type===6)new Int32Array(Dt,er,tr.length).set(tr);else if(hA.type===12)new Uint32Array(Dt,er,tr.length).set(tr);else if(hA.type===10)new Uint16Array(Dt,er,tr.length).set(tr);else{if(hA.type!==1)throw new Error(`Unsupported uniform type: ${en(hA.type)}`);new Float32Array(Dt,er,tr.length).set(tr)}});let Nt=this.gpuDataManager.create(ft,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(Nt.buffer,0,Dt,0,ft),this.gpuDataManager.release(Nt.id),Be={offset:0,size:ft,buffer:Nt.buffer}}let Oe=this.programManager.normalizeDispatchGroupSize(se),Ke=Oe[1]===1&&Oe[2]===1,Re=xu(f,I,Ke),et=this.programManager.getArtifact(Re);if(et||(et=this.programManager.build(f,Oe),this.programManager.setArtifact(Re,et),fr("info",()=>`[artifact] key: ${Re}, programName: ${f.name}`)),ne&&et.uniformVariablesInfo){if(ne.length!==et.uniformVariablesInfo.length)throw new Error(`Uniform variables count mismatch: expect ${et.uniformVariablesInfo.length}, got ${ne.length} in program "${et.programInfo.name}".`);for(let ft=0;ft<ne.length;ft++){let bt=ne[ft],Mt=bt.type,Dt=typeof bt.data=="number"?1:bt.data.length,[Nt,hA]=et.uniformVariablesInfo[ft];if(Mt!==Nt||Dt!==hA)throw new Error(`Uniform variable ${ft} mismatch: expect type ${Nt} with size ${hA}, got type ${Mt} with size ${Dt} in program "${et.programInfo.name}".`)}}if(fr("info",()=>`[ProgramManager] run "${f.name}" (key=${Re}) with ${Oe[0]}x${Oe[1]}x${Oe[2]}`),this.queryType!=="none"||this.sessionStatus==="capturing"){let ft={kernelId:this.currentKernelId,programName:et.programInfo.name,inputTensorViews:I,outputTensorViews:te};this.pendingKernels.push(ft),this.sessionStatus==="capturing"&&this.capturedPendingKernels.get(this.currentSessionId).push(ft)}return this.programManager.run(et,Y,Te,Oe,Be),ge(f.name),te}upload(f,I){this.gpuDataManager.upload(f,I)}memcpy(f,I){this.gpuDataManager.memcpy(f,I)}async download(f,I){await this.gpuDataManager.download(f,I)}alloc(f){return this.gpuDataManager.create(f).id}free(f){return this.gpuDataManager.release(f)}createKernel(f,I,x,N){let L=i1.get(f);if(!L)throw new Error(`kernel not implemented: ${f}`);let j={kernelType:f,kernelName:N,kernelEntry:L[0],attributes:[L[1],x]};this.kernels.set(I,j)}releaseKernel(f){let I=this.kernelPersistentData.get(f);if(I){for(let x of I)this.gpuDataManager.release(x.id);this.kernelPersistentData.delete(f)}this.kernelCustomData.delete(f),this.kernels.delete(f)}computeKernel(f,I,x){let N=this.kernels.get(f);if(!N)throw new Error(`kernel not created: ${f}`);let L=N.kernelType,j=N.kernelName,Y=N.kernelEntry,Ae=N.attributes;if(this.currentKernelId!==null)throw new Error(`kernel "[${L}] ${j}" is not allowed to be called recursively`);this.currentKernelId=f,Ae[0]&&(Ae[1]=Ae[0](Ae[1]),Ae[0]=void 0),fr("info",()=>`[WebGPU] Start to run kernel "[${L}] ${j}"...`);let se=this.env.debug;this.temporaryData=[];try{return se&&this.device.pushErrorScope("validation"),Y(I,Ae[1]),0}catch(ne){return x.push(Promise.resolve(`[WebGPU] Kernel "[${L}] ${j}" failed. ${ne}`)),1}finally{se&&x.push(this.device.popErrorScope().then(ne=>ne?`GPU validation error for kernel "[${L}] ${j}": ${ne.message}`:null));for(let ne of this.temporaryData)this.gpuDataManager.release(ne.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(f,I,x,N){let L=this.sessionExternalDataMapping.get(f);L||(L=new Map,this.sessionExternalDataMapping.set(f,L));let j=L.get(I),Y=this.gpuDataManager.registerExternalBuffer(x,N,j);return L.set(I,[Y,x]),Y}unregisterBuffers(f){let I=this.sessionExternalDataMapping.get(f);I&&(I.forEach(x=>this.gpuDataManager.unregisterExternalBuffer(x[0])),this.sessionExternalDataMapping.delete(f))}getBuffer(f){let I=this.gpuDataManager.get(f);if(!I)throw new Error(`no GPU data for buffer: ${f}`);return I.buffer}createDownloader(f,I,x){return async()=>{let N=await Ee(this,f,I);return la(N.buffer,x)}}writeTimestamp(f){this.queryType==="inside-passes"&&this.computePassEncoder.writeTimestamp(this.querySet,f)}setQueryType(){var f;this.queryType="none",(((f=this.env.webgpu.profiling)==null?void 0:f.mode)==="default"||(typeof this.env.trace>"u"?this.env.wasm.trace:this.env.trace))&&(this.device.features.has("chromium-experimental-timestamp-query-inside-passes")?this.queryType="inside-passes":this.device.features.has("timestamp-query")&&(this.queryType="at-passes"),this.queryType!=="none"&&typeof this.querySet>"u"&&(this.querySet=this.device.createQuerySet({type:"timestamp",count:2*this.maxDispatchNumber}),this.queryResolveBuffer=this.device.createBuffer({size:2*this.maxDispatchNumber*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE})))}captureBegin(){fr("info","captureBegin"),this.capturedCommandList.get(this.currentSessionId)||this.capturedCommandList.set(this.currentSessionId,[]),this.capturedPendingKernels.get(this.currentSessionId)||this.capturedPendingKernels.set(this.currentSessionId,[]),this.flush(),this.sessionStatus="capturing"}captureEnd(){fr("info","captureEnd"),this.flush(),this.sessionStatus="default"}replay(){fr("info","replay"),this.sessionStatus="replaying";let f=this.capturedCommandList.get(this.currentSessionId),I=this.capturedPendingKernels.get(this.currentSessionId),x=f.length;this.pendingKernels=[];for(let N=0;N<x;N++){let L=this.getComputePassEncoder(),j=f[N];this.writeTimestamp(2*this.pendingDispatchNumber),L.setPipeline(j.computePipeline),L.setBindGroup(0,j.bindGroup),L.dispatchWorkgroups(...j.dispatchGroup),this.writeTimestamp(2*this.pendingDispatchNumber+1),this.pendingDispatchNumber++,this.queryType!=="none"&&this.pendingKernels.push(I[N]),(this.pendingDispatchNumber>=this.maxDispatchNumber||this.queryType==="at-passes")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus="default"}onCreateSession(){this.gpuDataManager.onCreateSession()}onReleaseSession(f){this.unregisterBuffers(f),this.capturedCommandList.has(f)&&this.capturedCommandList.delete(f),this.capturedPendingKernels.has(f)&&this.capturedPendingKernels.delete(f),this.gpuDataManager.onReleaseSession(f)}onRunStart(f){this.currentSessionId=f,this.setQueryType()}}}),si=me(()=>{qo(),_u=1,Uc=()=>_u++,Tu=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),Kc=(f,I)=>{let x=Tu.get(f);if(!x)throw new Error("Unsupported data type.");return I.length>0?Math.ceil(I.reduce((N,L)=>N*L)*x/8):0},Zc=class{constructor(f){this.sessionId=f.sessionId,this.mlContext=f.context,this.mlTensor=f.tensor,this.dataType=f.dataType,this.tensorShape=f.shape}get tensor(){return this.mlTensor}get type(){return this.dataType}get shape(){return this.tensorShape}get byteLength(){return Kc(this.dataType,this.tensorShape)}destroy(){fr("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(f){this.mlContext.writeTensor(this.mlTensor,f)}async read(f){return f?this.mlContext.readTensor(this.mlTensor,f):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(f,I,x){return this.mlContext===f&&this.dataType===I&&this.tensorShape.length===x.length&&this.tensorShape.every((N,L)=>N===x[L])}},Xc=class{constructor(f,I){this.tensorManager=f,this.wrapper=I}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(f,I,x,N){if(this.wrapper){if(this.wrapper.canReuseTensor(f,I,x))return this.wrapper.tensor;if(N){if(this.wrapper.byteLength!==Kc(I,x))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let L=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(I,x,L,!0,!0),N&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(f){if(this.wrapper){if(f.byteLength===this.wrapper.byteLength)return void this.wrapper.write(f);fr("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(f):this.activeUpload=new Uint8Array(f)}async download(f){if(this.activeUpload)return f?void(f instanceof ArrayBuffer?new Uint8Array(f).set(this.activeUpload):new Uint8Array(f.buffer,f.byteOffset,f.byteLength).set(this.activeUpload)):this.activeUpload.buffer;if(!this.wrapper)throw new Error("Tensor has not been created.");return f?this.wrapper.read(f):this.wrapper.read()}},Qu=class{constructor(f){this.backend=f,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}reserveTensorId(){let f=Uc();return this.tensorTrackersById.set(f,new Xc(this)),f}releaseTensorId(f){let I=this.tensorTrackersById.get(f);I&&(this.tensorTrackersById.delete(f),I.tensorWrapper&&this.releaseTensor(I.tensorWrapper))}async ensureTensor(f,I,x,N){fr("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${f}, dataType: ${I}, shape: ${x}, copyOld: ${N}}`);let L=this.tensorTrackersById.get(f);if(!L)throw new Error("Tensor not found.");return L.ensureTensor(this.backend.currentContext,I,x,N)}upload(f,I){let x=this.tensorTrackersById.get(f);if(!x)throw new Error("Tensor not found.");x.upload(I)}async download(f,I){fr("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${f}, dstBuffer: ${I==null?void 0:I.byteLength}}`);let x=this.tensorTrackersById.get(f);if(!x)throw new Error("Tensor not found.");return x.download(I)}releaseTensorsForSession(f){for(let I of this.freeTensors)I.sessionId===f&&I.destroy();this.freeTensors=this.freeTensors.filter(I=>I.sessionId!==f)}registerTensor(f,I,x,N){let L=Uc(),j=new Zc({sessionId:this.backend.currentSessionId,context:f,tensor:I,dataType:x,shape:N});return this.tensorTrackersById.set(L,new Xc(this,j)),this.externalTensors.add(j),L}async getCachedTensor(f,I,x,N,L){let j=this.backend.currentSessionId,Y=this.backend.currentContext;for(let[se,ne]of this.freeTensors.entries())if(ne.canReuseTensor(Y,f,I)){fr("verbose",()=>`[WebNN] Reusing tensor {dataType: ${f}, shape: ${I}}`);let ye=this.freeTensors.splice(se,1)[0];return ye.sessionId=j,ye}fr("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${f}, shape: ${I}}`);let Ae=await Y.createTensor({dataType:f,shape:I,dimensions:I,usage:x,writable:N,readable:L});return new Zc({sessionId:j,context:Y,tensor:Ae,dataType:f,shape:I})}releaseTensor(f){this.externalTensors.has(f)&&this.externalTensors.delete(f),this.freeTensors.push(f)}},l1=(...f)=>new Qu(...f)}),T0=me(()=>{hr(),G0(),Fu(),si(),qo(),qc=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),Pu=(f,I)=>{if(f===I)return!0;if(f===void 0||I===void 0)return!1;let x=Object.keys(f).sort(),N=Object.keys(I).sort();return x.length===N.length&&x.every((L,j)=>L===N[j]&&f[L]===I[L])},Su=class{constructor(f){this.tensorManager=l1(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],ja(f.logLevel,!!f.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(f){this.activeSessionId=f}async createMLContext(f){if(f instanceof GPUDevice){let x=this.mlContextCache.findIndex(N=>N.gpuDevice===f);if(x!==-1)return this.mlContextCache[x].mlContext;{let N=await navigator.ml.createContext(f);return this.mlContextCache.push({gpuDevice:f,mlContext:N}),N}}if(f===void 0){let x=this.mlContextCache.findIndex(N=>N.options===void 0&&N.gpuDevice===void 0);if(x!==-1)return this.mlContextCache[x].mlContext;{let N=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:N}),N}}let I=this.mlContextCache.findIndex(x=>Pu(x.options,f));if(I!==-1)return this.mlContextCache[I].mlContext;{let x=await navigator.ml.createContext(f);return this.mlContextCache.push({options:f,mlContext:x}),x}}get currentContext(){let f=this.getMLContext(this.currentSessionId);if(!f)throw new Error(`No MLContext found for session ${this.currentSessionId}`);return f}registerMLContext(f,I){this.mlContextBySessionId.set(f,I);let x=this.sessionIdsByMLContext.get(I);x||(x=new Set,this.sessionIdsByMLContext.set(I,x)),x.add(f)}onReleaseSession(f){let I=this.mlContextBySessionId.get(f);if(!I)return;this.tensorManager.releaseTensorsForSession(f),this.mlContextBySessionId.delete(f);let x=this.sessionIdsByMLContext.get(I);if(x.delete(f),x.size===0){this.sessionIdsByMLContext.delete(I);let N=this.mlContextCache.findIndex(L=>L.mlContext===I);N!==-1&&this.mlContextCache.splice(N,1)}}getMLContext(f){return this.mlContextBySessionId.get(f)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(f){fr("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${f}}`),this.tensorManager.releaseTensorId(f)}async ensureTensor(f,I,x,N){let L=qc.get(I);if(!L)throw new Error(`Unsupported ONNX data type: ${I}`);return this.tensorManager.ensureTensor(f,L,x,N)}uploadTensor(f,I){if(!Er().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");fr("verbose",()=>`[WebNN] uploadTensor {tensorId: ${f}, data: ${I.byteLength}}`),this.tensorManager.upload(f,I)}async downloadTensor(f,I){return this.tensorManager.download(f,I)}createMLTensorDownloader(f,I){return async()=>{let x=await this.tensorManager.download(f);return la(x,I)}}registerMLTensor(f,I,x){let N=qc.get(I);if(!N)throw new Error(`Unsupported ONNX data type: ${I}`);let L=this.tensorManager.registerTensor(this.currentContext,f,N,x);return fr("verbose",()=>`[WebNN] registerMLTensor {tensor: ${f}, dataType: ${N}, dimensions: ${x}} -> {tensorId: ${L}}`),L}registerMLConstant(f,I,x,N,L,j){if(!j)throw new Error("External mounted files are not available.");let Y=f;f.startsWith("./")&&(Y=f.substring(2));let Ae=j.get(Y);if(!Ae)throw new Error(`File with name ${Y} not found in preloaded files.`);if(I+x>Ae.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let se,ne=Ae.slice(I,I+x).buffer;switch(L.dataType){case"float32":se=new Float32Array(ne);break;case"float16":se=new Uint16Array(ne);break;case"int32":se=new Int32Array(ne);break;case"uint32":se=new Uint32Array(ne);break;case"int64":se=new BigInt64Array(ne);break;case"uint64":se=new BigUint64Array(ne);break;case"int8":se=new Int8Array(ne);break;case"int4":case"uint4":case"uint8":se=new Uint8Array(ne);break;default:throw new Error(`Unsupported data type: ${L.dataType} in creating WebNN Constant from external data.`)}return fr("verbose",()=>`[WebNN] registerMLConstant {dataType: ${L.dataType}, shape: ${L.shape}}}`),N.constant(L,se)}flush(){}}}),X0={};at(X0,{init:()=>Lu});var Q0,Ul,Lu,B1,Ys,La,wi,P0,p0,Kl,oc,lc,cc,Vu,uc,No,ki,q0,J0,S0,n2,Hu,i2,ao,Hn,fd,dd,gd,hd,pd,md,bd,Cd,af,Id,wd,R3=me(()=>{hr(),vs(),qo(),yr(),T0(),Q0=class Gm{constructor(I,x,N,L){this.module=I,this.dataType=x,this.data=N,this.dims=L}getFloat32Array(){if(this.dataType!==1)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,I)}getBigInt64Array(){if(this.dataType!==7)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,I)}getInt32Array(){if(this.dataType!==6)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,I)}getUint16Array(){if(this.dataType!==10&&this.dataType!==4)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new Uint16Array:new Uint16Array(this.module.HEAP8.buffer,this.data,I)}reshape(I){if(gt.size(I)!==gt.size(this.dims))throw new Error("Invalid new shape");return new Gm(this.module,this.dataType,this.data,I)}},Ul=class{constructor(f,I,x){this.module=f,this.backend=I,this.customDataOffset=0,this.customDataSize=0,this.adapterInfo=I.adapterInfo,this.deviceInfo=I.deviceInfo;let N=f.PTR_SIZE,L=x/f.PTR_SIZE,j=N===4?"i32":"i64";this.opKernelContext=Number(f.getValue(N*L++,j));let Y=Number(f.getValue(N*L++,j));this.outputCount=Number(f.getValue(N*L++,j)),this.customDataOffset=Number(f.getValue(N*L++,"*")),this.customDataSize=Number(f.getValue(N*L++,j));let Ae=[];for(let se=0;se<Y;se++){let ne=Number(f.getValue(N*L++,j)),ye=Number(f.getValue(N*L++,"*")),Be=Number(f.getValue(N*L++,j)),te=[];for(let Te=0;Te<Be;Te++)te.push(Number(f.getValue(N*L++,j)));Ae.push(new Q0(f,ne,ye,te))}this.inputs=Ae}get kernelCustomData(){return this.backend.currentKernelCustomData}get customDataBuffer(){return this.module.HEAPU8.subarray(this.customDataOffset,this.customDataOffset+this.customDataSize)}compute(f,I){var L;let x=((L=I==null?void 0:I.inputs)==null?void 0:L.map(j=>typeof j=="number"?this.inputs[j]:j))??this.inputs,N=(I==null?void 0:I.outputs)??[];return this.backend.run(f,x,N,(j,Y,Ae)=>new Q0(this.module,Y,this.output(j,Ae),Ae),(j,Y)=>{let Ae=oa(j,Y);if(!Ae)throw new Error(`Unsupported data type: ${j}`);let se=Ae>0?this.backend.gpuDataManager.create(Ae).id:0;return new Q0(this.module,j,se,Y)},this.outputCount)}output(f,I){let x=this.module.stackSave();try{let N=this.module.PTR_SIZE,L=N===4?"i32":"i64",j=this.module.stackAlloc((1+I.length)*N);this.module.setValue(j,I.length,L);for(let Y=0;Y<I.length;Y++)this.module.setValue(j+N*(Y+1),I[Y],L);return this.module._JsepOutput(this.opKernelContext,f,j)}catch(N){throw new Error(`Failed to generate kernel's output[${f}] with dims [${I}]. If you are running with pre-allocated output, please make sure the output type/dims are correct. Error: ${N}`)}finally{this.module.stackRestore(x)}}},Lu=async(f,I,x,N)=>{let L=I.jsepInit;if(!L)throw new Error("Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.");if(f==="webgpu"){let j=new Gu;await j.initialize(x,N),L("webgpu",[j,Y=>j.alloc(Number(Y)),Y=>j.free(Y),(Y,Ae,se,ne=!1)=>{if(ne)fr("verbose",()=>`[WebGPU] jsepCopyGpuToGpu: src=${Number(Y)}, dst=${Number(Ae)}, size=${Number(se)}`),j.memcpy(Number(Y),Number(Ae));else{fr("verbose",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${Number(Y)}, gpuDataId=${Number(Ae)}, size=${Number(se)}`);let ye=I.HEAPU8.subarray(Number(Y>>>0),Number(Y>>>0)+Number(se));j.upload(Number(Ae),ye)}},async(Y,Ae,se)=>{fr("verbose",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${Y}, dataOffset=${Ae}, size=${se}`),await j.download(Number(Y),()=>I.HEAPU8.subarray(Number(Ae)>>>0,Number(Ae+se)>>>0))},(Y,Ae,se)=>j.createKernel(Y,Number(Ae),se,I.UTF8ToString(I._JsepGetNodeName(Number(Ae)))),Y=>j.releaseKernel(Y),(Y,Ae,se,ne)=>{fr("verbose",()=>`[WebGPU] jsepRun: sessionHandle=${se}, kernel=${Y}, contextDataOffset=${Ae}`);let ye=new Ul(I,j,Number(Ae));return j.computeKernel(Number(Y),ye,ne)},()=>j.captureBegin(),()=>j.captureEnd(),()=>j.replay()])}else{let j=new Su(x);L("webnn",[j,()=>j.reserveTensorId(),Y=>j.releaseTensorId(Y),async(Y,Ae,se,ne)=>j.ensureTensor(Y,Ae,se,ne),(Y,Ae)=>{j.uploadTensor(Y,Ae)},async(Y,Ae)=>j.downloadTensor(Y,Ae)])}}}),kd=me(()=>{zu(),u1(),hr(),G0(),Nu(),Ou(),B1=(f,I)=>{Er()._OrtInit(f,I)!==0&&nr("Can't initialize onnxruntime.")},Ys=async f=>{B1(f.wasm.numThreads,Ma(f.logLevel))},La=async(f,I)=>{{let x=(R3(),Ue(X0)).init;if(I==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");let N=f.webgpu.adapter;if(N){if(typeof N.limits!="object"||typeof N.features!="object"||typeof N.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let L=f.webgpu.powerPreference;if(L!==void 0&&L!=="low-power"&&L!=="high-performance")throw new Error(`Invalid powerPreference setting: "${L}"`);let j=f.webgpu.forceFallbackAdapter;if(j!==void 0&&typeof j!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${j}"`);if(N=await navigator.gpu.requestAdapter({powerPreference:L,forceFallbackAdapter:j}),!N)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}await x("webgpu",Er(),f,N)}if(I==="webnn"){if(typeof navigator>"u"||!navigator.ml)throw new Error("WebNN is not supported in current environment");await x("webnn",Er(),f)}}},wi=new Map,P0=f=>{let I=Er(),x=I.stackSave();try{let N=I.PTR_SIZE,L=I.stackAlloc(2*N);I._OrtGetInputOutputCount(f,L,L+N)!==0&&nr("Can't get session input/output count.");let j=N===4?"i32":"i64";return[Number(I.getValue(L,j)),Number(I.getValue(L+N,j))]}finally{I.stackRestore(x)}},p0=f=>{let I=Er(),x=I._malloc(f.byteLength);if(x===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${f.byteLength}.`);return I.HEAPU8.set(f,x),[x,f.byteLength]},Kl=async(f,I)=>{var Be,te,Te;let x,N,L=Er();Array.isArray(f)?[x,N]=f:f.buffer===L.HEAPU8.buffer?[x,N]=[f.byteOffset,f.byteLength]:[x,N]=p0(f);let j=0,Y=0,Ae=0,se=[],ne=[],ye=[];try{if([Y,se]=$a(I),(I==null?void 0:I.externalData)&&L.mountExternalData){let Dt=[];for(let Nt of I.externalData){let hA=typeof Nt=="string"?Nt:Nt.path;Dt.push(Rn(typeof Nt=="string"?Nt:Nt.data).then(xA=>{L.mountExternalData(hA,xA)}))}await Promise.all(Dt)}for(let Dt of(I==null?void 0:I.executionProviders)??[])if((typeof Dt=="string"?Dt:Dt.name)==="webnn"){if(L.shouldTransferToMLTensor=!1,typeof Dt!="string"){let Nt=Dt,hA=Nt==null?void 0:Nt.context,xA=Nt==null?void 0:Nt.gpuDevice,er=Nt==null?void 0:Nt.deviceType,tr=Nt==null?void 0:Nt.powerPreference;L.currentContext=hA||(xA?await L.jsepCreateMLContext(xA):await L.jsepCreateMLContext({deviceType:er,powerPreference:tr}))}else L.currentContext=await L.jsepCreateMLContext();break}j=await L._OrtCreateSession(x,N,Y),j===0&&nr("Can't create a session."),(Be=L.jsepOnCreateSession)==null||Be.call(L),L.currentContext&&(L.jsepRegisterMLContext(j,L.currentContext),L.currentContext=void 0,L.shouldTransferToMLTensor=!0);let[Oe,Ke]=P0(j),Re=!!(I!=null&&I.enableGraphCapture),et=[],ft=[],bt=[];for(let Dt=0;Dt<Oe;Dt++){let Nt=L._OrtGetInputName(j,Dt);Nt===0&&nr("Can't get an input name."),ne.push(Nt),et.push(L.UTF8ToString(Nt))}for(let Dt=0;Dt<Ke;Dt++){let Nt=L._OrtGetOutputName(j,Dt);Nt===0&&nr("Can't get an output name."),ye.push(Nt);let hA=L.UTF8ToString(Nt);ft.push(hA);{if(Re&&(I==null?void 0:I.preferredOutputLocation)===void 0){bt.push("gpu-buffer");continue}let xA=typeof(I==null?void 0:I.preferredOutputLocation)=="string"?I.preferredOutputLocation:((te=I==null?void 0:I.preferredOutputLocation)==null?void 0:te[hA])??"cpu";if(xA!=="cpu"&&xA!=="cpu-pinned"&&xA!=="gpu-buffer"&&xA!=="ml-tensor")throw new Error(`Not supported preferred output location: ${xA}.`);if(Re&&xA!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${xA}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);bt.push(xA)}}let Mt=null;return bt.some(Dt=>Dt==="gpu-buffer"||Dt==="ml-tensor")&&(Ae=L._OrtCreateBinding(j),Ae===0&&nr("Can't create IO binding."),Mt={handle:Ae,outputPreferredLocations:bt,outputPreferredLocationsEncoded:bt.map(Dt=>cn(Dt))}),wi.set(j,[j,ne,ye,Mt,Re,!1]),[j,et,ft]}catch(Oe){throw ne.forEach(Ke=>L._OrtFree(Ke)),ye.forEach(Ke=>L._OrtFree(Ke)),Ae!==0&&L._OrtReleaseBinding(Ae)!==0&&nr("Can't release IO binding."),j!==0&&L._OrtReleaseSession(j)!==0&&nr("Can't release session."),Oe}finally{L._free(x),Y!==0&&L._OrtReleaseSessionOptions(Y)!==0&&nr("Can't release session options."),se.forEach(Oe=>L._free(Oe)),(Te=L.unmountExternalData)==null||Te.call(L)}},oc=f=>{var se;let I=Er(),x=wi.get(f);if(!x)throw new Error(`cannot release session. invalid session id: ${f}`);let[N,L,j,Y,Ae]=x;Y&&(Ae&&I._OrtClearBoundOutputs(Y.handle)!==0&&nr("Can't clear bound outputs."),I._OrtReleaseBinding(Y.handle)!==0&&nr("Can't release IO binding.")),(se=I.jsepOnReleaseSession)==null||se.call(I,f),L.forEach(ne=>I._OrtFree(ne)),j.forEach(ne=>I._OrtFree(ne)),I._OrtReleaseSession(N)!==0&&nr("Can't release session."),wi.delete(f)},lc=(f,I,x,N,L,j=!1)=>{if(!f)return void I.push(0);let Y,Ae,se=Er(),ne=se.PTR_SIZE,ye=f[0],Be=f[1],te=f[3];if(ye==="string"&&(te==="gpu-buffer"||te==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(j&&te!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${L} when enableGraphCapture is true.`);if(te==="gpu-buffer"){let Ke=f[2].gpuBuffer;Ae=oa(ds(ye),Be);let Re=se.jsepRegisterBuffer;if(!Re)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');Y=Re(N,L,Ke,Ae)}else if(te==="ml-tensor"){let Ke=f[2].mlTensor;Ae=oa(ds(ye),Be);let Re=se.jsepRegisterMLTensor;if(!Re)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');Y=Re(Ke,ds(ye),Be)}else{let Ke=f[2];if(Array.isArray(Ke)){Ae=ne*Ke.length,Y=se._malloc(Ae),x.push(Y);for(let Re=0;Re<Ke.length;Re++){if(typeof Ke[Re]!="string")throw new TypeError(`tensor data at index ${Re} is not a string`);se.setValue(Y+Re*ne,Dr(Ke[Re],x),"*")}}else Ae=Ke.byteLength,Y=se._malloc(Ae),x.push(Y),se.HEAPU8.set(new Uint8Array(Ke.buffer,Ke.byteOffset,Ae),Y)}let Te=se.stackSave(),Oe=se.stackAlloc(4*Be.length);try{Be.forEach((Re,et)=>se.setValue(Oe+et*ne,Re,ne===4?"i32":"i64"));let Ke=se._OrtCreateTensor(ds(ye),Y,Ae,Oe,Be.length,cn(te));Ke===0&&nr(`Can't create tensor for input/output. session=${N}, index=${L}.`),I.push(Ke)}finally{se.stackRestore(Te)}},cc=async(f,I,x,N,L,j)=>{var qr,Ar;let Y=Er(),Ae=Y.PTR_SIZE,se=wi.get(f);if(!se)throw new Error(`cannot run inference. invalid session id: ${f}`);let ne=se[0],ye=se[1],Be=se[2],te=se[3],Te=se[4],Oe=se[5],Ke=I.length,Re=N.length,et=0,ft=[],bt=[],Mt=[],Dt=[],Nt=Y.stackSave(),hA=Y.stackAlloc(Ke*Ae),xA=Y.stackAlloc(Ke*Ae),er=Y.stackAlloc(Re*Ae),tr=Y.stackAlloc(Re*Ae);try{(qr=Y.jsepOnRunStart)==null||qr.call(Y,ne),[et,ft]=qs(j);for(let Lt=0;Lt<Ke;Lt++)lc(x[Lt],bt,Dt,f,I[Lt],Te);for(let Lt=0;Lt<Re;Lt++)lc(L[Lt],Mt,Dt,f,Ke+N[Lt],Te);for(let Lt=0;Lt<Ke;Lt++)Y.setValue(hA+Lt*Ae,bt[Lt],"*"),Y.setValue(xA+Lt*Ae,ye[I[Lt]],"*");for(let Lt=0;Lt<Re;Lt++)Y.setValue(er+Lt*Ae,Mt[Lt],"*"),Y.setValue(tr+Lt*Ae,Be[N[Lt]],"*");if(te&&!Oe){let{handle:Lt,outputPreferredLocations:UA,outputPreferredLocationsEncoded:HA}=te;if(ye.length!==Ke)throw new Error(`input count from feeds (${Ke}) is expected to be always equal to model's input count (${ye.length}).`);for(let RA=0;RA<Ke;RA++){let is=I[RA];await Y._OrtBindInput(Lt,ye[is],bt[RA])!==0&&nr(`Can't bind input[${RA}] for session=${f}.`)}for(let RA=0;RA<Re;RA++){let is=N[RA];(Ar=L[RA])!=null&&Ar[3]?Y._OrtBindOutput(Lt,Be[is],Mt[RA],0)!==0&&nr(`Can't bind pre-allocated output[${RA}] for session=${f}.`):Y._OrtBindOutput(Lt,Be[is],0,HA[is])!==0&&nr(`Can't bind output[${RA}] to ${UA[RA]} for session=${f}.`)}wi.set(f,[ne,ye,Be,te,Te,!0])}let Ir;Ir=te?await Y._OrtRunWithBinding(ne,te.handle,Re,er,et):await Y._OrtRun(ne,xA,hA,Ke,tr,Re,er,et),Ir!==0&&nr("failed to call OrtRun().");let mr=[];for(let Lt=0;Lt<Re;Lt++){let UA=Number(Y.getValue(er+Lt*Ae,"*"));if(UA===Mt[Lt]){mr.push(L[Lt]);continue}let HA,RA=Y.stackSave(),is=Y.stackAlloc(4*Ae),Va=!1,ai=0;try{Y._OrtGetTensorData(UA,is,is+Ae,is+2*Ae,is+3*Ae)!==0&&nr(`Can't access output tensor data on index ${Lt}.`);let N0=Ae===4?"i32":"i64",$0=Number(Y.getValue(is,N0));ai=Y.getValue(is+Ae,"*");let fc=Y.getValue(is+2*Ae,"*"),Jo=Number(Y.getValue(is+3*Ae,N0)),z0=[];for(let Qs=0;Qs<Jo;Qs++)z0.push(Number(Y.getValue(fc+Qs*Ae,N0)));Y._OrtFree(fc)!==0&&nr("Can't free memory for tensor dims.");let O0=z0.reduce((Qs,no)=>Qs*no,1);HA=en($0);let $o=te==null?void 0:te.outputPreferredLocations[N[Lt]];if(HA==="string"){if($o==="gpu-buffer"||$o==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let Qs=[];for(let no=0;no<O0;no++){let el=Y.getValue(ai+no*Ae,"*"),lf=Y.getValue(ai+(no+1)*Ae,"*"),dc=no===O0-1?void 0:lf-el;Qs.push(Y.UTF8ToString(el,dc))}mr.push([HA,z0,Qs,"cpu"])}else if($o==="gpu-buffer"&&O0>0){let Qs=Y.jsepGetBuffer;if(!Qs)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let no=Qs(ai),el=oa($0,O0);if(el===void 0||!Br(HA))throw new Error(`Unsupported data type: ${HA}`);Va=!0,mr.push([HA,z0,{gpuBuffer:no,download:Y.jsepCreateDownloader(no,el,HA),dispose:()=>{Y._OrtReleaseTensor(UA)!==0&&nr("Can't release tensor.")}},"gpu-buffer"])}else if($o==="ml-tensor"&&O0>0){let Qs=Y.jsepEnsureTensor;if(!Qs)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(oa($0,O0)===void 0||!Hr(HA))throw new Error(`Unsupported data type: ${HA}`);let no=await Qs(ai,$0,z0,!1);Va=!0,mr.push([HA,z0,{mlTensor:no,download:Y.jsepCreateMLTensorDownloader(ai,HA),dispose:()=>{Y.jsepReleaseTensorId(ai),Y._OrtReleaseTensor(UA)}},"ml-tensor"])}else{let Qs=new(Yn(HA))(O0);new Uint8Array(Qs.buffer,Qs.byteOffset,Qs.byteLength).set(Y.HEAPU8.subarray(ai,ai+Qs.byteLength)),mr.push([HA,z0,Qs,"cpu"])}}finally{Y.stackRestore(RA),HA==="string"&&ai&&Y._free(ai),Va||Y._OrtReleaseTensor(UA)}}return te&&!Te&&(Y._OrtClearBoundOutputs(te.handle)!==0&&nr("Can't clear bound outputs."),wi.set(f,[ne,ye,Be,te,Te,!1])),mr}finally{Y.stackRestore(Nt),bt.forEach(Ir=>Y._OrtReleaseTensor(Ir)),Mt.forEach(Ir=>Y._OrtReleaseTensor(Ir)),Dt.forEach(Ir=>Y._free(Ir)),et!==0&&Y._OrtReleaseRunOptions(et),ft.forEach(Ir=>Y._free(Ir))}},Vu=f=>{let I=Er(),x=wi.get(f);if(!x)throw new Error("invalid session id");let N=x[0],L=I._OrtEndProfiling(N);L===0&&nr("Can't get an profile file name."),I._OrtFree(L)},uc=f=>{let I=[];for(let x of f){let N=x[2];!Array.isArray(N)&&"buffer"in N&&I.push(N.buffer)}return I}}),vd=me(()=>{lt(),kd(),G0(),Jc(),No=()=>!!G.wasm.proxy&&typeof document<"u",q0=!1,J0=!1,S0=!1,i2=new Map,ao=(f,I)=>{let x=i2.get(f);x?x.push(I):i2.set(f,[I])},Hn=()=>{if(q0||!J0||S0||!ki)throw new Error("worker not ready")},fd=f=>{switch(f.data.type){case"init-wasm":q0=!1,f.data.err?(S0=!0,Hu[1](f.data.err)):(J0=!0,Hu[0]()),n2&&(URL.revokeObjectURL(n2),n2=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let I=i2.get(f.data.type);f.data.err?I.shift()[1](f.data.err):I.shift()[0](f.data.out);break}}},dd=async()=>{if(!J0){if(q0)throw new Error("multiple calls to 'initWasm()' detected.");if(S0)throw new Error("previous call to 'initWasm()' failed.");if(q0=!0,No())return new Promise((f,I)=>{ki==null||ki.terminate(),zA().then(([x,N])=>{var L;try{(ki=N).onerror=Y=>I(Y),ki.onmessage=fd,Hu=[f,I];let j={type:"init-wasm",in:G};!j.in.wasm.wasmPaths&&(x||(L=import.meta.url)!=null&&L.startsWith("file:"))&&(j.in.wasm.wasmPaths={wasm:new URL(s("./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm"),s.b).href}),ki.postMessage(j),n2=x}catch(j){I(j)}},I)});try{await Rr(G.wasm),await Ys(G),J0=!0}catch(f){throw S0=!0,f}finally{q0=!1}}},gd=async f=>{if(No())return Hn(),new Promise((I,x)=>{ao("init-ep",[I,x]);let N={type:"init-ep",in:{epName:f,env:G}};ki.postMessage(N)});await La(G,f)},hd=async f=>No()?(Hn(),new Promise((I,x)=>{ao("copy-from",[I,x]);let N={type:"copy-from",in:{buffer:f}};ki.postMessage(N,[f.buffer])})):p0(f),pd=async(f,I)=>{if(No()){if(I!=null&&I.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return Hn(),new Promise((x,N)=>{ao("create",[x,N]);let L={type:"create",in:{model:f,options:{...I}}},j=[];f instanceof Uint8Array&&j.push(f.buffer),ki.postMessage(L,j)})}return Kl(f,I)},md=async f=>{if(No())return Hn(),new Promise((I,x)=>{ao("release",[I,x]);let N={type:"release",in:f};ki.postMessage(N)});oc(f)},bd=async(f,I,x,N,L,j)=>{if(No()){if(x.some(Y=>Y[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(L.some(Y=>Y))throw new Error("pre-allocated output tensor is not supported for proxy.");return Hn(),new Promise((Y,Ae)=>{ao("run",[Y,Ae]);let se=x,ne={type:"run",in:{sessionId:f,inputIndices:I,inputs:se,outputIndices:N,options:j}};ki.postMessage(ne,uc(se))})}return cc(f,I,x,N,L,j)},Cd=async f=>{if(No())return Hn(),new Promise((I,x)=>{ao("end-profiling",[I,x]);let N={type:"end-profiling",in:f};ki.postMessage(N)});Vu(f)}}),j3=me(()=>{lt(),vd(),hr(),xt(),Ou(),af=(f,I)=>{switch(f.location){case"cpu":return[f.type,f.dims,f.data,"cpu"];case"gpu-buffer":return[f.type,f.dims,{gpuBuffer:f.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[f.type,f.dims,{mlTensor:f.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${f.location} for ${I()}`)}},Id=f=>{switch(f[3]){case"cpu":return new F(f[0],f[2],f[1]);case"gpu-buffer":{let I=f[0];if(!Br(I))throw new Error(`not supported data type: ${I} for deserializing GPU tensor`);let{gpuBuffer:x,download:N,dispose:L}=f[2];return F.fromGpuBuffer(x,{dataType:I,dims:f[1],download:N,dispose:L})}case"ml-tensor":{let I=f[0];if(!Hr(I))throw new Error(`not supported data type: ${I} for deserializing MLTensor tensor`);let{mlTensor:x,download:N,dispose:L}=f[2];return F.fromMLTensor(x,{dataType:I,dims:f[1],download:N,dispose:L})}default:throw new Error(`invalid data location: ${f[3]}`)}},wd=class{async fetchModelAndCopyToWasmMemory(f){return hd(await Rn(f))}async loadModel(f,I){let x;ce(),x=typeof f=="string"?await this.fetchModelAndCopyToWasmMemory(f):f,[this.sessionId,this.inputNames,this.outputNames]=await pd(x,I),ge()}async dispose(){return md(this.sessionId)}async run(f,I,x){ce();let N=[],L=[];Object.entries(f).forEach(Be=>{let te=Be[0],Te=Be[1],Oe=this.inputNames.indexOf(te);if(Oe===-1)throw new Error(`invalid input '${te}'`);N.push(Te),L.push(Oe)});let j=[],Y=[];Object.entries(I).forEach(Be=>{let te=Be[0],Te=Be[1],Oe=this.outputNames.indexOf(te);if(Oe===-1)throw new Error(`invalid output '${te}'`);j.push(Te),Y.push(Oe)});let Ae=N.map((Be,te)=>af(Be,()=>`input "${this.inputNames[L[te]]}"`)),se=j.map((Be,te)=>Be?af(Be,()=>`output "${this.outputNames[Y[te]]}"`):null),ne=await bd(this.sessionId,L,Ae,Y,se,x),ye={};for(let Be=0;Be<ne.length;Be++)ye[this.outputNames[Y[Be]]]=j[Be]??Id(ne[Be]);return ge(),ye}startProfiling(){}endProfiling(){Cd(this.sessionId)}}}),yd={};at(yd,{OnnxruntimeWebAssemblyBackend:()=>of,initializeFlags:()=>nf,wasmBackend:()=>Ed});var nf,of,Ed,W3=me(()=>{lt(),vd(),j3(),nf=()=>{if((typeof G.wasm.initTimeout!="number"||G.wasm.initTimeout<0)&&(G.wasm.initTimeout=0),G.wasm.simd===!1&&console.warn('Deprecated property "env.wasm.simd" is set to false. non-SIMD build is no longer provided, and this setting will be ignored.'),typeof G.wasm.proxy!="boolean"&&(G.wasm.proxy=!1),typeof G.wasm.trace!="boolean"&&(G.wasm.trace=!1),typeof G.wasm.numThreads!="number"||!Number.isInteger(G.wasm.numThreads)||G.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)G.wasm.numThreads=1;else{let f=typeof navigator>"u"?Ge("node:os").cpus().length:navigator.hardwareConcurrency;G.wasm.numThreads=Math.min(4,Math.ceil((f||1)/2))}},of=class{async init(f){nf(),await dd(),await gd(f)}async createInferenceSessionHandler(f,I){let x=new wd;return await x.loadModel(f,I),Promise.resolve(x)}},Ed=new of});lt(),lt(),lt();var U3=st;{let f=(W3(),Ue(yd)).wasmBackend;p("webgpu",f,5),p("webnn",f,5),p("cpu",f,10),p("wasm",f,10)}Object.defineProperty(G.versions,"web",{value:"1.21.0-dev.20250206-d981b153d3",enumerable:!0})},
2803"./src/backends/onnx.js":(c,a,s)=>{var o;s.r(a),s.d(a,{Tensor:()=>b.Tensor,createInferenceSession:()=>U,deviceToExecutionProviders:()=>V,isONNXProxy:()=>J,isONNXTensor:()=>H});var u=s("./src/env.js"),p=s("?2ce3"),C=s("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?3a96"),b=s("./node_modules/onnxruntime-common/dist/esm/index.js");const k=Object.freeze({auto:null,gpu:null,cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",webnn:{name:"webnn",deviceType:"cpu"},"webnn-npu":{name:"webnn",deviceType:"npu"},"webnn-gpu":{name:"webnn",deviceType:"gpu"},"webnn-cpu":{name:"webnn",deviceType:"cpu"}}),E=[];let B,G;const D=Symbol.for("onnxruntime");if(D in globalThis)G=globalThis[D];else if(u.apis.IS_NODE_ENV){switch(G=p??(o||(o=s.t(p,2))),process.platform){case"win32":E.push("dml");break;case"linux":process.arch==="x64"&&E.push("cuda")}E.push("cpu"),B=["cpu"]}else G=C,u.apis.IS_WEBNN_AVAILABLE&&E.push("webnn-npu","webnn-gpu","webnn-cpu","webnn"),u.apis.IS_WEBGPU_AVAILABLE&&E.push("webgpu"),E.push("wasm"),B=["wasm"];const Q=G.InferenceSession;function V(g=null){if(!g)return B;switch(g){case"auto":return E;case"gpu":return E.filter(v=>["webgpu","cuda","dml","webnn-gpu"].includes(v))}if(E.includes(g))return[k[g]??g];throw new Error(`Unsupported device: "${g}". Should be one of: ${E.join(", ")}.`)}let W=null;async function U(g,v,e){W&&await W;const d=Q.create(g,v);W??(W=d);const _=await d;return _.config=e,_}function H(g){return g instanceof G.Tensor}const K=G==null?void 0:G.env;function J(){var g;return(g=K==null?void 0:K.wasm)==null?void 0:g.proxy}K!=null&&K.wasm&&(K.wasm.wasmPaths=`https://cdn.jsdelivr.net/npm/@huggingface/transformers@${u.env.version}/dist/`,K.wasm.proxy=!1,typeof crossOriginIsolated<"u"&&crossOriginIsolated||(K.wasm.numThreads=1)),K!=null&&K.webgpu&&(K.webgpu.powerPreference="high-performance"),u.env.backends.onnx=K},
2803"./src/base/feature_extraction_utils.js":(c,a,s)=>{s.r(a),s.d(a,{FeatureExtractor:()=>C,validate_audio_inputs:()=>b});var o=s("./src/utils/constants.js"),u=s("./src/utils/generic.js"),p=s("./src/utils/hub.js");class C extends u.Callable{constructor(E){super(),this.config=E}static async from_pretrained(E,B){return new this(await(0,p.getModelJSON)(E,o.FEATURE_EXTRACTOR_NAME,!0,B))}}function b(k,E){var B;if(!(k instanceof Float32Array||k instanceof Float64Array))throw new Error(`${E} expects input to be a Float32Array or a Float64Array, but got ${((B=k==null?void 0:k.constructor)==null?void 0:B.name)??typeof k} instead. If using the feature extractor directly, remember to use \`read_audio(url, sampling_rate)\` to obtain the raw audio data of the file/url.`)}},
2803"./src/base/image_processors_utils.js":(c,a,s)=>{s.r(a),s.d(a,{ImageProcessor:()=>J,center_to_corners_format:()=>G,post_process_instance_segmentation:()=>K,post_process_object_detection:()=>D,post_process_panoptic_segmentation:()=>H,post_process_semantic_segmentation:()=>Q});var o=s("./src/utils/generic.js"),u=s("./src/utils/tensor.js"),p=s("./src/utils/maths.js");s("./src/utils/image.js");var C=s("./src/utils/core.js"),b=s("./src/utils/hub.js"),k=s("./src/utils/constants.js");function E(g,v,e=0,d=null){const _=g/v;let re=(0,p.bankers_round)(_)*v;return d!==null&&re>d&&(re=Math.floor(_)*v),re<e&&(re=Math.ceil(_)*v),re}function B([g,v],e){return[Math.max(Math.floor(g/e),1)*e,Math.max(Math.floor(v/e),1)*e]}function G([g,v,e,d]){return[g-e/2,v-d/2,g+e/2,v+d/2]}function D(g,v=.5,e=null,d=!1){const _=g.logits,re=g.pred_boxes,[S,F,Ie]=_.dims;if(e!==null&&e.length!==S)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let he=[];for(let ce=0;ce<S;++ce){let ge=e!==null?e[ce]:null,Ce={boxes:[],classes:[],scores:[]},Fe=_[ce],Pe=re[ce];for(let de=0;de<F;++de){let pe,we=Fe[de],Ge=[];if(d){pe=we.sigmoid().data;for(let me=0;me<pe.length;++me)pe[me]>v&&Ge.push(me)}else{let me=(0,p.max)(we.data)[1];if(me===Ie-1||(pe=(0,p.softmax)(we.data),pe[me]<v))continue;Ge.push(me)}for(const me of Ge){let at=Pe[de].data;at=G(at),ge!==null&&(at=at.map((Ue,ot)=>Ue*ge[(ot+1)%2])),Ce.boxes.push(at),Ce.classes.push(me),Ce.scores.push(pe[me])}}he.push(Ce)}return he}function Q(g,v=null){const e=g.logits,d=e.dims[0];if(v!==null&&v.length!==d)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const _=[];for(let re=0;re<d;++re){const S=v!==null?v[re]:null;let F=e[re];S!==null&&(F=(0,u.interpolate)(F,S,"bilinear",!1));const[Ie,he]=S??F.dims.slice(-2),ce=new u.Tensor("int32",new Int32Array(Ie*he),[Ie,he]),ge=F[0].data,Ce=ce.data;for(let de=1;de<F.dims[0];++de){const pe=F[de].data;for(let we=0;we<pe.length;++we)pe[we]>ge[we]&&(ge[we]=pe[we],Ce[we]=de)}const Fe=new Array(F.dims[0]);for(let de=0;de<Ce.length;++de){const pe=Ce[de];Fe[pe]=pe}const Pe=Fe.filter(de=>de!==void 0);_.push({segmentation:ce,labels:Pe})}return _}function V(g,v,e,d){const _=[],re=[],S=[];for(let F=0;F<g.dims[0];++F){const Ie=g[F],he=v[F],ce=(0,p.max)(Ie.data)[1];if(ce===d)continue;const ge=(0,p.softmax)(Ie.data)[ce];ge>e&&(_.push(he),re.push(ge),S.push(ce))}return[_,re,S]}function W(g,v,e,d=.5,_=.8){const re=[];let S=0,F=0;const Ie=v[e].data;for(let ce=0;ce<g.length;++ce)g[ce]===e&&(re.push(ce),++S),Ie[ce]>=d&&++F;let he=S>0&&F>0;return he&&(he=S/F>_),[he,re]}function U(g,v,e,d,_,re=null,S=null){const[F,Ie]=S??g[0].dims,he=new u.Tensor("int32",new Int32Array(F*Ie),[F,Ie]),ce=[];if(S!==null)for(let de=0;de<g.length;++de)g[de]=(0,u.interpolate)(g[de],S,"bilinear",!1);const ge=new Int32Array(g[0].data.length),Ce=new Float32Array(g[0].data.length);for(let de=0;de<g.length;++de){let pe=v[de];const we=g[de].data;for(let Ge=0;Ge<we.length;++Ge)we[Ge]*=pe,we[Ge]>Ce[Ge]&&(ge[Ge]=de,Ce[Ge]=we[Ge])}let Fe=0;const Pe=he.data;for(let de=0;de<e.length;++de){const pe=e[de],[we,Ge]=W(ge,g,de,d,_);if(we){++Fe;for(const me of Ge)Pe[me]=Fe;ce.push({id:Fe,label_id:pe,score:v[de]})}}return[he,ce]}function H(g,v=.5,e=.5,d=.8,_=null,re=null){_===null&&(console.warn("`label_ids_to_fuse` unset. No instance will be fused."),_=new Set);const S=g.class_queries_logits??g.logits,F=(g.masks_queries_logits??g.pred_masks).sigmoid();let[Ie,he,ce]=S.dims;if(ce-=1,re!==null&&re.length!==Ie)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let ge=[];for(let Ce=0;Ce<Ie;++Ce){let Fe=re!==null?re[Ce]:null,Pe=S[Ce],de=F[Ce],[pe,we,Ge]=V(Pe,de,v,ce);if(Ge.length===0){let[Ue,ot]=Fe??de.dims.slice(-2),pt=new u.Tensor("int32",new Int32Array(Ue*ot).fill(-1),[Ue,ot]);ge.push({segmentation:pt,segments_info:[]});continue}let[me,at]=U(pe,we,Ge,e,d,_,Fe);ge.push({segmentation:me,segments_info:at})}return ge}function K(g,v=.5,e=null){throw new Error("`post_process_instance_segmentation` is not yet implemented.")}class J extends o.Callable{constructor(v){super(),this.image_mean=v.image_mean??v.mean,this.image_std=v.image_std??v.std,this.resample=v.resample??2,this.do_rescale=v.do_rescale??!0,this.rescale_factor=v.rescale_factor??1/255,this.do_normalize=v.do_normalize,this.do_thumbnail=v.do_thumbnail,this.size=v.size??v.image_size,this.do_resize=v.do_resize??this.size!==void 0,this.size_divisibility=v.size_divisibility??v.size_divisor,this.do_center_crop=v.do_center_crop,this.crop_size=v.crop_size,this.do_convert_rgb=v.do_convert_rgb??!0,this.do_crop_margin=v.do_crop_margin,this.pad_size=v.pad_size,this.do_pad=v.do_pad,this.do_pad&&!this.pad_size&&this.size&&this.size.width!==void 0&&this.size.height!==void 0&&(this.pad_size=this.size),this.do_flip_channel_order=v.do_flip_channel_order??!1,this.config=v}async thumbnail(v,e,d=2){const _=v.height,re=v.width,S=e.height,F=e.width;let Ie=Math.min(_,S),he=Math.min(re,F);return Ie===_&&he===re?v:(_>re?he=Math.floor(re*Ie/_):re>_&&(Ie=Math.floor(_*he/re)),await v.resize(he,Ie,{resample:d}))}async crop_margin(v,e=200){const d=v.clone().grayscale(),_=(0,p.min)(d.data)[0],re=(0,p.max)(d.data)[0]-_;if(re===0)return v;const S=e/255;let F=d.width,Ie=d.height,he=0,ce=0;const ge=d.data;for(let Ce=0;Ce<d.height;++Ce){const Fe=Ce*d.width;for(let Pe=0;Pe<d.width;++Pe)(ge[Fe+Pe]-_)/re<S&&(F=Math.min(F,Pe),Ie=Math.min(Ie,Ce),he=Math.max(he,Pe),ce=Math.max(ce,Ce))}return v=await v.crop([F,Ie,he,ce])}pad_image(v,e,d,{mode:_="constant",center:re=!1,constant_values:S=0}={}){const[F,Ie,he]=e;let ce,ge;
2803if(typeof d=="number"?(ce=d,ge=d):d==="square"?ce=ge=Math.max(F,Ie):(ce=d.width,ge=d.height),ce!==Ie||ge!==F){const Ce=new Float32Array(ce*ge*he);if(Array.isArray(S))for(let de=0;de<Ce.length;++de)Ce[de]=S[de%he];else S!==0&&Ce.fill(S);const[Fe,Pe]=re?[Math.floor((ce-Ie)/2),Math.floor((ge-F)/2)]:[0,0];for(let de=0;de<F;++de){const pe=(de+Pe)*ce,we=de*Ie;for(let Ge=0;Ge<Ie;++Ge){const me=(pe+Ge+Fe)*he,at=(we+Ge)*he;for(let Ue=0;Ue<he;++Ue)Ce[me+Ue]=v[at+Ue]}}if(_==="symmetric"){if(re)throw new Error("`center` padding is not supported when `mode` is set to `symmetric`.");const de=F-1,pe=Ie-1;for(let we=0;we<ge;++we){const Ge=we*ce,me=(0,C.calculateReflectOffset)(we,de)*Ie;for(let at=0;at<ce;++at){if(we<F&&at<Ie)continue;const Ue=(Ge+at)*he,ot=(me+(0,C.calculateReflectOffset)(at,pe))*he;for(let pt=0;pt<he;++pt)Ce[Ue+pt]=v[ot+pt]}}}v=Ce,e=[ge,ce,he]}return[v,e]}rescale(v){for(let e=0;e<v.length;++e)v[e]=this.rescale_factor*v[e]}get_resize_output_image_size(v,e){const[d,_]=v.size;let re,S;if(this.do_thumbnail){const{height:F,width:Ie}=e;re=Math.min(F,Ie)}else Number.isInteger(e)?(re=e,S=this.config.max_size??re):e!==void 0&&(re=e.shortest_edge,S=e.longest_edge);if(re!==void 0||S!==void 0){const F=re===void 0?1:Math.max(re/d,re/_),Ie=d*F,he=_*F,ce=S===void 0?1:Math.min(S/Ie,S/he);let ge=Math.floor(Number((Ie*ce).toFixed(2))),Ce=Math.floor(Number((he*ce).toFixed(2)));return this.size_divisibility!==void 0&&([ge,Ce]=B([ge,Ce],this.size_divisibility)),[ge,Ce]}if(e!==void 0&&e.width!==void 0&&e.height!==void 0){let F=e.width,Ie=e.height;if(this.config.keep_aspect_ratio&&this.config.ensure_multiple_of){let he=Ie/_,ce=F/d;Math.abs(1-ce)<Math.abs(1-he)?he=ce:ce=he,Ie=E(he*_,this.config.ensure_multiple_of),F=E(ce*d,this.config.ensure_multiple_of)}return[F,Ie]}if(this.size_divisibility!==void 0)return B([d,_],this.size_divisibility);if(e.min_pixels!==void 0&&e.max_pixels!==void 0){const{min_pixels:F,max_pixels:Ie}=e;return function(he,ce,ge=28,Ce=3136,Fe=1003520){if(he<ge||ce<ge)throw new Error(`height:${he} or width:${ce} must be larger than factor:${ge}`);if(Math.max(he,ce)/Math.min(he,ce)>200)throw new Error("absolute aspect ratio must be smaller than 200, got "+Math.max(he,ce)/Math.min(he,ce));let Pe=Math.round(he/ge)*ge,de=Math.round(ce/ge)*ge;if(Pe*de>Fe){const pe=Math.sqrt(he*ce/Fe);Pe=Math.floor(he/pe/ge)*ge,de=Math.floor(ce/pe/ge)*ge}else if(Pe*de<Ce){const pe=Math.sqrt(Ce/(he*ce));Pe=Math.ceil(he*pe/ge)*ge,de=Math.ceil(ce*pe/ge)*ge}return[Pe,de]}(_,d,this.config.patch_size*this.config.merge_size,F,Ie)}throw new Error(`Could not resize image due to unsupported \`this.size\` option in config: ${JSON.stringify(e)}`)}async resize(v){const[e,d]=this.get_resize_output_image_size(v,this.size);return await v.resize(e,d,{resample:this.resample})}async preprocess(v,{do_normalize:e=null,do_pad:d=null,do_convert_rgb:_=null,do_convert_grayscale:re=null,do_flip_channel_order:S=null}={}){this.do_crop_margin&&(v=await this.crop_margin(v));const[F,Ie]=v.size;if(_??this.do_convert_rgb?v=v.rgb():re&&(v=v.grayscale()),this.do_resize&&(v=await this.resize(v)),this.do_thumbnail&&(v=await this.thumbnail(v,this.size,this.resample)),this.do_center_crop){let Ce,Fe;Number.isInteger(this.crop_size)?(Ce=this.crop_size,Fe=this.crop_size):(Ce=this.crop_size.width,Fe=this.crop_size.height),v=await v.center_crop(Ce,Fe)}const he=[v.height,v.width];let ce=Float32Array.from(v.data),ge=[v.height,v.width,v.channels];if(this.do_rescale&&this.rescale(ce),e??this.do_normalize){let Ce=this.image_mean;Array.isArray(this.image_mean)||(Ce=new Array(v.channels).fill(Ce));let Fe=this.image_std;if(Array.isArray(this.image_std)||(Fe=new Array(v.channels).fill(Ce)),Ce.length!==v.channels||Fe.length!==v.channels)throw new Error(`When set to arrays, the length of \`image_mean\` (${Ce.length}) and \`image_std\` (${Fe.length}) must match the number of channels in the image (${v.channels}).`);for(let Pe=0;Pe<ce.length;Pe+=v.channels)for(let de=0;de<v.channels;++de)ce[Pe+de]=(ce[Pe+de]-Ce[de])/Fe[de]}if(d??this.do_pad){if(this.pad_size)[ce,ge]=this.pad_image(ce,[v.height,v.width,v.channels],this.pad_size);else if(this.size_divisibility){const[Ce,Fe]=B([ge[1],ge[0]],this.size_divisibility);[ce,ge]=this.pad_image(ce,ge,{width:Ce,height:Fe})}}if(S??this.do_flip_channel_order){if(ge[2]!==3)throw new Error("Flipping channel order is only supported for RGB images.");for(let Ce=0;Ce<ce.length;Ce+=3){const Fe=ce[Ce];ce[Ce]=ce[Ce+2],ce[Ce+2]=Fe}}return{original_size:[Ie,F],reshaped_input_size:he,pixel_values:new u.Tensor("float32",ce,ge).permute(2,0,1)}}async _call(v,...e){Array.isArray(v)||(v=[v]);const d=await Promise.all(v.map(re=>this.preprocess(re)));return{pixel_values:(0,u.stack)(d.map(re=>re.pixel_values),0),original_sizes:d.map(re=>re.original_size),reshaped_input_sizes:d.map(re=>re.reshaped_input_size)}}static async from_pretrained(v,e){return new this(await(0,b.getModelJSON)(v,k.IMAGE_PROCESSOR_NAME,!0,e))}}},
2803"./src/base/processing_utils.js":(c,a,s)=>{s.r(a),s.d(a,{Processor:()=>C});var o=s("./src/utils/constants.js"),u=s("./src/utils/generic.js"),p=s("./src/utils/hub.js");class C extends u.Callable{constructor(k,E){super(),this.config=k,this.components=E}get image_processor(){return this.components.image_processor}get tokenizer(){return this.components.tokenizer}get feature_extractor(){return this.components.feature_extractor}apply_chat_template(k,E={}){if(!this.tokenizer)throw new Error("Unable to apply chat template without a tokenizer.");return this.tokenizer.apply_chat_template(k,{tokenize:!1,...E})}batch_decode(...k){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.batch_decode(...k)}decode(...k){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.decode(...k)}async _call(k,...E){for(const B of[this.image_processor,this.feature_extractor,this.tokenizer])if(B)return B(k,...E);throw new Error("No image processor, feature extractor, or tokenizer found.")}static async from_pretrained(k,E){const[B,G]=await Promise.all([this.uses_processor_config?(0,p.getModelJSON)(k,o.PROCESSOR_NAME,!0,E):{},Promise.all(this.classes.filter(D=>D in this).map(async D=>{const Q=await this[D].from_pretrained(k,E);return[D.replace(/_class$/,""),Q]})).then(Object.fromEntries)]);return new this(B,G)}}Ct(C,"classes",["image_processor_class","tokenizer_class","feature_extractor_class"]),Ct(C,"uses_processor_config",!1)},
2803"./src/configs.js":(c,a,s)=>{s.r(a),s.d(a,{AutoConfig:()=>k,PretrainedConfig:()=>b,getKeyValueShapes:()=>C});var o=s("./src/utils/core.js"),u=s("./src/utils/hub.js");function p(E){const B={};let G={};switch(E.model_type){case"llava":case"paligemma":case"florence2":case"llava_onevision":case"idefics3":G=p(E.text_config);break;case"moondream1":G=p(E.phi_config);break;case"musicgen":G=p(E.decoder);break;case"multi_modality":G=p(E.language_config);break;case"gpt2":case"gptj":case"jais":case"codegen":case"gpt_bigcode":B.num_heads="n_head",B.num_layers="n_layer",B.hidden_size="n_embd";break;case"gpt_neox":case"stablelm":case"opt":case"falcon":B.num_heads="num_attention_heads",B.num_layers="num_hidden_layers",B.hidden_size="hidden_size";break;case"llama":case"olmo":case"olmo2":case"mobilellm":case"granite":case"cohere":case"mistral":case"starcoder2":case"qwen2":case"qwen2_vl":case"phi":case"phi3":case"phi3_v":B.num_heads="num_key_value_heads",B.num_layers="num_hidden_layers",B.hidden_size="hidden_size",B.num_attention_heads="num_attention_heads";break;case"gemma":case"gemma2":case"glm":case"helium":B.num_heads="num_key_value_heads",B.num_layers="num_hidden_layers",B.dim_kv="head_dim";break;case"openelm":B.num_heads="num_kv_heads",B.num_layers="num_transformer_layers",B.dim_kv="head_dim";break;case"gpt_neo":case"donut-swin":B.num_heads="num_heads",B.num_layers="num_layers",B.hidden_size="hidden_size";break;case"bloom":B.num_heads="n_head",B.num_layers="n_layer",B.hidden_size="hidden_size";break;case"mpt":B.num_heads="n_heads",B.num_layers="n_layers",B.hidden_size="d_model";break;case"exaone":B.num_heads="num_key_value_heads",B.num_layers="num_layers",B.dim_kv="head_dim",B.num_attention_heads="num_attention_heads";break;case"t5":case"mt5":case"longt5":B.num_decoder_layers="num_decoder_layers",B.num_decoder_heads="num_heads",B.decoder_dim_kv="d_kv",B.num_encoder_layers="num_layers",B.num_encoder_heads="num_heads",B.encoder_dim_kv="d_kv";break;case"bart":case"mbart":case"marian":case"whisper":case"m2m_100":case"blenderbot":case"blenderbot-small":case"florence2_language":B.num_decoder_layers="decoder_layers",B.num_decoder_heads="decoder_attention_heads",B.decoder_hidden_size="d_model",B.num_encoder_layers="encoder_layers",B.num_encoder_heads="encoder_attention_heads",B.encoder_hidden_size="d_model";break;case"speecht5":B.num_decoder_layers="decoder_layers",B.num_decoder_heads="decoder_attention_heads",B.decoder_hidden_size="hidden_size",B.num_encoder_layers="encoder_layers",B.num_encoder_heads="encoder_attention_heads",B.encoder_hidden_size="hidden_size";break;case"trocr":B.num_encoder_layers=B.num_decoder_layers="decoder_layers",B.num_encoder_heads=B.num_decoder_heads="decoder_attention_heads",B.encoder_hidden_size=B.decoder_hidden_size="d_model";break;case"musicgen_decoder":B.num_encoder_layers=B.num_decoder_layers="num_hidden_layers",B.num_encoder_heads=B.num_decoder_heads="num_attention_heads",B.encoder_hidden_size=B.decoder_hidden_size="hidden_size";break;case"moonshine":B.num_decoder_layers="decoder_num_hidden_layers",B.num_decoder_heads="decoder_num_key_value_heads",B.num_encoder_layers="encoder_num_hidden_layers",B.num_encoder_heads="encoder_num_key_value_heads",B.encoder_hidden_size=B.decoder_hidden_size="hidden_size";break;case"vision-encoder-decoder":const Q=p(E.decoder),V="num_decoder_layers"in Q,W=(0,o.pick)(E,["model_type","is_encoder_decoder"]);return V?(W.num_decoder_layers=Q.num_decoder_layers,W.num_decoder_heads=Q.num_decoder_heads,W.decoder_hidden_size=Q.decoder_hidden_size,W.num_encoder_layers=Q.num_encoder_layers,W.num_encoder_heads=Q.num_encoder_heads,W.encoder_hidden_size=Q.encoder_hidden_size):(W.num_layers=Q.num_layers,W.num_heads=Q.num_heads,W.hidden_size=Q.hidden_size),W}const D={...G,...(0,o.pick)(E,["model_type","multi_query","is_encoder_decoder"])};for(const Q in B)D[Q]=E[B[Q]];return D}function C(E,{prefix:B="past_key_values",batch_size:G=1}={}){const D={},Q=E.normalized_config;if(Q.is_encoder_decoder&&"num_encoder_heads"in Q&&"num_decoder_heads"in Q){const V=Q.encoder_dim_kv??Q.encoder_hidden_size/Q.num_encoder_heads,W=Q.decoder_dim_kv??Q.decoder_hidden_size/Q.num_decoder_heads,U=[G,Q.num_encoder_heads,0,V],H=[G,Q.num_decoder_heads,0,W];for(let K=0;K<Q.num_decoder_layers;++K)D[`${B}.${K}.encoder.key`]=U,D[`${B}.${K}.encoder.value`]=U,D[`${B}.${K}.decoder.key`]=H,D[`${B}.${K}.decoder.value`]=H}else{const V=Q.num_heads,W=Q.num_layers,U=Q.dim_kv??Q.hidden_size/(Q.num_attention_heads??V);if(Q.model_type==="falcon"){const H=[G*V,0,U];for(let K=0;K<W;++K)D[`${B}.${K}.key`]=H,D[`${B}.${K}.value`]=H}else if(Q.multi_query){const H=[G*V,0,2*U];for(let K=0;K<W;++K)D[`${B}.${K}.key_value`]=H}else if(Q.model_type==="bloom"){const H=[G*V,U,0],K=[G*V,0,U];for(let J=0;J<W;++J)D[`${B}.${J}.key`]=H,D[`${B}.${J}.value`]=K}else if(Q.model_type==="openelm")for(let H=0;H<W;++H){const K=[G,V[H],0,U];D[`${B}.${H}.key`]=K,D[`${B}.${H}.value`]=K}else{const H=[G,V,0,U];for(let K=0;K<W;++K)D[`${B}.${K}.key`]=H,D[`${B}.${K}.value`]=H}}return D}class b{constructor(B){Ct(this,"model_type",null);Ct(this,"is_encoder_decoder",!1);Ct(this,"max_position_embeddings");Ct(this,"transformers.js_config");Object.assign(this,B),this.normalized_config=p(this)}static async from_pretrained(B,{progress_callback:G=null,config:D=null,cache_dir:Q=null,local_files_only:V=!1,revision:W="main"}={}){!D||D instanceof b||(D=new b(D));const U=D??await async function(H,K){return await(0,u.getModelJSON)(H,"config.json",!0,K)}(B,{progress_callback:G,config:D,cache_dir:Q,local_files_only:V,revision:W});return new this(U)}}class k{static async from_pretrained(...B){return b.from_pretrained(...B)}}},
2803"./src/env.js":(c,a,s)=>{var e,d;s.r(a),s.d(a,{apis:()=>W,env:()=>g});var o=s("?569f"),u=s("?3f59"),p=s("?154a");const C=typeof window<"u"&&window.document!==void 0,b=typeof self<"u"&&((e=self.constructor)==null?void 0:e.name)==="DedicatedWorkerGlobalScope",k=typeof self<"u"&&"caches"in self,E=typeof navigator<"u"&&"gpu"in navigator,B=typeof navigator<"u"&&"ml"in navigator,G=typeof process<"u",D=G&&((d=process==null?void 0:process.release)==null?void 0:d.name)==="node",Q=!v(o),V=!v(u),W=Object.freeze({IS_BROWSER_ENV:C,IS_WEBWORKER_ENV:b,IS_WEB_CACHE_AVAILABLE:k,IS_WEBGPU_AVAILABLE:E,IS_WEBNN_AVAILABLE:B,IS_PROCESS_AVAILABLE:G,IS_NODE_ENV:D,IS_FS_AVAILABLE:Q,IS_PATH_AVAILABLE:V}),U=Q&&V;let H="./";if(U){const _=Object(import.meta).url;_?H=u.dirname(u.dirname(p.fileURLToPath(_))):typeof __dirname<"u"&&(H=u.dirname(__dirname))}const K=U?u.join(H,"/.cache/"):null,J="/models/",g={version:"3.3.3",backends:{onnx:{}},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(C||b),localModelPath:U?u.join(H,J):J,useFS:Q,useBrowserCache:k,useFSCache:Q,cacheDir:K,useCustomCache:!1,customCache:null};function v(_){return Object.keys(_).length===0}},
2803"./src/generation/configuration_utils.js":(c,a,s)=>{s.r(a),s.d(a,{GenerationConfig:()=>u});var o=s("./src/utils/core.js");class u{constructor(C){Ct(this,"max_length",20);Ct(this,"max_new_tokens",null);Ct(this,"min_length",0);Ct(this,"min_new_tokens",null);Ct(this,"early_stopping",!1);Ct(this,"max_time",null);Ct(this,"do_sample",!1);Ct(this,"num_beams",1);Ct(this,"num_beam_groups",1);Ct(this,"penalty_alpha",null);Ct(this,"use_cache",!0);Ct(this,"temperature",1);Ct(this,"top_k",50);Ct(this,"top_p",1);Ct(this,"typical_p",1);Ct(this,"epsilon_cutoff",0);Ct(this,"eta_cutoff",0);Ct(this,"diversity_penalty",0);Ct(this,"repetition_penalty",1);Ct(this,"encoder_repetition_penalty",1);Ct(this,"length_penalty",1);Ct(this,"no_repeat_ngram_size",0);Ct(this,"bad_words_ids",null);Ct(this,"force_words_ids",null);Ct(this,"renormalize_logits",!1);Ct(this,"constraints",null);Ct(this,"forced_bos_token_id",null);Ct(this,"forced_eos_token_id",null);Ct(this,"remove_invalid_values",!1);Ct(this,"exponential_decay_length_penalty",null);Ct(this,"suppress_tokens",null);Ct(this,"streamer",null);Ct(this,"begin_suppress_tokens",null);Ct(this,"forced_decoder_ids",null);Ct(this,"guidance_scale",null);Ct(this,"num_return_sequences",1);Ct(this,"output_attentions",!1);Ct(this,"output_hidden_states",!1);Ct(this,"output_scores",!1);Ct(this,"return_dict_in_generate",!1);Ct(this,"pad_token_id",null);Ct(this,"bos_token_id",null);Ct(this,"eos_token_id",null);Ct(this,"encoder_no_repeat_ngram_size",0);Ct(this,"decoder_start_token_id",null);Ct(this,"generation_kwargs",{});Object.assign(this,(0,o.pick)(C,Object.getOwnPropertyNames(this)))}}},
vendor: 5,404 bytes, line 2803
2803"./src/generation/logits_process.js":(c,a,s)=>{s.r(a),s.d(a,{ClassifierFreeGuidanceLogitsProcessor:()=>H,ForcedBOSTokenLogitsProcessor:()=>k,ForcedEOSTokenLogitsProcessor:()=>E,LogitsProcessor:()=>p,LogitsProcessorList:()=>b,LogitsWarper:()=>C,MinLengthLogitsProcessor:()=>V,MinNewTokensLengthLogitsProcessor:()=>W,NoBadWordsLogitsProcessor:()=>U,NoRepeatNGramLogitsProcessor:()=>D,RepetitionPenaltyLogitsProcessor:()=>Q,SuppressTokensAtBeginLogitsProcessor:()=>B,TemperatureLogitsWarper:()=>K,TopKLogitsWarper:()=>g,TopPLogitsWarper:()=>J,WhisperTimeStampLogitsProcessor:()=>G});var o=s("./src/utils/generic.js");s("./src/utils/tensor.js");var u=s("./src/utils/maths.js");class p extends o.Callable{_call(e,d){throw Error("`_call` should be implemented in a subclass")}}class C extends o.Callable{_call(e,d){throw Error("`_call` should be implemented in a subclass")}}class b extends o.Callable{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,d){let _=d;for(const re of this.processors)_=re(e,_);return _}[Symbol.iterator](){return this.processors.values()}}class k extends p{constructor(e){super(),this.bos_token_id=e}_call(e,d){for(let _=0;_<e.length;++_)if(e[_].length===1){const re=d[_].data;re.fill(-1/0),re[this.bos_token_id]=0}return d}}class E extends p{constructor(e,d){super(),this.max_length=e,this.eos_token_id=Array.isArray(d)?d:[d]}_call(e,d){for(let _=0;_<e.length;++_)if(e[_].length===this.max_length-1){const re=d[_].data;re.fill(-1/0);for(const S of this.eos_token_id)re[S]=0}return d}}class B extends p{constructor(e,d){super(),this.begin_suppress_tokens=e,this.begin_index=d}_call(e,d){for(let _=0;_<e.length;++_)if(e[_].length===this.begin_index){const re=d[_].data;for(const S of this.begin_suppress_tokens)re[S]=-1/0}return d}}class G extends p{constructor(e,d){super(),this.eos_token_id=Array.isArray(e.eos_token_id)?e.eos_token_id[0]:e.eos_token_id,this.no_timestamps_token_id=e.no_timestamps_token_id,this.timestamp_begin=this.no_timestamps_token_id+1,this.begin_index=d.length,d.at(-1)===this.no_timestamps_token_id&&(this.begin_index-=1),this.max_initial_timestamp_index=e.max_initial_timestamp_index}_call(e,d){for(let _=0;_<e.length;++_){const re=d[_].data;if(re[this.no_timestamps_token_id]=-1/0,e[_].length===this.begin_index-1){re.fill(-1/0),re[this.timestamp_begin]=0;continue}const S=e[_].slice(this.begin_index),F=S.length>=1&&S[S.length-1]>=this.timestamp_begin,Ie=S.length<2||S[S.length-2]>=this.timestamp_begin;if(F&&(Ie?re.subarray(this.timestamp_begin).fill(-1/0):re.subarray(0,this.eos_token_id).fill(-1/0)),e[_].length===this.begin_index&&this.max_initial_timestamp_index!==null){const ge=this.timestamp_begin+this.max_initial_timestamp_index;re.subarray(ge+1).fill(-1/0)}const he=(0,u.log_softmax)(re);Math.log(he.subarray(this.timestamp_begin).map(Math.exp).reduce((ge,Ce)=>ge+Ce))>(0,u.max)(he.subarray(0,this.timestamp_begin))[0]&&re.subarray(0,this.timestamp_begin).fill(-1/0)}return d}}class D extends p{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){const d=e.length,_=[];for(let S=0;S<d+1-this.no_repeat_ngram_size;++S){const F=[];for(let Ie=0;Ie<this.no_repeat_ngram_size;++Ie)F.push(e[S+Ie]);_.push(F.map(Number))}const re=new Map;for(const S of _){const F=S.slice(0,S.length-1),Ie=JSON.stringify(F),he=re.get(Ie)??[];he.push(S[S.length-1]),re.set(Ie,he)}return re}getGeneratedNgrams(e,d){const _=d.slice(d.length+1-this.no_repeat_ngram_size,d.length);return e.get(JSON.stringify(_.map(Number)))??[]}calcBannedNgramTokens(e){const d=[];if(e.length+1<this.no_repeat_ngram_size)return d;{const _=this.getNgrams(e);return this.getGeneratedNgrams(_,e)}}_call(e,d){for(let _=0;_<e.length;++_){const re=d[_].data,S=this.calcBannedNgramTokens(e[_]);for(const F of S)re[F]=-1/0}return d}}class Q extends p{constructor(e){super(),this.penalty=e}_call(e,d){for(let _=0;_<e.length;++_){const re=d[_].data;for(const S of new Set(e[_])){const F=Number(S);re[F]<0?re[F]*=this.penalty:re[F]/=this.penalty}}return d}}class V extends p{constructor(e,d){super(),this.min_length=e,this.eos_token_id=Array.isArray(d)?d:[d]}_call(e,d){for(let _=0;_<e.length;++_)if(e[_].length<this.min_length){const re=d[_].data;for(const S of this.eos_token_id)re[S]=-1/0}return d}}class W extends p{constructor(e,d,_){super(),this.prompt_length_to_skip=e,this.min_new_tokens=d,this.eos_token_id=Array.isArray(_)?_:[_]}_call(e,d){for(let _=0;_<e.length;++_)if(e[_].length-this.prompt_length_to_skip<this.min_new_tokens){const re=d[_].data;for(const S of this.eos_token_id)re[S]=-1/0}return d}}class U extends p{constructor(e,d){super(),this.bad_words_ids=e,this.eos_token_id=Array.isArray(d)?d:[d]}_call(e,d){for(let _=0;_<e.length;++_){const re=d[_].data,S=e[_];for(const F of this.bad_words_ids){let Ie=!0;for(let he=1;he<=F.length-1&&F.length<S.length;++he)if(F.at(-he-1)!=S.at(-he)){Ie=!1;break}Ie&&(re[F.at(-1)]=-1/0)}}return d}}class H extends p{constructor(e){if(super(),e<=1)throw new Error(`Require guidance scale >1 to use the classifier free guidance processor, got guidance scale ${e}.`);this.guidance_scale=e}_call(e,d){if(d.dims[0]!==2*e.length)throw new Error(`Logits should have twice the batch size of the input ids, the first half of batches corresponding to the conditional inputs, and the second half of batches corresponding to the unconditional inputs. Got batch size ${d.dims[
28030]} for the logits and ${e.length} for the input ids.`);const _=e.length,re=d.slice([0,_],null),S=d.slice([_,d.dims[0]],null);for(let F=0;F<S.data.length;++F)S.data[F]+=(re.data[F]-S.data[F])*this.guidance_scale;return S}}class K extends C{constructor(e){super(),this.temperature=e}_call(e,d){const _=d.data;for(let re=0;re<_.length;++re)_[re]/=this.temperature;return d}}class J extends C{constructor(e,{filter_value:d=-1/0,min_tokens_to_keep:_=1}={}){if(super(),e<0||e>1)throw new Error(`\`top_p\` must be a float > 0 and < 1, but is ${e}`);if(!Number.isInteger(_)||_<1)throw new Error(`\`min_tokens_to_keep\` must be a positive integer, but is ${_}`);this.top_p=e,this.filter_value=d,this.min_tokens_to_keep=_}}class g extends C{constructor(e,{filter_value:d=-1/0,min_tokens_to_keep:_=1}={}){if(super(),!Number.isInteger(e)||e<0)throw new Error(`\`top_k\` must be a positive integer, but is ${e}`);this.top_k=Math.max(e,_),this.filter_value=d}}},
2803"./src/generation/logits_sampler.js":(c,a,s)=>{s.r(a),s.d(a,{LogitsSampler:()=>C});var o=s("./src/utils/generic.js"),u=s("./src/utils/tensor.js"),p=s("./src/utils/maths.js");s("./src/generation/configuration_utils.js");class C extends o.Callable{constructor(G){super(),this.generation_config=G}async _call(G){return this.sample(G)}async sample(G){throw Error("sample should be implemented in subclasses.")}getLogits(G,D){let Q=G.dims.at(-1),V=G.data;if(D===-1)V=V.slice(-Q);else{let W=D*Q;V=V.slice(W,W+Q)}return V}randomSelect(G){let D=0;for(let V=0;V<G.length;++V)D+=G[V];let Q=Math.random()*D;for(let V=0;V<G.length;++V)if(Q-=G[V],Q<=0)return V;return 0}static getSampler(G){if(G.do_sample)return new k(G);if(G.num_beams>1)return new E(G);if(G.num_return_sequences>1)throw Error(`num_return_sequences has to be 1 when doing greedy search, but is ${G.num_return_sequences}.`);return new b(G)}}class b extends C{async sample(G){const D=(0,p.max)(G.data)[1];return[[BigInt(D),0]]}}class k extends C{async sample(G){let D=G.dims.at(-1);this.generation_config.top_k>0&&(D=Math.min(this.generation_config.top_k,D));const[Q,V]=await(0,u.topk)(G,D),W=(0,p.softmax)(Q.data);return Array.from({length:this.generation_config.num_beams},()=>{const U=this.randomSelect(W);return[V.data[U],Math.log(W[U])]})}}class E extends C{async sample(G){let D=G.dims.at(-1);this.generation_config.top_k>0&&(D=Math.min(this.generation_config.top_k,D));const[Q,V]=await(0,u.topk)(G,D),W=(0,p.softmax)(Q.data);return Array.from({length:this.generation_config.num_beams},(U,H)=>[V.data[H],Math.log(W[H])])}}},
2803"./src/generation/stopping_criteria.js":(c,a,s)=>{s.r(a),s.d(a,{EosTokenCriteria:()=>b,InterruptableStoppingCriteria:()=>k,MaxLengthCriteria:()=>C,StoppingCriteria:()=>u,StoppingCriteriaList:()=>p});var o=s("./src/utils/generic.js");class u extends o.Callable{_call(B,G){throw Error("StoppingCriteria needs to be subclassed")}}class p extends o.Callable{constructor(){super(),this.criteria=[]}push(B){this.criteria.push(B)}extend(B){B instanceof p?B=B.criteria:B instanceof u&&(B=[B]),this.criteria.push(...B)}_call(B,G){const D=new Array(B.length).fill(!1);for(const Q of this.criteria){const V=Q(B,G);for(let W=0;W<D.length;++W)D[W]||(D[W]=V[W])}return D}[Symbol.iterator](){return this.criteria.values()}}class C extends u{constructor(B,G=null){super(),this.max_length=B,this.max_position_embeddings=G}_call(B){return B.map(G=>G.length>=this.max_length)}}class b extends u{constructor(B){super(),Array.isArray(B)||(B=[B]),this.eos_token_id=B}_call(B,G){return B.map(D=>{const Q=D.at(-1);return this.eos_token_id.some(V=>Q==V)})}}class k extends u{constructor(){super(),this.interrupted=!1}interrupt(){this.interrupted=!0}reset(){this.interrupted=!1}_call(B,G){return new Array(B.length).fill(this.interrupted)}}},
2803"./src/generation/streamers.js":(c,a,s)=>{s.r(a),s.d(a,{BaseStreamer:()=>C,TextStreamer:()=>k,WhisperTextStreamer:()=>E});var o=s("./src/utils/core.js"),u=s("./src/tokenizers.js"),p=s("./src/env.js");class C{put(G){throw Error("Not implemented")}end(){throw Error("Not implemented")}}const b=p.apis.IS_PROCESS_AVAILABLE?B=>process.stdout.write(B):B=>console.log(B);class k extends C{constructor(G,{skip_prompt:D=!1,callback_function:Q=null,token_callback_function:V=null,skip_special_tokens:W=!0,decode_kwargs:U={},...H}={}){super(),this.tokenizer=G,this.skip_prompt=D,this.callback_function=Q??b,this.token_callback_function=V,this.decode_kwargs={skip_special_tokens:W,...U,...H},this.token_cache=[],this.print_len=0,this.next_tokens_are_prompt=!0}put(G){var W;if(G.length>1)throw Error("TextStreamer only supports batch size of 1");if(this.skip_prompt&&this.next_tokens_are_prompt)return void(this.next_tokens_are_prompt=!1);const D=G[0];(W=this.token_callback_function)==null||W.call(this,D),this.token_cache=(0,o.mergeArrays)(this.token_cache,D);const Q=this.tokenizer.decode(this.token_cache,this.decode_kwargs);let V;Q.endsWith(`
2804`)?(V=Q.slice(this.print_len),this.token_cache=[],this.print_len=0):Q.length>0&&(0,u.is_chinese_char)(Q.charCodeAt(Q.length-1))?(V=Q.slice(this.print_len),this.print_len+=V.length):(V=Q.slice(this.print_len,Q.lastIndexOf(" ")+1),this.print_len+=V.length),this.on_finalized_text(V,!1)}end(){let G;this.token_cache.length>0?(G=this.tokenizer.decode(this.token_cache,this.decode_kwargs).slice(this.print_len),this.token_cache=[],this.print_len=0):G="",this.next_tokens_are_prompt=!0,this.on_finalized_text(G,!0)}on_finalized_text(G,D){var Q,V;G.length>0&&((Q=this.callback_function)==null||Q.call(this,G)),D&&this.callback_function===b&&p.apis.IS_PROCESS_AVAILABLE&&((V=this.callback_function)==null||V.call(this,`
2805`))}}class E extends k{constructor(G,{skip_prompt:D=!1,callback_function:Q=null,token_callback_function:V=null,on_chunk_start:W=null,on_chunk_end:U=null,on_finalize:H=null,time_precision:K=.02,skip_special_tokens:J=!0,decode_kwargs:g={}}={}){super(G,{skip_prompt:D,skip_special_tokens:J,callback_function:Q,token_callback_function:V,decode_kwargs:g}),this.timestamp_begin=G.timestamp_begin,this.on_chunk_start=W,this.on_chunk_end=U,this.on_finalize=H,this.time_precision=K,this.waiting_for_timestamp=!1}put(G){var Q,V;if(G.length>1)throw Error("WhisperTextStreamer only supports batch size of 1");const D=G[0];if(D.length===1){const W=Number(D[0])-this.timestamp_begin;if(W>=0){const U=W*this.time_precision;this.waiting_for_timestamp?(Q=this.on_chunk_end)==null||Q.call(this,U):(V=this.on_chunk_start)==null||V.call(this,U),this.waiting_for_timestamp=!this.waiting_for_timestamp,G=[[]]}}return super.put(G)}end(){var G;super.end(),(G=this.on_finalize)==null||G.call(this)}}},
2805"./src/models.js":(c,a,s)=>{s.r(a),s.d(a,{ASTForAudioClassification:()=>Vi,ASTModel:()=>Li,ASTPreTrainedModel:()=>Aa,AlbertForMaskedLM:()=>pA,AlbertForQuestionAnswering:()=>gt,AlbertForSequenceClassification:()=>lA,AlbertModel:()=>Rt,AlbertPreTrainedModel:()=>vt,AutoModel:()=>zu,AutoModelForAudioClassification:()=>m1,AutoModelForAudioFrameClassification:()=>C1,AutoModelForCTC:()=>A2,AutoModelForCausalLM:()=>f1,AutoModelForDepthEstimation:()=>s2,AutoModelForDocumentQuestionAnswering:()=>_0,AutoModelForImageClassification:()=>h0,AutoModelForImageFeatureExtraction:()=>k1,AutoModelForImageMatting:()=>r2,AutoModelForImageSegmentation:()=>d1,AutoModelForImageToImage:()=>I1,AutoModelForMaskGeneration:()=>p1,AutoModelForMaskedLM:()=>va,AutoModelForNormalEstimation:()=>a2,AutoModelForObjectDetection:()=>t2,AutoModelForPoseEstimation:()=>w1,AutoModelForQuestionAnswering:()=>yr,AutoModelForSemanticSegmentation:()=>e2,AutoModelForSeq2SeqLM:()=>Ou,AutoModelForSequenceClassification:()=>u1,AutoModelForSpeechSeq2Seq:()=>qo,AutoModelForTextToSpectrogram:()=>Fu,AutoModelForTextToWaveform:()=>$c,AutoModelForTokenClassification:()=>hr,AutoModelForUniversalSegmentation:()=>g1,AutoModelForVision2Seq:()=>Qr,AutoModelForXVector:()=>b1,AutoModelForZeroShotObjectDetection:()=>h1,BartForConditionalGeneration:()=>ts,BartForSequenceClassification:()=>PA,BartModel:()=>Bs,BartPretrainedModel:()=>ba,BaseModelOutput:()=>Bt,BeitForImageClassification:()=>$e,BeitModel:()=>Ve,BeitPreTrainedModel:()=>_e,BertForMaskedLM:()=>oe,BertForQuestionAnswering:()=>fe,BertForSequenceClassification:()=>zt,BertForTokenClassification:()=>ke,BertModel:()=>St,BertPreTrainedModel:()=>Ot,BlenderbotForConditionalGeneration:()=>os,BlenderbotModel:()=>ks,BlenderbotPreTrainedModel:()=>Ds,BlenderbotSmallForConditionalGeneration:()=>yi,BlenderbotSmallModel:()=>As,BlenderbotSmallPreTrainedModel:()=>Tr,BloomForCausalLM:()=>Dn,BloomModel:()=>ko,BloomPreTrainedModel:()=>Ko,CLIPModel:()=>kA,CLIPPreTrainedModel:()=>yn,CLIPSegForImageSegmentation:()=>ua,CLIPSegModel:()=>wA,CLIPSegPreTrainedModel:()=>gi,CLIPTextModel:()=>lo,CLIPTextModelWithProjection:()=>co,CLIPVisionModel:()=>ra,CLIPVisionModelWithProjection:()=>js,CamembertForMaskedLM:()=>MA,CamembertForQuestionAnswering:()=>FA,CamembertForSequenceClassification:()=>QA,CamembertForTokenClassification:()=>ZA,CamembertModel:()=>Tt,CamembertPreTrainedModel:()=>Vr,CausalLMOutput:()=>Z0,CausalLMOutputWithPast:()=>sf,ChineseCLIPModel:()=>Ho,ChineseCLIPPreTrainedModel:()=>Xn,ClapAudioModelWithProjection:()=>Z2,ClapModel:()=>U2,ClapPreTrainedModel:()=>ac,ClapTextModelWithProjection:()=>K2,CodeGenForCausalLM:()=>$n,CodeGenModel:()=>fa,CodeGenPreTrainedModel:()=>On,CohereForCausalLM:()=>_i,CohereModel:()=>Ka,CoherePreTrainedModel:()=>Ua,ConvBertForMaskedLM:()=>mA,ConvBertForQuestionAnswering:()=>CA,ConvBertForSequenceClassification:()=>AA,ConvBertForTokenClassification:()=>gr,ConvBertModel:()=>Gt,ConvBertPreTrainedModel:()=>vA,ConvNextForImageClassification:()=>I0,ConvNextModel:()=>Il,ConvNextPreTrainedModel:()=>W0,ConvNextV2ForImageClassification:()=>kl,ConvNextV2Model:()=>wl,ConvNextV2PreTrainedModel:()=>U0,DPTForDepthEstimation:()=>Xo,DPTModel:()=>Qi,DPTPreTrainedModel:()=>Ao,DebertaForMaskedLM:()=>Er,DebertaForQuestionAnswering:()=>nr,DebertaForSequenceClassification:()=>Dr,DebertaForTokenClassification:()=>Vs,DebertaModel:()=>Rr,DebertaPreTrainedModel:()=>EA,DebertaV2ForMaskedLM:()=>Ja,DebertaV2ForQuestionAnswering:()=>$a,DebertaV2ForSequenceClassification:()=>ma,DebertaV2ForTokenClassification:()=>Qa,DebertaV2Model:()=>xa,DebertaV2PreTrainedModel:()=>qs,DecisionTransformerModel:()=>du,DecisionTransformerPreTrainedModel:()=>fu,DeiTForImageClassification:()=>Ms,DeiTModel:()=>xs,DeiTPreTrainedModel:()=>as,DepthAnythingForDepthEstimation:()=>l0,DepthAnythingPreTrainedModel:()=>o0,DepthProForDepthEstimation:()=>hl,DepthProPreTrainedModel:()=>m0,DetrForObjectDetection:()=>yt,DetrForSegmentation:()=>Pt,DetrModel:()=>ht,DetrObjectDetectionOutput:()=>Wt,DetrPreTrainedModel:()=>it,DetrSegmentationOutput:()=>cA,Dinov2ForImageClassification:()=>Pi,Dinov2Model:()=>vl,Dinov2PreTrainedModel:()=>c0,Dinov2WithRegistersForImageClassification:()=>Ni,Dinov2WithRegistersModel:()=>so,Dinov2WithRegistersPreTrainedModel:()=>Si,DistilBertForMaskedLM:()=>Br,DistilBertForQuestionAnswering:()=>Ma,DistilBertForSequenceClassification:()=>oa,DistilBertForTokenClassification:()=>Yn,DistilBertModel:()=>en,DistilBertPreTrainedModel:()=>ds,DonutSwinModel:()=>Cl,DonutSwinPreTrainedModel:()=>C0,EfficientNetForImageClassification:()=>Au,EfficientNetModel:()=>tu,EfficientNetPreTrainedModel:()=>
2805Qc,ElectraForMaskedLM:()=>iA,ElectraForQuestionAnswering:()=>Fr,ElectraForSequenceClassification:()=>qt,ElectraForTokenClassification:()=>zA,ElectraModel:()=>tA,ElectraPreTrainedModel:()=>NA,EsmForMaskedLM:()=>Rn,EsmForSequenceClassification:()=>Oi,EsmForTokenClassification:()=>Ra,EsmModel:()=>cn,EsmPreTrainedModel:()=>Hr,ExaoneForCausalLM:()=>gn,ExaoneModel:()=>mo,ExaonePreTrainedModel:()=>ei,FalconForCausalLM:()=>W2,FalconModel:()=>Gc,FalconPreTrainedModel:()=>Dc,FastViTForImageClassification:()=>r,FastViTModel:()=>A,FastViTPreTrainedModel:()=>t,Florence2ForConditionalGeneration:()=>Zn,Florence2PreTrainedModel:()=>An,GLPNForDepthEstimation:()=>bl,GLPNModel:()=>ml,GLPNPreTrainedModel:()=>j0,GPT2LMHeadModel:()=>fn,GPT2Model:()=>qn,GPT2PreTrainedModel:()=>To,GPTBigCodeForCausalLM:()=>Ws,GPTBigCodeModel:()=>po,GPTBigCodePreTrainedModel:()=>Na,GPTJForCausalLM:()=>Gi,GPTJModel:()=>wr,GPTJPreTrainedModel:()=>rr,GPTNeoForCausalLM:()=>ho,GPTNeoModel:()=>ji,GPTNeoPreTrainedModel:()=>zn,GPTNeoXForCausalLM:()=>Jn,GPTNeoXModel:()=>Ro,GPTNeoXPreTrainedModel:()=>Ts,Gemma2ForCausalLM:()=>qi,Gemma2Model:()=>Ca,Gemma2PreTrainedModel:()=>rn,GemmaForCausalLM:()=>Co,GemmaModel:()=>Bn,GemmaPreTrainedModel:()=>pn,GlmForCausalLM:()=>za,GlmModel:()=>Us,GlmPreTrainedModel:()=>jo,GraniteForCausalLM:()=>Xi,GraniteModel:()=>Uo,GranitePreTrainedModel:()=>rs,GroundingDinoForObjectDetection:()=>El,GroundingDinoPreTrainedModel:()=>yl,GroupViTModel:()=>LA,GroupViTPreTrainedModel:()=>Ci,HeliumForCausalLM:()=>sa,HeliumModel:()=>Zr,HeliumPreTrainedModel:()=>Ui,HieraForImageClassification:()=>ga,HieraModel:()=>Os,HieraPreTrainedModel:()=>zs,HubertForCTC:()=>T2,HubertForSequenceClassification:()=>Q2,HubertModel:()=>_2,HubertPreTrainedModel:()=>e1,IJepaForImageClassification:()=>In,IJepaModel:()=>Ai,IJepaPreTrainedModel:()=>bi,Idefics3ForConditionalGeneration:()=>_o,Idefics3PreTrainedModel:()=>oo,ImageMattingOutput:()=>y1,JAISLMHeadModel:()=>go,JAISModel:()=>Yo,JAISPreTrainedModel:()=>fo,JinaCLIPModel:()=>un,JinaCLIPPreTrainedModel:()=>En,JinaCLIPTextModel:()=>Ri,JinaCLIPVisionModel:()=>Di,LlamaForCausalLM:()=>s0,LlamaModel:()=>dn,LlamaPreTrainedModel:()=>Wi,LlavaForConditionalGeneration:()=>Yi,LlavaOnevisionForConditionalGeneration:()=>Gs,LlavaPreTrainedModel:()=>xi,LongT5ForConditionalGeneration:()=>ir,LongT5Model:()=>Or,LongT5PreTrainedModel:()=>Gr,M2M100ForConditionalGeneration:()=>So,M2M100Model:()=>Tl,M2M100PreTrainedModel:()=>v0,MBartForCausalLM:()=>Ss,MBartForConditionalGeneration:()=>TA,MBartForSequenceClassification:()=>Js,MBartModel:()=>Yt,MBartPreTrainedModel:()=>Kr,MPNetForMaskedLM:()=>Pa,MPNetForQuestionAnswering:()=>Wa,MPNetForSequenceClassification:()=>ci,MPNetForTokenClassification:()=>tn,MPNetModel:()=>vi,MPNetPreTrainedModel:()=>la,MT5ForConditionalGeneration:()=>_r,MT5Model:()=>_A,MT5PreTrainedModel:()=>IA,MarianMTModel:()=>_l,MarianModel:()=>k0,MarianPreTrainedModel:()=>nn,MaskFormerForInstanceSegmentation:()=>b0,MaskFormerModel:()=>pl,MaskFormerPreTrainedModel:()=>R0,MaskedLMOutput:()=>_n,MgpstrForSceneTextRecognition:()=>bu,MgpstrModelOutput:()=>pu,MgpstrPreTrainedModel:()=>mu,MistralForCausalLM:()=>R2,MistralModel:()=>Bc,MistralPreTrainedModel:()=>sc,MobileBertForMaskedLM:()=>ja,MobileBertForQuestionAnswering:()=>fr,MobileBertForSequenceClassification:()=>$A,MobileBertModel:()=>Tn,MobileBertPreTrainedModel:()=>jn,MobileLLMForCausalLM:()=>aa,MobileLLMModel:()=>Ki,MobileLLMPreTrainedModel:()=>Wo,MobileNetV1ForImageClassification:()=>au,MobileNetV1Model:()=>su,MobileNetV1PreTrainedModel:()=>Nc,MobileNetV2ForImageClassification:()=>iu,MobileNetV2Model:()=>nu,MobileNetV2PreTrainedModel:()=>zc,MobileNetV3ForImageClassification:()=>lu,MobileNetV3Model:()=>ou,MobileNetV3PreTrainedModel:()=>ic,MobileNetV4ForImageClassification:()=>uu,MobileNetV4Model:()=>cu,MobileNetV4PreTrainedModel:()=>Oc,MobileViTForImageClassification:()=>m,MobileViTModel:()=>h,MobileViTPreTrainedModel:()=>l,MobileViTV2ForImageClassification:()=>y,MobileViTV2Model:()=>M,MobileViTV2PreTrainedModel:()=>w,ModelOutput:()=>rt,ModernBertForMaskedLM:()=>st,ModernBertForSequenceClassification:()=>lt,ModernBertForTokenClassification:()=>xt,ModernBertModel:()=>Je,ModernBertPreTrainedModel:()=>Qe,Moondream1ForConditionalGeneration:()=>fi,MoonshineForConditionalGeneration:()=>ca,MoonshineModel:()=>Bi,MoonshinePreTrainedModel:()=>Hi,MptForCausalLM:()=>Cn,MptModel:()=>an,MptPreTrainedModel:()=>mi,MultiModalityCausalLM:()=>hu,MultiModalityPreTrainedModel:()=>gu,MusicgenForCausalLM:()=>A1,MusicgenForConditionalGeneration:()=>Sc,MusicgenModel:()=>ru,MusicgenPreTrainedModel:()=>Pc,NomicBertModel:()=>$t,NomicBertPreTrainedModel:()=>jt,OPTForCausalLM:()=>vr,OPTModel:()=>Hs,OPTPreTrainedModel:()=>vo,Olmo2ForCausalLM:()=>Zi,Olmo2Model:()=>ti,Olmo2PreTrainedModel:()=>hn,OlmoForCausalLM:()=>bo,OlmoModel:()=>a0,OlmoPreTrainedModel:()=>da,OpenELMForCausalLM:()=>n0,OpenELMModel:()=>xn,OpenELMPreTrainedModel:()=>Io,OwlViTForObjectDetection:()=>ee,OwlViTModel:()=>R,OwlViTPreTrainedModel:()=>P,Owlv2ForObjectDetection:()=>be,Owlv2Model:()=>ue,Owlv2PreTrainedModel:()=>ae,PaliGemmaForConditionalGeneration:()=>Pn,PaliGemmaPreTrainedModel:()=>Mi,PatchTSMixerForPrediction:()=>Iu,PatchTSMixerModel:()=>Vc,PatchTSMixerPreTrainedModel:()=>Lc,PatchTSTForPrediction:()=>Wl,PatchTSTModel:()=>Cu,PatchTSTPreTrainedModel:()=>Fc,Phi3ForCausalLM:()=>Mn,Phi3Model:()=>pi,Phi3PreTrainedModel:()=>hi,Phi3VForCausalLM:()=>uA,Phi3VPreTrainedModel:()=>Sn,PhiForCausalLM:()=>bn,PhiModel:()=>ss,PhiPreTrainedModel:()=>mn,PreTrainedModel:()=>ze,PretrainedMixin:()=>Is,PvtForImageClassification:()=>Ti,PvtModel:()=>$i,PvtPreTrainedModel:()=>wn,PyAnnoteForAudioFrameClassification:()=>zl,PyAnnoteModel:()=>Nl,PyAnnotePreTrainedModel:()=>E0,QuestionAnsweringModelOutput:()=>ri,Qwen2ForCausalLM:()=>Ia,Qwen2Model:()=>Za,Qwen2PreTrainedModel:()=>Ks,Qwen2VLForConditionalGeneration:()=>sn,Qwen2VLPreTrainedModel:()=>wo,RTDetrForObjectDetection:()=>VA,RTDetrModel:()=>SA,RTDetrObjectDetectionOutput:()=>qA,RTDetrPreTrainedModel:()=>
2805gA,ResNetForImageClassification:()=>pa,ResNetModel:()=>ha,ResNetPreTrainedModel:()=>na,RoFormerForMaskedLM:()=>eA,RoFormerForQuestionAnswering:()=>bA,RoFormerForSequenceClassification:()=>nA,RoFormerForTokenClassification:()=>aA,RoFormerModel:()=>dA,RoFormerPreTrainedModel:()=>Ft,RobertaForMaskedLM:()=>$s,RobertaForQuestionAnswering:()=>ea,RobertaForSequenceClassification:()=>Ei,RobertaForTokenClassification:()=>or,RobertaModel:()=>Qn,RobertaPreTrainedModel:()=>Da,SamImageSegmentationOutput:()=>Gl,SamModel:()=>Dl,SamPreTrainedModel:()=>w0,SapiensForDepthEstimation:()=>dl,SapiensForNormalEstimation:()=>gl,SapiensForSemanticSegmentation:()=>fl,SapiensPreTrainedModel:()=>ro,SegformerForImageClassification:()=>q2,SegformerForSemanticSegmentation:()=>J2,SegformerModel:()=>t1,SegformerPreTrainedModel:()=>nc,Seq2SeqLMOutput:()=>rf,SequenceClassifierOutput:()=>xr,SiglipModel:()=>di,SiglipPreTrainedModel:()=>Nn,SiglipTextModel:()=>uo,SiglipVisionModel:()=>_s,SpeechT5ForSpeechToText:()=>vc,SpeechT5ForTextToSpeech:()=>yc,SpeechT5HifiGan:()=>Ec,SpeechT5Model:()=>V2,SpeechT5PreTrainedModel:()=>D0,SqueezeBertForMaskedLM:()=>qe,SqueezeBertForQuestionAnswering:()=>mt,SqueezeBertForSequenceClassification:()=>ut,SqueezeBertModel:()=>Ee,SqueezeBertPreTrainedModel:()=>_t,StableLmForCausalLM:()=>eu,StableLmModel:()=>$2,StableLmPreTrainedModel:()=>Tc,Starcoder2ForCausalLM:()=>j2,Starcoder2Model:()=>Mc,Starcoder2PreTrainedModel:()=>xc,StyleTextToSpeech2Model:()=>L2,StyleTextToSpeech2PreTrainedModel:()=>F2,Swin2SRForImageSuperResolution:()=>to,Swin2SRModel:()=>yo,Swin2SRPreTrainedModel:()=>Vn,SwinForImageClassification:()=>Ln,SwinModel:()=>Fn,SwinPreTrainedModel:()=>Gn,T5ForConditionalGeneration:()=>jr,T5Model:()=>sr,T5PreTrainedModel:()=>oA,TableTransformerForObjectDetection:()=>Xr,TableTransformerModel:()=>Yr,TableTransformerObjectDetectionOutput:()=>ls,TableTransformerPreTrainedModel:()=>Cr,TokenClassifierOutput:()=>kn,TrOCRForCausalLM:()=>Y2,TrOCRPreTrainedModel:()=>H2,UniSpeechForCTC:()=>d0,UniSpeechForSequenceClassification:()=>Ll,UniSpeechModel:()=>Fl,UniSpeechPreTrainedModel:()=>f0,UniSpeechSatForAudioFrameClassification:()=>Yl,UniSpeechSatForCTC:()=>Hl,UniSpeechSatForSequenceClassification:()=>x0,UniSpeechSatModel:()=>Vl,UniSpeechSatPreTrainedModel:()=>g0,ViTForImageClassification:()=>wa,ViTMAEModel:()=>Zo,ViTMAEPreTrainedModel:()=>gs,ViTMSNForImageClassification:()=>i0,ViTMSNModel:()=>Ga,ViTMSNPreTrainedModel:()=>eo,ViTModel:()=>Qo,ViTPreTrainedModel:()=>Ji,VisionEncoderDecoderModel:()=>Wr,VitMatteForImageMatting:()=>i,VitMattePreTrainedModel:()=>n,VitPoseForPoseEstimation:()=>Po,VitPosePreTrainedModel:()=>ka,VitsModel:()=>_c,VitsModelOutput:()=>E1,VitsPreTrainedModel:()=>X2,Wav2Vec2BertForCTC:()=>jl,Wav2Vec2BertForSequenceClassification:()=>G2,Wav2Vec2BertModel:()=>Rl,Wav2Vec2BertPreTrainedModel:()=>M0,Wav2Vec2ForAudioFrameClassification:()=>Sl,Wav2Vec2ForCTC:()=>Pl,Wav2Vec2ForSequenceClassification:()=>y0,Wav2Vec2Model:()=>Ql,Wav2Vec2PreTrainedModel:()=>Eo,WavLMForAudioFrameClassification:()=>O2,WavLMForCTC:()=>S2,WavLMForSequenceClassification:()=>N2,WavLMForXVector:()=>z2,WavLMModel:()=>P2,WavLMPreTrainedModel:()=>K0,WeSpeakerResNetModel:()=>Ol,WeSpeakerResNetPreTrainedModel:()=>B0,WhisperForConditionalGeneration:()=>Vo,WhisperModel:()=>Kn,WhisperPreTrainedModel:()=>Go,XLMForQuestionAnswering:()=>Wn,XLMForSequenceClassification:()=>ui,XLMForTokenClassification:()=>Fi,XLMModel:()=>Fo,XLMPreTrainedModel:()=>ta,XLMRobertaForMaskedLM:()=>vn,XLMRobertaForQuestionAnswering:()=>BA,XLMRobertaForSequenceClassification:()=>Sa,XLMRobertaForTokenClassification:()=>Ns,XLMRobertaModel:()=>Lo,XLMRobertaPreTrainedModel:()=>Un,XLMWithLMHeadModel:()=>io,XVectorOutput:()=>v1,YolosForObjectDetection:()=>xl,YolosModel:()=>Bl,YolosObjectDetectionOutput:()=>Ml,YolosPreTrainedModel:()=>u0});var o=s("./src/configs.js"),u=s("./src/backends/onnx.js"),p=s("./src/utils/dtypes.js"),C=s("./src/utils/generic.js"),b=s("./src/utils/core.js"),k=s("./src/utils/hub.js"),E=s("./src/utils/constants.js"),B=s("./src/generation/logits_process.js"),G=s("./src/generation/configuration_utils.js"),D=s("./src/utils/tensor.js"),Q=s("./src/utils/image.js"),V=s("./src/utils/maths.js"),W=s("./src/generation/stopping_criteria.js"),U=s("./src/generation/logits_sampler.js"),H=s("./src/env.js"),K=s("./src/models/whisper/generation_whisper.js"),J=s("./src/models/whisper/common_whisper.js");const g=0,v=1,e=2,d=3,_=4,re=5,S=6,F=7,Ie=8,he=9,ce=new Map,ge=new Map,Ce=new Map;async function Fe(le,xe,Ye){return Object.fromEntries(await Promise.all(Object.keys(xe).map(async Et=>{const{buffer:Ht,session_options:Vt,session_config:rA}=await async function(DA,GA,yA){var Ii;const OA=((Ii=yA.config)==null?void 0:Ii["transformers.js_config"])??{};let XA=yA.device??OA.device;XA&&typeof XA!="string"&&(XA.hasOwnProperty(GA)?XA=XA[GA]:(console.warn(`device not specified for "${GA}". Using the default device.`),XA=null));const pr=XA??(H.apis.IS_NODE_ENV?"cpu":"wasm"),cs=(0,u.deviceToExecutionProviders)(pr);let br=yA.dtype??OA.dtype;if(typeof br!="string"&&(br&&br.hasOwnProperty(GA)?br=br[GA]:(br=p.DEFAULT_DEVICE_DTYPE_MAPPING[pr]??p.DATA_TYPES.fp32,console.warn(`dtype not specified for "${GA}". Using the default dtype (${br}) for this device (${pr}).`))),br===p.DATA_TYPES.auto){let vs=OA.dtype;
2805typeof vs!="string"&&(vs=vs[GA]),br=vs&&vs!==p.DATA_TYPES.auto&&p.DATA_TYPES.hasOwnProperty(vs)?vs:p.DEFAULT_DEVICE_DTYPE_MAPPING[pr]??p.DATA_TYPES.fp32}const Mr=br;if(!p.DEFAULT_DTYPE_SUFFIX_MAPPING.hasOwnProperty(Mr))throw new Error(`Invalid dtype: ${Mr}. Should be one of: ${Object.keys(p.DATA_TYPES).join(", ")}`);if(Mr===p.DATA_TYPES.fp16&&pr==="webgpu"&&!await(0,p.isWebGpuFp16Supported)())throw new Error(`The device (${pr}) does not support fp16.`);const Pr=OA.kv_cache_dtype?typeof OA.kv_cache_dtype=="string"?OA.kv_cache_dtype:OA.kv_cache_dtype[Mr]??"float32":void 0;if(Pr&&!["float32","float16"].includes(Pr))throw new Error(`Invalid kv_cache_dtype: ${Pr}. Should be one of: float32, float16`);const us={dtype:Mr,kv_cache_dtype:Pr},Zs=p.DEFAULT_DTYPE_SUFFIX_MAPPING[Mr],ia=`${yA.subfolder??""}/${GA}${Zs}.onnx`,Fs={...yA.session_options};Fs.executionProviders??(Fs.executionProviders=cs);const Xa=OA.free_dimension_overrides;Xa?Fs.freeDimensionOverrides??(Fs.freeDimensionOverrides=Xa):pr.startsWith("webnn")&&!Fs.freeDimensionOverrides&&console.warn('WebNN does not currently support dynamic shapes and requires `free_dimension_overrides` to be set in config.json as a field within "transformers.js_config". When `free_dimension_overrides` is not set, you may experience significant performance degradation.');const Oa=(0,k.getModelFile)(DA,ia,!0,yA),Fa=yA.use_external_data_format??OA.use_external_data_format;let _a=[];if(Fa&&(Fa===!0||typeof Fa=="object"&&Fa.hasOwnProperty(GA)&&Fa[GA]===!0)){if(H.apis.IS_NODE_ENV)throw new Error("External data format is not yet supported in Node.js");const vs=`${GA}${Zs}.onnx_data`,si=`${yA.subfolder??""}/${vs}`;_a.push(new Promise(async(T0,X0)=>{const Q0=await(0,k.getModelFile)(DA,si,!0,yA);T0({path:vs,data:Q0})}))}else Fs.externalData!==void 0&&(_a=Fs.externalData.map(async vs=>
2805{if(typeof vs.data=="string"){const si=await(0,k.getModelFile)(DA,vs.data,!0,yA);return{...vs,data:si}}return vs}));if(_a.length>0&&(Fs.externalData=await Promise.all(_a)),pr==="webgpu"){const vs=(0,o.getKeyValueShapes)(yA.config,{prefix:"present"});if(Object.keys(vs).length>0&&!(0,u.isONNXProxy)()){const si={};for(const T0 in vs)si[T0]="gpu-buffer";Fs.preferredOutputLocation=si}}return{buffer:await Oa,session_options:Fs,session_config:us}}(le,xe[Et],Ye);return[Et,await(0,u.createInferenceSession)(Ht,Vt,rA)]})))}async function Pe(le,xe,Ye){return Object.fromEntries(await Promise.all(Object.keys(xe).map(async Et=>[Et,await(0,k.getModelJSON)(le,xe[Et],!1,Ye)])))}async function de(le,xe){const Ye=function(Et,Ht){const Vt=Object.create(null),rA=[];for(const yA of Et.inputNames){const OA=Ht[yA];OA instanceof D.Tensor?Vt[yA]=(0,u.isONNXProxy)()?OA.clone():OA:rA.push(yA)}if(rA.length>0)throw new Error(`An error occurred during model execution: "Missing the following inputs: ${rA.join(", ")}.`);const DA=Object.keys(Ht).length,GA=Et.inputNames.length;if(DA>GA){let yA=Object.keys(Ht).filter(OA=>!Et.inputNames.includes(OA));console.warn(`WARNING: Too many inputs were provided (${DA} > ${GA}). The following inputs will be ignored: "${yA.join(", ")}".`)}return Vt}(le,xe);try{const Et=Object.fromEntries(Object.entries(Ye).map(([Vt,rA])=>[Vt,rA.ort_tensor]));let Ht=await le.run(Et);return Ht=pe(Ht),Ht}catch(Et){const Ht=Object.fromEntries(Object.entries(Ye).map(([Vt,{type:rA,dims:DA,data:GA}])=>[Vt,{type:rA,dims:DA,data:GA}]));throw console.error(`An error occurred during model execution: "${Et}".`),console.error("Inputs given to model:",Ht),Et}}function pe(le){for(let xe in le)(0,u.isONNXTensor)(le[xe])?le[xe]=new D.Tensor(le[xe]):typeof le[xe]=="object"&&pe(le[xe]);return le}function we(le){if(le instanceof D.Tensor)return le;if(le.length===0)throw Error("items must be non-empty");if(Array.isArray(le[0])){if(le.some(xe=>xe.length!==le[0].length))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' and/or 'truncation=True' to have batched tensors with the same length.");return new D.Tensor("int64",BigInt64Array.from(le.flat().map(xe=>BigInt(xe))),[le.length,le[0].length])}return new D.Tensor("int64",BigInt64Array.from(le.map(xe=>BigInt(xe))),[1,le.length])}function Ge(le){return new D.Tensor("bool",[le],[1])}async function me(le,xe){let{encoder_outputs:Ye,input_ids:Et,decoder_input_ids:Ht,...Vt}=xe;if(!Ye){const rA=(0,b.pick)(xe,le.sessions.model.inputNames);Ye=(await at(le,rA)).last_hidden_state}return Vt.input_ids=Ht,Vt.encoder_hidden_states=Ye,le.sessions.decoder_model_merged.inputNames.includes("encoder_attention_mask")&&(Vt.encoder_attention_mask=xe.attention_mask),await Ue(le,Vt,!0)}async function at(le,xe){const Ye=le.sessions.model,Et=(0,b.pick)(xe,Ye.inputNames);if(Ye.inputNames.includes("inputs_embeds")&&!Et.inputs_embeds){if(!xe.input_ids)throw new Error("Both `input_ids` and `inputs_embeds` are missing in the model inputs.");Et.inputs_embeds=await le.encode_text({input_ids:xe.input_ids})}if(Ye.inputNames.includes("token_type_ids")&&!Et.token_type_ids){if(!Et.input_ids)throw new Error("Both `input_ids` and `token_type_ids` are missing in the model inputs.");Et.token_type_ids=(0,D.zeros_like)(Et.input_ids)}if(Ye.inputNames.includes("pixel_mask")&&!Et.pixel_mask){if(!Et.pixel_values)throw new Error("Both `pixel_values` and `pixel_mask` are missing in the model inputs.");const Ht=Et.pixel_values.dims;Et.pixel_mask=(0,D.ones)([Ht[0],Ht[2],Ht[3]])}return await de(Ye,Et)}async function Ue(le,xe,Ye=!1){const Et=le.sessions[Ye?"decoder_model_merged":"model"],{past_key_values:Ht,...Vt}=xe;if(Et.inputNames.includes("use_cache_branch")&&(Vt.use_cache_branch=Ge(!!Ht)),Et.inputNames.includes("position_ids")&&Vt.attention_mask&&!Vt.position_ids){const DA=le.config.model_type==="paligemma"?1:0;Vt.position_ids=function(GA,yA=null,OA=0){const{input_ids:XA,inputs_embeds:pr,attention_mask:cs}=GA,{data:br,dims:Mr}=ct(cs,OA);let Pr=new D.Tensor("int64",br,Mr);if(yA){const us=-(XA??pr).dims.at(1);Pr=Pr.slice(null,[us,null])}return Pr}(Vt,Ht,DA)}le.addPastKeyValues(Vt,Ht);const rA=(0,b.pick)(Vt,Et.inputNames);return await de(Et,rA)}function ot({image_token_id:le,inputs_embeds:xe,image_features:Ye,input_ids:Et,attention_mask:Ht}){const Vt=Et.tolist().map(yA=>yA.reduce((OA,XA,pr)=>(XA==le&&OA.push(pr),OA),[])),rA=Vt.reduce((yA,OA)=>yA+OA.length,0),DA=Ye.dims[0];if(rA!==DA)throw new Error(`Image features and image tokens do n
2805ot match: tokens: ${rA}, features ${DA}`);let GA=0;for(let yA=0;yA<Vt.length;++yA){const OA=Vt[yA],XA=xe[yA];for(let pr=0;pr<OA.length;++pr)XA[OA[pr]].data.set(Ye[GA++].data)}return{inputs_embeds:xe,attention_mask:Ht}}async function pt(le,{input_ids:xe=null,attention_mask:Ye=null,pixel_values:Et=null,position_ids:Ht=null,inputs_embeds:Vt=null,past_key_values:rA=null,generation_config:DA=null,logits_processor:GA=null,...yA}){if(!Vt){if(Vt=await le.encode_text({input_ids:xe,...yA}),Et&&xe.dims[1]!==1){const OA=await le.encode_image({pixel_values:Et,...yA});({inputs_embeds:Vt,attention_mask:Ye}=le._merge_input_ids_with_image_features({image_features:OA,inputs_embeds:Vt,input_ids:xe,attention_mask:Ye}))}else if(rA&&Et&&xe.dims[1]===1){const OA=xe.dims[1],XA=Object.values(rA)[0].dims.at(-2);Ye=(0,D.cat)([(0,D.ones)([xe.dims[0],XA]),Ye.slice(null,[Ye.dims[1]-OA,Ye.dims[1]])],1)}}if(!Ht&&le.config.model_type==="qwen2_vl"){const{image_grid_thw:OA,video_grid_thw:XA}=yA;[Ht]=le.get_rope_index(xe,OA,XA,Ye)}return await Ue(le,{inputs_embeds:Vt,past_key_values:rA,attention_mask:Ye,position_ids:Ht,generation_config:DA,logits_processor:GA},!0)}function ct(le,xe=0){const[Ye,Et]=le.dims,Ht=le.data,Vt=new BigInt64Array(Ht.length);for(let rA=0;rA<Ye;++rA){const DA=rA*Et;let GA=BigInt(xe);for(let yA=0;yA<Et;++yA){const OA=DA+yA;Ht[OA]===0n?Vt[OA]=BigInt(1):(Vt[OA]=GA,GA+=Ht[OA])}}return{data:Vt,dims:le.dims}}function je(le,xe,Ye,Et){if(Ye.past_key_values){const Ht=Object.values(Ye.past_key_values)[0].dims.at(-2),{input_ids:Vt,attention_mask:rA}=Ye;if(!(rA&&rA.dims[1]>Vt.dims[1])){if(Ht<Vt.dims[1])Ye.input_ids=Vt.slice(null,[Ht,null]);else if(le.config.image_token_index!=null&&Vt.data.some(DA=>DA==le.config.image_token_index)){const DA=le.config.num_image_tokens;if(!DA)throw new Error("`num_image_tokens` is missing in the model configuration.");const GA=Vt.dims[1]-(Ht-DA);Ye.input_ids=Vt.slice(null,[-GA,null]),Ye.attention_mask=(0,D.ones)([1,Ht+GA])}}}return Ye}function At(le,xe,Ye,Et){return Ye.past_key_values&&(xe=xe.map(Ht=>[Ht.at(-1)])),{...Ye,decoder_input_ids:we(xe)}}function It(le,...xe){return le.config.is_encoder_decoder?At(le,...xe):je(le,...xe)}function wt(le,xe,Ye,Et){const Ht=!!Ye.past_key_values;
2805return Et.guidance_scale!==null&&Et.guidance_scale>1&&(Ht?Ye.input_ids=(0,D.cat)([Ye.input_ids,Ye.input_ids],0):(Ye.input_ids=(0,D.cat)([Ye.input_ids,(0,D.full_like)(Ye.input_ids,BigInt(Et.pad_token_id))],0),Ye.attention_mask=(0,D.cat)([Ye.attention_mask,(0,D.full_like)(Ye.attention_mask,0n)],0))),!Ht&&Ye.pixel_values||(Ye.pixel_values=(0,D.full)([0,0,3,384,384],1)),Ht&&(Ye.images_seq_mask=new D.Tensor("bool",new Array(1).fill(!0).fill(!1,0,1),[1,1]),Ye.images_emb_mask=new D.Tensor("bool",new Array(0).fill(!1),[1,1,0])),Ye}class ze extends C.Callable{constructor(Ye,Et,Ht){super();Ct(this,"main_input_name","input_ids");Ct(this,"forward_params",["input_ids","attention_mask"]);this.config=Ye,this.sessions=Et,this.configs=Ht;const Vt=Ce.get(this.constructor),rA=ce.get(Vt);switch(this.can_generate=!1,this._forward=null,this._prepare_inputs_for_generation=null,rA){case _:this.can_generate=!0,this._forward=Ue,this._prepare_inputs_for_generation=je;break;case e:case d:case F:this.can_generate=!0,this._forward=me,this._prepare_inputs_for_generation=At;break;case v:this._forward=me;break;case S:this.can_generate=!0,this._forward=pt,this._prepare_inputs_for_generation=It;break;case he:this.can_generate=!0,this._prepare_inputs_for_generation=It;break;case Ie:this.can_generate=!0,this._prepare_inputs_for_generation=wt;break;default:this._forward=at}this.can_generate&&this.forward_params.push("past_key_values"),this.custom_config=this.config["transformers.js_config"]??{}}async dispose(){var Et;const Ye=[];for(const Ht of Object.values(this.sessions))(Et=Ht==null?void 0:Ht.handler)!=null&&Et.dispose&&Ye.push(Ht.handler.dispose());return await Promise.all(Ye)}static async from_pretrained(Ye,{progress_callback:Et=null,config:Ht=null,cache_dir:Vt=null,local_files_only:rA=!1,revision:DA="main",model_file_name:GA=null,subfolder:yA="onnx",device:OA=null,dtype:XA=null,use_external_data_format:pr=null,session_options:cs={}}={}){let br={progress_callback:Et,config:Ht,cache_dir:Vt,local_files_only:rA,revision:DA,model_file_name:GA,subfolder:yA,device:OA,dtype:XA,use_external_data_format:pr,session_options:cs};const Mr=Ce.get(this),Pr=ce.get(Mr);let us;if(Ht=br.config=await o.AutoConfig.from_pretrained(Ye,br),Pr===_)us=await Promise.all([Fe(Ye,{model:br.model_file_name??"model"},br),Pe(Ye,{generation_config:"generation_config.json"},br)]);else if(Pr===e||Pr===d)us=await Promise.all([Fe(Ye,{model:"encoder_model",decoder_model_merged:"decoder_model_merged"},br),Pe(Ye,{generation_config:"generation_config.json"},br)]);else if(Pr===re)us=await Promise.all([Fe(Ye,{model:"vision_encoder",prompt_encoder_mask_decoder:"prompt_encoder_mask_decoder"},br)]);else if(Pr===v)us=await Promise.all([Fe(Ye,{model:"encoder_model",decoder_model_merged:"decoder_model_merged"},br)]);else if(Pr===S){const Zs={embed_tokens:"embed_tokens",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"};Ht.is_encoder_decoder&&(Zs.model="encoder_model"),us=await Promise.all([Fe(Ye,Zs,br),Pe(Ye,{generation_config:"generation_config.json"},br)])}else if(Pr===F)us=await Promise.all([Fe(Ye,{model:"text_encoder",decoder_model_merged:"decoder_model_merged",encodec_decode:"encodec_decode"},br),Pe(Ye,{generation_config:"generation_config.json"},br)]);else if(Pr===Ie)us=await Promise.all([Fe(Ye,{prepare_inputs_embeds:"prepare_inputs_embeds",model:"language_model",lm_head:"lm_head",gen_head:"gen_head",gen_img_embeds:"gen_img_embeds",image_decode:"image_decode"},br),Pe(Ye,{generation_config:"generation_config.json"},br)]);else if(Pr===he)us=await Promise.all([Fe(Ye,{prepare_inputs_embeds:"prepare_inputs_embeds",model:"model",vision_encoder:"vision_encoder"},br),Pe(Ye,{generation_config:"generation_config.json"},br)]);else{if(Pr!==g){const Zs=Mr??(Ht==null?void 0:Ht.model_type);Zs!=="custom"&&console.warn(`Model type for '${Zs}' not found, assuming encoder-only architecture. Please report this at ${E.GITHUB_ISSUE_URL}.`)}us=await Promise.all([Fe(Ye,{model:br.model_file_name??"model"},br)])}return new this(Ht,...us)}async _call(Ye){return await this.forward(Ye)}async forward(Ye){return await this._forward(this,Ye)}get generation_config(){var Ye;return((Ye=this.configs)==null?void 0:Ye.generation_config)??null}_get_logits_warper(Ye){const Et=new B.LogitsProcessorList;return Ye.temperature!==null&&Ye.temperature!==1&&Et.push(new B.TemperatureLogitsWarper(Ye.temperature)),Ye.top_k!==null&&Ye.top_k!==0&&Et.push(new B.TopKLogitsWarper(Ye.top_k)),Ye.top_p!==null&&Ye.top_p<1&&Et.push(new B.TopPLogitsWarper(Ye.top_p)),Et}_get_logits_processor(Ye,Et,Ht=null){const Vt=new B.LogitsProcessorList;if(Ye.repetition_penalty!==null&&Ye.repetition_penalty!==1&&Vt.push(new B.RepetitionPenaltyLogitsProcessor(Ye.repetition_penalty)),Ye.no_repeat_ngram_size!==null&&Ye.no_repeat_ngram_size>0&&Vt.push(new B.NoRepeatNGramLogitsProcessor(Ye.no_repeat_ngram_size)),Ye.bad_words_ids!==null&&Vt.push(new B.NoBadWordsLogitsProcessor(Ye.bad_words_ids,Ye.eos_token_id)),Ye.min_length!==null&&Ye.eos_token_id!==null&&Ye.min_length>0&&Vt.push(new B.MinLengthLogitsProcessor(Ye.min_length,Ye.eos_token_id)),Ye.min_new_tokens!==null&&Ye.eos_token_id!==null&&Ye.min_new_tokens>0&&Vt.push(new B.MinNewTokensLengthLogitsProcessor(Et,Ye.min_new_tokens,Ye.eos_token_id)),Ye.forced_bos_token_id!==null&&Vt.push(new B.ForcedBOSTokenLogitsProcessor(Ye.forced_bos_token_id)),Ye.forced_eos_token_id!==null&&Vt.push(new B.ForcedEOSTokenLogitsProcessor(Ye.max_length,Ye.forced_eos_token_id)),Ye.begin_suppress_tokens!==null){const rA=Et>1||Ye.forced_bos_token_id===null?Et:Et+1;Vt.push(new B.SuppressTokensAtBeginLogitsProcessor(Ye.begin_suppress_tokens,rA))}return Ye.guidance_scale!==null&&Ye.guidance_scale>
28051&&Vt.push(new B.ClassifierFreeGuidanceLogitsProcessor(Ye.guidance_scale)),Ht!==null&&Vt.extend(Ht),Vt}_prepare_generation_config(Ye,Et,Ht=G.GenerationConfig){const Vt={...this.config};for(const DA of["decoder","generator","text_config"])DA in Vt&&Object.assign(Vt,Vt[DA]);const rA=new Ht(Vt);return Object.assign(rA,this.generation_config??{}),Ye&&Object.assign(rA,Ye),Et&&Object.assign(rA,(0,b.pick)(Et,Object.getOwnPropertyNames(rA))),rA}_get_stopping_criteria(Ye,Et=null){const Ht=new W.StoppingCriteriaList;return Ye.max_length!==null&&Ht.push(new W.MaxLengthCriteria(Ye.max_length,this.config.max_position_embeddings??null)),Ye.eos_token_id!==null&&Ht.push(new W.EosTokenCriteria(Ye.eos_token_id)),Et&&Ht.extend(Et),Ht}_validate_model_class(){if(!this.can_generate){const Ye=[jc,Wc,Rc,Hc],Et=Ce.get(this.constructor),Ht=new Set,Vt=this.config.model_type;for(const DA of Ye){const GA=DA.get(Vt);GA&&Ht.add(GA[0])}let rA=`The current model class (${Et}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`;throw Ht.size>0&&(rA+=` Please use the following class instead: ${[...Ht].join(", ")}`),Error(rA)}}prepare_inputs_for_generation(...Ye){return this._prepare_inputs_for_generation(this,...Ye)}_update_model_kwargs_for_generation({generated_input_ids:Ye,outputs:Et,model_inputs:Ht,is_encoder_decoder:Vt}){return Ht.past_key_values=this.getPastKeyValues(Et,Ht.past_key_values),Ht.input_ids=new D.Tensor("int64",Ye.flat(),[Ye.length,1]),Vt||(Ht.attention_mask=(0,D.cat)([Ht.attention_mask,(0,D.ones)([Ht.attention_mask.dims[
28050],1])],1)),Ht.position_ids=null,Ht}_prepare_model_inputs({inputs:Ye,bos_token_id:Et,model_kwargs:Ht}){const Vt=(0,b.pick)(Ht,this.forward_params),rA=this.main_input_name;if(rA in Vt){if(Ye)throw new Error("`inputs`: {inputs}` were passed alongside {input_name} which is not allowed. Make sure to either pass {inputs} or {input_name}=...")}else Vt[rA]=Ye;return{inputs_tensor:Vt[rA],model_inputs:Vt,model_input_name:rA}}async _prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:Ye,model_inputs:Et,model_input_name:Ht,generation_config:Vt}){if(this.sessions.model.inputNames.includes("inputs_embeds")&&!Et.inputs_embeds&&"_prepare_inputs_embeds"in this){const{input_ids:DA,pixel_values:GA,attention_mask:yA,...OA}=Et,XA=await this._prepare_inputs_embeds(Et);Et={...OA,...(0,b.pick)(XA,["inputs_embeds","attention_mask"])}}let{last_hidden_state:rA}=await at(this,Et);if(Vt.guidance_scale!==null&&Vt.guidance_scale>1)rA=(0,D.cat)([rA,(0,D.full_like)(rA,0)],0),"attention_mask"in Et&&(Et.attention_mask=(0,D.cat)([Et.attention_mask,(0,D.zeros_like)(Et.attention_mask)],0));else if(Et.decoder_input_ids){const DA=we(Et.decoder_input_ids).dims[0];if(DA!==rA.dims[0]){if(rA.dims[0]!==1)throw new Error(`The encoder outputs have a different batch size (${rA.dims[0]}) than the decoder inputs (${DA}).`);rA=(0,D.cat)(Array.from({length:DA},()=>rA),0)}}return Et.encoder_outputs=rA,Et}_prepare_decoder_input_ids_for_generation({batch_size:Ye,model_input_name:Et,model_kwargs:Ht,decoder_start_token_id:Vt,bos_token_id:rA,generation_config:DA}){let{decoder_input_ids:GA,...yA}=Ht;if(!(GA instanceof D.Tensor)){if(GA)Array.isArray(GA[0])||(GA=Array.from({length:Ye},()=>GA));else if(Vt??(Vt=rA),this.config.model_type==="musicgen")GA=Array.from({length:Ye*this.config.decoder.num_codebooks},()=>[Vt]);else if(Array.isArray(Vt)){if(Vt.length!==Ye)throw new Error(`\`decoder_start_token_id\` expcted to have length ${Ye} but got ${Vt.length}`);GA=Vt}else GA=Array.from({length:Ye},()=>[Vt]);GA=we(GA)}return Ht.decoder_attention_mask=(0,D.ones_like)(GA),{input_ids:GA,model_inputs:yA}}async generate({inputs:Ye=null,generation_config:Et=null,logits_processor:Ht=null,stopping_criteria:Vt=null,streamer:rA=null,...DA}){this._validate_model_class(),Et=this._prepare_generation_config(Et,DA);let{inputs_tensor:GA,model_inputs:yA,model_input_name:OA}=this._prepare_model_inputs({inputs:Ye,model_kwargs:DA});const XA=this.config.is_encoder_decoder;let pr;XA&&("encoder_outputs"in yA||(yA=await this._prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:GA,model_inputs:yA,model_input_name:OA,generation_config:Et}))),XA?{input_ids:pr,model_inputs:yA}=this._prepare_decoder_input_ids_for_generation({batch_size:yA[OA].dims.at(0),model_input_name:OA,model_kwargs:yA,decoder_start_token_id:Et.decoder_start_token_id,bos_token_id:Et.bos_token_id,generation_config:Et}):pr=yA[OA];let cs=pr.dims.at(-1);Et.max_new_tokens!==null&&(Et.max_length=cs+Et.max_new_tokens);const br=this._get_logits_processor(Et,cs,Ht),Mr=this._get_stopping_criteria(Et,Vt),Pr=yA[OA].dims.at(0),us=U.LogitsSampler.getSampler(Et),Zs=new Array(Pr).fill(0),ia=pr.tolist();let Fs;rA&&rA.put(ia);let Xa={};for(;;){if(yA=this.prepare_inputs_for_generation(ia,yA,Et),Fs=await this.forward(yA),Et.output_attentions&&Et.return_dict_in_generate){const vs=this.getAttentions(Fs);for(const si in vs)si in Xa||(Xa[si]=[]),Xa[si].push(vs[si])}const _a=br(ia,Fs.logits.slice(null,-1,null)),Ii=[];for(let vs=0;vs<_a.dims.at(0);++vs){const si=_a[vs],T0=await us(si);for(const[X0,Q0]of T0){const Ul=BigInt(X0);Zs[vs]+=Q0,ia[vs].push(Ul),Ii.push([Ul]);break}}if(rA&&rA.put(Ii),Mr(ia).every(vs=>vs))break;yA=this._update_model_kwargs_for_generation({generated_input_ids:Ii,outputs:Fs,model_inputs:yA,is_encoder_decoder:XA})}rA&&rA.end();const Oa=this.getPastKeyValues(Fs,yA.past_key_values,!0),Fa=new D.Tensor("int64",ia.flat(),[ia.length,ia[0].length]);if(Et.return_dict_in_generate)return{sequences:Fa,past_key_values:Oa,...Xa};for(const _a of Object.values(Fs))_a.location==="gpu-buffer"&&_a.dispose();return Fa}getPastKeyValues(Ye,Et,Ht=!1){const Vt=Object.create(null);for(const rA in Ye)if(rA.startsWith("present")){const DA=rA.replace("present","past_key_values"),GA=rA.includes("encoder");if(Vt[DA]=GA&&Et?Et[DA]:Ye[rA],Et&&(!GA||Ht)){const yA=Et[DA];
2805yA.location==="gpu-buffer"&&yA.dispose()}}return Vt}getAttentions(Ye){const Et={};for(const Ht of["cross_attentions","encoder_attentions","decoder_attentions"])for(const Vt in Ye)Vt.startsWith(Ht)&&(Ht in Et||(Et[Ht]=[]),Et[Ht].push(Ye[Vt]));return Et}addPastKeyValues(Ye,Et){var Ht,Vt,rA;if(Et)Object.assign(Ye,Et);else{const DA=this.sessions.decoder_model_merged??this.sessions.model,GA=((Ht=DA==null?void 0:DA.config)==null?void 0:Ht.kv_cache_dtype)??"float32",yA=GA==="float16"?new Uint16Array:[],OA=((rA=(Vt=Ye[this.main_input_name]??Ye.attention_mask)==null?void 0:Vt.dims)==null?void 0:rA[0])??1,XA=(0,o.getKeyValueShapes)(this.config,{batch_size:OA});for(const pr in XA)Ye[pr]=new D.Tensor(GA,yA,XA[pr])}}async encode_image({pixel_values:Ye}){const Et=(await de(this.sessions.vision_encoder,{pixel_values:Ye})).image_features;return this.config.num_image_tokens||(console.warn(`The number of image tokens was not set in the model configuration. Setting it to the number of features detected by the vision encoder (${Et.dims[1]}).`),this.config.num_image_tokens=Et.dims[1]),Et}async encode_text({input_ids:Ye}){return(await de(this.sessions.embed_tokens,{input_ids:Ye})).inputs_embeds}}class rt{}class Bt extends rt{constructor({last_hidden_state:xe,hidden_states:Ye=null,attentions:Et=null}){super(),this.last_hidden_state=xe,this.hidden_states=Ye,this.attentions=Et}}class Ot extends ze{}class St extends Ot{}class oe extends Ot{async _call(xe){return new _n(await super._call(xe))}}class zt extends Ot{async _call(xe){return new xr(await super._call(xe))}}class ke extends Ot{async _call(xe){return new kn(await super._call(xe))}}class fe extends Ot{async _call(xe){return new ri(await super._call(xe))}}class Qe extends ze{}class Je extends Qe{}class st extends Qe{async _call(xe){return new _n(await super._call(xe))}}class lt extends Qe{async _call(xe){return new xr(await super._call(xe))}}class xt extends Qe{async _call(xe){return new kn(await super._call(xe))}}class jt extends ze{}class $t extends jt{}class Ft extends ze{}class dA extends Ft{}class eA extends Ft{async _call(xe){return new _n(await super._call(xe))}}class nA extends Ft{async _call(xe){return new xr(await super._call(xe))}}class aA extends Ft{async _call(xe){return new kn(await super._call(xe))}}class bA extends Ft{async _call(xe){return new ri(await super._call(xe))}}class vA extends ze{}class Gt extends vA{}class mA extends vA{async _call(xe){return new _n(await super._call(xe))}}class AA extends vA{async _call(xe){return new xr(await super._call(xe))}}class gr extends vA{async _call(xe){return new kn(await super._call(xe))}}class CA extends vA{async _call(xe){return new ri(await super._call(xe))}}class NA extends ze{}class tA extends NA{}class iA extends NA{async _call(xe){return new _n(await super._call(xe))}}class qt extends NA{async _call(xe){return new xr(await super._call(xe))}}class zA extends NA{async _call(xe){return new kn(await super._call(xe))}}class Fr extends NA{async _call(xe){return new ri(await super._call(xe))}}class Vr extends ze{}class Tt extends Vr{}class MA extends Vr{async _call(xe){return new _n(await super._call(xe))}}class QA extends Vr{async _call(xe){return new xr(await super._call(xe))}}class ZA extends Vr{async _call(xe){return new kn(await super._call(xe))}}class FA extends Vr{async _call(xe){return new ri(await super._call(xe))}}class EA extends ze{}class Rr extends EA{}class Er extends EA{async _call(xe){return new _n(await super._call(xe))}}class Dr extends EA{async _call(xe){return new xr(await super._call(xe))}}class Vs extends EA{async _call(xe){return new kn(await super._call(xe))}}class nr extends EA{async _call(xe){return new ri(await super._call(xe))}}class qs extends ze{}class xa extends qs{}class Ja extends qs{async _call(xe){return new _n(await super._call(xe))}}class ma extends qs{async _call(xe){return new xr(await super._call(xe))}}class Qa extends qs{async _call(xe){return new kn(await super._call(xe))}}class $a extends qs{async _call(xe){return new ri(await super._call(xe))}}class ds extends ze{}class en extends ds{}class oa extends ds{async _call(xe){return new xr(await super._call(xe))}}class Yn extends ds{async _call(xe){return new kn(await super._call(xe))}}class Ma extends ds{async _call(xe){return new ri(await super._call(xe))}}class Br extends ds{async _call(xe){return new _n(await super._call(xe))}}class Hr extends ze{}class cn extends Hr{}class Rn extends Hr{async _call(xe){return new _n(await super._call(xe))}}class Oi extends Hr{async _call(xe){return new xr(await super._call(xe))}}class Ra extends Hr{async _call(xe){return new kn(await super._call(xe))}}class jn extends ze{}class Tn extends jn{}class ja extends jn{async _call(xe){return new _n(await super._call(xe))}}class $A extends jn{async _call(xe){return new xr(await super._call(xe))}}class fr extends jn{async _call(xe){return new ri(await super._call(xe))}}class la extends ze{}class vi extends la{}class Pa extends la{async _call(xe){return new _n(await super._call(xe))}}class ci extends la{async _call(xe){return new xr(await super._call(xe))}}class tn extends la{async _call(xe){return new kn(await super._call(xe))}}class Wa extends la{async _call(xe){return new ri(await super._call(xe))}}class _t extends ze{}class Ee extends _t{}class qe extends _t{async _call(xe){return new _n(await super._call(xe))}}class ut extends _t{async _call(xe){return new xr(await super._call(xe))}}class mt extends _t{async _call(xe){return new ri(await super._call(xe))}}class vt extends ze{}class Rt extends vt{}class lA extends vt{async _call(xe){return new xr(await super._call(xe))}}class gt extends vt{async _call(xe){return new ri(await super._call(xe))}}class pA extends vt{async _call(xe){return new _n(await super._call(xe))}}class oA extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}}class sr extends oA{}class jr extends oA{}class Gr extends ze{}class Or extends Gr{}class ir extends Gr{}class IA extends ze{}class _A extends IA{}class _r extends IA{}class ba extends ze{}class Bs extends ba{}class ts extends ba{}class PA extends ba{async _call(xe){return new xr(await super._call(xe))}}class Kr extends ze{}class Yt extends Kr{}class TA extends Kr{}class Js extends Kr{async _call(xe){return new xr(await super._call(xe))}}class Ss extends Kr{}class Ds extends ze{}class ks extends Ds{}class os extends Ds{}class Tr extends ze{}class As extends Tr{}class yi extends Tr{}class Da extends ze{}class Qn extends Da{}class $s extends Da{async _call(xe){return new _n(await super._call(xe))}}class Ei extends Da{async _call(xe){return new xr(await super._call(xe))}}class or extends Da{async _call(xe){return new kn(await super._call(xe))}}class ea extends Da{async _call(xe){return new ri(await super._call(xe))}}class ta extends ze{}class Fo extends ta{}class io extends ta{async _call(xe){return new _n(await super._call(xe))}}class ui extends ta{async _call(xe){return new xr(await super._call(xe))}}class Fi extends ta{async _call(xe){return new kn(await super._call(xe))}}
2805class Wn extends ta{async _call(xe){return new ri(await super._call(xe))}}class Un extends ze{}class Lo extends Un{}class vn extends Un{async _call(xe){return new _n(await super._call(xe))}}class Sa extends Un{async _call(xe){return new xr(await super._call(xe))}}class Ns extends Un{async _call(xe){return new kn(await super._call(xe))}}class BA extends Un{async _call(xe){return new ri(await super._call(xe))}}class Aa extends ze{}class Li extends Aa{}class Vi extends Aa{}class Go extends ze{constructor(){super(...arguments);Ct(this,"requires_attention_mask",!1);Ct(this,"main_input_name","input_features");Ct(this,"forward_params",["input_features","attention_mask","decoder_input_ids","decoder_attention_mask","past_key_values"])}}class Kn extends Go{}class Vo extends Go{_prepare_generation_config(xe,Ye){return super._prepare_generation_config(xe,Ye,K.WhisperGenerationConfig)}_retrieve_init_tokens(xe){const Ye=[xe.decoder_start_token_id];let Et=xe.language;const Ht=xe.task;if(xe.is_multilingual){Et||(console.warn("No language specified - defaulting to English (en)."),Et="en");const Vt=`<|${(0,J.whisper_language_to_code)(Et)}|>`;Ye.push(xe.lang_to_id[Vt]),Ye.push(xe.task_to_id[Ht??"transcribe"])}else if(Et||Ht)throw new Error("Cannot specify `task` or `language` for an English-only model. If the model is intended to be multilingual, pass `is_multilingual=true` to generate, or update the generation config.");return!xe.return_timestamps&&xe.no_timestamps_token_id&&Ye.at(-1)!==xe.no_timestamps_token_id?Ye.push(xe.no_timestamps_token_id):xe.return_timestamps&&Ye.at(-1)===xe.no_timestamps_token_id&&(console.warn("<|notimestamps|> prompt token is removed from generation_config since `return_timestamps` is set to `true`."),Ye.pop()),Ye.filter(Vt=>Vt!=null)}async generate({inputs:xe=null,generation_config:Ye=null,logits_processor:Et=null,stopping_criteria:Ht=null,...Vt}){Ye=this._prepare_generation_config(Ye,Vt);const rA=Vt.decoder_input_ids??this._retrieve_init_tokens(Ye);if(Ye.return_timestamps&&(Et??(Et=new B.LogitsProcessorList),Et.push(new B.WhisperTimeStampLogitsProcessor(Ye,rA))),Ye.begin_suppress_tokens&&(Et??(Et=new B.LogitsProcessorList),Et.push(new B.SuppressTokensAtBeginLogitsProcessor(Ye.begin_suppress_tokens,rA.length))),Ye.return_token_timestamps){if(!Ye.alignment_heads)throw new Error("Model generation config has no `alignment_heads`, token-level timestamps not available. See https://gist.github.com/hollance/42e32852f24243b748ae6bc1f985b13a on how to add this property to the generation config.");Ye.task==="translate"&&console.warn("Token-level timestamps may not be reliable for task 'translate'."),Ye.output_attentions=!0,Ye.return_dict_in_generate=!0}const DA=await super.generate({inputs:xe,generation_config:Ye,logits_processor:Et,decoder_input_ids:rA,...Vt});return Ye.return_token_timestamps&&(DA.token_timestamps=this._extract_token_timestamps(DA,Ye.alignment_heads,Ye.num_frames)),DA}_extract_token_timestamps(xe,Ye,Et=null,Ht=.02){if(!xe.cross_attentions)throw new Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");Et==null&&console.warn("`num_frames` has not been set, meaning the entire audio will be analyzed. This may lead to inaccurate token-level timestamps for short audios (< 30 seconds).");let Vt=this.config.median_filter_width;Vt===void 0&&(console.warn("Model config has no `median_filter_width`, using default value of 7."),Vt=7);const rA=xe.cross_attentions,DA=Array.from({length:this.config.decoder_layers},(Mr,Pr)=>(0,D.cat)(rA.map(us=>us[Pr]),2)),GA=(0,D.stack)(Ye.map(([Mr,Pr])=>{if(Mr>=DA.length)throw new Error(`Layer index ${Mr} is out of bounds for cross attentions (length ${DA.length}).`);return Et?DA[Mr].slice(null,Pr,null,[0,Et]):DA[Mr].slice(null,Pr)})).transpose(1,0,2,3),[yA,OA]=(0,D.std_mean)(GA,-2,0,!0),XA=GA.clone();for(let Mr=0;Mr<XA.dims[0];++Mr){const Pr=XA[Mr];for(let us=0;us<Pr.dims[0];++us){const Zs=Pr[us],ia=yA[Mr][us][0].data,Fs=OA[Mr][us][0].data;for(let Xa=0;Xa<Zs.dims[0];++Xa){let Oa=Zs[Xa].data;for(let Fa=0;Fa<Oa.length;++Fa)Oa[Fa]=(Oa[Fa]-Fs[Fa])/ia[Fa];Oa.set((0,V.medianFilter)(Oa,Vt))}}}const pr=[(0,D.mean)(XA,1)],cs=xe.sequences.dims,br=new D.Tensor("float32",new Float32Array(cs[0]*cs[1]),cs);for(let Mr=0;Mr<cs[0];++Mr){const Pr=pr[Mr].neg().squeeze_(0),[us,Zs]=(0,V.dynamic_time_warping)(Pr.tolist()),ia=Array.from({length:us.length-1},(Oa,Fa)=>us[Fa+1]-us[Fa]),Fs=(0,b.mergeArrays)([1],ia).map(Oa=>!!Oa),Xa=[];for(let Oa=0;Oa<Fs.length;++Oa)Fs[Oa]&&Xa.push(Zs[Oa]*Ht);br[Mr].data.set(Xa,1)}return br}}class Hi extends ze{constructor(){super(...arguments);Ct(this,"requires_attention_mask",!1);
2805Ct(this,"main_input_name","input_values");Ct(this,"forward_params",["input_values","decoder_input_ids","past_key_values"])}}class Bi extends Hi{}class ca extends Hi{}class Wr extends ze{constructor(){super(...arguments);Ct(this,"main_input_name","pixel_values");Ct(this,"forward_params",["pixel_values","decoder_input_ids","encoder_hidden_states","past_key_values"])}}class xi extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}}class Yi extends xi{_merge_input_ids_with_image_features({inputs_embeds:xe,image_features:Ye,input_ids:Et,attention_mask:Ht}){const Vt=this.config.image_token_index,rA=Et.tolist().map(XA=>XA.findIndex(pr=>pr==Vt)),DA=rA.every(XA=>XA===-1),GA=rA.every(XA=>XA!==-1);if(!DA&&!GA)throw new Error("Every input should contain either 0 or 1 image token.");if(DA)return{inputs_embeds:xe,attention_mask:Ht};const yA=[],OA=[];for(let XA=0;XA<rA.length;++XA){const pr=rA[XA],cs=xe[XA],br=Ye[XA],Mr=Ht[XA];yA.push((0,D.cat)([cs.slice([0,pr]),br,cs.slice([pr+1,cs.dims[0]])],0)),OA.push((0,D.cat)([Mr.slice([0,pr]),(0,D.ones)([br.dims[0]]),Mr.slice([pr+1,Mr.dims[0]])],0))}return{inputs_embeds:(0,D.stack)(yA,0),attention_mask:(0,D.stack)(OA,0)}}}class Gs extends Yi{}class fi extends Yi{}class An extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","inputs_embeds","attention_mask","pixel_values","encoder_outputs","decoder_input_ids","decoder_inputs_embeds","decoder_attention_mask","past_key_values"]);Ct(this,"main_input_name","inputs_embeds")}}class Zn extends An{_merge_input_ids_with_image_features({inputs_embeds:xe,image_features:Ye,input_ids:Et,attention_mask:Ht}){return{inputs_embeds:(0,D.cat)([Ye,xe],1),attention_mask:(0,D.cat)([(0,D.ones)(Ye.dims.slice(0,2)),Ht],1)}}async _prepare_inputs_embeds({input_ids:xe,pixel_values:Ye,inputs_embeds:Et,attention_mask:Ht}){if(!xe&&!Ye)throw new Error("Either `input_ids` or `pixel_values` should be provided.");let Vt,rA;return xe&&(Vt=await this.encode_text({input_ids:xe})),Ye&&(rA=await this.encode_image({pixel_values:Ye})),Vt&&rA?{inputs_embeds:Et,attention_mask:Ht}=this._merge_input_ids_with_image_features({inputs_embeds:Vt,image_features:rA,input_ids:xe,attention_mask:Ht}):Et=Vt||rA,{inputs_embeds:Et,attention_mask:Ht}}async forward({input_ids:xe,pixel_values:Ye,attention_mask:Et,decoder_input_ids:Ht,decoder_attention_mask:Vt,encoder_outputs:rA,past_key_values:DA,inputs_embeds:GA,decoder_inputs_embeds:yA}){if(GA||({inputs_embeds:GA,attention_mask:Et}=await this._prepare_inputs_embeds({input_ids:xe,pixel_values:Ye,inputs_embeds:GA,attention_mask:Et})),!rA){let{last_hidden_state:XA}=await at(this,{inputs_embeds:GA,attention_mask:Et});rA=XA}if(!yA){if(!Ht)throw new Error("Either `decoder_input_ids` or `decoder_inputs_embeds` should be provided.");yA=await this.encode_text({input_ids:Ht})}return await Ue(this,{inputs_embeds:yA,attention_mask:Vt,encoder_attention_mask:Et,encoder_hidden_states:rA,past_key_values:DA},!0)}}class Mi extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}}class Pn extends Mi{_merge_input_ids_with_image_features(xe){const Ye=xe.image_features.dims.at(-1),Et=xe.image_features.view(-1,Ye);return ot({image_token_id:this.config.image_token_index,...xe,image_features:Et})}}class oo extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","pixel_values","pixel_attention_mask","position_ids","past_key_values"])}}class _o extends oo{async encode_image({pixel_values:xe,pixel_attention_mask:Ye}){return(await de(this.sessions.vision_encoder,{pixel_values:xe,pixel_attention_mask:Ye})).image_features}_merge_input_ids_with_image_features(xe){const Ye=xe.image_features.dims.at(-1),Et=xe.image_features.view(-1,Ye);return ot({image_token_id:this.config.image_token_id,...xe,image_features:Et})}}class Sn extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","inputs_embeds","attention_mask","position_ids","pixel_values","image_sizes","past_key_values"])}}class uA extends Sn{async forward({input_ids:xe=null,attention_mask:Ye=null,pixel_values:Et=null,image_sizes:Ht=null,position_ids:Vt=null,inputs_embeds:rA=null,past_key_values:DA=null,generation_config:GA=null,logits_processor:yA=null,...OA}){if(!rA){let XA;if(Et&&xe.dims[1]!==1){if(!Ht)throw new Error("`image_sizes` must be provided when `pixel_values` is provided.");({image_features:XA}=await de(this.sessions.vision_encoder,{pixel_values:Et,image_sizes:Ht}))}else{const pr=this.config.normalized_config.hidden_size;XA=new D.Tensor("float32",[],[0,pr])}({inputs_embeds:rA}=await de(this.sessions.prepare_inputs_embeds,{input_ids:xe,image_features:XA}))}return await Ue(this,{inputs_embeds:rA,past_key_values:DA,attention_mask:Ye,position_ids:Vt,generation_config:GA,logits_processor:yA},!1)}}class yn extends ze{}class kA extends yn{}class lo extends yn{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"text_model"})}}class co extends yn{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"text_model"})}}class ra extends yn{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"vision_model"})}}class js extends yn{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"vision_model"})}}class Nn extends ze{}class di extends Nn{}class uo extends Nn{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"text_model"})}}class _s extends yn{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"vision_model"})}}class Xn extends ze{}class Ho extends Xn{}class En extends ze{}
2805class un extends En{async forward(xe){const Ye=!xe.input_ids,Et=!xe.pixel_values;if(Ye&&Et)throw new Error("Either `input_ids` or `pixel_values` should be provided.");if(Ye&&(xe.input_ids=(0,D.ones)([xe.pixel_values.dims[0],1])),Et){const{image_size:yA}=this.config.vision_config;xe.pixel_values=(0,D.full)([0,3,yA,yA],0)}const{text_embeddings:Ht,image_embeddings:Vt,l2norm_text_embeddings:rA,l2norm_image_embeddings:DA}=await super.forward(xe),GA={};return Ye||(GA.text_embeddings=Ht,GA.l2norm_text_embeddings=rA),Et||(GA.image_embeddings=Vt,GA.l2norm_image_embeddings=DA),GA}}class Ri extends En{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"text_model"})}}class Di extends En{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"vision_model"})}}class gi extends ze{}class wA extends gi{}class ua extends gi{}class To extends ze{}class qn extends To{}class fn extends To{}class fo extends ze{}class Yo extends fo{}class go extends fo{}class zn extends ze{}class ji extends zn{}class ho extends zn{}class Ts extends ze{}class Ro extends Ts{}class Jn extends Ts{}class rr extends ze{}class wr extends rr{}class Gi extends rr{}class Na extends ze{}class po extends Na{}class Ws extends Na{}class On extends ze{}class fa extends On{}class $n extends On{}class Wi extends ze{}class dn extends Wi{}class s0 extends Wi{}class Ui extends ze{}class Zr extends Ui{}class sa extends Ui{}class jo extends ze{}class Us extends jo{}class za extends jo{}class ei extends ze{}class mo extends ei{}class gn extends ei{}class Wo extends ze{}class Ki extends Wo{}class aa extends Wo{}class da extends ze{}class a0 extends da{}class bo extends da{}class hn extends ze{}class ti extends hn{}class Zi extends hn{}class rs extends ze{}class Uo extends rs{}class Xi extends rs{}class Ua extends ze{}class Ka extends Ua{}class _i extends Ua{}class pn extends ze{}class Bn extends pn{}class Co extends pn{}class rn extends ze{}class Ca extends rn{}class qi extends rn{}class Io extends ze{}class xn extends Io{}class n0 extends Io{}class Ks extends ze{}class Za extends Ks{}class Ia extends Ks{}class wo extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","position_ids","past_key_values","pixel_values","image_grid_thw"])}}class sn extends wo{get_rope_index(xe,Ye,Et,Ht){const{vision_config:Vt,image_token_id:rA,video_token_id:DA,vision_start_token_id:GA}=this.config,yA=Vt.spatial_merge_size??2,OA=[];if(Ye||Et){let XA=xe.tolist();Ht||(Ht=(0,D.ones_like)(xe));const pr=Ht.tolist(),cs=Array.from({length:3},Zs=>Array.from({length:xe.dims[0]},ia=>Array.from({length:xe.dims[1]},Fs=>1))),br=Ye?Ye.tolist():[],Mr=Et?Et.tolist():[];let Pr=0,us=0;for(let Zs=0;Zs<XA.length;++Zs){const ia=XA[Zs].filter((Ys,La)=>pr[Zs][La]==1),Fs=ia.reduce((Ys,La,wi)=>(La==GA&&Ys.push(wi),Ys),[]),Xa=Fs.map(Ys=>ia[Ys+1]),Oa=Xa.filter(Ys=>Ys==rA).length,Fa=Xa.filter(Ys=>Ys==DA).length;let _a=[],Ii=0,vs=Oa,si=Fa;for(let Ys=0;Ys<Xa.length;++Ys){const La=ia.findIndex((ao,Hn)=>Hn>Ii&&ao==rA),wi=ia.findIndex((ao,Hn)=>Hn>Ii&&ao==DA),P0=vs>0&&La!==-1?La:ia.length+1,p0=si>0&&wi!==-1?wi:ia.length+1;let Kl,oc,lc,cc;P0<p0?([oc,lc,cc]=br[Pr],++Pr,--vs,Kl=P0):([oc,lc,cc]=Mr[us],++us,--si,Kl=p0);const[Vu,uc,No]=[Number(oc),Math.floor(Number(lc)/yA),Math.floor(Number(cc)/yA)],ki=Kl-Ii,q0=_a.length>0?(0,V.max)(_a.at(-1))[0]+1:0;_a.push(Array.from({length:3*ki},(ao,Hn)=>q0+Hn%ki));const J0=ki+q0,S0=Vu*uc*No,n2=Array.from({length:S0},(ao,Hn)=>J0+Math.floor(Hn/(uc*No))),Hu=Array.from({length:S0},(ao,Hn)=>J0+Math.floor(Hn/No)%uc),i2=Array.from({length:S0},(ao,Hn)=>J0+Hn%No);_a.push([n2,Hu,i2].flat()),Ii=Kl+S0}if(Ii<ia.length){const Ys=_a.length>0?(0,V.max)(_a.at(-1))[0]+1:0,La=ia.length-Ii;_a.push(Array.from({length:3*La},(wi,P0)=>Ys+P0%La))}const T0=_a.reduce((Ys,La)=>Ys+La.length,0),X0=new Array(T0);let Q0=0;for(let Ys=0;Ys<3;++Ys)for(let La=0;La<_a.length;++La){const wi=_a[La],P0=wi.length/3;for(let p0=Ys*P0;p0<(Ys+1)*P0;++p0)X0[Q0++]=wi[p0]}let Ul=0;const Lu=pr[Zs];for(let Ys=0;Ys<Lu.length;++Ys)if(Lu[Ys]==1){for(let La=0;La<3;++La)cs[La][Zs][Ys]=X0[La*T0/3+Ul];++Ul}const B1=(0,V.max)(X0)[0];OA.push(B1+1-XA[Zs].length)}return[new D.Tensor("int64",cs.flat(1/0),[3,xe.dims[0],xe.dims[1]]),new D.Tensor("int64",OA,[OA.length,1])]}if(Ht){const{data:XA,dims:pr}=ct(Ht),cs=BigInt64Array.from({length:3*XA.length},(Mr,Pr)=>XA[Pr%XA.length]),br=Array.from({length:pr[0]},(Mr,Pr)=>(0,V.max)(XA.subarray(pr[1]*Pr,pr[1]*(Pr+1)))[0]+1n+BigInt(pr[1]));return[new D.Tensor("int64",cs,[3,...pr]),new D.Tensor("int64",br,[br.length,1])]}{const[XA,pr]=xe.dims,cs=BigInt64Array.from({length:3*XA*pr}
vendor: 5,822 bytes, line 2805
2805,(br,Mr)=>BigInt(Math.floor(Mr%pr/XA)));return[new D.Tensor("int64",cs,[3,...xe.dims]),(0,D.zeros)([XA,1])]}}async encode_image({pixel_values:xe,image_grid_thw:Ye}){return(await de(this.sessions.vision_encoder,{pixel_values:xe,grid_thw:Ye})).image_features}_merge_input_ids_with_image_features(xe){return ot({image_token_id:this.config.image_token_id,...xe})}prepare_inputs_for_generation(xe,Ye,Et){if(Ye.attention_mask&&!Ye.position_ids)if(Ye.past_key_values){Ye.pixel_values=null;const Ht=BigInt(Object.values(Ye.past_key_values)[0].dims.at(-2)),Vt=Ye.rope_deltas.map(rA=>Ht+rA);Ye.position_ids=(0,D.stack)([Vt,Vt,Vt],0)}else[Ye.position_ids,Ye.rope_deltas]=this.get_rope_index(Ye.input_ids,Ye.image_grid_thw,Ye.video_grid_thw,Ye.attention_mask);return Ye}}class mn extends ze{}class ss extends mn{}class bn extends mn{}class hi extends ze{}class pi extends hi{}class Mn extends hi{}class Ko extends ze{}class ko extends Ko{}class Dn extends Ko{}class mi extends ze{}class an extends mi{}class Cn extends mi{}class vo extends ze{}class Hs extends vo{}class vr extends vo{}class Ji extends ze{}class Qo extends Ji{}class wa extends Ji{async _call(xe){return new xr(await super._call(xe))}}class bi extends ze{}class Ai extends bi{}class In extends bi{async _call(xe){return new xr(await super._call(xe))}}class ka extends ze{}class Po extends ka{}class wn extends ze{}class $i extends wn{}class Ti extends wn{async _call(xe){return new xr(await super._call(xe))}}class gs extends ze{}class Zo extends gs{}class eo extends ze{}class Ga extends eo{}class i0 extends eo{async _call(xe){return new xr(await super._call(xe))}}class Ci extends ze{}class LA extends Ci{}class t extends ze{}class A extends t{}class r extends t{async _call(xe){return new xr(await super._call(xe))}}class n extends ze{}class i extends n{async _call(xe){return new y1(await super._call(xe))}}class l extends ze{}class h extends l{}class m extends l{async _call(xe){return new xr(await super._call(xe))}}class w extends ze{}class M extends w{}class y extends w{async _call(xe){return new xr(await super._call(xe))}}class P extends ze{}class R extends P{}class ee extends P{}class ae extends ze{}class ue extends ae{}class be extends ae{}class _e extends ze{}class Ve extends _e{}class $e extends _e{async _call(xe){return new xr(await super._call(xe))}}class it extends ze{}class ht extends it{}class yt extends it{async _call(xe){return new Wt(await super._call(xe))}}class Pt extends it{async _call(xe){return new cA(await super._call(xe))}}class Wt extends rt{constructor({logits:xe,pred_boxes:Ye}){super(),this.logits=xe,this.pred_boxes=Ye}}class cA extends rt{constructor({logits:xe,pred_boxes:Ye,pred_masks:Et}){super(),this.logits=xe,this.pred_boxes=Ye,this.pred_masks=Et}}class gA extends ze{}class SA extends gA{}class VA extends gA{async _call(xe){return new qA(await super._call(xe))}}class qA extends rt{constructor({logits:xe,pred_boxes:Ye}){super(),this.logits=xe,this.pred_boxes=Ye}}class Cr extends ze{}class Yr extends Cr{}class Xr extends Cr{async _call(xe){return new ls(await super._call(xe))}}class ls extends Wt{}class as extends ze{}class xs extends as{}class Ms extends as{async _call(xe){return new xr(await super._call(xe))}}class zs extends ze{}class Os extends zs{}class ga extends zs{async _call(xe){return new xr(await super._call(xe))}}class na extends ze{}class ha extends na{}class pa extends na{async _call(xe){return new xr(await super._call(xe))}}class Gn extends ze{}class Fn extends Gn{}class Ln extends Gn{async _call(xe){return new xr(await super._call(xe))}}class Vn extends ze{}class yo extends Vn{}class to extends Vn{}class Ao extends ze{}class Qi extends Ao{}class Xo extends Ao{}class o0 extends ze{}class l0 extends o0{}class ro extends ze{}class fl extends ro{}class dl extends ro{}class gl extends ro{}class m0 extends ze{}class hl extends m0{}class R0 extends ze{}class pl extends R0{}class b0 extends R0{}class j0 extends ze{}class ml extends j0{}class bl extends j0{}class C0 extends ze{}class Cl extends C0{}class W0 extends ze{}class Il extends W0{}class I0 extends W0{async _call(xe){return new xr(await super._call(xe))}}class U0 extends ze{}class wl extends U0{}class kl extends U0{async _call(xe){return new xr(await super._call(xe))}}class c0 extends ze{}class vl extends c0{}class Pi extends c0{async _call(xe){return new xr(await super._call(xe))}}class Si extends ze{}class so extends Si{}class Ni extends Si{async _call(xe){return new xr(await super._call(xe))}}class yl extends ze{}class El extends yl{}class u0 extends ze{}class Bl extends u0{}class xl extends u0{async _call(xe){return new Ml(await super._call(xe))}}class Ml extends rt{constructor({logits:xe,pred_boxes:Ye}){super(),this.logits=xe,this.pred_boxes=Ye}}class w0 extends ze{}class Dl extends w0{async get_image_embeddings({pixel_values:xe}){return await at(this,{pixel_values:xe})}async forward(xe){if(xe.image_embeddings&&xe.image_positional_embeddings||(xe={...xe,...await this.get_image_embeddings(xe)}),!xe.input_labels&&xe.input_points){const Et=xe.input_points.dims.slice(0,-1),Ht=Et.reduce((Vt,rA)=>Vt*rA,1);xe.input_labels=new D.Tensor("int64",new BigInt64Array(Ht).fill(1n),Et)}const Ye={image_embeddings:xe.image_embeddings,image_positional_embeddings:xe.image_positional_embeddings};return xe.input_points&&(Ye.input_points=xe.input_points),xe.input_labels&&(Ye.input_labels=xe.input_labels),xe.input_boxes&&(Ye.input_boxes=xe.input_boxes),await de(this.sessions.prompt_encoder_mask_decoder,Ye)}async _call(xe){return new Gl(await super._call(xe))}}class Gl extends rt{constructor({iou_scores:xe,pred_masks:Ye}){super(),this.iou_scores=xe,this.pred_masks=Ye}}class nn extends ze{}class k0 extends nn{}class _l extends nn{}class v0 extends ze{}class Tl extends v0{}class So extends v0{}class Eo extends ze{}
2805class Ql extends Eo{}class Pl extends Eo{async _call(xe){return new Z0(await super._call(xe))}}class y0 extends Eo{async _call(xe){return new xr(await super._call(xe))}}class Sl extends Eo{async _call(xe){return new kn(await super._call(xe))}}class E0 extends ze{}class Nl extends E0{}class zl extends E0{async _call(xe){return new kn(await super._call(xe))}}class B0 extends ze{}class Ol extends B0{}class f0 extends ze{}class Fl extends f0{}class d0 extends f0{async _call(xe){return new Z0(await super._call(xe))}}class Ll extends f0{async _call(xe){return new xr(await super._call(xe))}}class g0 extends ze{}class Vl extends g0{}class Hl extends g0{async _call(xe){return new Z0(await super._call(xe))}}class x0 extends g0{async _call(xe){return new xr(await super._call(xe))}}class Yl extends g0{async _call(xe){return new kn(await super._call(xe))}}class M0 extends ze{}class Rl extends M0{}class jl extends M0{async _call(xe){return new Z0(await super._call(xe))}}class G2 extends M0{async _call(xe){return new xr(await super._call(xe))}}class e1 extends ze{}class _2 extends Eo{}class T2 extends Eo{async _call(xe){return new Z0(await super._call(xe))}}class Q2 extends Eo{async _call(xe){return new xr(await super._call(xe))}}class K0 extends ze{}class P2 extends K0{}class S2 extends K0{async _call(xe){return new Z0(await super._call(xe))}}class N2 extends K0{async _call(xe){return new xr(await super._call(xe))}}class z2 extends K0{async _call(xe){return new v1(await super._call(xe))}}class O2 extends K0{async _call(xe){return new kn(await super._call(xe))}}class F2 extends ze{}class L2 extends F2{}class D0 extends ze{}class V2 extends D0{}class vc extends D0{}class yc extends D0{async generate_speech(xe,Ye,{threshold:Et=.5,minlenratio:Ht=0,maxlenratio:Vt=20,vocoder:rA=null}={}){const DA={input_ids:xe},{encoder_outputs:GA,encoder_attention_mask:yA}=await at(this,DA),OA=GA.dims[1]/this.config.reduction_factor,XA=Math.floor(OA*Vt),pr=Math.floor(OA*Ht),cs=this.config.num_mel_bins;let br=[],Mr=null,Pr=null,us=0;for(;;){++us;const Fs=Ge(!!Pr);let Xa;Xa=Pr?Pr.output_sequence_out:new D.Tensor("float32",new Float32Array(cs),[1,1,cs]);let Oa={use_cache_branch:Fs,output_sequence:Xa,encoder_attention_mask:yA,speaker_embeddings:Ye,encoder_hidden_states:GA};this.addPastKeyValues(Oa,Mr),Pr=await de(this.sessions.decoder_model_merged,Oa),Mr=this.getPastKeyValues(Pr,Mr);const{prob:Fa,spectrum:_a}=Pr;if(br.push(_a),us>=pr&&(Array.from(Fa.data).filter(Ii=>Ii>=Et).length>0||us>=XA))break}const Zs=(0,D.cat)(br),{waveform:ia}=await de(rA.sessions.model,{spectrogram:Zs});return{spectrogram:Zs,waveform:ia}}}class Ec extends ze{constructor(){super(...arguments);Ct(this,"main_input_name","spectrogram")}}class H2 extends ze{}class Y2 extends H2{}class sc extends ze{}class Bc extends sc{}class R2 extends sc{}class xc extends ze{}class Mc extends xc{}class j2 extends xc{}class Dc extends ze{}class Gc extends Dc{}class W2 extends Dc{}class ac extends ze{}class U2 extends ac{}class K2 extends ac{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"text_model"})}}class Z2 extends ac{static async from_pretrained(xe,Ye={}){return super.from_pretrained(xe,{...Ye,model_file_name:Ye.model_file_name??"audio_model"})}}class X2 extends ze{}class _c extends X2{async _call(xe){return new E1(await super._call(xe))}}class nc extends ze{}class t1 extends nc{}class q2 extends nc{}class J2 extends nc{}class Tc extends ze{}class $2 extends Tc{}class eu extends Tc{}class Qc extends ze{}class tu extends Qc{}class Au extends Qc{async _call(xe){return new xr(await super._call(xe))}}class Pc extends ze{}class ru extends Pc{}class A1 extends Pc{}class Sc extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}_apply_and_filter_by_delay_pattern_mask(Ye){const[Et,Ht]=Ye.dims,Vt=this.config.decoder.num_codebooks,rA=Ht-Vt;let DA=0;for(let OA=0;OA<Ye.size;++OA){if(Ye.data[OA]===this.config.decoder.pad_token_id)continue;const XA=OA%Ht-Math.floor(OA/Ht)%Vt;XA>0&&XA<=rA&&(Ye.data[DA++]=Ye.data[OA])}const GA=Math.floor(Et/Vt),yA=DA/(GA*Vt);return new D.Tensor(Ye.type,Ye.data.slice(0,DA),[GA,Vt,yA])}prepare_inputs_for_generation(Ye,Et,Ht){let Vt=structuredClone(Ye);for(let rA=0;rA<Vt.length;++rA)for(let DA=0;DA<Vt[rA].length;++DA)rA%this.config.decoder.num_codebooks>=DA&&(Vt[rA][DA]=BigInt(this.config.decoder.pad_token_id));return Ht.guidance_scale!==null&&Ht.guidance_scale>1&&(Vt=Vt.concat(Vt)),super.prepare_inputs_for_generation(Vt,Et,Ht)}async generate(Ye){const Et=await super.generate(Ye),Ht=this._apply_and_filter_by_delay_pattern_mask(Et).unsqueeze_(0),{audio_values:Vt}=await de(this.sessions.encodec_decode,{audio_codes:Ht});return Vt}}class Nc extends ze{}class su extends Nc{}class au extends Nc{async _call(xe){return new xr(await super._call(xe))}}class zc extends ze{}class nu extends zc{}class iu extends zc{async _call(xe){return new xr(await super._call(xe))}}class ic extends ze{}class ou extends ic{}class lu extends ic{async _call(xe){return new xr(await super._call(xe))}}class Oc extends ze{}class cu extends Oc{}class uu extends Oc{async _call(xe){return new xr(await super._call(xe))}}class fu extends ze{}class du extends fu{}class gu extends ze{}class hu extends gu{constructor(...Ye){super(...Ye);Ct(this,"forward_params",["input_ids","pixel_values","images_seq_mask","images_emb_mask","attention_mask","position_ids","past_key_values"]);this._generation_mode="text"}async forward(Ye){const Et=this._generation_mode??"text";let Ht;if(Et!=="text"&&Ye.past_key_values){const yA=this.sessions.gen_img_embeds,OA=(0,b.pick)({image_ids:Ye.input_ids},yA.inputNames);Ht=await de(yA,OA)}else{const yA=this.sessions.prepare_inputs_embeds,OA=(0,b.pick)(Ye,yA.inputNames);Ht=await de(yA,OA)}const Vt={...Ye,...Ht},rA=await Ue(this,Vt),DA=this.sessions[Et==="text"?"lm_head":"gen_head"];if(!DA)throw new Error(`Unable to find "${DA}" generation head`);const GA=await de(DA,(0,b.pick)(rA,DA.inputNames));return{...Ht,...rA,...GA}}async generate(Ye){return this._generation_mode="text",super.generate(Ye)}async generate_images(Ye){this._generation_mode="image";const Et=(Ye.inputs??Ye[this.main_input_name]).dims[1],Ht=(await super.generate(Ye)).slice(null,[Et,null]),Vt=this.sessions.image_decode,{decoded_image:rA}=await de(Vt,{generated_tokens:Ht}),DA=rA.add_(1).mul_(127.5).clamp_(0,255).to("uint8"),GA=[];for(const yA of DA){const OA=Q.RawImage.fromTensor(yA);GA.push(OA)}return GA}}class pu extends rt{constructor({char_logits:xe,bpe_logits:Ye,wp_logits:Et}){super(),this.char_logits=xe,this.bpe_logits=Ye,this.wp_logits=Et}get logits(){return[this.char_logits,this.bpe_logits,this.wp_logits]}}class mu extends ze{}class bu extends mu{async _call(xe){return new pu(await super._call(xe))}}class Fc extends ze{}class Cu extends Fc{}class Wl extends Fc{}class Lc extends ze{}class Vc extends Lc{}class Iu extends Lc{}class Is{static async from_pretrained(xe,{progress_callback:Ye=null,config:Et=null,cache_dir:Ht=null,local_files_only:Vt=!1,revision:rA="main",model_file_name:DA=null,subfolder:GA="onnx",device:yA=null,dtype:OA=null,use_external_data_format:XA=null,session_options:pr={}}={}){const cs={progress_callback:Ye,config:Et,cache_dir:Ht,local_files_only:Vt,revision:rA,model_file_name:DA,subfolder:GA,device:yA,dtype:OA,use_external_data_format:XA,session_options:pr};if(cs.config=await o.AutoConfig.from_pretrained(xe,cs),!this.MODEL_CLASS_MAPPINGS)throw new Error("`MODEL_CLASS_MAPPINGS` not implemented for this type of `AutoClass`: "+this.name);for(const br of this.MODEL_CLASS_MAPPINGS){const Mr=br.get(cs.config.model_type);if(Mr)return await Mr[1].from_pretrained(xe,cs)}if(this.BASE_IF_FAIL)return console.warn(`Unknown model class "${cs.config.model_type}", attempting to construct from base class.`),await ze.from_pretrained(xe,cs);throw Error(`Unsupported model type: ${cs.config.model_type}`)}}Ct(Is,"MODEL_CLASS_MAPPINGS",null),Ct(Is,"BASE_IF_FAIL",!1);const r1=new Map([["bert",["BertModel",St]],["modernbert",["ModernBertModel",Je]],["nomic_bert",["NomicBertModel",$t]],["roformer",["RoFormerModel",dA]],["electra",["ElectraModel",tA]],["esm",["EsmModel",cn]],["convbert",["ConvBertModel",Gt]],["camembert",["CamembertModel",Tt]],["deberta",["DebertaModel",Rr]],["deberta-v2",["DebertaV2Model",xa]],["mpnet",["MPNetModel",vi]],["albert",["AlbertModel",Rt]],["distilbert",["DistilBertModel",en]],["roberta",["RobertaModel",Qn]],["xlm",["XLMMo
2805del",Fo]],["xlm-roberta",["XLMRobertaModel",Lo]],["clap",["ClapModel",U2]],["clip",["CLIPModel",kA]],["clipseg",["CLIPSegModel",wA]],["chinese_clip",["ChineseCLIPModel",Ho]],["siglip",["SiglipModel",di]],["jina_clip",["JinaCLIPModel",un]],["mobilebert",["MobileBertModel",Tn]],["squeezebert",["SqueezeBertModel",Ee]],["wav2vec2",["Wav2Vec2Model",Ql]],["wav2vec2-bert",["Wav2Vec2BertModel",Rl]],["unispeech",["UniSpeechModel",Fl]],["unispeech-sat",["UniSpeechSatModel",Vl]],["hubert",["HubertModel",_2]],["wavlm",["WavLMModel",P2]],["audio-spectrogram-transformer",["ASTModel",Li]],["vits",["VitsModel",_c]],["pyannote",["PyAnnoteModel",Nl]],["wespeaker-resnet",["WeSpeakerResNetModel",Ol]],["detr",["DetrModel",ht]],["rt_detr",["RTDetrModel",SA]],["table-transformer",["TableTransformerModel",Yr]],["vit",["ViTModel",Qo]],["ijepa",["IJepaModel",Ai]],["pvt",["PvtModel",$i]],["vit_msn",["ViTMSNModel",Ga]],["vit_mae",["ViTMAEModel",Zo]],["groupvit",["GroupViTModel",LA]],["fastvit",["FastViTModel",A]],["mobilevit",["MobileViTModel",h]],["mobilevitv2",["MobileViTV2Model",M]],["owlvit",["OwlViTModel",R]],["owlv2",["Owlv2Model",ue]],["beit",["BeitModel",Ve]],["deit",["DeiTModel",xs]],["hiera",["HieraModel",Os]],["convnext",["ConvNextModel",Il]],["convnextv2",["ConvNextV2Model",wl]],["dinov2",["Dinov2Model",vl]],["dinov2_with_registers",["Dinov2WithRegistersModel",so]],["resnet",["ResNetModel",ha]],["swin",["SwinModel",Fn]],["swin2sr",["Swin2SRModel",yo]],["donut-swin",["DonutSwinModel",Cl]],["yolos",["YolosModel",Bl]],["dpt",["DPTModel",Qi
2805]],["glpn",["GLPNModel",ml]],["hifigan",["SpeechT5HifiGan",Ec]],["efficientnet",["EfficientNetModel",tu]],["decision_transformer",["DecisionTransformerModel",du]],["patchtst",["PatchTSTForPrediction",Cu]],["patchtsmixer",["PatchTSMixerForPrediction",Vc]],["mobilenet_v1",["MobileNetV1Model",su]],["mobilenet_v2",["MobileNetV2Model",nu]],["mobilenet_v3",["MobileNetV3Model",ou]],["mobilenet_v4",["MobileNetV4Model",cu]],["maskformer",["MaskFormerModel",pl]],["mgp-str",["MgpstrForSceneTextRecognition",bu]],["style_text_to_speech_2",["StyleTextToSpeech2Model",L2]]]),s1=new Map([["t5",["T5Model",sr]],["longt5",["LongT5Model",Or]],["mt5",["MT5Model",_A]],["bart",["BartModel",Bs]],["mbart",["MBartModel",Yt]],["marian",["MarianModel",k0]],["whisper",["WhisperModel",Kn]],["m2m_100",["M2M100Model",Tl]],["blenderbot",["BlenderbotModel",ks]],["blenderbot-small",["BlenderbotSmallModel",As]]]),a1=new Map([["bloom",["BloomModel",ko]],["jais",["JAISModel",Yo]],["gpt2",["GPT2Model",qn]],["gptj",["GPTJModel",wr]],["gpt_bigcode",["GPTBigCodeModel",po]],["gpt_neo",["GPTNeoModel",ji]],["gpt_neox",["GPTNeoXModel",Ro]],["codegen",["CodeGenModel",fa]],["llama",["LlamaModel",dn]],["exaone",["ExaoneModel",mo]],["olmo",["OlmoModel",a0]],["olmo2",["Olmo2Model",ti]],["mobilellm",["MobileLLMModel",Ki]],["granite",["GraniteModel",Uo]],["cohere",["CohereModel",Ka]],["gemma",["GemmaModel",Bn]],["gemma2",["Gemma2Model",Ca]],["helium",["HeliumModel",Zr]],["glm",["GlmModel",Us]],["openelm",["OpenELMModel",xn]],["qwen2",["Qwen2Model",Za]],["phi",["PhiModel",ss]],["phi3",["Phi3Model",pi]],["mpt",["MptModel",an]],["opt",["OPTModel",Hs]],["mistral",["MistralModel",Bc]],["starcoder2",["Starcoder2Model",Mc]],["falcon",["FalconModel",Gc]],["stablelm",["StableLmModel",$2]]]),Hc=new Map([["speecht5",["SpeechT5ForSpeechToText",vc]],["whisper",["WhisperForConditionalGeneration",Vo]],["moonshine",["MoonshineForConditionalGeneration",ca]]]),wu=new Map([["speecht5",["SpeechT5ForTextToSpeech",yc]]]),ku=new Map([["vits",["VitsModel",_c]],["musicgen",["MusicgenForConditionalGeneration",Sc]]]),Yc=new Map([["bert",["BertForSequenceClassification",zt]],["modernbert",["ModernBertForSequenceClassification",lt]],["roformer",["RoFormerForSequenceClassification",nA]],["electra",["ElectraForSequenceClassification",qt]],["esm",["EsmForSequenceClassification",Oi]],["convbert",["ConvBertForSequenceClassification",AA]],["camembert",["CamembertForSequenceClassification",QA]],["deberta",["DebertaForSequenceClassification",Dr]],["deberta-v2",["DebertaV2ForSequenceClassification",ma]],["mpnet",["MPNetForSequenceClassification",ci]],["albert",["AlbertForSequenceClassification",lA]],["distilbert",["DistilBertForSequenceClassification",oa]],["roberta",["RobertaForSequenceClassification",Ei]],["xlm",["XLMForSequenceClassification",ui]],["xlm-roberta",["XLMRobertaForSequenceClassification",Sa]],["bart",["BartForSequenceClassification",PA]],["mbart",["MBartForSequenceClassification",Js]],["mobilebert",["MobileBertForSequenceClassification",$A]],["squeezebert",["SqueezeBertForSequenceClassification",ut]]]),vu=new Map([["bert",["BertForTokenClassification",ke]],["modernbert",["ModernBertForTokenClassification",xt]],["roformer",["RoFormerForTokenClassification",aA]],["electra",["ElectraForTokenClassification",zA]],["esm",["EsmForTokenClassification",Ra]],["convbert",["ConvBertForTokenClassification",gr]],["camembert",["CamembertForTokenClassification",ZA]],["deberta",["DebertaForTokenClassification",Vs]],["deberta-v2",["DebertaV2ForTokenClassification",Qa]],["mpnet",["MPNetForTokenClassification",tn]],["distilbert",["DistilBertForTokenClassification",Yn]],["roberta",["RobertaForTokenClassification",or]],["xlm",["XLMForTokenClassification",Fi]],["xlm-roberta",["XLMRobertaForTokenClassification",Ns]]]),Rc=new Map([["t5",["T5ForConditionalGeneration",jr]],["longt5",["LongT5ForConditionalGeneration",ir]],["mt5",["MT5ForConditionalGeneration",_r]],["bart",["BartForConditionalGeneration",ts]],["mbart",["MBartForConditionalGeneration",TA]],["marian",["MarianMTModel",_l]],["m2m_100",["M2M100ForConditionalGeneration",So]],["blenderbot",["BlenderbotForConditionalGeneration",os]],["blenderbot-small",["BlenderbotSmallForConditionalGeneration",yi]]]),jc=new Map([["bloom",["BloomForCausalLM",Dn]],["gpt2",["GPT2LMHeadModel",fn]],["jais",["JAISLMHeadModel",go]],["gptj",["GPTJForCausalLM",Gi]],["gpt_bigcode",["GPTBigCodeForCausalLM",Ws]],["gpt_neo",["GPTNeoForCausalLM",ho]],["gpt_neox",["GPTNeoXFor
2805CausalLM",Jn]],["codegen",["CodeGenForCausalLM",$n]],["llama",["LlamaForCausalLM",s0]],["exaone",["ExaoneForCausalLM",gn]],["olmo",["OlmoForCausalLM",bo]],["olmo2",["Olmo2ForCausalLM",Zi]],["mobilellm",["MobileLLMForCausalLM",aa]],["granite",["GraniteForCausalLM",Xi]],["cohere",["CohereForCausalLM",_i]],["gemma",["GemmaForCausalLM",Co]],["gemma2",["Gemma2ForCausalLM",qi]],["helium",["HeliumForCausalLM",sa]],["glm",["GlmForCausalLM",za]],["openelm",["OpenELMForCausalLM",n0]],["qwen2",["Qwen2ForCausalLM",Ia]],["phi",["PhiForCausalLM",bn]],["phi3",["Phi3ForCausalLM",Mn]],["mpt",["MptForCausalLM",Cn]],["opt",["OPTForCausalLM",vr]],["mbart",["MBartForCausalLM",Ss]],["mistral",["MistralForCausalLM",R2]],["starcoder2",["Starcoder2ForCausalLM",j2]],["falcon",["FalconForCausalLM",W2]],["trocr",["TrOCRForCausalLM",Y2]],["stablelm",["StableLmForCausalLM",eu]],["phi3_v",["Phi3VForCausalLM",uA]]]),n1=new Map([["multi_modality",["MultiModalityCausalLM",hu]]]),yu=new Map([["bert",["BertForMaskedLM",oe]],["modernbert",["ModernBertForMaskedLM",st]],["roformer",["RoFormerForMaskedLM",eA]],["electra",["ElectraForMaskedLM",iA]],["esm",["EsmForMaskedLM",Rn]],["convbert",["ConvBertForMaskedLM",mA]],["camembert",["CamembertForMaskedLM",MA]],["deberta",["DebertaForMaskedLM",Er]],["deberta-v2",["DebertaV2ForMaskedLM",Ja]],["mpnet",["MPNetForMaskedLM",Pa]],["albert",["AlbertForMaskedLM",pA]],["distilbert",["DistilBertForMaskedLM",Br]],["roberta",["RobertaForMaskedLM",$s]],["xlm",["XLMWithLMHeadModel",io]],["xlm-roberta",["XLMRobertaForMaskedLM",vn]],["mobilebert",["MobileBertForMaskedLM",ja]],["squeezebert",["SqueezeBertForMaskedLM",qe]]]),Eu=new Map([["bert",["BertForQuestionAnswering",fe]],["roformer",["RoFormerForQuestionAnswering",bA]],["electra",["ElectraForQuestionAnswering",Fr]],["convbert",["ConvBertForQuestionAnswering",CA]],["camembert",["CamembertForQuestionAnswering",FA]],["deberta",["DebertaForQuestionAnswering",nr]],["deberta-v2",["DebertaV2ForQuestionAnswering",$a]],["mpnet",["MPNetForQuestionAnswering",Wa]],["albert",["AlbertForQuestionAnswering",gt]],["distilbert",["DistilBertForQuestionAnswering",Ma]],["roberta",["RobertaForQuestionAnswering",ea]],["xlm",["XLMForQuestionAnswering",Wn]],["xlm-roberta",["XLMRobertaForQuestionAnswering",BA]],["mobilebert",["MobileBertForQuestionAnswering",fr]],["squeezebert",["SqueezeBertForQuestionAnswering",mt]]]),Wc=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",Wr]],["idefics3",["Idefics3ForConditionalGeneration",_o]]]),i1=new Map([["llava",["LlavaForConditionalGeneration",Yi]],["llava_onevision",["LlavaOnevisionForConditionalGeneration",Gs]],["moondream1",["Moondream1ForConditionalGeneration",fi]],["florence2",["Florence2ForConditionalGeneration",Zn]],["qwen2-vl",["Qwen2VLForConditionalGeneration",sn]],["idefics3",["Idefics3ForConditionalGeneration",_o]],["paligemma",["PaliGemmaForConditionalGeneration",Pn]]]),o1=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",Wr]]]),Bu=new Map([["vit",["ViTForImageClassification",wa]],["ijepa",["IJepaForImageClassification",In]],["pvt",["PvtForImageClassification",Ti]],["vit_msn",["ViTMSNForImageClassification",i0]],["fastvit",["FastViTForImageClassification",r]],["mobilevit",["MobileViTForImageClassification",m]],["mobilevitv2",["MobileViTV2ForImageClassification",y]],["beit",["BeitForImageClassification",$e]],["deit",["DeiTForImageClassification",Ms]],["hiera",["HieraForImageClassification",ga]],["convnext",["ConvNextForImageClassification",I0]],["convnextv2",["ConvNextV2ForImageClassification",kl]],["dinov2",["Dinov2ForImageClassification",Pi]],["dinov2_with_registers",["Dinov2WithRegistersForImageClassification",Ni]],["resnet",["ResNetForImageClassification",pa]],["swin",["SwinForImageClassification",Ln]],["segformer",["SegformerForImageClassification",q2]],["efficientnet",["EfficientNetForImageClassification",Au]],["mobilenet_v1",["MobileNetV1ForImageClassification",au]],["mobilenet_v2",["MobileNetV2ForImageClassification",iu]],["mobilenet_v3",["MobileNetV3ForImageClassification",lu]],["mobilenet_v4",["MobileNetV4ForImageClassification",uu]]]),xu=new Map([["detr",["DetrForObjectDetection",yt]],["rt_detr",["RTDetrForObjectDetection",VA]],["table-transformer",["TableTransformerForObjectDetection",Xr]],["yolos",["YolosForObjectDetection",xl]]]),Mu=new Map([["owlvit",["OwlViTForObjectDetection",ee]],["owlv2",["Owlv2ForObjectDetection",be]],["grounding-dino",["GroundingDinoForObjectDetection",El]]]),Du=new Map([["detr",["DetrForSegmentation",Pt]],["clipseg",["CLIPSegForImageSegmentation",ua]]]),Gu=new Map([["segformer",["SegformerForSemanticSegmentation",J2]],["sapiens",["SapiensForSemanticSegmentation",fl]]]),_u=new Map([["detr",["DetrForSegmentation",Pt]],["maskformer",["MaskFormerForInstanceSegmentation",b0]]]),Uc=new Map([["sam",["SamModel",Dl]]]),Tu=new Map([["wav2vec2",["Wav2Vec2ForCTC",Pl]],["wav2vec2-bert",["Wav2Vec2BertForCTC",jl]],["unispeech",["UniSpeechForCTC",d0]],["unispeech-sat",["UniSpeechSatForCTC",Hl]],["wavlm",["WavLMForCTC",S2]],["hubert",["HubertForCTC",T2]]]),Kc=new Map([["wav2vec2",["Wav2Vec2ForSequenceClassification",y0]],["wav2vec2-bert",["Wav2Vec2BertForSequenceClassification",G2]],["unispeech",["UniSpeechForSequenceClassification",Ll]],["unispeech-sat",["UniSpeechSatForSequenceClassification",x0]],["wavlm",["WavLMForSequenceClassification",N2]],["hubert",["HubertForSequenceClassification",Q2]],["audio-spectrogram-transformer",["ASTForAudioClassification",Vi]]]),Zc=new Map([["wavlm",["WavLMForXVector",z2]]]),Xc=new Map([["unispeech-sat",["UniSpeechSatForAudioFrameClassification",Yl]],["wavlm",["WavLMForAudioFrameClassification",O2]],["wav2vec2",["Wav2Vec2ForAudioFrameClassification",Sl]],["pyannote",["PyAnnoteForAudioFrameClassification",zl]]]),Qu=new Map([["vitmatte",["VitMatteForImageMatting",i]]]),l1=new Map([["patchtst",["PatchTSTForPrediction",Wl]],["patchtsmixer",["PatchTSMixerForPrediction",Iu]]]),qc=new Map([["swin2sr",["Swin2SRForImageSuperResolution",to]]]),Pu=ne
2805w Map([["dpt",["DPTForDepthEstimation",Xo]],["depth_anything",["DepthAnythingForDepthEstimation",l0]],["glpn",["GLPNForDepthEstimation",bl]],["sapiens",["SapiensForDepthEstimation",dl]],["depth_pro",["DepthProForDepthEstimation",hl]]]),Su=new Map([["sapiens",["SapiensForNormalEstimation",gl]]]),c1=new Map([["vitpose",["VitPoseForPoseEstimation",Po]]]),Jc=new Map([["clip",["CLIPVisionModelWithProjection",js]],["siglip",["SiglipVisionModel",_s]],["jina_clip",["JinaCLIPVisionModel",Di]]]),G0=[[r1,g],[s1,v],[a1,_],[Yc,g],[vu,g],[Rc,e],[Hc,e],[jc,_],[n1,Ie],[yu,g],[Eu,g],[Wc,d],[i1,S],[Bu,g],[Du,g],[_u,g],[Gu,g],[Qu,g],[l1,g],[qc,g],[Pu,g],[Su,g],[c1,g],[xu,g],[Mu,g],[Uc,re],[Tu,g],[Kc,g],[wu,e],[ku,g],[Zc,g],[Xc,g],[Jc,g]];for(const[le,xe]of G0)for(const[Ye,Et]of le.values())ce.set(Ye,xe),Ce.set(Et,Ye),ge.set(Ye,Et);const Nu=[["MusicgenForConditionalGeneration",Sc,F],["Phi3VForCausalLM",uA,he],["CLIPTextModelWithProjection",co,g],["SiglipTextModel",uo,g],["JinaCLIPTextModel",Ri,g],["ClapTextModelWithProjection",K2,g],["ClapAudioModelWithProjection",Z2,g]];for(const[le,xe,Ye]of Nu)ce.set(le,Ye),Ce.set(xe,le),ge.set(le,xe);class zu extends Is{}Ct(zu,"MODEL_CLASS_MAPPINGS",G0.map(xe=>xe[0])),Ct(zu,"BASE_IF_FAIL",!0);class u1 extends Is{}Ct(u1,"MODEL_CLASS_MAPPINGS",[Yc]);class hr extends Is{}Ct(hr,"MODEL_CLASS_MAPPINGS",[vu]);class Ou extends Is{}Ct(Ou,"MODEL_CLASS_MAPPINGS",[Rc]);class qo extends Is{}Ct(qo,"MODEL_CLASS_MAPPINGS",[Hc]);class Fu extends Is{}Ct(Fu,"MODEL_CLASS_MAPPINGS",[wu]);class $c extends Is{}Ct($c,"MODEL_CLASS_MAPPINGS",[ku]);class f1 extends Is{}Ct(f1,"MODEL_CLASS_MAPPINGS",[jc]);class va extends Is{}Ct(va,"MODEL_CLASS_MAPPINGS",[yu]);class yr extends Is{}Ct(yr,"MODEL_CLASS_MAPPINGS",[Eu]);class Qr extends Is{}Ct(Qr,"MODEL_CLASS_MAPPINGS",[Wc]);class h0 extends Is{}Ct(h0,"MODEL_CLASS_MAPPINGS",[Bu]);class d1 extends Is{}Ct(d1,"MODEL_CLASS_MAPPINGS",[Du]);class e2 extends Is{}Ct(e2,"MODEL_CLASS_MAPPINGS",[Gu]);class g1 extends Is{}Ct(g1,"MODEL_CLASS_MAPPINGS",[_u]);class t2 extends Is{}Ct(t2,"MODEL_CLASS_MAPPINGS",[xu]);class h1 extends Is{}Ct(h1,"MODEL_CLASS_MAPPINGS",[Mu]);class p1 extends Is{}Ct(p1,"MODEL_CLASS_MAPPINGS",[Uc]);class A2 extends Is{}Ct(A2,"MODEL_CLASS_MAPPINGS",[Tu]);class m1 extends Is{}Ct(m1,"MODEL_CLASS_MAPPINGS",[Kc]);class b1 extends Is{}Ct(b1,"MODEL_CLASS_MAPPINGS",[Zc]);class C1 extends Is{}Ct(C1,"MODEL_CLASS_MAPPINGS",[Xc]);class _0 extends Is{}Ct(_0,"MODEL_CLASS_MAPPINGS",[o1]);class r2 extends Is{}Ct(r2,"MODEL_CLASS_MAPPINGS",[Qu]);class I1 extends Is{}Ct(I1,"MODEL_CLASS_MAPPINGS",[qc]);class s2 extends Is{}Ct(s2,"MODEL_CLASS_MAPPINGS",[Pu]);class a2 extends Is{}Ct(a2,"MODEL_CLASS_MAPPINGS",[Su]);class w1 extends Is{}Ct(w1,"MODEL_CLASS_MAPPINGS",[c1]);class k1 extends Is{}Ct(k1,"MODEL_CLASS_MAPPINGS",[Jc]);class rf extends rt{constructor({logits:xe,past_key_values:Ye,encoder_outputs:Et,decoder_attentions:Ht=null,cross_attentions:Vt=null}){super(),this.logits=xe,this.past_key_values=Ye,this.encoder_outputs=Et,this.decoder_attentions=Ht,this.cross_attentions=Vt}}class xr extends rt{constructor({logits:xe,...Ye}){super(),this.logits=xe;const Et=Object.values(Ye);Et.length>0&&(this.attentions=Et)}}class v1 extends rt{constructor({logits:xe,embeddings:Ye}){super(),this.logits=xe,this.embeddings=Ye}}class kn extends rt{constructor({logits:xe}){super(),this.logits=xe}}class _n extends rt{constructor({logits:xe}){super(),this.logits=xe}}class ri extends rt{constructor({start_logits:xe,end_logits:Ye}){super(),this.start_logits=xe,this.end_logits=Ye}}class Z0 extends rt{constructor({logits:xe}){super(),this.logits=xe}}class sf extends rt{constructor({logits:xe,past_key_values:Ye}){super(),this.logits=xe,this.past_key_values=Ye}}class y1 extends rt{constructor({alphas:xe}){super(),this.alphas=xe}}class E1 extends rt{constructor({waveform:xe,spectrogram:Ye}){super(),this.waveform=xe,this.spectrogram=Ye}}},
2805"./src/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.js":(c,a,s)=>{s.r(a),s.d(a,{ASTFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var u=s("./src/utils/audio.js");class p extends o.FeatureExtractor{constructor(b){super(b);const k=this.config.sampling_rate,E=(0,u.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(k/2),k,null,"kaldi",!0);for(let B=0;B<E.length;++B)E[B].push(0);this.mel_filters=E,this.window=(0,u.window_function)(400,"hann",{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}async _extract_fbank_features(b,k){return(0,u.spectrogram)(b,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:k,transpose:!0})}async _call(b){(0,o.validate_audio_inputs)(b,"ASTFeatureExtractor");const k=await this._extract_fbank_features(b,this.config.max_length);if(this.config.do_normalize){const E=2*this.std,B=k.data;for(let G=0;G<B.length;++G)B[G]=(B[G]-this.mean)/E}return{input_values:k.unsqueeze_(0)}}}},
2805"./src/models/auto/feature_extraction_auto.js":(c,a,s)=>{s.r(a),s.d(a,{AutoFeatureExtractor:()=>C});var o=s("./src/utils/constants.js"),u=s("./src/utils/hub.js");s("./src/base/feature_extraction_utils.js");var p=s("./src/models/feature_extractors.js");class C{static async from_pretrained(k,E={}){const B=await(0,u.getModelJSON)(k,o.FEATURE_EXTRACTOR_NAME,!0,E),G=B.feature_extractor_type,D=p[G];if(!D)throw new Error(`Unknown feature_extractor_type: '${G}'. Please report this at ${o.GITHUB_ISSUE_URL}.`);return new D(B)}}},
2805"./src/models/auto/image_processing_auto.js":(c,a,s)=>{s.r(a),s.d(a,{AutoImageProcessor:()=>b});var o=s("./src/utils/constants.js"),u=s("./src/utils/hub.js"),p=s("./src/base/image_processors_utils.js"),C=s("./src/models/image_processors.js");class b{static async from_pretrained(E,B={}){const G=await(0,u.getModelJSON)(E,o.IMAGE_PROCESSOR_NAME,!0,B),D=G.image_processor_type??G.feature_extractor_type;let Q=C[D];return Q||(D!==void 0&&console.warn(`Image processor type '${D}' not found, assuming base ImageProcessor. Please report this at ${o.GITHUB_ISSUE_URL}.`),Q=p.ImageProcessor),new Q(G)}}},
vendor: 943 bytes, line 2805
2805"./src/models/auto/processing_auto.js":(c,a,s)=>{s.r(a),s.d(a,{AutoProcessor:()=>E});var o=s("./src/utils/constants.js"),u=s("./src/utils/hub.js"),p=s("./src/base/processing_utils.js"),C=s("./src/models/processors.js"),b=s("./src/models/image_processors.js"),k=s("./src/models/feature_extractors.js");class E{static async from_pretrained(G,D={}){const Q=await(0,u.getModelJSON)(G,o.IMAGE_PROCESSOR_NAME,!0,D),{image_processor_type:V,feature_extractor_type:W,processor_class:U}=Q;if(U&&C[U])return C[U].from_pretrained(G,D);if(!V&&!W)throw new Error("No `image_processor_type` or `feature_extractor_type` found in the config.");const H={};if(V){const K=b[V];if(!K)throw new Error(`Unknown image_processor_type: '${V}'.`);H.image_processor=new K(Q)}if(W){const K=b[W];if(K)H.image_processor=new K(Q);else{const J=k[W];if(!J)throw new Error(`Unknown feature_extractor_type: '${W}'.`);H.feature_extractor=new J(Q)}}return new p.Processor({},H)}}},
2805"./src/models/beit/image_processing_beit.js":(c,a,s)=>{s.r(a),s.d(a,{BeitFeatureExtractor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}},
2805"./src/models/bit/image_processing_bit.js":(c,a,s)=>{s.r(a),s.d(a,{BitImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}},
2805"./src/models/chinese_clip/image_processing_chinese_clip.js":(c,a,s)=>{s.r(a),s.d(a,{ChineseCLIPFeatureExtractor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}},
2805"./src/models/clap/feature_extraction_clap.js":(c,a,s)=>{s.r(a),s.d(a,{ClapFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var u=s("./src/utils/audio.js");class p extends o.FeatureExtractor{constructor(b){super(b),this.mel_filters=(0,u.mel_filter_bank)(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,null,"htk"),this.mel_filters_slaney=(0,u.mel_filter_bank)(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,"slaney","slaney"),this.window=(0,u.window_function)(this.config.fft_window_size,"hann")}async _get_input_mel(b,k,E,B){let G;const D=b.length-k;if(D>0){if(E!=="rand_trunc")throw new Error(`Truncation strategy "${E}" not implemented`);{const Q=Math.floor(Math.random()*(D+1));b=b.subarray(Q,Q+k),G=await this._extract_fbank_features(b,this.mel_filters_slaney,this.config.nb_max_samples)}}else{if(D<0){let Q=new Float64Array(k);if(Q.set(b),B==="repeat")for(let V=b.length;V<k;V+=b.length)Q.set(b.subarray(0,Math.min(b.length,k-V)),V);else if(B==="repeatpad")for(let V=b.length;V<-D;V+=b.length)Q.set(b,V);b=Q}if(E==="fusion")throw new Error(`Truncation strategy "${E}" not implemented`);G=await this._extract_fbank_features(b,this.mel_filters_slaney,this.config.nb_max_samples)}return G.unsqueeze_(0)}async _extract_fbank_features(b,k,E=null){return(0,u.spectrogram)(b,this.window,this.config.fft_window_size,this.config.hop_length,{power:2,mel_filters:k,log_mel:"dB",max_num_frames:E,do_pad:!1,transpose:!0})}async _call(b,{max_length:k=null}={}){return(0,o.validate_audio_inputs)(b,"ClapFeatureExtractor"),{input_features:(await this._get_input_mel(b,k??this.config.nb_max_samples,this.config.truncation,this.config.padding)).unsqueeze_(0)}}}},
2805"./src/models/clip/image_processing_clip.js":(c,a,s)=>{s.r(a),s.d(a,{CLIPFeatureExtractor:()=>p,CLIPImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2805"./src/models/convnext/image_processing_convnext.js":(c,a,s)=>{s.r(a),s.d(a,{ConvNextFeatureExtractor:()=>p,ConvNextImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{constructor(b){super(b),this.crop_pct=this.config.crop_pct??.875}async resize(b){var E;const k=(E=this.size)==null?void 0:E.shortest_edge;if(k===void 0)throw new Error("Size dictionary must contain 'shortest_edge' key.");if(k<384){const B=Math.floor(k/this.crop_pct),[G,D]=this.get_resize_output_image_size(b,{shortest_edge:B});b=await b.resize(G,D,{resample:this.resample}),b=await b.center_crop(k,k)}else b=await b.resize(k,k,{resample:this.resample});return b}}class p extends u{}},
2805"./src/models/deit/image_processing_deit.js":(c,a,s)=>{s.r(a),s.d(a,{DeiTFeatureExtractor:()=>p,DeiTImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
vendor: 649 bytes, line 2805
2805"./src/models/detr/image_processing_detr.js":(c,a,s)=>{s.r(a),s.d(a,{DetrFeatureExtractor:()=>C,DetrImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),u=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(k){const E=await super._call(k),B=[E.pixel_values.dims[0],64,64],G=(0,u.full)(B,1n);return{...E,pixel_mask:G}}post_process_object_detection(...k){return(0,o.post_process_object_detection)(...k)}post_process_panoptic_segmentation(...k){return(0,o.post_process_panoptic_segmentation)(...k)}post_process_instance_segmentation(...k){return(0,o.post_process_instance_segmentation)(...k)}}class C extends p{}},
2805"./src/models/donut/image_processing_donut.js":(c,a,s)=>{s.r(a),s.d(a,{DonutFeatureExtractor:()=>p,DonutImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{pad_image(b,k,E,B={}){const[G,D,Q]=k;let V=this.image_mean;Array.isArray(this.image_mean)||(V=new Array(Q).fill(V));let W=this.image_std;Array.isArray(W)||(W=new Array(Q).fill(V));const U=V.map((H,K)=>-H/W[K]);return super.pad_image(b,k,E,{center:!0,constant_values:U,...B})}}class p extends u{}},
2805"./src/models/dpt/image_processing_dpt.js":(c,a,s)=>{s.r(a),s.d(a,{DPTFeatureExtractor:()=>p,DPTImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2805"./src/models/efficientnet/image_processing_efficientnet.js":(c,a,s)=>{s.r(a),s.d(a,{EfficientNetImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{constructor(C){super(C),this.include_top=this.config.include_top??!0,this.include_top&&(this.image_std=this.image_std.map(b=>b*b))}}},
2805"./src/models/feature_extractors.js":(c,a,s)=>{s.r(a),s.d(a,{ASTFeatureExtractor:()=>o.ASTFeatureExtractor,ClapFeatureExtractor:()=>u.ClapFeatureExtractor,ImageFeatureExtractor:()=>D.ImageProcessor,MoonshineFeatureExtractor:()=>p.MoonshineFeatureExtractor,PyAnnoteFeatureExtractor:()=>C.PyAnnoteFeatureExtractor,SeamlessM4TFeatureExtractor:()=>b.SeamlessM4TFeatureExtractor,SpeechT5FeatureExtractor:()=>k.SpeechT5FeatureExtractor,Wav2Vec2FeatureExtractor:()=>E.Wav2Vec2FeatureExtractor,WeSpeakerFeatureExtractor:()=>B.WeSpeakerFeatureExtractor,WhisperFeatureExtractor:()=>G.WhisperFeatureExtractor});var o=s("./src/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.js"),u=s("./src/models/clap/feature_extraction_clap.js"),p=s("./src/models/moonshine/feature_extraction_moonshine.js"),C=s("./src/models/pyannote/feature_extraction_pyannote.js"),b=s("./src/models/seamless_m4t/feature_extraction_seamless_m4t.js"),k=s("./src/models/speecht5/feature_extraction_speecht5.js"),E=s("./src/models/wav2vec2/feature_extraction_wav2vec2.js"),B=s("./src/models/wespeaker/feature_extraction_wespeaker.js"),G=s("./src/models/whisper/feature_extraction_whisper.js"),D=s("./src/base/image_processors_utils.js")},
2805"./src/models/florence2/processing_florence2.js":(c,a,s)=>{s.r(a),s.d(a,{Florence2Processor:()=>C});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");class C extends o.Processor{constructor(k,E){super(k,E);const{tasks_answer_post_processing_type:B,task_prompts_without_inputs:G,task_prompts_with_input:D}=this.image_processor.config;this.tasks_answer_post_processing_type=new Map(Object.entries(B??{})),this.task_prompts_without_inputs=new Map(Object.entries(G??{})),this.task_prompts_with_input=new Map(Object.entries(D??{})),this.regexes={quad_boxes:/(.+?)<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm,bboxes:/([^<]+)?<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm},this.size_per_bin=1e3}construct_prompts(k){typeof k=="string"&&(k=[k]);const E=[];for(const B of k)if(this.task_prompts_without_inputs.has(B))E.push(this.task_prompts_without_inputs.get(B));else{for(const[G,D]of this.task_prompts_with_input)if(B.includes(G)){E.push(D.replaceAll("{input}",B).replaceAll(G,""));break}E.length!==k.length&&E.push(B)}return E}post_process_generation(k,E,B){const G=this.tasks_answer_post_processing_type.get(E)??"pure_text";let D;switch(k=k.replaceAll("<s>","").replaceAll("</s>",""),G){case"pure_text":D=k;break;case"description_with_bboxes":case"bboxes":case"phrase_grounding":case"ocr":const Q=G==="ocr"?"quad_boxes":"bboxes",V=k.matchAll(this.regexes[Q]),W=[],U=[];for(const[H,K,...J]of V)W.push(K?K.trim():W.at(-1)??""),U.push(J.map((g,v)=>(Number(g)+.5)/this.size_per_bin*B[v%2]));D={labels:W,[Q]:U};break;default:throw new Error(`Task "${E}" (of type "${G}") not yet implemented.`)}return{[E]:D}}async _call(k,E=null,B={}){if(!k&&!E)throw new Error("Either text or images must be provided");return{...await this.image_processor(k,B),...E?this.tokenizer(E,B):{}}}}Ct(C,"tokenizer_class",p.AutoTokenizer),Ct(C,"image_processor_class",u.AutoImageProcessor)},
2805"./src/models/glpn/image_processing_glpn.js":(c,a,s)=>{s.r(a),s.d(a,{GLPNFeatureExtractor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}},
2805"./src/models/grounding_dino/image_processing_grounding_dino.js":(c,a,s)=>{s.r(a),s.d(a,{GroundingDinoImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),u=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(b){const k=await super._call(b),E=k.pixel_values.dims,B=(0,u.ones)([E[0],E[2],E[3]]);return{...k,pixel_mask:B}}}},
2805"./src/models/grounding_dino/processing_grounding_dino.js":(c,a,s)=>{s.r(a),s.d(a,{GroundingDinoProcessor:()=>k});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js"),C=s("./src/base/image_processors_utils.js");function b(E,B){const G=E.dims.at(-1)-1,D=E.tolist();D.fill(!1,0,1),D.fill(!1,G);const Q=B.tolist();return D.map((V,W)=>V?W:null).filter(V=>V!==null).map(V=>Q[V])}class k extends o.Processor{async _call(B,G,D={}){const Q=B?await this.image_processor(B,D):{};return{...G?this.tokenizer(G,D):{},...Q}}post_process_grounded_object_detection(B,G,{box_threshold:D=.25,text_threshold:Q=.25,target_sizes:V=null}={}){const{logits:W,pred_boxes:U}=B,H=W.dims[0];if(V!==null&&V.length!==H)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const K=W.dims.at(1),J=W.sigmoid(),g=J.max(-1).tolist(),v=U.tolist().map(d=>d.map(_=>(0,C.center_to_corners_format)(_))),e=[];for(let d=0;d<H;++d){const _=V!==null?V[d]:null;_!==null&&(v[d]=v[d].map(he=>he.map((ce,ge)=>ce*_[(ge+1)%2])));const re=g[d],S=[],F=[],Ie=[];for(let he=0;he<K;++he){const ce=re[he];if(ce<=D)continue;const ge=v[d][he],Ce=J[d][he];S.push(ce),Ie.push(ge);const Fe=b(Ce.gt(Q),G[d]);F.push(Fe)}e.push({scores:S,boxes:Ie,labels:this.batch_decode(F)})}return e}}Ct(k,"tokenizer_class",p.AutoTokenizer),Ct(k,"image_processor_class",u.AutoImageProcessor)},
2805"./src/models/idefics3/image_processing_idefics3.js":(c,a,s)=>{s.r(a),s.d(a,{Idefics3ImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),u=s("./src/utils/tensor.js");class p extends o.ImageProcessor{constructor(b){super(b),this.do_image_splitting=b.do_image_splitting??!0,this.max_image_size=b.max_image_size}get_resize_for_vision_encoder(b,k){let[E,B]=b.dims.slice(-2);const G=B/E;return B>=E?(B=Math.ceil(B/k)*k,E=Math.floor(B/G),E=Math.ceil(E/k)*k):(E=Math.ceil(E/k)*k,B=Math.floor(E*G),B=Math.ceil(B/k)*k),{height:E,width:B}}async _call(b,{do_image_splitting:k=null,return_row_col_info:E=!1}={}){let B;if(Array.isArray(b)){if(b.length===0||!b[0])throw new Error("No images provided.");B=Array.isArray(b[0])?b:[b]}else B=[[b]];let G=[],D=[],Q=[];const V=[],W=[];for(const d of B){let _=await Promise.all(d.map(F=>this.preprocess(F)));V.push(..._.map(F=>F.original_size)),W.push(..._.map(F=>F.reshaped_input_size)),_.forEach(F=>F.pixel_values.unsqueeze_(0));const{longest_edge:re}=this.max_image_size;let S;if(k??this.do_image_splitting){let F=new Array(_.length),Ie=new Array(_.length);S=await Promise.all(_.map(async(he,ce)=>{const ge=this.get_resize_for_vision_encoder(he.pixel_values,re),Ce=await(0,u.interpolate_4d)(he.pixel_values,{size:[ge.height,ge.width]}),{frames:Fe,num_splits_h:Pe,num_splits_w:de}=await this.split_image(Ce,this.max_image_size);return F[ce]=Pe,Ie[ce]=de,(0,u.cat)(Fe,0)})),D.push(F),Q.push(Ie)}else{const F=[re,re];S=await Promise.all(_.map(Ie=>(0,u.interpolate_4d)(Ie.pixel_values,{size:F}))),D.push(new Array(_.length).fill(0)),Q.push(new Array(_.length).fill(0))}G.push((0,u.cat)(S,0))}const U=G.length,[H,K,J,g]=G[0].dims;let v,e;if(U===1)v=G[0].unsqueeze_(0),e=(0,u.full)([U,H,J,g],!0);else{const d=Math.max(...G.map(S=>S.dims.at(0)));e=(0,u.full)([U,d,J,g],!0);const _=e.data,re=d*J*g;for(let S=0;S<U;++S){const F=G[S].dims[0];if(F<d){G[S]=(0,u.cat)([G[S],(0,u.full)([d-F,K,J,g],0)],0);const Ie=S*re+F*J*g,he=(S+1)*re;_.fill(!1,Ie,he)}}v=(0,u.stack)(G,0)}return{pixel_values:v,pixel_attention_mask:e,original_sizes:V,reshaped_input_sizes:W,...E?{rows:D,cols:Q}:{}}}async split_image(b,{longest_edge:k}){const E=k,B=k,G=[],[D,Q]=b.dims.slice(-2);let V=0,W=0;if(D>E||Q>B){V=Math.ceil(D/E),W=Math.ceil(Q/B);const U=Math.ceil(D/V),H=Math.ceil(Q/W);for(let g=0;g<V;++g)for(let v=0;v<W;++v){let e,d,_,re;g===V-1?(d=D-U,re=D):(d=g*U,re=(g+1)*U),v===W-1?(e=Q-H,_=Q):(e=v*H,_=(v+1)*H);const S=[d,e],F=[re,_],Ie=await(0,u.slice)(b,S,F,[2,3]);G.push(Ie)}const K=E,J=B;D===K&&Q===J||(b=await(0,u.interpolate_4d)(b,{size:[K,J]}))}return G.push(b),{frames:G,num_splits_h:V,num_splits_w:W}}}},
2805"./src/models/idefics3/processing_idefics3.js":(c,a,s)=>{s.r(a),s.d(a,{Idefics3Processor:()=>k});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");s("./src/utils/image.js");var C=s("./src/utils/core.js");function b(E,B,G,D,Q,V){return E===0&&B===0?function(W,U,H,K){return`${U}${K}`+H.repeat(W)+`${U}`}(G,D,Q,V):function(W,U,H,K,J,g){let v="";for(let e=0;e<U;++e){for(let d=0;d<H;++d)v+=K+`<row_${e+1}_col_${d+1}>`+J.repeat(W);v+=`
2806`}return v+=`
2807${K}${g}`+J.repeat(W)+`${K}`,v}(G,E,B,D,Q,V)}class k extends o.Processor{constructor(){super(...arguments);Ct(this,"fake_image_token","<fake_token_around_image>");Ct(this,"image_token","<image>");Ct(this,"global_img_token","<global-img>")}async _call(G,D=null,Q={}){let V;Q.return_row_col_info??(Q.return_row_col_info=!0),D&&(V=await this.image_processor(D,Q)),Array.isArray(G)||(G=[G]);const W=V.rows??[new Array(G.length).fill(0)],U=V.cols??[new Array(G.length).fill(0)],H=this.config.image_seq_len,K=[],J=[];for(let g=0;g<G.length;++g){const v=G[g],e=W[g],d=U[g];K.push((0,C.count)(v,this.image_token));const _=e.map((F,Ie)=>b(F,d[Ie],H,this.fake_image_token,this.image_token,this.global_img_token)),re=v.split(this.image_token);if(re.length===0)throw new Error("The image token should be present in the text.");let S=re[0];for(let F=0;F<_.length;++F)S+=_[F]+re[F+1];J.push(S)}return{...this.tokenizer(J),...V}}}Ct(k,"image_processor_class",u.AutoImageProcessor),Ct(k,"tokenizer_class",p.AutoTokenizer),Ct(k,"uses_processor_config",!0)},
2807"./src/models/image_processors.js":(c,a,s)=>{s.r(a),s.d(a,{BeitFeatureExtractor:()=>o.BeitFeatureExtractor,BitImageProcessor:()=>u.BitImageProcessor,CLIPFeatureExtractor:()=>C.CLIPFeatureExtractor,CLIPImageProcessor:()=>C.CLIPImageProcessor,ChineseCLIPFeatureExtractor:()=>p.ChineseCLIPFeatureExtractor,ConvNextFeatureExtractor:()=>b.ConvNextFeatureExtractor,ConvNextImageProcessor:()=>b.ConvNextImageProcessor,DPTFeatureExtractor:()=>G.DPTFeatureExtractor,DPTImageProcessor:()=>G.DPTImageProcessor,DeiTFeatureExtractor:()=>k.DeiTFeatureExtractor,DeiTImageProcessor:()=>k.DeiTImageProcessor,DetrFeatureExtractor:()=>E.DetrFeatureExtractor,DetrImageProcessor:()=>E.DetrImageProcessor,DonutFeatureExtractor:()=>B.DonutFeatureExtractor,DonutImageProcessor:()=>B.DonutImageProcessor,EfficientNetImageProcessor:()=>D.EfficientNetImageProcessor,GLPNFeatureExtractor:()=>Q.GLPNFeatureExtractor,GroundingDinoImageProcessor:()=>V.GroundingDinoImageProcessor,Idefics3ImageProcessor:()=>W.Idefics3ImageProcessor,JinaCLIPImageProcessor:()=>H.JinaCLIPImageProcessor,LlavaOnevisionImageProcessor:()=>K.LlavaOnevisionImageProcessor,Mask2FormerImageProcessor:()=>J.Mask2FormerImageProcessor,MaskFormerFeatureExtractor:()=>g.MaskFormerFeatureExtractor,MaskFormerImageProcessor:()=>g.MaskFormerImageProcessor,MobileNetV1FeatureExtractor:()=>v.MobileNetV1FeatureExtractor,MobileNetV1ImageProcessor:()=>v.MobileNetV1ImageProcessor,MobileNetV2FeatureExtractor:()=>e.MobileNetV2FeatureExtractor,MobileNetV2ImageProcessor:()=>e.MobileNetV2ImageProcessor,MobileNetV3FeatureExtractor:()=>d.MobileNetV3FeatureExtractor,MobileNetV3ImageProcessor:()=>d.MobileNetV3ImageProcessor,MobileNetV4FeatureExtractor:()=>_.MobileNetV4FeatureExtractor,MobileNetV4ImageProcessor:()=>_.MobileNetV4ImageProcessor,MobileViTFeatureExtractor:()=>re.MobileViTFeatureExtractor,MobileViTImageProcessor:()=>re.MobileViTImageProcessor,NougatImageProcessor:()=>S.NougatImageProcessor,OwlViTFeatureExtractor:()=>Ie.OwlViTFeatureExtractor,OwlViTImageProcessor:()=>Ie.OwlViTImageProcessor,Owlv2ImageProcessor:()=>F.Owlv2ImageProcessor,Phi3VImageProcessor:()=>he.Phi3VImageProcessor,PvtImageProcessor:()=>ce.PvtImageProcessor,Qwen2VLImageProcessor:()=>ge.Qwen2VLImageProcessor,RTDetrImageProcessor:()=>Ce.RTDetrImageProcessor,SamImageProcessor:()=>Fe.SamImageProcessor,SegformerFeatureExtractor:()=>Pe.SegformerFeatureExtractor,SegformerImageProcessor:()=>Pe.SegformerImageProcessor,SiglipImageProcessor:()=>de.SiglipImageProcessor,Swin2SRImageProcessor:()=>pe.Swin2SRImageProcessor,VLMImageProcessor:()=>U.VLMImageProcessor,ViTFeatureExtractor:()=>we.ViTFeatureExtractor,ViTImageProcessor:()=>we.ViTImageProcessor,VitMatteImageProcessor:()=>Ge.VitMatteImageProcessor,VitPoseImageProcessor:()=>me.VitPoseImageProcessor,YolosFeatureExtractor:()=>at.YolosFeatureExtractor,YolosImageProcessor:()=>at.YolosImageProcessor});var o=s("./src/models/beit/image_processing_beit.js"),u=s("./src/models/bit/image_processing_bit.js"),p=s("./src/models/chinese_clip/image_processing_chinese_clip.js"),C=s("./src/models/clip/image_processing_clip.js"),b=s("./src/models/convnext/image_processing_convnext.js"),k=s("./src/models/deit/image_processing_deit.js"),E=s("./src/models/detr/image_processing_detr.js"),B=s("./src/models/donut/image_processing_donut.js"),G=s("./src/models/dpt/image_processing_dpt.js"),D=s("./src/models/efficientnet/image_processing_efficientnet.js"),Q=s("./src/models/glpn/image_processing_glpn.js"),V=s("./src/models/grounding_dino/image_processing_grounding_dino.js"),W=s("./src/models/idefics3/image_processing_idefics3.js"),U=s("./src/models/janus/image_processing_janus.js"),H=s("./src/models/jina_clip/image_processing_jina_clip.js"),K=s("./src/models/llava_onevision/image_processing_llava_onevision.js"),J=s("./src/models/mask2former/image_processing_mask2former.js"),g=s("./src/models/maskformer/image_processing_maskformer.js"),v=s("./src/models/mobilenet_v1/image_processing_mobilenet_v1.js"),e=s("./src/models/mobilenet_v2/image_processing_mobilenet_v2.js"),d=s("./src/models/mobilenet_v3/image_processing_mobilenet_v3.js"),_=s("./src/models/mobilenet_v4/image_processing_mobilenet_v4.js"),re=s("./src/models/mobilevit/image_processing_mobilevit.js"),S=s("./src/models/nougat/image_processing_nougat.js"),F=s("./src/models/owlv2/image_processing_owlv2.js"),Ie=s("./src/models/owlvit/image_processing_owlvit.js"),he=s("./src/models/phi3_v/image_processing_phi3_v.js"),ce=s("./src/models/pvt/image_processing_pvt.js"),ge=s("./src/models/qwen2_vl/image_processing_qwen2_vl.js"),Ce=s("./src/models/rt_detr/image_processing_rt_detr.js"),Fe=s("./src/models/sam/image_processing_sam.js"),Pe=s("./src/models/segformer/image_processing_segformer.js"),de=s("./src/models/siglip/image_processing_siglip.js"),pe=s("./src/models/swin2sr/image_processing_swin2sr.js"),we=s("./src/models/vit/image_processing_vit.js"),Ge=s("./src/models/vitmatte/image_processing_vitmatte.js"),me=s("./src/models/vitpose/image_processing_vitpose.js"),at=s("./src/models/yolos/image_processing_yolos.js")},
2807"./src/models/janus/image_processing_janus.js":(c,a,s)=>{s.r(a),s.d(a,{VLMImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{constructor(C){super({do_pad:!0,pad_size:{width:C.image_size,height:C.image_size},...C}),this.constant_values=this.config.background_color.map(b=>b*this.rescale_factor)}pad_image(C,b,k,E){return super.pad_image(C,b,k,{constant_values:this.constant_values,center:!0,...E})}}},
2807"./src/models/janus/processing_janus.js":(c,a,s)=>{s.r(a),s.d(a,{VLChatProcessor:()=>E});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js"),C=s("./src/utils/core.js"),b=s("./src/utils/tensor.js"),k=s("./src/utils/image.js");class E extends o.Processor{constructor(G,D){super(G,D),this.image_tag=this.config.image_tag,this.image_start_tag=this.config.image_start_tag,this.image_end_tag=this.config.image_end_tag,this.num_image_tokens=this.config.num_image_tokens}async _call(G,{images:D=null,chat_template:Q="default"}={}){D?Array.isArray(D)||(D=[D]):D=await Promise.all(G.filter(re=>re.images).flatMap(re=>re.images).map(re=>k.RawImage.read(re)));const V=this.tokenizer,W=re=>V.encode(re,{add_special_tokens:!1}),U=V.apply_chat_template(G,{tokenize:!1,add_generation_prompt:!0,chat_template:Q}).split(this.image_tag),H=U.length-1;if(D.length!==H)throw new Error(`Number of images provided (${D.length}) does not match number of "${this.image_tag}" image tags (${H})`);const[K,J,g]=V.model.convert_tokens_to_ids([this.image_tag,this.image_start_tag,this.image_end_tag]);let v=W(U[0]),e=new Array(v.length).fill(!1);for(let re=1;re<U.length;++re){const S=new Array(this.num_image_tokens).fill(K),F=W(U[re]);v=(0,C.mergeArrays)(v,[J],S,[g],F);const Ie=new Array(this.num_image_tokens).fill(!0);e=(0,C.mergeArrays)(e,[!1],Ie,[!1],new Array(F.length).fill(!1))}const d=[1,v.length],_={input_ids:new b.Tensor("int64",v,d),attention_mask:new b.Tensor("int64",new Array(v.length).fill(1),d),images_seq_mask:new b.Tensor("bool",e,d),images_emb_mask:new b.Tensor("bool",new Array(H*this.num_image_tokens).fill(!0),[1,H,this.num_image_tokens])};if(D&&D.length>0){const re=await this.image_processor(D);return re.pixel_values.unsqueeze_(0),{..._,...re}}return _}}Ct(E,"image_processor_class",u.AutoImageProcessor),Ct(E,"tokenizer_class",p.AutoTokenizer),Ct(E,"uses_processor_config",!0)},
2807"./src/models/jina_clip/image_processing_jina_clip.js":(c,a,s)=>{s.r(a),s.d(a,{JinaCLIPImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{constructor(C){const{resize_mode:b,fill_color:k,interpolation:E,size:B,...G}=C;super({...G,size:b==="squash"?{width:B,height:B}:b==="shortest"?{shortest_edge:B}:{longest_edge:B},resample:E==="bicubic"?3:2,do_center_crop:!0,crop_size:B,do_normalize:!0})}}},
2807"./src/models/jina_clip/processing_jina_clip.js":(c,a,s)=>{s.r(a),s.d(a,{JinaCLIPProcessor:()=>C});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");class C extends o.Processor{async _call(k=null,E=null,B={}){if(!k&&!E)throw new Error("Either text or images must be provided");return{...k?this.tokenizer(k,B):{},...E?await this.image_processor(E,B):{}}}}Ct(C,"tokenizer_class",p.AutoTokenizer),Ct(C,"image_processor_class",u.AutoImageProcessor)},
2807"./src/models/llava_onevision/image_processing_llava_onevision.js":(c,a,s)=>{s.r(a),s.d(a,{LlavaOnevisionImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}},
2807"./src/models/mask2former/image_processing_mask2former.js":(c,a,s)=>{s.r(a),s.d(a,{Mask2FormerImageProcessor:()=>u});var o=s("./src/models/maskformer/image_processing_maskformer.js");class u extends o.MaskFormerImageProcessor{}},
2807"./src/models/maskformer/image_processing_maskformer.js":(c,a,s)=>{s.r(a),s.d(a,{MaskFormerFeatureExtractor:()=>p,MaskFormerImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{post_process_panoptic_segmentation(...b){return(0,o.post_process_panoptic_segmentation)(...b)}post_process_instance_segmentation(...b){return(0,o.post_process_instance_segmentation)(...b)}}class p extends u{}},
2807"./src/models/mgp_str/processing_mgp_str.js":(c,a,s)=>{s.r(a),s.d(a,{MgpstrProcessor:()=>k});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js"),C=s("./src/utils/maths.js");const b={char:["char_decode",1],bpe:["bpe_decode",2],wp:["wp_decode",102]};class k extends o.Processor{get char_tokenizer(){return this.components.char_tokenizer}get bpe_tokenizer(){return this.components.bpe_tokenizer}get wp_tokenizer(){return this.components.wp_tokenizer}_decode_helper(B,G){if(!b.hasOwnProperty(G))throw new Error(`Format ${G} is not supported.`);const[D,Q]=b[G],V=this[D].bind(this),[W,U]=B.dims,H=[],K=[],J=B.tolist();for(let g=0;g<W;++g){const v=J[g],e=[],d=[];for(let re=1;re<U;++re){const[S,F]=(0,C.max)((0,C.softmax)(v[re]));if(d.push(S),F==Q)break;e.push(F)}const _=d.length>0?d.reduce((re,S)=>re*S,1):0;K.push(e),H.push(_)}return[V(K),H]}char_decode(B){return this.char_tokenizer.batch_decode(B).map(G=>G.replaceAll(" ",""))}bpe_decode(B){return this.bpe_tokenizer.batch_decode(B)}wp_decode(B){return this.wp_tokenizer.batch_decode(B).map(G=>G.replaceAll(" ",""))}batch_decode([B,G,D]){const[Q,V]=this._decode_helper(B,"char"),[W,U]=this._decode_helper(G,"bpe"),[H,K]=this._decode_helper(D,"wp"),J=[],g=[];for(let v=0;v<Q.length;++v){const[e,d]=(0,C.max)([V[v],U[v],K[v]]);J.push([Q[v],W[v],H[v]][d]),g.push(e)}return{generated_text:J,scores:g,char_preds:Q,bpe_preds:W,wp_preds:H}}static async from_pretrained(...B){const G=await super.from_pretrained(...B),D=await p.AutoTokenizer.from_pretrained("Xenova/gpt2"),Q=await p.AutoTokenizer.from_pretrained("Xenova/bert-base-uncased");return G.components={image_processor:G.image_processor,char_tokenizer:G.tokenizer,bpe_tokenizer:D,wp_tokenizer:Q},G}async _call(B,G=null){const D=await this.image_processor(B);return G&&(D.labels=this.tokenizer(G).input_ids),D}}Ct(k,"tokenizer_class",p.AutoTokenizer),Ct(k,"image_processor_class",u.AutoImageProcessor)},
2807"./src/models/mobilenet_v1/image_processing_mobilenet_v1.js":(c,a,s)=>{s.r(a),s.d(a,{MobileNetV1FeatureExtractor:()=>p,MobileNetV1ImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2807"./src/models/mobilenet_v2/image_processing_mobilenet_v2.js":(c,a,s)=>{s.r(a),s.d(a,{MobileNetV2FeatureExtractor:()=>p,MobileNetV2ImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2807"./src/models/mobilenet_v3/image_processing_mobilenet_v3.js":(c,a,s)=>{s.r(a),s.d(a,{MobileNetV3FeatureExtractor:()=>p,MobileNetV3ImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2807"./src/models/mobilenet_v4/image_processing_mobilenet_v4.js":(c,a,s)=>{s.r(a),s.d(a,{MobileNetV4FeatureExtractor:()=>p,MobileNetV4ImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2807"./src/models/mobilevit/image_processing_mobilevit.js":(c,a,s)=>{s.r(a),s.d(a,{MobileViTFeatureExtractor:()=>p,MobileViTImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2807"./src/models/moonshine/feature_extraction_moonshine.js":(c,a,s)=>{s.r(a),s.d(a,{MoonshineFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js"),u=s("./src/utils/tensor.js");class p extends o.FeatureExtractor{async _call(b){(0,o.validate_audio_inputs)(b,"MoonshineFeatureExtractor"),b instanceof Float64Array&&(b=new Float32Array(b));const k=[1,b.length];return{input_values:new u.Tensor("float32",b,k)}}}},
2807"./src/models/moonshine/processing_moonshine.js":(c,a,s)=>{s.r(a),s.d(a,{MoonshineProcessor:()=>C});var o=s("./src/models/auto/feature_extraction_auto.js"),u=s("./src/tokenizers.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",u.AutoTokenizer),Ct(C,"feature_extractor_class",o.AutoFeatureExtractor)},
2807"./src/models/nougat/image_processing_nougat.js":(c,a,s)=>{s.r(a),s.d(a,{NougatImageProcessor:()=>u});var o=s("./src/models/donut/image_processing_donut.js");class u extends o.DonutImageProcessor{}},
2807"./src/models/owlv2/image_processing_owlv2.js":(c,a,s)=>{s.r(a),s.d(a,{Owlv2ImageProcessor:()=>u});var o=s("./src/models/owlvit/image_processing_owlvit.js");class u extends o.OwlViTImageProcessor{}},
2807"./src/models/owlvit/image_processing_owlvit.js":(c,a,s)=>{s.r(a),s.d(a,{OwlViTFeatureExtractor:()=>p,OwlViTImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{post_process_object_detection(...b){return(0,o.post_process_object_detection)(...b)}}class p extends u{}},
2807"./src/models/owlvit/processing_owlvit.js":(c,a,s)=>{s.r(a),s.d(a,{OwlViTProcessor:()=>C});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");class C extends o.Processor{}Ct(C,"tokenizer_class",p.AutoTokenizer),Ct(C,"image_processor_class",u.AutoImageProcessor)},
2807"./src/models/paligemma/processing_paligemma.js":(c,a,s)=>{s.r(a),s.d(a,{PaliGemmaProcessor:()=>b});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");const C="<image>";class b extends o.Processor{async _call(E,B=null,G={}){B||(console.warn("You are using PaliGemma without a text prefix. It will perform as a picture-captioning model."),B=""),Array.isArray(E)||(E=[E]),Array.isArray(B)||(B=[B]);const D=this.tokenizer.bos_token,Q=this.image_processor.config.image_seq_length;let V;B.some(U=>U.includes(C))?V=B.map(U=>{const H=U.replaceAll(C,C.repeat(Q)),K=H.lastIndexOf(C),J=K===-1?0:K+7;return H.slice(0,J)+D+H.slice(J)+`
2808`}):(console.warn("You are passing both `text` and `images` to `PaliGemmaProcessor`. The processor expects special image tokens in the text, as many tokens as there are images per each text. It is recommended to add `<image>` tokens in the very beginning of your text. For this call, we will infer how many images each text has and add special tokens."),V=B.map(U=>function(H,K,J,g,v){return`${g.repeat(J*v)}${K}${H}
2809`}(U,D,Q,C,E.length)));const W=this.tokenizer(V,G);return{...await this.image_processor(E,G),...W}}}Ct(b,"tokenizer_class",p.AutoTokenizer),Ct(b,"image_processor_class",u.AutoImageProcessor),Ct(b,"uses_processor_config",!1)},
2809"./src/models/phi3_v/image_processing_phi3_v.js":(c,a,s)=>{s.r(a),s.d(a,{Phi3VImageProcessor:()=>B});var o=s("./src/base/image_processors_utils.js"),u=s("./src/utils/tensor.js");const p=336,C=[2,3],{ceil:b,floor:k,sqrt:E}=Math;class B extends o.ImageProcessor{constructor(D){super({...D,do_normalize:!0,do_pad:!0,pad_size:"custom",do_convert_rgb:!0,do_resize:!0}),this._num_crops=D.num_crops}calc_num_image_tokens_from_image_size(D,Q){const{num_img_tokens:V}=this.config;return k((k(Q/p)*k(D/p)+1)*V+1+(k(Q/p)+1)*E(V))}get_resize_output_image_size(D,Q){const V=this._num_crops,[W,U]=D.size;let H=W/U,K=1;for(;K*Math.ceil(K/H)<=V;)K+=1;K-=1;const J=Math.floor(336*K);return[J,Math.floor(J/H)]}pad_image(D,Q,V,W={}){const[U,H]=Q,K=p*b(U/p),J=p*b(H/p),g=[1,1,1].map((v,e)=>(v-this.image_mean[e])/this.image_std[e]);return super.pad_image(D,Q,{width:J,height:K},{center:!0,constant_values:g,...W})}async _call(D,{num_crops:Q=null}={}){if(this._num_crops=Q??(Q=this.config.num_crops),Q<4||E(Q)%1!=0)throw new Error("num_crops must be a square number >= 4");Array.isArray(D)||(D=[D]);const V=D.length,W=await Promise.all(D.map(v=>this.preprocess(v))),U=W.map(v=>v.original_size),H=W.map(v=>v.reshaped_input_size),K=[];for(const{pixel_values:v}of W){v.unsqueeze_(0);const[e,d]=v.dims.slice(-2),_=await(0,u.interpolate_4d)(v,{size:[p,p],mode:"bicubic"});if(Q>0){const re=[],S=E(Q),F=k(d/S),Ie=k(e/S);for(let ce=0;ce<S;++ce)for(let ge=0;ge<S;++ge){let Ce,Fe,Pe,de;ce===S-1?(Fe=e-Ie,de=e):(Fe=ce*Ie,de=(ce+1)*Ie),ge===S-1?(Ce=d-F,Pe=d):(Ce=ge*F,Pe=(ge+1)*F);const pe=[Fe,Ce],we=[de,Pe],Ge=await(0,u.slice)(v,pe,we,C);re.push(Ge)}const he=await(0,u.interpolate_4d)((0,u.cat)(re,0),{size:[p,p],mode:"bicubic"});K.push((0,u.cat)([_,he],0))}else K.push(_)}const J=(0,u.stack)(K,0),g=H.map(v=>v.map(e=>p*b(e/p)));return{pixel_values:J,original_sizes:U,reshaped_input_sizes:H,image_sizes:new u.Tensor("int64",g.flat(),[V,2]),num_img_tokens:g.map(([v,e])=>this.calc_num_image_tokens_from_image_size(e,v))}}}},
2809"./src/models/phi3_v/processing_phi3_v.js":(c,a,s)=>{s.r(a),s.d(a,{Phi3VProcessor:()=>k});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");s("./src/utils/image.js");const C="<|image|>",b=/<\|image_\d+\|>/g;class k extends o.Processor{async _call(B,G=null,{padding:D=!0,truncation:Q=!0,num_crops:V=null}={}){let W,U;if(Array.isArray(B)||(B=[B]),G){U=await this.image_processor(G,{num_crops:V});const{num_img_tokens:H}=U,K=B.map((g,v)=>g.split(b).join(C.repeat(H[v])));W=this.tokenizer(K,{padding:D,truncation:Q});const J=this.tokenizer.model.convert_tokens_to_ids([C])[0];W.input_ids.map_(g=>g==J?-g:g)}else W=this.tokenizer(B);return{...W,...U}}}Ct(k,"image_processor_class",u.AutoImageProcessor),Ct(k,"tokenizer_class",p.AutoTokenizer)},
2809"./src/models/processors.js":(c,a,s)=>{s.r(a),s.d(a,{Florence2Processor:()=>o.Florence2Processor,GroundingDinoProcessor:()=>u.GroundingDinoProcessor,Idefics3Processor:()=>p.Idefics3Processor,JinaCLIPProcessor:()=>b.JinaCLIPProcessor,MgpstrProcessor:()=>k.MgpstrProcessor,MoonshineProcessor:()=>E.MoonshineProcessor,OwlViTProcessor:()=>B.OwlViTProcessor,PaliGemmaProcessor:()=>D.PaliGemmaProcessor,Phi3VProcessor:()=>G.Phi3VProcessor,PyAnnoteProcessor:()=>Q.PyAnnoteProcessor,Qwen2VLProcessor:()=>V.Qwen2VLProcessor,SamProcessor:()=>W.SamProcessor,SpeechT5Processor:()=>U.SpeechT5Processor,VLChatProcessor:()=>C.VLChatProcessor,Wav2Vec2Processor:()=>H.Wav2Vec2Processor,Wav2Vec2ProcessorWithLM:()=>K.Wav2Vec2ProcessorWithLM,WhisperProcessor:()=>J.WhisperProcessor});var o=s("./src/models/florence2/processing_florence2.js"),u=s("./src/models/grounding_dino/processing_grounding_dino.js"),p=s("./src/models/idefics3/processing_idefics3.js"),C=s("./src/models/janus/processing_janus.js"),b=s("./src/models/jina_clip/processing_jina_clip.js"),k=s("./src/models/mgp_str/processing_mgp_str.js"),E=s("./src/models/moonshine/processing_moonshine.js"),B=s("./src/models/owlvit/processing_owlvit.js"),G=s("./src/models/phi3_v/processing_phi3_v.js"),D=s("./src/models/paligemma/processing_paligemma.js"),Q=s("./src/models/pyannote/processing_pyannote.js"),V=s("./src/models/qwen2_vl/processing_qwen2_vl.js"),W=s("./src/models/sam/processing_sam.js"),U=s("./src/models/speecht5/processing_speecht5.js"),H=s("./src/models/wav2vec2/processing_wav2vec2.js"),K=s("./src/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.js"),J=s("./src/models/whisper/processing_whisper.js")},
2809"./src/models/pvt/image_processing_pvt.js":(c,a,s)=>{s.r(a),s.d(a,{PvtImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}},
vendor: 947 bytes, line 2809
2809"./src/models/pyannote/feature_extraction_pyannote.js":(c,a,s)=>{s.r(a),s.d(a,{PyAnnoteFeatureExtractor:()=>C});var o=s("./src/base/feature_extraction_utils.js"),u=s("./src/utils/tensor.js"),p=s("./src/utils/maths.js");class C extends o.FeatureExtractor{async _call(k){(0,o.validate_audio_inputs)(k,"PyAnnoteFeatureExtractor"),k instanceof Float64Array&&(k=new Float32Array(k));const E=[1,1,k.length];return{input_values:new u.Tensor("float32",k,E)}}samples_to_frames(k){return(k-this.config.offset)/this.config.step}post_process_speaker_diarization(k,E){const B=E/this.samples_to_frames(E)/this.config.sampling_rate,G=[];for(const D of k.tolist()){const Q=[];let V=-1;for(let W=0;W<D.length;++W){const U=(0,p.softmax)(D[W]),[H,K]=(0,p.max)(U),[J,g]=[W,W+1];K!==V?(V=K,Q.push({id:K,start:J,end:g,score:H})):(Q.at(-1).end=g,Q.at(-1).score+=H)}G.push(Q.map(({id:W,start:U,end:H,score:K})=>({id:W,start:U*B,end:H*B,confidence:K/(H-U)})))}return G}}},
2809"./src/models/pyannote/processing_pyannote.js":(c,a,s)=>{s.r(a),s.d(a,{PyAnnoteProcessor:()=>p});var o=s("./src/base/processing_utils.js"),u=s("./src/models/pyannote/feature_extraction_pyannote.js");class p extends o.Processor{async _call(b){return await this.feature_extractor(b)}post_process_speaker_diarization(...b){return this.feature_extractor.post_process_speaker_diarization(...b)}get sampling_rate(){return this.feature_extractor.config.sampling_rate}}Ct(p,"feature_extractor_class",u.PyAnnoteFeatureExtractor)},
2809"./src/models/qwen2_vl/image_processing_qwen2_vl.js":(c,a,s)=>{s.r(a),s.d(a,{Qwen2VLImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),u=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(b,...k){const{pixel_values:E,original_sizes:B,reshaped_input_sizes:G}=await super._call(b,...k);let D=E;const{temporal_patch_size:Q,merge_size:V,patch_size:W}=this.config;D.dims[0]===1&&(D=(0,u.cat)(Array.from({length:Q},()=>D),0));const U=D.dims[0]/Q,H=D.dims[1],K=Math.floor(D.dims[2]/W),J=Math.floor(D.dims[3]/W);return{pixel_values:D.view(U,Q,H,Math.floor(K/V),V,W,Math.floor(J/V),V,W).permute(0,3,6,4,7,2,1,5,8).view(U*K*J,H*Q*W*W),image_grid_thw:new u.Tensor("int64",[U,K,J],[1,3]),original_sizes:B,reshaped_input_sizes:G}}}},
2809"./src/models/qwen2_vl/processing_qwen2_vl.js":(c,a,s)=>{s.r(a),s.d(a,{Qwen2VLProcessor:()=>C});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");s("./src/utils/image.js");class C extends o.Processor{async _call(k,E=null,...B){let G,D;if(Array.isArray(k)||(k=[k]),E&&(G=await this.image_processor(E),D=G.image_grid_thw),D){let Q=this.image_processor.config.merge_size**2,V=0;const W=D.tolist();k=k.map(U=>{for(;U.includes("<|image_pad|>");){const H=Number(W[V++].reduce((K,J)=>K*J,1n));U=U.replace("<|image_pad|>","<|placeholder|>".repeat(Math.floor(H/Q)))}return U.replaceAll("<|placeholder|>","<|image_pad|>")})}return{...this.tokenizer(k),...G}}}Ct(C,"image_processor_class",u.AutoImageProcessor),Ct(C,"tokenizer_class",p.AutoTokenizer)},
2809"./src/models/rt_detr/image_processing_rt_detr.js":(c,a,s)=>{s.r(a),s.d(a,{RTDetrImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{post_process_object_detection(...C){return(0,o.post_process_object_detection)(...C)}}},
2809"./src/models/sam/image_processing_sam.js":(c,a,s)=>{s.r(a),s.d(a,{SamImageProcessor:()=>C});var o=s("./src/base/image_processors_utils.js"),u=s("./src/utils/core.js"),p=s("./src/utils/tensor.js");class C extends o.ImageProcessor{reshape_input_points(k,E,B,G=!1){k=structuredClone(k);let D=(0,u.calculateDimensions)(k);if(D.length===3)G||(D=[1,...D]),k=[k];else if(D.length!==4)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");for(let Q=0;Q<k.length;++Q){let V=E[Q],W=B[Q],U=[W[0]/V[0],W[1]/V[1]];for(let H=0;H<k[Q].length;++H)for(let K=0;K<k[Q][H].length;++K)for(let J=0;J<k[Q][H][K].length;++J)k[Q][H][K][J]*=U[J%2]}return new p.Tensor("float32",Float32Array.from(k.flat(1/0)),D)}add_input_labels(k,E){let B=(0,u.calculateDimensions)(k);if(B.length===2)B=[1,...B],k=[k];else if(B.length!==3)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");if(B.some((G,D)=>G!==E.dims[D]))throw Error(`The first ${B.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new p.Tensor("int64",k.flat(1/0).map(BigInt),B)}async _call(k,{input_points:E=null,input_labels:B=null,input_boxes:G=null}={}){const D=await super._call(k);if(E&&(D.input_points=this.reshape_input_points(E,D.original_sizes,D.reshaped_input_sizes)),B){if(!D.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");D.input_labels=this.add_input_labels(B,D.input_points)}return G&&(D.input_boxes=this.reshape_input_points(G,D.original_sizes,D.reshaped_input_sizes,!0)),D}async post_process_masks(k,E,B,{mask_threshold:G=0,binarize:D=!0,pad_size:Q=null}={}){const V=[],W=[(Q=Q??this.pad_size).height,Q.width];for(let U=0;U<E.length;++U){const H=E[U],K=B[U];let J=await(0,p.interpolate_4d)(k[U],{mode:"bilinear",size:W});if(J=J.slice(null,null,[0,K[0]],[0,K[1]]),J=await(0,p.interpolate_4d)(J,{mode:"bilinear",size:H}),D){const g=J.data,v=new Uint8Array(g.length);for(let e=0;e<g.length;++e)g[e]>G&&(v[e]=1);J=new p.Tensor("bool",v,J.dims)}V.push(J)}return V}generate_crop_boxes(k,E,{crop_n_layers:B=0,overlap_ratio:G=512/1500,points_per_crop:D=32,crop_n_points_downscale_factor:Q=1}={}){}}},
2809"./src/models/sam/processing_sam.js":(c,a,s)=>{s.r(a),s.d(a,{SamProcessor:()=>p});var o=s("./src/base/processing_utils.js"),u=s("./src/models/auto/image_processing_auto.js");class p extends o.Processor{async _call(...b){return await this.image_processor(...b)}post_process_masks(...b){return this.image_processor.post_process_masks(...b)}reshape_input_points(...b){return this.image_processor.reshape_input_points(...b)}}Ct(p,"image_processor_class",u.AutoImageProcessor)},
2809"./src/models/seamless_m4t/feature_extraction_seamless_m4t.js":(c,a,s)=>{s.r(a),s.d(a,{SeamlessM4TFeatureExtractor:()=>C});var o=s("./src/base/feature_extraction_utils.js"),u=s("./src/utils/tensor.js"),p=s("./src/utils/audio.js");class C extends o.FeatureExtractor{constructor(k){super(k);const E=this.config.sampling_rate,B=(0,p.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(E/2),E,null,"kaldi",!0);for(let G=0;G<B.length;++G)B[G].push(0);this.mel_filters=B,this.window=(0,p.window_function)(400,"povey",{periodic:!1})}async _extract_fbank_features(k,E){return k=k.map(B=>32768*B),(0,p.spectrogram)(k,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:E,transpose:!0})}async _call(k,{padding:E=!0,pad_to_multiple_of:B=2,do_normalize_per_mel_bins:G=!0,return_attention_mask:D=!0}={}){(0,o.validate_audio_inputs)(k,"SeamlessM4TFeatureExtractor");let Q,V=await this._extract_fbank_features(k,this.config.max_length);if(G){const[g,v]=V.dims,e=V.data;for(let d=0;d<v;++d){let _=0;for(let Ie=0;Ie<g;++Ie)_+=e[Ie*v+d];const re=_/g;let S=0;for(let Ie=0;Ie<g;++Ie)S+=(e[Ie*v+d]-re)**2;S/=g-1;const F=Math.sqrt(S+1e-7);for(let Ie=0;Ie<g;++Ie){const he=Ie*v+d;e[he]=(e[he]-re)/F}}}if(E){const[g,v]=V.dims,e=V.data,d=g%B;if(d>0){const _=new Float32Array(v*(g+d));_.set(e),_.fill(this.config.padding_value,e.length);const re=g+d;V=new u.Tensor(V.type,_,[re,v]),D&&(Q=new u.Tensor("int64",new BigInt64Array(re),[1,re]),Q.data.fill(1n,0,g))}}const[W,U]=V.dims,H=this.config.stride;if(W%H!==0)throw new Error(`The number of frames (${W}) must be a multiple of the stride (${H}).`);const K=V.view(1,Math.floor(W/H),U*H),J={input_features:K};if(D){const g=K.dims[1],v=new BigInt64Array(g);if(Q){const e=Q.data;for(let d=1,_=0;d<W;d+=H,++_)v[_]=e[d]}else v.fill(1n);J.attention_mask=new u.Tensor("int64",v,[1,g])}return J}}},
2809"./src/models/segformer/image_processing_segformer.js":(c,a,s)=>{s.r(a),s.d(a,{SegformerFeatureExtractor:()=>p,SegformerImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{post_process_semantic_segmentation(...b){return(0,o.post_process_semantic_segmentation)(...b)}}class p extends u{}},
2809"./src/models/siglip/image_processing_siglip.js":(c,a,s)=>{s.r(a),s.d(a,{SiglipImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}},
2809"./src/models/speecht5/feature_extraction_speecht5.js":(c,a,s)=>{s.r(a),s.d(a,{SpeechT5FeatureExtractor:()=>u});var o=s("./src/base/feature_extraction_utils.js");class u extends o.FeatureExtractor{}},
2809"./src/models/speecht5/processing_speecht5.js":(c,a,s)=>{s.r(a),s.d(a,{SpeechT5Processor:()=>C});var o=s("./src/base/processing_utils.js"),u=s("./src/tokenizers.js"),p=s("./src/models/auto/feature_extraction_auto.js");class C extends o.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",u.AutoTokenizer),Ct(C,"feature_extractor_class",p.AutoFeatureExtractor)},
vendor: 346 bytes, line 2809
2809"./src/models/swin2sr/image_processing_swin2sr.js":(c,a,s)=>{s.r(a),s.d(a,{Swin2SRImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{pad_image(C,b,k,E={}){const[B,G,D]=b;return super.pad_image(C,b,{width:G+(k-G%k)%k,height:B+(k-B%k)%k},{mode:"symmetric",center:!1,constant_values:-1,...E})}}},
2809"./src/models/vit/image_processing_vit.js":(c,a,s)=>{s.r(a),s.d(a,{ViTFeatureExtractor:()=>p,ViTImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{}class p extends u{}},
2809"./src/models/vitmatte/image_processing_vitmatte.js":(c,a,s)=>{s.r(a),s.d(a,{VitMatteImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),u=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(b,k){Array.isArray(b)||(b=[b]),Array.isArray(k)||(k=[k]);const E=await Promise.all(b.map(D=>this.preprocess(D))),B=await Promise.all(k.map(D=>this.preprocess(D,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:(0,u.stack)(E.map((D,Q)=>(0,u.cat)([D.pixel_values,B[Q].pixel_values],0)),0),original_sizes:E.map(D=>D.original_size),reshaped_input_sizes:E.map(D=>D.reshaped_input_size)}}}},
vendor: 784 bytes, line 2809
2809"./src/models/vitpose/image_processing_vitpose.js":(c,a,s)=>{s.r(a),s.d(a,{VitPoseImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{post_process_pose_estimation(C,b,{threshold:k=null}={}){const E=C.tolist(),[B,G,D,Q]=C.dims,V=[];for(let W=0;W<B;++W){const U=E[W],H=b[W],K=[];for(let J=0;J<H.length;++J){const g=H[J],v=[],e=[],d=[],_=g.at(-2)/Q,re=g.at(-1)/D;for(let S=0;S<U.length;++S){let[F,Ie]=[0,0],he=0,ce=-1/0;const ge=U[S];for(let Fe=0;Fe<ge.length;++Fe){const Pe=ge[Fe];for(let de=0;de<Pe.length;++de){const pe=Pe[de];he+=pe,ce=Math.max(ce,pe),F+=(de+.5)*pe,Ie+=Fe*pe}}if(k!=null&&ce<k)continue;const Ce=[_*F/he,re*Ie/he];v.push(Ce),d.push(S),e.push(ce)}K.push({bbox:g,scores:e,labels:d,keypoints:v})}V.push(K)}return V}}},
2809"./src/models/wav2vec2/feature_extraction_wav2vec2.js":(c,a,s)=>{s.r(a),s.d(a,{Wav2Vec2FeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js"),u=s("./src/utils/tensor.js");class p extends o.FeatureExtractor{_zero_mean_unit_var_norm(b){const k=b.reduce((G,D)=>G+D,0),E=k/b.length,B=b.reduce((G,D)=>G+(D-E)**2,0)/b.length;return b.map(G=>(G-E)/Math.sqrt(B+1e-7))}async _call(b){(0,o.validate_audio_inputs)(b,"Wav2Vec2FeatureExtractor"),b instanceof Float64Array&&(b=new Float32Array(b));let k=b;this.config.do_normalize&&(k=this._zero_mean_unit_var_norm(k));const E=[1,k.length];return{input_values:new u.Tensor("float32",k,E),attention_mask:new u.Tensor("int64",new BigInt64Array(k.length).fill(1n),E)}}}},
2809"./src/models/wav2vec2/processing_wav2vec2.js":(c,a,s)=>{s.r(a),s.d(a,{Wav2Vec2Processor:()=>C});var o=s("./src/tokenizers.js"),u=s("./src/models/auto/feature_extraction_auto.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",o.AutoTokenizer),Ct(C,"feature_extractor_class",u.AutoFeatureExtractor)},
2809"./src/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.js":(c,a,s)=>{s.r(a),s.d(a,{Wav2Vec2ProcessorWithLM:()=>C});var o=s("./src/tokenizers.js"),u=s("./src/models/auto/feature_extraction_auto.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",o.AutoTokenizer),Ct(C,"feature_extractor_class",u.AutoFeatureExtractor)},
2809"./src/models/wespeaker/feature_extraction_wespeaker.js":(c,a,s)=>{s.r(a),s.d(a,{WeSpeakerFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var u=s("./src/utils/audio.js");class p extends o.FeatureExtractor{constructor(b){super(b);const k=this.config.sampling_rate,E=(0,u.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(k/2),k,null,"kaldi",!0);for(let B=0;B<E.length;++B)E[B].push(0);this.mel_filters=E,this.window=(0,u.window_function)(400,"hamming",{periodic:!1}),this.min_num_frames=this.config.min_num_frames}async _extract_fbank_features(b){return b=b.map(k=>32768*k),(0,u.spectrogram)(b,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,transpose:!0,min_num_frames:this.min_num_frames})}async _call(b){(0,o.validate_audio_inputs)(b,"WeSpeakerFeatureExtractor");const k=(await this._extract_fbank_features(b)).unsqueeze_(0);if(this.config.fbank_centering_span===null){const E=k.mean(1).data,B=k.data,[G,D,Q]=k.dims;for(let V=0;V<G;++V){const W=V*D*Q,U=V*Q;for(let H=0;H<D;++H){const K=W+H*Q;for(let J=0;J<Q;++J)B[K+J]-=E[U+J]}}}return{input_features:k}}}},
2809"./src/models/whisper/common_whisper.js":(c,a,s)=>{s.r(a),s.d(a,{WHISPER_LANGUAGE_MAPPING:()=>u,WHISPER_TO_LANGUAGE_CODE_MAPPING:()=>p,whisper_language_to_code:()=>C});const o=[["en","english"],["zh","chinese"],["de","german"],["es","spanish"],["ru","russian"],["ko","korean"],["fr","french"],["ja","japanese"],["pt","portuguese"],["tr","turkish"],["pl","polish"],["ca","catalan"],["nl","dutch"],["ar","arabic"],["sv","swedish"],["it","italian"],["id","indonesian"],["hi","hindi"],["fi","finnish"],["vi","vietnamese"],["he","hebrew"],["uk","ukrainian"],["el","greek"],["ms","malay"],["cs","czech"],["ro","romanian"],["da","danish"],["hu","hungarian"],["ta","tamil"],["no","norwegian"],["th","thai"],["ur","urdu"],["hr","croatian"],["bg","bulgarian"],["lt","lithuanian"],["la","latin"],["mi","maori"],["ml","malayalam"],["cy","welsh"],["sk","slovak"],["te","telugu"],["fa","persian"],["lv","latvian"],["bn","bengali"],["sr","serbian"],["az","azerbaijani"],["sl","slovenian"],["kn","kannada"],["et","estonian"],["mk","macedonian"],["br","breton"],["eu","basque"],["is","icelandic"],["hy","armenian"],["ne","nepali"],["mn","mongolian"],["bs","bosnian"],["kk","kazakh"],["sq","albanian"],["sw","swahili"],["gl","galician"],["mr","marathi"],["pa","punjabi"],["si","sinhala"],["km","khmer"],["sn","shona"],["yo","yoruba"],["so","somali"],["af","afrikaans"],["oc","occitan"],["ka","georgian"],["be","belarusian"],["tg","tajik"],["sd","sindhi"],["gu","gujarati"],["am","amharic"],["yi","yiddish"],["lo","lao"],["uz","uzbek"],["fo","faroese"],["ht","haitian creole"],["ps","pashto"],["tk","turkmen"],["nn","nynorsk"],["mt","maltese"],["sa","sanskrit"],["lb","luxembourgish"],["my","myanmar"],["bo","tibetan"],["tl","tagalog"],["mg","malagasy"],["as","assamese"],["tt","tatar"],["haw","hawaiian"],["ln","lingala"],["ha","hausa"],["ba","bashkir"],["jw","javanese"],["su","sundanese"]],u=new Map(o),p=new Map([...o.map(([b,k])=>[k,b]),["burmese","my"],["valencian","ca"],["flemish","nl"],["haitian","ht"],["letzeburgesch","lb"],["pushto","ps"],["panjabi","pa"],["moldavian","ro"],["moldovan","ro"],["sinhalese","si"],["castilian","es"]]);function C(b){b=b.toLowerCase();let k=p.get(b);if(k===void 0){if(!u.has(b)){const E=b.length===2?u.keys():u.values();throw new Error(`Language "${b}" is not supported. Must be one of: ${JSON.stringify(E)}`)}k=b}return k}},
2809"./src/models/whisper/feature_extraction_whisper.js":(c,a,s)=>{s.r(a),s.d(a,{WhisperFeatureExtractor:()=>C});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var u=s("./src/utils/audio.js"),p=s("./src/utils/maths.js");class C extends o.FeatureExtractor{constructor(k){var E;super(k),(E=this.config).mel_filters??(E.mel_filters=(0,u.mel_filter_bank)(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney")),this.window=(0,u.window_function)(this.config.n_fft,"hann")}async _extract_fbank_features(k){const E=await(0,u.spectrogram)(k,this.window,this.config.n_fft,this.config.hop_length,{power:2,mel_filters:this.config.mel_filters,log_mel:"log10",max_num_frames:this.config.nb_max_frames}),B=E.data,G=(0,p.max)(B)[0];for(let D=0;D<B.length;++D)B[D]=(Math.max(B[D],G-8)+4)/4;return E}async _call(k){let E;return(0,o.validate_audio_inputs)(k,"WhisperFeatureExtractor"),k.length>this.config.n_samples?(console.warn("Attempting to extract features for audio longer than 30 seconds. If using a pipeline to extract transcript from a long audio clip, remember to specify `chunk_length_s` and/or `stride_length_s`."),E=k.slice(0,this.config.n_samples)):(E=new Float32Array(this.config.n_samples),E.set(k)),{input_features:(await this._extract_fbank_features(E)).unsqueeze_(0)}}}},
2809"./src/models/whisper/generation_whisper.js":(c,a,s)=>{s.r(a),s.d(a,{WhisperGenerationConfig:()=>u});var o=s("./src/generation/configuration_utils.js");class u extends o.GenerationConfig{constructor(){super(...arguments);Ct(this,"return_timestamps",null);Ct(this,"return_token_timestamps",null);Ct(this,"num_frames",null);Ct(this,"alignment_heads",null);Ct(this,"task",null);Ct(this,"language",null);Ct(this,"no_timestamps_token_id",null);Ct(this,"prompt_ids",null);Ct(this,"is_multilingual",null);Ct(this,"lang_to_id",null);Ct(this,"task_to_id",null);Ct(this,"max_initial_timestamp_index",1)}}},
2809"./src/models/whisper/processing_whisper.js":(c,a,s)=>{s.r(a),s.d(a,{WhisperProcessor:()=>C});var o=s("./src/models/auto/feature_extraction_auto.js"),u=s("./src/tokenizers.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",u.AutoTokenizer),Ct(C,"feature_extractor_class",o.AutoFeatureExtractor)},
2809"./src/models/yolos/image_processing_yolos.js":(c,a,s)=>{s.r(a),s.d(a,{YolosFeatureExtractor:()=>p,YolosImageProcessor:()=>u});var o=s("./src/base/image_processors_utils.js");class u extends o.ImageProcessor{post_process_object_detection(...b){return(0,o.post_process_object_detection)(...b)}}class p extends u{}},
2809"./src/ops/registry.js":(c,a,s)=>{s.r(a),s.d(a,{TensorOpRegistry:()=>k});var o=s("./src/backends/onnx.js"),u=s("./src/utils/tensor.js"),p=s("./src/env.js");const C=p.apis.IS_BROWSER_ENV||p.apis.IS_WEBWORKER_ENV,b=async(E,B,G)=>{const D=await(0,o.createInferenceSession)(new Uint8Array(E),B);let Q=Promise.resolve();return async V=>{const W=(0,o.isONNXProxy)(),U=Object.fromEntries(Object.entries(V).map(([K,J])=>[K,(W?J.clone():J).ort_tensor])),H=await(Q=C?Q.then(()=>D.run(U)):D.run(U));return Array.isArray(G)?G.map(K=>new u.Tensor(H[K])):new u.Tensor(H[G])}};class k{static get nearest_interpolate_4d(){return this._nearest_interpolate_4d||(this._nearest_interpolate_4d=b([8,10,18,0,58,129,1,10,41,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,18,10,4,109,111,100,101,34,7,110,101,97,114,101,115,116,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,21],this.session_options,"y")),this._nearest_interpolate_4d}static get bilinear_interpolate_4d(){return this._bilinear_interpolate_4d||(this._bilinear_interpolate_4d=b([8,9,18,0,58,128,1,10,40,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,17,10,4,109,111,100,101,34,6,108,105,110,101,97,114,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bilinear_interpolate_4d}static get bicubic_interpolate_4d(){return this._bicubic_interpolate_4d||(this._bicubic_interpolate_4d=b([8,9,18,0,58,127,10,39,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,16,10,4,109,111,100,101,34,5,99,117,98,105,99,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bicubic_interpolate_4d}static get matmul(){return this._matmul||(this._matmul=b([8,9,18,0,58,55,10,17,10,1,97,10,1,98,18,1,99,34,6,77,97,116,77,117,108,18,1,114,90,9,10,1,97,18,4,10,2,8,1,90,9,10,1,98,18,4,10,2,8,1,98,9,10,1,99,18,4,10,2,8,1,66,2,16,20],this.session_options,"c")),this._matmul}static get stft(){return this._stft||(this._stft=b([8,7,18,0,58,148,1,10,38,10,1,115,10,1,106,10,1,119,10,1,108,18,1,111,34,4,83,84,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,115,90,26,10,1,115,18,21,10,19,8,1,18,15,10,3,18,1,98,10,3,18,1,115,10,3,18,1,99,90,11,10,1,106,18,6,10,4,8,7,18,0,90,16,10,1,119,18,11,10,9,8,1,18,5,10,3,18,1,119,90,11,10,1,108,18,6,10,4,8,7,18,0,98,31,10,1,111,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,102,10,3,18,1,100,10,3,18,1,99,66,2,16,17],this.session_options,"o")),this._stft}static get rfft(){return this._rfft||(this._rfft=b([8,9,18,0,58,97,10,33,10,1,120,10,0,10,1,97,18,1,121,34,3,68,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,100,90,21,10,1,120,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,90,11,10,1,97,18,6,10,4,8,7,18,0,98,21,10,1,121,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,66,2,16,20],this.session_options,"y")),this._rfft}static get top_k(){return this._top_k||(this._top_k=b([8,10,18,0,58,73,10,18,10,1,120,10,1,107,18,1,118,18,1,105,34,4,84,111,112,75,18,1,116,90,9,10,1,120,18,4,10,2,8,1,90,15,10,1,107,18,10,10,8,8,7,18,4,10,2,8,1,98,9,10,1,118,18,4,10,2,8,1,98,9,10,1,105,18,4,10,2,8,7,66,2,16,21],this.session_options,["v","i"])),this._top_k}static get slice(){return this._slice||(this._slice=b([8,7,18,0,58,96,10,25,10,1,120,10,1,115,10,1,101,10,1,97,10,1,116,18,1,121,34,5,83,108,105,99,101,18,1,114,90,9,10,1,120,18,4,10,2,8,1,90,9,10,1,115,18,4,10,2,8,7,90,9,10,1,101,18,4,10,2,8,7,90,9,10,1,97,18,4,10,2,8,7,90,9,10,1,116,18,4,10,2,8,7,98,9,10,1,121,18,4,10,2,8,1,66,2,16,13],this.session_options,"y")),this._slice}}Ct(k,"session_options",{})},
2809"./src/pipelines.js":(c,a,s)=>{s.r(a),s.d(a,{AudioClassificationPipeline:()=>Ie,AutomaticSpeechRecognitionPipeline:()=>ce,DepthEstimationPipeline:()=>at,DocumentQuestionAnsweringPipeline:()=>we,FeatureExtractionPipeline:()=>S,FillMaskPipeline:()=>J,ImageClassificationPipeline:()=>Ce,ImageFeatureExtractionPipeline:()=>F,ImageSegmentationPipeline:()=>Fe,ImageToImagePipeline:()=>me,ImageToTextPipeline:()=>ge,ObjectDetectionPipeline:()=>de,Pipeline:()=>W,QuestionAnsweringPipeline:()=>K,SummarizationPipeline:()=>v,Text2TextGenerationPipeline:()=>g,TextClassificationPipeline:()=>U,TextGenerationPipeline:()=>_,TextToAudioPipeline:()=>Ge,TokenClassificationPipeline:()=>H,TranslationPipeline:()=>e,ZeroShotAudioClassificationPipeline:()=>he,ZeroShotClassificationPipeline:()=>re,ZeroShotImageClassificationPipeline:()=>Pe,ZeroShotObjectDetectionPipeline:()=>pe,pipeline:()=>pt});var o=s("./src/tokenizers.js"),u=s("./src/models.js"),p=s("./src/models/auto/processing_auto.js");s("./src/base/processing_utils.js");var C=s("./src/utils/generic.js"),b=s("./src/utils/core.js"),k=s("./src/utils/maths.js"),E=s("./src/utils/audio.js"),B=s("./src/utils/tensor.js"),G=s("./src/utils/image.js");async function D(ct){return Array.isArray(ct)||(ct=[ct]),await Promise.all(ct.map(je=>G.RawImage.read(je)))}async function Q(ct,je){return Array.isArray(ct)||(ct=[ct]),await Promise.all(ct.map(At=>typeof At=="string"||At instanceof URL?(0,E.read_audio)(At,je):At instanceof Float64Array?new Float32Array(At):At))}function V(ct,je){je&&(ct=ct.map(rt=>0|rt));const[At,It,wt,ze]=ct;return{xmin:At,ymin:It,xmax:wt,ymax:ze}}class W extends C.Callable{constructor({task:je,model:At,tokenizer:It=null,processor:wt=null}){super(),this.task=je,this.model=At,this.tokenizer=It,this.processor=wt}async dispose(){await this.model.dispose()}}class U extends W{constructor(je){super(je)}async _call(je,{top_k:At=1}={}){const It=this.tokenizer(je,{padding:!0,truncation:!0}),wt=await this.model(It),ze=this.model.config.problem_type==="multi_label_classification"?Ot=>Ot.sigmoid():Ot=>new B.Tensor("float32",(0,k.softmax)(Ot.data),Ot.dims),rt=this.model.config.id2label,Bt=[];for(const Ot of wt.logits){const St=ze(Ot),oe=await(0,B.topk)(St,At),zt=oe[0].tolist(),ke=oe[1].tolist().map((fe,Qe)=>({label:rt?rt[fe]:`LABEL_${fe}`,score:zt[Qe]}));At===1?Bt.push(...ke):Bt.push(ke)}return Array.isArray(je)||At===1?Bt:Bt[0]}}class H extends W{constructor(je){super(je)}async _call(je,{ignore_labels:At=["O"]}={}){const It=Array.isArray(je),wt=this.tokenizer(It?je:[je],{padding:!0,truncation:!0}),ze=(await this.model(wt)).logits,rt=this.model.config.id2label,Bt=[];for(let Ot=0;Ot<ze.dims[0];++Ot){const St=wt.input_ids[Ot],oe=ze[Ot],zt=[];for(let ke=0;ke<oe.dims[0];++ke){const fe=oe[ke],Qe=(0,k.max)(fe.data)[1],Je=rt?rt[Qe]:`LABEL_${Qe}`;if(At.includes(Je))continue;const st=this.tokenizer.decode([St[ke].item()],{skip_special_tokens:!0});if(st==="")continue;const lt=(0,k.softmax)(fe.data);zt.push({entity:Je,score:lt[Qe],index:ke,word:st})}Bt.push(zt)}return It?Bt:Bt[0]}}class K extends W{constructor(je){super(je)}async _call(je,At,{top_k:It=1}={}){const wt=this.tokenizer(je,{text_pair:At,padding:!0,truncation:!0}),{start_logits:ze,end_logits:rt}=await this.model(wt),Bt=wt.input_ids.tolist(),Ot=wt.attention_mask.tolist(),St=this.tokenizer.all_special_ids,oe=[];for(let zt=0;zt<ze.dims[0];++zt){const ke=Bt[zt],fe=ke.findIndex(jt=>jt==this.tokenizer.sep_token_id);Ot[zt].map((jt,$t)=>jt==1&&($t===0||$t>fe&&St.findIndex(Ft=>Ft==ke[$t])===-1));const Qe=ze[zt].tolist(),Je=rt[zt].tolist();for(let jt=1;jt<Qe.length;++jt)(Ot[zt]==0||jt<=fe||St.findIndex($t=>$t==ke[jt])!==-1)&&(Qe[jt]=-1/0,Je[jt]=-1/0);const st=(0,k.softmax)(Qe).map((jt,$t)=>[jt,$t]),lt=(0,k.softmax)(Je).map((jt,$t)=>[jt,$t]);st[0][0]=0,lt[0][0]=0;const xt=(0,b.product)(st,lt).filter(jt=>jt[0][1]<=jt[1][1]).map(jt=>[jt[0][1],jt[1][1],jt[0][0]*jt[1][0]]).sort((jt,$t)=>$t[2]-jt[2]);for(let jt=0;jt<Math.min(xt.length,It);++jt){const[$t,Ft,dA]=xt[jt],eA=ke.slice($t,Ft+1),nA=this.tokenizer.decode(eA,{skip_special_tokens:!0});oe.push({answer:nA,score:dA})}}return It===1?oe[0]:oe}}class J extends W{constructor(je){super(je)}async _call(je,{top_k:At=5}={}){const It=this.tokenizer(je,{padding:!0,truncation:!0}
2809),{logits:wt}=await this.model(It),ze=[],rt=It.input_ids.tolist();for(let Bt=0;Bt<rt.length;++Bt){const Ot=rt[Bt],St=Ot.findIndex(Qe=>Qe==this.tokenizer.mask_token_id);if(St===-1)throw Error(`Mask token (${this.tokenizer.mask_token}) not found in text.`);const oe=wt[Bt][St],zt=await(0,B.topk)(new B.Tensor("float32",(0,k.softmax)(oe.data),oe.dims),At),ke=zt[0].tolist(),fe=zt[1].tolist();ze.push(fe.map((Qe,Je)=>{const st=Ot.slice();return st[St]=Qe,{score:ke[Je],token:Number(Qe),token_str:this.tokenizer.decode([Qe]),sequence:this.tokenizer.decode(st,{skip_special_tokens:!0})}}))}return Array.isArray(je)?ze:ze[0]}}class g extends W{constructor(At){super(At);Ct(this,"_key","generated_text")}async _call(At,It={}){Array.isArray(At)||(At=[At]),this.model.config.prefix&&(At=At.map(St=>this.model.config.prefix+St));const wt=this.model.config.task_specific_params;wt&&wt[this.task]&&wt[this.task].prefix&&(At=At.map(St=>wt[this.task].prefix+St));const ze=this.tokenizer,rt={padding:!0,truncation:!0};let Bt;Bt=this instanceof e&&"_build_translation_inputs"in ze?ze._build_translation_inputs(At,rt,It):ze(At,rt);const Ot=await this.model.generate({...Bt,...It});return ze.batch_decode(Ot,{skip_special_tokens:!0}).map(St=>({[this._key]:St}))}}class v extends g{constructor(At){super(At);Ct(this,"_key","summary_text")}}class e extends g{constructor(At){super(At);Ct(this,"_key","translation_text")}}function d(ct){return Array.isArray(ct)&&ct.every(je=>"role"in je&&"content"in je)}class _ extends W{constructor(je){super(je)}async _call(je,At={}){let It,wt=!1,ze=!1;if(typeof je=="string")It=je=[je];else if(Array.isArray(je)&&je.every(fe=>typeof fe=="string"))wt=!0,It=je;else{if(d(je))je=[je];else{if(!Array.isArray(je)||!je.every(d))throw new Error("Input must be a string, an array of strings, a Chat, or an array of Chats");wt=!0}ze=!0,It=je.map(fe=>this.tokenizer.apply_chat_template(fe,{tokenize:!1,add_generation_prompt:!0}))}const rt=At.add_special_tokens??!1,Bt=!ze&&(At.return_full_text??!0);this.tokenizer.padding_side="left";const Ot=this.tokenizer(It,{add_special_tokens:rt,padding:!0,truncation:!0}),St=await this.model.generate({...Ot,...At}),oe=this.tokenizer.batch_decode(St,{skip_special_tokens:!0});let zt;!Bt&&Ot.input_ids.dims.at(-1)>0&&(zt=this.tokenizer.batch_decode(Ot.input_ids,{skip_special_tokens:!0}).map(fe=>fe.length));const ke=Array.from({length:je.length},fe=>[]);for(let fe=0;fe<oe.length;++fe){const Qe=Math.floor(fe/St.dims[0]*je.length);zt&&(oe[fe]=oe[fe].slice(zt[Qe])),ke[Qe].push({generated_text:ze?[...je[Qe],{role:"assistant",content:oe[fe]}]:oe[fe]})}return wt||ke.length!==1?ke:ke[0]}}class re extends W{constructor(je){super(je),this.label2id=Object.fromEntries(Object.entries(this.model.config.label2id).map(([At,It])=>[At.toLowerCase(),It])),this.entailment_id=this.label2id.entailment,this.entailment_id===void 0&&(console.warn("Could not find 'entailment' in label2id mapping. Using 2 as entailment_id."),this.entailment_id=2),this.contradiction_id=this.label2id.contradiction??this.label2id.not_entailment,this.contradiction_id===void 0&&(console.warn("Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id."),this.contradiction_id=0)}async _call(je,At,{hypothesis_template:It="This example is {}.",multi_label:wt=!1}={}){const ze=Array.isArray(je);ze||(je=[je]),Array.isArray(At)||(At=[At]);const rt=At.map(St=>It.replace("{}",St)),Bt=wt||At.length===1,Ot=[];for(const St of je){const oe=[];for(const fe of rt){const Qe=this.tokenizer(St,{text_pair:fe,padding:!0,truncation:!0}),Je=await this.model(Qe);Bt?oe.push([Je.logits.data[this.contradiction_id],Je.logits.data[this.entailment_id]]):oe.push(Je.logits.data[this.entailment_id])}const zt=Bt?oe.map(fe=>(0,k.softmax)(fe)[1]):(0,k.softmax)(oe),ke=zt.map((fe,Qe)=>[fe,Qe]).sort((fe,Qe)=>Qe[0]-fe[0]);Ot.push({sequence:St,labels:ke.map(fe=>At[fe[1]]),scores:ke.map(fe=>fe[0])})}return ze?Ot:Ot[0]}}class S extends W{constructor(je){super(je)}async _call(je,{pooling:At="none",normalize:It=!1,quantize:wt=!1,precision:ze="binary"}={}){const rt=this.tokenizer(je,{padding:!0,truncation:!0}
2809),Bt=await this.model(rt);let Ot=Bt.last_hidden_state??Bt.logits??Bt.token_embeddings;if(At!=="none")if(At==="mean")Ot=(0,B.mean_pooling)(Ot,rt.attention_mask);else{if(At!=="cls")throw Error(`Pooling method '${At}' not supported.`);Ot=Ot.slice(null,0)}return It&&(Ot=Ot.normalize(2,-1)),wt&&(Ot=(0,B.quantize_embeddings)(Ot,ze)),Ot}}class F extends W{constructor(je){super(je)}async _call(je,{pool:At=null}={}){const It=await D(je),{pixel_values:wt}=await this.processor(It),ze=await this.model({pixel_values:wt});let rt;if(At){if(!("pooler_output"in ze))throw Error("No pooled output was returned. Make sure the model has a 'pooler' layer when using the 'pool' option.");rt=ze.pooler_output}else rt=ze.last_hidden_state??ze.logits??ze.image_embeds;return rt}}class Ie extends W{constructor(je){super(je)}async _call(je,{top_k:At=5}={}){const It=this.processor.feature_extractor.config.sampling_rate,wt=await Q(je,It),ze=this.model.config.id2label,rt=[];for(const Bt of wt){const Ot=await this.processor(Bt),St=(await this.model(Ot)).logits[0],oe=await(0,B.topk)(new B.Tensor("float32",(0,k.softmax)(St.data),St.dims),At),zt=oe[0].tolist(),ke=oe[1].tolist().map((fe,Qe)=>({label:ze?ze[fe]:`LABEL_${fe}`,score:zt[Qe]}));rt.push(ke)}return Array.isArray(je)?rt:rt[0]}}class he extends W{constructor(je){super(je)}async _call(je,At,{hypothesis_template:It="This is a sound of {}."}={}){const wt=!Array.isArray(je);wt&&(je=[je]);const ze=At.map(oe=>It.replace("{}",oe)),rt=this.tokenizer(ze,{padding:!0,truncation:!0}),Bt=this.processor.feature_extractor.config.sampling_rate,Ot=await Q(je,Bt),St=[];for(const oe of Ot){const zt=await this.processor(oe),ke=await this.model({...rt,...zt}),fe=(0,k.softmax)(ke.logits_per_audio.data);St.push([...fe].map((Qe,Je)=>({score:Qe,label:At[Je]})))}return wt?St[0]:St}}class ce extends W{constructor(je){super(je)}async _call(je,At={}){switch(this.model.config.model_type){case"whisper":return this._call_whisper(je,At);case"wav2vec2":case"wav2vec2-bert":case"unispeech":case"unispeech-sat":case"hubert":return this._call_wav2vec2(je,At);case"moonshine":return this._call_moonshine(je,At);default:throw new Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(je,At){At.language&&console.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),At.task&&console.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');const It=!Array.isArray(je);It&&(je=[je]);const wt=this.processor.feature_extractor.config.sampling_rate,ze=await Q(je,wt),rt=[];for(const Bt of ze){const Ot=await this.processor(Bt),St=(await this.model(Ot)).logits[0],oe=[];for(const ke of St)oe.push((0,k.max)(ke.data)[1]);const zt=this.tokenizer.decode(oe);rt.push({text:zt})}return It?rt[0]:rt}async _call_whisper(je,At){const It=At.return_timestamps??!1,wt=At.chunk_length_s??0,ze=At.force_full_sequences??!1;let rt=At.stride_length_s??null;const Bt={...At};It==="word"&&(Bt.return_token_timestamps=!0,Bt.return_timestamps=!1);const Ot=!Array.isArray(je);Ot&&(je=[je]);const St=this.processor.feature_extractor.config.chunk_length/this.model.config.max_source_positions,oe=this.processor.feature_extractor.config.hop_length,zt=this.processor.feature_extractor.config.sampling_rate,ke=await Q(je,zt),fe=[];for(const Qe of ke){let Je=[];if(wt>0){if(rt===null)rt=wt/6;else if(wt<=rt)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");const xt=zt*wt,jt=zt*rt,$t=xt-2*jt;let Ft=0;for(;;){const dA=Ft+xt,eA=Qe.subarray(Ft,dA),nA=await this.processor(eA),aA=Ft===0,bA=dA>=Qe.length;if(Je.push({stride:[eA.length,aA?0:jt,bA?0:jt],input_features:nA.input_features,is_last:bA}),bA)break;Ft+=$t}}else Je=[{stride:[Qe.length,0,0],input_features:(await this.processor(Qe)).input_features,is_last:!0}];for(const xt of Je){Bt.num_frames=Math.floor(xt.stride[0]/oe);const jt=await this.model.generate({inputs:xt.input_features,...Bt});It==="word"?(xt.tokens=jt.sequences.tolist()[0],xt.token_timestamps=jt.token_timestamps.tolist()[0].map($t=>(0,k.round)($t,2))):xt.tokens=jt[0].tolist(),xt.stride=xt.stride.map($t=>$t/zt)}const[st,lt]=this.tokenizer._decode_asr(Je,{time_precision:St,return_timestamps:It,force_full_sequences:ze});fe.push({text:st,...lt})}return Ot?fe[0]:fe}async _call_moonshine(je,At){const It=!Array.isArray(je);It&&(je=[je]);const wt=this.processor.feature_extractor.config.sampling_rate,ze=await Q(je,wt),rt=[];for(const Bt of ze){const Ot=await this.processor(Bt),St=6*Math.floor(Bt.length/wt),oe=await this.model.generate({max_new_tokens:St,...At,...Ot}),zt=this.processor.batch_decode(oe,{skip_special_tokens:!0})[0];rt.push({text:zt})}return It?rt[0]:rt}}class ge extends W{constructor(je){super(je)}async _call(je,At={}){const It=Array.isArray(je),wt=await D(je),{pixel_values:ze}=await this.processor(wt),rt=[];for(const Bt of ze){Bt.dims=[1,...Bt.dims];const Ot=await this.model.generate({inputs:Bt,...At}),St=this.tokenizer.batch_decode(Ot,{skip_special_tokens:!0}).map(oe=>({generated_text:oe.trim()}));rt.push(St)}return It?rt:rt[0]}}class Ce extends W{constructor(je){super(je)}async _call(je,{top_k:At=5}={}){const It=await D(je),{pixel_values:wt}=await this.processor(It),ze=await this.model({pixel_values:wt}),rt=this.model.config.id2label,Bt=[];for(const Ot of ze.logits){const St=await(0,B.topk)(new B.Tensor("float32",(0,k.softmax)(Ot.data),Ot.dims),At),oe=St[0].tolist(),zt=St[1].tolist().map((ke,fe)=>({label:rt?rt[ke]:`LABEL_${ke}`,score:oe[fe]}));Bt.push(zt)}return Array.isArray(je)?Bt:Bt[0]}}class Fe extends W{constructor(je){super(je),this.subtasks_mapping={panoptic:"post_process_panoptic_segmentation",instance:"post_process_instance_segmentation",semantic:"post_process_semantic_segmentation"}}async _call(je,{threshold:At=.5,mask_threshold:It=.5,overlap_mask_area_threshold:wt=.8,label_ids_to_fuse:ze=null,target_sizes:rt=null,subtask:Bt=null}={}){if(Array.isArray(je)&&je.length!==1)throw Error("Image segmentation pipeline currently only supports a batch size of 1.");const Ot=await D(je),St=Ot.map(st=>[st.height,st.width]),{pixel_values:oe,pixel_mask:zt}=await this.processor(Ot),ke=await this.model({pixel_values:oe,pixel_mask:zt});let fe=null;if(Bt!==null)fe=this.subtasks_mapping[Bt];else for(let[st,lt]of Object.entries(this.subtasks_mapping))if(lt in this.processor.image_processor){fe=this.processor.image_processor[lt].bind(this.processor.image_processor),Bt=st;break}const Qe=this.model.config.id2label,Je=[];
2809if(Bt==="panoptic"||Bt==="instance"){const st=fe(ke,At,It,wt,ze,rt??St)[0],lt=st.segmentation;for(const xt of st.segments_info){const jt=new Uint8ClampedArray(lt.data.length);for(let Ft=0;Ft<lt.data.length;++Ft)lt.data[Ft]===xt.id&&(jt[Ft]=255);const $t=new G.RawImage(jt,lt.dims[1],lt.dims[0],1);Je.push({score:xt.score,label:Qe[xt.label_id],mask:$t})}}else{if(Bt!=="semantic")throw Error(`Subtask ${Bt} not supported.`);{const{segmentation:st,labels:lt}=fe(ke,rt??St)[0];for(const xt of lt){const jt=new Uint8ClampedArray(st.data.length);for(let Ft=0;Ft<st.data.length;++Ft)st.data[Ft]===xt&&(jt[Ft]=255);const $t=new G.RawImage(jt,st.dims[1],st.dims[0],1);Je.push({score:null,label:Qe[xt],mask:$t})}}}return Je}}class Pe extends W{constructor(je){super(je)}async _call(je,At,{hypothesis_template:It="This is a photo of {}"}={}){const wt=Array.isArray(je),ze=await D(je),rt=At.map(ke=>It.replace("{}",ke)),Bt=this.tokenizer(rt,{padding:this.model.config.model_type!=="siglip"||"max_length",truncation:!0}),{pixel_values:Ot}=await this.processor(ze),St=await this.model({...Bt,pixel_values:Ot}),oe=this.model.config.model_type==="siglip"?ke=>ke.sigmoid().data:ke=>(0,k.softmax)(ke.data),zt=[];for(const ke of St.logits_per_image){const fe=[...oe(ke)].map((Qe,Je)=>({score:Qe,label:At[Je]}));fe.sort((Qe,Je)=>Je.score-Qe.score),zt.push(fe)}return wt?zt:zt[0]}}class de extends W{constructor(je){super(je)}async _call(je,{threshold:At=.9,percentage:It=!1}={}){const wt=Array.isArray(je);if(wt&&je.length!==1)throw Error("Object detection pipeline currently only supports a batch size of 1.");const ze=await D(je),rt=It?null:ze.map(fe=>[fe.height,fe.width]),{pixel_values:Bt,pixel_mask:Ot}=await this.processor(ze),St=await this.model({pixel_values:Bt,pixel_mask:Ot}),oe=this.processor.image_processor.post_process_object_detection(St,At,rt),zt=this.model.config.id2label,ke=oe.map(fe=>fe.boxes.map((Qe,Je)=>({score:fe.scores[Je],label:zt[fe.classes[Je]],box:V(Qe,!It)})));return wt?ke:ke[0]}}class pe extends W{constructor(je){super(je)}async _call(je,At,{threshold:It=.1,top_k:wt=null,percentage:ze=!1}={}){const rt=Array.isArray(je),Bt=await D(je),Ot=this.tokenizer(At,{padding:!0,truncation:!0}),St=await this.processor(Bt),oe=[];for(let zt=0;zt<Bt.length;++zt){const ke=Bt[zt],fe=ze?null:[[ke.height,ke.width]],Qe=St.pixel_values[zt].unsqueeze_(0),Je=await this.model({...Ot,pixel_values:Qe});let st;if("post_process_grounded_object_detection"in this.processor){const lt=this.processor.post_process_grounded_object_detection(Je,Ot.input_ids,{box_threshold:It,text_threshold:It,target_sizes:fe})[0];st=lt.boxes.map((xt,jt)=>({score:lt.scores[jt],label:lt.labels[jt],box:V(xt,!ze)}))}else{const lt=this.processor.image_processor.post_process_object_detection(Je,It,fe,!0)[0];st=lt.boxes.map((xt,jt)=>({score:lt.scores[jt],label:At[lt.classes[jt]],box:V(xt,!ze)}))}st.sort((lt,xt)=>xt.score-lt.score),wt!==null&&(st=st.slice(0,wt)),oe.push(st)}return rt?oe:oe[0]}}class we extends W{constructor(je){super(je)}async _call(je,At,It={}){const wt=(await D(je))[0],{pixel_values:ze}=await this.processor(wt),rt=`<s_docvqa><s_question>${At}</s_question><s_answer>`,Bt=this.tokenizer(rt,{add_special_tokens:!1,padding:!0,truncation:!0}).input_ids,Ot=await this.model.generate({inputs:ze,max_length:this.model.config.decoder.max_position_embeddings,decoder_input_ids:Bt,...It}),St=this.tokenizer.batch_decode(Ot)[0].match(/<s_answer>(.*?)<\/s_answer>/);let oe=null;return St&&St.length>=2&&(oe=St[1].trim()),[{answer:oe}]}}class Ge extends W{constructor(At){super(At);Ct(this,"DEFAULT_VOCODER_ID","Xenova/speecht5_hifigan");this.vocoder=At.vocoder??null}async _call(At,{speaker_embeddings:It=null}={}){return this.processor?this._call_text_to_spectrogram(At,{speaker_embeddings:It}):this._call_text_to_waveform(At)}async _call_text_to_waveform(At){const It=this.tokenizer(At,{padding:!0,truncation:!0}),{waveform:wt}=await this.model(It),ze=this.model.config.sampling_rate;return new E.RawAudio(wt.data,ze)}async _call_text_to_spectrogram(At,{speaker_embeddings:It}){if(this.vocoder||(console.log("No vocoder specified, using default HifiGan vocoder."),this.vocoder=await u.AutoModel.from_pretrained(this.DEFAULT_VOCODER_ID,{dtype:"fp32"})),(typeof It=="string"||It instanceof URL)&&(It=new Float32Array(await(await fetch(It)).arrayBuffer())),It instanceof Float32Array)It=new B.Tensor("float32",It,[1,It.length]);else if(!(It instanceof B.Tensor))throw new Error("Speaker embeddings must be a `Tensor`, `Float32Array`, `string`, or `URL`.");const{input_ids:wt}=this.tokenizer(At,{padding:!0,truncation:!0}
vendor: 4,479 bytes, line 2809
2809),{waveform:ze}=await this.model.generate_speech(wt,It,{vocoder:this.vocoder}),rt=this.processor.feature_extractor.config.sampling_rate;return new E.RawAudio(ze.data,rt)}}class me extends W{constructor(je){super(je)}async _call(je){const At=await D(je),It=await this.processor(At),wt=await this.model(It),ze=[];for(const rt of wt.reconstruction){const Bt=rt.squeeze().clamp_(0,1).mul_(255).round_().to("uint8");ze.push(G.RawImage.fromTensor(Bt))}return ze.length>1?ze:ze[0]}}class at extends W{constructor(je){super(je)}async _call(je){const At=await D(je),It=await this.processor(At),{predicted_depth:wt}=await this.model(It),ze=[];for(let rt=0;rt<At.length;++rt){const Bt=wt[rt],[Ot,St]=Bt.dims.slice(-2),[oe,zt]=At[rt].size,ke=(await(0,B.interpolate_4d)(Bt.view(1,1,Ot,St),{size:[zt,oe],mode:"bilinear"})).view(zt,oe),fe=ke.min().item(),Qe=ke.max().item(),Je=ke.sub(fe).div_(Qe-fe).mul_(255).to("uint8").unsqueeze(0),st=G.RawImage.fromTensor(Je);ze.push({predicted_depth:ke,depth:st})}return ze.length>1?ze:ze[0]}}const Ue=Object.freeze({"text-classification":{tokenizer:o.AutoTokenizer,pipeline:U,model:u.AutoModelForSequenceClassification,default:{model:"Xenova/distilbert-base-uncased-finetuned-sst-2-english"},type:"text"},"token-classification":{tokenizer:o.AutoTokenizer,pipeline:H,model:u.AutoModelForTokenClassification,default:{model:"Xenova/bert-base-multilingual-cased-ner-hrl"},type:"text"},"question-answering":{tokenizer:o.AutoTokenizer,pipeline:K,model:u.AutoModelForQuestionAnswering,default:{model:"Xenova/distilbert-base-cased-distilled-squad"},type:"text"},"fill-mask":{tokenizer:o.AutoTokenizer,pipeline:J,model:u.AutoModelForMaskedLM,default:{model:"Xenova/bert-base-uncased"},type:"text"},summarization:{tokenizer:o.AutoTokenizer,pipeline:v,model:u.AutoModelForSeq2SeqLM,default:{model:"Xenova/distilbart-cnn-6-6"},type:"text"},translation:{tokenizer:o.AutoTokenizer,pipeline:e,model:u.AutoModelForSeq2SeqLM,default:{model:"Xenova/t5-small"},type:"text"},"text2text-generation":{tokenizer:o.AutoTokenizer,pipeline:g,model:u.AutoModelForSeq2SeqLM,default:{model:"Xenova/flan-t5-small"},type:"text"},"text-generation":{tokenizer:o.AutoTokenizer,pipeline:_,model:u.AutoModelForCausalLM,default:{model:"Xenova/gpt2"},type:"text"},"zero-shot-classification":{tokenizer:o.AutoTokenizer,pipeline:re,model:u.AutoModelForSequenceClassification,default:{model:"Xenova/distilbert-base-uncased-mnli"},type:"text"},"audio-classification":{pipeline:Ie,model:u.AutoModelForAudioClassification,processor:p.AutoProcessor,default:{model:"Xenova/wav2vec2-base-superb-ks"},type:"audio"},"zero-shot-audio-classification":{tokenizer:o.AutoTokenizer,pipeline:he,model:u.AutoModel,processor:p.AutoProcessor,default:{model:"Xenova/clap-htsat-unfused"},type:"multimodal"},"automatic-speech-recognition":{tokenizer:o.AutoTokenizer,pipeline:ce,model:[u.AutoModelForSpeechSeq2Seq,u.AutoModelForCTC],processor:p.AutoProcessor,default:{model:"Xenova/whisper-tiny.en"},type:"multimodal"},"text-to-audio":{tokenizer:o.AutoTokenizer,pipeline:Ge,model:[u.AutoModelForTextToWaveform,u.AutoModelForTextToSpectrogram],processor:[p.AutoProcessor,null],default:{model:"Xenova/speecht5_tts"},type:"text"},"image-to-text":{tokenizer:o.AutoTokenizer,pipeline:ge,model:u.AutoModelForVision2Seq,processor:p.AutoProcessor,default:{model:"Xenova/vit-gpt2-image-captioning"},type:"multimodal"},"image-classification":{pipeline:Ce,model:u.AutoModelForImageClassification,processor:p.AutoProcessor,default:{model:"Xenova/vit-base-patch16-224"},type:"multimodal"},"image-segmentation":{pipeline:Fe,model:[u.AutoModelForImageSegmentation,u.AutoModelForSemanticSegmentation,u.AutoModelForUniversalSegmentation],processor:p.AutoProcessor,default:{model:"Xenova/detr-resnet-50-panoptic"},type:"multimodal"},"zero-shot-image-classification":{tokenizer:o.AutoTokenizer,pipeline:Pe,model:u.AutoModel,processor:p.AutoProcessor,default:{model:"Xenova/clip-vit-base-patch32"},type:"multimodal"},"object-detection":{pipeline:de,model:u.AutoModelForObjectDetection,processor:p.AutoProcessor,default:{model:"Xenova/detr-resnet-50"},type:"multimodal"},"zero-shot-object-detection":{tokenizer:o.AutoTokenizer,pipeline:pe,model:u.AutoModelForZeroShotObjectDetection,processor:p.AutoProcessor,default:{model:"Xenova/owlvit-base-patch32"},type:"multimodal"},"document-question-answering":{tokenizer:o.AutoTokenizer,pipeline:we,model:u.AutoModelForDocumentQuestionAnswering,processor:p.AutoProcessor,default:{model:"Xenova/d
2809onut-base-finetuned-docvqa"},type:"multimodal"},"image-to-image":{pipeline:me,model:u.AutoModelForImageToImage,processor:p.AutoProcessor,default:{model:"Xenova/swin2SR-classical-sr-x2-64"},type:"image"},"depth-estimation":{pipeline:at,model:u.AutoModelForDepthEstimation,processor:p.AutoProcessor,default:{model:"Xenova/dpt-large"},type:"image"},"feature-extraction":{tokenizer:o.AutoTokenizer,pipeline:S,model:u.AutoModel,default:{model:"Xenova/all-MiniLM-L6-v2"},type:"text"},"image-feature-extraction":{processor:p.AutoProcessor,pipeline:F,model:[u.AutoModelForImageFeatureExtraction,u.AutoModel],default:{model:"Xenova/vit-base-patch16-224-in21k"},type:"image"}}),ot=Object.freeze({"sentiment-analysis":"text-classification",ner:"token-classification",asr:"automatic-speech-recognition","text-to-speech":"text-to-audio",embeddings:"feature-extraction"});async function pt(ct,je=null,{progress_callback:At=null,config:It=null,cache_dir:wt=null,local_files_only:ze=!1,revision:rt="main",device:Bt=null,dtype:Ot=null,model_file_name:St=null,session_options:oe={}}={}){ct=ot[ct]??ct;const zt=Ue[ct.split("_",1)[0]];if(!zt)throw Error(`Unsupported pipeline: ${ct}. Must be one of [${Object.keys(Ue)}]`);je||(je=zt.default.model,console.log(`No model specified. Using default model: "${je}".`));const ke={progress_callback:At,config:It,cache_dir:wt,local_files_only:ze,revision:rt,device:Bt,dtype:Ot,model_file_name:St,session_options:oe},fe=new Map([["tokenizer",zt.tokenizer],["model",zt.model],["processor",zt.processor]]),Qe=await async function(Je,st,lt){const xt=Object.create(null),jt=[];for(const[$t,Ft]of Je.entries()){if(!Ft)continue;let dA;dA=Array.isArray(Ft)?new Promise(async(eA,nA)=>{var bA,vA;let aA;for(const Gt of Ft){if(Gt===null)return void eA(null);try{return void eA(await Gt.from_pretrained(st,lt))}catch(mA){if((bA=mA.message)!=null&&bA.includes("Unsupported model type"))aA=mA;else{if(!((vA=mA.message)!=null&&vA.includes("Could not locate file")))return void nA(mA);aA=mA}}}nA(aA)}):Ft.from_pretrained(st,lt),xt[$t]=dA,jt.push(dA)}await Promise.all(jt);for(const[$t,Ft]of Object.entries(xt))xt[$t]=await Ft;return xt}(fe,je,ke);return Qe.task=ct,(0,b.dispatchCallback)(At,{status:"ready",task:ct,model:je}),new zt.pipeline(Qe)}},
2809"./src/tokenizers.js":(c,a,s)=>{s.r(a),s.d(a,{AlbertTokenizer:()=>CA,AutoTokenizer:()=>Wa,BartTokenizer:()=>Rr,BertTokenizer:()=>gr,BlenderbotSmallTokenizer:()=>fr,BlenderbotTokenizer:()=>$A,BloomTokenizer:()=>nr,CLIPTokenizer:()=>Ra,CamembertTokenizer:()=>MA,CodeGenTokenizer:()=>Oi,CodeLlamaTokenizer:()=>Ja,CohereTokenizer:()=>ci,ConvBertTokenizer:()=>Fr,DebertaTokenizer:()=>iA,DebertaV2Tokenizer:()=>qt,DistilBertTokenizer:()=>Tt,ElectraTokenizer:()=>ZA,EsmTokenizer:()=>en,FalconTokenizer:()=>$a,GPT2Tokenizer:()=>EA,GPTNeoXTokenizer:()=>ds,GemmaTokenizer:()=>Yn,Grok1Tokenizer:()=>Ma,HerbertTokenizer:()=>zA,LlamaTokenizer:()=>xa,M2M100Tokenizer:()=>cn,MBart50Tokenizer:()=>Dr,MBartTokenizer:()=>Er,MPNetTokenizer:()=>Qa,MarianTokenizer:()=>Tn,MgpstrTokenizer:()=>tn,MobileBertTokenizer:()=>NA,NllbTokenizer:()=>Hr,NougatTokenizer:()=>vi,PreTrainedTokenizer:()=>AA,Qwen2Tokenizer:()=>oa,RoFormerTokenizer:()=>Vr,RobertaTokenizer:()=>Vs,SiglipTokenizer:()=>jn,SpeechT5Tokenizer:()=>la,SqueezeBertTokenizer:()=>tA,T5Tokenizer:()=>FA,TokenizerModel:()=>d,VitsTokenizer:()=>Pa,Wav2Vec2CTCTokenizer:()=>ja,WhisperTokenizer:()=>Rn,XLMRobertaTokenizer:()=>ma,XLMTokenizer:()=>QA,is_chinese_char:()=>H});var o=s("./src/utils/generic.js"),u=s("./src/utils/core.js"),p=s("./src/utils/hub.js"),C=s("./src/utils/maths.js"),b=s("./src/utils/tensor.js"),k=s("./src/utils/data-structures.js"),E=s("./node_modules/@huggingface/jinja/dist/index.js"),B=s("./src/models/whisper/common_whisper.js");async function G(_t,Ee){const qe=await Promise.all([(0,p.getModelJSON)(_t,"tokenizer.json",!0,Ee),(0,p.getModelJSON)(_t,"tokenizer_config.json",!0,Ee)]);return Ee.legacy!==null&&(qe[1].legacy=Ee.legacy),qe}function D(_t,Ee=!0){if(_t.Regex!==void 0){let qe=_t.Regex.replace(/\\([#&~])/g,"$1");for(const[ut,mt]of v)qe=qe.replaceAll(ut,mt);return new RegExp(qe,"gu")}if(_t.String!==void 0){const qe=(0,u.escapeRegExp)(_t.String);return new RegExp(Ee?qe:`(${qe})`,"gu")}return console.warn("Unknown pattern type:",_t),null}function Q(_t){return new Map(Object.entries(_t))}function V(_t){const Ee=_t.dims;switch(Ee.length){case 1:return _t.tolist();case 2:if(Ee[0]!==1)throw new Error("Unable to decode tensor with `batch size !== 1`. Use `tokenizer.batch_decode(...)` for batched inputs.");return _t.tolist()[0];default:throw new Error(`Expected tensor to have 1-2 dimensions, got ${Ee.length}.`)}}function W(_t){return _t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n\'t/g,"n't").replace(/ \'m/g,"'m").replace(/ \'s/g,"'s").replace(/ \'ve/g,"'ve").replace(/ \'re/g,"'re")}function U(_t){return _t.replace(new RegExp("\\p{M}","gu"),"")}function H(_t){return _t>=19968&&_t<=40959||_t>=13312&&_t<=19903||_t>=131072&&_t<=173791||_t>=173824&&_t<=177983||_t>=177984&&_t<=178207||_t>=178208&&_t<=183983||_t>=63744&&_t<=64255||_t>=194560&&_t<=195103}const K="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",J=new RegExp(`^[${K}]+$`,"gu"),g=".,!?…。,、।۔،",v=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],[` ?[^(\\s|[${g}])]+`,` ?[^\\s${g}]+`]]);class e{constructor(Ee){this.content=Ee.content,this.id=Ee.id,this.single_word=Ee.single_word??!1,this.lstrip=Ee.lstrip??!1,this.rstrip=Ee.rstrip??!1,this.special=Ee.special??!1,this.normalized=Ee.normalized??null}}class d extends o.Callable{constructor(Ee){super(),this.config=Ee,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}static fromConfig(Ee,...qe){switch(Ee.type){case"WordPiece":return new _(Ee);case"Unigram":return new re(Ee,...qe);case"BPE":return new Ie(Ee);default:if(Ee.vocab)return Array.isArray(Ee.vocab)?new re(Ee,...qe):typeof Ee.vocab=="object"&&Ee.continuing_subword_prefix&&Ee.unk_token?new _(Ee):new he(Ee,...qe);throw new Error(`Unknown TokenizerModel type: ${Ee.type}`)}}_call(Ee){return Ee=this.encode(Ee),this.fuse_unk&&(Ee=function(qe,ut,mt){const vt=[];let Rt=0;for(;Rt<qe.length;)if(vt.push(qe[Rt]),(ut.get(qe[Rt])??mt)===mt)for(;++Rt<qe.length&&(ut.get(qe[Rt])??mt)===mt;)ut.get(vt.at(-1))!==mt&&(vt[vt.length-1]+=qe[Rt]);else++Rt;return vt}(Ee,this.tokens_to_ids,this.unk_token_id)),Ee}encode(Ee){throw Error("encode should be implemented in subclass.")}convert_tokens_to_ids(Ee){return Ee.map(qe=>this.tokens_to_ids.get(qe)??this.unk_token_id)}convert_ids_to_tokens(Ee){return Ee.map(qe=>this.vocab[qe]??this.unk_token)}}class _ extends d{constructor(Ee){super(Ee),this.tokens_to_ids=Q(Ee.vocab),this.unk_token_id=this.tokens_to_ids.get(Ee.unk_token),this.unk_token=Ee.unk_token,this.max_input_chars_per_word=Ee.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(const[qe,ut]of this.tokens_to_ids)this.vocab[ut]=qe}
2809encode(Ee){const qe=[];for(const ut of Ee){const mt=[...ut];if(mt.length>this.max_input_chars_per_word){qe.push(this.unk_token);continue}let vt=!1,Rt=0;const lA=[];for(;Rt<mt.length;){let gt=mt.length,pA=null;for(;Rt<gt;){let oA=mt.slice(Rt,gt).join("");if(Rt>0&&(oA=this.config.continuing_subword_prefix+oA),this.tokens_to_ids.has(oA)){pA=oA;break}--gt}if(pA===null){vt=!0;break}lA.push(pA),Rt=gt}vt?qe.push(this.unk_token):qe.push(...lA)}return qe}}class re extends d{constructor(Ee,qe){super(Ee);const ut=Ee.vocab.length;this.vocab=new Array(ut),this.scores=new Array(ut);for(let mt=0;mt<ut;++mt)[this.vocab[mt],this.scores[mt]]=Ee.vocab[mt];this.unk_token_id=Ee.unk_id,this.unk_token=this.vocab[Ee.unk_id],this.tokens_to_ids=new Map(this.vocab.map((mt,vt)=>[mt,vt])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=qe.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.minScore=(0,C.min)(this.scores)[0],this.unk_score=this.minScore-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new k.CharTrie,this.trie.extend(this.vocab),this.fuse_unk=!0}populateNodes(Ee){const qe=Ee.chars;let ut=0;for(;ut<qe.length;){let mt=!1;const vt=qe.slice(ut).join(""),Rt=this.trie.commonPrefixSearch(vt);for(const lA of Rt){const gt=this.tokens_to_ids.get(lA),pA=this.scores[gt],oA=(0,u.len)(lA);Ee.insert(ut,oA,pA,gt),mt||oA!==1||(mt=!0)}mt||Ee.insert(ut,1,this.unk_score,this.unk_token_id),ut+=1}}tokenize(Ee){const qe=new k.TokenLattice(Ee,this.bos_token_id,this.eos_token_id);return this.populateNodes(qe),qe.tokens()}encode(Ee){const qe=[];for(const ut of Ee){const mt=this.tokenize(ut);qe.push(...mt)}return qe}}const S=(()=>{const _t=[...Array.from({length:94},(mt,vt)=>vt+33),...Array.from({length:12},(mt,vt)=>vt+161),...Array.from({length:82},(mt,vt)=>vt+174)],Ee=_t.slice();let qe=0;for(let mt=0;mt<256;++mt)_t.includes(mt)||(_t.push(mt),Ee.push(256+qe),qe+=1);const ut=Ee.map(mt=>String.fromCharCode(mt));return Object.fromEntries(_t.map((mt,vt)=>[mt,ut[vt]]))})(),F=(0,u.reverseDictionary)(S);class Ie extends d{constructor(Ee){super(Ee),this.tokens_to_ids=Q(Ee.vocab),this.unk_token_id=this.tokens_to_ids.get(Ee.unk_token),this.unk_token=Ee.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(const[ut,mt]of this.tokens_to_ids)this.vocab[mt]=ut;const qe=Array.isArray(Ee.merges[0]);this.merges=qe?Ee.merges:Ee.merges.map(ut=>ut.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((ut,mt)=>[JSON.stringify(ut),mt])),this.end_of_word_suffix=Ee.end_of_word_suffix,this.continuing_subword_suffix=Ee.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.cache=new Map}bpe(Ee){if(Ee.length===0)return[];const qe=this.cache.get(Ee);if(qe!==void 0)return qe;const ut=Array.from(Ee);this.end_of_word_suffix&&(ut[ut.length-1]+=this.end_of_word_suffix);let mt=[];if(ut.length>1){const vt=new k.PriorityQueue((gt,pA)=>gt.score<pA.score);let Rt={token:ut[0],bias:0,prev:null,next:null},lA=Rt;for(let gt=1;gt<ut.length;++gt){const pA={bias:gt/ut.length,token:ut[gt],prev:lA,next:null};lA.next=pA,this._add_node(vt,lA),lA=pA}for(;!vt.isEmpty();){const gt=vt.pop();if(gt.deleted||!gt.next||gt.next.deleted)continue;if(gt.deleted=!0,gt.next.deleted=!0,gt.prev){const oA={...gt.prev};gt.prev.deleted=!0,gt.prev=oA,oA.prev?oA.prev.next=oA:Rt=oA}const pA={token:gt.token+gt.next.token,bias:gt.bias,prev:gt.prev,next:gt.next.next};pA.prev?(pA.prev.next=pA,this._add_node(vt,pA.prev)):Rt=pA,pA.next&&(pA.next.prev=pA,this._add_node(vt,pA))}for(let gt=Rt;gt!==null;gt=gt.next)mt.push(gt.token)}else mt=ut;if(this.continuing_subword_suffix)for(let vt=0;vt<mt.length-1;++vt)mt[vt]+=this.continuing_subword_suffix;return this.cache.set(Ee,mt),mt}_add_node(Ee,qe){const ut=this.bpe_ranks.get(JSON.stringify([qe.token,qe.next.token]));ut!==void 0&&(qe.score=ut+qe.bias,Ee.push(qe))}encode(Ee){const qe=[];for(const ut of Ee){if(this.ignore_merges&&this.tokens_to_ids.has(ut)){qe.push(ut);continue}const mt=this.bpe(ut);for(const vt of mt)if(this.tokens_to_ids.has(vt))qe.push(vt);else if(this.byte_fallback){const Rt=Array.from(this.text_encoder.encode(vt)).map(lA=>`<0x${lA.toString(16).toUpperCase().padStart(2,"0")}>`);Rt.every(lA=>this.tokens_to_ids.has(lA))?qe.push(...Rt):qe.push(this.unk_token)}else qe.push(this.unk_token)}return qe}}class he extends d{constructor(Ee,qe){super(Ee),this.tokens_to_ids=Q(qe.target_lang?Ee.vocab[qe.target_lang]:Ee.vocab),this.bos_token=qe.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=qe.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=qe.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=qe.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(const[ut,mt]of this.tokens_to_ids)this.vocab[mt]=ut}encode(Ee){return Ee}}
2809class ce extends o.Callable{constructor(Ee){super(),this.config=Ee}static fromConfig(Ee){if(Ee===null)return null;switch(Ee.type){case"BertNormalizer":return new at(Ee);case"Precompiled":return new dA(Ee);case"Sequence":return new me(Ee);case"Replace":return new ge(Ee);case"NFC":return new Ce(Ee);case"NFKC":return new Fe(Ee);case"NFKD":return new Pe(Ee);case"Strip":return new de(Ee);case"StripAccents":return new pe(Ee);case"Lowercase":return new we(Ee);case"Prepend":return new Ge(Ee);default:throw new Error(`Unknown Normalizer type: ${Ee.type}`)}}normalize(Ee){throw Error("normalize should be implemented in subclass.")}_call(Ee){return this.normalize(Ee)}}class ge extends ce{normalize(Ee){const qe=D(this.config.pattern);return qe===null?Ee:Ee.replaceAll(qe,this.config.content)}}class Ce extends ce{normalize(Ee){return Ee=Ee.normalize("NFC")}}class Fe extends ce{normalize(Ee){return Ee=Ee.normalize("NFKC")}}class Pe extends ce{normalize(Ee){return Ee=Ee.normalize("NFKD")}}class de extends ce{normalize(Ee){return this.config.strip_left&&this.config.strip_right?Ee=Ee.trim():(this.config.strip_left&&(Ee=Ee.trimStart()),this.config.strip_right&&(Ee=Ee.trimEnd())),Ee}}class pe extends ce{normalize(Ee){return Ee=U(Ee)}}class we extends ce{normalize(Ee){return Ee=Ee.toLowerCase()}}class Ge extends ce{normalize(Ee){return Ee=this.config.prepend+Ee}}class me extends ce{constructor(Ee){super(Ee),this.normalizers=Ee.normalizers.map(qe=>ce.fromConfig(qe))}normalize(Ee){return this.normalizers.reduce((qe,ut)=>ut.normalize(qe),Ee)}}class at extends ce{_tokenize_chinese_chars(Ee){const qe=[];for(let ut=0;ut<Ee.length;++ut){const mt=Ee[ut];H(mt.charCodeAt(0))?(qe.push(" "),qe.push(mt),qe.push(" ")):qe.push(mt)}return qe.join("")}stripAccents(Ee){return Ee.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}_is_control(Ee){switch(Ee){case"	":case`
2810`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(Ee)}}_clean_text(Ee){const qe=[];for(const ut of Ee){const mt=ut.charCodeAt(0);mt===0||mt===65533||this._is_control(ut)||(/^\s$/.test(ut)?qe.push(" "):qe.push(ut))}return qe.join("")}normalize(Ee){return this.config.clean_text&&(Ee=this._clean_text(Ee)),this.config.handle_chinese_chars&&(Ee=this._tokenize_chinese_chars(Ee)),this.config.lowercase?(Ee=Ee.toLowerCase(),this.config.strip_accents!==!1&&(Ee=this.stripAccents(Ee))):this.config.strip_accents&&(Ee=this.stripAccents(Ee)),Ee}}class Ue extends o.Callable{static fromConfig(Ee){if(Ee===null)return null;switch(Ee.type){case"BertPreTokenizer":return new ot(Ee);case"Sequence":return new eA(Ee);case"Whitespace":return new nA(Ee);case"WhitespaceSplit":return new aA(Ee);case"Metaspace":return new $t(Ee);case"ByteLevel":return new pt(Ee);case"Split":return new ct(Ee);case"Punctuation":return new je(Ee);case"Digits":return new At(Ee);case"Replace":return new bA(Ee);default:throw new Error(`Unknown PreTokenizer type: ${Ee.type}`)}}pre_tokenize_text(Ee,qe){throw Error("pre_tokenize_text should be implemented in subclass.")}pre_tokenize(Ee,qe){return(Array.isArray(Ee)?Ee.map(ut=>this.pre_tokenize_text(ut,qe)):this.pre_tokenize_text(Ee,qe)).flat()}_call(Ee,qe){return this.pre_tokenize(Ee,qe)}}class ot extends Ue{constructor(Ee){super(),this.pattern=new RegExp(`[^\\s${K}]+|[${K}]`,"gu")}pre_tokenize_text(Ee,qe){return Ee.trim().match(this.pattern)||[]}}class pt extends Ue{constructor(Ee){super(),this.config=Ee,this.add_prefix_space=this.config.add_prefix_space,this.trim_offsets=this.config.trim_offsets,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=S,this.text_encoder=new TextEncoder}pre_tokenize_text(Ee,qe){return this.add_prefix_space&&!Ee.startsWith(" ")&&(Ee=" "+Ee),(this.use_regex?Ee.match(this.pattern)||[]:[Ee]).map(ut=>Array.from(this.text_encoder.encode(ut),mt=>this.byte_encoder[mt]).join(""))}}class ct extends Ue{constructor(Ee){super(),this.config=Ee,this.pattern=D(this.config.pattern,this.config.invert)}pre_tokenize_text(Ee,qe){var ut;return this.pattern===null?[]:this.config.invert?Ee.match(this.pattern)||[]:((ut=this.config.behavior)==null?void 0:ut.toLowerCase())==="removed"?Ee.split(this.pattern).filter(mt=>mt):function(mt,vt){const Rt=[];let lA=0;for(const gt of mt.matchAll(vt)){const pA=gt[0];lA<gt.index&&Rt.push(mt.slice(lA,gt.index)),pA.length>0&&Rt.push(pA),lA=gt.index+pA.length}return lA<mt.length&&Rt.push(mt.slice(lA)),Rt}(Ee,this.pattern)}}class je extends Ue{constructor(Ee){super(),this.config=Ee,this.pattern=new RegExp(`[^${K}]+|[${K}]+`,"gu")}pre_tokenize_text(Ee,qe){return Ee.match(this.pattern)||[]}}class At extends Ue{constructor(Ee){super(),this.config=Ee;const qe="[^\\d]+|\\d"+(this.config.individual_digits?"":"+");this.pattern=new RegExp(qe,"gu")}pre_tokenize_text(Ee,qe){return Ee.match(this.pattern)||[]}}class It extends o.Callable{constructor(Ee){super(),this.config=Ee}static fromConfig(Ee){if(Ee===null)return null;switch(Ee.type){case"TemplateProcessing":return new rt(Ee);case"ByteLevel":return new Bt(Ee);case"RobertaProcessing":return new ze(Ee);case"BertProcessing":return new wt(Ee);case"Sequence":return new Ot(Ee);default:throw new Error(`Unknown PostProcessor type: ${Ee.type}`)}}post_process(Ee,...qe){throw Error("post_process should be implemented in subclass.")}_call(Ee,...qe){return this.post_process(Ee,...qe)}}class wt extends It{constructor(Ee){super(Ee),this.cls=Ee.cls[0],this.sep=Ee.sep[0]}post_process(Ee,qe=null,{add_special_tokens:ut=!0}={}){ut&&(Ee=(0,u.mergeArrays)([this.cls],Ee,[this.sep]));let mt=new Array(Ee.length).fill(0);if(qe!==null){const vt=ut&&this instanceof ze?[this.sep]:[],Rt=ut?[this.sep]:[];Ee=(0,u.mergeArrays)(Ee,vt,qe,Rt),mt=(0,u.mergeArrays)(mt,new Array(qe.length+vt.length+Rt.length).fill(1))}return{tokens:Ee,token_type_ids:mt}}}class ze extends wt{}class rt extends It{constructor(Ee){super(Ee),this.single=Ee.single,this.pair=Ee.pair}post_process(Ee,qe=null,{add_special_tokens:ut=!0}={}){const mt=qe===null?this.single:this.pair;let vt=[],Rt=[];for(const lA of mt)"SpecialToken"in lA?ut&&(vt.push(lA.SpecialToken.id),Rt.push(lA.SpecialToken.type_id)):"Sequence"in lA&&(lA.Sequence.id==="A"?(vt=(0,u.mergeArrays)(vt,Ee),Rt=(0,u.mergeArrays)(Rt,new Array(Ee.length).fill(lA.Sequence.type_id
2810))):lA.Sequence.id==="B"&&(vt=(0,u.mergeArrays)(vt,qe),Rt=(0,u.mergeArrays)(Rt,new Array(qe.length).fill(lA.Sequence.type_id))));return{tokens:vt,token_type_ids:Rt}}}class Bt extends It{post_process(Ee,qe=null){return qe&&(Ee=(0,u.mergeArrays)(Ee,qe)),{tokens:Ee}}}class Ot extends It{constructor(Ee){super(Ee),this.processors=Ee.processors.map(qe=>It.fromConfig(qe))}post_process(Ee,qe=null,ut={}){let mt;for(const vt of this.processors)if(vt instanceof Bt)Ee=vt.post_process(Ee).tokens,qe&&(qe=vt.post_process(qe).tokens);else{const Rt=vt.post_process(Ee,qe,ut);Ee=Rt.tokens,mt=Rt.token_type_ids}return{tokens:Ee,token_type_ids:mt}}}class St extends o.Callable{constructor(Ee){super(),this.config=Ee,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets=Ee.trim_offsets}static fromConfig(Ee){if(Ee===null)return null;switch(Ee.type){case"WordPiece":return new Qe(Ee);case"Metaspace":return new Ft(Ee);case"ByteLevel":return new Je(Ee);case"Replace":return new oe(Ee);case"ByteFallback":return new zt(Ee);case"Fuse":return new ke(Ee);case"Strip":return new fe(Ee);case"Sequence":return new lt(Ee);case"CTC":return new st(Ee);case"BPEDecoder":return new xt(Ee);default:throw new Error(`Unknown Decoder type: ${Ee.type}`)}}_call(Ee){return this.decode(Ee)}decode(Ee){return this.decode_chain(Ee).join("")}decode_chain(Ee){throw Error("`decode_chain` should be implemented in subclass.")}}class oe extends St{decode_chain(Ee){const qe=D(this.config.pattern);return qe===null?Ee:Ee.map(ut=>ut.replaceAll(qe,this.config.content))}}class zt extends St{constructor(Ee){super(Ee),this.text_decoder=new TextDecoder}decode_chain(Ee){const qe=[];let ut=[];for(const mt of Ee){let vt=null;if(mt.length===6&&mt.startsWith("<0x")&&mt.endsWith(">")){const Rt=parseInt(mt.slice(3,5),16);isNaN(Rt)||(vt=Rt)}if(vt!==null)ut.push(vt);else{if(ut.length>0){const Rt=this.text_decoder.decode(Uint8Array.from(ut));qe.push(Rt),ut=[]}qe.push(mt)}}if(ut.length>0){const mt=this.text_decoder.decode(Uint8Array.from(ut));qe.push(mt),ut=[]}return qe}}class ke extends St{decode_chain(Ee){return[Ee.join("")]}}class fe extends St{constructor(Ee){super(Ee),this.content=this.config.content,this.start=this.config.start,this.stop=this.config.stop}decode_chain(Ee){return Ee.map(qe=>{let ut=0;for(let vt=0;vt<this.start&&qe[vt]===this.content;++vt)ut=vt+1;let mt=qe.length;for(let vt=0;vt<this.stop;++vt){const Rt=qe.length-vt-1;if(qe[Rt]!==this.content)break;mt=Rt}return qe.slice(ut,mt)})}}class Qe extends St{constructor(Ee){super(Ee),this.cleanup=Ee.cleanup}decode_chain(Ee){return Ee.map((qe,ut)=>(ut!==0&&(qe=qe.startsWith(this.config.prefix)?qe.replace(this.config.prefix,""):" "+qe),this.cleanup&&(qe=W(qe)),qe))}}class Je extends St{constructor(Ee){super(Ee),this.byte_decoder=F,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(Ee){const qe=Ee.join(""),ut=new Uint8Array([...qe].map(mt=>this.byte_decoder[mt]));return this.text_decoder.decode(ut)}decode_chain(Ee){const qe=[];let ut=[];for(const mt of Ee)this.added_tokens.find(vt=>vt.content===mt)!==void 0?(ut.length>0&&(qe.push(this.convert_tokens_to_string(ut)),ut=[]),qe.push(mt)):ut.push(mt);return ut.length>0&&qe.push(this.convert_tokens_to_string(ut)),qe}}class st extends St{constructor(Ee){super(Ee),this.pad_token=this.config.pad_token,this.word_delimiter_token=this.config.word_delimiter_token,this.cleanup=this.config.cleanup}convert_tokens_to_string(Ee){if(Ee.length===0)return"";const qe=[Ee[0]];for(let mt=1;mt<Ee.length;++mt)Ee[mt]!==qe.at(-1)&&qe.push(Ee[mt]);let ut=qe.filter(mt=>mt!==this.pad_token).join("");return this.cleanup&&(ut=W(ut).replaceAll(this.word_delimiter_token," ").trim()),ut}decode_chain(Ee){return[this.convert_tokens_to_string(Ee)]}}class lt extends St{constructor(Ee){super(Ee),this.decoders=Ee.decoders.map(qe=>St.fromConfig(qe))}decode_chain(Ee){return this.decoders.reduce((qe,ut)=>ut.decode_chain(qe),Ee)}}class xt extends St{constructor(Ee){super(Ee),this.suffix=this.config.suffix}decode_chain(Ee){return Ee.map((qe,ut)=>qe.replaceAll(this.suffix,ut===Ee.length-1?"":" "))}}class jt extends St{decode_chain(Ee){let qe="";for(let ut=1;ut<Ee.length;ut+=2)qe+=Ee[ut];return[qe]}}class $t extends Ue{constructor(Ee){super(),this.addPrefixSpace=Ee.add_prefix_space,this.replacement=Ee.replacement,this.strRep=Ee.str_rep||this.replacement,this.prepend_scheme=Ee.prepend_scheme??"always"}pre_tokenize_text(Ee,{section_index:qe}={}){let ut=Ee.replaceAll(" ",this.strRep);return this.addPrefixSpace&&!ut.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&qe===0)&&(ut=this.strRep+ut),[ut]}}class Ft extends St{constructor(Ee){super(Ee),this.addPrefixSpace=Ee.add_prefix_space,this.replacement=Ee.replacement}decode_chain(Ee){const qe=[];for(let ut=0;ut<Ee.length;++ut){let mt=Ee[ut].replaceAll(this.replacement," ");this.addPrefixSpace&&ut==0&&mt.startsWith(" ")&&(mt=mt.substring(1)),qe.push(mt)}return qe}}class dA extends ce{constructor(Ee){super(Ee),this.charsmap=Ee.precompiled_charsmap}normalize(Ee){return(Ee=(Ee=Ee.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,"")).replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," ")).includes("~")?Ee=Ee.split("~").map(ut=>
2810ut.normalize("NFKC")).join("~"):Ee=Ee.normalize("NFKC"),Ee}}class eA extends Ue{constructor(Ee){super(),this.tokenizers=Ee.pretokenizers.map(qe=>Ue.fromConfig(qe))}pre_tokenize_text(Ee,qe){return this.tokenizers.reduce((ut,mt)=>mt.pre_tokenize(ut,qe),[Ee])}}class nA extends Ue{constructor(Ee){super()}pre_tokenize_text(Ee,qe){return Ee.match(/\w+|[^\w\s]+/g)||[]}}class aA extends Ue{constructor(Ee){super()}pre_tokenize_text(Ee,qe){return function(ut){return ut.match(/\S+/g)||[]}(Ee)}}class bA extends Ue{constructor(Ee){super(),this.config=Ee,this.pattern=D(this.config.pattern),this.content=this.config.content}pre_tokenize_text(Ee,qe){return this.pattern===null?[Ee]:[Ee.replaceAll(this.pattern,this.config.content)]}}const vA=["bos_token","eos_token","unk_token","sep_token","pad_token","cls_token","mask_token"];function Gt(_t,Ee,qe,ut){for(const mt of Object.keys(_t)){const vt=Ee-_t[mt].length,Rt=qe(mt),lA=new Array(vt).fill(Rt);_t[mt]=ut==="right"?(0,u.mergeArrays)(_t[mt],lA):(0,u.mergeArrays)(lA,_t[mt])}}function mA(_t,Ee){for(const qe of Object.keys(_t))_t[qe].length=Ee}class AA extends o.Callable{constructor(qe,ut){super();Ct(this,"return_token_type_ids",!1);Ct(this,"padding_side","right");this._tokenizer_config=ut,this.normalizer=ce.fromConfig(qe.normalizer),this.pre_tokenizer=Ue.fromConfig(qe.pre_tokenizer),this.model=d.fromConfig(qe.model,ut),this.post_processor=It.fromConfig(qe.post_processor),this.decoder=St.fromConfig(qe.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];for(const mt of qe.added_tokens){const vt=new e(mt);this.added_tokens.push(vt),this.model.tokens_to_ids.set(vt.content,vt.id),this.model.vocab[vt.id]=vt.content,vt.special&&(this.special_tokens.push(vt.content),this.all_special_ids.push(vt.id))}if(this.additional_special_tokens=ut.additional_special_tokens??[],this.special_tokens.push(...this.additional_special_tokens),this.special_tokens=[...new Set(this.special_tokens)],this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_regex=this.added_tokens.length>0?new RegExp(this.added_tokens.slice().sort((mt,vt)=>vt.content.length-mt.content.length).map(mt=>`${mt.lstrip?"\\s*":""}(${(0,u.escapeRegExp)(mt.content)})${mt.rstrip?"\\s*":""}`).join("|")):null,this.mask_token=this.getToken("mask_token"),this.mask_token_id=this.model.tokens_to_ids.get(this.mask_token),this.pad_token=this.getToken("pad_token","eos_token"),this.pad_token_id=this.model.tokens_to_ids.get(this.pad_token),this.sep_token=this.getToken("sep_token"),this.sep_token_id=this.model.tokens_to_ids.get(this.sep_token),this.unk_token=this.getToken("unk_token"),this.unk_token_id=this.model.tokens_to_ids.get(this.unk_token),this.bos_token=this.getToken("bos_token"),this.bos_token_id=this.model.tokens_to_ids.get(this.bos_token),this.eos_token=this.getToken("eos_token"),this.eos_token_id=this.model.tokens_to_ids.get(this.eos_token),this.model_max_length=ut.model_max_length,this.remove_space=ut.remove_space,this.clean_up_tokenization_spaces=ut.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=ut.do_lowercase_and_remove_accent??!1,ut.padding_side&&(this.padding_side=ut.padding_side),this.legacy=!1,this.chat_template=ut.chat_template??null,Array.isArray(this.chat_template)){const mt=Object.create(null);for(const{name:vt,template:Rt}of this.chat_template){if(typeof vt!="string"||typeof Rt!="string")throw new Error('Chat template must be a list of objects with "name" and "template" properties');mt[vt]=Rt}this.chat_template=mt}this._compiled_template_cache=new Map}getToken(...qe){for(const ut of qe){const mt=this._tokenizer_config[ut];if(mt){if(typeof mt=="object"){if(mt.__type==="AddedToken")return mt.content;throw Error(`Unknown token: ${mt}`)}return mt}}return null}static async from_pretrained(qe,{progress_callback:ut=null,config:mt=null,cache_dir:vt=null,local_files_only:Rt=!1,revision:lA="main",legacy:gt=null}={}){return new this(...await G(qe,{progress_callback:ut,config:mt,cache_dir:vt,local_files_only:Rt,revision:lA,legacy:gt}))}_call(qe,{text_pair:ut=null,add_special_tokens:mt=!0,padding:vt=!1,truncation:Rt=null,max_length:lA=null,return_tensor:gt=!0,return_token_type_ids:pA=null}={}
2810){const oA=Array.isArray(qe);let sr;if(oA){if(qe.length===0)throw Error("text array must be non-empty");if(ut!==null){if(!Array.isArray(ut))throw Error("text_pair must also be an array");if(qe.length!==ut.length)throw Error("text and text_pair must have the same length");sr=qe.map((Gr,Or)=>this._encode_plus(Gr,{text_pair:ut[Or],add_special_tokens:mt,return_token_type_ids:pA}))}else sr=qe.map(Gr=>this._encode_plus(Gr,{add_special_tokens:mt,return_token_type_ids:pA}))}else{if(qe==null)throw Error("text may not be null or undefined");if(Array.isArray(ut))throw Error("When specifying `text_pair`, since `text` is a string, `text_pair` must also be a string (i.e., not an array).");sr=[this._encode_plus(qe,{text_pair:ut,add_special_tokens:mt,return_token_type_ids:pA})]}if(lA===null?lA=vt==="max_length"?this.model_max_length:(0,C.max)(sr.map(Gr=>Gr.input_ids.length))[0]:Rt||console.warn("Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation=true` to explicitly truncate examples to max length."),lA=Math.min(lA,this.model_max_length??1/0),vt||Rt)for(let Gr=0;Gr<sr.length;++Gr)sr[Gr].input_ids.length!==lA&&(sr[Gr].input_ids.length>lA?Rt&&mA(sr[Gr],lA):vt&&Gt(sr[Gr],lA,Or=>Or==="input_ids"?this.pad_token_id:0,this.padding_side));const jr={};if(gt){if((!vt||!Rt)&&sr.some(Or=>{var ir;for(const IA of Object.keys(Or))if(Or[IA].length!==((ir=sr[0][IA])==null?void 0:ir.length))return!0;return!1}))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=true' and 'truncation=true' to have batched tensors with the same length.");const Gr=[sr.length,sr[0].input_ids.length];for(const Or of Object.keys(sr[0]))jr[Or]=new b.Tensor("int64",BigInt64Array.from(sr.flatMap(ir=>ir[Or]).map(BigInt)),Gr)}else{for(const Gr of Object.keys(sr[0]))jr[Gr]=sr.map(Or=>Or[Gr]);if(!oA)for(const Gr of Object.keys(jr))jr[Gr]=jr[Gr][0]}return jr}_encode_text(qe){return qe===null?null:(this.added_tokens_regex?qe.split(this.added_tokens_regex).filter(vt=>vt):[qe]).map((vt,Rt)=>{if(this.added_tokens.find(gt=>gt.content===vt)!==void 0)return vt;{if(this.remove_space===!0&&(vt=vt.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(vt=function(pA){return U(pA.toLowerCase())}(vt)),this.normalizer!==null&&(vt=this.normalizer(vt)),vt.length===0)return[];const gt=this.pre_tokenizer!==null?this.pre_tokenizer(vt,{section_index:Rt}):[vt];return this.model(gt)}}).flat()}_encode_plus(qe,{text_pair:ut=null,add_special_tokens:mt=!0,return_token_type_ids:vt=null}={}){const{tokens:Rt,token_type_ids:lA}=this._tokenize_helper(qe,{pair:ut,add_special_tokens:mt}),gt=this.model.convert_tokens_to_ids(Rt),pA={input_ids:gt,attention_mask:new Array(gt.length).fill(1)};return(vt??this.return_token_type_ids)&&lA&&(pA.token_type_ids=lA),pA}_tokenize_helper(qe,{pair:ut=null,add_special_tokens:mt=!1}={}){const vt=this._encode_text(qe),Rt=this._encode_text(ut);return this.post_processor?this.post_processor(vt,Rt,{add_special_tokens:mt}):{tokens:(0,u.mergeArrays)(vt??[],Rt??[])}}tokenize(qe,{pair:ut=null,add_special_tokens:mt=!1}={}){return this._tokenize_helper(qe,{pair:ut,add_special_tokens:mt}).tokens}encode(qe,{text_pair:ut=null,add_special_tokens:mt=!0,return_token_type_ids:vt=null}={}){return this._encode_plus(qe,{text_pair:ut,add_special_tokens:mt,return_token_type_ids:vt}).input_ids}batch_decode(qe,ut={}){return qe instanceof b.Tensor&&(qe=qe.tolist()),qe.map(mt=>this.decode(mt,ut))}decode(qe,ut={}){if(qe instanceof b.Tensor&&(qe=V(qe)),!Array.isArray(qe)||qe.length===0||!(0,u.isIntegralNumber)(qe[0]))throw Error("token_ids must be a non-empty array of integers.");return this.decode_single(qe,ut)}decode_single(qe,{skip_special_tokens:ut=!1,clean_up_tokenization_spaces:mt=null}){let vt=this.model.convert_ids_to_tokens(qe);ut&&(vt=vt.filter(lA=>!this.special_tokens.includes(lA)));let Rt=this.decoder?this.decoder(vt):vt.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(Rt=Rt.replaceAll(this.decoder.end_of_word_suffix," "),ut&&(Rt=Rt.trim())),(mt??this.clean_up_tokenization_spaces)&&
2810(Rt=W(Rt)),Rt}get_chat_template({chat_template:qe=null,tools:ut=null}={}){if(this.chat_template&&typeof this.chat_template=="object"){const mt=this.chat_template;if(qe!==null&&Object.hasOwn(mt,qe))qe=mt[qe];else if(qe===null)if(ut!==null&&"tool_use"in mt)qe=mt.tool_use;else{if(!("default"in mt))throw Error(`This model has multiple chat templates with no default specified! Please either pass a chat template or the name of the template you wish to use to the 'chat_template' argument. Available template names are ${Object.keys(mt).sort()}.`);qe=mt.default}}else if(qe===null){if(!this.chat_template)throw Error("Cannot use apply_chat_template() because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating");qe=this.chat_template}return qe}apply_chat_template(qe,{tools:ut=null,documents:mt=null,chat_template:vt=null,add_generation_prompt:Rt=!1,tokenize:lA=!0,padding:gt=!1,truncation:pA=!1,max_length:oA=null,return_tensor:sr=!0,return_dict:jr=!1,tokenizer_kwargs:Gr={},...Or}={}){if(typeof(vt=this.get_chat_template({chat_template:vt,tools:ut}))!="string")throw Error("chat_template must be a string, but got "+typeof vt);let ir=this._compiled_template_cache.get(vt);ir===void 0&&(ir=new E.Template(vt),this._compiled_template_cache.set(vt,ir));const IA=Object.create(null);for(const _r of vA){const ba=this.getToken(_r);ba&&(IA[_r]=ba)}const _A=ir.render({messages:qe,add_generation_prompt:Rt,tools:ut,documents:mt,...IA,...Or});if(lA){const _r=this._call(_A,{add_special_tokens:!1,padding:gt,truncation:pA,max_length:oA,return_tensor:sr,...Gr});return jr?_r:_r.input_ids}return _A}}class gr extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class CA extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class NA extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class tA extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class iA extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class qt extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class zA extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class Fr extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class Vr extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class Tt extends AA{}class MA extends AA{}class QA extends AA{constructor(qe,ut){super(qe,ut);Ct(this,"return_token_type_ids",!0);console.warn('WARNING: `XLMTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}}class ZA extends AA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class FA extends AA{}class EA extends AA{}class Rr extends AA{}class Er extends AA{constructor(Ee,qe){super(Ee,qe),this.languageRegex=/^[a-z]{2}_[A-Z]{2}$/,this.language_codes=this.special_tokens.filter(ut=>this.languageRegex.test(ut)),this.lang_to_token=ut=>ut}_build_translation_inputs(Ee,qe,ut){return Br(this,Ee,qe,ut)}}class Dr extends Er{}class Vs extends AA{}class nr extends AA{}const qs="▁";class xa extends AA{constructor(qe,ut){super(qe,ut);Ct(this,"padding_side","left");this.legacy=ut.legacy??!0,this.legacy||(this.normalizer=null,this.pre_tokenizer=new $t({replacement:qs,add_prefix_space:!0,prepend_scheme:"first"}))}_encode_text(qe){if(qe===null)return null;if(this.legacy||qe.length===0)return super._encode_text(qe);let ut=super._encode_text(qs+qe.replaceAll(qs," "));return ut.length>1&&ut[0]===qs&&this.special_tokens.includes(ut[1])&&(ut=ut.slice(1)),ut}}class Ja extends AA{}class ma extends AA{}class Qa extends AA{}class $a extends AA{}class ds extends AA{}class en extends AA{}class oa extends AA{}class Yn extends AA{}class Ma extends AA{}function Br(_t,Ee,qe,ut){if(!("language_codes"in _t)||!Array.isArray(_t.language_codes))throw new Error("Tokenizer must have `language_codes` attribute set and it should be an array of language ids.");
2810if(!("languageRegex"in _t&&_t.languageRegex instanceof RegExp))throw new Error("Tokenizer must have `languageRegex` attribute set and it should be a regular expression.");if(!("lang_to_token"in _t)||typeof _t.lang_to_token!="function")throw new Error("Tokenizer must have `lang_to_token` attribute set and it should be a function.");const mt=ut.src_lang,vt=ut.tgt_lang;if(!_t.language_codes.includes(vt))throw new Error(`Target language code "${vt}" is not valid. Must be one of: {${_t.language_codes.join(", ")}}`);if(mt!==void 0){if(!_t.language_codes.includes(mt))throw new Error(`Source language code "${mt}" is not valid. Must be one of: {${_t.language_codes.join(", ")}}`);for(const Rt of _t.post_processor.config.single)if("SpecialToken"in Rt&&_t.languageRegex.test(Rt.SpecialToken.id)){Rt.SpecialToken.id=_t.lang_to_token(mt);break}}return ut.forced_bos_token_id=_t.model.convert_tokens_to_ids([_t.lang_to_token(vt)])[0],_t._call(Ee,qe)}class Hr extends AA{constructor(Ee,qe){super(Ee,qe),this.languageRegex=/^[a-z]{3}_[A-Z][a-z]{3}$/,this.language_codes=this.special_tokens.filter(ut=>this.languageRegex.test(ut)),this.lang_to_token=ut=>ut}_build_translation_inputs(Ee,qe,ut){return Br(this,Ee,qe,ut)}}class cn extends AA{constructor(Ee,qe){super(Ee,qe),this.languageRegex=/^__[a-z]{2,3}__$/,this.language_codes=this.special_tokens.filter(ut=>this.languageRegex.test(ut)).map(ut=>ut.slice(2,-2)),this.lang_to_token=ut=>`__${ut}__`}_build_translation_inputs(Ee,qe,ut){return Br(this,Ee,qe,ut)}}class Rn extends AA{get timestamp_begin(){return this.model.convert_tokens_to_ids(["<|notimestamps|>"])[0]+1}_decode_asr(Ee,{return_timestamps:qe=!1,return_language:ut=!1,time_precision:mt=null,force_full_sequences:vt=!0}={}){if(mt===null)throw Error("Must specify time_precision");let Rt=null;const lA=qe==="word";function gt(){return{language:Rt,timestamp:[null,null],text:""}}const pA=[];let oA=gt(),sr=0;const jr=this.timestamp_begin,Gr=jr+1500;let Or=[],ir=[],IA=!1,_A=null;const _r=new Set(this.all_special_ids);for(const ts of Ee){const PA=ts.tokens,Kr=lA?ts.token_timestamps:null;let Yt=null,TA=jr;if("stride"in ts){const[Ds,ks,os]=ts.stride;if(sr-=ks,_A=Ds-os,ks&&(TA=ks/mt+jr),os)for(let Tr=PA.length-1;Tr>=0;--Tr){const As=Number(PA[Tr]);if(As>=jr){if(Yt!==null&&(As-jr)*mt<_A)break;Yt=As}}}let Js=[],Ss=[];for(let Ds=0;Ds<PA.length;++Ds){const ks=Number(PA[Ds]);if(_r.has(ks)){const os=this.decode([ks]),Tr=B.WHISPER_LANGUAGE_MAPPING.get(os.slice(2,-2));if(Tr!==void 0){if(Rt!==null&&Tr!==Rt&&!qe){Or.push(Js);const As=this.findLongestCommonSequence(Or)[0],yi=this.decode(As);oA.text=yi,pA.push(oA),Or=[],Js=[],oA=gt()}Rt=oA.language=Tr}}else if(ks>=jr&&ks<=Gr){const os=(ks-jr)*mt+sr,Tr=(0,C.round)(os,2);if(Yt!==null&&ks>=Yt)IA=!0;else if(IA||Or.length>0&&ks<TA)IA=!1;else if(oA.timestamp[0]===null)oA.timestamp[0]=Tr;else if(Tr!==oA.timestamp[0]){oA.timestamp[1]=Tr,Or.push(Js),lA&&ir.push(Ss);const[As,yi]=this.findLongestCommonSequence(Or,ir),Da=this.decode(As);oA.text=Da,lA&&(oA.words=this.collateWordTimestamps(As,yi,Rt)),pA.push(oA),Or=[],Js=[],ir=[],Ss=[],oA=gt()}}else if(Js.push(ks),lA){let os,Tr=(0,C.round)(Kr[Ds]+sr,2);if(Ds+1<Kr.length){os=(0,C.round)(Kr[Ds+1]+sr,2);const As=this.decode([ks]);J.test(As)&&(os=(0,C.round)(Math.min(Tr+mt,os),2))}else os=null;Ss.push([Tr,os])}}if("stride"in ts){const[Ds,ks,os]=ts.stride;sr+=Ds-os}Js.length>0?(Or.push(Js),lA&&ir.push(Ss)):Or.every(Ds=>Ds.length===0)&&(oA=gt(),Or=[],Js=[],ir=[],Ss=[])}if(Or.length>0){if(vt&&qe)throw new Error("Whisper did not predict an ending timestamp, which can happen if audio is cut off in the middle of a word. Also make sure WhisperTimeStampLogitsProcessor was used during generation.");const[ts,PA]=this.findLongestCommonSequence(Or,ir),Kr=this.decode(ts);oA.text=Kr,lA&&(oA.words=this.collateWordTimestamps(ts,PA,Rt)),pA.push(oA)}let ba=Object.create(null);const Bs=pA.map(ts=>ts.text).join("");if(qe||ut){for(let ts=0;ts<pA.length;++ts){const PA=pA[ts];qe||delete PA.timestamp,ut||delete PA.language}if(lA){const ts=[];for(const PA of pA)for(const Kr of PA.words)ts.push(Kr);ba={chunks:ts}}else ba={chunks:pA}}return[Bs,ba]}findLongestCommonSequence(Ee,qe=null){let ut=Ee[0],mt=ut.length,vt=[];const Rt=Array.isArray(qe)&&qe.length>0;
2810let lA=Rt?[]:null,gt=Rt?qe[0]:null;for(let pA=1;pA<Ee.length;++pA){const oA=Ee[pA];let sr=0,jr=[mt,mt,0,0];const Gr=oA.length;for(let Bs=1;Bs<mt+Gr;++Bs){const ts=Math.max(0,mt-Bs),PA=Math.min(mt,mt+Gr-Bs),Kr=ut.slice(ts,PA),Yt=Math.max(0,Bs-mt),TA=Math.min(Gr,Bs),Js=oA.slice(Yt,TA);if(Kr.length!==Js.length)throw new Error("There is a bug within whisper `decode_asr` function, please report it. Dropping to prevent bad inference.");let Ss;Ss=Rt?Kr.filter((ks,os)=>ks===Js[os]&&gt[ts+os]<=qe[pA][Yt+os]).length:Kr.filter((ks,os)=>ks===Js[os]).length;const Ds=Ss/Bs+Bs/1e4;Ss>1&&Ds>sr&&(sr=Ds,jr=[ts,PA,Yt,TA])}const[Or,ir,IA,_A]=jr,_r=Math.floor((ir+Or)/2),ba=Math.floor((_A+IA)/2);vt.push(...ut.slice(0,_r)),ut=oA.slice(ba),mt=ut.length,Rt&&(lA.push(...gt.slice(0,_r)),gt=qe[pA].slice(ba))}return vt.push(...ut),Rt?(lA.push(...gt),[vt,lA]):[vt,[]]}collateWordTimestamps(Ee,qe,ut){const[mt,vt,Rt]=this.combineTokensIntoWords(Ee,ut),lA=[];for(let gt=0;gt<mt.length;++gt){const pA=Rt[gt];lA.push({text:mt[gt],timestamp:[qe[pA.at(0)][0],qe[pA.at(-1)][1]]})}return lA}combineTokensIntoWords(Ee,qe,ut=`"'“¡¿([{-`,mt=`"'.。,,!!??::”)]}、`){let vt,Rt,lA;return["chinese","japanese","thai","lao","myanmar"].includes(qe=qe??"english")?[vt,Rt,lA]=this.splitTokensOnUnicode(Ee):[vt,Rt,lA]=this.splitTokensOnSpaces(Ee),this.mergePunctuations(vt,Rt,lA,ut,mt)}decode(Ee,qe){let ut;return qe!=null&&qe.decode_with_timestamps?(Ee instanceof b.Tensor&&(Ee=V(Ee)),ut=this.decodeWithTimestamps(Ee,qe)):ut=super.decode(Ee,qe),ut}decodeWithTimestamps(Ee,qe){const ut=(qe==null?void 0:qe.time_precision)??.02,mt=Array.from(this.all_special_ids).at(-1)+1;let vt=[[]];for(let Rt of Ee)if(Rt=Number(Rt),Rt>=mt){const lA=((Rt-mt)*ut).toFixed(2);vt.push(`<|${lA}|>`),vt.push([])}else vt[vt.length-1].push(Rt);return vt=vt.map(Rt=>typeof Rt=="string"?Rt:super.decode(Rt,qe)),vt.join("")}splitTokensOnUnicode(Ee){const qe=this.decode(Ee,{decode_with_timestamps:!0}),ut=[],mt=[],vt=[];let Rt=[],lA=[],gt=0;for(let pA=0;pA<Ee.length;++pA){const oA=Ee[pA];Rt.push(oA),lA.push(pA);const sr=this.decode(Rt,{decode_with_timestamps:!0});sr.includes("�")&&qe[gt+sr.indexOf("�")]!=="�"||(ut.push(sr),mt.push(Rt),vt.push(lA),Rt=[],lA=[],gt+=sr.length)}return[ut,mt,vt]}splitTokensOnSpaces(Ee){const[qe,ut,mt]=this.splitTokensOnUnicode(Ee),vt=[],Rt=[],lA=[],gt=new RegExp(`^[${K}]$`,"gu");for(let pA=0;pA<qe.length;++pA){const oA=qe[pA],sr=ut[pA],jr=mt[pA],Gr=sr[0]>=this.model.tokens_to_ids.get("<|endoftext|>"),Or=oA.startsWith(" "),ir=oA.trim(),IA=gt.test(ir);if(Gr||Or||IA||vt.length===0)vt.push(oA),Rt.push(sr),lA.push(jr);else{const _A=vt.length-1;vt[_A]+=oA,Rt[_A].push(...sr),lA[_A].push(...jr)}}return[vt,Rt,lA]}mergePunctuations(Ee,qe,ut,mt,vt){const Rt=structuredClone(Ee),lA=structuredClone(qe),gt=structuredClone(ut);let pA=Rt.length-2,oA=Rt.length-1;for(;pA>=0;)Rt[pA].startsWith(" ")&&mt.includes(Rt[pA].trim())?(Rt[oA]=Rt[pA]+Rt[oA],lA[oA]=(0,u.mergeArrays)(lA[pA],lA[oA]),gt[oA]=(0,u.mergeArrays)(gt[pA],gt[oA]),Rt[pA]="",lA[pA]=[],gt[pA]=[]):oA=pA,--pA;for(pA=0,oA=1;oA<Rt.length;)!Rt[pA].endsWith(" ")&&vt.includes(Rt[oA])?(Rt[pA]+=Rt[oA],lA[pA]=(0,u.mergeArrays)(lA[pA],lA[oA]),gt[pA]=(0,u.mergeArrays)(gt[pA],gt[oA]),Rt[oA]="",lA[oA]=[],gt[oA]=[]):pA=oA,++oA;return[Rt.filter(sr=>sr),lA.filter(sr=>sr.length>0),gt.filter(sr=>sr.length>0)]}}class Oi extends AA{}class Ra extends AA{}class jn extends AA{}class Tn extends AA{constructor(Ee,qe){super(Ee,qe),this.languageRegex=/^(>>\w+<<)\s*/g,this.supported_language_codes=this.model.vocab.filter(ut=>this.languageRegex.test(ut)),console.warn('WARNING: `MarianTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}_encode_text(Ee){if(Ee===null)return null;const[qe,...ut]=Ee.trim().split(this.languageRegex);if(ut.length===0)return super._encode_text(qe);if(ut.length===2){const[mt,vt]=ut;return this.supported_language_codes.includes(mt)||console.warn(`Unsupported language code "${mt}" detected, which may lead to unexpected behavior. Should be one of: ${JSON.stringify(this.supported_language_codes)}`),(0,u.mergeArrays)([mt],super._encode_text(vt))}}}class ja extends AA{}class $A extends AA{}class fr extends AA{}class la extends AA{}class vi extends AA{}class Pa extends AA{constructor(Ee,qe){super(Ee,qe),this.decoder=new jt({})}}class ci extends AA{}class tn extends AA{}class Wa{static async from_pretrained(Ee,{progress_callback:qe=null,config:ut=null,cache_dir:mt=null,local_files_only:vt=!1,revision:Rt="main",legacy:lA=null}={}){var jr;const[gt,pA]=await G(Ee,{progress_callback:qe,config:ut,cache_dir:mt,local_files_only:vt,revision:Rt,legacy:lA}),oA=((jr=pA.tokenizer_class)==null?void 0:jr.replace(/Fast$/,""))??"PreTrainedTokenizer";let sr=this.TOKENIZER_CLASS_MAPPING[oA];return sr||(console.warn(`Unknown tokenizer class "${oA}", attempting to construct from base class.`),sr=AA),new sr(gt,pA)}}Ct(Wa,"TOKENIZER_CLASS_MAPPING",{T5Tokenizer:FA,DistilBertTokenizer:Tt,CamembertTokenizer:MA,DebertaTokenizer:iA,DebertaV2Tokenizer:qt,BertTokenizer:gr,HerbertTokenizer:zA,ConvBertTokenizer:Fr,RoFormerTokenizer:Vr,XLMTokenizer:QA,ElectraTokenizer:ZA,MobileBertTokenizer:NA,SqueezeBertTokenizer:tA,AlbertTokenizer:CA,GPT2Tokenizer:EA,BartTokenizer:Rr,MBartTokenizer:Er,MBart50Tokenizer:Dr,RobertaTokenizer:Vs,WhisperTokenizer:Rn,CodeGenTokenizer:Oi,CLIPTokenizer:Ra,SiglipTokenizer:jn,MarianTokenizer:Tn,BloomTokenizer:nr,NllbTokenizer:Hr,M2M100Tokenizer:cn,LlamaTokenizer:xa,CodeLlamaTokenizer:Ja,XLMR
2810obertaTokenizer:ma,MPNetTokenizer:Qa,FalconTokenizer:$a,GPTNeoXTokenizer:ds,EsmTokenizer:en,Wav2Vec2CTCTokenizer:ja,BlenderbotTokenizer:$A,BlenderbotSmallTokenizer:fr,SpeechT5Tokenizer:la,NougatTokenizer:vi,VitsTokenizer:Pa,Qwen2Tokenizer:oa,GemmaTokenizer:Yn,Grok1Tokenizer:Ma,CohereTokenizer:ci,MgpstrTokenizer:tn,PreTrainedTokenizer:AA})},
2810"./src/utils/audio.js":(c,a,s)=>{s.r(a),s.d(a,{RawAudio:()=>e,hamming:()=>D,hanning:()=>G,mel_filter_bank:()=>H,read_audio:()=>E,spectrogram:()=>J,window_function:()=>g});var o=s("./src/utils/hub.js"),u=s("./src/utils/maths.js"),p=s("./src/utils/core.js"),C=s("./src/env.js"),b=s("?7a2c"),k=s("./src/utils/tensor.js");async function E(d,_){if(typeof AudioContext>"u")throw Error("Unable to load audio from path/URL since `AudioContext` is not available in your environment. Instead, audio data should be passed directly to the pipeline/processor. For more information and some example code, see https://huggingface.co/docs/transformers.js/guides/node-audio-processing.");const re=await(await(0,o.getFile)(d)).arrayBuffer(),S=new AudioContext({sampleRate:_});_===void 0&&console.warn(`No sampling rate provided, using default of ${S.sampleRate}Hz.`);const F=await S.decodeAudioData(re);let Ie;if(F.numberOfChannels===2){const he=Math.sqrt(2),ce=F.getChannelData(0),ge=F.getChannelData(1);Ie=new Float32Array(ce.length);for(let Ce=0;Ce<F.length;++Ce)Ie[Ce]=he*(ce[Ce]+ge[Ce])/2}else Ie=F.getChannelData(0);return Ie}function B(d,_){if(d<1)return new Float64Array;if(d===1)return new Float64Array([1]);const re=1-_,S=2*Math.PI/(d-1),F=new Float64Array(d);for(let Ie=0;Ie<d;++Ie)F[Ie]=_-re*Math.cos(Ie*S);return F}function G(d){return B(d,.5)}function D(d){return B(d,.54)}const Q={htk:d=>2595*Math.log10(1+d/700),kaldi:d=>1127*Math.log(1+d/700),slaney:(d,_=1e3,re=15,S=27/Math.log(6.4))=>d>=_?re+Math.log(d/_)*S:3*d/200};function V(d,_="htk"){const re=Q[_];if(!re)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof d=="number"?re(d):d.map(S=>re(S))}const W={htk:d=>700*(10**(d/2595)-1),kaldi:d=>700*(Math.exp(d/1127)-1),slaney:(d,_=1e3,re=15,S=Math.log(6.4)/27)=>d>=re?_*Math.exp(S*(d-re)):200*d/3};function U(d,_,re){const S=(_-d)/(re-1);return Float64Array.from({length:re},(F,Ie)=>d+S*Ie)}function H(d,_,re,S,F,Ie=null,he="htk",ce=!1){if(Ie!==null&&Ie!=="slaney")throw new Error('norm must be one of null or "slaney"');const ge=U(V(re,he),V(S,he),_+2);let Ce,Fe=function(de,pe="htk"){const we=W[pe];if(!we)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof de=="number"?we(de):de.map(Ge=>we(Ge))}(ge,he);if(ce){const de=F/(2*d);Ce=V(Float64Array.from({length:d},(pe,we)=>we*de),he),Fe=ge}else Ce=U(0,Math.floor(F/2),d);const Pe=function(de,pe){const we=Float64Array.from({length:pe.length-1},(Ue,ot)=>pe[ot+1]-pe[ot]),Ge=Array.from({length:de.length},()=>new Array(pe.length));for(let Ue=0;Ue<de.length;++Ue){const ot=Ge[Ue];for(let pt=0;pt<pe.length;++pt)ot[pt]=pe[pt]-de[Ue]}const me=pe.length-2,at=Array.from({length:me},()=>new Array(de.length));for(let Ue=0;Ue<de.length;++Ue){const ot=Ge[Ue];for(let pt=0;pt<me;++pt){const ct=-ot[pt]/we[pt],je=ot[pt+2]/we[pt+1];at[pt][Ue]=Math.max(0,Math.min(ct,je))}}return at}(Ce,Fe);if(Ie!==null&&Ie==="slaney")for(let de=0;de<_;++de){const pe=Pe[de],we=2/(Fe[de+2]-Fe[de]);for(let Ge=0;Ge<d;++Ge)pe[Ge]*=we}return Pe}function K(d,_,re,S,F){if(re<=0)throw new Error("reference must be greater than zero");if(S<=0)throw new Error("min_value must be greater than zero");re=Math.max(S,re);const Ie=Math.log10(re);for(let he=0;he<d.length;++he)d[he]=_*Math.log10(Math.max(S,d[he])-Ie);if(F!==null){if(F<=0)throw new Error("db_range must be greater than zero");const he=(0,u.max)(d)[0]-F;for(let ce=0;ce<d.length;++ce)d[ce]=Math.max(d[ce],he)}return d}async function J(d,_,re,S,{fft_length:F=null,power:Ie=1,center:he=!0,pad_mode:ce="reflect",onesided:ge=!0,preemphasis:Ce=null,mel_filters:Fe=null,mel_floor:Pe=1e-10,log_mel:de=null,reference:pe=1,min_value:we=1e-10,db_range:Ge=null,remove_dc_offset:me=null,min_num_frames:at=null,max_num_frames:Ue=null,do_pad:ot=!0,transpose:pt=!1}={}){const ct=_.length;if(F===null&&(F=re),re>F)throw Error(`frame_length (${re}) may not be larger than fft_length (${F})`);if(ct!==re)throw new Error(`Length of the window (${ct}) must equal frame_length (${re})`);if(S<=0)throw new Error("hop_length must be greater than zero");if(Ie===null&&Fe!==null)throw new Error("You have provided `mel_filters` but `power` is `None`. Mel spectrogram computation is not yet supported for complex-valued spectrogram. Specify `power` to fix this issue.");if(he){if(ce!=="reflect")throw new Error(`pad_mode="${ce}" not implemented yet.`);const ke=Math.floor((F-1)/2)+1;d=function(fe,Qe,Je){const st=new fe.constructor(fe.length+Qe+Je),lt=fe.length-1;for(let xt=0;xt<fe.length;++xt)st[Qe+xt]=fe[xt];for(let xt=1;xt<=Qe;++xt)st[Qe-xt]=fe[(0,p.calculateReflectOffset)(xt,lt)];for(let xt=1;xt<=Je;++xt)st[lt+Qe+xt]=fe[(0,p.calculateReflectOffset)(lt-xt,lt)];return st}(d,ke,ke)}let je=Math.floor(1+Math.floor((d.length-re)/S));at!==null&&je<at&&(je=at);const At=ge?Math.floor(F/2)+1:F;let It=je,wt=je;Ue!==null&&(Ue>je?ot&&(wt=Ue):wt=It=Ue);const ze=new u.FFT(F),rt=new Float64Array(F),Bt=new Float64Array(ze.outputBufferSize),Ot=new Float32Array(At*wt);for(let ke=0;ke<It;++ke){const fe=ke*S,Qe=Math.min(d.length-fe,re);Qe!==re&&rt.fill(0,0,re);for(let Je=0;Je<Qe;++Je)rt[Je]=d[fe+Je];if(me){let Je=0;for(let lt=0;lt<Qe;++lt)Je+=rt[lt];const st=Je/Qe;for(let lt=0;lt<Qe;++lt)rt[lt]-=st}if(Ce!==null){for(let Je=Qe-1;Je>=1;--Je)rt[Je]-=Ce*rt[Je-1];rt[0]*=1-Ce}for(let Je=0;Je<_.length;++Je)rt[Je]*=_[Je];ze.realTransform(Bt,rt);for(let Je=0;Je<At;++Je){const st=Je<<1;Ot[Je*wt+ke]=Bt[st]**2+Bt[st+1]**2}}if(Ie!==null&&Ie!==2){const ke=2/Ie;for(let fe=0;fe<Ot.length;++fe)Ot[fe]**=ke}const St=Fe.length;let oe=await(0,k.matmul)(new k.Tensor("float32",Fe.flat(),[St,At]),new k.Tensor("float32",Ot,[At,wt]));pt&&(oe=oe.transpose(1,0));
2810const zt=oe.data;for(let ke=0;ke<zt.length;++ke)zt[ke]=Math.max(Pe,zt[ke]);if(Ie!==null&&de!==null){const ke=Math.min(zt.length,It*St);switch(de){case"log":for(let fe=0;fe<ke;++fe)zt[fe]=Math.log(zt[fe]);break;case"log10":for(let fe=0;fe<ke;++fe)zt[fe]=Math.log10(zt[fe]);break;case"dB":if(Ie===1)(function(fe,Qe=1,Je=1e-5,st=null){K(fe,20,Qe,Je,st)})(zt,pe,we,Ge);else{if(Ie!==2)throw new Error(`Cannot use log_mel option '${de}' with power ${Ie}`);(function(fe,Qe=1,Je=1e-10,st=null){K(fe,10,Qe,Je,st)})(zt,pe,we,Ge)}break;default:throw new Error(`log_mel must be one of null, 'log', 'log10' or 'dB'. Got '${de}'`)}}return oe}function g(d,_,{periodic:re=!0,frame_length:S=null,center:F=!0}={}){const Ie=re?d+1:d;let he;switch(_){case"boxcar":he=new Float64Array(Ie).fill(1);break;case"hann":case"hann_window":he=G(Ie);break;case"hamming":he=D(Ie);break;case"povey":he=G(Ie).map(ce=>Math.pow(ce,.85));break;default:throw new Error(`Unknown window type ${_}.`)}if(re&&(he=he.subarray(0,d)),S===null)return he;if(d>S)throw new Error(`Length of the window (${d}) may not be larger than frame_length (${S})`);return he}function v(d,_,re){for(let S=0;S<re.length;++S)d.setUint8(_+S,re.charCodeAt(S))}class e{constructor(_,re){this.audio=_,this.sampling_rate=re}toWav(){return function(_,re){let S=44;const F=new ArrayBuffer(S+4*_.length),Ie=new DataView(F);v(Ie,0,"RIFF"),Ie.setUint32(4,36+4*_.length,!0),v(Ie,8,"WAVE"),v(Ie,12,"fmt "),Ie.setUint32(16,16,!0),Ie.setUint16(20,3,!0),Ie.setUint16(22,1,!0),Ie.setUint32(24,re,!0),Ie.setUint32(28,4*re,!0),Ie.setUint16(32,4,!0),Ie.setUint16(34,32,!0),v(Ie,36,"data"),Ie.setUint32(40,4*_.length,!0);for(let he=0;he<_.length;++he,S+=4)Ie.setFloat32(S,_[he],!0);return F}(this.audio,this.sampling_rate)}toBlob(){const _=this.toWav();return new Blob([_],{type:"audio/wav"})}async save(_){let re;if(C.apis.IS_BROWSER_ENV){if(C.apis.IS_WEBWORKER_ENV)throw new Error("Unable to save a file from a Web Worker.");re=p.saveBlob}else{if(!C.apis.IS_FS_AVAILABLE)throw new Error("Unable to save because filesystem is disabled in this environment.");re=async(S,F)=>{let Ie=await F.arrayBuffer();b.writeFileSync(S,Buffer.from(Ie))}}await re(_,this.toBlob())}}},
2810"./src/utils/constants.js":(c,a,s)=>{s.r(a),s.d(a,{CHAT_TEMPLATE_NAME:()=>k,CONFIG_NAME:()=>u,FEATURE_EXTRACTOR_NAME:()=>p,GENERATION_CONFIG_NAME:()=>E,GITHUB_ISSUE_URL:()=>o,IMAGE_PROCESSOR_NAME:()=>C,PROCESSOR_NAME:()=>b});const o="https://github.com/huggingface/transformers.js/issues/new/choose",u="config.json",p="preprocessor_config.json",C=p,b="processor_config.json",k="chat_template.json",E="generation_config.json"},
2810"./src/utils/core.js":(c,a,s)=>{function o(K,J){K&&K(J)}function u(K){return Object.fromEntries(Object.entries(K).map(([J,g])=>[g,J]))}function p(K){return K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function C(K){var J,g,v;return((v=(g=(J=K==null?void 0:K.prototype)==null?void 0:J.__proto__)==null?void 0:g.constructor)==null?void 0:v.name)==="TypedArray"}function b(K){return Number.isInteger(K)||typeof K=="bigint"}function k(K){return K==null||K===-1}function E(K){const J=[];let g=K;for(;Array.isArray(g);)J.push(g.length),g=g[0];return J}function B(K,J,g=void 0){const v=K[J];if(v!==void 0)return delete K[J],v;if(g===void 0)throw Error(`Key ${J} does not exist in object.`);return g}function G(...K){return Array.prototype.concat.apply([],K)}function D(...K){return K.reduce((J,g)=>J.flatMap(v=>g.map(e=>[v,e])))}function Q(K,J){return Math.abs((K+J)%(2*J)-J)}function V(K,J){const g=URL.createObjectURL(J),v=document.createElement("a");v.href=g,v.download=K,v.click(),v.remove(),URL.revokeObjectURL(g)}function W(K,J){return Object.assign({},...J.map(g=>{if(K[g]!==void 0)return{[g]:K[g]}}))}function U(K){let J=0;for(const g of K)++J;return J}function H(K,J){let g=0;for(const v of K)v===J&&++g;return g}s.r(a),s.d(a,{calculateDimensions:()=>E,calculateReflectOffset:()=>Q,count:()=>H,dispatchCallback:()=>o,escapeRegExp:()=>p,isIntegralNumber:()=>b,isNullishDimension:()=>k,isTypedArray:()=>C,len:()=>U,mergeArrays:()=>G,pick:()=>W,pop:()=>B,product:()=>D,reverseDictionary:()=>u,saveBlob:()=>V})},
2810"./src/utils/data-structures.js":(c,a,s)=>{s.r(a),s.d(a,{CharTrie:()=>u,PriorityQueue:()=>o,TokenLattice:()=>C});class o{constructor(E=(G,D)=>G>D,B=1/0){this._heap=[],this._comparator=E,this._maxSize=B}get size(){return this._heap.length}isEmpty(){return this.size===0}peek(){return this._heap[0]}push(...E){return this.extend(E)}extend(E){for(const B of E)if(this.size<this._maxSize)this._heap.push(B),this._siftUp();else{const G=this._smallest();this._comparator(B,this._heap[G])&&(this._heap[G]=B,this._siftUpFrom(G))}return this.size}pop(){const E=this.peek(),B=this.size-1;return B>0&&this._swap(0,B),this._heap.pop(),this._siftDown(),E}replace(E){const B=this.peek();return this._heap[0]=E,this._siftDown(),B}_parent(E){return(E+1>>>1)-1}_left(E){return 1+(E<<1)}_right(E){return E+1<<1}_greater(E,B){return this._comparator(this._heap[E],this._heap[B])}_swap(E,B){const G=this._heap[E];this._heap[E]=this._heap[B],this._heap[B]=G}_siftUp(){this._siftUpFrom(this.size-1)}_siftUpFrom(E){for(;E>0&&this._greater(E,this._parent(E));)this._swap(E,this._parent(E)),E=this._parent(E)}_siftDown(){let E=0;for(;this._left(E)<this.size&&this._greater(this._left(E),E)||this._right(E)<this.size&&this._greater(this._right(E),E);){const B=this._right(E)<this.size&&this._greater(this._right(E),this._left(E))?this._right(E):this._left(E);this._swap(E,B),E=B}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}}class u{constructor(){this.root=p.default()}extend(E){for(const B of E)this.push(B)}push(E){let B=this.root;for(const G of E){let D=B.children.get(G);D===void 0&&(D=p.default(),B.children.set(G,D)),B=D}B.isLeaf=!0}*commonPrefixSearch(E){let B=this.root;if(B===void 0)return;let G="";for(const D of E){if(G+=D,B=B.children.get(D),B===void 0)return;B.isLeaf&&(yield G)}}}class p{constructor(E,B){this.isLeaf=E,this.children=B}static default(){return new p(!1,new Map)}}class C{constructor(E,B,G){this.chars=Array.from(E),this.len=this.chars.length,this.bosTokenId=B,this.eosTokenId=G,this.nodes=[],this.beginNodes=Array.from({length:this.len+1},()=>[]),this.endNodes=Array.from({length:this.len+1},()=>[]);const D=new b(this.bosTokenId,0,0,0,0),Q=new b(this.eosTokenId,1,this.len,0,0);this.nodes.push(D.clone()),this.nodes.push(Q.clone()),this.beginNodes[this.len].push(Q),this.endNodes[0].push(D)}insert(E,B,G,D){const Q=this.nodes.length,V=new b(D,Q,E,B,G);this.beginNodes[E].push(V),this.endNodes[E+B].push(V),this.nodes.push(V)}viterbi(){const E=this.len;let B=0;for(;B<=E;){if(this.beginNodes[B].length==0)return[];for(let V of this.beginNodes[B]){V.prev=null;let W=0,U=null;for(let H of this.endNodes[B]){const K=H.backtraceScore+V.score;(U===null||K>W)&&(U=H.clone(),W=K)}if(U===null)return[];V.prev=U,V.backtraceScore=W}++B}const G=[],D=this.beginNodes[E][0].prev;if(D===null)return[];let Q=D.clone();for(;Q.prev!==null;)G.push(Q.clone()),Q=Q.clone().prev.clone();return G.reverse(),G}piece(E){return this.chars.slice(E.pos,E.pos+E.length).join("")}tokens(){return this.viterbi().map(E=>this.piece(E))}tokenIds(){return this.viterbi().map(E=>E.tokenId)}}class b{constructor(E,B,G,D,Q){this.tokenId=E,this.nodeId=B,this.pos=G,this.length=D,this.score=Q,this.prev=null,this.backtraceScore=0}clone(){const E=new b(this.tokenId,this.nodeId,this.pos,this.length,this.score);return E.prev=this.prev,E.backtraceScore=this.backtraceScore,E}}},
2810"./src/utils/devices.js":(c,a,s)=>{s.r(a),s.d(a,{DEVICE_TYPES:()=>o});const o=Object.freeze({auto:"auto",gpu:"gpu",cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",webnn:"webnn","webnn-npu":"webnn-npu","webnn-gpu":"webnn-gpu","webnn-cpu":"webnn-cpu"})},
2810"./src/utils/dtypes.js":(c,a,s)=>{s.r(a),s.d(a,{DATA_TYPES:()=>C,DEFAULT_DEVICE_DTYPE_MAPPING:()=>b,DEFAULT_DTYPE_SUFFIX_MAPPING:()=>k,isWebGpuFp16Supported:()=>p});var o=s("./src/env.js"),u=s("./src/utils/devices.js");const p=function(){let E;return async function(){if(E===void 0)if(o.apis.IS_WEBGPU_AVAILABLE)try{E=(await navigator.gpu.requestAdapter()).features.has("shader-f16")}catch{E=!1}else E=!1;return E}}(),C=Object.freeze({auto:"auto",fp32:"fp32",fp16:"fp16",q8:"q8",int8:"int8",uint8:"uint8",q4:"q4",bnb4:"bnb4",q4f16:"q4f16"}),b=Object.freeze({[u.DEVICE_TYPES.wasm]:C.q8}),k=Object.freeze({[C.fp32]:"",[C.fp16]:"_fp16",[C.int8]:"_int8",[C.uint8]:"_uint8",[C.q8]:"_quantized",[C.q4]:"_q4",[C.q4f16]:"_q4f16",[C.bnb4]:"_bnb4"})},
2810"./src/utils/generic.js":(c,a,s)=>{s.r(a),s.d(a,{Callable:()=>o});const o=class{constructor(){let u=function(...p){return u._call(...p)};return Object.setPrototypeOf(u,new.target.prototype)}_call(...u){throw Error("Must implement _call method in subclass")}}},
2810"./src/utils/hub.js":(c,a,s)=>{s.r(a),s.d(a,{getFile:()=>B,getModelFile:()=>Q,getModelJSON:()=>V});var o=s("?7a2c"),u=s("?a42a"),p=s("./src/env.js"),C=s("./src/utils/core.js");const b={txt:"text/plain",html:"text/html",css:"text/css",js:"text/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif"};class k{constructor(H){if(this.filePath=H,this.headers=new Headers,this.exists=o.existsSync(H),this.exists){this.status=200,this.statusText="OK";let K=o.statSync(H);this.headers.set("content-length",K.size.toString()),this.updateContentType();let J=this;this.body=new ReadableStream({start(g){J.arrayBuffer().then(v=>{g.enqueue(new Uint8Array(v)),g.close()})}})}else this.status=404,this.statusText="Not Found",this.body=null}updateContentType(){const H=this.filePath.toString().split(".").pop().toLowerCase();this.headers.set("content-type",b[H]??"application/octet-stream")}clone(){let H=new k(this.filePath);return H.exists=this.exists,H.status=this.status,H.statusText=this.statusText,H.headers=new Headers(this.headers),H}async arrayBuffer(){return(await o.promises.readFile(this.filePath)).buffer}async blob(){const H=await o.promises.readFile(this.filePath);return new Blob([H],{type:this.headers.get("content-type")})}async text(){return await o.promises.readFile(this.filePath,"utf8")}async json(){return JSON.parse(await this.text())}}function E(U,H=null,K=null){let J;try{J=new URL(U)}catch{return!1}return!(H&&!H.includes(J.protocol))&&!(K&&!K.includes(J.hostname))}async function B(U){var H;if(p.env.useFS&&!E(U,["http:","https:","blob:"]))return new k(U);if(typeof process<"u"&&((H=process==null?void 0:process.release)==null?void 0:H.name)==="node"){const K=!!(rl!=null&&rl.TESTING_REMOTELY),J=p.env.version,g=new Headers;if(g.set("User-Agent",`transformers.js/${J}; is_ci/${K};`),E(U,["http:","https:"],["huggingface.co","hf.co"])){const v=(rl==null?void 0:rl.HF_TOKEN)??(rl==null?void 0:rl.HF_ACCESS_TOKEN);v&&g.set("Authorization",`Bearer ${v}`)}return fetch(U,{headers:g})}return fetch(U)}const G={400:"Bad request error occurred while trying to load file",401:"Unauthorized access to file",403:"Forbidden access to file",404:"Could not locate file",408:"Request timeout error occurred while trying to load file",500:"Internal server error error occurred while trying to load file",502:"Bad gateway error occurred while trying to load file",503:"Service unavailable error occurred while trying to load file",504:"Gateway timeout error occurred while trying to load file"};class D{constructor(H){this.path=H}async match(H){let K=u.join(this.path,H),J=new k(K);return J.exists?J:void 0}async put(H,K){const J=Buffer.from(await K.arrayBuffer());let g=u.join(this.path,H);try{await o.promises.mkdir(u.dirname(g),{recursive:!0}),await o.promises.writeFile(g,J)}catch(v){console.warn("An error occurred while writing the file to cache:",v)}}}async function Q(U,H,K=!0,J={}){if(!p.env.allowLocalModels){if(J.local_files_only)throw Error("Invalid configuration detected: local models are disabled (`env.allowLocalModels=false`) but you have requested to only use local models (`local_files_only=true`).");if(!p.env.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}let g;if((0,C.dispatchCallback)(J.progress_callback,{status:"initiate",name:U,file:H}),!g&&p.env.useBrowserCache){if(typeof caches>"u")throw Error("Browser cache is not available in this environment.");try{g=await caches.open("transformers-cache")}catch(Ce){console.warn("An error occurred while opening the browser cache:",Ce)}}if(!g&&p.env.useFSCache&&(g=new D(J.cache_dir??p.env.cacheDir)),!g&&p.env.useCustomCache){if(!p.env.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!p.env.customCache.match||!p.env.customCache.put)throw new Error("`env.customCache` must be an object which implements the `match` and `put` functions of the Web Cache API. For more information, see https://developer.mozilla.org/en-US/docs/Web/API/Cache");g=p.env.customCache}const v=J.revision??"main";let e,d,_=W(U,H),re=W(p.env.localModelPath,_),S=W(p.env.remoteHost,p.env.remotePathTemplate.replaceAll("{model}",U).replaceAll("{revision}",encodeURIComponent(v)),H),F=v==="main"?_:W(U,v,H),Ie=g instanceof D?F:S,he=!1;g&&(d=await async function(Ce,...Fe){for(let Pe of Fe)try{let de=await Ce.match(Pe);
2810if(de)return de}catch{continue}}(g,re,Ie));const ce=d!==void 0;if(d===void 0){if(p.env.allowLocalModels)if(E(_,["http:","https:"])){if(J.local_files_only)throw new Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${_}.`);if(!p.env.allowRemoteModels)throw new Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${_}.`)}else try{d=await B(re),e=re}catch(Ce){console.warn(`Unable to load from local path "${re}": "${Ce}"`)}if(d===void 0||d.status===404){if(J.local_files_only||!p.env.allowRemoteModels){if(K)throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${re}".`);return null}if(d=await B(S),d.status!==200)return function(Ce,Fe,Pe){if(!Pe)return null;const de=G[Ce]??`Error (${Ce}) occurred while trying to load file`;throw Error(`${de}: "${Fe}".`)}(d.status,S,K);e=Ie}he=g&&typeof Response<"u"&&d instanceof Response&&d.status===200}let ge;return(0,C.dispatchCallback)(J.progress_callback,{status:"download",name:U,file:H}),J.progress_callback?ce&&typeof navigator<"u"&&/firefox/i.test(navigator.userAgent)?(ge=new Uint8Array(await d.arrayBuffer()),(0,C.dispatchCallback)(J.progress_callback,{status:"progress",name:U,file:H,progress:100,loaded:ge.length,total:ge.length})):ge=await async function(Ce,Fe){const Pe=Ce.headers.get("Content-Length");Pe===null&&console.warn("Unable to determine content-length from response headers. Will expand buffer when needed.");let de=parseInt(Pe??"0"),pe=new Uint8Array(de),we=0;const Ge=Ce.body.getReader();async function me(){const{done:at,value:Ue}=await Ge.read();if(at)return;let ot=we+Ue.length;if(ot>de){de=ot;let pt=new Uint8Array(de);pt.set(pe),pe=pt}return pe.set(Ue,we),we=ot,Fe({progress:we/de*100,loaded:we,total:de}),me()}return await me(),pe}(d,Ce=>{(0,C.dispatchCallback)(J.progress_callback,{status:"progress",name:U,file:H,...Ce})}):ge=new Uint8Array(await d.arrayBuffer()),he&&e&&await g.match(e)===void 0&&await g.put(e,new Response(ge,{headers:d.headers})).catch(Ce=>{console.warn(`Unable to add response to browser cache: ${Ce}.`)}),(0,C.dispatchCallback)(J.progress_callback,{status:"done",name:U,file:H}),ge}async function V(U,H,K=!0,J={}){let g=await Q(U,H,K,J);if(g===null)return{};let v=new TextDecoder("utf-8").decode(g);return JSON.parse(v)}function W(...U){return(U=U.map((H,K)=>(K&&(H=H.replace(new RegExp("^/"),"")),K!==U.length-1&&(H=H.replace(new RegExp("/$"),"")),H))).join("/")}},
2810"./src/utils/image.js":(c,a,s)=>{s.r(a),s.d(a,{RawImage:()=>V,load_image:()=>W});var o=s("./src/utils/core.js"),u=s("./src/utils/hub.js"),p=s("./src/env.js"),C=s("./src/utils/tensor.js"),b=s("?2b25");let k,E,B;const G=p.apis.IS_BROWSER_ENV||p.apis.IS_WEBWORKER_ENV;if(G)k=(U,H)=>{if(!self.OffscreenCanvas)throw new Error("OffscreenCanvas not supported by this browser.");return new self.OffscreenCanvas(U,H)},B=self.createImageBitmap,E=self.ImageData;else{if(!b)throw new Error("Unable to load image processing library.");B=async U=>{const H=(await U.metadata()).channels,{data:K,info:J}=await U.rotate().raw().toBuffer({resolveWithObject:!0}),g=new V(new Uint8ClampedArray(K),J.width,J.height,J.channels);return H!==void 0&&H!==J.channels&&g.convert(H),g}}const D={0:"nearest",1:"lanczos",2:"bilinear",3:"bicubic",4:"box",5:"hamming"},Q=new Map([["png","image/png"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["gif","image/gif"]]);class V{constructor(H,K,J,g){this.data=H,this.width=K,this.height=J,this.channels=g}get size(){return[this.width,this.height]}static async read(H){if(H instanceof V)return H;if(typeof H=="string"||H instanceof URL)return await this.fromURL(H);throw new Error("Unsupported input type: "+typeof H)}static fromCanvas(H){if(!G)throw new Error("fromCanvas() is only supported in browser environments.");const K=H.getContext("2d").getImageData(0,0,H.width,H.height).data;return new V(K,H.width,H.height,4)}static async fromURL(H){const K=await(0,u.getFile)(H);if(K.status!==200)throw new Error(`Unable to read image from "${H}" (${K.status} ${K.statusText})`);const J=await K.blob();return this.fromBlob(J)}static async fromBlob(H){if(G){const K=await B(H),J=k(K.width,K.height).getContext("2d");return J.drawImage(K,0,0),new this(J.getImageData(0,0,K.width,K.height).data,K.width,K.height,4)}{const K=b(await H.arrayBuffer());return await B(K)}}static fromTensor(H,K="CHW"){if(H.dims.length!==3)throw new Error(`Tensor should have 3 dimensions, but has ${H.dims.length} dimensions.`);if(K==="CHW")H=H.transpose(1,2,0);else if(K!=="HWC")throw new Error(`Unsupported channel format: ${K}`);if(!(H.data instanceof Uint8ClampedArray||H.data instanceof Uint8Array))throw new Error(`Unsupported tensor type: ${H.type}`);switch(H.dims[2]){case 1:case 2:case 3:case 4:return new V(H.data,H.dims[1],H.dims[0],H.dims[2]);default:throw new Error(`Unsupported number of channels: ${H.dims[2]}`)}}grayscale(){if(this.channels===1)return this;const H=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let K=0,J=0;K<this.data.length;K+=this.channels){const g=this.data[K],v=this.data[K+1],e=this.data[K+2];H[J++]=Math.round(.2989*g+.587*v+.114*e)}break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(H,this.width,this.height,1)}rgb(){if(this.channels===3)return this;const H=new Uint8ClampedArray(this.width*this.height*3);switch(this.channels){case 1:for(let K=0,J=0;K<this.data.length;++K)H[J++]=this.data[K],H[J++]=this.data[K],H[J++]=this.data[K];break;case 4:for(let K=0,J=0;K<this.data.length;K+=4)H[J++]=this.data[K],H[J++]=this.data[K+1],H[J++]=this.data[K+2];break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(H,this.width,this.height,3)}rgba(){if(this.channels===4)return this;const H=new Uint8ClampedArray(this.width*this.height*4);switch(this.channels){case 1:for(let K=0,J=0;K<this.data.length;++K)H[J++]=this.data[K],H[J++]=this.data[K],H[J++]=this.data[K],H[J++]=255;break;case 3:for(let K=0,J=0;K<this.data.length;K+=3)H[J++]=this.data[K],H[J++]=this.data[K+1],H[J++]=this.data[K+2],H[J++]=255;break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(H,this.width,this.height,4)}putAlpha(H){if(H.width!==this.width||H.height!==this.height)throw new Error(`Expected mask size to be ${this.width}x${this.height}, but got ${H.width}x${H.height}`);if(H.channels!==1)throw new Error(`Expected mask to have 1 channel, but got ${H.channels}`);const K=this.data,J=H.data,g=this.width*this.height;if(this.channels===3){const v=new Uint8ClampedArray(4*g);for(let e=0,d=0,_=0;e<g;++e)v[_++]=K[d++],v[_++]=K[d++],v[_++]=K[d++],v[_++]=J[e];return this._update(v,this.width,this.height,4)}if(this.channels===4){for(let v=0;v<g;++v)K[4*v+3]=J[v];return this}throw new Error(`Expected image to have 3 or 4 channels, but got ${this.channels}`)}async resize(H,K,{resample:J=2}={}){if(this.width===H&&this.height===K)return this;let g=D[J]??J;const v=(0,o.isNullishDimension)(H),e=(0,o.isNullishDimension)(K);if(v&&e)return this;if(v?H=K/this.height*this.width:e&&(K=H/this.width*this.height),G){const d=this.channels,_=this.toCanvas(),re=k(H,K).getContext("2d");return re.drawImage(_,0,0,H,K),new V(re.getImageData(0,0,H,K).data,H,K,4).convert(d)}{let d=this.toSharp();switch(g){case"box":case"hamming":g!=="box"&&g!=="hamming"||(console.warn(`Resampling method ${g} is not yet supported. Using bilinear instead.`),g="bilinear");case"nearest":case"bilinear":case"bicubic":d=d.affine([H/this.width,0,0,K/this.height],{interpolator:g});break;case"lanczos":d=d.resize({width:H,height:K,fit:"fill",kernel:"lanczos3"});break;default:throw new Error(`Resampling method ${g} is not supported.`)}return await B(d)}}async pad([H,K,J,g]){if(H=Math.max(H,0),K=Math.max(K,0),J=Math.max(J,0),g=Math.max(g,0),H===0&&K===0&&J===0&&g===0)return this;if(G){const v=this.channels,e=this.toCanvas(),d=this.width+H+K,_=this.height+J+g,re=k(d,_).getContext("2d");return re.drawImage(e,0,0,this.width,this.height,H,J,this.width,this.height),new V(re.getImageData(0,0,d,_).data,d,_,4).
2810convert(v)}{const v=this.toSharp().extend({left:H,right:K,top:J,bottom:g});return await B(v)}}async crop([H,K,J,g]){if(H=Math.max(H,0),K=Math.max(K,0),J=Math.min(J,this.width-1),g=Math.min(g,this.height-1),H===0&&K===0&&J===this.width-1&&g===this.height-1)return this;const v=J-H+1,e=g-K+1;if(G){const d=this.channels,_=this.toCanvas(),re=k(v,e).getContext("2d");return re.drawImage(_,H,K,v,e,0,0,v,e),new V(re.getImageData(0,0,v,e).data,v,e,4).convert(d)}{const d=this.toSharp().extract({left:H,top:K,width:v,height:e});return await B(d)}}async center_crop(H,K){if(this.width===H&&this.height===K)return this;const J=(this.width-H)/2,g=(this.height-K)/2;if(G){const v=this.channels,e=this.toCanvas(),d=k(H,K).getContext("2d");let _=0,re=0,S=0,F=0;return J>=0?_=J:S=-J,g>=0?re=g:F=-g,d.drawImage(e,_,re,H,K,S,F,H,K),new V(d.getImageData(0,0,H,K).data,H,K,4).convert(v)}{let v=this.toSharp();if(J>=0&&g>=0)v=v.extract({left:Math.floor(J),top:Math.floor(g),width:H,height:K});else if(J<=0&&g<=0){const e=Math.floor(-g),d=Math.floor(-J);v=v.extend({top:e,left:d,right:H-this.width-d,bottom:K-this.height-e})}else{let e=[0,0],d=0;g<0?(e[0]=Math.floor(-g),e[1]=K-this.height-e[0]):d=Math.floor(g);let _=[0,0],re=0;J<0?(_[0]=Math.floor(-J),_[1]=H-this.width-_[0]):re=Math.floor(J),v=v.extend({top:e[0],bottom:e[1],left:_[0],right:_[1]}).extract({left:re,top:d,width:H,height:K})}return await B(v)}}async toBlob(H="image/png",K=1){if(!G)throw new Error("toBlob() is only supported in browser environments.");return await this.toCanvas().convertToBlob({type:H,quality:K})}toTensor(H="CHW"){let K=new C.Tensor("uint8",new Uint8Array(this.data),[this.height,this.width,this.channels]);if(H!=="HWC"){if(H!=="CHW")throw new Error(`Unsupported channel format: ${H}`);K=K.permute(2,0,1)}return K}toCanvas(){if(!G)throw new Error("toCanvas() is only supported in browser environments.");const H=this.clone().rgba(),K=k(H.width,H.height),J=new E(H.data,H.width,H.height);return K.getContext("2d").putImageData(J,0,0),K}split(){const{data:H,width:K,height:J,channels:g}=this,v=H.constructor,e=H.length/g,d=Array.from({length:g},()=>new v(e));for(let _=0;_<e;++_){const re=g*_;for(let S=0;S<g;++S)d[S][_]=H[re+S]}return d.map(_=>new V(_,K,J,1))}_update(H,K,J,g=null){return this.data=H,this.width=K,this.height=J,g!==null&&(this.channels=g),this}clone(){return new V(this.data.slice(),this.width,this.height,this.channels)}convert(H){if(this.channels===H)return this;switch(H){case 1:this.grayscale();break;case 3:this.rgb();break;case 4:this.rgba();break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this}async save(H){if(!G){if(p.apis.IS_FS_AVAILABLE)return await this.toSharp().toFile(H);throw new Error("Unable to save the image because filesystem is disabled in this environment.")}{if(p.apis.IS_WEBWORKER_ENV)throw new Error("Unable to save an image from a Web Worker.");const K=H.split(".").pop().toLowerCase(),J=Q.get(K)??"image/png",g=await this.toBlob(J);(0,o.saveBlob)(H,g)}}toSharp(){if(G)throw new Error("toSharp() is only supported in server-side environments.");return b(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}}const W=V.read.bind(V)},
vendor: 8,914 bytes, line 2810
2810"./src/utils/maths.js":(c,a,s)=>{function o(g,[v,e,d],[_,re],S="bilinear",F=!1){const Ie=re/d,he=_/e,ce=new g.constructor(_*re*v),ge=e*d,Ce=_*re;for(let Fe=0;Fe<_;++Fe)for(let Pe=0;Pe<re;++Pe){const de=Fe*re+Pe,pe=(Pe+.5)/Ie-.5,we=(Fe+.5)/he-.5;let Ge=Math.floor(pe),me=Math.floor(we);const at=Math.min(Ge+1,d-1),Ue=Math.min(me+1,e-1);Ge=Math.max(Ge,0),me=Math.max(me,0);const ot=pe-Ge,pt=we-me,ct=(1-ot)*(1-pt),je=ot*(1-pt),At=(1-ot)*pt,It=ot*pt,wt=me*d,ze=Ue*d,rt=wt+Ge,Bt=wt+at,Ot=ze+Ge,St=ze+at;for(let oe=0;oe<v;++oe){const zt=oe*ge;ce[oe*Ce+de]=ct*g[zt+rt]+je*g[zt+Bt]+At*g[zt+Ot]+It*g[zt+St]}}return ce}function u(g,v,e){const d=new Array(e.length),_=new Array(e.length);for(let F=e.length-1,Ie=1;F>=0;--F)_[F]=Ie,d[F]=v[e[F]],Ie*=d[F];const re=e.map((F,Ie)=>_[e.indexOf(Ie)]),S=new g.constructor(g.length);for(let F=0;F<g.length;++F){let Ie=0;for(let he=v.length-1,ce=F;he>=0;--he)Ie+=ce%v[he]*re[he],ce=Math.floor(ce/v[he]);S[Ie]=g[F]}return[S,d]}function p(g){const v=G(g)[0],e=g.map(re=>Math.exp(re-v)),d=e.reduce((re,S)=>re+S,0);return e.map(re=>re/d)}function C(g){const v=G(g)[0];let e=0;for(let re=0;re<g.length;++re)e+=Math.exp(g[re]-v);const d=Math.log(e);return g.map(re=>re-v-d)}function b(g,v){let e=0;for(let d=0;d<g.length;++d)e+=g[d]*v[d];return e}function k(g,v){return b(g,v)/(E(g)*E(v))}function E(g){return Math.sqrt(g.reduce((v,e)=>v+e*e,0))}function B(g){if(g.length===0)throw Error("Array must not be empty");let v=g[0],e=0;for(let d=1;d<g.length;++d)g[d]<v&&(v=g[d],e=d);return[v,e]}function G(g){if(g.length===0)throw Error("Array must not be empty");let v=g[0],e=0;for(let d=1;d<g.length;++d)g[d]>v&&(v=g[d],e=d);return[v,e]}function D(g){return g>0&&!(g&g-1)}s.r(a),s.d(a,{FFT:()=>W,bankers_round:()=>K,cos_sim:()=>k,dot:()=>b,dynamic_time_warping:()=>J,interpolate_data:()=>o,log_softmax:()=>C,magnitude:()=>E,max:()=>G,medianFilter:()=>U,min:()=>B,permute_data:()=>u,round:()=>H,softmax:()=>p});class Q{constructor(v){if(this.size=0|v,this.size<=1||!D(this.size))throw new Error("FFT size must be a power of two larger than 1");this._csize=v<<1,this.table=new Float64Array(2*this.size);for(let d=0;d<this.table.length;d+=2){const _=Math.PI*d/this.size;this.table[d]=Math.cos(_),this.table[d+1]=-Math.sin(_)}let e=0;for(let d=1;this.size>d;d<<=1)++e;this._width=e%2==0?e-1:e,this._bitrev=new Int32Array(1<<this._width);for(let d=0;d<this._bitrev.length;++d){this._bitrev[d]=0;for(let _=0;_<this._width;_+=2){const re=this._width-_-2;this._bitrev[d]|=(d>>>_&3)<<re}}}createComplexArray(){return new Float64Array(this._csize)}fromComplexArray(v,e){const d=e||new Array(v.length>>>1);for(let _=0;_<v.length;_+=2)d[_>>>1]=v[_];return d}toComplexArray(v,e){const d=e||this.createComplexArray();for(let _=0;_<d.length;_+=2)d[_]=v[_>>>1],d[_+1]=0;return d}transform(v,e){if(v===e)throw new Error("Input and output buffers must be different");this._transform4(v,e,1)}realTransform(v,e){if(v===e)throw new Error("Input and output buffers must be different");this._realTransform4(v,e,1)}inverseTransform(v,e){if(v===e)throw new Error("Input and output buffers must be different");this._transform4(v,e,-1);for(let d=0;d<v.length;++d)v[d]/=this.size}_transform4(v,e,d){const _=this._csize;let re,S,F=1<<this._width,Ie=_/F<<1;const he=this._bitrev;if(Ie===4)for(re=0,S=0;re<_;re+=Ie,++S){const ge=he[S];this._singleTransform2(e,v,re,ge,F)}else for(re=0,S=0;re<_;re+=Ie,++S){const ge=he[S];this._singleTransform4(e,v,re,ge,F,d)}const ce=this.table;for(F>>=2;F>=2;F>>=2){Ie=_/F<<1;const ge=Ie>>>2;for(re=0;re<_;re+=Ie){const Ce=re+ge-1;for(let Fe=re,Pe=0;Fe<Ce;Fe+=2,Pe+=F){const de=Fe,pe=de+ge,we=pe+ge,Ge=we+ge,me=v[de],at=v[de+1],Ue=v[pe],ot=v[pe+1],pt=v[we],ct=v[we+1],je=v[Ge],At=v[Ge+1],It=ce[Pe],wt=d*ce[Pe+1],ze=Ue*It-ot*wt,rt=Ue*wt+ot*It,Bt=ce[2*Pe],Ot=d*ce[2*Pe+1],St=pt*Bt-ct*Ot,oe=pt*Ot+ct*Bt,zt=ce[3*Pe],ke=d*ce[3*Pe+1],fe=je*zt-At*ke,Qe=je*ke+At*zt,Je=me+St,st=at+oe,lt=me-St,xt=at-oe,jt=ze+fe,$t=rt+Qe,Ft=d*(ze-fe),dA=d*(rt-Qe);v[de]=Je+jt,v[de+1]=st+$t,v[pe]=lt+dA,v[pe+1]=xt-Ft,v[we]=Je-jt,v[we+1]=st-$t,v[Ge]=lt-dA,v[Ge+1]=xt+Ft}}}}_singleTransform2(v,e,d,_,re){const S=v[_],F=v[_+1],Ie=v[_+re],he=v[_+re+1];e[d]=S+Ie,e[d+1]=F+he,e[d+2]=S-Ie,e[d+3]=F-he}_singleTransform4(v,e,d,_,re,S){const F=2*re,Ie=3*re,he=v[_],ce=v[_+1],ge=v[_+re],Ce=v[_+re+1],Fe=v[_+F],Pe=v[_+F+1],de=v[_+Ie],pe=v[_+Ie+1],we=he+Fe,Ge=ce+Pe,me=he-Fe,at=ce-Pe,Ue=ge+de,ot=Ce+pe,pt=S*(ge-de),ct=S*(Ce-pe);e[d]=we+Ue,e[d+1]=Ge+ot,e[d+2]=me+ct,e[d+3]=at-pt,e[d+4]=we-Ue,e[d+5]=Ge-ot,e[d+6]=me-ct,e[d+7]=at+pt}_realTransform4(v,e,d){const _=this._csize;let re,S,F=1<<this._width,Ie=_/F<<1;const he=this._bitrev;if(Ie===4)for(re=0,S=0;re<_;re+=Ie,++S){const Ce=he[S];this._singleRealTransform2(e,v,re,Ce>>>1,F>>>1)}else for(re=0,S=0;re<_;re+=Ie,++S){const Ce=he[S];this._singleRealTransform4(e,v,re,Ce>>>1,F>>>1,d)}const ce=this.table;for(F>>=2;F>=2;F>>=2){Ie=_/F<<1;const Ce=Ie>>>1,Fe=Ce>>>1,Pe=Fe>>>1;for(re=0;re<_;re+=Ie)for(let de=0,pe=0;de<=Pe;de+=2,pe+=F){const we=re+de,Ge=we+Fe,me=Ge+Fe,at=me+Fe,Ue=v[we],ot=v[we+1],pt=v[Ge],ct=v[Ge+1],je=v[me],At=v[me+1],It=v[at],wt=v[at+1],ze=Ue,rt=ot,Bt=ce[pe],Ot=d*ce[pe+1],St=pt*Bt-ct*Ot,oe=pt*Ot+ct*Bt,zt=ce[2*pe],ke=d*ce[2*pe+1],fe=je*zt-At*ke,Qe=je*ke+At*zt,Je=ce[3*pe],st=d*ce[3*pe+1],lt=It*Je-wt*st,xt=It*st+wt*Je,jt=ze+fe,$t=rt+Qe,Ft=ze-fe,dA=rt-Qe,eA=St+lt,nA=oe+xt,aA=d*(St-lt),bA=d*(oe-xt);if(v[we]=jt+eA,v[we+1]=$t+nA,v[Ge]=Ft+bA,v[Ge+1]=dA-aA,de===0){v[me]=jt-eA,v[me+1]=$t-nA;continue}if(de===Pe)continue;const vA=re+Fe-de,Gt=re+Ce-de;v[vA]=Ft-d*bA,v[vA+1]=-dA-d*aA,v[Gt]=jt-d*eA,v[Gt+1]=d*nA-$t}}const ge=_>>>1;for(let Ce=2;Ce<ge;Ce+=2)v[_-Ce]=v[Ce],v[_-Ce+1]=-v[Ce+1]}_singleRealTransform2(v,e,d,_,re){const S=v[_],F=v[_+re];e[d]=S+F,e[d+1]=0,e[d+2]=S-F,e[d+3]=0}_singleRealTransform4(v,e,d,_,re,S){const F=2*re,Ie=3*re,he=v[_],ce=v[_+re],ge=v[_+F],Ce=v[_+Ie],Fe=he+ge,Pe=he-ge,de=ce+Ce,pe=S*(ce-Ce);e[d]=Fe+de,e[d+1]=0,e[d+2]=Pe,e[d+3]=-pe,e[d+4]=Fe-de,e[d+5]=0,e[d+6]=Pe,e[d+7]=pe}}class V{constructor(v){const e=2*(v-1),d=2*(2*v-1),_=2**Math.ceil(Math.log2(d));this.bufferSize=_,this._a=e;const re=new Float64Array(d),S=new Float64Array(_);this._chirpBuffer=new Float64Array(_),this._buffer1=new Float64Array(_),this._buffer2=new Float64Array(_),this._outBuffer1=new Float64Array(_),this._outBuffer2=new Float64Array(_);const F=-2*Math.PI/v,Ie=Math.cos(F),he=Math.sin(F);for(let ce=0;ce<d>>1;++ce){const ge=(ce+1-v)**2/2,Ce=Math.sqrt(Ie**2+he**2)**ge,Fe=ge*Math.atan2(he,Ie),Pe=2*ce;re[Pe]=Ce*Math.cos(Fe),re[Pe+1]=Ce*Math.sin(Fe),S[Pe]=re[Pe],S[Pe+1]=-re[Pe+1]}this._slicedChirpBuffer=re.subarray(e,d),this._f=new Q(_>>1),this._f.transform(this._chirpBuffer,S)}_transform(v,e,d){const _=this._buffer1,re=this._buffer2,S=this._outBuffer1,F=this._outBuffer2,Ie=this._chirpBuffer,he=this._slicedChirpBuffer,ce=this._a;if(d)for(let ge=0;ge<he.length;ge+=2){const Ce=ge+1,Fe=e[ge>>1];_[ge]=Fe*he[ge],_[Ce]=Fe*he[Ce]}else for(let ge=0;ge<he.length;ge+=2){const Ce=ge+1;_[ge]=e[ge]*he[ge]-e[Ce]*he[Ce],_[Ce]=e[ge]*he[Ce]+e[Ce]*he[ge]}this._f.transform(S,_);for(let ge=0;ge<Ie.length;ge+=2){const Ce=ge+1;re[ge]=S[ge]*Ie[ge]-S[Ce]*Ie[Ce],re[Ce]=S[ge]*Ie[Ce]+S[Ce]*Ie[ge]}this._f.inverseTransform(F,re);for(let ge=0;ge<F.length;ge+=2){const Ce=F[ge+ce],Fe=F[ge+ce+1],Pe=he[ge],de=he[ge+1];v[ge]=Ce*Pe-Fe*de,v[ge+1]=Ce*de+Fe*Pe}}transform(v,e){this._transform(v,e,!1)}realTransform(v,e){this._transform(v,e,!0)}}class W{constructor(v){this.fft_length=v,this.isPowerOfTwo=D(v),this.isPowerOfTwo?(this.fft=new Q(v),this.outputBufferSize=2*v):(this.fft=new V(v),this.outputBufferSize=this.fft.bufferSize)}realTransform(v,e){this.fft.realTransform(v,e)}transform(v,e){this.fft.transform(v,e)}}function U(g,v){if(v%2==0||v<=0)throw new Error("Window size must be a positive odd number");const e=new g.constructor(g.length),d=new g.constructor(v),_=Math.floor(v/2);for(let re=0;re<g.length;++re){let S=0;for(let F=-_;F<=_;++F){let Ie=re+F;Ie<0?Ie=Math.abs(Ie):Ie>=g.length&&(Ie=2*(g.length-1)-Ie),d[S++]=g[Ie]}d.sort(),e[re]=d[_]}return e}function H(g,v){const e=Math.pow(10,v);return Math.round(g*e)/e}function K(g){const v=Math.round(g);return Math.abs(g)%1==.5?v%2==0?v:v-1:v}function J(g){const v=g.length,e=g[0].length,d=[v+1,e+1],_=Array.from({length:d[0]},()=>Array(d[1]).fill(1/0));_[0][0]=0;const re=Array.from({length:d[0]},()=>Array(d[1]).fill(-1));for(let ce=1;ce<d[1];++ce)for(let ge=1;ge<d[0];++ge){const Ce=_[ge-1][ce-1],Fe=_[ge-1][ce],Pe=_[ge][ce-1];let de,pe;Ce<Fe&&Ce<Pe?(de=Ce,pe=0):Fe<Ce&&Fe<Pe?(de=Fe,pe=1):(de=Pe,pe=2),_[ge][ce]=g[ge-1][ce-1]+de,re[ge][ce]=pe}for(let ce=0;ce<d[1];++ce)re[0][ce]=2;for(let ce=0;ce<d[0];++ce)re[ce][0]=1;let S=v,F=e,Ie=[],he=[];for(;S>0||F>0;)switch(Ie.push(S-1),he.push(F-1),re[S][F]){case 0:--S,--F;break;case 1:--S;break;case 2:--F;break;default:throw new Error(`Internal error in dynamic time warping. Unexpected trace[${S}, ${F}]. Please file a bug report.`)}return Ie.reverse(),he.reverse(),[Ie,he]}},
2810"./src/utils/tensor.js":(c,a,s)=>{s.r(a),s.d(a,{Tensor:()=>b,cat:()=>v,full:()=>F,full_like:()=>Ie,interpolate:()=>E,interpolate_4d:()=>B,layer_norm:()=>H,matmul:()=>G,mean:()=>re,mean_pooling:()=>U,ones:()=>he,ones_like:()=>ce,permute:()=>k,quantize_embeddings:()=>Pe,rand:()=>Fe,rfft:()=>D,slice:()=>W,stack:()=>e,std_mean:()=>_,topk:()=>Q,zeros:()=>ge,zeros_like:()=>Ce});var o=s("./src/utils/maths.js"),u=s("./src/backends/onnx.js"),p=s("./src/ops/registry.js");const C=Object.freeze({float32:Float32Array,float16:Uint16Array,float64:Float64Array,string:Array,int8:Int8Array,uint8:Uint8Array,int16:Int16Array,uint16:Uint16Array,int32:Int32Array,uint32:Uint32Array,int64:BigInt64Array,uint64:BigUint64Array,bool:Uint8Array,uint4:Uint8Array,int4:Int8Array});class b{constructor(...pe){Ct(this,"ort_tensor");return(0,u.isONNXTensor)(pe[0])?this.ort_tensor=pe[0]:this.ort_tensor=new u.Tensor(pe[0],pe[1],pe[2]),new Proxy(this,{get:(we,Ge)=>{if(typeof Ge=="string"){let me=Number(Ge);if(Number.isInteger(me))return we._getitem(me)}return we[Ge]}
2810,set:(we,Ge,me)=>we[Ge]=me})}get dims(){return this.ort_tensor.dims}set dims(pe){this.ort_tensor.dims=pe}get type(){return this.ort_tensor.type}get data(){return this.ort_tensor.data}get size(){return this.ort_tensor.size}get location(){return this.ort_tensor.location}dispose(){this.ort_tensor.dispose()}*[Symbol.iterator](){const[pe,...we]=this.dims;if(we.length>0){const Ge=we.reduce((me,at)=>me*at);for(let me=0;me<pe;++me)yield this._subarray(me,Ge,we)}else yield*this.data}_getitem(pe){const[we,...Ge]=this.dims;if(pe=g(pe,we),Ge.length>0){const me=Ge.reduce((at,Ue)=>at*Ue);return this._subarray(pe,me,Ge)}return new b(this.type,[this.data[pe]],Ge)}indexOf(pe){const we=this.data;for(let Ge=0;Ge<we.length;++Ge)if(we[Ge]==pe)return Ge;return-1}_subarray(pe,we,Ge){const me=pe*we,at=(pe+1)*we,Ue="subarray"in this.data?this.data.subarray(me,at):this.data.slice(me,at);return new b(this.type,Ue,Ge)}item(){const pe=this.data;if(pe.length!==1)throw new Error(`a Tensor with ${pe.length} elements cannot be converted to Scalar`);return pe[0]}tolist(){return function(pe,we){const Ge=pe.length,me=we.reduce((Ue,ot)=>Ue*ot);if(Ge!==me)throw Error(`cannot reshape array of size ${Ge} into shape (${we})`);let at=pe;for(let Ue=we.length-1;Ue>=0;Ue--)at=at.reduce((ot,pt)=>{let ct=ot[ot.length-1];return ct.length<we[Ue]?ct.push(pt):ot.push([pt]),ot},[[]]);return at[0]}(this.data,this.dims)}sigmoid(){return this.clone().sigmoid_()}sigmoid_(){const pe=this.data;for(let we=0;we<pe.length;++we)pe[we]=1/(1+Math.exp(-pe[we]));return this}map(pe){return this.clone().map_(pe)}map_(pe){const we=this.data;for(let Ge=0;Ge<we.length;++Ge)we[Ge]=pe(we[Ge],Ge,we);return this}mul(pe){return this.clone().mul_(pe)}mul_(pe){const we=this.data;for(let Ge=0;Ge<we.length;++Ge)we[Ge]*=pe;return this}div(pe){return this.clone().div_(pe)}div_(pe){const we=this.data;for(let Ge=0;Ge<we.length;++Ge)we[Ge]/=pe;return this}add(pe){return this.clone().add_(pe)}add_(pe){const we=this.data;for(let Ge=0;Ge<we.length;++Ge)we[Ge]+=pe;return this}sub(pe){return this.clone().sub_(pe)}sub_(pe){const we=this.data;for(let Ge=0;Ge<we.length;++Ge)we[Ge]-=pe;return this}clone(){return new b(this.type,this.data.slice(),this.dims.slice())}slice(...pe){const we=[],Ge=[];for(let ct=0;ct<this.dims.length;++ct){let je=pe[ct];if(je==null)Ge.push([0,this.dims[ct]]),we.push(this.dims[ct]);else if(typeof je=="number")je=g(je,this.dims[ct],ct),Ge.push([je,je+1]);else{if(!Array.isArray(je)||je.length!==2)throw new Error(`Invalid slice: ${je}`);{let[At,It]=je;if(At=At===null?0:g(At,this.dims[ct],ct,!1),It=It===null?this.dims[ct]:g(It,this.dims[ct],ct,!1),At>It)throw new Error(`Invalid slice: ${je}`);const wt=[Math.max(At,0),Math.min(It,this.dims[ct])];Ge.push(wt),we.push(wt[1]-wt[0])}}}const me=Ge.map(([ct,je])=>je-ct),at=me.reduce((ct,je)=>ct*je),Ue=this.data,ot=new Ue.constructor(at),pt=this.stride();for(let ct=0;ct<at;++ct){let je=0;for(let At=me.length-1,It=ct;At>=0;--At){const wt=me[At];je+=(It%wt+Ge[At][0])*pt[At],It=Math.floor(It/wt)}ot[ct]=Ue[je]}return new b(this.type,ot,we)}permute(...pe){return k(this,pe)}transpose(...pe){return this.permute(...pe)}sum(pe=null,we=!1){return this.norm(1,pe,we)}norm(pe="fro",we=null,Ge=!1){if(pe==="fro")pe=2;else if(typeof pe=="string")throw Error(`Unsupported norm: ${pe}`);const me=this.data,at=(ct,je)=>ct+je**pe;if(we===null){const ct=me.reduce(at,0)**(1/pe);return new b(this.type,[ct],[])}const[Ue,ot,pt]=d(at,this,we,Ge);if(pe!==1)for(let ct=0;ct<ot.length;++ct)ot[ct]=ot[ct]**(1/pe);return new b(Ue,ot,pt)}normalize_(pe=2,we=1){we=g(we,this.dims.length);const Ge=this.norm(pe,we,!0),me=this.data,at=Ge.data;for(let Ue=0;Ue<me.length;++Ue){let ot=0;for(let pt=this.dims.length-1,ct=Ue,je=1;pt>=0;--pt){const At=this.dims[pt];pt!==we&&(ot+=ct%At*je,je*=this.dims[pt]),ct=Math.floor(ct/At)}me[Ue]/=at[ot]}return this}normalize(pe=2,we=1){return this.clone().normalize_(pe,we)}stride(){return function(pe){const we=new Array(pe.length);for(let Ge=pe.length-1,me=1;Ge>=0;--Ge)we[Ge]=me,me*=pe[Ge];return we}(this.dims)}squeeze(pe=null){return new b(this.type,this.data,K(this.dims,pe))}squeeze_(pe=null){return this.dims=K(this.dims,pe),this}unsqueeze(pe=null){return new b(this.type,this.data,J(this.dims,pe))}unsqueeze_(pe=null){return this.dims=J(this.dims,pe),this}flatten_(pe=0,we=-1){we=(we+this.dims.length)%this.dims.length;let Ge=this.dims.slice(0,pe),me=this.dims.slice(pe,we+1),at=this.dims.slice(we+1);return this.dims=[...Ge,me.reduce((Ue,ot)=>Ue*ot,1),...at],this}flatten(pe=0,we=-1){return this.clone().flatten_(pe,we)}view(...pe){let we=-1;for(let me=0;me<pe.length;++me)if(pe[me]===-1){if(we!==-1)throw new Error("Only one dimension can be inferred");
2810we=me}const Ge=this.data;if(we!==-1){const me=pe.reduce((at,Ue,ot)=>ot!==we?at*Ue:at,1);pe[we]=Ge.length/me}return new b(this.type,Ge,pe)}neg_(){const pe=this.data;for(let we=0;we<pe.length;++we)pe[we]=-pe[we];return this}neg(){return this.clone().neg_()}gt(pe){const we=new Uint8Array(this.data.length),Ge=this.data;for(let me=0;me<Ge.length;++me)we[me]=Ge[me]>pe?1:0;return new b("bool",we,this.dims)}lt(pe){const we=new Uint8Array(this.data.length),Ge=this.data;for(let me=0;me<Ge.length;++me)we[me]=Ge[me]<pe?1:0;return new b("bool",we,this.dims)}clamp_(pe,we){const Ge=this.data;for(let me=0;me<Ge.length;++me)Ge[me]=Math.min(Math.max(Ge[me],pe),we);return this}clamp(pe,we){return this.clone().clamp_(pe,we)}round_(){const pe=this.data;for(let we=0;we<pe.length;++we)pe[we]=Math.round(pe[we]);return this}round(){return this.clone().round_()}mean(pe=null,we=!1){return re(this,pe,we)}min(pe=null,we=!1){if(pe===null){const Ue=(0,o.min)(this.data)[0];return new b(this.type,[Ue],[])}const[Ge,me,at]=d((Ue,ot)=>Math.min(Ue,ot),this,pe,we,1/0);return new b(Ge,me,at)}max(pe=null,we=!1){if(pe===null){const Ue=(0,o.max)(this.data)[0];return new b(this.type,[Ue],[])}const[Ge,me,at]=d((Ue,ot)=>Math.max(Ue,ot),this,pe,we,-1/0);return new b(Ge,me,at)}argmin(pe=null,we=!1){if(pe!==null)throw new Error("`dim !== null` not yet implemented.");const Ge=(0,o.min)(this.data)[1];return new b("int64",[BigInt(Ge)],[])}argmax(pe=null,we=!1){if(pe!==null)throw new Error("`dim !== null` not yet implemented.");const Ge=(0,o.max)(this.data)[1];return new b("int64",[BigInt(Ge)],[])}to(pe){if(this.type===pe)return this;if(!C.hasOwnProperty(pe))throw new Error(`Unsupported type: ${pe}`);let we;const Ge=["int64","uint64"].includes(this.type),me=["int64","uint64"].includes(pe);return Ge&&!me?we=Number:!Ge&&me&&(we=BigInt),new b(pe,C[pe].from(this.data,we),this.dims)}}function k(de,pe){const[we,Ge]=(0,o.permute_data)(de.data,de.dims,pe);return new b(de.type,we,Ge)}function E(de,[pe,we],Ge="bilinear",me=!1){const at=de.dims.at(-3)??1,Ue=de.dims.at(-2),ot=de.dims.at(-1);let pt=(0,o.interpolate_data)(de.data,[at,Ue,ot],[pe,we],Ge,me);return new b(de.type,pt,[at,pe,we])}async function B(de,{size:pe=null,mode:we="bilinear"}={}){if(de.dims.length!==4)throw new Error("`interpolate_4d` currently only supports 4D input.");if(!pe)throw new Error("`interpolate_4d` requires a `size` argument.");let Ge,me;if(pe.length===2)Ge=[...de.dims.slice(0,2),...pe];else if(pe.length===3)Ge=[de.dims[0],...pe];else{if(pe.length!==4)throw new Error("`size` must be of length 2, 3, or 4.");Ge=pe}if(we==="nearest")me=await p.TensorOpRegistry.nearest_interpolate_4d;else if(we==="bilinear")me=await p.TensorOpRegistry.bilinear_interpolate_4d;else{if(we!=="bicubic")throw new Error(`Unsupported mode: ${we}`);me=await p.TensorOpRegistry.bicubic_interpolate_4d}const at=new b("int64",new BigInt64Array(Ge.map(BigInt)),[Ge.length]);return await me({x:de,s:at})}async function G(de,pe){return await(await p.TensorOpRegistry.matmul)({a:de,b:pe})}async function D(de,pe){return await(await p.TensorOpRegistry.rfft)({x:de,a:pe})}async function Q(de,pe){const we=await p.TensorOpRegistry.top_k;return pe=pe==null?de.dims.at(-1):Math.min(pe,de.dims.at(-1)),await we({x:de,k:new b("int64",[BigInt(pe)],[1])})}const V=de=>new b("int64",de,[de.length]);async function W(de,pe,we,Ge,me){return await(await p.TensorOpRegistry.slice)({x:de,s:V(pe),e:V(we),a:V(Ge),t:V(me??new Array(Ge.length).fill(1))})}function U(de,pe){const we=de.data,Ge=pe.data,me=[de.dims[0],de.dims[2]],at=new we.constructor(me[0]*me[1]),[Ue,ot,pt]=de.dims;let ct=0;for(let je=0;je<Ue;++je){const At=je*pt*ot;for(let It=0;It<pt;++It){let wt=0,ze=0;const rt=je*ot,Bt=At+It;for(let St=0;St<ot;++St){const oe=Number(Ge[rt+St]);ze+=oe,wt+=we[Bt+St*pt]*oe}const Ot=wt/ze;at[ct++]=Ot}}return new b(de.type,at,me)}function H(de,pe,{eps:we=1e-5}={}){if(de.dims.length!==2)throw new Error("`layer_norm` currently only supports 2D input.");const[Ge,me]=de.dims;if(pe.length!==1&&pe[0]!==me)throw new Error("`normalized_shape` must be a 1D array with shape `[input.dims[1]]`.");const[at,Ue]=_(de,1,0,!0),ot=at.data,pt=Ue.data,ct=de.data,je=new ct.constructor(ct.length);for(let At=0;At<Ge;++At){const It=At*me;for(let wt=0;wt<me;++wt){const ze=It+wt;je[ze]=(ct[ze]-pt[At])/(ot[At]+we)}}return new b(de.type,je,de.dims)}function K(de,pe){return de=de.slice(),pe===null?de=de.filter(we=>
2810we!==1):typeof pe=="number"?de[pe]===1&&de.splice(pe,1):Array.isArray(pe)&&(de=de.filter((we,Ge)=>we!==1||!pe.includes(Ge))),de}function J(de,pe){return pe=g(pe,de.length+1),(de=de.slice()).splice(pe,0,1),de}function g(de,pe,we=null,Ge=!0){if(Ge&&(de<-pe||de>=pe))throw new Error(`IndexError: index ${de} is out of bounds for dimension${we===null?"":" "+we} with size ${pe}`);return de<0&&(de=(de%pe+pe)%pe),de}function v(de,pe=0){pe=g(pe,de[0].dims.length);const we=de[0].dims.slice();we[pe]=de.reduce((Ue,ot)=>Ue+ot.dims[pe],0);const Ge=we.reduce((Ue,ot)=>Ue*ot,1),me=new de[0].data.constructor(Ge),at=de[0].type;if(pe===0){let Ue=0;for(const ot of de){const pt=ot.data;me.set(pt,Ue),Ue+=pt.length}}else{let Ue=0;for(let ot=0;ot<de.length;++ot){const{data:pt,dims:ct}=de[ot];for(let je=0;je<pt.length;++je){let At=0;for(let It=ct.length-1,wt=je,ze=1;It>=0;--It){const rt=ct[It];let Bt=wt%rt;It===pe&&(Bt+=Ue),At+=Bt*ze,ze*=we[It],wt=Math.floor(wt/rt)}me[At]=pt[je]}Ue+=ct[pe]}}return new b(at,me,we)}function e(de,pe=0){return v(de.map(we=>we.unsqueeze(pe)),pe)}function d(de,pe,we=null,Ge=!1,me=null){const at=pe.data,Ue=pe.dims;we=g(we,Ue.length);const ot=Ue.slice();ot[we]=1;const pt=new at.constructor(at.length/Ue[we]);me!==null&&pt.fill(me);for(let ct=0;ct<at.length;++ct){let je=0;for(let At=Ue.length-1,It=ct,wt=1;At>=0;--At){const ze=Ue[At];At!==we&&(je+=It%ze*wt,wt*=ot[At]),It=Math.floor(It/ze)}pt[je]=de(pt[je],at[ct],ct,je)}return Ge||ot.splice(we,1),[pe.type,pt,ot]}function _(de,pe=null,we=1,Ge=!1){const me=de.data,at=de.dims;if(pe===null){const At=me.reduce((rt,Bt)=>rt+Bt,0),It=At/me.length,wt=Math.sqrt(me.reduce((rt,Bt)=>rt+(Bt-It)**2,0)/(me.length-we)),ze=new b(de.type,[It],[]);return[new b(de.type,[wt],[]),ze]}const Ue=re(de,pe=g(pe,at.length),Ge),ot=Ue.data,[pt,ct,je]=d((At,It,wt,ze)=>At+(It-ot[ze])**2,de,pe,Ge);for(let At=0;At<ct.length;++At)ct[At]=Math.sqrt(ct[At]/(at[pe]-we));return[new b(pt,ct,je),Ue]}function re(de,pe=null,we=!1){const Ge=de.dims,me=de.data;if(pe===null){const pt=me.reduce((ct,je)=>ct+je,0);return new b(de.type,[pt/me.length],[])}pe=g(pe,Ge.length);const[at,Ue,ot]=d((pt,ct)=>pt+ct,de,pe,we);if(Ge[pe]!==1)for(let pt=0;pt<Ue.length;++pt)Ue[pt]/=Ge[pe];return new b(at,Ue,ot)}function S(de,pe,we,Ge){const me=de.reduce((at,Ue)=>at*Ue,1);return new b(we,new Ge(me).fill(pe),de)}function F(de,pe){let we,Ge;if(typeof pe=="number")we="float32",Ge=Float32Array;else if(typeof pe=="bigint")we="int64",Ge=BigInt64Array;else{if(typeof pe!="boolean")throw new Error("Unsupported data type: "+typeof pe);we="bool",Ge=Uint8Array}return S(de,pe,we,Ge)}function Ie(de,pe){return F(de.dims,pe)}function he(de){return S(de,1n,"int64",BigInt64Array)}function ce(de){return he(de.dims)}function ge(de){return S(de,0n,"int64",BigInt64Array)}function Ce(de){return ge(de.dims)}function Fe(de){const pe=de.reduce((we,Ge)=>we*Ge,1);return new b("float32",Float32Array.from({length:pe},()=>Math.random()),de)}function Pe(de,pe){if(de.dims.length!==2)throw new Error("The tensor must have 2 dimensions");if(de.dims.at(-1)%8!=0)throw new Error("The last dimension of the tensor must be a multiple of 8");if(!["binary","ubinary"].includes(pe))throw new Error("The precision must be either 'binary' or 'ubinary'");const we=pe==="binary",Ge=we?"int8":"uint8",me=we?Int8Array:Uint8Array,at=de.data,Ue=new me(at.length/8);for(let ot=0;ot<at.length;++ot){const pt=at[ot]>0?1:0,ct=Math.floor(ot/8),je=ot%8;Ue[ct]|=pt<<7-je,we&&je===0&&(Ue[ct]-=128)}return new b(Ge,Ue,[de.dims[0],de.dims[1]/8])}}
2810},sp={};function ws(c){var a=sp[c];if(a!==void 0)return a.exports;var s=sp[c]={exports:{}};return Mm[c](s,s.exports,ws),s.exports}ws.m=Mm,f2=Object.getPrototypeOf?c=>Object.getPrototypeOf(c):c=>c.__proto__,ws.t=function(c,a){if(1&a&&(c=this(c)),8&a||typeof c=="object"&&c&&(4&a&&c.__esModule||16&a&&typeof c.then=="function"))return c;var s=Object.create(null);ws.r(s);var o={};Ff=Ff||[null,f2({}),f2([]),f2(f2)];for(var u=2&a&&c;typeof u=="object"&&!~Ff.indexOf(u);u=f2(u))Object.getOwnPropertyNames(u).forEach(p=>o[p]=()=>c[p]);return o.default=()=>c,ws.d(s,o),s},ws.d=(c,a)=>{for(var s in a)ws.o(a,s)&&!ws.o(c,s)&&Object.defineProperty(c,s,{enumerable:!0,get:a[s]})},ws.o=(c,a)=>Object.prototype.hasOwnProperty.call(c,a),ws.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},(()=>{var c;if(typeof import.meta.url=="string"&&(c=import.meta.url),!c)throw new Error("Automatic publicPath is not supported in this browser");c=c.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),ws.p=c})(),ws.b=new URL(import.meta.url);var C2={};(()=>{ws.r(C2),ws.d(C2,{ASTFeatureExtractor:()=>B.ASTFeatureExtractor,ASTForAudioClassification:()=>s.ASTForAudioClassification,ASTModel:()=>s.ASTModel,ASTPreTrainedModel:()=>s.ASTPreTrainedModel,AlbertForMaskedLM:()=>s.AlbertForMaskedLM,AlbertForQuestionAnswering:()=>s.AlbertForQuestionAnswering,AlbertForSequenceClassification:()=>s.AlbertForSequenceClassification,AlbertModel:()=>s.AlbertModel,AlbertPreTrainedModel:()=>s.AlbertPreTrainedModel,AlbertTokenizer:()=>o.AlbertTokenizer,AudioClassificationPipeline:()=>a.AudioClassificationPipeline,AutoConfig:()=>u.AutoConfig,AutoFeatureExtractor:()=>G.AutoFeatureExtractor,AutoImageProcessor:()=>V.AutoImageProcessor,AutoModel:()=>s.AutoModel,AutoModelForAudioClassification:()=>s.AutoModelForAudioClassification,AutoModelForAudioFrameClassification:()=>s.AutoModelForAudioFrameClassification,AutoModelForCTC:()=>s.AutoModelForCTC,AutoModelForCausalLM:()=>s.AutoModelForCausalLM,AutoModelForDepthEstimation:()=>s.AutoModelForDepthEstimation,AutoModelForDocumentQuestionAnswering:()=>s.AutoModelForDocumentQuestionAnswering,AutoModelForImageClassification:()=>s.AutoModelForImageClassification,AutoModelForImageFeatureExtraction:()=>s.AutoModelForImageFeatureExtraction,AutoModelForImageMatting:()=>s.AutoModelForImageMatting,AutoModelForImageSegmentation:()=>s.AutoModelForImageSegmentation,AutoModelForImageToImage:()=>s.AutoModelForImageToImage,AutoModelForMaskGeneration:()=>s.AutoModelForMaskGeneration,AutoModelForMaskedLM:()=>s.AutoModelForMaskedLM,AutoModelForNormalEstimation:()=>s.AutoModelForNormalEstimation,AutoModelForObjectDetection:()=>s.AutoModelForObjectDetection,AutoModelForPoseEstimation:()=>s.AutoModelForPoseEstimation,AutoModelForQuestionAnswering:()=>s.AutoModelForQuestionAnswering,AutoModelForSemanticSegmentation:()=>s.AutoModelForSemanticSegmentation,AutoModelForSeq2SeqLM:()=>s.AutoModelForSeq2SeqLM,AutoModelForSequenceClassification:()=>s.AutoModelForSequenceClassification,AutoModelForSpeechSeq2Seq:()=>s.AutoModelForSpeechSeq2Seq,AutoModelForTextToSpectrogram:()=>s.AutoModelForTextToSpectrogram,AutoModelForTextToWaveform:()=>s.AutoModelForTextToWaveform,AutoModelForTokenClassification:()=>s.AutoModelForTokenClassification,AutoModelForUniversalSegmentation:()=>s.AutoModelForUniversalSegmentation,AutoModelForVision2Seq:()=>s.AutoModelForVision2Seq,AutoModelForXVector:()=>s.AutoModelForXVector,AutoModelForZeroShotObjectDetection:()=>s.AutoModelForZeroShotObjectDetection,AutoProcessor:()=>H.AutoProcessor,AutoTokenizer:()=>o.AutoTokenizer,AutomaticSpeechRecognitionPipeline:()=>a.AutomaticSpeechRecognitionPipeline,BartForConditionalGeneration:()=>s.BartForConditionalGeneration,BartForSequenceClassification:()=>s.BartForSequenceClassification,BartModel:()=>s.BartModel,BartPretrainedModel:()=>s.BartPretrainedModel,BartTokenizer:()=>o.BartTokenizer,BaseModelOutput:()=>s.BaseModelOutput,BaseStreamer:()=>K.BaseStreamer,BeitFeatureExtractor:()=>Q.BeitFeatureExtractor,BeitForImageClassification:()=>
2810s.BeitForImageClassification,BeitModel:()=>s.BeitModel,BeitPreTrainedModel:()=>s.BeitPreTrainedModel,BertForMaskedLM:()=>s.BertForMaskedLM,BertForQuestionAnswering:()=>s.BertForQuestionAnswering,BertForSequenceClassification:()=>s.BertForSequenceClassification,BertForTokenClassification:()=>s.BertForTokenClassification,BertModel:()=>s.BertModel,BertPreTrainedModel:()=>s.BertPreTrainedModel,BertTokenizer:()=>o.BertTokenizer,BitImageProcessor:()=>Q.BitImageProcessor,BlenderbotForConditionalGeneration:()=>s.BlenderbotForConditionalGeneration,BlenderbotModel:()=>s.BlenderbotModel,BlenderbotPreTrainedModel:()=>s.BlenderbotPreTrainedModel,BlenderbotSmallForConditionalGeneration:()=>s.BlenderbotSmallForConditionalGeneration,BlenderbotSmallModel:()=>s.BlenderbotSmallModel,BlenderbotSmallPreTrainedModel:()=>s.BlenderbotSmallPreTrainedModel,BlenderbotSmallTokenizer:()=>o.BlenderbotSmallTokenizer,BlenderbotTokenizer:()=>o.BlenderbotTokenizer,BloomForCausalLM:()=>s.BloomForCausalLM,BloomModel:()=>s.BloomModel,BloomPreTrainedModel:()=>s.BloomPreTrainedModel,BloomTokenizer:()=>o.BloomTokenizer,CLIPFeatureExtractor:()=>Q.CLIPFeatureExtractor,CLIPImageProcessor:()=>Q.CLIPImageProcessor,CLIPModel:()=>s.CLIPModel,CLIPPreTrainedModel:()=>s.CLIPPreTrainedModel,CLIPSegForImageSegmentation:()=>s.CLIPSegForImageSegmentation,CLIPSegModel:()=>s.CLIPSegModel,CLIPSegPreTrainedModel:()=>s.CLIPSegPreTrainedModel,CLIPTextModel:()=>s.CLIPTextModel,CLIPTextModelWithProjection:()=>s.CLIPTextModelWithProjection,CLIPTokenizer:()=>o.CLIPTokenizer,CLIPVisionModel:()=>s.CLIPVisionModel,CLIPVisionModelWithProjection:()=>s.CLIPVisionModelWithProjection,CamembertForMaskedLM:()=>s.CamembertForMaskedLM,CamembertForQuestionAnswering:()=>s.CamembertForQuestionAnswering,CamembertForSequenceClassification:()=>s.CamembertForSequenceClassification,CamembertForTokenClassification:()=>s.CamembertForTokenClassification,CamembertModel:()=>s.CamembertModel,CamembertPreTrainedModel:()=>s.CamembertPreTrainedModel,CamembertTokenizer:()=>o.CamembertTokenizer,CausalLMOutput:()=>s.CausalLMOutput,CausalLMOutputWithPast:()=>s.CausalLMOutputWithPast,ChineseCLIPFeatureExtractor:()=>Q.ChineseCLIPFeatureExtractor,ChineseCLIPModel:()=>s.ChineseCLIPModel,ChineseCLIPPreTrainedModel:()=>s.ChineseCLIPPreTrainedModel,ClapAudioModelWithProjection:()=>s.ClapAudioModelWithProjection,ClapFeatureExtractor:()=>B.ClapFeatureExtractor,ClapModel:()=>s.ClapModel,ClapPreTrainedModel:()=>s.ClapPreTrainedModel,ClapTextModelWithProjection:()=>s.ClapTextModelWithProjection,ClassifierFreeGuidanceLogitsProcessor:()=>g.ClassifierFreeGuidanceLogitsProcessor,CodeGenForCausalLM:()=>s.CodeGenForCausalLM,CodeGenModel:()=>s.CodeGenModel,CodeGenPreTrainedModel:()=>s.CodeGenPreTrainedModel,CodeGenTokenizer:()=>o.CodeGenTokenizer,CodeLlamaTokenizer:()=>o.CodeLlamaTokenizer,CohereForCausalLM:()=>s.CohereForCausalLM,CohereModel:()=>s.CohereModel,CoherePreTrainedModel:()=>s.CoherePreTrainedModel,CohereTokenizer:()=>o.CohereTokenizer,ConvBertForMaskedLM:()=>s.ConvBertForMaskedLM,ConvBertForQuestionAnswering:()=>s.ConvBertForQuestionAnswering,ConvBertForSequenceClassification:()=>s.ConvBertForSequenceClassification,ConvBertForTokenClassification:()=>s.ConvBertForTokenClassification,ConvBertModel:()=>s.ConvBertModel,ConvBertPreTrainedModel:()=>s.ConvBertPreTrainedModel,ConvBertTokenizer:()=>o.ConvBertTokenizer,ConvNextFeatureExtractor:()=>Q.ConvNextFeatureExtractor,ConvNextForImageClassification:()=>s.ConvNextForImageClassification,ConvNextImageProcessor:()=>Q.ConvNextImageProcessor,ConvNextModel:()=>s.ConvNextModel,ConvNextPreTrainedModel:()=>s.ConvNextPreTrainedModel,ConvNextV2ForImageClassification:()=>s.ConvNextV2ForImageClassification,ConvNextV2Model:()=>s.ConvNextV2Model,ConvNextV2PreTrainedModel:()=>s.ConvNextV2PreTrainedModel,DPTFeatureExtractor:()=>Q.DPTFeatureExtractor,DPTForDepthEstimation:()=>s.DPTForDepthEstimation,DPTImageProcessor:()=>Q.DPTImageProcessor,DPTModel:()=>s.DPTModel,DPTPreTrainedModel:()=>s.DPTPreTrainedModel,DebertaForMaskedLM:()=>s.DebertaForMaskedLM,DebertaForQuestionAnswering:()=>s.DebertaForQuestionAnswering,DebertaForSequenceClassification:()=>s.DebertaForSequenceClassification,DebertaForTokenClassification:()=>s.DebertaForTokenClassification,DebertaModel:()=>s.DebertaModel,DebertaPreTrainedModel:()=>s.DebertaPreTrainedModel,DebertaTokenizer:()=>o.DebertaTokenizer,DebertaV2ForMaskedLM:()=>s.DebertaV2ForMaskedLM,DebertaV2ForQuestionAnswering:()=>s.DebertaV2ForQuestionAnswering,DebertaV2ForSequenceClassification:()=>s.DebertaV2ForSequenceClassification,DebertaV2ForTokenClassification:()=>s.DebertaV2ForTokenClassification,DebertaV2Model:()=>s.DebertaV2Model,DebertaV2PreTrainedModel:()=>s.DebertaV2PreTrainedModel,DebertaV2Tokenizer:()=>o.DebertaV2Tokenizer,DecisionTransformerModel:()=>s.DecisionTransformerModel,DecisionTransformerPreTrainedModel:()=>s.DecisionTransformerPreTrainedModel,DeiTFeatureExtractor:()=>Q.DeiTFeatureExtractor,DeiTForImageClassification:()=>s.DeiTForImageClassification,DeiTImageProcessor:()=>Q.DeiTImageProcessor,DeiTModel:()=>s.DeiTModel,DeiTPreTrainedModel:()=>s.DeiTPreTrainedModel,DepthAnythingForDepthEstimation:()=>s.DepthAnythingForDepthEstimation,DepthAnythingPreTrainedModel:()=>s.DepthAnythingPreTrainedModel,DepthEstimationPipeline:()=>a.DepthEstimationPipeline,DepthProForDepthEstimation:()=>s.DepthProForDepthEstimation,DepthProPreTrainedModel:()=>s.DepthProPreTrainedModel,DetrFeatureExtractor:()=>Q.DetrFeatureExtractor,DetrForObjectDetection:()=>s.DetrForObjectDetection,DetrForSegmentation:()=>s.DetrForSegmentation,DetrImageProcessor:()=>Q.DetrImageProcessor,DetrModel:()=>s.DetrModel,DetrObjectDetectionOutput:()=>s.DetrObjectDetectionOutput,DetrPreTrainedModel:()=>s.DetrPreTrainedModel,DetrSegmentationOutput:()=>s.DetrSegmentationOutput,Dinov2ForImageClassification:()=>s.Dinov2ForImageClassification,Dinov2Model:()=>s.Dinov2Model,Dinov2PreTrainedModel:()=>s.Dinov2PreTrainedModel,Dinov2WithRegistersForImageClassification:()=>s.Dinov2WithRegistersForImageClassification,Dinov2WithRegistersModel:()=>s.Dinov2WithRegistersModel,Dinov2WithRegistersPreTrainedModel:()=>s.Dinov2WithRegistersPreTrainedModel,DistilBertForMaskedLM:()=>s.DistilBertForMaskedLM,DistilBertForQuestionAnswering:()=>s.DistilBertForQuestionAnswering,DistilBertForSequenceClassification:()=>s.DistilBertForSequenceClassification,DistilBertForTokenClassification:()=>s.DistilBertForTokenClassification,DistilBertModel:()=>s.DistilBertModel,DistilBertPreTrainedModel:()=>s.DistilBertPreTrainedModel,DistilBertTokenizer:()=>o.DistilBertTokenizer,DocumentQuestionAnsweringPipeline:()=>a.DocumentQuestionAnsweringPipeline,DonutFeatureExtractor:()=>Q.DonutFeatureExtractor,DonutImageProcessor:()=>Q.DonutImageProcessor,DonutSwinModel:()=>s.DonutSwinModel,DonutSwinPreTrainedModel:()=>s.DonutSwinPreTrainedModel,EfficientNetForImageClassification:()=>s.EfficientNetForImageClassification,EfficientNetImageProcessor:()=>Q.EfficientNetImageProcessor,EfficientNetModel:()=>s.EfficientNetModel,EfficientNetPreTrainedModel:()=>
2810s.EfficientNetPreTrainedModel,ElectraForMaskedLM:()=>s.ElectraForMaskedLM,ElectraForQuestionAnswering:()=>s.ElectraForQuestionAnswering,ElectraForSequenceClassification:()=>s.ElectraForSequenceClassification,ElectraForTokenClassification:()=>s.ElectraForTokenClassification,ElectraModel:()=>s.ElectraModel,ElectraPreTrainedModel:()=>s.ElectraPreTrainedModel,ElectraTokenizer:()=>o.ElectraTokenizer,EosTokenCriteria:()=>J.EosTokenCriteria,EsmForMaskedLM:()=>s.EsmForMaskedLM,EsmForSequenceClassification:()=>s.EsmForSequenceClassification,EsmForTokenClassification:()=>s.EsmForTokenClassification,EsmModel:()=>s.EsmModel,EsmPreTrainedModel:()=>s.EsmPreTrainedModel,EsmTokenizer:()=>o.EsmTokenizer,ExaoneForCausalLM:()=>s.ExaoneForCausalLM,ExaoneModel:()=>s.ExaoneModel,ExaonePreTrainedModel:()=>s.ExaonePreTrainedModel,FFT:()=>k.FFT,FalconForCausalLM:()=>s.FalconForCausalLM,FalconModel:()=>s.FalconModel,FalconPreTrainedModel:()=>s.FalconPreTrainedModel,FalconTokenizer:()=>o.FalconTokenizer,FastViTForImageClassification:()=>s.FastViTForImageClassification,FastViTModel:()=>s.FastViTModel,FastViTPreTrainedModel:()=>s.FastViTPreTrainedModel,FeatureExtractionPipeline:()=>a.FeatureExtractionPipeline,FeatureExtractor:()=>E.FeatureExtractor,FillMaskPipeline:()=>a.FillMaskPipeline,Florence2ForConditionalGeneration:()=>s.Florence2ForConditionalGeneration,Florence2PreTrainedModel:()=>s.Florence2PreTrainedModel,Florence2Processor:()=>U.Florence2Processor,ForcedBOSTokenLogitsProcessor:()=>g.ForcedBOSTokenLogitsProcessor,ForcedEOSTokenLogitsProcessor:()=>g.ForcedEOSTokenLogitsProcessor,GLPNFeatureExtractor:()=>Q.GLPNFeatureExtractor,GLPNForDepthEstimation:()=>s.GLPNForDepthEstimation,GLPNModel:()=>s.GLPNModel,GLPNPreTrainedModel:()=>s.GLPNPreTrainedModel,GPT2LMHeadModel:()=>s.GPT2LMHeadModel,GPT2Model:()=>s.GPT2Model,GPT2PreTrainedModel:()=>s.GPT2PreTrainedModel,GPT2Tokenizer:()=>o.GPT2Tokenizer,GPTBigCodeForCausalLM:()=>s.GPTBigCodeForCausalLM,GPTBigCodeModel:()=>s.GPTBigCodeModel,GPTBigCodePreTrainedModel:()=>s.GPTBigCodePreTrainedModel,GPTJForCausalLM:()=>s.GPTJForCausalLM,GPTJModel:()=>s.GPTJModel,GPTJPreTrainedModel:()=>s.GPTJPreTrainedModel,GPTNeoForCausalLM:()=>s.GPTNeoForCausalLM,GPTNeoModel:()=>s.GPTNeoModel,GPTNeoPreTrainedModel:()=>s.GPTNeoPreTrainedModel,GPTNeoXForCausalLM:()=>s.GPTNeoXForCausalLM,GPTNeoXModel:()=>s.GPTNeoXModel,GPTNeoXPreTrainedModel:()=>s.GPTNeoXPreTrainedModel,GPTNeoXTokenizer:()=>o.GPTNeoXTokenizer,Gemma2ForCausalLM:()=>s.Gemma2ForCausalLM,Gemma2Model:()=>s.Gemma2Model,Gemma2PreTrainedModel:()=>s.Gemma2PreTrainedModel,GemmaForCausalLM:()=>s.GemmaForCausalLM,GemmaModel:()=>s.GemmaModel,GemmaPreTrainedModel:()=>s.GemmaPreTrainedModel,GemmaTokenizer:()=>o.GemmaTokenizer,GlmForCausalLM:()=>s.GlmForCausalLM,GlmModel:()=>s.GlmModel,GlmPreTrainedModel:()=>s.GlmPreTrainedModel,GraniteForCausalLM:()=>s.GraniteForCausalLM,GraniteModel:()=>s.GraniteModel,GranitePreTrainedModel:()=>s.GranitePreTrainedModel,Grok1Tokenizer:()=>o.Grok1Tokenizer,GroundingDinoForObjectDetection:()=>s.GroundingDinoForObjectDetection,GroundingDinoImageProcessor:()=>Q.GroundingDinoImageProcessor,GroundingDinoPreTrainedModel:()=>s.GroundingDinoPreTrainedModel,GroundingDinoProcessor:()=>U.GroundingDinoProcessor,GroupViTModel:()=>s.GroupViTModel,GroupViTPreTrainedModel:()=>s.GroupViTPreTrainedModel,HeliumForCausalLM:()=>s.HeliumForCausalLM,HeliumModel:()=>s.HeliumModel,HeliumPreTrainedModel:()=>s.HeliumPreTrainedModel,HerbertTokenizer:()=>o.HerbertTokenizer,HieraForImageClassification:()=>s.HieraForImageClassification,HieraModel:()=>s.HieraModel,HieraPreTrainedModel:()=>s.HieraPreTrainedModel,HubertForCTC:()=>s.HubertForCTC,HubertForSequenceClassification:()=>s.HubertForSequenceClassification,HubertModel:()=>s.HubertModel,HubertPreTrainedModel:()=>s.HubertPreTrainedModel,IJepaForImageClassification:()=>s.IJepaForImageClassification,IJepaModel:()=>s.IJepaModel,IJepaPreTrainedModel:()=>s.IJepaPreTrainedModel,Idefics3ForConditionalGeneration:()=>s.Idefics3ForConditionalGeneration,Idefics3ImageProcessor:()=>Q.Idefics3ImageProcessor,Idefics3PreTrainedModel:()=>s.Idefics3PreTrainedModel,Idefics3Processor:()=>
2810U.Idefics3Processor,ImageClassificationPipeline:()=>a.ImageClassificationPipeline,ImageFeatureExtractionPipeline:()=>a.ImageFeatureExtractionPipeline,ImageFeatureExtractor:()=>B.ImageFeatureExtractor,ImageMattingOutput:()=>s.ImageMattingOutput,ImageProcessor:()=>D.ImageProcessor,ImageSegmentationPipeline:()=>a.ImageSegmentationPipeline,ImageToImagePipeline:()=>a.ImageToImagePipeline,ImageToTextPipeline:()=>a.ImageToTextPipeline,InterruptableStoppingCriteria:()=>J.InterruptableStoppingCriteria,JAISLMHeadModel:()=>s.JAISLMHeadModel,JAISModel:()=>s.JAISModel,JAISPreTrainedModel:()=>s.JAISPreTrainedModel,JinaCLIPImageProcessor:()=>Q.JinaCLIPImageProcessor,JinaCLIPModel:()=>s.JinaCLIPModel,JinaCLIPPreTrainedModel:()=>s.JinaCLIPPreTrainedModel,JinaCLIPProcessor:()=>U.JinaCLIPProcessor,JinaCLIPTextModel:()=>s.JinaCLIPTextModel,JinaCLIPVisionModel:()=>s.JinaCLIPVisionModel,LlamaForCausalLM:()=>s.LlamaForCausalLM,LlamaModel:()=>s.LlamaModel,LlamaPreTrainedModel:()=>s.LlamaPreTrainedModel,LlamaTokenizer:()=>o.LlamaTokenizer,LlavaForConditionalGeneration:()=>s.LlavaForConditionalGeneration,LlavaOnevisionForConditionalGeneration:()=>s.LlavaOnevisionForConditionalGeneration,LlavaOnevisionImageProcessor:()=>Q.LlavaOnevisionImageProcessor,LlavaPreTrainedModel:()=>s.LlavaPreTrainedModel,LogitsProcessor:()=>g.LogitsProcessor,LogitsProcessorList:()=>g.LogitsProcessorList,LogitsWarper:()=>g.LogitsWarper,LongT5ForConditionalGeneration:()=>s.LongT5ForConditionalGeneration,LongT5Model:()=>s.LongT5Model,LongT5PreTrainedModel:()=>s.LongT5PreTrainedModel,M2M100ForConditionalGeneration:()=>s.M2M100ForConditionalGeneration,M2M100Model:()=>s.M2M100Model,M2M100PreTrainedModel:()=>s.M2M100PreTrainedModel,M2M100Tokenizer:()=>o.M2M100Tokenizer,MBart50Tokenizer:()=>o.MBart50Tokenizer,MBartForCausalLM:()=>s.MBartForCausalLM,MBartForConditionalGeneration:()=>s.MBartForConditionalGeneration,MBartForSequenceClassification:()=>s.MBartForSequenceClassification,MBartModel:()=>s.MBartModel,MBartPreTrainedModel:()=>s.MBartPreTrainedModel,MBartTokenizer:()=>o.MBartTokenizer,MPNetForMaskedLM:()=>s.MPNetForMaskedLM,MPNetForQuestionAnswering:()=>s.MPNetForQuestionAnswering,MPNetForSequenceClassification:()=>s.MPNetForSequenceClassification,MPNetForTokenClassification:()=>s.MPNetForTokenClassification,MPNetModel:()=>s.MPNetModel,MPNetPreTrainedModel:()=>s.MPNetPreTrainedModel,MPNetTokenizer:()=>o.MPNetTokenizer,MT5ForConditionalGeneration:()=>s.MT5ForConditionalGeneration,MT5Model:()=>s.MT5Model,MT5PreTrainedModel:()=>s.MT5PreTrainedModel,MarianMTModel:()=>s.MarianMTModel,MarianModel:()=>s.MarianModel,MarianPreTrainedModel:()=>s.MarianPreTrainedModel,MarianTokenizer:()=>o.MarianTokenizer,Mask2FormerImageProcessor:()=>Q.Mask2FormerImageProcessor,MaskFormerFeatureExtractor:()=>Q.MaskFormerFeatureExtractor,MaskFormerForInstanceSegmentation:()=>s.MaskFormerForInstanceSegmentation,MaskFormerImageProcessor:()=>Q.MaskFormerImageProcessor,MaskFormerModel:()=>s.MaskFormerModel,MaskFormerPreTrainedModel:()=>s.MaskFormerPreTrainedModel,MaskedLMOutput:()=>s.MaskedLMOutput,MaxLengthCriteria:()=>J.MaxLengthCriteria,MgpstrForSceneTextRecognition:()=>s.MgpstrForSceneTextRecognition,MgpstrModelOutput:()=>s.MgpstrModelOutput,MgpstrPreTrainedModel:()=>s.MgpstrPreTrainedModel,MgpstrProcessor:()=>U.MgpstrProcessor,MgpstrTokenizer:()=>o.MgpstrTokenizer,MinLengthLogitsProcessor:()=>g.MinLengthLogitsProcessor,MinNewTokensLengthLogitsProcessor:()=>g.MinNewTokensLengthLogitsProcessor,MistralForCausalLM:()=>s.MistralForCausalLM,MistralModel:()=>s.MistralModel,MistralPreTrainedModel:()=>s.MistralPreTrainedModel,MobileBertForMaskedLM:()=>s.MobileBertForMaskedLM,MobileBertForQuestionAnswering:()=>s.MobileBertForQuestionAnswering,MobileBertForSequenceClassification:()=>s.MobileBertForSequenceClassification,MobileBertModel:()=>s.MobileBertModel,MobileBertPreTrainedModel:()=>s.MobileBertPreTrainedModel,MobileBertTokenizer:()=>o.MobileBertTokenizer,MobileLLMForCausalLM:()=>s.MobileLLMForCausalLM,MobileLLMModel:()=>s.MobileLLMModel,MobileLLMPreTrainedModel:()=>s.MobileLLMPreTrainedModel,MobileNetV1FeatureExtractor:()=>Q.MobileNetV1FeatureExtractor,MobileNetV1ForImageClassification:()=>s.MobileNetV1ForImageClassification,MobileNetV1ImageProcessor:()=>Q.MobileNetV1ImageProcessor,MobileNetV1Model:()=>s.MobileNetV1Model,MobileNetV1PreTrainedModel:()=>s.MobileNetV1PreTrainedModel,MobileNetV2FeatureExtractor:()=>Q.MobileNetV2FeatureExtractor,MobileNetV2ForImageClassification:()=>s.MobileNetV2ForImageClassification,MobileNetV2ImageProcessor:()=>Q.MobileNetV2ImageProcessor,MobileNetV2Model:()=>s.MobileNetV2Model,MobileNetV2PreTrainedModel:()=>s.MobileNetV2PreTrainedModel,MobileNetV3FeatureExtractor:()=>Q.MobileNetV3FeatureExtractor,MobileNetV3ForImageClassification:()=>s.MobileNetV3ForImageClassification,MobileNetV3ImageProcessor:()=>Q.MobileNetV3ImageProcessor,MobileNetV3Model:()=>s.MobileNetV3Model,MobileNetV3PreTrainedModel:()=>s.MobileNetV3PreTrainedModel,MobileNetV4FeatureExtractor:()=>Q.MobileNetV4FeatureExtractor,MobileNetV4ForImageClassification:()=>s.MobileNetV4ForImageClassification,MobileNetV4ImageProcessor:()=>Q.MobileNetV4ImageProcessor,MobileNetV4Model:()=>s.MobileNetV4Model,MobileNetV4PreTrainedModel:()=>s.MobileNetV4PreTrainedModel,MobileViTFeatureExtractor:()=>Q.MobileViTFeatureExtractor,MobileViTForImageClassification:()=>s.MobileViTForImageClassification,MobileViTImageProcessor:()=>Q.MobileViTImageProcessor,MobileViTModel:()=>s.MobileViTModel,MobileViTPreTrainedModel:()=>s.MobileViTPreTrainedModel,MobileViTV2ForImageClassification:()=>s.MobileViTV2ForImageClassification,MobileViTV2Model:()=>s.MobileViTV2Model,MobileViTV2PreTrainedModel:()=>s.MobileViTV2PreTrainedModel,ModelOutput:()=>s.ModelOutput,ModernBertForMaskedLM:()=>s.ModernBertForMaskedLM,ModernBertForSequenceClassification:()=>s.ModernBertForSequenceClassification,ModernBertForTokenClassification:()=>s.ModernBertForTokenClassification,ModernBertModel:()=>s.ModernBertModel,ModernBertPreTrainedModel:()=>s.ModernBertPreTrainedModel,Moondream1ForConditionalGeneration:()=>s.Moondream1ForConditionalGeneration,MoonshineFeatureExtractor:()=>B.MoonshineFeatureExtractor,MoonshineForConditionalGeneration:()=>s.MoonshineForConditionalGeneration,MoonshineModel:()=>s.MoonshineModel,MoonshinePreTrainedModel:()=>s.MoonshinePreTrainedModel,MoonshineProcessor:()=>U.MoonshineProcessor,MptForCausalLM:()=>s.MptForCausalLM,MptModel:()=>s.MptModel,MptPreTrainedModel:()=>
2810s.MptPreTrainedModel,MultiModalityCausalLM:()=>s.MultiModalityCausalLM,MultiModalityPreTrainedModel:()=>s.MultiModalityPreTrainedModel,MusicgenForCausalLM:()=>s.MusicgenForCausalLM,MusicgenForConditionalGeneration:()=>s.MusicgenForConditionalGeneration,MusicgenModel:()=>s.MusicgenModel,MusicgenPreTrainedModel:()=>s.MusicgenPreTrainedModel,NllbTokenizer:()=>o.NllbTokenizer,NoBadWordsLogitsProcessor:()=>g.NoBadWordsLogitsProcessor,NoRepeatNGramLogitsProcessor:()=>g.NoRepeatNGramLogitsProcessor,NomicBertModel:()=>s.NomicBertModel,NomicBertPreTrainedModel:()=>s.NomicBertPreTrainedModel,NougatImageProcessor:()=>Q.NougatImageProcessor,NougatTokenizer:()=>o.NougatTokenizer,OPTForCausalLM:()=>s.OPTForCausalLM,OPTModel:()=>s.OPTModel,OPTPreTrainedModel:()=>s.OPTPreTrainedModel,ObjectDetectionPipeline:()=>a.ObjectDetectionPipeline,Olmo2ForCausalLM:()=>s.Olmo2ForCausalLM,Olmo2Model:()=>s.Olmo2Model,Olmo2PreTrainedModel:()=>s.Olmo2PreTrainedModel,OlmoForCausalLM:()=>s.OlmoForCausalLM,OlmoModel:()=>s.OlmoModel,OlmoPreTrainedModel:()=>s.OlmoPreTrainedModel,OpenELMForCausalLM:()=>s.OpenELMForCausalLM,OpenELMModel:()=>s.OpenELMModel,OpenELMPreTrainedModel:()=>s.OpenELMPreTrainedModel,OwlViTFeatureExtractor:()=>Q.OwlViTFeatureExtractor,OwlViTForObjectDetection:()=>s.OwlViTForObjectDetection,OwlViTImageProcessor:()=>Q.OwlViTImageProcessor,OwlViTModel:()=>s.OwlViTModel,OwlViTPreTrainedModel:()=>s.OwlViTPreTrainedModel,OwlViTProcessor:()=>U.OwlViTProcessor,Owlv2ForObjectDetection:()=>s.Owlv2ForObjectDetection,Owlv2ImageProcessor:()=>Q.Owlv2ImageProcessor,Owlv2Model:()=>s.Owlv2Model,Owlv2PreTrainedModel:()=>s.Owlv2PreTrainedModel,PaliGemmaForConditionalGeneration:()=>s.PaliGemmaForConditionalGeneration,PaliGemmaPreTrainedModel:()=>s.PaliGemmaPreTrainedModel,PaliGemmaProcessor:()=>U.PaliGemmaProcessor,PatchTSMixerForPrediction:()=>s.PatchTSMixerForPrediction,PatchTSMixerModel:()=>s.PatchTSMixerModel,PatchTSMixerPreTrainedModel:()=>s.PatchTSMixerPreTrainedModel,PatchTSTForPrediction:()=>s.PatchTSTForPrediction,PatchTSTModel:()=>s.PatchTSTModel,PatchTSTPreTrainedModel:()=>s.PatchTSTPreTrainedModel,Phi3ForCausalLM:()=>s.Phi3ForCausalLM,Phi3Model:()=>s.Phi3Model,Phi3PreTrainedModel:()=>s.Phi3PreTrainedModel,Phi3VForCausalLM:()=>s.Phi3VForCausalLM,Phi3VImageProcessor:()=>Q.Phi3VImageProcessor,Phi3VPreTrainedModel:()=>s.Phi3VPreTrainedModel,Phi3VProcessor:()=>U.Phi3VProcessor,PhiForCausalLM:()=>s.PhiForCausalLM,PhiModel:()=>s.PhiModel,PhiPreTrainedModel:()=>s.PhiPreTrainedModel,Pipeline:()=>a.Pipeline,PreTrainedModel:()=>s.PreTrainedModel,PreTrainedTokenizer:()=>o.PreTrainedTokenizer,PretrainedConfig:()=>u.PretrainedConfig,PretrainedMixin:()=>s.PretrainedMixin,Processor:()=>W.Processor,PvtForImageClassification:()=>s.PvtForImageClassification,PvtImageProcessor:()=>Q.PvtImageProcessor,PvtModel:()=>s.PvtModel,PvtPreTrainedModel:()=>s.PvtPreTrainedModel,PyAnnoteFeatureExtractor:()=>B.PyAnnoteFeatureExtractor,PyAnnoteForAudioFrameClassification:()=>s.PyAnnoteForAudioFrameClassification,PyAnnoteModel:()=>s.PyAnnoteModel,PyAnnotePreTrainedModel:()=>s.PyAnnotePreTrainedModel,PyAnnoteProcessor:()=>U.PyAnnoteProcessor,QuestionAnsweringModelOutput:()=>s.QuestionAnsweringModelOutput,QuestionAnsweringPipeline:()=>a.QuestionAnsweringPipeline,Qwen2ForCausalLM:()=>s.Qwen2ForCausalLM,Qwen2Model:()=>s.Qwen2Model,Qwen2PreTrainedModel:()=>s.Qwen2PreTrainedModel,Qwen2Tokenizer:()=>o.Qwen2Tokenizer,Qwen2VLForConditionalGeneration:()=>s.Qwen2VLForConditionalGeneration,Qwen2VLImageProcessor:()=>Q.Qwen2VLImageProcessor,Qwen2VLPreTrainedModel:()=>s.Qwen2VLPreTrainedModel,Qwen2VLProcessor:()=>U.Qwen2VLProcessor,RTDetrForObjectDetection:()=>s.RTDetrForObjectDetection,RTDetrImageProcessor:()=>Q.RTDetrImageProcessor,RTDetrModel:()=>s.RTDetrModel,RTDetrObjectDetectionOutput:()=>s.RTDetrObjectDetectionOutput,RTDetrPreTrainedModel:()=>s.RTDetrPreTrainedModel,RawAudio:()=>p.RawAudio,RawImage:()=>C.RawImage,RepetitionPenaltyLogitsProcessor:()=>g.RepetitionPenaltyLogitsProcessor,ResNetForImageClassification:()=>s.ResNetForImageClassification,ResNetModel:()=>s.ResNetModel,ResNetPreTrainedModel:()=>s.ResNetPreTrainedModel,RoFormerForMaskedLM:()=>s.RoFormerForMaskedLM,RoFormerForQuestionAnswering:()=>s.RoFormerForQuestionAnswering,RoFormerForSequenceClassification:()=>s.RoFormerForSequenceClassification,RoFormerForTokenClassification:()=>s.RoFormerForTokenClassification,RoFormerModel:()=>s.RoFormerModel,RoFormerPreTrainedModel:()=>s.RoFormerPreTrainedModel,RoFormerTokenizer:()=>
2810o.RoFormerTokenizer,RobertaForMaskedLM:()=>s.RobertaForMaskedLM,RobertaForQuestionAnswering:()=>s.RobertaForQuestionAnswering,RobertaForSequenceClassification:()=>s.RobertaForSequenceClassification,RobertaForTokenClassification:()=>s.RobertaForTokenClassification,RobertaModel:()=>s.RobertaModel,RobertaPreTrainedModel:()=>s.RobertaPreTrainedModel,RobertaTokenizer:()=>o.RobertaTokenizer,SamImageProcessor:()=>Q.SamImageProcessor,SamImageSegmentationOutput:()=>s.SamImageSegmentationOutput,SamModel:()=>s.SamModel,SamPreTrainedModel:()=>s.SamPreTrainedModel,SamProcessor:()=>U.SamProcessor,SapiensForDepthEstimation:()=>s.SapiensForDepthEstimation,SapiensForNormalEstimation:()=>s.SapiensForNormalEstimation,SapiensForSemanticSegmentation:()=>s.SapiensForSemanticSegmentation,SapiensPreTrainedModel:()=>s.SapiensPreTrainedModel,SeamlessM4TFeatureExtractor:()=>B.SeamlessM4TFeatureExtractor,SegformerFeatureExtractor:()=>Q.SegformerFeatureExtractor,SegformerForImageClassification:()=>s.SegformerForImageClassification,SegformerForSemanticSegmentation:()=>s.SegformerForSemanticSegmentation,SegformerImageProcessor:()=>Q.SegformerImageProcessor,SegformerModel:()=>s.SegformerModel,SegformerPreTrainedModel:()=>s.SegformerPreTrainedModel,Seq2SeqLMOutput:()=>s.Seq2SeqLMOutput,SequenceClassifierOutput:()=>s.SequenceClassifierOutput,SiglipImageProcessor:()=>Q.SiglipImageProcessor,SiglipModel:()=>s.SiglipModel,SiglipPreTrainedModel:()=>s.SiglipPreTrainedModel,SiglipTextModel:()=>s.SiglipTextModel,SiglipTokenizer:()=>o.SiglipTokenizer,SiglipVisionModel:()=>s.SiglipVisionModel,SpeechT5FeatureExtractor:()=>B.SpeechT5FeatureExtractor,SpeechT5ForSpeechToText:()=>s.SpeechT5ForSpeechToText,SpeechT5ForTextToSpeech:()=>s.SpeechT5ForTextToSpeech,SpeechT5HifiGan:()=>s.SpeechT5HifiGan,SpeechT5Model:()=>s.SpeechT5Model,SpeechT5PreTrainedModel:()=>s.SpeechT5PreTrainedModel,SpeechT5Processor:()=>U.SpeechT5Processor,SpeechT5Tokenizer:()=>o.SpeechT5Tokenizer,SqueezeBertForMaskedLM:()=>s.SqueezeBertForMaskedLM,SqueezeBertForQuestionAnswering:()=>s.SqueezeBertForQuestionAnswering,SqueezeBertForSequenceClassification:()=>s.SqueezeBertForSequenceClassification,SqueezeBertModel:()=>s.SqueezeBertModel,SqueezeBertPreTrainedModel:()=>s.SqueezeBertPreTrainedModel,SqueezeBertTokenizer:()=>o.SqueezeBertTokenizer,StableLmForCausalLM:()=>s.StableLmForCausalLM,StableLmModel:()=>s.StableLmModel,StableLmPreTrainedModel:()=>s.StableLmPreTrainedModel,Starcoder2ForCausalLM:()=>s.Starcoder2ForCausalLM,Starcoder2Model:()=>s.Starcoder2Model,Starcoder2PreTrainedModel:()=>s.Starcoder2PreTrainedModel,StoppingCriteria:()=>J.StoppingCriteria,StoppingCriteriaList:()=>J.StoppingCriteriaList,StyleTextToSpeech2Model:()=>s.StyleTextToSpeech2Model,StyleTextToSpeech2PreTrainedModel:()=>s.StyleTextToSpeech2PreTrainedModel,SummarizationPipeline:()=>a.SummarizationPipeline,SuppressTokensAtBeginLogitsProcessor:()=>g.SuppressTokensAtBeginLogitsProcessor,Swin2SRForImageSuperResolution:()=>s.Swin2SRForImageSuperResolution,Swin2SRImageProcessor:()=>Q.Swin2SRImageProcessor,Swin2SRModel:()=>s.Swin2SRModel,Swin2SRPreTrainedModel:()=>s.Swin2SRPreTrainedModel,SwinForImageClassification:()=>s.SwinForImageClassification,SwinModel:()=>s.SwinModel,SwinPreTrainedModel:()=>s.SwinPreTrainedModel,T5ForConditionalGeneration:()=>s.T5ForConditionalGeneration,T5Model:()=>s.T5Model,T5PreTrainedModel:()=>s.T5PreTrainedModel,T5Tokenizer:()=>o.T5Tokenizer,TableTransformerForObjectDetection:()=>s.TableTransformerForObjectDetection,TableTransformerModel:()=>s.TableTransformerModel,TableTransformerObjectDetectionOutput:()=>s.TableTransformerObjectDetectionOutput,TableTransformerPreTrainedModel:()=>s.TableTransformerPreTrainedModel,TemperatureLogitsWarper:()=>g.TemperatureLogitsWarper,Tensor:()=>b.Tensor,Text2TextGenerationPipeline:()=>a.Text2TextGenerationPipeline,TextClassificationPipeline:()=>a.TextClassificationPipeline,TextGenerationPipeline:()=>a.TextGenerationPipeline,TextStreamer:()=>K.TextStreamer,TextToAudioPipeline:()=>a.TextToAudioPipeline,TokenClassificationPipeline:()=>a.TokenClassificationPipeline,TokenClassifierOutput:()=>s.TokenClassifierOutput,TokenizerModel:()=>o.TokenizerModel,TopKLogitsWarper:()=>g.TopKLogitsWarper,TopPLogitsWarper:()=>g.TopPLogitsWarper,TrOCRForCausalLM:()=>s.TrOCRForCausalLM,TrOCRPreTrainedModel:()=>s.TrOCRPreTrainedModel,TranslationPipeline:()=>a.TranslationPipeline,UniSpeechForCTC:()=>s.UniSpeechForCTC,UniSpeechForSequenceClassification:()=>s.UniSpeechForSequenceClassification,UniSpeechModel:()=>s.UniSpeechModel,UniSpeechPreTrainedModel:()=>s.UniSpeechPreTrainedModel,UniSpeechSatForAudioFrameClassification:()=>s.UniSpeechSatForAudioFrameClassification,UniSpeechSatForCTC:()=>s.UniSpeechSatForCTC,UniSpeechSatForSequenceClassification:()=>s.UniSpeechSatForSequenceClassification,UniSpeechSatModel:()=>s.UniSpeechSatModel,UniSpeechSatPreTrainedModel:()=>s.UniSpeechSatPreTrainedModel,VLChatProcessor:()=>U.VLChatProcessor,VLMImageProcessor:()=>Q.VLMImageProcessor,ViTFeatureExtractor:()=>Q.ViTFeatureExtractor,ViTForImageClassification:()=>s.ViTForImageClassification,ViTImageProcessor:()=>Q.ViTImageProcessor,ViTMAEModel:()=>s.ViTMAEModel,ViTMAEPreTrainedModel:()=>s.ViTMAEPreTrainedModel,ViTMSNForImageClassification:()=>s.ViTMSNForImageClassification,ViTMSNModel:()=>s.ViTMSNModel,ViTMSNPreTrainedModel:()=>s.ViTMSNPreTrainedModel,ViTModel:()=>s.ViTModel,ViTPreTrainedModel:()=>s.ViTPreTrainedModel,VisionEncoderDecoderModel:()=>s.VisionEncoderDecoderModel,VitMatteForImageMatting:()=>s.VitMatteForImageMatting,VitMatteImageProcessor:()=>Q.VitMatteImageProcessor,VitMattePreTrainedModel:()=>s.VitMattePreTrainedModel,VitPoseForPoseEstimation:()=>s.VitPoseForPoseEstimation,VitPoseImageProcessor:()=>Q.VitPoseImageProcessor,VitPosePreTrainedModel:()=>s.VitPosePreTrainedModel,VitsModel:()=>s.VitsModel,VitsModelOutput:()=>s.VitsModelOutput,VitsPreTrainedModel:()=>s.VitsPreTrainedModel,VitsTokenizer:()=>o.VitsTokenizer,Wav2Vec2BertForCTC:()=>s.Wav2Vec2BertForCTC,Wav2Vec2BertForSequenceClassification:()=>s.Wav2Vec2BertForSequenceClassification,Wav2Vec2BertModel:()=>s.Wav2Vec2BertModel,Wav2Vec2BertPreTrainedModel:()=>s.Wav2Vec2BertPreTrainedModel,Wav2Vec2CTCTokenizer:()=>o.Wav2Vec2CTCTokenizer,Wav2Vec2FeatureExtractor:()=>B.Wav2Vec2FeatureExtractor,Wav2Vec2ForAudioFrameClassification:()=>s.Wav2Vec2ForAudioFrameClassification,Wav2Vec2ForCTC:()=>s.Wav2Vec2ForCTC,Wav2Vec2ForSequenceClassification:()=>s.Wav2Vec2ForSequenceClassification,Wav2Vec2Model:()=>s.Wav2Vec2Model,Wav2Vec2PreTrainedModel:()=>s.Wav2Vec2PreTrainedModel,Wav2Vec2Processor:()=>U.Wav2Vec2Processor,Wav2Vec2ProcessorWithLM:()=>U.Wav2Vec2ProcessorWithLM,WavLMForAudioFrameClassification:()=>s.WavLMForAudioFrameClassification,WavLMForCTC:()=>s.WavLMForCTC,WavLMForSequenceClassification:()=>s.WavLMForSequenceClassification,WavLMForXVector:()=>s.WavLMForXVector,WavLMModel:()=>s.WavLMModel,WavLMPreTrainedModel:()=>s.WavLMPreTrainedModel,WeSpeakerFeatureExtractor:()=>B.WeSpeakerFeatureExtractor,WeSpeakerResNetModel:()=>s.WeSpeakerResNetModel,WeSpeakerResNetPreTrainedModel:()=>s.WeSpeakerResNetPreTrainedModel,WhisperFeatureExtractor:()=>B.WhisperFeatureExtractor,WhisperForConditionalGeneration:()=>s.WhisperForConditionalGeneration,WhisperModel:()=>s.WhisperModel,WhisperPreTrainedModel:()=>s.WhisperPreTrainedModel,WhisperProcessor:()=>U.WhisperProcessor,WhisperTextStreamer:()=>K.WhisperTextStreamer,WhisperTimeStampLogitsProcessor:()=>g.WhisperTimeStampLogitsProcessor,WhisperTokenizer:()=>o.WhisperTokenizer,XLMForQuestionAnswering:()=>s.XLMForQuestionAnswering,XLMForSequenceClassification:()=>s.XLMForSequenceClassification,XLMForTokenClassification:()=>s.XLMForTokenClassification,XLMModel:()=>s.XLMModel,XLMPreTrainedModel:()=>s.XLMPreTrainedModel,XLMRobertaForMaskedLM:()=>
2810s.XLMRobertaForMaskedLM,XLMRobertaForQuestionAnswering:()=>s.XLMRobertaForQuestionAnswering,XLMRobertaForSequenceClassification:()=>s.XLMRobertaForSequenceClassification,XLMRobertaForTokenClassification:()=>s.XLMRobertaForTokenClassification,XLMRobertaModel:()=>s.XLMRobertaModel,XLMRobertaPreTrainedModel:()=>s.XLMRobertaPreTrainedModel,XLMRobertaTokenizer:()=>o.XLMRobertaTokenizer,XLMTokenizer:()=>o.XLMTokenizer,XLMWithLMHeadModel:()=>s.XLMWithLMHeadModel,XVectorOutput:()=>s.XVectorOutput,YolosFeatureExtractor:()=>Q.YolosFeatureExtractor,YolosForObjectDetection:()=>s.YolosForObjectDetection,YolosImageProcessor:()=>Q.YolosImageProcessor,YolosModel:()=>s.YolosModel,YolosObjectDetectionOutput:()=>s.YolosObjectDetectionOutput,YolosPreTrainedModel:()=>s.YolosPreTrainedModel,ZeroShotAudioClassificationPipeline:()=>a.ZeroShotAudioClassificationPipeline,ZeroShotClassificationPipeline:()=>a.ZeroShotClassificationPipeline,ZeroShotImageClassificationPipeline:()=>a.ZeroShotImageClassificationPipeline,ZeroShotObjectDetectionPipeline:()=>a.ZeroShotObjectDetectionPipeline,bankers_round:()=>k.bankers_round,cat:()=>b.cat,cos_sim:()=>k.cos_sim,dot:()=>k.dot,dynamic_time_warping:()=>k.dynamic_time_warping,env:()=>c.env,full:()=>b.full,full_like:()=>b.full_like,getKeyValueShapes:()=>u.getKeyValueShapes,hamming:()=>p.hamming,hanning:()=>p.hanning,interpolate:()=>b.interpolate,interpolate_4d:()=>b.interpolate_4d,interpolate_data:()=>k.interpolate_data,is_chinese_char:()=>o.is_chinese_char,layer_norm:()=>b.layer_norm,load_image:()=>C.load_image,log_softmax:()=>k.log_softmax,magnitude:()=>k.magnitude,matmul:()=>b.matmul,max:()=>k.max,mean:()=>b.mean,mean_pooling:()=>b.mean_pooling,medianFilter:()=>k.medianFilter,mel_filter_bank:()=>p.mel_filter_bank,min:()=>k.min,ones:()=>b.ones,ones_like:()=>b.ones_like,permute:()=>b.permute,permute_data:()=>k.permute_data,pipeline:()=>a.pipeline,quantize_embeddings:()=>b.quantize_embeddings,rand:()=>b.rand,read_audio:()=>p.read_audio,rfft:()=>b.rfft,round:()=>k.round,slice:()=>b.slice,softmax:()=>k.softmax,spectrogram:()=>p.spectrogram,stack:()=>b.stack,std_mean:()=>b.std_mean,topk:()=>b.topk,window_function:()=>p.window_function,zeros:()=>b.zeros,zeros_like:()=>b.zeros_like});var c=ws("./src/env.js"),a=ws("./src/pipelines.js"),s=ws("./src/models.js"),o=ws("./src/tokenizers.js"),u=ws("./src/configs.js"),p=ws("./src/utils/audio.js"),C=ws("./src/utils/image.js"),b=ws("./src/utils/tensor.js"),k=ws("./src/utils/maths.js"),E=ws("./src/base/feature_extraction_utils.js"),B=ws("./src/models/feature_extractors.js"),G=ws("./src/models/auto/feature_extraction_auto.js"),D=ws("./src/base/image_processors_utils.js"),Q=ws("./src/models/image_processors.js"),V=ws("./src/models/auto/image_processing_auto.js"),W=ws("./src/base/processing_utils.js"),U=ws("./src/models/processors.js"),H=ws("./src/models/auto/processing_auto.js"),K=ws("./src/generation/streamers.js"),J=ws("./src/generation/stopping_criteria.js"),g=ws("./src/generation/logits_process.js")})();var Vk=C2.AutoTokenizer,Hk=C2.RawAudio,Yk=C2.StyleTextToSpeech2Model,ap=C2.Tensor,He=He!==void 0?He:{};He.expectedDataFileDownloads||(He.expectedDataFileDownloads=0);var Rk=typeof importScripts=="function",Lf=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",np=typeof atob=="function"?atob:function(c){var a,s,o,u,p,C,b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k="",E=0;c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");do a=b.indexOf(c.charAt(E++))<<2|(u=b.indexOf(c.charAt(E++)))>>4,s=(15&u)<<4|(p=b.indexOf(c.charAt(E++)))>>2,o=(3&p)<<6|(C=b.indexOf(c.charAt(E++))),k+=String.fromCharCode(a),p!==64&&(k+=String.fromCharCode(s)),C!==64&&(k+=String.fromCharCode(o));while(E<c.length);return k};Lf&&(process.argv.length>1&&(ld=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(c){if(!(c instanceof jk))throw c}),process.on("unhandledRejection",function(c){throw c}),He.inspect=function(){return"[Emscripten Module object]"}),He.expectedDataFileDownloads++,function(){if(He.ENVIRONMENT_IS_PTHREAD)return;const c="/usr/share/espeak-ng-data",a=c+"/lang",s=c+"/voices";(function(o){var u=null,p=null;function C(){function b(D,Q){if(!D)throw Q+new Error().stack}function k(D,Q,V){this.start=D,this.end=Q,this.audio=V}
vendor: 2,454 bytes, line 2810
2810He.FS_createPath("/","usr",!0,!0),He.FS_createPath("/usr","share",!0,!0),He.FS_createPath("/usr/share","espeak-ng-data",!0,!0),He.FS_createPath(c,"lang",!0,!0),He.FS_createPath(a,"aav",!0,!0),He.FS_createPath(a,"art",!0,!0),He.FS_createPath(a,"azc",!0,!0),He.FS_createPath(a,"bat",!0,!0),He.FS_createPath(a,"bnt",!0,!0),He.FS_createPath(a,"ccs",!0,!0),He.FS_createPath(a,"cel",!0,!0),He.FS_createPath(a,"cus",!0,!0),He.FS_createPath(a,"dra",!0,!0),He.FS_createPath(a,"esx",!0,!0),He.FS_createPath(a,"gmq",!0,!0),He.FS_createPath(a,"gmw",!0,!0),He.FS_createPath(a,"grk",!0,!0),He.FS_createPath(a,"inc",!0,!0),He.FS_createPath(a,"ine",!0,!0),He.FS_createPath(a,"ira",!0,!0),He.FS_createPath(a,"iro",!0,!0),He.FS_createPath(a,"itc",!0,!0),He.FS_createPath(a,"jpx",!0,!0),He.FS_createPath(a,"map",!0,!0),He.FS_createPath(a,"miz",!0,!0),He.FS_createPath(a,"myn",!0,!0),He.FS_createPath(a,"poz",!0,!0),He.FS_createPath(a,"roa",!0,!0),He.FS_createPath(a,"sai",!0,!0),He.FS_createPath(a,"sem",!0,!0),He.FS_createPath(a,"sit",!0,!0),He.FS_createPath(a,"tai",!0,!0),He.FS_createPath(a,"trk",!0,!0),He.FS_createPath(a,"urj",!0,!0),He.FS_createPath(a,"zle",!0,!0),He.FS_createPath(a,"zls",!0,!0),He.FS_createPath(a,"zlw",!0,!0),He.FS_createPath(c,"voices",!0,!0),He.FS_createPath(s,"!v",!0,!0),He.FS_createPath(s,"mb",!0,!0),k.prototype={requests:{},open:function(D,Q){this.name=Q,this.requests[Q]=this,He.addRunDependency("fp "+this.name)},send:function(){},onload:function(){var D=this.byteArray.subarray(this.start,this.end);this.finish(D)},finish:function(D){He.FS_createDataFile(this.name,null,D,!0,!0,!0),He.removeRunDependency("fp "+this.name),this.requests[this.name]=null}};for(var E=o.files,B=0;B<E.length;++B)new k(E[B].start,E[B].end,E[B].audio||0).open("GET",E[B].filename);function G(D){b(D,"Loading data file failed."),b(D.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var Q=new Uint8Array(D);k.prototype.byteArray=Q;for(var V=o.files,W=0;W<V.length;++W)k.prototype.requests[V[W].filename].onload();He.removeRunDependency("datafile_js/espeakng.worker.data")}He.addRunDependency("datafile_js/espeakng.worker.data"),p?(G(p),p=null):u=G}(async()=>{const b=function(G){if(typeof Lf=="boolean"&&Lf){var D=Buffer.from(G,"base64");return new Uint8Array(D.buffer,D.byteOffset,D.byteLength)}try{for(var Q=np(G),V=new Uint8Array(Q.length),W=0;W<Q.length;++W)V[W]=Q.charCodeAt(W);return V}catch(U){throw console.error(np),console.error(U
vendor: 603,095 bytes, line 2810
2810),new Error("Converting base64 string to bytes failed.")}}("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LctW1ziJJ6r8E2fgm8BOcAj6PPYk+UV2sHJvdu2OjS1rm30C8eitlZpb3/vqmd4n7AT/Dkn4k+RuNs1vCvdesaOrcW2DjyN+cltlP777h2feBiugvcS91eecTeHQTTu6GqNtYQfxk9sq2+Du2858Pl4BHSb2UNdX+Ai47paWsCfmZYmfVfnLz8B/g7oI/OeCFgs+KeQ0oVVhHxFeUSXPjvxAVFU0Xc1COSW2Ko7jeV4QBMciOZ1Ol8vtdns+lNfr9fp8Pr8/EAguVigUCofD4UhFNacUrai2trY2FovV1dXV1VfUcFKNjY2NTU1NTc3Nzc0tH6i1tbW1ra29vaOjo3ORurq6urt7enp7e5ctW9Z3Sv39/f3Lly8fGBhYUdXKqlatWrV69eo1a9euXbdu/Z+1YcOGDRs3bty06Zxzzjn33HPPPe+88zZv3rxly9atW88/f9u2Cy644IJPVHThhRdedNFFF1988cWXVHXppZdeun37ZZddfvkVV1x55VVXX331NX/Wtddee+0nP/nJHTt2XHfddddXdMMNN9x444033XTzzZ/61C233HLLp0/q1ltv/cxnPvvZz33uc39X1ec+d/LX2277/Be+8MXbb7/9S1/60pduv/3227/4xS9+sfLXl++44++/8pWvLtLXvvb1r+/cufN/nNTOD/Q//seuXd/4xp2n9I2TuvPOO7/5zbvuuuuuu+++u/LfXd+s6tSUk6pOr/75rZP688SPfK2C3nnnN3adVGXOJ2dTmfyNb+z6yILs3Pn1r3/961/72le/+tWvLNLf//0dd3z5y19apMqqfuELn//8bbfd9neL9LnPffazn/nMZ2699dZbq013yy23fOpTN99004033nDD9R/Vddddt2PHJz957bXXXnPN1VdfffVVV1111ZVXXnHF5Zdfdtn27Zdeeuklp+niiy++6KILL/zEJy64YNu2bed/oK1bt27dsmXL5s2bzzvvvPPOPalzKtpU0cZF2rBhw/r169edprVr165Zs2b1h1pzUqtXr171F6rsoys+ssN+MO2DiScnf/Tbf9bpk1ad3NlXL468trrv/xWt/yv68LioHhmn6dzTVWmhynHzV7RlS/VgOqktJxv05OSt1WPsg6aufvzhF88/f+uHU099suU0bf1rOn+RPoy5SB9dslN/ntzAf7GCJ7f1h1v4Q53a1GtPbt8Pt2h1Ww0s0vLly5f39/dXTkvLli1b1tvb09Pd3dXV2dnZ0fHRs1lHR3t7W1tra+sHp7zm5oplR2NDfX1dLBarXaRotKamJhKJhE8pFAoFgwG/3+fzej0ej/sDuVwup9PhEASB53meOymWrWQaUiRJEAR+SpXLQiUhslLg/+TF5VQ5LdM0jUpCqKZpqqoqSiUFspLbXy6XSqVSsapCoZCvJPhmM5l0OpVKJStKJBKJeCWldX5ubnZ2ZmZmZrqqqampycnJiYnx8bGx0dGRkZHh4eGhoaGhwcETJ04cP37s2LGjFR05qcOHDx86dOjgwffff/+99959990DB/bv37dv3zvvvP323r17975V0Ztvvvnmnj173njj9ddff/2111577dWKXnnllZdffvmll3bvfvHFF/9U0R9P6oUXXnj++ef/8Ic//P73v3/uueee+90p/fa3v/3ts88++8wzzzz99NNPPfXUbyp68sknn/z1r3/96yeeeOKJxx9//PHHKnr00UcffeSRRx5++OFfVfXLD/TQQw899OCDDz7wwAMP/KKqn1f1s5/97Gc/reonH+o/TurHH9H9Ff3oRz/64Sn9+w///S/0w7+uH32g+390/49+dP8pVWZ6MswHUU8uxc+qOrlsJ5fzgaoefPDBByur8Mtf/vJXv/rVww8//PAjjzzySGVtK2v9+OOPV1rh17/+9ZNPPllpm6eeeurpp5955plnn332t7/97e9+97vnnnvu97//wx+ef/75F1744x//+Kc//enFF1/cvXv3Sy+9/PLLr7zy6quvvfb666+/8cYbe/bsefPNt956a+/et99+5519+/bvP3DgwLvvvvfee++/f/DgwUOHDh8+cuTo0WPHjh0/fvzEicHBwaGh4eGRkZHR0bGx8fGJiYnJyamp6enpmZmZ2dm5ubn5+YWFhXg8kUgkk8lUKp1OZzKZbDaby+Xy+XyhUCwWS6VSuVwWRVGSpEoqr6KoajWDV9f1Ss6yWck7tqpV5D6sEld9jmgC94A8uIiKsEe57wtTwXUestcZdTpJsKv6PNt10gt4xX92D4ct4jtD61DcQ/pYlkT/H/bePMiy66wTPNs9d31rvtzXqsrKWlRVKlWVVmRtyJJtYWMbG4wxBAMMBAQz42CWP6aHcEQ3EwMRRAxNdJsOlhnPNI3B2G2DbWxhI8vWvpek2vfKyvVlvn272zln4jv3vswsWe6QoGeYVrxPqsy33HPuuecueb7f932/3z+m/cLkOKKIuLCCe+ft83h7/LrK2qCUm8eOQftjx/7T7f8YfxnWmgQq+oGwRE8P1h8kjwo9XVivRvtPDr04JZjA8yR9liTr1ZveI0wIZYxqhREBJdGYUEYZxWgrZ1KvanGSGg+NSP890gPR616se5Tp5rDmJTeLlOhvkx1Sgre/3B7w9gh36pukC+vtd4TsaNwfys6v9TtgHtzetZR9VkJ4DcXt+jANrp+4ZMv0QcPztp8s2t8/SRbxcFQ/dFjqc58dQwMb2MAGNrCBDew9ap/7bP6fewgDG9jABvbetlvYl7Uvl3UsjhkwbQHlGmPMcywGldhKCIwQkHYZzECYQL02RFgoY4QQ07AdJ2eaJjGwwpQalAEBIkYSOuGmZWlJTYQwM1zX9rgJnh0zLBMo9vR32DC4yS3DgEQ/QqhpWnbaiBnM4CbDfbebEoowp9xgrmmZjFGEEHDvMY6B4TDUHzBEEDEQYdQ0MaF650DBxbnBGcHAEgkeqwRgIHFEceLhq8TflEoiqEhHiOjJoBYMziaUIkQo44wjoHEUjNim4XAGUxQofbwMdHUVIpQY3LEsbkDUyeQmBfcXMIOElV8oJZBAkVCJd0zANWaEUIwwjB52rWBbibFEUkVSRCpCMCwpwMfWU2FQxDASioJrzoAwEHxpjSnA/AO8gOGYEzcdw6go1Z0rXXQPb4RmykOYMoKUEhEQ7CHtecsgDKI40nODlYzDENjZEjdchEEkYiC2Q1LGkYijRGxAgkcfREKkIgRSwxoa65AKSRHFUoAXL+LE749joZJGGo7SX8HW8E4XkkqgjpMwTQpJmIkdQIMQ6RuF+oII6VWi+r+2vu9/p+GcRCshPdMwmQkYohLxhB1ohkIYw+T296mxl61rUUMxCUSxFYy8KUCJttv9EMiy9e4/6738/4ENAJiBDWxgAxvYwN7D5hGIg8Gy0WA0jTkli0G9INoK2ej1c7KwpRTiWwwjJeIoBop7iLXDKjOOwlhIRKjBOazRVRL1wcB7DPGvRMIKekvDY1EIMUqFKNcJXAzrTkUSTkqCYCqlj4IYmKaBpmmgLFmOwRpLCehF9iNfKg1M6Q309zoOl6yUSRJFg23Q9ppNJavSH46VJRvg7VUmTj/RcTFNdJzGr3SOWjq4pCfylkAh2o7LbS0+k6MTSUKCpqhODNISdGZCTzMyRwJxN5fPZjOe60CWA+S5cZgLJMIgjOJknkmSFmdYrpfJZvP5bMaxwElLYoQsDbdtvUvPeBJyTIJ1g8jbwAY2sIENbGDvZfvcZzP/3EMY2MAG9l++Hdc1Wb+P9uPnja/Zv5t9ID83ZY/Np5H985//dc3v9flDDz7yL2+HT47taLtdU/T7yMLPG0/320/MF99t+zqas7zMr+R0+9K8w/m7a/8ktszfsU56LD83ZRXmPQdCY++i/TXsWU9avgec41ZxPu85zrts/5fmKeszmXraPp8FlaV33v4BctS8y/6dzCfyc1MoP58fy2bfcfuv2l++KUyBt3/i7Rd4+wuMk/fJP5y6yon7jNPgFu5/uOU0Jy9I2nr7S4wI3vEZSjvBuicdj9nqvb9rkuyfwAvcH81WI70VSXeW7EQrhuG+i4/ThiSN92CCIC4HP/QLTJMPCdEf6h3SpAFJu4LAEMIUutOtdFdIAydMBx2TA4PvcNI37Y8XNoFRsSTlGBGKCIZvEVXAhJLuS0c5UyAk6QzgFw1sqGQCcP9otSAa6v+DbxTZOktJQ0WSE6cSNIdoIABhhdPAoW6sw6Okf2a3ziPMA0qBDgQaZlhLsEmmX+hZpQKOSyGGBFFMb6M7ERgpGIKCoCzCRECPMTQBpAknQTwqicZYJNNoRCwpVjExIDyLdXhWEYmohFCpgNArfIGE/hJiwvoHfK8wjglEULFKUBsMnwFGxCOiQFcENoReYyoRyDdDhFjASJTAOIaGAKXECuEkvCmTSKNQGAsJlOSSIBD1gtAxjhDVUJOKqY45Qm/6F/yQGMVYwjCpDgErJVmUJm4bkUIKyySIqWA6ILSsj0rFDKKVEMEmeqgKxWhL6X37N1IxxN+xwio2hIDDhPAr1mHUZL/J+KlI4qKwtdAThSVW6dd6eBGNsSQ4MCKmIopQpGnbkSJCMYGVYBrBEjCtaRwWYZBzIyiiMHqKpGKxMGKKQ4KkGYD2YUxjJtM4LRMkNkIKAXUlsWCCxkwJLiUiikjFpMCSQM9MYCRZQh5PdGhWEiRpZCpJFFGJXh5V+pJKUDlMYFRUIooEYhILwgRSlMDppkRiaE2VYkJf1NIQiIWmlBQuKElowEhsytgNEIHDxEiZEdydEcGKKn3Ns8hAwo6lEcGtJwxhIETh7CuiswBiJinMBRMsNljIYd4YlkZkCEUpFvq+hhtMGCEniggnYFjoBwuGg3KEMATc8VQoR8Jririk0lA0YljZPY6ckChkxFxRwZmAZohLFmOmiIEDEwL5lClKYkoQQxTm0Y6VGTkhI8Jp24pSYUpshJgpHhuCS05jQ3HfEciQVkyZflTqJxUhiiOpoUvIgaBUECO2cZTtmSTwQoNIrpSFCDKQ4MIVykYwVwwRYRFEkBlTjgUlyg1MO3RCavlM2URwZEnD6GZIbAvD9JmBTAXJIAaJLIwYILMwsciLUCY2rMBB2O04kWXEbmwJSyET2UiBSJ9gDg8ZxUbksshgmChqIAcpG2GOCAM9VUOaLLAJjUwTUeng0LB9iyNBM76NEI9NK6aGMjgTTFELTh4DHTuQa1WUIgMDXYEBk8EDG57MVswRykrJkAmn00bSwpiGFopcZkTYooYkiFOFDBMhlBHEQGaMsEt9GxMzQragCuVjggnsDZlIceQI5SGuYgLrJ+TFktOIEmzHFBOGkLBUiC2GpHSJCAkjIXUUjjlGPjIl8k2KkDApaWMHo4BgroBPDZuBjCnvIWIheIr5EZWxpFx2CYtRQJIHiBUjHx7DgovINxAkWXR7ikg/NrmIBGfwYFYSdQXuRYjFYdxFqN2NlQzhpjT0oxoeCQLzOIykkqGvlIwjeLwQAaqIUZyksWCEokAHFajOe9EPPERkLOA/FAslkBL6CQ4PSR2EYP2KlP7fsK1IhH4oJH+rcPK3FvdzQ5BSsVBxKCAQARC6H4IuaQd085pQzVev1WvVGghaNJqtdqfb9UG2EFR6KeOW7UBdeAYqCnWRuOskBYWQwWTqanILohigVdprtRrQ1+b66vL1axfPvPHSC09///tPfPfxv3/qlfNL5YYvmeVYjpPJF0cmZnfPTY0NFVwatTbLa8tLi9e1LV6/du360nrDR3ZhbHp2155ds1MT07O79+zeu7AwPzM+XMg4lmk5XjZfKILUL9Q3QpyEERSHncbmAKof2MAGNrCBDew9bF+xdY7G22SR4i3oZRueufllH3pJPJAUxiE3ATnpAivNfyVpvySBUhTufwDIAFZ0O42a9NtsQ0KKaFgBMAlJk/1oPIGqZB+0n3GxtRf9Q+HtkYCBf5egFkrDEyo91GRX4JYBwKDA2VD9g1K6jlsPTztjerRYQx6KKkW3h6uhED0UQCmYTnyGPG8Fg07xLPDSoBup21Gps8aVTjInepeSUFiHgodIUj9UN1YEvFtCY6qYUuDc6g7BsUZUUMkkIYhI2KUkSRMkmQD/VTuxRFIAJpgeJ4mRPkzAPCiOKAIEA7pJvF+kp4YJxOI0vZ3oYcEYwL3FRBIYDEqOSJgSCUojBEo+hCqFqFQGeNvgTiat00kn0EgmCJHGZBI/HMFh6ePVM8ElApgGgdeNkllHigqGJI8NvR2JmW6djBnxkOHYChhAOYAZYO2nc7165zFByogx7EiAk45VOrM00qcuaUNAOAkJqsDdQiRkggM0YQSAw0WExDxgOLJjwApwTPXkhVZESWxoYAlOIxFWRJDgvhEbsfbKMQXMRp9M2IrGSFoyfUERIBNYYolSRACmmAHsYWh/RV+lMF88MBSmbRthKRPHBDLnwRdHSFKKFMNYBCS5wgEhUQTFCHGfoNiMKMBENDIAKXI7PFYMTlecCRAK7Uhf6BGlkoYcQBy4ImDHZoSkMDRmB2cchUwCDgdbK+obgUEUD4hggOkQGisK8AIAb0pxFMPoIkpVkgWPkCBpRQJSgijUMwChSe59uGEk4gHV0I9KtjIiuG6FvlxAzE8fGgBIRMAZowq8TYqQ0TOQvhJjKriSTADMg7DGGbBQ2LIMAxmAXACEZ0gqiSGwIlIAsoGpxm6kvjOlIaExgbPHSQwwBRwdokaEhRUjFsKJFiw5FjhQwEswijA2YgZXFo14RNMHAVYM7jEeAvKKJI6J4gIbgRnrM6trJgBukQRhFjGpzDhCjMLsK8SFxIzFmCIjEhxxEyGLIKkMqQACheIUSRmOkfCItHoW4hjB5PPARISDl8vhDHIpJVy9VCliKClMImlkSMQBOLJCyzWZT4khAmlwREJEBVHKxZhEBuCGFMfIsDimhiV7BuI0IhR1JaKgw42kbVEscUYy2ctKwjCmTBJEOCAcphFK5hFJssxHsWv62DaJYWDHjoyGyiPMhl0WeWZkIGZb1LIBXWEixKyAenEuL8Imd00sY24zFHHsijDEeSywY3iYGr0I4x6TwsIoYgRtdjOu9Cm2IixR2I6U7PKI9OKMGzfC2JAqjKhsBrHrNbvYEl3hR6IdxGYmajeCLhId1Y18RFXUimXUinnUCmTki6Ddi0gUNjum7Pp+J663qfDbGPUaTRzXKj6J/UCFbRS2mqHd3egJv9pqi1YtDpUKeh3fL3caHVSpStmMur2g0WkGQa8R9brNit9oVXqB8MsRiho1wcqbgYFr9TYPGrVK0Or0MAmCZqW62W7XWmHU6fVa9UYtCDttn+NOIBq1etiJUBeJoCda9W4zCCIlgp4fxn7bD1HUiRAL21GA4k7cVUr6kRH5IYp7Shp2jFTc9WUQRH3AF2FsEgbFThRRzBggp5QrbJo2UUhQC0qmOGQiAk4AJVgmMTyDI8sybcNmpuPaHHPbAKViy7DgiqWGxTgUarkWMSjnludkHCfjMsCnKadQUMUM06CmaTLHNgwG9VUGIZZpcctxHcBJPM9y7IzLsAFZiZzbHPAS16ambdsZx3KzWde1MxnH5KbJTMhhdCzT1Gx8uVw+57mua9u2aXmZjGc7nmlAt6blWMDnBJQituV5NiOcGQZP8FRuGjoh1LI9xzUpIRTpajJCIYUUoHDDskxumQCZcCCFgpxJHaihBjct0+S247qO4+XyuVwhn8tk88Wh4vDISHFouDRcLOZyxeGRoUKhWBoeymXyhXxhqFTM5zKea5tQy2ZwI1lQyDjwe5EMO7Vqo9mp15oDZGZgAxvYwAY2sPe0hdaXd+bAJJbWJW9FrbaTabTblKA24N/2gQ8sk7ITSC5J0BWU9pi8VjrBJE2H2c50QX1cJMVusIYEtvAVwB7Ab8ZE18ZIXTcDbgbWXhWkCND+1/0GyehxOnA9VknSFzsOkyRbJdBJGozX3SeONDhf+g34vFLh1EMGNANyRCQxFJIcC4wNqRNKiEZyKPSrA88AHimNlWDwKvsYlYaYVDqEJHsEJ4NTAFRBWDEdqtLZJRI2huyArXobZEDiA1X6qLRXyXR+gkQK/CRFE0SJAHYEoXvBwA0FB1sy6Itqv1YY4AVzwEiYDoTq/BXEYp0BQ6V2hKFjBntPGAH650VpoCTNHcDJXBNIoknxDr2p0APQ30EPycWiCE7yQjQElqZHwNmEHiSDPohMMm2SzvSMsWQ3GouDI0mOOxkkADdwkgiTWDGNZDCsIJoOji/SgB1CHPxtLDAyJJawC0UAOiIoIVdQilChp1DjXxIAFsA9ZL9CX19AAtxwneGT5PhAnDdWFEmd0QN5KiTNKYkBMQEcQ8YYsRgujhgR6B7DXhmkeYBrblKpKKchgyuGciRNxTCB8DxDBiLKSjOupAOpHaBmzSjgc4QIwvW5QTFlcPKxiBkkzzAaI4WJgOQKISkVQnLkI65UyLCUsaFkpOu7YJOYCqkkB7oELASTAsGI4QghBk4ihDW7AeQNqYhJGut7Ca48DW8iAtAJhTNBFKQtYGSDN2ZAFgHGxEbKBK/GtJBybGEQy4gtZgpmIYJdhQm3JBTdGQZCxATmC7iqqKSAABIsEGAZAGBBtgMk9HQRpr7CNA4VVV2EUFcp5UNmUYCQCGOEglhI5UcxEj6KUBSgSIZCRciHIH0kYiniWKooFkhFSGnwSCV5YEzX+GFqUINyB1MT/E3DY47JLVaihms6pmFnmOM5xMwZ1KV5LEcEtWwmuM04orbiBotcLHlog+44QaYEZEWSENPQ8OEainSGQBwIEqM4Ej0UBDSIoh6KAh93e7IjZbetOlHQUU3fb3c7frfb67YbfqcbdHpBFPq9MAx7YQznTAmdkAX3AjBp2FR7udwwOXU4cwyHc2ZZFEae8YwMz7jY8TLczGepOZS1TWOEsRK3ucuLppEhmbyB8paNbMs1cE7AqcOWhRAwkZgsRqYZUmrIiCHcceFeskTHxoHssVhFNAiUoB0/ipTvxwHqtnqB7zeaYadb7/Qam9VqfWO9Wm9WO81mo9lrNprNdrPV88NAQA6FLickmBLDpNSwCWPg69umbXLHMIBAxXQ8Ti3b4oZNTYtnmJuxPTvjupbrOK5ZMN28m3HsbMbM0qxj5myX5U3HUo5hFCnJYodSwIuQbUlE4a+EHcSWYj7mSoSUqAiSzjooDmRkyMAPaDfs+rIu/dCvR912vdVuNaudRqW6tlFZWV5eXFqvVGub9VajWa1VG61WtxPEql96igjjlunYtsNNi5oGt00HMAnbshg3AZCAb004O5ZtOraXy2RHx4eGisOjpaHhkeGRUqmYzxRyRS+TLY14Ra+ULXhOzrbMgm2zbNZFNEeJtEwUkiwW0mY+ZkYQEGZ0Y4TibijCTuBLUe8EnfZGs1Np1jfKG5sbSzfK1y5dPHfpjZdfe+G5F16/evXa1Ssra+Wly1dvlDdq7diwHM4t+MHtbKFUHCrmszZPQGxCNXChhIyiWCWHaBkUGFO5nckVhkZGxycmp2Zmd+2Zn98zP797enZ6fGJ8bGIMDqgwlB0aGRl1iqO5Yq5QymUKBY+bpm1bDJnA38PiSCochb1O2OkGQau5Wa+ub6xVlq9euXDx/LlTr7z6wrNPfvfvv/oX/8e/+d//7VeeP3fq+VfOVqo3zp+8XouQPbr/1lv2Tk1PT41krMzYzNzkkMdxWFu+dvn6jaWNSr1V21xf3ahs1lshcYuj4xMTY+Njo2OjEwOgY2ADG9jABjaw97I9hrPIzFpOFvHor//Y/Y2fts/3Dh/J4MKeKZMVhov5TLY0OVHMFTJuvlDI2U7G80zumZYVuIVXvkk/9tj616xf+607vvS/jf/0iHvLx36ansn/+EfuzOQOFF7+wrfqoyOqdNvw+IHuOkNDI8HI6BredeJRfGl8hE8uvjE7TcfClan7jmZW8QO3s6BazhS6xsjQOG1M/tixeZMevG33/rldtxbN3Ut/snb/4fFidgoFt82pWTeYKyBrQ0708Ey+hOqT0zYvx7uzNjPmw81bM6slhOb8/PFmeGhueL3+2Oiru446d05fd/dzH9kzB9y4yFVuQz1UffLE3Kmj93x38ZOzT3Yfnrm+MrS3W18YI8Yr8hfClw8P2bddvnLQLM4F+9hLt+++fJQtfqr4zEK2d3/u9cvyNnR6Cl2a7Nw4Is/vGc9+aPcl9Fv0y/2p7fPhM247nBArVyrYSCC7kLWAIt8wTNcwCeJW3mWW7eQszG3bZZhgB1wnYCEhjJlEUUQNjEFqAEFGvOZEZISyND9axlJIFIYiQqgXxrEKoyQHGxakoR9InbIdhgmNSxhFcZJHreCjuAOb9oIoDqM4igM/juM4CJWKokjEoZSR7kkKoaJAxAoFcRSpWGr+Pih4ibW/BUwnEJoDvhIFFTQKiSipKhGRLlNBErxQSPMQEL5O6n909QvRpC0aEEsJYTSTH0ooXeArIJWRiWZCUuai3X+9KUYJdaDWI0hROUL6ieMazSJIiqSh3M61IprXRldDbAtobMFR22np2/QuCfMM7jPopPlZJK1j63MKQteQTa6xG5JuC0eSap4lFI79ujpMDA6lYowbBKcVZ7ozQmlaBUeZoclfaEJQSA1DU9No7TSSEHNyxshWj9CZZWqogSZ9oaR3DGAKh0InnGhO4L6cBdH8MbBXRsFr1oSSgEkyxnUFCKVApAjTTpMqN5LQBSW1bxCOtkxK+jMIsBbTwV1d66a0E2sAhw6Dy17nmyQ5O7HETH8BVKEp8kg1upSMHvDCJIeF0oS7iOrCOv1OCciF0FRAeOCvDGxgAxvYwAb2HrbPffYdbvg72+vwd2skrYtPZa7wDv6D/pKekGTxRJlhpKpYWsgrXZjBqo6myz7g8ybAi4g1wXiylKMJQMyNpCe6TTd4M1Hh1ptUMHeHuBfuv+orcmnZLSORRtwhn8u2LVHYTSXHEvrrm/aWSijGEagn+n6v22l3Ot12q9loNuq1ymZ5fWVls0cM1ak2fKjupJZr83QxyUzHNlAcgkpdGAkpwl6n0+kFYSz76mfUMG3X8xygVDd13SU3KE55C/syaLDgNRI2yK2ZSfkUtaMRBb1utxcEfrfdbLXbzVqlWm82qhvra8uLly5erUjLQd1GKwSfwsrms45lUCSiGDHbNlDYBSHITi8UMg56PT8ACkbKLcvU51GXiybUikrHKwyYNFiHG6bt2BbnMJ8GDN7SPI064zB5mayo6ZYymkwU1OIYRtwLwqAD81jbWF9dvnHt+nILZzI07AZAxs+9QqmYdbgeqCIGpyrsttvtbi+IU59GV3BDYqNt8W0dNpzsTFNxakXMLfXkRIAN96+bvpG38mD+v22DlfnABjawgQ1sYO9ts3DCOa5XGcmaFP5pPmp0cybltu3QL/4hw/9Ye9v96FUZkHFvLW9brWarG8QSMStTGBoqFnJZ12JIhD0tu+yDFs6W1DIiwL+dzeZyWc82kAhgZazbK8zSkhO9pNVLwcG6Z2ADG9jABjaw97B97rPFf+4hDGxgAxvYwP7LsWfJLVuvE2AeeKoJsJJAio9mDaYEJelVSQWgkFu5SdtebsJ4jbaiQSmZEoGuiO41lU1NiSZ2sk1tCaWmyUtbnjjeDj1tMXuTtGiRbBNTbe0zUcJSO5OmNA+3DjwA1bbGAbBpaV5jgzNd+aiziUjKdg3dUMN0MxmbyiDgpNcJwrATdBrtaqW2sbm+Ut5Yrq5vlMsba+XK5mat2QmlV9p1y8/89md+/b858NBjJ37s8N7b93q7MmzlzKuPP3X2hZMvP3f9zVNnLyy/caVRIdmR0dHiyPGFuVvGRidde8rLuD0I0oQbSzfO3Vi6vFldX69Wol6jt1buxAJZPJuxRkZLY0XiOWbWICYVBkacCBQjk1LOeD5XHC6VRnK5QjbnSmRaBot61Va7DVGzbq8HEl+g8RVFIGOmlcq2wY6tgMzb2TuAM/7/ZBMufcdDfOvBbAVW0VuVdnd8/0+egB/RSZ9e7W2+e9uPfvTpeNvPfmQf/6lRvuXbrRv7rY1+VC8/1Ml2+PrtGqVBQf06DbLe3MNNvaXXK8bbIdl0i52XbrJtXxrvR1zIbxmKTLsiiSThzuPfoRCAth9j/YH1FcBTlei32vZHW/FzJWT/MPXTDG9F+dH2wzAJ5eN+mx2Pu5tSRvspnok4oG6CdkxOP/gKQdqkbZoAqoUJAVTUMgEkVS/cOmDdmx7Jjjiv0mWaSiFmbFHwx5qtX2fLYhkrnIbNScpvr3amCqCU936HbKGm2AcJcJ2cm44woeMCkmcRJtF7GKABfNwUA4gKmcG66hVSGnQDnIozwnhQolSutdxVFCXK4JrxGaekz0mL/qQkVPbspisDBM2T6motAQk/gLQoVYAH8fBYJBMIYX6YPmZC0R1MCKigC4SoyZkJZFxxrOmnISmZAI0R54ZBddpwHASRTE8TBSoh09CXB8g0+pGSCILocMIMqpIKei1aDnoQEGOHTqDfyPeBTwwi76bnQCF5HPW6kFkgJRAlGUwLYEpIywbNeJnMtMFNbnJKIA858MM4glpcqICWxOI0EdbUNP5hBDXXOnMaMWoAQRQlMur5oU6vRog7Boisa74BEQVh2O1GkDlsIKkI7A0olTAzCZygbgPqUQHyBholKiVjkR9GYSiximKaMWPkOraJsIqkinpBKGBlwrnlOq6lEOcy6Ph+u+3LOIy4zQ0rA5XZUaPS6nV9wTBzQM7SQQL12hGg7XAJGRQRAqkSHBKACTOUEH6klxyMcSDgxlEkZNTsKIyAwYlbJhCVx0kiBZI+KBvAncIMA8qrI1+GrY7Q3H2MANeVCfXaANy3fTihZibrwdnARMbYAObyGMjtIkVN02CcItOkGJm2BSnKBMjlkU6a15od3DRM16ZADSh9P+4FjKMo5rZJCAoVF72wF0Si1/ERikNkGPksj8MQrvdWtwdLJcNAxMk4lgEE9KCpihHSYRC4GY2Mazt51+acAZ28LwzHYMBKnvPgOcBATQFkQ0UUw0nlwJllIISDXqdZXd9sB70wiKIIYxn7MahZyLDl+81qebPZ7MQIiYgZSEKmS9vvNEOKMTdJEBMDC0G5k3WB4IoyFESI246dzXq5bL6Qy+Vc28oUcl5+CCRGCwWTMMsyWCaTzXpDeTeXgaRvLAJYwylFURR2O91arVFerTTq5eVydXOzVq9XVlY31i5fun5j8cK5C5eX1q6dfemFV149+fqZ6x3MTKgm8QwSB0GrA5RoiLqel/GGd83PzUzP7pqdnRwtFodGhsempud27dqzsP/A/Mz07PTUxHDB8/RIc4USFNCOFPL5rG2gyA/8WPTq1Wq91ahurpc3l69fu3bj8qlXX3zxtZe+/82//spXv/bEqdWYWsN79p04PjfKut3G4tKVNy9dX2oEPuXEzXpDI8PDudzI+Nho1nacbM51ckNzh267485jtx3Zt2vUYSqMFHULpak9B48ePXr0yKEDC3umR4c8E2giokhiw/E8W99QQbu2uVGplFeXV1dXl65cOHf69Zee/t43v/Av/9WXLop8Zui293/iU++bmx+KNk8+d+HimcVzF9oCexTnXSvv5ka8zMjQ6ETWc5htChFFhsmzueFde4+cOLQwPzUx7HLgueCZ0vjM7O6F/QcPLOyZmZwYKzpUibDX6wUxNr38UGkoBwvpVmVtZWlldbW8ubpy4+LFMyef/e5//OKf/cnfX8NzB/bd9ehP/dLHbpmhm+UzP3j+xWcvX7ncilEhbxU9nvPcoueWhkYm866NMPa7nXqIkO06xVJxZHhs7/zczMTk9NhQDnjj7Ex+ZGJ69/z8/NzU+FDO40TFUQi5S9hws7lcIecwFLcr6ysrKytLN65eOHvqjdee+943/upPP/+1q5kj99x5/8d/6Td/8Z5xvHL2xcf/7omnXjt/aUPaQ6OFXNZ2s9lcPj80PDJW8mjUbVU3NjYbvqBecWxybKSUy7gG4bnxieHhiZmZieGcl8nlh4ZHx8ZGR0t518CgQICJYSWRO5djSCHr1OEUbayvLF4+e/Ll5773ra/9hz/6v1+OFx56/yMf+9n/+jc+uMdZO/nCt//miSefv3h5OWSZsaKbNZnrZYYKQ2Mjw8MejRuba9dvrKw3A+UMjc5Mj44WPQ+IQ4DDk5tOPp9xTAP+in3iQ/kfXpYMbGADG9jABjaw94jdjYCa6nm0B/+ydcU9m7k3156wZ9B9xZmJIkLf+e3f+73Pf/U7v/17IM34Y7D9/h1tt/Ueb25v/RPb2wfQB+YOzr2r9kfxL1v/i/vZZP+3oY/MH5mfeuftv4F+EZ+wHnD/XdL+GPrIwSOHZt7N/v8Az1lj6f7NQ+gDR44emns37Z/Evvm885nMF2D/C+ihE0cOvovxQ/t/Y37D+ZT3u9n2BNqPHrljbuIdtzc1IdsJ9Ck8z/6Aj7l/kA+GrZn57F13WFOO9U41P7+LHsCn6AO8zfPZr+fR7Dw7dpd3cJ6/s/b7kK2P4+P4l8wJ9+ez3y+0JwwbzTPH8d7NPPxP+A5zzTGy49A+gw7m83n2btr/EZ41X3W+k+nm2hPGOLpnZGTEejft/wKH/K+cP8z8abY9wfajD0zMTOTfTftv4U3+Beczmf8+254wDqAPzM+/u/voEr7B/8j5tcwXs+0JPoHump+fGns37TPkFP8d567MGux/D3poYffcxLtpfyf5Pv9Np5AhMH9H0UeOLex+V+2PErgCP6vvA3QX+sS9C3Ponbbnxif7H2FuUAPYB3SBEdeW1BY5rpPxIPHRdb1MFswDxm9Xc3ppJm6AyXT4B1A7jdhJIBiItYxbGMUxxEegXgg+FBpBBLhIpdBgn35SAfQIkB1AiACTadoDgLEArgsBdVTQFewBAEPYi0YOJRQkxYBxwj4AGYwBk4oAbotjqHSCaqUw8HWFju/3Ou2uH3Y7nXan2+l02u1Wq9npdlr1WqPT63UajWa75wc+VEb5Yeh32rC5ftvtQr1TpwtVU+1Oz4/ioNvpAXQXxwID/R9ituvapmV7eqIyuXw+n8tms/lCPpsBHnJAXUAVLpfNZLJ5SDN1Mvl8xrYc13NBM06nl2oAUxf7EIKhykelQUBgvtMcChrKlREAnzCrcRj2AOHrNFvdXqdR2ag2m81avdVu1yvVjlAi8GNimhQZmaGRUj5XHAXKsKmZXbt3z83Ozu2en98zOz01PTMzNTE+NjZaGioUYHBwLAbAwkkN1w6Un6alZgxqkgxuJKVJUMmlx6eQLjKLgiDwe70uzFmn0240W81WvVIDIb9yubyxsbK8tLS8dP3y5fMXzp4+e2FpfeXq6ZNnlqq18vUbVV9FjWqH5ocLnpUdm56bndm9cMvhQwcPHrzlyNFjJ47denDf/gO3HFzYs2t2Znp8uJDN5bMe11hZHPlQ9xX0up1uKJEMgwgxzghhNkyynQV9ZsfxsgmrvZHkLgOw6gcR1J11ur1eq9FsgVZgtVrdrG6srSzDSC9dOHfmzZMvPvfMU089e/LipTe/940n3lzduPb6yetdKjYWK8bkrol8dmT3wSOHDx+789773ve+e++5+577H370oXuO33rktmO3HpyfmZ6eKGVNuM1I1K7XW61mvVYHdcNWp9vpAeouleHlC1k3OzQ6NjxUGh0fHy0WcoViNuvAYOH+CIKg1201G412uwGyiNVaZXNzc3N9fRVECq9ePnfqjddefeW5p773+N/9zZf/6mtPv3n66S/+yV+/sLxx7ulnr4gMrSw1c4duv3XP7L7j9//4jz/86E987OMf++iHHn3k0cc+/BOP3Hf74QMHDuzbMzmU8yxD9dqtTrdVWV1cXC3XapVKtdnTgC9gasXh8V379u/fO7+w/8D+hfk9u3fPTY0Wc1nPsYgMIQG7DgPb2CiXNzer1Wq1BhKOjXqlvL66unz94unXX37u6Se/880vfeHf/es/+trzb774f/2r3/2LN6vLL37n+UpuhG5ssIWHP/zgncdvf/gnP/lzn/7ZT3/qZz71iQ8/8sB9Dz384F2HpgvZTC5vq051s1pdv37x0vXVjdXFq1eX6z2gsrVyY7O75vcfvuOee+66/Y577nvw/ntOHDl0y4GFXZOjQznXxDHc1o3KOkI/aRV2PCFRQgHCTK+QU21kArZvZoxIYJA8ISqGCA3ygTxWAYUqRDdAAgQiIgKbDNrDrQDRJc0bzLRyJiECxISVGNrjNiKL6ygRpT3pRi0GaqZNZEopfGLESASMRIgxFQjghEE+8pBPiCTSp6aKIsYVpSEumhHLcEp8t7TZmRNlL+hmUI+EPYZNY82frEczzXWep11kdeIxfEMUM92Wo9p5Z016PsrUwiFajaZpQw+6hOs5Go5mlo2ZzdassY6cbiuPfNw1SYt10GS1Qni2V/e8G+pY5fVbx15B+5tr47TlNsM97XK264+HnbG1K+O7ULOBhkpsCc3JqkF6yuJh0DVKm43xaGWP/Xj+ntPBzDk0uZZRZ/aOfc/be8mhjdLGxgF0Nuss8ds2/2Fu8sZo99yMWL9r40v3HP7OJH9hjneyfrdijNZ6o6vrk/FGkZ7L80t78Pnd6OmxD1x6cZ/XZCxTu/h++z8cOvbyyl3hl/bfd7YhrzXvyD/l5Jbsjjjx5uLDa6/csrBaDgtHrpzbX/JfKz+W/+5abvfSGz8l//DWiafvm/iKsVscrj05n712h3/ycPs78x++8EYb7SKby1cOLDwfllaCCfsMP+L7xmR9+fBs5isXP1rbs/DHa8et0ejv6sdRgf/x1N0v3Df1h9ad6BZ0ftfuVfcARlF5P32VDdmn85nvVEcPyi9eeEw+c/fw1/ccfn78vnLvrP0/n3nzxNXgRKMx3BN83Rl/4fJ9C6+9Ys4vj019rfpI7s/XPth9xhhWze4+dPqwdyXL68Go3RrKNmPDcWuN4dJk9aWFj599+SPmDz6x7+sR7962929X5sfQ6/mw+1OVb94ir3wq/+pM7+ytn/7+8/+tePpes5rdnLMvHuB/s3D/q7V45Y49b8YrjQ+cvPDrvdeNtYnjrZ7y7TZ/xP+3uU+/sfLxM2fufWPx15aee6yyekK4I0/yD1aoeWFsRLWalM8GvNO6p3d1z9wL4kOUrV89UXvjw/kvZm/fFOOLwftXX/jAyBNjt5KN9fmFK0sPV5/4yL5vZx8mtt3tBrcd9K0JvJg9Gl6/deJS6OwR3gPlz8/86ujhy1/Zs6v8/iN/c22+ZPTkwfB8Z8Qg0xfD6PKtk2h34cqNrveZxn+8/dq132hX7r5MbjsTHUUXzQfxarZ19tOP/j777y5VDp27VpizVpzbn33ysaHFXKPqcJd4F3qHW6O7a9e5LD927EKrhDdwxioyw39h1/sv1O6g5yql4bWQbXRLplG4Gh0r/+DYracqTXRs/Owb9ewou/SiLE1nl84uOmYjMynmDjz+3NQdd6KL5289sDga/0PLX1+YFT187flDd52V9/H1cGpcVF5cOcauzMuvn16w2/br63tLONe6QJZXZmadcm1q5HVqO4cNatUWbx2+4o1e2jg6s1pX7dnZS41MazgmuWxzbY6s8XvQM0tqYhJk5kMfF0VzYnhyhHY66/LeAyFdXrvvCD21uHt3vraUHalMWs3DU41FxLJDUZuvXbfzsxnEjIpx7/Tq9Fw0c+fos+OfKkYThWsNq3q1fqU6bi3G4upGvSbk+Sv1ELk5J7N8qrYhHji6smxQumeWmnPzPJSNnuXNTjauyPESab76zdqRe28vXCqPWGRyhGIWXxD5lfaQLYIrL5+v+bvGLy931lZpdm5ksdU5ax5emB4ezTNVcBpofKw0Jmp+4I56jr+J/RtVB2Un6ovl8sVW92qTdlo09qnZulZ2ctxFjR6zcxgV3PaF6yDl1Km1Whv11vJar1te2eygfIbbnbXrayFh2VJ07ky7VyOmDMprjQoiPc/DXNxY7ZZVvtc0aI9ne5vdxqUyRMDXF+vdWnWj3OmxIdzsxtz1jBj5XU6xRSLuUot2mpFotSJMDS67IqpWesoucr9e8+MYEdTerHRiwqlJIoFENxCKBG1sMtytM752aa0WSCV6vdpqNerV2siS9UbIMxnTsFEYGrmRvGcF7SDqybjTFUrGraYfttbLtXqt3EEmSFMhmi2ODucLUxPZoT0HFiYdIztRtPJze8YcBSzNQ6MmJ6AfplyHxW2RMVrVmkKtOs3h3ka1vXZpvX7x7JtvXF27eOrqcq21eG1tbWl5s7J5eUXQyuVza7l81OFGrCJj/9G5w3fe/b4TR44c2Te/f//4yB3333PnwT3zs0NTs6OTE8MZGrvDXDXK5fXVWnW90u51m+WuDLqtWrdd27x2/uri1bVGEHU2y0uLbb+5ubJULd8IMxmje/Glk6eXNi5fq7YblTDvhk0/WG+PHTk6P3HkvluP33vPfY/df9sHHv3xT/78T3zkJ9732EcfvOueE8eOzGihoajVCZAM2uUrZy6cP/3y6dVrJ1957UZ3fWllvdxoduLNcm19tdYg2Xjj4qtvnL/RrK/faDijhdGpg/cewBGK5w7N7tpdPPrwoSP7Dx2bd3efuPexB+6676g3tWt2//6FWw/vve8nP/MLn/rkL/7M+x9+5EMf/PE7j+4qOm7eif324smnv/v0Gydf+sG3vvKVv/nWD549tbh68fyVdTpRxOrCSy89c17E7u7hCRsh6Tc69Qg7YwvofzRu4qfYkR1DtoQZ/6m2La349vlJKCH4vykn8OYWOFXhxluKlFsZKjuEKFFf1hFtl/kBG77WFATWeq3Ol1Li4z6T//ZO1M6dJtmGKm2XzIhK9AB2HFMijLct/KhS4nrojKqtA9ZSj0Qz7UNOixZmBG1GKhRFRMpEghH0FCBBQxoIsgx04grpayHsULXUU9FXXQS9AKJZ9jFkhCilz5ugWDAUE60SgBN1TKDOBz54lVDvJ1KTWiJC86hhraXZV+WE5aBI2P2VMEBLUIthYsVwjPv77gtWSgMU9ED6gCRzrtUmk4nW8oZAiY8lCBvSGHPIFUrUMjXPmgQNx0RyAfe1F+CYpNbPI0QkXGyYSpDiI1qugFAUA8k+FSDkR0D9MJU7gL87OJlzCaRx0ET1lUrlljSpVodMJhFeQkKR1oIHGUii5M1XBwE1C2QokAmkWmkhTQ7TaaXAkofVdqJqosApgEYPyZiA0r2ADQjMvz4FWCRnQCfIqvTCS65YiTTtPUq4C6XWOEjzpPoMHJqbL2V6oQQSdCjTrrgBPnlC7cIopC4lqU4kuZAS1Qqk0640ryHkL0mddwWZLSKKYeEfQ/4PvAZABJhJfD8UkGsVJgwg4FQDcYwByms2aNf3f5uak4SyNIVM542lUItOLoNsGxgmB821RCwtYYWh/Yw4Xd6qdGmsRkU0aABv4G0U+L0u/AdQSAP8NfDwRNhpdSKdnWZYrmMZwIyuC2gzGgnKuLYJuVp66gCiCeHwdC0t3AdAk247tuN6EJTPZjKexoxMnh6FJpbcHk2cNtQTCBgRlPD2Om1NS6MJVa5fu3p9pdoTUbfeDIjtul5+ZHy0kMkUxqanwaHzHM03QwaFuQMb2MAGNrCBvZdtUJg7sIENbGADe3vLWG/HEZsUs+Gb3r6DCsQUFdP/+tU7GlTSfPuEbHdHaYL1pXoFW7V36fc3DwUnZWDbSqNIC6nRnUVyWCM6cqt2ra/zuVXYl77FujQLWPm3Wmt5zRTjUGp7P9uFfYnGZSJUn0AZStxUZ7dDLyHFpxBAMNtledsle2gLU0lgwHSwac0c3noF+n2wVy0AkCSBJGVwCRWs1hFVunhoK08kOfr+EBOZUJCZIImUId4xTtVXhoC9KET6mqhC4aRWL53IJDwLkBRAOXp/JNH7BBQpOYVqC09LUSWUKrn2P9uuuiSIGFqElGxlS2zVNqbXTnIqafILEKS0dfp/gj6SpJXa0TJ5QfHO60fPEJjGRdOKu1QQIzmp/WtMo5n9Ct5EzwIJ3WL7ok1FVfsat/1vSR9t1LNI+nByCpYmVwTT4q0Y0CYt+6FxsbTnVOqWEF2tiPTBC6RPm9y6jnXxIIiA4GSrRPRUQ39wBjHpQ2x45+2jZ4ToY0vRaX3W+ncTTVRYNZCbIrEkPXsEpxK/FGOajCMZskqR8ORTpSv2FSbb96W+jNLrRHdDICcnrapUWppyq5I3qf7UZzmVtVWkP6abHwT6fYJH63srvcy26Kj1HYel7GvRokRqFjREiNJCpWiLIaB/meH+WUT9qlWkpYO1sGp6IEjDr1sKwWmZKwHd3/7Tgmxt2T9V6TEkz7v+vY6kSq6R5Pzj/ndKw7Fqx+GmD6ZENji5DJBKT7nqEwxswcCqX90KD4zkOHSKj0wPQe54UJE0roC2QOn+86Av0Ut2PJSTqYF8DI2o61JPUJHRmHPyEMKJwDFKmRH6fwAY3np8Jrda/6oiCR/4tk50+uBNaphvep7vmDu09SBO0O8052vrc3Sz4f5+SUI+viMx62bShlTRRqVP3v4pT7dUW4XTWxwRP7SXhOaxf4n2/2Lim/5ebpFAvD2V4029qBT3FZo8W0qo2IzjhDtB6JeQLxinL4FWQVMqwP/JXOkaXhsyEQGFBkQZLEWVt+rTb56urVnR7JADbHhgAxvYwAY2sPewfe6zzj/3EAY2sPeA5WnK+f4jLdnun8ThtcVe9RZL9Zm2GNP6b/uuxc3ttvuT/TwcmXgQ4HGk/GxJLszOPad+A6GpghJ7i9G+8tOOneiONHERVDcB3TxIAEGFkWaFg5qjKKl4UlsEWloSNi3v4f0qK63mw9Jin7dSaPWBq5snKp0P8P77Pk+fsAu8HO0+RXogSQFOz090kFKeOi2rqvn6YBSmpVOMLMu2Nbu9aeoEIp7IXvWPOcUyEmxPO5XpCNh2xVh6RCyZLE3IFEeh34Pyn57fAyp9XTzVhbEAH1KCxulhmBbQ62uHzs1AspCtzdK5TAlTVCKEpE+kSH/15yU5dYahB84T6aZkKNodl7Gu/2o3GzCCVr1aqTfb7VYTKrtCyMJCOuOLGTAID7xL7V4CK0nWTceh67Ewkono08CNHNjABjawgQ3sPWyf+6zxzz2Egf3j7B/Yjtj/To+C3ETJ/Fb9zLfrSv2wvf0+tyIeBG/12w/UaAHUvpBrv84gYX7F/TSAdAEvRF/IKkmO7xNMp1JVanvdm3SXSoKmK3Az+ZeKw25Lz6ok5z4EFoSuprDugPBrE8ryW0Bq3dYL9cR10X5LMmpwWrheWZvgLMCa3Nxa7OtdJ15TojybulBGf0QGuBN9pyJdlOtkCc0zG/jdruZkaDVhLK1WWw8FXIZAlyeIhCKXap4B8BLASQFXJYn86HoHGBz0yrQGLxDLYs1mCwq8ptah1Vu7ruu5rq4SSJ0KJbVya6/Xa9Wr1RrUpVfrIOFarbdgWKDOmrhLWnGVW46n6xi8DESfgAkDhG5BWlYfUxqaSymW9ZXF4DyYtuNYlu1lMq4ehQNTmDDUxkG31Wy1O+3q+tp6pVYpr65XarVKuVxtdYHpFLwkcG+gKMSybDcHTBJALKHLMDKeY+nTYtB+8kXi4gpNF6yrMOB7G3bqeuBYeUkdBte7F2G31QCaiEZ5eWl1s1JeXlqr1CrrK+u1NrBcdINIpnt3bdj70FAh43kwCM/1Mh5IAzNg7FXgjMHFBQUvoHCbuIeGdi6BaAG8Kk1+4WpSCUagZMTvNCqVerNVXb52bWVzAwgGKrXN1eVyvQduq5ZdM7hpe9lc1vOypdGRoWwmmy8WssBH4pgQ7acUqygAGbdIc/1KEWt+feCc9TzPy+SLxUI+D9pves40pQUwKPjtemV9baNS21i8dPHa6vrKtavLG7XK6nK5EYDfKhDhtuN52cJQqZDLFUcmxku5TCafz7mWaVoGkVEEDMogEtfxgWzCj4C2WBEOp8qBYplisTQ6OlIqDY+MDOvduyBVDCyerdrm2hKwS5avnzt97vrK8rVL19drjY3VciNKgsymO3AyBzawgQ1sYAN7D9vnPjv6zz2EgQ1sYAMb2MAG9p/NnnoLBpngY/2iiy0BKdQv29iGCLGMRRJlT3C+tJxA1yJs1Z4k1Qqkj2smIFCfSLW/V40wqiTFXmerp2JWaEfxirqphAdtVdikxTpbKeR4R156PwMj7aqPfuE0m3+n2pVOjt8usVJou0Rhq2jhrYjqVqnSDzEb7Tj+H/q6XziAt0Z807u3aX6TSGIf2+1T2W7jvfJHob4/EjTeHhHeFk1LtMBwes52ANM/dPQpFUqqupXkx8epzOBNA9EgbZKlsg0vbyWs9De5aR9pKs22/OMW502/eZr4ksLXFG9VcO3Q0tOpNKo/wlhraoEeImC2/fo3fc0mlDYaJU3SYIwUB0632FEeovof4D46vnWQ20B2+jYBnm8aMd0uWOjfIQmSnhYVwBAB2IRclATcTJJbgJMYUdPRhQUA0iXZQAAfc43YJSh8P51Hn5mEsQZoe+BwklSTHUfXDwHo9wmbLyU3207dtpTyJhles16rbm5s1prdUMitixMbdqYwVBouDRVynqvBb50eAxqiumUngfB9P9D4fVLhxriVIr+uk+bF3Jzbs6MKqf/80XOrowdJIs8AiRzYwAY2sIEN7D1sA0adgQ1sYAMbGFjOs4C6QMqEhxclHB2RYCZD2rVnnMSRZjM2WdwNkWHaPGpHZItmQknMkCQGjkJgIKGgUKxTkzTDRhwxhwmF4hgz0MtQYQRktgYWkYhBNFkKGUXUs+OeALYIw0CRQDLGpsVQ2AsVcz3SbUaUmY4ZtzqK2zaPm11sIGKBiDNmCFFQ5hGhJNxkKI5ixG2m4R1i0D5jNUYUx9LgKEYyVI6HAkFEgF0bSRmGiHNCURiBsrPDol6ILBNr1EMyxxBhqBBhDIWSYkkM2VW2IRCLOiprB11ioQAxwlAkGFOxMFisTBwIZhjKV0RFyjDi2CDdgNm2CiIZCwbdEBlGQBLt0J5vmGEbDdmVDVLKkLjdjC3PxEEPMRQRC3WFa4UBtVU7tDKGDGOkkJ2j3QAhyTKO6ApOYdKxxWWsVIysrBl2/QDnSpm4UfWRmc3YLNhsCLM4ZvWqPSxQJo+CoBfyjCUCxVAvMm0ZUuxLC7RIuBQSpN+J66mOsuImKmaJCpptVCzxsOFTEebHcbUZKWLn7bjXbvjuuIsMsb6ORotE0XitYo2WPN66soInJnNmuLqGGB5doOduGNzIFZzm0qYxO42rlTZ2uLKd7kbPyeXM6hrOWoyLVi8i42OtNWnLgBSHos2eafZa3lyusiJsJLM55jcjonA2QxubLI96OGO22rlcN7aDdTbndqQTXWtM7uagp4wtzhgNYyUQJpl8VK+GGYdkxoLza2y0lMtE16+IiemCEyyVzRyWPJ9FnUY9LExnULC2TkbHh+TSesCHZzPlNUQVLhSDzSayRu2ayERNw5KhcIbwZhXlWYdN20vr9oisS9cgHqq0uMkoYby3QYtEYD+2McatFs+ahgr8XmxmbRavVrKZAM2UbryOZlAluwuvrSAe42Khs1SWhfF8dHnNzsWdXL650ssOe0G10UEuje2hqFz3zXzerF8NJnJYVHyCWCzzXmsTG4LYFqo1Hd5jc/aFG8PDvnAMyrs30GzGQO1NPzuSF01ktCPLRCRr9Ooht1y3K/Ir54eO5YJawyAtNTKKKwGTAc5PmourmSLy+ai6HgzbwnZ6XRn73myxXWuGGdt0OfLbETMdK7Iy68vOkMeEtM2lzaFCpoA2akHD3TcsxdVLxvhMHlcWy2RmL1uuolY0PYSMeDnCtfjInZvfvDYzy9B4cLZs7hrurqvRcJHu9db8bLRRnO2W0RBbbkzMbpybuKV+kh62V1ul4uZZ90SpvoZ5LcgVDTd75bwzb9V4iVeus1lSIV6Gr5ZHJtsbzgTp9VblnLdGb8FvXsvt4xV3Wp5a3D0cmgW5HJO62jffvH6jPrWrlK1crzXQwUOdqz3SDndNrLSn3RtrE1Pd7qh/ZXis1St4DHV6dr7HxhsXhxY6ZcRG0Bl0JLNh25s3+CxXWbJYtT1i2UZvdbN4S1BBvYjzhnUwXOr4yBrPqJiKNyt3T21Ojp75Gv3l7LP0WPV1bpp7spXFoEDl2MTpN08cP/Xs6CTfpa5GfJEci59hn6DfKU+b1lj7NJsRYlf3+eye7rWJPdbKZX/WvDh2BL/iF52wnLtn4oXH2UPTxLr0PXliyvLOnR4pbNpz8krrrvE3b9SG9mLFGn4GRW3JZ3PRyjO5QznDLK9kjJY5FsRmXq6v14+fWNvYvf6XnY/PbxTMF7+78Jg6493+4slbp9Wk/+eNj4xuUufGc+7eGR7Kf2ifOBr+gM4Hq3O3vfT9j3zgi48/evzM5ZmRbuNGe+/Ym407jpx9bs2+O9sxgzdbM8UIhZs0O917ozcmr+36YPnPmw+ZbxQP02uL5qRcJhPFpfY42jjVuu3h+pd6R/lGsfbkxE82ru2Nnjo3df+u1Yg/u3j37VXB3giOO1frRdeTV+OSXSWl+MbKrfdeuZTtLo3f77yyNDG9KScXu3N4Y5d8DZdQvC/+29V79/ei7kU0TGLpmKXNa4fGTpUXOk/NfzR3/crp2t4DB703T1nTV698+PblMPfmN3N3HD4cf/u1TjR/+167+sbFGh459ID55AtdHoRHHxr6wdMXVu/8+fEr3QtLYeZ9D8tvnKlFDz4QbjZOLx671UDhxkq8a8qXGXnDd61d9Go0PXH+5Nhx5d8+/Edfuv0zQ+esW5p/++Lxn929fKa8XpyqouNDF/D6172fGa5n+ROXbyucWvvZO1+poB9cuOf2jsCV1nJ74Uhww51pX2qPHSSr4+NnXss+WHq9MtfcPJ5fdEorG+NBr5j3CO/U6sju7Hnk5T8bfxhdLRQaFeNw/tXXya17Y7xStRrlPR8snl7P7O58k90x0SqVrl+nxzIXKocL64F53H6ieedkRc3QF3p3RzcmxzbqE6i570Tvi6sPD5+NH3ReYQf5GzdyY2MhfzT8X6u/Iv7h0Z/5xtezhdLd3ndeKRworMqFjVPt/bdWz0dyjT702LOfr07u2r9fPPHNwkPjYan07ZN5Z3KX1xGLL01OXbXHOG10zd6L7ENTSwGpX+x4hVsy1ZXKjfru42h1/UZj/8S5aHoovHTZ2++stYbMC+ulbGmXeu7MUJj9KPn38fuvnLznxEuvlab8SqZ1obQglrzMC/U7p85sFBv1kkudCzem58aqT5kHVir795+qjCuxYs8Vrq3OU2H4z7z0gV9d/QvvyPXH5z/RuyA6tYVwdX7X0iKt1RaOtS81cnbZ98b2bNSsgA9nbnRE7rj3qp8/493dflbeP/rc1Wn7rH3bNLlyvl6y5nefl/azZxd+rnB2qXOl8eD7GmeNW7rf3rB/7MHe05npk5dO7KmM8+hqo0w+etvi0wJ11b7W9eMLiyeHahdK71dnR5uvFB64eHqyVLmsRo/Fj4ufK31h+R5v4+ier37+/t9e+Rbdu/F45RceuXzOvPLirmOoeOD8s7MTlWzdepSePM2KR6eWXq9OD1O8i//t393/KC3M//XXH5yrDZ149qvkkZ/Ej6+Me7uPVr7DDqF6adRBbHTx6dnjRdLEl6/v/yn1l0Y2KrY3Oq4z7373hZmRENXzlWeiY8M4c/mJi4Xb9uHh5hPPx/PjuaH58891zPzBEVG7oSrOnMy/7/IX0D2btV8/8X9+6/ahZ5vzBw54r/z7H+z95B3h6y+dHp4t9Kr1iu+emHr173InxF/K35r/0+8eHXGdc4s55o1vfnnxQ3f0LsTNv1z77IeefW1suvomsmb2qSvfXj/w4UNXn1+V3fxCN94Xbsj1k+LTj66+9Myb3sfv6GD05L9W/+Lo6aH7z/zODz72L9TJoewTp04crsV3bn51+shytLu+vnAgvrZaDiZvH9/YDEyvww5On7s03FkdOXiL9dQLR46vhycmX7te3Js1ilHZuo8/szk+OTySD1vhRufgAUGi7hBfsxfMlixNmhto/0h9hR/e65piQ+yZoxhtGu+72zy/5oyN5Yqe7S9X0dh4vTo70q611uqT+/iVsuMKnmFoc6memxnZPXXlB3LB4MdOoBsVMj49O+4KwUsTcyMmYYWhXTM2yeWoMz42tme0uyF4cWaKRaZjR/VA1uoky4XollcunQmHs2Gtcn25C6s3FjQwU1axkC85hp0dnh31vLH5vbPFTG5obGJ0eHhyeihfyqPInBh345YfMQcHvcrqRrXui/by5XPXEEKgFZfHd9E/ZV+zf9P7H7JzU6X/av6nP3Jw/4T9DvVv6VvaD//K/KfeTfu37n/3u9x/v33JOZHZzM5NocPzd5yYGBl7p+3/DHHdx+/S32X3Or/p/UR2bmr0V+c/8cih/4e9O4+P6rwPhf+cfZmzzb5qNBodjUajBSGEEEIGATLGgG3sYIcQkuDGN8VNmtLEuZ06ceLrurWbOql745s6b9NemhsHbuImJHFSp3FiYoPBCzZmFZsktEuz78vZ7jsjGQu1sWakvm/f9i1/mI+Fvuf3bOc55zzPc57jd1dTBvO9reQDlfuF8e3l+D7PUr1jmfHXLdMDpyh6TQahUi8Aeu4YR8rHqOc9LvNd4o5N7X5LdXXwvjdV6Zcb//9r3rVMb1mmJ5fr9aLFYaOX7EGVPlj65hB4BrRDUaKXDrAd/D57q4fvWL2ixUbjB/8g+JfB4GN/EPzA7zAjC/z2NaZNW9b3+AxkZb4U3w8x5N45D5r03es6V3r5CuP/otyfL8hDPb+6u6PVzS41D7eYtmzb1OuvJg/z/cYW/br13asqzsNCDyxMoNUv2mi0Mh8BHIDAQdAOnSCDtIcN8rudphVCX0D0OASysu9pI8v0/1J8v9e9ZG9sF/r8Pq9ryfE7hE0ty/HtQl9gGd68zPjmbmFLe8DnWaq3+IUe0eOyLNWTpfyL3iXX33K9YZnetEwPqvQ8wAAEjoA+aC/STTFsL/+0g/84+cDWlpZugf7xI58KBoM/fuQLi5yDN3uySr8wPrFMr1+mB1X6H5XvS4+A3ZDnxjGwz6IHtrbNHuOz5WM8smga5vuOjch9a+rrmhmiMo8s9MuM3/dh5JN9/saVHLk0j7fDt69w14g0vjQPmuEtrS5nfaVeAsw/Owb3cXR/n+htq7QMFpYhUaVfGJ/4PfSzWwL+ziX7ZcbfskyPLzf/y/Tr/43jL9evXaYHVXp87vmYhE8Tx6g8c5X3uAxbxfWd7T43XcWz2XL8wvjGZXp8mZ7pFjva2sWKxxgWelClB0AHIPAimILGiIcohn2Bf9Rl39BwZ2eL6BKYX3z6L4PB4C8+fWiRfuhm76jSLzf+Qr/c+Mv1zmV68zK9dQn+IDRGiHNeaGpob/G7HUv1hmV6UKVnAAEgcBKkoSPoi7rn2YN82sGUfwMFAFT6XPYi2AkfJr5NeWbz0Onb0tvd4qXJX3zhK6U0fOEri+Zhvjf+G3vTMj23ZL93tg6tPr/HY+Iq9aA8TvciIMvH+Ayzs3QedPr6Ozp9XoGp7BjIAm+p0i+Mb12mty3T25fpXcv0tcv0yy3/peWfId/zwOfr8gdcjkr9G+VroQA9DZ9DnqJ3z4713i/e0+EVbVwV9yPL8cuN/6/tzf/G8S3L9P4l+7Gyp24VNwVcbtdSPb1MD6r0g+XnyuXV4X+0Nvyf58D/v84BMPdcOQz34Tvp58tzt8Y7xK139m/qqWbObzl+YXzzMr1lmV5YLfau72rzL9WDKj0DqH+ehzvFbXf293UvtQ48VfqF8e0lv2Xpvn6Z8V1rxN6+7s6WasYG5vvaLrG3r6u9qjp8Etn/fvp50eRgOByAKs5D5Lv4A3OeYUWYBDBZjT8yvw1xIkmTKFypB3P3Y/PLwFGug01LbkP2Kv3C+M5l+mrTv9Cbluldy/S1yzwHHN3i+r6ejsBSfV3Jd3e0LLkPKPVj3e1Ljg/K52Dl6V9dnjd/GhyBPIiJfoYpzXk5P+y5ddfqlS4T9dyX/yoYDD73+ccWea692Tuq9AvjL9eDKv3j5evxf6wyWK6vNv/LrQMGYv/ZMQzLrAPjMvPwb+1N/w7jH4YYBNCPMg+U1h7c69l0T0ebQ8Ar9wehPBwuj4/4nJYPefp2tvttQhXxn4XG4AFqN+PnWafjLs/6HS1+E7cEv5NnnTW3e3q2tfhNzJLi+5z1t3q6twZEQzX+SWgMPjYXH2zwdG7xiwa6Qv+J8tqDt8Cz0PPkWzqZvcoDp6Wn976OzjY/DZ7o3RMMBlufeHCRc+hmb6vSz49/8n3vq95PlePblxG/5EGV/sXyc8G/VhlOLbsMry6rDGfrYGll+Owy/fvpd67q3dnS5vcu2S+zDdLLKL8bbaijpWK/CuLKxzgMnSPTOoGLL7ENveeX2oZKfngZbejgvDJYThtYahuaTb/InVxiGzoIHS3n/+QS29Cj0AHyad1R9mCpDd2ylPI7eqP8TCt772xp8buXWn61K3vvDAR8nqV6sa13m7/F5yaX6NmSX9I5PFX21pberX6/uIT8z3oQ6N3iC3grTv+9c+M7+5EBFNBpnch5XPgmcVtPwOeq5tl8vmf7xR09/sr9vxjfLy7Zs5vFbb1VpP9972LK8W8Tt/W3VBc/OD/+xuWlnyjn31vV+y3PIkHsCLWbOcd6XOZucf22rraq3g15FrmKdVNjTHfp2dgqii0Wh6FSPzw3vnMA+TbaS5Pl9zssW8VNW6psQ/M9v03sr8YvjO8vxW9ZurdXmf5Zb8J20i/Nvl+zSuzdJIpV1WEfEseOUf3MkdI4tVds6/W5l+dFd1Xpn+/pJcQ/CfcTfvolBvAel9UoWly2pXt72XuqWj8134Oyd1Uc/7333LYiA+hD5ecSj8vyuPiZPS0BQ6XjnLP9oAnbQT3DHOM8rv5Pi/v2+AKOasZZtyJXsX3US4yH9bic7WL3jhabUI0fhr+LP0Tly/FBvdjW5bPQlfoNc+fxbuQhdIBqZ57kPC7qbnFbX3tLVe+5LfA7etsq9/9C/B29bdX1ZbP+M7P+HnHH+val+GfK5zF1r3jnUr1wI/2BJfjT88tvCd7DlrzxdnFrd0ugqvL3IDvQAerArL9V3NTrre5aNgxPIe/VX22v2NPSFliyBz1iTyDgr9j/Zxv+zzb8770NH51b+zG/DXHLbMOWZbZh8zLbsGmZbdi8zDZsWmYbNi+zDVuW2Yb5ZbZhcpltmKyyDZd8vuyPltMPOsQu0WOq+JmCmHsuPQB/hnicFbkWwePS94i9XQ7RV9UzxTwv9IrruxyiWNU9/T+L712mX3p8Y9l7qvTHqCl2R9kTvIjbcK7iOljoOb3IOEDldbjQ63kRd+Am01I94EXSQVYen55rQ4/Cu4luKs88UFoDtlu8p7fL762mDc33ljvEHR1tlfuF8S3bxG2dgUBVvvReyL45b+0Tuzvaqtv3QYAZ8r341nViZ2eb6Klm7cpRyEN2U4cZE+9xOTpEf8DvqaofOAqV8v+Z8nOls0n0OnzVPdfthDtJE/0sW0o/bRFNNoen4n0jFnpQ9t7K2xAkzI7PwC/iAvVSeR2bcYXY0VFFX4os9O1iR0dHS3XjQ/N9j9jT09Fe1bXkP5LHl+mZf+f5Ny/TW5bknyev0nvZkhccosvrdVd1Ds/3hmV64zI9qNL/8dw61KPwFBKmDrCo4HGZPire0yL6Kr4Wl/dAgrvR97zQL65vd7urqoP53rBZXN/mqm5870n46I30G28V17d7vdXt3zPPty/TA58YsHk8FXswt//PAXgKeYo+UK5H/W3iFofLW90Y83zfL/Y73JX7hfHr+sV+VxXx/1n6S96zPO9wV/dMcJPfJm51u8Wq6rB0DrToDpf7Eet6sd/mMFS1/87T8BTy4pxnPaCXc9O2asY358cXXaCbcxsslfsXgA06DL+lK63bKe1BBdp9JsZUqccBOdeOzyFf0h1g+0rn8UfFrZt81e2Fthy/3Pj/Wj6tk8se3yr2dXnE6vYhm+dty/TcEvyReR54RNFtcVR8LSDn2kA7/CzSp3uGSQsel/l/ib/X1+Kpap7ABh9Anta9xLxYysM3xH3V+Nl7+gPId3VjzJdK/glxT5+vWr8X+a7uJWa/4HGR/028b73XxVXj81DJn2Z2CR4X/6h4X7dYXfwpqLOcfpvgcXk+L97Z4bJVFf8gxCA23eHyeey/RWzxcxxT1Xp2iEH2UTZdeS1wo+jy2EwVxyfmxucEuBP5ks7D9vIel/sPxB2dLldVbWC+t1XpF8Y3/Dv0AGbe93eLvT5HdW0gDuXh/Tpm1m8WO11C5XVY8gPQaRjVbWVLc32mjWK7y2Cpaq7tRWgMvkp7yuvJuR4x4DUZqop/GDoN23S7y+NrRKvo9proqtrwQegluEX3oq48PhgQ3RaOrMKnwT6oH+6l+8oe2EXaZKv8HNpYXkNZmnMlCT/9LNsifLp0T7mtv73FR6GVnwM3+T5xS39bQKzUL4xvKvmOgLc63172u4RPu4g+ccumjo7AUj2o0tfNjU91I0fQMDXbFxLbxTv7qtxXtB35NjpAvcSU7qstd1TnS/FtyJPoMeql8pw3uVO8c1NbtX52nHxnyd+zFP8kCug8c7I0vlR1/ClwFO5Gd9Ln2O8KR5z0jrpNe3s6/DryF3/7RDAYfOXBPyj96lrwW9dPTYGDsIgG6aNsn3DEaWqta9/qc1uq8UFYRmy6rex+4YjTYKhziByDAlC5f7Z8T/s82yIccQKmjhPQ0n4XlXlQ3jPj82A/cgQtrSf/KbfPafyv9Z/5SGeLA4BDf/ZYMBg8HlxsP8f3/GFmJ7/Pyf5R/Wc+0t1RsX8//hizS9jnNP28/qv7+zpN1fhHET9W8p/R73Oa/r7+q59bgjfRHnZY2Od0fbf+y092dTPV+APIC9g+ai9L6vc5rX9R/+Uv97fZqvEA2YWfIz0sKuxzgj+uD35qS+UeK9ehAJ2G9pItuim21A8Ia8X2loDfg1bRl873/FqxPdBSuV8Y37JWbPcHAkv2+i6xze/3O6rx+XneWCe6An6fa6kes4uC3xdYcnxQJ7r8frHi+MTc9XAKbsFL7bg8xrJd3Lmlo/I5R2Sh/4i4+87OtqrmCuZ70zZx56b26uYa5ntio7itL1Dd+MKsL/Vl5XeN+3pafBX35eTc9XA3/CixjzrAlu7tDbeIvZ0dlc93zD5bve+NW8W+9pbqxqna4fz7fpe4tbvDX9XzZWkPpxv+I+KWtiraQPl6CHtIcc6bNojdvirjC3An+V58sk50e8Xq1uHthqdueN4kGjiTraoxnvmeWaYHVfqeubHa/fDUjTEO4/2le6LK37dGFnhTlX62Dmd9+Z7uY+KOgC9Q8bx1ee4ffhzpm4tPbBXXi15fVefxfI9tFdd7q/T74a038g+6xZZAFWO95rk6OAAfLY81lud+PyXu7O1oaaturHahb+uobt70fc98QdztbfFXNXe+H37+hje3iy0tYuXj1Qs9s0wPqvSz+3x/A1igKPFPlJ79Gne3o7WJXt/Z3lnDkIf+yxeDweChPYvdF97st2zndt22cUujQFfmF8bfcguzY0PPhnqeWpoHbrKrtanVTuOV+dZyGTwMnoRewB4nx5gs9wlna5Oha3NjoEbAv/+nX3n4S48e/5PF9iK72d+/1bZ1d+can5mszM/GD2IH5vzt6839d61orjcSlftnobuwb8150GjtWtvgteoqTP9z5TKwld4WRY9RB1g//y1Xa7tr7Ya2BheNX/xqaV++yHPPLVIGN/veD/l2fKi3vYElK/Oz8U3YDX+7uPWutW31LFGN99/wwO9Yva7Z66CwyvyPymXwONgMxbG95Bizj3vA3tpk2OCvb/BSzKEHS89Zhw48sUgZ3Oy3bLLsXNXS3sIIlfn34h+Y87095u3tTa1NOn5pHlSZ/jPl+9PHS6NmWOd7ZRDg1/u95WPsKR/jicXLYL7vvdX0XhlU5BfG37LeuGNloFwGFXsbZMO3zvn6purSv9ADketp8NR7SF1lvrV8XTsNDsDnkF76JWYv92Fn61pH92a/WEdhh77xjdIxvr5YGd7st+8Xd+zpam9hiMo8BJ4FAvwCdpT0sCe4vY5b72j6UP/a1QGe/F9/9O0/L/m/XdTvhqLEA/Tj5W8nuNc572xv7yx9+2HvN/4mGHzsE99Y1O+E3GScHmd/xpsc7ju9H+5e3dUgkN/5xP/8H5X5rdBd5Jd0t3HdwkkH8Dl7/PUeJ0M898kffD0YfOyTH+xD5XZMQiTSi4UpD/sy1+dsXe3dtLW5uRbFDz3xXLkeF+vPbvY7f7d97wO9vS04WZkvfZt0EP7vmEy1sL/i7nNu2du2+xO9Pc0EeeixwxX5b4NPQs+ST9HPst8rvavU7Fmzsqe1jiYP7Xk1GAw+HFysDZT8D8mD9F6WLt0ju1wtrU0+N0nOtuOHFxlvKJbL8GEQh556/7ros3f1NjS6+Cqui/P99m3ijl1VXRcfAZehC9jLZJjJcTucvVtrd9yzem3J/7evPPylryzunwU66AB5ju5kAX/QscWP9q1t63Gx+KFPBkt1cP9i9xY3e+BF1q1u7nIwFXp/eczGBk3BT924Lvk76jZsaPfVVHNdne/rP9Kya1ffqkau4utqBhyB92MH34t/d9Ndd61e6av8uvwq6IYfxvqpA6yb/5Cz4/a6HRvbVvtY4vXHvvHHf/yVxf3T4B+gp7Apcg1r4llH7xrzrSt9jR6GeOmLf/3ww09EnvvrRe/v+iAT5qX8LM8/aK9voG9pc9kNDPGz3//zL37xL34ZXOwbFDd7UEN1Ndktgg6vzM/eF5wGT8M2/EnKwg5we52tPveatW0eK40dfuJvg8Hgya8sVoc3+y23+Lbc3tNUw+KVeQi8AZ6EAf4UhbLHuL3O3o76DZtXNThZ/PCT31qCB05n28oGq55CK/O/KF/T/gkcgXfhO+mj7AP8QWdHU2PXpkCdkwcvfPOR0jHm+pO/+a1lsMBvaN90d6e/zlChL8U/OM+3rgh0bm8Va4SK/UvAC6/Fuugi8zZ33Nlqb2gIuO1mGn7hjx6e53/0W/1R8AQ0iJhonDFzaaff6K9x6M0Cjr1w9x8Fg8EH5+4LKvWA9do4zsBhaGU+U66DMeCHH0WCNMnw3ICz45aa3ttrvCYae+HAo/OO8dvb4c3ef6/3tvu8fpsOr8wvjN+63bP5bo/PusD3/vY6uAjGoQ8hX6HHmF7+iLOjrWnVBrvdQGPf3fdf58X/7f4UeBHqRB6n8wwqPOPsNTe73SaWpdBv3Xugojq42QOhweHQ63QkUpmfff8zDZ6FBTROP8M0cfucrSvNnf0ep1OHHfr6ExXd293sd/6+e9v+jrY2nqjMl+I/CYs3/J57a27bu6KlhavSl9ZF7OD2OcEGx4YdgcZGFq/Mv1aaPtZUWZIUAEEwDANFymcSkVA4HIlE4qlsJhENh8KRWLqoqACjaVQt5uJTo6NjoxOheDqTiOcAjmu5xOTQRCyZymmkDsdw2uJb2btly6aNGzf2rVvps6Lpqctvv3Hi2LHjx068+c75a2PTkVg0mswBzuGua2hoDDQ1r1jRtqJZrK1xuhvbu3t7um+57e6PPfi54CNffOgP//D3f3f/g5+6f8/dd27vbfF57EY8Gxq9HioAoBSKKqITBFwuqDCsSYXkxIXXj588efKdi8OTkzNZTc4mQqOXzl5NwqSOY6DU6MCZEz//wfM/+cdfvPTq6SuDly+cO/Pu+cvXIwUVoJzFpEOgYmjwyuD1sZlEToMQ1lnvdehZtJAtFPIFFaUInGKMzhqXy2kxGPQsiYBiYmYmEg5FoqHRK1enCihncTc01JauSDoda7TVNdY77QZMVQGQMonQ+GQ4FovFwlMzSQnABKHlc8nRt3792qWpHAQr6STlb6CyoaGBq1PpxNCQxBFACQ1cDhcLWZU22sV1W1bVemr1CGJpaffV1LoFNZ2OjVyekEjO5KoxwJlQKC0hpvo6s7VllTmTyc7EIE5PyoQnUG9lMC2TTMfDiWxOowQTz1hsJISTOkqRcB3Hszaf22A2k8W0jFEmtxFnHTVGnBDMdau6m620zlRbo5PSBUonSTRZlFiXRcfbeKAhKG3gSRhhWL7eUwhBuARYXJJ1tR6etxlwTYEhCTGaGQgxOnk1cu3yTCaRh/NhtLUn4PE3i/VNNfLIWCTDeGt0hXBCLiRmxkJZ4OpqNeK0zSJNRmSd1WnGChBvtnH5hERaHRxNFAp6B5iKwiAtsQLIkTVmAOngyXeHUAMCTDUU1raeDal6nSoxBjmBGrBkhneyKIETBjsjKbweZ51MPG3z0aFpmYZlDAe0XrCZgYzqjIxmaPPX+eusTjY1HUnkkglKrENCI+dePTWeUhEN9922o5m1r2hkqYZm7VrK6dPeOltIj2RNNl5nD9RDM1mQKZCZa3mvD5mU68k3r3ktJ07U7TAnarb38CosX3kjYWezVEt7ndOGR8ezxMyv30qmpgokgtq8Dl0xEsrqa6l8EXG31jjsIJ6MZeRkOIdb3EY5JWdHB4evXZuUzWYti9kc8uBUPhIClJZFAre24oWipqaz2Ytva811UlgCkRmlcO7nb6vKcJi3sQCYhGjMUZsdkRtWIGHeFr2WBjMn3lVALEt5apW0OnPx0gwl4LUr61yG7OTwUHzqjVdPj+Mut50HEkYn3nw9XVvL8HqooMRe/6cRgqDJQjo0VsyefefyFE7LIB8BSL4YHS8yHMsJBIQkJwtqbHJ4Iq8gHBgdmMyrSmJsbCKG87krUzSVkvUW+HqYl6fZWl0xZ263RK+NRcdmWOTyCOYRixenJs9NSyPvhOrXsGHVxMuxeCrHetloEjdZtSuXY9lUNheZiAOKzEcQ4uKvLk1P53KTcQ022xmzXZmZyRA6g7MwSKzoqh0+NjEzHL/yq5NDqBebKQBAajNDgxPTUcDxpvqOVouOzE1GU6PvnhnHHJyUjs+MXbsycDlcKCJ6ey0XHZ8avp6EBU7fvtaMkoXRi5dSBKRBuZk4ZoSvvBnSKaMxxoKlYG7ixJXxi5dmuNU+OW+sM6QGr5x/c0hLnR0WOju4Am7WJa4NvPrjM8X4xUF+bXsNn5hMRKYvHB011G+8Taxxk9lT3/nhq28NheDaGl+nPhZT0Qvf/qXMWFvbTfFMw2rsneMXLlyYzhdTWfd6HxgbSPO0OnU5JhVYcmyCbWvWBiMYMXXiQmQ0ZvPi46mmhsGXRkg0FpFpnqnrIAfHM2rk2KnIeFy9OmZr7+8uhlCS1946/s6bMTM8kzL3BLKj4VRqfDiRmsmhJMciMMgBSpFAaBTCwmMTCQyRlPiMoubVTAzSO1w8yKdyUiEzMggMSD4jgWQkHx8dnykoM0mGIxGg1xdVQgP5aQmkAa6A+Dhbi6laPjMWMaFX4zZRd/4Co52Z0IrppHWjebBgJ0bfHYtdGiUEBoYDaw1qcWLg7csQEiVXtjLxcDwydf3yhXfjKzZYSukYPB9JToSZVh+ucKb8ubOjk2HNaCNR96oGPDI2eHZgKjQ+qbmdStHi1U6/Mzk+mkRNOql2Y42qs+gTbw1lR4YlGAZFXA/FIvHJ80MqBWVjWI2AEfHhqExz6TDhbGxAU7lMPj96+dpIXjAzqCHgpYrTw9cvX55JZSTU2WRSICw9OCRTySnMQikKTU+dz6CRkbiMkxoAOQkCysSgsKqG02kAJCYuvHE1W8wjBpvLqk5cHwlpeqYA1zhoXM2HhhRD+EqBqV9p1iCEYaOnXnljEkY00tXUVEtHL5wamIim0zldjYNRZKw4FY5cH0pY21wUgYHkeCg6FUqjRhrlSCk8mgQKIHgrlpPDw5lColhUDE5vm4iGrp09N6UASTGuXO0mC1MX3zo7Nj6Yrt/QrocgNXLtyvB0WuNsOgXm9FRmPFSAQHIibXDpGVQhwfD5UyejPCMYda42tzY5o+SmIknFaOI4BDUhSTmvOZgMQDGboKSnC0YsFRpTmXQ8F8dMGEvEmAaBBlGgjBaoopSJ66hwHo1PZlEwPZpVFUwHZzNATSdSuQIwuVmItVkoWYXS07FkPBFPKkpOhVS1WATgfsYOcIKGUAhAAORzkgJUDScRFJcVoCKqXFpiA6kFDSeBimmAQCRZRkgA8gCiyXyG1CGyTDBaVgIoouWLKANSMsFKcQWHYa0I6QGQiwwN1CKJw0CTYVUyCKlEhqI0WSkgpJbLI3RmBjcYpUmE4WAV12ShVL8AAA2oGJFS1QyZR/FcDBNArsCCOGIqLeZBCjCjSACxSlMZQw0dywKV1MFKVtKKCoakc4AXImOamVNUjWUxKKfyxlxSgTWCROFwKI+xgIIQSQYIpMGkGoOt5AxFpgEFJBK5XmBoOAxYlFBiujo4IWtGKCsgci4B+DxkTkwAUi+lZhgrmCo6WCgzBbx10QlTTSyhqDgEKwlgx7ODyRZbelKmOSiNZoEpm6XsbHp4rFZkJoYsNYmriIefHMe4pEzoDJ6pYazGV7iuFVHisq4Rws8O2YwqVcBssSGNoyGvMprTOdR4wWgZB1rSQynhOF3ULKapKxqlNwh4mo1fc2r5ekGbmUhnbGrGysuxPAbq4bGcwxDJ18ljacYogOhMxmGNJTK8Y2bE1IyNRiQSqHpTHCLSuXHQUiOPCLbx8zY7WRwGJpBgrQDLRfJ2h3S+0IK/GXc30uOREU9zbBy1IPlziYCzANgURZyLd9QoeS2fUaI8odVQhdELcic8jTahr01vcA6PJIW10vkrhtvkNy1CLGLijVCuKNDRCypp69APnZi0ZNOUE9DWobNqrdK4hjj2Rl2dCN6JNjjA2VHU6CBGLxl1LHsmuyJ+he/iY1DsDe+9kxMoC11M2l0WOQ/OXGoUa1D56stXmrqYhvQLYWPBsQLJFuOkYmTCZnAuuwVcIuTkVJ0JtqJXL2ZhgxDwv/mTd11370BGUsMjcVRc2ZR8+dfZVW5BGqfjw0ijK20zzAylaLNTSRWngYHRadjUSNZNUXRkPF7nnA7LJkaWmrJJksLg2LDgs9OnfqX5dPpbyHPT0WvTTT1KhCzOhKMGsU5/4rSp1VTHvvk66hRrs8cHGl3T6ca14OhApKbNZMSjJweAyvob8lczqQvhpn5bOp2moVSOaxcuxqydwquvC7XRRM3tNW//6fG6dhFbw/zjL8ZZS+tqy/gLxwtr7tpAMRP//Zhz5x+uOv7zU1g7lEPwiag2LXXTL8uW4avamg83XP/1P+rXNbgQdWYmmqhrx2bisShsAjRvGZhskCaBTTEbI9H0VKKtfrpox6+cQjqd/MXLqoLX9K2KvPxautWV0AzYYKGjJlNIDqoo01M/Of2DFy1dd3RevBw7PqVv2tkvv/K9HwU+dVsiAmmhF0abbtdHktPjUgPO12DnxouYy+xHryVT1yf1rQSMx9nCjEoYJQKhnODcsFzfND08cN3WlkPMgGQjCY8+HLataVN/M9GIXJiO1q0Cl6OF4VPmjthMR92vIlazMHFSuKPRRBrGT8GGdOAe5N3YuXfUdStA8e03rhRMKqAJWMCnLmUbm2rNRDQbGvHc1pi+eiFu99vrwOCZX111bOgGF0ZTiTygqelxLmAAsRyIJnUbvdE0wCdm2toTYQc/nWb12nhI1uA8zmGp2Mz1MC1iJkcuSqfy1jV8JjM0Qq4wXJ4i9E7lYkbJ1XV4828l87gZZOOY0Xr5IusgoOilhGUrM5PK5gxbhSJy6pxxjXvk+Gl9l3ZlDFKuF2odtdTQaWOniCM0IjlFnaTC2Zmcpte9+85kaAppIn7zWkiybO7LZ6YvZtbu++yWoX94pygw7bdbrl/98U+Sq9qE2Dvfe5X1+Ztbh//+esCaYVoaWWl0Eth9Tghko7BOkFOQnbl8HrGbDMmLY0Q9FxsrcmAkbhOQnDR1EV7b04KdeXm6dbUetZrCb8cEBjO4QGjmQsJgR4ZppkjkTkfcjY7kwGjByRd5g0J4uWhIwvWudJFS5Gw4TNAkJNMGDjl3Ud9kkEIxmCM0mYLzA4ON3QQAI4PDM6ivERuJGvXuZqaQQjigN7ltY8cuhbKkg4glk1MjlzU/G8ICQh6BZxC728zxUCyK2lgtmrCYw+E8IAuZouBQJwamWZBGGYQ08alQinZ7jIXp0SRudeeScrwYz1sCfCTBGTEFQen0NC8XagU5H5q8lvL4UmHBA4YuRt0iG52UgCroHc7wpeugwa+HMenKIG4z2RJXY3zzCgOeGgtN5M0uRh55czhDCBZ9ceKdC/SKWtrNJfM6iqjz12Svns/VewzxqBJLKhQpyXIiGUKcAdv0a+eQQKNp4sJ0jmB1QCLJFBAE2oFEaEa3ossWu/LONV2dFWQHB4ZSOciiTw6MaoxVx7BaHtbpzXonEdJxqqYqaCwJ8ijDKYNjpN0Ix+KYJplZPTE5MJyuqXNxkxfHZYSsbYEGYpC7BkKstkKEs6vh4RHYxU9GeKwgJ4FS0HIZfS0ITzAOpSDBRhPLEdMSmVMFBi+m8exYsdYuIPFzA7DLYKTD13MKYjUiOYBClIvMhMemixDpFGauZUHB3eXQ5FxS4201Di537WzO4qSS0xMjBVktxnIAqBBis0oJGCbsJEliJKc34QieAiY0f32K4qMzqpKbGhmMuDqt+fHxaIq2NzTYo+Mq7TAhCC4DOp/TGBMGMdj0JMLQWCpZCI9dizAYgMOjmBEHtJ3FKIrWGzxmmDVghZEohFBYbDStXL+agGkgKQVYZ6BoOQ/TFiZTwAQjQIxKEmYkmTEgSnpyTOZwoE1mQT4PwxgJioks4661cnAxIttqWE0uJqZiqJwvaiCXVCCExGWUU8cVd+lNHoTCwiEZYvVIKhRLa0YeQhAUIzCoAHRaMVvEi0VYy8RyclEm9HpcQzisIBvsBASpGSAVVAznQS6XyiAAoTFcBrAULerhVFwrRrMqSpEAw1BWb6kxYJqiKpkiwnIglopNxLKM1YwpUjRWBDSv1+LhWDZPOhgQztBGhsVRnlYgzswWkhCpZKQsIFCQm74ehjkkTZKFbDKNCSa8WChCPKujcUwHEBJncRXICIOmc+lQrJCRlPL9kU4gYcYI4qEIrDdq0TwBZTUCsHqSAhhFkJQJTIwWGRhR4+MTGU2GLS6mkJE0CtfrSQQDxVyxECroCK0oyTq9WszlJFgQmxhZA9LMBGAYWsuEUplkAUYQCebQQkYleYGjSUwrJLKInpBVBmTTOZjiGRRkY1lAm5BEAmWKBQAKcrao4ToW5NKpvM7pxKVEkSYohqRJAMmZfB6CMaDKGkTkJmcKBMOiUhHXonHYbqMwOSvDcDFP6DCCArgUg1iGpyEZAAoqwmo6mU5ltEI8llBl1MLCFCsDimaMBkqTAQYADkuZnKbKBUlLJwEB0SZMKaRLpUVqEpTKpRMQ0HBUUYspGEcIgjYKmAbDKCrTNhQCiVwhA8r/mkgXQG4qieAIiUAEjLvq6mqQrAQATFJwIZlOhBNSsQgyeVgrtTcgKxgtUCTPkiANBEFHaDkpl9W0fDpWIDE5nlLVZEQVrBYeFPISprc5GD0NpEJBhjEYFKOJTC6XSJM8pClFUFQRAHCEFkitkAQ8zxkZVoemEhmVBxm5CEHZWDQpARTHioqKI1pBowjWZqRAJpcFKIUTKAw0UCiokI7U5EIqVVAxhsLUbCilQgiE4hgBFADAdagOkChBmFpolCrKucj1y5HJUDYBKJYGHAcj2XhsauLK8PhIKBLO5nOZdC4Rnh66dPXyu++cuTA4EYqkJKBpsqwoxSLAac5o8/qamju6u9asveWuHbdv37xx3QqPwOtwDNWZXaK7rt5uZpTM9NXzJ48fPfra0ePnLg5NhmPhRHhw+PLFc2+feuv0tSujk0kFwLPfzYQATOKsYLI5nXanjUTVyWs/ObKuqXX33b/zuUd2opapi+f/7vuv5Qyg5d6PPvLpe3ubGxKD544NXx+MIQYEE4yOGkHVOBzOjCQzcm4slM0WI5NjY6FLl8+fujYwGJpJhsKhkcnzb51++9Sbp969FMoUAM1YXDZOz3MmZ0PTyt51Gzes37Shf9OGDT3r1t3SHQi0+lc0uE0kDhVTkVQ6lZ6cCA9PXDl79tyFs6fePf7Gy7985dU333j70qXx8JXLb77z7ruXr03nAaczuZz1AgRkSC0ASuy4bd/vfDb4uf2/u6uv2ckWZq5cHBmL5lXBKQa8Vl6NXXvl5z/92fELYUi/ct2mvtZ6DsoODg1PIXxN8+rNvSsbOGXm0usv//rl37x1YSiUTMSnr59/65c//cF3Dx78yZmRNApysfjwpeuXJrKlZ7bPAAxg4Bj4HLQLlcndzEc5j3OLoc3kYwQBB4/0lsbXd27/4DljYoEHxhVVeQgMgBeh/43vox5lNnFHnZTe5RfrPEYCBEtLAoPuB7+5iD8Hfgr9DbGPGmMGuIPOGt7e4PW7DTgIPvhCMBi07fvkIv4k+C70NRLQHvazfJ8TfGLDx+6/f0erMBef3779A/1TAAEQeAY8Ch0mjlFjTGn9SQdOWlwWG48jB/cG/7K0fmSxNYk3+z1V+lL8nZCH7KUD5fUvAEJ1HMMQCFSZn50z3g/2Q1vJIN3J+vl99tYuxx0d7R01DHbwE8FDleThZr8l6H9ox9btLQayMr8wfu/94v7+vs2NAlGdf4DeWvag2XZra3Org64w/XvK9XgUPA0dJkpraHpL9eir6Wtw2EgMO1jadjr42KJrS4+CZ6Fnbvg9u1r29bX4TSRZmYfK/v34oNbR01Rj5tAK479arsevgV3Q07hAlb41vN/e2sfu6O3v9/PMDz//lYcffvyXjy32reGb/c4q/cL4W1brbu1af4vI6pbmgZda07xyZY2OrMx/v1wGtdAdsIZfp/azPD/s6vA42letEJ0Uln78fwaDwSde+OA+BVnge+8O3HHP9p4AR1XmF8bvvd1/+x23rfGz5NI8qDL975XBEWheGXgd/mrL4MV5vve2wMpqy+DgfN/rb6y2DA7P88DhcCylDG5qBzaHv9lXa15yO1gT6O1bu9K75HbQ5b+lr6vDs+R2YHX4/VWk/2q5DL4FXoNaEI16RffXXNrR0WRb2dkomrgKv8uDLPB7NtT29q1qcxjJSr9r8y1wdJ7fudrVdUtrwKonKvdHoG5kYM6DWnNzm7fWwGCV+dnr81vg72AZ7aUPMzQPXB1d9d07Ah12jvz+c98MBoPff2Gxfv0t8DH49A2/5zPN9/1O10aPsUIPlf378UFn7S23+tosLHWo7A8t4h8o1+MR0Ac9jnRTpb0BnnZ0tCK3i2azmyF+/MingsHgjx/5wiJ5WODvQPe1u1x+ga7ML4y/5Rbk3oDNVs+RS/PADfe69Xo7jVfmO8rrO58A+6Cv4v3Uo8yj3LdsHe3M5u6OVg+t+8nDj3/xi19b/Np2s//8TuG+rX09TSxXmV8Yf80q5taeVSvqKo1f8rvneX8z3beqvaWWpiv3O+d54Kc2tPnr3ST5s7L/9SIelMtwF9gPbcHPkaX1OH2OQLdhR3cg0MiQ3/lm6X79U08sdi6UvKPsH+KO2v0ftn70vjt61xjJQ0+U/KcXvcfZDfZD7fjzc75jp+3j/dvWrDaTh4KV+V2gD/o97CjZX/abG5nNzT5PLUc+V47/YAXeC2nI86Sr7IFX39tgMJvpCv1flPuTA4CF/x4TqZeYh7h9zo5e76adrStEA3moXIaLv5v+0E1+z4eb7trX1d1srdBDCzxoc/dsaWzyCFRl/kGAAgzsBjYIp56iS+vFh11uIx1o8LZaCPBEuR7cD37wcw9R9j8kj1Ee9qPcsEtvI9bU1TfYCPDEnkp8Kf4u6CVCpA4zpfg9JqzV1O53YOCJcj2493ywh8Bh8DTUTZwjZz24z/uZnjtuaaDfe25c5Lmz9B1mDLwA8vAvyJO0h32IAzWtLEpaxTYHAYLrS/1y6949i9TjMTAOPYmLVKktAVdHg2f1plUra3AQDJb89gcXq8c0IJDmG2vj1n255vaHOltbeeLQc+W1bYuumR8DBEKjcbqTbeKGnT0Pue+5f83aLpY89ET5urJncZ+CNeRgOf6w03ebd/OHG5p8HHnoifJ68e2L+e8CJ/I7qGnOA7+td12N3U6Sh0o8OPrgB3+n5/8qX9fy4M8RP/be/m0dvd4tt/qdNoo8c+OdwA+ug63Q3875l0vvHWwKbN+4stnJEu+U/eLrvW/2G7c27dzcHXCw+Gz8+KJegB5FerEHyv6gC3TVb9nQUOcgqTNPlNO/iP9/pAw+FfjEvcspg/ubPvah/xfLoKPcH6FAgK5iT1I93IBx2OzHSCuN4ziKfvORP//zb/7om4988LVtoadxyq7DcRyr0j895wFOORiCICr1+jl/8H1fVXwF/g2AVLm0mAIq/QEARnGS0tEUiWMYTpC0jmFZRkfTFEmSJEWRBIYgKAqpkiTJsiS/90eRMuGRyxcHro3OROOxyMzk+NjETDSZlQFO83qDwFI4Ruj0FofL5bQaeZpAIaBpqqqqilzMpeKR0EwoEkums/lCUZIVVdUAgBAUK2UFBoosySpAMAxDIKAqUrFYWleLIAgCQ6WkwwiKoiiCzP5V+pmmaVr5H2CgKbKiAlD6HQSGYQSBQSmbGI6jMFAVWSoWywVQAppSGj4u/UeWirIiFyVAcgLHsqyOxHGC4q2eRr9Tefd7X33s64eOj2uMDiQmxybDybwCEMokrt58e3+Xl1WSsbTGWJ1WDinEZybGR4evXDx34epEvKBqxVRofGwqIeO82Wa3WSxmk56jMRgAhNCxDAHy8ZnxsfGpcDyZzmRz+aJSXukCYzRvsjscViOvIwkcK+e2lBW1mElEIqWShggdw+hoEsdxkmZ4vclis5l5CgFyoSBp5ZKQi7lMtiCrqizLGkLqGApH4FLp4USpbnEUQVCCokgMhhCC4Ri0MHPt/IWhiMpabXpcTkWiaRXFgCzLuchcbcfisWhoamJ8ciaWyskQruP1Bj1HEzjJ6K3OmhqnzcjrSrUNyrWtKsVcOhEt1Xa8VNtFSZaVG5VNEDgGA1WWZA1CsHLVa4pULFU+PJff2drGsFJNl/8q/0wrt2AEKTcPRSsdDcVK1V36EVQ6VvnIWqlaJUWDIFAuVVUu7Q5U7gu/D0j4ccREf1e3mjvobF1jX3ebt87IYP9QXu/980WuqcgCv/NB7933t7c59XhlfmH83o/X3bG3tdkuLNGDDlt3f53HwKCV+dl79N3Qo/D/xkvfGfgF76lpa6vr2tguOilS++YLFY1b7Ib+dJ6/5d7WbR/Z1OFjK/QQEKE+OIEx1DOMif8HV3u3e9NtrWINSww+/q2K/FHwQ+jbaOkLfl/jhl1touOWBoeeJ8nvlO8tv7DnhUWfFf8M+hWyd86DGvvqehOnI4m/CW4PBoOfXeQeHcy9ezIMv1D+9tcAt9PV2mZfs6lF9DDY818vlYEWXOwdqJv9pg95t+/pXdmsJyrzEBgEw7Af20f9DrODyzmbbq/ZsKuts54jDn/prYo8gPbBH0YFqp1p4h51+vtct9xR3ynyROTLR4PB4Ne+vNg7qQA6Df0KESiyfG/p3yj2rzPXW3ny1J5S+v9q0XvL58FJ6FnkKHmY6eX3OYHb3hEQDKyOOlkeiz65iJ+tg5+CDvhHyD6aZ77GeZyt9ZbWzjoPr0O/N3t/uuj7Pzd7/+f893xsXY/TRFbmF8bf8nFx267VnTYDUak/Bmzlb4+NMSLX53SvdK/tX7u6jSQPPVEqw0MPfrDHwAnwX6AvEq/TY8ynuT6nv8G2or21RaTxbz/6rQo8tMCDGnNToLGxlsIq87N1MAxIZAANU+T//aw47Gy71dG3PdDqorHrwV+W2+EvF6mDm33vH3jv+UTXWpElKvOl+KdhAd0357c84Lmjb1WXl8Er9XFgg/ci3VQ7cxd30LnlY75+v9hex5MXDzxfkQfQSajzxnng3iXumDsPHiy9y/hXDy72bvnz4FnoJfgouXv2PGiwtfttJoYmKzsPZq9pD4E45MH2Uy8wj5fewVpX23dnU3uDkah8vGC+33l7/db7Wlc3masYL5jve6uMv9CDKuM/V76m/RT44eff7wtWOFb3+hr0LFZ5XzDfb7+/Ycd9XavtlZ/LPwVOGKAfpeuZpzmDs6O/rn/7ynabQDz3Z/+jAl8aK/g7KI376MvMj7ivOVo9lpUBv+ik0b9/9OsVxf8ZeBpiCQ8dY37KfdkBbKbWhgavg0IPfqXkH/vwB5fhr+f2urBBL+IiNbvXg9/KtdY6XA6COlgeczlYwV4X87273dTX0uBvoNnKPAS+B56EDMRXy99UTTr8/e4dvRvXtrLswfv/pCKPQ3Wwg5ii7mDHuEdcO29r2Hr7rV1NLDX6yLcq8rXQVthFAHpp82KPAAywYEepRyNQ3be5q7ynBhiJNsJlpgnkm5+/PxgM7nns/g88xkLfUaWHFvhWPd5CO000vkTvZvFGymagqvNPUjfyz+NNlMvCVOofLPdnpWN8+8Yx6o1EG+0y0FhVZfi+91fpF8Z3L9ODKv1GgAAMPAWGoZ8gu3TPsvsF4KwXhGYrT7MEOFjqjoJ/1bvY/pg3e7fJ0G7XMxxZoYcWeFClnx3H3gkdhr904zmhY2X92ltX+WroKp4z5vs991T7nHGzByu83Zs7fC6Kqsx33OgTGfK9Pq21Xt/VUOutJXXV9ImlcehZ39Fv21Ht/j826PANf+8ac39bY3MjzVXj34/vbzb2NtX76inmubJ/rkoPavgOb01tDUFXFn927c/T4FHoUeIIlWdK+4a0Bqy9XV3lfUPKY+mL76l2s99yt2fXjh3bRT1ZmV8Yv3eja3t//2YPT1Tqny37JynP7L4n9cbujo5VNh1Wmf98+Vw4CLbDVzGZfIZ5jj/hbF3dsGnDiiYnj//gL5/744cf+UHw+UXK4Ga/5d72XTt7O70msjK/MD7ob96+taut1kBU5k/NjSOX9l0+SA8wv1/ax6nD3tVbV19LYYeeKbeFv/qTRfJws9/zUe/td7euCDBEZb4U/2lYRp6a81tur928ranZp8Or8QK6kz5c9qCtuvRvJq0AKg9bKZKUzxUhhmcxkE+kChogLV5fvdtKQ1J06OpkLJVTpKwMCtFQJKmiIBXLFBSINpgtNm/zioDocdtZWFWBztXgrfPYeAorJDPJK8ePn7lybSStb+9psZtMRPL6cBTmGJO/p91psJrB5Pm33jxz4dz5GQiXJag4eenqRFoFCmpxm2mcZnVQQSMpOS2xNXWeWl9Lo43ToYXwZDitgEKygGPZiYlEPp/P5SUpMTE6GQnNzMQyxWxoJpWNTMUKQMknkwUpNRUtYiTJ2r21Jppz1Jo4i9tlNJl1COOwcxRjYDG1kIpGY+lENAXTDG/kkWI+H5sYGk3AjK2195ZO0cyyNAwwk7uhhoNVKZtPjl068+ZrZ2eKANJxOkxJRfOQzmA16XAdB2eysI7BSGNtnQXOSYXx8xfGIrF4SmOsVHxocCIcmU7CgtlW29rVZqcxEDn96hvXZlISaTCbeCApkVO/OTcWzgmBru4WG6mlhq5MZnFjva8x0GyXotHw5EwyqwreZrFGjwIYllWAkyyLJCcmo+n40PmRVGpkcEYmBQPH63VyuqBICmap9TfVGm2BBgPnrqUUTIcWM4lEPhsPRyPTk9dOn58Mn317hnJ4RLu7c30jrqoqwCido95bV+9hsoPvvn7itVdfv46ZaNzugSdGr59959pERNfc4qpfu8aaC+fU7HiM87f5m8RaNnXtysTU2GSOYOGcQqqT4wWlqJFsTVdXDUmpE2fODU6W6rRlzaoaojA+MDJz7d3xQlbRm6UsjKQkSo2kaQZDUZhxeRwevwsDRPrMa2evDidwvaupzc2B0NBoLDSj2BqbGlwmswGEZ1KZPM6xjhVtggJA6MzrJ86OpQqANbFYYXLg8vhMSDJ66twua61okVJK9MI1yGyz+/wNQvrK2fOXZvIK5vYTo9OocvXMjILo7ILO4MDyuBGNJiUZMGZHoNtHwxQ0M3L5/IWZ+MgwWt+y5p47HNOX3/nZD37xyksD5vWr/Rvv29nh0MYuXXjj2DDra+7o37neXpi4cvzI8y+dyztXNK/c3G+bHopMnz3x7iTmDdSKG7Y3Z4dHR989dXGySDndjS0ioylS+OqbR18+H5dVUuzZsKbVX0cPvXo2lTl3Vq5vsDudNbVeNjwRGXzl+FhKsbY3+7tbkagqXT114cLZMAwDc8BrFLjc+GShEA5JJMW7PHWNHSIyNTQ1PXx+CjG5Vm5o4+HU2ROnT73wSqauxlnfVO/kk5eH05F3L+O1Bralu6mpy5OeyU6eOHp2VPa2+wLbdzbEp2PDL/38retpndPm6e4WopH42NWJkZG8zU4KXqumkFAeohnWYYEzmWwqNjaWxCnBGfDWuKzpN/7h8A9/fSVUNN/7yOf6m9zY5V+9cPj5d2iv2Lnvs7sa0ZG3Xvnpdw5fxGp8K3rXrbRmzr/86+On3r2mBXbu2txeb1LHTr30ylA6DdyrOld1t9dyxUtHXz97eWBccza3NLZ2d7Ch0cmrx14+9toV0/oOccuD24wIdOmn/3TmzbMZA8UGNq9triVTsejFo68MpyXA2uxWQYfAsJSREQyhGVzK5BQYwJa2ZgHjzJwcvXTmyvT4pTFqRZudN3DS+Lk3zqYooLhWBzjBwWu52JWBGASySO2aDhuus+HXT12OZ3MFjbCJpkwWFAYuZJB0HOA47zQTxgbj9IXhqWuXQ7ipubfb6xRFKjZ89fy5M8NooNPr7+6xJK68fezUpYvnpnVGStcQcAm0Fk+nJgZiOCbBloZ6F1ZETXQB8Kwm56fGslAqJrT6WKAkwlPD56cBirna/DVWgxK69vqxYZVzNK301xmk4cHx8YkUAEVIb6Zpk91AFEIRAM1cy+kZFcIZwU5n0hQWujwU10iSMtbXMkBJTE+GcoRV0CTSbBO0rMYSqbHRcLZYyAJCx9kcrjoPnQrHrp86F0cJoX5VW70Tj45NT1wdyZO8zWnhiPzM9NTVC0ORHGYQdM4Wv1XP6xApOjo6OTJatDat6OzpEtnEmROnL7xzQRFXtrWJZhYMvfrGlTPHzqdhUrDVBFrtQNayY0MRYKl1mGubfUxqOpqTItcmUBOHc2Yji+bi8fDoRAZCUQjj7QYoL8upsSvDUQXT13V0NvAgO3PtnZNnogRv8rav6Wqxompm9OL1cErmbDUNTTZQKEYuvv7qyUvxTKIg1NVaeIpg6WI0TxEqoDhHY2Otb6VPoIns2MjQpdGCmkxCmJKOh6MFSMkDEskXEALHSbbGZwUyjkuxcAIxmXRCrZdJz0yPXTl3fiSLAElDQWpieCytQbg10Co6zAYGVRVEx1K0waLXkRiQcumcrAGMZhkkMzkydOnipatDE+GkhJIoACgGSdm0RAoMxZmtNruJoWgcggmat9d7HUYGpKYHL1wKAZ3BWuOtodPXz5w4/taliTRi8a/saBEderIwMxbKAFyoW7uxw+MwQ+HRqWQRkKbaeqdOzkQG3/zNy8ffvnhlShWMPMfrlOnLV8bjRUSoX7O+q9nnMRNqUcNJnHM3iTYWV8MXThx/6+zZs5fGpoYu3lg3eRrqfH/dpGhYscrt4nUVrjtEFvg9H3ffcc/KVruhinWT89dd7rzHdduOqtZNvljeO8pPp3Vf4x51gDXOtT0+t01Pfqc8XvadReYf1sErAIlj6Ik/+dMLLQ/u806P5xXY5iWGRoHoQ8amrr757unrsIWXh04cH51KTp+bymuUi1MwJS00N8BxFUAEbTPaMynURmQJGddhU0IdzFinrwh+tODS50CdCwdYrdkIJ20uEE5kU1gypNQJ4WgCM9KAJBSF4WiEpUFe09E6KFskBYCqBTlXTEnJjNEQfePC4PVwNj9d1EIhCWFMvIZQVptAAMZlpPROiwAkmEQwkpZiGQhMjgyGU3I+k03F4+loKKEgNIcBSYUghkEAbfEFnBzLkriaKe2VU0wmI9FoMpkrAFrgcJrX6U1Gs5FDSZahGI5UFU0uKKSOhiAURaR8LlcoZvOFXDEVC09OZtVMPKMCoBUzyWSmqMpQ6a0lTcorCNAQgrdaeBzXURTHcRxLQAiBasVcvgghsCYXCrnSXlSSKheU0lw5AkB5xrW8exVKkjgCEKy0BQQCAYzACZLEYAChFEWgMK5jdaUTTJEUCCcwAlIkSSpKKtAADAOtPCOrAbg0N6uW/leWFU1VAFCK5al3CKiqqmlQaYZYAxAMQ5okyZJanqtVylO2hVwmV5SlfDqTKxTlYjadTKVzRalQyCTTpU2kMpl0pqAC8DS1Zm4lQ3nmF8AoApVXCACtdOjyX5qqKqUlBqXfg0uTx6C8iKA8wzyrStPJs2sISgkuLRwoLRQopWR2pQQMQ+VslCaa4TIqTScrs2sU0PIRIFDKdDkqAKXclfaqgCAIxSFFhUkSK2UWwEDTIBTHy2sWNLWYTWUKANfpcK2YL0hSsSDBBI5ipI4hMVjJZApFCaJ5PY/JUj6RkmQJwEBRZA3FAIRCxUwmD+l4lkRBsQBQXKcXKKiQyipyUUVLYzQqUPPZbCyqchyUz0Ecj6pyUVbyGaDTkToKQSmsmEhItJFWFZhgdYWpGCBpGgNysVjMpoFgwDWYpNFiOi8VZAgoMM0wLKnls6lEVgakIDA0rhYUOZ0qKBrOMjSBYgSSDWdgnCRhTVUkBSiShpI0Kik4rhZlAIP/w957QMl1lemie5+cK+fqququzkmtVmpJLVmSJSHbsi0HbGGCDUPyEK4fAzOCuYPngmcwjDEmGfMGxn4MYA/jARsMGDA425JxkGQrtTqpc6gcTg73nVMtWRLYqrbX4q633pyltdQVvp3OPn/t/e///z5ZJ3GLdINcGVAcoeqsgEOoS4qq6KYOXH5aq8oWNGTI2HxfpomwLlwqyfZdQzGMQKolwEAD6CIQWEuqVEzUkHUL4Xgg2bsrzszmVBOyAsV4OFOslBWUxBHLxEmC82LFKgHzJdqLSVUNwVCKEPPATWmSZPka3eVFEeCooUEMoXhY0RnCQFhcMyieMOVyNqMJPjdPA6mqAWCYBMfCSl4lORJDLKkKCK1kuX1EdbEA/VGhdGpRgZ6kq5ABLKrIiMtDaOWFDJZqwC3UlACN6BDMn8xQ8ZRbruJIsaCqMBQUJzIa4fdIBSHJlHKFnOIOESoaSnnE+UKlJALa5fNhlYpaXpD9QWgiSrZsmRrCkDhmSJpW0QlTZJMeOS9RUVcxB81FqwE/cpLrbPVUZ8sWxLTxCabJwyf4TJmlckOnrLAfAYw7FrdOjlh+YuGUHIyTsolpZSLhK0zKBJTKGp9qpHJZQ5nTom4JeLCSAi1I0R63tGCpx2abe4wCi42eVGk2IOiatjApe0J+Xs2qnD5RdnNoICAXTDkLfIROUaqF5GY0BicjCUGcOpXDfYw4XxI60tqrx9hVDfnJ/OK0EmoRKliLd3rWmDtUTUelsqezASfozKuLpC43bmiQK4xr4cVsEJkQG3uj2myRQCs6UsrqwHJFORQVsxZnKjybyQhhFIkl9deOG5SopTd3kfNDi8bMUas7hbMhF5h5ZjgczSwInIT4PfH43BNzYfzUIooLLWmiVCoVQaodna7ihQmQCKKowEtHX0X7ExLbCZ47gvKmDPx9bVrGzL54yhPD5KLauKU5P5LHaL1UkmQRS6Y5QDJmZrpk6ojfpegCVjD95mgh7MuMgbjH4ltcx56e9UY4nKAowhIlYObyQpKo4qwOBHNeYUFBpTnMQH1staIVsoQfLWfLQlMIh1IO+s2JigCysCEIAYmr5UIR8FR1Kp+4yHt4PNaBzBRQfTLrjtCWqSMe5PgRbm0bks0TAXVEDaNGiH31eau7JywfP0UHgeHHXzm+9tKD30t9PvbQWHdq5o8LyRY1742hVuXV+ZR3Wm32VImQ/No4GSI1iAM2gZ+SGslXZ5sih55rvlJ+ktps/n484pqZDaxJlHIUsmj4QQHVXx7q2O5S/cL8iRNH8q2r0CnF46IJU5HnRyqhgIVF45yWmZwzaEQRkUQLp2HY/Cuv6ekEQFtjuUWePnUSbfAY2dGF0LZtsdkDx4uzJ5FdN/ZkXhqaHSuEWsJYcarAejCCp0B5fCRnof6BAXpuZP9j8+2rk25r6rVxeuNm7enxoDC14PIB052O5A9Ou0OGSFGqAWBiJfj1r/ROYUZKd9NTR8ZgY8I6NSp5Y4FIS3j+D8+V/E0prphBPLwnxR34yXTfGrjItnFjp7hQ8aTIWiUs1SRQbum5A1QvMR28mHn0xeZ3pKWJoy+cEC67vlM9eeBFqac1dyJfmvdcOmgen5QrM3lGgGyYVsMXN/7hq096169vMCQpV2JbosXjBXzst9X3/jX9YjlKLQwP5QJtXjIWLo8W3EF5aN4bNaRQQ2kquhX7yX+CrWuZzNSC3nFl97H7fin1DSZI2gtPPDub3twsHj85n0E7+3w6YOWXnsy1rk+rJ0awtoRWFbiZMUM7Njvw4Z7j+3MIzhHluQIMxzmOl6Yz2Wk1EjRFHZANjcZLf5hIbogUKqw/7M0cOGlwgSAoaASfaiNHR6q6pKLeZNQcOVKOtzGzR6fQeIhgXcAgc8+d6tnmK0wPT+PxhngQzhwaolemq1MlBU00ERUNVCfHNB7CgLtaoj00RyyO5rLj7KUrJ44G1rmPH8fZkZewgSaNbTQPnhJC5ujhQnqln2DkkUI4sHBoiomS+Kp3sE/94qTQ3ROUjj4+tfmv1+VOvPrccaqrJ8WXZjLzi/7tq4v7/zhqJPpWd2oP/TC3clXMR2nl8RPEpraRo96EpTPaaH7FnsSLD/xhgr70lg1H/uOVUt7qfUd85Okj3MYVSF5TJ6fQRIw0IGaqll5WKcJQZcOX5mZGq0BUMIoLx5jssTEsxYxNu6MWkvLPHpMC7vJU1eUDIpMIs8orDzzh2XNF8NTxeRDra8wfOFywNLJ1Q4c5UYDyYllTiCCl+ToDYi47W6BcuCXKgd4GJa+o2bEJo2lNK7KwoNBedPqk7PZ6POasFAnlXx2VSVcwROem8bZIfrKiFhV/k18rQRdWrVgEyM/C1u6AkimWM1V/0hjNuSMeNyWVpWrVQKhAGJdUNZNnIlRhNmdQNEFzYHZS52nKTuXXTYRGFMsd8mDFsRky7tIliyBZF56frqAoIEiloDJ+L5gdzrBxNwSYNLHg6k6BXO5Hjp/70yCM3IF/2skd2Bv75HXLyz0gHfztuJvey7mFvbF14WBXbyIeYLH6Ywl2Ifvwg+Q4ew+/NwYCwa6WBM8SdeLBn+lDf39y8JKOrkYPUX88xdn4G5Y5BufXDzrj6y5ubUu466y/1oe/By7kl/hD9HPc7UJrrH9lYvOOzu6Um/jx1/+prj6ci79hb/s17xnY0BWk6sOfXz/ojK2/qLU94cLrw9diiz4KKLiL2sJOcXs998V6Otn1bes3BXn6bocn/O4vvXlsDergb6PG2RTf50nF+ld7NnWv3xR00/c7+RP3XzBG7qMgDG9x8NttfLNrVXrFKp9A1Yv/RyfvfpjZxf/QvSXWvjq4LbF+VZynH/ny/jv27XvknmMXwD8AUCRO7mFS/D7Xlnhjf2z7us5VAYK+3zmDvXB81wNgDv6QaGdW83e4tsRBd2JTX39fkKDvv9XB3/rm+Fq+93Hwt8g96MXMUywjjMd6+gP9FyUSXhb7+TdurSuu5lz8ni827fnIypUJL1kf3q7f1nQ6jd95c+rSG3t74u63iAfd/hWbG+Ieps72BwMe8HYvy3rbRfx/4HK21kt78PM/gG+AWe71hiNpZwHYG35DU6q5mfFpLdja5NEXphd1xuV342qmKJmcy41W5hZNNhyNedRySYNSvoKRCweezAy+bys7euiJR0diu7d4Fode2j8qbN6cgrn5qTwRdeNUHrIwrirImCiZaQ+qjiwW5zQQa2fw0tCszCeirJzNFBCfj1Ir2XmF9DcEQSFXlWQ81hIySnkZKvML7Ve3Lby0YMgolUxWNX1ekbkITikFo0I2eSklU1a9XshiZAybn1qI9kUEgOILJ8XGlQkjOzebV5q3usdOKlGfmMMTER7ToTFT9fsxiW7t4MdPTv/xj3rX1l6qOv78gVmhuSVkFKeGTRfr5Wi0mNf0Qgn1MKYOSKtUKCmsH2SzKkFDhJQWJJqGANEzGZ1hAUDMylxeVy0XLZV0HFOBAMsLJW/QqihCChuZ0HmB8YexUqaiQ3cgJpRlUJZ4n4CqqBeVTOD3SwqOA53yGgqK+j2km5fmC2q0Ey1UVc7L4AZBVIqamzMwCubH8TYvBqoWEJFwwBt0VQ5O+sKsB5kB4glf3BMQq5l8FQ5sIgqF14ygFG5sQo/mh7QNybau4Z/ANB4DTAon5SmzoSGUmwyTR16Z8GzbRE4rHIagRMo3MQypajhJN1jDWUSZC68mZRxg6HChpwWYuFKcPqEyksS7KhXl6AmaKutiFS0On0LcFmuNFCw6iR0Z1iHE3c3CkSfnoo1uolTA1aExMk2WUFSamoRBVyUr61XLBYE4qWAIYZ8tTomy0MVhpZPzsscTjRhimTKmWTeeSohzk6Uglx6ARciqc2q8X51ig/TJEw2bkDGLwvOvBa+PDY2BMDZlXPmuxf+Y7/O8VNx9TejAr8d8692elWhWqgBAr4lM5PkVA9IRjBgbWlz1ufVj84S2/5fEVZtBlvGqw3MI2+yWgwEZMFAXi4deYbfd1HLwlLIwPhy4dteG2PCBQ1PBFqpENVePTQ/JIR8jV2SkOOdC5mCEzr78mqcRE0eeesVKtjBK4cVjWSUY6XEfO3woQ/GBdu7IC4e4BopViLnfLoRbW62J3EyuAnpCFDZRpq2S0EIWhodDvQCwyOTTcqBxBU+OPF8Ob26lQN5QxzPhbWuLk4iq6GogxYpFsVyC67ZVH3sSGWh3eeLV5/+4EFzZk0yHxn/9Ali9JzlTBQtTEtU3qIxmrAAIrQNjv38s9a7+8RN+cvhx7bJ2qOj6gu5LpNUMxUWUY3kyYCErukqvlD1gZGLtR5t+82OwlTukrkgUpn0hcXY+ubL65Gur36X8xuwOobmsyWFll8swRkRr2hB6Qi/f+1/a+g/tzD9zSMWkIo1PvXYy0lZdCK4FT73I9iLHx7Tm1OHf8/3k4T/yabNUTfcrI7PcCvizh6kb388efPnYPL1y01pu7JXnFrv3dCsUP/H0SOPlO7ih0fEJqjUd9nnmfnsMrtmNntB9+LGX134q/tLT+XgiQsyIjOlt95b2v1BxD2yOIK89T6dDDQ307IyRBYPrzCynT8sq0dGOZo6JTQtHA9fu0p9+lOxWF+jtTYeP5PwNOTHZaI5kEU6trtjGTx99vLBlQxMJW/Qf/9TYuik60PDyY4/NqvTHb/G++ssjOkjvDk6eOlBZsSIKQCkn5+kYqHJN4eknR1SPW5IsbeLZI+EBRrKys2PyijhGIDBbZLEMtQKemDI8JOkunlxcGJEjMWRmqqqbhmIaigi8nJkpEJgqIj5anM9oJKWIVR0sVHHgYrPzMO7XyjNyW2IxE2oujrEhr6HTGigj7hLnkWZm/D2x2WcLAY6iGzsLh08KKwRUxlvxp15o68vMUWHrhem+Qe7gCIF7o35mZISO+0lvlM9OEikPwIl4aHHS26dOMytWl8fQxvbKScMbhtV00+wIHp58Wdl8S+rpg0IwL/KBiEslvWZ2jF9HPfYE0djEzKoxsP9kdGUEmT8peXgMLaguUDo1Wyp6uujjpyjm5HPjbL+voheOPT8bbwSKNTMrlyCWl3RNOVUwFytEyGfNHJjy+JVFxE+PHLYCHiyzUJ0pExamLpSr81mEInMjGivOGWwIOXJK8gSKgFNhdXocrg7DhVmqWFa9fUDXMkYZ87WuLb08D3AkGUp1zx+e4zkzJKCVgqchQs3P5P07A3k3gYcxhIVkJOkpHLbW9CcBEHiQJTr6YupiyZ0O056APP5Kdc8VjUEte/RYNBXbsNI3dP8j0rb39VdMbvKoEWPK6Oa9TYcezrSnsYJMSQumYrCkK/v0MbLR70IsOPJKFnPzlIeceGVMNzVf0C3MvHSihIpEGFOmjx8tR8Nwal4r5SqqanD+4vMvKG3Y0IJhHnl2mokg8vThUwDOkSFAisdOWH4FgZWQPAFkAs+UCa94soR6fNmqPqNUQTKED78qAne4yX3stQlfm9UQoc2XZ814BxbhMfPQMTC4UbBcDSOHvA0c7UHLusalcRPPqqrUHKygAbxYAWE/MLW2zsqiSPEuRoSCC5f1VPuJA642r4q7cqdUwU2jmIUwlpotWcSKfnrq2RO+nphe1Stlo6IlUpnnJhCeB2iYHRsFpkzglhFMy7npA5oHY1Q6nHv8RaI7LU4USe3VcSzoAeJUGcvnUYGo5scnAM34iOLsxALKY6atpDEyw/MAlCUrP1/0JI1MDniQk2O+IAImR/zeopSFQq7C07NZknSZZTZQHq1QyRQladZUNhALAZmvDFeZSCqKzk6IkUBWScVISSEXx5jGhCev94QWpoxYMsyalQzd4gGWO0VW0UQHZ3FR10imJQyIYJt/cdbV4Td4P25VPCktQzSm3BRdXdTQVArHoWqUy5F1HXg1d+wEs6rLjYPMZA4KrhBWLEkIH6Sy02hcsHKKL4jNqx6ymkOT4YUJupkfGgt1GNNlxC9PcawkW1AyoeCXZC82I0nVtnC5KNOmCRFenKsowBPGcwUBOTkfXc1nZqoeZUEN96Mzi0WU9Ic59VSR40BO86BaBXGpGoogNKFKIoJgglHVcXlB1MMt1OQpFzUjxdrZ3CIiFEbRLt90IRwyRZTVizJFYG4C4tWKZpFEIEzLk6a7miWaE9pMQccIyKWC+XEl6K/oyQbeKFbQEA9QPBi1yhYjABXnwxHc8odm9mfaNvirdBRMHReTUQhCLrGoMl4S5YhKFkTc0E6rJHHLqKBNEZDLMDFk1mrww6wUcJuiSPlQNV/ivFBWGRfIVzysqMgooyOcpSGaqFs4TQC9sAASMXm2gPO5KdQfJOfn7QWtwfFIbtKCOuULl08hoFBSeQ/pIcbnlCLtxRkCEwssWtIqnh5rRqK4mSHXQHRyDAhILuNpwyoo0ArTujvsL09UdQQpSIG0u5jNz6vupkajgGFiWUF9fhcsA5ATPQGoyQSTL5ECqYomDcoi6qXViqToBEWThmZamgRYCmKgVDS9EbZaJmg9azaE1KwlIIuFcAefnxMBwfv8glUQFQVxNcaxzLyFAyBEORzkdZrxEIBBIaxWoeDhccMwq2U8HKSgMjeW97RE9MWCRchVLsQjUimXhQIdDGkLM1kiwAPabVXyxRIR84bJudkFy+sJsvnZvO4JIQBXs9NKIEJqDKUpU6NYawOjVjUZ0Jwbw8jZ42ooGsBzVUNWy9DjZ+bKyryQ4KAiAzeiEDRelAhRshAGswwUFQuKL6oWLGiqJuqhZqsMRhIYbS5W3Ekqp3rc1QUFkBwBpIoCaVRDSLMiA0gRelUCNK0vFmg/WjJovaAIHq2g0S4rr5OKAiFFSAWTp/WyAjCGRIBRLRo4jigIB6SyzpKSjOMAAFEkAl5TEouKBmifD4gVTcnJXMJXyumGCimOAzIGZuaZsNeSACzPWQEfqSC0Mlfi2IrsDcBqWTEAoHhL0xTNxDAKkS0AaLRcxQVCBrimqJAmgShBlDRUQi4B6PVIIkarc3muMUxIVVm0SNodDRrj41U0IOA+XClMVbwxHLFkHEMgEzAXLC9FCBiEomQBi48z0uKcSDUlgVQq6Rr0e62CaKG4zVHKWgVNIGXgwop53cVImglYkJctCyoqI4CcCHQNUrgpKoglK4BxaQs6ZZaruJeRywCv5kzWQyiKYZ9ucbgBcDVXQgRbTVDMKSRNQggKeR3heBqIhQqGA4ziyVIekHoJ8IxehaRY0CnO5nM1dROiGIRAN1QVtVlVRcBCXTdJQjcZWiqYAqlDnAaZCsViKnCRVRGlUMLQKENhadneLBGmgWkywpEmwekVDbCYBFgXWhVNnhYtGscQzaSgZLECqZsUhumyP4QbMs6YFRgPoOUs4xINX0CwKsCsmkIqLM3IAqsqRDBiZQ3ay+TLrK38QwTQctVwuQCgcCUv8n4MYFpRZzlM06HdCxQBCA4VUScEUpU1yzRxjrUqBRGjMZTAoVw0aBJFoS5XVIrH1YoMMUPDSKDJMkKaCkIhqgRwU9IoHpREgAJVhSQqVw0E10WEAoqoIQSiG6qFaRLASNKQ7TAC0wA4ZVRkCFVAsbgqq5phTyj7wN1AEctEGEMECAFNWxDLwqAFEBKTqyiPaibpQoo5jRNY3AJSVQeci7YkC5goCVECmqKEMThgSFE0GDdpygCaKDBJntbKFo1KIuNntYKF6SYAGM2yoKIAgrTJDFBF0lGaJoFiAAtDUIbALNmCGM+bVQVgpor5vWauZCEAE9xAsRUvAOtmjKoGDB2nBUbTgFyBrOAllGpZBQhkvLgia7qicwFSl3WoFM1AlFULoqEYjNeNqtW8iJI0jQFd0U2A4RRtlYoGQ+gGQhNiTmUoC6DAUGXIIJKM4bYEGG4fWlsITkDDAJZuBxZYigpQaOgAKAaG2c8CZigARS3VtOMSUAgMSABFsezUfmBaQLcIVFft4AUDIYCuAAwDko6iUAMEYsqihQCUpoHdCwzBWNKoiBaGoTiNyIqsQ5QTcLUsijrBuWm9Ui4qjNdLGHo5r1PeMFPNFjWbYZlCqsWqSQkMhqNyrgjcfgYaiiQDxsUAw9SrOs1yNJBFzUIomiH1imQAgqYo1FBEmXSTQLMoRJF1lKMsAwJFw912OLBumijNEIasAhSnKKDrqoGTNAM1zbQT1Embr0FTDIChBIsYhm4CSHEUqpQVSJIkhRmqqqEsjZgWsCyEIKFlqhrAKMIeHc0iKMy04w2cSA/oRGYgEENshm0aBwCFmgoZ0jQABJqGkagFoKU7sRUAg5pmoYgFKNpSdQOgNpEE0DTLLsqeT7KJkhQKTM0wLZTG7bAMVYUMA01gvwkIioBy1UAJEkeAphoAwWnKkhUNoUjUDtFRTYpxgkh0iFOYbvfYQinMdCJiUBQYJgpNSGDAtONWAIIglmlHokAEGKaFUBiEmgYIHIHQIbNGcRRFTdVEcBytcR2gOGpqJkYgjjvOQkgSNe2n0oB2ExzSBHvy6YYdpYLZYQ+6BXECt7tucysgiD0zAUSBaSGopdvPsIXgqKmYOAoAhljGkiaLJldLuYWZydGho4dfOvDM47/71cMP3v+D79/zzTu/fNutn/vMLR/78Pvfc/3VV1yyY8vgwKoVXe3NqYZoyO8ROJrEa4Qep12EKE7akeShWLK5o3f1hq27rrzufR+55TOfu/W2L9/5zXu+/4P7H3z4V797/JkDLx0+OjQ6aROOVGXtu8u5vvO12//xs5/6+IduvOGdV11+yc7t27Zu3Xbxjl27r7ruvR/6xN994c577rnnnu985zvfufvuu+/+9re//e1vfetb3/rmN7/5zW984xvf+PrXv/71u+66666vfe1rX7vzzjvv/OpXv/rVO+64w9LkSjE7P31q5MSRgy8+//QffvPIQ//54//ne9/5xldv/+LnP+v0/717r7ny0p3bNq1fs7KnszWdjEeCPo/AMRRx1ghABMNJmhM8gXCsIdXU0tbZs2Ll6rXrN266aOvFO95xyaW7L79iz56rrr766muuvvrqq/ZcefnuS9+xY9utb+H6n/s+fcvHP/qh97/v3Xuvu/bqPVdcvvuyyy7bvfuKK6+69rob3veBj3z8U/vO/vr153hZzyvrKic/6kEwjDyKZ+h1AuZPxVM3dr5n90BHlCROnOEW2rrzC2tseP9ZRb1+PnAu3v2ZFR+97qLeBoE88a82XvrJj7q3XvaFtW+EP79+z9vEu1cnd6zvTPporF78fnAc/g/8GXqcv89VidpkRRSFYQD8zuHl+d0FeHm+45yxtMO7kA/i36Pn+Id8qXjvX3VdfdmmgQaeOPGFVx7cv0/6uvWmbUDPw7d/ZdX73/WOrU0usj78+fVvvart0u3r+qMs/tbwYGViw5quNj+N1Ye/zxmDGRBF3GSGvlm4z3VXvH9TcnDdYG8zQ878zj4vPParC2lrn4vf+YnOPZfs2dQnMPXhIbgJbkaOEhl6peuj7rvi7Ve37tq2a10XR//s2zb+vq9fCL8P/jXyQyJDvyTYeNAVW9O3pj1JEz+718H/65vj9ztjsB8chIfJj9Fu4RnBF+0fbN69e0WHx0X+ZsOPP/mF636z4ccXGINz8Xuu63r3u9f3+710ffjz69+5qnHHjq5WF0+8NTwIBVesaIgwNFYfvnbme+5c6tnRvOOiVb3heufi+c9C4u9W3HD1tk0p4S0+C+nb+m+8fueWZTxLItiP7MOP07fx4+69sZVbmnZv6ev2c8zE3bfv27dv8e7bL5C3+2OwBz5BTTO38e9zfSW2c6V7cHB9f4KjfvnJO+vA2zr3A1CnMPY2vt91Vwy0sxvXrO6Js+RDf23rm//mY/fXka+5H3wcBugC82nhA57WSM9F7Reva+9s9tGPbPjWiX37Hhm8UK7iufidN/Rdta2vvyvE1Ic/v/7BZdZ/Ph60p9Z2pxrjLrI+fG0M/g2sgwfJYUbnnTEYaL94XaBvGWNwLn7nnr6rtkXWL2MMzsUPLrP+8/EgnVrb7W6tewwOO7/t3wXPwP/1eo7CyvCGra3pZXE7n41vvza5+9r+5XE7n43fuWz8o0BAfoBa9BD7n8L/jPVfnNpyeUdHxEP85PYv14V/AuxFXkMBM84+JNwbAx2RlRuTST+HP/gVJ1/0K28eO3BsaQy/CEn0p8wv+c+FK9H+dcH1F7UsbwzPxt9wbXznFb1d4eXwW5+N77ksuu3S7o6Q+y3iEz3+1eubkl6+zjyV8/Ggxdu7Ohl315vnUuOmfgp8Efajd9Ne/jB/V7R/Z+SiNZE0J5APP3ybze38sMNV9YY66+j5+I8kd29JdLo8VH348+vfuSd28fpYC++qs/7z8WB9aGBFMMlyRH342vroC2AvvB3bTev8Ld7vRHr6fBf3h9sTDHv/Tbc68VQXWh+di995VWTvttTqdt5VH/5P6t8avHJjvLeZ5d8aHiyz/h85Y/Ak2IF8BTtGf0B4xvdPoZ6Pte/dtWZjp+usvcabj8G5+D2f7Xzv5QObe9x14s+vv/3q9OUX9a5q4fG3hgeDiW1r27qTLFYf/jTX0xy8EbuYEfmPeW+K9WxOXLq5oUPwLSM28Wz8nsubrt7R2OsOLIOr6Wz84DLrPx8Pllm/6tjUMBxHhvFn6Fv4dtd34z29ycHB3uY4Qxz7ytfq4KNFz8PveVf3tdduWdUmUPXhIRgCFPIA2c98mI+43hvfsyG9efOqrkaWevxT/1IX3l6jNdP3Me/hGVcq3tOU6F3R1ZakqRqnxucuOIbn4kEy3t3T0Zqg6sSrS1z3e+EwfhtV43rvaWU39Hd3NNB1csWj5+H3XO6+dnlc918F18HbiAb6Ce4nwr9F9vQL29f2r0iz7M/+9l8+97l/vjD+38AeyFFfYK7jeZcV60m61iRaWpI09cAn/tW2qZ+454JjuAveQr0+ht51jc0tDRR5/802/nM333GBvQr+JzzpTelo/2BTc0zA3xpP++Cett3vWb22M1h3nPAwGIf78DlqO/e48ER87drmdVeuTyfcpEOPve9HdeB/CPdh91B7ua8KW+I9A92Xr02Eoy66hh+8IC/KHeBaOIoO0I/9v/gnYiAQ721x2bSyNs39vn2D+96cY/3EUozvXfA26j5mFz/oSsU6ezybNm1an+TI+/d934mxvXCM79n49ov8u3bturjFRdWHh+Az4AlIU/8Xs4IPuzpj/VvCl166fUurm7r/c9+tC/8fYAcSJR6hD3BfEq6O9W9pufTS/r5WP3n/P325LvxD4B+RYfx7S7He6Q0t73hHb7fNnefw1D97Ab2E8/GgLbFhQ2uzHSteF37PObxv9m+zw3G0riWVTlFsfRw/6Hn4PdveCsfRWfi1ge09y+I4Ou83sbu2PnTX+Rz+yW9SMrCmO9DA8HXnDBB/ssbruy193a6mPo+Pfmtr1JZ3N7xjMN4mvNU15sqPJS/fmuxaxhr33DFYeVnj1TtSPW7/W1wXrNheq7/+dcFdoBfx47bO3zZb568h0rO+ORliyfv32etD6+Y310qQluzxOfOgK7J5dbiJcy3DHp+zttlW2ye81bXNnqvT79zVtMJT/9rqoaV7+BVHw2bzjXb9PfY9/JmjYfOzz1zgHp6LBxvCG/tDaZYn6sPXxvA8/9u17bt3DKyKcW/RFz34dytuuOZt+N/23Ni559KNaxvqrf9PxjCFrGnz+eIC+RbHMIz0Nnk8Ya7OMbScMXwAuJFb0L3MR1mHi3S1f9Xm1iYPh99fJxfpOvhvyK8Jnf53/rOu/zu+c3v3tqsv6k6yhHXHf9l5LxfcZ5yL37Ns/Cb4c+ReYoD5Gt/t+kh8cKBv7Z5VnXGWmLj9+28BD1rburd2NIVovD48BvE/8V+1L9N/dr7/7e36z/ov6tq1Mbiq1b8MH6TtC/8evdrBf/L6tTfs2bbW3wyW50s/jQc7+67atbHPm6oTD4AdHfMy2A93oa3MQXaFcG8svDLevyPU7Gfwhz9o86nevDQP73vDMTwXv+7y9EXXxXsiPHkOfvBHb9iHc/FbdzRuvDrWFeKI+vA4OAAehXtwN11mLxb+ORZpiw70NneFOeKh79hrs5sfdtZWgz95w/rvAftghXiQesDh/etLCF1dbb0279+zTv7Ts/suiB+AMjnMcA7vXyLGdaYb0g08cf9+B7+/XvzqGm9ggG2Jx+MhDq8PX9tjPAK+jLyEf56e5z4tPBRr700Nbu9uS/LoT7//dYcf+kK/aefit320710f2rphhR+rD2/nT30Y+S9iH13irhPKsfdtarx498b+DoF45K5/qwv/PfBX8B7qDuYe/se2dkx340D/YG8jQ91/w9POXvVCazsb/9Oz9mmJFX3d7al698o1X/63AIBTyE1L2nA9CXRjmzvaQFMP3/xB26bf/DcXGMNz8Tu7sV19/lQzx9SHP7/+wTZ0e48v0cTSbw0PouhAiyscp8n68AAvgv++/vv6/88FwZ+mIZ77OXTIg4CjhFR3oTUQrBN5fhokXKpzGRc8o9b0hpctf1TTQDpdC3LWVUd9Sx1CnH8Xqq2Wg3lWGiY8+/rz5SM2r5ItMUXRNGPrS9mqRkhN3kmRJLFarVQqlWq1WhWron1JkiTJiuKoATkyVQzHu9xen88fCPj9fp/P43YJPMfaJS0RKjlFidVKuVQsFvLOVSgUS+VK1dGZMswrbgDgmmv33gDARz6xYc3KVU1/c/NnPvE3fStXrgMfawLgEhSA9PveB8Jg7ydu/ezSd5zW/7ft/O/rL3Et0zKcBXyzsmAt+do6rfv2Z76BnA5DfP0Rtg3V6+8ufcGONnYshENotnTVLEHtK9ZZL6BjehwTVJPysoNxETu0tBaPC5xQVYcRzqi9XhLqWjItdvV2dHstnxzBMLsgxxoidpTs6cY7hZjW2eNgOXRs0AY7wnBOV+DrRTvkb7bNqKHOisG0RccgsBncENSBvG7mLIe3zrQcHjeno469rHWyplfmyKvZpcGaLJ3DhWdTwhmOap5pLdnNWqCv3SXMMbm2xhmBo5gTaYwuDZtTuVmTzbNM+z/DMGuXZS0Zfbhk4O1xRW0NNLsA6MjeIUvNr325Jr9Xa4xZGzHzdAFnfjFsbjtbRg3W1PPOnlQQvkXjeaOjY5ABW2EvOsjEuQd5EFvXsLE17aYwCtjHC/v2Jb50c7f/7jeLhzoX375MPDwPD3x9yThPomSd+E862pG7wR64H29n7uHvc/Qk2D6v0Bygwd1/7+g5fPrCehBn49Mxfn3Q0xlh68R73ib+/PrBMvEZPA3sMHvERBlMNhlYNihLw3FdEk0S2HR9lg4ZTDFxCHCa1KuAgVURZdQ84TdLKKlpOAV1gBgmxaCaiHBqDuVUjUFVnJB0olLuWJc7yCUmXoQr05ljaCR3AqY8ACE0CUNKRBNdQkkV0HqxYhiZot89n+dxjXD7OY0IyrMkk6tS+tQprI2ZxFeELKNctSQZsyBTXcTMBUtAPQlYwulqFvUYsqCNUvGpuTZ+FAvOl2NEDrAYrpdwb/m41UUeNRpHf9/+154/Iiusw9oq9/7JLv75ITNbjrBzaudKbDEyCF5UG+Qcr+yf7gw+fXRT7/Ojm5qGkTXEkXLaNzzsT5QWuDCYzvl8Rc0rLfiDUzN+9+RJEOZV3R/MDLl75Al/UhZZUMUFI2cwShYiWTOKzYMwLlpS0RUrFdrSw68J8eI4000cFRvhBJ40xrUm36npWGR2jvdhJuY2hsWEdcLq8o8fd62o7Cc20q9lmttnX/BtQw5Xo8HycWu159Aw5UNKmhtmqbg+i6Qjs8cjA4t/sNrBnIHIpsBVpkFHw/RYtFc9UaC97MII2yqNMXE5J7gWFiJd5qjV7Dp5kNroeWnER81WObePEk2sbCWoSaORLxQUzE1k59AwGM36o9ai1tyhzQBMpQWxytO58UU06LMkzI2WRICzLETdbGWmiKCihFMoyRGmiuCljJBUp6hmZHiGEkyLY1EMVStVyCEyAJKBaIBBDMtiuIroRjImiwAFBJBROazM0n4AbAVLXa4UNRpWLBej2mSwWRXNawk6g3ClEomKloAWgUtRG9gp1a2JpkIGtDmFpFCL8ViKsTiNelFIYowXSjhlQJrhtPEcUrJS6JwQzGQwS0dMuSrTHgIYFqXPWmGiCghLQfxuTQIWpDmeArqkArUCcZv9lAd5ImzlDBqZn0axWSXpUyyOM/JokivCAFjU0bwcwEsUU1WkeTPoI/LDBatohJtb2BzbCUcrrgBWMDitYsmyO2jMjM1UEAqAQDB7JMcHGNzthcVMFYNVIDA2eSuwc1UAhZkGGWBkA1p6Zg7jNNxuXkWkCE2pyrQLNUlKrugGxuCCuyIGYN7FVf2h+TmII2Ux5lk0wJyruawGs3PU1MlEqopS468tqLinbXN/gMUUk6Q8DfT8XDkrsabEia+M5+fpqGLGGLFyagaHJRBr8YtV3udxWyXEhVQtF4fiOEZL0xpZVSiU9oKSaPO3GnpFh2JBhjRiMqSKCSQOgYvSObqMuhSZYFxIUc5OM9SiJzaDdM6diCAnLHouzwhAc9ETYsJY9CJDM7Mzvu72dSujST5jBVGAVTWyPDJV1JRs3qxMLFYLVojWWKKIuEQp4DMqVcTt8XkA4FDEzRKhOKtWAK5WRRGjSwtyOVOtlg3LsGQZmCbDQ1NXAAIpj5dnCGCSJGTdAPhYFSEKC3J+StRmSoyhcijgVTGgjHg9M8HkUa1rurxq+nA/+scm5QuzO0Th5m7+6t454BfIkfnEzKNA/A3Zvf9IV+4XGWnaEzZ4WvZQ+XDgpbluwWjymYlOj1VUKVH0oaVYGxBWBkQlM5ytTp0qSMWZLDDypjkph5RCMk0GwoZiol7CiHgrbFjBGlmdIkB1XjVnqzwwjFOjsqmpKkHoFAfcrjLqXsiSEvCV5Qg0A9XZ3K+eTkXCn35f9L3XT5n900/Mzk6NPfHK3GTgIn0e+U6NEvjPXc6S7py/MUedd+nd2rZz6U+49Gftr6WV19KS6ewF4hke39oSrybu62gUOwKwSC1DCLd1Xu1PcZIiGYHFEILzRUIcUHWUdQksaTN/0y4Xx/tCPo4kWW+0KR3jgQYwNhRmUZLCcRwXQiE3jQNNxQTBG3bjiKlAty8Q9nMkipC+xqaQ38+RNImhwGJDYRdQAQYA6jDzWtUKwHGSYj0eQsrLjM8TCPL2wgsYGkBRyh+idYtmacHj4llEkyWd9goMhVmqAigcUhxDE4Zsa+e6XbgtGEHjAOMZJ9EKw0gKs1eIhqrZOVtAESXdfgGAIcsmhJbu6DAbZm0VCy0bg9XGx05CdGSLbVFgWnDxLM1wgkvgGZoVeIogGZYh0ZoGslwp5AuFfGZmcnzkxJFXDx8+9PKB5184dOTo0eNDI6em5xbzZdmEGEGxgtsXDEdjsWg4FI5GIwG3nbdlLzQxHIc2n7Fdn61A7As3NDWnk/GGpraOru6u9tZ0siEWCXkpUyzm8uVybvrEC7/5zx/++4/uv/++b9x+5w9++dQfX3z2yecPjy7KgI+mEg3p9u6Va9et6e9tT0X9Hn9AgOLi+LFXD720/9mnnnrm6SeeePrZ5148OpFTAM55QsmOVZt2XH7Ndde985qr91x55ZVX7t61/aKB/t6ujpbGeMjnEtweF0NAXSzls5n56fGhg8/87pEHf3TvPV/75y/+yw+eHJrLzI8fH5quUqmBS/YAAG7DkDO+j9qcfGMvCHQmuj3sBEEQdjai49VgWZbjOF4QBJdzud1uj8fr9Xo99mW/cLvdLsH2WrC2D6TmBKk9BbUNhiNPrcj25fgxSsVCsVgoFIvFUqlULpXKtatSLtvOEttLIsuq5ihon9kAOc8b5sh5OzLPFE3TNnEzx3F2lbauN0WRFOk0mySdJpzbV4cz295rOJs56+yd1dm7EMvZAtZ8Rks7KwjPiDY79Tv5bD5/MBQOBwPBYDAUisRikXAo6Pf5fL5AKBQKhyPOa79H4BmqphNu84krUrVaLubzmcWF+fnZqcmJ0aHjx4689tqRo8dODA2dOHHy5NDQ8Oj4+KlTExOTk1MzC5m8TRIuy7JqJzJSNOvcB7vyaDyRakw3p9Otra3tnZ0d7R2d7a3Nzc3N6XRzOpVoiEdCkUg4HAra9M4YsA2m7UYqF/OZxUzWFshZmJ0cGx0dHRsfHx0bHxs6duToseMnxyZn5jPZxUwul8sXy9VqVVI0E6IEzQm8XbfHFwhG4snGpuZ0uqWlubnJznsMRqLRWLyhIR6PhoKJts6e1Rs2rF21sqejw25WR2tjxMPzHMO7fT4PTyKWrimyLJUy08OvvnTg+WeffuaZpx5/7NFHfvHwLx797e9+//jvfv2rR37xi5//4le/fvR3j/3+iaeee/nI0Nj0Qq6i6ADn3L5QrCGeSKUam9s7Onv7+1evH9x80cU7d+7YcfGWwfVr+/t6u1qb042JREMsat8Fr4sXOJZ3CRxDIoZUzCwsZArlckWUZVEUq6KsG4osVuzJJyq67W5TFElULOeuW4YmlgrFSqlQLBWK9iNfqVbtO6KouoXiJEmgCNBs755sZ8TaDw7NMvZspB2LguM194G9ZUYJmmFd/nCsbe2m7bvtXMfLdm7Zun3H9h3v2LFpoL+rrbW1vaO9vTnmd7GYKYuV3PTJg0898sD37/72t7/xja/feceXb/vCF//py1/75ne+94N/v/f79/7w/p889Js/PPncS4deG50r6HSwqatvzfrNF+/cfc31737/B2684bpr91x2yc6dOy7esnHVit7OltbW1rbWdCLA4kCpVGyPYiEzMzUxMjR8amZhIVeqiKKo6LaIu+By8bzb4/H4IommdGNjY2MqHo1G7QENeFwsbpMMqKoql3LZhclTk9PTE1NzC/Mz09MT4+OnJibnFucXMvlyuVisSIqqKuol1wJwxZVXXA7AB/vBNdcC8P4Pr+3v7Ut97AOf/PDHe3p7V4MPpgDYjgLQd4mtTfdXN167134yP/k37//QZZ9Z07t25UrwTnyL4xdBbNfGEhe9/Vyi0Fpyd0BgQSen2Hau2P4OADG05iBaMgImcPLMEXSpDOdJtwwLIvZH0HJ8NfAM25/9S4S+bkFqmNMOFmTJA2X/s82D6WRXL1UGMcQw7BRnYMEal76TA20ZttsX2iYGhU5jgAUxy2aIAMCsVrm0a/oU9HOwMIs38cWyZtKcJekoz6s5nSc1SOkyjkomQ9h8d5imo7XkZpLVC5hXy+OCJpNoFXpgBUCNxESKz4hxbJFkciAASoCnywt0g5W1oIpyUIUUJufxNDUsRi21QdpPrsXmZc0VqpRYXXYhGctNGVXAyFqUW1BdYibQXB2GbklmGDcxthD1W0RxItApzximSeEIYuBkJuuLYEYuKwQKC3RUyA4hff5TM7xfrEQaCiernrCZ9wVeO9o8AA6NtqwZe97VnTAfH96cHCKFIdgoKsZ0auf0z9X1/QuPqn00zrwyuqojN1MVAlXNWy35cAUpmyFV8orlYH6krTuXBQDLlVe2HHw5tXHmId/12rB/8kB3b45GTxgo2OR7JB/LxVacnKZmG9c+8sL13XnhhZ907WHR2SNx4pfBz8rfhrvUg+5eczhDRc2j2OWNj/5Aun5HrsS9+mrMxW4o/irZ9DP1Fu9vRuRIxyJ29cxt8iqte9OLQ10n7k99YI3+80d7Np861dAIXjrSkZ5su/y3Xwrd4J/XQtzxwzKZ7CPzIH900bWuf+E4nDmS3uE+9qj2wfgP4U25HxvdftTk4f75ba5fq9el/vB0YlP1ZNC/aBFlGjnFdxemYYbZbjzBtlerlclAt4a5D7y2wn0otld47LfKqogSB88QLU+V/tZ9n6fz99k1EnVJ5sdlVym0JT35+/lmJudNUMbIkUBryVgdev53yApSXdX+3M+KER8d6PCceGlGTW5pVWcPPOPd05Al9GeOBZqaW4v7Z6QZfMsO99jwyecqV25TmdjL/5lPhtxuDs8fnYskNSOoDYO2SOnIXIBXYtHhyRA5LfLBCG9kpxQW4C5dD+LTWbmENDZhBVkvyAQTdBdUz+wRb1qu0gyjTGoRvrhIpPnpDCAC5LTRpA8Bv2pF6NkMQapVRWghjxW7vQfH43GL8JQnLUGeM2NBA1CZkyAEyq6e2NhLeHTqaOTi0MhCBH8llwbzyY5KxijJjKkKpMq55k+AJq7ibsofMnyahlu4AE1zNhMIG4gHr+Srhgb9AZqQZ0rAwN28hy/OybJMUGyEXijTsJAByQZQVSXVNgwQBTLhqUyhboR2aRWAY2ZecnlQy7L0ShXQwRgliQszSJDj2VyOJzIiauEu3KYVsggrbyTCsqodO8EHkdRaIZ+bGBGFcCrtrxw7Niv62r14zD0/V54u+MIsT1ZzuUJVxoIenMcXs1AvW5QQDhLixIRGkW4/y6Hzs7IEYhGcoqUyQCzd5qVgiUpeU6uAwHiXpZrFHIrrtAcoelU0LIIEnFcpg8Ic5ad8AaBakggIhucwsQRAyY7G8CFFcODAC3988eVXXj12cmJ2sSibOOvyhhsaW1rbOru7V/R0dXV1tDUnomG/i0FNTSpl56cmxkdOnjh2/MTQydHxiblMoaqaKMV7ApGGppbWjq7u3hW9Pd2d7W1NiWjAw5PQVMr5xelTo0PHjr568OArrxw8dOi1Y0MjUwsFyZbeCEQTyaa2jvb21uaWlqZkPBwKeDh7vSAVM7OTp8ZODh2310kj4xMz9lJeByTvDsYS6fbOnr6+lf0r+1b0dLa3NMYjfheLA00sZucmx0eOH3nt8OFDBw8eftXeBoxPL5QkA6Vc4URTa3tHd293R1u6MRkNenjWZjuRKqXc/PT46MjJEyeOnxgePTU1lylKmoWSvDcQaUg64nudXXavmhuTsaBPYEhbB7CUz8zPTI6Pj42OjgyPjo1PTE7PLeZKVQMhOU8gnrZ/2tvamhvjQa9AY8BeCpayC3OzM9OT4yPDI2PjE1MzCzm7UxjDe/zBSEMy1djYmE6n0432liPoc3M0jli6LFZKhezi4sLC/Nzs3Nz84mImly9WqrIGcFrwBGKp5tbWlnRTMhoQKNRSyvnMwsLczPTU1MzM9PTU1PTs7HwmV5Y0gFK81x+OxhqS9lrJ3gsF/V6Pi+doAkeBqStSzTt+zdUAgDd1kfddsQYg4PN/6ihf5/jJHwRfhCuQZ5i/E67xbI5GeFdzgCNRFOz7khNLX9Pb7X9jP/m5+ITf1xN10Vi9eHgeHoT8fXE3g2N14m8AKGgBR0EP/AWKMH/kvxK8KdbeFV3d5QoKLPnCDXbc49drsT4Db1RG4Dx8fySaTrqEuvHwPDygg7yXJzmaqA9/N8CdceyBC9Sj7IP8fS4QS0S7+8IURTHgS855Qc+Xbn5TX/n5+MFk3+ooRVFsnXh4fv1vFx/q6AmSJEnXiW85Dw/YeNKF4zhRJ34VWjsvh6/TQYOzNpFnX6cPG5e+Cc95+/Ty8mzCZ/jngGe/7ZwhninJXm9aZ449ncUuOP3HkrrT6+XA14taKsD52LJqLx0OIdsRZVq2Mws6y9ylrS/iiEZZznGaaQAEw6Bh1vCWZS4ds1kWcPxYtaND4FASndcP+4T0zDEtPLtLZw2eva5HnANC5wyztg63ltqJwNOtN+HSGV7tUNJp9VKoiH2GCSybMcpBOT4307ILRJbW5LDGNwRrp8cYast22eemdi9rpELm0soeOspM0LAl91B4+iDX/r69nrcMR0UL6Kppd8rUT5/F2oNlbwMs0zlDrW04nLJsojBn34HUTnqdDjtttLcTNpsTqJ29Oqe+S94He0DscUAdrTQEwTGCJFHE1tPCcQTBCRzHEYjZxaCnz4sNQ1UMXbPdLYoiVcVKVVYkRa5KqmLrj9mkX/Yeydk+kXYBJEnTHMfZHhXeJfAsy9gvOYakSZwgCRyxabpsVjlLVzRVURWxWhFF2RYsq9iRKYoqKbKiKIZpj4rdBBTFMcT2IVE0+ZZOWC8h/o/HpvxJoNW5B8fnfxv+yZvnvTr/0zfww515xM/7/wzozYs5C/Z6uMGZAILXm/lnaj9tl+AbhFYtRQW8cRdfN0jImYa+Hr5VO42HZwLNTjfpdGzFueFn59nHM2UsBV2AM2W/Htix9Dly5sYt0aOBs/v7ekCIHU9hnn4PqXn4albpTJMdGwRPtxycE4xxenCRM80B1pmQA8dOWWd6XTNYp2MWalEk8Nz+IWitnTWyf9v35Bw9OMNwOgzkzPhaoGYqazfK9i6Zpz9GsbNu0Wk7csYrsTQ+lmW+/jlyDluZTSt3xpy+HkNz1u/T6QbU4k/QpRE792Yt3cjXo/RsEcKlAI9a/AxcChBxHCe1a8nzYoeoLB28LEV6mI77zKoJFToHKAg4LYyw5CJeCss5q5Vn4mis0xFC9nEOtH8hnMAVJ4bFiQ1xokJOO6trAHvEnXvv/HO+hWDomftoe4udwJcavxlBErb8Ieb8LOi2m1erlY6hGO6IKSK1np32LzuyjU7vkdrvWq3rzu2zPYgEYUteO6bc0Azn6zhO0BRJESRp994OwdGdABq735jjGCdI3L4ZTsCgpql6TfWRoGjWCUwkUQTouqYoiqxoqmFZCILimFMdjuO2PCQCTFM3DMft7gQnkgRl+9KdCnXbf69IoiQptvKlfS/sowWHqs9wrqXjG9tJjjuOehJfGhrnQAFbunX2EQvqTHZHRNMWiLR9/aZ9RxyZC8OszZXTsxxFUdwpx/Hq22XZFdsFLf2U29902mBjAU4wvOANhKPRqO3+9nlcxFuM8ekFlJOrcivyefxW+lnuU0Ilym1s37WrPe53c/VxoNl8Qf+A3I7fSr/C/b2N37Z6167uVNxP1Ye36/8IQhO/pGVu3MavWT24pTke97vrx29F7iUWaYPb5KpEua7Vfavj8ThVd/33gP2QQ+9i3cIjrntjfanmVHdzyu+mHryzvvzVe8AueBCx8ftd98bCwWa/n8Iw6v8QHiwTDwANIFDBQ0g7JjKPce8Rro/FN4c3XtrZ2sQQ93/zm3YZd14o5+1cfPrW9LU3D65dKVD14c+vv+Et4O9Ddp/Bd/3tcvEvgvciOjbIPMAxLhDvb4+v2dTY7mep+3/k5Pw9cqE8mXPnUOBtzqHA25wDXX/hOdS0ZEeeQf5AfIr+OT/OV6LcQPuu7Vv8fv8y7MgB5Fnig/T/4vscO9K+Z/eWcNi9DDuwH3mC+AB9A/9FoVb/rsF2UK8ds/HPIo8S76cv438qVKLhVc3btw/0ccup/1fId4mP0xfzw0Il2tzXvH2wrztef/3nzqHw25xDzX/hOfAux47sBx+FrdQHGC/P2LZ4XWJ9X2dbmKPrnwO3wxmyj/HwCRv/P5rfs2XLQHO9cwg6+DGylwnxrTb+k+17t2wZaA8v4x7eDsfJPibKt9v49zdfOzg40BxeRv13wSo5yHTx19r47e2DAwMD7fW3354Ddr7d0hwIN6ealzUHHgA3wReJZ+iHhD5PJdrZ0t1ONYc5AP7Bqf8fLlj/6/jtnko08TbxINqeotxU3fhazuR+0AoJ/PPMPawhVKIN7x5Y3dftjnN1/p7bc2gDbMHvYH7qtjldV13at7q9mXMvxw50wgq2nnknc8xdiX5gY197yn4QsPrv4dnP0UdXr27+Sz6HISd3eD94HE7j19GHuIxQiYYuad61u709Xu88tsfwSTiHv4se4kTbFu5M7drd3d0cX8Zz9BQs4u+kD3F52xavS20ZbG5e1ppwP/w74hu0m7/Ofo5am/vaU6nwW7WlzW3dzW/Hlvb9xddkRC3/GLkN7Waf4Pe57o2t+3T7e/Z0tyf9y2jD2fhLl4lHwUNgAL4HHVjKW+29ArtpdTze7mYe/geHS+EfPrOse+B5m79n7r/wPfjZGb6227EM/QD3PeGmWE9f7KLBppZkvVqu6Hn4ne9t3Xtt3+placmejR+8rOnKy7p625bH6/I6HnRENgykmhrq5VRpd+bhHWAOPoM10//IdQipWPuqxNZN67q7AuRPvvSjffv23bHvQrx9d4DCWfierU2X7NjcvzJM1Ye3uRwoxOYReIz7lgDi/Rubdm3ZuKbTSz/4j9+99bavXRj/KHgCXksM0Ae5dteqhp51se2rVq1KMMzP9tm25Gf7LmRLvgtugt8in6Hfw+9x7Y25kvH29uZujq7bln0XtMMp8ib6FgcPovFUPB6m6sV76X8GjmefIvSKDBAEw2wdAmi7emynEeKEcNlOeQhORxNaZ/3v+IZqjinbAWU4wgS2I8OqJXABzJafqALbB46oolnL7rTd/DgOal+zHYCmUYtCcvKioGEglo7its8KseWKVQNFbSULAur/m7fzjpOjuvL9rZyrOufcPTM9OWuCRlkIgSQQIGyMWRt7vWvkiG28Ow4YFnsX1sbrxGJsPy9aDBbGmCiCiAKEJBRHoxlNzqlnpnNOVfW2ewRG8sI0vM/n9V/66DPfOvfeqrp17rn3d07hD0QJBvmcBIG8hEGZLIQBSc7lUaQYdYEycVQFR7OILJN4PpmBCAzKx3MUnIFIkMhiUOFaYlbCgAyJeYLMRPMsn17GFckYS6ZFCcLzUQgTAZRHUBHCZAiVZBJJJnAhH0UpBJbTIsvEE0x2ibOLcxGAowiZW0qzUJ5ECoffAAXn85IoolhOJMRlSUcms5CYg1kyHRQVaEJGRIBKAMqkKTImMak4RUpxkYeCIgPyEJJPQaSUBUAigV/UQ1EIk0QJJsU8CtIEHpd1sg+osFwyzSsTYZSB0oAlYlFWkQmLNJMICbpwiKHFvCiTUFrGUApKQbiULexDyZk8gAkyk0JhkcXmIxplJIKANMBAWsQzIUyACCwAee1QSiJSMxklGYkalSemO53ng2XcHOoCoXScMcSX85KCzIg5IEcpT/pMysIhmThJJUVejudllBejkByg3LEJWp2WlSAQIZzQQEojpiiQgJFoViBiCZhKxM3UWECjDgTtzOCc2pFfQtFsOqvTRudFDfDjRigcgxlZxNjoBFcmhRMZlotJbMqvUCdzIALRMi7FUU4McFpfWInn4XSWhYMB1ibOIqqoT+9MjIbN+lBI0OZnk2XkKFCIIBO36gaHnG25MyEnG85TIJFBKQRKRChdIoNCOUlkhOCkpf5cX51nYLGqcvJZaYfuzLySzCnJqZRWSuiUoZgCZVWxaSkc4R2u9JHcFsuYT2uIzhgbZl4nKqUJ2ZMbxVQ8E11grGAkW0UNiLa0jxQYqD+1xriwTNmQnoSTgzAZhqbnVdbotGBbWlRIKYaOxRhrfloWMmmWCEmG1LTSFMirM4uQReUbVzp90XrqeKhJdXbZigYodWoi63EFx3IUbwD9IacuG1/MmbFYXs5GSA86FYdpVpLgiF/njg2gOiQcV4L+3Fbdi2O1hkwMSPGkRrsYVKPLlCN0DKxh+4Ez0Ut1sT09rqahEY/bN8C6pQgSyRhAzsGcGXVXi3N+kSEFKBwnFXA4r0DyoghLQE2kEjIFYqhKXBZMSV/Oa+k7Z7VSmoUXsavo/iAhi0p9dAYWNOx8wCyFzFg/UR4L0AgqhjSexUkFKxqF2WmVHU+HSWVItKcX1NQk1Ro7I7tU+el5hzaAMgkaDHPbkm9I5VyKcDLjs9rG5Jumzv4BjxfunehsODVTR8ywUtignAiwGjohabIzRCUzEjQIkgwpVFNnqrf7nslf5jl1rtZ1frrOPOQrr/AvSbJat5i0Rvt1reLkPFuXOmmpXZpGVNrQgLk2Pk46hekRkzcry0txk5cdHTN5p87Urxl5VXUl/CZYiw0ky6wMOLfQUDE6pjBisawFnse1hfMAeiYQ4NzxU2Q1PXuWaiNPDuu6jL3TLvW56Tbv0YGySuz0eFP5whTukIdmvWsHfl/x9bEfEp9XPnd+Y9nbY3Z1fi5eAV5Fr06+CFfHZq3YAFS16DPzCwuMNhmTw3EVE8lD03Br/G1esezSPjfaVD41YkPeJLbl9i9db/jd0qcSLxPVuuHT7tbBcYucAeGcKTZn9Zw6XtM4O61Cs3QqpJEXWLUYiJBaKJ7IIICD46RmZMJuX5wQjEPnymrRsQllZTiDLjLUJNk59zR3JXEqyFOZZdwpj85xVjabSCfU+gUfS6UBAQM4CZNyOispWTkXpqzRMYf5XLJVPgo3KQenbTZfyJBZYNSiCMX81fVH3ix3L/pY1rfotM1HVFLKAZ3OVqGh3BLVOXe03nCYqcrkQn6DLpHBsXgEMwvLi7BCB/UvO3STCbs4LWl0WF/MkAjbsKkgoU4A1fKkVhOg7aFplKGYSH+uTJ8eWnDUjB22bJx/Udce781baT/ODmTXcsfCbiYQDbNV/vNaty9RRvemvLl5o2YAKk+Os1bS51MIMZHNZBV0ANjjM2W2MxN1taFj0Hr6uL/BNJxuyx03tiwt8nrgF1VsRo4gHs1YQoUAFgFJkeekiGjS9EfaDYMTZdWjQ82GEwm3NjKrc4bDKlHUk0HeHp/I6Q1pn6TFF1R1gbeZSiE0zdrEkJr1hXSmrF/CFUQINmT8SlIEGKeNTGgrQ718LTwJVBjIAlZOYAjQYcuyEU4IdCBnpBI0E5B0qYRdM9Rff9nAAddl4cP8pvy5lFEdWrYq+mO1+ukpzpOao8gILYSDKt10tIoYwfU4VlCh8ByK+PwWVyxAJhY15amzkhcKWp2Tb/G7lG8tO5LzDld0IqPWcPJCuprpl+vAFORQB8bpeuhctll7drnJMhmqMx0719S8OEhUgrNQtTxMemNnyDVQT8qLDiVsxGzOwQYSME+iWCyqUBK5Ka5iecLMTqFl6PQ8W8eNRfXpkFXnC/EMAqNSjHEjp1NriFNEc6TH1LhwlqlERrIecj5msUTmKG0+yqnDfi01JdUjPflGdixjo30JhZBLARjgCIDjSVqByHkRArSQXsaM8GJaRSYyBJWMKJWhrAWfztu5qZBR6YuaGR9shLOInCocfxDzheP+8VgkHPQvLy7MzU5Pjo8OD57vP3f2zKkTx44cfvPQa6+89OJzzz795F8ee/SPD//3g7//3QP33/eLn/30J/f824/+5Y7bv9v9T9/6xte/+qVb/vHvP/fZv7vxhk/suebqXTsK1YU2ru/qbF/T3FhfW13pLfe4HDaLyajXqlUKnmNokij4SHImHlqamxwd6D19/O03Xj343NN/+dMfH3rwdw/c94v/+Mk9/3rXHd//zj/f9s33Lv/pT32yIHi5ateOK7Zvu2zL5k0b1q9b29nR3ramtaW5cK6vrramuqqy0ltRXubxuF1Op8Nus1otKwf8dVqNWqVUFBQoNEWuZOC4+FdM1FHQblA0w/GCUqXR6o0rCoqyisrq2vrG5ta2jq71Gzdv3XbFjl2FikE33Ph3n/3c3//DF7/0la/d+s3b/qn7u9//wZ13/ejf7vn3n/z0Zz//5a/uf+B3/7XvD3989M9PPH3ghZdee+PwsRNnes8PjU3NLQYiyezKHuHK/lY2k0mnUsl3pS+hYKAg//AtzM/OTE9NjI8VTjX2n+vtOX3qREEM8cbrr7588IXnnn3qicf/tP/hhx78/W9//Z+//Nm9//5vP7zz9u/+87du/eref/z8Zz99w/XXXr3zim1bNq7rbGtprKv2lrnshQpUKoGlCRQulp2iGE5QqrV6o9lqv6ij7xZfKvT0uus/+alPr3R175e/+vVvfOvb//yd791+x7/88F/vLnT1F7/6z1//5ne/f/C///DI/j/9+S9PPv3scy8cfPnV19946+2j75w4debsuf6BoZGxiamZuYXF5UBBM5LK5MQLWpmiVEup0uiKpwzf14b2zq71G4tNuGr3tXs++alPf+bmz3+h0IDiWF+w/+N7/+Pnv7zv/hX7Dz38x/1/+vPjTzz59DPPPvd8sQ2H3jx85Njxk6dX2jA+OT23sOQPRQoqDvn9P+lvb0ZiRf3w13sxNzszPVm8GUMD5wt348zpkyfeOXbk7bcKL8rBFw48/cSfH33kof/67a9/9bMf/9tdt3d/62t7//4zn7p+987tWzd2FYJwlWVOW6EEGEeTGHx/cX38EngAvhP7P1Sa/Sm/z9xUZm/Z4LHqOXDgF7cX8ovdsbK+/OC8qRfzXVurt3+iqcKhKpG/1L53nXfrNfVlNuXH5IHD2rjWZdaxJfJLOAuwLBrCGtlEUteMx3m03BHLKxQuQVQ6lARA8VQ6OBXOKLMhkph4FTK70qcWiQwJJEV2HGawfCCY1FUuR8hyB6ITFqdUepjLJNWkRxGMoxyZCgc4IhsKLmF4cskfIp1cEk5GOSyRq3CLwTG6mknoIkyrM5fULvT7wBrqqWRDdAESVBM+z+FzmhQLlAIcWDDokjPDmmYnBUcRHcFjs+r60TGsQvHMgret8dwTC1ddlQvOq7s8Z+c4Ohbdnj07E1P2/eWQafvLR7GmlmTAW5d7oPcHn0k+9Wt3J5d8drKyuaoJebJhb+OrD8Z1zdgzC+1SItA/Y1fkuUxmh41kZ3m30olFEHiEaMZfO4sw+flZwNtHpnS1Dua141OBZfMm8vDb/RUuP7qwREtQCqnVzL/h7VQqy3Q2l6oBo1r4qazCOa8xH0/a3LPPn5mvKHv++NyxSuUvT4a+viN79q3YZ8gjKa8Ka0BDy8Eb8OcGGKs5Hx4M2NZlUU0yGvcJno7s41j1lXywKnS6tnricFwDzchrGqTDPo9u4ohPylU1LP/+3OXtTlcmEJxKbPAdoxYYtdQ/HS4nTwu6nCHfl1+Iilt3GYA2gfEOfbkwuZiimtJ/Ge643j75m1OtN2Vyp87EHOpK/1OHIZrSR4AG2Id7lDPRKp07/YykWnvznx+kWk35ZUvNIlL76iu0rQJMuL8mHa4hq3hGeeiVSI0nfA6uYUfnXC7/TCY5y9bEz4UAdoWQGH1+jq9PnRm1eqfzKcQhYeWhMwAGMFnJjAVU5mb8tdF1GzSwGElaeRPmSENJv81gVxql1/1ahHrhYEpvnzo1PCnKQ9nMoNBlSw9kGnRzZyNrvRb7m+JXGnp+M/T1z/mWJuZ3w8atJ8bZZvP5V4+AXfi554dNNVqTb3xxzLr7MnheLN9AJeXpwy/AHYrxMwvqTck3Xx/pbDhzOslXsEtAqVfweT1Ct4PedIW1IXyO8MZ9I4Ea2jcd5nkmCMVmhlu6jMHTy6G8VSe9k1vvmU9YPuX2HwnqyRwtK8rzcxOiHJgMIbp8T14/nWUSKdTSN0AZd9W89lZod/3rU7rOLY1vnbA0ueCASkiLYYUt/trBqqbpUQU0OisLSAiypMWUUZckqp36xKysnMtX2lN4/LyPT08PyFopmInFDW4uSYNEKDisMlIgg9JufSSSt6x1novyKm0eMUcKgvVXjmNd0jNBR5twYlJZX2sLB4cC5dWqfC6csKrjg6MwO76A4sz0PG0O9sYJWz3XTxrNKmg6y6RSbpanEUgmrOaJAC1y6jSlggHFDQIdx9M9A8GoP5POh6emJIIBYRnX2qSn6DXlLmrWaE9NBFvWY0uBPnUFm0qKS0mdS3XkUNxVznFzY/4UY26tDD9+XqtVafQZnUUKjS57r9iQO3o2oxKmhpOSODWZiEvyO/kGKjUZtDWmowgQSVM5w3vLsKUz9qsqfcOzzjYYl3E+SChr+P3/1VN58/m3fZOhzHIMyqsS437R4FoO4LTVBKIaLJaFHWZruRyazaL6SjQhKWocEb9PUz350qy07krixKGXklduI49OjRzrcVyfOU4SaUQHxd7wGaoqeHBk1FHR3qA9AcrW6EfRSiFyNNvMvf7YlK1dkT30LOOoht4OOLSYmGKU4RjRalmeWlC1cYuDKUudPn3ixEJbO5qBA2SLeipkwmb6J/I2hlCFuMbU20cmHW2sP5zQovNJrV1CcgQIpl12KotJ6akgxaniUwo1h6WVKoth8sQY38ou9gQ9bKA3b7dRSzFgTi0u4WqVkkj45/O1DfTMhKayQUOHDo/w5c74QkAEGktiamwiqqkwLL28ICiMM3NqAxQYTJczgDHjfn/K3IyLqMUqzC4ptrens4GAs2ZhYAxGNVxvf++gzSkllqPT4zEtzcozECOBRBQ43VYmH89IqF3NqBQwiQKthkYAUOunjs7mEDKaM/ADyeyEhAMKBOcplZqILWYIgQxlGFrIwrig1BlVqfkQYxVCc7LBGByKGhRyLhP1pwFM8FzoDGSxEpNZBwkn80p4KZcr1HsNRVgcDc7KViwvU9lIGkckmBQQv6wWkGSiXBMdw2oVk2OS1ykuzkE6CGGTU2GWprBwliIoNL7sX8jSCiQUkbh0lAHgqwAp1lXywjchX6AfZm7mHzSv7dB3rHc51Cxa6r5Cgb/1Pb7pCuu2jVVevYCXGte/mAeV2pYGu03JlGh/rhjTvrgPTR+rD3/lu77juvbGxnqzivh4fWi61nbl1poqo6LEMcDAC2ASehV10Sj7ff6HZneNaX2rp1zH4/t/WOB/+4OfFP6044Pt7wNroKPEPdQs+zq/0exy6Jtc1gqjgP9ub4G/fe9qMfUCnybuobZzBR5YdfUOc5mBL5HfVrwHACLhm5B99FfYLmHSXLmtYvv2hio9hz/yuS8X6l98brU9SgAp4JuQAxd42zcaP/3prlarkiiNL9g3vM/+tR+Rxy7JbevWGiu8ZTYNgV+U2/YD7wFWrGHyPl6pc7kdJiWOXcR/iF6mwB/6a25dpbZMr9Hwl/BtH8Q3FHVLj4J9kA8ZpLZzjyq/ZDDSdjWCEAjBfK64N/G5VfYmqEt4/bs8URoPXcKDj8jDNA1gQ/wk7QgHlmKwGl2KowFV1fSkjoZnk1quGj/JGRnVfJ1hzqQMwC6dMhi2tUpJLaGNiVpbFjGNZBwhpnYR6CJAqrLPB6V1aJadMOqU4cRlAUKXpxfWegYE2pFL2oCSU8jztep4BvMmFs3LRuMYmnLE/PiA3cD2TSjQ9JzOF+1YfjZUo00OREg3eCfpci6OoB4OBn1OUV4/RCiQqXFds3oix+YzPkIIeP2vc7gl/aZ5khKwxQw+43yT9PLgaEZJU4YJ2jvDQKkyFOvD8sZquedkNaMJDHemR8XU4BbyaRctunJLyilaPW/PuMA7YckOWbkx5SgPxSiscjIJCfb4IgJQS1Bu61VFgJq0TVzxGHnlm4apWn5qPnv5GV0coNPONLYg1w4F+nZGU+Acl7L1TFz7tu4dWn1g5xw7OX/1884Bbu3A8EKDZSgn6yMziXQdPkKnx43UIhXMe0fCvmb3X7hplXWMOdooieCFr0VmoVjtcSfV5/ZphtzeV1oyOSFh6tsoDmhn6s5Xuxe4WeWoDQnzSdNxTJ3JjHfGUTDZMi7PpyonO6ZN8ps7hhWKvH3JOia6l+n5dmS6YbYsIunD6yZIjeR4zoWGu570cDPOOTJlEgebhjKVJxWhuDjn9Ge5QxUDUduw3W+M93VOE4QfovgZRp8n05QiCHNqf9DgT7LMBJH38f6UMS6L8jJkfGfHiQkrSKQFap4fLhvWOQ8Bz2klpY8DnM4EWiIjO0eSoOk8Ty/pNEhaByVsYyb9W1uGmKhMpHluiYxL+mGaO1chzkx94mlu3UF1w1BSIZrSaLplItIwxROxNMWF9dxI9Uy5PHX1CLKkhuau8jHMTMPxMlnOMo4hUPe8N3LcAukGE84ziiFSxO2nU+vm+sR6ua92hjEfbhtTZs/vTCKIr7yHoQMbfdk0YvrT9rew9U/ZQin6dHOwf8OrdaN+dRo92jAobfpDBzRnnW88WKme1/ABzDiFgbJh65IpG3cP2IQZu18wHrHGJO87m49StlfWT9JgznrcM6qqf7IOOXbFGxrVaf3cmn5u64F1A1O7RwQCs5ytnoQ3nuSjJuNI9aDKPmceK7P2NvQolQNbHyvrejNrTfjTOfts0KF6ZRtzWK09jDufdUkjtXNhA/HkLdGX1qsH9bCUZhIywAzkGzsG/esHbVzE+4xDs6Be1E+rtSc2DrPsifWDpG7I3H/9CV/7EJwAlmHSmpqmW6ZFcwQlEvaARnOyc6n+GL/rSTdNTLnInq0TeQrPzZE+vTDlQJbZIA7pk0m2ryKcUQ5JSU8fXJeClvg0AePKwLzgGW+MzZdD5zXrB41IGg55jluM0xiIQbAo5UOOsN8wlbMMp11RMk1wPYapZl9aHcOG3efdykCs7B3YO+RAMnQiSQ6VN0xOWCdp6Njmty3GP14b9CnFZUnJ96WvPxQtS0qdh0DVnC7McD6ICEQccso4n2oK+GuxARsV4HB4VmEY4zAFeZ6IYQog81OMYs4yR6xZGpTpJCtP2RboRdSY8vvajjPeEJ2CJlk1gSYQcRirPmNW96gTMYs6N2XN0qqs+9Vmvtdz8nPxWcVwBYhKi07xiGxyTajjZ3dMZWQ4z0R710JoxQly24Q+lFgvaw4oMLDmjYUymsucUJaBRfysq/4E/dA69wgarORn9YfBVROJKhGKjgELPx1LqI2n9X0Gu35k6so8PJmo4IA/p1LOBUA1WKAzydr4EWRTWhxdNLmSz5taub4p57C86SXJGys7rORMmtMKUdg+8nbg5uQb2miFe0L1RMuOQR/KMzb6qLAVjb5k3hGCZ2bXVR4OoZOXG08da5CNc0/u1KZpv2+t/nUEAS1cEB2uML/KNutfceif82w69UbVZeley5rJfhtzHq+ZmRIMyQAz60yzijMt3sEBRev0eMWyzpSfDa4hwel27ZgxcL7KQc6edWlqRmbs+LrJR+yddOYP9Fo3dmahSjMrDWvb5sCpuS9B/83VoFLvmLSh4jUfQdVT8AnL1vOPoJ+ysId/c+XWiQN89drog/x6TIsdIK8ZGQHLHdvPvcw0dZx8sG03PXKE5jdP/OL89evg149VsOWzj1bdTAaPP/HdrT1HjtTTasUR3z8g0885rj/fJY6GBB73x9b0Ba8MH3OZw/Hjlohqc+DYSJd1cY4GmPI1+QqJOLO/vA3IJzT156lQuM6peWfarKAix0VTIsTTfIwMy4jKl6jp7ZO9YC44x0IKzXIOQ5lQf5nJFTvZY1w/Go4arINDeWUN6RuksLkyKCEsBwAwO0NTZi637HSSw4OYwomxZ7HcsDDe2jYwj8cCFVVD+QDghr14JgmJi+hCHQ7CkZjCQITm6IwSjLeJ6tk+1F2tA2/rNhjCb2s0OWjSf6ND9ebjrENAqUwFeHOcU7F56C16PUFOK5whqM9c5lXGZg4oq2IxwC0tblK8pNKDILv0xrodmr5TpN/OHs2sbTg1lMu5FK/PsxWyJMpGoO7xWfEMnkrHBMN40psYUDsha24wielG2TUmdloMz5uhYxliAhfDGJgLMmWVUZAPVBMngFcpBAdOprqg6cCSikJ9SK19MWZdSFYn/dpgZJSpg635EZqawNVYfh7O04QlHMVQcIJQJ6zcqMau07hgkePj4W1eqcwgUKgcTqdGD0UtAImcWszBaF4vgGwypLTmM6zKLDMCx8UDkG5DDZaTZmflFAXFQDIVS+RBNOCPEyYbmhyNxvOwLEsEGsjCUgbOQlqblk2mE4GsnIcNRIiLJ3PzcTmQDDNqpUKKLoUTQAHEeDidIzM+/3IO0zAgE1iO5AlUgyFIOA/Fs7FAMKM0afDF+bkUDgMcZwU4pXPs6lTHEkmLnZw/7EMxZG4oICqQGEA0WDKGOQw6Tutyrt+5uZ2TII0meWT/s4tyzufPEvJMwlhvGz00yuopcT6YY6RoFAg8C2S9TqkFedTmIiORecBlxQTK5ALzcZKDRErhsMMJgBosCMmrvDxMK5VoRuR4ms3SJMqnclJSyUPilC+eSIMAzMSDIJ3JAylManBGTBOiyKYhlkzl49HQYioVZQgom00msVwyngJQLCVlkoHpZZEH4GHqSrDq70KSO5UHGZrCtHA4hePZpEwg2ZSEYUAEoHAU5oIe7V0FG7QipIXerya8VBt9yU/+W1HfX3WW75fovStslgsHa+RL1XIXiZrfzcH8v174wj8KmXwKomno3XzNhbQ8K3rbFbkYDCToQmIh+IIKEr6gG35PugwhkCRCBJSXV/4LBTkZRYAEVsSBUEEHXZB9wUXJ8kpSIHlFqi3DuJyHLsjAiqmWIQSIhfRFeRlH8zIEwZKEIQXV3UoeIxEqZNGTQUF5DMkFzXFeRor/yBdO6sgYyAEEQiQJRSUJxzJ5rKipyqC0lAU4EAsy6GLfJQiD81mEBhkRJeC8CKEoSEsMLMkSiaczJJXPwgSSyVBkLoeQ2SyJg0wOx4GYRwiQB5gIqHyextJZipbSgIJyKJIGNMhJGJqTaDydhSgkiZFxkQFSIYUhEGWKyOVgFAdZHMtLGJWNKDTxLC7lCTqT4MkoTKXyCEJmQ5ggxWSejscJChFDiCaWVeVkOivhEiBAVqLYWJLBIVlE8hIPxyAOZABOZVMwgYFMlsMzGVgDIiJOyoScYMQkg8pSmNQnkwAGeUYNL0aUAsjEER1YphX+tE7IF9KTMLr0uEXTyzX4h3FFFsCJBKTITCuq5k8aKuanvM6ZCMSpJufc+SkVWFLCGRBUEbMa9ei82RSPRvT2nrR3PKn0Y0Qmi6siw3zL4gmtTkzMeTSn8jYsGQd6vB91+yBmXslIUlCbWq7ETlIbl/sqc4sOcQlXiAltdr4cetPUNX/M2Hp+2qSMxHWpnDqYI3JkIqvGYykKk5CorASZIGFeiKtCKnTSqBgJN8bP1abnHakkjlGRuJFdyAs8OgkqkgsGRTCnkAK8OerHFPC0xvumuHVotiNzXq+QcrNq9/SizRwbkmrQ8bRdG1ww6Icy7swEqUhJGDuDNPfNr0mNlrPnKlSvm2r6Edekpu70XDt/KuviEglKTiuZgN/p8E/yTXEfC7Sgn2knXg9ep34j6tSJ+RTsyuXUI5r6M0Cf9AQGq4gUMmxomegr957P6tMogYQYJm5PjzZoT4NK9ehSB4gzAEQU5KLeMJnS4tTyrMEQkmRMO6EwjpLcImaJLLZAB8tsfRnJrOiRhQwCFrI10jlj1WSYI22JaZrTM6fUled49RuOK9/uc9ro/sVyw5Cviu8HG3v7L8+dVjIZRT6qCY1W6Q/Gt0FvVXc+NPHp+Ykdb5+9lf9jbJ0wkVKiWHrB3Dr3cl19D0TlmJCeGWb4pFk5slynPCJsfefsLuIE4c6ft5a/TjYNpssIX9SgWADmrCZxur3mnfHOhv5ThstDb1iumB1oEUeNlYs9G1yP5f8+elZHUMgi7MgFrOwIpFuMrTU8F7pR+WvdTWeGm+1TSwreHB0WypUnF3byLyvW+EcRhq1ffq2udjos8Cw+CnbLPxO+F/t39effCW09MPLPqQfcl0+fNOgSsphYdlhOJ41pTSygnAPUOGcEYJp0jZ/Xt8g+OZqyWQdONFj7Z+mqxSPGtfmDw5vqo+f7arbNHUhvrnjrbce28JFy+/lIp+6Zhc83//fIlzT3Br6jeHjsuq/tu+uTt538D/cN0msDl2997Kkt9cNJKKCpi55MePBlHAkY2XcMTWngjzixM8i1zOFkuX5+qZo/pdne19+YyNaP9bcZR6MaczCqicVsqJ8keG5u0mAZC+iguaw6HLdFJqmsm3xaaJ3JITN65+SiGY9AICo55Hd0bcdHW7n5uI7vj7SrTy/ZkTFemSGm09WxEcoCIkh8AVWGjkfXlh07XN45+w7dlutlzFAgnEqxKQSedniGl2GuQze9aDUHcTyq1otiJKy1pMMRtosdzBnL+DMRCzDq5iQyooEngNJq6BnqrBobgtr0/ryiPDdkWRs7b2hWJOdkm0DJsl4UTdhw0K3IxYYIO5yZw9VBVJ3LUCwCYkm1WlyYtFcGjw95aiYPic5cnExMZxkYji6AVsfbQxXsaMaUH0f4lJRPxP2IIjIMO+Mp3h/VqH2TjJlCkjFaSqnYpWWVBwz5MCXnO8c35pYCWTqKG5enBTcV9DPqRF6cBSYslgnE0lES9mU1HO47nmvjXj6sqhaiw1MiHl5MRXD90lk/kV2AIF8UyLPDGD6XTgZV5GSYjS3CZMqPOrChiJYBOEFQEJSd4lqz5+Qm++KSoIRUxDKw2eVZVIA4kGIQiZYEmygzMaJC4EHA4MmLOONRLkcoNYjzDnxxSVUnzARMdZZslHB4wTys15g4X1aP5vMiqeJJMYy6taFlZYURT0tGC5wFuN2WSbCa9JKoVcZzfM4vcXCskGkwDwglOzONAlIvMCAOQDaTxBRYOpYWVKEJn+jypmYBHMrDs0GtQk5OBLVcYjnFUgV5tRiN5sIBQg1SqVAsmUQKRy5xNLGQI3LLGQUvRjMARmRAKQQkFoNJVE6lYT03NcMaCP9ozqKT/Dk1FY8mUyQPJIKRMgyXg3SCBApfIwgLz8lqXk5CJJSMkE5tLo1zSjSL6JUSxsF5CM0kZJonUyGcTwQkgqVzaUKJZwEtMBLKkwCAVDjLGchwisPmZgCv1meDvF5KoTghkKkUxuJyNAAECkHlDMrACKukbqE173oHK/UjLqjsiyUpVrITrKQNEZsqsXg8m5YTQE6HMzJAgCSJeVSSgQSLAC0cl4WKCn6mcC0pm09KeVES5Vwuh8HZQtaSPELmYBzgCApTGEQAgGEQDoMcAgr5EwtON1Q8EQ1yUuHELxCh9+TwUFGGL2GYBJGwSCAyLkJonoAACQBMIjigkgiek0gpLaFIGgMJQBd9ERFIEi6imRyULOjW0SSA5HxWkvAQgWXiOJuiCn+PIBwAiJCnEDJDFhIiQzgLciyCYFmlTEE4wKSMGsvislRIDVzwzhJ8OsOhEZzKSsokI+ahNCVDOAB5NpalUElGYZAT06icRwx+oFygJQhCxIwEUBYPajJJGochJMuGWCyoQZMonMSiqmxagSSSNABkHiHTqgwzo0IjfB6RMyxNpflkxpplqGxeAHRWawgLssZPGOIJFvNVJSA+iRMJKQHBaZkLaUU/i4G4LKEQSKBowJ4WZRqILEKJAEqgaE6djOrinF9LRqiEIklLCdeAoZCWgKADTJ4fJdlZXSyPS2gazmf5tG4C1S8RITUdyS25w6IqoQhAPLHEexZwW5rCUhZ/eRqn6AALUiSuDmCFzM0hFb/EpZZbQplUtrw3pk3g2YS4XHbM6IcIApozKfKEnNEEtYGMOgmPrBnGtGetPIJASYCO2nGfBvJP83R03C3jU9XhvobAaI08Y9T6c1W+BKUOZqojU2XJN5r0876mIz4bQg6pmk8zIkIy7kmDahqISkWeItLuUcu897yy/GjLOSU9mjaGMB5Cap6HiOW0OuDr9PcoYxMVQ8uNxzqkZFqvWrSfqYqSIQ1+tJ2YJBt7XOmJilH9TFwI2t9yR2NETqTRiPeYPiHNldPHK+bUgESr+l3p3MSOF1oUI4qG0w3jLaMU8866xSXTdF1oni/r4yqPYOZlfYh29AraqGhdPr5zpP+LJ9KLlUuJRXV1L5HMmyaJAJ8jSO5E1zH05GXjGUsywqh71oCpoX94wpTL5ic2yJmwl3jjymcd1Fl1WswYFaEpyfh2/WLK3FvZc/4f/ryGwFue2Jw/snmcGbvu3FLT0+sGK6C3bONrj+Yp3bJGlFOY49x412J4Vjutf7UziqerjwEVoowBwzsbw+ohrbr2xYqzO089c/VbwzvPgAkL6Xg7sOZ4dP2o0EuWP89WIr3RxqnePdEg0jwW1fkaDsNl/YZzddUH1/Vkrj7Rt+4vlWML607O2cCjl5+UyirHUHdvWrFAm/trsHkH9fpa3X23Dqa2H7H4EebchkHPMGfog7nDG88blx3mnpb5k6wIj9ciPMo7J5qC5MDWJSLiymXzWa0U9lFNZ84bW37dlG3uE2qEhYZ46gnq2j9voB697giVrVaeuSGx0BhOnvhq4mBNDPW8Yzq/N/vgrU945qoWX7/9qcuOBa966CsDPVXzX/iZx3r/Pz8X3KRQv3DrS7PNExXDBiTW+shG38Llryr15DgvvXl99p3gRuXrduHZLl3/O3uJZysDU0gH/PpV/U7jKSrdMRtGUyqfczySF+vyzHTT/kz5USpdzeZNvWtTY/2fwbRzmPX4Yq0fbR+1Ygu5rAecW77xuE7VC1WxT2+N99+S+INn3UHUR8bafXnNooLmn+/0nHdnZ+yg5s3MntfN0qQaqMayWZ3m8lGmbO6UMWALpNdPZbYP077aGUjaeaTKd4RKBvQ1VFznk16zaYNZ/7UzSPVx0hKOu3suy/unDVrzFJFgq8cW8pw7A6WWzFlhrlK0DyXKxs2pl7S+YE22T4fmz9eGHNTEnH5Ko2X8NYPGxJy5PNC+OFU+OGTwqfDOlxmtNPRk3L5xzKjIhA9B/KYZz0wQOmXxh9Gyc1qVXksuLSDokk1t4cJVaC+fCI6oXXVL80p8gJoY2+IDkj9iAj2aClQIq6sXEuVgTvTA82qgAfAY5umdIywWccnKgxM+ASNiek9YlcxTyfxojcMmTpEhKZXjR6hyJoZ6hZcEmfFwIf/mhVOAXYisNc2Caml2PEJYyo9vaJjxC5pTgYrQuNETzanPZ2qWZjXV5ml7Jt8/mzWr5FjX/PEkCaKu1FmTPpom0RFdSGgQWX+vcUGZ0skT1mWNc5qh0tMG25SmDAz6qpIzoRwf1k7FW2IQIHwKK5IJqem5xZCtPTwYNAfGSTKGTy1yFUJMGw3GLAvT1nlOFUPpisUAbcnXCXAsUjOe54xRKRcjABzAFv0G1bSiek5KxxQ0skQzXHSJ4rIsN6MvC8vENABhGoKro9k4oKdV0hLmBSncMZcRZNKZ5uJnc9oI6FdUzEXpOjG1cK6F9sd1cwrNcjisjEQgEcoTUmZJHcvql9TmpTCMNKM0EuKn44ALk1g2nW5eAo4IKcVtER/gshgGVEl/lu6LrwnmddEsMoYRsIFDMWUWj/YZjCDJCoRiKOAHHjhSV5s5O58V9fRCak0tvxCsU0u+iMeSzCTTTHJphKoIhrKkEloISS32QJL2dFCnjqbz519JuTe6np0yOengSLq2EvQnjDULz+XWlmt6XjU4gmPjluQSNAlM1fJziXJbNJBZ45qcId1lS3OpXGw44Ua08GBA7ZicN9orovExHbfc22etMqdPZeuZiXFmuzHrm9avN5wad9gjQQm53Ds4gJoAro6RSgwgZtNwMrRg0GcmGm3jSxQmKTmgdXLzOTIVjAFBkJfSdivjX8hQuliCU0eCy/4oTgRSGhOxEGRN1ng0mzdkZiGbFJoMUaxdlMLKqthEiNXwIz48JRMQxEr+qE0XjchyOCLFBDA7Q1shnFiIsaq42iHgcYnIcHKE4wGL5mg6kZV5XkagHCVlCQ4PB6Qsa0ikMDY3m8IdTnYqqDdCi6GYxr4waSxLnB3F3W7dzJyTW0pmYaU+ELJaSf+8zGAgHhN0KYAoqoXlUcVljthSnkbHRuJm88y0H9bgo33KajK0jFtxf4yyaELzOUJBTC/mICocQoy6yIzstORDacFggReBRxdNq1mVajZvsRkRghQUYAa/6TpyMiaiuC9Vro6HQqlkbODNpNcg+6f8IDWbKrcJIK81otnCnq0akdUqaWYJU5MZYLToeP9MHs6EUjmZxmeGorHAckbnNsbHxZUayj4wDI8jXfQkM87ts3g7HO3bnE4dRcwX0np0H9y7mn7TB/4LfuYC77A0ftNyzRerqi0C/nyRf34VHgKz4MfwOMLTPibO0ZZNe23X/UNdjVVBPPeL75XAl4EXwVnoS9itZEPxnIausWxrxdoKnUDs/8ID3d3d//6t/avY7wH/CSXxW8k7i3xDraPD0+XW88Tv9hY6cPv9j5RwzuOv50RMHmOrx1ZpVhAf5ZxIL5Enb+LcwkYLMJprzVqnjiN/X+SvXYUPF/MBvAi2w48jGvphppXfZ65dZ1p/ZZlbw2F/KZ6VWW0MkUv4Hf/k+cQXmxstKqI0vmC/Bf4vJEw9yqzjD5m7bnZe/em6apOCePze0vhDoBtyII+TJ5mf8pOWrnrzhgqzSkGSD3UX+G/feGAV/ilwC+RAbrrAA4++s1wnsBT5QHeh/teXb/zw+l+/Lp7TBtA9iBc7QN/KuQWHpa7JuaWtzKgjiaH793Z3d8sH7q/ZtO2u1gLX9L+OoeI9/vVCHegbq266Yk2licWHflfgU489UrNpx11rPoiHLvCjF/hNV1d8YmtTuYHBLuI/0H6h/XciXRfs77OABvfWNrfDQJBDdxfb/8gjH9r+x4pjMAga4AYC0LdwgjBpabKbGprrPWYKi//owe7u7rtXqWuPXMJ3bSjbesWW5nKWKI0v2Hf8P/EHgeF9PLB9tPa/BVDgBA8AA3SI3Mj8iPuCsM/UVE1uam1ttXD4/r3FmuY3rvYuXczv2ETv3rRpk0tBlMZDF/g9F/htrdQVa9eutfMl878o8jXMdq5LuNUETERDVWWVjsb/vPfW7u7uJ+/+cH6gOJ/8BjwMORCZepP5NR83NbXqOjaUuTU8/sgPCjXVH/nWXauMwcX8jddatl1VV21QEqXxl9qvvcK0+cqaSr3iI/KDF3hbnWZNh8uu4rCPx4MyVWOL3aJgSuRX8iLsAwao56812SuRLQ1qo4Uin/52sab5t1eryX4xv20juqfLUKzJXhJ/qf2uDuTqDl2xJvvH4kEFsqlOVazJXhK/rzgG/wFa4HvQffQrrJ//e3NTlb2jy+mxKPBHf3VXIbfC3as9RxfzXTuqdu6uaSzXkaXxf2O/w7P5svIqp5r4eDxwW1rabE6TgJXGr4zBn8Ab0KeQw1Sc+SX/kqmpWt/S5rJqePQPd93X3d39UPeH+xfIJfy2653bdzVUWjR4afyl9r2X2zZfXlNuVH1MHnzE9q/kKxoF98Eo3k7tYRT8IYur3tW6rdXTwJHdxdxxj/Su9l0p8Ca8nfo+cxt/yNJ1bdXOT19Z22F4l181v8UomIRQ3Edu/R8f7ZBlzRpP29UdbpuC6C7+Hlk1R8goeBjqRh8gb2B/ym+01LbX7FpjM5gEaoXvWnVOvhfsgcaRduqV/+EPmYHWUlcmFEqade8t5p7v3vGhfKo4hi+BX75Ph1Vb6WzbXG4zcODA/UUdVvfqOrL3813rK7deu6IDK4m/1P7uRk/X9iqnWSiZ7wH3QCSsoQeZJU6wrDdV2BQWixrHXrruu93d3XsvnOd+pEQeKBw63mBQYujF/JMfwN9bPJdPQhPwJH4bdSvXJdxsbrIbm1vqzAKGTnUfKPhIq76LF/M3Xld53fU7aowUURoPgTD4A3wcv43aXuSBQ9+wpqZCTWOHVvj7P/w5ri2eR74N+MDD+FPUA1yX8H1tLczgaDED+7G+l2X5yWN9L6/ShhV+kDrE7Ra+rwWEkiZ4BPl/4pHSeUOxD/eAQWgjfpi6k/2C8H2tkUc82kLJ4sI1Xj5VQhsu5gGDOP5/8ruL8/otoAZ6HNvDsNzdhbPlDmWry9FmIsH93cWF7yrrNuYS3qvna63meh1RIk+Be8CLUAO+h7mJ6y3wPFdpt5g5DNxfXLd21642J94DboEeIPcwjiIPdmqu2n3VThcN7i/i3aus2b5YrBvtB9+HWMJPrdRS8PINVi3HcO+vPf1h1yCAH/z8fbzA1ll0Cl5Bl8gXal8/DH2X2E0/zi0Ld5obKYvB7rCocNC9o8jvXe19PAl+Dn2O1NA3cXcLd5rB5ubNm665poUF3cUxrN374RqTlTnlPnAn5CC76CquSbjZ2ISTWpNBz+Pwvpu6f9bdfddni+PY8kHXQC7hbyRIncVoEC7h13xwHy7mAYQyPMsSCHQRX/dB/FvFZ/lW0A0tY/+H6mG7hBtNtRZ9Q1211yLgj959X3H9vNqa52J+R4W5c01zvUtFlMZfan+H29jW3FDrUJZo/1IefMT2dwOiuO5zQJMkyrRwQNhnaqnGN3V0dlo4/MniuuvJktZ9vvf4psuoa7Zvv8KtJD/Kuu+vvLeJvGzduvW20td9F/O2GuJC+z8Kn3+Pb1hP7dp62WVOxUdqf4FnuUF+o6mrhursXLfeybzLrxoD2gOOgc9QKOPguoSNJqAlvJXlFTqKfHLv3hLWrdmij/RTsBuK437Kwe0TbjHWeqmu1tZmO0M98a07vvvdH71812p6qYv53RvZnVu3bqoQ2NJ4CPwMbIZuI5ppM/dV4UHj7gZ649quThdLP/6N27/znX9ZnX/3Hq6MYW0F1dbWudbOEB9zDHVkZWWFV0+XOIYrvvoecAt0AOsj72Mr+Y2mqmbl9g6vt4whHyrmw/vHVa6BFPl7i/xt/CGj92rtJ6+9oqNFRe6/++6S3uUbwM1QN/b4Bb7pSt2ntm5radKQ+7tL478KNkLfQF8m9ex3+LhxSyOztaOyzCmQj9z945LWO3uAC5KRx0lL0T6wKTrcSo2GJh8ptn/vKvaXL+j2quGNeIyaY6f5Wy21ZebW5rpyI42N/+tvS4hDqYt8BHuX99bZ13a0VFkYvDQeAg8BBaxAB6lO9in+O2Zvg61tS4XbpMD/9LOfFNetq43hxfy2NY7OyyvLzB+X93a51l9ZXWFRfkwelJsb17rseh4rjZeLz3EMHINIYpCycI/xD1tqPfqGNa2VNgo/X/gsdh/88h2rPMcBcBh6Aj9OmbkX+Nss2zrM67dsaCxnyd7ue0vgIfAC2Ad9D7mc4rk64Q3T7mv1n7zcYfMK1HPf/0ZJ/FPgBsjxXm7Rro3IJ5qMRg9PPX3714q5RW//SDyww11updJI46Xxmvf56Q5yxU/WfEw//V3+4/rpH5d/tw8k3I3dR1zoA4pqFCRKfpQ2vJ8H/5/5Ff/sbnAP9DB+iHyFvZP/jaG2StfR3FBhp5lnfvCj733vpy//YLXv2sX87itsO7dubKnk+NL4S+1vW2veuq6jrozlPh4PyrStDbUeK0WXxv+k6GffCuLQjzAP9Qp7G3+zuandvmFneZ1LVWKe2EKe2QKvuMDfuLts+80NXR8pz+z77YMGW+c2e41DQZXGr8SEXwFj0DGki76F/SN/0lRbZW7uLHPqFdjDP72/pFjgxfy2T1Zcuae13mkgSuMvtd+1zb15R0OVTYt/PB6UGRvWuOw6AS2NX/Ev0tDnEALrordzP+VvMG9qMDZ3GXUaHJcf6u0uXqSm60M02Qi4BboHGUHf5Xd83XPtJ1rcTo7ofbLQht4nP5yHwC3QncgIephycLfxN5g3fO1v+bZV+H9DRtAXKQ13G+80X36L++rrm9xOjjz/+Lv8h2nKC/wdyChaiKPdxu8zgUpD8zqHSUeSU8VY5tQqmnRQfI78wALvRwB9J0sLN1uaNro6dzaYtAqiu+ij3L1qbgY/2AB/D9lNN7Cb+Unzl75Xf+1n2lwl8wX7evh7CKALe+6T5qtvdmz5x063RUV0F/caV+cHwVZYRp6i7izyoNHcsqvSYqDetb/KuvtdP3UnlMJ6yB8V/bSqBsVl69tqvDxemp+JXMJ7d2o+edVlbU2l+6l7wEboS9ghcuuKn7pD8XdrW2ur1UxpfuKl/JYKdkt1ucPOl+hn/o2f6lJ2lam02lL91JUxbIHuhqP4NPU491vhKUtNraVj0xqPicLk/yjEI+9fdb/3Yn7XdRW7brii0c0SpfGFeOg9xXjqSjx0V7ttw+XrO4wcsb8YD42uEg+FwDPgi/AefCcFc4P8zWZ3ubFlXW21gSX23/37kvg/gGtgJb6ZivzPc3izGbhMDW3l5QX7P36gBH5lTv8BuBVqIb9A1xf6YKz1GjfVV1ebaHTf33X/7r34S+cHj+HF/LbN9j1d7e0uHi+NL9i/Afo8eS9dydUKDxi7KnQbayorDQz235/9p1+9x39InpOLeaBR1DtsNhWJXsR/4Hy0MgaF/OGFHBWF/ZE7TbVeQ0tHmd2gRB+6o3AfHrrj96s8Rxfz2z5bfvUNHfVlZqI0/lL7XTtdl1/dXOU04B+PBx594xq3VV9q+6eK79IkuAfegxqYWfaeQh58l6ayy2q1Uuj+/cV8NftXm5Mv5ru+Wb7za62trQqyNP5S+13/6Nl+S1NTk0CUzt/5fn6dpf2aiooKFi+d74Zve48HJlXZGpPJRJbY/5X56F7ggPdhHiq9kge/3raxvd3rFcj9dxfmg/3dq43ho0VeQd1X5BuuLbv6E1dvbDVRjxXng3u7V3sOHr/AP/o//D5z0xbXlk9c3tGsIB8rhsQfW9VHPAkc8H3v8V0trq1b1tS6BfKxYuzi3htXr7HlhO8t8sVcixX2lo3t5TaGfOzu+4v8anN64V08ADZCO9E+0sJO8z83NXm5tbU2p5UnHrvrByX5mBfz169VbG8rq/SoqNL4S+23V3Pr6h1um1Ci/RU+jzxwgQcetqNMb9QzxGMX9pvvW2UM8KJ/cg9yL3YbdcP/+OqT5qY2R/uOymozTWa7e/+6T1ecE2v/1zFY4e+5wO/4ouuaz7d2eFh86j2+60P4wn7xbmQ3tlLPYdLs3WhZe01li4Ml9v8NX/2/8gD6C/xJVEE1sJX8nWZ3l6Vxl6vZI+CBM4e6u7t/2v2rgo/6IXM6gHbCNKqgLGwlf6vZvc29YYe9wakkx+576QL/4d+EQt6nx5E8ucIDvcZTpjSqKbQ0/oKfD9rhPbiHsrB/5G+2NFp01W3lFj2F7i/st5ewXruYr/xkxa7Pb2mqVBKl8QX7JLwHLzyHBd5+bdn2mzbUlytK5knIB9XgD5AnmQJ/Y5N+8+Zym5EnHym+y/evyr8GuqEF9C3yVMHPtwCnbY3DqFURRPcXi8HcL3z43tZ8cQwL9+ErhJ9aOc9WazXWt9aUmSl88MeF82xf/vFq/tnF/I1byrft3txeyVGl8QU/3Qe9QnjpP3Adwn2WtrayLZetb65gqbe/+Z8F/oer8T8Ht0Mt5H30K9zOwh6lzdzUUOd1UORF+bdK5oHZVF9bU24jS+RXnsMweBS2EE9Rt3K0cLO5psG1aW17uR4nH7k73N3d/dbev84F/9u7iIAweAq2EPdc2PPftdWz8+orvQYSf6zoox7r/nB+Zc8//lcfd411/eXr240cfpGP+6H8BPxNfJB6vMBb3B5ze1NjlYkm/pb/IB97Ajbh/gs8sBhbq71uLUHu31vk7/5w/o3ifHoL2AdR5G660Id95qo6enN7Z5WTJu8vrlnvX2WfFSnyGnJfkXeYvRs027fv2lImkPuLe937V/0m3AmehXzEbrqlsK9hbq7VbGttqjNS5IEbC/yBVfd5j4AGmCTuoeq4DN9ntHkN6zuaK00M+ftvF+3fuBr/DvgMXINvp15gp/nHjDalyuP1WJUYft9vf1zcl1ntu94LfgrfjxmoO1lB2GUEar2npsyqRMifPFoKv/JNM0CPIqewLvombpB3mD0tlo3r6rxuEj12d/Gbcv/dq8RNLuatt1Z+5sYtnS0sXhqPARJ6FFmPDVKvsH/kHeaKO8s/88WrN7UqyIMHCvNp4u4Pj7tgAIbuRFzYi9TD7F/4LnPVV8o+8fntXQ0CefDJBy/wTR+ay88HDsK3oe3UVvYE/5R5T4uzbXddhZ0hD/6+MBe8uffrq7wHx8Ab8GE0T97JRniHBZgsVe0eh4kkDxZeg+7fdRfn4w+0f+zCOoeEewg/lWY383damrzmtnWd1Q6GPPjtOwox/W+vtqdwMb9tZ/nO63Z31SjY0vhL7e+utnSs76p1stTH44FZV9vU4DFRRGn8u7HoX0Oj2K3kK+w9hVh0tbazrdHr+Cix6PfzuzeZtm9d11jxUWLJ7+e3tRu2bGiv9bDsR4lF/5UH5Zq2lroyW6mx6HBRM2OAwvAf0d30Ie5+wWGp7bBt3lzn0TPYSw8UnsVDv1vtu3wxv+2rlZ/+9IZGh0CWxhfsz8JPop30Se4hwWFp+ox3z/UdDXaeKI3HgAE6Ch9GUdrHHRIcFtuu8p1X1dVbuY/AvwhrsKeoONMtOCxGu6XZa3NqqBL7X2j/U7AXe4o6yfh5h0Vjs7QYCJ7/uDxwWlq8dmfJvBXCi/NBD/QKMXjhXaitMXa0r6tz0eTBL99R0v7gxfy2Xa4dO65ZV8fTpfEQOApmoB8SvVSavYL/kuXGzY7Lt1/ZUcWRL369NL6Ql38UO0w9yrYX8vo3uTZv8FTaLj2P+cH8yf/L3pvHt3XV+d/n7vu92rer1ZIleZEty4qXxEmcPU3SNF0JnQIBCkMZYDpMmTFQIEBKU6b0lw6lFChMCt0onTaF0n1J27RNms2Js3qJ912Wta9X0vNITts4Q2u58zw8/zz+x6+XX37rXN1z7j3f810+X7ATvg19kArRDyiA0e0ytzjtZoLFnnjkruJZ99mFnqP5PFgk7ym9S4r9B7dQtzNPch3CXoOnSt62pKHBwC6i1uJS/uZ1mq3r29srFpezspt6mJHxRd69Rr1pdetyq0A89vkS//nF8cApa/HV1OkYrDy+t2SfPg5OQRuRm+nbmQNFn4dP27jMaZdz2COlM/8jC/ry5/PNO6wbr1ni1SmI8vjLx9+81dS+yVurkeHl8rcBEt6Nfo3YwxTjYh67rqnJatOzi+i/OMffzpzidojAovH5zBZdufxcj43LtKKX6Za12ytULPbJ9Lbbbndc/xm/z7Q4repdH/Duz1uvvLbOU6x/WwTfggL6K4yjqNddoW5sXoRe93RpHemgl2A39iz1BU4lbDB6qo0trdUVIoWfvOOejo6OmUcWstHn821Xu67attRbyZHl8RCgoXvh9dij1A0cLOTFbe229esaayoY8ugPf1YWvwvooOJ5f4Tdwd+s99Uol1fZnXaKfaR01lt4HRb59g94IApem9FsJOjy+N6LdU8PQim4g76P3Vese/Lwy2usdsNi6p4u5W+8UnlVa1VdhZIsv+5o3vgr5BsaK6vMi6mbupQ3Nwqr6iqcRuET8sDM+OwGk7rcuqe5c0ojdDvSht1Of4Z7mc+JnmXW9SucNg2NHX3g9o6OjvRThQXu4Xze9y3PFz/VVG8RiPJ4CFBQHjbia2kP9+98g9H3mZobr1rRaOPJl+/4Xln8QdAOf40IUSOsrGjjt1ZubN/QVMHRe28p7st7b1loXx4Abpgs+RvCfLvorja2tbQ01JBk4cbiQePlBc+K83lQoW/y+WpdBFEeH7rYH/xy26Z1eZ39/yvbZvMa28aNm1preKp82+bSWhPfisoNV3lrrbKybZv5PHCaWlY47frLa2U+ij9ZuofFvOog8X5etcelXVVfU2WgsXl51R9zD+fzbRus29uXNtt5vDx+bvyR0hyAIr9CvLat2W/jivxvyuE7QAbag79CFK0TTvSIuoY6k1nD4I/uueO75fLPYkZiDyNxtSIwLI7fXLqHd4Lt0MCHeUuNmpWtvqpFnRW3Q0c+zDvaZNiyuLPi/eD3kBdPkA+zP+av169fb960scVTyVF/3vmj73znJwvzL4Ft8AH0Nupr7M94TjS3V66/qt5ZXId3ltbRgnmMc/yOizxosC5fV2Uz8mXyc/GcA+ArsIQAuhjn/3fDkuX2DVcYK1QU+ftbdhXjIQu8DwjQCbzwLqSXLtbGA4OuzXl1m80uY8jf3/KpIr95ofdRJxiFvvsB31hlXuUVjRyFl8vvBm9COuRhZi0b5oEB6I11Rp2qOP6dc/zH34PfXKwjHYCexb5Bbme/wTtFT5W+ZYWvxi7Dn7jzobL6a8/n2xqNK9a1eN2KMvni+Kegh7EQsZH9T94p+uqMy1b73DZuEXwntBfrJNayD/JOETj0/qVVdhONlcffWcp/ewBshDuwn1BvsY/wPxM9DdZlG2s8Zhn+1K/vKiueMp+/8Ur3pn9Y0uJUk+XxxfG3XcIDp9HfXukSeaw8fi5GvhR6AP4jfop6iPulEDZ63BWNyxpdJgov3Pt6R0fH9x9+coHvMJ/ftqx65cYVXjtDlMdDoAHaAz+Ln6d+yd0ljBl9K6vXbFndWMkQhXteKMYTfruQVkga7IBvwCFKYh3Cvxh9Lc729S11FQwxuuePHR0d9/7nrxa081vgJMaSO9jXeUkEVmNDo8Omp/HDP/9Nyc7/j4/lXyw9C1uhV+A9+HvUC9zzAm3yuJ0NS72VRhov/LKzlBv+3AL3cD6/ra2+bcNSTwVLlsdDoAJ6FPbiL1EPcK8L+4xtDa6WNY1VFpYs/Pb1svgAuBvuxB6lbuUOFvVOqm1L2mucJpaafKQYZb/zkac/lp/TqWiHNsLGD3Uq6i2ty1tqLDRerk7FfH7bNvemqza2VHFkuToTXaAd3oOr6G9xe4VfGN2tjhVrW+oqWKLznt91dHS8uiB/FuyA23EV/V1ur3CFEbitLUtrXSYGH/nV78oYP16yszPgHLwP3Ua/wu7jPyV66kxN690OK4U99vOfF9fSPQudeefz2z5bdeUXWxvrOKI8/vLx3avtq67z1rgYvDweAz8CJvhm7HaCZGX850S3VeP3WywGBn/sF7uL/vzvfHsB/rZSXrWXiDEyfofortA2+S1WcXF+hw95IKq8dUajhsHL41+8mK8yAO38IN/EU6tpWt3W4FbhT9z5SFn70nzevVzXfuWG1notUR5frHfqhv4T20n+G7uVt4s+r27ZuqX1Tjn+xJ1/WNS+VsxzcIq+Gv3S9gaXjV30vrad3V3c15y6prZqh5kukx8rreP52kPu5YblmxyfXLvI98+Oa28u9RkrX7voUn79jdbNN5b6jJXHF9chgPehJLGHeZLbIdqr9cuWVdhFrsx1+D94u7apyWJdhP/sh2ACcmNriReYU9waEdh1/haHTWTwx++5rwz+/VzaHZfWfNXJ1jZVVtppovyarx2X1nxtUF2zdV2TT058wpqvNerr2lf76pVEuTVfXwDboAD6F/IG9t/4bv2aOmF9S4PbIeCP/mBnid+5AP/1Us7S+zVjQCQb3WajjsHKqxmbOy+OAhnixtpoP7dXCIqeOsvSFU6XjsVe+s29H/q/PiYPdD6/bXvN1Tc0NVUoiPL4ot9gClZh2+gUe7fQK3rWOzdsqa83yfAXfl0e/+L/vafJ0LU0yaqET4tuu8bjNellNPrk3feV5b97HISgXUgbvYfZx1tFYFN76o1ankYfK/mRF/JhvgVwgAEjZEQCqI++lcvz+0RPo3ndqmq7nsD23zvnB13oHs7n23ZUffbTS70VFFEeDwEGEhAHZqS/wuX5X4u+DZXXbGmstZH4y/ftKYs/AM7BKH6A2sgBoV301dtXt9TX15DEY78v5S/uunMB/iB4AXqFKNaf7uZ3Gt0u/ZIlSzwVNFau32U+D+xan89XbS2Xn6td5CEdHMID1K3cNuElo6/a2Lq8udZKE127Hiwj5we5jF+/xr7xyvXNbo4sj39//AMXefcSS/u65UUbvzz+fbug+D5tKdoFFkNDg8mkLXdfv5SXiu9jo76+XjSq6TJ56DIe6LS1tXqDisbK4zOlOXgZ/AK6m4hTPq6j6Huq1q9zzOWU31hMelrY9zSfX7W14rO+ZcuKvqey+PfHP/D++EvN19TU1ptZbO+NHfcu3vfkE/UN9Sazhv6EviePKP6veKDT19UajWoaK4+fiwXcBg5CLegO6nF2RzGuVWNcutTmMMuwx0qahm9/Y+F6s0v5bavtGzZU1VYqifL44vidUAtaR93NfoHfITYvs61d66q2K4jHflYuT8IPoq8QXynF1dwufWurzS5yi6h3u5QHVm1j4yLicnP9S0NgAD6A3k1PcHuFdtHTZGpfX+m2othjJfv24vv0Y+7hfN53reOqG+p8Lpwojy/uiZ3wbmwf5eCfFb4lrl3t2LC81u0Q0AO/P1hWLOA+sA+6j1DRLq5J+JnevcSysW2Jz8rie7/+3Z91dPzo6x9/RilqqG2Ee7EdlIyvlb0r6p3mJS3VDi2P/emhR779ne/96a6F/BXz+aK/wO+yabgy+d8A8v/xOXBfnANs0XMwwRXnwP0J5uDuS+bAXKlbWV/t1tPo3h2lOdix0BzcD56HAvh1lIlbKzQYzGZtc53LrqPQP/zznbs6On70jx+/J2LgVyANhTA/yXI3Cm7R7TS2tHmcZgZ/vFiL/+0f/cvuBfg7i/Y99jixlf0Tv1Z02wz+JQ6bgcEf/1nRpvjDbQvZpj8HKehp7HFiJxvgrxKBWVvnr7ToKOyJn/2+o+PbC60BJUSUa5t+zBqYz6/627bpx66Bom3q/njb9GP4om26BQX0WrataJtatYuyTTHwMCBhgNGUlz1XjMmZ1R6f1aii0T/d9Zuy+F+AQehWrJ5cwT7F14luo6rGazVqSPSJO/+rrOu/zP9r0Hh8drOeLNP/67lYx34QtONueoLTyW5XezBSKAp/Xaq7ZfZd7y1ybX/zGubzgOd1ReGuvxev+xvfQS/w+r/xGR+Tw3nZNfyd+ff9rzvhX5L1dCW/V4gZPLVO71KvQ6QW4X/9d/hx0k+f5dbyMcO29fXLNiz12BiifP/rn+AEsY86wL4hxAxtDa7m1Y1VFoYo3//6GvwT0kS/Sv9KiBmAx+ZfWVNpYsjy/K/v34MC9AC+iV4jlO5B6+LvwQ3wAF5F22VFftuGxd+DS/m2psXfg63wadxOP1e6flC3uHvwSOkeTICXoAnkAXa8dA2eNbaWK2wVWooYe7Skm/7owrrpf4V2ITm6v7SOtn3RtPULtR6TDH+uVGv23IL22QRA4WuQ79OfZlVCzOD+lPGKa6uqF6W7/lX4UXgP9WOmt5jr8QVTw/pKh5YhnynxzywQl3vxoma2DOnFnqJauVRRp7fS1LTKZbfQ2NMlH/DTC/qgAdQN34jFqee5lcKnxG2bqjbf2OSt5Yny+OL4SqQZK1DX8Qf4mKFtpWPNNm+Ni8XL5wnkKuwd6mFWXlwHTtOSNc6Ksq//ff18P9yOXkUW2OriPHitzeuti9PPv5Rv+LTx6i9XL24eHfAu9HqywOqEmGHVjaZrvuSpNcnw8vXzj0AB7Nsk4F7iYwZNg2Ota5lzUfr5L0HN+E4ScI/yMUO929riWGbXcIvQz78fOoz/HxJwP+BjBoNp8fr5P4bUxC9JiPun4jpWiR5RZVWzRHn6+U9c1OUA8HU4oHdxTwhW0WczNNdUOQ0U9sD3i+tgz31PLTCH8/m266o+tXZ1W7VAlsdfPn7bZtc17Sta3fwn5MEir38uf3A/2Ae9QrTRX+ZeL+YMiepaT22FkcRf/Kc7S76jj18HyGX8+m32LVduXlYvMOXxxe/wMHSK2Eh/kTvA7zCuX2fdsHFdcy1Pv/BPPymL3w3k0HHyNN3KEULA4HNyTb6GOiNDPHXLv5XF/xsYAHYKZao5c1E3XUt43C6Xulzd9LnctxT4CnwA3XKxZrHOY1i6usFhZrHyax4v5fX/6N5+8+Zmj5Isv+bxK/C+D/iaK2xXXLeybhE1j++AFFTkl7JH+FuN3o3GLRuravQ8+eg995Ryuhfyne0HT0EH0Pf7ONS5je2L7ePwE+jVD/s42HQf9HHYXEYc4HOlOdgNNkI/JQ/SP+H+RQgYPLXEquaWWpEhnrzjh6VasYX8lzvBRuge8iR9DfcFYcDga6c3b75yY6WM/N2td5aVUz6fdy+a/yM4B32NKNZpqQSraF9t23JFW4tDgf73D75TVk76bYCDH/pQJ6nS0LjS7jDyi/D7XMoDtcpZbxDL9n/O7Yl/AT74aWQHLbA/K8ZFHZo6v80qMOijZcUCkMt4923uaz6zbKmoIsvjLx9//Wcdm65b4tcpiHL5A0AHP4zfRo2wDr5dNDeYW9e2Lqkj39chWDCH811wK/Rd4hA9wv4T3y7aK3X1Xk+tg8Ef3PmrT8A3L5rvBDvhILaD8hd1JItz6PY6rEaClG4svgekBWwCUMo3+i4Q4L9i+6h3SrFdX4N5xbrqWqsMf/TeO8p6l83nb9zuvvamlqU1GrI8/vLxQbXYutLpNgtYefzNpe9Q1BkC2F46VezNY/K4Dc1rK6utSnB/0fXScf9nFtIX3g8GIBn6LM1ydws7jTcbRY/PJqqKGs0dZdSAyy/jgdZQXW3VK8vl20q2ya+AH5KRKnoXt03YLvpcxtraai8rkC9/76677n/65e8tlEP5K7AR8n/AtzXb/H5fK6+gyuOhy3ifc3HjF3kvdCu5jT5V4oHJ6NAZrWXzc++Tt4ALeoyMMae4FuV20e0R2sx2j6Ciy70HzwIdtIscYHZxDyi2i6pWYa2j2q8WyuTfH7+L+VfOodwuNruFZrPdLSyOv4ncR/k5VrFd3OblV3htNTxf9hwU+QdRiXycbSvO4VJ+o9doo6hF8UU9hzneY+f9Np2OL59/EsigXR/wwMx7F8PP2UYvga/BfWiG/DX7j/wOo7vevGy932kp1sH/ovQ837PAHM7n6z9fc/37tlE5fLGGvRPajT5AvsJu4XcYjVus16/1+61F/p6y+LvAXkiGvkj+gf0S/0vRtc66ZYXDoVOSj3z33rL4F0AHdAqZIHeyu4saRdX2uhqLRSHgv/9BSTvvBwudk4r8rR/wwGmtcRtMcr5M/v0acoDsQ1HmyWLunehpMS/d6K7QodjLJV/+ywvGAubzLd+sufbLrQ0VOFkeD4EE6ITvxlS0xLXLtou+653X3eSv1SnoofuLeRrT9y/kCx8G22CSKPJfk28Xa73GtvZah0qgOn+6d+dP7p2+/8EF+CMlra29tIwvPseb3Rp/rcslcGW/y46AFmg/eTsj4w8ot4vArvJaHVaWWdS77AGwDdqFTJCPsxPcToO7Ub+80azVyony5hEp8TK0hZrjr1lv3thW63bpyHLX0T4Qgp7FniT72K38drHBa2zzt1e75OSjd/36/nL4P4LvQdsJB5Vn7+a7RZdH521rr3Vx5ON7HixrX38EtEN+sqjL+ywfEmtrZW1tjTWVLHntD4rnvFs7frIAfzfQQU+S2+ibuHGeNVa5Vd4Wf1UFTT5+S6knT8dCNU4PAi/UQnXQN3F0UVOkQuX31pavSQIu5qztgG5F9pN7mN38HkOzSen2WIxqHv/9neXpeBb5/R/wqmXi0lWN3goVWR5vA38B26AJZAflZXHhGUPbatOqFn+TQ0M9esd937n9hwvzD4MW6D7CQd3Htspg8aoGzVKr129Qkvt++H9+eNcvF9Zoug/IoAfIg/Qr7E75dvG6Spnf4fbKZGU/R3uBG3qXNLK7OFK+XQQOmd/hcMvYsp8jrOQvcEMjxG7KX/oMt4Nqaqx2sSxRrk1Q5F8h9lEs94p8u7iqmVnbvqRBEMreE38NdkAxvNhzIFZ8l/mF1a0NDRo5+ee7Hvrhnfe9/L3fL3jO2gtdh++gXmEflm0X3Tatt7GiUi8sIs9kAKrFb6NYbkBW3JN1Xl9FhZorM8/ktYv6QtthB7qNNrIOXjD6KoxVK4wOLYa99MtST52H584Zez/GfzuPX+dqv8bls5JEefz/GP8j+CfK5N0+W/N6W7WI45+MBzqts0FrVqJoefzBi703d0OvwHvp7ey+Yu1xpbGqUWtTUNgzN//4w75EbR/dl+kyfqOrdaPVo+eI8vj/Mf5H8B89B5fxfpt3uehSM3i5/L55PKiweKpU//P7fxT/vYs5ZySyDz1Iw1yQ3y96qnUtKx1mPYU+ct+dZeWy85DuEt79Gcc1n1lSW8nh5fHF8WWX8PbN1k3XeYt50OXycXA/fAO6hx5lT/D/JG5bYVy3vsZh4fCH99xdFv8SeADahXD0f7H/wT9scNerlzstRqOc+MNPfl0W/wJ4ALoJCVD3scX9BFgUPrNeq+Xx39/xmzJsgjkthu+A3dCzWAs1wib4z4meJsWGJa4qo4A/cccPvnP7zrd/vFDN6By/4yL/+Wt129v9zU41WR7//viOi/wVV6pvWF5XU6EgyucfgPZiEjnHA5e2qbWyQstg5fHNAAYY2AK+ApFEUU9ir2A1Ncspj0ZRoSLBb+4sCjp87paP7yN7OQ9YwqkVjDIC3F/ib1yAV5Su4Vlggl4kD9JFfWpgUvCIS2F0qPD3exLdeeMC92E+DwyoX+f0imSZ/FxtyS+ADjpOnmFu5X4iqxY9XnJVk69JLyOf67jjjnseWnhvnc/f3EZdsbxluVFBlccXbbQ10F3k15hbubWyOtHsY9c0+/0GgfzLN3f/6Ke/Wph/AcxC/0wcKGm2tYv2KnHNEr+rWBtyY3l6X8Vaudvx3ZSVu15oN9oNxto6r7OomXZ/R1n+t4NgOxzCippxJtl+I9Aaq51Oswwrk7//4r6yC3oSuY0aKNmIvkbDcr/VpOLLPifM59u2Wje3uxx6BVX+efNS3r3GvKG1qFVf9jljJ7DCRZ/F2pIerLvCtMRXYTEJ2FxNwMI9QObzYJH8oYu6df/xv9St+49LdOt8bbLVW/8XunWWRevWPQ4QeM0H67jWrV/V4nPqWbLcdVzk/xF/8OI6rtCra2o8DhVe9jp+ASDwMvzB99ex3lDjcllkaJn8s6V95XegBXqEPEs3cJRwq8FnpZdWN/h0DPZoSaPnRwvkGSCX8euvELa3b9pcKSfL4y8fv20Vf23b+g12GVEu/z0AoBYKZVTFnH4DsJF+/5ImE0M+9sVvltGT6XOle/BbsAe6ESv6z/7K36f3VKlbmqorTSz11Pd++u1v/2jhOvj5/I2bTJuvaPG5ZGx5fLEv1fMQwFZR32Yf5n9j8LWZ1qyvrbLKiMd3393R8d3F8qBWv7TN6RB5vDx+Ll9mDxiArMjd9AjbUfRBNmqbl9mtxZ7MPy5pi3xjIW2V+XzbZ62bt9XX6hVkefzl47dtNq3ZUO3SyIhPxoNaTWOT1Sxny9RGebB0D3LAirixK2kjd46PiXUN5vblrko1gx387XfL6PGOXMb7rndft83vNQp4efzl47dd5bz6Sl+dyH9CHvgtq1e6nZpyr39Oz2B3qRdvUeO7V/ic6Kk3tbVV1+rl+BN3/apop9210LMwn/dtcmzZ4m+2qsny+OL4j0PPYhvJOX79VY4tay/yj5T4hftm7oGuw9/ngVPX2GQ3qXnsibvuLPEf/z4IXdT8KtZKnaMGmFJ8tEVsbXfZ1YvR/LqU3/Y157ZPNzWYytf8egIMQD9FXirxW8Tm6y2brvLWiDL84TvuK4v/K3gS+lekscRrjG1XWK5od9vULPGH7/+sLH4/6IBuQp4kB+bi/C79UrtOxhNEeXkCN5dySVGwD3QSLzBL+d3KAbUbBToYRlEUvb/kv7l/ARvxcr4NA/oij5XJUyX+ax/wYJH8nG7ZOZCC78baaBX3NP8t0ec0extrK80sMj83/qN6IiMXefdFvs3n9LXX1TllaHl8MU6cgjs+4N1OR02zzWHjLhv/o3oqF/kheBsWoCDuN/wtIlCZTJUanY5B9v/uUBk8jioADCMolMsVCtlMHuSTsUQOJTCQTaczOQincCBlsoAQ1DIsC2taP92Q7Do4qvBYobG+oQCiloOJ0+eDMIVlQ9Mz0RTCE7GZUDSNshwO5WfHYozVd8vXNV2PPDXm+8Jm8lQ/yhROHuDX+7NDx4dhUqWj45O4vxacvO+uSd9Xvm4fOHHy4KDpS9/xn//p7tQXv9vc8+Szg/pml4ClpyKClgUjx88GSC2bnRwcjMRngAybnYgAXlCYrWYFAjBGqeZZFNHoiGgcZ0gkkcgDJDfUnSAEozybyiSiyQJOINnZQIzhcQwppOORNKFRFmamojDHS/FkEmNAOJLFWSKfSAOQBzBFwdlIHBEUZC6RBTDO8KiUzDM8BdKAY+BsuoDzPJYFFE5RCAbFollCqwKh6SCQ83AmGkN5XMoUCgUg5TAiFQjmSJ7JhBPZAsXhyWguB2MkmYsnYEEOp+JZAENFp56UyOMMQ+SSOZQkMAhGgFRAIQAhkFQAeZjAkEImA0gWy6dzEIxAUhbGoUymAFAsm0NhBE3OpjASgaQkQLNZGBQwOJMlWBIB2QKBS6kCweH5XAEjcQQADAcAIzEIAsWrQaFCLl9cI/l8vgBAPiflittOMgNgFM5l0hkILn4bCBTyeQiFi7/yMEGAbEpCSQqkE2mUxKFcHsJxGEIxGMAoRhFQvgAQDEVgGIYAgHECAQWA4EghVyhmfwOo+GcAI1AhDyAIBlK2ACEIlMvkinekOAj4/3/+3/7BS/G138ES2kY/ztICMLrrrf4NrnotRzxROq8tlH+GgCPgM3DnB7zvXz2f/lLLGpuKLI+HLuPNX6m+bseSdquybP41YIUj2HV0iA3wlHHzusoNVzY2mwXij/f8oSz+QbAHeoC8m36Ae5S3Gs2Vlqb61lorTT5241ul2NRC+2qRf4rc+35sy2JpaPBU28qNbc318tkH2qEnkaIfsNg30uPCVlfIDSaGeOZ7Xy71jfzWAnMwn9+2iri+VmOrLPatLIefG/+BD3ifF7/CqTRa2DLHn+N3fcADO7bCKtOJxb6X5fBzGtd3gM9AD+MRspP9Jq8rntda66ucVpr573++o6zz2nx+2wZxy4omXzXHl8dfPv76Vv3a5gaPk+U+GQ/syqZap91M0eXxcz7AjdBuxI3dTd/Kvc5bjR6fdc2yCrOSQo/ff8uHNU8lvfS/3UNlPu/+Us2O6xtqRA6fx39MD5Vm6GZkJ3Y3fRv3Km81br6mavtWr9vA4of3fLOM8Ys+vGKc92FmgustavsuU69du7ypqO37jZLv4hsL9em75RL+MwaPRWhsrK8zsOSTX/36J+DB3+Y/sq97G8AABm4GMujDeiUBQqm5//qwXsmz/kcNH/UZl/N6jJRB0CfnVYvkoct4gJDM/4qHCWox/Nye8izYCXdg36cm2dv4faK73tq2psZp4ZCnfntvGVqQyGW85xbvp7+0qrVeiZbHF2vpO+C/Yt+jpthv8K+Knq1VV35qWWO1DH36Nz8viz8HtsMv4LupCHsDHxXXL7et2bzU5+axZ/f8riz+wWKuwQd7irvW1uJrq7MtZk8p8h/uKeb6xeRLxEvn3Rx4HO7AgtRq7iwPjB6Pu2m9y2FgkYN3F+Nj9z89d+b+6BjpfH791U0bP+v32uXofP6jY5RdYAL6GnEHvZkr8LS43mv3r/LWWTj0+fuLOSe/e3ouRvnR55w/lvJ+jMx1nFtQGdosqsra+nozgz36RDGn/LHXOhbFAxkvWisqNCRSHj+3joPgcbgN200Ve25uN9bVG5auqXdYWOyJHz9Z6im1UP7cfF7/Nff2L29s8SrJ8ngIjIGdsBW7nfKxb/A3GWvWWTZsa6p1CPgf7ygWvBV2/bT247VN5tcWtG34X9YWuP6+tQXJ0jrOgp3wDvQmuo318tNFDcZV6wwuHYE9d3uxt9kt/7FQvsR8vm29a+s1lnoTiZfHF+eAhP1IC02zHJ8Tt9VW+bzmSj2Bv3BbURv5ll8slO/QCXZDJKyizzFTnGBcYXCZZUajEsdeuvY7ZeUaXAA/ggAG6DfZt/ndItDU25VajRxHfrXhqx0dHWsWiMnY3+8pDnqxoh+1+E63UzIZhf+PGtyP3Behy3jwd+bn6h4d0AH4K/gx6h5ul9Br9FSZG5fVWg0UlvrDEz/o6Ojd99DHPgvIZfy2Vc5Vm1uqbAxeHn/5+G3LHCs2LHFaPikP7EZvc5VZR5Z5/atRAQBQKORyBSmbSSWis5MHXpkUPbL4LJCpGRRRqIhECtIaSZCF8MJ7r0Uq69HRWXOjAU6BdM+5jE7IDc9m8YiUSmaGYnmFgmMVepVaz2lwQS868IlpQi+GpoOSEAExDGRjrz/XRdTSR04FrHZGgq12IZ7CdCYNm4GVRkHFU1qBxwmep7MoSuRiMMalozFQyOQxbDoD56BYksTzoQiG00Qykc4gWDJGgzgMstNRDmdDE/kclUrSeRBPoxSSYSJpEscTYYKkqHCMVuYnI6wj2R+E1UJ2NETLUkS8oMRSp0CjLjcT5ukgqgizKKDSrIrIsOk8U0CknMAEWCETi+urgyMFuZpE8GxIXgHSCiQgCVQ+BVK5VJiOxrRgsDulds6eCwIWhEclVj8bRxFMSjA2LjceSenFvGx2XID1mhOgZrbAMBNhPs7xkZnpuB7khMk0Jam1k0k8p1dlh7SmZFiuG+xOmPymd1/H1i0PdQ5r8Cm6DmFSRyUPh5u7hliP+2xnpM43fe/v+9L66We6w/laOKZkYGuTJ3syvmLTZEbIYJq1tpmZtN9/ZJLMmpbWvfGL2PaKTPCQ/Aqp5+yA3V115vhyYy+gHaE3+HD4Vse+EyG7dXY2DUtJhf7tQ00tuQvDRB4S09NKI38yqRudYK114N2u2cr8UIUldZLdmPld59qrqRf3ypdbcwMEiCRD1mpp+py2YmSqXam8PvOH6WuWsOOKZQlJPs58hp5BZi36JIeJfub0GFG1/tzjCVlOnRoiopnQSS0F1OOBc0CTHArWtqj/9FDB1dZ48Hd9KiM4MioGj0/kaoSB53L/oM38+e7MP66WzspvnDp0iP8se1Zjzo78+aS1ET3ylpl86V3LemjsxHguZ1+phtXdCSFqq1npffPPCar2Bt3jB0Qvf/40v6x25MUZO0mZ8PiBk4O9+dXL//IUsinwyzHOiMgOHk+NQYLxL49FFJGMrn9aNHX/bqBhZa177MXXw4aVLiBM96WWK+TelMUz8Z5286Z18a7uRNWWLa4K+VDMQ+val2+3vdznb922mpkgCJz/9GrQQL83Jv7DZo4enYQksqYl+3wPZDOB09zWvjt667eBo/jM5NnOAFKhePOsPDP4yuxab+DYzERiubeQ0OUOn0pWbNJ3hiqnA0i1dZTKw3VVRF/MpsEuHGn5puL02QCxZBUdSChViaipNbyfMqpi3aMVtpn+M5MZlpk6cSGpBbnkwc4UwHpGoPG+d05EpERkMtj90tsRGxM7NRmOvXfnI9bPxn76qzOwYuDJE4nuA0f6BrvR0HtvPfxaAQr3PPlEH5vtfOqlQ++cTEfevG9Xt3r8rYceTwDwGO0H838gCBRyhYu/IJAHBJ6HkaLJn8vF4qSazqZRAFA0MZOgBVEcHIQrLIQ0hNqSJyP6Si4ZjuqNyZn8Knug+5X0sq2WdwP0qMbnCL7O14enAgNrnXT4dA3AbTHDdB8+6ZSmp7HWXF4hYH2HT/UUNP5WbfcLp2MKi5seHAlE4nJTtC+u08qzM4MzIBMFKrk6cS5ubo6cgAlRmwr04Mp8vTYzfBxjtRxR8lrnQSGbSuUxkmULeQ5E40kAaB7OJLMolItmULQAwTCEAqjokSRQjMIggKAMiQEYwdGiaxOCYJLCESmTkjASQ0FBymUhAgVSPgchcB4UJKmQh5BcDiCFHIyiOFxISyhKkghUQPIZgOJAggoQVEjlYIwqJLNZQMPZQAYmcAAxBIYiSDyH5wDIR2MQhmZTyUAawzMSzuZTkbi6MjWFpJIqc2IAVHD8bIoGMoBQOQRJxoLaBig5CExxCMkF0gzPczTN0Hg+FspzWD6vAOixGUVOH85AUesx3B/u6qkz9imCffUu8m0w2+lal+8MC1gcBKuE1+qFyFDSSGvgsTNyWZ3sIUtdfzzcfkypOuforFB0icdXjPfd/HyhajoSv3n2fuDnZDlSC1KC7ljXULu7WvvLN40+5RlEORCOeQpjBZ0unjgdroMmAmYzdqUKbpXbqQzdp1cXhNNDWDjY2cVOgdgrOUOiK6RG8MDg+GRdAxeFK9goApRNLRxPO8gJCEgwWhjJJDKxoelIYOb0OK2NDEYMWDZDkRwJIEYhowhWzkPxqKbBmUgmCTLXN6qmk6EZSpgYlWyaGSg9AvhKdEgNzvBVLvR8VK7Bo6wAK9CeSF5uSSVSUjinhAUplJOSMUzLqs+fBJiLmE2n9CAb6nM08LEBQA8ldZSCxjLTWBRSZOIZXojGaDYxGtZW5HpOo/4KcWBSlpTUqUkCQWYGWa1BnkWjA9MhjdbEnDprVLAgRc4kMxe0Wq11dCSVN7K57PCU00LBY1mQMBjowpTJdfz0GLFaGYz0Jzm9Ex+bBKAwmwE6BzUbKDAsBiMYhiEoBhdSoUgGk1zYaUqVnxnztYXSyKmYBlbPysXeETveN8v4+ZOkHh096NQEbNjZ4zk/k5cNn8dqY38adItWe/+pqFHdP4ONT7duDD56IaX1+PknpKZ07zvmmrMKpzIcp7vear4iMwQqh96tX3mKq0OsLwe+DE3TfauFP/pOp78Vic30OaiwsiexqvusaONOcJnB6GbP6/39Shu2uvMVE+NK9DlHYPuoOnrqKmlUHtId6r1GPDtOqKOzisQ0mtVFMbwPk2nHktrswIi9Cpo5qlob7ZmWWULR7sECQ0IwQRFwDuI5WCKUswwDZUcVDDStIcZiRkkXlcIsUTE2q5mtSM8mYiaZhIJDsspkDFdmTyZvyLw9q60GfZbE2xofjx8XiK56TTx/DkN13vjT725e7Tnxl3B4w039h4/KtAWdNhaZjTCwJz96dPo6z4XDvathjf5UNMQYA6xDGg+M1FsmJmZJPS0/GLRX2IMDoxfSrau1L74aW9o8lMNi5ARg1MrDp3zAUT1+7LjXIwV6qwUEPjRxhSd5ahaCquDhKdrMhyU5COgDSRObyUyqMSmrlltPzoxGOSDFwjkMxwiGwyeOTng+T3d1Bu00A48jTjwx0ttgmhroZT0NmReHNf6GyJ9nNLXMiSQ+XKFXRDVriPe4tsLoK7mNdGD8+cJWc+yNLF/XMHz8nYoV2EScC4wAYebMJIQY01BOIQc4HpYBgAYLGkv+PdgQ5fQq8EZBFRHliXMDJh8ITY30uD+n/O/BldUEAOGs0hjqD9a5eg7FOQvT81ah0XjmHaKqUpV/p/Osf5Mj+/oxladpMowq9fLw9ATkdFC5ya5CA3NB1ZLs/Gu0Wc1rQ6dyOpPt0CDvWpt/45SkgqV0Kg+BAkILbCFaYLjIzHuq7cr+w6e1BqEqeSQTra89e1TOuNGJHDkN8TwRZnRwKDzVTX+qcvjP7+lWibm+I7PuBvW595KMtzZ7+CxxvenknxIrrxt8IVORj6c8yv7hYd8mLvvim86UsCw3dWD8B9jIuRNblAcLKLn0ZA8Tv8k0iL41tQ4ZjAi+8TN0smfZsuF3X1lyfXym+0ytb+YMV8dPZrORbKXyXJdmmeH8qEIjSFL0QtRUNX3Gaq0eOkgGXK5ZQPbPqGssgYPKRs30eYCPWby67KEzokseOJ710qlpmE/mQS6XTWckQMnVbGZmMphxps/FzTXGVzvV+kry9MFe12op0pNScxQ79EZ+eeXYu1NyH55P9zGOVFxgBgeNy9QT4RGVUYse70YrW0OnQUEmA5NxuaCRxgVpJEf7q8ZjgS7MtER34fiAeTM/0JvzKt67ULcSvHNCX88MT+Iu2VQiG4Ilpi7Sla20RbuzJiBlkVRELeDZWUmCMC15YUI0J0ckDldyse5RmUOAQpCMKRRGMxoQ1orc5HlSr+b7EryyEB8NaSr1kRMxRG4I9U7BXt1094DMlUzAcigWDOcIEsqjvAwOT+QU1sLJYdoHd4dijprI0IWCvT53+lzc5pIlgzkaEwrjSZzARGSGAIBg4ZkII9dJ53NKIz4xm09iCiUyhusmk0Y0HGU4NJYGkl5fGO+VVWYmgg5bBsoNpXAH1jMVp52yYFfBqpNmJwLAxEiRvE5IhaI5SEUEQoTA4kk0W5DlM4U8kGSV3HgAVmvxcLygYBMxWkcHI6RCxc2GUA7N5GUqMJ3gRSg1HZbJ89GpIC5C8RwxMYnlcyxIxfBEL0xRingklYYRKVkgWRqHi4FyODkzJsuOWGTx2HReUq+QOnv6zBtyp7MKMuhwjJ9KTVRv5f96wm2ZMi8LP4cZ8WmV8/R74hKBZgafVV9lHjr+7NTqa9UHusPASkPTL8NrXOOvTrsbNUdPcBY61huxehQT3Um1RTtyEmvyJA5Ny9yG1EQcVeDJLC8XQAYRlDTCyJV6gVLqFYTcqGUpHGNVfCEDaDofCSfT6VgslkxMjkTiM1PDw+F4YCgEFyKT/WPRfCETH5/VGuPd04Ck+GRgVNIauUQIZFESAnkUCHIkl8uk0llJghmlDMcFPRJTEMBQS1woWAm9daxb1Sgbv5BrVvfkrMgsHBlneVKRPJWoYfuzDrgvRCup0JhkMoHxMxGTJTuWQXG1AElZSWLYnJRLZ2maoBX2Zr8oAZ3RalVQakeFXkHhNBmbBteXfBe3gj0QSTxAnuN5xVPqZpjlURRFMOymR4o5Hzc9slDOyXzejPAyDMNQHC+Ppy7jAcIJixmfJLZf/EsBwMXYeS4PUJLEIJDPF2PghdKvUiy8UAqHgw/+HUIwSmFQ58f6x1MozbNQNlv0ABSNUZTjSRAfH5iCtAZ5UU2t8MHAcHGUQinAPvfppRB7HsA4SSAglyuG5S/+f9HkL4b1SwH30h8ufgTBCXhyOpCAKJ4j8plsrgBgtHhpBUnKl64BQjAcn/u40lgYhReyUumDUAKVEqlC8S/pDCTYG+tVicEzPWFOlBWSEshJhfhoUstNTjHy2EgUpEf6sxqdVgtNhBgulwUQLlegWUKQIoSGiKUJBkdgtBAcTqll4VmVPXs2pFFEJqX0SMKqDUZk8lwojuLRhM6UGZd09OiMWpgMyIxMLE4goawoRgdzSgIoNcHD0+6qcG+C02CTs5wiHSjI6HQ4kYjRbu3oBUwBkoBHJ2b1lmwQcHQsoq/JHx9SVXIZRJT1Hi/oBV6LT/YGxNrMsTGFSQMGepMGOx0e6Ik56thMYipYyKX0S6C/vFu9Nt8LqVLjOR6BVMpEX7jS3rc/22AHkUhkNi2YjWTvW9A62Wt9q7ZFX4uYC33U5roTz4cVmajek98/0b5k6mjYrBqf0LuDr0wsWUoMd51Cl9cmZyL9IVd97swgYtTiIDJWqBBBfOhwaNUN+FPPabfSr51SubREdDihkSelSssbzzR9izhsrn/9Ydf3TX884RT6TV+te2EfZpqYbl4zsg+soQ/HbekLtGZ8VKwIdM7KyJlpSEYXMpjJGD87ozUAolLdd1po0k6FdbrgmYjRwaTCE0MxXssnR+Js6nRyteeF+8ivVr12YW3t6++03JB5M2IlR4GvPvJ2oMGTGAc4hOEUM3s0tszy9ummpuEBvTAUUXA4OtarrIqHHXxP2on0wK7CqKoudTTtE893m6p7n2euoI8n6uh9xzZsmpmpI57uvXpT79usKZbQaJKDYYVdNXU2rtYr0Km4AR2ivMkDOb8+nZ2ZIKz64P4u+1X23mc7rVdYAwODIVYjGqXuaYGJphU6KhUIUTo8GFdqQ72IXREeTqr1cOzC26lrtwZf6CMZusIdeC3sUYa03pFnCuu1R49RlUyBSZ+Jeu1jY3hmlneKhQQORibVxmjMbR/tjJndyJkewZ4dZau5syeUroGjijowXFBhUi4eTjEOU6x7VqnD87GJGCvHQCaCW9BTAwIbQo25QckAzkzo9bGwQp8aTBitsW6kIvIe1KocC6eDhBGOQ8lRUKmOBMMRyshHz/byy7yZt1+NL/HCM5MjCY1NhIZHIR7KICyNZsKSjE9MwyJ5YVxrRydncDWdi3eft99ofeeNBIcITuLwMUVlUqqXvXisaVXo7ZBDLODM5AVlI9KXQYOS2U5Fc8Rst2Qnx+kG6lQ/79EPH45a2YGY0x7rSjeQh6IttpFJhTybzYUDOXM1fmEAFVVUun+INeNpFI6RxvCRiFEJU3hggrRh5/p4Uy6hVV14B6ytP3PMbD05cfWmkfei6ZTOJQ8evyCuME72DM8q62XDZ2dVVSYwfHaCs8khPNab8zknOkMkxpqEmaGCVg4yUj6ZUDSouro01dkAnBmTKirA+HQW4fVYz5ilMjoiVOZ7UjZ+JKwlhhMiNlxwgFN5v37k/CwuyLXymXOol+yKiOnTkBsao42hbgmdiitoSI6f7zV6010DQG/AIDU3Omr2xQ8MybSaCn38fF/K4FEMnkqp5AotNNCdkKkoKZrEKIiQFXrPYd7K5IUApWWSEUCDmESQICUhWCEDU4nxtIzKABaLzmQ5OpFgqJmQplqbHhlM6S1kVsrkZUY6OJ7EeDqfzqUSuAqajiK5mRgnMrGJ0YTKJktFktHZgsHKxsfDjIYBmZkIpyMLBBpPUjySTYQSrF4Bp2PJAoKzbD4QQRmKJdOBEBBkOIwWIlFcwcJ5KVsoKpbCKMhBJJRIYRRIpdKJDE7ngqEshCIFScoBGOTyMMli6RTCMBwnTccoBUcg+VRCKuZsFXPCYBzOxCKxLMil8hhSACAdjedwGgf5PMIyUCqWRAQZQ5IEhqPZWBrCcIbDAchn0ql0FqAETbeV9vN9pZjUftLLnhR2iG2wDJvb9E5uLgm0LKjVNJ8HjJ0lEQiC/k68H3HMc54BCCU4tWx6ENXlg4AHUZjLJxl5IUtQGIyCLMCgYnJdOo9AhVxOSkYIWQE2mLvPi/qRbsNNFYfOqavyE5ZlFx4GV/3D4I+jX9k89Ry1zjl5KqlQpbvzempqBuHQ2TTFRhGGlnNCfmo0rVeODcm4eFoOo1KqoLYNXVCaNQYpnLTr+sJqOQFEa2O9clZhxAfzWGyMIggYw9lEnKWnz/BqidDlBY+sc5gAPec1jWjKzMNKIdKTtgXHZPJ4vEI3EGoU+2fkQpa06VC9ModS+WycBTOwukBaMikZHk+lWCGdobDi3ixlJSgbh1QgSxMJVhGPUyBeyAVDGJGdBYV8SqLiQR4PARkFYTwkqdgQZoCTnDILVAUgFCQEIaSUROZxNEcxmTDAMzCcwjkpgmP5bIrnwjk8G86AVATJR0A2NhNK50MzkZnZeDAADcTGpiLhYCg9LKFdcikEyEwaQzIohZJahuEVfEEpx2m9nFazEM9DnBzFODqsBHEZAFCBTOIYMSvLxgognwRYGkYTMAZJUI6CkJwM5SmY4VFMweMqGaLUkYyKp2mBxhSKvFwEnAaiVBTCiDhhLhCqJMBwgk1QsTg5kcgmhzLTgUw8MINPjWemo1hmlJ+aQc7PsH2SfjJmeoGDDtmGAD+diycK+eAMCM4mC2GVIqbWR1QEqzUSpEXD6DCFoIHjNDrL5wIqkM4royg5iYEAPoyi0RiYTOVGJgKZsRlpOpifGQaxEWxqJpkYSwcz+SlQSJFglpcXNBRlVfBGo8ymILQmntUp1Tqal+l4Qq3mFXJKoZAjAgNIAAgI5LM4SJDJPJaEkzCcQaFQLJcP0Znp9GysVxqejCX6RuBzF1KDJ5nwaTT2RvfUM2dTbxwdHDpzDDraZRnosnITDfW8/1qnc+tqa5ufcdfRvEmt5Oe0iG8DEyCE7aMe4NqE29V6hCWL2eOX5ZZ8bP39pTz4O/M9jAMQcuXgubyFO3dcbqOjo4gQHJm2NYwfQBunn2a8WCAcFrixIV4fDeMZMjmbMSjPTdUyQ0AZT0IFnpmF0HFgU0dmsNGYR+gH3FDGjsF0V6FByuJGs3S6l1TxTB5gcDaSqmTjJBiVoClaRnMjFzRO6WTUIQ1rnJMJeIa0xIJycvQ0uYZ6edhecXagujZ5bFjXNHqWtzDRC8BD9QVIvS48RFtGxxRGJnw64sJm6WyA0BQAmgVUNhccUlbzQRAcj2t9zKTEjk2ZGpATQwZveqSisuugYklFaBRU5o9lttYe6HNoomOS1RqbTfPSFOcKjuOZnDTBNIL3euzmk2PVVDBb0NBnBuRWYVrSZU8bbUGOC0KqRBrmlfnJlJHCwNgYrlaKkdE4nHE5Ri7ooW6hclquOhsUcjm+EuvtVauhqVwl8jrdGgqox2K26RGFLhPpR2qxYALlxmdqV/UfwBuVvcN+18yRgi3Zz2uy4WCQM4NQAU9GWYjQJzJCdqxg1s8MMspQXq6GzvZsWDZwCleSMUIPD2fzpIV/LlzLQlIIUqTOYVWz0cqpE7Il3WN+8o2kzxCcBUZnz4uWq9OHlO6xI1l/E3SoU6wMZ+3YcPf0Cs+ZM3pj76m65b3HOJGdAYKYGxfkmUkElglgimCmCT4VyJs104EsxyXHSBbiaTzeb2jsH3WkZw36FIgEKTuYNhD9OVs2hMIm4/AIJ0UK1sbpg3lDrKAhszOYIhdTc2g6BAglNZUkY/3KZt3hU3I2ptGB/Pgk78DHJZM0CaZB7dSYnTw1qdYlTtIeZOycwT09bTVEJnOCiCEjcVU+pGEIc6STUcwqGuAToTwpGLHU+DSux+MzYwrFCKyP9UEao9QtYZJ2YqBRN0CQ47SctmT3j3kNAUgTG0omXEvOvm2pik/FxYpsT9oSHXHWDY9HwpbWzIG4ygAgITbSy+kFKhjFE1O0gKUzOYBFA7w3dAFDZWwQmGdHBBVHjneLLdL5oMyR7FXYZ05Oe5uzJ9Po6IinlYj3D40mxTX0IHRhWjShhWRwRlYDspnCVFawK+LjKaGQithN0tkpVpnpxVSxmFyp2n+8Ud1PaROZqQnOpJ4d5hQjkg3JjA3JXFAqg4KJQv3Eabe/7xhnxseDWnv2GGWKBRibvO9pZBszzIB+CZaMFcnDE9X+iZPOluETpsqu5EbmaBiGDE4udWS0ydFNtx55U7ATusgZCkzwerls4s24Ro4yxEA+Pa22TMb1k0E3PMpWD51S1kURTWdiSWJEY491aqtmR4AA+MIoyaYnmKqpl/l1oUEa6YvadBk400+JrHHmUN6NMLlumTqExZJkgq6mTvXqbNQgXixO0JhnpxRR2HEuvT58rFKaaYGPy9RpMClwnfCV/MmRHAppVVjPUbhGVzgvCSiTHAa5As3mgDVzIQSp1eGCI/9m0GSglcLkCdQoMNmklCG1AA1dkOkoA3xhitJgKat6IAzxVDqrYy9kZCbh+Ow68l0in6yO/tV93Yk/K9bK+vvt1cMHFVeHT1aLJ6eTyiX4K8HV2v3njKumRm2GUDIesdbMzGiFnBz0gwqZWp8818csN0cmgzip0hT6hmUGRhY7F0eQCmfo9aQ6r/YOPwE2JEb4YI9albNlj0JKlpDgqUFezRn6TysRbsnUcT4frVJdsMMHJpaumT1dUfH6WY9N6+h/18GdQpfxB8bZ49T14ZdBEvZEhmrAq1kNxoGMMHOG4C3KtwZXcq8XFIx0AlsZea1BHA920pvBUcpk7XnKe3XwsKk6fWKQs9CMHDt/AjdZQITOTUW1tfFenpqtEEeDqJzJIZkeqdnaFVnGHRqoq70QqTCe7m8qvKVcCQaAKqYgZ3FknK2SncrXzoYzk87GgRN6z+SZKWVD4GylrGcQ9tZIfeeBPJOpMRx9y1AXH71i9X89stY7mR13XPn6L5fcFOyztkmHu/Etn0VeosSRkH+F6q9nN+pDnJodPczdaBs9mVAmJpxXY0cPROwwbkudOhf3rsPf7LVVGPKzeE14f+XGmcEqdigWQCqgC8KK0UexGzLPKPxTg3HOPDzlZvaPK2zZwVrL00eNE+Am+WvH9fggZUqPn5WawIEAG4/pFJNHZ2oMo10hCyJhs+lQZ9PyA0OO+BEeA/ykRGbT0jllIz/69lRLdSaLnQsYC4Vq8eBbDcu7eu3ceNpnP3LeZExNccbsaWptoJOjaE1mKLBU25WpeOv0Df6eo0BnSE2mSc0MXpkZ74evNP/1ZI0yn8PFxGPw59hnMB8Y7AzaPVRnb332z+w6behAdmv+D+krmPdGnM7JMMqQkV5lXSaYoTIXQr7lkXdztugk1yac79JvJF5FVmZPyk3hnCM9pU69Z/9mxTOduKCvUmSxvi6LetxafeYUolkePFov++3Up+ujiVAYSUw3LB17IcsFDbL92ObsI8hy1RTMIWOIG+vT6V6PLzcnjsMszaHR/GxPjTroTD1vajnCV56NuKfO1tu7B6BsziLMGOE/O9oOSctijKxXUR/A8WSt8NDIV93P9yxZ+fK77fXBySM13xp6WNw89fYF78bJfo305hnf5rP/3bDhnf2KtsThgNMnG3wJ+Tx0/8h1rftfN9tfOt9aORbqPKVRFbRk/PW/2K7LRPLHB0ZTV/rfOKxFwHR2Q2QvU5sb69u67uf3f/4f3ntrClKpHMbYu0dAk87iH/1jVtQ2ud7qriPSjfIL5PLp4QYaW1V41nxt39DnLU8Cq7VualClic9Y3KPvunzdUR/8juR0DB8zfZF8GtoQO7yivnsSmqTXYSdOMFr8Arexa7f1X9976KpPHf8tfyXRlUbN6b9kt6Rf08kkMTZq0gYLTsWx06s/F3g4dw24i/p37L8LMkx+8NDtX71n73r9sVxjS/KPJ+uXhEZw4WwfqnNFX6NXJ/tHNP7Im9g6qvdkvlU82WdT9vS1VQ0SLanAian17VOcZnyMwdzu8/0gIDTlB7NM56mNq7pO10x16XTAln01rlUo+4/Vth37q3b72IP1G944qDJppuJ0PGYemvRyAz15O5q1Vh5+qWBSyxzoib+YP4efY+TdPWpPDq+cfgU4skE9MZBVnTm9tKazC8cyCVYDTp4XK9KUOJn6v6h788CmqvRv/Jx7kzS57U3TdN/TNGmTLrQUCrSslU1EFJUZRnSc4KBGpwX3BRc2dbCgQ4FxREeH4goqHBFQWTS0VGhZDPtOS6Gle9Mm3bf3+5yT0JWCju/7+/7+uPeee5bn3nvW5zzP53lua5Hsbq+risrTgTEt7eEV6+yPx5RIq8s6WoLvln1nH+9W26aqrgrDPwvak61xhaXqkq6Y0voIyZGGUWn2rWfixnb9EHrnzrfi5iBLg5ejI6L5WrSQ2zw20nEOdxZeG3t78YdXJw3ff2bcuPKjjdrWlmivH8vc/UL9pcXIv9MxIqnlUp1S5WgODnU4woXjV+O0J2yBblxXq1J+tVgREYZ+uhCormuO88jfH6Jzazt/wa/9TPTEyrPt7jLPitrRMVuPTQo4IBulbircZ5jbejIw9OQ5zRTfYxd43GoPGn71hCa2sNLo29lSVqbTXqgNcjtXFRFaVtIhKmsrg42t++1x3qfKR3QctPm4t5YKcaVHxciW0haVoqHN3cvt+OXwULeO0nJPFZbX1chb2zTexcWd3pGorKzZr7NaouxwNAt+NZV+OtRhrw/W8HK31loxhjvd4B4U0lbsEVjeFYMKG6UK99IqQdLe0ubWfKUlznjhuCKw001s7kKVgn9lmU9gZ2WdRN7OB/PVbSp3N09U28J1empwYb3SvdPW5CexoqGtFVrVlXYPicpDIatztGH/sI4qMKFwjxOOVQSESGtQgOOcROPR6OiUd1S3BXvUVXa2d9hbRUnpxU4V39jWVlvVpRIrjncGN5Y2cY22Rs6BXpKHoWYPf1Rx6mK9vF0SotUlhLQUldVfOe3wlImxI4wRhpCG4uJLeRe6OkNTdOGJqXylf9sJFOZo10bFxIhyZVN56fkD9f5qIXHskOiqy+2XD50trw5OjkiM6/KRXigsPXAqADckD/WM8i4sajl/sFPpHqoJDdaGdsq4E0dLz+Wf9Q7w0A8NVoc7TlQ6igo73RVBYaHRIZ748nnHlQqF/ZpXSENHWFeVyr+pk0c2ezPi6j28OzoCNJykq7qu6kSdt7vXqCSV3ut7S+G327jgiGl/vs1oFIvOntq157hdqRszOzlimOz8lf2f5144bvOKGH9/fGCsY9ulI7tt9fXaIX7agNamuuPHr1a0iBq1fpzGXyu7Ul94pLL4Mi/iwLggudBZdPSX/PxTjqhhwSOm+vOe5y2Fpy/UVLoP0UQZZajhovV82dVGuSpkSKxGUniu6vDhipbIUMMfUt1k/C/bDx8pkHlp7rw3LHREze5i67cXyhs9wqMnTo4ZHXTsmx053xcqVMMfvGt8LDp78uTug6ebVKEJo/TRAVKZ7aK1xlZsD0nUBsQGqVDhgWNFl5scNm20PGa0zC5rOn724Gks8x02Qu/jG4YKS37Zf7XGHp0QNz41wqv54tH806dyav3VEWMTwwTEVVwurUVKvUY3ZHR4U0XVwZNVR07x3u4JE7zDk7qutRbtyDl/zj40MuKPE4KGKfcWl3+zr7WtOmJEcPAQRS3Xfv78kRMSlSo0cYK3EFxUUHq+CPvp9X5eQ4KP/XS14IvqtuaYBM3Q5E4HX37Ueu6SDXGqEaEBUR62dsmFny842n1DA8PHDW0TlWfPXzhbZvceOjFeE+dZe/oX68Vr5Y4WWZBh3AhPleTC4aPHS85WeRlHjzPGjvAqKz+zdeuZsoZgo278JAMuqzvwnx3F15rixk+YMlHCd5LPKou24aCQ1LSoeGPzuaJLlnPlhR1jowNHTIxFJ06ezDvW0syNGqY1Brv5tR794WDjsZMxQ9zvuiNydMg129nsTYfK6mPiA8dNDpALtYVXvsxrOtsQHJSYEiJpt5dfvSIPNwaE6r1spbXFV1t4mZu/pzQm5FKztLK28IzR56xfKi8NEa6dqyy/3F5qH6kKuDMa+XicLaq+bLmmbm+O1ngnelc22Wsu5l1sqz4bND5MGjO0w8FXF7VdPm7j2/wUtf7jE9wM/jmXw3I/cvOwx9ymkft424s5eaeHo0YpVrbXV8s7pe6eEilqr2uSyO1I1cEFtNr9vAovi9WHOww8PzY6OLl535XDWw6VnvEZHjE8TWOXBZ497W4/U6HQBPoZY32CVLWXr5ZUlZTYfEP8ouMDjJrquqpfTpeVVAjxsfGpvt7hJQcKiw9daO5q8UkIQl4xvs2NHuh8ydUzl8VAWUC4gAT0yzkf24WgLpQkL/WRt+MGdaC7qKg6V93yyzWNEfmOMPor5a1Xio+caXD4DB0zfmwoFo//8/TRtWeGybiJcf4jhXxZ03eFfleaUtXxU8V2NVfruLL7Arp4IjKsM25Mc4nHtQPFbftyhVB3/9hwUSmvc9TUKLTB3jLv5goBXywVq+u6/GTIzyMUVQQofj4tayn1i0b6cce3NR27Orzj6h3DuTu0J4LCT12WXzuuKD+epj8XllxWH3Z4W7vtigy3G4fJaqTuNS2otksXIh9uqKistZ5wHCkc4teQOKWmzufKj+3N5zr8/ULdZZF11qHD8urjUbNXa4NPy2WvkOMXNc3lI+KjoxS8ULpv/96DRV4BnjPu8ou/rfyU1/n387sqFYo23TQ58jqVf/roac/xUvWc8EMKj2O8z0G7scVzYlfzRAMKqDp46GJBMRKTR4ZHTuNzm8o+O4FLygKQfWqSVK881+VRcMF+4qKPrzJo1IgAP5/G5rKD17jK4nZBk8B7Tw451+F9+Acf32NBU3jPsZ3t3kcOV5w+Xl/aGBntGxI9wv9qRV3lqcYAFVIoG66VdclsdR5yPiqmudqDc9QWXpK6y5JGBEUlNpc4rlhO1eGIUZOG6yQ4+Mp3u3KspZGjJ01J0Pld+3bfya2nPJDP+JExcUH2A7t25J+uQInDwkalBbk3HfklL/9MdYNDeffDd9+Z1HR+/3v/2XbgvPzOhx67f8JIofjEkZ0rv6oQZUMeuevPD/GHvvr3v3fvs4SnhM16KDRwfPMH+w/+04JqQ199aPj9Qw5f3v/2loMXcOzQiaMEbfSpwx3l55GPNG6iT4C6qvr8z53KK0G3qyQjoxptdafPtzd3eHJd3s2lXnV7A2Y5LscGni9trqru6OjydufDtPKSUlvJpQt2/4CQIO9og+NQeV3u0Tq5VLxntpdHdEtB3YXdlR1XuhKCfCI72sK82i5dRu2tMkeTFCu9OkJnupV68Mf2lTaWtSfERnrL/d3LLl88cLCmvnXmo7GxMyOPHy+1vPdDXZvy/rtiHnoAX23+9p/fbf7maluyedyMBdFlpT+/v+H0tStxj02c8shQD/vpnE+yfymuSRgecfdkma/68oYtR745o/bUz50V4a8r2/bFN3k7i+MfmDLp0dmRndcOff/13outvqNTxj35cET1xdx/fHLkwNU6/6FpKcYEhaztyNErF05d7Aj1Cxg9IdhPo+ioulpdVNtc2BXm5jNcbwx1a7tceOXY+bIyh69ncILR6OGrvlR2taShwqGWeoSKqgAc7FXXab9UWlVyrNlL7fAY6u4bJatsqzpc3dTm4W2IDPQUu+raWy4eaWo40xihiQyOHueBKo6e2vVd87VmY0TsxJiwAPuZMz/uPXW+xDtIFztihL+AyvJPn9t6LUqq/etwze1+TdL9B6sO2QTOLyIhvEuQlV8uKb3YgpBW62kQ2tG1w1c7Kkt9fQJCwo1yUeqQXrvUgcs9VLwxWCVr7bKdrWipb0QI7XCbjJCb2lGM5NVNHq1NXdX1MjWqvOzwd29sqq9uUvo6LtUK8sautlrMO5pRW0dbtdyvpNhd0WFrEtqqujzrilQBJZe9hCuch83WJeMcjS3N7qiygcfNfEcd11qD5JKmGrubsr5ZZi+T+3RWtKLytki3gpoQaS1CpfXBXIWk4zSf3GhtF+xd3lLH1XKJn2i/WqvwaShDXD3yrbzg53fZpu4ok3rWVHrKKmtFD9u1Lm+utK2rTuDb5Q2nuwzSwmo3vtOz42y1u59HZb2kvCRY01BeX98a5nO1RIIdMmXj1S4RtbQ3l7bEeJys8JS0dsi7iuoCfCuuiKqSBt+OaluzRyC+XIKUCkVFHdfs4VtzvF3rXdzkVV+sjqq90iGRKrpsTY2tfp72agdy4zpbuloaFPL2codcgdvbmhy8V0d5s4yTNtQolaX1Xq01SnVHSbkkwO0K8q67pvayVcuF9pbGVjdFdVtQ4+UOSXsbClWdKNUFnLgW5VlUJ7TL/ZuuXELJ4edPd4jtbd5CZXGLSoHsLUJbpdS3obTJM6jjZKW/T2WlH1ek8C2r8RMqa729q666SeuV2kYrF9jYLOtoQe5NVTzfgviWyq4o1dnzXt7VkmBHEXJvkagbL7WrxPoSVUjJeS//Opube2OLe1dJu1qovSIL469Wunshe7O8y9YSJJ6tEDzkHvzlCiXX7i8rKpGG8Feaffm6BoWjPlh9zS6xterdim2dnqhcCOuqaHdrrRN9bZUymQ2JkvpaKbLJPCTVJ4KTrh72Sby8L2hk9XGkbGpUejY6qkqlMV7VxfUqFZbb82tjx7Xll6OGjqFGB/kpJg7bamwVqgn8CXfJFTd/r8bCGvfAtpIuNWptqHPDzRI7Dqg61xYWUNIYfPr4iGEN5W1dNs9QdPUqEpul4fZ99QnquoDWnxpSfc82+9oasAKXN/gF2M40+shL0ZDIfRvxiHjf8oILijjfUzZtwz7/mehf5X/yO9+g6GjhfIUyu09DkTLJ41BJuLpB2XS6JimxJecsCtZJL1ZKpI5OTdDFXZ0jJ1Z+YEsU6nz1p4jiIfe9F7wjgwpPiIHK0gtKTYO93R2dkQ5RXTwRmHBuv7uPLrZie678j0Pqq5rLf2yfN/TI9upITW1rYNuZjljxytH2eI3tcnG9R3T8tdOVF9rvSjxf1digVqrw1Y5A4dp5cVhneX1Va1LipbyzTYEpQ8t/LJc1ygN00iLkbv3Ob462AtWQ76Ke+ot9aY67NGpS2C8HGhsqAjSRcaXf7r/qe/8fu/6xXyFxH9thbY/2/uLrMS+Gfr2lUjXttvPflHvopKVysb7d3qzkOiUdjsuaScXbq4LiRtR8fmDWAyc/rErxsBtjTn58JHlyEFfx7ZGIu0JzrobbjyUNKf+h7aGgb37RaDkP94aDx1Di42FvrvCeNMRdVnSmLCj6qpvO88qOs8PiwxU/n5LKPD07w0Jyvgi/M+JgsVFS09xaq/bpUPhd22UbfVvj7rOyyAA3VHbW5jeCv8ajqqLWcfKTgQGl59q5MvfZQ779V0eaqmJE2oHlZ8bM9G4/sr3rz5O/3xMRuuvCvOHf7Q8WihWjPPedUQfyXShMtFzU6moa4+WfF08J2nP24RnfvCm5XXQEhR77smVKlCe6ZK10k2t1guPoL27hyo5OHCzNKQxJVAuNmzdHPTnmWvaRtjr/GUkl1t1V+oB2v/CGYyewZ7VkUtLudUXG8bF+Dd9urR5+b0DV1TMVNRFzha/2B0TzjY6mRluXj1tZeUeIpFFSX1bpN0Q89X2dLlziVvRjbfIQeeFJuxCkuGZrtAcm8Sd3FmrHetWdLpc0S72lZdcEWUdXa7XNLUKsyi2MUdfI3S/mNo4OabShmlw02q1Ggq4cVKVIjtkEewOHukSfml/qfLAQFVC4p8Q7RBt+Ka85xrNE6WMrrpb6CAhV2VBZkzHabi0O9KyRSHhHvdKbK+ZDy8+36TyrJEEVJxvcPbHoUX+xPDK66iLy7zrfrA+xlVR5hHTavZWVtdiHsymV4OnFSyivl6uq2oYENxwqwRFDharLzRKxqTXIt7TCM6C6GOnDW0ocXZwy1re0uNMTtfuoO2y12EdR2jzEr67Y4d4p83ZvqnLTNJR6G/hTXRGtV/hosbxNUFyrjopqKkMeNXyQn/RqnbLTLo0JKG/saO3gg4SmVokMVaJY0W5vk0r4EHlTVYuo4jh395pmiejewHNS3NYuytsk/g1FsmBlAwpuruDUbtjLvaTdQ6WsaJY1uHEq92o3D9zW4KVpRZ64vCzYWG/XeR89ExIhcZNLa6+IWqWj3bupQh3Q1a4UGlrcOA4F+NQU1+oCGxoENb7S7OfeiD3cpMjR3oo8/TuqOGmbjwLVd6hbEW5Wi/Y2Xuiq9YpS1V1rVaNqN53cUYu87fUB3q0t8nDHeaXGcUXmjxvbMeY6astbfT2bW1Bzo8PbvbFZoapvFD0qSt2jUE2nVNrGu7c4utSCHLU3dCqaWhTuHvZ6uYxrrlMGtVW2iVyzn2/5mY5gtzbRo/Zqu5+0Cjn9eJxCX3A26QGFn3hA+WhwfFTYqJExmkB3/tuszWA3flP/ob3LTxkbNXVKsiFcKb218n2fP2ZYZNqERH2oKPlt5VFIYGKCLthXcYvv/zitA/YvqzI5+5dVmKjWhqiUSil/az7SpX3Kx6t8ojRqlUom+XX/0rr+/P+yPHL3DI309lHJb7H8PdRmWXXdD0ekpyZEk6qbMsEQHKCQn6V+OLq2vRuXNmUwn4OaXn48VKuTnzVNGR6hkp/94PFun38jblQe9ynvNXD5QXwOqvBifox0Hi2/PkQVHzEhNSLM301+9u/0/T/9dND3B1+8Z/AC6T5FkUj/9YqRSi4HPfst+vm/HSOUfXIZjdygXkqvFg4h8kfEievyVcO1OiwiTaCAyN8RIt8jRFpQlBSRVIzIyxiR3ZgXD2WgjasNfxG4BEQ6MCLjOF48NL87bgGHCOEk4oq8jYcQucxZcpN4Xjz0NNqIyHYIpUNIJuHEH/IzjUOw7AlV4VSJqvBFiapwo0RVeE6iKnSXqgrHSLnooqoMKYpG5B1pQmJi4lANIj9JESmSJmmlZkS8ZMiWJHOlyN0zoxFJcUfkCXeIxyJ6ejj9HpQdyE/Hpk1og1o7XWHahMgKd5VjtzvkgLRp+GGaNk3x8CZEFokau0V0pU1QPD/nf+qKm6B4eM5N35QsEpHtARUnLi7INMIbpntp7F97wZU4vvaSPYGsC3yRdb0vsu71NRUW+yKrtx+yzvLDKNM4Cmcavcyy9AlVb/gtrv7ZT1Pj5q+pGeW/uPol/8XVBf6IuAdghLIsKERTVBUXIDFx0Yur4wKgfmYEJGgQeS1glAaR/wQgYgngjCPxjWml6BFx80+lZ6ALuYEyxF8OgHh1IJS+L7Coam3g4urLAZqak4FFVX5Bi6vVgRgx6qjosSBUtDwIFW0MQkUFQaioLchSExdMKYrvFOANYfdCF4PvnhGMrK8FI+uWYGQtCkZWrxBkvTcE3n1NCCInQjjx63xEfEMzjePx4uopoZDyQigi34dyxiAzUCgPRdagMGSdHoasr4Qh69dhyHopTFPjGS6P482IJIan6Tkzb0LknnB3E9oQqIZnh2sgbWk4IrnhGHGxvpSWIxxZkzXI+rwGWb/TIGuZBllTIjQ1T0SgaMi/IsLNhDZEUgqIfBWBUbgGelKmEWMofzECWZVaZB2vRdYntciarUXWYm24ZnG1dyS8+fBIjFhvm5XGJbibWQ888XSWEaj/IRKRdyOBzulIZA3QIev9OmR9X4eslTpkjdNnRvOxiGTogdJH+kwjIj/pgd7qpBmKhzZwCW6U3t340vuI2PRAZ2gUsj4dhazfRiGrIwpZk6OR9floRue7aDQySYNIWTRQUhgw4sRv81H2OvXkadDvVyfBFUZuqgFovWxA1t0GZO0wIOs4I7IuMiKrxdhNa6IGERwDtLQxQGtrPtrg//Q94tOHuQSpGVnvi0Hk2RigtD0GWf1ikfWxWGQ9EIusxjhkfT8OvqotLtMomCfpeLNekJgm6TlzkoBISDx85dqk6eL8Pa5auxvHfMVqLSMekc3xQLc2Hlk1Q5D1niHIunQIsn47BFmvDoHa901g7zklAZ7yWAK85fIEeMsf89GG5T7TRNMmlC14z1CYNoUnhmkQ+SEBESER0pV6GPNhSeFa0dleD21C5IFEU0uS7PoV4hUPbQql88/KxMXtSTKtFpHDiWjDOp/p4qWN3SVZKjx16owLG+GpUxUXNsIb1SQiMn4om3FmTcMJiKwayiV4mv9nbuanSWdNy6Jzx96hyFY/lF2bk1jcPcMgTkmfvnQYxIfQcC4Ns7eSDIdwGA1PpuFwGn6ThjU0vJ+GI2hYngxhRKaxa/ZJfoaUzYczFA9vgrfLTGZP35WMbFXJiDSOQLbokZDzTsVDkJODa/+cWkr/cOKExs0joRS9Zp/k71HU7Ab69yiGfA2lHhvFSr03CtnyRyEyezSyLR/NiwXzUBbKvnLfHxSNF+EpcGX5oXf0L7NizEBxvSgYGYWPx3ZTODE2sX75aESk46z1y0ezuBHjWNxjNI62i6LmK9Zi7J3fG8dy5o9DttZxiFSMN7UET4DW/1oxaw7MPqJi1rTup+yZgGw1ExAZMhGuLO4vE1ncKnbNDuQ3YlZWgaGspxltCExSXO8RLhp7J5paetNYbeBjIwVE6ukdJ64o6Esty4jIsEmIzJtE3w3TEZ8dyHuiOZsYpU8nIdupSYgETKXX67kUZpbvwU3wNqL0QWf+aVNNjoVTEYm+Y2bDwqms35d9yWa9si9dX2759k93mBxv3YHIlTs1zW/dweJ8ZrC4yTMgjhNXFbB1eN6XrI7nfdldc3+6A9menwHl4crifGawuMn0yolZBSg70tXKtI1YvvfvRg0H70Zk5b2oYc+9g+azuf/BmW82J35I32eYFPIlqemVCHNW1U2fA/EznP0Xyne/p9eDyHbbg4hMfgjZnn+Ixb1kYnGbTBAHZe9zPvs+xYgLA+XhxCUFLP68yWIPmQtX1BAyF2WfDJqOZz2DNhxTT8Oz0rKMyHL+r1qtaV/hI8OShmuRpfARpRZZ6h4dqUWW3Y8hy046n8ygvM1q9Qz88AYo8+7j2iSW/+cnlFpN7kfp6/M2ZKBs35AZ0o82sJwPbcgyJuZ8lG7at2U+o1GzG8o+vABZtj7Fi/nPon/SUYUbL0L8bc/QwxkDPWeYHlKK9vLPmfL9ngca0zGMn9Xq6Rjmdhaq+QpK5zzveqO6F8KTorTIsuQl+Ab7QqXWtG/RK8iy7VVZ9knvadLiD7gNq32mSR/+IMu4OKf8tQgtypu0COWWvwZjezqelYaMyLJyEbJMWErbqce3Q8qY15HlwTcHSlk4NTEpIWmoFlmWLkeWzZkszxMw4jl6hZpbiSy3/YMTl/bsqxy9Gi25m7PW523OYqmR97GeE3kvvRqR5eDdyAL975/53anq21yp7n9AFuh1X+XfmENkvJ4l13ct7Zm0nler6dWILJ+9iyzOvomhb8KXzd8D72V7b8Le/R8go2lfyFyUFzIXi8gcokUWj49Ctcgy9z9hWmRB2eFaZPl0g0aLLO6fRGiRZeenpn3LPh+o/wzZiCxvfomyz3o7Vwmu7yoxbarFPmQjIqGbLc2QE9qe9ltv6Lesd842Qn/NMqK8uzZDn+2bi/VuV0/+cPPAPRlZLm3p7nVq7g8RrD8uIOvz1n9D1ydnr7sTz9+TZdTkLnrFkrvolYFSMrayPrc+L2MrTZc+uKI7fXFOxtaw4eG6xTlDtmmGR+hW7ZXvKNor3wH7KdabsmgvQhbj94sNEnM6RsR3JyJ/3MmuLQiRf+107aTKdiKSsguRhbsQ2bULkfZdiMzYjcg7uxGp3Y3IhD2IZO9BpH4PIhN/ROSTHxHx/QllPYA5IyKP/kR3cX3rK++uzaxWXbXGanUG3fdArZk2wIj8KN2S+6+fbr52zzaytbvIuXYXOdfunv2LjV54at+RC+MWvjbegsh8Cyd+kY/IFsu0WERsFkTS9kJo6V5Eju9FRJKDyOQcSZ8vgvfn4rjY+zDK2s9hJBmwB8AMxVKuvg918GYOHDJKa8MG13xjyd2RG66fh3kTyrJJgRv8fB/K25DHiST31lZDTvwnHfV/UNTkQ53Fy+fnrPomQ1pUt+xzTvw4n84IPTgE4AeQ7eV8Xjw4D31y6zzVU9pAgTNNEZBlzeG+o5mO4FgDS4eedT2cirvDu3uEhaPd4XhLd3j6UdYPod/txoisPIrI4aOIKI9x4pZ8RO4+hsiqY6k6Hq0y8EhhftvAmZ/CT0XJ0Ts0hMjRY4iojyNy33FE1h5/cKwcPRjvhhbgJzFGrrt0zJkMGKM/x7uh+Zgz6SA8Vk7vH8coa4y0+/55zJke6ZE+AaOsIwgjfvWsu7vPJ1h4Zvf5RI/4EzP7ne/ue551j+vMdlMPbxhk92RE5LkTsG8Cvme2ovTLG+89uncbn51ge/RwHbIW+8LOnDOqb7bnJCsieu82+672ztHcJ+7DzdfXPbri+fr2HCGLc06f6Dtvwpjh6C4D1tJjdE0l+4JO9o1DeRlbXev8SZ7Or5b8kxIx/1lzd0zexdNsRQuk9xP2fn2u78oIM+vmLDj6volp35KLfeMsubBe9FlbLf8p7B/3fjHU9GQtIsdKQE4FIe9SRJ4tRWR7KSJR1yDmhWuIfH8NEUUZInPKEPmgDGKrypK0bGaCMRBfjsj8ckS2lCOCKhCZW4HI1gpE+ErIO68Ske2ViMiqEJlahch7VRDbUsXm7tRqRFZUI3KhGpGxNYh8VINIVw3kMNUiklWLSHEtIhNtiKy1IVJiQ2REHZOqzSljc+Lf69joO1DHKP4RZajhvSTiF/mrDs5XI6Kof1INozRdDavIAjUid9RHquFrJWJWPtD4oB4RDzsv5s9FX0CIrSNL90rEdTQd5llYVV618/DM5yCEyBG7RFxL04/YERnv4MX856D8eMeNpGWD74Iszd27oNWGJJ27WTlChtKjZEhmXhMvQ7z5DwJGY/RvG0TzMoPMnCRM1nHmRg+MVsZmxvLmJAGjjAgeuZtXxq2MlZuVUTIkNb9tYCkr4zLj5ObMWIidHaVAIC9Q6mZHyRDQniO8bnjH4G4GSnLzyngZyqRPHElLroyNNWfGZcYazGtieaQ3p0TJEI+G6XmkNmt1PJqv4xG8k7v5bYPCnBnLs9LO8sP0HubXDZN1cB8vYETDZr2AUWbcHB3kVEYpUJLwoB6eniQMS56frNWrzJmx7O2BxhoDbx4juL4UYibrkoTM2IQRMjQtSoY8zMoRCpQ+QoEyohSou1xm7JgoGaJpUQo0Uhijg2cpnF8gpV8KNTF0+L06Vl8LIlh9vW5428Ajb/NQHY/u1fFIaYYvYN8lN6+M5dFKGuZYq0TJkSFKQLx5i4BpaIxeZV5jgHpJ0PFomg5KzdHx6EFaDxsEjKbplTo38+woVlNQboaefd8c+qWulnLex62MVdFWEM1Q81o9j+breSShqbwJame1wdc8U1hj4MxzhMzYTNqK0NJThHTdiljO/KLA2p8zPykoh2fonnTeq8xvG+S018CzONOTAkbvGHj0uoE3TxEwmk3rRmZ+3QBv+iSt1wzomyOg7WToSQHKxtC3i+71dmP0PPIwr3T2BnjTTFrjYwSlCdJeNwi98rNWHqZfHcdyp+nZdyhpPUCLKoen6yR0PX1SGNOjvjJj9VCT9O3Y+yZFKRDLOUcYo8+MVdIRwdMRxaMMZ70nCZxpppNSmqBNHpY8Xy81pwlKHdTXZJ2i1/tBXbI38jCP0cHKDv1/2PVUeEN3KXBlvbUBSTo3ITNujcFN0OvhzMWKmGkI1jsk4qr8LSDnd6AsD3dE1A0oa7gAV+D/qspYbAtisS1ojcFdmq57UhiWrE2er0+n9Q955usgDFJA4Be3H2H551uwiOZmxsJcItJWhHrhnX0gXbdUYPTnlEE+VsYVhvj7Gjhx7ngWD+GsfIh/SfekgMjaBl7MH4+yWOraBuXw9OGuOetJYbWBR4zGwl0sx8Jd3T2GpdxRz1LuqOfE1fmvDn9N50o52QAxLPVkA4vza2T3fo2cuDafxR2oY2GIP1DH4tqdz2vflT5ceZ3i7EZ2PXyUpcIV7t9zUn2v8clIHqVH8kgZyaPM2CeFJ4enDxeHK3UrhTUGaHfXt/1FgN3FSB02jwEH5MQ9gLUhF5uh41E6zBbQK3B6coZ+jcGdXufo1sRiGkqivRPj9OEZujVGifn1OM6MMbQ/SC4QOdvYd3/dd2fdX45R9+ivk2N0SzDWGLAZ5BfQq7jYwEH4LBd/NZiMPwGzY2X0NMyZWOh+zJnmYNAcwBzIjUxJTNXw5tGYM41y8qigx6JzpYZHCzQ80lINQVATsk5vQtZXmpB1TxOy1jQha3gzFz2B6omKpJOjn+JXRvNoDr4fqItvF3BG5SB6DtO+nZ9iEc03xE7GKKsQYxQnXWNYv31mM3ANKOuaCGMWNDNPYREopiDjczQkEfNx+jrgSRHJan5BtcQAvR34kEj65FX5Sww8isQwmmHk8AkLcZx08fa0vUk6UcWZnlIhktO8xMDFu6Fl8W5IxC9jjOBgI5xPeA1HSd8yrDAgwrcgMqmFxTxFc8AZi+hxyPtGi6hC5OcWRmvJ/9DjkYiX/E8O1wHpbq0peok57X9GxO2tiLzVGid1cTurDrJwJP16yFvQGiVN1SBrcBsiD7ZBzNfOM3A3LL8rzCesxOx+tBaRzrYUPbTaTAGRu9sRWd8O/FJmASK4Y5lhCV42Fr5WjkS8CmMUqo2SMN4K9uNH7EDnXzvh/HAHn/AuZqE4KdRtbgciPp0Q81znOvqmiJR2AvUf8uN00EoQM7VLIq4sYDErCyAGuFSQDLzXxfjOFlrHXMwLmDNF0pEKu2WQKMy3MEnCGgMrUd7F9nEu+UH2HkxSESYrEMgNMGlHmIyluzZMXsOY/IQxQRwmaRwmSznGhQIfrDzmkk1gksthIuExmcxj8iaPyX4eZlB2gKwCjnYqu8BELsHkfgnlbgeQOv9lIpVLZ/uG9pYwWnI/Skd5TMJ4t+LhDyAFrjfWI1jsTBYB154aYJfGt698AiRji14JTxqrXZwDkonFOfaFWu3inLoXhmrXWxa9MmHvolduXRbWe1bDlk2S/hJPSy7/HPumsvuYpDfp3vuozgGT0zLXNy2pl7u55Cu4Qe4G38SusKdOxVD7rKbnW6BVWGuK8ihpupdrZYU2g9T7Glj7PiRn/QDaBXYSk3Mw+Y+ctU+RHNoI+i2jlKbAZLUC2guTKwpMJgmY/FPApFTAZKo7Ju+5Y1LujkmqByYrPDC54IFJvDiQthyT16i2fLB2/y2te+NWmbvvJzFCi/N+EqFVMGnz7F8rmMSpetcMyCugdqCH964hTnyrAJMMFaupzarfU9v8e9X8jXWIg7XJQBK137udeq9It9pqCzS4qFYVYXpSg4tUXqGmpzS4aKhXoOnpxGc0uOheLx/TsxpctMxLZeKilWZZOi7a5oWLTnrhokYvXOSvxkWj1LjofjVGT2qxdaF6iOk5LbZ+oI4xPaXF1t3qKNPTSc9osfWiOsK0QIutnepQU6oWW8O9A03ParF1grevKSXpeS22zvVWmdi6i61LvbH1Y29s3eeNrSXe2CrzwdZoHybhnYov/QD8DeBVJKbMkSj6BYyyJnmhrMe9MLndh6VhzJm0dE1dUpCQnJg8VC81Y/K4j82WJMuMhvD7NAxftMsHF13wwUUdPrgozBcXjffFRSZfqJklvnIj5N3gO6EuSZah9RQwOU7DPd8EnjwreWhyYvKc5ITkB/WYOHzn6zFJ9jMI8EYMUcKb5utHY6ZVMBWu91UV7vVVFRb7zi183s9yaZZfHyTJyNUGkFjNHim/IaZkgR4X/ctPZeLioGUGQoCgorjgDA2UB94S3qL/802F3vT57AlAG5Pv/eDgYucLnOkPAiblfvdsL/cbpbXUxAVITZxxnjM+xh+OFN1fnPd/84fjheTReqmZo/tElSlDz8XKzeE6iXm+ECXlTM9jmYmLTcG8aboQJYWV78acIiZf+XNG9hYrDJhU+8OqiBGExwWk6zJj4JrhvFKpaUqKFvLPEdi6mcs9PRyePVJA29t3zRFcKyUiwK3BMWN3RmK63tM502DrooC+Mw1negN6ktF/kDwwGzFe9p7wwechEvCmltUUDsTk3kC4wohnumqGQ7gZAgEnuJkzdLwZk48DAbGQlTJS241JGKUFBEGGFnruiUCNnSEKTA5AFMDK31NX5KLTENhzjtHYq5IzdGyOgTDMMYvro0dCuS+7dXt5IOnsIYmSgiTKRTEqqK9mHihiMjsorW55EMin6HVAPQZoMKw5S15Kp3xChlZi9hM0udteXZyz7VWXtPi/wd5IzGMEkChjlJrEGZMwZwLvWAPsh/LO/xU0n3WPpms1ubsfgzfxESB2PWjL+uSHWceas9PcX6tpzXFpNa05S5dbc1xazUedWs1Hv0rQhwmQ792V1pzb/tFfx7Y4593H2dMjckcFL84BbVtvjRKXkpqUoi3ae2kL/RZjApaa2Dy4HLOZk602am4jRTRIzCjrFx6j/tgFiemN4Rm6MIphsNhrJrCdgEs7c7+O9pQU5NQwWusXTqVvT6LvgDCX8kZSilZmjqQxi+s3Z7L3mQPjPuUN7f3O2ubET/MXYIzStRIzzJPngzOuh+ZfD6VrJOYwGsLEIwT2V5iMDYGdUqQ33SWRv/k/5b2A8uRVZbx46HG0BXY3sLd/xvtJGv9W63M0By8eeg69Cfw5FlEacCIvOnMApw0ya9ANgiR64S5MXgvBpDAEk5mhwMUvduZ8Z/dSbzgzDNqt4s/WGJYZyLbv6btDOHv7N6F4e30ohNlTgVOaGMY4ztfDAOGJSV4Y4z5bqjDxCwc59LJDsDvgUman8EaZGY2UR3NmzuTSywFyioudglHW2xzTS/aUEfct9QgeGDuDbMETJOIXBz87yHQ3EnHjwY0HmaZGIn5Ow6DBkYifHvzUGc+JX1wPueJQ9knv66NDyqQLgHFlMoR7XL1byvSHkLIh49a1OxIzyE6ohqdHmcFRbqwMQ7bdXOPEcru0Tt35b4ATdOb/SQ84wd+mM/q9MEe3qn1iaFXKTdyiHurXIBZ+m87q1jVTN8ON/BZdnwtR/eIAiOoXB0RUs/kCtFYMoe3CZjPd1/p2JgXoq9ECVAHoelKdGivQVoF0YHZ42o73wrO3nw1P2yFo0naM1lzeka7J3v6hJnv7Ec0327o0aTsSI7K3z41I27E6Im3HFUXajlSUtsMekbajVJiww/enyzsmaSfsOGK/0bo6tgcyAPAXDOeMit7wQ0U/+6EiN39UNMofFb3kj4p64pwjE9M1Ey4z/nR90Y2Qzr8vzvY2LcTcCGHBZJKL99c9OjjGTqlKT0rXYPKGNkWLyQ6qi1xtkJghjNFSg8acJqyhOhqQnqZrOLOIuXiB6s15JDOvMGTGwnyJ8bTodC1I+udjmUmr4c0LMGcSsYt6qgbWHEqVvKFVqkBGtMSgx8DjNmnhPCqS7YsxeTySHZsiYf2C/XGKDpO2SNglw6pG5dnXsSk/t2AyRsdWpVd1mPyog7UCky4dJvWhmMzUg5QK1gumD4X1AuRAWfq+NcfwrYBXNTkAyeMbMgPwsb2QZoBDY72nO4XtQDGp1y+u/yidE5cXQI6peB7NMTVt3gbA/0jE5QWkgD2zO+Vt3QqM8yKjOPHdfFpKOo/yn1Mnz9sEspiGwN7oi8OJgL6QiO/mM1r987M8gJTrjYd7MwdlRUp5seCviECv6Y1GYlhTetgAIfdP9Z3SbtwRUP4kOovu9j6JTqzP2ApXjT1j697ck9FrDCjrEeRv4uK8qTZRMloay5lVOEMnN0vGypCU6qJUWGLiaDzKmkpXY0ztOdiq7hfOuP6xTtQRyD0A6ZFNkUXAa/Sd6bAl29D9jZbcN3PoNxL1caAEfUndwGRSY3SYnDTCM5zPimHzEfSihd2opn5rAMOE9cYlWZ19IEEL9igJjC8eFKG0eaRLHtEToQS7zcEtJGDGcI0LvdolN1p7PEoKmve1x1l9zY7B5L0Y0LODzPRszNNqhgOYnGNQszERFPucmtXvA7EvqOGMyb9jX1LDGZBbL6vhDFKeV9VM1tMRu0gNZ0zGxS1RwxmQXUCDEyMzXLMYJv+I48TI+TfnFjCxxvGAvo9EG9QP3yPO34OJVzwvrsiDGIaivzFPg8m98ZwYmb5qr+9aXkx/FkX2bamI3DWQ42lMqhOc0tWg6dLr+8U7kMWJFld07+1gVFQlozyGDu/JCUJK6zhTfvAETtxaMMjum/ZcTty4D+YdTtyYB3OLVNySv/0y+hA4UV489Aj6CGQAvHhoAYSUiZz4SS7tfc5aHIxn6m1NMTj+h1lLrMi7eX0Obn2wLR9lvRk0EK5np9m1//5/ivDv0c4M/9sbodYT498TuQtY3L4t2419729ZxonPPNufv3rzy94YYkAPD4z278bw9+G9QJPo3Bu6EOgDomsprvb7/MF43m7U/Oe5/bC1lulzbtxXM41u5t68HCfuye8rrQU57Y0lyoxGoJMGSGtcs/caA1unVx1bYoDZiKGbQIq9cNfNEaqX945PTMxhCNWBZvjeKHZAn09oBJR5//gI+/Qk0Jxjkj0ci+gR4DhdGr1U2NUuABkZFgFZtHAXIAgxqYecL8EawImPLIA1hwfdeyrQ4MRUSoMTU500ODGV0uDEVEqDBxRiKlDhxFRKhQcqqUDHJfG+gT1f+u8m6xTj03+tVRwW0RO/3cIMiyjj97YZA/n872c3hkV01/89+6zf2/IKi+jRnuMei+h5UYXJsGQsoof/d1pfwXwJtXHfs/3tLjhxzrxbt576NTZLt2qd0dcqA4to4a+1E7qRfQsW0ZO/xcaFEx949kbWK7BreGDeb7NTwyJ66mZWJ1hEz9yKVACL6L4bW5RgEf2p2z4DuBiY+V/D3ZLBsp1MJpe9ZzBObVU+cKuc+EE+4DUAVQCYooHmZyrPG0D60leGsyTn2eTeEhVsyUl2rdROiYpzhb6ZhSXsNF02EIC9hd0ISCyepRJQTB4eCTsH9p2wc8iqxeTjkZg4RjI+evIo4JY5kRTcqiyIor3I94gXD85Fq2DlkYgf5K86iMm7o1zrGCd+lgtXXjz4CFrFYtblM3v4VfQKKx20Ai8efBxysBUP3p8XDy6AmLKdrG7BNv7gcxBDZb0vAQqEFw++BDE+nTIxK3/ZIXg6CZCJHzjDr+ok4vZcCN0bKBHX5K06CEhimfhZ7qqDm/JBngO4F0ClrG9nsRB+ZzfEbsoHnbJE/DcNNY3ixfwFaBPIeHgx/3G0DrTHDNMC2AGK710HkmW6zoCMA9YG8l00tQYmUxLoCLTsNNPZ0TkfYRE9C/whFtE81y4Zi+hvztH/mGsO4cTPCphtWME8tNo1B9EZOI/NvC4uC4voBdCe07HjnBPoPOKS5IvLCkAbwYmrC1z2lzBCwIqJcniUo1tS4NKJUps+p93erUoK6UqWTrWOInoCVl+w2AcrfZPjay/Au7B+6TyM0G8pL3Y9xI7bUzBZl/K0NyYVKeyITWUcmuvY7ZTLLdzlCmOyOoJhAWBPmJ7KZHIgh7NHuBA80F4MxXM4lYsDOZCSR9sXOZEWfffOMNdRLM2A9ncUkfIbrX1+C4blt9p9u+z/u/1DgFTSJZmEcZq2I2y0hI6BtB13j+4rq0zbsXh09va9o0Fm2V9uyY1J2/HXMWk79o1J2+E7Nm3Ho2PTduwfe3lHwDhOXPBc9vaAcWk77h8nEQ8/+0z23txsg1Q8/GxBNlq2OGfrU7Tv97PgKdrBanDxd7uSixqrkot2QK3R0WEO1abtLRgXRs/h9Kyh5wh6RkY4w8HFeg3CK9quPUF5xPFOHhE4R+AbXRz9zeWsKM/v+VuXtWbcgqz1V3l1MEoAi05i0sC/w/8dKS3dmxPC3UxaeyNPHxa7RaS+ST7sn/pVxKo6hmzqrQnYnAl8AJNXDS4FHiiVpv1KnunmfJbMLAiLv5s21dawcGrRjug7JjTCTMqsqgeyyjZt62+Vjbb3s8o+2MP2qofVFcT05R/m5v8trX9c9OT+cfG3c1DX0hMfoA33e90n3fdlxPc/TmdxPfMl3Nk/7t2Z/el1zJqbP/L+/vErBojLeHBu/h1/+S185u/vn8X/FnFmgyE7+vbOJYd8/9r36+bmH/hrPx8IJNPcNx8m7o/3zxfXz14s27KnR9xqFVzTfkZ/61/bvhn94xqf6h+3//lsS8NLfePTfvZb1D/vz8swOfgmOzz+jknG3zO0swSFyUt7SJCZ0rX/FnjTfG2GgIlyOSbjl2OyeDkmc9/K0M4TZCYvbanAm9K1/xIw2foWJt6ZmJzIzNA+TCmcoxS+cFJgfGnyCkxKV2Aye2WG9hGa6wjN9RHNZXbij5pXZmifp6mVNPUrmvqIwHTqG9/G5Il3MDn4DiYP/gMTcRUmd63CZMsqTBZnYXI0C5OHV2MycQ0mJ9Zg8sZaTH5ei8kL/8TE8C4m5e9isvBfmLi/15uOx7r5Ws6MTRnaN+izS+izN1x/9tdtmGSsw0T5Pib/eB8T1QeYHP0AE+2/Mfn235joPsTknx9iUvohJi98hMmZj3piKavKGEIAtEPdyNLfhiq9Aa7x/0PUKOjLmGasG0EOe63ZjZik/AeQoJgs/A/IC0AGB1wf6M52/YcdYzHTqYDeFXYtTFPGsKTt/5GIbxUATz92PWga3qHn2vXwNLC6e6tgUz6EoZ4mZGOSlf0bcb0iGu+yqma21APZPf8au+kBEaNZvMRlEZ1Yf2oSRukq2FWBpQCVSvbgibkN8KVLOdCYsPpgdt+YTNyAyScbBvO39b+dr0VZehnb+cIcDxo/2BdDuIdVvlPalEWRanO0qGDCUsuBCUudklJaR9KPu7X1YEuwvn2gVhsIt9E3X9rPUz6+ldbFeS99CsetSYSyG9Z80dfyvIjuvRh/7roOJJH/vX1B9d/7sNWpv9Srh+YVPJHchNek3CXJ0HPGKPyUBhNxIyYPbXxA8wwOFDD5x8bX493Qc/h1gx5jYt2ICd5EYw06PC3uOczCMnOKnjfrMGd68XosJrdt6pnyEsZk2SagJjOnaHgzWHIsxH1z7Nvkeh7Qf5nGLMQYvabGRPrltLjF+HVDNMZkypeYvPAlJt9/iYniK0id89UDGt78jPol/KDzOt951avZ7nTFV68bJOZ5AiaHvgILFbAMhbllWhxnfg7DncScoufMb+JpcSBxcmsFe2RM4r+GWA/T6wY387Q43vwi5kxvYomJlQO7E0DBzf8a3jzy+hdF0lyMynoHyl43kspjYVTA6CRbvo6w276+zkv2tMvvEx6YQxvIU8iNvYNgy7PJ/bXPTNc1mLwTbEb6eghBloytTFMBM9r8ciZFA/skWBEfj2RSI7A1L9vJJHBgb+6SPUEI7Pww+WYzw+HU7uYh13OY1G/GZOIWiXhw7nOrIEQ9fVAZzpZ8kDyBZfa6fPQ4s7DJ3gM5H1/FZIFrafwnW6jt9xZMpIT5brj7mOiVpsXkUcLCoNdebGAYD5BprHcsdrag9GOwlQBroKUGtu60oNFaqbmo6mQg9IQxWqlZU1MQBOhGNrOPioS1B3KXd7nmeZBpgHU9Jp8TTJoJ6E0wmfZNpnEhvtkuEZP3v8k0jh5Aa4/J+W9gdoW59Wb7O5AAT1f0xBjfiF/Q2KPpSkCvzj2Va8+FbGzPhWybM3vrI/vOOLc9AzIuUwtgOgbai0MfcvEVINvsxuA86QUaPVgzgbfw2Eqt9qg11titmLyz1WWPwrAVv2yFXrbUsIZqAJkMFTgD9C1bRUAyDNwAaAQD+W+hp25YrYbr3ty0b504MQtD+dy3nUpXB9lHgh8s4thzb99RM3ff2u1953tN7pjX+8q0sUW3o/9+GXyD9dd6/4a1goTEd2uf3K5rnwbXOmm+XZ4w+D6ru38NNCdocnOe77srou9L/cXlj2J+Ph+jYde1Pw6WrbWwvmrswRP+N3vGGcTPTSxnlpkyo3nzKMyZRvewfr0Ve9chWsCqYvLW95js/J4hbjCp/B7qYlLLSC8YA0xuHSfFJOSHDGp1yrjMtsie1p8w8zzthcmrP4B1IiCtB/NTdQuengb0EXUzT1w478cfBvZapdX29MIEq9Ov9yI7ofEBlZgIuECp6bo/W9RfJ3hDX2z/P/HvwyyMoa1XHWM4LD5hfl9rYqfXnm4vP7LVPu1MGiVbs7ad3nfI1qztcOVK1EULwabpuhghwHSPzij4mm7TxQtqU5IuSfA0TdbFCx6mtw0rDGsMLwpuNLTaMEXgTCCtfOOnRN1UIdw0XTdeCDHdo5skBJpu080Q/ExJugcFb9Nk3TxB5Sz9ruDuLP2iIDOtNqwxfOa0Ajp1nUoypTKFUplAqcykVP48CBXipOJvSdSlCFr6LuGUSohpkm4MpXUHpXUPpZUyCK0NlNYk8FqD5v7wJwtYA62zRElT9TAPJurSBI1pum6UEGq6Z/gknY7SHkNpT6C0E6/T/qAf7e2MdtI9WkxaLWk7Ru+Fup9Av3sc/W4DpXcbpXc3pTdskHf91Pndr+x9IWmy1uBsG2gliIfVLlE3hVIfRanHUeoTKfVZlPrQm74tJof3JupGUioJlIqRUplCqfyJUjHcQguH5STqhgmRpum6KEFjukcXL4SabtNNFYJMSbpJgr8JPLz4mFKHp+hGDkLtE0pt77d/yUnUjaV9dizts5Npnx1P++xM2mfvGqDPvuh8l/W0dDgtHUJLB9LS3b3trlv4oss53bUNOwZtLtNB3S8B2U7PNNDI9r4HLOnnxOWpDpNncnvTkpLe+de3976v3d07f/3m3ukT9vROfy2k9/2+Ps/z3Xfj+pwzaH1C6ef3/bf1+aKAyf59Q3VjBNGZb5sgp/1Tahqqi3M+x5DnegO5aah2iiA1TdYOc6a9lNe7BlZU9/7CgjyYG/R0btDSuSGczg0hdG4IpHODH50bvE2puqSbzhCYBP/c+wmfbOk5+jBJ/7n3/cVe93O3DdmPsj2973PywvfRXdOiVyJ0wKn94j9deuj+ul8W7EfZv9A82PLjAVc+jN7W05XOyd2tMdwjrDFEfCuCBjgB1j25N6zvmIwrQNkHvHtjHxY542p2Z1vaDnLiv/LpvRR2np6Aod205NB3h1D2gWFMiiSnUqR7LBWH+/KlawzrLeCPcqcZrKfuNrsJIXqZGW1Yrp6J31s22bTSeXev4k9rxpnCnXd3YfOGkaZnnHczcOn7iSZd8mrn/XTF1WyDyeC8m6rwWR9hetF1J31oQ5Ap1Hk3WfHQBm9T9PVysz72MD3noiqd9T7Uz3KKb1m1993HI3S82VPgTG4CylY70S/LnegX3jzTcvoEcIBgQao1C8LgHDBnnK4Hr7wtVRH2tF9627djcvoXuckgoA2ZVP8w9we59bd4/V5j6CvjwSTFCtIfqo0fUG+PLZlWl94+a+8jR6mFj4sbmNntz6+n/7/umBsjz3tyUL04fynbvyEUTjWp2qRhA+KefouVGZMZg+4fUC2y45j8/Tjbg1/8me37/7WTIV0CTsD8FyUdOnyyTmKeDr6JnF4h1p2AmZAzTsaYxJxkuoWXTzIJ/CTwAVQFZbrtNqpOMmnCjN2YzDiFyTunnHLjuUwiwfYe4L8S5JgBMqb/ZvJNGQ1vLcBIJi4vyD68tMBVdxG5tadAGioRD89bSHPP5mU0zHK/m599eFVBP6QaotJfJ1KTFwueQVvB9qlgIVwBEw7WfV8c3HjQbfWJecy6z231rEdY7OcQ+wizBaTxj1IvnhD7KIv9DGIfg/BnLPdjgKQFHhYsF0gAO1zIDbBi6dIxLplZPzILSEAlwZ4arCDBsmWh00srs3BZQ73prMpfdghswb8JxcT3HPBTMwFLY+biMmM9hBCdxBwomPZ5fBSqo31ZB7akZB/KBotwvUD1Ec6Q+ycROrA5BUxKmIAsyz5nYwFCt+aluC/G3iXLzXmeWVVmbO0/DgbzAn2rfkoHxiKu/+njsZB7/U8jxmV3/fHc+p8eG7e+a8UYFwIVZQdOhDnkv0ei/t44WZfXj0d/Glwb++hPLq8fj/50I53sGsNSQ6QW48UGsLzt7bGHSW0ofjtohrSntgNZTp+gxyA+drt966armVXvPdvHhtRtHxvyihqesX77fAsLsae9qk7SScwzBean4GWKKFdfWL/9ZephZs0orUZiXipgMvECJp9c+G9sdyFvitYN8o4cqYHcszHKkrqBH6qB7Yb765X693iQHfXo8XmgYXAiKqgditSpNXTapDbUTMBEehGuva2Soa5CtRiz9ujZFgxvOGM3yrp7GC8eegbtpPaYz6Bd/d9mb+6Ii9l5Iy5KxGee3Xmo/6jam/t9YXbe94WQvmuA9Ow8bfHeXG0xymqW9bWbDtdzsZOcXlTYGWLGOnfJ7MwsrZgnaTZTgY0eyI/3XMVkSAn1v9QD7yxq/HnQckZq/HnQL36PwjT+vOgFM2AYTWNXoKmn97GpGnr/MmbXsp0Get2NuWh/njP6S1y+pbrvj9i7w4Bewx3p6jWGBD3YmH+PXhnOjQH0PFihLyoZqcfby/3WGEzb1jasNtyzfVEJ2r62AeyjHo+Uj4ZxOd+yxqDa1kKtWl/1wsRSEiWF8ZQZ9xqGMxe7iF4zYxdhTHBplDR7Oy7Faj31NQYS6lfUmNxWCtTw9m82rzFEUi+T0wXVNuWx9dvLdr7iBVL4BWpM1pSy1n9nN7OH++THgX2VWC55+9n62w8MbIuafcmb2qRsuFcd30cSleddqWD/W6nGD29YZoSZy5X7mBfkRnlDNpr2DaFI9gxn3xEVxRvIPua7oaeu/H4983bwF+ot4bfZba9vqJkwmDz4D8Nvp/44ou+w2Jcuv47gjuZi0/CtzVOQ90Hcn+uC+AfwraPZIf9yfOP1js1Emmb2B47f8n+GuY4pH/eVZ3Oxc/DMvNv+ASMjRcv4MNCO+cWA5J56miQPyTE5UYqJ7zWVdqIA/tyZJP9wKiZ/vEZ1YfBPEGdNfU0l89OToOVn48ZDVKKMnz8MEtolLwHPSXHV/f5WApJli33JS0ySD1qAFtSND3f5lAfORfEVHIPY/Tk19+DPIosixhkWGmTR6/K7PQp2W/hw4nv51AccxT2/jLv95FFvN4ACHsAiDFYFXix4FpEbW/y6cMHQD3tghQfA1A+0EqwtGPhfZqDvGBUJ1sowI7we5rJR7s+5yWlMZsGyQ5h8fs1NPLQgf9mhTWgZ7HWBN+eMGDOt2R93YtJ8jf0NDahzxhTMQjALw4q+xvCWgTMCLzlGB/WWvQfO9Xsg156rDNVbvxllcWCX8iJGK433Y5S1TArf6/w/EWBenH5y7qbcFybGMkzmlIEXHIaGFZx41yMU2zoYrvX3wrP+b8Ko/m+y/x8MUfrfYUZ/v78JvEn/JjDzhn8TgF0XYCBedfq7WVH2GkVDLNJgcqgME7H8FbWLV2K6KkzGlbPR8IbWpZ9i+0vYxYL3GlGOyaJyTGzlmKRVAD4ek9UVmNgrQIZ1K//76/6fH/2b3428kWcdoXgbpEGUQ/oO07/qGGelMQ4K1tn7jA9vgLsSGW3FCJbWLKOosoiHP2G7XlojESxnhpRyUCxnz1aMAI0naEZ7rBART3wF1gi0lYyzpvW087pua5sldXNi2WiZu40PfwW7l+U+0+If3hSuZWvuVCrbmlRJtTzkuUpmbd2jh0T04HLpqu70uQJrd8RA+mvn/5giupG/3f9NYghfuDKEWTtiaAU4QCsZb2F+El2+EuHYtYutbJ9VwuGy8XRdVxk4s9y0wsCZX8GZxswYuDJbiHhLd9pTzrSnMFshP6uENLVpTQp4pHYzz06Rp4xMmqDlzK9iyJ/hzJ/h1GHDvh1W3Rm7l1zXh2f3ePYCZ/4FmPXKXbv6v998Z575mH3fy/jGK7Fz5e2zHrt0v7Aau1Zl0MaC/4UXEEb3SlHWvdQvEvh5xeRa5QsUL9ftS9el6WJn4H0BCfDqD5yYWQChgCrQaYL9Eeg71zuAyv1VLg0ohF0SHOYD9/trPRGMLK68y+X/FpNNVT3DzDsuJpVVYEsBtkF/vNbDkom8O6rbFop5usVkTDWcC0Nc54H824I3YjYrgDfiIand3oghlnkjpiHxs9wXqHdOV424/Eq4aoQTAR+5wgB8e5rA6ujtanhv9XGoH/B1cqSa1Q9QhLNnTXf9uMIQElUQY6rpWUMQ17OGIOyqlW9qMKmvcVlN3VcbmqShnn+3l2LySS3IxIFeQy2cp9jYuZuO8ljPWsHkc9trzvo5vpcziuAl2Mj8/L7X2N9P8wuqT9WAz4HaebbU1f6+OzkxdS6Eni3trrHZMaMpMue+QKBNrQWzSlMxcnpbfgS4DnkdfNWBujecfpXB7zhgS6bVMYparcT8qoBJZh3QZkgl8AevlUDch2qgg0nbdXysWwoygtz/wXpRpdVi8mE9jB/ANblK1dQDj9h9x9qMoWHdjPMEsAgBzcK0Ohj94P8Y3ifBzvofJovtXIqb8TM8WovJUTt40oCD9UeGv31nPbyV6wlJDugrrrtlDnjSD/lxWvjOFwVogRMOV+8EiuuoP7Z1+SgduAlM9A2IIARrEvhOgRUdxu37tF892jDbuIAi3WY2A16Y9eTPG1j/lRu5BB6BDFGrXWZgyIYzDZgYG6HdlhkisVa3gPKO3W32RGOU9CmVVgfanEkt0Nf5Fl7cfhntgl3FIipbhH4LtZtJdfDQcrDDYFbLgATS6jD5shHS3MR87mBW/ir0Q5yWlVtKv/jLxoW0zy0AdFETPAX8YkO5PzdBa9Bya6GcVsd6rlYKaTJxAbfq4A9Qm7Q1IPbDenjyQ3KXp2xMfmzCxLMZ/oXCRgYmpmaG/Ppki1TMx/kfAF1AwEH5vc1sF9E9lie1wFgGJCLNvYnl3kRza1ukYgHOz0Q/gE/szAL4mmUtUjF/bv4mhgo54bp7H+6SW93E/LkFm6CEVielYZQJlHa0uvjpnn4nM40JGHa5OAE8RUa3YfKnNpMjemQ3n00xYX3kNlzsEqPSnDQC/rewXKcwc3G8ORBLTUl63mzJ3ZAxqDS1/+7kup92mC8H7lu3JSUl3Zt0e9K0pAeTZiX9KWmOVjBzMeAVCuxXAS32VpubqXe/K2j7b/od9A8uXoYWYt7E+t7PLdD3XLGYuLf37YOY3NneE5WzkPbfdfmb8lnfe7u9u+8xKqwPAi1Xv+v2zc7C3Xkh1817HchsmCf2G/ezgb2z9+5V3asYSN9TtBh7m27dyvj/TU/bMh962kfpvXvalvnr8z5KR1nR/A3+7P0rvFdAXXS2s77Y2Q5cfjfP4tr3us4u7/+w3wULBfAYD1on9s87qMs/Xg+l7GLeyGC1gHt2Bm9KLzstYj8eyeQXIIUDm5t31sO7JFHO54IHO7v4qr7cFLzZyKTRWsYnMG9nsMbDc6kH3etclb/UxVcNzlUx/mDGbk58nK6j4ztuxDGUd9HV5DnAH3RzU7CuQWhVB+QH22xA6LI17OLPLivtT34Ey21GraAV3qCuw3Vm/BUm9/bgr1z4OeaTlH0F4KyZ3KZnam4neERiiC9T7WhtRI2jE6QX3SHnGkiymgEB7LIWD/kBvrYiRSJmFgCaeWwNJvouTB7twuR0V5SUI6Nom39QD/MQs2FZuhfKrEBQBmI4sg7BWaDSkXdOceRvmHkkbHFaERW0crTNJ4ZxROQGlo39VrxcxgB4ufuc3nzoFXS6WqmZiwFNRDpeYxgjwPwL/WG2cZwArc+kePMtosoVgivjTOFgsS9juGq1mTHPYLYzyh4e6QXnbszvAnV3mMrQyUMcQ3mC1y/wYv14JOv37btU2pEC9QRGfuJU2pns/y4D6+20cO5eZTjx0Sd7Sv1Xxt6LOdM87PpH+42sFTmCeM54K75qOBLB9/VVo9RzZn8T+LqBWWoY9jIl6HlzmJtompZ8e/K94Jdcz5s93aSmxVufcAf/LQ9GY6eugxPHP86R23hOHD+eIx/zTDOLA0dijFYkIWOiU0ME4QR8c2mHC9lN/VU5JR9QdihGWf/mXZKcQfybaE37tr3KZtWc559PSun3D9ptr1Ktv3EWZt6Lwa8wyvKTuGQEPf84AT0YfBWARwf47w6ssewqq4IrrGbsHnoN7L9BmjunjCMOns6/5A8SygmTdyXwB46BRsiD1DekC0P5f9h7D+i4qqtReM+VZkYSKmNZVrGnajTSSJZkNcvqvdoYG4MxtsG2jGwsI416tZpludvggg2EEkIoAUJwQkJCCRAgEGoIoSQkgZBG+AghgdAChLfO3mff0RnLsnnf97/1v7XeXctlz7lz59xz9t5n903ZbALHBIZyL1HhtRZYTM9+NVj82e41i65eW4TurJ2IN1K9vgvu5/pSIupTdB55/8cRs/oFBp1YbdROfM1I8V2iP4Hg1KK26B/eC7RRbfYYDAdwXpsNU23r2ol3jD/5pO6bonKx8I0atyzIaUzUtowb4PDFJvWTcecCAxyODqJPs3Ia5H1FJvWTcSfjiPh0Tc5qed8Oo/rJuFPfJz0SXlgNKHL4jCJ8cYV8j9CfC5QOklP/9vdAIJ3oTLr50HknouX+Eva/832qjfIN2SN2zsOiS9HoLBFDzmecyPz4FMjjJ/60zxJPF38LrvPAA+J/Qw+ILjdBVHPxxFX3J83GytknCh8Q1fdFBDDp59Qt5t044UumKvdEtcK6/n9HtVOitDOvc6qdsJr+X53T/3/XORUcb/knnlmCvltnCZsj4zxJHIcw0t09S/C2iFlEzeKP6Lcp/ggsWPy+dxb3bSCL4dR/b34qAivC+P8XES2sYBHR4gwT9XTEc6lbs4iVDY64G2W+7sfE3cYTQnYKzGBN/NnFpsDPxIkznS4xsx5x6J8pi9zJIeA2uDZ0JIeAeYvFSXl4HYb4DT3JIdBjiNngSQ4Bj8GyISk5BJIM4Ru8ot+jIWTDQHIIDBiCNwwlhwidS3D8kiCYKFiZEQIGQ/iGnXm7koK2NBvMG1bkZScFbdls0DZUomRRKevpR0S3JpLVT/Ra/eVP/BD7DT6VFmZhbaVMMaQd5FnvPaid2GDGFUKZSMSwzXk40jLlmYfzq8QJx9QuIv1F9X4e598XPIG5ANM/+Wc/B6JzYdskOhdys6j1KiLgDjx9NLUqMcIgvq8VH0syGNrQ5uL3sIroA2HHJnu239M6FK2d+IkZ/0TsfVo7oYV4MVv1quipn2knqkOE/Is89fDZwVrEA7I+r+DR/qqO9FuBv0E1dsWsRdQFcZwzr2TmvEdkxV/1MFldv/XU9h8Ky9+hp3YUHCw46hXnf8SsqsSjqYIbYyQi9oOb+u40H4o+5Dn5axr556RyQTPKhFhV78TNISd3clf5ov/+fQvpfuaTM3O86Uf5aYKTiaeJO5nS/L/0zVKemcyWCaim6b/z6jK689T934944fDrwcYNdL41GOiTT/RPGuUnJUb+ZAVKVh+GaCcuCNVO3BaqnQgJE6elwEtxWtqU03LqOblvvtitU5+TdD6SXvjX+wN/Q+Xfgdz9/44z/P+jiuXTZJj+v9P8v3Oaz92gpcduEd2YVyZpW+oMX612uT/XlTKSA/kic17mQafjFLw+Z5+0Pon3rA4zfOhOJh556ClxthNPFr5G+iMwzzeF/1NtN537n6gOEXNAi+oh4YcWPobtf4CHSZ4Pirj3TbgbDgdr8v/fgcNp+P8fvCl6z65ALWZfuqAlg+GgN3qLJ98M3mQzaFtSDIke0SkzZMvRDDO04WfahhTDoEF8x18VmOb2IJ622ol9YUVJK8Po/Ph1mn/ntUeeCRN/To7Gmvr7YYG/v4V+73S/I57xPz+v/7lnca0XqtMn/MjkUxa/wf1Q6Q/X7hM+ZCEtnFyTDyuG3Q4nfhBkjHi265nbhbf0B0GnqiNWuzTxg9+dJe589nrYFziundgTeeSfvzvLX/fOGPFsKz3TFDy9DUhwkOniU7helYhPSTb65RbK7RdvK/539UeCt094w7aIbq7CvhNvJGlEcP0fgbiHfOPif3IVhBfc6LtLzHqlxzdTNVmsXi2q2NQ+6l/ZtlmCkyehfCFmEWEgfVRolMIwtMMrtHLk4yfVgdHSx/VKMKey5Bz1CgtNYL1ax0mWHJm/gfWLBF0L2UvoAcIimfln/74GRgKK6N2ke998QuS3i/ltvu5w6sSj90UmPnZf5NQc3K7nDqe6Hnt0ofgTWHuNIzAMHybdK7Ci6VN62rmh2JErUfyrRkAmfnBfpHZi2KJ9KH7FX4+g6zn1PtcHjy4U9xk+fHQh9dH7z+dD0YzRxE3F234K+6IFBcwv4kpDb3+5P5rrCqEWM20VHjrn5liXnlGFBbbDkY9DtY+98OiT1wpLkCUY+4d/4+WgVdI+u0raZ2euu8ARoftLZBweWjrm3P/VKgvlPHqXJfGxuyynfiftxLZZ2j/usoh/Ez+4y+LIsSdqj3x7lpaqPXJzzMbHb44h/9DJn08f00qzvuu16d5OjGn/eDx2an6NmtetPSJGp8Om2qXOD+56Tfz7iPj3JKx95LG7Xtvw+F2vnWmE3f9c7Ueu+yh4QNgvRCWbmSvWiHo1XBVBaCf3xFMHXEGpL6dS3auyeOEznXO/kP+mxiCJjHa2sXI8k7Cnsv1V2FMpSk10NC79HtvHxL8c4zkZLSyhFCMqZEY1NrQDbWgds6hCMMXBcXTst/AZAh/L3hZcTHQIIRmFY0LF/0UFY+zbKXt4iqgD7cS/4sc/zjEdSF1rgMPHjKL27dQcNsppp2x30nz9me5Tc96x89lho+gxdvjedPH3Ufz7efzkXfw7JwO9QoctC7Av9Dd+liVODzFizRS12dQaPJxlT/n1VPeRZiBz6w4bM+BE6Pvi9zAf4fDRdO3EwoTA38STlH/z8G0ZIvYDDjdlwImXP+Rfnknf/z+nIwjfO8VvHHlKxEmcqpPDdF7W7QDgBoCNTd2b4Ctc6w38P/qPRx8RCTIG8OgfBOEN6fq4MGlrkK5/YDQABEGKPi6cX8GQon9gNgAYoVQfD8Hvry9iOJTmo4+HEexi+Cz8W78dwvHvCh2OIDiD4Uj8e3iY4ahp3z9b/98s/Nt9IX9CrqZyfXw2/q0/HmJofut4xnMI1r8fS7D++3EEF/EbxOPfPW4eT8C/U/T3Fa1aTLC+mJ8/j+anv7CV4CaGbQTru28nuIVhB8HtDDsJ7mVY/2HlajIQTmVPOwrynfh/oRAGHsPUPQyDcIPYQ5r2WRAGswxT9jBUYK0Y03BHIzSrtQ73UAMLREKkZrWuCdzD0DQAsFRMwkHNYhSIKfbMC8FQDNEmAYs9a4Bw0GB2sICn7Bki2dQ9CwOjYeqeITxlz8IAjFP3LAyWGKbuSRg0G6bsCT5/yp4Q7N8Tgv17QrB/Twj27wnCXfj/caiHxCBBSPz4OHBrNtsa4McnQJJmt68Efvw88GgOx0ooBlrgGwzJ4vvAP2eHFM3pXAn8c07wai7XSmiTC5YIqZrVujLYJ+F0SEP4HAnnw3zNbl8f3JVB+1cK6ZrV6oNWCVdBhma1NkPXApr/JsgUv6/1COqHYPgkeEEwNILWgbABXg/OCoYG0C5DOARKjNnBsAI0n9hvCIY3DDkhgvGswKcB9EOueJ5pRQ7BeyCP4FyCj8PCIAC7qStRfD8Mvg/5ZjHeKt/3eViE69m6gOCPoADhrbheZthuKAxyAJj75f1rDUVBLrw/B+EIQ7H8fi7CHkMJwevk+hhKgwByzK2ZAjLCOYYyHD9b/l6EoZxg+fwVhgqEt+D7h4NmqkR8bsP3N8APDVX4/r5MARshWKsOyRHwOgCLZoY0rQbHz8H7Q2CFVivgkDRBMDAJI1qdeH5Ql5zP/Vo9whvl85/UGoyQBcZmud7RQY1GWADG5rUCDoKUoMVGWALGnrVifkEQYVwSDItBa14DkAUmqAo62whLwdhzHoAXTDDXuDQYzhbjxZClmWBV0DlGWCbGi8GrmcBtXBYM54C2GACyNDNsC1puhHPBeImYtGaGBcZzg2E5aJfK97kuaIURssFYJef73aDzzHA+mDbjemnQZjzfBCshqA/HNfh50Eoc73MT/K+gCxCuAXqfoOBVZrgQTOcDvU+f8UITrIKgITEfCIbY4NVmWAOmbgDkLzuMa0ywGoLWAL1vZvBaM1wEpvOA3veY8SITrIWgoUwaPzv4YjOsA1N3Jo3fZFxngoshaKgYcD1ag9ebYQOYuosBvJoZvmvcYIL1ELRGjo8HN5lhI5jOw3ETPGLcaIImCFos9/vK4EvM0AymarlefzQ2I76cK9frpuBNZtgMpgFJT/8wbjbBJgg6dx2NPxJ8KdLDuZI+XgzegnAn3h8GFxtbBP/UWt1Erz83bsXnXyjHvzBeZoItEAQB11kawCXtvu52X5OvpztwlC7xuVjTeFNrMLSB1jxEa+4xtRmhFYwdGcQTikw+5AkdWwheampHuCeD5nSxqQN5yCU5tIZbTZ0458sy6J37TV3IQy7bQvCkqZtgN8FXmnoQ7s6h+dxh6sV3DJzvXI3OwZzpXwcv5sv3mARfXq/z5QdNgi+v0fnyIybiy8yHHzMJPrxG58NPmgQfXgM9Ei8/Mal88s8mlU86zcQnmyVeG81Et02Sz9xvatWs1vVQK5//kKkN57NMwj81+fD3V0r4KVM7/v6ghJ8xdWgOxxpYLeHnTJ14LjfJL/zc1KXZXLthk4R/YerW7K4JaJHwL009msM1AE2NBL9s6tVsjhHYJOFXTX2a3TECtRL+talfszu6oV3CvzENaE7HAPRK+HemQc3lGIB+uRlvmIaQb/pxaluwFCmUK0oDaGqbYQOnyJO15gg8y8TZS2cLnr0m3uMKs9hjn77HRWaxxz59jxeZxR4363u82Cz22Kfv8dlmscc+YN57oblByDLAtDpq3ox4yHtQYm7FNe/YQDhwjrmN6GAD0cE6sw9xpOe8DchrLjO3I++9bAM9r8fcMe2aWMSadM28Jqq8tkbH8zfNJH/wO7+F7+zH43fNhMdrJF7uMa9F/sL841XzZYIfmd3677eivNOA42fBpLlNrIGxEr8PcL3ZZwb3cri0gfjXneZ2M+QBNDfQeXWfuQPXsFueT78wdwbDGjA3ZdLTPzB30Xwl/Km5m+Yr4S/NPTjfwCsOaX/mNToVnqSHKDKa5ayQJM1qXcRrZjGG0JpJPHFGhQg8WcRr6AwNmYYXgJ/2K0Oyg3Hl5O+dG4IyDTAvSBFnOICRz9DGkBViD5i2LeaQVnz+KglHhLTh/C6Qvz8rxIdwshyfE9KOvKNSjseFdOD7ZUk4OaQTeckmQhqLN6RLs9sHQJKuJS1ErPki6JW0mxtCa86MtTikV7Nac6Ae+EzqQ5wJXO9acca0+WbcE6blvtAIlENZyt8RMsuQs8jPr7eEij0a0fF4e6jYkxGddq8KFXsyouP1TaFiT0aA5eDNofO12toRYLn2vRDaI+bXL4dkTdmzMAgKxT3T5dpdISjXaryH36c91FgOfSCkUMAGluuuC0G5zsxyVFzoMnwey0Fvh5wv1ktjuSM7dB3yEpQjwASpoRtxPFsuyOqQVkNoOMBC+fsXhbQhnCPH14f4DGExAs5DeGNIuyE6DSBX3r8ppAPhHLmHW0I6DTGxALnyhstCugx2J0Cu/AFfSLfBngPAZ2lnSA/CefR46AnpNSSnAiyUv98f0mcIE+Py/qGQfoQXyuePhAzg9xfK54+HDOL+sszwRsgQrk/PFtqfT0PofCCZIAwiQodp/LziLWI9naEjBMvzpCx0VMJbEG4IHZNwJq7nitBxXN+e7swtAr4odDvCkkagLXQC8atJIlhX6A48/yolQvWETmo21whUSD64LXSnZrXerZ/XI6G7NLt9BDbJ74+F7sbzsmUtwXtD9yC+Ml/bH7qXYDmBg6H7NIfAb/mDV4Tu1xyuEWiRP3A49IDmsI9Ai0T4o6EHNYdTwHT/sdDL8f52ie/XhV6B9CCH4YbQQ5pTjPsuRfjG0MOa0/lv6JW/f1voEc1lG4FeSXC3hx6VML3QnaFXai7Hl9ArCfau0GOay9oNvfKF7w49rrkcI9Ar5/fd0Ks0l/OALp/cE3o1zm9QzudHodcQLJnW/aFfw/cblO/7YOi1BMvfeyj0Os1hHYFBub6PhF6P6xd42QTPGTzpY+Xic2B2mHoOPIo8ZgkwH3aEkS7De/x4aKtmty9hPglPhLZpDscSXeZ6OtSHMMtsz4a2a07nEl1mez60Q3O5ljDfhhdChYy2BFrk4f1iaBeeM4MSfjlUnn0S/k2o4MPrmW/D66G9mt3eAu0SfjO0T3M6W6BSwn8K7ddstm6olBN8K3QAcZplvL+FDmo2Rws0yfG/hw4RLCf8Qeg2zeZqgQp5/4ehw5rV0QIV8v6PQ0cQZpny89BRze5qgUa5x/8JHdMcrhZYzUw5bBzhZfJ5xrDtmtPRAsvk88xhEwizDBketkNzCViOR4ZNIhx4ZWgAzac5+9l+FR0uzhm7br+aE072KxZvwiPIfqPLjOFCZqzTz50F4eLcqdPPnRvDxblTp587V4SLc6dOP2cuikC9wMznTFUE6gXmFfy8CLKP8Lliilik2DfaIgoV+0VYhLBfeM2sP/9L6s+s/+ZGkP7LOPZgeCva68rlB4+EtyGcK/lEWrgPn18uXzA3vB3fL1eulzdcyA4xOs4vCu/UHI5KKJcLVBbehevDNFIV3o1wufzg/PAehCWZw5rwXhqXH/jC+2hc2lh7wvvlOH0wFD6AMPPp8fBBzWarg3L5wZ7wIYLlBlwXvg3Xv1xu0O3hw7g/TJN3hY8gXC4/uDd8FGEpG8Hj4WM0Lj94OnwcYWYpL4Rvx/Uplx+8FD6BMPOAX4XvQFjKavBG+CStv/zgj+E7EV4l3/et8F1ynD54J3w3wkyj74Xv0WyO4xB4VWoAm2YWrXScfyuCbLY9bpJljkQkoAzOJKNFCr63HHFc3F8S6UE+1oU4Mg53RqSjvMqy0O8jyMbHOHuDxNmeHBo/FNGKz2+WNokrI9pQ/h1yE45eE+FDWZFx7N2Idpzf0IIctC88EdGB8mRjDo3PjySc63eTze25iC78foUcfz+iW7NaS6BiIcEfRfTg85jvnh/Zi3y44mwa/yyiT7MuWg5NboLDIvuRDzdJYSckckBDHUou0KxIgXPNOl9dGzmEfJVxPj5yG9GA3FN75DDK37XyecmRIzjONOSNHMX3aZS/nxc5RnCOG+HCyHHkSYyTlZHbCUfl82siJ1B+z5LPXxq5g3BcwssiJxFmHnBu5E7NZq2DSnmWrovcReeCfF5z5G7UD3Ll+22O3KNZrS36ubQ1Usgqq2CZhDsi92lOZ7dOU92R+zWnsxmWyef3RR7QnM4BaJfwcORBks3l9ycjL9dcLv85czDyCs3m6oZ2CV8ReUizunzQvpImeGXkYdoPuYDXRx7RbI4B3Tbxjcijmt3hP1e+GXml5nR0wyb5+7dEHtPs1m5okfC3Io+jLNFSQTz1zsirEF4px09EXq25rM3Q1Egf3Bt5jWazHoCmRrr/vsivESy/8EDktQg3Sqb+UOR1aMu5QMJPRl6P68nn9AuRN6CdoXKU4Bcjv67ZbBOwTMIvRd6I68fn/CuR38BzfpPcr19F3kTr4aYNfy3ymwhXSHx6I/JmxKfAK0LwjPaTPlYu3W4Qqfot/hip+i3+HKnax/4aqfop3o0kPwXv8XuRrSg/s6zwz8g2ze7yyyIfRPoUe9OHke0oP7N96ePIDs0p5EsJfxrZifKm357UNa3txCveuWfmd1ZtJ8t1WWBzFMoCGq/JZ7gmK/U1MUSJNVmur4k5SpUNoqLEmizX12ROlFiTBikbVENZFMoGxlPZDDui0GZoZF/DvijyNbDdYEkU2RBZFsiOIlmgSb7QF2LNbXdApdTRvoxs02y2MR2vgqJ8mt1+I9TKcWNUO9oBmO5Do4RN8QA0yvGzogQfboEWCUdECXk1SsfrWVHdmtN5IyyT47OjejSns0On+7ioXs3lOgwr5XhCVJ/mcrVBgVyfeVGCD6+AAnm/LWpAs1pv0WUHR5Tgw6sgWY67ogQfvls/e91R2/D7q+W4J2oYv89nd0rUCK4/y9epUaM4n2TcQCfMjxrTbI7rYbWEM6LGNavjaqlzOGFB1HbN5bgc/HboCdyP7nUCz4LhhqgdKHv1rCNb/7eiJoNhJxib0RcQDD+I2mmESTAG4l+oBrD5NPIrD78S5dYcjuU6Dv4qKglhxsEXo1Sb5mtRKTjOOPhSlBfHmTu8ENWKMNPdb6OETuPTefHrUT6EA69UMeeTRXHlmo6uyCeo6l3vRKl09RbS1RL9nX4fQFfvIV0t1d/pg6ipMrfweZ2ZLZ59kg4L+SSZzlZaVDorsqh0lmEhOuPz/E+4hn4Z9+2oNtQjWZ54N8qH78d4+s8oIe8shV5JBx9GdeD8WV75OKoTYcbbT6O6UG9sknj4WVS3ZnNcq+PtF1E9ms1xGNol/GVUr+Z0HJC2CCcYLMJ2f0DH6yBLv2Z17IZeCRstA5rLsVvHc7NlEOGmXoJDLUOazXVc2hKccJZlm+Z0HYBNEo6wDGt21wFokXCUZURzuA5A8iDBsyyjmk3cL+HZljG8f7WE51jGNatrN7RIOM6yXXO4JqQtwQkJlgm0JbRsInieZYfmsB+AwdUE2yyTmst6YApd7pzWP5SrAXS3bf1KOMsydIslAmXMU+HwgEXF4S6LisOXWVQcHrWoODxp+d/DYZbJU2dJv7vE6bclTrNf/IiF/OKM41mzCMfZz/xbC/mZGecjZ6k4b5il4ny7hXCeZeAeSxuehUwDfRafQgNDlnZcH+Y7w5YOhFmGHLd0oozONDJh6VJoZJelW6GRPZYehHulHrvPIs6WZp1mLrf0Ic2wHnZI4Ly1RKehH1kGFBq63zKo0NCDliGFhh6ybFNo6BHLsEJDj1pGFBp63DKq0NATljGFhn5mGVdo6GnLdoWGnrVMKDT0vGWHQkMvWCYVGnrRslOhoZcsuxQaesWyW6GhX1n2KDT0mmUv0tByiW8fW/Yhvvlpav+0NFUqzoGv5JuK0W3+50QLmlopbTEAy6OFLaYSacwC+wzXzko0t02JpVkRrcqka6Kn+Gw1AF+04qeBY9Gqz/bb0eSnEbEuFtgH35+Vic9nW01UzIJg3xSae3p2VrBvCs1Nzs4O9q1I0Gnu+tmqHvzxrEVBrXqsihGc0QUIMw0+EV2Ev8+xKUXRxWJc9y+aZzcYfVlg4tiO4tmNRt8Cv1+oefYKoy8bjOxDWDv7fJNvSixFQcxKs+/8DBPHRqyOUWMj/j6bbEMcCwExF5l8ayHIzS8gfXt+X18bwZfUSU3GhzDT2A+iyQfNPGBzdAf5naQe83l0J/rYayX8n2hhK1oPqyRsnN2NehLrPUGzhby4XqfZR6J7UQ/eKn3ku6L7NIfDC124fvsMv5/Vj3E3XTm0n3fNGhD7CU0Sny6MFvJi5RQ9fwj1/E1yvDla6O2VUCvh1uhhhP16+ojUy9kOQXo786yvR4+hzuPXW8dRb2V5957o7ZrLNQCD8vkPRU9oLlclrJLPezR6B/rRmOc9Hj2J9NAv3/fX0TvRruKTdpXHZ+8S+AYdOYSff5i9m3wcOYS/rpg9BOcSnBWzF2G2A1wQsw/tAEM5hB9tMfvRzziUS/BAzAGEt0ofxfaYg/j7gfRs1wAuPUN7686YCPRN8u3XxwgaXqHbmu6METQbq8e//T6G4t9YB3k2Rpwz3fqe3B7ThnvAOszTMUKH6YYKuWbXxrQjD2mSuvLXYzoQZhy9OaZTs9uX6raaW2O6cJz39ERMt2azLoVlcvx7MT04zufOD2LEObMUpGkCfhjTh+N8Tt0f06+5XPN0283DMQOazdak224eixnE+1lneiJmSLHZ/yxmG8YsMA49HzOsuVzdUCEn8ELMiGYVcRuSib4YM6o5rBO6X+almDHNZZ3Q9epXYsY1m2MvNDXSBH4Vs53WRz7vNzETeC41yRf6XcwOHPfbVibRthJ4iZiES09jf+ySMaBpcxIxBpRx4OMYVVYKmiP4+ApdVjprjgd1Fl2PnqPaFmbP8eIeMN+0z6G4DOaT2XPIb9Mk+coXMa0U6yPh0DlCVmmGFglHzBE6znpol/CsOe3Ih3olPGeOkM8v0vle3ByhB18Eg3I8YY7Qg08mCCFvbmm6bMY1Yn/3sjmzDN7lfj3vr7Hk7+Y1+q/YJPQv8hr9KVb1f/8tVvV//z2W/N8cJ/pMrIgTHdDjRF+OTUOY/eNvxIo40YFgPgszY1X/+HtzVP94fazqH394juofr4pV/RjfjSX/OMufa2PVuMlX58i4SRk3d8scjJM0sz99/xzVn94Zq/rTg2LJn85nYWis6hf5eqw8+6R/fUcs+dfZv71yTqshJsbvL187p80QU+L3ZzfN8Rmam/3+90vntBu8XhFfS1frnA4cZ3/2p3M6FX92QWyX4s8+N7Zb8WcPxfYo/uz9sb2KP/tYbB/C7D/+S2w/7j/7q/8RK317EgHejx0ke5uE/xU7hPa2FolgH8VuI3+z/MInscPkb5YI9+/YEcXf/HnsKPmb2bcXO0b+ZkbIuHGyz8nna3HbFf9xcNwE+Yfl801xOzSXfUTKzwAhcZM4zv7rsLidKLsFXvFIU/0nfT71YhoKj3Pj+c80ZIkTNFSi01BMnKChEp2G4uMEDZXoNGSNEzRUAkwDx+NUHSwrjnQwxvmaOIrrYZy+LI5wmnHy1rip9jknRMYJvnStfpZFxwm+dFw/+2LjfGh/47NibpzgS8f1s8EeJ/jScV2nccZ1ajbHAV3nSIzrQt7OOkxSXDfqMKwDJMf10B7L+71xvbinrNOkxfVN8ek7IT2uX3PZDug6UmbcAO554GUQe/SVMlwAisR3WtbPmBqj6hE5rEdYfhAXgWdWj5t056r4BNSdOSb/1XjU1eX544SIeDf6DPVfild9vJ8gXnTreDErnny8p9LNi0xZSrxXv4nwQonZBo7ZlvFeC8CoxFQDxVRjDHL8uRgXGBhTHejzbdBj0FuRl0o5z/JwHPl4pXvD8o84H65PBTE7y9/jSEZqkXj4QVyHImN9FifOtxyJl074T1wXxk3WSliL7yZY3h8cL328ctwU34syDON5SHwf+s/aJRwV3685nZ3Sn+SE2fEDKAOxDDYnfhDXm2WuuPgh0vXl/Qnx21AmovPbCfPih9FG2ShhW/wI+iY2SdgRP0rzlbArfgzhJgm748c1m20ALpCwJ347xpUuk3BK/AT6a9olnBq/A+GV8vyfHz+Jvo5eOZ4RvxPjRkkGc8KC+F2a1TEgZS4nZMfv1myuAehwc7w0ye0b3YQvufF7jbAHjM1uwpdl8fuMkADGnkxxvxHWxe8PhgOgNcscg8H4A0bYL8bdOL41/mAwXC7G3Th+KP5yIxwE4yVu8ofcGX8FxfS7Cf++G3/ICFeA0R9vfTgYjoB2qfz9R+KPGOEwGN0X5uBZ9HL80WltAcibTxN7w3rBv+IFzS6XNCvyTBKCp/paPkcabdZp9N/xanz2R/GqjPifeFXXhwQ1JhNpFk5Ds3geEw3GJFBexLl6jOMm9Enz630S34q/z7qqltBG8daSiIITfIqP0pQg/FkDutwektChOaxTcUDKC91uxZ/Fe4Ix8TA1Br/HCL1gZHkhLEHKC+e5ZV5H37T+sASxR72Bn6oXr7ErQbVZJiWINa7U1zgZ17hSX+OahGn4YsPJfJHPy84EkhGZL16QQHwR+SDmCVBuCdsMbQmtyBeY7zgS2pDvsP7sTSA+x3uUltCO8+PzNF2sucOnn7eZCZ3o72J/WVaCiD3erZ+3OQnCnzWhn7d5CT2kz0s4P6EXYfY3FSQIXXBC90kWJfQH7NmAEfrBSPp6EJybMIjjfhvb0LR0laYBtJwiR4Mv9Wz069vHE9zE6yU8iXvq38Mb5R5ulHvmmNsQzGeVoMvUuY3BHJss9jB/7gqEA88izj8JmUv5J7zmuxNU/X1/AunvjXL88gQfjvOeHhF0ImwycvzKhA6EeY+uTujE2AU+K65N6EKc5NiE63HPuvU9uwn3rFvHiVsSeglH5PhtCX34+0zHdyT04/gqOf7thAHSl+UL3J0g7MQroUm+wHcTRMxct07n308QduKVsEmO35swjHkSrG/flzCi2dAvTuMPJIwqsQ8PJYxpTpewKdH4IwnCTtwt7bwAjyVs16wi5lC+wE8TJjSrw6fHPvwsYQfG0A1K+OmESbSJtsmz5dmEnUImNflkLNBLCbsIXudGvevthN0In+Mm2eP9hD0I97S6cX/D55JNqUvaMxLm7gtScXh6O7FLA9h6GptRYM4p54gumEc5ovz1trkUr8RnwyVzVT/8eXPVs2HLXNUPf/FcgfPL9Ri9oHkq3/rJXJVvJcxTfS275pLdl3Xba+epOYg/nke+FtYDOudWKTl/185FXVbP6XtmrprTFzGP+CDLf+55qvy3Y95KPIvYznvpPNXOe/E80nU55+yKeZRztn4rnQjVc1vFfDWWn1bOJZ8v2ztWz/Wh/HLORXT2PTi3He2OPeu78fmF8yhPpWd990VCd62d1xkMXaA1rx+6SOTEnTOvywidYOy+iHLi2ud14+93XETru21eD+reXRsA7eTfndcbNB3OxGgAl52hnfGX88g/FyhPnMpf99t5qi/h1XmqfPHyPBWH3pynyhd/nDdVvhA5bmcmXyhnG7B8EQJGK+UB+uWB1gB5oE2RB/48z0f5ZPrZ0m6EDr888Jnco3Nz6PmzrJ34/MD1E2fLZaeR2TiXe6mNcrl5TTda/Wsq9sBmdaM9n9fUZVVjhjxWNWYozara9TKtFDPE8sRWu0qX59hVujzLrtLlp1bVH9NhXRS0aIoN6oSV6JRzeY9bKZeX6fTnVpVOnTbKzWU6nbRNpdMgGLTL3FuZW/uGTc2tfcm2VNHjPrIRHbPNqt/mz4UV15htpWazrgSma69dpetv2VX/zYN2ymXlXNDjdsoF5dytZ+yU+8lnb46V8tN4u/OtbYjDfJYWWX0UBykZcZlV6Ik36fJStbVDsU/UW4WeeFyXl862irP4Jv3sXW4VPtub9LP+fKuwpR/Xz97VViE//Uw/uy+2Cvlpry4//cJG8hPnGVXZB6bNM4oWONwa+Kl6qWdLifQxinzzRPNUvvCinXIAThX//Ws7xcYyDv/GnoJ+a8bh39m96HdmeeYlO+UMsPzwhr0N7XT+eGgfPt8fr02xsP545Y6A+OPOgPjiLorn1uO1uzFem8/rN+2qXTHe1DutXjBbrOFpYgPZb/uRnXK1kC/AJGQ6LIp9/+920t34cf/GNWrW1+g/uEbNwDnnbsc5RmkLxfNiroNsu7yG7+MaNuu+fs3Rht/n/GGTwxcMkBPkzx9up3eW+ccWB/LCIH++Mula/nxl0rW6MziHnM6rzgzOse5hW20G5cTTGjZncA5+H9pvAtdrjgbQeoZxXWUO8okE6k6BMda8JhWOVuStTNtVjjYl96TW4UOZh20o9Y52lHmYthsdHajrMG0vcQhdaEKn7aUO4dMY0Gl7maNbieE919GD/gXGy/Mcvfj7TNsrHX1kn5YTWOXox/xjpoPVDmGv3q3LzWsdg5rdsRtq5f0XO4S9ercu1653bENbY8mWMrR5NTmGTQAJJ8kMBWLNN8685kz7B51I+/oe9OMelOi0v9Oh2ou/5lDtxd90qPbibzvIXswyQYITZQJ9T6OcKBMAn19uJ+WF8vllduL5peeJ7nSSPZnPr71O9KEAy5lVziKE2afS4USfim5/DnLieQZ0nhnhLCeeZ7rfbLaT/GYsd9qcjQTL8yzbeTbCbKe8wLlc8bOlOFcgzOdZgRN9MMByaolzJfmX5Xl2tnM1wt0SrnOuQRhrNWgm2OrE3GPg822F8yJ8HudbX+TEfGu4EEiu3OC8DGHG6W0O8vM1SSIZd7RpNrs/p36vw4f7yTh/0NGO8QgV8oYjjg6SX2S0w3GHmp91A9LEep0mbkOaWK/TxAkH5Wfp8RGOXs1lL9Fp4j5Hn+ayr4dN0qDxkKAJ23o9B/BxxwA9X8JPOwbx+cs4h98xpDnt63UaeskhdM31Oo295hjWbK71UCnhNxwjCDON/dkxivczTf2XYwxhjsl+zzGu2V3r9ZzDfzm2aw77el03/dQxoTld66FXjv/HsQPf53wp72Q4JxGfu1YQfTU7d54UOwBS5mw9TUw2nzVHnf64u0dgEl5zCpnTq9PsMadKs9c6VTn+TqcHbdlMs99zqjR7v1PQ7CJd5vyDk2TOVnlIrnAtQpmFae4hJ8XwsAz4uZNkQLZRXeUUOOjVbd/XONswRplx8EanwEGvjoO3ONtRptokfTK3OTuQDxOOOOF2Z6dmtx3W+fx3nAIH3TpOnnB2owzGfP/7ThFD49Zx9F5nL/qM+Bz4kVPExbl1nH3QKeIVbvHH3DgHNJcrR/cpPeocxDg59iE97hzS7I7j/rg25zb0MbGP6GfOYc1lO677iJ52jmhOx2Hdp/SsU8TFHdZ9UM87xzSH/bCOwy84x5U6FS86t2OdCsbBl5wCB6fENzh3KOfIr5wiXmFiSl7ATjq7i0kXfs+5Kxh2g9ZcTDHZca7dRtgFRl8xbXiOaw/y1FaEjXCOay/iW+CVJXC476SPlYv1pP2Jqu65yqX6JTe71HNmq0s9Z7pcKs4OuOicYV9+S2Ka8GfpvvubExGHDXzutCWqetOfXDL+Wc5vJFHNQfy3Sz13fuZCvQm4ZpIrsRRzEPnc+Z5L9eWXJZIexXrQMZfQg7wa1wz6xIV2Xf2cuD1x5ZSaP8FwrWuVERYEG1nv+Voi6T1NG+j3V7sEjdl1GlvrakM/KtPYxS7i82xDbHJJGpPwFpeqx7S6OtHPynzb5+rC9We+3eEiGmuXv9/jEjRm12msz9Wr+GWHXH2KX3bY1a/4ZUddAxTLKcfHXYOKX3bCNaT4ZSdd2xS/7C7XsOKX3eMaQb9sL07QCftco5rLtkSnwctdYyg7CZpoEPl5rvFgWD7P0LeB1v9HidvNcH6waSiDzuXHEyfMsCYKhjYQ/NvEHWZYY4Q1G0gu+Dhx0gwXRZnK5HrFuXeGTle77zwNoO0M/UGXJAk+36THw8x1zzLEuEHyZQO0ulX7yoRbjUdJdpN9ZauUVb5wF2KdKj320l00pW6XAT5wV5IML78/4EY7t3apxOkiN9q5MZ5E3G9OWonwkLx/o3s16QwSR89xr0Gb1oD8vRvcm/H3OL7E5m41ZCz3x5c43W0G+xJ/fInb7cP35fiQLDfpMCJdX9hla9wdIRg/I/nahe5O/L0tPXS/z92l6DST7m6qPbOFzrW33T0mWAAGYesR6zMrqRd1ls4s+v68JPQXGTqzCfYkke7dmUvwgqQBgvMILkwi30XnIoKrk6h+Q2cBwUuTqH5DZyHBy5KG5ffzEV6dRPUbmrJoxzcljWo2dxM0yaTGS5PGNFviGmjKohVrSRrXbInN0JRFK3ZZ0na0azdlUUTOQNKEZksSMEXkDCXt0GxJ4v5FCA8nTWo2byU0ZVG20WjSTjzHm7IKEd6TtEuzeZuhSRbc2Je0W7O5K6EpmyL5DiTtQbmiKZvmd03SXs3mFvfTfK5N2qfZkkqgKZvme33SfppPNs3v60kH5PdpPt9OOiifT/P5TtLlaF9syqb5P5B0Bc0/h37/zaRDmi1J3E/z/WPSYXq+LADy56Qj8n76/ceSjtL9suDHT5OulPfTfJ9MOibvp+c9lXRc3k/zeSbpKro/l37/uaSr6f5cet7Pk66h+3Pp93+R9DV5P/3+L5OulffT+7+cdJ28n37/1aTr5f30vr9OuoHuz6Pv/ybp63R/Hv3e75JupPtlAZI3kr4h76f5v5V0k7yf5v920jdpPRfS/D9NulneT7/3WdIt8n6a3xdJt8rn0/58mXSbXB8aN3i+JdeHvh/kuV3CdL/Rc4d8P4LNnjslTPMJ9XxbwjTfszx3yd+n+UV4viNhWs8oz90IB15OwVO/Yj4jyx1zPWrcZbxnao6KE7weD+VAyHGrR81RcXooR+V0OSm6PupR86hWetSckgaPmlMyx9OKvkH259o9bZgDwrJrosen5EUledqVvKhkTwfKqnzupXk6lRyOdE+XksOR6elWcjiyPD1KDkeOp1fJ4cjz9Ck5HPmefiWHo8AzoORwFHkGMYeDczZKPENKzkaZZ5uSs1HhGVZyNqo8I0rORo1nVMnZqPOMYc5G4GUVuRBnYMsT5+6kh/QrxpEbPaRPccz8Lk+rZrWV6PrHHk8b6lMsO+33kP+W9+Qw7olfdjrqETFqE7p+cczTib/HPvOrPF3oM2fZ7RpPtyK7XecRsUV+O9UNnl6Mg2Wd/yaxJ7bdel7RzZ5+lK05nvpWj4i/PqDrR9/yDKIszbLbHR4Rf71bx7Fve7bh/FmW+45nGH38bHs8IfZEjGfQDd/3jOL7VcoFus8zhvoI6ycPesYRZp37YY+oebIbejPog0c9E4hj7N/9mWcH4gTrQ097JlEfCryEbbH9NHXypstlE9c7npnr5r0awCd+6VFz2Z71qHEhvwngE29IPsHy/NzkVUZo9NP5Cx41X/Jlj5ov+WuPmi/5O4+aL/mmR82X/KNHzZd8C3FqDXBdvX94ZKytrMP3b0+PUofPnNyLfhrOfbIk9yFfC1zPWA2g4zR+Bl5DdzLVl+Q1y04m3xevUX6yGp90TjLZHVgnq0jOVfL37kguUmJltiQTL2Xb24lk8iVx3kNyciuuIdNVWjLVk+S8hwXJPqW+ZF5yO56XvIYFyVRPknN3SpI7MX6Yc3XKkrvQHsx69drk7mDo8evVO5J7jNDt90ei36GP/ZUANyT3yfilYoxJuzm5PxgGxDjXoaVYmcD1DRF70DVzMAyv+YPJATU8k1V/40+Tyd/Ia/RwMtnUmZf8JLmNfMQScZ8UazalPtJTye0YuxF4mTSAztPEWDFuPpNMfl6uGflyMtWM7JTjbyT7FNx9O7ldwd2PkjsQdwOfb8A5XDLzJAKubA2g6zTzZjvchSmqHS7WK/A9R+cZb6cInpGj78UVKWpu3qspYi9y9L34fYrYC69KD2fgTydyNII9RdgsYqius2aExBS0UYBCLyKuSfqcNqSodY59KVTnWNq2tS+TyVfL+l1yyhrK9S9mH9EGhNk2HZNCtUB967lGTivlM7hJf8tKaSObiE4PPsUutTaZ9D0//WCdTGNbMdlUelI68fuN66hu1Z4UsgMyvV6b0o3nskzzgStTejBXjnnu9Sm9BEse+/UUyqWTJU3glpR+hDlG598pA5rD5s/tO5EyiPvJ/ON7KUMEy+c9kLIN7Zq18nnPpgwTLHsTvJwygjVKLpByR6p3VLNZvTr/eS1F5NJ59VoQf0kZJ/yQv/eHlO2IH72JBP8pZQJlv60SgT5J2YG2962SAWreSZz/BVKOCfXuxN9j2o7x7kJ8Xc11wby78Qxh/rnQuwfHV0gFfZF3b9B0vmePyCnfcmY1Lu/yqjUuq72zDDFe/5nxQ68a83qnN4nylCT8da9a2+G7XrVe7e1e8quyHbDVq9LQSq9KQzu8RENso6jzthrCwvw2ikZvmyHG7rdRnO31GYQ6yTkwy7ztOH/OgVnh7TDYvQAd67fg7230yphWhINh0CtjWhEOgWPebiWn5RveHnw/lhVv8fZqNlezjoP3ePtwPVj2u8/bjzlSjEMPeQcwXpNzVB71Cvm7Wc+Bedwr5O9mqJXwE95tCHPOzDPeYfy9piL64DnvCObQcI7Ki15hu27Wc15e8gq7WjOskvAr3nGcf4WEf+MVsXrNeo7O770Tmk3ARfTBH7xUY3KZHH/LO4nPa5IL8DeBs67mk/BJxNJ1d570sXIxzv0TcW6JjmP/8aqyXWSqGqMzO5VkO8aptNSpsXIn5z5cnKrqgHekkg7Icsvq1CKlfn5BasUUOSYY2lI5hob48vFU4suXSB+fW9SXP4fsbsIWuSeVYmI43/MDbyvm0HL8xIfeNsyhZT74mdeHMNfZDkpV6xAYUzsUOSkstRPXg/lceGoXPY/XPrUb14f5rju1B9eHcdCT2osyBsv/6al9mk3EHEs4M1XUzfbHa2alihwan173Mid1UHPZB6B1AVFdXirVzW6VcufZqdsC6mgPB8PI1DiwESMMnyw3Cdm1+zT+Cj02LpXyY1jH+2FqK57dvAY/TlVzcB9J9WF9Kl7DR1PbqR6azHt+OrUDY1RYp/upWGOrTz8rnkylGoKsMz6f2o3xh3rMS6pa6+HFVKr1wDrkK6l9qM8w3/hVaj/+Hp8lr6UO4PdZ3/hDKtUQ1Otkpg4pfOQvqdsw5oZ1xL+mDmN+Cusb/5U6MiUfBeBvqaNYz6x7gGjg76lj08bAihib7plT1/Q9+Bz3oMWf/4B02uLPUUpVz4L/pKbgHHXxLU09C2LSVLotSVPp9mCaSrfDaUS3nI9Zl6b2rWhKo9g4pZ49+HOarkujPhEcK/CDNJKnuI+DPU3t46ClqbFuOWlqrJs3jWLdAtdL5CH3nKYOEfPCF9Nm1nufS1PrxT+ZptaLfzxNXfNX09Tz99dpar34P6ep9eLPmq/Wi38qTa0X/5s0tV78O2lqvfhP0tR68Yb5FOPJtddnze/E2uuB1zyxRmdYK7JsPtWKpDUahwfmq2u0er4aN7t0vupvr52v6lyb5qtxs1vmk87FtSXT5lNtyS7Jn1+dn0n8LaCWemAcVCDesa/x9/Mp5pLl+rfnk1zPvKt+fqtS02HxfMnLJJIsn+/THFbKRxDjF8wnXsa1Ey+e36HkH1wyv1PJVds6vwvjAZk/t87vnpL3GwKD86mXBceu7Z3fi/ASSafH5/dRrLT043xrfv+0tghR777nNHbgU+G5NV2td//ZfLXe/Yfz1Xr3X85X691/On/mevfZ6Wq9+8r0mevdF6ar9e4/nq/Wu/9ivlrv3pCu1rs3pqv17s3par372HS13n18ulrvfm66Wu/ena7Wu5+ffmb17oM1gN6Z0/31M7IxvRVtXoyHK9JlXowcX5bum7aGY7kG0HeG/O75jAjNaluj91tzLojUnI41uv6xNn2WIWGe/8zpSXcjP2La/nW6StvGDFWHb8pQaXsyQ42J37hA1T/2LBD6h1nHk6IFiCdBjCcXLVikxLf9ewHmUejxbWdnkT+BzyRP1tQzKRSWLsAzKZx7Hx1fQL2POO5gdIGIuU/Q9Z116a2GkCk5/03pbYaYKTXsm9N9hjDHlJz/9HZDYsmUnP/0DkNYosi2oqszvdNgtfvj0Y6mUy8L3vN707txPTfJ/QjK6NHsNn+sb05GL67nsvkEr8zoQ5h5R9aCfuX8uC1jANe7Qv7euxmDSg6iJVPkJq2BpiL6ID5zG+Ykcj3vuZnDmJdaIcetmSMIs6xqzxTxYmv0ni/JmWMIs+yamTmOPV+4RmdW5nalB0xO5gT2gOFcpLzMHQiz/Sw/U9i2xfzog7LMnQhz7E9d5i7NLuoLSficzN0Ic8+aCzL3aA7x/hJel7lXs+J60AebM/chzDmXvsz9mkPEv3Od2swDCHPtlGOZBzWXdQ20S9n/R5nkk+VaME9lXoEw17V9NfOQ5rStgXbJiN7IPIzjHD/3VuYRzSFsrMxYFxxF+lsm9z9+wZUIs1zrXXAM9/OSLjrLWhccJ5uQtCl1LbjKSB0k1UvUYhzsnTnhnml+Y9Ys1OGZ5n+W5aaaSBJ+PkuVeV7J8lBMooTfylJtqP/MmpqzEQzfzVJp/uYs1eawL2tKHgyYYHvWuXpchTgv+7NWKzaJTVmt2DeCaXRLVpvBPsUmcVkW9b1gGvVltRvC7H4a7czqwLoeTKM9WZ34PK7t/FBWF57nTVJJfySrm/w30ijwaFaPZhPxZrJvwuNZMrddfvBEFvmfWMd/OqufdH65QM9mDaAOz30hXsgaRP1vk3zei1lDuN5so3gpaxv1ZZLjb2RRbjvbNN7MGkGbhhyGP2aNagB3Q7t84NtZY5rTfkC3UbyTNY42Be4D8W7Wds3patb7QLyXRbntvRL+OGsH6g1s8/g0S9Tl8EG7RJDPskT98m69jvAXWbtQP94kf/DLrN2Yj8h9HgzZe1AmDrwigwE2nqZGBMsv5dloa9bll6Bskl+4ZtTSbKoZxT3bGrPX4/nMPdtqszdM6bkWBmdlUy43yWgAkdnbUIdukbZFc/YwnnPsq/Bkjxhhm99XEZM9Ggxjfl/F/OwxI4yKceo1Mi97PBi2i/FMjJfKyd5uhPGTdfK0YIBLtsxcPE/14R3X6Xh59iyD2Qo63Y5nJ1FMm4T3ZHsoZk3Ch7JTKEZNwldnezFGjen2s2zSDzkWvSSHcqn4LD6Yo9aPvCsbz2IDx/xtyqGYP7brWHLU3ChPDuVGscz312zVvv5KNul7TPcXZA8bLPMAZDgLrM0eMVjsADL8BJqyRw1RGX6+cGn2mMHm9vOF1uxxgy0PQIaTQFf2doNojMt1uQayJ3A9smRM31D2DrQ3Z0n/1nD2JI2P0g2j2TtxfJO8fyJ7F9q/uabUZPZuijGU9+/K3kP+D3n/vuy95DeX9x/I3of70yLvvzx7P8Upy/uPZB/A3+OaVFdmH8T5tMv7j2dfTvZxef/Xsq/AuF3O4bwu+xDub6+8/4bswzjONS5uzD6CskKyvP+m7KMIXzBKMYR3Zl+JMu+WDbTfL2YfM02T4gJhwQCbTuMTZTo+jnqIXafje3LUOiwP5qi5Vg/lqH7mn+SouVaP5ah5vD/NIRzms+bFnKk99/y9MgPnFy3e4TT59VzLrDdXrWX25xy1j+C7+A5+v++HOer5+Qm+Q5P+DsZcstOwzaAod2pORhBk5DYqORdRuTIXWPbLbMpV+2XW5VK/TKarZbkydlbq13/NEXrHUl0mfT9H+IVX6TKcOVfYI4dgk7z/HznD6PtvlzDkjqCvP/CaI9bwDHyHYg2fCFjD4VzV7zGRq/o9JnPVNdydq+aT7c2dausKgsdyFyi1yZ7LVfNCX8klPeMrrTmAkWWUo7mryRcIdH4clGvM8Qr7czvRz8M2gG/mUiwkxzeM5g7j+/YM0fg9uRQLyXUef5k7SvOV9/82d+wku5e4woMBLu2a2ccbWDOJ1/jNXKI1XtM/51KNo81Sbvtn7vlKDt4fc9sQD1hXeSvXh7TIusgbuR2YL82y+tu5oiZ0t64rvCPwxtGt57K8mzuKdQ1YN3gvdwzjiAIvSzBAy8kuEOVi29XHuWS70uv156q2qtA8VZ+NyFP12Tl5qj6bkOedkuvh5x+8JpCn9uiclUc9Olm/mZ/XhXV+WB+z5fUqNWHceX1YE4Z9qMY86hvCa+bJG0F9ivWb7LxRzeriCGP/5RJr9JViAhP0NcrNU2spLMlTaymswTVa6s9FyFPl/524Rqt0W8+hvEXT9Feu1PsVvZ5HMX9s9w1bSHZf5k8VeWQX4TVelafi3USeT+mptSevnfy28oN9eV1KnuGBPOpjyvzt8rwBxEOmze/mbRP9JzXmb715wtbfoPO/c/JE75YG3S7TnidqwDZAywJZFzyPere0SLWsNW8cx3u6qVbSQ3nbg2ECQv3+mQmj4BXd8vdfyhM9A+qCLhuVOYELJ/HM6jlvFGXJwoU7ZX/mUZSjahfuMsJFYLx0lHjTxQt343lwroS7Fu7BPP/zRkm/OrRw77R2c3HmXXYafs04cvtC1RfxzYWqjnjdQpU/37WQ7OKLcc9N8OJCtWf0TxdSXR+2iz+wkOzivOe3LKR4MN7juxfKmEIJ37OwA899thP8cCHVtWO6+sFCqnfPe3bDwmG0F7JP77aF1I+H/UN3LhzFWlT+2gtjSt3c+xaO43jgJfhv22lscXo/lYWqrPPnhaqs8/ZCVdZ5dyHxY/a3fLiQcjfZtvTHhcMY18g+uLfwnQ7oPrt3Fo4qtQPfWyjiKw7o8RP/XDhOPqxEuuGDhSK+4uRY0iTxjj0zB5My/43KJ/7LdVs252PdFgPX5SvI99flE3LAQU2VA4LyVVnqrHxVlorNV/HMka/KUt58VQ4405pfrJ2mQ47QZYMDe88H9pqfrve7uBKhCr9/joTzoVbMP/hUdQDZd8FyRlq+Wh/inHw1n7Yhn/JplV7ouhwSDCvySQ5ReptDQG9z8NeF4V7kgT2Z2epszh9GW4fenyV/BPurcC6eO38U613768YR3fjpaDyg/tX2afPkg4IBfJfMTEiBerDeZyGf4hcCL1swQMdpzsQ0lg/zsX6BiZ95Yz6dgXpedz7pGYH90AJ9UsTPAH6Sr/KzG/LbcI58ht2R78MzlGf9nfx2JX71pvwO9Ecwf/txfjfKUnymfT+/V6k59cP8PoxLbJR02JMv7BcZum7alz9CfX0kPJA/Srn9Et6WP4b9plh3HMkfR7mHdcOx/O2kK8qCh3vyJ1AOaaeCi3BFvqg5NaH714/nT9L98gy9On8nwoxX1+XvQvm3RY7fkr+bahfI97k/fw+e0SxLPpy/F9+/203y9hP5+xDPA/fTIfa8pXNGaZF5zev5ag7m7/PVHMw/5Ks5mH/KV3Mw/5Kv5vo/tEjNuTy+SPWv5y9Scy5vXaTmXJ69SM25nLuIci71WrKL1JzKL/LVnMrFi9ScyscWqTmVQYvUnMrvLyJewbVi/rOI+nxzjuAn+dswR5BzK/4qeMGUHMb/yh9Rchj/lj+q5DD+PX9MyWH8R/64ksP4fv52JYfxX/kTSm3ZjxCnRvQ+4i8umlT6iP9+0U6lj/gni3ZhH/HA/RbnV9cZ1jXxFFA/CrZXVBaoflN3gapP2ApIn+DHpxSosnFqAfENtEtCMPy1YL0ZNki7JATDVQUbTLAegtYUE7/+qKDJDBvBxDWqv1Gw0QRNfn+Po6AD6Yj1zPkFnQhTTChASMEwxoRi7rLwfxSMUH0jGUPaVkB6pa+Y1rCnYAxhpsOEgnGkQ/YPZRSI+LURXf9YUDCBteeZ/2cX7MBc7BZ5f27BJNb8YJ1uYcFO7A87KO9fVLBLs7q6YZNc0MKC3Zpd1DiXC1hcsEezO3fDprW0gqUFeynmXN5fXrBPc9pGoKNY1hEr2E/xEsWEAxMFByheQthpIRj2FhykGuHFdJ4eKrgcY+Q3yvW4s+AKrJuKMbcQBPcVHDLCATCmyfV5vOAw1qXpKyaaeqXgiBkuP9nvOysYoOc0fl/GsaRCisdjnIkpTFH0GWsh5TTxHjsLOxFm3hlSOIyyMccuhRWOaDbbcd0XHl44iuOyR5olsnAMx1kWthTSHnNNpujC7UoNp9hCsotyLFV84Q6cL9dDnFs4ifUQVnIN6sKdaGfkWKzEwl0Is0/SW7gb7w+8YsSafaW+MXX6Gg7gGq7ReXlzoWo/aihU7UfphaqeP1yo2o+2FpKez7z524XEm1l/uarQX59Z8Np9hecqtpF1hdRPgM/3PYU+fD7vaV8h9UlhOi4q7ECY97gO99gfX1dQSP4HPk834B7742I3Fo6ifakeoXHYBGPT9ulIPEv0iM2YMfKH1/CBQhnzJ+GnC6nOFesf3yukeC+uM3VvIdWp4viFJwupLhW/80uFMg5Sxl+/Ukgxeex3+1PhoILHvykc0mzWAV3vf6hwG8VHSPjxQuq9wvb7Zwu3I92wjvbzwp2oL3GczuuFuzSbdUTvafrXwj3ot2L96G+Fak/T9wv3oQzEe6gV7cfnc0/TjwoPaE6rv6fp54UHEeYYQGPR5ah7sB3CXHQFyizMK8OLDqFOzDLcrKIjigw3u+go9lZkGSi+SO1hOrfoGMZMsi/bVnQc6wdzD1Nn0VUIcw9Td5HawzS5SO1hmlqk9jCdX0Q9TAOvJMKhro5To5Cu/2UWqfa3qiI39mvkXi/nFXmU3tJ5RSoOLS+iPr/c17ewSO3rW1qk9vVtLqK+voxjm4tkH185gZ4itW/vZUVDWOebcay+aJvSl3dpkYpj64q2K310m4rUPrq+ol34PMaxwaKpfXOdMFKk4tiOIrVv7sEAHNtdJHDMX7v2EOKUv77PkSK1T+6VRdQnl3HqmgCcugFxyh9rfGMATt0UgFO3BODUtwJw6k7EqW4dp76LOLVbx6nvB+DUvYhTu/W+tfcVUd/awCuNcKx7Jks249gDRWp84v5i6tfOOPfzIjoLmI99IHDOvkSPL9xbjPGFGuPgQwE4+PeiTrQVMQ4+EYCDTwfgIBT3ou7GvaUnitXe0q8UqXzvN4iTPh0ng4uHEGac/D3ipD/e/C9Fozgfjmf/Z9GY0hv6E8TRZr0X9GdFOxSc/SIAZyOLVb4YW7yHeiNLeF7xXupxJeGk4n3U21k+r6BYxdm0YsJZ5ovZxQcVHC4uvpzqzskFqy++AuMhGIfPLj6ENaUYh88tFjjsr1m1tvioUrNqQ/GVWN+YcXhjMeOwrBNRrOJsR/HVGNPDODtSrOLseLGKs0PFhLNsj/5l0S1oH2+SiVOri29FG37glUE43DuTG5Fx+Kpi6lfBdrIflvjtZELu7C3B/uxGxumbit2a3dqi89HCEoqxZZwGIJxmXfRICflBuS/YJ8GUY8g4f6S4HfkU4/wTxZ3ou2Gcv6GYcJ5x/I3iXrSJM05/r1jlszcVD+L8GKffDMDp+4u3oR2PcfqR4lH8Pe5//lTxGMGy//nzxeMo/zCOv1C8HZ/HOP6rYrXf+WvFk3i2Ms7/tngn1lFlnP+LwHnbGr3f+QfFar/zD4vVfuefIg2s0Wngc6QBn04DCSVqv3OtRNDAiE4DkSUHEWYasJaofDyx5ArN5uzVaSCp5BDqRUwDySVqf/P5JUeVnJGMkisxh5xpYEGJoAF/T7CaErW/eV2JoIkDOk0sL7las1pHdJpYUyJo4rhOE00lgiau1WliS8m1OB54ZTHOZ/gGT8W7GeefKFFx/r1SFefvKFVx/oUSFefbSmfG+SdLZd022Vvx09LiKfV+wuFw6dRaFAB/K200whKuxX8yjfykRD0XtFKVRp4tUWnEVarSyN9LVBp5oUSlEXepSiMflag08nmJSiPGUpVGwkpVGgkv3Y7yO9NIbKlKI/GlKo3YS1Ua8Zbuwjg4ppHMUpVGskr3oC7PNLKoVKWRotJ9mtPqp5HlpSqN1JSq8vPi0oNKPdFVpSqNXFyq0sj6UpVGmkpVGtlcqtLIllKVRraWHqNzTsIDpSqNDJVehTDTyFipKj/vLFVp5ECpem5cXjq9/OwkGumfybqt+0/KVPk5tox8s/zdlDLSyQL9E4yjrjLSwRhHo8tUHM0sU+XlrDJVNllUNoh+PsbRnDJVJ4svU2UTe9ko/h7jZFLZuCKbpJURTjLOpZepOlpemZBFJnQcKyzbgzoY41hJ2V709zCOlZepOlp9mSqLVJapOFZTpupojWUqji0pU+XppWWHUD5nHFtWpsrT55apOtp5Zao8vbJMlacvLDuuOWx+eXpt2VUIB14uiSMzlfNgnNgYgBNdiBM+XU9fV0Z6OuPEZWWqXj5W1ks1cyQOTATgwBWIA8t1HNhVpupMmxAH/Hr5ZRIHeM97y0hnYj40UKbKo0MBOLC3TNWhjpbtwbOJceCqsr1E11wPJgAHbg3AgRslDvCe316m6uXfCdjze8pUHepHZUcw5oL3/MdlRzEmnvf80YA9f7LsmOijqO/5c2WqDvVCmSqP/rJM5SuvlKl6+a/LVL7ym7Lp+UqKBtC0+dT4Aqewn4k9f71M1aHOK1ft3H8uU21BlnKqocr2sk/KqGYqn8Xt5ZSzFegPY3vZQPm56PtgHHq7rFXRu98pa1Nqnv+rzIc4wvauj8roLGZ72L/LOhAHpY0TvizrRN8362DB5V2ogzEOh5Z3k69c7sFZ5T2Y48V8YnZ5r+ay+mtZx5f34dnGMddzy/s1h8un28Gt5QOa1eXP8bWXD2KOL9cAcpUPUc1UCSeVU08YxqG08mHEIY5JySiXNVLZjl4+inkSXBMov3wMY6pXy/kWlo9rDqu/Dklx+XbEaY4FKC2fwFxRnW+W70DfP9NYZfkk2sK4T3N1+U6kQfYX1pbvQn8h+wfry3cjzQ3kkC+rsXzPtPmtCzSA5tPEdDMOTpQLHIwBMgFPgqdCxcHLywUOLtL9a6+Wq7Gd2ypkLymJgx+XFyi++pAKrJVtZt/7uRXYu0GP5VpVofZY6a1A37vuP/t6BfrP9NrVN1dgnJKey3l7xWbhLwuS8qLlQHkr5TjL+R8pb6M6VpIPHi+nmqSM89eWt6N/ke3wN5Z30Fknx28q70R/I/PtW8u70N+4kmpTW+orulGvZRy/q7wHc5jZT3B3eS/CzEe/xzgt5/NDgdMi90SO/7h8QDkbHxY4PYUv/gRxukXPBZov5FXBl6UR+zHEaZ8/x7t8BG3ijJNPlo8izH6Gp8rHMF+Zc76fKR9HPs00+Fz5doxXZr/CL8onkE8zT/hlOfkl/LELkxR7UEe+of8qp7q/ooed4EHvl++ivlRy/aordiNf9utge1C+ZJpYUrFXs9km9F7lSyv2oc2dYzKXVexH/OJ6SPdWHMBa3YEX9rA5jW/oVHmaT1cofg3L8xWqX+PFCtWv8VKF6tf4VYUaDxOYS/unCvI5c22Gs2VtBvYJv1aB9dW5f4jlRxVUa4HjQR6saENY1mixPFLh0yIicnScfbyiHfeQcfJnFR34PuyreraiE2GmmRcqurSIiGb2i1heqejW/RzUq6Nn2rxLUYPFd5oYdOY771QIvlN2yjUPq6T+H7zG71ao/dI+rKD+Hj0y1qOycmpePcDKyml63k2Tv7xR6qHrKqf2lAFYXEl8ifgOQFfl1Lx4gJZK8ttz36DkSuobxHypsXzz1D2D9yoo35np6p8V1POF9/CDCqqpyHvwcYWs3SDx/NOKDoSZL31eQfnOfLb8p6IL6Zjj0qCym3QICYZX9pCfR9LJ59G9GOPFdDOrsg/phvnE7Mp+qkkv9dA5lQMIMx+IrxzEHH69J27lkOYU/VbkC1srtyGfWiVf2F45jHzjAomUzsoRzeb06bE1iZWjml3UmmA+UDmG+UouOf+yynEIg3BDID6FC5zrnjmwgHFqe6WaVztWqcYhj1R6MN6Hn7ajUo1D3lmp9kViOg6MI2O6e8pE+dO6L81EccqcY7670ke1q/TzvH3a81wLB71f9One8ZpKio2Y7hlbN868Tnrt/srpY7nM4QAdZ1hH+uuVJNvyM6+Xz3zmFoK/UdmN+Y+yLC7cXNmD+YHP3E7wbZW9BN9G8B2VfZhveNKcnACdgzMvjk/S9F2VlH/ANPS9SvIP89n6ZOUA2jL63WSr+n7lCPK4Xtk/9qlKWTNfxtI8UzmGdUUDrxAnQPfWmQs98JyeC5jTiwFzejtgTi/JOXFvjbcqRzWbfbdOd+9UjmGfQ57zu5XjOOfASysSuTYZM7bFOV/GKL1XeeFJvF5cZxUBXHKGePnPSjVm5xOJD4yRQVVqzE5IFcXsnKrvzmeVasw/VPlj+QT+mapknx2pX/+rchRjipif/kesk/1kOjEWATSdpkYHx9GeVYW97XT6tlSp8YVz5JyYh0ZXkex10jrOAthymhhJXse4KrVuVEKVWjfKVqX2y3MGrGtSlVfhSfOqOqjWojwHkqukLCBhb1UXxVRIOK2qR/FDJVaN4fMDr6I40Ud85ncKzInhPuLpVWof8Xur1D7iS6rVPuLbq9SY7v4qNaa7vUrtI76z6v9sH/HY6v9eH/H8KrWP+KVVah/xTVVqH/GtVWof8a4qtY94b5XaR3ywSu0jvq1K7SM+UqX2ER+rUvuI76hS+4jvrlL7iO+tUvuI769S+4gfrFL7iF9RpfYRP1yl9hE/WqX2ET9WpfYRv6pqHOfLOZbXVKl9xK+tUvuIX1+l9hH/epXaR/wbVWof8W9WqX3Eb6mauY/4bVVqH/HHqtQ+4i9WqX3E361S+4i/XqX2EQ+uVvuIO6rVPuKe6pn7iOdVq33EG6un7yMu7AiXnmHO19ZqolmO5X6h2qL4kcaq1Tjf3uok7Ces02g1yfdMo/uq1R7XV1SrPa7vrSLZi2PF9gDFin3V/snnyfp2jxgv0uV18T5bqkleZ5pqrW7DWG2moa5qH9pmmIYGqtsJlvMdqp7aL9kJw9WdaNvh3MOJ6i5cD6aZyepuxZ66q7oH359pbE91L8WGS/hAdZ+sh11ENFLdj/ZPrmFxrJr6JbfL8WuqB3G8XY7fUD1EPKNC4nT1NrKXNhF8a/Uwwr1y/PbqEc1lHdBp4M7q0Sl+Hyd8p3oMc+gqJHyiehxphOprO+F71dsVmvlh9QTSzDIJ31+9A2PZm4uZZ5Id4dJi2q8Hq3dSzzYJP1G9C+GeYqaB3ZRDspbw7w0D9ksOTpMxpUHBe1FnTWb9s3ofvr9b8txZNdgvGbZIOSup5sC0Mk90HIDvNLY1PpeKa9zoy+PbC2tUfSO/Rj2rS2tUfaO8hmQgttmn1rRh/pM8B2BBjY98BnLNK2t24Z7wGlfXEF/iGo3ZNVfiO/Oe1dYcwz3bJO+vrzmu2V0DcIEcb6y5CvfsAjm+pOZqmW9A8NKaa6jujBxfVvM1zeka0GXPc2uuRftp4GWKA+j9SjGnJbpscF4N8Rk+G1fjmizRz8Z1NdQ7lc/Gi2raEQ68ouIAOs6gp7G4muVv8r4O1kytT+eE3pqpeXhOaK8hX1CvhLfXUD06Pu9/HkR9o3lfW/Ad/DWnumo60b9YK7/fX9MzxWbnhJGa/ilxEE7YVjOoxLmO1QyhbUSWL4KmmisNRjvodvBvRB7DPJXAKyEOoOcr9QZP0Ndoh1wjltHqQY0H21mj8v/jNSr//1qNyv9vqlH5/601an841r0D15RyrgAerrnYDOv8a7xHrjHbYW+sETKSv5/B1TVdSj+DK2v6MF6b7Rs345r7+7fdiWu8SLfb3l2zDfP2WG+7D2nxgG7HfQBpcTfWQRbXFZIWuYrQj2uOhYp/ufbZ7TXH8fkc3/2Dmqs01zT9B2bFAVx2BjUFxfV4TQTuwfR75IQnatyadcoePRuwRy8E7NFLAXv0K7lHLBf/voZiOwL3iPfgxYA9eB73YLe+B08H7MErcg94zV9T1twJv1XW3AmvyzUPvOxxAG1nYKcU12cKXk/CiDZV9wAw1Kp4HVOrrll8rbpm9lp1zRJrVby+p1bVRe6oVe2YD9aq+Uss90y/xk6w1tIaM2+ZW9s5pWasE2Jrp665E6Jrp665E5y1U9fcCUm16pon16pr7q2lNd9IsrCWVrsX599MupxWVbuPYuKkbLuq1i/bhoBR21x7OcKLUbY1a9tqDwXDFdJ/ACHagdojSPeD8hz/AunIq9cLt9QeQztDcw7XCjg+ba6jOQ7g0tPkXfMZ81wt6V+8Jh/Wkr7Da/DTWlUfeKp2t6w3MIrwk7VXYn+bppUEPyPm6Do5jitU4OVpzkXOOzPWUX1N9u0uMJ57Mj88H0w8x48D5viZnCPrEF/Wkg7Bc/40YM5fnGLOpYL/tM/sWDmVnh9Zp+r519epen5Ovarnb64TtLZCp7XVdYLWVui0dm6dqudvrRO0tuL/mJ7/Rd1/T8+Pr1P1/MY6Vc+vr1P1/LPrOjDPi2n7/DqSG5i2V9V1KTrK2jqh53f7+zPW9WDNGdbz19f1Ug02CTfV9aGcw3i/pa6fdBTWieqEnt+h6yy+ukFcbz4jO+rEGblC5x1ddduwVzXr+T11qp7fV6fq+QN1qp4/VKfq+cN146hTsZ4/Wqfq+eN1qp4/Uafq+ZN1qp6/q07V8/fUqTSzr25mPf/yOlXPv6NO1fPvq1P1/JfqVD3/p3Wqnv9Onarnm+pVPT+8fmY9f169qudn1ZOeX8RBQnBlKIgei1zMDI6hTNcveemBuuPT5jMJHajnDOILxLWi3i9znOznc8L59er5eWG9en5eVK+enxvq1fOzuZ7Oz1PJGOvqVRljTb0qY1xQr8oYG+tVGWNzvXrebalXz7ut9XTe8R621qt7uK2e9jBwfeLjALrPsH7sQVzDJaeU266oJ18pr+HX6tU+UTfUU7yiLlvXq/W7bq1XbSunkq112RnX1N/H9Tpc0+N6HNDV9b0I67J0wBrfHLDG38I1Pq6v8R24xsf1Nf42rvFxf157/ZX4fm1u8qF8p/6Yv8eLyH+pP04w7gHA/fVXheQIeJ0b65Q/Un811auV9z9Rf02IdBsrV3gcwMbTyNYsB/4F96BD34N/1Kt14v+Ge9Ci78G/6tU68X/HPWjRz/d/19P5zmfDs/Vtit39k3rS+XhN3q+/Ev29Pee58ftBDcfw+6P6TI+HTjf/8K0ATaepucbvaG9Q3zGpQX1HZ4P6jt4G9R0TG9R3nGtcOrW+iyW8QX3H9Ab1HZMb1HecazyG3z+Td2w/jVzF75gT8I4lAe9YEPCOFQHvWBTwjnUN6j5mBrxjTcA7lgW847Iz3MeztgJsPI1zlt/xwoB33BjwjusC3nFzwDtuCHjHVvmO/E5bA96pOeCdes/wnaxegO7TxOzwO+1rUPvP72pQ60iMNqj95480qHUkjjfIWEppH725IZ3ijCT8fEMGymYcB/frBlWW/EvDND04p4k34Tqeb5iorwPz1O0Ng5pjSu2OyYYhnD/z2D0NIt73sM5TDzWI/PPDOk+9skHUAzys89SrG0bp3JLC2NcaxpR+7tc1jCv93G9o2K70c7+xYULp535Tww7s597F8bwNlH++Yh3VTLi7YSeeESvWLUD4oYZdCLfK+3/ZsBvjiQOvSC/Axktn3mM+Bw2NU+NlT44ZMjWq5+DnDaof8KMGVZaY3Uh+QMaB+Ebqlxi4ZxyXtcJQMaW+TAj8w7jZBJshyB+U0h8p/ib5S/QuG6S6QthLLARsjUOoDwS+X7TA89PYI05ld8vBNfH3li1oVP3DpY2qfzivUbU5NzSq/uH8RrXP0IpGNd5zQyPpSIpOA2BinaKqsQ1r9nCNr5pGH8LMG5Y2tuPvMaeabOwgmV8aKysaB6mWh4SXNA6hTdyPZ9umjT0zZACIHttf5TL7AC45zdmn85NG4ie6f6qR+Afzi0ON6dS/lem1keiT6fFAI9Ej09vljURvgVeCD+A0pYj1vX+/Uc1T+ahRrSH4ZaOK/4bFai2dkMUq/octJvznvZ+1WO2F2S9tTRy7a1+s1hZ+qpFqC/O5cFPjUlkzj+ozv96o9vq7s5F6gqwB+v4PG9ea4SIwca+ZY43Ua4bprXAxxfoyrn2BuOaPR/+scQjjAJiHRS2ewJqDUn+GfzXuwfXimLhPG/fierH+bFy8D9eH9deIxftxPbrSqNdf9eIDmtWacNJ+iMJfbac5p3gNViymNbhsHdltGhZTbZTA+yO7AbpPZwuS+7RN7hPvy56AffneYnVffr5Y3ZefLFb35eXF6r68vljdl38spn3hdW9ZTOvO67hZrqNYN4E3bYsPIN4MSD31+sUHUQ/dIuFbF18+rf/ZlC76YGa0ztQui3G9agn1uWTcLlpCfS2ZrX6xmGJsuR6mY4moh5lj5vjL8iXjSM+BV1g9QNPQzPvA9Lh5iVoPpWmJWg9lxRI1bnj5EjVueP0SNW744iVepV7J6iUdGEfM637+Eort5ljstUuoHkngZawHuOQ0PccCa6gE1kjhni9bl4xjHjyvm2/Jdow9DrxC6wF6T3Ouczx1n1wXvS5MwDqML/EqMekTch04HnpgyTDOgeOZe5aodVr+V3tfFypZkiZUtdADm1KuIwOysrN+diPTLffeOv/n5KqsMz09M703Z+mZ7lHWRdvIPJGZp+pknKzzc6tusayrLLosIujDvgm2PsgK8yANIvuwCPXggz4Iii+C4IsvgiAIgiDIFz/nRMSJkzdv/XRX9WbVPd11vzz5xRdfRHzx/cUXvyn5otZ9fflb/HP7zzfex1p15wfL1fXnIi7NfLZ/cmnGdv/5pXn/0ueXZmz3X10OtW6ETR869cMnd8Qa+jeXayP/7R9fmvlv//JS1LxVsutfX1bcplc8+2eXe+47VLXk/uHl3/6ZX/yFJ30tud+7FLXkVHz8ty/N2nG/cylqx6kaVf/i8u9xXUrVhvvDS7M23L+//F1nvdOvx3hvzvn20DUZaj39H1xP37zsa+3/x8uv3539xeFe4f95Kfwaqr70WwuRS6lm43++LO9+4+eH2vT/5XJ392dmQ236/3rJ7r41G+6s+G+X1d3Zzw13Vvz3y/3d2c8Pd1b8j8tHd996d6j9+b8va6NG7v+6bIwauf/vUpzzVDWY/u/ltYhNy3teZgtxz4u6l+TuAu8lGa+lPyl41mwO+CIUz/yFybM/vvj63W+8M/Dszy1MX9D7CzEvVatfX5T8Hg/Fs28sdnfPPxp49qcW7O65dvfoLyyqu794OfDszyz2nOeKZ28vHt19988PPDtfmDx7b2HyLF10/P5ZNW9/eWHerRMtTB5+3+LhX5jg4Z/+m3fuNDfkMk3lHFwuzPj/k4WZb/hwYepZq4UZh/iNxbf0s5d/4kcLM2fh1xemn//XFqaf/28szHy+9cLM5ysWZj7fbmHm81ULM5/v0cLM52sWZj7f04WZz/ebCzOf77cWZj7f31mY+Xy/vTDz+f7uwvTz/87C9PP/7sL08//9hfDz23/u/ujOHVbdsKlYf772ozt3uhv2byWT/+3X5L1ZUk/6T9/8Ye8HxT9/65s/EWf15e//4ef2/B5CNVf/3dc6vp/bf976Y3fuPMqXB2lQ9Rj+6ULUYxCq31t3fm9hxpv/wULUY1Au/H+0EOd87T93/9KdO7sbbBv7T0nYpiMbClekLghrZ4zsKHy7pE9ms6uqWBVsA6k32xftagu+F4Pvx7N12bUtrcGbzdZVvSOsBR9838MPwfe8Hhrgb+ITDRpyaOZBGs/s9u8pAopVQe7NNpTltIY13ZGS3lNkZB4EaXxvRlfbCiIPYu9ej1wSwR8N7IMfeuAnHviBBg7AjyWBOpIQ/DAWH3kaOMIvq2cAx25wonU+HsDpAE60tzMIPIkEmyxYWzHSFhWD4F4/EmF2b7aqWFMxwtqGI8IW66rbbBltGvDvzZq2pk3z7TwHH5IIf2LkkGiVf8HrX9rtwQ/wJ0C4/u97s2VNSbt9LLgQ8+/xJ5JPIh71IngQQQwB5x2EENgjC3JkWV5TYg4szOTI8jaSWOuQNsUE+aof1syTU0ofWIRmBjDk84J/okEjAc1MtDHMY5B804bUw7/6WAYOkrKBJARrYxlKzi8o23Ce+ZxjyLkEUn3scLZG8vF4q2oG97PBj72p5cPy637x/JAvHbV4Mrkw7g2rWF882fBjLB5vmED2AkLGZ+ZCCQWf9JUzxho7YIn9xdQGZAow8Moz/lrzO4ynfpAHk/xjBZ2SPrg+MsFBbWaiEIhN3vhiOUdjlgViSfmRJXMkOHTLHN8tc3xT5qgmQ4OLTnBmgrV56msyxzNlji+7M8E6wp4UVdccmIG9bH6pU1A+B+egBYjdX0zc4NQNzkywtoJ1eq0nvM0cfeedTygDymDVUdYSeNRRKKsGAmiKDasayCmwZ3+wo3WFb9GmpUDq1ba4qqAtKEPYk31ZrMiqqBjl75ekgVW1WxebrlZgxLvvaE6B8LdruIbVs8931fBmXZIGCYKFGvwPmpYsS7qiQEso8qLaEYEfrqqnF/xjqPar4tnnSBkwuqINzhfYk5rAqiPlo66gtU4Mvoq01JSUxYryBhcEO9sVlLUUymc/ZZQguo4RWFXM/qboxYrslgWpL+DjggHdLUm9qc6gKYBhj1i1EmxcPfs8LzaCjaIDZxJBQ2vY0QdVDTl9QGrslNVYS0pkUrWrkO3PPrtwLQvJMPu7OGrVbllT7Agt1S9IP9mTmq5o/ewzHNBxszlF7vLBLpGHec3HaFkwklf8U9E2vbiBd2pkRkyTi/m7dFexYjWNRRv8zbPfZzgFtdHHdQ9VDd8Tu/y7W9HFCnbdA1q/9/zESbmyk3JFiZFYX1Qo2TKQmg3/XwD4BIFot+ENqAUhl7OYbQDf66UREtMgW/mEzUnNaVuSBwTWNcUluSoIED6VmoqxIq/kEqkaQGLU2uQfa985g3VH66cEroGw1bY6w/Gs6pyyC3Av+B4Rn2sMGoo05VUD+6oG2uxxJd+0XA5w1VS0epF2b/ZOzw//DIIzuIaQdwalSDiwTtKFPBLMouuCFTV/7apakZI2F4r3PXmIQVAoGNQPSk9gM6bQh9QhigOpw8Hc2AYyoffPza40EME1xEDWdNUSBgTWIZdXlQTh6sOlR8oiJ7k2rR1dCIwuTAtWJZJsxSh2bUpCx3inp5g2kJxBCteQjTnVUqhwblEGHcOPi7yC3bPPGliVRK3Kfhhezigkcp+2t8lQqqr+WNUIpKGFBHw4qBuC4yhFSLOirKngWvD+2U9zbT+RklRbuU3Ffgl82Nc0py2td1wCnkEAlCMXU31Hc1xu4RgI17gZyNaJ2hVJcwYRkBLWBSOlbL5SwreCfcdwlnQ7vjppCW3FqtEEOX4FNtq80HUwOWH7LbbGtmrCNrwxbPQCPihhXxc7WvcqQEkhJzgJOFVL0lDeM75jvHtFShQVDLZP3+NfbuimY3nVf3tVsbauSjJqqheDVd3L948qVjz7fZZXZQXFpiMlktsUUjsx5B7/mDZnipKG7267ij37HDuMuHCbxZGo+PfJg65pxQhDFsA1+H4GSoWMQqECTmys5SRzxHYqxwMXpPHVMzRoz3CcnHuuJu+5fOMzlLVKPGxqcoVCkOnzwMVjmwg+UEIJuKpKnFZyMmkN9vgv4CMhShR5dcnHyAMCQRyjgkOxMQ8R7Cir6p7IM3yBg8l1VXPyPiihpfXqAIeQuDPkds8YkyoxSXA1CYavOlK3E311MlYogmIB3MQCvTEk35MozX7CNe+o/KjvK1L3qMMFdkNnA2+qs2TT5VUjF84THdGNo6e+6sl3d89+yopdNdDKYZ89KXaiawC/WolNiG//YqftMfY6QM/MnPCpF8Qx//pzC6C2YlT4iWJuY8p/xOIf0ufGjR7P8DyFvSMo8LgfyMf/oaNO7A/KnYTY8EFPnNyZFYjj103NeSRgyhRNegXP7T/Rza8g9iCMPUg99H55EKELay5dYIGhKfoJ/gQR/sh/exBEfH3oxhSroGCrsrvGiYL8FvsFG232jeQrQ5kplaFdlRdrblXhEKAI/AA+3lPy8AI+7qBaPqAttkEbWJNdURakLp7ytb1CRavieLdkRccriI83t3HYFdo4akyviqZohdmyf/bZpmAEtm27/6X792nDG26qrl7RdVVv6AWj7X1kM20utu1OWDWs6UpEwNWIgvGtXMwcsqL1SghQbiCSTU03pIaqX8hVW4+ZI5dhs8clI7WWLbkmuBtcocKCBgWQ6y4nqGRqbzSQF1e0bou8ctpY0lphRWMYB9yCFlsGV1T82PA5aG5G3GpHGnBi+Wh99AnynyO8D3NP/Oi6XuSJn5ucYNxnDL7lfbBhmQZTSyQyvTUSs9vL/92i2lQGu4K45xZ6qQKx2rnHs3f5677ZY6ytmenBjYWfO/JMrnK/VzCKHATmq6EcAB0WQejJn3PLgStHQGesj05rSGLLrTPy3/aw3g0W63xNcBSFrOQCbHDUomAEIXvwP1Nz9fuUaS4xMTltn6IrqOCDlGGGdj1MQn1qhv27ZhDDhYFzS4RwRq6w1OkJs6GZiupwaO+jDswJGfcdPcCYQOMMpzT8o80awZkfUFYXjzo6sWJTzqfTir15xaZixQahJ9edoIZrCd4U87tJUXli/LGMj9SmKpw0guVzEfSYFpW/QlYPr3VZGTsEAg9SxuayEwIhjiE15MEcAZBERugFeQ1m3IUDrM064e8lsS4HUpcTJBgDMymF+I7cC4EwtsMrB4TjgtJRUOUdPvGCUJD/IkG+3pvjcKtZL4cwx78Gu+ZcwTY8WaEVcUkcWlHqgGUazI7zBZ6K9PlWFMWb+jnA0R+SelVZOuMoFKZvRXEgbaBYckQyOLDUSW29o2UD3L7wAMIMQh8gnEMwsld8/qqUThhNjGLgvyYO5TSwgnk+pLEwqazpHozDhKGKSprgCLVJIZfOY3Mkfb6rWekNUuWZZyP3X6CUbW3uy5Cll03mM8xlSFQICxUk5UIQo2Ge2Fqj1BPLcnpIi0qTFykPzTo46PuGTuD30MSWF3MPYkN78IWSpwuCCJI5yofEcOamcxSAqSEwshEshfkcHOKiB06LCxlznuZGsdoSWt7Ij9jBjyw+kh3x/HXnhmLGQ6qnNWk7RQLz1MpdGsPEjurx8ZfsTPCNdPbOOx+VFH2trGoptFuKDtBut6Q1j9I2ZxgH21cdy8XvUDBot0UD66JEDwOPQKHzGZ3KDbQVbGm5h+uqw393KJ2alrAcHm9Jy/E3tG0Ltmn4l/GTbfUY320o/3x3AWCGahuKiLfoQZCQao0N1MAN/wuAT5AgiReKBmr6qCtqmnPa6BWtr8Wr0CIRSNuOPBRBxk+2FBh90kJZMIrfJT0ifG9FGKy2hG2wmR9UjxEZFLx5yCv2rRYeMiRfp25VoRejaNGFB0sKS9q02MGSkiuqswAIf61opsOvnDycAVrvWgXjvXlclCU0yMNuLwaHys72jFZQmc+EEdcKltWT2zFArcv6049pjakSMsa/7YOQfYt2LLJAJzzNkQmb4or79avH6BV8hF5BHojeV4wyzibOIJxw0u2CDbTbmlI5L8XE6b98BrgXoVftjM+mv1rk+E/eZ9LywGR9AaDN8jPBQQ1ZQ/e0Ji3NYXmN/d+T1S1nxzFByAb8s0AQGfJmeU9xcZA6l11cq1cfb4vVVkQicTwf07K5AIOkkBOlOiCHeooq36TqRidQlk50ITqLeYvbYrOlNfKYwffCCxylayBrjIPwfj3qSFm017hU+xlpdSBwdaBfodrKMzd6B73xiOcaxRh7FFzPeFOPKXl4xunXJxHJ8wLVJi7CBL+16boqKalRJOK8PGYcDnfjhTJ1RiFI5LmQCnXRCJG6JmVpsP5n+6VkiF8fZxjpyhZDjyVqgIMCiYFHC8Rxo6xHvyb6lVuoCbaJ7fBtBQOQ/S+cngak3KcsR5JwBbGWshVGRdp+DiHFBdvcUibbCi9O1Y/lqxoZUn5zUVXUTat2OBxdxM6DjeJdKYCEBMWwY0dRlvyA1i1GHiULVxXLFRIZeZQjgE1hNzk2KuXe8lpfBIrAogX6SAYfZbMGdVyyywm4q1jFtUs+A/Hbw95H1SACJ1eMbBbwwfL97KKPPqJv1M8GocrxCWJc3KmYsVnhYMhAo9yEBgGu3sH9Fj8hu6pjLfJhSZrG2JbE6nHwUTbHqVIDL76FwSk1mzm+vuELgF+TMwLVh6KFdV3twEN+8qCiB0uqJgPuAK0kTYQUh892VdP2c6/dFvUkWSqmKKnbFbkcdJ0osSl2dbu10OgdU0xrKzmdHd11oRcBRHe/+KBbXSNPil23GzbTdbEe0aV1T0QRJY1tTZfluG9N8WRA4Rwnxxe9gWcMKeppVWCdUD6ufAWwqu1VNxRrYY+0GKSuHPCbxIdbLEt3uBU6RD6IMB6iVBpvXmFmVNWKiBrGRwdJa0p/bGJJe8WHx9EwZUrFz/oV/CGqgChl0ZYXShIVVKqIGjwu2q1Dg85FyFXqpWd9zzYVV8SPDprhQNSU5LDGKYtDKoJmQuYvq66FisOdPSQ5ks23Bs7RHPsE22pPhaWABkEjduAfoAa87phD4RXa5a9uumvKVFo9Gi1pbGfS83xlzzaCrCz6eYom99zwK6aQGKBoDIq5mRlbLkVuOJr+w1SZ0mOnogRqEWl56sDnrhcZyo2EZz1MhG8tjmTSvZsvP6Y0nz0sSdtCYsTJYshiza70VDA7imeaTy2M9RMvaSCzzfReBpAJ94Dwxuh8GxQQk3mZDYv1F6d6UqyKZkuuf0ieCH+UCj4ZJybm/ZEShwqbxg4FVgPq53RMzdGExQ5YIv3C6dh9rIGyATQ7oqMyHunzAy1vbD8HN2E8M/O99JMdjpz7l3F25Mash5mZAZLIcBaX5oEQ5kkifHF+cPOQhWLIAu80ZK/pkGlbCL9QWvonPm6remdlWk/Y5kZ0apQeMYaFDliEJPMfw184giXSnR4Y/sIxLNNg/QE14699ku5eH8Ezoib64S1lACSy4y6Hf55DDDGE8vzJuR/jI5Wj2EqnQk+/Z+Y4ccQnb+LJm3grb+In6I25PnkSv7qexGCyDydX4smVeHIlnlyJz+9KPHkST57Ekyfx5El0JpD8hGHmfUPKH1fLqrUsQuFKi8wUqUTZUr70SNlJSjx1yTQShbvPrIeAiXW2lYi+n8SuI8Ft/NjOofdlbQpzO/c9kcNh7eaxqlJjmoWBfFVYb6FIzUrl4dMAswaDW5xJkTlb/JlLI19lMR9xHGWiVk9OdtMuTZe+GU55RwkrHlqlWbTCLKE35LYmR+azThZyeQW5rVpBDH1uOKDPk9zq9vqE3jjV9Qtx+by4k44PNl/TR424f9yIG+v+NP6vxfiLBHZSrs8XxZp+m7GqYyuKrqGPr5uW7sYTREyBMIUsVCJelyTZYP9Y+XJjsBH3MMIerrcNsxGMEXPC0wl4ZsH1pD9twLhzUQUVIgiSESv6qlVtxQrjBMBMU+GD7HDJKjMQxvPS5SZgOkr5TDULVuH3Y7teFQIjA8iTMkUqusY0D+xyVa4KWpkJ1j3aBxSx7OUXtpqqxtSxdrIcU+BF4KfJ4LP1AzO1Nct46C6ODN+LH6u6EOdWLaFQhO5i/omZMx2E8iNDIwkEKith2gFNZOUxEyp0EhtvZkB1JeI88IxH5MSPlIhMyQrjZzo19ju0LFhu7/56XbYoBei5HM5cLNY5HMYQIxFzOA8NgR4IYcUZnBhzHU9czPm8M9kbp+ZUH5jr5K2TtU7Ozg7yNRR8neCqTJXHox5TocvvUPaA7ArmUs+E6DHUM79Xz/TtLxit11AXbm5HHCbJTwjVMJ4Sq66wuVyC36nqojHXVZQO1QpNJXNupnNjByIZwDOSxlMRmDN9iZENROpHbyaQZGBnjaNWYcIyDSb+ugfqfVLSZT9KMl6ky8IpjXlVV+ShcXoEB1U7hJMOB0RG+4I4fDYd+f4uuSqGbAUZegogmxtJCPFoJgS86dGk0YDu9j7I+4QRlM9mwoiIZ4pArjHeysoyxtsfxXYnIrYxP6JjbmRCt4uNiG2S2iFgAQg8K2qbCNjcOIMWo7zQQ2xyY5NnbfiZXRT8QcQ3uCn2PCa1Go/YwGau68xY1/PAuaxDm21hD0yNRe2LtePYHnWygn6evC50iR3Etyp9DssDFYBAMzB0FSoyZp4szhnrGhSvu5l5RoqN6JDaXIwvyMqfqWfvLrJIqA4VrgB5LtEQlWNCxA5j480MqL7H+J54tL07upGHgXtT9iO0uPRTpqFtYzn4pjqcGHxzdCJ0QiPneMROaOLEcEuWiSC6eIQthjZWH9IPeKRd/FXWJ9csR26cYHzAVGdyOMVkLhVu5ivOR6U3xgZvw37iwXlgMjgYo4qc0NgJTWSzz89gqdNkY01xdv++xuRo+HuY91zqGyt5ancTfI5stgs0vBKqPs89YwiC8ar1hykolHpLp9eVekuntzXEWw6BQ4SoIXBpnkepnkqlv1mjn7JYBT/jiULLvOzOIau17ym4hQe4pQe4xQc45Afu0i4BooMTNxJthutvZ+bbNwkR0CtXY3aq/vB3dHkCgwshBkO4iPrYx9bLnloNpGk/bWnTzmb378Mn9TXkdFVT0sigUUNVKBEjF+QhBcpjFt9q+FcxmaXZU0yuwd/qC44Fff1FA6uurilry2vomKgldzGb9Q1iCfQxUYKqTU1YvrOrdc/7evABr6Iw03VccxIp5pgGQmbrq/xV8egKq2fV7464z47vl4bfY1S6wBM/hq5ogQaR1w/suJy2xoU9UWq99FC6uzy2y3wnNHBCj7Ds3FbdrTvfg3S/5sTc/H7XtOSq3xIFB0wHAPpiuc2vWyZ4FtzHDGrNxxXg8oz1UVZnh/VRlkeHtb6qk8NaRzMbNJwbNjqqYNqpYceh4dkp6e6UdHe7pLsPCTtl3Lkz7mTQJX6d8u3GVUzclU0G2GuVZidu8TC9zAPszU2wE0cDIDAj8jr0lF43kV4XvBnpdTqNKsPui0mvS+YwT7T940vMrzul153S616r9Drh9A5SWWCJB7LEP075dV/gSd0PryjrKzOhdyTT1KgYfVchZJmuxqQo6tJEt6oiiBOIAk2JmYfiy7azO01Mu4oHcKJYN2MTEHeqgeHQSkTBK8ch3UizoMODKQN+MmFhIxOCrwwX0CmvGZhBhkQdYsuU4wHZEn5l2OIn8XNPjuiryQVfZW3JUCa+eXJDnNwQt3JD/Eq1PfkhvsIn/6b78GW7JE4n/06uiTf75N+X55p4fU7+nTwTJ8/Ea+WZOB38+3IdEyAVy0vSPayuSNkSq3g89JkaaBkMek3kDXD9k0ClaohMHPPDUGIUyYTmZ5EoPsY/s+rCiDMUiNOqxS+Ac/wCAJjbOairPPRvZeqjWLYjBLQwzUC7EYsTn6lu8EnJ/3VvlNet+qjlQSE1bvuWJ27K9E1/BhN+Iv65yvIMppKq+MfqzE54GFnUH+05+FrcZ7wefC3pE1CnXlu4zhe8M873kocNtKMG2uS71UmDUKRHx8H4pEHoTvpy5nx9cUcNbsj3OnTWwEi2tVJteY74fLgm18jPM2+L8s0iXdrhLY3jsiy6ldCCULmINFa7oJGAZiY0HtLOjIQWfjDKghrauVs5x0SqGzNv06l8LCPv1jjuhYMaG2mKprnZJwhp7PJEZ82kRH8MDQUL5iaGqBdpOjR2QhMnNHVCMwM6zYfQyQePXxB2U+4THvMbV9Z3QUMQRwLD0VSJR9DYCU2cNBw1VcxSYMYt7uAPRcPOQ/4c4FXk4lUqD3rozAodzHJBAyc0dEJxoiQjaOyEJk5o6sSbGVBXPrvgC+eRKAQ6zaHY5JC9eGLDI6stnpCfedQnUaZ9EvqjVWShipzQ2AlNBqgp4x3QzIAa4fkDXEimjpL66Ygnc1ug9NDInCcy+TUyWSFTjqORQMnMd2MDeoD21EW7vFbk5iKz8oTY6NyGXWZW6oNzm+xXVmh2OPcaH+p9Zmyycb/JJtjRkUB8tTV2JfUvtcju89YTwJuUaFn18yHhOd36fEBI4oOZJBpzNS0xkkQ9eZJ+4IdIEo3HSaKhHqlJ5uI2Ro0bMQeFxrGxSGSE6pzgiaPzm3NEJ68cemIejhyKm7r8vvbpyDFUOy1nO1wdxyNHwKHEqe3QHJ+P9A6ej9RuEcJLhMwb8IYr2fhtoRMVNKeuxZosIjG+i7WvFmEVG5XlIkbcDEa1ZPqCETo7jdvwdJaObyTTSkaMWerwEEvgcCXevVGhiHvWpXixOqCr7rmKJ+65UkOy6Wg5dX3r6U5CU6hP3kkYiiLik8Nw4CYpx5nL1LoWymTSSLVzAEN5EGKk2fljaGxALS8EaiOnWPIplnyrWDKr6iWt21M4+SsQTk5jkOrdKZp8iiafosmnOrKnOrKncPIf4XCyJ2VtfAonv8pwsjQ6Xiub44sxOV4bi8Nxnv+Vmxu36bwwNj4iS/QXug2Nl2RnfJlmxq04YvoO5dVfL9HAuKV9MfZc2C5r3y4TNc+kZ/vlGRXPZVMYThNn3QQN+qrtiecyJ15GRPN5LIk3xJC4lZg1i5Ryhyj3Nr6J5sSrtiY0YwIZ9KXaEq+rKfFmWBLIveewJN4UQ+IF7IjbmxGupFR1XCvAWPHrbEWg6vsGWhFTAfiPSFfqWTVHXSmp7mPV9ZfMhk3dKBngdjGuuzTKUht/e/JSSVG1SIvW8ID3cHxUHaKNAjnlQpl8GkkLdqJa10c0r6tRAkZssWlCoRvBBlfxXPv2MbWoXob6YuzahpPrhhzxV1iH/EddwVb8kj2V4pAqv+3Ac57UmPHkqtCIVosM0Tgxrj1JcM4kloPetwu9CEU2DCE2A/8+j9MmRuA/TVWRNCNQnSRHxannczNOnfAguBXDP3B8NZ24yURUBErwLHQQwWSawY+rpcbemI/IcdeOinVl8DYVmTA2b1MXb5MYawTbzE09i7kOYKpuEx34KgHanZ6+Gf6XxZQP5Fv8uFJhOCObZmKqjZjhH8sM50TjzLB5kbh48dz5ELfgSM+QqqnWba/Bozevz0wf7mXV0gXesAws7Y5hU/4NO0P2hl4xbA7hcElM0g9hZG3qb/wYpuZF0edB/BUbxdC66sceR5H998aP41fvvm9zGCP7xqbT8L1Jwxd/tYfPO3L4vsCLt17i4CVi8CI1eLKoslUy+Q0bvJfHnvTg3L7Z7FdZ1RqDHMApu9+GxQ7YkGZ9s9HPQV/m1H6JI5MdOXHfoIGZ9QXTuRuvaOAnn3zvPAPKMPya46d/RYY8G8LyuoJ3r2h9EcTn4XsiKsyddudsA+9X++u62GxbePf99wLPn6NXf1GVFVztCKvKKvT8v7zZkaK8WFW7KU+XaGXqrBRPok5siZCp2KHBWXUDn8XZ+SjDmI+Bbzt2/H4QIcCy307nDp9IGq/DQJ2cTQxJEUZIOrqy5jOjJJa+F88j7siRy12ct9QvOZFl+7G+MO8g4BVPgThNqKrwc5cQn+d4RYy470CCuM9WXOjK+8Qvy+KLgad/xxDMsxjCqUXQbGm5vJ7IqLelNmK0b/4zk9qDYcGa57ZC6bsb1SeTjz5G7jsuvVsVglerWPCkH5zIszyV6USZto9but9OXKKSJMZVP77Bs9vIJX0JzCeuYUns223mc3kCc3S/DXeXmafA53hkyGKvrEVs8DaaOAHuunXFcenKhHZh3lk1eY6S83rqWqBXxWzpTba4PbpLaD5XRRbG3J6PuZ3yTyxup2Nu263Lq5xd7J6/EnZPXRB0kN29T987zfMJxqfO88LSD9rW5AovHtRPOYXe4BcVt4mPzt71P7pjVGio2J25ffd4orbDcR14Gx4JPXnshhb8k67o2HCVZl7fuOmUl7eZmGfYMtmyVOKwc4PHXTwiAsmPKsW8k2rygemsD0F3QweeVauE7xmcS+55f1Ws2qq2j5jZe9zoGPtc3uFn8nhuWyY2KAJ+DAuMI8mjO2CGkhgaI0cg7XaXoVyBtqsl/RViAUTuzj/eFs2e1gfOaU/f7AgupVdV1xgOiyka+BlmdV4DWQA+t8luulPo4M1an1odsMWWd+PlceC8PC564y+PQ2VeMWdYG2ow0lieKMeOxseMwrjgjZRef42shrUZD1ILzxuGczOyFckYahTrMssJDtzg0A2O3OBYgAMLnLjBqRucmeDBwy0ZQNZ18ZAQ1pzvlnVVknPtiiGyBmchAbm4xBeArH18Pt1v25qwRka6KTvvUQ8YKQPff16UpCbLYuWiE/f0m5HWPj49UgfOwMDpLi5j4Qzw6XH2X9+358saEh0AmWhyWZOnRTl0Y7oRLRwxy4tVW3clbYRfYaYoWNY+7NtlPfDq9jRMqam4tubaNarBQTqCF6bDrGJj3OU1atcgqqchfGEaRrcdapdMBt6RQxJxMiIHHev6fEV0OtY1yi+xKeBnjOQFYe7Z4ZqBK+LDiown4C0bCo5oKNAbEncrbzFblp7vlucrpi3Ip9v+W8yHp9v+W5oBm3kzcR3eHH1npO0awLvuCrYZ7m1uDVb06Le1LZeGofBnhpvO2ZPax8fqylO62jraWjVgXZDbo3nqw6o5gCUwsBwhTVZPgxHGDUU57iAsp5BYhGmT05y1pnMy0q48jMRhG/1R1OQU84qDsVyXJPmGWJ/b62aamIP4zf4G7v7avb1V94b2g4P9C9z9G/XuMD6zP+Fzjl/fRHiQ5PCFh8SF3+xCdGBItOIsOtIInx7prQbL6mB0zJgcatzVo9joUWpx7VbkmmztaYghp4miAT+KhYpLrqoih01ZtS0poWmrfXPBXydN0+1oA7/+y38dlrR9TCmDPenksQB+omFW031JVhQ8Dz79swCfGoDfQIDFvPjw7LgN7Q4uJgfmxfOJn2Sy5aFPyaEJcQSmyT5s6pU9uTV0m3p1fhzK9OVNrvG+Nhqs9MiOZgZVRr2sAVmGjy1rmrZi7l2Zts7CeqLmmCZ6JH5KfXx6/KCGdlMWDe6h55QZW8x59xDAkHDnm6UFsXfZm1QBynx8xuoTbc5pA6kOgFRGF/aECQpvUtH6Vhof6LCvG6rrc7R4QFcbWgy0FtVEsNoKjbZCZ1u2S1Wbd8kwlE2IzxQXI6OdyNlO5JqCtInwcSq361rnFf9N6raUrSYGx1ATjaXHA1Daw6/3DsTicppk6bDFrGsf1vV4T5aUmGqS701TNNXQRDsWNzKDG5mLG7ad5xQi6zp4wWacZpyx7NZ1eKiNIwZ2ZKaNGWmbbHOti5G7eTFA1gC+mqbW9fmSWvbZ3NXT+Ahuxi84YskRbSRTbbhRpkegTMfrZlNT+tC1uZQHXVG90zhW2De1j49lTOnYAwP7IfPMhT3Ax8SOGxI2cEgleR68W7qs6WOXHUydCsp26cOWHsIRuHCYQiEzhMJ2GYxRdmzDfakuyrqRqjOxVPxhG9l2Pj4jpvYNTUjSF2ugWNGSsNzpWCyaSQNnUGSKlY+PrcgULK8Ybdz8KfKjprM/jECR+/hYy2VbsLxw8b+wPKIKC/OhYIeQBAaSo3aMggVjpHtay76fF7VG2ZqYgmFbMYqWzpr06GofnwHf/fvwtnAVZcHbQPIHXdP252TFB9Ua3hYtvS1O2olcH3h7Td6+gJn6NqKSRQJEKYf+xGbRiBO3F/Bh+y2sJtEg8moNDZ7LwxtnaNM2F4KYYXjinp6qa/ddq52fPESPhuBnXxJN+vmrEZPEhzpRZfGQyhOBPGgozxKax7iOoAwPakrCBjy4bjZVJU4UMtJ2NSkFmR+KOhqPMTKB1uxHhVD3oWBNi8cXqzV8IEGYsoVHGgu2OQPZnZK2FO7fF8eDm5bUnB/9SdELwEb0/RlZo/3+tjgkqZpo8YukGch49yMxbcUnouBGXbQtZWIY1RdJud+SJW2b9y5ATviiJeXEYm8tC8u1Gxatj48lm0ycgRvnwbXZBjeiDQ20t9tmizbEZ1isvRMihAI+FLds8BErGCmhY0Ltpjm8XbztpCZyU3NYyCdah6MXJegB2RPp1raH8gFxy9UHex8e7G03dyCsJCfSwEA6IWcTXuN0aCTQG3GiDQ20E9abjTYcoS1JW7imckmOiQiWxMfHQlm0245M+A7Kw/NO4W19KNub0Aa3RxuM0O5ISa4dhO7G4QDTJO43tCJX+HfEx8dlbzTnuyeWza/U6R19UqyOigT17Tzx8XFMfQ8+geds9whnw+5JgM90uxxv3rXOAAsrLR1ZYmWlD6x0MI2VyiQ0UB6jwOueYVYGbvymEcjbeEHUY2JDd//NGSVuMBqQhmOkO1LVLv1vVzhZ+tTHx9bUqtJwZw0h0vJoJX7YcPalj89IiRetTGQCHHRB2xj1mO6+1Wcx/032qW67DRlH2a01G2Oih2nROzw8+xZj7Dbf6mo3Jc7q6hi5U1c+PmPPkcJ8tCF5EGHzmObuAW6ujrZCVBPNYx+aqzHJspHjMz2ORm6RHxjk2zrQ1PwM9UYCaK4cMTTV0Pr5zMwbm2hp2W06xzC0EyZ4YjhZ29LHx0ba1Q/dg9uOguQKUe3j0yMyYue3QOrIVgs1fmjrp62DG1rsXOlH6PI3c4fGw612W/HugDiExIp680oIIVahEA+6eCFACZDGE5Kna3zorHj8QGlwiFJ7Xb1cOsf5QT3FwQGKw6N4+5IpvikE0zUhPs7gwdXTCSXlijL6tCMluYV6dPXUh6unw/rRumRrLHpO+P8HJABPhrKXDQA="),
vendor: 3,913 bytes, line 2810
2810k=new Blob([b]).stream().pipeThrough(new DecompressionStream("gzip")),E=[];for await(const G of k)E.push(G);const B=await new Blob(E).arrayBuffer();u?(u(B),u=null):p=B})(),He.calledRun?C():(He.preRun||(He.preRun=[]),He.preRun.push(C))})({files:[{filename:c+"/en_dict",start:0,end:167064},{filename:c+"/intonations",start:167064,end:169104},{filename:a+"/aav/vi",start:169104,end:169215},{filename:a+"/aav/vi-VN-x-central",start:169215,end:169358},{filename:a+"/aav/vi-VN-x-south",start:169358,end:169500},{filename:a+"/art/eo",start:169500,end:169541},{filename:a+"/art/ia",start:169541,end:169570},{filename:a+"/art/io",start:169570,end:169620},{filename:a+"/art/jbo",start:169620,end:169689},{filename:a+"/art/lfn",start:169689,end:169824},{filename:a+"/art/piqd",start:169824,end:169880},{filename:a+"/art/py",start:169880,end:170020},{filename:a+"/art/qdb",start:170020,end:170077},{filename:a+"/art/qya",start:170077,end:170250},{filename:a+"/art/sjn",start:170250,end:170425},{filename:a+"/azc/nci",start:170425,end:170539},{filename:a+"/bat/lt",start:170539,end:170567},{filename:a+"/bat/ltg",start:170567,end:170879},{filename:a+"/bat/lv",start:170879,end:171108},{filename:a+"/bnt/sw",start:171108,end:171149},{filename:a+"/bnt/tn",start:171149,end:171191},{filename:a+"/ccs/ka",start:171191,end:171315},{filename:a+"/cel/cy",start:171315,end:171352},{filename:a+"/cel/ga",start:171352,end:171418},{filename:a+"/cel/gd",start:171418,end:171469},{filename:a+"/cus/om",start:171469,end:171508},{filename:a+"/dra/kn",start:171508,end:171563},{filename:a+"/dra/ml",start:171563,end:171620},{filename:a+"/dra/ta",start:171620,end:171671},{filename:a+"/dra/te",start:171671,end:171741},{filename:a+"/esx/kl",start:171741,end:171771},{filename:a+"/eu",start:171771,end:171825},{filename:a+"/gmq/da",start:171825,end:171868},{filename:a+"/gmq/is",start:171868,end:171895},{filename:a+"/gmq/nb",start:171895,end:171982},{filename:a+"/gmq/sv",start:171982,end:172007},{filename:a+"/gmw/af",start:172007,end:172130},{filename:a+"/gmw/de",start:172130,end:172172},{filename:a+"/gmw/en",start:172172,end:172312},{filename:a+"/gmw/en-029",start:172312,end:172647},{filename:a+"/gmw/en-GB-scotland",start:172647,end:172942},{filename:a+"/gmw/en-GB-x-gbclan",start:172942,end:173180},{filename:a+"/gmw/en-GB-x-gbcwmd",start:173180,end:173368},{filename:a+"/gmw/en-GB-x-rp",start:173368,end:173617},{filename:a+"/gmw/en-US",start:173617,end:173874},{filename:a+"/gmw/en-US-nyc",start:173874,end:174145},{filename:a+"/gmw/lb",start:174145,end:174176},{filename:a+"/gmw/nl",start:174176,end:174199},{filename:a+"/grk/el",start:174199,end:174222},{filename:a+"/grk/grc",start:174222,end:174321},{filename:a+"/inc/as",start:174321,end:174363},{filename:a+"/inc/bn",start:174363,end:174388},{filename:a+"/inc/bpy",start:174388,end:174427},{filename:a+"/inc/gu",start:174427,end:174469},{filename:a+"/inc/hi",start:174469,end:174492},{filename:a+"/inc/kok",start:174492,end:174518},{filename:a+"/inc/mr",start:174518,end:174559},{filename:a+"/inc/ne",start:174559,end:174596},{filename:a+"/inc/or",start:174596,end:174635},{filename:a+"/inc/pa",start:174635,end:174660},{filename:a+"/inc/sd",start:174660,end:174726},{filename:a+"/inc/si",start:174726,end:174781},{filename:a+"/inc/ur",start:174781,end:174875},{filename:a+"/ine/hy",start:174875,end:174936},{filename:a+"/ine/hyw",start:174936,end:175301},{filename:a+"/ine/sq",start:175301,end:175404},{filename:a+"/ira/fa",start:175404,end:175494},{filename:a+"/ira/fa-Latn",start:175494,end:175763},{filename:a+"/ira/ku",start:175763,end:175803},{filename:a+"/iro/chr",start:175803,end:176372},{filename:a+"/itc/la",start:176372,end:176669},{filename:a+"/jpx/ja",start:176669,end:176721},{filename:a+"/ko",start:176721,end:176772},{filename:a+"/map/haw",start:176772,end:176814},{filename:a+"/miz/mto",start:176814,end:176997},{filename:a+"/myn/quc",start:176997,end:177207}
2810,{filename:a+"/poz/id",start:177207,end:177341},{filename:a+"/poz/mi",start:177341,end:177708},{filename:a+"/poz/ms",start:177708,end:178138},{filename:a+"/qu",start:178138,end:178226},{filename:a+"/roa/an",start:178226,end:178253},{filename:a+"/roa/ca",start:178253,end:178278},{filename:a+"/roa/es",start:178278,end:178341},{filename:a+"/roa/es-419",start:178341,end:178508},{filename:a+"/roa/fr",start:178508,end:178587},{filename:a+"/roa/fr-BE",start:178587,end:178671},{filename:a+"/roa/fr-CH",start:178671,end:178757},{filename:a+"/roa/ht",start:178757,end:178897},{filename:a+"/roa/it",start:178897,end:179006},{filename:a+"/roa/pap",start:179006,end:179068},{filename:a+"/roa/pt",start:179068,end:179163},{filename:a+"/roa/pt-BR",start:179163,end:179272},{filename:a+"/roa/ro",start:179272,end:179298},{filename:a+"/sai/gn",start:179298,end:179345},{filename:a+"/sem/am",start:179345,end:179386},{filename:a+"/sem/ar",start:179386,end:179436},{filename:a+"/sem/he",start:179436,end:179476},{filename:a+"/sem/mt",start:179476,end:179517},{filename:a+"/sem/ti",start:179517,end:179610},{filename:a+"/sit/cmn",start:179610,end:180296},{filename:a+"/sit/cmn-Latn-pinyin",start:180296,end:180457},{filename:a+"/sit/hak",start:180457,end:180585},{filename:a+"/sit/my",start:180585,end:180641},{filename:a+"/sit/yue",start:180641,end:180835},{filename:a+"/sit/yue-Latn-jyutping",start:180835,end:181048},{filename:a+"/tai/shn",start:181048,end:181140},{filename:a+"/tai/th",start:181140,end:181177},{filename:a+"/trk/az",start:181177,end:181222},{filename:a+"/trk/ba",start:181222,end:181247}
2810,{filename:a+"/trk/cv",start:181247,end:181287},{filename:a+"/trk/kk",start:181287,end:181327},{filename:a+"/trk/ky",start:181327,end:181370},{filename:a+"/trk/nog",start:181370,end:181409},{filename:a+"/trk/tk",start:181409,end:181434},{filename:a+"/trk/tr",start:181434,end:181459},{filename:a+"/trk/tt",start:181459,end:181482},{filename:a+"/trk/ug",start:181482,end:181506},{filename:a+"/trk/uz",start:181506,end:181545},{filename:a+"/urj/et",start:181545,end:181782},{filename:a+"/urj/fi",start:181782,end:182019},{filename:a+"/urj/hu",start:182019,end:182092},{filename:a+"/urj/smj",start:182092,end:182137},{filename:a+"/zle/be",start:182137,end:182189},{filename:a+"/zle/ru",start:182189,end:182246},{filename:a+"/zle/ru-LV",start:182246,end:182526},{filename:a+"/zle/ru-cl",start:182526,end:182617},{filename:a+"/zle/uk",start:182617,end:182714},{filename:a+"/zls/bg",start:182714,end:182825},{filename:a+"/zls/bs",start:182825,end:183055},{filename:a+"/zls/hr",start:183055,end:183317},{filename:a+"/zls/mk",start:183317,end:183345},{filename:a+"/zls/sl",start:183345,end:183388},{filename:a+"/zls/sr",start:183388,end:183638},{filename:a+"/zlw/cs",start:183638,end:183661},{filename:a+"/zlw/pl",start:183661,end:183699},{filename:a+"/zlw/sk",start:183699,end:183723},{filename:c+"/phondata",start:183723,end:734147},{filename:c+"/phonindex",start:734147,end:773403},{filename:c+"/phontab",start:773403,end:829491},{filename:s+"/!v/Alex",start:829491,end:829619},{filename:s+"/!v/Alicia",start:829619,end:830093},{filename:s+"/!v/Andrea",start:830093,end:830450},{filename:s+"/!v/Andy",start:830450,end:830770},{filename:s+"/!v/Annie",start:830770,end:831085},{filename:s+"/!v/AnxiousAndy",start:831085,end:831446},{filename:s+"/!v/Demonic",start:831446,end:835304},{filename:s+"/!v/Denis",start:835304,end:835609},{filename:s+"/!v/Diogo",start:835609,end:835988},{filename:s+"/!v/Gene",start:835988,end:836269},{filename:s+"/!v/Gene2",start:836269,end:836552},{filename:s+"/!v/Henrique",start:836552,end:836933},{filename:s+"/!v/Hugo",start:836933,end:837311},{filename:s+"/!v/Jacky",start:837311,end:837578},{filename:s+"/!v/Lee",start:837578,end:837916},{filename:s+"/!v/Marco",start:837916,end:838383},{filename:s+"/!v/Mario",start:838383,end:838653},{filename:s+"/!v/Michael",start:838653,end:838923},{filename:s+"/!v/Mike",start:838923,end:839035},{filename:s+"/!v/Mr serious",start:839035,end:842228},{filename:s+"/!v/Nguyen",start:842228,end:842508},{filename:s+"/!v/Reed",start:842508,end:842710},{filename:s+"/!v/RicishayMax",start:842710,end:842943},{filename:s+"/!v/RicishayMax2",start:842943,end:843378},{filename:s+"/!v/RicishayMax3",start:843378,end:843813},{filename:s+"/!v/Storm",start:843813,end:844233},{filename:s+"/!v/Tweaky",start:844233,end:847422},{filename:s+"/!v/UniRobot",start:847422,end:847839},{filename:s+"/!v/adam",start:847839,end:847914},{filename:s+"/!v/anika",start:847914,end:848407},{filename:s+"/!v/anikaRobot",start:848407,end:848919},{filename:s+"/!v/announcer",start:848919,end:849219},{filename:s+"/!v/antonio",start:849219,end:849600},{filename:s+"/!v/aunty",start:849600,end:849958},{filename:s+"/!v/belinda",start:849958,end:850298},{filename:s+"/!v/benjamin",start:850298,end:850499},{filename:s+"/!v/boris",start:850499,end:850723},{filename:s+"/!v/caleb",start:850723,end:850780},{filename:s+"/!v/croak",start:850780,end:850873},{filename:s+"/!v/david",start:850873,end:850985},{filename:s+"/!v/ed",start:850985,end:851272},{filename:s+"/!v/edward",start:851272,end:851423},{filename:s+"/!v/edward2",start:851423,end:851575},{filename:s+"/!v/f1",start:851575,end:851899},{filename:s+"/!v/f2",start:851899,end:852256},{filename:s+"/!v/f3",start:852256,end:852631},{filename:s+"/!v/f4",start:852631,end:852981},{filename:s+"/!v/f5",start:852981,end:853413},{filename:s+"/!v/fast",start:853413,end:853562},{filename:s+"/!v/grandma",start:853562,end:853825},{filename:s+"/!v/grandpa",start:853825,end:854081},{filename:s+"/!v/gustave",start:854081,end:854334},{filename:s+"/!v/ian",start:854334,end:857502},{filename:s+"/!v/iven",start:857502,end:857763},{filename:s+"/!v/iven2",start:857763,end:858042},{filename:s+"/!v/iven3",start:858042,end:858304},{filename:s+"/!v/iven4",start:858304,end:858565},{filename:s+"/!v/john",start:858565,end:861751},{filename:s+"/!v/kaukovalta",start:861751,end:862112},{filename:s+"/!v/klatt",start:862112,end:862150},{filename:s+"/!v/klatt2",start:862150,end:862188},{filename:s+"/!v/klatt3",start:862188,end:862227},{filename:s+"/!v/klatt4",start:862227,end:862266},{filename:s+"/!v/klatt5",start:862266,end:862305},{filename:s+"/!v/klatt6",start:862305,end:862344},{filename:s+"/!v/linda",start:862344,end:862694},{filename:s+"/!v/m1",start:862694,end:863029},{filename:s+"/!v/m2",start:863029,end:863293},{filename:s+"/!v/m3",start:863293,end:863593},{filename:s+"/!v/m4",start:863593,end:863883},{filename:s+"/!v/m5",start:863883,end:864145},{filename:s+"/!v/m6",start:864145,end:864333},{filename:s+"/!v/m7",start:864333,end:864587},{filename:s+"/!v/m8",start:864587,end:864871},{filename:s+"/!v/marcelo",start:864871,end:865122},{filename:s+"/!v/max",start:865122,end:865347}
2810,{filename:s+"/!v/michel",start:865347,end:865751},{filename:s+"/!v/miguel",start:865751,end:866133},{filename:s+"/!v/mike2",start:866133,end:866321},{filename:s+"/!v/norbert",start:866321,end:869510},{filename:s+"/!v/pablo",start:869510,end:872652},{filename:s+"/!v/paul",start:872652,end:872936},{filename:s+"/!v/pedro",start:872936,end:873288},{filename:s+"/!v/quincy",start:873288,end:873642},{filename:s+"/!v/rob",start:873642,end:873907},{filename:s+"/!v/robert",start:873907,end:874181},{filename:s+"/!v/robosoft",start:874181,end:874632},{filename:s+"/!v/robosoft2",start:874632,end:875086},{filename:s+"/!v/robosoft3",start:875086,end:875541},{filename:s+"/!v/robosoft4",start:875541,end:875988},{filename:s+"/!v/robosoft5",start:875988,end:876433},{filename:s+"/!v/robosoft6",start:876433,end:876720},{filename:s+"/!v/robosoft7",start:876720,end:877130},{filename:s+"/!v/robosoft8",start:877130,end:877373},{filename:s+"/!v/sandro",start:877373,end:877903},{filename:s+"/!v/shelby",start:877903,end:878183},{filename:s+"/!v/steph",start:878183,end:878547},{filename:s+"/!v/steph2",start:878547,end:878914},{filename:s+"/!v/steph3",start:878914,end:879291},{filename:s+"/!v/travis",start:879291,end:879674},{filename:s+"/!v/victor",start:879674,end:879927},{filename:s+"/!v/whisper",start:879927,end:880113},{filename:s+"/!v/whisperf",start:880113,end:880505},{filename:s+"/!v/zac",start:880505,end:880780},{filename:s+"/mb/mb-af1",start:880780,end:880868},{filename:s+"/mb/mb-af1-en",start:880868,end:880951},{filename:s+"/mb/mb-ar1",start:880951,end:881035},{filename:s+"/mb/mb-ar2",start:881035,end:881119},{filename:s+"/mb/mb-br1",start:881119,end:881251},{filename:s+"/mb/mb-br2",start:881251,end:881387},{filename:s+"/mb/mb-br3",start:881387,end:881519},{filename:s+"/mb/mb-br4",start:881519,end:881655},{filename:s+"/mb/mb-ca1",start:881655,end:881760},{filename:s+"/mb/mb-ca2",start:881760,end:881865},{filename:s+"/mb/mb-cn1",start:881865,end:881957},{filename:s+"/mb/mb-cr1",start:881957,end:882068},{filename:s+"/mb/mb-cz1",start:882068,end:882138},{filename:s+"/mb/mb-cz2",start:882138,end:882220},{filename:s+"/mb/mb-de1",start:882220,end:882364},{filename:s+"/mb/mb-de1-en",start:882364,end:882460},{filename:s+"/mb/mb-de2",start:882460,end:882588},{filename:s+"/mb/mb-de2-en",start:882588,end:882668},{filename:s+"/mb/mb-de3",start:882668,end:882767},{filename:s+"/mb/mb-de3-en",start:882767,end:882863},{filename:s+"/mb/mb-de4",start:882863,end:882992},{filename:s+"/mb/mb-de4-en",start:882992,end:883073},{filename:s+"/mb/mb-de5",start:883073,end:883309},{filename:s+"/mb/mb-de5-en",start:883309,end:883399},{filename:s+"/mb/mb-de6",start:883399,end:883521},{filename:s+"/mb/mb-de6-en",start:883521,end:883595},{filename:s+"/mb/mb-de6-grc",start:883595,end:883678},{filename:s+"/mb/mb-de7",start:883678,end:883828},{filename:s+"/mb/mb-de8",start:883828,end:883899},{filename:s+"/mb/mb-ee1",start:883899,end:883996},{filename:s+"/mb/mb-en1",start:883996,end:884127},{filename:s+"/mb/mb-es1",start:884127,end:884241},{filename:s+"/mb/mb-es2",start:884241,end:884349},{filename:s+"/mb/mb-es3",start:884349,end:884453},{filename:s+"/mb/mb-es4",start:884453,end:884541},{filename:s+"/mb/mb-fr1",start:884541,end:884707},{filename:s+"/mb/mb-fr1-en",start:884707,end:884811},{filename:s+"/mb/mb-fr2",start:884811,end:884914},{filename:s+"/mb/mb-fr3",start:884914,end:885014},{filename:s+"/mb/mb-fr4",start:885014,end:885141},{filename:s+"/mb/mb-fr4-en",start:885141,end:885248},{filename:s+"/mb/mb-fr5",start:885248,end:885348},{filename:s+"/mb/mb-fr6",start:885348,end:885448},{filename:s+"/mb/mb-fr7",start:885448,end:885531},{filename:s+"/mb/mb-gr1",start:885531,end:885625},{filename:s+"/mb/mb-gr2",start:885625,end:885719},{filename:s+"/mb/mb-gr2-en",start:885719,end:885807},{filename:s+"/mb/mb-hb1",start:885807,end:885875},{filename:s+"/mb/mb-hb2",start:885875,end:885958},{filename:s+"/mb/mb-hu1",start:885958,end:886060},{filename:s+"/mb/mb-hu1-en",start:886060,end:886157},{filename:s+"/mb/mb-ic1",start:886157,end:886245},{filename:s+"/mb/mb-id1",start:886245,end:886346}
vendor: 4,447 bytes, line 2810
2810,{filename:s+"/mb/mb-in1",start:886346,end:886415},{filename:s+"/mb/mb-in2",start:886415,end:886500},{filename:s+"/mb/mb-ir1",start:886500,end:887253},{filename:s+"/mb/mb-it1",start:887253,end:887337},{filename:s+"/mb/mb-it2",start:887337,end:887424},{filename:s+"/mb/mb-it3",start:887424,end:887566},{filename:s+"/mb/mb-it4",start:887566,end:887711},{filename:s+"/mb/mb-jp1",start:887711,end:887782},{filename:s+"/mb/mb-jp2",start:887782,end:887883},{filename:s+"/mb/mb-jp3",start:887883,end:887970},{filename:s+"/mb/mb-la1",start:887970,end:888053},{filename:s+"/mb/mb-lt1",start:888053,end:888140},{filename:s+"/mb/mb-lt2",start:888140,end:888227},{filename:s+"/mb/mb-ma1",start:888227,end:888325},{filename:s+"/mb/mb-mx1",start:888325,end:888445},{filename:s+"/mb/mb-mx2",start:888445,end:888565},{filename:s+"/mb/mb-nl1",start:888565,end:888634},{filename:s+"/mb/mb-nl2",start:888634,end:888730},{filename:s+"/mb/mb-nl2-en",start:888730,end:888821},{filename:s+"/mb/mb-nl3",start:888821,end:888906},{filename:s+"/mb/mb-nz1",start:888906,end:888974},{filename:s+"/mb/mb-pl1",start:888974,end:889073},{filename:s+"/mb/mb-pl1-en",start:889073,end:889155},{filename:s+"/mb/mb-pt1",start:889155,end:889286},{filename:s+"/mb/mb-ro1",start:889286,end:889373},{filename:s+"/mb/mb-ro1-en",start:889373,end:889454},{filename:s+"/mb/mb-sw1",start:889454,end:889552},{filename:s+"/mb/mb-sw1-en",start:889552,end:889645},{filename:s+"/mb/mb-sw2",start:889645,end:889747},{filename:s+"/mb/mb-sw2-en",start:889747,end:889846},{filename:s+"/mb/mb-tl1",start:889846,end:889931},{filename:s+"/mb/mb-tr1",start:889931,end:890016},{filename:s+"/mb/mb-tr2",start:890016,end:890130},{filename:s+"/mb/mb-us1",start:890130,end:890300},{filename:s+"/mb/mb-us2",start:890300,end:890478},{filename:s+"/mb/mb-us3",start:890478,end:890658},{filename:s+"/mb/mb-vz1",start:890658,end:890802}],remote_package_size:890802})}();var ip=Object.assign({},He),ld="./this.program",X1=He.print||console.log.bind(console),I2=He.printErr||console.warn.bind(console);Object.assign(He,ip),ip=null,He.arguments&&He.arguments,He.thisProgram&&(ld=He.thisProgram),He.quit&&He.quit,He.wasmBinary&&He.wasmBinary,He.noExitRuntime;var ed,w2={Memory:function(c){this.buffer=new ArrayBuffer(65536*c.initial)},Module:function(c){},Instance:function(c,a){this.exports=function(s){for(var o,u=new Uint8Array(123),p=25;p>=0;--p)u[48+p]=52+p,u[65+p]=p,u[97+p]=26+p;function C(H,K,J){for(var g,v,e=0,d=K,_=J.length,re=K+(3*_>>2)-(J[_-2]=="=")-(J[_-1]=="=");e<_;e+=4)g=u[J.charCodeAt(e+1)],v=u[J.charCodeAt(e+2)],H[d++]=u[J.charCodeAt(e)]<<2|g>>4,d<re&&(H[d++]=g<<4|v>>2),d<re&&(H[d++]=v<<6|u[J.charCodeAt(e+3)])}u[43]=62,u[47]=63;var b=new ArrayBuffer(16),k=new Int32Array(b),E=new Float32Array(b),B=new Float64Array(b);function G(H){return k[H]}function D(H,K){k[H]=K}function Q(){return B[0]}function V(H){B[0]=H}function W(){throw new Error("abort")}function U(H){E[2]=H}return function(H){var K=H.a,J=K.a.buffer,g=new Int8Array(J),v=new Int16Array(J),e=new Int32Array(J),d=new Uint8Array(J),_=new Uint16Array(J),re=new Uint32Array(J),S=new Float64Array(J),F=Math.imul,Ie=Math.fround,he=Math.abs,ce=Math.clz32,ge=Math.min,Ce=Math.floor,Fe=Math.ceil,Pe=K.b,de=K.c,pe=K.d,we=K.e,Ge=K.f,me=K.g,at=K.h,Ue=K.i,ot=K.j,pt=K.k,ct=K.l,je=K.m,At=K.n,It=K.o,wt=K.p,ze=K.q,rt=K.r,Bt=K.s,Ot=K.t,St=K.u,oe=294656,zt=0,ke=0,fe=0;function Qe(t){var A,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0,Cr=0,Yr=0,Xr=0,ls=0,as=0,xs=0,Ms=0,zs=0,Os=0,ga=0,na=0,ha=0,pa=0,Gn=0,Fn=0,Ln=0,Vn=0,yo=0,to=0,Ao=0,Qi=0,Xo=0,o0=0,l0=0,ro=0;if(oe=A=oe-16|0,(0|t)!=2)if(t=e[33283],e[t>>2]!=e[t+4>>2]){if(Ia(e[e[32972]+60>>2]),ue=e[47192],ha=A+12|0,Vn=A+8|0,oe=w=oe-6832|0,e[w+6816>>2]=0,e[w+6808>>2]=32,e[w+6800>>2]=0,ue){e[47351]=0,e[47350]=0,e[47352]=0,g[189076]=0,t=e[33284],e[47353]=(0|t)>0?t:0,e[47355]=e[47354]+1,IA(cA=w+5184|0,0,1600),Os=w+6800|0,oe=h=oe-2608|0,e[h+2156>>2]=32,e[h+2148>>2]=0,d[134760]&&(g[190280]=0,g[134760]=0),e[ue+8216>>2]=0,e[ue+8220>>2]=0,e[ue+288>>2]=0,e[w+780>>2]=0,g[189360]=0;e:if(t=e[33691])e[h+2152>>2]=t;else{t:{r:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2]){e[h+2152>>2]=0;break e}if(!(r=e[33285]))break r}e[33285]=0;break t}e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t)}e[h+2152>>2]=r}Qi=cA+2|0,yt=32;e:{for(;;){ht=yt;t:{r:{a:{if(r=e[33691],(i=e[33285])?t=0:(i=e[33285],t=e[33283],t=e[t>>2]==e[t+4>>
28102]),r|!t|i||!(e[32524]<0)){if(!Ki(e[h+2156>>2])){if((i=(0|(t=e[49828]))>0)&(0|(r=t))<(0|(t=e[33284])))break a;if(!((0|(r=e[49845]))<=0|(0|t)<(0|r))){e[49845]=0,g[134760]=1,e[33285]=e[h+2152>>2],n=16384;break e}}yt=e[h+2156>>2],e[h+2156>>2]=e[h+2152>>2];n:{c:{o:{f:{l:{if((0|(r=e[32524]))>=0){if(d[r+134736|0])break l;e[32524]=-1}if(r=e[33285])break o;if(t=e[33283],e[t>>2]!=e[t+4>>2])break f;r=32;break n}e[33691]|r||(e[h+2156>>2]=g[134736],r=1),e[32524]=r+1,r=g[r+134736|0];break n}if(!(r=e[33285]))break c}e[33285]=0;break n}e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t)}e[h+2152>>2]=r,e[33691]=0;n:if(!(M|!e[47203])){c:{if((0|(t=e[h+2156>>2]))!=60){if((0|r)!=35&r-97>>>0>25|(0|t)!=38)break n;for(i=e[33285],l=0;;){o:{if(e[h+2156>>2]=r,!i){if(t=e[33283],e[t>>2]==e[t+4>>2])break o;r=e[h+2156>>2]}if(!(!((r=!!(0|Ki(r)))|(0|(t=e[h+2156>>2]))==35)|l>>>0>19)){g[(h+112|0)+l|0]=t,l=l+1|0,(r=e[33285])?(e[33285]=0,i=0):(e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t),i=e[33285]);continue}}break}g[(h+112|0)+l|0]=0;o:{f:{if(!(r=e[33285])){if(r=0,t=e[33283],e[t>>2]==e[t+4>>2])break o;if(!(r=e[33285]))break f}e[33285]=0;break o}e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t)}e[h+2152>>2]=r,e[h+100>>2]=e[h+2156>>2],e[h+104>>2]=r,e[h+96>>2]=h+112,uA(134736,84252,h+96|0);o:{if(e[h+2156>>2]==59){l=h+2156|0,ae=h+2152|0,oe=i=oe-32|0;f:if(d[0|(r=h+112|0)]!=35)t=-1,(0|(r=ti(130752,r)))!=-1&&(e[l>>2]=r,e[ae>>2]||(e[ae>>2]=32),t=r);else{if(d[0|(t=r+1|0)]==120){e[i>>2]=l,t=nA(r+2|0,90005,i);break f}e[i+16>>2]=l,t=nA(t,90070,i+16|0)}if(oe=i+32|0,(0|t)>0)break o}e[32524]=0,e[h+2156>>2]=38,e[h+2152>>2]=32;break n}if((0|(t=e[h+2156>>2]))>32)break n;if(!(r=e[33692]-20|0)|(0|r)==16)break c;break n}if((0|r)!=47&&!aa(r)&&(0|(t=e[h+2152>>2]))!=63&&(0|t)!=33)break n;if((0|(t=e[h+2148>>2]))>780){e[33691]=e[h+2156>>2],g[0|(t=t+189424|0)]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],n=16384;break e}for(ae=e[33285],l=0,r=e[h+2152>>2];e[h+2156>>2]=r,i=0,ae||(t=e[33283],i=e[t>>2]==e[t+4>>2],r=e[h+2156>>2]),!((0|r)==62|i|l>>>0>499);)e[(h+144|0)+(l<<2)>>2]=r,l=l+1|0,(r=e[33285])?(ae=0,e[33285]=0):(e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t),ae=e[33285]);e[(i=h+144|0)+(l<<2)>>2]=0,e[h+2152>>2]=32,Pt=h+2148|0,ht=e[32525],r=0,oe=it=oe-560|0;o:if(jo(i,84333,3)&&jo(i,84477,4)){for(t=(i+(xn(i)<<2)|0)-4|0,(0|(gA=e[t>>2]))==47&&(e[t>>2]=32);;){if(t=e[i+(r<<2)>>2]){if(Ts(t))t=r;else if(g[(it+512|0)+r|0]=wr(t<<24>>24),t=39,(0|(r=r+1|0))!=39)continue}else t=r;break}if(g[(it+512|0)+t|0]=0,d[it+512|0]!=47){if((0|(ae=ti(130480,it+512|0)))!=16&&(r=e[Pt>>2],e[Pt>>2]=r+1,g[r+189424|0]=32),(0|gA)==47&&(r=0,!(502241>>>ae&1)))break o}else(0|(r=ti(130480,it+512|1)))!=16&&(l=e[Pt>>2],e[Pt>>2]=l+1,g[l+189424|0]=32),ae=r+32|0;l=i+(t<<2)|0,t=e[33708],M=F(t,76)+133076|0,r=262174;f:{l:{i:{h:switch(ae-1|0){case 33:b:if(!((0|t)<=1)){for(;;){if(e[F(r=t-1|0,76)+133152>>2]==2)break b;if(e[33708]=r,i=t>>>0>2,t=r,!i)break}t=1}r=Rr(l,34,t);break o;case 32:b:if(!((0|t)<=1)){for(;;){if(e[F(r=t-1|0,76)+133152>>2]==1)break b;if(e[33708]=r,i=t>>>0>2,t=r,!i)break}t=1}r=Rr(l,33,t)+524328|0;break o;case 9:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(t=134912+(M=r<<6)|0)>>2]=10,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1,t=Tr(l,88301),i=Tr(l,88390),fo(t,88479)?fo(t,88528)||(e[28+(134912+(r<<6)|0)>>2]=Gs(i,130224)):e[24+(M+134912|0)>>2]=Gs(i,130192),Ma(Pt,e[33709]);break i;case 2:for((0|(t=e[33709]))<=18&&(e[33709]=t+1),e[(t=134912+(yo=t<<6)|0)>>2]=3,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1,Xr=1;;){if(i=Tr(l,e[130448+(ls=Xr<<2)>>2])){gA=0,t=e[ls+131072>>2];b:if(ae=e[t>>2])for(;;){for(r=0;M=g[r+ae|0],(ht=e[(r<<2)+i>>2])&&(r=r+1|0,(0|M)==(0|ht)););switch(ht-34|0){case 0:case 5:if(!M)break b}if(!(ae=e[t+((gA=gA+1|0)<<3)>>2]))break}Xo=ls+(yo+134912|0)|0;b:if((0|(t=e[4+(t+(gA<<3)|0)>>2]))>=0)t=(0|F(t,e[4+(ls+134912|0)>>2]))/100|0;else{for(;i=(t=i)+4|0,Ts(e[t>>2]););for(to=e[t>>2]==43,i=((Ao=e[(t=t+(to<<2)|0)>>2]==45)<<2)+t|0,gA=it+96|0,oe=ae=(oe=M=oe-16|0)-224|0,IA(ae+16|0,0,144),t=ae+160|4,e[ae+24>>2]=t,e[ae+60>>2]=t,e[ae+92>>2]=-1,e[ae+64>>2]=60,e[ae+20>>2]=t,e[ae+48>>2]=19,r=i;r=(t=r)+4|0,ht=(ht=e[t>>2])?rs(124960,ht):0;);e[ae+100>>
28102]=t,ua(r=ae+16|0,0,0),jt(ae,r,1,1),r=e[ae+8>>2],o0=e[ae+12>>2],ht=e[ae>>2],l0=e[ae+4>>2],gA&&(ro=gA,gA=e[ae+136>>2]+(e[ae+20>>2]-e[ae+60>>2]|0)|0,e[ro>>2]=gA?t+(gA<<2)|0:i),e[(t=M)+8>>2]=r,e[t+12>>2]=o0,e[t>>2]=ht,e[t+4>>2]=l0,oe=ae+224|0,$e=Pa(e[t>>2],e[t+4>>2],e[t+8>>2],e[t+12>>2]),oe=t+16|0;m:{r=100;C:if((0|(t=i))!=(0|(i=e[it+96>>2]))){r=Ao?-1:to;p:{if((0|(t=e[i>>2]))!=115){if((0|t)!=37)break p;if(he($e=r?+(0|r)*$e+100:$e)<2147483648){r=~~$e;break C}r=-2147483648;break C}if(e[i+4>>2]==116){V(+(Cr=$e*+(0|r)/12)),t=0|G(1),G(0);x:{if((r=(t=t>>>20&2047)-969|0)>>>0>=63){if($e=Cr+1,(0|r)<0)break x;if(V(+Cr),r=0|G(1),i=0|G(0),!(t>>>0<1033)){if($e=0,!i&(0|r)==-1048576||($e=Cr+1,t>>>0>=2047))break x;if((0|r)>0|(0|r)>=0){S[8+(t=oe-16|0)>>3]=3105036184601418e216,$e=3105036184601418e216*S[t+8>>3];break x}if(!(r>>>0<3230714880)){S[8+(t=oe-16|0)>>3]=12882297539194267e-247,$e=12882297539194267e-247*S[t+8>>3];break x}}M=t,t=!(i<<1)&(0|(t=r<<1|i>>>31))==-2129002496|t>>>0<2165964800?M:0}pa=(Cr=($e=Cr-((ga=($e=S[14416])+Cr)-$e))*$e)*Cr*($e*S[14421]+S[14420]),Cr*=$e*S[14419]+S[14418],$e*=S[14417],V(+ga),G(1),M=0|G(0),$e=pa+(Cr+($e+S[115376+(i=M<<4&2032)>>3])),ht=e[(i=i+115384|0)>>2],ae=e[i+4>>2],i=(r=ht)+(ht=0)|0,r=(M<<13)+ae|0,r=i>>>0<ht>>>0?r+1|0:r,t?(D(0,0|i),D(1,0|r),$e=(Cr=+Q())*$e+Cr):-2147483648&M?(D(0,0|i),D(1,r+1071644672|0),($e=(ga=(Cr=+Q())*$e)+Cr)<1&&(e[8+(t=oe-16|0)>>2]=0,e[t+12>>2]=1048576,S[t+8>>3]=22250738585072014e-324*S[t+8>>3],$e=($e=(pa=$e+1)+(ga+(Cr-$e)+($e+(1-pa)))+-1)==0?0:$e),$e*=22250738585072014e-324):(D(0,0|i),D(1,r+-1048576|0),$e=(Cr=+Q())*$e+Cr,$e+=$e)}if(he($e*=100)<2147483648){r=~~$e;break C}r=-2147483648;break C}}if((0|Xr)!=1)break m;if(r)r=100+(t=he($e=$e*+(0|r)*100)<2147483648?~~$e:-2147483648)|0;else{if(he($e*=100)<2147483648){r=~~$e;break C}r=-2147483648}}t=(0|F(r,e[ls+134848>>2]))/100|0;break b}t=he($e)<2147483648?~~$e:-2147483648,r&&(t=e[ls+134848>>2]+F(t,r)|0)}e[Xo+4>>2]=t}if((0|(Xr=Xr+1|0))==5)break}Ma(Pt,e[33709]);break i;case 11:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(t=134912+(r<<6)|0)>>2]=12,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1,t=(t=Tr(l,88658))?Gs(t,130400):3,i=134912+(r<<6)|0,e[e[47192]+148>>2]!=1?(e[52+(134912+(r<<6)|0)>>2]=t,t=d[t+102776|0]):(e[20+(134912+(r<<6)|0)>>2]=d[t+102764|0],t=d[t+102770|0]),e[i+12>>2]=t,Ma(Pt,e[33709]);break i;case 34:case 41:case 43:if(!((0|(t=e[33709]))<=0)){if(l=ae-32|0,ae=0,i=0,r=0,t>>>0>=4)for(M=-4&t,gA=0;Xr=2|r,ls=1|r,i=(0|l)==e[134912+((ht=3|r)<<6)>>2]?ht:(0|l)==e[134912+(Xr<<6)>>2]?Xr:(0|l)==e[134912+(ls<<6)>>2]?ls:(0|l)==e[134912+(r<<6)>>2]?r:i,r=r+4|0,(0|M)!=(0|(gA=gA+4|0)););if(M=3&t)for(;i=(0|l)==e[134912+(r<<6)>>2]?r:i,r=r+1|0,(0|M)!=(0|(ae=ae+1|0)););(0|i)<=0||(e[33709]=i,t=i)}Ma(Pt,t);break i;case 7:if(t=Tr(l,88741),r=Tr(l,88860),(0|Gs(t,130176))!=1)break i;t=e[Pt>>2],e[Pt>>2]=t+1,g[t+189424|0]=91,t=e[Pt>>2],e[Pt>>2]=t+1,g[t+189424|0]=91,t=ca((t=e[Pt>>2])+189424|0,r,800-t|0)+e[Pt>>2]|0,e[Pt>>2]=t+1,g[t+189424|0]=93,t=e[Pt>>2],e[Pt>>2]=t+1,g[t+189424|0]=93;break i;case 35:e[33692]==36&&(g[e[Pt>>2]+189424|0]=0,(i=ti(131104,r=(t=e[33707])+189424|0))&&(e[Pt>>2]=_s(i,r)+t)),t=e[Pt>>2],e[Pt>>2]=t+1,g[t+189424|0]=1,t=e[Pt>>2],e[Pt>>2]=t+1,g[t+189424|0]=89,e[33692]=0;break i;case 8:if(!(t=Tr(l,89299)))break i;g[134824]=1,r=e[Pt>>2],e[Pt>>2]=ca(r+189424|0,t,800-r|0)+e[Pt>>2];break i;case 13:g[134824]=1;break i;case 40:case 45:g[134824]=0;break i;case 4:if(!(t=Tr(l,89360)))break i;if(ca(it+352|0,t,160),d[it+352|0]&&!Zr(199328,it+352|0)){g[134760]=1,g[199328]=0,r=16384;break o}if((0|(t=Wi(it+352|0)))<0)break i;e[it+20>>2]=t,e[it+16>>2]=1,uA(t=it+352|0,89460,it+16|0),BA(e[Pt>>2]+189424|0,t),e[Pt>>2]=e[Pt>>2]+wA(t);break i;case 10:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(t=134912+(r<<6)|0)>>2]=11,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1;b:if(t=Tr(l,89514)){if(ca(it+352|0,t,160),e[34441]){if((0|(t=Wi(it+352|0)))<0||0|LA[e[34441]](1,t+e[33282]|0,ht))break b;e[it+68>>2]=t,e[it+64>>2]=1,uA(it+352|0,89658,it- -64|0)}else{if(!ht|d[it+352|0]==47?t=Vo(it+352|0):(e[it+48>>2]=ht,e[it+52>>
28102]=it+352,uA(t=it+96|0,89564,it+48|0),t=Vo(t)),(0|t)<0)break b;e[it+36>>2]=t,e[it+32>>2]=1,uA(it+352|0,89623,it+32|0)}t=it+352|0,BA(e[Pt>>2]+189424|0,t),e[Pt>>2]=e[Pt>>2]+wA(t),e[4+(134912+(r<<6)|0)>>2]=1}if(Ma(Pt,e[33709]),(0|gA)==47){Fo(11,Pt),r=16384;break o}g[134772]=1,r=16384;break o;case 42:Fo(43,Pt),g[134772]=0,r=16384;break o;case 12:b:{if(t=Tr(l,89714)){if(r=16384,(M=(0|(t=Gs(t,130336)))<0?2:t)>>>0<=2&&(t=e[Pt>>2],e[it+84>>2]=M,e[it+80>>2]=1,uA(t+189424|0,89770,it+80|0),e[Pt>>2]=e[Pt>>2]+3,r=0),t=e[102784+(M<<2)>>2],!(i=Tr(l,89907)))break b;break l}if(r=16384,i=Tr(l,89907))break l;t=21;break f}if(M>>>0<3)break i;break f;case 0:(t=Tr(l,89965))&&(ca(r=it+352|0,t,160),Wi(r)),r=Rr(l,1,e[33708])?147456:0;break o;case 1:r=Rr(l,2,t)?147456:0;break o;case 5:r=0,e[M>>2]==6&&(r=Rr(l,38,t),t=e[33708]),r=524358+(Rr(l,6,t)|r)|0;break o;case 6:r=0,(0|(i=e[M>>2]))==6&&(r=Rr(l,38,t),i=e[M>>2]),(0|i)==7&&(r=Rr(l,39,e[33708])|r),r=524358+(r|Rr(l,7,e[33708]))|0;break o;case 37:if(r=524328,e[M>>2]!=6)break o;r=Rr(l,38,t)+524328|0;break o;case 38:if(r=524358,(-2&e[M>>2])!=6)break o;r=Rr(l,39,t)+524358|0;break o;case 14:case 46:break o;case 3:break h;default:break i}t=Tr(l,88893),r=Tr(l,88992),i=Tr(l,89153),l=Gs(t,130272),r=Gs(r,130320),t=ho(i,0),e[it>>2]=1,i=(0|t)<2?193:t- -64|0,r=(0|(t=(0|r)==1?19:l))==64?i:t,e[it+4>>2]=r,uA(t=it+352|0,89230,it),BA(e[Pt>>2]+189424|0,t),t=e[Pt>>2]+wA(t)|0,e[Pt>>2]=t,e[33707]=t,e[33692]=r}r=0;break o}t=ho(i,1),i=e[33722],gn(1,e[33713]),(0|(t=(0|(i=(0|F(t,i))/100<<8))/(0|F(e[36429],10))|0))<=199&&(t=(0|i)/(0|F(e[36428],10))|0),r=r||16384}i=t>>>5|0,l=t,r=((t=(0|t)>4095)?i>>>0>=4095?4095:i:l)+(t?8388608|r:r)|0}if(oe=it+560|0,r){if(t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,!(131072&r)){n=r;break e}BA(189360,134784),n=r;break e}e[h+2156>>2]=32;o:{f:{if(!(r=e[33285])){if(M=0,t=e[33283],e[t>>2]==e[t+4>>2])continue;if(!(r=e[33285]))break f}e[33285]=0;break o}e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t)}e[h+2152>>2]=r,M=0;continue}e[h+2156>>2]=t+57344}if(d[134824])continue;if(i=e[h+2156>>2],!((0|(t=e[h+2152>>2]))!=10|e[47268]!=-1)){(0|(n=Tn(i)))==16384?(t=e[h+2148>>2],v[cA+(t<<1)>>1]=e[33284]-e[47353],e[Os>>2]=t,n=524328,t=_s(e[h+2156>>2],t+189424|0)+e[h+2148>>2]|0):t=e[h+2148>>2],g[0|(t=t+189424|0)]=32,g[t+1|0]=0;break e}n:if((0|i)==1){if((0|t)!=66){if((0|t)!=86)break n;for(t=e[h+2148>>2],e[h+2148>>2]=t+1,g[t+189424|0]=0;;){c:{o:{f:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2])break c;if(!(r=e[33285]))break f}e[33285]=0;break o}e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t)}if(e[h+2156>>2]=r,!(Ts(r)||(0|(t=e[h+2148>>2]))>=799)){e[h+2148>>2]=t+1,g[t+189424|0]=e[h+2156>>2];continue}}break}g[e[h+2148>>2]+189424|0]=0,n=147456;break e}r=e[h+2148>>2],g[0|(t=r+189424|0)]=32,g[t+1|0]=32,g[t+2|0]=32,g[t+3|0]=0,e[h+2148>>2]=r+3;c:{o:{f:{l:{i:{h:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2])break l;if(!(r=e[33285]))break h}e[33285]=0;break i}e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t)}if(e[h+2152>>2]=r,i=0,(0|r)!=48)break f;break o}r=e[h+2152>>2]}if(e[47208]=0,e[47201]=1,(0|r)==49)break c;for(i=e[33285],l=0;;){f:{if(!i){if(t=e[33283],e[t>>2]==e[t+4>>2])break f;r=e[h+2152>>2]}if(!(Ts(r)|l>>>0>58)){e[188832+(l<<2)>>2]=e[h+2152>>2],(r=e[33285])?(e[33285]=0,i=0):(e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t),i=e[33285]),l=l+1|0,e[h+2152>>2]=r,t=e[h+2148>>2],e[h+2148>>2]=t+1,g[t+189424|0]=32;continue}}break}i=2,e[188832+(l<<2)>>2]=0}e[47201]=i}c:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2])continue;if(!(r=e[33285]))break c}e[33285]=0,e[h+2152>>2]=r;continue}e[33284]=e[33284]+1,t=e[33283],e[h+2152>>2]=LA[e[t+8>>2]](t);continue}xs=xs+1|0,r=0,t=e[ue+340>>2];n:if(l=_[t>>1]){for(;;){if((65535&l)!=(0|i)){if(l=_[t+((r=r+2|0)<<1)>>1])continue;break n}break}switch(0|(t=_[t+(r<<1|2)>>1])){case 1:continue;case 0:break n}e[h+2156>>2]=t,i=t}Ki(i)?(_e=1,r=e[h+2156>>2]):VA?(e[33285]=e[h+2152>>2],r=1328,e[h+2156>>2]=1328,e[h+2152>>2]=32,VA=0):(0|(r=e[h+2156>>2]))!=3851?(VA=0,(0|r)!=3405|e[h+2152>>2]!=8205||(r=3406,e[h+2156>>2]=3406)):(r=32,e[h+2156>>2]=32,VA=0);n:if($n(r)){if(e[ue+8216>>2]=e[ue+8216>>2]+1,e[33692]|e[47200]!=2||$n(yt)||(e[h+2544>>2]=0,e[h+2548>>2]=0,e[h+2304>>2]=84731,!Hr(ue,h+2304|0,h+2160|0,h+2544|0,0,0))||(bA(ue,t=h+2160|0,h+2544|0,-1,0),TA(r=t,t=h+2336|0),e[h+80>>2]=t,uA(r=h+2240|0,85451,h+80|0),t=e[h+2148>>2],(0|(r=wA(r)+t|0))>=800))break n;BA(t+189424|0,h+2240|0),e[h+2148>>2]=r}else aa(e[h+2156>>2])&&(e[ue+8220>>2]=e[ue+8220>>2]+1);if(r=e[h+2152>>2],t=e[h+2156>>2],e[47204])if((0|M)>0)M=M-1|0;else{if(!((0|t)!=91|(0|r)!=91)){i=0,M=-1;break t}M=(0|t)==93&&(0|r)==93?2:M}if((0|t)==10){for(i=e[33285],l=0;;){n:{if(!i){if(t=e[33283],e[t>>2]==e[t+4>>2])break n;r=e[h+2152>>2]}if(Ts(r)){l=(e[h+2152>>2]==10)+l|0,(r=e[33285])?(e[33285]=0,i=0):(e[33284]=e[33284]+1,t=e[33283],r=0|LA[e[t+8>>2]](t),i=e[33285]),e[h+2152>>2]=r;continue}}break}if((0|l)>
28100){n&&IA(t=Ms+189424|0,32,or(h+2336|0,t)),t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],n=e[47203]?524358:F((0|l)>=3?3:l,30)+524328|0;break e}if(t=e[47268]<(0|xs),xs=0,!t){t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],n=262174;break e}}if(i=0,e[33692]|M)break t;if(t=0,!n)break r;if(Ts(e[h+2156>>2])){t=n;break r}if(Wr(e[h+2156>>2])&&ei(e[h+2156>>2]))break r;e[33691]=e[h+2156>>2],g[0|(t=Ms+189424|0)]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2];break e}VA&&(e[h+2148>>2]=_s(1328,e[h+2148>>2]+189424|0)+e[h+2148>>2]),n&&IA(t=Ms+189424|0,32,or(h+2336|0,t)),t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0}n=589864;break e}if(!((0|(r=e[h+2156>>2]))!=46|e[h+2152>>2]!=46)){r:{a:{n:{if(!(r=e[33285])){if(r=e[33283],e[r>>2]==e[r+4>>2])break r;if(!(r=e[33285]))break n}e[33285]=0;break a}e[33284]=e[33284]+1,r=e[33283],r=0|LA[e[r+8>>2]](r)}if(m=r,(0|r)==46)for(e[h+2152>>2]=32,e[h+2156>>2]=8230,m=e[33285];;){a:{n:{if(!m){if(r=e[33283],e[r>>2]==e[r+4>>2]){m=46;break r}if(!(m=e[33285]))break n}e[33285]=0,r=0;break a}e[33284]=e[33284]+1,r=e[33283],m=0|LA[e[r+8>>2]](r),r=e[33285]}if((0|m)!=46)break r;e[h+2152>>2]=32,e[h+2156>>2]=8230,m=r}}(0|(r=e[h+2156>>2]))!=8230?e[33285]=m:(e[h+2152>>2]=m,r=8230)}if(gA=0,(0|(ae=Tn(r)))!=16384){r:if(536621&ae)for(r=e[33285];;){if(!r&&(r=e[33283],e[r>>2]==e[r+4>>2])||!(536621&Tn(e[h+2152>>2])))break r;(m=e[33285])?(e[33285]=0,r=0):(e[33284]=e[33284]+1,r=e[33283],m=0|LA[e[r+8>>2]](r),r=e[33285]),e[h+2152>>2]=m}if(1048576&ae){e[w+780>>2]=ae>>>12&15,VA=1,M=0,n=t;continue}(Ts(e[h+2152>>2])|32768&ae||pi(e[h+2152>>2])||(0|(r=e[h+2152>>2]))==63||(l=0,e[33285]||(r=e[33283],l=e[r>>2]==e[r+4>>2],r=e[h+2152>>2]),l||(0|r)==1))&&(gA=1)}if((0|(r=e[h+2156>>2]))==57404&&(e[h+2156>>2]=60,r=60),e[47201]){n=0;r:if(!(1<<(l=ta(r))&1879048255&&l>>>0<=30)){if(!((l=ta(r))>>>0>27)){if(116672&(M=1<<l))break r;if(134227968&M){n=!(1024&Je(r,l));break r}}n=1}if(!(d[134772]|!n)&&(e[47201]==1||rs(188832,e[h+2156>>2]))){e[ue+288>>2]=0,i=e[h+2156>>2],g[h+2336|0]=0,M=e[h+2152>>2],r=0;r:{a:if(!((0|(n=e[34064]))<=0))for(;;){if((0|i)==e[136272+(r<<4)>>2]){if(e[136276+(r<<4)>>2])break r;if(Qa(0,r))break a;break r}if((0|n)==(0|(r=r+1|0)))break}r=-1}r:if((0|r)>=0)e[h>>2]=r,uA(h+2336|0,86007,h),e[33285]=M;else if((l=!gA)|(0|i)!=46|(0|M)==46||(e[h+2600>>2]=0,e[h+2604>>2]=0,e[h+2540>>2]=86036,!Hr(ue,h+2540|0,h+2544|0,h+2600|0,0,0))?r=Yn(h+2240|0,ue,i,0):(bA(ue,r=h+2544|0,h+2600|0,-1,0),TA(n=r,r=h+2160|0),e[h+64>>2]=r,uA(r=h+2304|0,85451,h- -64|0)),n=r,l|!e[h+2148>>2]|2&d[ue+76|0]){for(r=e[33285],l=1;;){a:{n:{if(!r){if(r=e[33283],e[r>>2]==e[r+4>>2]|(0|i)==60|(0|i)!=(0|M))break a;if(l=l+1|0,M=e[33285])break n;e[33284]=e[33284]+1,r=e[33283],M=0|LA[e[r+8>>2]](r),r=e[33285];continue}if((0|i)==60|(0|i)!=(0|M))break a;M=r,l=l+1|0}r=0,e[33285]=0;continue}break}if(e[h+2152>>2]=M,gA&&(e[33285]=M),(0|l)==1){e[h+16>>2]=n,uA(h+2336|0,86219,h+16|0);break r}if((0|l)<=3){if(g[h+2336|0]=0,(0|(r=e[50786]))<=299&&(e[h+2336>>2]=d[86728]|d[86729]<<8|d[86730]<<16|d[86731]<<24,v[h+2340>>1]=d[86732]|d[86733]<<8),(0|l)>0){for(;e[h+32>>
28102]=n,uA(r=h+2160|0,86219,h+32|0),M=l>>>0>1,gs(h+2336|0,r),l=l-1|0,M;);r=e[50786]}if((0|r)>299)break r;e[h+2160>>2]=d[86857]|d[86858]<<8|d[86859]<<16|d[86860]<<24,r=d[86860]|d[86861]<<8|d[86862]<<16|d[86863]<<24,g[h+2163|0]=r,g[h+2164|0]=r>>>8,g[h+2165|0]=r>>>16,g[h+2166|0]=r>>>24,gs(h+2336|0,h+2160|0);break r}e[h+56>>2]=n,e[h+52>>2]=l,e[h+48>>2]=n,uA(h+2336|0,86932,h+48|0)}else e[33691]=i,e[33285]=M,v[h+2336>>1]=32;if(l=wA(n=h+2336|0),BA((r=e[h+2148>>2])+189424|0,n),e[h+2148>>2]=r+l,gA){if((0|i)==45){n=16384;break e}if(n=Tn(i),!(2&d[ue+76|0]|(0|r)<=0)){n=(-32769&n)==266270?262148:(28672&n)==4096?266244:262148;break e}if(!(524288&n)){n=(28672&n)==4096?266244:262148;break e}if((0|n)>=0)break e}i=e[h+2156>>2]}}if(i|!(2097152&ae)||(r=BA(e[h+2148>>2]+189424|0,Yn(h+2336|0,ue,e[h+2156>>2],1)),d[0|r]?(e[h+2148>>2]=e[h+2148>>2]+wA(r),ae&=-28673,i=e[h+2156>>2]):i=0),M=0,gA){r:if(Ts(m=e[h+2152>>2]))for(l=e[33285],r=0;;){if(!l&&(n=e[33283],e[n>>2]==e[n+4>>2])||!Ts(m))break r;r=((0|m)==10)+r|0,(m=e[33285])?(e[33285]=0,l=0):(e[33284]=e[33284]+1,n=e[33283],m=0|LA[e[n+8>>2]](n),l=e[33285])}else r=0;n=(0|(M=e[h+2156>>2]))==46&&(0|r)<2?4194304|ae:ae;r:{if(!r){l=1,(0|M)!=44|(0|yt)!=46|e[ue+212>>2]!=26741|ht-48>>>0>=10||m-48>>>0>=10&&!ei(m)||(e[h+2156>>2]=1367,l=0),(0|(ae=e[h+2156>>2]))!=46|(0|m)!=39||(M=l,ae=e[33283],(0|(it=e[ae>>2]))==e[ae+4>>2]?l=0:(l=0|LA[e[ae+8>>2]](ae),e[ae>>2]=it),ae=e[h+2156>>2],l=(0|l)!=115&M);a:if((0|ae)!=46)l&=_e;else{n:if(1&g[ue+106|0]){if(!(yt-48>>>0<10)&&((M=yt-73|0)>>>0>15|!(1<<M&40969)||!(1<<(M=ht-73|0)&40969&&M>>>0<=15||Ts(ht))))break n;l=yt-48>>>0>=10?0:!ei(m)&(0|m)!=45&l}if(ei(m)&&(l=d[ue+208|0]!=0&l),_e){ae=e[h+2156>>2];break a}ae=32,e[h+2156>>2]=32,l=0}if(!(!l|(0|ae)!=46|!e[47203]|(0|m)!=60)){Ms=e[h+2148>>2],t=n;break r}if(!l)break r}if(t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,e[33285]=m,yt-48>>>0<10&&(n=Wr(m)?n:-4194305&n),(0|r)<2)break e;n=(0|n)==536621?536656:(0|n)==532520?532555:524358;break e}(e[33285]||(M=0,r=e[33283],e[r>>2]!=e[r+4>>2]))&&(M=0,Ts(e[h+2152>>2])&&(e[33285]=m))}n=t}if(e[33712]!=1){if((0|i)!=(0|(r=e[h+2156>>2])))l=e[h+2148>>2],(0|r)==57404&&(r=60,e[h+2156>>2]=60);else{t:{if(pi(i))r=57384;else{if(r=45,e[h+2156>>2]==45)break t;r=32}e[h+2156>>2]=r}l=e[h+2148>>2]}e[h+2148>>2]=_s(r,l+189424|0)+e[h+2148>>2],Ts(e[h+2156>>2])||pi(e[h+2156>>2])||(t=e[h+2148>>2],v[cA+(t<<1)>>1]=e[33284]-e[47353],(0|t)<=(l+1|0)||IA(Qi+(l<<1)|0,255,t+~l<<1)),r=e[h+2148>>2],e[Os>>2]=r;t:{r:{if((0|r)>725){if(!Wr(e[h+2156>>2]))break r;r=e[h+2148>>2]}if((0|r)<796)continue;break t}if(r=e[h+2148>>2],!(e[h+2156>>2]-48>>>0>=10)&&(0|r)<796)continue}break}}g[0|(t=r+189424|0)]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],n=16384}oe=h+2608|0,VA=n,ha&&(t=e[w+780>>2],e[ha>>2]=t||VA>>>12&7),t=(w+5184|0)+(e[w+6800>>2]<<1)|0,v[t+6>>1]=0,v[t+2>>1]=0,v[t+4>>1]=32767,ae=F(4095&VA,8388608&VA?320:10),n=189424;e:{t:{r:if(t=d[189424]){for(;;){if(!!(255&(t=t<<24>>24))&t>>>0<33){if(t=d[0|(n=n+1|0)])continue;break r}break}if(d[0|n])break t}ae=(0|(r=ae-(t=e[47566])|0))>0?r:0,e[47566]=ae+t,VA=d[190268]?524288|VA:VA,e[ue+8240>>2]=VA;break e}e[47566]=ae,t=d[190268],e[ue+8240>>2]=VA,t&&(qA=1,e[47568]=e[47568]+1,(0|(t=e[47569]))<=0||(t=t-1|0,e[47569]=t,t||(g[190280]=0)))}e[49572]=1,e[47572]=655360,e[47573]=0,e[ue+8184>>2]=0,e[ue+8188>>2]=0,t=0,e[ue+288>>2]=0,e[(r=ue- -8192|0)>>2]=0,e[r+4>>2]=0,e[ue+8200>>2]=0,e[ue+8224>>2]=0,e[ue+8228>>2]=0,e[(r=ue+8232|0)>>2]=0,e[r+4>>2]=0,g[w+786|0]=32,v[w+784>>1]=8192,e[w+6812>>2]=32,v[w+1588>>1]=3,e[w+1584>>2]=0,n=0;e:if(!((0|(r=e[w+6800>>2]))<=0)){for(;;){if(v[(w+5184|0)+(n<<1)>>1]>0)break e;if((0|r)==(0|(n=n+1|0)))break}n=r}if(r=_[(w+5184|0)+(n<<1)>>1],v[w+1592>>1]=r,r)for(;t=!!(65535&~r)+t|0,r=_[(w+5184|0)+((n=n+1|0)<<1)>>1];);for(g[w+1594|0]=t,l=3,cA=1,n=0;;){ht=e[w+6808>>2],$s(w+6808|0,(Pt=(w+784|0)+l|0)-1|0),!d[ue+170|0]|e[w+6808>>2]-48>>>0>=10||Wr(ht)&&(e[w+6808>>2]=97),Ve?e[w+6812>>2]=Ve:P&&$s(w+6812|0,P+189423|0),r=P;e:{t:if(n||(r=or(w+6816|0,P+189424|0)+P|0,n=e[w+6816>>2])){if(_e=or(w+6804|0,t=r+189424|0),(0|n)==1){if(i=r-1|0,Ve=32,yt=0,e[w+6812>>2]!=32){r=i,t=32;break t}P=0,n=r;r:{a:switch(d[0|t]-43|0){case 0:n=r+1|0,P=64;break r;case 2:break a;default:break r}n=r+1|0,P=96}if(g[0|(t=n+189424|0)]-48>>>0>=10)m=n+1|0,_e=-1;else{for(_e=Pn(t);n=(t=n)+1|0,g[t+189424|0]-48>>>0<10;);m=n,n=t}if((0|(Ve=e[47350]))>247)t=0;else if(t=0,!((0|(n=g[n+189424|0]))<0)&&(n=Wn(84868,255&n,14))){r=1+(t=n-84868|0)|0,(0|_e)==-1&&(_e=e[105536+(r<<2)>>2],P=0);r:{a:switch(t-8|0){case 0:e[49574]=0,e[49573]=_e;break r;case 4:break a;default:break r}g[199304]=(0|_e)>=3?1:0}t=1,e[47350]=Ve+1,e[198304+(Ve<<2)>>2]=(r+P|0)+(_e<<8),r=m}Ve=e[w+6812>>2],IA(i+189424|0,32,r-i|0),na=t+na|0,n=0;break e}Ve=0,(0|n)==32|e[49573]!=36?(yt=0,t=n):(e[w+6812>>2]!=32|e[w+6804>>2]!=32||(e[49573]=20),yt=0,t=Za(n,ue))}else e[w+6804>>
28102]=32,yt=1,Ve=0,_e=0,t=32;t:if(as){if(as=1,cA=8,n=0,(0|t)!=93|e[w+6804>>2]!=93)break t;r=r+1|0,t=32,as=0}else if((240&(n=e[49573]))!=64)if(as=0,16&n)n=0;else{r:{a:{n:{c:{if(!((0|(m=(0|t)==8242||(0|t)==8217||(0|t)==146||(0|t)==180?39:t))!=8216&(0|m)!=63))if(Wr(e[w+6808>>2])){if(m=t,Wr(e[w+6804>>2])){m=39;break c}}else m=t;o:{if((0|m)!=1367){if((0|m)==1328){ee|=1024,m=32;break c}if((t=m-44032|0)>>>0>11183)break c;if(i=((n=((M=65535&t)>>>0)/28|0)>>>0)%21|0,t=t-F(n,28)&65535,m-50500>>>0>587)break o;n=t?t+4519|0:0,i=i+4449|0;break a}ee|=131072,Ms=e[w+6804>>2],t=e[w+6812>>2],m=32;break n}n=50500+(t+F(i,28)|0)|0,i=(M>>>0)/588|4352;break a}if(Ms=e[w+6804>>2],t=e[w+6812>>2],!((n=m-12592|0)>>>0>51)){i=4352|d[n+103296|0],n=0;break a}}h=r+189424|0;n:if(!((0|(n=e[ue+212>>2]))!=28268&(0|n)!=24934|(0|m)!=39)&&!aa(t)&&(or(w+6820|0,h+1|0),qi(e[w+6820>>2]))){i=601,n=0;c:switch(Ms-110|0){case 6:break a;case 0:break c;default:break n}if(e[ue+212>>2]!=24934)break a;g[0|h]=32;break a}if(e[w+6824>>2]=32,(0|(t=e[49897]))>0)e[49897]=t-1,n=0;else{if(!m){n=0,i=0;break r}n:{c:{o:{f:if((gA=e[ue+180>>2])&&(M=m,(it=$n(m))&&(M=Za(m,ue)),!ko(gA)))for(;;){e[w+16>>2]=0,e[w+624>>2]=M,t=or(w+16|0,gA)+gA|0;l:if(e[w+624>>2]==e[w+16>>2]){if(d[0|t]){for(i=1,Xr=0,n=h;ls=or(w+16|0,t),xs=or(w+624|0,n),Os=Za(e[w+624>>2],ue),e[w+624>>2]=Os,n=n+xs|0,Xr=(xs=(0|Os)==e[w+16>>2])+Xr|0,i&=xs,d[0|(t=t+ls|0)];);if(!i)break l;e[49897]=Xr}if(!(t=t+1|0))break f;if(8&d[188788]&&(e[w>>2]=gA,e[w+4>>2]=t,ss(e[47195],85187,w)),t=or(w+6828|0,t)+t|0,d[0|t])break o;n=0;break c}for(;n=t,t=t+1|0,d[0|n];);for(;d[0|(n=(t=n)+1|0)];);if(ko(gA=t+2|0))break}n=0,i=m;break n}or(w+6824|0,t),it&&$n(Ms)&&(e[w+6824>>2]=Gi(e[w+6824>>2])),n=e[w+6824>>2]}i=e[w+6828>>2],ee|=2097152,it&&(i=Gi(i))}if((0|i)!=8)break a}i=r;break e}n?e[w+6804>>2]=n:n=0}Wr(i)||qi(i)||rs(e[ue+336>>2],i)||!Wr(e[w+6808>>2])|!(!d[ue+170|0]|i-48>>>0>=10)&e[w+6804>>2]-48>>>0>=10||(i=32,Wt=1);r:{a:{n:{c:{o:{if(e[w+6808>>2]-48>>>0<10){if(i-48>>>0<10){t=R;break o}if(1<<(t=i-32|0)&20481&&t>>>0<=14)break c;Wt=1}else if(t=0,e[w+6812>>2]!=44||(t=R,(0|i)!=44))break o;i=32;break c}if((0|i)==91&&((0|(m=e[w+6804>>2]))==2||(i=91,(0|m)==91&&e[47204])))break n;R=t}if(Wr(i)){c:{o:{f:{if(Wr(e[w+6808>>2])){if(!d[ue+171|0]||(t=e[w+6808>>2],!((0|i)>12352)&&(0|t)<12353))break f}else t=e[w+6808>>2];if(zs=rs(e[ue+336>>2],t)?zs:0,(0|(t=e[w+6808>>2]))!=32&&!rs(e[ue+336>>2],t)){t=32,be=pi(e[w+6808>>2])?be:256|be;break o}ee=$n(i)?2|ee:ee,e[w+6808>>2]!=32|g[Pt-2|0]-48>>>0>=10|e[w+6812>>2]-48>>>0<10||(g[(w+784|0)+l|0]=32,t=1588+(F(SA,12)+w|0)|0,v[t>>1]=_[t>>1]+1,l=l+1|0)}if(t=32,(0|i)==32)break c;if(zs=zs+1|0,(0|(m=e[ue+600>>2]))<=0){t=i;break c}if(!((0|i)<=591&(0|(M=e[w+6808>>2]))>=(0|m))){if((0|i)<(0|m)){t=i;break c}if((0|zs)<2){t=i;break c}if(!((0|M)<=591)){t=i;break c}}if(!Wr(M)){t=i;break c}ee|=16384,be|=128}Wt=1}if(Gn=Gn+1|0,$n(t)){if(m=Za(t,ue),e[ue- -64>>2]){t=Fn?m:712,n=Fn?n:m,Fn=1;break t}if(ei(e[w+6812>>2])){if(e[w+6808>>2]==32){t=m;break t}if(t=32,e[ue+212>>2]!=26465)break r;for(i=85240,M=(w+784|0)+l|0,_e=0;;){if(h=wA(i),d[0|(ht=M-h|0)]==32&&!ra(ht+1|0,i,h=h-1|0)){if((0|(i=g[i+h|0]))==(0|m)){t=m;break t}if((0|i)==65&&Ho(ue,m)){t=m;break t}}if(i=e[131184+((_e=_e+1|0)<<2)>>2],(0|_e)==11)break}break r}if(t=32,(0|m)==32)break t;if(!$n(e[w+6812>>2])){t=m;break t}if(!ei(e[w+6804>>2])){t=m;break t}if(or(w+16|0,189424+(r+_e|0)|0),!(e[ue+212>>2]!=28268|(0|zs)!=2|(0|m)!=106|e[w+6812>>2]!=73)){t=m;break t}if(e[w+6808>>2]==32){t=m;break t}if(!Wr(e[w+16>>2])){t=m;break t}be|=256,Ve=32,Wt=1;break t}if(!cA){cA=0;break t}if((0|zs)<3){cA=0;break t}if((0|t)!=115){cA=0;break t}if(e[ue+212>>2]!=25966){cA=0;break t}if(e[w+6804>>2]!=32){cA=0;break t}if(cA|=4,t=32,d[783+(i=l+w|0)|0]!=39)break t;g[i+783|0]=32;break t}t=32;c:{o:{f:{l:{switch(i-39|0){default:if((0|i)==95)break t;case 1:case 2:case 3:case 4:case 5:if(i-48>>>0>=10||d[ue+170|0]&&Wr(e[w+6808>>2])&&!((m=e[w+6804>>2])-48>>>0<10|m-2406>>>0<10))break c;if((0|(M=e[w+6808>>2]))==32)break o;if(m=e[w+6808>>2],M-48>>>0<10)break f;if((0|(M=m))==(0|(m=e[ue+128>>2])))break l;Wt=1;break t;case 6:if(!qi(e[w+6812>>2])&&Wr(e[w+6804>>2])){if(e[w+6808>>2]!=32){Wt=1;break t}if(ee|=128,(0|SA)<=0)break t;i=1572+(F(SA,12)+w|0)|0,e[i>>2]=16384|e[i>>2];break t}if(i=e[w+6804>>2],!(e[w+6812>>
28102]!=32|(0|i)!=32)){Yr=4;break t}if((0|i)==45){r=r+1|0,Yr=4;break t}if(t=45,e[w+6808>>2]!=32||!Wr(ht)||Wr(e[w+6812>>2]))break t;g[(w+784|0)+l|0]=32,i=1588+(F(SA,12)+w|0)|0,v[i>>1]=_[i>>1]+1,l=l+1|0;break t;case 7:if(e[w+6808>>2]==46){Wt=1;break t}if(t=46,(0|SA)<=0||(i=1572+(F(SA,12)+w|0)|0,1&g[i+1|0])||!Wr(e[w+6812>>2]))break t;e[i>>2]=65536|e[i>>2],t=(t=qi(e[w+6804>>2]))||e[w+6804>>2]==45?32:46;break t;case 0:}i:{if((0|(m=e[w+6812>>2]))!=46||(i=115,e[w+6804>>2]!=115)){if(!Ki(m))break i;i=e[w+6804>>2]}if(Wr(i))break a}if(1&(i=e[ue+88>>2])){if(Wr(e[w+6804>>2]))break a;i=e[ue+88>>2]}if(2&i&&Wr(e[w+6812>>2]))break a;if(!(!rs(e[ue+332>>2],e[w+6812>>2])|(0|ht)!=32)){r=(e[w+6804>>2]==32)+r|0;break a}if(m=(0|(i=e[w+6808>>2]))!=115|Ln,Ln=0,!(1&m))break t;Ln=!!(0|qi(i)),Yr=4;break t}if((0|m)==44&R){Wt=1;break t}R=1;break c}if((0|m)!=32)break c}Wr(ht)&&(Wr(e[w+6812>>2])||(g[(w+784|0)+l|0]=32,t=1588+(F(SA,12)+w|0)|0,v[t>>1]=_[t>>1]+1,l=l+1|0))}t=i;break t}as=1,i=r+1|0,R=t;break e}t=39,Ln=0;break t}Wt=1,Ve=32}else{if(t-48>>>0<10){n=0,i=(0|(m=e[49574]+1|0))>(15&e[49573]),e[49574]=i?0:m,t=i?32:t,Wt|=i,as=0;break t}n=0,e[49574]=0,t=(i=e[w+6808>>2]-48>>>0<10)?32:t,Wt|=i,as=0}if(qi(t)){if(e[w+6808>>2]==32){ee|=262144,i=r;break e}if(i=e[w+6816>>2]-9>>>0<2,M=1&Wt){_e=0;t:if(!((0|y)>(0|(t=r-1|0))))for(;;){if(!(m=v[(w+5184|0)+(t<<1)>>1]))break t;if(_e=((0|m)>0)+_e|0,!((0|y)<=(0|(t=t-1|0))))break}g[1594+(F(SA,12)+w|0)|0]=_e}if(be=i?262144|be:be,g[(w+784|0)+l|0]=32,t=l+1|0,!((0|SA)>298||(i=(w+1584|0)+F(SA,12)|0,(0|(m=_[i+4>>1]))>=(0|t)))){if((0|na)<=0?y=e[i>>2]:(y=198300+(e[47350]<<2)|0,e[y>>2]=128|e[y>>2],na=0,y=64|e[i>>2]),h=e[47352],g[i+6|0]=h,e[i>>2]=y|(Gn?cA:-2&cA)|(d[199304]?2048:0)|ee,(0|h)>0){for(;ee=(y=w+784|0)+t|0,y=y+(t=t-1|0)|0,g[0|ee]=d[0|y],(0|t)>(0|m););g[0|y]=32,v[i+4>>1]=m+1,t=l+2|0}m=(w+1584|0)+F(SA=SA+1|0,12)|0,e[m>>2]=0,v[m+4>>1]=t,l=r;t:if(!((0|(i=e[w+6800>>2]))<=(0|r))){for(;;){if(v[(w+5184|0)+(l<<1)>>1]>0)break t;if((0|i)==(0|(l=l+1|0)))break}l=i}if(_e=_[(w+5184|0)+(l<<1)>>1],v[m+8>>1]=_e,Gn=0,i=0,_e)for(;i=!!(65535&~_e)+i|0,_e=_[(w+5184|0)+((l=l+1|0)<<1)>>1];);g[m+10|0]=i,e[47352]=0,cA=1,ee=be,be=0,Fn=0}Wt=0,n=M?0:n,i=M?P:r}else(0|l)>795?(i=r,r=y,t=l):(t=_s(t,(w+784|0)+l|0)+l|0,i=r,r=y);e[47352]<(0|Yr)&&(e[47352]=Yr),Yr=0,y=r,l=t}if(yt||(P=i,!((0|l)<799)))break}(0|na)<=0|SA||(t=198300+(e[47350]<<2)|0,e[t>>2]=128|e[t>>2],e[w+1584>>2]=64|e[w+1584>>2],SA=1),t=(w+784|0)+l|0,e[ue+8204>>2]=t-1,r=0,g[0|t]=0,g[w+1590|0]=0,g[1590+(F(SA,12)+w|0)|0]=8;e:if((0|SA)<=0)e[w+1584>>2]=512|e[w+1584>>2],l=e[49572];else{t=SA-1|0;t:if((0|SA)!=1)for(n=t;;){if(!pi(g[_[1588+(F(n,12)+w|0)>>
vendor: 9,444 bytes, line 2810
28101]+(w+784|0)|0])){r=n;break t}if(m=(0|n)>1,n=n-1|0,!m)break}if(r=(w+1584|0)+F(r,12)|0,e[r>>2]=16|e[r>>2],4194304&VA&&(t=(w+1584|0)+F(t,12)|0,256&(r=e[t>>2])||(e[t>>2]=65536|r)),e[w+1584>>2]=512|e[w+1584>>2],!((0|SA)<=0|(0|(l=e[49572]))>990))for(m=3|(t=w+624|0),M=2|t,Ve=w+754|0,yt=!(4194304&VA),P=0,y=0;;){e[47354]=e[47354]+1;t:{if((0|(t=e[49827]))<=0||(t=t-1|0,e[49827]=t,t)){if(d[190280])break t}else g[190280]=0;t=_[1588+(F(P,12)+w|0)>>1]+(w+784|0)|0;r:if(!(g[0|t]-48>>>0>=10)&&(r=w+624|0,n=t,e[ue+112>>2]!=1227133512)){for(;;){a:{if(g[0|n]-48>>>0<10)g[0|r]=d[0|n],r=r+1|0,n=n+1|0;else{if(e[ue+124>>2]!=g[0|n]|d[n+1|0]!=32||(l=n+2|0,d[n+3|0]==32|g[0|l]-48>>>0>=10|d[n+4|0]==32))break a;P=P+1|0,n=l}if(r>>>0<Ve>>>0)continue;break r}break}IA(t+(r=r-(R=w+624|0)|0)|0,32,(n=(l=n-t|0)-r|0)>>>0<=l>>>0?n:0),$A(t,R,r)}for(r=0;n=r,r=r+1|0,g[t+n|0]-48>>>0<10;);r:if(n-5>>>0<=27){for(g[w+626|0]=32,v[w+624>>1]=8224,d[0|t]!=48&e[ue+132>>2]>=(0|n)||(r=(w+1584|0)+F(P,12)|0,e[r>>2]=524288|e[r>>2]),be=(w+1584|0)+F(P,12)|0,_e=0,l=m;r=t,!((t=g[0|t])-48>>>0>=10&(0|t)!=e[ue+128>>2])&&(g[0|l]=t,t=l+1|0,R=n,(0|(n=n-1|0))<=0?l=t:e[ue+112>>2]>>>n&1?(h=e[be+4>>2],ee=(w+16|0)+F(_e,12)|0,e[ee>>2]=e[be>>2],e[ee+4>>2]=h,e[ee+8>>2]=e[be+8>>2],_e=_e+1|0,(0|(ee=e[ue+124>>2]))!=32&&(g[l+1|0]=ee,t=l+2|0),g[0|t]=32,l=t+1|0,8&d[be+2|0]||((Yr=e[ue+112>>2])>>>R-2&1&&(g[t+1|0]=48,g[t+2|0]=48,Yr=e[ue+112>>2],l=t+3|0),Yr>>>R-3&1&&(g[0|l]=48,l=l+1|0))):l=t,t=r+1|0,l>>>0<Ve>>>0););if(n=e[be+4>>2],t=(w+16|0)+F(_e,12)|0,e[t>>2]=e[be>>2],e[t+4>>2]=n,n=e[be+20>>2],e[t+16>>2]=e[be+16>>2],e[t+20>>2]=n,n=e[be+12>>2],e[t+8>>2]=e[be+8>>2],e[t+12>>2]=n,n=1,(0|_e)>0)for(;t=(w+16|0)+F(n,12)|0,e[t>>2]=-262209&e[t>>2],(0|_e)>=(0|(n=n+1|0)););if(t=d[r+4|0]|d[r+5|0]<<8|d[r+6|0]<<16|d[r+7|0]<<24,n=d[0|r]|d[r+1|0]<<8|d[r+2|0]<<16|d[r+3|0]<<24,g[0|l]=n,g[l+1|0]=n>>>8,g[l+2|0]=n>>>16,g[l+3|0]=n>>>24,g[l+4|0]=t,g[l+5|0]=t>>>8,g[l+6|0]=t>>>16,g[l+7|0]=t>>>24,t=d[r+12|0]|d[r+13|0]<<8|d[r+14|0]<<16|d[r+15|0]<<24,r=d[r+8|0]|d[r+9|0]<<8|d[r+10|0]<<16|d[r+11|0]<<24,g[l+8|0]=r,g[l+9|0]=r>>>8,g[l+10|0]=r>>>16,g[l+11|0]=r>>>24,g[l+12|0]=t,g[l+13|0]=t>>>8,g[l+14|0]=t>>>16,g[l+15|0]=t>>>24,g[l+16|0]=0,l>>>0<=m>>>0)break r;for(t=d[be+6|0],_e=0,n=m;;){for(y=AA(ue,n,(w+16|0)+F(_e,12)|0,255&t);t=d[0|n],n=n+1|0,(0|t)!=32;);if(t=0,g[be+6|0]=0,_e=_e+1|0,!(n>>>0<l>>>0))break}}else{if(e[47352]=0,y=AA(ue,t,r=(w+1584|0)+F(P,12)|0,d[r+6|0]),(0|(n=e[47352]))>d[r+18|0]&&(g[r+18|0]=n,e[47352]=0),!(!(4096&y)|d[0|t]==32))for(;IA(w+624|0,0,150),e[w+624>>2]=538976288,e[w+628>>2]=538976288,g[w+632|0]=32,AA(ue,$A(M,t,n=or(w+16|0,t)),r,0),d[0|(t=t+n|0)]!=32;);50331648&y&&(ae=(t=yt|(~e[33264]+SA|0)!=(0|P))?ae:10,t|!ha||(e[ha>>2]=4,ae=10))}if(128&y&&!((0|(r=e[33264]))<=0)){if(t=0,n=r,l=3&r)for(;R=(w+1584|0)+F(n+P|0,12)|0,e[R>>2]=1048576|e[R>>2],n=n-1|0,(0|l)!=(0|(t=t+1|0)););if(r>>>0>=4)for(;t=(w+1584|0)+F(n+P|0,12)|0,e[t>>2]=1048576|e[t>>2],e[(r=t-12|0)>>2]=1048576|e[r>>2],e[(r=t-24|0)>>2]=1048576|e[r>>2],e[(t=t-36|0)>>2]=1048576|e[t>>2],n=n-4|0;);e[33264]=n}}if(l=e[49572],(0|SA)<=(0|(P=P+1|0)))break e;if(!((0|l)<991))break}}if((0|(n=e[47351]))<(0|(m=e[47350]))){for(Ve=e[47202],yt=e[49846],_e=e[47352];;){t=(r=e[198304+(n<<2)>>2])>>8;e:{t:switch((31&r)-9|0){case 0:Ve=t;break e;case 4:yt=t;break e;case 3:break t;default:break e}_e=r>>>0>=256?t+_e|0:0}if(!(!(128&r)&(0|m)>(0|(n=n+1|0))))break}e[47352]=_e,e[47351]=n,e[49846]=yt,e[47202]=Ve}e[49572]=l+2,e[(t=190288+(l<<3)|0)>>2]=589824,v[t+4>>1]=i,e[t+8>>2]=589824,v[t+12>>1]=i,r=SA&&e[47199]?ae:10,e[33285]?t=0:(t=e[33283],t=e[t>>2]==e[t+4>>2]),ae=t?r:ae,P=qA,m=0,SA=0,oe=M=oe-32192|0,e[M+24>>2]=0,e[M+28>>2]=0,e[M+16>>2]=0,e[M+20>>2]=0,e[M+8>>2]=0,e[M+12>>2]=0,e[M>>2]=0,e[M+4>>2]=0,i=e[49572],h=_[190284+(i<<3)>>1];e:{if((0|(n=i-3|0))<0)t=n;else{for(;;){if(m=(0|(r=127&d[3+(t=190288+(n<<3)|0)|0]))<(0|m)?m:r,_[t+4>>1])t=n;else if(t=-1,r=(0|n)>0,n=n-1|0,r)continue;break}if(m>>>0>3)break e}for(;;){if((0|(t=t-1|0))<0)break e;if(64&d[0|(r=190288+(t<<3)|0)]){g[r+3|0]=4;break e}if(!(d[r+3|0]<4))break}}if(t=e[ue+292>>2],n=0,(0|i)<=0)m=0;else for(R=-1,m=0;;){r=t,e[ue+292>>2]!=(0|t)&&(v[(t=190288+(n<<3)|0)>>1]=32|_[t>>1]),(0|m)>0&&(be=e[4+(y=190288+(n<<3)|0)>>2],e[(l=190288+(t=n-m<<3)|0)>>2]=e[y>>2],e[l+4>>2]=be,(0|R)!=-1&&(v[4+(t+190288|0)>>1]=R),R=-1);e:{if(d[2+(190288+(l=n<<3)|0)|0]==21){if(t=d[7+(y=l+190288|0)|0],2&d[0|y])break e;t:if((0|t)!=(0|r)){if(y=d[10+(l+190288|0)|0]-9|0){if((0|y)==12)break t;break e}if(d[18+(l+190288|0)|0]!=21)break e}(0|R)==-1&&(R=(t=_[4+(l+190288|0)>>1])||-1),m=m+1|0}t=r}if((0|i)==(0|(n=n+1|0)))break}if(e[49572]=i-m,Ia(t),(r=e[ue+36>>2])&&!((0|(t=(m=e[49572])-1|0))<0))for(Ve=256&r,ee=4&r,yt=8&r,be=15&r,Wt=16&r,qA=2&r,r=r>>>8&1,n=0;;){if(l=m,i=n,m=t,(0|(t=d[2+(y=190288+(cA=t<<3)|0)|0]))==21){e:{t:{if((0|(n=l-2|0))>=0)for(;;){if(d[2+(190288+(t=n<<3)|0)|0]==21)break t;if(t=(0|n)>0,n=n-1|0,!t)break}t=e[ue+292>>2];break e}t=d[7+(t+190288|0)|0]}Ia(t),t=d[y+2|0]}if(n=i,(t=e[144464+((255&t)<<2)>>2])&&(n=r,!(32&d[0|y]))){n=d[t+11|0],R=0,qA&&((0|(l=d[0|t]))!=118&(0|l)!=82||(i=Wt?0:i,R=1));e:{t:{r:{a:switch((l=253&n)-4|0){case 1:break r;case 0:break a;default:break t}if(be&&(n=1,!i)||(0|(n=i))!=2||(n=2,!(t=d[t+13|0])))break e;g[y+2|0]=t;break e}if(be&&(n=2,!i)||(0|(n=i))!=1||(n=1,!(t=d[t+13|0])))break e;g[y+2|0]=t;break e}n=0,yt&&(n=l?i:0)}n=t=R?0:n,_[4+(cA+190288|0)>>1]&&(n=t=ee?0:t,Ve&&(n=t||1))}if(!((0|(t=m-1|0))>=0))break}if(Ia(e[ue+292>>2]),e[49572]<=0)Wt=-2,n=0;else{for(n=-1,i=0,y=0,yt=0;;){t=y<<3,(0|n)!=-1&&(v[4+(t+190288|0)>>1]=n),d[2+(R=t+190288|0)|0]==21&&Ia(d[7+(t+190288|0)|0]),be=e[49572];e:{if(!(32&d[0|(l=t+190288|0)])){i=(0|(r=be-1|0))>(0|y)?e[144464+(d[10+(t+190288|0)|0]<<2)>>2]:i,!(_[l+12>>1]|(0|r)==(0|y))&&(_e=0,d[i+11|0]|!i)||(_e=1),m=d[R+2|0];t:if(!((0|(Wt=e[49848]))<=0))for(r=t+190288|0,n=0;;){if(Ve=F(n,3),d[Ve+199408|0]==(255&m)&&!((ee=d[2+(Ve+199408|0)|0])&(1^_e)|(4&d[r+3|0]?2&ee:0)|(_[r+4>>1]?0:4&ee))){if(m=d[1+(Ve+199408|0)|0],g[R+2|0]=m,!(2&d[e[144464+(m<<2)>>2]+4|0])|d[r+3|0]<2)break t;g[r+3|0]=0;break t}if((0|Wt)==(0|(n=n+1|0)))break}if(!(255&m)){n=_[4+(t+190288|0)>>1];break e}}n=e[l+4>>2],t=(M+32|0)+(yt<<5)|0,r=e[l>>2],e[t>>2]=r,e[t+4>>2]=n,r=e[144464+(r>>>14&1020)>>2],e[t+8>>2]=r,g[t+17|0]=d[r+11|0],yt=yt+1|0,n=-1}if(!((0|yt)<1e3&(0|be)>(0|(y=y+1|0))))break}if(m=0,n=0,!((0|(Wt=yt-2|0))<=0))for(;;){e:if(_[4+((M+32|0)+(m<<5)|0)>>1]){for(r=(0|m)>(0|Wt)?m:Wt,n=0,t=m;;){if((0|t)!=(0|r)){if(n=(0|n)>(0|(l=d[3+((i=M+32|0)+(t<<5)|0)|0]))?n:l,!_[4+(i+((t=t+1|0)<<5)|0)>>1])continue}else t=r;break}if((0|t)<=(0|m))break e;if(r=~m+t|0,i=0,l=t-m&7)for(;g[6+((M+32|0)+(m<<5)|0)|0]=n,m=m+1|0,(0|l)!=(0|(i=i+1|0)););if(r>>>0<7)break e;for(;g[6+(r=(M+32|0)+(m<<5)|0)|0]=n,g[r+38|0]=n,g[r+70|0]=n,g[r+102|0]=n,g[r+134|0]=n,g[r+166|0]=n,g[r+198|0]=n,g[r+230|0]=n,(0|(m=m+8|0))!=(0|t););}else t=m+1|0;if(m=t,!((0|Wt)>(0|t)))break}}for(e[M+40>>2]=e[36125],Ia(e[ue+292>>2]),ht=(0|n)<4,y=1,Ve=1,be=0,r=0,n=0,qA=0;;){e:{t:{r:{a:{if(r){if(i=(t=M+32|0)+((R=n-1|0)<<5)|0,be=d[2+(t+(n<<5)|0)|0],(0|R)>0){if(t=y-(n=(0|y)>0)|0,R>>>0>=(m=n?y:2)>>>0)for(;l=(n=(M+32|0)+(m<<5)|0)-32|0,y=e[n+12>>2],e[l+8>>2]=e[n+8>>2],e[l+12>>2]=y,y=e[n+4>>2],e[l>>2]=e[n>>2],e[l+4>>2]=y,y=e[n+28>>2],e[l+24>>2]=e[n+24>>2],e[l+28>>2]=y,y=e[n+20>>2],e[l+16>>2]=e[n+16>>2],e[l+20>>2]=y,(0|R)>=(0|(m=m+1|0)););y=t}_e=e[144464+(be<<2)>>2],e[i>>2]=0,e[i+4>>2]=0,e[i+24>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,g[i+2|0]=r,t=e[144464+(r<<2)>>2],e[i+8>>2]=t,be=i}else{if((0|n)>=(0|Wt)|(0|qA)>=997)break a;l=d[2+(i=(m=n<<5)+(M+32|0)|0)|0],t=e[144464+(l<<2)>>2],e[i+8>>2]=t,R=_[i+4>>1],(0|l)==21&&Ia(d[7+(m+(M+32|0)|0)|0]),y=R?n:y,_e=e[144464+(d[i+34|0]<<2)>>2],e[i+40>>2]=_e,R=n}if(!t){r=0,n=R+1|0;continue}if(Gt(ue,256,i,M+32040|0,M),(0|(n=e[M+32052>>2]))>0&&(m=(M+32|0)+(R<<5)|0,_e=e[144464+(n<<2)>>2],e[m+40>>2]=_e,g[m+34|0]=n,g[m+49|0]=d[_e+11|0]),n=0,r)r=t;else if((0|(m=e[M+32056>>2]))<=0)r=t;else{r=e[144464+(m<<2)>>2],e[i+8>>2]=r,n=d[i+2|0],g[i+2|0]=m,m=_[i>>1];n:if(d[r+11|0]!=2)v[i>>1]=65531&m;else{if(v[i>>1]=4|m,d[t+11|0]==2)break n;g[i+3|0]=0}Gt(ue,256,i,M+32040|0,M)}if((0|(l=e[M+32048>>2]))<=0)m=r;else{if(m=e[144464+(l<<2)>>2],g[i+2|0]=l,e[i+8>>2]=m,t=d[m+11|0],yt=1,(0|l)==1){cA=(0|t)==2;break t}l=_[i>>1];n:if((0|t)!=2)v[i>>1]=65531&l;else{if(v[i>>1]=4|l,d[r+11|0]==2)break n;g[i+3|0]=0}Gt(ue,256,i,M+32040|0,M)}if(cA=0,(0|(t=d[m+11|0]))!=2){yt=0;break t}if(cA=1,yt=0,t=2,d[i+3|0]>1){SA=0;break t}l=i+3|0,SA=SA+1|0,r=i;n:{if(8&(ee=e[ue+12>>2])){for(;;){c:switch(ee=r,r=r+32|0,d[ee+49|0]){case 0:break t;case 2:break c;default:continue}break}if(d[0|(r=ee+35|0)]>1)break t;if(d[i+6|0]<=3&&(g[0|l]=0),d[ee+38|0]<4)break n;break t}if(1&SA|(0|SA)<2)break t;if(2&ee)break r;if(ht)r=l;else if(r=l,_[i+36>>1])break r}g[0|r]=0;break t}e[36423]=qA+2,v[(t=145840+(qA<<5)|0)>>1]=0,g[t+2|0]=9,g[t+20|0]=2,e[t+12>>2]=ae,v[t+4>>1]=h,g[t+17|0]=0,g[t+18|0]=0,e[t+8>>2]=e[36125],v[t+32>>1]=0,g[t+34|0]=9,g[t+52|0]=0,e[t+44>>2]=0,v[t+36>>1]=0,g[t+49|0]=0,g[t+50|0]=0,e[t+40>>2]=e[36126],Ia(e[ue+292>>2]),oe=M+32192|0;break e}SA=1}if(!(8&(r=_[i+32>>1]))|(0|R)<=0||(l=d[_e+11|0])>>>0>15|!(1<<l&457)||(n=d[_e+10|0],v[i+32>>1]=8^r),it=_[i+36>>1]){t:if(r=e[ue+4>>2]){switch(0|t){default:n=512&r?11:n;break;case 0:break t;case 2:}if(d[_e+11|0]==2){(l=12&r)&&(n=(0|l)!=12?23:11);r:if(cA){switch(3&r){case 2:n=10;break r;case 0:break r}n=23}d[i+35|0]<4||(n=256&r?10:n)}}if(!((0|i)==(0|be)|(0|qA)<=0)){t:{r:{a:switch(0|(r=7&e[ue>>2])){case 0:break t;case 1:break a;default:break r}if(n-12>>
2810>0>4294967293)break t}n=d[r+101916|0]}n=e[47205]>0?24:n}}if(e[i+72>>2]=e[144464+(d[i+66|0]<<2)>>2],r=e[M+32060>>2],r=n||r||n,!yt){g[17+(l=145840+(ee=qA<<5)|0)|0]=t,e[l+8>>2]=m,g[l+16|0]=0,v[l>>1]=_[i>>1],g[l+3|0]=15&d[i+3|0],g[l+6|0]=d[i+6|0],n=d[i+7|0],v[l+4>>1]=0,g[l+7|0]=n,yt=d[m+10|0],g[l+2|0]=yt;t:if(n=_[i+4>>1]){if(v[l+4>>1]=n,P=1&P?5:1,g[20+(i=ee+145840|0)|0]=P,n=Ve,Ve=0,!n){P=0;break t}g[i+20|0]=8|P,P=0}else g[20+(ee+145840|0)|0]=0;e[12+(n=ee+145840|0)>>2]=e[M+32084>>2]<<1,!it|(0|yt)!=24||(0|(i=e[47205]))<=0||(e[l+8>>2]=e[36126],e[n+12>>2]=F(i,14)),(1<<t&428?t>>>0<=8:0)|2&d[m+7|0]&&(e[n+12>>2]=128,g[l+16|0]=0),g[21+(t=ee+145840|0)|0]=255,g[t+22|0]=255,v[t+18>>1]=5120,qA=qA+1|0}n=R+1|0;continue}break}v[88922]=1,e[44462]=0,na&&(v[145776+(e[36423]<<5)>>1]=2,t=198304+(e[47350]<<2)|0,e[t>>2]=128,e[(t=t-4|0)>>2]=128|e[t>>2]),g[190268]=VA>>>19&1,Vn&&(e[Vn>>2]=VA<<14>>31&189360)}oe=w+6832|0,Wt=e[47192],cA=e[A+12>>2],r=0,l=0,y=0,ee=0,be=0,Yr=0,ae=0,oe=h=oe-6e3|0;e:if(!((0|(i=(qA=e[36423])-1|0))<=0)){for(;g[2+(h+F(r,6)|0)|0]=0,4&d[145840+(t=r<<5)|0]?(n=h+F(ee,6)|0,g[n+1|0]=0,t=t+145840|0,g[n+3|0]=d[t+49|0],t=d[t+3|0],g[0|n]=t,ee=ee+1|0,Yr=(t>>>0>3)+Yr|0):d[e[8+(t+145840|0)>>2]+10|0]!=27|(0|ee)<=0||(t=(h+F(ee,6)|0)-4|0,g[0|t]=4|d[0|t]),(0|i)!=(0|(r=r+1|0)););if(g[h+F(ee,6)|0]=0,ee)if(e[Wt+148>>2]==1){if(!((0|qA)<=0)){for(t=-2&qA,n=1&qA,r=145840;y=d[r+17|0]==2&&d[r+3|0]>3?l:y,y=d[r+49|0]==2&&d[r+35|0]>3?1|l:y,r=r- -64|0,l=l+2|0,(0|t)!=(0|(be=be+2|0)););!n|d[r+17|0]!=2||(y=d[r+3|0]>3?l:y)}if(g[3+(m=145840+(t=y<<5)|0)|0]=7,e[Wt+212>>2]==30313&&(d[7+(t=t+145840|0)|0]||(g[t+7|0]=Us(55),qA=e[36423])),!((0|qA)<=0)){for(be=0,r=145840,t=145840,l=R=e[36125],i=0,Ve=1;;){if(d[r+17|0]?P=e[36125]:(P=e[36125],R=(n=d[e[r+8>>2]+14|0]>50)?P:R,Ve|=n),n=d[r+20|0]?P:l,4&d[0|r]){P=d[r+7|0],l=e[144464+(P<<2)>>2];t:{if((0|(ee=e[Wt+212>>2]))==6840683){if(e[n>>2]!=49||(ee=e[l>>2]-49|0)>>>0>5|!(1<<ee&41))break t;g[t+7|0]=Us(50),ee=e[Wt+212>>2]}if(!((0|ee)!=6516078&(0|ee)!=31336)){ee=0,P||(i=Us(1&(ee=i|Ve)?13621:12593),g[r+7|0]=i,l=e[144464+(i<<2)>>2]),(0|y)!=(0|be)|(1024|e[l>>2])!=13621||(g[m+3|0]=6),e[R>>2]==3420466&&(g[t+7|0]=Us(e[l>>2]==3420466?13619:12594));r:{if(e[n>>2]==12597){if((0|(P=e[l>>2]))!=12597)break r;g[t+7|0]=Us(13109)}P=e[l>>2]}i=ee,(0|P)==12593&&((0|(P=e[R>>2]))==13621&&(g[r+7|0]=Us(12850),P=e[R>>2]),(0|P)==13619&&(g[r+7|0]=Us(13107),P=e[R>>2]),(0|P)==3420466&&(g[r+7|0]=Us(13364)),g[r+3|0]=0)}}Ve=0,R=l,t=r}else l=n;if(r=r+32|0,!((0|(be=be+1|0))<(0|(n=e[36423]))))break}if(l=0,r=145840,!((0|n)<=0))for(;4&d[0|r]&&((t=d[r+7|0])||(g[r+7|0]=17,t=17),t=e[144464+(t<<2)>>2],g[r+21|0]=d[t+12|0],g[r+22|0]=d[t+13|0]),r=r+32|0,(0|n)!=(0|(l=l+1|0)););}}else{if(t=e[Wt+152>>2],t=Wt+F(ht=(0|t)>7?1:t,6)|0,ue=d[0|(ht?t+637:Wt+157)],VA=d[0|(ht?636+(t+cA|0):156+(Wt+cA|0))],g[133068]=(0|cA)==4,!((0|ee)<=0)){for(yt=ee-1|0,_e=cA-1>>>0>1,n=0,i=0;;){w=h+F(i,6)|0,ae=((t=d[0|w])<<24>>24>3)+ae|0;t:if((0|t)==6){t=i-3|0,r=i;r:{for(;;){if((0|r)<=(0|n)|(0|t)>=(0|r))break r;a:switch(m=h+F(r=r-1|0,6)|0,d[0|m]-4|0){case 2:break r;case 0:break a;default:continue}break}g[0|m]=3}r=i;r:{for(;;){if((0|ee)<=(0|(r=r+1|0)))break r;a:switch(d[h+F(r,6)|0]-4|0){case 0:break r;case 2:break a;default:continue}break}g[w+2|0]=2,g[0|w]=5,t=n;break t}if(d[0|w]==6){g[w+2|0]=2,M=0;r:if((0|ee)<=(0|(t=i+1|0)))m=i,as=0;else if(as=1,(0|(l=g[h+F(t,6)|0]))>4)m=i;else{for(y=(Yr-ae|0)>1,m=i;;){if(r=t,(255&l)==4&&(t=y+1|0,y=1,!((0|t)<=1))){t=r;break r}if(as=(0|ee)>(0|(t=r+1|0)),(0|t)==(0|ee))break;if(m=r,(0|(l=g[h+F(t,6)|0]))>4)break r}m=yt,t=ee}l=-1,P=0,y=0,Ve=-1,be=0,R=-1;r:{if((0|(r=n))<(0|t)){for(;l=(it=(0|(R=g[h+F(r,6)|0]))>3)&&(0|l)<0?r-n|0:l,M=(be=(0|y)>(0|R))?M:(0|y)<(0|R)?r:P,Ve=it?r:Ve,P=be?P:r,it=(0|r)!=(0|m),y=be?y:R,r=r+1|0,it;);if(be=P,R=Ve,(0|l)>=0)break r}l=t,P=be,Ve=R}e[33269]=m-P,e[33268]=l,e[33270]=P,e[33271]=M;r:if(d[133068])e[33270]=t,e[33271]=t;else if((0|Ve)>=0){if((0|t)!=(0|ee))break r;g[h+F(Ve,6)|0]=7}else g[h+F(P,6)|0]=7;gr(h,ht,n,t,VA),!as&!!(0|cA)||(VA=_e?d[Wt+156|0]:d[Wt+157|0])}else t=n}else t=n;if((0|t)>=(0|i))n=t;else if(4&d[w+2|0]){for(n=i+1|0,l=-1,Ve=0,P=0,y=0,r=t,M=-1;l=(be=(0|(m=g[h+F(r,6)|0]))>3)&&(0|l)<0?r-t|0:l,Ve=(R=(0|m)<(0|y))?Ve:(0|m)>(0|y)?r:P,M=be?r:M,P=R?P:r,be=(0|r)!=(0|i),y=R?y:m,r=r+1|0,be;);e[33269]=i-P,e[33270]=P,e[33271]=Ve,e[33268]=(0|l)<0?n:l,d[133068]?(e[33270]=n,e[33271]=n):(0|M)>=0?g[h+F(M,6)|0]=7:g[h+F(P,6)|0]=7,gr(h,ht,t,n,ue)}else n=t;if((0|ee)==(0|(i=i+1|0)))break}if(!((0|n)>=(0|ee))){for(l=-1,Ve=0,P=0,y=0,r=n,M=-1;l=(m=(0|(t=g[h+F(r,6)|0]))>
28103)&&(0|l)<0?r-n|0:l,Ve=(i=(0|t)<(0|y))?Ve:(0|t)>(0|y)?r:P,M=m?r:M,P=i?P:r,y=i?y:t,(0|ee)!=(0|(r=r+1|0)););e[33270]=P,e[33271]=Ve,e[33269]=~P+ee,e[33268]=(0|l)<0?ee:l,d[133068]?(e[33270]=ee,e[33271]=ee):(0|M)>=0?g[h+F(M,6)|0]=7:g[h+F(P,6)|0]=7,gr(h,ht,n,ee,VA)}}if((0|qA)<=0)break e;for(r=0,be=0;;){if(R=n=145840+(m=r<<5)|0,t=h+F(be,6)|0,l=d[0|t],g[n+3|0]=l,4&d[0|n]){i=m+145840|0,n=d[t+4|0],g[i+21|0]=n,y=d[t+5|0],g[i+16|0]=0,g[i+22|0]=y;t:{if(1&(P=d[t+2|0]))t=2;else{if(l>>>0<6)break t;t=d[t+1|0]}g[i+16|0]=t}n>>>0<=(255&y)>>>0?(t=y,y=n):(g[i+21|0]=y,g[i+22|0]=n,t=n),(n=d[7+(m+145840|0)|0])&&(t=(255&t)+(255&y)>>>1|0,n=e[144464+(n<<2)>>2],g[i+22|0]=t+d[n+13|0],g[i+21|0]=t+d[n+12|0]),2&P&&(g[R+3|0]=8|l),be=be+1|0}if((0|qA)==(0|(r=r+1|0)))break}}}if(oe=h+6e3|0,be=e[47192],r=0,_e=0,M=0,ae=0,oe=h=oe-160|0,e[36423]>=2)for(cA=e[30450],l=1;;){if(l=(t=l)+1|0,ee=d[3+(i=145840+(y=t<<5)|0)|0],2&(P=_[i>>1])){for(;(31&(m=e[198304+(ae<<2)>>2]))==2&&(cn(127&m,m>>>8|0),e[36432]=110,e[36433]=100,e[36434]=450,e[36430]=5,P=e[50786],R=e[32972],(0|(n=e[R+84>>2]))>0&&(P=(0|F(n,P))/100|0),Ve=d[((0|(n=(0|P)>=359?359:P))<=80?80:n)+101856|0],n=(0|(n=(0|P)>=450?450:P))>399?6:(0|n)>379?7:Ve,e[32526]=(0|F(n,e[R+72>>2]))/256,e[32527]=(0|F(n,e[R+76>>2]))/256,e[32528]=(0|F(n,e[R+80>>2]))/256,n>>>0>7||(R=n-1|0,e[32528]=R,e[32526]=n,e[32527]=R)),ae=ae+1|0,!(128&m););P=_[i>>1]}R=l<<5,Ve=t-1|0,n=7&ee;e:{t:{r:{a:{n:{c:{o:{f:{l:{i:switch(VA=d[17+(y+145840|0)|0],0|(m=4&P?2:VA)){case 2:break n;case 3:case 8:break c;case 5:break o;case 6:case 7:break f;case 4:break l;case 0:break i;default:break e}r=0;break e}if((0|(t=d[17+(145840+(Ve<<5)|0)|0]))!=6?(n=(0|t)==4?60:e[34063]>0||n>>>0<4?48:60,g[18+(y+145840|0)|0]=n):(n=25,g[18+(y+145840|0)|0]=25),!(16&d[0|be])|!d[20+(y+145840|0)|0]||(g[18+(y+145840|0)|0]=60,n=60),64&d[e[8+(y+145840|0)>>2]+6|0]&&(n=n+30|0,g[18+(y+145840|0)|0]=n),r=0,!(8&P))break e;g[18+(y+145840|0)|0]=d[be+164|0]+n;break e}!(i=d[20+(t=y+145840|0)|0])|1&g[e[t+8>>2]+7|0]&d[17+(145840+(Ve<<5)|0)|0]==2||(g[18+(y+145840|0)|0]=15),n=d[17+(R+145840|0)|0],8&d[e[8+(y+145840|0)>>2]+4|0]|n|d[17+(145840+(Ve<<5)|0)|0]!=8||(g[18+(y+145840|0)|0]=25),64&d[e[8+(145840+(t=Ve<<5)|0)>>2]+5|0]&&(g[18+(y+145840|0)|0]=30),!i|!(16&e[be>>2])||(g[18+(y+145840|0)|0]=30);f:if(d[20+(R+145840|0)|0]|!(32&d[e[8+(y+145840|0)>>2]+4|0])|(0|n)!=4)e[12+(y+145840|0)>>2]=256;else{if(i=y+145840|0,d[17+(t+145840|0)|0]==2){e[i+12>>2]=200;break f}e[i+12>>2]=150}if((0|m)!=7||(_e|=(0|n)==2,(254&d[17+(t+145840|0)|0])!=2))break e;e[12+(y+145840|0)>>2]=e[12+(t+145840|0)>>2]+255>>>1;break e}(254&(n=d[17+(145840+(t=Ve<<5)|0)|0]))==6|(0|n)==3|32&e[e[8+(t+145840|0)>>2]+4>>2]&&(g[18+(y+145840|0)|0]=30);o:if((254&(i=d[17+(R+145840|0)|0]))==2){_e=d[20+(R+145840|0)|0]&&(0|i)!=2?_e:1,g[18+(i=y+145840|0)|0]=40,ee=0;f:{switch(0|n){case 0:if((t=e[12+(t+145840|0)>>2])>>>0>39)break f;ee=40-t|0;break f;case 2:break f}if(d[20+(y+145840|0)|0])break o;ee=20;l:switch(n-3|0){case 1:if(ee=0,!(8&d[e[8+(t+145840|0)>>2]+4|0]))break f;break o;case 0:break f;case 5:break l;default:break o}ee=12}g[i+18|0]=ee}if(!(16&d[0|be])|!d[20+(y+145840|0)|0]||d[18+(t=y+145840|0)|0]>19)break e;g[t+18|0]=20;break e}i=d[be+296|0],m=n=y+145840|0,e[n+12>>2]=256,g[n+19|0]=i;c:if(d[n+20|0]){P=25;o:switch(d[17+(145840+(Ve<<5)|0)|0]-2|0){case 0:if(P=12,1&g[e[8+(y+145840|0)>>2]+7|0])break c;break;case 1:break o;default:break c}g[18+(y+145840|0)|0]=P}if((0|(R=d[17+(R+145840|0)|0]))==2){M=1;break e}if(g[22+(i=y+145840|0)|0]=r,(254&d[17+(145840+(n=Ve<<5)|0)|0])==2)break a;if(n=r,(0|(m=e[36423]))<=(0|t))break t;for(;;){if(d[17+(145840+(n=t<<5)|0)|0]==2){n=d[22+(n+145840|0)|0],g[i+22|0]=n;break t}if((0|m)==(0|(t=t+1|0)))break}break r}if(Wt=y+145840|0,yt=n^n>>>0<2,n=(qA=8&ee)?25:d[296+(yt+be|0)|0]-M|0,g[Wt+19|0]=n,(e[36423]-3|0)>(0|t)||(0|(m=255&n))<=(0|(n=e[be+52>>2]))||(g[Wt+19|0]=n),n=0,ee=0,!(P=d[i+52|0]))for(;m=e[i+40>>2],ee=d[i+49|0]==2?(~e[m+4>>2]>>>20&1)+ee|0:ee,n=d[m+10|0]==27?2:n,m=i,i=i+32|0,!(P=d[m+84|0]););m=Wt+96|0,t=145840+(ht=t+2<<5)|0,e[34063]=ee,w=d[e[i+40>>2]+10|0],R=R+145840|0,d[17+(ht+145840|0)|0]|d[e[R+8>>2]+10|0]!=23?(i=m,m=t,t=R):i=y+145968|0,R=d[e[m+8>>2]+15|0];n:if(ee)R=d[e[be+96>>2]+(d[e[t+8>>2]+15|0]+F(R,10)|0)|0],d[t+17|0]!=8|(254&d[m+17|0])!=4||(R=8&d[e[i+8>>2]+4|0]?R-15|0:R);else{if(ue=e[be+100>>2],ht=d[e[t+8>>2]+15|0],i=d[t+20|0],R=d[ue+(ht+F(i|d[m+20|0]?(0|R)==1:R,10)|0)|0],!i|!(32&d[0|be]))break n;R=d[1+(ue+F(ht,10)|0)|0]+R>>>1|0}i=P>>>1|0,ht=!ee,P=(0|(R=(0|F(e[130104+(ee?(0|ee)==1?4:8:0)>>2],R))/128|0))<=8?8:R;n:if((0|yt)!=7)qA&&(P=e[be+200>>2]+P|0);else{if(P=(R=e[be+200>>2])+P|0,!qA)break n;P=((0|R)/2|0)+P|0}R=i&ht|(0|w)==27,(i=_[304+(be+(yt<<1)|0)>>1])||(i=_[be+316>>
28101]),P=F(i<<16>>16,P),(ee=d[7+(i=y+145840|0)|0])&&(yt=d[e[144464+(ee<<2)>>2]+14|0])&&(P=(0|F(P,yt))/100|0),(R|(0|n)==2)==1&&(2097152&(n=e[be+12>>2])||(P=(0|F(262144&n?282:256+((280-(d[e[8+(y+145840|0)>>2]+14|0]<<1)|0)/3|0)&65535,P))/256|0)),yt=y+145840|0,n=F(e[32526],e[be+196>>2]),qA=(0|VA)!=2?256:(0|((0|n)>(0|P)?P:n))/128|0,e[yt+12>>2]=qA,(n=d[yt+16|0])>>>0>=19&&(bn(84371,28,cA),g[yt+16|0]=0,ee=d[i+7|0],n=0),P=n+1|0,(n=255&ee)?(zn(n,h+8|0),n=wo(e[h+132>>2])):n=e[129280+((255&P)<<2)>>2],R=y+145840|0,1&(M|_e)&&(i=145840+(y=Ve<<5)|0,M=d[0|n],n=d[R+21|0],n=((0|F(M,d[R+22|0]-n|0))/256|0)+n|0,g[i+22|0]=n,r=(n-(r=(0|n)==255?255:r)|0)>16?n-16|0:r,g[i+21|0]=r,i=0,(0|r)<(0|n)&&(g[yt+16|0]=P,i=2),e[12+(r=y+145840|0)>>2]=qA,g[r+16|0]=i,n=d[Wt+19|0],g[r+19|0]=d[r+17|0]!=3&&n>>>0>18?18:n),r=(0|VA)!=2,i=-2&(n=_[t>>1]),v[t>>1]=i;n:{c:{o:switch(d[t+17|0]-3|0){case 5:if(d[m+17|0]==2)break n;i=1|n;break c;case 0:break o;default:break n}if(v[t>>1]=1|n,d[m+17|0]!=2&&e[e[t+8>>2]>>2]!=12146)break n}v[t>>1]=i}r?(0|(t=r<<4))<=((n=d[R+22|0])-(i=d[R+21|0])|0)||(i=(0|(t=n-t|0))>0?t:0,g[R+21|0]=i):(n=d[R+22|0],i=d[R+21|0]),t=255&i,r=((0|F(d[e[129280+(d[yt+16|0]<<2)>>2]+127|0],n-t|0))/256|0)+t|0,M=0,_e=0;break e}i=e[12+(n+145840|0)>>2],e[m+12>>2]=i,(0|VA)==3&&(i=e[32526],e[m+12>>2]=i),n=r;a:switch(R-5|0){case 0:e[m+12>>2]=(F(i,160)>>>0)/100;break r;case 2:break a;default:break t}e[m+12>>2]=(F(i,120)>>>0)/100}n=r}_e=0,g[16+(t=y+145840|0)|0]=0,i=t,n=(t=255&n)-16|0,g[i+21|0]=t>>>0>=n>>>0?n:0}if(!(e[36423]>(0|l)))break}if(oe=h+160|0,15&(i=e[47197])|e[36456]){t=0,m=0,oe=n=oe-80|0;e:if((r=e[33222])||(e[33223]=500,r=aA(500),e[33222]=r,r)){if(!((e[36423]-2|0)<2)){for(t=i>>8,be=128&i?0:t,ee=t&i<<24>>31,R=2&i,i=n+32|1,y=1;;){if(tn(n,e[8+(l=145840+(Ve=y<<5)|0)>>2],l,R,n+72|0),t=n+32|0,(13&(r=d[l+20|0]))==1&&(g[n+32|0]=32,t=i),!be|(0|be)!=32&!!(0|r)|y>>>0<2||(or(n+76|0,n),e[n+76>>2]-880>>>0>4294967103||(t=_s(be,t)+t|0)),4&d[0|l]&&((r=d[3+(Ve+145840|0)|0])>>>0<2||(r=r>>>0>=5?5:r,r=R?r>>>0>3?712:716:g[r+94144|0],e[n+76>>2]=r,t=_s(r,t)+t|0)),P=0,e[n+72>>2]=0,d[0|(r=n)])for(;r=or(n+76|0,r)+r|0,e[n+72>>2]>>>P-1&1|!ee|(0|P)<=0||(M=e[n+76>>2])-880>>>0>4294967103||_i(M)&&(t=_s(ee,t)+t|0),P=P+1|0,t=_s(e[n+76>>2],t)+t|0,d[0|r];);if(d[e[l+8>>2]+10|0]!=21&&(8&(r=_[l>>1])&&(t=tn(t,e[36128],l,R,0),r=_[l>>1]),!(4&r)|d[17+(Ve+145840|0)|0]==2||(t=tn(t,e[36136],l,R,0)),(r=d[7+(Ve+145840|0)|0])&&(t=tn(t,e[144464+(r<<2)>>2],l,R,0))),(t=(l=t-(n+32|0)|0)+m|0)>>>0<re[33223])r=e[33222];else{if(r=t+500|0,e[33223]=r,!(r=ds(e[33222],r))){e[33223]=0,r=86135;break e}e[33222]=r}if(g[(P=l)+(l=n+32|0)|0]=0,BA(r+m|0,l),m=t,!((0|(y=y+1|0))<(e[36423]-2|0)))break}if(!r){r=86135;break e}}g[t+r|0]=0}else e[33223]=0,r=86135;oe=n+80|0,15&d[188788]&&(e[A>>2]=r,ss(e[47195],84367,A)),(t=e[36456])&&LA[0|t](r)}d[190280]?(e[36423]=0,t=1):(xt(0),(t=e[A+8>>2])?(oe=r=oe+-64|0,vr(r,t,60),vn(r,1),n=0,(t=eA(r,0))&&(n=t,d[202976]&&(n=eA(202976,2))),oe=r- -64|0,e[44468]=n):n=e[44468],t=1,n&&(r=e[32972],(n=aA(1344))&&(r=$A(n,r,1344),n=216192+(e[50758]<<4)|0,e[n>>2]=11,e[n+8>>2]=r,r=e[50758]+1|0,e[50758]=(0|r)<=169?r:0),e[44468]=0))}else t=0,g[190280]=0;else t=0,e[36423]=0,e[50758]=0,e[50757]=0;return oe=A+16|0,t}function Je(t,A){var r=0,n=0,i=0,l=0;r=1073741825;e:{t:{r:{a:{n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{F:{Y:{R:{M:{y:{G:{S:{X:{L:{K:{N:{ae:{V:{Be:{W:{d:{g:{$:{k:{ee:{I:{s:{Ye:{q:{A:{ge:{H:{he:{pe:{Re:{le:{z:{xe:{E:{Me:{J:{me:{De:{je:{Ge:{_e:{Te:{Qe:{Pe:{Se:{be:{We:{te:{Ne:{Ue:{ze:{Oe:{D:{Ce:{Ke:{pt:{mt:{bt:{Ct:{It:{wt:{kt:{vt:{yt:{Et:{Bt:{xt:{Mt:{Dt:{Gt:{_t:{Tt:{Qt:{Pt:{St:{Nt:{zt:{Ot:{Ft:{Lt:{Vt:{Ht:{Yt:{Rt:{jt:switch(0|A){case 0:A=t-9>>>0<5?1073741825:0,A=(t=(0|t)==133)?1073741825:A;break S;case 1:u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{if((0|(A=-256&t))<=2047){if(!A)break ue;if((0|A)==1536)break ce;if((0|A)!=1792||(r=0,n=1,(0|t)!=1807))break u;break A}if((0|A)<=69631){if((0|A)==2048)break ie;if((0|A)!=8192)break u;switch(r=131076,t-8204|0){case 1:break re;case 0:break A;default:break ne}}if((0|A)==69632)break Ae;if((0|A)!=917504)break u;switch(r=8388608,t-917505|0){case 62:break T;case 58:break Q;case 57:break P;case 45:break O;case 43:break Z;case 32:break j;case 0:break A;default:break _}}if(r=16,(0|t)!=173)break u;break A}if(r=0,n=1,t-1536>>>0<6)break A;n=(0|t)==1757,A=(t=(0|t)==1564)?2:0;break G}if(r=0,n=1,(0|t)!=2274)break u;break A}return fe=64,4}if(r=1073741826,(-2&t)==8206)break A;if(t-8234>>>0<5)return fe=0,2;if(r=128,t-8289>>>0<4||(r=2,t-8294>>>0<4))break A;if(r=8388608,t-8298>>>0>=6)break u;break A}A=!(t-69821&-17),t=0;break y}fe=536870976;break M}fe=268435520;break M}fe=-2147483584;break M}fe=134217792;break M}fe=67108928;break M}fe=1073741888;break M}if(r=131072,n=64,t-917536>>>0<96)break A}break s;case 2:u:{_:{T:{Q:{P:{O:{Z:{if((0|(A=-256&t))<=130303){if((0|A)<=127743){if((0|A)<=64767){if((0|A)<=11007){if((0|A)==8192)break Z;if((0|A)!=9216)break u;if(t-9255>>>0>=25)break O;break I}if((0|A)==11008)break P;if((0|A)!=11776||(r=-2147483648,t-11845>>>0>=59))break u;break A}if((0|A)<=126975){if((0|A)==64768)break Q;
2810if((0|A)!=65280||(r=4194304,t-65520>>>0>=9))break u;break A}if((0|A)==126976|(0|A)==127232|(0|A)==127488)break q;break u}if((0|A)<=129023){if((0|A)<=128255){if((0|A)==127744|(0|A)==128e3)break q;break u}if((0|A)==128256|(0|A)==128512|(0|A)==128768)break q;break u}if((0|A)<=129535){if((0|A)==129024|(0|A)==129280)break q;break u}if((0|A)==129536|(0|A)==129792|(0|A)==130048)break q;break u}if((0|A)<=919039){if((0|A)<=917759){if((0|A)<=130815){if((0|A)==130304)break q;if((0|A)!=130560)break u;break q}if((0|A)==130816)break q;if((0|A)!=917504)break u;if((-128&t)!=917632)break T;break ee}if((0|A)<=918271){if((0|A)==917760)break _;if(r=4194304,(0|A)!=918016)break u;break A}if((0|A)==918272|(0|A)==918528)break ee;if(r=4194304,(0|A)!=918784)break u;break A}if((0|A)<=920319){if((0|A)<=919551){if((0|A)==919040)break ee;if(r=4194304,(0|A)!=919296)break u;break A}if((0|A)==919552|(0|A)==919808)break ee;if(r=4194304,(0|A)!=920064)break u;break A}if((0|A)<=920831){if((0|A)==920320)break ee;if(r=4194304,(0|A)!=920576)break u;break A}if((0|A)==920832|(0|A)==921088)break ee;if(r=4194304,(0|A)!=921344)break u;break A}if(r=4194304,(0|t)!=8293)break u;break A}if(r=-2147483648,t-9291>>>0>=21)break u;break A}if((-16&t)==11248|t-11219>>>0<25|(0|t)==11209|t-11194>>>0<3||(0|(A=-2&t))==11124)break I;if(r=-2147483648,(0|A)!=11158)break u;break A}if(r=65536,t-64976>>>0>=32)break u;break A}if((0|t)==917504)break ee;if(r=4194304,t-917506>>>0>=30)break u;break A}if(r=4194304,t>>>0>917999)break A}A=(t=!(65534&~t))>>>16|0,t<<=16;break y;case 6:u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{ne:{re:{ie:{if((0|(A=-256&t))<=7679){if((0|A)<=767){if(!A)break ie;if((0|A)==256)break re;if((0|A)!=512)break s;if((0|t)!=585)break ne;break R}if((0|A)==768)break Ae;if((0|A)==1024)break j;if((0|A)!=7424||(r=16777216,(0|t)!=7574))break s;break A}if((0|A)<=119807){if((0|A)==7680)break Z;if((0|A)==8448)break O;if((0|A)!=65280||(r=256,t-65345>>>0>=6))break s;break A}if((0|A)<=120319){if((0|A)==119808)break P;if((0|A)!=120064)break s;if(t>>>0>=120070)break Q;break k}if((0|A)==120320)break T;if((0|A)!=120576)break s;if(t>>>0>=120597)break _;break k}if(r=768,t-97>>>0<6)break A;if(r=16777216,t-105>>>0>=2)break s;break A}r=(A=(0|t)==329)>>>9|0,A=(t=(0|t)==303)?16777216:A<<23;break Y}if((0|t)==616)break R;if(r=16777216,(0|t)!=669)break s;break A}switch(r=128,t-976|0){case 35:break u;case 0:case 1:case 2:case 5:case 32:case 33:break A}if((-2&t)!=1012)break s;break A}n=(t=!(t-1110&-3))>>>8|0,t<<=24;break F}n=(A=(0|t)==7883)>>>8|0,A=(t=(0|t)==7725)?16777216:A<<24;break G}if(t-8458>>>0<10)break k;if((A=t-8495|0)>>>0<11)break Rt;break ge}if((0|(A=-2&t))==119842)break $;if(t-119808>>>0<85)break k;if(t-119894>>>0<2|t-119946>>>0<2)break $;if((0|t)==119995|t-119896>>>0<69|t-119982>>>0<12)break k;if((0|A)==119998)break $;if(t-119997>>>0<7)break k;if(r=16777344,(0|A)==120050)break A;if(r=128,t>>>0<=120004)break s;break A}if((-2&t)==120102)break $;if(t-120094>>>0<28)break k;Q:{if((0|t)<=120257){if(t-120154>>>0<2)break $;if(r=16777344,t-120206>>>0>=2)break Q;break A}if(t-120258>>>0<2)break $;if(r=16777344,t-120310>>>0<2)break A}if(r=128,t>>>0<=120145)break s;break A}if(t-120362>>>0<2|t-120414>>>0<2)break $;if(r=16777344,t-120466>>>0<2)break A;if(t-120540>>>0<31|t>>>0>120571|t>>>0<120486)break k;if(r=128,t-120514>>>0>=25)break s;break A}if(t-120772>>>0<8|t-120746>>>0<25|t-120714>>>0<31|t-120688>>>0<25||(0|t)!=120597&t>>>0<120629|t-120656>>>0<31)break k;if(r=128,t-120630>>>0<25)break A;break s}break R;case 7:u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{if((0|(A=-256&t))<=11263){if((0|A)<=3583){if((0|A)<=1535){if((0|A)==512)break we;if((0|A)==768)break Ie;if((0|A)!=1280||(r=4096,(0|t)!=1369))break s;break A}if((0|A)==1536)break de;if((0|A)==1792)break fe;if((0|A)!=2304||(r=4096,(0|t)!=2417))break s;break A}if((0|A)<=7167){if((0|A)==3584)break U;if((0|A)==6144)break se;if((0|A)!=6656||(r=8192,(0|t)!=6823))break s;break A}if((0|A)==7168)break oe;if((0|A)==7424)break v;if((0|A)!=8192)break s;if(r=16793600,!(A=t-8305|0))break A;if((0|A)==14)break ue;break ce}if((0|A)<=43263){if((0|A)<=40959){if((0|A)==11264)break ie;if((0|A)==11776)break re;if((0|A)!=12288)break s;switch(r=8192,t-12293|0){case 1:case 2:case 3:case 4:case 5:case 
28106:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:break Ae;case 0:case 44:case 45:case 46:case 47:case 48:break A;default:break ne}}if((0|A)==40960)break j;if((0|A)==42496)break Z;if((0|A)!=42752)break s;if(t-42775>>>0>=9)break O;break g}if((0|A)<=65279){if((0|A)==43264)break P;if((0|A)==43520)break Q;if((0|A)!=43776||(r=20480,(-4&t)!=43868))break s;break A}if((0|A)==65280)break T;if((0|A)==92928)break _;if((0|A)!=93952)break s;if(r=4096,t-94099>>>0<13)break A;if(r=8192,(-2&t)!=94176)break s;break A}if(r=16797696,(0|t)==690)break A;if(t-688>>>0<9)return fe=0,20480;if(t-697>>>0<7)break g;if((0|(A=-2&t))==704)return fe=0,20480;if(r=4096,t-710>>>0<10||(r=12288,(0|A)==720)||(r=20480,t-736>>>0<5))break A;r=(t=(-3&t)==748)>>>20|0,t<<=12;break B}A=(0|t)==890?20480:0,A=(t=(0|t)==884)?4096:A;break S}if(r=8192,(0|t)==1600)break A;if(r=4096,t-1765>>>0>=2)break s;break A}if(r=4096,(-2&t)==2036)break A;if(r=8192,(0|t)!=2042)break s;break A}A=(t=!(t-3654&-129))>>>19|0,t<<=13;break y}if(r=8192,(0|t)!=6211)break s;break A}if(r=12288,(0|t)==7291)break A;if(r=4096,t-7288>>>0>=6)break s;break A}if(r=16797696,(0|t)==7522||(r=20480,t-7468>>>0<63))break A;switch(r=16384,t-7588|0){default:if((0|t)==7544)break A;case 1:case 2:case 3:if(t-7579>>>0>=37)break s;break A;case 0:case 4:}return fe=0,16793600}return fe=0,16384}if(r=16384,t-8336>>>0>=13)break s;break A}A=(r=(0|t)==11389)>>>18|0,r=(t=(0|t)==11388)?16793600:r<<14;break w}if(r=-2147479552,(0|t)!=11823)break s;break A}if(t-12445>>>0<2)break A;if((0|t)==12540)break u}if(t-12541>>>0>=2)break s;break A}if(r=8192,(0|t)!=40981)break s;break A}if((0|t)==42508)break x;if((0|t)==42623)break g;if(r=20480,(-2&t)!=42652)break s;break A}if((0|t)==42864)return fe=0,16384;if((0|t)==42888)break g;if(r=20480,(-2&t)!=43e3)break s;break A}r=(A=(0|t)==43494)>>>19|0,A=(t=(0|t)==43471)?8192:A<<13;break Y}if((0|t)==43632||(0|t)==43741)break x;if(r=8192,t-43763>>>0>=2)break s;break A}if(r=12288,(0|t)==65392)break A;if(r=135168,(-2&t)!=65438)break s;break A}if(r=8192,(-2&t)==92994)break A;break s}return fe=0,12288;case 8:r=128;u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{if((0|(A=-256&t))<=12543){if((0|A)<=5887){if((0|A)<=3583){if(!A)break Ae;if((0|A)!=1536||(A=8388608,(0|t)!=1651))break E;break le}if((0|A)==3584)break j;if((0|A)!=4352||(r=4194304,t-4447>>>0>=2))break E;break z}if((0|A)<=8447){if((0|A)==5888)break Z;if((0|A)!=6400||(A=t-6581|0)>>>0>=6)break E;r=e[(A=81432+(A<<3)|0)>>2],n=e[A+4>>2];break z}if((0|A)==8448)break O;if((0|A)!=12288||(A=2048,(0|t)!=12294))break E;break le}if((0|A)<=68863){if((0|A)<=63999){if((0|A)==12544)break P;if((0|A)!=43520)break E;if((A=t-43701|0)>>>0<8)break _;break xe}if((0|A)==64e3)break u;if((0|A)!=65280||(A=4194304,(0|t)!=65440))break E;break le}if((0|A)<=100095){if((0|A)==68864)break Q;if((0|A)!=70400||(r=8192,(0|t)!=70493))break E;break pe}if((0|A)==100096)break T;if((0|A)!=126464)break E;break z}n=(A=!(t-170&-17))>>>18|0,r=A<<14;break z}if(r=33554432,t-3648>>>0<5)break z;if(A=0,l=33554432,(0|t)==3759)break le;if(t-3776>>>0>=5)break E;break z}if(r=8388608,t-6051>>>0>=2)break E;break z}if(t-8501>>>0>=4)break E;break z}if(A=4194304,(0|t)!=12644)break E;break le}if(r=4096,(-2&t)!=68898)break E;break z}if(r=2048,t-100333>>>0<5)break z;break E}if(r=33554432,!(211>>>A&1))break xe;break z}if((A=t-64014|0)>>>0>=28)break E;r=e[(A=81480+(A<<3)|0)>>2],n=e[A+4>>2];break z;case 10:u:{_:{T:{Q:{P:{O:{if((0|(A=-256&t))<=119807){if((0|A)<=8447){if(!A)break O;if((0|A)!=768)break s;switch(r=128,t-976|0){case 0:case 1:case 2:case 36:case 37:break A;default:break s}}if((0|A)==8448)break P;if((0|A)!=65280||(r=256,t-65313>>>0>=6))break s;break A}if((0|A)<=120319){if((0|A)==119808)break Q;
2810if((0|A)!=120064)break s;if(t>>>0>=120070)break T;break k}if((0|A)==120320)break _;if((0|A)!=120576)break s;if(t-120772>>>0>=8)break u;break k}if(r=768,t-65>>>0>=6)break s;break A}switch(r=128,t-8450|0){case 0:case 5:break A}if(t-8458>>>0<10)break k;if((A=t-8469|0)>>>0<20)break Yt;if((-4&t)==8508)break A;break Me}if(t-119982>>>0<12|t>>>0>120004|t-119977>>>0<4|t-119973>>>0<2||(0|t)==119970|(-2&t)==119966|t-119808>>>0<85)break k;if(r=128,t-119894>>>0>=71)break s;break A}if(t-120138>>>0<7|t>>>0>120145|(0|t)==120134|t-120128>>>0<5||t-120123>>>0<4|t-120094>>>0<28|(0|t)!=120070&t>>>0<120075|t-120086>>>0<7)break k;if(r=128,t-120077>>>0>=8)break s;break A}if(t-120540>>>0<31|t>>>0<120486)break k;if(r=128,t-120488>>>0>=25)break s;break A}if(t-120714>>>0<31|t-120598>>>0<31)break k;if(r=128,t-120656>>>0<31)break A;break s;case 11:u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{if((0|(A=-256&t))<=43263){if((0|A)<=3839){if((0|A)<=3071){if((0|A)==2304)break se;if((0|A)!=2816)break d;if((0|t)>3005)break v;if((0|t)!=2878)break oe;return fe=0,132096}if((0|A)==3072)break ue;if((0|A)!=3328)break d;switch(r=132096,t-3535|0){case 0:case 16:break A;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break d;default:break ce}}if((0|A)<=6911){if((0|A)==3840)break ie;if((0|A)!=4096)break d;if(r=1024,t-4139>>>0<2)break A;switch(t-4145|0){case 0:case 7:case 10:case 11:case 37:case 38:case 49:case 54:case 55:case 82:case 83:break A;case 86:case 87:case 88:case 89:case 90:case 91:case 94:case 105:case 106:break u;default:break re}}if((0|A)==6912)break ne;if((0|A)==7168)break Ae;if((0|A)!=12288||(r=135168,(-2&t)!=12334))break d;break A}if((0|A)<=70399){if((0|A)<=43775){if((0|A)==43264)break j;if((0|A)!=43520)break d;return fe=0,t-43643&-3?1024:4096}if((0|A)==43776)break Z;if((0|A)==69888)break O;if((0|A)!=70144||(r=4096,(0|t)!=70197))break d;break A}if((0|A)<=70911){if((0|A)==70400)break P;if((0|A)!=70656)break d;A=(0|t)==70845?132096:1024,A=(t=(0|t)==70832)?132096:A;break S}if((0|A)==70912)break Q;if((0|A)==71168)break T;if((0|A)!=119040)break d;switch(r=131072,t-119141|0){case 8:break g;case 1:break s;case 0:break A;default:break _}}A=(0|t)==2519?132096:1024,A=(t=(0|t)==2494)?132096:A;break S}if(r=132096,(0|t)!=2903)break d;break A}if((0|t)==3006)return fe=0,132096;if(r=132096,(0|t)!=3031)break d;break A}if((t=t-3266|0)>>>0>20||(r=132096,!(1<<t&1572865)))break d;break A}if((0|t)==3390)break A;if((0|t)!=3415)break d;break A}if(r=4096,(-2&t)!=3902)break d;break A}r=(t=(0|t)==4252)>>>22|0,t<<=10;break B}switch(r=1024,t-6965|0){default:if((0|t)==6916)break A;break;case 0:case 6:break A;case 1:case 2:case 3:case 4:case 5:}if(t-6973>>>0<5)break A;switch(t-6979|0){case 1:break g;case 0:break A}if((0|t)==7042|(0|t)==7073|(-2&t)==7078)break A;if((0|t)==7082)break g;if((0|t)==7143|t-7146>>>0<3)break A;r=(t=(0|t)==7150)>>>22|0,t<<=10;break B}A=(0|t)==7415?4096:1024,A=(t=(0|t)==7393)?4096:A;break S}A=(0|t)==43456?4096:1024,A=(t=(0|t)==43347)?4096:A;break S}if(r=4096,(0|t)!=44012)break d;break A}if(r=4096,(0|t)!=70080)break d;break A}r=132096;P:switch(t-70462|0){case 0:case 25:break A;case 15:break P;default:break d}break g}if(r=132096,(0|t)!=71087)break d;break A}if(r=4096,(0|t)!=71350)break d;break A}if(r=135168,t-119150>>>0<5)break A;break d}break g;case 12:A=((0|t)==8419)<<6,t=0;break y;case 13:u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{Fe:{ke:{Le:{Ze:{Xe:{qe:{Je:{$e:{et:{tt:{At:{rt:{st:{ve:{at:{nt:{it:{ot:{lt:{Ve:{ye:{He:{ct:{ut:{ft:{Ee:{dt:{gt:{ht:{if((0|(A=-256&t))<=43775){if((0|A)<=5887){if((0|A)<=2559){if((0|A)<=1535){if((0|A)==768)break ht;if((0|A)==1024)break gt;if((0|A)!=1280)break s;if(t-1425>>>0>=17)break dt;break g}if((0|A)<=2047){if((0|A)==1536)break Ee;if((0|A)!=1792)break s;if(r=1024,(0|t)==1809)break A;if((-16&t)!=1840)break ft;return fe=0,5120}if((0|A)==2048)break ut;if((0|A)!=2304)break s;if(t>>>0>=2307)break ct;break d}if((0|A)<=3583){if((0|A)<=3071){if((0|A)==2560)break He;if((0|A)!=2816)break s;switch(r=1024,t-2876|0){case 0:break g;case 3:break A;case 1:case 2:break Ve;default:break ye}}
2810if((0|A)==3072)break lt;if((0|A)!=3328)break s;if((0|(A=-2&t))!=3328)break ot;break d}if((0|A)<=4095){if((0|A)==3584)break it;if((0|A)!=3840)break s;if((0|(A=-2&t))!=3864)break nt;break g}if((0|A)==4096)break at;if((0|A)!=4864||(r=1024,(0|t)!=4959))break s;break A}if((0|A)<=8191){if((0|A)<=6655){if((0|A)==5888)break ve;if((0|A)==6144)break st;if((0|A)!=6400)break s;if((A=t-6432|0)>>>0<=18&&(r=1024,1<<A&262535))break A;if(r=4096,t-6457>>>0>=3)break s;break A}if((0|A)<=7167){if((0|A)==6656)break rt;if((0|A)!=6912)break s;if(r=1024,(-4&t)==6912)break A;if((0|t)!=6964)break At;break g}if((0|A)==7168)break tt;if((0|A)!=7424)break s;if(r=4096,t-7620>>>0<12||(r=1024,t-7655>>>0<14))break A;if((t=t-7669|0)>>>0>=11)break s;A=e[(t=82104+(t<<3)|0)>>2];break p}if((0|A)<=42495){if((0|A)<=11519){if((0|A)==8192)break et;if((0|A)!=11264||(r=4096,t-11503>>>0>=3))break s;break A}if((0|A)==11520)break $e;if((0|A)!=12288)break s;if(t-12330>>>0>=4)break Je;break g}if((0|A)<=43263){if((0|A)==42496)break qe;if((0|A)!=43008)break s;if(t-43045>>>0>=2)break Xe;break d}if((0|A)==43264)break Ze;if((0|A)!=43520)break s;switch(r=1024,t-43561|0){case 83:case 150:case 152:break g;case 0:case 1:case 2:case 3:case 4:case 5:case 8:case 9:case 12:case 13:case 26:case 35:case 135:case 137:case 138:case 139:case 142:case 143:case 149:break A;default:break Le}}if((0|A)<=71423){if((0|A)<=69375){if((0|A)<=66047){if((0|A)==43776)break ke;if((0|A)==64256)break Fe;if((0|A)!=65024)break s;if(r=536870912,t-65024>>>0<15||(n=64,(0|t)==65039))break A;if(r=4096,n=0,(-16&t)!=65056)break s;break A}if((0|A)<=68095){if((0|A)==66048)break we;if((0|A)!=66304||(r=1024,t-66422>>>0>=5))break s;break A}if((0|A)==68096)break Ie;if((0|A)!=68864||(r=5120,(-4&t)!=68900))break s;break A}if((0|A)<=70399){if((0|A)<=69887){if((0|A)==69376)break de;if((0|A)!=69632)break s;if(t-69688>>>0>=14)break fe;break d}if((0|A)==69888)break U;if((0|A)!=70144)break s;if(r=1024,t-70191>>>0<3)break A;switch(t-70196|0){case 2:break g;case 0:case 3:case 10:break A;case 1:case 4:case 5:case 6:case 7:case 8:case 9:break oe;default:break se}}if((0|A)<=70911){if((0|A)==70400)break v;if((0|A)!=70656)break s;if((-8&t)!=70712)break ue;break d}if((0|A)==70912)break ce;if((0|A)!=71168)break s;if(r=1024,t-71219>>>0<8)break A;switch(t-71229|0){case 2:break g;case 0:case 3:break A;case 1:break re;default:break ie}}if((0|A)<=92927){if((0|A)<=72703){if((0|A)==71424)break zt;if((0|A)==71680)break ne;if((0|A)!=72192)break s;if(t-72193>>>0>=10)break Ae;break d}if((0|A)<=73215){if((0|A)==72704)break j;if((0|A)!=72960)break s;if((A=t-73009|0)>>>0<19)break St;break J}if((0|A)==73216)break Z;if((0|A)!=92672||(r=4096,t-92912>>>0>=5))break s;break A}if((0|A)<=122879){if((0|A)<=113663){if((0|A)==92928)break O;if((0|A)!=93952||(r=4096,t-94095>>>0>=4))break s;break A}if((0|A)==113664)break P;if((0|A)!=119040)break s;switch(r=4096,t-119143|0){case 0:case 1:case 2:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 67:case 68:case 69:case 70:break A;default:break s}}if((0|A)<=125183){if((0|A)==122880)break Q;if((0|A)!=124928||(r=4096,t-125136>>>0>=7))break s;break A}if((0|A)==125184)break T;if((0|A)!=917760||(r=536870912,t-917760>>>0>=240))break s;break A}if(t-768>>>0<69)break g;if(r=21504,(0|t)==837)break A;if(t-838>>>0<9)break g;if(r=4194304,(0|t)==847)break A;if((-8&t)==848)break g;if(r=4096,t-861>>>0>=6)break s;break A}if(r=4096,t-1155>>>0>=5)break s;break A}if(r=4096,t-1443>>>0<13||(r=5120,t-1456>>>0<14))break A;if((t=t-1471|0)>>>0>=9)break s;A=e[(t=81944+(t<<3)|0)>>2];break p}if(t-1552>>>0<11)break d;if(r=5120,t-1611>>>0<8)break A;if(t-1619>>>0<4)break d;switch(t-1623|0){case 1:break g;case 0:break A;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 25:case 127:case 128:case 129:case 130:case 131:case 132:case 133:break d}if(r=4096,t-1759>>>0<2)break A;if((A=t-1761|0)>>>0<8)break Ht;break me}if(t-1856>>>0<11)break g;if(r=5120,t-1958>>>0<11)break A;if(r=4096,t-2027>>>0>=9)break s;break A}switch(r=1024,(-2&t)-2070|0){case 2:break g;case 0:break A}if(t-2260>>>
28100<12|t-2089>>>0<4|t-2075>>>0<9|t-2085>>>0<3)break d;if(t-2275>>>0<7)return fe=0,5120;if(r=4096,t-2282>>>0<6||(r=5120,t-2288>>>0<15))break A;if(r=1024,(0|t)!=2303)break s;break A}switch(r=1024,t-2362|0){case 2:break g;case 0:break A}if(t-2369>>>0<8)break d;switch(r=4096,t-2381|0){case 0:case 4:case 5:case 6:case 7:case 111:break A;case 8:case 9:case 10:case 21:case 22:case 52:break d}if(t-2497>>>0<4)break d;if((0|t)==2509)break A;if(r=1024,(-2&t)!=2530)break s;break A}if(t-2561>>>0<2)break d;switch(r=4096,t-2620|0){case 0:case 17:case 128:case 145:break A;case 5:case 6:case 11:case 12:case 15:case 16:case 21:case 52:case 53:case 57:case 69:case 70:case 133:case 134:case 135:case 136:case 137:case 139:case 140:case 166:case 167:case 190:case 191:case 192:break d}if(t-2813>>>0>=3)break s;break A}if((0|t)==2817)break d}if(t-2881>>>0<4)break d;switch(r=4096,t-2893|0){case 0:break A;case 9:break d}if((-2&t)==2914)break d;switch(r=1024,t-3008|0){default:if((0|t)!=2946)break s;break A;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:break s;case 0:break A;case 13:}break g}switch(r=1024,t-3072|0){case 77:case 188:case 205:break g;case 0:case 62:case 63:case 64:case 70:case 71:case 72:case 74:case 75:case 76:case 85:case 86:case 98:case 99:case 129:case 191:case 198:case 204:break A}if((-2&t)!=3298)break s;break A}if(r=4096,t-3387>>>0<2)break A;if(t-3393>>>0<4)break d;if((0|t)==3405)break A;if((0|A)==3426)break d;switch(t-3530|0){case 0:break A;case 8:case 9:case 10:case 12:break d;default:break s}}if((A=t-3633|0)>>>0<10)break Vt;break De}if((r=t-3893|0)>>>0>4|!(1<<r&21))break je;break g}switch(r=1024,t-4141|0){case 10:case 12:case 13:break g;case 0:case 1:case 2:case 3:case 5:case 6:case 7:case 8:case 9:case 16:case 17:case 43:case 44:case 49:case 50:case 51:case 68:case 69:case 70:case 71:case 85:case 88:case 89:break A}A=(r=(0|t)==4253)>>>22|0,r=(t=(0|t)==4237)?4096:r<<10;break w}r=1024;ve:{switch(t-5906|0){case 0:case 1:case 32:case 33:break A;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:break ve}switch(t-5970|0){case 0:case 1:case 32:case 33:break A;default:break ve}}if(r=4194304,(-2&t)==6068)break A;if((A=t-6071|0)>>>0<16)break Lt;break Ge}if(r=536870912,t-6155>>>0<3||(r=67109888,t-6277>>>0<2))break A;if(r=1024,(0|t)!=6313)break s;break A}if(t-6679>>>0<2)break d;switch(r=1024,t-6683|0){case 0:case 59:case 61:case 62:case 63:case 64:case 65:case 66:case 
281067:case 71:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 88:case 89:break A}if(r=4096,t-6832>>>0<14)break A;if((t=t-6773|0)>>>0>=11)break s;A=e[(t=82016+(t<<3)|0)>>2];break p}if(t-6966>>>0<5)break A;switch(t-6972|0){case 0:case 6:break A}if(t-7019>>>0<9)break g;switch(t-7040|0){case 43:break g;case 0:case 1:case 34:case 35:case 36:case 37:case 40:case 41:case 44:case 45:case 104:case 105:case 109:case 111:case 112:case 113:break A;default:break s}}if(r=1024,t-7212>>>0<8)break A;switch(r=12288,t-7222|0){case 1:break g;case 0:break A}if(t-7380>>>0<13)break g;switch(r=4096,t-7376|0){case 0:case 1:case 2:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 29:case 36:break A}if((-2&t)!=7416)break s;break A}if(r=128,t-8400>>>0<13)break A;if((t=t-8417|0)>>>0>=15)break s;A=e[(t=82192+(t<<3)|0)>>2];break p}if(r=1024,(-32&t)!=11744)break s;break A}if(r=4096,t-12441>>>0>=2)break s;break A}if((0|t)==42607)break g;if(t-42612>>>0<8)break d;if((0|(t&=-2))==42620)break g;if((0|t)==42654)break u;if(r=4096,(0|t)!=42736)break s;break A}switch(r=4096,t-43204|0){case 0:break A;case 1:break d}if(t-43232>>>0>=18)break s;break A}if(t-43302>>>0<5)break d;if(t-43307>>>0<3)break g;if(t-43335>>>0<11|t-43392>>>0<3)break d;if(r=4096,(0|t)==43443||(r=1024,t-43446>>>0<4))break A;n=(A=(0|t)==43493)>>>20|0,A=(t=(0|t)==43452)?1024:A<<12;break G}if((-2&t)==43756)break A;if(r=4096,(0|t)!=43766)break s;break A}r=1024;ke:switch(t-44005|0){case 0:case 3:break A;case 8:break ke;default:break s}break g}if(r=5120,(0|t)!=64286)break s;break A}if(r=4096,(0|t)!=66272)break s;break A}if((-4&t)==68108)break d;if((A=t-68097|0)>>>0<6)break Ft;break _e}if(r=4096,t-69446>>>0>=11)break s;break A}if(t-69811>>>0<4)break d;if(r=1024,(0|t)==69633)break A;if(r=4096,t-69817>>>0>=2)break s;break A}switch(r=1024,t-69888|0){case 51:case 52:case 115:break g;case 0:case 1:case 2:case 39:case 40:case 41:case 42:case 43:case 45:case 46:case 47:case 48:case 49:case 50:break A}if((-2&t)==70016|t-70070>>>0<9)break A;if(r=4096,t-70090>>>0>=3)break s;break A}if((0|t)==70367)break A}if(t-70371>>>0<6)break A;if(r=4096,t-70377>>>0>=2)break s;break A}if((-2&t)==70400)break d;r=4096;v:switch(t-70460|0){case 0:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 52:case 53:case 54:case 55:case 56:break A;case 4:break v;default:break s}break d}if((0|t)==70722)break g;if(t-70723>>>0<2)break d;if((A=t-70835|0)>>>0<=13)break _;break Te}if((A=t-71090|0)>>>0<12)break Ot;break Qe}switch(t-71339|0){case 0:case 2:break A;default:break re}}if(t-71344>>>0<6)break A;if(r=4096,(0|t)!=71351)break s;break A}if(r=1024,t-71727>>>0<10)break A;if(r=4096,t-71737>>>0>=2)break s;break A}if((0|t)==72244)break g;if(t-72245>>>0<10)break d;if(r=4096,(0|t)==72263)break A;if(t-72273>>>0<11)break d;if(r=1024,t-72330>>>0<13)break A;r=(A=(0|t)==72345)>>>20|0,A=(t=(0|t)==72344)?8192:A<<12;break Y}if((A=t-72752|0)>>>0<16)break Nt;break Pe}if(r=1024,t-73459>>>0>=2)break s;break A}if(r=1024,t-92976>>>0>=7)break s;break A}if(r=1024,(0|t)!=113822)break s;break A}if(r=1024,t-122888>>>0<17)break A;if((t=t-122880|0)>>>0>=43)break s;A=e[(t=82816+(t<<3)|0)>>2];break p}if(r=12288,t-125252>>>0<3||(r=1024,(0|t)==125255)||(r=4096,t-125256>>>0<3))break A;break s}if(!(1<<A&12479))break Te;break d}break d;case 14:u:{if((0|(A=-256&t))!=120576){if((0|A)!=65280){if(A||(r=768,n=66,t-48>>>0>=10))break u;break A}if(r=256,t-65296>>>0>=10)break u;break A}if(r=128,t-120782>>>0<50)break A}break s;case 15:u:{if((0|(A=-256&t))!=12288){if((0|A)!=8448)break u;A=(t=(0|(r=-16&t))==8560)>>>18|0,n=t<<14,r=(t=(0|r)==8544)?32768:n;break w}if(t-12321>>>0<9||t-12344>>>0<3)return fe=0,2048;if(r=2048,(0|t)==12295)break A}break s;case 16:u:{_:{T:{if((0|(A=-256&t))<=9215){if((0|A)==4864)break T;if((0|A)!=6400||(r=134217728,(0|t)!=6618))break u;break A}if((0|A)==9216)break _;if((0|A)!=127232)break u;if(r=0,n=-2147483648,(0|t)==127232)break A;if(n=268435456,t-127233>>>0>=10)break u;break A}if(r=134217728,t-4969>>>0>=9)break u;break A}if(r=0,n=-2147483648,t-9352>>>0<20)break A}break s;case 17:n=(t=(0|t)==8256)>>>25|0,t<<=7;break F;
2810case 18:u:{_:{T:{Q:{if((0|(A=-256&t))<=11775){if((0|A)<=6143){if(r=-2147483624,!A)break A;if((0|A)!=1280||(r=24,(0|t)!=1418))break u;break A}if((0|A)==6144)break Q;if((0|A)!=8192)break u;if(r=-2147483624,(-2&t)==8208)break A;t=t-8211>>>0<2,A=-2147483640;break C}if((0|A)<=65023){if((0|A)==11776)break T;if((0|A)!=12288)break u;A=(0|t)==12336,r=(t=(0|t)==12316)||A?-2147483640:8,fe=t?0:A?130:0;break m}if((0|A)==65024)break _;if((0|A)!=65280||(r=24,(0|t)!=65293))break u;break A}if(r=24,(0|t)!=6150)break u;break A}if(r=-2147483624,(0|t)==11799)break A;t=(-2&t)==11834,A=-2147483640;break C}if(r=8,n=8388608,t-65073>>>0<2||(r=152,n=0,(0|t)==65123))break A}return fe=0,8;case 19:u:{_:{T:{Q:{P:{O:{if((0|(A=-256&t))<=11775){if((0|A)<=8959){if(A)break O;break I}if((0|A)==8960)break P;if((0|A)==9984)break Q;if((0|A)!=10496)break s;break W}if((0|A)<=64767){if(r=-2147483648,(0|A)==11776)break A;if((0|A)!=12288)break s;switch(r=-2147483616,t-12301|0){case 0:case 2:break A;default:break T}}if((0|A)==64768)break _;if((0|A)==65024)break u;if((0|A)!=65280)break s;if(r=32,(0|t)==65379)break A;break s}if((0|A)!=8192)break s;switch(t-8318|0){default:if(r=-2147483648,(0|t)!=8262)break s;break A;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break s;case 0:case 16:}break k}switch(r=-2147483520,t-8969|0){case 1:break s;case 0:case 2:break A}if((0|t)!=9002)break s;return fe=0,-2139095040}if(r=-2147483520,(0|t)==10182)break A;break Be}return fe=0,(-2&t)==12318?-2147483616:-2147483648}if(r=-2147483648,(0|t)!=64830)break s;break A}n=(t=!(t-65090&-3))>>>27|0,t<<=5;break F;case 20:case 21:if(!(t&=-256))break b;if(r=-2147483616,(0|t)==8192)break A;break Ye;case 22:u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{Fe:{ke:{Le:{Ze:{Xe:{qe:{Je:{$e:{et:{tt:{At:{rt:{st:{ve:{at:{nt:{it:{ot:{lt:{Ve:{ye:{He:{ct:{ut:{ft:{Ee:{if((0|(A=-256&t))<=43519){if((0|A)<=5887){if((0|A)<=2303){if((0|A)<=1535){if(!A)break Ee;if((0|A)==768)break ft;if((0|A)!=1280)break s;if(r=0,n=538968064,t-1371>>>0<2)break A;switch(n=268435456,t-1373|0){case 0:break A;case 1:break ct;default:break ut}}if((0|A)==1536)break ye;if((0|A)==1792)break Ve;if((0|A)!=2048)break s;if((A=t-2103|0)>>>0<8)break Qt;break Se}if((0|A)<=3839){if((0|A)==2304)break lt;if((0|A)==3328)break ot;if((0|A)!=3584||(r=64,(-2&t)!=3674))break s;break A}if((0|A)<=4863){if((0|A)==3840)break it;if((0|A)!=4096)break s;if(r=268435520,(-2&t)==4170)break A;if(r=0,n=16777216,(0|t)!=4347)break s;break A}if((0|A)==4864)break nt;if((0|A)!=5632)break s;switch(r=64,t-5741|0){case 1:break n;case 0:break A;default:break at}}if((0|A)<=11263){if((0|A)<=6655){if((0|A)==5888)break ve;if((0|A)==6144)break _t;if((0|A)!=6400)break s;A=(0|t)==6469,r=(t=(0|t)==6468)||A?268435520:0,fe=t?536870912:A?1073741824:0;break m}if((0|A)<=7167){if((0|A)==6656)break st;if((0|A)!=6912)break s;if((0|(A=-2&t))!=7002)break rt;break V}if((0|A)==7168)break At;if((0|A)!=8192)break s;switch(r=-2147483520,t-8214|0){case 1:break I;case 0:break A;case 16:break tt;default:break et}}if((0|A)<=41983){if((0|A)==11264)break $e;if((0|A)==11776)break Je;if((0|A)!=12288)break s;switch(r=-2147483584,n=272629760,t-12289|0){case 2:break I;case 0:break A;case 1:break Xe;default:break qe}}if((0|A)<=43007){if((0|A)==41984)break Ze;if((0|A)!=42496)break s;switch(r=64,n=268435456,t-42739|0){case 4:break c;case 0:break n;case 3:break r;case 2:break A;case 1:break ke;default:break Le}}if((0|A)==43008)break Fe;if((0|A)!=43264)break s;switch(r=4096,t-43310|0){case 0:break A;case 1:break V;default:break we}}if((0|A)<=70655){if((0|A)<=67839){if((0|A)<=65279){if((0|A)==43520)break Ie;if((0|A)==43776)break de;if((0|A)!=65024)break s;if(r=0,n=268435456,(0|(l=-2&t))==65040)break A;if((A=t-65042|0)>>>0<8)break Dt;break be}if((0|A)==65280)break fe;if((0|A)==66304)break U;if((0|A)!=67584||(r=64,(0|t)!=67671))break s;break A}if((0|A)<=69375){if((0|A)==67840)break se;if((0|A)==68096)break oe;if((0|A)!=68352)break s;switch(r=64,t-68410|0){case 0:case 1:case 2:case 3:case 4:case 5:case 95:case 96:case 97:case 98:break A;default:break s}}if((0|A)<=69887){if((0|A)==69376)break v;if((0|A)!=69632)break s;if(t-69703>>>0>=2)break ue;break V}if((0|A)==69888)break ce;if((0|A)!=70144)break s;if((A=t-70200|0)>>>0<=4)break ie;if((0|t)!=70313)break s;break V}
2810if((0|A)<=74751){if((0|A)<=71423){if((0|A)==70656)break re;if((0|A)==70912)break ne;if((0|A)!=71168||(r=268435520,t-71233>>>0>=2))break s;break A}if((0|A)<=72703){if((0|A)==71424)break Ae;if((0|A)!=72192)break s;if(t-72258>>>0>=2)break j;break V}if((0|A)==72704)break Z;if((0|A)!=73216||(r=268435520,t-73463>>>0>=2))break s;break A}if((0|A)<=93695){if((0|A)==74752)break O;if((0|A)==92672)break Q;if((0|A)!=92928)break s;if(r=268435520,t-92983>>>0<2)break A;A=(0|t)==92996?268435520:0,A=(t=(0|t)==92985)?64:A;break S}if((0|A)<=121343){if((0|A)==93696)break P;if((0|A)!=113664||(r=268435520,n=-2147483648,(0|t)!=113823))break s;break A}if((0|A)==121344)break Mt;if((0|A)!=125184)break s;r=((0|t)==125279)<<30,A=0,fe=(t=(0|t)==125278)?536870912:r;break i}r=-1879048128,n=536870912;Ee:{dt:{gt:{ht:{switch(t-33|0){default:switch(t-183|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:break Ee;case 8:break gt;case 0:break ht;default:break dt}case 2:case 9:fe=66;break f;case 11:return fe=268435456,-2147483584;case 13:return fe=-2147483648,-1879048128;case 25:return fe=134217728,-2147483584;case 26:return fe=67108864,-2147483584;case 1:case 6:break b;case 0:break A;case 3:case 4:case 5:case 7:case 8:case 10:case 12:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 27:case 28:case 29:break Ee;case 30:}return fe=1073741824,-1879048128}return fe=0,134230016}fe=1078984704;break f}if((0|t)==161)break We}break I}A=(0|t)==903,r=(t=(0|t)==894)?64:A?134217792:0,fe=t?1073741824:A?67108864:0;break m}if((0|t)==1417)break He;if((0|t)!=1475)break s;break ae}fe=1075838976;break o}fe=-2143289344;break a}r=64,n=268435456;ye:switch(t-1548|0){case 15:break r;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 16:case 17:break s;case 0:break A;case 19:break ye;case 18:break V;default:break T}break c}if((A=t-1792|0)>>>0<6)break Pt;if(r=64,n=134217728,(-2&t)==1798)break A;n=67108864;Ve:{ye:{He:switch(t-1800|0){default:switch(t-2040|0){case 1:break Ve;case 0:break ye;default:break s}case 3:break s;case 0:break A;case 1:break He;case 2:case 4:break ae}fe=1073741824;break t}fe=268435456;break t}fe=536870912;break a}A=(0|t)==2405,r=(t=(0|t)==2404)||A?268435520:0,fe=t?-2143289344:A?16777216:0;break m}if(r=0,n=-2143289344,(0|t)!=3572)break s;break A}switch(r=64,t-3848|0){case 5:fe=-2143289344;break t;case 6:fe=16777216;break t;case 0:break A}if(t-3854>>>0<5)break A;if(r=0,n=268435456,(0|t)!=3860)break s;break A}if((A=t-4961|0)>>>0<4)break Tt;if(r=64,n=134217728,t-4965>>>0<2)break A;A=(0|t)==4968,r=(t=(0|t)==4967)||A?268435520:0,fe=t?1073741824:A?16777216:0;break m}if(t-5867>>>0>=3)break s;break A}if(r=268435520,t-5941>>>0<2)break A;if((t=t-6100|0)>>>0>=7)break s;A=e[(t=83240+(t<<3)|0)>>2];break p}if(r=268435520,(-4&t)!=6824)break s;break A}if(r=64,(0|t)==7005)break A;if(r=268435520,(0|A)!=7006)break s;break A}if(t-7227>>>0<2)break V;if(r=64,t-7229>>>0<3||(r=268435520,(-2&t)==7294))break A;if(r=4096,(0|t)!=7379)break s;break A}fe=33554432;break f}if((-8&t)==8224)break I;if(t-8242>>>0<3)break A;if(t-8240>>>0<9)break I;if((A=t-8251|0)>>>0<21)break Gt;break te}if((0|t)==11513){fe=-2147483648;break o}if(r=0,n=1073741824,(-2&t)==11514)break A;if(n=-2147483648,(0|t)!=11518)break s;break A}switch(r=-1879048128,t-11822|0){case 4:case 6:fe=268435456;break f;case 5:fe=-2147483648;break f;case 7:fe=67108864;break f;case 14:return fe=-2147483648,-1879048128;case 19:return fe=268435456,-2147483584;case 30:case 32:return fe=0,-2147483584;case 0:break A}break I}if((0|t)==12349)break N;if((0|t)!=12539)break s;return fe=0,16}return fe=-2143289344,-1879048128}A=(0|t)==42239,r=(t=(0|t)==42238)?64:A?268435520:0,fe=t?268435456:A?-2147483648:0;break m}Le:switch(t-42509|0){case 1:break n;case 0:break A;case 2:break Le;default:break s}break c}fe=134217728;break t}if(t-43126>>>0<2)break V;if(r=268435520,t-43214>>>0>=2)break s;break A}if((0|t)==43463)break ae;if(r=268435520,(-2&t)!=43464)break s;break A}if(t-43613>>>0<3)break V;if(r=64,(0|t)==43743)break A;if(r=268435520,(-2&t)!=43760)break s;break A}if(r=268435520,(0|t)!=44011)break s;break A}r=268435520,n=541065216;fe:switch(t-65281|0){case 1:case 6:return fe=0,32;case 11:fe=272629760;break t;case 13:fe=-2143289344;break a;case 100:return fe=0,16;case 25:fe=138412032;break t;case 26:fe=71303168;break t;case 30:fe=1077936128;break a;case 96:break n;case 59:break k;case 0:break A;case 99:break fe;default:break s}fe=268435456;break t}r=(A=(0|t)==66512)>>>
281026|0,A=(t=(0|t)==66463)?64:A<<6;break Y}if(r=64,(0|t)!=67871)break s;break A}if(r=268435520,(-2&t)==68182)break A;if(r=64,t-68336>>>0>=6)break s;break A}if(r=268435520,t-69461>>>0>=5)break s;break A}if(r=64,t-69705>>>0<5)break A;if(r=268435520,t-69822>>>0>=4)break s;break A}if(t-69953>>>0<2)break V;if((A=t-70085|0)>>>0<=26)break _;break Ne}if((0|A)!=2)break V;break ae}if(r=268435520,t-70731>>>0<2)break A;n=(A=(0|t)==70747)>>>26|0,A=(t=(0|t)==70733)?64:A<<6,fe=t?268435456:n;break i}switch(r=268435520,(-2&t)-71106|0){case 0:break A;case 2:break u}if(r=8192,t-71110>>>0<3)break A;if(r=268435520,t-71113>>>0>=15)break s;break A}if(r=268435520,t-71484>>>0>=3)break s;break A}if(r=268435520,t-72347>>>0<2)break A;if(r=64,t-72353>>>0>=2)break s;break A}if(r=268435520,t-72769>>>0<2)break A;r=(A=(0|t)==72817)>>>26|0,A=(t=(0|t)==72771)?64:A<<6;break Y}if(r=64,n=134217728,t-74865>>>0<2)break A;if(n=0,t-74864>>>0>=5)break s;break A}A=(0|t)==93848?268435520:0,A=(t=(0|t)==93847)?64:A;break S}if(r=268435520,(-2&t)==92782)break A;if(n=-2147483648,(0|t)!=92917)break s;break A}if((0|t)==1748)break n;break s}if(!(1<<A&100663555))break Ne;break V}break ae;case 23:u:{_:{T:{Q:{P:{O:{if((0|(A=-256&t))<=11775){if((0|A)<=8959){if(A)break O;break I}if((0|A)==8960)break P;if((0|A)==9984)break Q;if((0|A)!=10496)break s;break W}if((0|A)<=64767){if((0|A)==11776)break T;if((0|A)!=12288)break s;if((t=t-12300|0)>>>0<=17&&(r=-2147483616,1<<t&131077))break A;break I}if((0|A)==64768)break _;if((0|A)==65024)break u;if((0|A)!=65280)break s;if(r=32,(0|t)==65378)break A;break s}if((0|A)!=8192)break s;switch(r=-2147483616,t-8218|0){case 1:case 2:case 3:break s;case 0:case 4:break A}switch(t-8317|0){default:if((0|t)!=8261)break s;break I;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break s;case 0:case 16:}break k}switch(r=-2147483520,t-8968|0){case 1:break s;case 0:case 2:break A}if((0|t)!=9001)break s;return fe=0,-2139095040}if(r=-2147483520,(0|t)==10181)break A;break Be}return fe=0,(0|t)==11842?-2147483616:-2147483648}if(r=-2147483648,(0|t)!=64831)break s;break A}r=(t=!(t-65089&-3))>>>27|0,t<<=5;break B;case 24:r=(t=t>>>0<256)>>>1|0,t<<=31;break B;case 25:u:{_:{T:{Q:{P:{O:{Z:{j:{if((0|(A=-256&t))<=12287){if((0|A)<=767){if(!A)break j;if((0|A)!=512)break u;if(t-751>>>0>=17)break Z;break g}if((0|A)==768)break O;if((0|A)!=7936)break u;switch(r=4096,t-8125|0){case 0:case 2:case 3:case 4:case 16:case 17:case 18:case 32:case 33:case 34:case 48:case 49:case 50:case 64:case 65:break A;default:break u}}if((0|A)<=43775){if((0|A)==12288)break P;if((0|A)!=42752||(r=4096,(-2&t)!=42784))break u;break A}if((0|A)==43776)break Q;if((0|A)==65280)break T;if(r=0,n=78,(0|A)!=127744)break u;break A}switch(t-168|0){default:r=-2147479424;j:switch(t-94|0){case 0:break A;case 2:break j;default:break u}return fe=0,-2147479552;case 0:case 7:break g;case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 10:case 11:case 13:case 14:case 15:break u;case 12:case 16:}break g}if((0|t)==749|t-741>>>0<7)break g;if(t-706>>>0>=4)break _;break g}if((t=t-885|0)>>>0>16||(r=4096,!(1<<t&98305)))break u;break A}if(r=67112960,t-12443>>>0>=2)break u;break A}if(r=4096,(0|t)!=43867)break u;break A}switch(r=4224,t-65342|0){default:if((0|t)!=65507)break u;break;case 0:break A;case 1:break u;case 2:}break g}if(r=4096,t-722>>>0<14)break A}break s;case 26:u:{_:{T:{Q:{P:{O:{if((0|(A=-256&t))<=9471){if((0|A)<=8447){if(A)break u;break I}if((0|A)==8448)break O;if((0|A)==8704)break P;if(r=-2147483648,(0|A)!=8960)break s;break A}if((0|A)<=10495){if((0|A)==9472)break Q;if((0|A)==9728)break T;if((0|A)==9984)break I;break s}if((0|A)==10496)break _;if((0|A)==10752)break I;if(r=-2147483648,(0|A)!=11008)break s;break A}if((0|t)==8472)return fe=0,67108864;if((0|t)==8596)break K;if(r=-2147483648,t>>>0<=8591)break s;break A}if(r=-2147483640,(0|t)==8722)break A;A=-2147483648,fe=(t=t-8942>>>0<4)?33554432:0;break i}if(r=-2147483648,n=130,t-9723>>>0<2)break A;A=-2147483648,fe=(t=t-9725>>>0<2)?134:0;break i}if(r=-2147483648,n=128,(0|t)==9839)break A;break I}
2810if(r=-2147483648,n=130,(-2&t)==10548)break A;A=-2147483648,fe=(t=(0|t)==10626)?134217728:0;break i}if((0|A)==8192)break Ue;break s;case 27:u:{_:{T:{Q:{P:{O:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{Fe:{ke:{if((0|(A=-256&t))<=12287){if((0|A)<=9727){if((0|A)<=8959){if(!A)break ke;if((0|A)!=8448)break s;switch(r=0,n=130,t-8482|0){case 7:break k;case 0:break A;case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 10:case 11:break de;case 12:break we;default:break Fe}}if((0|A)==8960)break fe;if((0|A)==9216)break U;if((0|A)!=9472)break s;switch(r=-2147483520,(-2&t)-9632|0){case 0:break A;case 10:break K;default:break se}}if((0|A)<=11007){if((0|A)==9728)break oe;if((0|A)==9984)break v;if(r=-2147483648,(0|A)!=10240)break s;break A}if((0|A)==11008)break ue;if((0|A)==11776)break ce;if((0|A)!=12032)break s;if(r=1048576,t>>>0<12246)break A;switch(r=262144,(-2&t)-12272|0){case 0:break A;case 2:break u;default:break ie}}if((0|A)<=127999){if((0|A)<=127231){if((0|A)==12288)break re;if((0|A)==12800)break ne;if((0|A)!=126976)break s;A=(0|t)==127183,r=0,fe=(t=(0|t)==126980)||A?134:128;break m}if((0|A)==127232)break Ae;if((0|A)==127488)break j;if((0|A)!=127744)break s;if(t>>>0>=127777)break Z;break L}if((0|A)<=128767){if((0|A)==128e3)break O;if((0|A)==128256)break P;if((0|A)!=128512)break s;if((A=t-128581|0)>>>0<11)break bt;break ze}if((0|A)==128768)break Q;if((0|A)==129280)break T;if((0|A)!=129536)break s;fe=128;break o}A=(0|t)==174,r=-2147483648,fe=(t=(0|t)==169)||A?130:0;break m}switch(t-8616|0){case 0:break I;case 1:case 2:break Ie;default:break de}}return fe=0,67108864}return fe=130,-2147483520}if(r=-2147483520,t-8597>>>0<5)break A;if(t-8604>>>0<18)break W;if((A=t-8624|0)>>>0<8)break xt;break Oe}if(t>>>0<8968)break I;if((0|(A=-2&t))==8986)break l;if(t-8972>>>0<20|t-8994>>>0<6)break I;if((0|t)==9e3)break K;if(t-9003>>>0<81)break I;if(r=-2147483648,n=128,(0|t)==9096)break A;if(t-9085>>>0<30)break I;if(r=-2147483520,n=0,(0|A)==9140)break A;switch(t-9143|0){case 0:case 25:break A;case 24:break K}if(t-9140>>>0<40)break I;if((0|t)==9186)break A;if((A=t-9193|0)>>>0<4)break l;switch(r=-2147483648,n=134,t-9200|0){case 0:case 3:break A}if(A>>>0<11)break K;if(n=130,t-9208>>>0<3)break A;if(n=0,t>>>0<=9186)break s;break A}if(r=-2147483648,t-9216>>>0<75||(r=33792,n=130,(0|t)==9410)||(n=0,t-9398>>>0<26))break A;if(r=17408,t-9424>>>0>=26)break s;break A}if(t-9646>>>0<8)break W;if(n=130,(0|t)==9654)break A;if((-4&t)==9660)break W;switch(t-9664|0){case 0:break A;case 6:case 7:case 10:case 11:case 15:case 16:case 17:case 18:case 19:case 34:case 36:break W}return fe=0,t-9703>>>0<6?-2147483520:-2147483648}oe:switch((-16&t)-9728>>>4|0){case 0:if(t>>>0<9733)break K;r=-2147483520,n=128;se:switch(t-9733|0){case 0:break A;case 9:break se;case 1:break W;default:break D}break K;case 2:if((A=t-9760|0)>>>0<11)break Et;if(r=-2147483648,n=130,t>>>0<=9773)break D;break A;case 3:if(r=-2147483648,n=130,t-9784>>>0>=3)break D;break A;case 4:switch(r=-2147483520,n=130,t-9792|0){case 0:case 2:break A}if(r=-2147483648,n=134,t>>>0<=9799)break D;break A;case 5:if(r=-2147483648,n=134,t>>>0<9812)break A;if(n=130,(0|t)!=9823)break D;break A;case 6:if((0|t)==9734)break W;if((0|t)==9824)return fe=130,-2147483520;if(r=-2147483520,n=128,t-9825>>>0<2)break A;if((A=t-9827|0)>>>0<6)break yt;break Ce;case 8:if(r=-2147483648,t>>>0<=9861)break D;break A;case 10:switch(r=-2147483648,n=130,t-9888|0){case 1:break l;case 0:break A}if(n=134,(-2&t)!=9898)break D;break A;case 11:if(r=-2147483648,n=130,(-2&t)==9904)break A;if(n=134,t-9917>>>0>=2)break D;break A;case 12:if((-2&t)==9924)break l;r=-2147483648,n=130;se:switch(t-9928|0){case 0:case 7:break A;case 6:break se;default:break D}break l;case 14:A=(0|t)==9962,r=-2147483648,fe=(t=(0|t)==9961)?130:A?134:128;break m;case 13:break wt;case 9:break kt;case 15:break oe;case 7:break vt;case 1:break Bt;default:break D}if((0|t)==9972|t>>>0<9970)break K;if(r=-2147483648,n=134,t>>>0<9974||(0|t)!=9974&&(n=130,t>>>0<9977))break A;if((t=t-9977|0)>>>0<5)break It;break D}v:{oe:{se:{U:{fe:switch((-16&t)-9984>>>4|0){case 0:if(r=0,n=130,(0|t)==9986||(n=128,t>>>0<9989)||(n=134,(0|t)==9989))break v;switch(n=150,(-2&t)-9994|0){case 0:break v;case 2:break se}if(n=130,t-9992>>>0<6)break v;A=(0|t)==9999,r=0,n=(t=(0|t)==9998)?128:A?130:0;break v;case 1:if(r=0,n=128,t>>>0<10002)break v;if((t=t-10002|0)>>>0>11||(n=130,!(1<<t&2069)))break U;break v;case 2:A=(0|t)==10024,r=0,n=(t=(0|t)==10017)?130:A?134:0;break v;case 4:r=0,n=130;de:switch(t-10052|0){case 0:case 3:break v;case 8:case 10:break de;default:break U}n=134;break v;case 5:if(r=0,n=1073741958,t-10067>>>0<2)break v;n=(t=t-10069&-3)?0:536871046;break v;case 6:if((A=t-10082|0)>>>0<3)break oe;if(r=0,n=128,t>>>0<=10084)break U;break v;case 9:if(r=0,n=134,t-10133>>>0>=3)break U;break v;case 10:if(r=0,n=130,(0|t)!=10145)break U;break v;case 11:A=(0|t)==10175,r=0,n=(t=(0|t)==10160)||A?134:0;break v;case 3:break fe;default:break U}if(r=0,n=130,t-10035>>>0<2)break v}r=0,n=0;break v}n=146;break v}r=e[(t=83992+(A<<3)|0)>>2],n=e[t+4>>2]}return fe=n,-2147483648|r}
2810if(r=-2147483648,n=130,t-11013>>>0<3||(n=134,t-11035>>>0<2))break A;A=(0|t)==11093,r=-2147483648,fe=(t=(0|t)==11088)||A?134:0;break m}if(t-11904>>>0>=26)break _;return fe=0,1048576}if(t-12276>>>0>=8)break s;break A}if((t=t-12306|0)>>>0>14||(r=-2147483648,!(1<<t&16387)))break s;break A}A=0,fe=(t=t-12951&-3)?0:130;break i}if(r=0,n=128,(0|t)==127279)break A;if(t-127280>>>0<26||t-127312>>>0<26)return fe=0,33792;if((A=t-127344|0)>>>0<=15&&(r=33792,n=130,1<<A&49155)||(r=33792,n=0,A>>>0<26))break A;if((0|t)==127374)break L;if(r=0,n=134,t-127377>>>0<10)break A;if(n=102,t>>>0<=127461)break s;break A}r=0,n=134;j:{switch(t-127489|0){case 0:case 25:break A;case 1:break N;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:break j}switch(t-127535|0){case 0:break A;case 8:break N;default:break j}}if((-2&t)==127568|t-127538>>>0<9)break A;if(n=128,t>>>0<=127583)break s;break A}if((0|t)==127777)break N;if(t-127789>>>0<9|t-127799>>>0<70)break L;if((0|t)==127877)break X;if(t-127870>>>0<22)break L;if(t-127780>>>0<112)break N;switch(r=0,n=130,t-127894|0){case 44:case 45:case 46:case 49:break X;case 0:case 1:case 3:case 4:case 5:break A}if(t-127904>>>0<42)break L;if(n=150,(0|t)==127946||(n=146,t-127947>>>0<2))break A;if(t-127951>>>0<5)break L;if(n=134,t-127968>>>0<17||(n=130,t-127902>>>0<83))break A;if((A=t-127987|0)>>>0<5)break Ct;break Ke}switch(r=0,n=130,t-128063|0){case 0:case 2:break A}if((0|t)==128124|(-5&t)-128129>>>0<3|(0|t)==128110|t-128112>>>0<9||(-2&t)==128066|t-128102>>>0<4|t-128070>>>0<11)break X;switch(t-128253|0){case 1:fe=128;break o;case 0:break N}if(n=150,(0|t)==128170)break A;break L}if(t>>>0<128318)break L;if(r=0,t>>>0<128326)break A;if(t-128329>>>0<2)break N;if(t-128331>>>0<4|t-128336>>>0<24)break L;if(t-128367>>>0<2)break N;if((-2&t)==128372){fe=146;break o}if(t-128371>>>0<7)break N;if(n=150,!(A=t-128378|0))break A;if((0|A)==13|t-128394>>>0<4)break N;if(n=146,(0|t)==128400||(n=150,t-128405>>>0<2))break A;switch(n=134,t-128420|0){case 0:break A;case 1:case 4:case 13:case 14:case 24:case 30:case 31:case 32:case 45:case 46:case 47:case 56:case 57:case 58:case 61:case 63:case 68:case 75:case 79:case 86:break N}t=t>>>0>128506,A=0;break h}if(r=0,n=128,t-128981>>>0>=4)break s;break A}if(t>>>0<129292)break s;if(t-129328>>>0<10)break X;switch(r=0,n=150,t-129304|0){case 35:break s;case 0:case 1:case 2:case 3:case 4:case 6:case 7:case 14:break A}if(t-129341>>>0<2)break X;if(n=0,(0|t)==129350||(n=198,(-4&t)==129456))break A;if((A=t-129461|0)>>>0<5)break mt;break pt}if(r=1048576,t-11931>>>0<89)break A;break s}return fe=0,524288;case 29:return fe=16777216,1073741825;case 28:break A;case 30:break jt;default:break s}return fe=0,(0|t)==32?1073741825:1}if(!(1079>>>A&1))break ge;A=e[(t=81344+(A<<3)|0)>>2];break p}if(557553>>>A&1)break k;if((-4&t)!=8508)break Me;break A}if(!(207>>>A&1))break me;break d}if(r=1024,!(1017>>>A&1))break De;break A}if(r=1024,!(32895>>>A&1))break Ge;break A}if(r=1024,!(55>>>A&1))break _e;break A}if(r=1024,!(3087>>>A&1))break Qe;break A}if((t=t-71453|0)>>>0>=15)break s;A=e[(t=82312+(t<<3)|0)>>2];break p}if(!(49023>>>A&1))break Pe;A=e[(t=82432+(A<<3)|0)>>2];break p}if(!(514623>>>A&1))break J;A=e[(t=82664+(A<<3)|0)>>2];break p}A=e[(t=83160+(A<<3)|0)>>2];break p}if(r=268435520,!(197>>>A&1))break Se;break A}A=e[(t=83208+(A<<3)|0)>>2];break p}if((t=t-6145|0)>>>0>=10)break s;A=e[(t=83296+(t<<3)|0)>>2];break p}if(!(1077711>>>A&1))break te;A=e[(t=83376+(A<<3)|0)>>2];break p}if(!(159>>>A&1))break be;A=e[(t=83544+(A<<3)|0)>>2];break p}if((t=t-121479|0)>>>0>=4)break s;A=e[(t=83608+(t<<3)|0)>>2];break p}if(!(195>>>A&1))break Oe;break W}if((t=t-9745|0)>>>0>=13)break D;A=e[(t=83640+(t<<3)|0)>>2];break p}if(1101>>>A&1)break K;if(r=-2147483648,n=130,t>>>0<=9773)break D;break A}if(!(45>>>A&1))break Ce;A=e[(t=83744+(A<<3)|0)>>2];break p}if((t=t-9851|0)>>>0>=5)break D;A=e[(t=83792+(t<<3)|0)>>2];break p}if((t=t-9874|0)>>>0>=11)break D;A=e[(t=83832+(t<<3)|0)>>2];break p}if((t=t-9937|0)>>>0>=4)break D;A=e[(t=83920+(t<<3)|0)>>2];break p}A=e[(t=83952+(t<<3)|0)>>2];break p}if(!(23>>>A&1))break Ke;A=e[(t=84016+(A<<3)|0)>>2];break p}
2810if(r=0,n=150,!(1991>>>A&1))break ze;break A}if(n=150,27>>>A&1)break A}A=0,fe=(t=t-129489>>>0<13)?150:134;break i}t=t-127992>>>0<3,A=0;break h}if(t-9837>>>0<2)break A}fe=128;break f}if(t-8623>>>0<13)break I;if(t-8636>>>0<18)break W;if((A=t-8656|0)>>>0<22&&(n=0,3157995>>>A&1)||(r=-2147483648,n=0,t-8661>>>0<31))break A;break s}if(t>>>0<128592)break L;if(r=0,n=0,t>>>0<128640)break A;if(!((A=t-128675|0)>>>0>29|!(1<<A&537788417)))break X;if(t>>>0<128710)break L;if(n=150,(0|t)==128716)break A;if(t-128715>>>0<5)break N;if(t-128720>>>0<3)break L;if(!((A=t-128736|0)>>>0>=10|!(575>>>A&1)))break N;if(n=134,t-128747>>>0<2)break A;switch(n=130,t-128752|0){case 0:case 3:break A}t=t-128756>>>0<6,A=0;break h}switch(r=-2147483648,t-8260|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:break s;case 0:case 14:break A}if((0|(t=t-8315|0))!=16&&t)break s;return fe=0,8}if(r=268435520,n=1073741824,(0|t)!=69955)break s;break A}if(t-8266>>>0<8)break I;if(r=-2147483640,(0|t)==8275)break A;if(r=-2147483648,t-8277>>>0>=10)break s;break A}fe=542113792;break f}if(r=-2147483648,n=0,t-65093>>>0<2||(r=64,n=268435456,(0|l)==65104))break A;r=268435520,n=-2147483648;be:switch(t-65106|0){case 3:fe=134217728;break t;case 5:fe=536870912;break a;case 4:break c;case 2:break r;case 0:break A;case 15:case 22:break be;default:break s}break k}if((0|t)==2142)break ae;if(r=64,t-2096>>>0<15)break A;break s}if(r=1024,t-72850>>>0<22)break A;if((t=t-72874|0)>>>0>=13)break s;A=e[(t=82560+(t<<3)|0)>>2];break p}if(r=4096,t-71103>>>0<2)break A;if(r=1024,(-2&t)!=71132)break s;break A}if((0|t)==70726)break g;if(r=4096,(-2&t)!=70850)break s;break A}if(r=4096,t-68325>>>0>=2)break s;break A}if((0|t)==6109)break g;if(r=4096,t-6089>>>0>=11)break s;break A}switch(t-3959|0){case 0:case 2:return fe=0,8389632}if((0|A)==3968|t-3953>>>0<14)break d;if(!((A=t-3970|0)>>>0>=6|!(55>>>A&1)))break g;if(t-3981>>>0<11)break d;if(r=1024,t-3993>>>0<36)break A;if(r=4096,(0|t)!=4038)break s;break A}if(t-3655>>>0<6)break g;if(!((A=t-3761|0)>>>0>11|!(1<<A&3577)))break d;switch(r=1024,t-3661|0){case 1:break g;case 0:break A}if(r=4096,t-3784>>>0<5)break A;if(r=1024,(0|t)!=3789)break s;break A}if(t-1770>>>0<3)break A;if(r=1024,(0|t)!=1773)break s;break A}if((-2&t)==73028)break g;switch(r=1024,t-73104|0){default:if((0|t)!=73031)break s;break A;case 2:case 3:case 4:case 6:break s;case 0:case 1:case 5:break A;case 7:}break g}if((t=t-8492|0)>>>0>=30)break s;A=e[(t=81704+(t<<3)|0)>>2];break p}r=0;break z}n=(A=(-3&t)==43712)>>>20|0,r=A<<12}if((0|(i=-65536&t))==131072)break Re;if((0|i)==65536)break pe;if(A=r,l=n,i)break he}if(t-13312>>>0<6582||t-19968>>>0<20976)break e;if(i=2048,t-63744>>>0<366)return fe=l,2048|A;if(r=A,n=l,t-64112>>>0>=106)break he;break H}if(i=2099200,t-183984>>>0<7473|t-178208>>>0<5762|t-177984>>>0<222|t-131072>>>0<42711||t-173824>>>0<4149||(i=2048,t-194560>>>0<542))break H;break he}if(i=2048,t-110960>>>0<396|t-94208>>>0<6125|t-100352>>>0<755)break H}i=0}return fe=n,r|i}if((-4&t)==8508)break k;if(r=128,!(t-8517>>>0<3)&&(r=16777344,(-2&t)!=8520))break s}fe=n;break m}A=(t=t>>>0>131069)?65536:0,fe=t?0:128;break i}if((0|t)==11776)break I}fe=0;break o}fe=0;break f}return fe=0,4194304}return fe=0,128}return fe=0,16777344}return fe=0,4096}return fe=0,1024}return fe=0,-2147483520}return fe=0,t-10214>>>0<10?-2147483520:-2147483648}fe=0;break a}fe=0;break t}fe=130;break o}fe=130;break f}fe=134;break o}return fe=150,0}fe=0;break i}fe=t?0:n;break i}return fe=A,t}return 131072}return fe=0,16777216}fe=t?0:r;break i}return fe=n,t}return fe=r,t}fe=t?0:A;break m}return fe=0,8192}fe=e[t+4>>2];break i}fe=t?8388608:0;break i}return r}return fe=0,-2147483616}fe=t?134:128}return A}fe=134}return-2147483648}return 0}fe=1073741824;break a}fe=-2147483648}return 268435520}fe=67108864}return 64}return fe=l,2099200|A}function st(t){var A,r=0,n=0,i=0,l=0,h=0;(A=aA(8244))&&(e[A+328>>2]=2,g[132848]=0,e[A+684>>2]=0,e[A+688>>2]=0,e[A+320>>2]=0,e[A+324>>2]=0,g[A+268|0]=0,g[A+228|0]=0,e[A+8216>>2]=0,e[A+8220>>2]=0,e[A+224>>2]=104944,e[A+216>>2]=383,e[A+220>>2]=96,IA(A+344|0,0,292),e[A+8196>>
vendor: 2,553 bytes, line 2810
28102]=0,e[(r=A+8188|0)>>2]=0,e[r+4>>2]=0,e[A+8180>>2]=0,e[A+8184>>2]=0,g[A+460|0]=22,g[A+461|0]=129,g[A+466|0]=38,g[A+462|0]=38,g[A+463|0]=36,g[A+464|0]=22,g[A+465|0]=224,g[A+456|0]=22,g[A+457|0]=22,g[A+458|0]=44,g[A+459|0]=22,g[A+454|0]=46,g[A+455|0]=129,g[A+446|0]=22,g[A+447|0]=38,g[A+448|0]=28,g[A+449|0]=193,g[A+450|0]=38,g[A+451|0]=22,g[A+452|0]=46,g[A+453|0]=46,g[A+441|0]=129,g[A+442|0]=38,g[A+443|0]=22,g[A+444|0]=38,g[A+445|0]=193,e[A+332>>2]=104912,e[A+336>>2]=104916,e[A+340>>2]=105232,g[A+296|0]=18,g[A+297|0]=18,v[A+304>>1]=182,v[A+306>>1]=140,g[A+298|0]=20,v[A+308>>1]=220,v[A+310>>1]=220,v[A+312>>1]=220,g[A+299|0]=20,g[A+300|0]=20,v[A+314>>1]=240,g[A+301|0]=22,v[A+316>>1]=260,v[A+318>>1]=280,g[A+302|0]=22,g[A+303|0]=20,r=IA(A,0,212),e[r+200>>2]=20,e[r+192>>2]=25966,e[r+196>>2]=500,e[r+80>>2]=95,e[r+16>>2]=1,e[r+20>>2]=3,e[r+8>>2]=2,e[r+52>>2]=19,g[r+168|0]=3,e[r+92>>2]=2,e[r+72>>2]=4,e[r+40>>2]=115,e[r+44>>2]=95,e[r+140>>2]=105244,bo(r,201),e[r+120>>2]=2,e[r+124>>2]=44,e[r+164>>2]=100,e[r+128>>2]=46,e[r+132>>2]=14,e[r+112>>2]=1227133512,e[r+116>>2]=49,e[r+104>>2]=1,n=e[26313],e[r+636>>2]=e[26312],e[r+640>>2]=n,n=e[26315],e[r+644>>2]=e[26314],e[r+648>>2]=n,n=e[26317],e[r+652>>2]=e[26316],e[r+656>>2]=n,n=e[26319],e[r+660>>2]=e[26318],e[r+664>>2]=n,n=e[26321],e[r+668>>2]=e[26320],e[r+672>>2]=n,n=e[26323],e[r+676>>2]=e[26322],e[r+680>>2]=n,n=d[104928]|d[104929]<<8,g[r+160|0]=n,g[r+161|0]=n>>>8,n=d[104924]|d[104925]<<8|d[104926]<<16|d[104927]<<24,g[r+156|0]=n,g[r+157|0]=n>>>8,g[r+158|0]=n>>>16,g[r+159|0]=n>>>24),i=BA(A+228|0,t),r=0;e:{t:if(n=d[0|t]){for(;r=(n<<24>>24)+(r<<8)|0,n=d[0|(t=t+1|0)];);r:{a:{n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{F:{Y:{R:{M:{y:{G:{S:{X:{L:{K:{N:{ae:{V:{Be:{W:{d:{g:{$:{k:{ee:{I:{s:{Ye:{q:{A:{ge:{H:{he:{pe:{Re:{le:{z:{xe:{E:{Me:{J:{me:{De:{je:{Ge:{_e:{Te:{Qe:{Pe:{Se:{be:{We:{te:{Ne:{Ue:{ze:{Oe:{D:{Ce:{if((0|r)<=28008){if((0|r)<=26464){if((0|r)<=25696){switch(r-24934|0){case 20:break i;case 1:case 2:case 3:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 18:case 19:break t;case 8:break J;case 12:break Se;case 7:break be;case 0:break We;case 13:break Ce}switch(r-25189|0){case 1:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 11:case 12:case 13:break t;case 14:break ge;case 2:break Qe;case 0:break Pe;case 9:break Ce}switch(r-25441|0){case 18:break B;case 0:break J;case 24:break _e;default:break t}}switch(r-25964|0){case 1:case 4:case 5:case 6:break t;case 8:break xe;case 9:break Me;case 7:break J;case 3:break me;case 2:break De;case 0:break Oe}
2810switch(r-26209|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:break t;case 17:break le;case 8:break z;case 0:break E}switch(r-25697|0){case 4:break je;case 0:break Ge;default:break t}}if((0|r)<=27488){switch(r-26729|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 13:case 14:case 15:break t;case 16:break Ye;case 12:break q;case 11:break A;case 9:break ge;case 0:break H}switch(r-26977|0){case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 15:case 16:case 17:break t;case 19:break k;case 18:break ee;case 3:break I;case 14:break s;case 0:break J}switch(r-26465|0){case 20:break H;case 13:break he;case 0:case 3:break pe;default:break t}}switch(r-27489|0){case 13:break h;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 12:case 15:case 16:case 17:case 18:case 19:case 21:case 22:case 23:break t;case 24:break ae;case 20:break V;case 14:break Be;case 11:break W;case 10:break d;case 0:break g}switch(r-27745|0){case 19:break K;case 0:break N;case 21:break Ue;default:break t}}if((0|r)<=29792){if((0|r)<=28768){switch(r-28009|0){case 3:break h;case 11:break X;case 2:break L;case 1:case 4:case 5:case 6:case 7:case 8:case 12:case 13:case 14:case 15:break t;case 10:break I;case 9:break H;case 0:case 16:break te}switch(r-28258|0){case 0:break G;case 10:break S;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:break t;case 3:break H}switch(r-28525|0){case 0:break y;case 5:break H;default:break t}}if((0|r)<=29539){switch(r-28769|0){case 19:break R;case 11:break M;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 20:case 21:case 22:case 23:break t;case 0:break H;case 24:break te}switch(r-29295|0){case 6:break F;case 0:break Y;case 1:case 2:case 3:case 4:case 5:break t}if((0|r)==29045)break te;break t}switch(r-29540|0){case 19:break b;case 18:break m;case 13:break C;case 8:break x;case 5:break w;case 7:break B;case 14:break ge;case 0:break o;default:break t}}if((0|r)>6514801)break D;if((0|r)<=30058)switch(r-29793|0){case 19:break l;case 17:break i;case 0:case 4:break h;case 13:break b;case 7:break te;default:break t}if((0|r)<=30312)switch(r-30059|0){case 0:break f;case 15:break te;case 7:break o;default:break t}if((0|r)==30313)break c;if((0|r)==31336)break n;if((0|r)!=6451321)break t}if(e[A+296>>2]=303174162,e[A+300>>2]=370545684,e[A+600>>2]=2432,e[A+8>>2]=0,e[A+12>>2]=65540,e[A+100>>2]=e[A+96>>2],t=e[25889],e[A+304>>2]=e[25888],e[A+308>>2]=t,t=e[25891],e[A+312>>2]=e[25890],e[A+316>>2]=t,xa(A),g[A+345|0]=2|d[A+345|0],g[A+406|0]=16|d[A+406|0],g[A+407|0]=16|d[A+407|0],g[A+408|0]=16|d[A+408|0],g[A+409|0]=16|d[A+409|0],g[A+410|0]=16|d[A+410|0],g[A+411|0]=16|d[A+411|0],g[A+412|0]=16|d[A+412|0],g[A+413|0]=16|d[A+413|0],g[A+414|0]=16|d[A+414|0],g[A+415|0]=16|d[A+415|0],g[A+416|0]=16|d[A+416|0],g[A+417|0]=16|d[A+417|0],g[A+418|0]=16|d[A+418|0],g[A+419|0]=16|d[A+419|0],g[A+420|0]=16|d[A+420|0],g[A+456|0]=4|d[A+456|0],g[A+457|0]=4|d[A+457|0],e[A+112>>2]=613567144,e[A+104>>2]=16,(0|r)!=6451321)break e;e[A+104>>2]=1,e[A+108>>2]=512,r=6451321;break e}if((0|r)>7364975)break Ne;if((0|r)>6840682)break ze;if((0|r)==6514802)break Te;if((0|r)==6516078)break n;if((0|r)!=6779491)break t}if(e[A+600>>2]=896,e[A+328>>2]=8,e[A+296>>2]=336858127,e[A+300>>2]=353768980,e[A+332>>2]=103632,t=e[25905],e[A+304>>2]=e[25904],e[A+308>>2]=t,t=e[25907],e[A+312>>2]=e[25906],e[A+316>>2]=t,IA(A+344|0,0,256),g[A+388|0]=129,g[A+389|0]=129,g[A+390|0]=129,g[A+391|0]=129,g[A+420|0]=129,g[A+421|0]=129,g[A+422|0]=129,g[A+423|0]=129,g[A+360|0]=129,g[A+392|0]=129,g[A+393|0]=129,g[A+417|0]=129,g[A+418|0]=129,g[A+419|0]=129,g[A+420|0]=129,g[A+408|0]=6,g[A+409|0]=4,g[A+410|0]=6,g[A+411|0]=6,g[A+412|0]=6,g[A+413|0]=193,g[A+414|0]=6,g[A+415|0]=6,g[A+406|0]=6,g[A+407|0]=129,g[A+398|0]=4,g[A+399|0]=193,g[A+400|0]=6,g[A+401|0]=193,g[A+402|0]=6,g[A+403|0]=4,g[A+404|0]=4,g[A+405|0]=4,g[A+394|0]=4,g[A+395|0]=4,g[A+396|0]=4,g[A+397|0]=193,e[A+44>>2]=130,e[A+8>>2]=2,e[A+12>>2]=6,e[A+16>>2]=0,e[A+20>>2]=2,e[A+104>>2]=264,e[A+108>>2]=6146,g[A+391|0]=193,g[A+389|0]=193,g[A+390|0]=193,g[A+421|0]=193,e[A+100>>2]=e[A+96>>2],g[A+416|0]=4|d[A+416|0],(0|r)!=6779491)break e;e[A+40>>2]=1,r=6779491;break e}if((0|r)==6840683)break Re;if((0|r)==6972015)break $;if((0|r)!=7107687)break t}e[A+296>>2]=134875662,e[A+300>>
vendor: 4,489 bytes, line 2810
28102]=252968960,e[A+328>>2]=5,g[A+169|0]=1,e[A+132>>2]=33,e[A+104>>2]=99336,e[A+8>>2]=0,e[A+12>>2]=262182,t=e[26069],e[A+304>>2]=e[26068],e[A+308>>2]=t,t=e[26071],e[A+312>>2]=e[26070],e[A+316>>2]=t;break e}if((0|r)<=7564649){if((0|r)==7364976)break J;if((0|r)==7435619)break te;if((0|r)!=7563374)break t;e[A+148>>2]=1,e[A+112>>2]=24,e[A+104>>2]=1,e[A+100>>2]=e[A+96>>2],r=7563374;break e}if((0|r)==7564650)break p;if((0|r)==7959909)break n;if((0|r)!=1885958500)break t}e[A+104>>2]=0;break e}e[A+4>>2]=48,e[A+8>>2]=0,e[A+144>>2]=1,e[A+104>>2]=16779472,e[A+32>>2]=1,e[A+24>>2]=1,t=e[25881],e[A+304>>2]=e[25880],e[A+308>>2]=t,t=e[25883],e[A+312>>2]=e[25882],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=24934;break e}e[A+600>>2]=4608,e[A+296>>2]=303173650,e[A+300>>2]=303174162,e[A+8>>2]=0,e[A+12>>2]=36,e[A+104>>2]=1024,e[A+100>>2]=e[A+96>>2],e[A+40>>2]=1,t=e[25865],e[A+304>>2]=e[25864],e[A+308>>2]=t,t=e[25867],e[A+312>>2]=e[25866],e[A+316>>2]=t,r=24941;break e}for(e[A+600>>2]=1536,e[A+224>>2]=0,e[A+216>>2]=1631,e[A+220>>2]=1536,e[A+104>>2]=2884720,e[A+328>>2]=7,e[A+40>>2]=1,oe=r=oe-16|0,e[r+12>>2]=-1,t=89684;i=or(r+12|0,t),(0|(n=e[r+12>>2]))>=33&&(g[0|(l=(A+n|0)-1192|0)]=1|d[0|l]),t=t+i|0,n;);for(e[r+12>>2]=-1,t=89743;i=or(r+12|0,t),(0|(n=e[r+12>>2]))>=33&&(g[0|(l=(A+n|0)-1192|0)]=2|d[0|l]),t=t+i|0,n;);for(e[r+12>>2]=-1,t=89795;i=or(r+12|0,t),(0|(n=e[r+12>>2]))>=33&&(g[0|(l=(A+n|0)-1192|0)]=4|d[0|l]),t=t+i|0,n;);for(e[r+12>>2]=-1,t=89941;i=or(r+12|0,t),(0|(n=e[r+12>>2]))>=33&&(g[0|(l=(A+n|0)-1192|0)]=16|d[0|l]),t=t+i|0,n;);for(e[r+12>>2]=-1,t=90045;i=or(r+12|0,t),(0|(n=e[r+12>>2]))>=33&&(g[0|(l=(A+n|0)-1192|0)]=32|d[0|l]),t=t+i|0,n;);for(e[r+12>>2]=-1,t=90045;i=or(r+12|0,t),(0|(n=e[r+12>>2]))>=33&&(g[0|(l=(A+n|0)-1192|0)]=8|d[0|l]),t=t+i|0,n;);for(e[r+12>>2]=-1,t=90045;i=or(r+12|0,t),(0|(n=e[r+12>>2]))>=33&&(g[0|(l=(A+n|0)-1192|0)]=64|d[0|l]),t=t+i|0,n;);oe=r+16|0,r=24946;break e}e[A+600>>2]=1056,e[A+12>>2]=34,e[A+216>>2]=1118,e[A+220>>2]=1072,IA(A+344|0,0,256),g[A+406|0]=4,g[A+366|0]=4,g[A+367|0]=4,g[A+369|0]=4,g[A+370|0]=4,g[A+371|0]=4,g[A+372|0]=4,g[A+361|0]=4,g[A+362|0]=4,g[A+363|0]=4,g[A+364|0]=4,g[A+373|0]=4,g[A+380|0]=4,g[A+381|0]=4,g[A+382|0]=4,g[A+383|0]=4,g[A+375|0]=4,g[A+376|0]=4,g[A+377|0]=4,g[A+378|0]=4,g[A+384|0]=4,g[A+360|0]=129,e[A+328>>2]=6,e[A+296>>2]=134744588,e[A+300>>2]=286261248,e[A+40>>2]=1,e[A+8>>2]=0,e[A+104>>2]=1032,e[A+108>>2]=66,t=e[25885],e[A+304>>2]=e[25884],e[A+308>>2]=t,t=e[25887],e[A+312>>2]=e[25886],e[A+316>>2]=t,r=25189;break e}Br(A),e[A+328>>2]=6,e[A+56>>2]=2,e[A+36>>2]=263,e[A+40>>2]=1074,e[A+124>>2]=32,e[A+104>>2]=184554728,e[A+8>>2]=2,g[A+386|0]=64&d[A+386|0]|129,r=25191;break e}e[A+12>>2]=262182,e[A+40>>2]=1,r=6514802;break e}e[A+328>>2]=14,e[A+296>>2]=303173393,e[A+300>>2]=336986112,e[A+104>>2]=1024,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=22,e[A+44>>2]=120,t=e[25893],e[A+304>>2]=e[25892],e[A+308>>2]=t,t=e[25895],e[A+312>>2]=e[25894],e[A+316>>2]=t,g[A+463|0]=64&d[A+463|0]|129,g[A+465|0]=64&d[A+465|0]|129,r=25465;break e}e[A+8>>2]=0,e[A+104>>2]=184618072,e[A+32>>2]=1,t=e[26101],e[A+304>>2]=e[26100],e[A+308>>2]=t,t=e[26103],e[A+312>>2]=e[26102],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=25697;break e}e[A+296>>2]=336860180,e[A+300>>2]=336991764,e[A+8>>2]=0,e[A+104>>2]=16846872,e[A>>2]=8,e[A+4>>2]=48,e[A+80>>2]=87,e[A+32>>2]=1,e[A+36>>2]=256,e[A+40>>2]=2,t=e[25897],e[A+304>>2]=e[25896],e[A+308>>2]=t,t=e[25899],e[A+312>>2]=e[25898],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=25701;break e}e[A+132>>2]=33,e[A+104>>2]=16779328,e[A+8>>2]=0,e[A+12>>2]=8,e[A+204>>2]=101,e[A+60>>2]=2,e[A+40>>2]=2,t=e[25901],e[A+304>>2]=e[25900],e[A+308>>2]=t,t=e[25903],e[A+312>>2]=e[25902],e[A+316>>2]=t,g[A+441|0]=64|d[A+441|0],g[A+445|0]=64|d[A+445|0],g[A+449|0]=64|d[A+449|0],g[A+455|0]=64|d[A+455|0],g[A+461|0]=64|d[A+461|0],g[A+465|0]=64|d[A+465|0],r=25966;break e}e[A+328>>2]=4,e[A+296>>2]=336858640,e[A+300>>2]=353768980,e[A+104>>2]=16782344,e[A+20>>2]=2,e[A+12>>2]=22,e[A+4>>2]=2,e[A+8>>2]=2,e[A+332>>2]=103640,t=e[25997],e[A+304>>2]=e[25996],e[A+308>>2]=t,t=e[25999],e[A+312>>2]=e[25998],e[A+316>>2]=t,r=25967;break e}e[A+296>>2]=269422096,e[A+300>>2]=370545684,e[A+104>>2]=86017320,e[A+108>>2]=6144,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=534,e[A+100>>2]=e[A+96>>2],e[A+44>>2]=120,t=e[25913],e[A+304>>2]=e[25912],e[A+308>>2]=t,t=e[25915],e[A+312>>2]=e[25914],e[A+316>>2]=t;J:{me:{if((0|r)<=26976){if((0|r)==24942)break me;if((0|r)!=25441)break J;e[A+12>>2]=566,e[A+336>>2]=103664,r=25441;break e}
2810if((0|r)!=26977){if((0|r)!=7364976)break J;e[A+8>>2]=3,e[A+12>>2]=310,r=7364976;break e}e[A+104>>2]=85984264,r=26977;break e}e[A+104>>2]=153093416,e[A+108>>2]=2048,e[A+140>>2]=103676,r=24942;break e}e[A+40>>2]=2;break e}e[A+296>>2]=303173648,e[A+300>>2]=303174162,e[A+104>>2]=3147080,e[A+12>>2]=65792,e[A+84>>2]=1,t=e[25921],e[A+304>>2]=e[25920],e[A+308>>2]=t,t=e[25923],e[A+312>>2]=e[25922],e[A+316>>2]=t,r=25973;break e}e[A+600>>2]=1536,e[A+216>>2]=1740,e[A+220>>2]=1568,e[A+104>>2]=96,e[A+224>>2]=103696,e[A+340>>2]=103872,e[A+40>>2]=1,r=26209;break e}e[A+328>>2]=5}e[A+104>>2]=86024,e[A+164>>2]=130,g[A+465|0]=64&d[A+465|0]|129;break e}e[A+296>>2]=303173650,e[A+300>>2]=303174162,e[A+8>>2]=3,e[A+12>>2]=36,e[A+144>>2]=2,e[A+104>>2]=118658312,e[A+28>>2]=1,e[A+100>>2]=e[A+96>>2],t=e[25865],e[A+304>>2]=e[25864],e[A+308>>2]=t,t=e[25867],e[A+312>>2]=e[25866],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=26226;break e}v[A+170>>1]=257,e[A+148>>2]=1,e[A+12>>2]=2,r=6840683;break e}e[A+144>>2]=2,e[A+104>>2]=2098176,e[A+8>>2]=0,e[A+12>>2]=32,e[A+40>>2]=3,e[A+28>>2]=1;break e}e[A+8>>2]=3,e[A+100>>2]=e[A+96>>2],r=26478;break e}e[A+328>>2]=18,e[A+296>>2]=320081425,e[A+300>>2]=353768980,e[A+600>>2]=2304,e[A+112>>2]=84648,e[A+104>>2]=16,e[A+8>>2]=6,e[A+12>>2]=65540,e[A+100>>2]=e[A+96>>2],t=e[25973],e[A+304>>2]=e[25972],e[A+308>>2]=t,t=e[25975],e[A+312>>2]=e[25974],e[A+316>>2]=t;H:{he:{pe:{if((0|r)<=28529){if((0|r)==26485)break pe;if((0|r)!=28261)break H;t=e[25861],e[A+304>>2]=e[25860],e[A+308>>2]=t,t=e[25863],e[A+312>>2]=e[25862],e[A+316>>2]=t,e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+132>>2]=22,e[A+112>>2]=-1431655768,e[A+108>>2]=32768|e[A+108>>2],xa(A);break e}if((0|r)==28530)break he;if((0|r)!=28769)break H;e[A+600>>2]=2560,xa(A);break e}t=e[25861],e[A+304>>2]=e[25860],e[A+308>>2]=t,t=e[25863],e[A+312>>2]=e[25862],e[A+316>>2]=t,e[A+600>>2]=2688,e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+8>>2]=2,xa(A);break e}e[A+600>>2]=2816}xa(A);break e}g[0|i]=104,g[i+1|0]=98,g[i+2|0]=115,g[i+3|0]=0,(0|r)!=29554?(t=e[26093],e[A+304>>2]=e[26092],e[A+308>>2]=t,t=e[26095],e[A+312>>2]=e[26094],e[A+316>>2]=t):(t=e[25977],e[A+304>>2]=e[25976],e[A+308>>2]=t,t=e[25979],e[A+312>>2]=e[25978],e[A+316>>2]=t),e[A+328>>2]=3,e[A+296>>2]=336859409,e[A+300>>2]=353768980,v[A+168>>1]=261,e[A+8>>2]=0,e[A+12>>2]=16,e[A+144>>2]=1,e[A+184>>2]=1056,e[A+104>>2]=33572172,e[A+108>>2]=330,e[A+36>>2]=3,g[A+465|0]=64&d[A+465|0]|129,g[A+458|0]=64&d[A+458|0]|129;break e}e[A+104>>2]=17990912,e[A+8>>2]=3,e[A+12>>2]=36,r=26740;break e}e[A+328>>2]=3,e[A+296>>2]=320016657,e[A+300>>2]=353768980,e[A+124>>2]=32,e[A+128>>2]=44,e[A+104>>2]=186758144,e[A+12>>2]=1081398,e[A+16>>2]=2,e[A+4>>2]=32,e[A+8>>2]=0,e[A+116>>2]=899,e[A+120>>2]=1,g[A+169|0]=1,e[A+76>>2]=2,t=e[25981],e[A+304>>2]=e[25980],e[A+308>>2]=t,t=e[25983],e[A+312>>2]=e[25982],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,bo(A,3),r=26741;break e}for(e[A+600>>2]=1328,e[A+8>>2]=3,t=e[25985],e[A+304>>2]=e[25984],e[A+308>>2]=t,t=e[25987],e[A+312>>2]=e[25986],e[A+316>>2]=t,i=IA(A+344|0,0,256),g[A+429|0]=129,g[A+416|0]=129,g[A+403|0]=129,g[A+399|0]=129,g[A+400|0]=129,g[A+397|0]=129,g[A+393|0]=129,n=103952,l=50,h=50;g[0|(t=i+h|0)]=2|d[0|t],t=i+d[n+1|0]|0,g[0|t]=2|d[0|t],t=i+d[n+2|0]|0,g[0|t]=2|d[0|t],h=d[0|(n=n+3|0)],t=103952,(0|n)!=103982;);for(n=A+344|0;g[0|(i=n+l|0)]=4|d[0|i],i=n+d[t+1|0]|0,g[0|i]=4|d[0|i],i=n+d[t+2|0]|0,g[0|i]=4|d[0|i],l=d[0|(t=t+3|0)],(0|t)!=103982;);g[A+168|0]=6,e[A+104>>2]=5128,g[A+413|0]=4|d[A+413|0];break e}e[A+328>>2]=4,e[A+296>>2]=336858640,e[A+300>>2]=353768980,e[A+104>>2]=16782440,e[A+20>>2]=2,e[A+12>>2]=22,e[A+4>>2]=2,e[A+8>>2]=2,e[A+332>>2]=104e3,t=e[25997],e[A+304>>2]=e[25996],e[A+308>>2]=t,t=e[25999],e[A+312>>2]=e[25998],e[A+316>>2]=t,r=26991;break e}e[A+296>>2]=303174160,e[A+300>>2]=353768980,e[A+104>>2]=16781320,e[A+144>>2]=2,e[A+8>>2]=2,e[A+12>>2]=22,t=e[26005],e[A+304>>2]=e[26004],e[A+308>>2]=t,t=e[26007],e[A+312>>2]=e[26006],e[A+316>>2]=t;break e}for(e[A+8>>2]=0,e[A+12>>2]=16,e[A+56>>2]=2,e[A+28>>2]=17,t=e[26009],e[A+304>>2]=e[26008],e[A+308>>2]=t,t=e[26011],e[A+312>>2]=e[26010],e[A+316>>2]=t,t=0,n=A+344|0;g[0|(i=t+n|0)]=231&d[0|i],g[0|(i=n+(1|t)|0)]=231&d[0|i],g[0|(i=n+(2|t)|0)]=231&d[0|i],g[0|(i=n+(3|t)|0)]=231&d[0|i],(0|(t=t+4|0))!=256;);e[A+104>>2]=2280,e[A+108>>2]=2,e[A+608>>2]=104048,g[A+451|0]=16|d[A+451|0],g[A+456|0]=16|d[A+456|0],g[A+459|0]=16|d[A+459|0],g[A+460|0]=16|d[A+460|0],g[A+450|0]=8|d[A+450|0],g[A+462|0]=8|d[A+462|0],g[A+458|0]=8|d[A+458|
vendor: 6,406 bytes, line 2810
28100],g[A+465|0]=64&d[A+465|0]|129;break e}e[A+296>>2]=269618961,e[A+300>>2]=370546196,e[A+12>>2]=131110,e[A+144>>2]=2,e[A+104>>2]=184559112,e[A+108>>2]=8192,e[A+16>>2]=0,e[A+20>>2]=2,e[A+4>>2]=1,e[A+8>>2]=2,e[A+100>>2]=e[A+96>>2],e[A+140>>2]=103676,e[A+68>>2]=2,e[A+56>>2]=1,e[A+44>>2]=130,e[A+28>>2]=2,t=e[26025],e[A+304>>2]=e[26024],e[A+308>>2]=t,t=e[26027],e[A+312>>2]=e[26026],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=26996;break e}e[A+4>>2]=524,e[A+8>>2]=2,e[A+196>>2]=368,e[A+104>>2]=0,e[A+336>>2]=104128,e[A- -64>>2]=1,t=e[26029],e[A+304>>2]=e[26028],e[A+308>>2]=t,t=e[26031],e[A+312>>2]=e[26030],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=6972015;break e}for(e[A+296>>2]=303174162,e[A+300>>2]=370545684,t=e[25873],e[A+304>>2]=e[25872],e[A+308>>2]=t,t=e[25875],e[A+312>>2]=e[25874],e[A+316>>2]=t,i=IA(A+344|0,0,256),g[A+431|0]=1,g[A+429|0]=1,g[A+411|0]=1,g[A+405|0]=1,g[A+400|0]=1,g[A+396|0]=1,g[A+392|0]=1,t=104160,n=49;g[0|(n=n+i|0)]=4|d[0|n],n=i+d[t+1|0]|0,g[0|n]=4|d[0|n],n=i+d[t+2|0]|0,g[0|n]=4|d[0|n],n=d[0|(t=t+3|0)],(0|t)!=104193;);e[A+600>>2]=4256,e[A+8>>2]=0,e[A+12>>2]=16,g[A+168|0]=7,e[A+132>>2]=32,g[A+392|0]=128|d[A+392|0],g[A+396|0]=128|d[A+396|0],g[A+400|0]=128|d[A+400|0],g[A+405|0]=128|d[A+405|0],g[A+411|0]=128|d[A+411|0],g[A+429|0]=128|d[A+429|0],g[A+431|0]=128|d[A+431|0],e[A+188>>2]=1056,e[A+192>>2]=29301,e[A+104>>2]=19964960;break e}for(e[A+600>>2]=1056,i=IA(A+344|0,0,256),g[A+393|0]=1,g[A+365|0]=1,g[A+360|0]=1,g[A+545|0]=1,g[A+529|0]=1,g[A+391|0]=1,g[A+389|0]=1,g[A+390|0]=1,g[A+387|0]=1,g[A+379|0]=1,g[A+374|0]=1,g[A+368|0]=1,g[A+489|0]=1,g[A+487|0]=1,g[A+398|0]=1,t=104224,n=17;g[0|(n=n+i|0)]=4|d[0|n],n=i+d[t+1|0]|0,g[0|n]=4|d[0|n],n=i+d[t+2|0]|0,g[0|n]=4|d[0|n],n=d[0|(t=t+3|0)],(0|t)!=104251;);g[A+360|0]=128|d[A+360|0],g[A+365|0]=128|d[A+365|0],g[A+393|0]=128|d[A+393|0],g[A+368|0]=128|d[A+368|0],g[A+374|0]=128|d[A+374|0],g[A+379|0]=128|d[A+379|0],g[A+387|0]=128|d[A+387|0],g[A+389|0]=128|d[A+389|0],g[A+390|0]=128|d[A+390|0],g[A+391|0]=128|d[A+391|0],g[A+529|0]=128|d[A+529|0],g[A+545|0]=128|d[A+545|0],g[A+489|0]=128|d[A+489|0],g[A+487|0]=128|d[A+487|0],g[A+398|0]=128|d[A+398|0],t=e[26055],e[A+312>>2]=e[26054],e[A+316>>2]=t,t=e[26053],e[A+304>>2]=e[26052],e[A+308>>2]=t,e[A+296>>2]=353636370,e[A+300>>2]=336925972,e[A+200>>2]=0,e[A+8>>2]=7,e[A+12>>2]=2097184,g[A+168|0]=2,e[A+104>>2]=50176,e[A+84>>2]=1,bo(A,3);break e}e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+104>>2]=184618072,e[A+8>>2]=12,e[A+12>>2]=32,t=e[25861],e[A+304>>2]=e[25860],e[A+308>>2]=t,t=e[25863],e[A+312>>2]=e[25862],e[A+316>>2]=t,r=27500;break e}e[A+184>>2]=42752,e[A+600>>2]=4352,IA(A+344|0,0,256),g[A+456|0]=1,g[A+457|0]=1,g[A+458|0]=1,g[A+459|0]=1,g[A+449|0]=1,g[A+450|0]=1,g[A+451|0]=1,g[A+452|0]=1,g[A+453|0]=1,g[A+454|0]=1,g[A+455|0]=1,g[A+456|0]=1,g[A+441|0]=1,g[A+442|0]=1,g[A+443|0]=1,g[A+444|0]=1,g[A+445|0]=1,g[A+446|0]=1,g[A+447|0]=1,g[A+448|0]=1,g[A+460|0]=65,g[A+461|0]=65,g[A+532|0]=32,g[A+527|0]=32,g[A+519|0]=32,g[A+515|0]=32,g[A+349|0]=32,g[A+350|0]=32,g[A+346|0]=32,e[A+132>>2]=20,e[A+112>>2]=286331152,e[A+104>>2]=1024,e[A+108>>2]=16384,e[A+40>>2]=1,e[A+8>>2]=8,g[A+458|0]=65,g[A+453|0]=65,g[A+447|0]=65,g[A+448|0]=65,g[A+443|0]=65,g[A+444|0]=65,r=27503;break e}e[A+328>>2]=10,e[A+296>>2]=336859666,e[A+300>>2]=353768980,g[A+168|0]=2,e[A+104>>2]=263264,e[A+8>>2]=7,t=e[26065],e[A+304>>2]=e[26064],e[A+308>>2]=t,t=e[26067],e[A+312>>2]=e[26066],e[A+316>>2]=t,r=27509;break e}e[A+104>>2]=1,r=27513;break e}e[A+116>>2]=5e3,e[A+104>>2]=16777216,e[A+24>>2]=1,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=32,e[A+328>>2]=5,r=27745;break e}e[A+116>>2]=5e3,e[A+104>>2]=99336,e[A+108>>2]=256,e[A+24>>2]=1,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=32,e[A+328>>2]=5,r=27764;break e}e[A+328>>2]=6,e[A+296>>2]=336859409,e[A+300>>2]=353768980,e[A+600>>2]=1056,e[A+104>>2]=2114600,e[A+108>>2]=138,e[A+8>>2]=4,e[A+632>>2]=104288,e[A+604>>2]=104288,t=e[26093],e[A+304>>2]=e[26092],e[A+308>>2]=t,t=e[26095],e[A+312>>2]=e[26094],e[A+316>>2]=t,r=28011;break e}e[A+328>>2]=4,e[A+104>>2]=1,e[A+8>>2]=2,e[A+36>>2]=256,r=28020;break e}e[A+4>>2]=48,e[A+8>>2]=0,e[A+12>>2]=128,e[A+104>>2]=2169880,e[A+32>>2]=1,e[A+36>>2]=256,e[A+24>>2]=1,e[A+136>>2]=85767,t=e[26097],e[A+304>>2]=e[26096],e[A+308>>2]=t,t=e[26099],e[A+312>>2]=e[26098],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=28268;break e}e[A+8>>2]=0,e[A+104>>2]=71752,t=e[26101],e[A+304>>2]=e[26100],e[A+308>>2]=t,t=e[26103],e[A+312>>2]=e[26102],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=28258;break e}e[A+296>>2]=336858898,e[A+300>>2]=370546196,e[A+104>>2]=1088,e[A+108>>2]=512,e[A+8>>2]=2,e[A+12>>2]=524310,t=e[26105],e[A+304>>2]=e[26104],e[A+308>>2]=t,t=e[26107],e[A+312>>2]=e[26106],e[A+316>>2]=t,r=28525;break e}e[A+328>>2]=3,e[A+296>>2]=320015633,e[A+300>>2]=353768980,g[A+168|0]=7,e[A+8>>2]=2,e[A+12>>2]=6,e[A+104>>2]=20488,e[A+108>>2]=192,e[A+36>>2]=9,e[A+60>>2]=260,t=e[26109],e[A+304>>2]=e[26108],e[A+308>>2]=t,t=e[26111],e[A+312>>2]=e[26110],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=28780;break e}for(e[A+296>>2]=353569552,e[A+300>>2]=353768980,e[A+116>>2]=5e3,e[A+104>>2]=33570920,e[A+108>>2]=14336,e[A+8>>2]=3,e[A+12>>2]=139286,e[A+100>>2]=e[A+96>>2],t=e[26113],e[A+304>>2]=e[26112],e[A+308>>2]=t,t=e[26115],e[A+312>>2]=e[26114],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,t=0,n=A+344|0;g[0|(i=t+n|0)]=253&d[0|i],g[0|(i=n+(1|t)|0)]=253&d[0|i],g[0|(i=n+(2|t)|0)]=253&d[0|i],g[0|(i=n+(3|t)|0)]=253&d[0|i],(0|(t=t+4|0))!=256;);g[A+442|0]=2|d[A+442|0],g[A+443|0]=2|d[A+443|0],g[A+444|0]=2|d[A+444|0],g[A+446|0]=2|d[A+446|0],g[A+447|0]=2|d[A+447|0],g[A+450|0]=2|d[A+450|0],g[A+451|0]=2|d[A+451|0],g[A+453|0]=2|d[A+453|0],g[A+454|0]=2|d[A+454|0],g[A+456|0]=2|d[A+456|0],g[A+457|0]=2|d[A+457|0],g[A+459|0]=2|d[A+459|0],g[A+460|0]=2|d[A+460|0],g[A+462|0]=2|d[A+462|0],g[A+464|0]=2|d[A+464|0],g[A+466|0]=2|d[A+466|0],e[A+144>>2]=2,e[A+68>>2]=2;break e}e[A+296>>2]=303172879,e[A+300>>2]=353768980,e[A+328>>2]=3,e[A+8>>2]=3,e[A+12>>2]=262,e[A+104>>2]=16805928,e[A+108>>2]=30,t=e[26117],e[A+304>>2]=e[26116],e[A+308>>2]=t,t=e[26119],e[A+312>>2]=e[26118],e[A+316>>2]=t,r=29295;break e}Go(A),r=29301;break e}for(e[A+328>>2]=3,e[A+296>>2]=336859153,e[A+300>>2]=353768980,v[A+168>>1]=261,e[A+8>>2]=0,e[A+12>>2]=22,e[A+124>>2]=0,e[A+128>>2]=44,e[A+104>>2]=16794624,e[A+108>>2]=128,e[A+36>>2]=3,e[A+60>>2]=4,t=e[25869],e[A+304>>2]=e[25868],e[A+308>>2]=t,t=e[25871],e[A+312>>2]=e[25870],e[A+316>>2]=t,(0|r)==25459&&(e[A+108>>
28102]=136),g[A+465|0]=64&d[A+465|0]|129,g[A+458|0]=64&d[A+458|0]|129,t=0,n=A+344|0;g[0|(i=t+n|0)]=223&d[0|i],g[0|(i=n+(1|t)|0)]=223&d[0|i],g[0|(i=n+(2|t)|0)]=223&d[0|i],g[0|(i=n+(3|t)|0)]=223&d[0|i],(0|(t=t+4|0))!=256;);g[A+442|0]=32|d[A+442|0],g[A+444|0]=32|d[A+444|0],g[A+447|0]=32|d[A+447|0],g[A+450|0]=32|d[A+450|0],g[A+452|0]=32|d[A+452|0],g[A+453|0]=32|d[A+453|0],g[A+454|0]=32|d[A+454|0],g[A+458|0]=32|d[A+458|0],g[A+462|0]=32|d[A+462|0],g[A+463|0]=32|d[A+463|0],g[A+466|0]=32|d[A+466|0],g[A+441|0]=32|d[A+441|0],g[A+445|0]=32|d[A+445|0],g[A+449|0]=32|d[A+449|0],g[A+455|0]=32|d[A+455|0],g[A+461|0]=32|d[A+461|0],g[A+465|0]=32|d[A+465|0];break e}for(e[A+296>>2]=303174162,e[A+300>>2]=370545684,e[A+600>>2]=3456,g[A+169|0]=1,e[A+8>>2]=0,e[A+12>>2]=22,e[A+100>>2]=e[A+96>>2],t=e[25873],e[A+304>>2]=e[25872],e[A+308>>2]=t,t=e[25875],e[A+312>>2]=e[25874],e[A+316>>2]=t,IA(A+344|0,0,256),g[A+365|0]=1,g[A+366|0]=1,g[A+357|0]=1,g[A+358|0]=1,g[A+359|0]=1,g[A+360|0]=1,g[A+361|0]=1,g[A+362|0]=1,g[A+363|0]=1,g[A+364|0]=1,g[A+349|0]=1,g[A+350|0]=1,g[A+351|0]=1,g[A+352|0]=1,g[A+353|0]=1,g[A+354|0]=1,g[A+355|0]=1,g[A+356|0]=1,t=74,n=74;g[344+(i=A+n|0)|0]=1|d[i+344|0],g[i+345|0]=1|d[i+345|0],g[i+346|0]=1|d[i+346|0],(0|(n=n+3|0))!=116;);for(;g[344+(n=t+A|0)|0]=2|d[n+344|0],g[n+345|0]=2|d[n+345|0],g[n+346|0]=2|d[n+346|0],(0|(t=t+3|0))!=116;);for(n=26;g[344+(t=A+n|0)|0]=4|d[t+344|0],g[t+345|0]=4|d[t+345|0],g[t+346|0]=4|d[t+346|0],g[t+347|0]=4|d[t+347|0],g[t+348|0]=4|d[t+348|0],(0|(n=n+5|0))!=71;);e[A+112>>2]=84648,e[A+104>>2]=270589952,e[A+108>>2]=65536,e[A+40>>2]=1,e[A+204>>2]=e[A+600>>2]+74;break e}e[A+8>>2]=2,e[A+12>>2]=32,e[A+328>>2]=3,e[A+124>>2]=32,e[A+104>>2]=16864280,e[A+108>>2]=256,e[A+68>>2]=2,e[A+36>>2]=259,e[A+40>>2]=118,e[A+28>>2]=1,g[A+458|0]=128|d[A+458|0],r=29548;break e}e[A+296>>2]=370544658,e[A+300>>2]=370546196,e[A+164>>2]=130,e[A+8>>2]=0,e[A+12>>2]=86,e[A+104>>2]=87064,g[A+169|0]=1,e[A+152>>2]=3,t=e[26121],e[A+304>>2]=e[26120],e[A+308>>2]=t,t=e[26123],e[A+312>>2]=e[26122],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=7564650;break e}e[A+296>>2]=269487120,e[A+300>>2]=320148500,e[A+8>>2]=3,e[A+12>>2]=278,e[A+144>>2]=2,e[A+104>>2]=32872,t=e[26125],e[A+304>>2]=e[26124],e[A+308>>2]=t,t=e[26127],e[A+312>>2]=e[26126],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=29553;break e}e[A+296>>2]=336859152,e[A+300>>2]=353768980,e[A+8>>2]=0,e[A+144>>2]=1,e[A+104>>2]=6408,t=e[26129],e[A+304>>2]=e[26128],e[A+308>>2]=t,t=e[26131],e[A+312>>2]=e[26130],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=29558;break e}e[A+296>>2]=320015376,e[A+300>>2]=353768980,g[A+168|0]=4,e[A+12>>2]=22,e[A+4>>2]=1,e[A+8>>2]=2,e[A+104>>2]=1248,e[A+100>>2]=e[A+96>>2],t=e[26133],e[A+304>>2]=e[26132],e[A+308>>2]=t,t=e[26135],e[A+312>>2]=e[26134],e[A+316>>2]=t;break e}e[A+296>>2]=303174162,e[A+300>>2]=370545684,g[A+169|0]=1,e[A+8>>2]=0,e[A+12>>2]=22,e[A+112>>2]=5288,e[A+100>>2]=e[A+96>>2],t=e[25877],e[A+304>>2]=e[25876],e[A+308>>2]=t,t=e[25879],e[A+312>>2]=e[25878],e[A+316>>2]=t;h:switch(r-29793|0){default:if((0|r)!=27502){if((0|r)!=28012)break r;t=e[26137],e[A+304>>2]=e[26136],e[A+308>>2]=t,t=e[26139],e[A+312>>2]=e[26138],e[A+316>>2]=t,e[A+600>>2]=3328,e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+104>>2]=2098176,e[A+108>>2]=131072,e[A+8>>2]=13;break r}e[A+104>>2]=1,e[A+600>>2]=3200;break r;case 4:break h;case 1:case 2:case 3:break r;case 0:break a}e[A+104>>2]=1,e[A+108>>2]=524288,e[A+600>>2]=3072;break r}e[A+328>>2]=10,e[A+296>>2]=353636370,e[A+300>>2]=336925972,g[A+173|0]=1,e[A+8>>2]=7,e[A+12>>2]=32,g[A+168|0]=2,e[A+84>>2]=1,t=e[26141],e[A+304>>2]=e[26140],e[A+308>>2]=t,e[A+104>>2]=(0|r)==24954?2118920:2114824,t=e[26143],e[A+312>>2]=e[26142],e[A+316>>2]=t;break e}Br(A),e[A+296>>2]=303173650,e[A+300>>2]=303174162,e[A+104>>2]=2131208,e[A+8>>2]=3,e[A+12>>2]=32,t=e[25865],e[A+304>>2]=e[25864],e[A+308>>2]=t,t=e[25867],e[A+312>>2]=e[25866],e[A+316>>2]=t,r=29812;break e}Go(A),r=30059;break e}e[A+112>>2]=21160,e[A+104>>2]=16,e[A+600>>2]=1536,e[A+40>>2]=1;break e}e[A+296>>2]=269488144,e[A+300>>2]=370546198,e[A+8>>2]=0,e[A>>2]=33,e[A+148>>2]=1,e[A+104>>2]=12615688,e[A+16>>2]=2,e[A+100>>2]=e[A+96>>2],e[A+632>>2]=104592,e[A+604>>2]=104592,t=e[26145],e[A+304>>2]=e[26144],e[A+308>>2]=t,t=e[26147],e[A+312>>2]=e[26146],e[A+316>>2]=t,r=30313;break e}if(e[A+296>>2]=370544662,e[A+300>>2]=370546198,e[A+8>>2]=3,e[A+12>>2]=2,e[A+148>>2]=1,e[A+184>>2]=12544,v[A+170>>1]=257,e[A+176>>2]=1,g[A+172|0]=1,e[A>>2]=33,e[A+4>>2]=0,e[A+100>>2]=e[A+96>>2],t=e[26225],e[A+304>>2]=e[26224],e[A+308>>2]=t,t=e[26227],e[A+312>>2]=e[26226],e[A+316>>2]=t,(0|r)!=7959909)break e;e[A+112>>
vendor: 42,088 bytes, line 2810
28102]=24,e[A+104>>2]=1,e[A+108>>2]=1048576,r=7959909;break e}t=e[25873],e[A+304>>2]=e[25872],e[A+308>>2]=t,t=e[25875],e[A+312>>2]=e[25874],e[A+316>>2]=t,e[A+600>>2]=2944,e[A+104>>2]=2097152,e[A+108>>2]=262144,e[A+48>>2]=1}xa(A),g[A+422|0]=2|d[A+422|0];break e}e[A+40>>2]=1}return e[A+212>>2]=r,8&(t=e[A+104>>2])&&(e[A+124>>2]=46,e[A+128>>2]=44),4&t&&(e[A+124>>2]=0),A}function lt(t){var A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0;e:{r=e[32538],e[47354]=0,e[47568]=0,e[49828]=0,e[47569]=0,g[199328]=0,e[49827]=0,e[49845]=0,g[190280]=0,g[190268]=1,e[47202]=0,e[49573]=0,e[49846]=0,g[199304]=0,g[199388]=0,e[33691]=0,e[33285]=0,e[33708]=1,e[33709]=1,e[33288]=0,A=e[33730],e[33712]=e[33729],e[33713]=A,A=e[33732],e[33714]=e[33731],e[33715]=A,A=e[33734],e[33716]=e[33733],e[33717]=A,A=e[33736],e[33718]=e[33735],e[33719]=A,A=e[33738],e[33720]=e[33737],e[33721]=A,A=e[33740],e[33722]=e[33739],e[33723]=A,A=e[33742],e[33724]=e[33741],e[33725]=A,e[33726]=e[33743],g[134784]=0,g[134824]=0,g[134772]=0,g[134760]=0,e[33284]=-1,e[33692]=0,e[32525]=0,e[47201]=e[33717],e[47200]=e[33718],mn(),e[34438]=0,e[34437]=0,A=e[33730],e[34048]=e[33729],e[34049]=A,A=e[33732],e[34050]=e[33731],e[34051]=A,A=e[33734],e[34052]=e[33733],e[34053]=A,A=e[33736],e[34054]=e[33735],e[34055]=A,A=e[33738],e[34056]=e[33737],e[34057]=A,A=e[33740],e[34058]=e[33739],e[34059]=A,A=e[33742],e[34060]=e[33741],e[34061]=A,e[34062]=e[33743];t:{r:{if(1&r){if(e[e[32539]>>2]=0,e[47569]|e[49845]|e[49827])break r;break t}if(e[e[32539]>>2]=0,!(e[49845]|e[49827]||e[47569]))break t}g[190280]=1}e[49828]=0,A=268436735;t:if(!(!e[34391]|!e[34388])&&(e[47204]=0,e[47203]=0,e[47199]=0,e[34439]=0,(e[47192]||!(A=io(86228)))&&((A=e[33283])||((A=aA(16))&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0),e[33283]=A),l=268439807,(r=e[e[47192]+328>>2])>>>0>20|!e[129104+(r<<3)>>2]?A=l:(t?(l=4,i=wA(t)+1|0):(l=2,i=0),e[A+8>>2]=l,e[A>>2]=t,e[A+12>>2]=e[129108+(r<<3)>>2],e[A+4>>2]=t?t+i|0:0,A=0),!A))){Qe(0);r:{for(;;){e[34436]=0,t=e[34391],e[51290]=t,e[54046]=t+e[34390],e[50767]<=102399&&(e[50767]=102400);a:if(!((h=e[51290])>>>0>=re[54046]))for(;;){if((((0|(t=(i=e[50757])-(m=e[50758])|0))<=0?t+170|0:t)-171|0)>=-1){if((0|(t=e[54731]))<=0)break a;l=0,e[50763]=0,e[50762]=0,e[50765]=2147483647,t=d[218920]?e[54732]:t;n:{for(;;){if(r=t-1|0,e[54732]=r,(0|t)<=0)break n;if(e[51290]=h+1,A=(t=e[51293])+1|0,e[51293]=(0|A)<=5499?A:0,A=(t=F(e[50755],v[205184+(t<<1)>>1]))>>8,g[0|h]=A,i=e[51290],e[51290]=i+1,g[0|i]=t>>>16,(i=e[50756])?(t=r,(r=e[i+4>>2])&&(LA[0|r](A<<16>>16),t=e[54732])):t=r,i=(r=e[51292])+1|0,e[51292]=i,v[205184+(r<<1)>>1]=A,(0|i)>=5500&&(e[51292]=0),h=e[51290],!(re[54046]>=h+2>>>0))break}l=1}g[218920]=l;break a}t=e[4+(r=216192+(i<<4)|0)>>2];n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{F:{Y:switch((255&(A=e[r>>2]))-1|0){case 9:break o;case 7:break f;case 10:break l;case 11:break i;case 13:break h;case 0:break b;case 1:break m;case 2:break C;case 3:break p;case 6:break x;case 5:break w;case 4:break B;case 15:break F;case 8:break Y;default:break c}if(!e[50759])break c;A=e[r+12>>2],r=e[r+8>>2],e[50768]=0,h=r||99232,e[50766]=h,e[50769]=t?2097152/(0|t)|0:0,t=e[50971],i=(0|F(t,e[50788]))/50|0,r=F(i-t|0,-18),t=((0|(t=e[50785]))>=101?101:t)-e[50790]|0,A=(l=r+((0|F(e[50970],d[((0|t)>0?t:0)+105680|0]))/128|0)|0)+((0|F(i,(0|(t=A>>16))<(0|(r=65535&A))?t:r))/2|0)|0,e[50770]=A,t=(l+((0|F(i,(0|t)>(0|r)?t:r))/2|0)|0)-A|0,e[50771]=t,r=d[0|h],e[33072]=e[50976],e[50767]=A+(F(t,r)>>8);break c}LA[e[e[50756]>>2]](t,e[r+8>>2]),EA(t);break c}if(d[218920]||(e[54731]=e[54731]-t),e[50781]=100,e[50773]=0,Ee(),e[50763]=0,e[50762]=0,e[50765]=2147483647,!t)break c;for(t=d[218920]?e[54732]:t;;){if(r=t-1|0,e[54732]=r,(0|t)<=0)break c;if(t=e[51290],e[51290]=t+1,i=(A=e[51293])+1|0,e[51293]=(0|i)<=5499?i:0,i=t,A=(t=F(e[50755],v[205184+(A<<1)>>1]))>>8,g[0|i]=A,i=e[51290],e[51290]=i+1,g[0|i]=t>>>16,(i=e[50756])?(t=r,(r=e[i+4>>2])&&(LA[0|r](A<<16>>16),t=e[54732])):t=r,i=(r=e[51292])+1|0,e[51292]=i,v[205184+(r<<1)>>1]=A,(0|i)>=5500&&(e[51292]=0),i=1,!(re[54046]>=e[51290]+2>>>0))break}break n}for(e[50773]=0,e[54731]=e[54729],Ee(),A=e[r+12>>2],i=e[r+8>>2],d[218920]?t=e[54733]:e[54734]=0,m=A>>8,l=255&A,e[50762]=0,e[50763]=0;;){if(r=t-1|0,e[54733]=r,(0|t)<=0)break c;if(A=(t=e[54734])+1|0,l?h=F(l,g[t+i|0]):(h=d[t+i|0]|g[A+i|0]<<8,A=t+2|0),e[54734]=A,w=(t=e[51293])+1|0,e[51293]=w,A=(0|(t=(0|(t=((0|F(m,F(e[33037],F(e[33038],h))>>10))/32|0)+(F(e[50755],v[205184+(t<<1)>>1])>>8)|0))<=-32768?-32768:t))>=32767?32767:t,(0|w)>=5500&&(e[51293]=0),g[e[51290]]=A,g[e[51290]+1|0]=A>>>8,(h=e[50756])?(t=r,(r=e[h+12>>2])&&(LA[0|r](A<<16>>16),t=e[54733])):t=r,r=e[51290],e[51290]=r+2,w=(h=e[51292])+1|0,e[51292]=w,v[205184+(h<<1)>>1]=(0|F(A,3))/4,(0|w)>=5500&&(e[51292]=0),!(re[54046]>=r+4>>>0))break}i=1;break n}A=e[r+12>>2],i=t>>>16|0,e[50777]=i,t&=65535,e[50773]=t,l=255&A,e[50774]=l,e[50775]=A>>8,l||(e[50777]=i<<1,e[50773]=t<<1),e[50778]=0,e[50776]=0,e[50772]=e[r+8>>2];break c}e[50773]=0}if(e[54731]=e[54729],A=e[50759],d[218920]){if(!A)break c}else{if(!A)break c;for(l=e[r+12>>2],h=e[r+8>>2],r=t>>16,e[55912]=255&r,g[218960]=1,e[55908]=0,67108864&t&&(e[55908]=3,e[55909]=e[110496+(r>>>6&12)>>2]),134217728&t&&(e[55908]=4,e[55909]=e[110512+(r>>>6&12)>>2]),t&=65504;;){if((0|m)!=(0|(i=(0|(r=i+1|0))<=169?r:0)))if((0|(r=e[216192+(i<<4)>>2]))!=3){if(r-5>>>0>1)continue}else g[218960]=0;break}for(e[55913]=e[50762],t=(t=t+32&131008)||64,e[50763]=t+e[50763],e[55684]=F(v[101997],7800)+(_[102024]<<8)<<8,e[55704]=F(v[101998],9e3)+(_[102025]<<8)<<8,ee=e[50980],n=+(0|t),P=+(t>>>2|0),t=0;(0|t)!=7&&(i=v[218+(w=(r=t<<1)+A|0)>>1]<<8,m=F(t,80)+222176|0,w=v[w+164>>1],R=i+F(w,v[2+(r+h|0)>>1])<<8,e[m>>2]=R,y=+(0|R),S[m+16>>3]=y,S[m+48>>3]=16*(+(i+F(w,v[2+(r+l|0)>>1])<<8)-y)/P),i=(r=F(t,80))+222176|0,w=v[182+(R=A+(t<<1)|0)>>1],ue=F(w,d[18+(m=t+h|0)|0])<<6,e[i+4>>2]=ue,y=+(0|ue),S[i+24>>3]=y,ae=i,i=t+l|0,S[ae+56>>3]=64*(+(F(w,d[i+18|0])<<6)-y)/n,(0|t)>(0|ee)|t>>>0>5||(w=r+222176|0,ue=v[R+200>>1],R=F(ue,d[m+26|0])<<10,e[w+8>>2]=R,y=+(0|R),S[w+32>>3]=y,ae=w- -64|0,w=ue<<10,S[ae>>3]=64*(+(0|F(w,d[i+26|0]))-y)/n,t>>>0<=2?(r=r+222176|0,m=F(w,d[m+32|0]),e[r+12>>2]=m,y=+(0|m),S[r+40>>3]=y,S[r+72>>3]=64*(+(0|F(w,d[i+32|0]))-y)/n):e[r+222188>>2]=R),(0|(t=t+1|0))!=8;);}for(;;){if(t=e[50762],!d[218960]&(0|t)==e[50763])break c;C:{p:{if(63&t){if(7&t)break C;x:if(!((0|(r=e[54736]))<=0||(0|(A=e[54735]))<=0))for(i=e[50826],t=1;;){if(e[(h=(l=t<<2)+i|0)>>2]=e[h>>2]+e[l+203312>>2],t>>>0>28|(0|t)>=(0|r))break x;if(l=(0|t)<(0|A),t=t+1|0,!l)break}if((0|(t=e[33073]))>255)break C;e[33073]=t+1;break C}if(t)if(e[50759]){if(r=e[50768]+e[50769]|0,e[50768]=r,r=(A=e[50766])?F(d[A+((0|(r>>=8))>=127?127:r)|0],e[50771])>>8:0,e[55911]=e[55911]+e[55915],A=(0|(A=e[55914]))<=23551?A:0,e[55914]=A+e[50761],A=(r+e[50770]|0)+F(e[33072],d[110528+(A>>6)|0]-128|0)|0,e[50767]=A,!(i=e[51291])&(0|(r=i?i<<12:A))>102399||(A=(0|r)<=102400?102400:r,e[50767]=A),(0|t)!=e[55913]){if(t=0,!((0|(m=e[50980]))<0)){for(;h=F(t,80),n=S[48+(r=h+222176|0)>>3]+S[r+16>>3],S[r+16>>3]=n,P=S[r+56>>3]+S[r+24>>3],S[r+24>>3]=P,y=S[r- -64>>3]+S[r+32>>3],S[r+32>>3]=y,i=he(n)<2147483648?~~n:-2147483648,e[r>>2]=i,i=he(y)<2147483648?~~y:-2147483648,e[r+8>>2]=i,l=he(P)<2147483648?~~P:-2147483648,e[r+4>>2]=(0|l)>0?l:0,(0|t)>2||(n=S[72+(r=h+222176|0)>>3]+S[r+40>>3],S[r+40>>3]=n,i=he(n)<2147483648?~~n:-2147483648),e[h+222188>>2]=i,(0|m)>=(0|(t=t+1|0)););if((0|t)>=8)break p}for(;(0|t)!=7&&(r=F(t,80)+222176|0,n=S[r+48>>3]+S[r+16>>3],S[r+16>>3]=n,i=he(n)<2147483648?~~n:-2147483648,e[r>>2]=i),r=F(t,80)+222176|0,n=S[r+56>>3]+S[r+24>>3],S[r+24>>3]=n,i=he(n)<2147483648?~~n:-2147483648,e[r+4>>2]=(0|i)>0?i:0,(0|(t=t+1|0))!=8;);}}else A=e[50767];else e[50826]=218976,e[54742]=0,e[54736]=oa(e[50767]<<4,218976,0),A=e[50767],e[54737]=890/(A>>12),e[54739]=(0|F(e[50781],F(e[50779],A>>8)))/8e4}if(e[55906]=A>>11,e[54735]=e[54736],e[55904]=F(e[50760],A>>7),e[55905]=e[50754]/(A>>12),r=1^(t=e[54742]),e[54742]=r,e[50826]=F(t,1600)+218976,e[54736]=oa(A<<4,F(r,1600)+218976|0,1),!(!(A=e[50759])|!e[51022]))for(P=S[25430],y=S[25429],t=1;e[272+(r=A+(t<<2)|0)>>2]&&(i=e[r+308>>2],r=F(t,40)+203456|0,M=Aa(P*+v[2+(F(t,80)+222176|0)>>1]),M*=n=fr(y*+(0|i)),M+=M,S[r+8>>3]=M,n*=-n,S[r+16>>3]=n,S[r>>3]=1-M-n),(0|(t=t+1|0))!=9;);}if(l=e[50762]+1|0,e[50762]=l,h=(t=e[50765])+e[55904]|0,e[50765]=h,(0|h)<0&(0|t)>0){if(w=e[55905],A=e[50800]+((0|w)/-2|0)|0,e[55907]=A,(0|(R=e[50763]))<(0|l))break c;if(ee=e[54738]+1|0,e[54738]=ee,m=e[50767],!((0|(t=(r=e[50980])+1|0))>8)&&(i=m<<3,1&r&&(e[203264+(t<<2)>>2]=(1+(e[F(t,80)+222176>>2]/(0|i)|0)|0)/2,t=r+2|0),(0|r)!=7))for(;r=203264+(t<<2)|0,ue=F(t,80)+222176|0,e[r>>2]=(1+(e[ue>>2]/(0|i)|0)|0)/2,e[r+4>>2]=(1+(e[ue+80>>2]/(0|i)|0)|0)/2,(0|(t=t+2|0))!=9;);t=(0|F(e[50781],F(e[50779],m>>8)))/8e4|0,e[54739]=t;C:if(!((0|(r=e[55908]))<=0)){switch(r-3|0){case 0:if((R-l|0)>=w<<1)break C;e[55908]=2,t=(0|F(e[55909],t))/256|0,e[54739]=t;break C;case 1:e[55908]=2,t=(0|F(e[55909],t))/256|0,e[54739]=t;break C}e[55908]=r-1}(r=e[55910])&&(i=t,t=e[55911]>>8,t=(0|F(i,d[r+((0|t)>=127?127:t)|0]))/128|0,e[54739]=t),(0|(r=e[e[32972]+92>>2]))>7||(r=15&(i=d[e[55912]+(106336+(r<<3)|0)|0]),(i=i>>>4|0)&&((0|i)!=15?(0|ee)%(0|i)|0||(e[54739]=(0|F(t,r))/16):(e[55912]=0,e[54739]=(0|F(t,r))/16)))}else A=e[55907];if(l=A+1|0,e[55907]=l,r=h>>>16|0,i=0,!((0|l)<0|(0|l)>=e[50799])){if(!((0|(t=(A=e[50980])+1|0))>8)){if(m=1&(h=8-A|0),(0|A)!=7)for(w=-2&h,A=0;i=F(e[203216+(R=4+(h=t<<2)|0)>>2],v[106400+(F(r,e[R+203264>>2])>>>4&4094)>>1])+(F(e[h+203216>>2],v[106400+(F(r,e[h+203264>>2])>>>4&4094)>>1])+i|0)|0,t=t+2|0,(0|w)!=(0|(A=A+2|0)););m&&(i=F(e[203216+(t<<=2)>>2],v[106400+(F(r,e[t+203264>>2])>>>4&4094)>>1])+i|0)}i=F(d[l+132160|0],(0|i)/e[55906]|0)}if(t=1,(0|(l=e[54737]))<=0)A=r;else for(h=e[50826],A=r;i=F(e[h+(t<<2)>>2],v[106400+((65504&A)>>>4|0)>>1])+i|0,A=A+r|0,(0|l)>=(0|(t=t+1|0)););if((0|(l=e[54735]))>=(0|t))for(h=e[50826];i=i-F(e[h+(t<<2)>>2],v[106400+((65504&A)>>>4|0)>>1])|0,A=A+r|0,(0|l)>=(0|(t=t+1|0)););if(l=(0|(t=e[54728]))==64?i:F(t,i>>6),e[51022]){if(e[50759])for(r=rr(e[33209],0,1103515245,0),t=fe,t=Cn(r=r+12345|0,t=r>>>0<12345?t+1|0:t),e[33209]=t,P=+((16383&t)- -8192|0),A=e[50759],h=0,t=1;(i=e[272+(A+(t<<2)|0)>>2])&&(m=e[F(t,80)+222180>>2],r=F(t,40)+203456|0,n=S[r+32>>3],y=S[r+24>>3],S[r+32>>3]=y,n=n*S[r+16>>3]+(S[r>>3]*P+y*S[r+8>>3]),S[r+24>>3]=n,r=he(n)<2147483648?~~n:-2147483648,h=F(r,F(i,m>>14))+h|0),(0|(t=t+1|0))!=9;);else h=0;l=l+h|0}A=0,(0|(t=e[50776]))>=e[50773]||(r=e[50778],A=e[50772],(h=e[50774])?(i=t+1|0,e[50776]=i,t=F(h,g[A+(t+r|0)|0])):(h=d[0|(A=A+(t+r|0)|0)],A=g[A+1|0],i=t+2|0,e[50776]=i,t=h|A<<8),A=(0|F(F(t,e[50780])>>10,e[50775]))/32|0,(0|(t=e[50777]))>(r+i|0)||(e[50778]=r+((0|F(t,3))/-4|0))),r=(t=e[51293])+1|0,e[51293]=r,t=((F(e[54739],l>>8)>>13)+A|0)+(F(e[50755],v[205184+(t<<1)>>1])>>8)|0,(0|r)>=5500&&(e[51293]=0),r=e[33073];C:{p:{if((0|(A=F(r,t)))>=8388608){if((0|r)>=(0|(h=8388608/(0|t)|0)))break p;break C}if((0|A)>-8388353||(0|r)<(0|(h=-8388608/(0|t)|0)))break C}r=h-1|0,e[33073]=r,A=F(t,r)}if(t=e[51290],e[51290]=t+1,r=t,t=A>>8,g[0|r]=t,r=e[51290],e[51290]=r+1,g[0|r]=A>>>16,(r=e[50756])&&(r=e[r+8>>2])&&LA[0|r](t<<16>>16),A=(r=e[51292])+1|0,e[51292]=A,v[205184+(r<<1)>>1]=t,(0|A)>=5500&&(e[51292]=0),!(re[54046]>=e[51290]+2>>>0))break}i=1;break n}e[50773]=0}e[54731]=e[54729],i=1,m=65535&t,A=d[218920],h=e[r+8>>2],l=e[r+12>>2],n=0,y=0,oe=r=oe+-64|0,w=e[50759];b:if((0|(t=e[w+132>>2]))!=6){if(!A){for(t-1>>>0<=4&&(e[55921]=t,e[55964]=e[110896+(t<<2)>>2]),t=e[w+88>>2],e[54741]=1,e[55922]=(0|t)/32,A=e[50758],t=e[50757];;){m:if((0|A)!=(0|(t=(0|(t=t+1|0))<=169?t:0)))if((0|(R=e[216192+(t<<4)>>2]))!=1){if(R-5>>>0>1)continue}else{if(e[54741]=0,t=e[8+(216192+(t<<4)|0)>>2],!(_[l+4>>1]!=_[t+4>>1]|_[t+6>>1]!=_[l+6>>1]|_[t+8>>1]!=_[l+8>>1]|_[t+10>>1]!=_[l+10>>1])&&_[t+12>>1]==_[l+12>>1])break m;e[54741]=2}break}for((_[h+4>>1]!=_[113564]|_[h+6>>1]!=_[113565]|_[h+8>>1]!=_[113566]|_[h+10>>1]!=_[113567]||_[h+12>>1]!=_[113568])&&(da(),e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,e[55988]=0,e[55989]=0,e[55990]=0,e[55991]=0,e[56004]=0,e[56005]=0,e[56006]=0,e[56007]=0,e[56020]=0,e[56021]=0,e[56022]=0,e[56023]=0,e[56036]=0,e[56037]=0,e[56038]=0,e[56039]=0,e[56052]=0,e[56053]=0,e[56054]=0,e[56055]=0,e[56068]=0,e[56069]=0,e[56070]=0,e[56071]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0),t=_[l+4>>1]|_[l+6>>1]<<16,A=_[l>>1]|_[l+2>>1]<<16,v[113562]=A,v[113563]=A>>>16,v[113564]=t,v[113565]=t>>>16,t=_[l+60>>1]|_[l+62>>1]<<16,A=_[l+56>>1]|_[l+58>>1]<<16,v[113590]=A,v[113591]=A>>>16,v[113592]=t,v[113593]=t>>>16,t=_[l+52>>1]|_[l+54>>1]<<16,A=_[l+48>>1]|_[l+50>>1]<<16,v[113586]=A,v[113587]=A>>>16,v[113588]=t,v[113589]=t>>>16,t=_[l+44>>1]|_[l+46>>1]<<16,A=_[l+40>>1]|_[l+42>>1]<<16,v[113582]=A,v[113583]=A>>>16,v[113584]=t,v[113585]=t>>>16,t=_[l+36>>1]|_[l+38>>1]<<16,A=_[l+32>>1]|_[l+34>>1]<<16,v[113578]=A,v[113579]=A>>>16,v[113580]=t,v[113581]=t>>>16,t=_[l+28>>1]|_[l+30>>1]<<16,A=_[l+24>>1]|_[l+26>>1]<<16,v[113574]=A,v[113575]=A>>>16,v[113576]=t,v[113577]=t>>>16,t=_[l+20>>1]|_[l+22>>1]<<16,A=_[l+16>>1]|_[l+18>>1]<<16,v[113570]=A,v[113571]=A>>>16,v[113572]=t,v[113573]=t>>>16,t=_[l+12>>1]|_[l+14>>1]<<16,A=_[l+8>>1]|_[l+10>>1]<<16,v[113566]=A,v[113567]=A>>>16,v[113568]=t,v[113569]=t>>>16,P=+(0|m),(ae=1&v[h>>1])?(t=d[h+39|0],e[56680]=t,S[28364]=t>>>0,S[28354]=+(d[l+39|0]-t<<6)/P,t=d[h+40|0],S[28366]=t>>>0,S[28356]=+(d[l+40|0]-t<<6)/P,t=d[h+41|0],e[56682]=t,S[28368]=t>>>0,S[28358]=+(d[l+41|0]-t<<6)/P,A=d[h+42|0],e[56684]=A,S[28370]=A>>>0,t=d[h+43|0],n=+(d[l+43|0]-t<<6)/P,y=+(d[l+42|0]-A<<6)/P,M=+(t>>>0)):(e[56728]=0,e[56729]=0,t=0,e[56680]=0,e[56708]=0,e[56709]=0,e[56732]=0,e[56733]=0,e[56712]=0,e[56713]=0,e[56682]=0,e[56736]=0,e[56737]=0,e[56716]=0,e[56717]=0,e[56684]=0,e[56740]=0,e[56741]=0,M=0),e[56688]=t,S[28360]=y,S[28372]=M,S[28362]=n,e[56692]=0,e[56748]=0,e[56749]=0,e[56694]=0,e[56752]=0,e[56753]=0,e[56696]=0,e[56756]=0,e[56757]=0,e[56700]=0,e[56760]=0,e[56761]=0,e[56704]=0,e[56764]=0,e[56765]=0,e[50764]=m,t=1;ee=v[164+(R=(m=t<<1)+w|0)>>1],A=(it=F(t,80))+222896|0,y=+v[R+218>>1],n=.00390625*+(0|F(ee,v[2+(h+m|0)>>1]))+y,S[A+16>>3]=n,ue=he(n)<2147483648?~~n:-2147483648,e[A>>2]=ue,S[A+48>>3]=64*(.00390625*+(0|F(ee,v[2+(l+m|0)>>1]))+y-n)/P,t>>>0<=3&&(A=it+222896|0,n=.00390625*+v[R+200>>1]*+(d[35+(t+h|0)|0]<<1),S[A+24>>3]=n,m=he(n)<2147483648?~~n:-2147483648,e[A+4>>2]=m,S[A+56>>3]=64*(+(d[35+(t+l|0)|0]<<1)-n)/P),(0|(t=t+1|0))!=6;);if(n=+((t=d[h+40|0])<<1),S[27864]=n,A=e[56618],t||(n=+(0|A),S[27864]=n),t=he(n)<2147483648?~~n:-2147483648,e[55724]=t,m=d[l+40|0],e[55730]=0,e[55731]=1079394304,e[55738]=0,e[55739]=0,e[55725]=89,t=1,S[27868]=64*(+(0|(m?m<<1:A))-n)/P,ae)for(;A=F(t,80)+222896|0,w=d[56+(m=t+h|0)|0]<<2,e[A+12>>2]=w,n=+(0|w),S[A+40>>3]=n,w=t+l|0,S[A+72>>3]=64*(+(d[w+56|0]<<2)-n)/P,m=d[m+49|0],e[A+8>>2]=m,n=+(m>>>0),S[A+32>>3]=n,S[A- -64>>3]=64*(+d[w+49|0]-n)/P,(0|(t=t+1|0))!=7;);e[56606]=0}for(;;){if((0|(ue=e[50764]))>(0|(l=e[56606]))){for(t=e[50767],e[56609]=e[55724],e[56619]=e[55725],e[56610]=e[55744],e[56611]=e[55764],e[56612]=e[55784],e[56613]=e[55804],ae=F(t,10),e[56607]=(0|ae)/4096,e[56620]=e[55745],e[56621]=e[55765],e[56622]=e[55785],e[56614]=e[55824],e[56630]=e[55746],e[56631]=e[55766],e[56632]=e[55786],e[56633]=e[55806],e[56634]=e[55826],e[56635]=e[55846],it=e[56680],e[56608]=it,h=e[56694],e[56656]=h,m=e[56696],e[56653]=m,w=e[56700],e[56655]=w,R=e[56684],e[56649]=R,e[56651]=e[56704],e[56654]=e[56688],e[56652]=e[56682],e[56650]=e[56692],t=0;A=F(t,80)+222896|0,n=S[A+48>>3]+S[A+16>>3],S[A+16>>3]=n,P=S[A+56>>3]+S[A+24>>3],S[A+24>>3]=P,y=S[A+72>>3]+S[A+40>>3],S[A+40>>3]=y,M=S[A- -64>>3]+S[A+32>>3],S[A+32>>3]=M,ee=he(n)<2147483648?~~n:-2147483648,e[A>>2]=ee,ee=he(P)<2147483648?~~P:-2147483648,e[A+4>>2]=ee,ee=he(y)<2147483648?~~y:-2147483648,e[A+12>>2]=ee,ee=he(M)<2147483648?~~M:-2147483648,e[A+8>>2]=ee,(0|(t=t+1|0))!=9;);for(n=S[28354]+S[28364],S[28364]=n,S[28366]=S[28356]+S[28366],P=S[28358]+S[28368],S[28368]=P,y=S[28360]+S[28370],S[28370]=y,M=S[28362]+S[28372],S[28372]=M,t=he(n)<2147483648?~~n:-2147483648,e[56680]=t,t=he(P)<2147483648?~~P:-2147483648,e[56682]=t,t=he(y)<2147483648?~~y:-2147483648,e[56684]=t,t=he(M)<2147483648?~~M:-2147483648,e[56688]=t,n=S[28374]+0,S[28374]=n,t=he(n)<2147483648?~~n:-2147483648,e[56692]=t,n=S[28376]+0,S[28376]=n,t=he(n)<2147483648?~~n:-2147483648,e[56694]=t,n=S[28378]+0,S[28378]=n,t=he(n)<2147483648?~~n:-2147483648,e[56696]=t,n=S[28380]+0,S[28380]=n,t=he(n)<2147483648?~~n:-2147483648,e[56700]=t,n=S[28382]+0,S[28382]=n,t=he(n)<2147483648?~~n:-2147483648,e[56704]=t,e[56659]=e[55724],e[56669]=e[55725],e[56660]=e[55744],e[56670]=e[55745],e[56661]=e[55764],e[56671]=e[55765],e[56662]=e[55784],e[56672]=e[55785],e[56663]=e[55804],e[56664]=e[55824],e[56665]=e[55844],t=e[50768]+e[50769]|0,e[50768]=t,t>>=8,e[50767]=e[50770]+(F(e[50771],d[e[50766]+((0|t)>=127?127:t)|0])>>8),t=ue-l|0,e[55923]=(0|t)>=64?64:t,e[55961]=(0|ae)/40960,t=it-7|0,e[56658]=(0|t)>0?t:0,S[27974]=R>>>0<=87?.001*+v[111136+(R<<1)>>1]*.05:0,S[27975]=m>>>0<=87?.001*+v[111136+(m<<1)>>1]*.25:0,S[27973]=h>>>0<=87?.001*+v[111136+(h<<1)>>1]:0,S[27971]=w>>>0<=87?.001*+v[111136+(w<<1)>>1]*.05:0,n=(t=e[56629])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.6:0,S[r>>3]=n,n=(t=e[56630])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.4:0,S[r+8>>3]=n,n=(t=e[56631])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.15:0,S[r+16>>3]=n,n=(t=e[56632])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.06:0,S[r+24>>3]=n,n=(t=e[56633])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.04:0,S[r+32>>3]=n,n=(t=e[56634])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.022:0,S[r+40>>3]=n,n=(t=e[56635])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.03:0,S[r+48>>3]=n,n=(t=(0|(t=e[56657]-3|0))<=0?57:t)>>>0<=87?.001*+v[111136+(t<<1)>>1]:0,S[27977]=n/+e[55964],P=S[27968],y=S[27967],t=1;A=223664+(l=t<<6)|0,M=(n=fr(y*+e[48+(m=226428+(h=t<<2)|0)>>2]))*-n,S[A+216>>3]=M,n*=Aa(P*+e[m+8>>2]),n+=n,S[A+208>>3]=n,Ve=1-n-M,S[A+200>>3]=Ve,t>>>0<=5&&(m=e[208+(h=h+226428|0)>>2],A=l+223664|0,_e=(be=fr(y*+e[h+248>>2]))*Aa(P*+(0|m)),_e+=_e,S[A+1488>>3]=_e,be*=-be,S[A+1496>>3]=be,$e=1-_e-be,S[A+1480>>3]=$e,S[A+256>>3]=.015625*(be-M),S[A+248>>3]=.015625*(_e-n),S[A+240>>3]=.015625*($e-Ve)),(0|(t=t+1|0))!=10;);for(be=(n=fr(y*+e[56619]))*-n,S[27985]=be,_e=(n*=Aa(P*+(0-e[56609]|0)))+n,S[27984]=_e,n=1-_e-be,S[27983]=n,n!=0&&(n=1/n,S[27983]=n,be*=M=-n,S[27985]=be,_e*=M,S[27984]=_e),Ve=(M=fr(y*+e[56669]))*-M,S[28145]=Ve,$e=(M*=Aa(P*+(0-e[56659]|0)))+M,S[28144]=$e,M=1-$e-Ve,S[28143]=M,M!=0&&(M=1/M,S[28143]=M,Ve*=Pt=-M,S[28145]=Ve,$e*=Pt,S[28144]=$e),S[27990]=.015625*(Ve-be),S[27989]=.015625*($e-_e),S[27988]=.015625*(M-n),t=0;h=e[8+(l=226428+(t<<2)|0)>>2],A=223664+(t<<6)|0,M=(n=fr(y*+e[l+128>>2]))*Aa(P*+(0|h)),M+=M,S[A+848>>3]=M,n*=-n,S[A+856>>3]=n,S[A+840>>3]=S[r+(t<<3)>>3]*(1-M-n),(0|(t=t+1|0))!=7;);if(y=(n=fr(y*+(e[55918]/2|0)))*-n,S[28137]=y,n*=Aa(0*P),n+=n,S[28136]=n,S[28135]=1-n-y,t=1,(0|tA())!=1)continue;break b}break}t=1,e[54741]>0&&(e[54741]=0,e[55963]=64,e[56606]=l+-64,e[55923]=64,(0|tA())==1)||(t=0)}else{if(oe=R=oe-752|0,!A){IA(t=R+376|0,0,376),jn(w,h,t),jn(w,l,t=IA(R,0,376)),A=e[50768]+F(e[50769],m>>>6|0)|0,e[50768]=A,A>>=8,A=e[50770]+(F(e[50771],d[e[50766]+((0|A)>=127?127:A)|0])>>8)|0,e[50767]=A,S[t+368>>3]=(0|A)/4096|0,e[50773]&&(S[t+736>>3]=S[t+736>>3]/5,S[t+360>>3]=S[t+360>>3]/5),A=e[e[56797]+4>>2],LA[e[e[A>>2]>>2]](A,t+376|0,110,110,-1,0),l=m-110|0,w=e[50758],A=e[50757];m:{for(;;){if((0|w)!=(0|(A=(A+1|0)%170|0))&&!((ee=e[216192+(A<<4)>>2])-5>>>0<2)){if(h=1,(0|ee)!=1)continue;break m}break}l=m-220|0,h=0}(0|l)>0&&(A=e[e[56797]+4>>2],LA[e[e[A>>2]>>2]](A,t,l,l||1,-1,0)),h||(e[t+352>>2]=0,e[t+356>>2]=0,S[t>>3]=S[t+368>>3],A=e[e[56797]+4>>2],LA[e[e[A>>2]>>2]](A,t,55,55,-1,0),e[t+360>>2]=0,e[t+364>>2]=0,A=e[e[56797]+4>>2],LA[e[e[A>>2]>>2]](A,t,55,55,-1,0))}t=e[e[56797]+8>>2],A=e[51290],m=0|LA[e[e[t>>2]>>2]](t,e[54046]-A>>>1|0,A),w=e[51290];m:if(m&&!((0|(A=e[50776]))>=(0|(it=e[50773]))))for(ht=e[50777],Wt=(0|F(ht,3))/-4|0,n=.0009765625*+e[50780],ee=e[50772],l=e[50778],cA=e[50775],ue=e[50774],t=0;;){if(ae=d[ee+(h=A+l|0)|0],ue?ae=F(ue,ae<<24>>24):(A=A+1|0,e[50776]=A,ae|=g[ee+(h=A+l|0)|0]<<8),ae=he(P=n*+(0|ae))<2147483648?~~P:-2147483648,v[(yt=w+(t<<1)|0)>>1]=_[yt>>1]+((0|F(ae,cA))/40|0),(0|h)>=(0|ht)&&(l=l+Wt|0,e[50778]=l),A=A+1|0,e[50776]=A,(0|A)>=(0|it))break m;if(!(m>>>0>(t=t+1|0)>>>0))break}t=w+(m<<1)|0,e[51290]=t,oe=R+752|0,t=re[54046]<=t>>>0}if(oe=r- -64|0,t)break n;break c}e[50781]=t||100;break c}cn(t,e[r+8>>2]);break c}t=e[r+8>>2],e[50759]=$A(203816,t,1344),e[50801]=e[t+108>>2]?105792:106064,t=(0|F(e[t+120>>2],26))/100|0,e[33038]=t,(0|(i=e[50754]))<=11e3&&(g[203300]=1,e[33038]=t<<1),e[54728]=e[50982],t=e[50979],A=e[50978],IA(205184,0,11e3),e[51293]=0,t=(A=(h=(0|(l=e[50789]))>0)?130:(0|A)>=5499?5499:A)?h?l:(0|t)>=100?100:t:0,e[50755]=t,A=(0|F(A,i))/1e3|0,e[51292]=A,e[54729]=(0|t)>20?A<<1:t?A:0,e[33037]=(0|F(500-t|0,(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16|0))/500,t=256,(0|(A=(0|(A=e[50785]))>=101?101:A))>=51&&(t=256+(((F(A,25)-1250&65535)>>>0)/50|0)|0),v[101990]=(0|F(v[102026],t))/256,v[101991]=(0|F(v[102027],t))/256,v[101992]=(0|F(v[102028],t))/256,v[101993]=(0|F(v[102029],t))/256,v[101994]=(0|F(v[102030],t))/256,v[101995]=(0|F(v[102031],t))/256,t=e[50790],v[101999]=(0|F(v[102035],F(t,-6)+256|0))/256,v[102e3]=(0|F(v[102036],F(t,-3)+256|0))/256,yi(8,0,e[50986],0,e[51290]),EA(e[r+8>>2]);break c}if(!e[50759])break c;A=e[r+12>>2],r=e[r+8>>2],e[55911]=0,e[55915]=t?2097152/(0|t)|0:0,e[55910]=r,t=(0|F(A,e[33037]))/16|0,e[50779]=t,e[50780]=(0|F(F(t,e[50985]),15))/100;break c}yi(A>>8,t,e[r+8>>2],e[r+12>>2],h)}i=0,t=e[50757]+1|0,e[50757]=(0|t)<=169?t:0}if(g[218920]=i,!((h=e[51290])>>>0<re[54046]))break}l=e[34391],r=(e[51290]-l|0)/2|0,e[34439]=r+e[34439],A=e[34436],t=e[34388]+F(A,36)|0,e[t+4>>2]=0,e[t>>2]=0,e[t+24>>2]=e[34438];a:if(2&(t=e[32538])){if(h=e[34388],(-2&t)==2&&(!(r=A?h:0)|e[r>>2]!=8||(0|(r=e[r+28>>2]))!=e[34389]&&(e[34389]=r)),i=1,(0|A)<2)break a;for(;;){r=A?h+F(i,36)|0:0;n:{c:switch(0|t){case 2:case 3:if(!r|e[r>>2]!=8||(0|(r=e[r+28>>2]))==e[34389])break n;e[34389]=r;break n;case 0:break c;default:break n}(t=e[34440])?(LA[0|t](l,0,r),A=e[34436],t=e[32538]):t=0}if(!((0|(i=i+1|0))<(0|A)))break}}else if((t=e[34440])&&0|LA[0|t](l,r,e[34388]))break r;if(!xt(1)&&!(170-((0|(t=e[50757]-e[50758]|0))<=0?t+170|0:t)|0||(t=e[34388],e[t>>2]=0,e[t+4>>2]=e[34437],e[t+24>>2]=e[34438],Qe(1))))break}if(A=0,2&d[130152]||!(t=e[34440])||!(0|LA[0|t](0,0,e[34388])))break t}Qe(2),A=268439295}if((0|A)<=268437502){if(!A|(0|A)==268436479|(0|A)!=268437247)break e;return}}}function xt(t){var A,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0;oe=A=oe-720|0,r=e[47198],t||(e[36443]=0,e[36442]=1,e[36444]=0,e[36440]=0,e[36441]=0,t=e[50758],e[36454]=t,e[36427]=-1,e[36424]=-1,e[36446]=0,e[36447]=0,e[36439]=-1,e[36426]=0,e[36455]=t,e[36448]=0,e[36449]=0,e[36450]=0,e[36451]=0,e[36452]=0,e[36453]=0,CA(),e[36427]=-1,t=216192+(e[50758]<<4)|0,e[t>>2]=5,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,e[36426]=0,e[36438]&&(e[36438]=0,t=216192+(e[50758]<<4)|0,e[t>>2]=14,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0));e:{t:if(!((0|(t=e[36442]))>997|e[36423]<=(0|t)))for(ae=r>>>1&1,ue=A+48|4,be=A+348|0,_e=A+652|0,Ve=e[32322],P=e[32320],$e=A+60|0,it=A+648|0,ht=A+56|0,yt=A+620|0,R=A- -64|0;;){if(n=145840+(t<<5)|0,!(t=e[50756])|!e[t>>2]||(e[A+12>>2]=0,tn(t=A+16|0,e[n+8>>2],n,0,A+12|0),r=sn(t),i=d[n+17|0],t=216192+(e[50758]<<4)|0,e[t>>2]=16,e[t+8>>2]=i,e[t+4>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),t=1,(0|(i=(0|(r=e[50757]-e[50758]|0))<=0?r+170|0:r))<=(0|((r=d[n+17|0])?(0|r)==2?25:15:10)))break e;if(M=e[36442],2&d[0|n])for(y=2047&_[n+4>>1];;){if(i=e[36443],m=127&(r=e[198304+(i<<2)>>2])){t=r>>>8|0,e[36443]=i+1;r:{a:{switch((31&r)-2|0){case 0:cn(96&r|8,t),Ra(2);break r;case 5:if((0|t)>=e[34064]||!e[4+(m=136272+(i=t<<4)|0)>>2])break r;Kr(10,0),t=216192+(e[50758]<<4)|0,e[t>>2]=6,m=e[m+4>>2],e[t+8>>2]=e[8+(i+136272|0)>>2]+44,e[t+12>>2]=5376,e[t+4>>2]=m;break a;case 8:if((0|((0|(i=e[50757]-e[50758]|0))<=0?i+170:i))<6)break r;m=e[47353],i=216192+(e[50758]<<4)|0,e[i>>2]=778,e[i+8>>2]=t,e[i+4>>2]=m+y&16777215;break a;case 9:if((0|((0|(i=e[50757]-e[50758]|0))<=0?i+170:i))<6)break r;m=e[33284],i=216192+(e[50758]<<4)|0,e[i>>2]=1034,e[i+8>>2]=t,e[i+4>>2]=m+1&16777215;break a}Kr(10,0),i=216192+(e[50758]<<4)|0,e[i>>2]=12,e[i+8>>2]=t,e[i+4>>2]=m}t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0}if(!(128&r))continue}break}(t=d[n+20|0])&&(1&g[e[47192]+48|0]&d[n+17|0]==2|1&g[e[n+8>>2]+7|0]||(e[36426]=0),r=e[47353]+(2047&_[n+4>>1])|0,e[36445]=r,4&t&&((0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(i=e[47568],t=216192+(e[50758]<<4)|0,e[t>>2]=522,e[t+8>>2]=i,e[t+4>>2]=16777215&r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)),1&g[n+20|0]&&(r=_[n+4>>1],i=e[36444],e[36444]=i+1,(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(y=e[36445],m=e[47355],t=216192+(e[50758]<<4)|0,e[t>>2]=266,e[t+8>>2]=i+m,e[t+4>>2]=16777215&y|(63488&r)<<13,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0))),(0|(t=e[36441]))>0&&(r=216192+(e[36425]<<4)|0,e[r+4>>2]||(e[r+4>>2]=t),e[36441]=0),t=M+1<<5,r=M-1<<5,!(i=d[n+18|0])|2&d[e[n+8>>2]+7|0]||Kr(i,1),m=t+145840|0,l=r+145840|0,y=1;r:{a:{if(e[47198]&&(w=e[n+8>>2],d[w+10|0]!=15)){n:if(d[n+17|0]==2)switch(d[l+17|0]-3|0){case 0:case 5:break a;default:break n}y=0,tn(A+704|0,w,n,ae,0),(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(r=e[36445],t=216192+(e[50758]<<4)|0,e[t>>2]=1802,e[t+4>>2]=16777215&r,r=e[A+708>>2],e[t+8>>2]=e[A+704>>2],e[t+12>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}n:switch(d[n+17|0]){case 0:Kr(e[n+12>>2],0),g[n+23|0]=d[e[n+8>>2]+14|0];break r;case 4:r=e[n+8>>2],(0|(t=d[m+17|0]))==2|!d[m+20|0]&(0|t)==3||(v[n>>1]=8192|_[n>>1]),2&d[r+7|0]&&(e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,Gt(0,1,n,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[R>>2]=e[A+640>>2],e[36424]<0&&(i=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=i,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[m+22|0],i=d[m+21|0],m=e[129280+(d[n+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=w),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,y|=i<<16,i=(0|i)==255,e[t+12>>2]=i?3604556:y,e[t+8>>2]=i?P:m,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),$t(r,0,A+48|0,n,0)),Gt(0,0,n,A+552|0,145784),e[A+552>>2]=4|e[A+552>>2],(0|(t=e[36440]))<=0||(0|(r=e[36424]))<0||(e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=t),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],CA(),e[36427]=-1,e[36422]=0,(t=e[A+624>>2])&&(i=t,t=e[A+644>>2],ja(i,2,e[A+596>>2]<<1,e[A+552>>2],0,t?(t<<5)/100|0:32)),e[36426]=0;break r;case 6:Gt(0,0,n,A+552|0,145784),8&d[0|n]&&(t=e[n+12>>2],(0|(r=e[36440]))<=0||(0|(i=e[36424]))<0||(e[4+(i=216192+(i<<4)|0)>>2]||(e[i+4>>2]=r),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],CA(),e[36427]=-1,e[36422]=0,(r=e[A+624>>2])&&(i=t,t=e[A+644>>2],ja(r,2,e[A+596>>2]<<1,e[A+552>>2],i,t?(t<<5)/100|0:32))),t=e[n+12>>2],(0|(r=e[36440]))<=0||(0|(i=e[36424]))<0||(e[4+(i=216192+(i<<4)|0)>>2]||(e[i+4>>2]=r),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],CA(),e[36427]=-1,e[36422]=0,(r=e[A+624>>2])&&(i=t,t=e[A+644>>2],ja(r,2,e[A+596>>2]<<1,e[A+552>>2],i,t?(t<<5)/100|0:32)),e[36426]=0;break r;case 5:i=e[n+8>>2],e[ue+40>>2]=0,e[(t=ue)+32>>2]=0,e[t+36>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t>>2]=0,e[t+4>>2]=0,e[A+48>>2]=4;c:{o:{f:{l:switch(d[m+17|0]-2|0){case 0:r=d[n+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,r=d[n+22|0],w=d[n+21|0],y=e[129280+(d[n+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=(h=!(255&~w))?P:y,y=1;break o;case 1:break l;default:break f}if(!d[m+20|0]){r=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,r=d[m+22|0],w=d[m+21|0],y=e[129280+(d[m+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=(h=!(255&~w))?P:y,y=1;break o}}if(y=0,e[36424]>=0)break c;r=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,r=d[n+22|0],w=d[n+21|0],y=e[129280+(d[n+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=(h=!(255&~w))?P:y,y=0}ee=e[50758],e[36424]=ee,e[36440]=0,e[(ee=216192+(ee<<4)|0)>>2]=9,e[ee+4>>2]=0,e[ee+12>>2]=h?3604556:255&r|(255&w)<<16,e[ee+8>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0}c:if(!(2&d[i+7|0])&d[l+17|0]!=2)8&d[0|n]&&Kr(50,0);else{if(Gt(0,1,n,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],$t(i,0,A+48|0,n,0),!(8&d[0|n]))break c;Kr(25,1),$t(i,0,A+48|0,n,0)}c:if(y){if(e[36455]!=e[36454])break c;e[36455]=e[50758]}else v[n>>1]=8192|_[n>>1];if(Gt(0,0,n,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],e[A+76>>2]=e[A+636>>2],e[A+80>>2]=e[A+656>>2],$t(i,0,A+48|0,n,0),d[n+20|0]|d[84+(145840+(M<<5)|0)|0]||((0|(t=d[m+17|0]))==7&&(Kr(20,0),t=d[m+17|0]),(255&t)!=6))break r;Kr(12,0);break r;case 7:c:{o:{f:{l:{i:switch((t=d[m+17|0])-2|0){case 1:break l;case 0:break i;default:break f}r=d[n+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[n+22|0],t=d[n+21|0],i=e[129280+(d[n+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=w),r=(w=!(255&~t))?P:i;break o}r=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[m+22|0],t=d[m+21|0],i=e[129280+(d[m+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=w),r=(w=!(255&~t))?P:i;break o}if(e[36424]>=0)break c;r=d[n+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[n+22|0],t=d[n+21|0],i=e[129280+(d[n+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=w),r=(w=!(255&~t))?P:i}i=e[50758],e[36424]=i,e[36440]=0,e[(i=216192+(i<<4)|0)>>2]=9,e[i+4>>2]=0,e[i+12>>2]=w?3604556:(255&t)<<16|y,e[i+8>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,t=d[m+17|0]}c:{o:{f:switch((255&t)-2|0){case 1:if(d[m+20|0])break o;break;case 0:break f;default:break o}if(e[36455]!=e[36454])break c;e[36455]=e[50758];break c}v[n>>1]=8192|_[n>>1]}Gt(0,0,n,A+552|0,145784),e[A+56>>2]=0,e[A+60>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[A+88>>2]=0,e[A+56>>2]=e[A+620>>2],e[R>>2]=e[A+640>>2],e[A+80>>2]=e[A+656>>2],e[A+48>>2]=0,e[A+52>>2]=0,e[A+76>>2]=e[A+636>>2],e[A+92>>2]=e[A+596>>2]<<1,8&d[0|n]&&$t(e[n+8>>2],0,A+48|0,n,0),$t(e[n+8>>2],0,A+48|0,n,0);break r;case 8:if(e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,1&g[0|n]||(r=d[n+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,i=d[n+22|0],r=d[n+21|0],y=e[129280+(d[n+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=w),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,i|=r<<16,r=(0|r)==255,e[t+12>>2]=r?3604556:i,e[t+8>>2]=r?P:y,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),d[l+17|0]==8&&(e[36426]=0),Gt(0,0,n,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],e[A+92>>2]=e[A+596>>2]<<1,d[m+17|0]==2){e[36455]==e[36454]&&(e[36455]=e[50758]),$t(e[n+8>>2],0,A+48|0,n,0);break r}if(!(!(1&g[0|n])|d[l+17|0]!=2)){$t(e[n+8>>2],0,A+48|0,n,0);break r}e[36426]=0,$t(e[n+8>>2],0,A+48|0,n,0),e[36426]=0;break r;case 3:e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,i=e[e[n+8>>2]+4>>2],1&g[0|n]||(r=d[n+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[n+22|0],r=d[n+21|0],w=e[129280+(d[n+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,y|=r<<16,r=(0|r)==255,e[t+12>>2]=r?3604556:y,e[t+8>>2]=r?P:w,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),d[l+17|0]==8&&(e[36426]=0),d[m+17|0]!=2|e[36455]!=e[36454]||(e[36455]=e[50758]),Gt(0,0,n,A+552|0,145784),(0|(t=e[A+584>>2]-d[n+18|0]|0))>0&&Kr(t,1),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],e[A+76>>2]=e[A+636>>2],e[A+80>>2]=e[A+656>>2],e[A+92>>2]=e[A+596>>2]<<1,$t(e[n+8>>2],0,A+48|0,n,i<<24>>31&5);break r;case 2:break n;default:break r}w=e[n+8>>2]}M=d[n+3|0],e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,Gt(0,0,n,A+552|0,145784),t=e[A+628>>2],e[A+56>>2]=t,e[A+92>>2]=e[A+596>>2]<<1;a:{if(!t||(h=0,i=it,r=$e,2&d[A+552|0])){if(d[l+17|0]?(h=0,Gt(0,0,l,A+400|0,0),t=e[A+476>>2],e[A+56>>2]=t,!t|!(2&d[A+400|0])||(e[A+72>>2]=e[A+496>>2],h=1),r=e[A+512>>2],e[A+84>>2]=e[A+508>>2],e[A+88>>2]=r):h=0,t)break a;e[A+48>>2]=1,e[A+52>>2]=1,i=yt,r=ht}e[r>>2]=e[i>>2]}e[A+64>>2]=e[A+640>>2],r=d[n+16|0],t=0,(i=d[n+7|0])?(zn(i,A+96|0),r=wo(e[A+220>>2]),(0|(i=e[A+224>>2]))<=0||(t=wo(i))):r=e[129280+(r<<2)>>2],e[36455]==e[36454]&&(e[36455]=e[50758]),i=(i=15&M)>>>0<2?1:i>>>0>6?3:2;a:{switch(d[l+17|0]-3|0){case 2:case 4:h=d[n+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[12+(l=216192+(l<<4)|0)>>2]=h,e[l+8>>2]=t,e[l>>2]=8,e[l+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,h=d[n+22|0],l=d[n+21|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,$t(w,1,A+48|0,n,i);break a;case 0:case 5:h=d[n+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[12+(l=216192+(l<<4)|0)>>2]=h,e[l+8>>2]=t,e[l>>2]=8,e[l+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,$t(w,1,A+48|0,n,i),h=d[n+22|0],l=d[n+21|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0;break a}h?(h=d[n+22|0],(0|(l=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=l),l=e[50758],e[36424]=l,e[36440]=0,e[(l=216192+(l<<4)|0)>>2]=9,e[l+4>>2]=0,e[l+12>>2]=(h|h<<16)-983040,e[l+8>>2]=Ve,l=e[50758]+1|0,e[50758]=(0|l)<=169?l:0,h=d[n+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[(l=216192+(l<<4)|0)>>2]=8,e[l+4>>2]=0,e[l+12>>2]=h-1,e[l+8>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,$t(w,1,A+48|0,n,i),l=d[n+21|0],h=d[n+22|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0):(1&g[0|n]||(h=d[n+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[12+(l=216192+(l<<4)|0)>>2]=h,e[l+8>>2]=t,e[l>>2]=8,e[l+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,h=d[n+22|0],l=d[n+21|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),$t(w,1,A+48|0,n,i))}!e[47198]|1^y||(tn(A+704|0,e[n+8>>2],n,ae,0),(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(r=e[36445],t=216192+(e[50758]<<4)|0,e[t>>2]=1802,e[t+4>>2]=16777215&r,r=e[A+708>>2],e[t+8>>2]=e[A+704>>2],e[t+12>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)),e[A+56>>2]=e[A+620>>2],e[A+84>>2]=0,e[A+88>>2]=0,e[A+64>>2]=e[A+640>>2],r=e[A+632>>2],e[A+68>>2]=r,t=_e;a:{if(!r&&(!d[m+17|0]||(e[A+72>>2]=0,Gt(0,0,m,A+248|0,0),e[A+52>>2]=1,t=e[A+368>>2],e[A+84>>2]=e[A+364>>2],e[A+88>>2]=t,r=e[A+328>>2],e[A+68>>2]=r,t=be,!r)))break a;e[A+72>>2]=e[t>>2]}$t(w,2,A+48|0,n,i)}if(t=e[36442]+1|0,e[36442]=t,(0|t)>997)break t;if(!(e[36423]>(0|t)))break}(0|(t=e[36440]))<=0||(0|(r=e[36424]))<0||(e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=t),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],CA(),e[36427]=-1,t=0,e[36423]<=0||(r=e[47568],i=e[33284],(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))>=6&&(t=216192+(e[50758]<<4)|0,e[t>>2]=1290,e[t+8>>2]=r,e[t+4>>2]=16777215&i,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),e[36423]=0,t=0)}return oe=A+720|0,t}function jt(t,A,r,n){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0;oe=i=oe-48|0;e:{if(r>>>0<=2){for(cA=e[124732+(r<<=2)>>2],gA=e[r+124720>>2];(0|(r=e[A+4>>2]))==e[A+104>>2]?r=oA(A):(e[A+4>>2]=r+1,r=d[0|r]),(0|r)==32|r-9>>>0<5;);ee=1;t:{r:switch(r-43|0){case 0:case 2:break r;default:break t}ee=(0|r)==45?-1:1,(0|(r=e[A+4>>2]))==e[A+104>>2]?r=oA(A):(e[A+4>>2]=r+1,r=d[0|r])}t:{r:{for(;;){if(g[m+84056|0]==(32|r)){if(m>>>0>6||((0|(r=e[A+4>>2]))==e[A+104>>2]?r=oA(A):(e[A+4>>2]=r+1,r=d[0|r])),(0|(m=m+1|0))!=8)continue;break r}break}if((0|m)!=3){if((0|m)==8)break r;if(!n|m>>>0<4)break t;if((0|m)==8)break r}if((0|(r=e[A+116>>2]))>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1),!(!n|m>>>0<4))for(r=(0|r)<0;r||(e[A+4>>2]=e[A+4>>2]-1),(m=m-1|0)>>>0>3;);}oe=P=oe-16|0,U(Ie(Ie(0|ee)*Ie(1/0))),(A=2147483647&(w=G(2)))-8388608>>>0<=2130706431?(r=A,r<<=25,n=1065353216+(A=A>>>7|0)|0):(r=w<<25,n=w>>>7|2147418112,A>>>0>=2139095040||(r=0,n=0,A&&(ea(P,r=A,0,0,0,(A=ce(A))+81|0),y=e[P>>2],M=e[P+4>>2],r=e[P+8>>2],n=65536^e[P+12>>2]|16265-A<<16))),e[i>>2]=y,e[i+4>>2]=M,e[i+8>>2]=r,e[i+12>>2]=-2147483648&w|n,oe=P+16|0,y=e[i+8>>2],M=e[i+12>>2],w=e[i>>2],R=e[i+4>>2];break e}t:{r:{a:if(!m){for(m=0;;){if(g[m+84473|0]!=(32|r))break a;if(m>>>0>1||((0|(r=e[A+4>>2]))==e[A+104>>2]?r=oA(A):(e[A+4>>2]=r+1,r=d[0|r])),(0|(m=m+1|0))==3)break}break r}switch(0|m){case 0:if((0|r)==48){if((0|(m=e[A+4>>2]))==e[A+104>>2]?m=oA(A):(e[A+4>>2]=m+1,m=d[0|m]),(-33&m)==88){oe=h=oe-432|0,(0|(r=e[A+4>>2]))==e[A+104>>2]?m=oA(A):(e[A+4>>2]=r+1,m=d[0|r]);a:{n:{for(;;){if((0|m)!=48){if((0|m)!=46)break a;if((0|(r=e[A+4>>2]))!=e[A+104>>2]){e[A+4>>2]=r+1,m=d[0|r];break n}break}(0|(r=e[A+4>>2]))!=e[A+104>>2]?(Wt=1,e[A+4>>2]=r+1,m=d[0|r]):(Wt=1,m=oA(A))}m=oA(A)}if(be=1,(0|m)==48){for(;_e=(r=_e)-1|0,Ve=Ve-!r|0,(0|(r=e[A+4>>2]))==e[A+104>>2]?m=oA(A):(e[A+4>>2]=r+1,m=d[0|r]),(0|m)==48;);Wt=1}}for(R=1073676288;;){a:{r=32|m;n:{if(!((SA=m-48|0)>>>0<10)){if((0|m)!=46&r-97>>>0>=6)break a;if((0|m)==46){if(be)break a;be=1,_e=y,Ve=M;break n}}r=(0|m)>57?r-87|0:SA,(0|M)<=0&y>>>0<=7|(0|M)<0?l=r+(l<<4)|0:!M&y>>>0<=28?(js(h+48|0,r),qt(h+32|0,yt,Pt,w,R,0,0,0,1073414144),yt=e[h+32>>2],Pt=e[h+36>>2],w=e[h+40>>2],R=e[h+44>>2],qt(h+16|0,e[h+48>>2],e[h+52>>2],e[h+56>>2],e[h+60>>2],yt,Pt,w,R),FA(h,e[h+16>>2],e[h+20>>2],e[h+24>>2],e[h+28>>2],P,ue,it,ht),it=e[h+8>>2],ht=e[h+12>>2],P=e[h>>2],ue=e[h+4>>2]):ae|!r||(qt(h+80|0,yt,Pt,w,R,0,0,0,1073610752),FA(h- -64|0,e[h+80>>2],e[h+84>>2],e[h+88>>2],e[h+92>>2],P,ue,it,ht),it=e[h+72>>2],ht=e[h+76>>2],ae=1,P=e[h+64>>2],ue=e[h+68>>2]),M=(y=y+1|0)?M:M+1|0,Wt=1}(0|(r=e[A+4>>2]))!=e[A+104>>2]?(e[A+4>>2]=r+1,m=d[0|r]):m=oA(A);continue}break}a:if(Wt){if((0|M)<=0&y>>>0<=7|(0|M)<0)for(w=y,R=M;l<<=4,(0|(w=w+1|0))!=8|(R=w?R:R+1|0););n:{c:{o:{if((-33&m)==80){if(w=Oi(A,n),R=r=fe,w|(0|r)!=-2147483648)break n;if(n){if((0|(r=e[A+116>>2]))>0|(0|r)>=0)break o;break c}P=0,ue=0,ua(A,0,0),r=0,A=0;break a}if(w=0,R=0,e[A+116>>2]<0)break n}e[A+4>>2]=e[A+4>>2]-1}w=0,R=0}if(l)if(r=w+((A=be?_e:y)<<2)|0,A=(M=(be?Ve:M)<<2|A>>>30)+R|0,(y=r-32|0)>>>0>0-cA>>>0&(0|(A=M=(r>>>0<w>>>0?A+1|0:A)-(r>>>0<32)|0))>=0|(0|A)>0)e[56798]=68,js(h+160|0,ee),qt(h+144|0,e[h+160>>2],e[h+164>>2],e[h+168>>2],e[h+172>>2],-1,-1,-1,2147418111),qt(h+128|0,e[h+144>>2],e[h+148>>2],e[h+152>>2],e[h+156>>2],-1,-1,-1,2147418111),P=e[h+128>>2],ue=e[h+132>>2],r=e[h+140>>2],A=e[h+136>>2];else if((0|M)>=(0|(r=(A=cA-226|0)>>31))&A>>>0<=y>>>0|(0|r)<(0|M)){if((0|l)>=0)for(;FA(h+416|0,P,ue,it,ht,0,0,0,-1073807360),FA(h+400|0,P,ue,it,ht,(A=r=(0|(A=Lo(P,ue,it,ht,1073610752)))>=0)?e[h+416>>2]:P,A?e[h+420>>2]:ue,A?e[h+424>>2]:it,A?e[h+428>>2]:ht),y=(A=y)-1|0,M=M-!A|0,it=e[h+408>>2],ht=e[h+412>>2],P=e[h+400>>2],ue=e[h+404>>2],(0|(l=r|l<<1))>=0;);A=M-((cA>>31)+(y>>>0<cA>>>0)|0)|0,(0|(r=(r=32+(y-cA|0)|0)>>>0<gA>>>0&(0|(A=r>>>0<32?A+1|0:A))<=0|(0|A)<0?(0|r)>0?r:0:gA))>=113?(js(h+384|0,ee),_e=e[h+392>>2],Ve=e[h+396>>2],yt=e[h+384>>2],Pt=e[h+388>>2],w=0,A=0):(Ss(h+352|0,fi(1,144-r|0)),js(h+336|0,ee),yt=e[h+336>>2],Pt=e[h+340>>2],_e=e[h+344>>2],Ve=e[h+348>>2],pn(h+368|0,e[h+352>>2],e[h+356>>2],e[h+360>>2],e[h+364>>2],yt,Pt,_e,Ve),$e=e[h+376>>2],VA=e[h+380>>2],w=e[h+372>>2],A=e[h+368>>2]),un(h+320|0,(n=!(1&l)&!!(0|Yt(P,ue,it,ht,0,0,0,0))&(0|r)<32)+l|0),qt(h+304|0,yt,Pt,_e,Ve,e[h+320>>2],e[h+324>>2],e[h+328>>2],e[h+332>>2]),r=A,FA(h+272|0,e[h+304>>2],e[h+308>>2],e[h+312>>2],e[h+316>>2],A,w,$e,VA),qt(h+288|0,yt,Pt,_e,Ve,(A=n)?0:P,A?0:ue,A?0:it,A?0:ht),FA(h+256|0,e[h+288>>2],e[h+292>>2],e[h+296>>2],e[h+300>>2],e[h+272>>2],e[h+276>>2],e[h+280>>2],e[h+284>>2]),Ui(h+240|0,e[h+256>>2],e[h+260>>2],e[h+264>>2],e[h+268>>2],r,w,$e,VA),Yt(A=e[h+240>>2],n=e[h+244>>2],r=e[h+248>>2],w=e[h+252>>2],0,0,0,0)||(e[56798]=68),Gr(h+224|0,A,n,r,w,y),P=e[h+224>>2],ue=e[h+228>>2],r=e[h+236>>2],A=e[h+232>>2]}else e[56798]=68,js(h+208|0,ee),qt(h+192|0,e[h+208>>2],e[h+212>>2],e[h+216>>2],e[h+220>>2],0,0,0,65536),qt(h+176|0,e[h+192>>2],e[h+196>>2],e[h+200>
2810>2],e[h+204>>2],0,0,0,65536),P=e[h+176>>2],ue=e[h+180>>2],r=e[h+188>>2],A=e[h+184>>2];else Ss(h+112|0,0*+(0|ee)),P=e[h+112>>2],ue=e[h+116>>2],r=e[h+124>>2],A=e[h+120>>2]}else{n:{c:{if((0|(r=e[A+116>>2]))>0|(0|r)>=0){if(r=e[A+4>>2],e[A+4>>2]=r-1,!n)break c;if(e[A+4>>2]=r-2,!be)break n;e[A+4>>2]=r-3;break n}if(n)break n}ua(A,0,0)}Ss(h+96|0,0*+(0|ee)),P=e[h+96>>2],ue=e[h+100>>2],r=e[h+108>>2],A=e[h+104>>2]}e[i+16>>2]=P,e[i+20>>2]=ue,e[i+24>>2]=A,e[i+28>>2]=r,oe=h+432|0,y=e[i+24>>2],M=e[i+28>>2],w=e[i+16>>2],R=e[i+20>>2];break e}e[A+116>>2]<0||(e[A+4>>2]=e[A+4>>2]-1)}m=A,$e=ee,h=n,A=0,ee=0,oe=l=oe-8976|0,VA=(SA=0-cA|0)-gA|0;a:{n:{for(;;){if((0|r)!=48){if((0|r)!=46)break a;if((0|(r=e[m+4>>2]))!=e[m+104>>2]){e[m+4>>2]=r+1,r=d[0|r];break n}break}(0|(A=e[m+4>>2]))!=e[m+104>>2]?(e[m+4>>2]=A+1,r=d[0|A]):r=oA(m),A=1}r=oA(m)}if(ae=1,(0|r)==48){for(;y=(A=y)-1|0,M=M-!A|0,(0|(A=e[m+4>>2]))==e[m+104>>2]?r=oA(m):(e[m+4>>2]=A+1,r=d[0|A]),(0|r)==48;);A=1}}e[l+784>>2]=0;a:{n:{c:{o:{f:{if((n=(0|r)==46)|(P=r-48|0)>>>0<=9)for(;;){l:{if(1&n){if(!ae){y=w,M=R,ae=1;break l}n=!A;break f}R=(w=w+1|0)?R:R+1|0,(0|ee)<=2044?(Wt=(0|r)==48?Wt:w,A=(l+784|0)+(ee<<2)|0,be&&(P=(F(e[A>>2],10)+r|0)-48|0),e[A>>2]=P,A=1,be=(r=(0|(n=be+1|0))==9)?0:n,ee=r+ee|0):(0|r)!=48&&(e[l+8960>>2]=1|e[l+8960>>2],Wt=18396)}if((0|(r=e[m+4>>2]))==e[m+104>>2]?r=oA(m):(e[m+4>>2]=r+1,r=d[0|r]),!((n=(0|r)==46)|(P=r-48|0)>>>0<10))break}if(y=ae?y:w,M=ae?M:R,!(!A|(-33&r)!=69)){if(P=Oi(m,h),ue=A=fe,!(P|(0|A)!=-2147483648)){if(!h)break c;P=0,ue=0,e[m+116>>2]<0||(e[m+4>>2]=e[m+4>>2]-1)}M=M+ue|0,M=(y=y+P|0)>>>0<P>>>0?M+1|0:M;break n}if(n=!A,(0|r)<0)break o}e[m+116>>2]<0||(e[m+4>>2]=e[m+4>>2]-1)}if(!n)break n;e[56798]=28}w=0,R=0,ua(m,0,0),r=0,A=0;break a}if(A=e[l+784>>2])if(w>>>0>9&(0|R)>=0|(0|R)>0|(0|w)!=(0|y)|(0|M)!=(0|R)|(A>>>gA|0?(0|gA)<=30:0))if(y>>>0>SA>>>1>>>0&(0|M)>=0|(0|M)>0)e[56798]=68,js(l+96|0,$e),qt(l+80|0,e[l+96>>2],e[l+100>>2],e[l+104>>2],e[l+108>>2],-1,-1,-1,2147418111),qt(l- -64|0,e[l+80>>2],e[l+84>>2],e[l+88>>2],e[l+92>>2],-1,-1,-1,2147418111),w=e[l+64>>2],R=e[l+68>>2],r=e[l+76>>2],A=e[l+72>>2];else if((r=y>>>0<(A=cA-226|0)>>>0)&(0|M)<=(0|(A>>=31))|(0|A)>(0|M))e[56798]=68,js(l+144|0,$e),qt(l+128|0,e[l+144>>2],e[l+148>>2],e[l+152>>2],e[l+156>>2],0,0,0,65536),qt(l+112|0,e[l+128>>2],e[l+132>>2],e[l+136>>2],e[l+140>>2],0,0,0,65536),w=e[l+112>>2],R=e[l+116>>2],r=e[l+124>>2],A=e[l+120>>2];else{if(be){if((0|be)<=8){for(m=e[(A=(l+784|0)+(ee<<2)|0)>>2];m=F(m,10),(0|(be=be+1|0))!=9;);e[A>>2]=m}ee=ee+1|0}if(ae=y,!((0|Wt)>(0|y)|(0|Wt)>=9|(0|y)>17)){if((0|ae)==9){js(l+192|0,$e),un(l+176|0,e[l+784>>2]),qt(l+160|0,e[l+192>>2],e[l+196>>2],e[l+200>>2],e[l+204>>2],e[l+176>>2],e[l+180>>2],e[l+184>>2],e[l+188>>2]),w=e[l+160>>2],R=e[l+164>>2],r=e[l+172>>2],A=e[l+168>>2];break a}if((0|ae)<=8){js(l+272|0,$e),un(l+256|0,e[l+784>>2]),qt(l+240|0,e[l+272>>2],e[l+276>>2],e[l+280>>2],e[l+284>>2],e[l+256>>2],e[l+260>>2],e[l+264>>2],e[l+268>>2]),js(l+224|0,e[124720+(0-ae<<2)>>2]),vA(l+208|0,e[l+240>>2],e[l+244>>2],e[l+248>>2],e[l+252>>2],e[l+224>>2],e[l+228>>2],e[l+232>>2],e[l+236>>2]),w=e[l+208>>2],R=e[l+212>>2],r=e[l+220>>2],A=e[l+216>>2];break a}if(A=27+(F(ae,-3)+gA|0)|0,!((r=e[l+784>>2])>>>A|0&&(0|A)<=30)){js(l+352|0,$e),un(l+336|0,r),qt(l+320|0,e[l+352>>2],e[l+356>>2],e[l+360>>2],e[l+364>>2],e[l+336>>2],e[l+340>>2],e[l+344>>2],e[l+348>>2]),js(l+304|0,e[124648+(ae<<2)>>2]),qt(l+288|0,e[l+320>>2],e[l+324>>2],e[l+328>>2],e[l+332>>2],e[l+304>>2],e[l+308>>2],e[l+312>>2],e[l+316>>2]),w=e[l+288>>2],R=e[l+292>>2],r=e[l+300>>2],A=e[l+296>>2];break a}}for(;!e[(l+784|0)+((ee=(r=ee)-1|0)<<2)>>2];);if(be=0,A=(0|ae)%9|0){if(n=0,A=(0|ae)<0?A+9|0:A,r){for(M=1e9/(0|(y=e[124720+(0-A<<2)>>2]))|0,P=0,m=0;w=(w=P)+(ee=((R=e[(P=(l+784|0)+(m<<2)|0)>>2])>>>0)/(y>>>0)|0)|0,e[P>>2]=w,n=(w=!w&(0|n)==(0|m))?n+1&2047:n,ae=w?ae-9|0:ae,P=F(M,R-F(y,ee)|0),(0|(m=m+1|0))!=(0|r););P&&(e[(l+784|0)+(r<<2)>>2]=P,r=r+1|0)}else r=0;ae=9+(ae-A|0)|0}else n=0;for(;;){m=(l+784|0)+(n<<2)|0;n:{for(;;){if(((0|ae)!=36|re[m>>2]>=10384593)&(0|ae)>=36)break n;for(ee=r+2047|0,P=0,A=r;r=A,y=P,P=(A=e[(ee=(l+784|0)+((w=2047&ee)<<2)|0)>>2])<<29,A=R=A>>>3|0,!(M=(y=y+P|0)>>>0<P>>>0?A+1|0:A)&y>>>0<1000000001?P=0:y=(A=y)-rr(P=$i(A,M,1e9),fe,1e9,0)|0,e[ee>>2]=y,A=(0|w)!=(r-1&2047)||(0|n)==(0|w)||y?r:w,ee=w-1|0,(0|n)!=(0|w););
vendor: 17,076 bytes, line 2810
2810if(be=be-29|0,P)break}(0|(n=n-1&2047))==(0|A)&&(m=r=(y=l+784|0)+((A+2046&2047)<<2)|0,M=e[r>>2],r=A-1&2047,e[m>>2]=M|e[y+(r<<2)>>2]),ae=ae+9|0,e[(l+784|0)+(n<<2)>>2]=P;continue}break}n:{c:for(;;){for(y=r+1&2047,P=(l+784|0)+((r-1&2047)<<2)|0;;){w=(0|ae)>45?9:1;o:{for(;;){A=n,m=0;f:{for(;;){if((0|(n=A+m&2047))!=(0|r)&&!((n=e[(l+784|0)+(n<<2)>>2])>>>0<(M=e[124672+(m<<2)>>2])>>>0)){if(n>>>0>M>>>0)break f;if((0|(m=m+1|0))!=4)continue}break}if((0|ae)==36){for(y=0,M=0,m=0,w=0,R=0;(0|(n=A+m&2047))==(0|r)&&(e[780+(l+((r=r+1&2047)<<2)|0)>>2]=0),un(l+768|0,e[(l+784|0)+(n<<2)>>2]),qt(l+752|0,y,M,w,R,0,0,1342177280,1075633366),FA(l+736|0,e[l+752>>2],e[l+756>>2],e[l+760>>2],e[l+764>>2],e[l+768>>2],e[l+772>>2],e[l+776>>2],e[l+780>>2]),w=e[l+744>>2],R=e[l+748>>2],y=e[l+736>>2],M=e[l+740>>2],(0|(m=m+1|0))!=4;);if(js(l+720|0,$e),qt(l+704|0,y,M,w,R,e[l+720>>2],e[l+724>>2],e[l+728>>2],e[l+732>>2]),w=e[l+712>>2],R=e[l+716>>2],y=0,M=0,P=e[l+704>>2],ue=e[l+708>>2],(0|(n=(ee=(0|(m=(h=be+113|0)-cA|0))<(0|gA))?(0|m)>0?m:0:gA))<=112)break o;break n}}if(be=w+be|0,n=r,(0|A)!=(0|r))break}for(R=1e9>>>w|0,ee=~(-1<<w),m=0,n=A;M=(M=m)+((h=e[(m=(l+784|0)+(A<<2)|0)>>2])>>>w|0)|0,e[m>>2]=M,n=(M=!M&(0|A)==(0|n))?n+1&2047:n,ae=M?ae-9|0:ae,m=F(R,h&ee),(0|r)!=(0|(A=A+1&2047)););if(!m)continue;if((0|n)!=(0|y)){e[(l+784|0)+(r<<2)>>2]=m,r=y;continue c}e[P>>2]=1|e[P>>2];continue}break}break}Ss(l+656|0,fi(1,225-n|0)),pn(l+688|0,e[l+656>>2],e[l+660>>2],e[l+664>>2],e[l+668>>2],P,ue,w,R),yt=e[l+696>>2],Pt=e[l+700>>2],it=e[l+688>>2],ht=e[l+692>>2],Ss(l+640|0,fi(1,113-n|0)),Ja(l+672|0,P,ue,w,R,e[l+640>>2],e[l+644>>2],e[l+648>>2],e[l+652>>2]),Ui(l+624|0,P,ue,w,R,y=e[l+672>>2],M=e[l+676>>2],_e=e[l+680>>2],Ve=e[l+684>>2]),FA(l+608|0,it,ht,yt,Pt,e[l+624>>2],e[l+628>>2],e[l+632>>2],e[l+636>>2]),w=e[l+616>>2],R=e[l+620>>2],P=e[l+608>>2],ue=e[l+612>>2]}if((0|(ae=A+4&2047))!=(0|r)){n:if((ae=e[(l+784|0)+(ae<<2)>>2])>>>0<=499999999){if(!ae&(A+5&2047)==(0|r))break n;Ss(l+496|0,.25*+(0|$e)),FA(l+480|0,y,M,_e,Ve,e[l+496>>2],e[l+500>>2],e[l+504>>2],e[l+508>>2]),_e=e[l+488>>2],Ve=e[l+492>>2],y=e[l+480>>2],M=e[l+484>>2]}else(0|ae)==5e8?(qA=+(0|$e),(A+5&2047)!=(0|r)?(Ss(l+560|0,.75*qA),FA(l+544|0,y,M,_e,Ve,e[l+560>>2],e[l+564>>2],e[l+568>>2],e[l+572>>2]),_e=e[l+552>>2],Ve=e[l+556>>2],y=e[l+544>>2],M=e[l+548>>2]):(Ss(l+528|0,.5*qA),FA(l+512|0,y,M,_e,Ve,e[l+528>>2],e[l+532>>2],e[l+536>>2],e[l+540>>2]),_e=e[l+520>>2],Ve=e[l+524>>2],y=e[l+512>>2],M=e[l+516>>2])):(Ss(l+592|0,.75*+(0|$e)),FA(l+576|0,y,M,_e,Ve,e[l+592>>2],e[l+596>>2],e[l+600>>2],e[l+604>>2]),_e=e[l+584>>2],Ve=e[l+588>>2],y=e[l+576>>2],M=e[l+580>>2]);(0|n)>111||(Ja(l+464|0,y,M,_e,Ve,0,0,0,1073676288),Yt(e[l+464>>2],e[l+468>>2],e[l+472>>2],e[l+476>>2],0,0,0,0)||(FA(l+448|0,y,M,_e,Ve,0,0,0,1073676288),_e=e[l+456>>2],Ve=e[l+460>>2],y=e[l+448>>2],M=e[l+452>>2]))}FA(l+432|0,P,ue,w,R,y,M,_e,Ve),Ui(l+416|0,e[l+432>>2],e[l+436>>2],e[l+440>>2],e[l+444>>2],it,ht,yt,Pt),w=e[l+424>>2],R=e[l+428>>2],P=e[l+416>>2],ue=e[l+420>>2],(VA-2|0)>=(2147483647&h)||(e[l+408>>2]=w,e[l+412>>2]=2147483647&R,e[l+400>>2]=P,e[l+404>>2]=ue,qt(l+384|0,P,ue,w,R,0,0,0,1073610752),w=(A=(0|(A=Lo(e[l+400>>2],e[l+404>>2],e[l+408>>2],e[l+412>>2],1081081856)))>=0)?e[l+392>>2]:w,R=A?e[l+396>>2]:R,P=A?e[l+384>>2]:P,ue=A?e[l+388>>2]:ue,be=A+be|0,!(!!(0|Yt(y,M,_e,Ve,0,0,0,0))&(A?ee&(0|n)!=(0|m):ee))&(be+110|0)<=(0|VA)||(e[56798]=68)),Gr(l+368|0,P,ue,w,R,be),w=e[l+368>>2],R=e[l+372>>2],r=e[l+380>>2],A=e[l+376>>2]}else js(l+48|0,$e),un(l+32|0,A),qt(l+16|0,e[l+48>>2],e[l+52>>2],e[l+56>>2],e[l+60>>2],e[l+32>>2],e[l+36>>2],e[l+40>>2],e[l+44>>2]),w=e[l+16>>2],R=e[l+20>>2],r=e[l+28>>2],A=e[l+24>>2];else Ss(l,0*+(0|$e)),w=e[l>>2],R=e[l+4>>2],r=e[l+12>>2],A=e[l+8>>2]}e[i+40>>2]=A,e[i+44>>2]=r,e[i+32>>2]=w,e[i+36>>2]=R,oe=l+8976|0,y=e[i+40>>2],M=e[i+44>>2],w=e[i+32>>2],R=e[i+36>>2];break e;case 3:break r}(0|(r=e[A+116>>2]))>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1);break t}if((0|(r=e[A+4>>2]))==e[A+104>>2]?r=oA(A):(e[A+4>>2]=r+1,r=d[0|r]),(0|r)!=40){if(M=2147450880,e[A+116>>2]<0)break e;e[A+4>>2]=e[A+4>>2]-1;break e}for(m=1;(0|(r=e[A+4>>2]))==e[A+104>>2]?r=oA(A):(e[A+4>>2]=r+1,r=d[0|r]),r-48>>>0<10|r-65>>>0<26|(0|r)==95||!(r-97>>>0>=26);)m=m+1|0;if(M=2147450880,(0|r)==41)break e;(0|(r=e[A+116>>2]))>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1);r:{if(n){if(m)break r;break e}break t}for(;m=m-1|0,(0|r)>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1),m;);break e}e[56798]=28,ua(A,0,0)}M=0}e[t>>2]=w,e[t+4>>2]=R,e[t+8>>2]=y,e[t+12>>2]=M,oe=i+48|0}function $t(t,A,r,n,i){var l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0;if(oe=l=oe-112|0,e[r+8>>2]){cA=e[50754]/70|0,ue=(P=e[n+12>>2])||256;e:if((0|A)!=2){if((0|A)==1){t:if(d[t+11|0]!=3)switch(d[n-15|0]-3|0){case 0:case 5:break t;default:break e}ue=(0|(P=e[e[47192]+44>>2]))<(0|ue)?ue:P}}else{if((0|(P=e[e[47192]+80>>2]))<=0|!(8&d[0|n]|P>>>0<=d[t+14|0]|32&d[t+6|0]))break e;cA<<=1}if(e[36436]=0,Ve=t,gA=A,y=n,oe=ae=oe-16|0,t=e[34460]+e[r+8>>2]|0,A=(A=d[t+2|0])>>>0>=24?24:A,e[ae+12>>2]=A,m=e[r+12>>2]+e[r+24>>2]|0,e[36422]=m,A){for(P=t+4|0,h=1&v[t+4>>1];t=145488+(M<<3)|0,n=P+(h?M<<6:F(M,44))|0,e[t+4>>2]=n,ee=_[n>>1],v[t+2>>1]=ee,v[t>>1]=d[n+16|0],w=2&ee?M:w,(0|(M=M+1|0))!=(0|A););P=145488,(0|w)<=0||((0|gA)!=1?(A=A-w|0,e[ae+12>>2]=A,P=145488+(w<<3)|0):(A=w+1|0,e[ae+12>>2]=A,P=145488))}else A=0,P=145488;if(!(!e[r+4>>2]|e[r+20>>2]|d[Ve+11|0]!=2)){if(h=e[r+36>>2],n=e[r+40>>2],t=0,(0|(A=e[ae+12>>2]))>=2){w=h>>>12|0,ee=n>>>26&7,$e=n>>>18&248,be=F(_e=63&n,50),ht=63&(yt=h>>>6|0),M=h<<1&126,Pt=F(n>>>16&31,50)-750|0,Wt=F(n>>>11&31,50)-750|0,it=F(n>>>6&31,50)-750|0;e:{t:if((0|gA)!=1){if(!(w|_e))break e;if(8&w?(A=e[4+(P+((m=A-1|0)<<3)|0)>>2],v[A>>1]<0?t=A:(t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,m=_[A+20>>1]|_[A+22>>1]<<16,t=177888+(t<<6)|0,h=_[A+16>>1]|_[A+18>>1]<<16,v[t+16>>1]=h,v[t+18>>1]=h>>>16,v[t+20>>1]=m,v[t+22>>1]=m>>>16,m=_[A+4>>1]|_[A+6>>1]<<16,h=_[A>>1]|_[A+2>>1]<<16,v[t>>1]=h,v[t+2>>1]=h>>>16,v[t+4>>1]=m,v[t+6>>1]=m>>>16,m=_[A+12>>1]|_[A+14>>1]<<16,h=_[A+8>>1]|_[A+10>>1]<<16,v[t+8>>1]=h,v[t+10>>1]=h>>>16,v[t+12>>1]=m,v[t+14>>1]=m>>>16,m=_[A+28>>1]|_[A+30>>1]<<16,h=_[A+24>>1]|_[A+26>>1]<<16,v[t+24>>1]=h,v[t+26>>1]=h>>>16,v[t+28>>1]=m,v[t+30>>1]=m>>>16,m=_[A+36>>1]|_[A+38>>1]<<16,h=_[A+32>>1]|_[A+34>>1]<<16,v[t+32>>1]=h,v[t+34>>1]=h>>>16,v[t+36>>1]=m,v[t+38>>1]=m>>>16,m=_[A+44>>1]|_[A+46>>1]<<16,h=_[A+40>>1]|_[A+42>>1]<<16,v[t+40>>1]=h,v[t+42>>1]=h>>>16,v[t+44>>1]=m,v[t+46>>1]=m>>>16,m=_[A+52>>1]|_[A+54>>1]<<16,h=_[A+48>>1]|_[A+50>>1]<<16,v[t+48>>1]=h,v[t+50>>1]=h>>>16,v[t+52>>1]=m,v[t+54>>1]=m>>>16,m=_[A+60>>1]|_[A+62>>1]<<16,A=_[A+56>>1]|_[A+58>>1]<<16,v[t+56>>1]=A,v[t+58>>1]=A>>>16,v[t+60>>1]=m,v[t+62>>1]=m>>>16,g[t+16|0]=0,v[t>>1]=32768|_[t>>1],m=e[ae+12>>2]-1|0),e[4+(P+(m<<3)|0)>>2]=t,A=1792,(0|(m=v[t+4>>1]))<300||(A=1536,m>>>0<400||(A=m>>>0<500?1280:1024)),e[36436]=A,h=35):(e[ae+12>>2]=A+1,v[(t=(m=P+(A<<3)|0)-8|0)>>1]=M,A=e[t+4>>2],t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,(t=177888+(yt=t<<6)|0)&&(h=_[A+4>>1]|_[A+6>>1]<<16,R=_[A>>1]|_[A+2>>1]<<16,v[t>>1]=R,v[t+2>>1]=R>>>16,v[t+4>>1]=h,v[t+6>>1]=h>>>16,h=_[A+60>>1]|_[A+62>>1]<<16,R=_[A+56>>1]|_[A+58>>1]<<16,v[t+56>>1]=R,v[t+58>>1]=R>>>16,v[t+60>>1]=h,v[t+62>>1]=h>>>16,h=_[A+52>>1]|_[A+54>>1]<<16,R=_[A+48>>1]|_[A+50>>1]<<16,v[t+48>>1]=R,v[t+50>>1]=R>>>16,v[t+52>>1]=h,v[t+54>>1]=h>>>16,h=_[A+44>>1]|_[A+46>>1]<<16,R=_[A+40>>1]|_[A+42>>1]<<16,v[t+40>>1]=R,v[t+42>>1]=R>>>16,v[t+44>>1]=h,v[t+46>>1]=h>>>16,h=_[A+36>>1]|_[A+38>>1]<<16,R=_[A+32>>1]|_[A+34>>1]<<16,v[t+32>>1]=R,v[t+34>>1]=R>>>16,v[t+36>>1]=h,v[t+38>>1]=h>>>16,h=_[A+28>>1]|_[A+30>>1]<<16,R=_[A+24>>1]|_[A+26>>1]<<16,v[t+24>>1]=R,v[t+26>>1]=R>>>16,v[t+28>>1]=h,v[t+30>>1]=h>>>16,h=_[A+20>>1]|_[A+22>>1]<<16,R=_[A+16>>1]|_[A+18>>1]<<16,v[t+16>>1]=R,v[t+18>>1]=R>>>16,v[t+20>>1]=h,v[t+22>>1]=h>>>16,h=_[A+12>>1]|_[A+14>>1]<<16,A=_[A+8>>1]|_[A+10>>1]<<16,v[t+8>>1]=A,v[t+10>>1]=A>>>16,v[t+12>>1]=h,v[t+14>>1]=h>>>16,g[yt+177904|0]=0,v[t>>1]=32768|_[t>>1]),v[m>>1]=0,e[m+4>>2]=t,M>>>0>=37&&(e[36422]=(M+e[36422]|0)-36),h=ht<<1,_e&&gt(t,be,it,Wt,ee,Pt,$e,w)),e[e[32972]+132>>2]||(A=d[t+17|0])&&(A=v[102896+(((0|(A=(h<<6>>>0)/(A>>>0)|0))>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512),n-536870912>>>0<=1073741823){if(ee=e[44469],(0|(m=e[ae+12>>2]))>0)for(t=F(n>>>29|0,10)+102854|0,$e=v[t+4>>1],_e=v[t+2>>1],be=v[t>>1],Pt=v[t+6>>1],Wt=v[t+8>>1],h=0;A=e[4+(it=P+(h<<3)|0)>>2],v[A>>1]<0?t=A:(t=177888+(ht=(ee=(0|(t=ee+1|0))<=169?t:0)<<6)|0)?(n=_[A+4>>1]|_[A+6>>1]<<16,m=_[A>>1]|_[A+2>>1]<<16,v[t>>1]=m,v[t+2>>1]=m>>>16,v[t+4>>1]=n,v[t+6>>1]=n>>>16,n=_[A+60>>1]|_[A+62>>1]<<16,m=_[A+56>>1]|_[A+58>>1]<<16,v[t+56>>1]=m,v[t+58>>1]=m>>>16,v[t+60>>1]=n,v[t+62>>1]=n>>>16,n=_[A+52>>1]|_[A+54>>1]<<16,m=_[A+48>>1]|_[A+50>>1]<<16,v[t+48>>1]=m,v[t+50>>1]=m>>>16,v[t+52>>1]=n,v[t+54>>1]=n>>>16,n=_[A+44>>1]|_[A+46>>1]<<16,m=_[A+40>>1]|_[A+42>>1]<<16,v[t+40>>1]=m,v[t+42>>1]=m>>>16,v[t+44>>1]=n,v[t+46>>1]=n>>>16,n=_[A+36>>1]|_[A+38>>1]<<16,m=_[A+32>>1]|_[A+34>>1]<<16,v[t+32>>1]=m,v[t+34>>1]=m>>>16,v[t+36>>1]=n,v[t+38>>1]=n>>>16,n=_[A+28>>1]|_[A+30>>1]<<16,m=_[A+24>>1]|_[A+26>>1]<<16,v[t+24>>1]=m,v[t+26>>1]=m>>>16,v[t+28>>1]=n,v[t+30>>1]=n>>>16,n=_[A+20>>1]|_[A+22>>1]<<16,m=_[A+16>>1]|_[A+18>>1]<<16,v[t+16>>1]=m,v[t+18>>1]=m>>>16,v[t+20>>1]=n,v[t+22>>1]=n>>>16,n=_[A+12>>1]|_[A+14>>1]<<16,A=_[A+8>>1]|_[A+10>>1]<<16,v[t+8>>1]=A,v[t+10>>1]=A>>>16,v[t+12>>1]=n,v[t+14>>1]=n>>>16,g[ht+177904|0]=0,v[t>>1]=32768|_[t>>1],m=e[ae+12>>2]):t=0,e[it+4>>2]=t,v[t+8>>1]=(0|F($e,v[t+8>>1]))/256,v[t+6>>1]=(0|F(_e,v[t+6>>1]))/256,v[t+4>>1]=(0|F(be,v[t+4>>1]))/256,v[t+12>>1]=(0|F(Wt,v[t+12>>1]))/256,v[t+10>>1]=(0|F(Pt,v[t+10>>1]))/256,(0|m)>(0|(h=h+1|0)););e[44469]=ee}if(!t)break e}else{A=e[P+4>>2],(0|(m=v[A>>1]))<0?t=A:(n=(0|(n=e[44469]+1|0))<=169?n:0,e[44469]=n,(n=177888+(m=n<<6)|0)&&(t=_[A+4>>1]|_[A+6>>1]<<16,R=_[A>>1]|_[A+2>>1]<<16,v[n>>1]=R,v[n+2>>1]=R>>>16,v[n+4>>1]=t,v[n+6>>1]=t>>>16,t=_[A+60>>1]|_[A+62>>1]<<16,R=_[A+56>>1]|_[A+58>>1]<<16,v[n+56>>1]=R,v[n+58>>1]=R>>>16,v[n+60>>1]=t,v[n+62>>1]=t>>>16,t=_[A+52>>1]|_[A+54>>1]<<16,R=_[A+48>>1]|_[A+50>>1]<<16,v[n+48>>1]=R,v[n+50>>1]=R>>>16,v[n+52>>1]=t,v[n+54>>1]=t>>>16,t=_[A+44>>1]|_[A+46>>1]<<16,R=_[A+40>>1]|_[A+42>>1]<<16,v[n+40>>1]=R,v[n+42>>1]=R>>>16,v[n+44>>1]=t,v[n+46>>1]=t>>>16,t=_[A+36>>1]|_[A+38>>1]<<16,R=_[A+32>>1]|_[A+34>>1]<<16,v[n+32>>1]=R,v[n+34>>1]=R>>>16,v[n+36>>1]=t,v[n+38>>1]=t>>>16,t=_[A+28>>1]|_[A+30>>1]<<16,R=_[A+24>>1]|_[A+26>>1]<<16,v[n+24>>1]=R,v[n+26>>1]=R>>>16,v[n+28>>1]=t,v[n+30>>1]=t>>>16,t=_[A+20>>1]|_[A+22>>1]<<16,R=_[A+16>>1]|_[A+18>>1]<<16,v[n+16>>1]=R,v[n+18>>1]=R>>>16,v[n+20>>1]=t,v[n+22>>1]=t>>>16,t=_[A+12>>1]|_[A+14>>1]<<16,A=_[A+8>>1]|_[A+10>>1]<<16,v[n+8>>1]=A,v[n+10>>1]=A>>>16,v[n+12>>1]=t,v[n+14>>1]=t>>>16,g[m+177904|0]=0,m=-32768|_[n>>1],v[n>>1]=m,t=n)),e[P+4>>2]=t,v[P>>1]=M||50,v[P+2>>1]=16384|_[P+2>>1],v[t>>1]=16384|m,m=e[P+12>>2],A=d[m+17|0],n=e[32972],e[n+132>>2]&&(g[t+39|0]=d[m+39|0]-4);r:if(_e){if(2048&h){A=(F(A,31&yt)>>>0)/30|0,e[n+132>>2]||(n=d[t+17|0])&&(A=v[102896+(((0|(A=(A<<6>>>0)/(n>>>0)|0))>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512),gt(t,be,it,Wt,ee,Pt,$e,w);break r}if(gt(t,be,it,Wt,ee,Pt,$e,w),e[e[32972]+132>>2]||!(A=d[t+17|0]))break r;A=v[102896+(((0|(A=(ht<<7>>>0)/(A>>>0)|0))>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512}else if(n=e[n+132>>2],8&w){if(n||!(n=d[t+17|0]))break r;A=((16320&F(A,48))>>>0)/(n>>>0)|0,A=v[102896+((A>>>0>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512}else n||(A=d[t+17|0])&&(A=v[102896+(((A=1792/(A>>>0)|0)>>>0>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512);if(!(8&w))break t;A=2816,(0|(n=v[t+4>>1]))<300||(A=2560,n>>>0<400||(A=n>>>0<500?2304:2048)),e[36436]=A}4&w&&(v[t>>1]=32|_[t>>1]),2&w&&(v[t>>1]=16|_[t>>1])}64&w&&Kr(20,0),t=M&w<<27>>31}else t=0;m=t+e[36422]|0,e[36422]=m,A=e[ae+12>>2]}if((0|(n=A-1|0))<=0)h=0;else{if(t=0,M=0,h=0,A-2>>>0>=3)for($e=-4&n,ee=0;h=(((v[(w=M<<3)+P>>1]+h|0)+v[P+(8|w)>>1]|0)+v[P+(16|w)>>1]|0)+v[P+(24|w)>>1]|0,M=M+4|0,(0|$e)!=(0|(ee=ee+4|0)););if(w=3&n)for(;h=v[P+(M<<3)>>1]+h|0,M=M+1|0,(0|w)!=(0|(t=t+1|0)););}if(t=A,(w=e[r+20>>2])&&(t=n,M=w+e[34460]|0,(ee=d[M+2|0])&&(_e=_[M+4>>1],v[P+(n<<3)>>1]=d[M+20|0],w=1,t=A,(0|ee)!=1))){if($e=M+4|0,_e&=1,Pt=1&(M=ee-1|0),(0|ee)!=2)for(Wt=-2&M,ee=0;it=$e+(w<<6)|0,ht=$e+F(w,44)|0,yt=d[(be=_e?it:ht)+16|0],e[4+(M=P+(t<<3)|0)>>2]=be,v[M>>1]=yt,v[M+2>>1]=_[be>>1],it=d[16+(be=_e?it- -64|0:ht+44|0)|0],e[M+12>>2]=be,v[M+8>>1]=it,v[M+10>>1]=_[be>>1],w=w+2|0,t=t+2|0,(0|Wt)!=(0|(ee=ee+2|0)););Pt&&(w=$e+(_e?w<<6:F(w,44))|0,ee=d[w+16|0],e[4+(M=P+(t<<3)|0)>>2]=w,v[M>>1]=ee,v[M+2>>1]=_[w>>1],t=t+1|0)}e:if(!((0|h)<=0)){t:{switch(gA-1|0){case 1:if(w=(0|(w=(e[r+44>>2]+m|0)-45|0))<=10?10:w,8&d[0|y]&&(w=w+(d[e[36128]+14|0]<<1)|0),(0|n)<=0)break e;if(y=(w<<8)/(0|h)|0,M=0,(0|A)!=2)for(A=-2&n,w=0;v[(h=(m=M<<3)+P|0)>>1]=(0|F(y,v[h>>1]))/256,v[(m=P+(8|m)|0)>>1]=(0|F(y,v[m>>1]))/256,M=M+2|0,(0|A)!=(0|(w=w+2|0)););if(!(1&n))break e;v[(A=P+(M<<3)|0)>>1]=(0|F(y,v[A>>1]))/256;break e;case 0:if(e[r>>2]!=1||(0|(w=e[r+44>>2]))>129)break t;v[P>>1]=(0|F(w,v[P>>1]))/130;break t}(0|(w=e[r+44>>2]))<=0||(m=(w-h|0)+m|0,e[36422]=m)}if(!(!m|(0|n)<=0)){if(y=(h+m<<8)/(0|h)|0,M=0,(0|A)!=2)for(A=-2&n,w=0;v[(h=(m=M<<3)+P|0)>>1]=(0|F(y,v[h>>1]))/256,v[(m=P+(8|m)|0)>>1]=(0|F(y,v[m>>1]))/256,M=M+2|0,(0|A)!=(0|(w=w+2|0)););1&n&&(v[(A=P+(M<<3)|0)>>1]=(0|F(y,v[A>>1]))/256)}}if(e[l+108>>2]=t,oe=ae+16|0,P){if((0|(t=e[r+16>>2]))!=e[36438]&&(e[36438]=t,A=216192+(e[50758]<<4)|0,e[A>>2]=14,e[A+4>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),M=(t=e[e[32972]+132>>2])?1:3,A=e[P+4>>2],e[r+28>>2]|!d[145748]||(g[145748]=0,M=t?2:4),(n=e[36426])&&(!((2&(t=_[n>>1]))>>>1|d[n+16|0]<2)|16&t||(m=216192+(e[36439]<<4)|0,e[m+12>>2]=A,8&t&&(t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,(t=177888+(w=t<<6)|0)&&(y=_[A+4>>1]|_[A+6>>1]<<16,h=_[A>>1]|_[A+2>>1]<<16,v[t>>1]=h,v[t+2>>1]=h>>>16,v[t+4>>1]=y,v[t+6>>1]=y>>>16,y=_[A+60>>1]|_[A+62>>1]<<16,h=_[A+56>>1]|_[A+58>>1]<<16,v[t+56>>1]=h,v[t+58>>1]=h>>>16,v[t+60>>1]=y,v[t+62>>1]=y>>>16,y=_[A+52>>1]|_[A+54>>1]<<16,h=_[A+48>>1]|_[A+50>>1]<<16,v[t+48>>1]=h,v[t+50>>1]=h>>>16,v[t+52>>1]=y,v[t+54>>1]=y>>>16,y=_[A+44>>1]|_[A+46>>1]<<16,h=_[A+40>>1]|_[A+42>>1]<<16,v[t+40>>1]=h,v[t+42>>1]=h>>>16,v[t+44>>1]=y,v[t+46>>1]=y>>>16,y=_[A+36>>1]|_[A+38>>1]<<16,h=_[A+32>>1]|_[A+34>>1]<<16,v[t+32>>1]=h,v[t+34>>1]=h>>>16,v[t+36>>1]=y,v[t+38>>1]=y>>>16,y=_[A+28>>1]|_[A+30>>1]<<16,h=_[A+24>>1]|_[A+26>>1]<<16,v[t+24>>1]=h,v[t+26>>1]=h>>>16,v[t+28>>1]=y,v[t+30>>1]=y>>>16,y=_[A+20>>1]|_[A+22>>1]<<16,h=_[A+16>>1]|_[A+18>>1]<<16,v[t+16>>1]=h,v[t+18>>1]=h>>>16,v[t+20>>1]=y,v[t+22>>1]=y>>>16,y=_[A+12>>1]|_[A+14>>1]<<16,h=_[A+8>>1]|_[A+10>>1]<<16,v[t+8>>1]=h,v[t+10>>1]=h>>>16,v[t+12>>1]=y,v[t+14>>1]=y>>>16,g[w+177904|0]=0,v[t>>1]=32768|_[t>>1]),v[8+(w=w+177888|0)>>1]=_[n+8>>1],g[w+21|0]=d[n+21|0],v[w+10>>1]=_[n+10>>1],g[w+22|0]=d[n+22|0],v[w+12>>1]=_[n+12>>1],g[w+23|0]=d[n+23|0],v[w+14>>1]=_[n+14>>1],g[w+24|0]=d[n+24|0],g[w+25|0]=d[n+25|0],e[m+12>>2]=t))),(0|gA)!=2|d[Ve+11|0]!=2||(CA(),e[36427]=e[50758]),!((0|(Ve=e[l+108>>2]))<2)){for(t=e[36433],y=(F(256-t|0,ue)+(t<<8)|0)/256|0,t=e[36432],m=(F(256-t|0,ue)+(t<<8)|0)/256|0,h=e[50754],t=0,n=1;w=_[2+(ae=(P+(n<<3)|0)-8|0)>>1],w=(0|F((0|F(h,v[ae>>1]))/1e3|0,4&w?m:16384&w?y:ue))/256|0,e[(n<<2)+l>>2]=w,t=t+w|0,(0|Ve)!=(0|(n=n+1|0)););if(!((0|t)<=0|(0|t)>=(0|cA)|(0|Ve)<2)){if(n=1,y=1&(w=Ve-1|0),(0|Ve)!=2)for(m=-2&w,ue=0;e[(w=(n<<2)+l|0)>>2]=(0|F(e[w>>2],cA))/(0|t),e[w+4>>2]=(0|F(e[w+4>>2],cA))/(0|t),n=n+2|0,(0|m)!=(0|(ue=ue+2|0)););y&&(e[(n=(n<<2)+l|0)>>2]=(0|F(e[n>>2],cA))/(0|t))}if(ue=0,!((0|Ve)<2))for(Ve=gA+256|0,n=1;t=e[4+(P+(n<<3)|0)>>2],!(w=e[r+28>>2])|128&d[0|A]||(e[36422]=0,ja(w,Ve,0,h=e[r>>2],0,y=(y=e[r+32>>2])?(y<<5)/100|0:32),g[145748]=1,e[r+28>>2]=0),(0|i)<0||(i=64&d[0|A]?6:i,(e[l+108>>2]-1|0)==(0|n)&&(i=(w=i)|(3840&(i=e[36436])?i:0))),w=e[(n<<2)+l>>2],e[36440]=w+e[36440],e[36441]=w+e[36441],w?(y=e[50758],e[36439]=y,(0|i)>=0&&(e[(y=216192+(y<<4)|0)>>2]=M,e[y+12>>2]=t,e[y+8>>2]=A,e[y+4>>2]=w+(i<<16),A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),e[36426]=t,ue=w+ue|0
2810):e[36426]=0,A=t,(0|(n=n+1|0))<e[l+108>>2];);}!e[36438]|(0|gA)==1||(e[36438]=0,t=216192+(e[50758]<<4)|0,e[t>>2]=14,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}}oe=l+112|0}function Ft(t,A,r,n){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0;oe=i=oe-1856|0,e[i+164>>2]=0,r?R=e[r>>2]:IA(r=i- -64|0,0,96),e[33264]=0,e[i+1824>>2]=0,e[i+1828>>2]=0,e[i+1832>>2]=0,e[i+1836>>2]=0,g[i+1616|0]=0,g[i+992|0]=0,g[i+1200|0]=0,g[i+784|0]=0;e:if(e[t+688>>2]){for(e[i+1840>>2]=A,d[0|(l=A)]==32&&(l=A+1|0,e[i+1840>>2]=l),ee=i+416|1,yt=i+1844|1,Wt=i+1848|1,cA=i+1852|1,e[i+1820>>2]=l,or(i+168|0,l),l=e[i+1820>>2];(32|d[0|l])!=32;)l=or(i+164|0,l)+e[i+1820>>2]|0,e[i+1820>>2]=l,be=be+1|0;$A(i+256|0,A,Pt=(0|(m=l-A|0))>=159?159:m),!(it=4194304&R)|(0|be)!=1?(Ve=((0|(l=e[47202]))==36)<<2,(0|be)==1|(0|l)!=36||(l=e[i+1840>>2]-1|0,e[i+1840>>2]=l,g[0|l]=95,Ve=0,h=!!(0|Hr(t,i+1840|0,i+1616|0,i+1832|0,0,r)),l=e[47202])):(h=1,or(i+172|0,l+1|0),Wr(e[i+172>>2])&&(0|Wa(e[i+164>>2]))==(0|Wa(e[i+172>>2]))&&(h=0),Ve=(0|(l=e[47202]))==36?4:h,h=0);t:{r:{a:{n:{c:if(16&l)ae=15&l,Ve=0;else{if(_e=1,h||(_e=!!(0|Hr(t,i+1840|0,i+1616|0,i+1832|0,2,r))),50331648&(l=e[i+1832>>2])&&(m=e[i+1820>>2],d[m+1|0]==46&&(g[m+1|0]=32,l=e[i+1832>>2])),536870912&l){if(!n)break e;BA(n,e[i+1840>>2]);break e}if(8192&l|!(128&l)|_e)n=e[33264];else if(l=e[i+1840>>2],e[i+1820>>2]=l,!((0|(n=e[33264]))<=0))for(h=0;d[0|l]==32&&(g[0|l]=45,h=h+1|0,l=e[i+1820>>2],n=e[33264]),l=l+1|0,e[i+1820>>2]=l,(0|n)>(0|h););o:if(!(n|(0|be)!=1)&&(m=or(i+576|0,P=e[i+1840>>2]),d[m+P|0]==32)){h=i+1408|0,n=P;f:{l:{i:{for(;;){h:if(Wr(e[i+576>>2])){b:{if(d[1+(w=n+m|0)|0]==46){ae=0;m:switch(d[(l=m+2|0)+n|0]-32|0){case 0:break b;case 7:break m;default:break h}if(ae=1,m=l,d[w+3|0]==115)break b;break h}if(ae=1,(0|y)<=0)break i}if(!((0|m)<=0)){if(ue=3&m,M=0,m>>>0<4)l=0;else for($e=-4&m,l=0,w=0;g[0|h]=d[n+l|0],g[h+1|0]=d[(1|l)+n|0],g[h+2|0]=d[(2|l)+n|0],g[h+3|0]=d[(3|l)+n|0],l=l+4|0,h=h+4|0,(0|$e)!=(0|(w=w+4|0)););if(ue)for(;g[0|h]=d[n+l|0],l=l+1|0,h=h+1|0,(0|ue)!=(0|(M=M+1|0)););}if(y=y+1|0,ae)n=n+m|0;else if(m=or(i+576|0,n=3+(n+m|0)|0),d[n+m|0]==32)continue}break}if(!((0|y)<2)){(m=(m=h-(l=i+1408|0)|0)+(l=$A(P,l,m))|0)>>>0<n>>>0&&IA(m,32,(i+1408|0)+n-(l+h)|0),e[33264]=(y<<1)-2,e[i+1836>>2]=0;break l}}if(!y)break o;if(e[i+1832>>2]=0,e[i+1836>>2]=0,!e[33264])break f}e[i+1832>>2]=128}Ve=1}if(d[i+1616|0]==21){BA(189088,i+1616|0),l=0;break e}if(gA=d[i+1833|0],h=1,!_e){if(e[i+168>>2]-48>>>0<10){if(kA(t,84174,189088),l=0,d[189088]==21)break e;if(!(!(128&d[t+109|0])|32&d[r+2|0])){g[189088]=21,g[189089]=0;break e}h=!!(0|mA(t,e[i+1840>>2],i+1616|0,i+1832|0,r,0))}else h=0;if(!(h|(3&R)==2)&&(16777216&(n=e[t+104>>2])||(h=0,!(!(33554432&n)|!(1&R))))&&(16&R||(h=0,!(1&g[r+13|0])))){$e=e[i+1840>>2],l=0,y=0,w=0,oe=ue=oe-224|0,g[0|(M=i+1616|0)]=0,e[ue+216>>2]=0,e[ue+220>>2]=0;o:if(!(g[$e-2|0]-48>>>0<10|(1&g[0|r]?0:2&d[t+107|0])||(n=d[0|(m=$e+1|0)],(!(2561&_[t+106>>1])|!(1&g[r+2|0]))&(0|n)==32))){if((0|(y=d[0|$e]))!=32){for(ae=32767,n=0;;){if(!(l=Wn(101868,y<<24>>24,8))){y=0;break o}if(P=0,(0|(l=e[(l<<2)-305584>>2]))==(0|n)&&!((0|(P=w+1|0))<=2)){y=0;break o}f:{l:{i:{h:{if(!((0|n)<2)){if((0|n)==10|(0|n)==100)break h;if(!((0|n)>(0|l))){y=0;break o}}if(!n)break l;if((0|n)<(0|l))break i;break l}if((0|n)>=(0|l))break l}if(y=0,(0|ht)%10|(0|F(n,10))<(0|l))break o;l=l-n|0,ae=n;break f}if((0|l)>=(0|ae)){y=0;break o}ht=n+ht|0}if(y=d[0|m],m=h=m+1|0,n=l,w=P,(0|y)==32)break}n=d[0|h]}else h=m;if((n<<24>>24)-48>>>0<10)y=0;else if((0|(n=l+ht|0))<e[t+120>>2])y=0;else if((0|n)>e[t+116>>2])y=0;else if(kA(t,85600,ue+176|0),l=M,4&d[t+107|0]||(l=BA(M,l=ue+176|0)+wA(l)|0),e[ue+4>>2]=e[t+140>>2],e[ue>>2]=n,uA(ue+16|0,85839,ue),y=0,d[0|h]!=46){Bs(t,$e,h,r,1)&&(e[r>>2]=32768|e[r>>2]),m=0;f:if(8&d[t+107|0]){if(w=e[r>>2],e[t+212>>2]==26741){if(32768&w)break f;if(!(16384&w))break o;m=1,w=0;l:{i:switch(d[0|h]-97|0){case 0:case 4:break i;default:break l}i:{h:{b:{m:switch((ae=d[h+1|0])-116|0){case 6:break l;case 1:case 2:case 3:case 4:case 5:break h;case 0:break m;default:break b}if(d[h+2|0]!=116)break i;break l}if((0|ae)==32)break l}if(!((0|n)%1e3|0)&&(0|ae)==108)break l}w=1}if(w)break f;break o}e[r>>2]=32768|w}e[(n=t+8232|0)>>2]=0,e[n+4>>2]=0,mA(t,ue+16|2,l,ue+216|0,r,m),y=1,4&d[t+107|0]&&gs(M,ue+176|0)}}oe=ue+224|0,y?(e[i+1832>>2]=8192|e[i+1832>>2],h=1):h=0}}if(ae=_e?Ve:32&gA?1:Ve,Ve=0,!(!(1&R)|(0|be)<2)&&aa(e[i+168>>2])){o:{if(1&g[188785]){if(!(!(n=8192&(l=e[i+1832>>2]))|h))break o;Ve=n>>>2^2048;break c}if(h)break n;l=e[i+1832>>2]}if(!(128&l|be>>>0>3)&&!((0|(l=e[t+8220>>2]))<4)&&(n=1,(0|l)>=e[t+8216>>2]))break t}}if(M=0,(0|ae)<=0)break a;n=ae;break t}if((0|(n=ae))>0)break t;M=0,P=0,w=0,y=0;break r}if(h)P=0,w=0,y=0;else{n=e[i+1840>>2],e[i+1820>>2]=n,l=999,y=0,P=0,ee=0;a:{n:{c:{for(;;){o:{f:{l:{if(l-1>>>0>=2){if((0|be)<2||(or(i+1408|0,n),(0|(l=e[i+1408>>2]))<577&e[t+600>>2]>0)||(l=Wa(l),(e[l+4>>2]!=e[t+600>>2]?l:0)|e[t+40>>2]==1))break l;switch(l=d[0|n],e[i+1408>>2]=l<<24>>24,l-32|0){default:if(!l)break l;break;case 0:case 7:break l;
2810case 1:case 2:case 3:case 4:case 5:case 6:}M=or(i+1408|0,n),_e=9;i:{h:{b:{m:if(-33&(l=e[i+1408>>2])){for(h=0,w=0;;){C:{p:{if((0|l)==39){if((0|P)>0|(0|h)>1)break m;if(w=h?w:39,e[t+40>>2]!=3)break p;break C}w=h?w:l}h=h+1|0}if(!Ho(t,l)){if((0|(l=e[i+1408>>2]))!=39&&!aa(l))break l;if(M=or(i+1408|0,n+M|0)+M|0,-33&(l=e[i+1408>>2]))continue;break m}break}if((0|h)<=2)break b;_e=h}else w=0;if((0|(l=e[t+40>>2]))!=2)break h;oe=l=oe-208|0,g[0|l]=0,h=d[0|(m=n-1|0)],g[0|m]=32,n=zA(t,n,l,200,0,-2147483648,0),g[0|m]=h,oe=l+208|0,n=!n|(32768&n)>>>15;break i}l=e[t+40>>2],_e=h}n=(g[t+168|0]+1|0)<(_e-((0|l)==(0|w))|0)}if(!n)break l;n=e[i+1820>>2]}if(d[0|n]!=39)break f;y=67108864,Ve=0}if(M=0,PA(t,i+992|0,0,P),n=e[i+1820>>2],(0|(l=d[0|n]))!=32)break o;P=0,w=0;break r}if(Ve=0,n=Tt(t,n,i+992|0,1&(ee|=(0|P)>0))+e[i+1820>>2]|0,e[i+1820>>2]=n,d[i+992|0]==21)break c;for(P=P+1|0,h=0;h=(l=h)+1|0,d[n+l|0]!=32;);y=67108864;continue}break}if(!d[i+992|0]|(0|l)==39||(g[n-1|0]=32,n=e[i+1820>>2]),m=zA(t,n,i+1616|0,200,i+784|0,R,i+1832|0),(0|(n=d[i+1616|0]))==21){BA(189088,i+1616|0),l=0;break e}if(!(n|d[i+784|0])&&(or(i+1408|0,e[i+1820>>2]),(0|be)==1&&(Wr(e[i+1408>>2])||Jn(e[i+1408>>2])))){uo(t,e[i+1820>>2],i+1616|0,ae)&&BA(189088,i+1616|0),l=0;break e}e[i+172>>2]=g[e[i+1820>>2]-1|0];o:if(1024&m)for($e=i+176|1,ae=0,l=1,ee=0,P=0;;){if((_e=131072&m)|!(1&l)||(g[i+1408|0]=0,!(n=zA(t,e[i+1820>>2],i+1408|0,200,i+576|0,805306368|R,i+1832|0)))){2048&m&&(e[t+8184>>2]=1),g[e[i+1820>>2]-1|0]=e[i+172>>2];f:{l:{i:{h:if(_e){if(g[i+176|0]=0,l=e[i+1820>>2],n=1,w=63&m){if(ue=1&m,P=w-1|0,h=0,(0|w)!=1)for(ht=w-ue|0,w=0;M=l,e[i+1820>>2]=l+1,g[0|(it=(i+176|0)+n|0)]=(0|h)!=(0|P)?d[0|l]:0,l=l+2|0,e[i+1820>>2]=l,g[it+1|0]=(0|P)!=(1|h)?d[M+1|0]:0,h=h+2|0,n=n+2|0,(0|ht)!=(0|(w=w+2|0)););ue&&(w=l+1|0,e[i+1820>>2]=w,g[(i+176|0)+n|0]=(0|h)!=(0|P)?d[0|l]:0,n=n+1|0,l=w)}g[(i+176|0)+n|0]=0}else{if(l=e[i+1820>>2],!(w=15&m))break i;if(n=0,h=w,M=3&m)for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128||(h=h-1|0,(0|M)!=(0|(n=n+1|0))););if(w>>>0<4)break h;for(;;)if(l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])!=128){for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128;);for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128;);for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128;);if(n=(0|h)>4,h=h-4|0,!n)break}}if(n=l-1|0,e[i+172>>2]=g[0|n],g[0|n]=32,n=R|=8388608,!_e)break l;if(vr(i+576|0,i+784|0,12),e[i+1852>>2]=$e,n=BA(i+1200|0,l=i+1616|0),Hr(t,i+1852|0,l,i+1832|0,0,r)&&BA(n,i+1616|0),!(32&d[i+1833|0]))break f;g[0|n]=0,uo(t,e[i+1852>>2],n,1);break f}n=l-1|0,e[i+172>>2]=g[0|n],g[0|n]=32,n=8388608|R}R=n,gs(i+1200|0,i+784|0)}if(g[i+784|0]=0,w=1,n=Hr(t,i+1820|0,i+1616|0,i+1824|0,1024,r),e[i+1832>>2]||(l=e[i+1828>>2],e[i+1832>>2]=e[i+1824>>2],e[i+1836>>2]=l,w=ee),n){M=0,P=m;break a}if(M=zA(t,e[i+1820>>2],i+1616|0,200,i+784|0,8404992&R,i+1832|0),l=1,P=m,ee=w,d[i+1616|0]==21){g[e[i+1820>>2]-1|0]=e[i+172>>2],BA(189088,i+1616|0),l=0;break e}}else l=i+416|0,ZA(t,e[i+1820>>2],n,l),M=zA(t,e[i+1820>>2],i+1616|0,200,i+784|0,268435456|R,i+1832|0),$A(e[i+1820>>2],l,wA(l)),1024&M||(BA(i+1616|0,i+1408|0),l=BA(i+784|0,i+576|0),8&d[188788]&&(TA(w=l,l=i+576|0),m=e[47195],e[i+48>>2]=l,ss(m,85205,i+48|0)),M=n),l=0;if(n=(h=1024&M)>>>10|0,ae>>>0>48)break o;if(ae=ae+1|0,m=M,!h)break}else M=m,P=0,ee=0,n=0;if(n|!M)break n;for(m=BA(i+1408|0,i+1616|0),h=ZA(t,e[i+1820>>2],M,i+416|0),w=ee,l=M;;){o:{if(g[i+1616|0]=0,d[i+1200|0]){if(g[e[i+1820>>2]-1|0]=e[i+172>>2],n=Hr(t,i+1840|0,i+1616|0,i+1824|0,h,r),g[e[i+1820>>2]-1|0]=32,d[i+1616|0]==21){t=i+416|0,$A(e[i+1820>>2],t,wA(t)),BA(189088,i+1616|0),l=0;break e}if(e[i+1832>>2]||(ee=e[i+1828>>2],e[i+1832>>2]=e[i+1824>>2],e[i+1836>>2]=ee),n){g[i+1200|0]=0;break o}w=e[i+1824>>2]?1:w}if(n=Hr(t,i+1820|0,i+1616|0,i+1824|0,h,r),d[i+1616|0]==21){t=i+416|0,$A(e[i+1820>>2],t,wA(t)),BA(189088,i+1616|0),l=0;break e}if(e[i+1832>>2]||(ee=e[i+1828>>2],e[i+1832>>2]=e[i+1824>>2],e[i+1836>>2]=ee),!n)if(16384&l)BA(i+1616|0,m);else{R|=h<<11&8192|l<<9&134217728;f:if(524288&l){if(ee=BA(i+576|0,n=i+784|0),l=zA(t,e[i+1820>>2],i+1616|0,200,n,R,i+1832|0),gs(n,ee),n=0,!l){l=0;break f}if(1024&l)break f;n=1,h=ZA(t,e[i+1820>>2],l,0)}else l=0,zA(t,e[i+1820>>2],i+1616|0,200,0,R,i+1832|0),n=0;if(d[i+1616|0]==21){BA(189088,i+1616|0),t=i+416|0,$A(e[i+1820>>2],t,wA(t)),g[e[i+1820>>2]-1|0]=e[i+172>>2],l=0;break e}if(n)continue}}break}65536&M||(Li(t,i+1616|0,200,i+784|0),g[i+784|0]=0),n=i+416|0,$A(e[i+1820>>2],n,wA(n));break a}BA(189088,t=i+992|0),l=!ra(1|t,84744,3)<<12;break e}M=0,w=ee}g[e[i+1820>>2]-1|0]=e[i+172>>2]}}if(n=e[i+164>>2],e[i+1852>>
vendor: 11,313 bytes, line 2810
28102]=8026656,e[i+1848>>2]=8022304,e[i+1844>>2]=7566112,4&R){r:{if((l=255&n)&&((0|l)==102||(yt=Wt,Ko(n<<24>>24))))break r;yt=cA}zA(t,yt,189088,200,0,0,0)}for(n=0,l=i+1200|0,ee=d[i+784|0];;){r:{a:{n:switch(0|(m=d[0|l])){case 0:break r;case 6:case 7:break n;default:break a}n=m}l=l+1|0;continue}break}r:if(n|w){if(e[t+32>>2]|65536&P){for(h=0,bA(t,i+1616|0,i+1832|0,3,0),l=i+1200|0;;){switch(d[0|l]){case 6:h&&(g[0|l]=5),h=1;default:l=l+1|0;continue;case 0:}break}e[i+24>>2]=i+1616,e[i+20>>2]=i+1200,e[i+16>>2]=i+992,An(189088,200,85233,i+16|0),g[189287]=0,bA(t,189088,i+1832|0,-1,0);break r}e[i+8>>2]=i+1616,e[i+4>>2]=i+1200,e[i>>2]=i+992,An(189088,200,85233,i),g[189287]=0,bA(t,189088,i+1832|0,-1,0)}else bA(t,n=i+1616|0,i+1832|0,-1,!!(0|ee)<<1),e[i+40>>2]=n,e[i+36>>2]=i+1200,e[i+32>>2]=i+992,An(189088,200,85233,i+32|0),g[189287]=0;d[i+784|0]&&(n=wA(189088),g[983+(i-n|0)|0]=0,BA(n+189088|0,i+784|0)),16&(n=R|Ve)&&(e[i+1832>>2]=-268435457&e[i+1832>>2]);r:if(!(128&n)|!(16&d[t+14|0]))if(3072&n){if(vt(t,6),!(2048&n))break r;e[i+1832>>2]=268435456|e[i+1832>>2]}else 16&d[F(e[33264],12)+r|0]&&(1536&(r=e[i+1832>>2])?vt(t,4):2048&r&&vt(t,3));else vt(t,3);8192&M&&(e[t+8192>>2]=2,e[t+8184>>2]=2);r:{if(8&(r=e[i+1836>>2]))e[t+8184>>2]=0,e[t+8188>>2]=3,n=t+8196|0;else if(1&r)e[t+8192>>2]=0,e[t+8184>>2]=2,n=t+8196|0;else if(2&r)e[t+8192>>2]=2,e[t+8184>>2]=0,e[t+8188>>2]=0,n=t+8196|0;else{if(!(4&r))break r;e[t+8184>>2]=0,e[t+8192>>2]=0,e[t+8196>>2]=2,n=t+8188|0}e[n>>2]=0}!d[e[i+1820>>2]]|256&r||((0|(r=e[t+8184>>2]))>0&&(e[t+8184>>2]=r-1),(0|(r=e[t+8192>>2]))>0&&(e[t+8192>>2]=r-1),(0|(r=e[t+8196>>2]))>0&&(e[t+8196>>2]=r-1),(0|(r=e[t+8188>>2]))<=0||(e[t+8188>>2]=r-1)),(0|be)!=1|e[t+212>>2]!=25966||!aa(e[i+168>>2])|e[i+168>>2]==105||(e[i+1832>>2]=16777216|e[i+1832>>2]);r:if(2&d[t+68|0]&&98304&(n=e[i+1832>>2])&&!((0|(r=wA(189088)-1|0))<=0))for(l=0;;){if(t=l+1|0,d[l+189088|0]==6){r=g[0|(t=t+189088|0)];a:{if(65536&n){if((0|Us(69))==(0|r)?(be=Us(101),g[0|t]=be):be=d[0|t],h=111,(0|Us(79))==be<<24>>24)break a;break r}if((0|Us(101))==(0|r)?(be=Us(69),g[0|t]=be):be=d[0|t],h=79,(0|Us(111))!=be<<24>>24)break r}g[0|t]=Us(h);break r}if((0|r)==(0|(l=t)))break}t=e[i+1832>>2],$A(A,i+256|0,Pt),l=t|y;break e}if(l=0,g[i+1616|0]=0,uo(t,e[i+1840>>2],i+1616|0,n)){if(m=BA(189088,i+1616|0),!it){if(n=e[i+164>>2],e[i+1408>>2]=8026656,e[i+576>>2]=8022304,e[i+416>>2]=7566112,4&R){A=i+576|1,r=i+1408|1;t:{if((l=255&n)&&((0|l)==102||(ee=A,Ko(n<<24>>24))))break t;ee=r}zA(t,ee,m,200,0,0,0)}l=128&e[i+1832>>2]}}else l=((0|be)>1)<<12}else g[189088]=0;return oe=i+1856|0,l}function dA(t,A,r,n,i,l,h,m){var w,M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0,Cr=0,Yr=0,Xr=0,ls=0,as=0,xs=0,Ms=0,zs=0,Os=0,ga=0,na=0,ha=0,pa=0,Gn=0,Fn=0,Ln=0,Vn=0,yo=0,to=0,Ao=0,Qi=0;oe=w=oe-384|0,M=e[A>>2];e:{t:{r:{a:{if(i){if(d[0|i]!=7)break a;e[A>>2]=(n||1)+M;break r}e[l>>2]=0,e[A>>2]=M+1;break e}Cr=86135,Os=268435456&h,ga=134217728&h,na=8388608&h,ha=16384&h,pa=8192&h,ls=r-1|0,as=n-r|0,Gn=2&h,Fn=128&h,Ln=h>>>31|0,Vn=-2147483648&h,xs=w+96|1;a:for(;;)for(e[w+268>>2]=0,be=(R=e[A>>2])+n|0,Wt=-2,yt=-6,r=i,cA=Vn,SA=0,Yr=0,Pt=1,y=0,gA=0,qA=0;;){ee=R,_e=y;n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{F:{Y:{for(;$e=r,r=r+1|0,!((P=d[0|$e])>>>0>9);)switch(ae=r,0|P){case 0:if(!(r=Ms)){Ms=0,r=86135;break F}for(;;){P=1;R:{M:switch(0|(y=d[0|r])){case 0:case 3:break Y;case 5:break M;default:break R}P=2}r=(r+P|0)+(((0|y)==9)<<1)|0}case 1:if(qA=1,!Ln)continue;break l;case 2:qA=2;continue;case 4:Ms=r;continue;case 5:r=$e+2|0,y=e[t+320>>2];R:{if((R=d[$e+1|0])>>>0>=32){if(!(y>>>R-32&1))break R;break l}if(!(y>>>R&1))break l}Pt=Pt+1|0;continue;case 9:r=$e+3|0;continue;case 8:qA=1,Yr=1,cA=0;break;case 3:break B}ae=0,y=_e,R=ee;R:switch(0|qA){case 0:M:{y:{if((0|(y=d[0|be]))!=(0|P)){if((0|y)!=69)break l;if((0|P)==101)break y;break l}if(ae=0,(192&P)==128)break M}ae=21}be=be+1|0,SA=SA+1|0;break n;case 1:break w;case 2:break R;default:break C}if(e[w+264>>2]=e[w+268>>2],!d[be-1|0])break l;yt=(0|(y=yt+6|0))>=19?19:y,ht=be+1|0,it=or(w+268|0,be),Ve=d[0|be],ae=20,y=_e;R:{M:switch(P-11|0){case 6:r=$e+2|0,y=e[w+268>>2],R=g[$e+1|0];y:if(P=e[604+(((R=((0|R)<65?191:-65)+R|0)<<2)+t|0)>>2])y=!!(0|rs(P,y));else{if((0|R)>7)break l;G:{if((0|(P=e[t+600>>2]))>0){if((y=y-P|0)-1>>>0<255)break G;break l}if((P=y-192|0)>>>0<=413){y=d[344+(d[P+94240|0]+t|0)|0]&1<<R;break y}if(y>>>0>255)break l}y=d[344+(t+y|0)|0]&1<<R}if(!y)break l;be=be+it|0,ae=((0|R)==2?19:20)-yt|0;break n;case 7:if(r=$e+2|0,y=g[$e+1|0],!(y=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2]))break l;y:for(;;){if((0|(ae=d[0|y]))==7)break l;if((0|ae)==126){ae=20-yt|0;break n}G:if(Ve){if(ue=be,P=y,(0|ae)==(0|Ve))for(;;){if((0|(ae=d[0|(P=P+1|0)]))!=(0|(y=d[0|(ue=ue+1|0)])))break G;if(!y)break}}else P=y,ue=be;if(ae){for(;;)if(R=d[0|P],P=y=P+1|0,!R)continue y}break}if((0|(y=ue-be|0))<0)break l;be=y+be|0,ae=20-yt|0;break n;case 14:P=e[w+268>>2];y:{G:if(y=e[t+604>>2])y=!!(0|rs(y,P));else{S:{if((0|(y=e[t+600>>2]))>0){if((ue=P-y|0)-1>>>0<255)break S;break y}if((y=P-192|0)>>>0<=413){y=1&g[344+(d[y+94240|0]+t|0)|0];break G}if(ue=P,P>>>0>255)break c}y=1&g[344+(t+ue|0)|0]}if(y)break l;P=e[w+268>>2]}if(!ga)break c;if((0|P)==32)break l;break c;case 4:if((y=e[w+268>>2])-48>>>0<10|y-2406>>>0<10)break c;if(!d[t+170|0])break l;ae=20-yt|0;break n;case 5:if(_i(e[w+268>>2]))break l;break o;case 0:if(e[w+268>>2]==e[w+264>>2])break o;break l;case 17:r=$e+2|0,y=32768,ae=0;y:{G:switch((P=d[$e+1|0])-1|0){case 0:break C;case 1:break G;default:break y}if(ae=1,y=_e,!na)break C;break l}if((0|(y=240&P))==16){if(ae=23,y=_e,m>>>(15&P)&16384)break C;break l}if((0|P)!=3&(0|y)!=32||($A(y=w+96|0,ls,R=1+(e[A>>2]+(SA+as|0)|0)|0),g[0|(y=y+R|0)]=32,g[y+1|0]=0,e[33265]=0,e[33266]=0,e[w+16>>2]=xs,Hr(t,w+16|0,w+272|0,133060,0,0),ae=23,!((0|P)!=3|(0|(ue=e[33265]))>=0|16384&e[33266])))break n;if(y=_e,R=ee,ue>>>(15&P)&16384)break C;break l;case 34:y:{if(y=Ve-32|0){if((0|y)==13)break y;break l}if(!ha)break l}ue=22-yt|0;break f;case 10:if(y=1,d[0|r]==21)break R;break i;case 18:if((0|(ue=e[w+268>>2]))!=32)for(P=be+it|0;;){y:{G:if(y=e[t+632>>2])y=!!(0|rs(y,ue));else{S:{if((0|(y=e[t+600>>2]))>0){if((ue=ue-y|0)-1>>>0<255)break S;break y}if((y=ue-192|0)>>>0<=413){y=128&d[344+(d[y+94240|0]+t|0)|0];break G}if(ue>>>0>255)break y}y=128&d[344+(t+ue|0)|0]}if(y)break l}if(P=or(w+268|0,P)+P|0,(0|(ue=e[w+268>>2]))==32)break}ue=19-yt|0;break f;case 49:break h;case 2:break b;case 3:break m;case 1:break C;case 13:break p;case 12:break M;default:break x}or(w+272|0,r),it=-1;M:if((0|(y=e[w+272>>2]))!=(0|(P=e[w+268>>2])))if(-33&P)for(;;){Ve=be,it=-1;y:if((0|y)==18&&(y=g[$e+2|0],ae=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2])){for(;;){if((0|(R=d[0|ae]))==7)break y;if((0|R)==126){it=0;break y}G:if((0|(be=d[0|Ve]))==(0|R)){if(y=Ve,P=ae,be)for(;;){if((0|(R=d[0|(P=P+1|0)]))!=(0|(ae=d[0|(y=y+1|0)])))break G;if(!ae)break}}else P=ae,y=Ve;if(!R){y=y-Ve|0;break}for(;y=d[0|P],P=ae=P+1|0,y;);}it=y}if(R=or(w+268|0,Ve),(0|(y=e[w+272>>2]))==(0|(P=e[w+268>>2]))|!(-33&P))break M;if(be=R+Ve|0,(0|it)!=-1)break}else Ve=be;else Ve=be;be=(0|y)==(0|P)||(0|it)>=0?Ve:ht,ae=0;break n}for(;y=y+1|0,d[0|(r=r+1|0)]==21;);break i}r=r+1|0}ae=$e}if(!(d[ee-1|0]!=32&Yr|cA||((0|(P=Yr?Pt+4|0:Pt))>=(0|Xr)&&(yo=gA,to=_e,Xr=P,Ao=SA,Cr=r),!(8&e[47197])|Os|(0|P)<=0))){for(TA(r,$e=w+272|0),ht=e[47195],R=w+16|0,r=0,Ve=0,cA=0,gA=0,oe=be=oe-496|0,g[be+80|0]=0,(0|n)>0?($A(be+288|0,M,n),_e=n):_e=0,g[_e+(y=be+288|0)|0]=0,ee=wA(y)+y|0,it=(0|h)<0;;){if(ue=d[0|i],_e=i,i=i+1|0,ue>>>0>9)for(;;){B:{F:{Y:{R:{M:{y:switch((y=255&ue)-14|0){case 4:break Y;case 3:break R;case 0:break M;case 14:break y;default:break F}if(_e=_e+2|0,ue=32,!it&(0|(i=d[0|i]))==1)break B;g[0|ee]=36,BA(y=ee+1|0,i=sa(128960,i)),ee=wA(i)+y|0;break B}y=d[_e+2|0],ue=d[0|i],e[be+36>>2]=127&d[_e+3|0],e[be+32>>2]=4&y?80:83,uA(be+48|0,85131,be+32|0),1&y&&(i=wA(i=be+48|0)+i|0,g[0|i]=101,g[i+1|0]=0),2&(i=127&y)&&(y=wA(y=be+48|0)+y|0,g[0|y]=105,g[y+1|0]=0),4&i&&(y=wA(y=be+48|0)+y|0,g[0|y]=112,g[y+1|0]=0),8&i&&(y=wA(y=be+48|0)+y|0,g[0|y]=118,g[y+1|0]=0),16&i&&(y=wA(y=be+48|0)+y|0,g[0|y]=100,g[y+1|0]=0),32&i&&(y=wA(y=be+48|0)+y|0,g[0|y]=102,g[y+1|0]=0),i>>>0>=64&&(i=wA(i=be+48|0)+i|0,g[0|i]=113,g[i+1|0]=0),1&ue&&(i=wA(i=be+48|0)+i|0,g[0|i]=116,g[i+1|0]=0),_e=_e+4|0,ee=BA(ee,i=be+48|0)+wA(i)|0,ue=32;break B}_e=_e+2|0,ue=d[g[0|i]+93871|0];break B}i=g[0|i],g[0|ee]=76,y=((i=i+((0|i)<65?191:-65)|0)>>>0)/10|0,g[ee+1|0]=y+48,ue=i-F(y,10)|48,(0|gA)==1&&(g[0|ee]=ue,ue=76),_e=_e+2|0,ee=ee+2|0;break B}ue=y>>>0<=31?d[y+93904|0]:(0|y)==32?95:ue,_e=i}if(g[0|ee]=ue,i=_e+1|0,ee=ee+1|0,!((ue=d[0|_e])>>>0>=10))break}y=1;B:switch(0|ue){case 1:y=r;case 8:g[0|ee]=0,ee=be+80|0,r=y,gA=1;continue;case 2:g[0|ee]=0,_e=wA(y=be+288|0)+y|0,ee=d[84899]|d[84900]<<8,g[0|_e]=ee,g[_e+1|0]=ee>>>8,gA=2,g[_e+2|0]=d[84901],ee=wA(y)+y|0;continue;case 5:Ve=g[0|i],i=_e+2|0;continue;case 9:cA=(d[0|i]+F(d[_e+2|0],255)|0)-256|0,i=_e+3|0;continue;case 0:case 3:break B;default:continue}break}if(g[0|ee]=0,ee=R,(0|cA)>0&&(e[be+16>>2]=cA,uA(R,85581,be+16|0),ee=R+7|0),(0|Ve)>0&&(e[be>>2]=Ve,uA(ee,85694,be),ee=wA(ee)+ee|0),1&((0|(i=wA(be+80|0)))>0|r)){1&r&&(g[0|ee]=95,ee=ee+1|0);B:if(!((0|(_e=i-1|0))<0|ee>>>0>=R>>>0))for(;;){if(g[0|ee]=d[(be+80|0)+_e|0],ee=ee+1|0,(0|_e)<=0)break B;if(_e=_e-1|0,!(ee>>>0<R>>>0))break}g[0|ee]=41,g[ee+1|0]=32,ee=ee+2|0}g[0|ee]=0,g[(r=be+288|0)+((R+3|0)-ee|0)|0]=0,gs(ee,r),(0|(r=wA(R)))<=7&&(IA(r+R|0,32,8-r|0),r=8),g[r+R|0]=0,oe=be+496|0,e[w+4>>2]=R,e[w>>2]=(0|n)>1?P+35|0:P,e[w+8>>2]=$e,ss(ht,89088,w)}r=ae;break l}if(!d[0|ee])break l;Wt=(0|(y=Wt+2|0))>=19?19:y,or(w+264|0,ee),y=$s(w+268|0,R=ee-1|0),Ve=d[0|R],ht=R;w:{B:{F:{Y:{R:{M:switch(P-10|0){case 13:if(y=(0|(VA=d[0|r]))==(0|(P=d[0|ee])),it=-1,(0|P)==32|(0|P)==(0|VA))break Y;if(P)break R;break F;case 7:r=$e+2|0,ae=e[w+268>>2],ee=g[$e+1|0];y:if(P=e[604+(((ee=((0|ee)<65?191:-65)+ee|0)<<2)+t|0)>>2])P=!!(0|rs(P,ae));else{if((0|ee)>7)break l;G:{if((0|(P=e[t+600>>2]))>0){if((ae=ae-P|0)-1>>>0<255)break G;break l}if((P=ae-192|0)>>>0<=413){P=d[344+(d[P+94240|0]+t|0)|0]&1<<ee;break y}if(ae>>>0>255)break l}P=d[344+(t+ae|0)|0]&1<<ee}if(!P)break l;R=1+(R-y|0)|0,ae=((0|ee)==2?19:20)-Wt|0;break w;case 8:if(r=$e+2|0,y=g[$e+1|0],!(y=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2]))break l;y:{for(;;){if((0|(Ve=d[0|y]))==7)break l;if((0|Ve)==126){it=0;break y}P=R;G:{S:{if((0|($e=(it=wA(y))-1|0))>0)for(P=ee-it|0,ae=0,ue=R;;){if(!d[0|(ue=ue-1|0)])break S;if((0|$e)==(0|(ae=ae+1|0)))break}X:if(!((0|(ae=d[0|P]))!=(0|Ve)|!ae))for(;;){if((0|(Ve=d[0|(y=y+1|0)]))!=(0|(ae=d[0|(P=P+1|0)])))break X;if(!ae)break}if(!Ve)break G}for(P=y;ae=d[0|P],P=y=P+1|0,ae;);continue}break}if((0|it)<0)break l}ae=20-yt|0,R=1+(R-it|0)|0;break w;case 15:P=e[w+268>>2];y:{G:if(ee=e[t+604>>2])ee=!!(0|rs(ee,P));else{S:{if((0|(ee=e[t+600>>2]))>0){if((P=P-ee|0)-1>>>0<255)break S;break y}if((ee=P-192|0)>>>0<=413){ee=1&g[344+(d[ee+94240|0]+t|0)|0];break G}if(P>>>0>255)break y}ee=1&g[344+(t+P|0)|0]}if(ee)break l}ae=20-Wt|0,R=1+(R-y|0)|0;break w;case 1:if(e[w+268>>2]!=e[w+264>>2])break l;ae=21-Wt|0,R=1+(R-y|0)|0;break w;case 5:if(!((ee=e[w+268>>2])-48>>>0<10|ee-2406>>>0<10))break l;ae=21-Wt|0,R=1+(R-y|0)|0;break w;case 6:if(_i(e[w+268>>2]))break l;ae=21-yt|0,R=1+(R-y|0)|0;break w;case 18:if(r=$e+2|0,!((0|(P=d[$e+1|0]))==3|(240&P)==32)||($A(y=w+96|0,ls,R=1+(e[A>>2]+(SA+as|0)|0)|0),g[0|(y=y+R|0)]=32,g[y+1|0]=0,e[33265]=0,e[33266]=0,e[w+16>>
28102]=xs,Hr(t,w+16|0,w+272|0,133060,0,0),ae=23,!((0|P)!=3|(0|(ue=e[33265]))>=0|16384&e[33266])))break n;if(y=_e,R=ee,ue>>>(15&P)&16384)break C;break l;case 11:if(P=1,d[0|r]==21)for(;P=P+1|0,d[0|(r=r+1|0)]==21;);if(e[t+8208>>2]<(0|P))break l;ae=18+(P-Wt|0)|0;break w;case 0:if(ae=19,y=_e,R=ee,e[t+8212>>2]>0)break C;break l;case 19:if(ae=3,(0|(ue=e[w+268>>2]))==32)break w;for(P=1+(R-y|0)|0;;){y:{G:if(y=e[t+632>>2])y=!!(0|rs(y,ue));else{S:{if((0|(y=e[t+600>>2]))>0){if((ue=ue-y|0)-1>>>0<255)break S;break y}if((y=ue-192|0)>>>0<=413){y=128&d[344+(d[y+94240|0]+t|0)|0];break G}if(ue>>>0>255)break y}y=128&d[344+(t+ue|0)|0]}if(y)break l}if(P=P-$s(w+268|0,P-1|0)|0,(0|(ue=e[w+268>>2]))==32)break}break w;case 16:if(ae=1,y=_e,R=ee,e[t+8184>>2])break C;break l;case 9:if(ae=1,y=_e,R=ee,Gn)break C;break l;case 36:for(;;){if(ae=50,y=_e,!(ee=(255&Ve)-32|0))break l;if((0|ee)==14)break C;Ve=d[0|(ht=ht-1|0)]}case 35:break M;default:break B}M:{if(y=Ve-32|0){if((0|y)==13)break M;break l}if(!Fn)break l}ae=22-yt|0;break w}R:{for(;;){it=-1,ue=ee,ee=ee-1|0;M:if((0|VA)==18&&(y=g[$e+2|0],ae=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2]))for(Qi=ue+1|0;;){if((0|(ht=d[0|ae]))==7){it=-1;break M}if((0|ht)==126){it=0;break M}P=ue;y:{if((0|(zs=(it=wA(ae))-1|0))>0)for(P=Qi-it|0,Ve=0,y=ue;;){if(!d[0|(y=y-1|0)])break y;if((0|zs)==(0|(Ve=Ve+1|0)))break}G:if(!((0|(y=d[0|P]))!=(0|ht)|!y))for(;;){if((0|(ht=d[0|(ae=ae+1|0)]))!=(0|(y=d[0|(P=P+1|0)])))break G;if(!y)break}if(!ht)break M}for(P=ae;y=d[0|P],P=ae=P+1|0,y;);}if(y=(0|(P=d[0|ee]))==(0|VA),(0|P)==32|(0|P)==(0|VA))break R;if(!P){ee=ue;break F}if((0|it)!=-1)break}ee=ue;break F}ee=ue}R=y?ee:R}ae=0,R=(0|it)<0?R:ee+1|0;break w}if((0|P)!=(0|Ve))break l;ae=4,(0|P)!=32&&(ae=(192&P)!=128?21-Wt|0:0)}y=_e;break C}if((0|P)!=(0|Ve))break l;ue=(192&P)!=128?21-yt|0:0;break f}if(ae=1,pa)break l}Pt=ae+Pt|0;continue}if(y=g[$e+1|0],_e=d[$e+3|0],R=d[$e+2|0],1&!(e[t+8208>>2]|4&R)&g[t+84|0])break l;r=$e+4|0,ue=0,_e=127&_e|(127&R)<<8|y<<16;break f}b:if(!(ht>>>0<=(P=e[A>>2]+n|0)>>>0)){for(;;){if(d[0|P]!=101){if(y=P>>>0<be>>>0,P=P+1|0,y)continue;break b}break}ue=0,gA=P;break f}ue=0;break f}ae=-20;break n}if(Ve=0,(0|(P=e[w+268>>2]))!=32)for(ue=be+it|0,ae=0;;){if(!ae){i:{h:if(R=e[t+632>>2])P=!!(0|rs(R,P));else{b:{if((0|(R=e[t+600>>2]))>0){if((P=P-R|0)-1>>>0<255)break b;break i}if((R=P-192|0)>>>0<=413){P=128&d[344+(d[R+94240|0]+t|0)|0];break h}if(P>>>0>255)break i}P=128&d[344+(t+P|0)|0]}P&&(Ve=Ve+1|0)}P=e[w+268>>2]}i:if(R=e[t+632>>2])ae=!!(0|rs(R,P));else{h:{if((0|(R=e[t+600>>2]))>0){if(ae=0,(P=P-R|0)-1>>>0<255)break h;break i}if((R=P-192|0)>>>0<=413){ae=128&d[344+(d[R+94240|0]+t|0)|0];break i}if(ae=0,P>>>0>255)break i}ae=128&d[344+(t+P|0)|0]}if(ue=or(w+268|0,ue)+ue|0,(0|(P=e[w+268>>2]))==32)break}if(!((0|y)>(0|Ve))){ue=18+(y-yt|0)|0;break f}}for(;y=d[0|r],r=i=r+1|0,y;);if(d[0|i]!=7)continue a;if(t=n+Ao|0,e[A>>2]=e[A>>2]+(t||1),Xr)break t;break r}y=_e,be=ht,R=ee,Pt=ue+Pt|0;continue}be=be+it|0,ae=21-yt|0;break n}be=be+it|0,ae=20-yt|0}y=_e,R=ee,Pt=ae+Pt|0}}Cr=86135}e[l+12>>2]=yo,e[l+8>>2]=to,e[l+4>>2]=Cr,e[l>>2]=Xr}oe=w+384|0}function eA(t,A){var r,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0,Cr=0,Yr=0,Xr=0;oe=r=oe-1168|0,e[r+928>>2]=0,e[r+932>>2]=0,e[r+920>>2]=0,e[r+924>>2]=0,e[r+912>>2]=0,e[r+916>>2]=0,e[r+904>>2]=0,e[r+908>>2]=0,e[r+896>>2]=0,e[r+900>>2]=0;e:{t:{if(t){if(d[0|t]|8&A)break t;break e}if(!(8&A))break e}if(vr(r+1088|0,t,40),16&A){if((0|Na(BA(r+704|0,t)))<=0)break e;ue=8&A}else(ue=8&A)|d[r+1088|0]||(v[r+1088>>1]=d[85055]|d[85056]<<8,g[r+1090|0]=d[85057]),e[r+496>>2]=137584,e[r+500>>2]=47,e[r+504>>2]=47,uA(n=r+512|0,85286,r+496|0),e[r+484>>2]=r+1088,e[r+480>>2]=n,uA(n=r+704|0,85425,r+480|0),(0|Na(n))>0||(e[r+468>>2]=47,e[r+472>>2]=47,e[r+464>>2]=137584,uA(n=r+512|0,85648,r+464|0),e[r+452>>2]=r+1088,e[r+448>>2]=n,uA(r+704|0,85425,r+448|0));if(i=ue?86012:85055,!(be=la(r+704|0,85712))){if(n=0,3&A)break e;i=(0|di(n=r+1088|0))<0?i:n}if((ae=2&A)||(n=e[47192])&&(Mn(n),e[47192]=0),$e=BA(r+992|0,i),Ve=BA(r+944|0,i),ae?((n=an(200992,43))&&(g[0|n]=0),e[r+432>>2]=t+3,uA(t=r+704|0,86030,r+432|0),gs(200992,t)):(e[32972]=199592,vr(200992,t,40),g[201088]=0,g[201040]=0,e[50299]=200992,e[50298]=201088,e[50297]=201040),nr(ae),be){for(ht=e[30450],yt=r+548|0,Pt=r+544|0,Wt=r+540|0,cA=r+536|0,gA=r+532|0,SA=r+528|0,VA=12|(t=r+512|0),qA=8|t,Cr=4|t;_r(r+704|0,190,be);){t=r+704|0;t:{if(d[r+704|0]!=35){r:if(!((0|(t=wA(r+704|0)-1|0))<=0))for(;;){if(!((0|(i=g[0|(n=(r+704|0)+t|0)]))==32|i-9>>>0<5))break r;if(g[0|n]=0,!((0|(t=t-1|0))>0))break}if(!(t=Dr(r+704|0)))break t}g[0|t]=0}t=r+704|0;t:if(n=d[r+704|0])for(;;){if((0|(n=n<<24>>24))==32|n-9>>>0<5)break t;if(!(n=d[0|(t=t+1|0)]))break}if(g[0|t]=0,d[r+704|0])if(t=t+1|0,n=ti(129744,r+704|0)){l=0,oe=i=oe-416|0;t:if(h=e[47192]){switch(n-19|0){case 16:if(e[i+32>>2]=i+412,(0|nA(t,84249,i+32|0))!=1)break t;e[h+324>>2]=e[i+412>>2];break t;case 8:Bi(t,h+320|0,27);break t;case 2:if(e[i+48>>2]=188784,nA(t,84249,i+48|0),!(t=d[188784]))break t;e[h+152>>2]=t;break t;case 11:if(d[0|t]){for(m=e[30450];;)if(n=t,t=t+1|0,!((0|(l=g[0|n]))==32|l-9>>>0<5)){for(l=Pn(n),e[i+412>>2]=l,(0|l)>0&&(l>>>0<=31?e[h+104>>2]=e[h+104>>2]|1<<l:l>>>0<=63?e[h+108>>2]=e[h+108>>
vendor: 8,491 bytes, line 2810
28102]|1<<l-32:(e[i+64>>2]=l,ss(m,84700,i- -64|0)),n=t);n=(t=n)+1|0,(l=g[0|t])-48>>>0<10|(32|l)-97>>>0<26;);if(!l)break}}8&(t=e[h+104>>2])&&(e[h+124>>2]=46,e[h+128>>2]=44),4&t&&(e[h+124>>2]=0);break t;default:if((65280&n)!=256)break t;e[i+16>>2]=24+(h+((255&n)<<2)|0),nA(t,84249,i+16|0);break t;case 1:e[i+144>>2]=h,e[i+148>>2]=h+4,nA(t,85642,i+144|0);break t;case 3:if(n=0,IA(l=i+160|0,0,240),e[i+132>>2]=i+360,e[i+128>>2]=i+320,e[i+124>>2]=i+280,e[i+120>>2]=i+240,e[i+116>>2]=i+200,e[i+112>>2]=l,l=nA(t,85037,i+112|0),e[i+412>>2]=l,e[h+152>>2]=0,(0|l)<=0)break t;for(y=e[30450];;){r:if(Zr(m=(i+160|0)+F(n,40)|0,85301)){a:{if((0|(M=e[34454]))>0)for(ee=e[34455],t=0;;){if(!Zr(m,ee+F(t,68)|0))break a;if((0|M)==(0|(t=t+1|0)))break}e[i+96>>2]=m,ss(y,85562,i+96|0),l=e[i+412>>2];break r}g[156+(n+h|0)|0]=t}if(!((0|l)>(0|(n=n+1|0))))break}break t;case 9:e[i+88>>2]=h+20,e[i+84>>2]=h+16,e[i+80>>2]=h+8,nA(t,84778,i+80|0);break t;case 10:Bi(t,h+12|0,29);break t;case 5:if((0|(y=oo(t,i+160|0)))<=0)break t;if(n=0,t=0,y>>>0>=4)for(ee=-4&y,m=h+304|0;M=i+160|0,v[m+(t<<1)>>1]=e[M+(t<<2)>>2],v[m+((w=1|t)<<1)>>1]=e[M+(w<<2)>>2],v[m+((w=2|t)<<1)>>1]=e[M+(w<<2)>>2],v[m+((w=3|t)<<1)>>1]=e[M+(w<<2)>>2],t=t+4|0,(0|ee)!=(0|(l=l+4|0)););if(!(l=3&y))break t;for(;v[304+(h+(t<<1)|0)>>1]=e[(i+160|0)+(t<<2)>>2],t=t+1|0,(0|l)!=(0|(n=n+1|0)););break t;case 6:if((0|(y=oo(t,i+160|0)))<=0)break t;if(n=0,t=0,y>>>0>=4)for(ee=-4&y,m=h+296|0;M=i+160|0,g[t+m|0]=e[M+(t<<2)>>2],g[(w=1|t)+m|0]=e[M+(w<<2)>>2],g[(w=2|t)+m|0]=e[M+(w<<2)>>2],g[(w=3|t)+m|0]=e[M+(w<<2)>>2],t=t+4|0,(0|ee)!=(0|(l=l+4|0)););if(!(l=3&y))break t;for(;g[296+(t+h|0)|0]=e[(i+160|0)+(t<<2)>>2],t=t+1|0,(0|l)!=(0|(n=n+1|0)););break t;case 7:if((0|(y=oo(t,i+160|0)))<=0)break t;if(n=0,t=0,y>>>0>=4)for(ee=-4&y,m=h+304|0;w=M=m+(t<<1)|0,P=_[M>>1],M=i+160|0,v[w>>1]=P+_[M+(t<<2)>>1],v[(P=m+((w=1|t)<<1)|0)>>1]=_[P>>1]+_[M+(w<<2)>>1],v[(P=m+((w=2|t)<<1)|0)>>1]=_[P>>1]+_[M+(w<<2)>>1],v[(P=m+((w=3|t)<<1)|0)>>1]=_[P>>1]+_[M+(w<<2)>>1],t=t+4|0,(0|ee)!=(0|(l=l+4|0)););if(!(l=3&y))break t;for(;v[304+(m=h+(t<<1)|0)>>1]=_[m+304>>1]+_[(i+160|0)+(t<<2)>>1],t=t+1|0,(0|l)!=(0|(n=n+1|0)););break t;case 4:g[h+169|0]=1;break t;case 0:}g[h+208|0]=1}else e[i>>2]=sa(129568,n),ss(e[30450],89101,i);oe=i+416|0}else{switch(ti(131904,r+704|0)-1|0){case 1:if(ae||(g[r+1040|0]=0,e[r+512>>2]=5,e[r+32>>2]=r+1040,e[r+36>>2]=r+512,nA(t,86237,r+32|0),e[r+1040>>2]==1769103734&e[r+1044>>2]==7630433))continue;if((t=wA(r+1040|0)+2|0)>>>0<99-_e>>>0&&(g[0|(n=_e+201088|0)]=e[r+512>>2],BA(n+1|0,r+1040|0),_e=t+_e|0),!Yr){if(t=0,(n=m=r+1040|0)||(n=e[57150])){if(t=86875,e[24+(i=oe-32|0)>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i>>2]=0,e[i+4>>2]=0,h=0,l=d[86875])if(d[86876]){for(;e[(h=i+(l>>>3&28)|0)>>2]=e[h>>2]|1<<l,l=d[t+1|0],t=t+1|0,l;);t:if(l=d[0|(t=n)])for(;;){if(!(e[i+(l>>>3&28)>>2]>>>l&1))break t;if(l=d[t+1|0],t=t+1|0,!l)break}h=t-n|0}else{for(t=n;i=t,t=t+1|0,d[0|i]==(0|l););h=i-n|0}if(d[0|(t=h+n|0)]){n=86875,oe=l=oe-32|0,i=g[86875];t:if(d[86876]&&i){if(IA(l,0,32),i=d[86875])for(;e[(h=l+(i>>>3&28)|0)>>2]=e[h>>2]|1<<i,i=d[n+1|0],n=n+1|0,i;);if(n=t,i=d[0|t])for(;;){if(e[l+(i>>>3&28)>>2]>>>i&1)break t;if(i=d[n+1|0],n=n+1|0,!i)break}}else n=Un(t,i);oe=l+32|0,d[0|(n=(n-t|0)+t|0)]?(e[57150]=n+1,g[0|n]=0):e[57150]=0}else e[57150]=0,t=0}n=BA($e,t),BA(Ve,t),di(BA(r+896|0,t)),e[47192]=st(n),vr(e[32972]+40|0,m,20)}Yr=1;continue;case 0:if(ae)continue;for(;n=t,t=t+1|0,(0|(i=g[0|n]))==32|i-9>>>0<5;);vr(201040,n,40);continue;case 2:e[r+1152>>2]=0,n=r+512|0,e[r+48>>2]=n,e[r+52>>2]=r+1152,nA(t,86237,r+48|0),g[201200]=ti(132112,n),g[201201]=e[r+1152>>2];continue;case 4:e[r+64>>2]=Ve,nA(t,86939,r- -64|0);continue;case 3:e[r+80>>2]=r+896,nA(t,86939,r+80|0);continue;case 8:if(e[r+1152>>2]=100,e[r+1164>>2]=100,e[r+1148>>2]=100,e[r+112>>2]=r+1144,e[r+1144>>2]=0,e[r+96>>2]=r+512,e[r+100>>2]=r+1152,e[r+104>>2]=r+1164,e[r+108>>2]=r+1148,(0|nA(t,91156,r+96|0))<2||(t=e[r+512>>2])>>>0>8||((0|(n=e[r+1152>>2]))>=0&&(i=e[32972]+(t<<1)|0,n=he(R=2.56001*+(0|n))<2147483648?~~R:-2147483648,v[i+236>>1]=n,v[i+164>>1]=n),(0|(n=e[r+1164>>2]))>=0&&(i=e[32972]+(t<<1)|0,n=he(R=2.56001*+(0|n))<2147483648?~~R:-2147483648,v[i+254>>1]=n,v[i+182>>1]=n),(0|(i=e[r+1148>>2]))<0?n=e[32972]:(m=(n=e[32972])+(t<<1)|0,i=he(R=2.56001*+(0|i))<2147483648?~~R:-2147483648,v[m+200>>1]=i),v[218+((t<<1)+n|0)>>1]=e[r+1144>>2],t))continue;v[n+200>>1]=(0|F(v[n+200>>1],105))/100;continue;case 9:if(e[r+132>>2]=r+696,e[r+128>>2]=r+700,(0|nA(t,87106,r+128|0))!=2)continue;if(t=e[32972],n=e[r+700>>2],e[t+64>>2]=(n<<12)-36864,e[t+68>>2]=F(e[r+696>>2]-n|0,108),he(R=256*(+(n-82|0)/82*.25+1))<2147483648){e[t+116>>2]=~~R;continue}e[t+116>>2]=-2147483648;continue;case 35:Xr||di(r+896|0),e[r+1164>>2]=0,g[r+1156|0]=d[91267],e[r+1152>>2]=d[91263]|d[91264]<<8|d[91265]<<16|d[91266]<<24,e[r+144>>2]=r+1164,e[r+148>>2]=r+512,e[r+152>>2]=r+1152,(0|nA(t,91302,r+144|0))<2|e[49848]>59||(t=_o(r+512|0))&&(g[F(e[49848],3)+199408|0]=t,t=_o(r+1152|0),n=e[49848],i=F(n,3)+199408|0,g[i+1|0]=t,e[49848]=n+1,g[i+2|0]=e[r+1164>>2]),Xr=1;continue;case 10:e[r+1140>>2]=0,n=e[32972],e[n+100>>2]=0,e[r+164>>2]=n+100,e[r+160>>2]=n+96,nA(t,87106,r+160|0);continue;case 11:if(e[r+176>>2]=r+1140,(0|nA(t,87268,r+176|0))!=1)continue;e[e[32972]+88>>2]=e[r+1140>>2]<<5;continue;case 12:if(e[r+192>>2]=r+1140,(0|nA(t,87268,r+192|0))!=1)continue;e[e[32972]+92>>2]=e[r+1140>>2];continue;case 13:if(e[r+208>>2]=r+1140,(0|nA(t,87268,r+208|0))!=1)continue;n=e[32972],(0|(t=e[r+1140>>2]))>=5&&(e[n+108>>2]=1,e[r+1140>>2]=4,t=4),e[n+104>>2]=t+1;continue;case 14:for(e[r+552>>2]=-1,e[r+556>>2]=-1,e[r+544>>2]=-1,e[r+548>>2]=-1,e[r+536>>2]=-1,e[r+540>>2]=-1,e[r+528>>2]=-1,e[r+532>>2]=-1,e[r+240>>2]=SA,e[r+244>>2]=gA,e[r+248>>2]=cA,e[r+252>>2]=Wt,e[r+256>>2]=Pt,e[r+260>>2]=yt,e[r+520>>2]=-1,e[r+524>>2]=-1,e[r+512>>2]=-1,e[r+516>>2]=-1,e[r+228>>2]=Cr,e[r+232>>2]=qA,e[r+236>>2]=VA,e[r+224>>2]=r+512,nA(t,84222,r+224|0),ee=e[32972],t=0,l=e[r+516>>2],i=0;;){if(n=i,h=l,m=t,(0|(i=e[(l=(t<<=2)+(r+512|0)|0)>>2]))==-1&&(i=8e3,e[l>>2]=8e3,m&&(e[(r+512|0)+(4|t)>>2]=e[508+(t+r|0)>>2])),l=e[(r+512|0)+(4|t)>>2],!((0|n)>=(0|(i=(0|i)/8|0))||(0|(M=i-n|0))<=0||(y=n+1|0,t=n,1&M&&(g[344+(n+ee|0)|0]=(0|h)>=255?255:h,t=y),(0|i)==(0|y))))for(y=l-h|0;P=ee+344|0,w=h+((0|F(y,t-n|0))/(0|M)|0)|0,g[P+t|0]=(0|w)>=255?255:w,w=h+((0|F(y,(it=t+1|0)-n|0))/(0|M)|0)|0,g[P+it|0]=(0|w)>=255?255:w,(0|i)!=(0|(t=t+2|0)););if(t=m+2|0,!(m>>>0<10))break}continue;case 15:if(e[r+272>>2]=r+1140,(0|nA(t,87268,r+272|0))!=1)continue;e[e[32972]+112>>2]=(e[r+1140>>2]<<6)/100;continue;case 16:n=e[32972],e[(i=n+300|0)>>2]=0,e[i+4>>2]=0,e[(l=n+292|0)>>2]=0,e[l+4>>2]=0,e[(h=n+284|0)>>2]=0,e[h+4>>2]=0,e[(m=n+276|0)>>2]=0,e[m+4>>2]=0,e[r+316>>2]=n+304,e[r+312>>2]=i,e[r+308>>2]=n+296,e[r+304>>2]=l,e[r+300>>2]=n+288,e[r+296>>2]=h,e[r+292>>2]=n+280,e[r+288>>2]=m,n=nA(t,84553,r+288|0),t=e[32972],e[t+272>>2]=n,e[t+276>>2]=0-e[t+276>>2],e[t+284>>2]=0-e[t+284>>2],e[t+292>>2]=0-e[t+292>>2],e[t+300>>2]=0-e[t+300>>2];continue;case 17:n=e[32972],e[(i=n+336|0)>>2]=0,e[i+4>>2]=0,e[(l=n+328|0)>>2]=0,e[l+4>>2]=0,e[(h=n+320|0)>>2]=0,e[h+4>>2]=0,e[(m=n+312|0)>>2]=0,e[m+4>>2]=0,e[r+348>>2]=n+340,e[r+344>>2]=i,e[r+340>>2]=n+332,e[r+336>>2]=l,e[r+332>>2]=n+324,e[r+328>>2]=h,e[r+324>>2]=n+316,e[r+320>>2]=m,t=nA(t,84553,r+320|0),e[e[32972]+308>>2]=t;continue;case 36:n=e[32972],e[r+352>>2]=n+120,e[r+356>>2]=n+124,e[r+1140>>2]=nA(t,87106,r+352|0);continue;case 33:e[r+368>>2]=e[32972]+84,nA(t,87268,r+368|0),Ra(3);continue;case 31:n=e[32972],e[(i=n+156|0)>>2]=0,e[i+4>>2]=0,e[(l=n+148|0)>>2]=0,e[l+4>>2]=0,e[(h=n+140|0)>>2]=0,e[h+4>>2]=0,e[(m=n+132|0)>>2]=0,e[m+4>>2]=0,e[r+412>>2]=n+160,e[r+408>>2]=i,e[r+404>>2]=n+152,e[r+400>>2]=l,e[r+396>>2]=n+144,e[r+392>>2]=h,e[r+388>>2]=n+136,e[r+384>>2]=m,nA(t,84553,r+384|0),t=e[32972],e[t+152>>2]=e[t+152>>2]-40;continue;case 32:e[r+416>>2]=145740,nA(t,87268,r+416|0),Ra(3);continue;case 6:case 7:continue}e[r+16>>2]=r+704,ss(ht,87359,r+16|0)}}fa(be)}t:{if((t=e[47192])|ae){if(ae)break t}else t=st($e),e[47192]=t;r:{if(!ue){if((0|(t=di(r+896|0)))<0&&(e[r>>2]=r+896,ss(e[30450],87567,r),t=0),e[e[32972]+60>>2]=t,n=e[47192],e[n+292>>2]=t,qs(n,Ve,4&A),d[132848])break r;Mn(e[47192]),n=0;break e}e[e[32972]+60>>2]=0,e[t+292>>2]=0}g[_e+201088|0]=0}n=e[32972]}return oe=r+1168|0,n}function nA(t,A,r){var n,i,l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0;oe=l=oe-16|0,e[l+12>>2]=r,oe=h=oe-144|0,n=IA(h,0,144),e[n+76>>2]=-1,e[n+44>>2]=t,e[n+32>>2]=18,e[n+84>>2]=t,h=A,yt=r,t=0,oe=i=oe-304|0;
2810e:{t:{r:if(e[n+4>>2]||(Di(n),e[n+4>>2])){if(!(A=d[0|h]))break e;a:{n:{c:{o:{for(;;){f:{l:if((0|(A&=255))==32|A-9>>>0<5){for(;A=h,h=h+1|0,(0|(r=d[A+1|0]))==32|r-9>>>0<5;);for(ua(n,0,0);(0|(r=e[n+4>>2]))==e[n+104>>2]?r=oA(n):(e[n+4>>2]=r+1,r=d[0|r]),(0|r)==32|r-9>>>0<5;);h=e[n+4>>2],(0|(r=e[n+116>>2]))>0|(0|r)>=0&&(h=h-1|0,e[n+4>>2]=h),h=r=h-e[n+44>>2]|0,y=_e+e[n+124>>2]|0,y=(m=r>>31)+((r=ae+e[n+120>>2]|0)>>>0<ae>>>0?y+1|0:y)|0,_e=(ae=r+h|0)>>>0<r>>>0?y+1|0:y}else{i:{h:{b:{if(d[0|h]==37){if((0|(A=d[h+1|0]))==42)break b;if((0|A)!=37)break h}if(ua(n,0,0),d[0|h]!=37)(0|(A=e[n+4>>2]))==e[n+104>>2]?A=oA(n):(e[n+4>>2]=A+1,A=d[0|A]);else{for(;(0|(A=e[n+4>>2]))==e[n+104>>2]?A=oA(n):(e[n+4>>2]=A+1,A=d[0|A]),(0|A)==32|A-9>>>0<5;);h=h+1|0}if(d[0|h]!=(0|A)){if((0|(r=e[n+116>>2]))>0|(0|r)>=0&&(e[n+4>>2]=e[n+4>>2]-1),(0|A)>=0||(w=0,Pt))break e;break r}M=(m=A=e[n+4>>2]-e[n+44>>2]|0)>>31,A=_e+e[n+124>>2]|0,w=((r=ae+e[n+120>>2]|0)>>>0<ae>>>0?A+1|0:A)+M|0,_e=(ae=r+m|0)>>>0<r>>>0?w+1|0:w,A=h;break l}P=0,A=h+2|0;break i}d[h+2|0]!=36|A-48>>>0>=10?(P=e[yt>>2],yt=yt+4|0,A=h+1|0):(A=d[h+1|0]-48|0,e[12+(r=oe-16|0)>>2]=yt,A=(A>>>0>1?(A<<2)-4|0:0)+yt|0,e[r+8>>2]=A+4,P=e[A>>2],A=h+3|0)}if(R=0,h=0,d[0|A]-48>>>0<10)for(;h=(d[0|A]+F(h,10)|0)-48|0,r=d[A+1|0],A=A+1|0,r-48>>>0<10;);(0|(ue=d[0|A]))==109&&(ee=0,R=!!(0|P),ue=d[A+1|0],t=0,A=A+1|0),A=(r=A)+1|0,m=3,w=R;i:{h:switch(ue-65|0){case 39:m=r+2|0,A=(r=d[r+1|0]==104)?m:A,m=r?-2:-1;break i;case 43:m=r+2|0,A=(r=d[r+1|0]==108)?m:A,m=r?3:1;break i;case 51:case 57:m=1;break i;case 11:m=2;break i;case 41:break i;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break h;default:break a}m=0,A=r}w=m,it=(m=(47&(r=d[0|A]))==3)?1:w;i:if((0|($e=m?32|r:r))!=91){h:{if((0|$e)!=110){if((0|$e)!=99)break h;h=(0|h)<=1?1:h;break i}s0(P,it,ae,_e);break l}for(ua(n,0,0);(0|(r=e[n+4>>2]))==e[n+104>>2]?r=oA(n):(e[n+4>>2]=r+1,r=d[0|r]),(0|r)==32|r-9>>>0<5;);r=e[n+4>>2],(0|(m=e[n+116>>2]))>0|(0|m)>=0&&(r=r-1|0,e[n+4>>2]=r),m=r=r-e[n+44>>2]|0,y=_e+e[n+124>>2]|0,_e=(w=r>>31)+((r=ae+e[n+120>>2]|0)>>>0<ae>>>0?y+1|0:y)|0,_e=(ae=r+m|0)>>>0<r>>>0?_e+1|0:_e}if(be=h,ua(n,h,Ve=h>>31),(0|(r=e[n+4>>2]))==e[n+104>>2]){if((0|oA(n))<0)break n}else e[n+4>>2]=r+1;(0|(r=e[n+116>>2]))>0|(0|r)>=0&&(e[n+4>>2]=e[n+4>>2]-1),r=16;i:{h:{b:{m:{switch($e-88|0){default:if((r=$e-65|0)>>>0>6|!(1<<r&113))break i;case 9:case 13:case 14:case 15:if(jt(i+8|0,n,it,0),r=e[n+4>>2]-e[n+44>>2]|0,e[n+120>>2]!=(0-r|0)|e[n+124>>2]!=(0-((r>>31)+!!(0|r)|0)|0))break b;break c;case 3:case 11:case 27:if((16|$e)==115){if(IA(i+32|0,-1,257),g[i+32|0]=0,(0|$e)!=115)break h;g[i+65|0]=0,g[i+46|0]=0,v[i+42>>1]=0,v[i+44>>1]=0;break h}IA(i+32|0,M=(0|(m=d[A+1|0]))==94,257),g[i+32|0]=0,r=M?A+2|0:A+1|0;C:{p:{x:{if((0|(A=d[(M?2:1)+A|0]))!=45){if((0|A)==93)break x;m=(0|m)!=94,A=r;break C}m=(0|m)!=94,g[i+78|0]=m;break p}m=(0|m)!=94,g[i+126|0]=m}A=r+1|0}for(;;){if((0|(r=d[0|A]))==45){if(r=45,!(!(M=d[A+1|0])|(0|M)==93)){if(w=A+1|0,M>>>0<=(A=d[A-1|0])>>>0)r=M;else for(;g[(A=A+1|0)+(i+32|0)|0]=m,(r=d[0|w])>>>0>A>>>0;);A=w}}else{if(!r)break n;if((0|r)==93)break h}g[33+(r+i|0)|0]=m,A=A+1|0}case 23:r=8;break m;case 12:case 29:r=10;break m;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break i;case 0:case 24:case 32:break m;case 17:}r=0}M=0,y=0,m=0,w=0,ue=0,oe=ht=oe-16|0;m:if((0|r)!=1&r>>>0<=36){for(;(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),(0|h)==32|h-9>>>0<5;);C:{p:switch(h-43|0){case 0:case 2:break p;default:break C}ue=(0|h)==45?-1:0,(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h])}C:{p:{x:{w:{if(!(!!(0|r)&(0|r)!=16|(0|h)!=48)){if((0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),(-33&h)==88){if(r=16,(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),d[h+121329|0]<16)break x;(0|(r=e[n+116>>2]))>0|(0|r)>=0&&(e[n+4>>2]=e[n+4>>2]-1),ua(n,0,0);break m}if(r)break w;r=8;break x}if(!((r=r||10)>>>0>d[h+121329|0])){(0|(r=e[n+116>>2]))>0|(0|r)>=0&&(e[n+4>>2]=e[n+4>>2]-1),ua(n,0,0),e[56798]=28;break m}}if((0|r)==10){if((m=h-48|0)>>>0<=9){for(r=0;w=(r=F(r,10)+m|0)>>>0<429496729,(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),w&(m=h-48|0)>>>0<=9;);M=r}w:if(!(m>>>0>9)){for(r=rr(M,0,10,0),w=fe;;){if(y=w,w=(0|(y=(M=r+m|0)>>>0<m>>>0?y+1|0:y))==429496729&M>>>0>=2576980378|y>>>0>429496729,(0|(r=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=r+1,h=d[0|r]),w|(m=h-48|0)>>>0>9)break w;if(r=rr(M,y,10,0),!((0|(w=fe))==-1&~m>>>0>=r>>>0|(0|w)!=-1))break}r=10;break p}if(r=10,m>>>0<=9)break p;break C}}if(r-1&r){if((w=d[h+121329|0])>>>0<r>>>0){for(;M=(m=F(r,m)+w|0)>>>
vendor: 12,568 bytes, line 2810
28100<119304647,(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),M&(w=d[h+121329|0])>>>0<r>>>0;);M=m}if(r>>>0<=w>>>0)break p;for(;;){if(m=rr(M,y,r,0),(0|(be=fe))==-1&~(w&=255)>>>0<m>>>0||(y=be,y=(M=m+w|0)>>>0<w>>>0?y+1|0:y,(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),r>>>0<=(w=d[h+121329|0])>>>0))break p;if(Ns(ht,r,0,0,0,M,y,0,0),e[ht+8>>2]|e[ht+12>>2])break}}else{if(be=g[84400+(F(r,23)>>>5&7)|0],(m=d[h+121329|0])>>>0<r>>>0){for(;M=(w=w<<be|m)>>>0<134217728,(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),M&(m=d[h+121329|0])>>>0<r>>>0;);M=w}if(!(r>>>0<=m>>>0||(Ve=31&be,(63&be)>>>0>=32?(w=0,Ve=-1>>>Ve|0):Ve=(w=-1>>>Ve|0)|(1<<Ve)-1<<32-Ve,!w&M>>>0>Ve>>>0)))for(;;){if(Wt=255&m,m=M,h=31&be,(63&be)>>>0>=32?(y=m<<h,h=0):(y=(1<<h)-1&m>>>32-h|y<<h,h=m<<h),M=Wt|h,(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),r>>>0<=(m=d[h+121329|0])>>>0)break p;if(!((0|w)==(0|y)&M>>>0<=Ve>>>0|w>>>0>y>>>0))break}}}if(!(d[h+121329|0]>=r>>>0)){for(;(0|(h=e[n+4>>2]))==e[n+104>>2]?h=oA(n):(e[n+4>>2]=h+1,h=d[0|h]),d[h+121329|0]<r>>>0;);e[56798]=68,ue=0,M=-1,y=-1}}(0|(r=e[n+116>>2]))>0|(0|r)>=0&&(e[n+4>>2]=e[n+4>>2]-1),M=(r=M^ue)-ue|0,y=((h=ue>>31)^y)-((r>>>0<ue>>>0)+h|0)|0}else e[56798]=28;if(oe=ht+16|0,r=e[n+4>>2]-e[n+44>>2]|0,e[n+120>>2]==(0-r|0)&e[n+124>>2]==(0-((r>>31)+!!(0|r)|0)|0))break c;if(!(!P|(0|$e)!=112)){e[P>>2]=M;break i}s0(P,it,M,y);break i}if(!P)break i;h=e[i+16>>2],r=e[i+20>>2],m=e[i+8>>2],R=e[i+12>>2];b:switch(0|it){case 0:oe=y=oe-32|0;m:if(0|(w=(M=2147483647&r)-1065418752|0)>>>0<(be=M-1082064896|0)>>>0){if(M=(33554431&r)<<7|h>>>25,be=w=0,!(!w&(0|(h&=33554431))==16777216?!(m|R):!w&h>>>0<16777216)){w=M+1073741825|0;break m}if(w=M+1073741824|0,16777216^h|m|R|be)break m;w=(1&M)+w|0}else(!h&(0|M)==2147418112?!(m|R):M>>>0<2147418112)?(w=2139095040,M>>>0>1082064895||(w=0,(M=M>>>16|0)>>>0<16145||(ea(y+16|0,m,R,h,w=65535&r|65536,M-16129|0),Da(y,m,R,h,w,16257-M|0),h=e[y+8>>2],w=(33554431&e[y+12>>2])<<7|h>>>25,M=e[y>>2]|!!(e[y+16>>2]|e[y+24>>2]|e[y+20>>2]|e[y+28>>2]),R=e[y+4>>2],(!(m=0)&(0|(h&=33554431))==16777216?!(M|R):!m&h>>>0<16777216)?16777216^h|M|m|R||(w=(1&w)+w|0):w=w+1|0))):w=4194303&((33554431&r)<<7|h>>>25)|2143289344;oe=y+32|0,e[P>>2]=-2147483648&r|w;break i;case 1:S[P>>3]=Pa(m,R,h,r);break i;case 2:break b;default:break i}e[P>>2]=m,e[P+4>>2]=R,e[P+8>>2]=h,e[P+12>>2]=r;break i}m=(ht=(0|$e)!=99)?31:h+1|0;h:if((0|it)!=1){if(R){if(h=0,!(r=aA(m)))break o;for(;;){for(t=r;;){if((0|(r=e[n+4>>2]))==e[n+104>>2]?r=oA(n):(e[n+4>>2]=r+1,r=d[0|r]),!d[33+(r+i|0)|0]){m=0,ee=t;break h}if(g[t+h|0]=r,(0|m)==(0|(h=h+1|0)))break}if(w=1,!(r=ds(t,m=m<<1|1)))break}ee=t,t=0;break a}if(h=0,P)for(;;){if((0|(t=e[n+4>>2]))==e[n+104>>2]?t=oA(n):(e[n+4>>2]=t+1,t=d[0|t]),!d[33+(t+i|0)|0]){m=0,ee=t=P;break h}g[h+P|0]=t,h=h+1|0}for(;(0|(t=e[n+4>>2]))==e[n+104>>2]?t=oA(n):(e[n+4>>2]=t+1,t=d[0|t]),d[33+(t+i|0)|0];);t=0,ee=0,m=0}else{if(r=P,R&&!(r=aA(m<<2)))break o;for(e[i+296>>2]=0,e[i+300>>2]=0,h=0;;){t=r;b:{for(;;){if((0|(r=e[n+4>>2]))==e[n+104>>2]?r=oA(n):(e[n+4>>2]=r+1,r=d[0|r]),!d[33+(r+i|0)|0])break b;g[i+27|0]=r,M=i+28|0,r=e[(w=(r=i+296|0)||228604)>>2];m:{C:{p:{x:{if(!(ee=i+27|0)){if(r)break x;r=0;break m}if(!r){if((0|(y=(r=d[0|ee])<<24>>24))>=0){M&&(e[M>>2]=r),r=!!(0|y);break m}if(!e[e[56841]>>2]){if(r=1,!M)break p;e[M>>2]=57343&y,r=1;break m}if((r=r-194|0)>>>0>50)break x;r=e[124752+(r<<2)>>2];break C}if(ue=1,!(((it=(y=d[0|ee])>>>3|0)-16|(r>>26)+it)>>>0>7))for(;;){if(ue=ue-1|0,(0|(r=y-128|r<<6))>=0){e[w>>2]=0,M&&(e[M>>2]=r),r=1-ue|0;break m}if(!ue)break C;if((192&(y=d[0|(ee=ee+1|0)]))!=128)break}}e[w>>2]=0,e[56798]=25,r=-1}break m}e[w>>2]=r,r=-2}if((0|r)!=-2){if(ee=0,(0|r)==-1)break n;if(t&&(e[(h<<2)+t>>2]=e[i+28>>2],h=h+1|0),!(!R|(0|h)!=(0|m)))break}}if(w=1,r=ds(t,(m=m<<1|1)<<2))continue;break a}break}if(ee=0,m=t,i+296|0&&e[i+296>>2])break n}if(r=e[n+4>>2],(0|(M=e[n+116>>2]))>0|(0|M)>=0&&(r=r-1|0,e[n+4>>2]=r),r=(M=r-e[n+44>>2]|0)+e[n+120>>2]|0,y=e[n+124>>2]+(M>>31)|0,!((y=r>>>0<M>>>0?y+1|0:y)|r)|!(ht|(0|r)==(0|be)&(0|y)==(0|Ve)))break f;R&&(e[P>>2]=t),(0|$e)!=99&&(m&&(e[(h<<2)+m>>2]=0),ee?g[h+ee|0]=0:ee=0),t=m}h=r=e[n+4>>2]-e[n+44>>2]|0,w=_e+e[n+124>>2]|0,_e=(m=r>>31)+((r=ae+e[n+120>>2]|0)>>>0<ae>>>0?w+1|0:w)|0,_e=(ae=r+h|0)>>>0<r>>>0?_e+1|0:_e,Pt=!!(0|P)+Pt|0}if(h=A+1|0,A=d[A+1|0])continue;break e}break}t=m;break c}w=1,ee=0,t=0;break a}w=R;break t}w=R}if(Pt)break t}Pt=-1}w&&(EA(ee),EA(t))}return oe=i+304|0,oe=n+144|0,oe=l+16|0,Pt}function aA(t){var A,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=A=oe-16|0;e:{t:{r:{a:{n:{c:{o:{f:{l:{if((t|=0)>>>0<=244){if(3&(r=(m=e[57152])>>>(n=(w=t>>>0<11?16:t+11&-8)>>>3|0)|0)){r=228648+(t=(n=n+(1&~r)|0)<<3)|0,i=e[t+228656>>2],(0|r)!=(0|(t=e[i+8>>2]))?(e[t+12>>2]=r,e[r+8>>2]=t):e[57152]=Ks(-2,n)&m,t=i+8|0,r=n<<3,e[i+4>>2]=3|r,e[4+(r=r+i|0)>>2]=1|e[r+4>>2];break e}if((P=e[57154])>>>0>=w>>>0)break l;if(r){r=228648+(t=(i=vo(0-(t=(0-(t=2<<n)|t)&r<<n)&t))<<3)|0,l=e[t+228656>>2],(0|r)!=(0|(t=e[l+8>>2]))?(e[t+12>>2]=r,e[r+8>>2]=t):(m=Ks(-2,i)&m,e[57152]=m),e[l+4>>2]=3|w,i=(t=i<<3)-w|0,e[4+(n=l+w|0)>>2]=1|i,e[t+l>>2]=i,P&&(r=228648+(-8&P)|0,h=e[57157],(t=1<<(P>>>3))&m?t=e[r+8>>2]:(e[57152]=t|m,t=r),e[r+8>>2]=h,e[t+12>>2]=h,e[h+12>>2]=r,e[h+8>>2]=t),t=l+8|0,e[57157]=n,e[57154]=i;break e}if(!(y=e[57153]))break l;for(n=e[228912+(vo(0-y&y)<<2)>>2],h=(-8&e[n+4>>2])-w|0,r=n;(t=e[r+16>>2])||(t=e[r+20>>2]);)h=(i=(r=(-8&e[t+4>>2])-w|0)>>>0<h>>>0)?r:h,n=i?t:n,r=t;if(M=e[n+24>>2],(0|(i=e[n+12>>2]))!=(0|n)){t=e[n+8>>2],e[t+12>>2]=i,e[i+8>>2]=t;break t}if(!(t=e[(r=n+20|0)>>2])){if(!(t=e[n+16>>2]))break f;r=n+16|0}for(;l=r,i=t,(t=e[(r=t+20|0)>>2])||(r=i+16|0,t=e[i+16>>2]););e[l>>2]=0;break t}if(w=-1,!(t>>>0>4294967231)&&(w=-8&(t=t+11|0),y=e[57153])){h=0-w|0,m=0,w>>>0<256||(m=31,w>>>0>16777215||(m=62+((w>>>38-(t=ce(t>>>8|0))&1)-(t<<1)|0)|0));i:{h:{if(r=e[228912+(m<<2)>>2])for(t=0,n=w<<((0|m)!=31?25-(m>>>1|0):0);;){if(!((l=(-8&e[r+4>>2])-w|0)>>>0>=h>>>0||(i=r,h=l,l))){h=0,t=r;break h}if(l=e[r+20>>2],r=e[16+((n>>>29&4)+r|0)>>2],t=l?(0|l)==(0|r)?t:l:t,n<<=1,!r)break}else t=0;if(!(t|i)){if(i=0,!(t=(0-(t=2<<m)|t)&y))break l;t=e[228912+(vo(t&0-t)<<2)>>2]}if(!t)break i}for(;h=(n=(r=(-8&e[t+4>>2])-w|0)>>>0<h>>>0)?r:h,i=n?t:i,t=(r=e[t+16>>2])||e[t+20>>2];);}if(!(!i|e[57154]-w>>>0<=h>>>0)){if(m=e[i+24>>2],(0|i)!=(0|(n=e[i+12>>2]))){t=e[i+8>>2],e[t+12>>2]=n,e[n+8>>2]=t;break r}if(!(t=e[(r=i+20|0)>>2])){if(!(t=e[i+16>>2]))break o;r=i+16|0}for(;l=r,n=t,(t=e[(r=t+20|0)>>2])||(r=n+16|0,t=e[n+16>>2]););e[l>>2]=0;break r}}}if((t=e[57154])>>>0>=w>>>0){i=e[57157],(r=t-w|0)>>>0>=16?(e[4+(n=i+w|0)>>2]=1|r,e[t+i>>2]=r,e[i+4>>2]=3|w):(e[i+4>>2]=3|t,e[4+(t=t+i|0)>>2]=1|e[t+4>>2],n=0,r=0),e[57154]=r,e[57157]=n,t=i+8|0;break e}if((M=e[57155])>>>0>w>>>0){r=M-w|0,e[57155]=r,t=(n=e[57158])+w|0,e[57158]=t,e[t+4>>2]=1|r,e[n+4>>2]=3|w,t=n+8|0;break e}if(t=0,y=w+47|0,e[57270]?n=e[57272]:(e[57273]=-1,e[57274]=-1,e[57271]=4096,e[57272]=4096,e[57270]=A+12&-16^1431655768,e[57275]=0,e[57263]=0,n=4096),(r=(l=y+n|0)&(h=0-n|0))>>>0<=w>>>0||(i=e[57262])&&i>>>0<(m=(n=e[57260])+r|0)>>>0|n>>>0>=m>>>0)break e;l:{if(!(4&d[229052])){i:{h:{b:{m:{if(i=e[57158])for(t=229056;;){if((n=e[t>>2])>>>0<=i>>>0&i>>>0<n+e[t+4>>2]>>>0)break m;if(!(t=e[t+8>>2]))break}if((0|(n=za(0)))==-1||(m=r,(t=(i=e[57271])-1|0)&n&&(m=(r-n|0)+(t+n&0-i)|0),m>>>0<=w>>>0)||(i=e[57262])&&i>>>0<(h=(t=e[57260])+m|0)>>>0|t>>>0>=h>>>0)break i;if((0|n)!=(0|(t=za(m))))break b;break l}if((0|(n=za(m=h&l-M)))==(e[t>>2]+e[t+4>>2]|0))break h;t=n}if((0|t)==-1)break i;if(w+48>>>0<=m>>>0){n=t;break l}if((0|za(n=(n=e[57272])+(y-m|0)&0-n))==-1)break i;m=n+m|0,n=t;break l}if((0|n)!=-1)break l}e[57263]=4|e[57263]}if((0|(n=za(r)))==-1|(0|(t=za(0)))==-1|t>>>0<=n>>>0||(m=t-n|0)>>>0<=w+40>>>0)break a}t=e[57260]+m|0,e[57260]=t,t>>>0>re[57261]&&(e[57261]=t);l:{if(l=e[57158]){for(t=229056;;){if(((i=e[t>>2])+(r=e[t+4>>2])|0)==(0|n))break l;if(!(t=e[t+8>>2]))break}break c}for((t=e[57156])>>>0<=n>>>0&&t||(e[57156]=n),t=0,e[57265]=m,e[57264]=n,e[57160]=-1,e[57161]=e[57270],e[57267]=0;r=228648+(i=t<<3)|0,e[i+228656>>2]=r,e[i+228660>>2]=r,(0|(t=t+1|0))!=32;);r=(i=m-40|0)-(t=n+8&7?-8-n&7:0)|0,e[57155]=r,t=t+n|0,e[57158]=t,e[t+4>>2]=1|r,e[4+(n+i|0)>>2]=40,e[57159]=e[57274];break n}if(8&d[t+12|0]|i>>>0>l>>>0|n>>>0<=l>>>0)break c;e[t+4>>2]=r+m,n=(t=l+8&7?-8-l&7:0)+l|0,e[57158]=n,t=(r=e[57155]+m|0)-t|0,e[57155]=t,e[n+4>>2]=1|t,e[4+(r+l|0)>>2]=40,e[57159]=e[57274];break n}i=0;break t}n=0;break r}re[57156]>n>>>0&&(e[57156]=n),r=n+m|0,t=229056;c:{o:{f:{l:{i:{h:{for(;;){if((0|r)!=e[t>>2]){if(t=e[t+8>>2])continue;break h}break}if(!(8&d[t+12|0]))break i}for(t=229056;;){if((r=e[t>>2])>>>0<=l>>>0&&(h=r+e[t+4>>2]|0)>>>0>l>>>0)break l;t=e[t+8>>2]}}if(e[t>>2]=n,e[t+4>>2]=e[t+4>>2]+m,e[4+(y=(n+8&7?-8-n&7:0)+n|0)>>2]=3|w,t=(m=r+(r+8&7?-8-r&7:0)|0)-(M=w+y|0)|0,(0|l)==(0|m)){e[57158]=M,t=e[57155]+t|0,e[57155]=t,e[M+4>>2]=1|t;break o}if(e[57157]==(0|m)){e[57157]=M,t=e[57154]+t|0,e[57154]=t,e[M+4>>2]=1|t,e[t+M>>2]=t;break o}if((3&(h=e[m+4>>2]))==1){l=-8&h;i:if(h>>>0<=255){if(i=e[m+8>>2],r=h>>>3|0,(0|(n=e[m+12>>2]))==(0|i)){e[57152]=e[57152]&Ks(-2,r);break i}e[i+12>>2]=n,e[n+8>>2]=i}else{if(w=e[m+24>>2],(0|m)==(0|(n=e[m+12>>2])))if((r=e[(h=m+20|0)>>2])||(r=e[(h=m+16|0)>>2])){for(;i=h,(r=e[(h=(n=r)+20|0)>>2])||(h=n+16|0,r=e[n+16>>2]););e[i>>2]=0}else n=0;else r=e[m+8>>2],e[r+12>>2]=n,e[n+8>>2]=r;if(w){i=e[m+28>>2];h:{if(e[(r=228912+(i<<2)|0)>>2]==(0|m)){if(e[r>>2]=n,n)break h;e[57153]=e[57153]&Ks(-2,i);break i}if(e[w+(e[w+16>>2]==(0|m)?16:20)>>2]=n,!n)break i}e[n+24>>2]=w,(r=e[m+16>>2])&&(e[n+16>>2]=r,e[r+24>>2]=n),(r=e[m+20>>2])&&(e[n+20>>2]=r,e[r+24>>2]=n)}}h=e[4+(m=l+m|0)>>2],t=t+l|0}if(e[m+4>>2]=-2&h,e[M+4>>2]=1|t,e[t+M>>2]=t,t>>>0<=255){r=228648+(-8&t)|0,(n=e[57152])&(t=1<<(t>>>3))?t=e[r+8>>2]:(e[57152]=t|n,t=r),e[r+8>>2]=M,e[t+12>>2]=M,e[M+12>>2]=r,e[M+8>>2]=t;break o}if(h=31,t>>>0<=16777215&&(h=62+((t>>>38-(r=ce(t>>>8|0))&1)-(r<<1)|0)|0),e[M+28>>2]=h,e[M+16>>2]=0,e[M+20>>2]=0,r=228912+(h<<2)|0,(i=e[57153])&(n=1<<h)){for(h=t<<((0|h)!=31?25-(h>>>1|0):0),n=e[r>>2];;){if(r=n,(-8&e[n+4>>2])==(0|t))break f;if(n=h>>>29|0,h<<=1,!(n=e[16+(i=(4&n)+r|0)>>2]))break}e[i+16>>2]=M}else e[57153]=n|i,e[r>>2]=M;e[M+24>>2]=r,e[M+12>>2]=M,e[M+8>>2]=M;break o}for(r=(i=m-40|0)-(t=n+8&7?-8-n&7:0)|0,e[57155]=r,t=t+n|0,e[57158]=t,e[t+4>>2]=1|r,e[4+(n+i|0)>>2]=40,e[57159]=e[57274],e[(i=(t=(h+(h-39&7?39-h&7:0)|0)-47|0)>>>0<l+16>>>0?l:t)+4>>2]=27,t=e[57267],e[i+16>>2]=e[57266],e[i+20>>2]=t,t=e[57265],e[i+8>>2]=e[57264],e[i+12>>2]=t,e[57266]=i+8,e[57265]=m,e[57264]=n,e[57267]=0,t=i+24|0;e[t+4>>2]=7,r=t+8|0,t=t+4|0,r>>>0<h>>>0;);if((0|i)==(0|l))break n;if(e[i+4>>2]=-2&e[i+4>>2],h=i-l|0,e[l+4>>2]=1|h,e[i>>2]=h,h>>>0<=255){r=228648+(-8&h)|0,(n=e[57152])&(t=1<<(h>>>3))?t=e[r+8>>2]:(e[57152]=t|n,t=r),e[r+8>>2]=l,e[t+12>>2]=l,e[l+12>>2]=r,e[l+8>>2]=t;break n}if(t=31,h>>>0<=16777215&&(t=62+((h>>>38-(t=ce(h>>>8|0))&1)-(t<<1)|0)|0),e[l+28>>2]=t,e[l+16>>2]=0,e[l+20>>2]=0,r=228912+(t<<2)|0,(i=e[57153])&(n=1<<t)){for(t=h<<((0|t)!=31?25-(t>>>1|0):0),i=e[r>>2];;){if((0|h)==(-8&e[(r=i)+4>>2]))break c;if(n=t>>>29|0,t<<=1,!(i=e[16+(n=(4&n)+r|0)>>2]))break}e[n+16>>2]=l}else e[57153]=n|i,e[r>>2]=l;e[l+24>>2]=r,e[l+12>>2]=l,e[l+8>>2]=l;break n}t=e[r+8>>2],e[t+12>>2]=M,e[r+8>>2]=M,e[M+24>>2]=0,e[M+12>>2]=r,e[M+8>>2]=t}t=y+8|0;break e}t=e[r+8>>2],e[t+12>>2]=l,e[r+8>>2]=l,e[l+24>>2]=0,e[l+12>>2]=r,e[l+8>>2]=t}if(!((t=e[57155])>>>0<=w>>>0)){r=t-w|0,e[57155]=r,t=(n=e[57158])+w|0,e[57158]=t,e[t+4>>2]=1|r,e[n+4>>2]=3|w,t=n+8|0;break e}}e[56798]=48,t=0;break e}r:if(m){r=e[i+28>>2];a:{if(e[(t=228912+(r<<2)|0)>>2]==(0|i)){if(e[t>>2]=n,n)break a;y=Ks(-2,r)&y,e[57153]=y;break r}if(e[m+(e[m+16>>2]==(0|i)?16:20)>>2]=n,!n)break r}e[n+24>>2]=m,(t=e[i+16>>2])&&(e[n+16>>2]=t,e[t+24>>2]=n),(t=e[i+20>>2])&&(e[n+20>>2]=t,e[t+24>>2]=n)}r:if(h>>>0<=15)t=h+w|0,e[i+4>>2]=3|t,e[4+(t=t+i|0)>>2]=1|e[t+4>>2];else if(e[i+4>>2]=3|w,e[4+(l=i+w|0)>>2]=1|h,e[l+h>>2]=h,h>>>0<=255)r=228648+(-8&h)|0,(n=e[57152])&(t=1<<(h>>>3))?t=e[r+8>>2]:(e[57152]=t|n,t=r),e[r+8>>2]=l,e[t+12>>2]=l,e[l+12>>2]=r,e[l+8>>2]=t;else{t=31,h>>>0<=16777215&&(t=62+((h>>>38-(t=ce(h>>>8|0))&1)-(t<<1)|0)|0),e[l+28>>2]=t,e[l+16>>2]=0,e[l+20>>2]=0,r=228912+(t<<2)|0;a:{if((n=1<<t)&y){for(t=h<<((0|t)!=31?25-(t>>>1|0):0),w=e[r>>2];;){if((-8&e[(r=w)+4>>2])==(0|h))break a;if(n=t>>>29|0,t<<=1,!(w=e[16+(n=(4&n)+r|0)>>2]))break}e[n+16>>2]=l}else e[57153]=n|y,e[r>>2]=l;e[l+24>>2]=r,e[l+12>>2]=l,e[l+8>>2]=l;break r}t=e[r+8>>2],e[t+12>>2]=l,e[r+8>>2]=l,e[l+24>>2]=0,e[l+12>>2]=r,e[l+8>>2]=t}t=i+8|0;break e}t:if(M){r=e[n+28>>2];r:{if(e[(t=228912+(r<<2)|0)>>2]==(0|n)){if(e[t>>2]=i,i)break r;e[57153]=Ks(-2,r)&y;break t}if(e[M+(e[M+16>>2]==(0|n)?16:20)>>
28102]=i,!i)break t}e[i+24>>2]=M,(t=e[n+16>>2])&&(e[i+16>>2]=t,e[t+24>>2]=i),(t=e[n+20>>2])&&(e[i+20>>2]=t,e[t+24>>2]=i)}h>>>0<=15?(t=h+w|0,e[n+4>>2]=3|t,e[4+(t=t+n|0)>>2]=1|e[t+4>>2]):(e[n+4>>2]=3|w,e[4+(i=n+w|0)>>2]=1|h,e[i+h>>2]=h,P&&(r=228648+(-8&P)|0,l=e[57157],(t=1<<(P>>>3))&m?t=e[r+8>>2]:(e[57152]=t|m,t=r),e[r+8>>2]=l,e[t+12>>2]=l,e[l+12>>2]=r,e[l+8>>2]=t),e[57157]=i,e[57154]=h),t=n+8|0}return oe=A+16|0,0|t}function bA(t,A,r,n,i){var l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0;oe=l=oe-544|0,IA(l+320|0,0,100),IA(l+208|0,0,100),M=r?e[r>>2]:M,ae=e[t+12>>2],y=e[36115];e:{t:{r:{a:{for(;;){if(h=(0|(h=d[A+m|0]))>=(0|y)?13:h,g[l+m|0]=h,!h){h=m;break a}if(w=(0|y)<=(0|(w=d[(h=1|m)+A|0]))?13:w,g[h+l|0]=w,!w)break a;if((0|(m=m+2|0))==200)break}m=198,be=d[l+199|0];break r}if(!h)break t;be=d[l+(m=h-1|0)|0],(0|h)!=1&&(m=h-2|0)}if(it=8&M,e[l+536>>2]=(it>>>3|0?3:7)&M,M=d[l+m|0],y=1,R=(0|(P=$a(t,l,l+432|0,l+540|0,l+536|0,1)))>=0?P:0,Ve=d[0|l])for(m=l,h=Ve;h=e[144464+((255&h)<<2)>>2],d[h+11|0]==2&&(1048576&(h=e[h+4>>2])||(w=(2097152&h)>>>21|0,w|=h=d[e[144464+(d[0|(ee=m+1|0)]<<2)>>2]+10|0]==12,g[(l+208|0)+y|0]=w,ue=e[144464+(d[(h?2:1)+m|0]<<2)>>2],w=d[ue+11|0]-10>>>0<4294967289|!(32&d[ue+6|0])&d[e[144464+(d[(h?3:2)+m|0]<<2)>>2]+11|0]==2?w:w?2:1,m=h?ee:m,g[(l+320|0)+y|0]=w,y=y+1|0)),h=d[0|(m=m+1|0)];);m=r=r?R:P;r:{a:{n:{c:{o:{f:{l:{i:{h:{b:{m:{C:switch(e[t+8>>2]-1|0){case 11:if((0|(r=e[l+540>>2]))<2)break h;if(m=1,R=1&(h=r-1|0),(0|r)!=2)break m;y=0;break b;case 8:if((0|(h=e[l+540>>2]))<2)break a;if(y=3&(w=h-1|0),m=1,h-2>>>0>=3)for(R=-4&w,w=0;M=g[0|(h=(l+432|0)+m|0)],g[0|h]=(0|M)<0?4:M,M=g[h+1|0],g[h+1|0]=(0|M)<0?4:M,M=g[h+2|0],g[h+2|0]=(0|M)<0?4:M,M=h,h=g[h+3|0],g[M+3|0]=(0|h)<0?4:h,m=m+4|0,(0|R)!=(0|(w=w+4|0)););if(!y)break a;for(h=0;w=g[0|(M=(l+432|0)+m|0)],g[0|M]=(0|w)<0?4:w,m=m+1|0,(0|y)!=(0|(h=h+1|0)););break a;case 7:if(!d[l+322|0]|g[l+321|0]>0)break a;case 0:if(e[l+536>>2]|e[l+540>>2]<3)break a;if(e[l+536>>2]=2,m=4,r)break r;g[l+434|0]=4;break r;case 1:if(e[l+536>>2])break r;p:{x:{if((0|(y=e[l+540>>2]))>=3){r=y-2|0,e[l+536>>2]=r,m=r;w:if(512&ae&&(h=e[144464+(be<<2)>>2],(0|(w=d[h+11|0]))!=2)){m=e[h>>2],h=l;B:{F:{if((0|(R=e[t+212>>2]))!=26977){if((0|R)!=24942)break F;switch(m-110|0){case 0:case 5:if(m=r,d[e[144464+(M<<2)>>2]+11|0]==2)break w}m=y-1|0;break B}if((0|m)==115&&(m=r,d[e[144464+(M<<2)>>2]+11|0]==2))break w;m=y-1|0;break B}F:{Y:{if((0|m)==115){if(m=r,(0|(w=d[e[144464+(M<<2)>>2]+11|0]))!=8)break Y;break w}if((0|w)!=8)break F;w=d[e[144464+(M<<2)>>2]+11|0]}if(m=r,(255&w)==2)break w}m=y-1|0}e[h+536>>2]=m}if(524288&ae&&(g[(h=y-1|0)+(y=l+208|0)|0]<=g[r+y|0]||(e[l+536>>2]=h,m=h)),d[(l+432|0)+m|0]>1){h=m;break p}if(h=2,r=m-1|0,m>>>0>=2)break x;e[l+536>>2]=m+1;break p}r=1}h=r,e[l+536>>2]=h}if(m=4,g[0|(r=(l+432|0)+h|0)]>=0||g[(h=(l+432|0)+h|0)-1|0]>=4&g[h+1|0]>3)break r;g[0|r]=4;break r;case 2:if(e[l+536>>2])break r;for(r=(m=e[l+540>>2])-1|0,r&=r>>31;;){if((0|(m=m-1|0))<=0)break n;if(!(g[0|(h=(l+432|0)+m|0)]>=0))break}e[l+536>>2]=m,m=4,g[0|h]=4;break r;case 3:if(e[l+536>>2])break a;if(h=(0|(m=e[l+540>>2]-3|0))<=1?1:m,e[l+536>>2]=h,m=4,r)break r;g[h+(l+432|0)|0]=4;break r;case 4:if(e[l+536>>2])break r;if(h=(r=e[l+540>>2])-3|0,e[l+536>>2]=h,(0|r)<=15){p:{switch(d[e[144464+(be<<2)>>2]+11|0]-2|0){case 0:h=g[r+94176|0];break p;case 2:h=g[r+94192|0];break p}h=g[r+94160|0]}e[l+536>>2]=h}m=4,g[(l+432|0)+h|0]=4;break r;case 5:if(e[l+536>>2])break r;if(y=-1,w=0,!((0|(r=(h=e[l+540>>2])-1|0))<2)){if(m=1,ee=1&h,(0|h)!=3)for(ue=(-2&h)-4|0,h=0;g[(l+432|0)+m|0]<0&&(w=(M=(0|(R=g[(l+320|0)+m|0]))<(0|y))?w:m,y=M?y:R),g[(M=m+1|0)+(l+432|0)|0]<0&&(w=(R=(0|($e=g[M+(l+320|0)|0]))<(0|y))?w:M,y=R?y:$e),m=m+2|0,M=(0|h)!=(0|ue),h=h+2|0,M;);!ee|g[(l+432|0)+m|0]>=0||(y=(h=(0|(M=g[(l+320|0)+m|0]))<(0|y))?y:M,w=h?w:m)}e[l+536>>2]=w,d[r+(l+320|0)|0]!=2|(0|y)>1?(0|y)>0||(w=1,e[l+536>>2]=1):(e[l+536>>2]=r,w=r),m=4,g[(l+432|0)+w|0]=4;break r;case 14:break c;case 12:break o;case 6:break C;default:break r}if(e[l+536>>2])break r;y=(r=e[l+540>>2])-1|0,e[l+536>>2]=y;C:if(!((0|r)<2))for(m=1;;){if(d[(l+432|0)+m|0]==1){y=m-1|0,e[l+536>>2]=y;break C}if((0|r)==(0|(m=m+1|0)))break}m=4,g[(l+432|0)+y|0]=4;break r}for(ee=-2&h,y=0,w=0;h=d[0|(ue=(M=l+432|0)+m|0)],_e=ue,$e=g[(ue=l+208|0)+m|0]>0,g[0|_e]=$e||(0|h)==4?3:h,ht=(0|(M=d[0|(_e=(h=m+1|0)+M|0)]))==4?3:M,M=g[h+ue|0]>0,g[0|_e]=M?3:ht,y=M?h:$e?m:y,m=m+2|0,(0|ee)!=(0|(w=w+2|0)););}if(R&&(M=(0|(h=d[0|(w=(l+432|0)+m|0)]))==4?3:h,h=g[(l+208|0)+m|0]>0,g[0|w]=h?3:M,y=h?m:y),h=e[l+536>>2])break f;if((0|y)>0){e[l+536>>2]=y,h=y;break f}if((0|r)<6)break i;h=r-3|0;break l}if(h=e[l+536>>2])break f}h=r-1|0}e[l+536>>2]=h}m=4,g[(l+432|0)+h|0]=4;break r}if(e[l+536>>2])break r;h=1,e[l+536>>
28102]=1,d[l+209|0]|e[l+540>>2]<3|g[l+210|0]<=0||(h=2,e[l+536>>2]=2),m=4,g[l+432|h]=4;break r}if(e[l+536>>2]||(0|(h=e[l+540>>2]))<3)break a;if(IA(l+432|1,0,h-1|0),e[l+536>>2]=2,r||(g[l+434|0]=4),m=4,h>>>0<4)break r;g[431+(h+l|0)|0]=3;break r}e[l+536>>2]=r,m=4;break r}m=r}!(256&ae)|2&i||(0|(r=e[l+540>>2]))<3|(0|P)>2||d[0|(h=(r=r+(l+432|0)|0)-1|0)]!=4|d[e[144464+(be<<2)>>2]+11|0]!=2||(g[0|h]=1,g[r-2|0]=4);r:{a:{if(it)P=e[l+540>>2];else{if(r=g[l+433|0],!(!(4096&ae)|(0|(P=e[l+540>>2]))!=3)){if((0|r)==4){g[l+434|0]=3;break a}if(d[l+434|0]==4){g[l+433|0]=3;break a}}if(!(!(8192&ae)|(0|r)>=0|(0|P)<4|g[l+434|0]<4)){g[l+433|0]=3;break a}}if(w=0,(0|P)<2)break r}for(y=(0|m)<4?4:3,ue=128&ae,$e=64&ae,_e=32&ae,R=P-1|0,ht=16&ae,yt=!(32768&ae),be=0,M=0,m=1;;){a:{n:if((0|(h=g[0|(ee=(l+432|0)+m|0)]))>=0)w=y;else{w=3;c:{o:if(!(!(!ht|(0|y)>3)&(0|m)==(0|R))){if(!(1&(be|yt)))break c;if(!(g[431+(l+m|0)|0]>1)){if((0|(h=g[(r=m+1|0)+(l+432|0)|0]))>=2){if((0|y)!=4||(w=4,h>>>0>=3))break o}else if(!(!_e|(0|y)!=3)){y=3;break a}if(!$e|m>>>0<2||(w=d[(l+320|0)+m|0]))break c;if((0|R)>(0|(h=m))){for(;;){if(g[(l+320|0)+h|0]>0)break a;if((0|R)==(0|(h=h+1|0)))break}if(w)break c}if(g[r+(l+320|0)|0]<=0)break c;break a}w=y}h=d[0|ee];break n}g[0|ee]=y,be=1,w=3,h=y}n:{if(h<<24>>24>=4){if(r=M||m,!M|!ue)break n;g[0|ee]=3}y=w;break a}y=w,M=r}if(w=1,(0|P)==(0|(m=m+1|0)))break}}if(n=!it|(0|n)>=0?n:e[((0|P)<3?16:20)+t>>2],y=0,h=0,w){if(be=3&(r=P-1|0),w=0,P-2>>>0<3)m=1;else for(it=-4&r,m=1,M=0;h=(r=(0|(h=(ee=(0|(h=(R=(0|(h=(P=(0|(R=g[(r=l+432|0)+m|0]))<(0|h))?h:R))>(0|(ee=g[(ue=m+1|0)+r|0])))?h:ee))>(0|(_e=g[($e=m+2|0)+r|0])))?h:_e))>(0|(ht=g[(_e=m+3|0)+r|0])))?h:ht,y=r?ee?R?P?y:m:ue:$e:_e,m=m+4|0,(0|it)!=(0|(M=M+4|0)););if(be)for(;h=(r=(0|(M=g[(l+432|0)+m|0]))<(0|h))?h:M,y=r?y:m,m=m+1|0,(0|be)!=(0|(w=w+1|0)););}if((0|n)<0?n=h:(0|n)<=(0|h)&(0|h)>4||(g[(l+432|0)+y|0]=n),be=A+197|0,P=1,!(1&i)&&(r=e[144464+(Ve<<2)>>2])){if(h=l,!((0|(w=d[r+11|0]))!=1&(0|Ve)!=15))for(;r=d[0|(h=h+1|0)],(0|(w=d[e[144464+(r<<2)>>2]+11|0]))==1|(0|r)==15;);!(48&(r=e[t+4>>2]))|(0|w)!=2||(g[0|A]=(32&r)>>>5|0&&g[l+433|0]>3?11:23,A=A+1|0)}r:if(!(A>>>0>=be>>>0))for(R=65536&ae,ee=2&ae,it=4&ae,m=l;;){if(!(h=d[0|m]))break r;if(i=m,m=m+1|0,r=e[144464+(h<<2)>>2]){a:{n:{switch(d[r+11|0]){case 0:e[t+8200>>2]=0;break a;case 2:if(!(16&d[r+6|0]))break n}if(d[0|m]!=20)break a}if((0|(Ve=e[l+540>>2]))<(0|P))break e;M=g[0|(ae=(l+432|0)+P|0)],e[t+8200>>2]=M;n:{c:{if(!((0|(r=M))>1)){if(w=Ve-1|0,!(!it|(0|P)<2|(0|n)<2)&&(r=0,(0|w)==(0|P)))break c;if(r=1,!((0|P)==1|ee|(Ve-2|0)==(0|P)&g[w+(l+432|0)|0]<2|(0|w)==(0|P)||g[431+(l+P|0)|0]>=0&&(r=M,R))){r=0,g[0|ae]=0;break c}}if(r&&(0|r)<2)break n}g[0|A]=d[r+94151|0],A=A+1|0,M=g[0|ae]}w=(0|n)>(0|M),d[0|m]==12&&1&(Ve=e[t+28>>2])&&(m=(16&Ve?(0|y)!=(0|P):(0|r)<4)?i+2|0:m),n=w?n:M,P=P+1|0}if((0|h)!=1&&(g[0|A]=h,A=A+1|0),!(A>>>0<be>>>0))break}}g[0|A]=0}return void(oe=l+544|0)}me(86136,86634,1353,94208),W()}function vA(t,A,r,n,i,l,h,m,w){var M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0,Cr=0,Yr=0,Xr=0,ls=0,as=0,xs=0,Ms=0,zs=0,Os=0,ga=0;oe=M=oe-336|0,ee=m,ue=65535&w,ae=n,R=65535&i,it=-2147483648&(i^w);e:{if(!((Ve=w>>>16&32767)-32767>>>0>4294934529&(be=i>>>16&32767)-32767>>>0>=4294934530)){if(!(!n&(0|(y=2147483647&i))==2147418112?!(A|r):y>>>0<2147418112)){_e=n,it=32768|i;break e}if(!(!m&(0|(i=2147483647&w))==2147418112?!(l|h):i>>>0<2147418112)){_e=m,it=32768|w,A=l,r=h;break e}if(!(A|n|2147418112^y|r)){if(!(l|m|2147418112^i|h)){A=0,r=0,it=2147450880;break e}it|=2147418112,A=0,r=0;break e}if(!(l|m|2147418112^i|h)){A=0,r=0;break e}if(!(A|n|r|y)){_e=(A=!(l|m|i|h))?0:_e,it=A?2147450880:it,A=0,r=0;break e}if(!(l|m|i|h)){it|=2147418112,A=0,r=0;break e}(0|y)==65535|y>>>0<65535&&(w=n=!(R|ae),y=n?A:ae,m=n<<=6,ea(M+320|0,A,r,ae,R,(n=n+((0|(w=ce(w?r:R)))==32?ce(y)+32|0:w)|0)-15|0),ht=16-n|0,ae=e[M+328>>2],R=e[M+332>>2],r=e[M+324>>2],A=e[M+320>>2]),i>>>0>65535||(m=n=!(ee|ue),w=n?l:ee,i=n<<=6,ea(M+304|0,l,h,ee,ue,(n=n+((0|(m=ce(m?h:ue)))==32?ce(w)+32|0:m)|0)-15|0),ht=(n+ht|0)-16|0,ee=e[M+312>>2],ue=e[M+316>>2],l=e[M+304>>2],h=e[M+308>>2])}if(gA=i=65536|ue,SA=ee,y=i<<15|(n=ee)>>>17,Ns(M+288|0,n=i=n<<15|h>>>17,m=y,0,0,w=0-n|0,y=1963258675-(y+!!(0|n)|0)|0,0,0),Ns(M+272|0,0-(n=e[M+296>>2])|0,0-(e[M+300>>2]+!!(0|n)|0)|0,0,0,w,y,0,0),Ns(M+256|0,w=(n=e[M+280>>2])<<1|e[M+276>>2]>>>31,n=e[M+284>>2]<<1|n>>>31,0,0,i,m,0,0),Ns(M+240|0,w,n,0,0,0-(y=e[M+264>>2])|0,0-(e[M+268>>2]+!!(0|y)|0)|0,0,0),Ns(M+224|0,y=(w=e[M+248>>2])<<1|e[M+244>>2]>>>31,n=e[M+252>>2]<<1|w>>>31,0,0,i,m,0,0),Ns(M+208|0,y,n,0,0,0-(w=e[M+232>>2])|0,0-(e[M+236>>2]+!!(0|w)|0)|0,0,0),Ns(M+192|0,w=(n=e[M+216>>2])<<1|e[M+212>>2]>>>31,n=e[M+220>>2]<<1|n>>>31,0,0,i,m,0,0),Ns(M+176|0,w,n,0,0,0-(y=e[M+200>>2])|0,0-(e[M+204>>2]+!!(0|y)|0)|0,0,0),Ns(M+160|0,w=i,n=m,0,0,m=(ee=(i=e[M+184>>2])<<1|e[M+180>>2]>>>31)-1|0,i=(e[M+188>>2]<<1|i>>>31)-!ee|0,0,0),Ns(M+144|0,l<<15,h<<15|l>>>17,0,0,n=m,i,0,0),$e=M+112|0,Wt=e[M+168>>2],m=e[M+172>>2],P=(ee=e[M+160>>2])+(w=e[M+152>>2])|0,y=(ue=e[M+164>>2])+e[M+156>>2]|0,w=y=w>>>0>P>>>0?y+1|0:y,y=(y=(0|ue)==(0|y)&P>>>0<ee>>>0|y>>>0<ue>>>0)>>>0>(ue=y+Wt|0)>>>0?m+1|0:m,Ns($e,n,i,0,0,0-(m=(ee=!w&P>>>0>1|!!(0|w))+ue|0)|0,0-(!!(0|m)+(y=ee>>>0>m>>>0?y+1|0:y)|0)|0,0,0),Ns(M+128|0,1-P|0,0-((P>>>0>1)+w|0)|0,0,0,n,i,0,0),ls=(be-Ve|0)+ht|0,$e=i=e[M+116>>2],ee=(n=e[M+112>>2])<<1,be=y=i<<1|n>>>31,n=y,cA=m=e[M+140>>2],n=n+(y=m<<1|(i=e[M+136>>2])>>>31)|0,i=n=(m=(w=i<<1|e[M+132>>2]>>>31)+ee|0)>>>0<w>>>0?n+1|0:n,Pt=n=n-(m>>>0<13927)|0,Wt=n,as=y=65536|R,xs=ae,zs=(n=ae)<<1,Os=y=y<<1|n>>>
vendor: 5,592 bytes, line 2810
281031,qA=y,Cr=n=rr(Pt,P=0,y,0),yt=y=fe,ht=A<<1,Ve=n=r<<1|A>>>31,ue=y=0,Pt=(0|i)==(0|Pt)&(w=m-13927|0)>>>0<m>>>0|i>>>0>Pt>>>0,i=(0|i)==(0|be)&m>>>0<ee>>>0|i>>>0<be>>>0,n=e[M+120>>2],y=m=e[M+124>>2]<<1|n>>>31,y=(n=(P=cA>>>31|0)+(n=n<<1|$e>>>31)|0)>>>0<P>>>0?y+1|0:y,P=(m=n)>>>0>(n=n+i|0)>>>0?y+1|0:y,P=(i=n)>>>0>(n=n+Pt|0)>>>0?P+1|0:P,i=n-1|0,y=rr(Ve,ue,Pt=P-!n|0,be=0),m=fe+yt|0,$e=(0|yt)==(0|(m=(n=y+Cr|0)>>>0<y>>>0?m+1|0:m))&n>>>0<Cr>>>0|m>>>0<yt>>>0,cA=i,i=rr(i,y=0,VA=(Ms=r>>>31|0)|ae<<1,yt=0),y=fe+m|0,P=0,ee=y=i>>>0>(ae=i+n|0)>>>0?y+1|0:y,P=(i=n=(0|y)==(0|m)&n>>>0>ae>>>0|m>>>0>y>>>0)>>>0>(n=n+$e|0)>>>0?1:P,i=rr(qA,ue,Pt,be),y=fe+P|0,$e=n=i+n|0,n=n>>>0<i>>>0?y+1|0:y,i=rr(qA,ue,cA,yt),R=fe,m=i,i=rr(VA,yt,Pt,be),y=fe+R|0,i=y=i>>>0>(P=m+i|0)>>>0?y+1|0:y,n=n+(y=(0|R)==(0|y)&m>>>0>P>>>0|y>>>0<R>>>0)|0,$e=R=$e+i|0,R=n=R>>>0<i>>>0?n+1|0:n,y=P+ee|0,i=y=(n=(i=0)+ae|0)>>>0<i>>>0?y+1|0:y,m=(0|y)==(0|ee)&n>>>0<ae>>>0|y>>>0<ee>>>0,y=R,P=m,Yr=m=m+$e|0,P=y=P>>>0>m>>>0?y+1|0:y,$e=n,R=n,ae=i,Cr=w,n=rr(w,0,VA,yt),m=fe,i=n,w=rr(Wt,_e,Ve,_e),y=fe+m|0,w=(0|m)==(0|(y=(n=n+w|0)>>>0<w>>>0?y+1|0:y))&n>>>0<i>>>0|m>>>0>y>>>0,m=y,i=rr(cA,yt,Xr=-2&ht,0),y=fe+y|0,i=y=i>>>0>(ee=i+n|0)>>>0?y+1|0:y,n=(0|y)==(0|m)&n>>>0>ee>>>0|m>>>0>y>>>0,m=0,n=((w=n+w|0)>>>0<n>>>0?1:m)+ae|0,y=P,w=n=(R=w+R|0)>>>0<w>>>0?n+1|0:n,m=n=(0|n)==(0|ae)&R>>>0<$e>>>0|n>>>0<ae>>>0,ga=n=n+Yr|0,$e=y=m>>>0>n>>>0?y+1|0:y,n=rr(qA,ue,Cr,_e),Yr=fe,qA=n,m=rr(Pt,be,Xr,_e),y=fe+Yr|0,ae=n=n+m|0,P=n+(ue=rr(Wt,_e,VA,yt))|0,n=(m=n>>>0<m>>>0?y+1|0:y)+fe|0,n=P>>>0<ue>>>0?n+1|0:n,be=P,ue=P+(y=rr(Ve,_e,cA,yt))|0,P=fe+n|0,VA=(0|n)==(0|(P=y>>>0>ue>>>0?P+1|0:P))&ue>>>0<be>>>0|n>>>0>P>>>0,y=((n=(n=(n=(0|n)==(0|m)&ae>>>0>be>>>0|n>>>0<m>>>0)+(y=(0|m)==(0|Yr)&ae>>>0<qA>>>0|m>>>0<Yr>>>0)|0)+VA|0)|(cA=0))+w|0,ae=y=(m=P)>>>0>(be=m+R|0)>>>0?y+1|0:y,n=(0|w)==(0|y)&R>>>0>be>>>0|w>>>0>y>>>0,y=$e,m=n,cA=n=n+ga|0,w=y=m>>>0>n>>>0?y+1|0:y,n=rr(Wt,_e,Xr,_e),Wt=fe,R=n,m=rr(Ve,_e,Cr,_e),y=fe+Wt|0,m=(0|(y=(n=n+m|0)>>>0<m>>>0?y+1|0:y))==(0|Wt)&n>>>0<R>>>0|y>>>0<Wt>>>0,R=y,n=y+ee|0,y=(m|($e=0))+i|0,R=(0|i)==(0|(y=n>>>0<R>>>0?y+1|0:y))&n>>>0<ee>>>0|i>>>0>y>>>0,P=(m=y)+(y=ue)|0,y=0,y=((i=n=(0|m)==(0|(P=(ee=(ue=0)+n|0)>>>0<ue>>>0?P+1|0:P))&n>>>0>ee>>>0|m>>>0>P>>>0)>>>0>(n=n+R|0)>>>0?1:y)+ae|0,P=w,i=y=(i=n)>>>0>(n=n+be|0)>>>0?y+1|0:y,w=P=(w=m=(0|ae)==(0|y)&n>>>0<be>>>0|y>>>0<ae>>>0)>>>0>(m=m+cA|0)>>>0?P+1|0:P,(0|P)==131071|P>>>0<131071?(xs=zs|Ms,as=yt|Os,Ns(M+80|0,n,i,m,w,l,h,SA,gA),ue=P=e[M+84>>2],y=A<<17,ae=(r=(ee=0)-(R=e[M+88>>2])|0)-(P=!!(P|(A=e[M+80>>2])))|0,R=(y-(e[M+92>>2]+(R>>>0>ee>>>0)|0)|0)-(r>>>0<P>>>0)|0,ee=0-A|0,ue=0-(!!(0|A)+ue|0)|0,A=ls+16382|0):(Ns(M+96|0,n=(1&i)<<31|n>>>1,i=m<<31|i>>>1,m=(1&w)<<31|m>>>1,w=w>>>1|0,l,h,SA,gA),Ve=ae=e[M+100>>2],ae=(ee=0-(ht=e[M+104>>2])|0)-(R=!!(ae|(P=e[M+96>>2])))|0,R=((A<<16)-(e[M+108>>2]+(ue>>>0<ht>>>0)|0)|0)-(R>>>0>ee>>>0)|0,ee=0-P|0,ue=0-(!!(0|P)+Ve|0)|0,ht=A,Ve=r,A=ls+16383|0),(0|A)>=32767)it|=2147418112,A=0,r=0;else{if((0|A)>0)P=R<<1|ae>>>31,ae=ae<<1|ue>>>31,R=P,ht=m,Ve=65535&w|A<<16,P=ue<<1|ee>>>31,w=ee<<1;else{if((0|A)<=-113){A=0,r=0;break e}Da(M- -64|0,n,i,m,w,1-A|0),ea(M+48|0,ht,Ve,xs,as,A+112|0),Ns(M+32|0,l,h,SA,gA,n=e[M+64>>2],i=e[M+68>>2],ht=e[M+72>>2],Ve=e[M+76>>2]),A=e[M+40>>2],ee=(r=e[M+56>>2])-(ae=A<<1|(P=e[M+36>>2])>>>31)|0,R=e[M+60>>2]-((e[M+44>>2]<<1|A>>>31)+(r>>>0<ae>>>0)|0)|0,y=(A=e[M+32>>2])<<1,ae=ee-(A=(0|(m=P<<1|A>>>31))==(0|(w=e[M+52>>2]))&y>>>0>(r=e[M+48>>2])>>>0|m>>>0>w>>>0)|0,R=R-(A>>>0>ee>>>0)|0,P=w-((r>>>0<y>>>0)+m|0)|0,w=r-y|0}A=w,Ns(M+16|0,l,h,SA,gA,3,0,0,0),Ns(M,l,h,SA,gA,5,0,0,0),m=P+(r=0)|0,m=w>>>0>(A=A+(y=1&n)|0)>>>0?m+1|0:m,w=A,h=(0|h)==(0|m)&A>>>0>l>>>0|h>>>0<m>>>0,P=R,A=(0|r)==(0|m)&A>>>0<y>>>0|r>>>0>m>>>0,y=i,r=y=(r=A=(A=(0|(P=A>>>0>(l=A+ae|0)>>>0?P+1|0:P))==(0|gA))&(0|l)==(0|SA)?h:A&l>>>0>SA>>>0|P>>>0>gA>>>0)>>>0>(A=A+n|0)>>>0?y+1|0:y,n=(0|i)==(0|y)&A>>>0<n>>>0|i>>>0>y>>>0,y=Ve,y=(i=n)>>>0>(n=n+ht|0)>>>0?y+1|0:y,h=n,R=(0|(i=e[M+20>>2]))==(0|m)&re[M+16>>2]<w>>>0|i>>>0<m>>>0,i=e[M+28>>2],i=y>>>0<2147418112&((0|(n=e[M+24>>2]))==(0|l)&(0|i)==(0|P)?R:(0|i)==(0|P)&n>>>0<l>>>0|i>>>0<P>>>0),n=r,y=(r=A=(0|r)==(0|(n=(R=i)>>>0>(i=A+i|0)>>>0?n+1|0:n))&A>>>0>i>>>0|r>>>0>n>>>0)>>>0>(A=A+h|0)>>>0?y+1|0:y,h=A,m=(0|(r=e[M+4>>2]))==(0|m)&re[M>>2]<w>>>0|r>>>0<m>>>0,r=e[M+12>>2],r=P=(r=A=y>>>0<2147418112&((0|(A=e[M+8>>2]))==(0|l)&(0|r)==(0|P)?m:(0|r)==(0|P)&A>>>0<l>>>0|r>>>0<P>>>0))>>>0>(A=A+i|0)>>>0?n+1|0:n,i=(0|n)==(0|P)&A>>>0<i>>>0|n>>>0>P>>>0,n=y,l=i,_e|=i=i+h|0,it|=n=l>>>0>i>>>0?n+1|0:n}}e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=_e,e[t+12>>2]=it,oe=M+336|0}function Gt(t,A,r,n,i){var l,h,m,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0;if(oe=h=oe-80|0,m=e[r+8>>2],!i|!_[r+4>>1]||(e[i+8>>2]=0),l=IA(n,0,152),e[l+44>>2]=d[m+14|0],e[l+40>>2]=d[m+15|0],n=_[m+8>>1]){for(n=e[34459]+(n<<1)|0,_e=256&A,Ve=r+32|0,ht=r-32|0,yt=r- -64|0,Pt=r+96|0,Wt=r+-64|0,cA=r-28|0,gA=1&A,SA=r-24|0,$e=e[30450];;){w=15&(R=(A=_[n>>1])>>>8|0);e:{t:{r:{a:{n:{c:{o:{f:{l:{i:{h:{b:switch(0|(y=A>>>12|0)){case 10:break o;case 9:break f;case 6:break l;case 2:case 3:break i;case 1:break h;case 0:break b;case 11:case 12:case 13:case 14:case 15:break c;default:break n}M=255&A;b:{m:{C:switch(0|w){case 13:if(M)break m;w=n,A=0;break b;case 0:switch(w=n,M-1|0){case 1:break e;case 0:break t}e[h+20>>2]=n0(h+75|0,e[m>>2]),e[h+16>>2]=A,ss($e,85851,h+16|0);break e;case 5:if(d[e[144464+(d[r+34|0]<<2)>>2]+11|0]!=2)break e;e[l+20>>2]=M;break e;case 12:break C;default:break a}e[l+44>>2]=e[l+44>>2]+(A<<24>>31&-256|M);break e}g[l+132|0]=d[n+3|0],w=n+2|0,g[l+133|0]=d[0|w],A=2,M>>>0<3||(g[l+134|0]=d[n+5|0],w=n+4|0,g[l+135|0]=d[0|w],A=4,M>>>
28100<5||(g[l+136|0]=d[n+7|0],w=n+6|0,g[l+137|0]=d[0|w],A=6,M>>>0<7||(g[l+138|0]=d[n+9|0],w=n+8|0,g[l+139|0]=d[0|w],A=8,M>>>0<9||(g[l+140|0]=d[n+11|0],w=n+10|0,g[l+141|0]=d[0|w],A=10,M>>>0<11||(g[l+142|0]=d[n+13|0],w=n+12|0,g[l+143|0]=d[0|w],A=12,M>>>0<13||(g[l+144|0]=d[n+15|0],w=n+14|0,g[l+145|0]=d[0|w],A=14,M>>>0<15||(g[l+146|0]=d[n+17|0],w=n+16|0,g[l+147|0]=d[0|w],A=16)))))))}g[132+(A+l|0)|0]=0,M=ae;break t}if(!t|w>>>0>7||(y=r,d[e[144464+(d[r+2|0]<<2)>>2]+11|0]!=2&&(y=Ve,d[e[144464+(d[r+34|0]<<2)>>2]+11|0]!=2))||!(1&(w=e[t+56>>2]))&&16&d[0|r])break e;M=15&d[y+3|0],M=2&w&&d[y+6|0]<=M>>>0?4:M;h:{b:{m:{C:switch((w=7&R)-3|0){case 1:break b;case 0:break C;default:break m}if(M>>>0>3)break h;break e}if(e[102832+(w<<2)>>2]>(0|M))break h;break e}if(d[y+6|0]>M>>>0)break e}e[l+8>>2]=255&A,M=1;break r}if((57344&A)==8192){for(VA=e[32972],R=1,it=0;;){P=255&A,w=(ee=4095&A)>>>8|0;i:if(ee>>>0<=3583){(0|(M=(w>>>0)%7|0))==6&&(M=_[n+2>>1]),be=0,w=r;h:{b:{m:switch(0|M){case 6:if(y=0,_[r+36>>1]|_[r+68>>1])break i;case 3:w=yt;break b;case 9:if(y=0,_[r+36>>1]|_[r+68>>1])break i;if(w=Pt,!_[r+100>>1])break h;break i;case 7:if(y=0,_[r+36>>1])break i;for(M=1;;){if(d[e[144464+(d[2+(w=(M<<5)+r|0)|0]<<2)>>2]+11|0]==2)break b;if(_[4+(((M=M+1|0)<<5)+r|0)>>1])break}break i;case 5:if(y=0,_[r+4>>1])break i;case 0:be=1,w=ht;break b;case 4:if(y=0,_[r+36>>1])break i;case 2:w=Ve;break b;case 8:if(y=0,!i)break i;if(be=1,e[(w=i)+8>>2])break h;break i;case 10:break m;default:break b}if(y=0,_[r+4>>1]|_[cA>>1])break i;be=1,w=Wt;break h}b:switch(0|M){case 0:case 5:break b;default:break h}w=(d[w+2|0]==1?-32:0)+w|0}if(_e?(M=e[144464+(d[w+2|0]<<2)>>2],e[w+8>>2]=M):M=e[w+8>>2],ee>>>0<=1791){if(y=1,e[e[144464+(P<<2)>>2]>>2]==e[M>>2])break i;if(!(!be|d[M+11|0]!=2)){y=(0|P)==d[M+13|0];break i}y=(0|P)==d[M+12|0];break i}P=31&ee,y=0;h:switch(ee>>>5&7){case 0:y=(0|P)==d[M+11|0];break i;case 1:y=(0|P)==(15&_[M+6>>1]);break i;case 2:y=e[M+4>>2]>>>P&1;break i;case 4:break h;default:break i}h:switch(0|P){case 0:case 1:case 2:case 3:case 4:if(d[e[144464+(d[w+2|0]<<2)>>2]+11|0]!=2){if(d[e[144464+(d[w+34|0]<<2)>>2]+11|0]!=2)break i;w=w+32|0}M=15&d[w+3|0],M=!t|!(2&d[t+56|0])?M:d[w+6|0]<=M>>>0?4:M;b:{switch(P-3|0){case 1:y=d[w+6|0]<=M>>>0;break i;case 0:if(y=1,M>>>0<=3)break b;break i}if(y=1,e[102832+(P<<2)>>2]>(0|M))break i}y=0;break i;case 17:if(!d[M+11|0]){y=1;break i}y=(32&d[r+1|0])>>>5|0;break i;case 18:y=_[w+4>>1]!=0;break i;case 19:if(y=1,_[w+36>>1])break i;y=!d[e[w+40>>2]+11|0];break i;case 9:if(_[w+4>>1])break i;for(;;){if(y=!!(0|(M=12&d[w-29|0])),M)break i;if(_[4+(w=w-32|0)>>1])break}break i;case 10:y=d[M+11|0]!=2;break i;case 11:for(;;){if(y=!!(0|(M=_[w+36>>1])),M)break i;if(M=w,w=w+32|0,d[e[M+40>>2]+11|0]==2)break}break i;case 12:if(y=1,(254&d[M+11|0])==2)break i;y=(16&d[M+4|0])>>>4|0;break i;case 13:for(;y=(d[e[w+8>>2]+11|0]==2)+y|0,M=_[w+4>>1],w=w-32|0,!M;);y=(0|y)==1;break i;case 14:for(;y=(d[e[w+8>>2]+11|0]==2)+y|0,M=_[w+4>>1],w=w-32|0,!M;);y=(0|y)==2;break i;case 16:break h;default:break i}y=(16&d[0|w])>>>4|0}else if(y=0,(0|w)==15){h:switch(P-1|0){case 0:y=gA;break i;case 1:break h;default:break i}y=e[VA+132>>2]!=0}i:if(1970>>>(w=(M=65535&A)>>>12|0)&1)w=g[w+102848|0];else{switch(0|w){case 0:if(w=1,(3840&M)!=3328)break i;w=1+(1+(255&M)>>>1|0)|0;break i;case 6:w=(M>>>9&7)-5>>>0<2?12:1;break i;case 2:case 3:w=(0|(w=3840&M))==3328||(0|w)==1536?2:1;break i}w=4,(M=_[n+4>>1])>>>0>61439||(w=(0|M)==2?3:2)}if(n=((w=_[(n=(w<<1)+n|0)>>1]==3)<<1)+n|0,w^=y,R=it?w|R:w&R,it=4096&A,(57344&(A=_[n>>1]))!=8192)break}if(!(1&R))if((63488&A)!=26624){i:if(1970>>>(w=A>>>12|0)&1)w=g[w+102848|0];else{switch(0|w){case 0:if(w=1,(3840&A)!=3328)break i;w=1+(1+(255&A)>>>1|0)|0;break i;case 6:w=(A>>>9&7)-5>>>0<2?12:1;break i;case 2:case 3:w=(0|(A&=3840))==3328||(0|A)==1536?2:1;break i}w=4,(A=_[n+4>>1])>>>0>61439||(w=(0|A)==2?3:2)}n=(((65024&_[(A=(w<<1)+n|0)>>1])==24576)<<1)+A|0}else n=((255&A)<<1)+n|0}w=n-2|0,M=ae;break t}l:switch(w>>>1|0){case 0:n=(((255&A)<<1)+n|0)-2|0;break e;case 5:e[l>>2]=2|e[l>>2],((A=d[e[r+40>>2]+12|0])-28&255)>>>0<=5&&(w=_[4+(A=((A<<2)+n|0)-112|0)>>1],A=_[A+2>>1],e[l+96>>2]=A>>>4<<24>>24,e[l+76>>2]=(15&A)<<18|w<<2),n=n+24|0;break e;case 6:break l;default:break e}((A=d[e[SA>>2]+13|0])-28&255)>>>0<=5&&(w=_[4+(A=((A<<2)+n|0)-112|0)>>1],A=_[A+2>>1],e[l+100>>2]=A>>>4<<24>>24,e[l+80>>2]=(15&A)<<18|w<<2),n=n+24|0;break e}A=_[(n=n+2|0)>>1]|A<<16&983040;f:switch(w-1|0){case 0:if((0|ue)>9)break e;e[(h+32|0)+(ue<<2)>>2]=n,n=(e[34459]+(A<<1)|0)-2|0,ue=ue+1|0;break e;case 1:e[l+124>>2]=A;break e;case 2:break f;default:break e}e[l+128>>2]=A;break e}e[108+(w=(((0|w)!=1)<<3)+l|0)>>2]=_[n+2>>1]|(255&A)<<16,A=_[n+4>>1]<<16,n=n+6|0,e[w+112>>2]=A|_[n>>1];break e}if(M=_[(w=n+2|0)>>1],ee=A>>>4|0,e[88+(R=((P=y-11|0)<<2)+l|0)>>2]=255&ee,e[R+68>>2]=A<<18&3932160|M<<2,(0|(n=_[n+4>>1]))==2){n=w;break e}if(M=A>>>0<=53247?n>>>0>61439?2:1:ae-((0|P)==4)|0,y-13>>>0>1)break t;e[R+88>>2]=ee<<24>>24;break t}e[h+4>>2]=n0(h+75|0,e[m>>2]),e[h>>2]=A,ss($e,85851,h);break e}e[4+((w<<2)+l|0)>>2]=M,M=_e&&(0|w)==1?1:ae}w=n}(0|M)!=1|(0|ue)<=0?(n=w,ae=M):(n=e[(h+32|0)+((ue=ue-1|0)<<2)>>2],ae=0)}if(n=n+2|0,(0|ae)==1)break}!i|d[r+17|0]!=2||(t=e[r+4>>2],e[i>>2]=e[r>>2],e[i+4>>2]=t,t=e[r+28>>2],e[i+24>>2]=e[r+24>>2],e[i+28>>2]=t,t=e[r+20>>2],e[i+16>>2]=e[r+16>>2],e[i+20>>2]=t,t=e[r+12>>2],e[i+8>>2]=e[r+8>>2],e[i+12>>2]=t),g[r+23|0]=e[l+44>>
28102],(t=e[l+68>>2])?(e[r+24>>2]=t,t=l+88|0):(e[r+24>>2]=e[l+72>>2],t=l+92|0),e[r+28>>2]=e[t>>2]}oe=h+80|0}function mA(t,A,r,n,i,l){var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0;oe=h=oe-848|0;e:if(!(!e[t+104>>2]|8&d[i+2|0]|e[47202]==193)){for(e[n>>2]=0,e[33272]=0,e[33274]=l,g[h+192|0]=0,e[33273]=h+192;y=(l=y)+1|0,g[0|(Ve=A+l|0)]-48>>>0<10;);e[56798]=0,yt=h+188|0,R=-2147483648,oe=_e=oe-16|0;t:if(m=d[0|A]){P=A;r:{for(;;){if(!((0|(m=m<<24>>24))==32|m-9>>>0<5))break r;if(m=d[P+1|0],P=P+1|0,!m)break}break t}r:switch((m=d[0|P])-43|0){case 0:case 2:break r;default:break t}ue=(0|m)==45?-1:0,P=P+1|0}else P=A;for(;m=-48,(((ee=g[0|P])-48&255)>>>0<10||(m=-87,(ee-97&255)>>>0<26||(m=-55,!((ee-65&255)>>>0>25))))&&!((0|(ee=m+ee|0))>=10);)Ns(_e,10,0,0,0,ae,be,0,0),m=1,e[_e+8>>2]|e[_e+12>>2]||(it=rr(ae,be,10,0),(0|(ht=fe))==-1&~ee>>>0<it>>>0||(m=ht,be=(ae=ee+it|0)>>>0<ee>>>0?m+1|0:m,$e=1,m=M)),P=P+1|0,M=m;yt&&(e[yt>>2]=$e?P:A);t:{r:{if(M)e[56798]=68,ae=-2147483648,be=0;else if(!be&ae>>>0<2147483648)break r;if(!ue){e[56798]=68,R=2147483647;break t}if(!(!be&ae>>>0<=2147483648)){e[56798]=68;break t}}R=(ue^ae)-ue|0}if(oe=_e+16|0,ue=R,!(e[56798]|e[h+188>>2]==(0|A))){t:{r:{a:{if(!(!((0|(ee=64&d[t+109|0]?4:3))!=(0|l)|e[t+124>>2]!=g[A-2|0])&g[A-3|0]-48>>>0<10)){n:{if(e[t+124>>2]!=32){if(!(16&d[t+105|0]))break a;if((0|l)==3)break n;break a}if((0|l)!=3)break a}if(4&d[i+2|0]|g[A-2|0]-48>>>0>=10)break a}g[133104]=0,g[h+288|0]=0,Pt=1;break r}if(g[133104]=0,e[33275]=0,g[h+288|0]=0,Wt=1,$e=0,d[0|A]==48)break t}$e=Bs(t,A,Ve,i,0)}d[0|Ve]!=46|g[A+y|0]-48>>>0<10|1&g[i+13|0]|g[Ve+2|0]-48>>>0<10||(g[0|Ve]=0);t:if(!$e||(it=1,e[t+212>>2]==26741)){if(R=h+256|0,e[h+844>>2]=R,w=y,64&d[i+1|0]&&(g[h+256|0]=45,R=h+256|1,e[h+844>>2]=R,w=l+2|0),P=d[A+w|0]){for(;!((255&P)==32|(0|w)>28)&&(m=e[h+844>>2],e[h+844>>2]=m+1,g[0|m]=P,P=d[(w=w+1|0)+A|0]););R=e[h+844>>2]}if(g[0|R]=0,it=1,m=g[h+256|0]){if(!(M=e[t+136>>2])||Zr(h+256|0,M)){if(m-48>>>0<10||(e[h+176>>2]=h+256,uA(m=h+800|0,88653,h+176|0),!kA(t,m,133104)))break t;e[n>>2]=128|e[n>>2],e[h+160>>2]=h+256,uA(m=h+800|0,88773,h+160|0),kA(t,m,133116),it=0}$e=2}}yt=e[i>>2],g[h+352|0]=0,g[h+624|0]=0;t:{r:{a:if(!(!Wt|d[0|A]!=48||(0|(m=g[A+1|0]))==32|(0|m)==e[t+128>>2])){n:{if((0|l)==2){if(d[A+3|0]!=58|g[A+5|0]-48>>>0>=10||!((0|(m=g[A+7|0]))==32|m-9>>>0<5))break n;break a}if((0|l)>3)break r}if(d[0|A]==48&&!((0|(m=l-1|0))<=0))for(w=0;;){if(kA(t,88875,wA(M=h+288|0)+M|0),d[(w=w+1|0)+A|0]!=48)break a;if(!((0|m)>(0|w)))break}}a:{n:{if(!((0|(m=g[0|Ve]))==32&&16&d[t+105|0])){if(ht=2,ae=l+2|0,(0|m)==e[t+124>>2])break n;be=1,R=0,m=0;break a}ht=1,ae=l+2|0}if(4&d[i+14|0])R=1,m=0,be=1;else for(m=0,P=1,w=l,be=1;;){M=m,m=P,P=(_e=w+ht|0)+A|0,w=0;n:{for(;;){if(R=1,!(g[w+P|0]-48>>>0>=10)){if((0|ee)!=(0|(w=w+1|0)))continue;break n}break}m=M;break a}if(g[P+ee|0]-48>>>0<10){m=M;break a}if(w=0,g[P-1|0]-48>>>0<10){m=M;break a}n:{for(;;){if(d[(w+_e|0)+A|0]==48){if((0|ee)!=(0|(w=w+1|0)))continue;break n}break}be=0}if((0|(M=g[(w=ee+_e|0)+A|0]))!=e[t+124>>2]&(!(16&d[t+105|0])|(0|M)!=32))break a;if(ae=w+2|0,4&d[2+(F(P=m+1|0,12)+i|0)|0])break}}w=!ue;a:if(!(!be|!(64&d[1+(F(m,12)+i|0)|0])|e[t+212>>2]!=26741)){n:switch(d[0|(M=A+ae|0)]-97|0){case 0:case 4:break n;default:break a}n:{c:{o:{f:switch((P=d[M+1|0])-116|0){case 6:break a;case 1:case 2:case 3:case 4:case 5:break c;case 0:break f;default:break o}if(d[M+2|0]!=116)break n;break a}if((0|P)==32)break a}if(!(!!((0|ue)%1e3|0)&(0|m)!=1)&&(0|P)==108)break a}e[33274]=1|e[33274]}ae=32768&yt,w&=Pt;a:if(e[t+128>>2]!=g[0|Ve]|g[A+y|0]-48>>>0>=10){n:{if(!w){if(w=0,M=1,!((0|m)>0&R))break n;ue=(y=QA(t,ue,m,be,h+624|0))?0:ue,w=!!(0|y),P=0;break a}w=1,ue=0,e[33275]==1&&(e[h+144>>2]=m+1,uA(y=h+800|0,89026,h+144|0),kA(t,y,h+688|0)||(e[h+128>>2]=m,uA(y=h+800|0,89026,h+128|0),kA(t,y,h+624|0)))}M=1,P=0}else kA(t,88882,h+624|0),M=0,P=256;R=ae?2:$e;a:{if(m|d[h+624|0]|d[0|Ve]!=46){if(m)break a}else kA(t,89192,h+624|0);if(e[h+844>>2]=A,g[A+1|0]-48>>>0<10)for(;y=e[h+844>>2],e[h+844>>2]=y+1,g[y+2|0]-48>>>0<10;);if(g[e[h+844>>2]-1|0]-48>>>0>=10||(e[h+416>>2]=e[h+844>>2]-1,Hr(t,h+416|0,h+192|0,n,4,i)&&(e[33272]=2)),d[h+192|0]|d[e[h+844>>2]]==48||Hr(t,h+844|0,h+192|0,n,4,i)&&(e[33272]=1),Wt){if(!R&M&&(e[h+112>>2]=ue,uA(i=h+800|0,89214,h+112|0),kA(t,i,r)))break t;if(1&g[t+110|0]){for(y=A;(32|d[0|y])!=32;)y=y+1|0;e[h+416>>2]=y,d[y+1|0]==37&&(kA(t,89328,r),i=wA(r),g[e[h+416>>2]+1|0]=32,r=r+i|0)}}}
vendor: 29,464 bytes, line 2810
2810Vs(t,ue,h+416|0,w,m,R|P|Pt),!(2&d[t+109|0])|(0|m)<=0?(e[h+60>>2]=15,e[h- -64>>2]=h+624,e[h+56>>2]=h+416,e[h+52>>2]=h+352,e[h+48>>2]=h+288,uA(r,89415,h+48|0)):(e[h+88>>2]=15,e[h+96>>2]=h+416,e[h+92>>2]=h+352,e[h+84>>2]=h+624,e[h+80>>2]=h+288,uA(r,89346,h+80|0));a:if(!M)for(;;){for(l=l+1|0,M=0;M=(y=M)+1|0,g[(m=l+y|0)+A|0]-48>>>0<10;);i=2;n:{c:{o:{f:{l:{i:switch((M=57344&e[t+104>>2])-8192>>>13|0){case 6:break c;case 2:break o;case 0:case 4:case 5:break f;case 1:break l;case 3:break i;default:break n}i=5}if((0|(M=d[0|(w=A+l|0)]))==48)for(;kA(t,88875,m=h+688|0),gs(r,m),y=y-1|0,(0|(M=d[0|(w=(l=l+1|0)+A|0)]))==48;);if((0|i)<(0|y)|(M<<24>>24)-48>>>0>=10)break n;i=h+688|0,Vs(t,Pn(w),i,0,0,0),gs(r,i),l=l+y|0;break n}if(Vs(t,Pn(i=A+l|0),h+416|0,0,0,0),!((0|M)==8192&d[0|i]!=48)){if(e[h+16>>2]=y,uA(i=h+800|0,89508,h+16|0),!kA(t,i,h+688|0))break n;gs((0|M)==49152?r:h+416|0,h+688|0)}gs(r,h+416|0),l=m;break n}if((0|y)>4||d[0|(i=A+l|0)]==48)break n;Vs(t,l=Pn(i),i=h+688|0,0,0,0),gs(r,i),l=m;break n}if(!((0|y)<=1))for(;;){if(e[h+32>>2]=g[A+l|0],uA(i=h+800|0,89575,h+32|0),!kA(t,i,h+688|0))break n;if(gs(r,h+688|0),l=l+1|0,!((0|(y=y-1|0))>1))break}}n:if(!((M=d[0|(y=A+l|0)])-48>>>0>=10||wA(r)>>>0>=190))for(;;){if(i=h+688|0,Vr(t,g[0|y]-48|0,0,2,i),m=wA(r),e[h>>2]=15,e[h+4>>2]=i,uA(r+m|0,89594,h),(M=d[0|(y=(l=l+1|0)+A|0)])-48>>>0>=10)break n;if(!(wA(r)>>>0<=189))break}if(kA(t,89678,h+688|0)&&gs(r,h+688|0),e[t+128>>2]!=(0|M)|g[1+(A+l|0)|0]-48>>>0>=10)break a;kA(t,88882,i=h+688|0),gs(r,i)}if(!(i=d[0|r])|(0|i)==21||(i=or(h+184|0,A=1+(A+l|0)|0),l=e[h+184>>2],!(2&d[t+106|0])|(0|l)!=32||(or(h+184|0,A+i|0),l=e[h+184>>2]),aa(l)|be||(t=wA(r)+r|0,g[0|t]=11,g[t+1|0]=0)),e[n>>2]=-2147483648|e[n>>2],e[33275]=e[33275]-1,w=1,it)break e;e[33264]=1;break e}e[n>>2]=-129&e[n>>2],w=0;break e}w=1}}return oe=h+848|0,w}function AA(t,A,r,n){var i,l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0;if(oe=i=oe-416|0,$e=_[r+8>>1],ae=d[r+10|0],64&(l=e[r>>2])){for(e[r>>2]=-65&l,g[199388]=1,w=e[47202],R=e[49846],y=e[47352],P=e[47351],M=e[47350];;){h=(m=e[198304+(P<<2)>>2])>>8;e:{t:switch((31&m)-9|0){case 0:w=h;break e;case 4:R=h;break e;case 3:break t;default:break e}y=m>>>0>=256?h+y|0:0}if(!(!(128&m)&(0|M)>(0|(P=P+1|0))))break}e[47352]=y,e[47351]=P,e[49846]=R,e[47202]=w}R=0;e:if(!((0|(h=e[49572]))>997)){if(1048576&l||!d[0|A])d[199388]&&(e[49572]=h+1,g[199388]=0,e[(t=190288+(h<<3)|0)>>2]=983042,e[t+4>>2]=0),g[189088]=0;else if(!((0|h)>990)){(0|(h=e[t+8224>>2]))>0&&(e[t+8224>>2]=h-1),w=512&l?n:n+4|0,y=(240&e[47202])==16,(_e=2&l)&&((0|(m=e[47200]))<3||(0|(h=e[47350]))>243||(d[199388]&&(e[(P=198300+(h<<2)|0)>>2]=-129&e[P>>2]),e[47350]=h+1,g[199388]=1,it=(0|m)==3?20:m,e[198304+(h<<2)>>2]=it<<8|193)),M=y?w:n;t:{r:{if(!(8&l)){for(;n=d[(h=ee)+A|0],g[h+(i+240|0)|0]=n,223&n&&(ee=h+1|0,h>>>0<160););if(g[i+66|0]=0,ee=i- -64|2,R=lA(e[47192],A,r,ee),e[i+412>>2]=R,!(4096&R))break r;$A(A,i+240|0,h);break e}a:if(ra(A,87276,3))Rn(A,189088,i+240|0);else{if(P=0,223&(h=d[0|(ee=A+3|0)]))for(;g[(i+240|0)+P|0]=wr(h<<24>>24),P=P+1|0,223&(h=d[0|(ee=ee+1|0)]););g[(n=i+240|0)+P|0]=0,h=0;n:if(!((0|(r=e[34461]))<=0)){for(;;){if(!Zr(n,F(h,44)+137856|0)){e[34457]=h;break n}if((0|r)==(0|(h=h+1|0)))break}h=r}if((0|(r=(0|r)==(0|h)?-1:h))<=0)break a;Ia(r),g[189090]=0,g[189089]=r,g[189088]=21}R=-2147483648,e[i+412>>2]=-2147483648,n=-1;break t}if(!(!(8388608&R)|8&d[r+12|0])){for(oe=y=oe-208|0,P=e[t+60>>2],m=A;n=m,m=m+1|0,d[0|n]!=32;);or(y+204|0,m);r:if(aa(e[y+204>>2])){w=BA(y,189088),m=(!(256&P)|(be=Ft(t,m,r+12|0,0))>>>15)&!(67108864&be)&d[189088]!=21;a:{n:{if(512&P){if(!(m&!(16&d[r+12|0])))break n;break a}if(m)break a}BA(189088,w);break r}if(g[0|n]=45,e[r>>2]=-2&e[r>>2],R=0,m=189088,ue=Ft(e[47192],A,r,0),e[i+412>>2]=ue,!((0|P)<=0)&&(w=d[189088])){for(;R=(d[e[144464+(w<<2)>>2]+11|0]==2)+R|0,w=d[0|(m=m+1|0)];);if(!((31&P)>=(0|R))){g[0|n]=32,e[i+412>>2]=Ft(e[47192],A,r,0);break r}}e[i+412>>2]=128|(ue||be),e[33264]=1}oe=y+208|0}if(n=-1,d[189088]==21){if(P=BA(i+16|0,132848),y=e[i+412>>2],m=$A(A,i+240|0,h),w=i- -64|1,(0|(n=lo(d[189089]?189089:87315,188772,189296)))<0||(e[r>>2]=4194304|e[r>>2],d[i+66|0]?(v[i+64>>1]=8192,y=Ft(e[47193],w,r,0)):y=lA(e[47193],m,r,ee)),d[189088]==21&&(h=$A(m,i+240|0,h),(0|(n=lo(d[189089]?189089:87315,188772,189296)))<0||(e[r>>2]=4194304|e[r>>2],d[i+66|0]?(v[i+64>>1]=8192,y=Ft(e[47193],w,r,0)):y=lA(e[47193],h,r,ee)),R=4096,d[189088]==21))break e;e[i+412>>2]=y,(0|n)>=0||(g[189090]=0,v[94544]=3341,(0|n)==-1&&(BA(132848,P),Ia(e[e[32972]+60>>2]),n=e[e[32972]+60>>2]))}R=e[i+412>>2],128&l||(M=268435456&R&&(0|M)<=1?1:M,!(256&R)|528&l|e[t+8224>>2]|2&d[r-11|0]||(e[t+8224>>2]=3,M=(0|M)<=4?4:M)),M=(0|M)<=0&&e[49846]>2?1:M}if(r=d[199388],!((0|M)<=0|(0|(ee=e[49572]))>990)){e[49572]=ee+1,m=1&r,r=0,v[(h=190288+(ee<<3)|0)>>1]=m?2:0,g[h+7|0]=0,g[h+3|0]=0,m=M>>>0>1,g[h+2|0]=m?9:11,v[h+4>>1]=0,e[t+8236>>2]=0;t:if(!(!(h=m?M-2|0:0)|(0|(ee=e[49572]))>990))for(w=t+8236|0;;){if(e[49572]=ee+1,v[(m=190288+(ee<<3)|0)>>1]=0,g[m+7|0]=0,g[m+3|0]=0,y=h>>>0>1,g[m+2|0]=y?9:11,v[m+4>>1]=0,e[w>>2]=0,ee=e[49572],(0|(h=y?h-2|0:0))<=0)break t;if(!((0|ee)<991))break}e[t+8228>>2]=0,e[t+8232>>2]=0}g[199388]=1&r,!_e|e[47200]!=1||(e[49572]=ee+2,g[199388]=0,v[(h=190288+(ee<<3)|0)>>1]=1&r?2:0,g[h+7|0]=0,v[h+2>>1]=10,v[h+4>>1]=0,v[h+12>>1]=0,e[h+8>>2]=1179648,g[h+15|0]=0,1&l&&Wr(g[A+1|0])&&(r=d[199388],g[199388]=0,A=e[49572],e[49572]=A+2,v[(A=190288+(A<<3)|0)>>1]=r?2:0,g[A+7|0]=0,v[A+2>>1]=10,v[A+4>>1]=0,v[A+12>>1]=0,e[A+8>>2]=1179648,g[A+15|0]=0)),h=ae>>>0<31;t:if(!((0|n)<0))if(A=e[49572],r=d[190290+((M=A-1|0)<<3)|0],d[189088]!=9|d[189089]!=21)(0|r)!=21&&(m=d[199388],g[199388]=0,g[7+(r=190288+(A<<3)|0)|0]=0,v[r+2>>1]=21,v[r+4>>1]=0,v[r>>1]=m?2:0,M=A),e[49572]=M+1,g[190295+(M<<3)|0]=n;else{if((0|r)!=21)break t;e[49572]=M}A=2047&$e,r=(h?ae:31)<<11,y=(ht=128&l)?d[e[144464+(d[189088]<<2)>>2]+11|0]?189088:189089:189088,(M=d[0|y])|!(1&g[199388])||(M=23,g[0|y]=23,g[y+1|0]=0),yt=A|r,w=e[49572];t:if(M)if((0|w)>994)A=0;else for(cA=((-1610612736&R)==-2147483648)<<4,$e=yt+1|0,gA=t+8233|0,A=0,m=1,be=0,Pt=1,ae=-1,_e=-1,h=0;;){P=y+1|0;r:{if((0|(ue=255&M))!=255){if(r=e[144464+(ue<<2)>>2])break r;e[i>>2]=ue,oe=r=oe-16|0,e[r+12>>2]=i,wa(132552,87474,i),oe=r+16|0,w=e[49572]}if(!(M=d[0|P]))break t;if(y=P,(0|w)<995)continue;break t}r:if((0|(Ve=255&M))!=21)if((0|(y=d[r+11|0]))!=1){switch(r=$e,Ve-12|0){case 8:g[3+(r=190288+((ae=w-1|0)<<3)|0)|0]=m,v[r>>1]=4|_[r>>1],r=h;break r;case 0:v[(r=190280+(w<<3)|0)>>1]=8|_[r>>1],r=h;break r;case 10:R|=16384,e[i+412>>2]=R,r=h;break r;case 3:break r}ue=d[199388],g[199388]=0,g[7+(r=190288+(Ve=w<<3)|0)|0]=0,g[r+2|0]=M,v[r+4>>1]=h,h=(ue?2:0)|cA,v[r>>1]=h,(0|y)==2?((0|m)>=4&&(g[189076]=1),(0|ae)<0||(0|(A=w-1|0))!=(0|ae)&&(g[190291+(A<<3)|0]=m),v[r>>1]=4|h,Wt=(A=(0|m)>(0|_e))?w:Wt,_e=A?m:_e,h=1,be&&(g[r+7|0]=be),ae=w,be=0,A=m):(!Pt|!(64&d[0|gA])||(v[r>>1]=8|h),h=m),w=w+1|0,e[49572]=w,g[Ve+190291|0]=A,r=0,Pt=0,m=h}else{if(!_[r+8>>1]){m=d[r+14|0],r=h;break r}if((0|ae)<0){r=h,be=ue;break r}g[190295+(ae<<3)|0]=M,r=h}else e[(r=190288+(w<<3)|0)>>2]=1376256,v[r+4>>1]=0,g[r+7|0]=d[y+1|0],e[49572]=w+1,Ia(d[y+1|0]),P=y+2|0,w=e[49572],r=h;if(!(M=d[0|P]))break t;if(y=P,h=r,!((0|w)<995))break}else A=0;131072&l&&(r=w+1|0,e[49572]=r,m=d[199388],g[199388]=0,g[7+(h=190288+(w<<3)|0)|0]=0,v[h+2>>1]=27,v[h+4>>1]=0,v[h>>1]=m?2:0,w=r),ht||(v[190292+(ee<<3)>>1]=yt),e[t+8228>>2]=0,d[e[144464+(d[190282+(w<<3)|0]<<2)>>2]+11|0]!=2|(0|A)<4||(e[t+8228>>2]=1),(0|n)>=0&&(BA(132848,i+16|0),Ia(e[e[32972]+60>>2]),r=d[199388],g[199388]=0,n=e[49572],v[(A=190288+(n<<3)|0)>>1]=r?2:0,v[A+2>>1]=21,v[A+4>>1]=0,g[A+7|0]=e[e[32972]+60>>2],w=n+1|0,e[49572]=w),(0|it)>0&&(g[199388]=0,e[49572]=w+1,e[(A=190288+(w<<3)|0)>>2]=655362,r=e[47350],e[47350]=r+1,g[A+7|0]=0,v[A+4>>1]=0,e[198304+(r<<2)>>2]=it<<8|225),1024&R&&(v[(A=190288+(Wt<<3)|0)>>1]=64|_[A>>1]),e[t+8232>>2]=R}}return oe=i+416|0,R}function gr(t,A,r,n,i){var l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0;e:if(A){if(_e=i<<4,h=(A=e[33268])+r|0,!((0|A)<=0||(l=d[0|(w=_e+129360|0)],P=d[w+1|0]-l<<8,P=(0|A)!=1?(0|P)/(0|A)|0:P,(0|r)>=(0|h))))for(R=P>>>0>255,ue=P>>>8|0,l<<=8,w=0-P>>>8|0,it=(0|P)<=0,A=r;it?(M=(y=(y=(0|(m=(0|(m=e[101024+(g[F(A,6)+t|0]<<2)>>2]))<(0|w)?w:m))>=18?18:m)+(m=(0|(m=(0|(l=l+P|0))/256|0))>0?m:0)|0)>>>0>=254?254:y,m=m>>>0>=254?254:m):(m=F(A,6)+t|0,g[m+2|0]=R|d[m+2|0],m=(y=(0|(m=(0|l)/256|0))>0?m:0)>>>0>=254?254:y,M=(y=y+ue|0)>>>0>=254?254:y,l=l+P|0),y=F(A,6)+t|0,g[y+5|0]=m,g[y+4|0]=M,(0|h)!=(0|(A=A+1|0)););if(2&d[188785]?(w=e[33271],e[33270]=w):w=e[33270],ue=(R=d[3+(l=129360+(A=i<<4)|0)|0])-(m=d[l+2|0])<<8,it=e[l+4>>2],(0|r)>0?(yt=101056,Ve=5,y=(0|ue)/(d[A+129368|0]-1|0)|0):(yt=e[12+(A=A+129360|0)>>2],Ve=d[A+10|0],y=0),(0|h)<(0|w)){for(P=(0|r)<=0,be=((A=ue>>31)^ue)-A|0,ee=129360+(i<<4)|0,m<<=8,ht=R<<8,R=0;;){t:{if(M=F(h,6)+t|0,!(!(1&P)&(0|(l=g[0|M]))<4)){r=0,A=h;r:if(1&((0|l)==5|P)){for(;(0|(y=g[F(A,6)+t|0]))<=6&&(r=((0|y)>3)+r|0,(0|w)!=(0|(A=A+1|0))););if(ae=0,(0|($e=(0|(A=d[ee+8|0]))>(0|r)?r:A))<2){y=0,R=m;break r}y=(0|ue)/($e-1|0)|0,R=m}else(0|$e)>0?R=y+R|0:(R=ht+(F(be,g[ae+yt|0])>>6)|0,(0|Ve)>(0|(ae=ae+1|0))||(yt=e[ee+12>>2],ae=0));if($e=$e-1|0,!((0|l)<4)){g[0|M]=6,r=(A=(0|(A=(0|R)/256|0))>0?A:0)+(((r=(l=e[it+(l<<2)>>2])>>31)^l)-r|0)|0;break t}}(0|l)!=3?(A=(0|R)/256|0,(63&d[M-6|0])>>>0>=3?(r=(l=e[it+(l<<2)>>2])>>31,r=(A=(0|(A=A-g[ee+9|0]|0))>0?A:0)+((r^l)-r|0)|0):r=(A=(0|A)>0?A:0)+(((r=(l=e[it+(l<<2)>>2])>>31)^l)-r|0)|0):r=(A=(0|(A=(0|R)/256|0))>0?A:0)+(((r=(l=e[it+12>>2])>>31)^l)-r|0)|0}if(g[M+5|0]=A>>>0>=254?254:A,P=0,A=(0|r)>0?r:0,g[M+4|0]=A>>>0>=254?254:A,g[M+2|0]=d[M+2|0]|l>>>31,(0|w)==(0|(h=h+1|0)))break}h=w}if(!(d[133068]||((268435455&i)==3&&(A=F(h,6)+t|0,g[A+2|0]=2|d[A+2|0]),e[33269]?(A=d[5+(l=100768+(i<<4)|0)|0],m=l+3|0,r=d[l+4|0]-A|0):(A=d[2+(r=100768+(i<<4)|0)|0],m=_e+100768|0,r=d[r+1|0]-A|0),l=F(h,6)+t|0,g[l+5|0]=A>>>0>=254?254:A,g[l+2|0]=d[l+2|0]|r>>>31,A=(y=A)+(((A=r>>31)^r)-A|0)|0,g[l+4|0]=A>>>0>=254?254:A,r=F(w,6)+t|0,g[r+1|0]=d[0|m],A=h+1|0,d[0|r]==4&&(g[0|r]=6),(0|(r=n-A|0))<=0||(i=d[12+(h=100768+(i<<4)|0)|0],h=d[h+13|0]-i<<8,h=(0|r)!=1?(0|h)/(0|r)|0:h,(0|A)>=(0|n)))))for(y=h>>>0>255,P=h>>>8|0,r=i<<8,i=0-h>>>8|0,R=(0|h)<=0;R?(m=(w=(m=(0|(l=(0|i)>(0|(l=e[101024+(g[F(A,6)+t|0]<<2)>>2]))?i:l))>=18?18:l)+(l=(0|(l=(0|(r=r+h|0))/256|0))>0?l:0)|0)>>>0>=254?254:w,w=l>>>0>=254?254:l):(l=F(A,6)+t|0,g[l+2|0]=y|d[l+2|0],w=(l=(0|(l=(0|r)/256|0))>0?l:0)>>>0>=254?254:l,m=(l=l+P|0)>>>0>=254?254:l,r=r+h|0),l=F(A,6)+t|0,g[l+5|0]=w,g[l+4|0]=m,(0|n)!=(0|(A=A+1|0)););}else{if(A=(Ve=e[34455])+F(i,68)|0,h=d[A+24|0],w=d[A+25|0],l=(A=e[33268])+r|0,!((0|A)<=0||(M=w-h<<8,M=(0|A)!=1?(0|M)/(0|A)|0:M,(0|r)>=(0|l))))for(y=M>>>0>255,P=M>>>8|0,A=h<<8,w=0-M>>>8|0,R=(0|M)<=0;R?(h=(h=(ue=(0|(h=(0|(h=e[101024+(g[F(r,6)+t|0]<<2)>>2]))<(0|w)?w:h))>=18?18:h)+(m=(0|(h=(0|(A=A+M|0))/256|0))>0?h:0)|0)>>>0>=254?254:h,m=m>>>0>=254?254:m):(h=F(r,6)+t|0,g[h+2|0]=y|d[h+2|0],m=(h=(0|(h=(0|A)/256|0))>0?h:0)>>>0>=254?254:h,h=(h=h+P|0)>>>0>=254?254:h,A=A+M|0),ue=F(r,6)+t|0,g[ue+5|0]=m,g[ue+4|0]=h,(0|l)!=(0|(r=r+1|0)););2&d[188785]?(r=e[33271],e[33270]=r):r=e[33270],w=r,A=Ve+F(i,68)|0;t:if((0|(P=d[A+33|0]))!=255)for(;;){if((0|(w=w-1|0))<(0|l)){w=r;break t}if(!(g[F(w,6)+t|0]<4))break}if((0|r)>(0|l)){for(gA=((h=(Wt=(R=d[A+32|0])-(M=d[0|(m=A+31|0)])<<8)>>31)^Wt)-h|0,ht=(0|(A=d[0|(y=A+30|0)]))==255,ue=P<<8,it=M<<8,SA=R<<8,_e=Ve+F(i,68)|0,VA=(0|A)!=255,R=0,P=0,A=1,M=0;;){t:{if(ee=F(l,6)+t|0,!(!(1&A)&(0|(be=g[0|ee]))<4)){r:if(1&((0|be)==5|A)){a:if(VA){if(Pt=1,A=0,h=y,!((0|w)<=(0|(M=l+1|0)))){for(;;){if(h=y,(0|(P=g[F(M,6)+t|0]))>6)break a;if(A=((0|P)>3)+A|0,(0|w)==(0|(M=M+1|0)))break}h=y}}else{if(A=0,M=l,h=m,(0|w)<=(0|l))break a;for(;;){if(h=m,(0|(P=g[F(M,6)+t|0]))>6)break a;if(A=((0|P)>3)+A|0,(0|w)==(0|(M=M+1|0)))break}h=m}if(P=d[0|h]<<8,cA=0,(0|(M=(0|A)<(0|(h=d[_e+34|0]))?A:h))<2){yt=0;break r}yt=(0|Wt)/(M-1|0)|0}else(0|l)!=(0|w)?Pt?(ht=1,M=M+1|0,Pt=0,P=it):(0|M)>0?(P=P+yt|0,Pt=0):(Pt=0,P=(F(g[16+(_e+cA|0)|0],gA)>>6)+SA|0,cA=(0|(A=cA+1|0))<d[_e+35|0]?A:0):(ht=2,P=ue);if(M=M-1|0,!((0|be)<4)){A=h=l+1|0;r:if(!((0|r)<=(0|l)))for(;;){if(g[F(A,6)+t|0]>1)break r;if(!((0|r)>=(0|(A=A+1|0))))break}g[0|ee]=6,g[ee+1|0]=d[_e+26|0],R=0,ae=d[_e+27|0],l=(0|(l=(0|P)/256|0))>0?l:0,g[ee+5|0]=l>>>0>=254?254:l,l=l+ae|0,g[ee+4|0]=l>>>0>=254?254:l,$e=A-h|0;break t}}if((0|be)>=2){A=h=l+1|0;r:if(!((0|r)<=(0|l)))for(;;){if(g[F(A,6)+t|0]>1)break r;if(!((0|r)>=(0|(A=A+1|0))))break}R=0,l=(0|(l=(0|P)/256|0))>0?l:0,g[ee+5|0]=l>>>0>=254?254:l,ae=e[100976+(be<<2)>>2],g[ee+2|0]=d[ee+2|0]|ae>>>31,l=(0|(l=(be=l)+(((l=ae>>31)^ae)-l|0)|0))>0?l:0,g[ee+4|0]=l>>>0>=254?254:l,$e=A-h|0}else(0|$e)<=1?(ae=g[36+(_e+ht|0)|0],A=0):(ae=g[36+(A=_e+ht|0)|0],A=(g[A+39|0]-ae|0)/($e-1|0)|0),h=e[100976+(be<<2)>>2],g[ee+2|0]=d[ee+2|0]|h>>>31,A=(0|(A=(((0|P)/256|0)+ae|0)+F(A,R)|0))>0?A:0,g[ee+5|0]=A>>>0>=254?254:A,A=(0|(A=A+(((be=h)^(h>>=31))-h|0)|0))>0?A:0,g[ee+4|0]=A>>>0>=254?254:A,R=R+1|0,h=l+1|0}if(A=0,(0|r)==(0|(l=h)))break}l=r}if(d[133068]||(h=F(l,6)+t|0,e[33269]?(m=Ve+F(i,68)|0,A=d[m+47|0],w=d[m+46|0]-A|0,m=m+45|0):(m=Ve+F(i,68)|0,A=d[m+44|0],w=d[m+43|0]-A|0,m=m+42|0),m=d[0|m],y=(((y=w>>31)^w)-y|0)+A|0,g[h+4|0]=y>>>0>=254?254:y,g[h+5|0]=A>>>0>=254?254:A,A=F(l,6)+t|0,g[A+2|0]=d[A+2|0]|w>>>31,r=F(r,6)+t|0,g[r+1|0]=m,A=l+1|0,d[0|r]==4&&(g[0|r]=6),(0|(r=n-A|0))<=0)||(h=Ve+F(i,68)|0,i=d[h+48|0],h=d[h+49|0]-i<<8,h=(0|r)!=1?(0|h)/(0|r)|0:h,(0|A)>=(0|n)))break e;for(y=h>>>0>255,P=h>>>8|0,r=i<<8,i=0-h>>>8|0,R=(0|h)<=0;R?(m=(w=(m=(0|(l=(0|i)>(0|(l=e[101024+(g[F(A,6)+t|0]<<2)>>2]))?i:l))>=18?18:l)+(l=(0|(l=(0|(r=r+h|0))/256|0))>0?l:0)|0)>>>0>=254?254:w,w=l>>>0>=254?254:l):(l=F(A,6)+t|0,g[l+2|0]=y|d[l+2|0],w=(l=(0|(l=(0|r)/256|0))>0?l:0)>>>0>=254?254:l,m=(l=l+P|0)>>>0>=254?254:l,r=r+h|0),l=F(A,6)+t|0,g[l+5|0]=w,g[l+4|0]=m,(0|n)!=(0|(A=A+1|0)););}}function CA(){var t,A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0;if((0|(t=e[36455]))!=(0|(w=e[36454]))){e:if(!((0|(ee=e[36427]))<0|(0|w)==(0|ee))){r=P=e[8+(216192+((M=ee)<<4)|0)>>2];t:{for(;;){if((n=e[(h=216192+((M=(0|(n=M-1|0))<0?169:n)<<4)|0)>>2])-5>>>0<2)break t;r:{if((0|n)<=4){if(e[h+12>>2]!=(0|r))break t;if(n=_[h+4>>1],e[h+12>>2]=P,r=e[h+8>>2],16&(A=_[r>>1]))break r;for(ue=32&A?(F(n,12)>>>0)/10|0:n,i=0,n=r,m=0;;){A=_[r>>1];a:if(!(m>>>0<3&&8&A)){if(A=A<<16>>16,(0|(ae=(y=v[2+((R=m<<1)+r|0)>>1])-(l=v[2+(R=P+R|0)>>1])|0))>(0|(y=(0|F(ue,(0|F(e[200944+(m<<2)>>2],(0|ae)>0?y+(l<<1)|0:(y<<1)+l|0))/3e3|0))/256|0)))i||((0|A)<0?n=r:(n=0,A=(0|(A=e[44469]+1|0))<=169?A:0,e[44469]=A,(A=177888+(i=A<<6)|0)&&(n=_[r+4>>1]|_[r+6>>1]<<16,l=_[r>>1]|_[r+2>>1]<<16,v[A>>1]=l,v[A+2>>1]=l>>>16,v[A+4>>1]=n,v[A+6>>1]=n>>>16,n=_[r+60>>1]|_[r+62>>1]<<16,l=_[r+56>>1]|_[r+58>>1]<<16,v[A+56>>1]=l,v[A+58>>1]=l>>>16,v[A+60>>1]=n,v[A+62>>1]=n>>>16,n=_[r+52>>1]|_[r+54>>1]<<16,l=_[r+48>>1]|_[r+50>>1]<<16,v[A+48>>1]=l,v[A+50>>1]=l>>>16,v[A+52>>1]=n,v[A+54>>1]=n>>>16,n=_[r+44>>1]|_[r+46>>1]<<16,l=_[r+40>>1]|_[r+42>>1]<<16,v[A+40>>1]=l,v[A+42>>1]=l>>>16,v[A+44>>1]=n,v[A+46>>1]=n>>>16,n=_[r+36>>1]|_[r+38>>1]<<16,l=_[r+32>>1]|_[r+34>>1]<<16,v[A+32>>1]=l,v[A+34>>1]=l>>>16,v[A+36>>1]=n,v[A+38>>1]=n>>>16,n=_[r+28>>1]|_[r+30>>1]<<16,l=_[r+24>>1]|_[r+26>>1]<<16,v[A+24>>1]=l,v[A+26>>1]=l>>>16,v[A+28>>1]=n,v[A+30>>1]=n>>>16,n=_[r+20>>1]|_[r+22>>1]<<16,l=_[r+16>>1]|_[r+18>>1]<<16,v[A+16>>1]=l,v[A+18>>1]=l>>>16,v[A+20>>1]=n,v[A+22>>1]=n>>>16,n=_[r+12>>1]|_[r+14>>1]<<16,l=_[r+8>>1]|_[r+10>>1]<<16,v[A+8>>1]=l,v[A+10>>1]=l>>>16,v[A+12>>1]=n,v[A+14>>1]=n>>>16,g[i+177904|0]=0,v[A>>1]=32768|_[A>>1],n=A))),A=y+_[R+2>>1]|0;else{if((0-y|0)<=(0|ae))break a;i||((0|A)<0?n=r:(n=0,A=(0|(A=e[44469]+1|0))<=169?A:0,e[44469]=A,(A=177888+(i=A<<6)|0)&&(n=_[r+4>>1]|_[r+6>>1]<<16,l=_[r>>1]|_[r+2>>1]<<16,v[A>>1]=l,v[A+2>>1]=l>>>16,v[A+4>>1]=n,v[A+6>>1]=n>>>16,n=_[r+60>>1]|_[r+62>>1]<<16,l=_[r+56>>1]|_[r+58>>1]<<16,v[A+56>>1]=l,v[A+58>>1]=l>>>16,v[A+60>>1]=n,v[A+62>>1]=n>>>16,n=_[r+52>>1]|_[r+54>>1]<<16,l=_[r+48>>1]|_[r+50>>1]<<16,v[A+48>>1]=l,v[A+50>>1]=l>>>16,v[A+52>>1]=n,v[A+54>>1]=n>>>16,n=_[r+44>>1]|_[r+46>>1]<<16,l=_[r+40>>1]|_[r+42>>1]<<16,v[A+40>>1]=l,v[A+42>>1]=l>>>16,v[A+44>>1]=n,v[A+46>>1]=n>>>16,n=_[r+36>>1]|_[r+38>>1]<<16,l=_[r+32>>1]|_[r+34>>1]<<16,v[A+32>>1]=l,v[A+34>>1]=l>>>16,v[A+36>>1]=n,v[A+38>>1]=n>>>16,n=_[r+28>>1]|_[r+30>>1]<<16,l=_[r+24>>1]|_[r+26>>1]<<16,v[A+24>>1]=l,v[A+26>>1]=l>>>16,v[A+28>>1]=n,v[A+30>>1]=n>>>16,n=_[r+20>>1]|_[r+22>>1]<<16,l=_[r+16>>1]|_[r+18>>1]<<16,v[A+16>>1]=l,v[A+18>>1]=l>>>16,v[A+20>>1]=n,v[A+22>>1]=n>>>16,n=_[r+12>>1]|_[r+14>>1]<<16,l=_[r+8>>1]|_[r+10>>1]<<16,v[A+8>>1]=l,v[A+10>>1]=l>>>16,v[A+12>>1]=n,v[A+14>>1]=n>>>16,g[i+177904|0]=0,v[A>>1]=32768|_[A>>1],n=A))),A=_[R+2>>1]-y|0}i=1,v[2+((m<<1)+n|0)>>1]=A,e[h+8>>2]=n}if((0|(m=m+1|0))==6)break}P=n}if((0|w)!=(0|M))continue;break t}break}P=r}for(n=0;;){if((r=e[(M=216192+(ee<<4)|0)>>2])-5>>>0<2)break e;if((0|r)<=4){if(r=e[M+8>>2],A=_[M+4>>1],n){if((0|r)!=(0|n))break e;e[M+8>>2]=P}else P=r;if(16&(n=_[P>>1]))break e;for(R=32&n?(F(A,6)>>>0)/5|0:A,i=0,r=n=e[M+12>>2],m=0;;){t:{r:if((0|(w=(h=v[2+((A=m<<1)+n|0)>>1])-(A=v[2+(y=A+P|0)>>1])|0))>(0|(h=(0|F(R,(0|F(e[200944+(m<<2)>>2],(0|w)>0?h+(A<<1)|0:(h<<1)+A|0))/3e3|0))/256|0))){if(!i){if(v[n>>1]<0){r=n,A=A+h|0;break r}r=(0|(r=e[44469]+1|0))<=169?r:0,e[44469]=r,i=_[n+20>>1]|_[n+22>>1]<<16,A=16+(r=177888+(r<<6)|0)|0,w=_[n+16>>1]|_[n+18>>1]<<16,v[A>>1]=w,v[A+2>>1]=w>>>16,v[A+4>>1]=i,v[A+6>>1]=i>>>16,A=_[n+4>>1]|_[n+6>>1]<<16,i=_[n>>1]|_[n+2>>1]<<16,v[r>>1]=i,v[r+2>>1]=i>>>16,v[r+4>>1]=A,v[r+6>>1]=A>>>16,A=_[n+12>>1]|_[n+14>>1]<<16,i=_[n+8>>1]|_[n+10>>1]<<16,v[r+8>>1]=i,v[r+10>>1]=i>>>16,v[r+12>>1]=A,v[r+14>>1]=A>>>16,A=_[n+28>>1]|_[n+30>>1]<<16,i=_[n+24>>1]|_[n+26>>1]<<16,v[r+24>>1]=i,v[r+26>>1]=i>>>16,v[r+28>>1]=A,v[r+30>>1]=A>>>16,A=_[n+36>>1]|_[n+38>>1]<<16,i=_[n+32>>1]|_[n+34>>1]<<16,v[r+32>>1]=i,v[r+34>>1]=i>>>16,v[r+36>>1]=A,v[r+38>>1]=A>>>16,A=_[n+44>>1]|_[n+46>>1]<<16,i=_[n+40>>1]|_[n+42>>1]<<16,v[r+40>>1]=i,v[r+42>>1]=i>>>16,v[r+44>>1]=A,v[r+46>>1]=A>>>16,A=_[n+52>>1]|_[n+54>>1]<<16,i=_[n+48>>1]|_[n+50>>1]<<16,v[r+48>>1]=i,v[r+50>>1]=i>>>16,v[r+52>>1]=A,v[r+54>>1]=A>>>16,A=_[n+60>>1]|_[n+62>>1]<<16,i=_[n+56>>1]|_[n+58>>1]<<16,v[r+56>>1]=i,v[r+58>>1]=i>>>16,v[r+60>>1]=A,v[r+62>>1]=A>>>16,g[r+16|0]=0,v[r>>1]=32768|_[r>>1],A=_[y+2>>1]}A=A+h|0}else{if((0|w)>=(0-h|0))break t;i||(v[n>>1]<0?r=n:(r=(0|(r=e[44469]+1|0))<=169?r:0,e[44469]=r,i=_[n+20>>1]|_[n+22>>1]<<16,A=16+(r=177888+(r<<6)|0)|0,w=_[n+16>>1]|_[n+18>>1]<<16,v[A>>1]=w,v[A+2>>1]=w>>>16,v[A+4>>1]=i,v[A+6>>1]=i>>>16,A=_[n+4>>1]|_[n+6>>1]<<16,i=_[n>>1]|_[n+2>>1]<<16,v[r>>1]=i,v[r+2>>1]=i>>>16,v[r+4>>1]=A,v[r+6>>1]=A>>>16,A=_[n+12>>1]|_[n+14>>1]<<16,i=_[n+8>>1]|_[n+10>>1]<<16,v[r+8>>1]=i,v[r+10>>1]=i>>>16,v[r+12>>1]=A,v[r+14>>1]=A>>>16,A=_[n+28>>1]|_[n+30>>1]<<16,i=_[n+24>>1]|_[n+26>>1]<<16,v[r+24>>1]=i,v[r+26>>1]=i>>>16,v[r+28>>1]=A,v[r+30>>1]=A>>>16,A=_[n+36>>1]|_[n+38>>1]<<16,i=_[n+32>>1]|_[n+34>>1]<<16,v[r+32>>1]=i,v[r+34>>1]=i>>>16,v[r+36>>1]=A,v[r+38>>1]=A>>>16,A=_[n+44>>1]|_[n+46>>1]<<16,i=_[n+40>>1]|_[n+42>>1]<<16,v[r+40>>1]=i,v[r+42>>1]=i>>>16,v[r+44>>1]=A,v[r+46>>1]=A>>>16,A=_[n+52>>1]|_[n+54>>1]<<16,i=_[n+48>>1]|_[n+50>>1]<<16,v[r+48>>1]=i,v[r+50>>1]=i>>>16,v[r+52>>1]=A,v[r+54>>1]=A>>>16,A=_[n+60>>1]|_[n+62>>1]<<16,i=_[n+56>>1]|_[n+58>>1]<<16,v[r+56>>1]=i,v[r+58>>1]=i>>>16,v[r+60>>1]=A,v[r+62>>1]=A>>>16,g[r+16|0]=0,v[r>>1]=32768|_[r>>1],A=_[y+2>>1])),A=A-h|0}i=1,v[2+((m<<1)+r|0)>>1]=A,e[M+12>>2]=r}if((0|(m=m+1|0))==6)break}P=r}if((0|t)==(0|(ee=(0|(r=ee+1|0))<=169?r:0)))break}}e[36454]=t}}function NA(t,A){var r,n,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0;oe=r=oe-48|0,V(+t),l=0|G(1),i=0|G(0),n=l;e:{t:{r:{if((w=2147483647&l)>>>0<=1074752122){if((1048575&l)==598523)break r;if(w>>>0<=1073928572){if((0|n)>0|(0|n)>=0){m=(t+=-1.5707963267341256)+-6077100506506192e-26,S[A>>3]=m,S[A+8>>3]=t-m-6077100506506192e-26,l=1;break e}m=(t+=1.5707963267341256)+6077100506506192e-26,S[A>>3]=m,S[A+8>>3]=t-m+6077100506506192e-26,l=-1;break e}if((0|n)>0|(0|n)>=0){m=(t+=-3.1415926534682512)+-12154201013012384e-26,S[A>>3]=m,S[A+8>>3]=t-m-12154201013012384e-26,l=2;break e}m=(t+=3.1415926534682512)+12154201013012384e-26,S[A>>3]=m,S[A+8>>3]=t-m+12154201013012384e-26,l=-2;break e}if(w>>>0<=1075594811){if(w>>>0<=1075183036){if((0|w)==1074977148)break r;if((0|n)>0|(0|n)>=0){m=(t+=-4.712388980202377)+-18231301519518578e-26,S[A>>3]=m,S[A+8>>3]=t-m-18231301519518578e-26,l=3;break e}m=(t+=4.712388980202377)+18231301519518578e-26,S[A>>3]=m,S[A+8>>3]=t-m+18231301519518578e-26,l=-3;break e}if((0|w)==1075388923)break r;if((0|n)>0|(0|n)>=0){m=(t+=-6.2831853069365025)+-2430840202602477e-25,S[A>>3]=m,S[A+8>>3]=t-m-2430840202602477e-25,l=4;break e}m=(t+=6.2831853069365025)+2430840202602477e-25,S[A>>3]=m,S[A+8>>3]=t-m+2430840202602477e-25,l=-4;break e}if(w>>>0>1094263290)break t}i=(it=(m=t+-1.5707963267341256*(P=.6366197723675814*t+6755399441055744-6755399441055744))-(ee=6077100506506192e-26*P))<-.7853981633974483,l=he(P)<2147483648?~~P:-2147483648,i?(l=l-1|0,ee=6077100506506192e-26*(P+=-1),m=t+-1.5707963267341256*P):it>.7853981633974483&&(l=l+1|0,ee=6077100506506192e-26*(P+=1),m=t+-1.5707963267341256*P),t=m-ee,S[A>>3]=t,V(+t),i=0|G(1),G(0),((h=w>>>20|0)-(i>>>20&2047)|0)<17||(ee=m,t=(m-=t=6077100506303966e-26*P)-(ee=20222662487959506e-37*P-(ee-m-t)),S[A>>3]=t,V(+t),i=0|G(1),G(0),(h-(i>>>20&2047)|0)<50||(ee=m,t=(m-=t=20222662487111665e-37*P)-(ee=84784276603689e-45*P-(ee-m-t)),S[A>>3]=t)),S[A+8>>3]=m-t-ee;break e}if(w>>>0>=2146435072)t-=t,S[A>>3]=t,S[A+8>>3]=t,l=0;else{for(D(0,0|i),D(1,1048575&n|1096810496),t=+Q(),l=0,i=1;h=(r+16|0)+(l<<3)|0,m=+(0|(l=he(t)<2147483648?~~t:-2147483648)),S[h>>3]=m,t=16777216*(t-m),l=1,h=i,i=0,h;);for(S[r+32>>3]=t,l=2;l=(i=l)-1|0,S[(r+16|0)+(i<<3)>>3]==0;);if(ht=r+16|0,h=0,oe=M=oe-560|0,w=F($e=(0|(w=((l=(w>>>20|0)-1046|0)-3|0)/24|0))>0?w:0,-24)+l|0,((ae=e[28105])+(y=(_e=i+1|0)-1|0)|0)>=0)for(l=ae+_e|0,i=$e-y|0;S[(M+320|0)+(h<<3)>>3]=(0|i)<0?0:+e[112432+(i<<2)>>2],i=i+1|0,(0|l)!=(0|(h=h+1|0)););for(be=w-24|0,l=0,h=(0|ae)>0?ae:0,ue=(0|_e)<=0;;){if(ue)t=0;else for(R=l+y|0,i=0,t=0;t=S[(i<<3)+ht>>3]*S[(M+320|0)+(R-i<<3)>>3]+t,(0|_e)!=(0|(i=i+1|0)););if(S[(l<<3)+M>>3]=t,i=(0|l)==(0|h),l=l+1|0,i)break}cA=47-w|0,yt=48-w|0,gA=w-25|0,l=ae;t:{for(;;){if(t=S[(l<<3)+M>>3],i=0,h=l,!(R=(0|l)<=0))for(;ue=(M+480|0)+(i<<2)|0,y=he(m=5960464477539063e-23*t)<2147483648?~~m:-2147483648,y=he(t=-16777216*(m=+(0|y))+t)<2147483648?~~t:-2147483648,e[ue>>2]=y,t=S[((h=h-1|0)<<3)+M>>3]+m,(0|l)!=(0|(i=i+1|0)););t=fi(t,be),t+=-8*Ce(.125*t),t-=+(0|(ue=he(t)<2147483648?~~t:-2147483648));r:{a:{n:{if(Pt=(0|be)<=0){if(be)break n;y=e[476+((l<<2)+M|0)>>2]>>23}else Ve=h=(l<<2)+M|0,h=(y=e[h+476>>2])-((i=y>>yt)<<yt)|0,e[Ve+476>>2]=h,ue=i+ue|0,y=h>>cA;if((0|y)<=0)break r;break a}if(y=2,!(t>=.5)){y=0;break r}}if(i=0,h=0,!R)for(;Wt=e[(Ve=(M+480|0)+(i<<2)|0)>>2],R=16777215,h||(R=16777216,Wt)?(e[Ve>>2]=R-Wt,h=1):h=0,(0|l)!=(0|(i=i+1|0)););a:if(!Pt){i=8388607;n:switch(0|gA){case 1:i=4194303;break;case 0:break n;default:break a}e[476+(R=(l<<2)+M|0)>>2]=e[R+476>>2]&i}ue=ue+1|0,(0|y)==2&&(t=1-t,y=2,h&&(t-=fi(1,be)))}if(t!=0)break;if(h=0,!((0|ae)>=(0|(i=l)))){for(;h=e[(M+480|0)+((i=i-1|0)<<2)>>2]|h,(0|i)>(0|ae););if(h){for(w=be;w=w-24|0,!e[(M+480|0)+((l=l-1|0)<<2)>>2];);break t}}for(i=1;h=i,i=i+1|0,!e[(M+480|0)+(ae-h<<2)>>2];);for(h=l+h|0;;){if(y=l+_e|0,l=l+1|0,S[(M+320|0)+(y<<3)>>3]=e[112432+($e+l<<2)>>2],i=0,t=0,(0|_e)>0)for(;t=S[(i<<3)+ht>>3]*S[(M+320|0)+(y-i<<3)>>3]+t,(0|_e)!=(0|(i=i+1|0)););if(S[(l<<3)+M>>3]=t,!((0|l)<(0|h)))break}l=h}(t=fi(t,24-w|0))>=16777216?(be=(M+480|0)+(l<<2)|0,i=he(m=5960464477539063e-23*t)<2147483648?~~m:-2147483648,h=he(t=-16777216*+(0|i)+t)<2147483648?~~t:-2147483648,e[be>>2]=h,l=l+1|0):(i=he(t)<2147483648?~~t:-2147483648,w=be),e[(M+480|0)+(l<<2)>>2]=i}if(t=fi(1,w),!((0|l)<0)){for(i=l;h=i,S[(i<<3)+M>>3]=t*+e[(M+480|0)+(i<<2)>>2],i=i-1|0,t*=5960464477539063e-23,h;);if(R=0,!((0|l)<0))for(w=(0|ae)>0?ae:0,h=l;;){for(be=w>>>0<R>>>0?w:R,ae=l-h|0,i=0,t=0;t=S[115200+(i<<3)>>3]*S[(i+h<<3)+M>>3]+t,_e=(0|i)!=(0|be),i=i+1|0,_e;);if(S[(M+160|0)+(ae<<3)>>3]=t,h=h-1|0,i=(0|l)!=(0|R),R=R+1|0,!i)break}}if(t=0,(0|l)>=0)for(i=l;h=i,i=i-1|0,t+=S[(M+160|0)+(h<<3)>>3],h;);if(S[r>>3]=y?-t:t,t=S[M+160>>3]-t,i=1,(0|l)>0)for(;t+=S[(M+160|0)+(i<<3)>>3],h=(0|i)!=(0|l),i=i+1|0,h;);S[r+8>>3]=y?-t:t,oe=M+560|0,l=7&ue,t=S[r>>3],(0|n)<0?(S[A>>3]=-t,S[A+8>>3]=-S[r+8>>3],l=0-l|0):(S[A>>3]=t,S[A+8>>3]=S[r+8>>3])}}return oe=r+48|0,l}function tA(){var t=0,A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0,Cr=0,Yr=0,Xr=0,ls=0,as=0,xs=0,Ms=0,zs=0,Os=0,ga=0,na=0,ha=0,pa=0,Gn=0,Fn=0,Ln=0;e[55925]=0,t=e[56772],e[56772]=t+1,r=e[55961],R=e[55922],ae=Vi(39.89822670059037*(A=+(0|t))),M=Vi(22.30530784048753*A),A=+(0|R)/50*(+(0|r)/100)*(Vi(14.765485471872028*A)+(ae+M))*10,t=he(A)<2147483648?~~A:-2147483648,e[56607]=t+e[56607];e:if(!(e[55923]<=0)){for(;;){for(r=rr(e[33209],0,1103515245,0),t=fe,t=Cn(r=r+12345|0,t=r>>>0<12345?t+1|0:t),e[33209]=t,t=8191+((t>>>0)%16383|0)|0,e[55929]=t,qA=+(0|t),A=.75*S[28387]+qA,S[28387]=A,Cr=(0|(t=e[55924]))>(0|(yt=e[55928]))?.5*A:A,as=(i=.033*+e[56652])>0?1-i:1,r=e[56650]<<2,cA=(0|(Wt=e[55921]))==1&&(0|r)>263?263:r,xs=111136+((Yr=e[56651])<<1)|0,Ms=111136+((gA=e[56658])<<1)|0,zs=(0|gA)>0,Xr=e[55918],Os=F(Xr,40),ga=e[55925],na=S[27967],ls=e[56607],A=S[27979],be=S[27969],m=S[27970],SA=e[56780],$e=e[56654],P=S[27976],ee=S[27972],_e=S[28388],Ve=S[28389],R=e[55927],n=S[28383],y=e[55926],it=e[55956],ha=S[27975],M=S[28131],l=S[28130],h=S[28123],ue=S[28121],w=S[28122],Pt=S[28120],ht=S[28119],pa=S[28129],Gn=S[28128],Fn=S[28127],Ln=Aa(0*S[27968]),VA=0;;){ae=l;t:{r:switch(Wt-1|0){case 0:_e=0,l=ue*h,h=w,w=n=l+(ht*(_e=(0|t)<=2?S[111312+(t<<3)>>3]:_e)+Pt*h);break t;case 1:if(n=0,(0|t)>=(0|R)){Ve=0;break t}l=S[27965]-S[27966],S[27965]=l,n=.028*(Ve=l+Ve);break t;case 2:if(!y){it=100,n=0;break t}it=100,r=he(l=+(0|t)/+(0|y)*100)<2147483648?~~l:-2147483648,n=+v[110928+((0|r)%100<<1)>>1],n=A*((+v[110928+((r+1|0)%100<<1)>>1]-n)*(l-+(0|r))+n);break t;case 3:break r;default:break t}y?(it=256,r=he(l=+(0|t)/+(0|y)*256)<2147483648?~~l:-2147483648,n=+v[111344+((0|r)%256<<1)>>1],n=A*((+v[111344+((r+1|0)%256<<1)>>1]-n)*(l-+(0|r))+n)):(it=256,n=0)}if((0|t)>=(0|y)&&((0|ls)>0?(t=(0|Os)/(0|ls)|0,P=0,ee=0,ee=gA>>>0<=87?.001*+v[Ms>>1]:ee,P=Yr>>>0<=87?.001*+v[xs>>1]*.1:P,yt=t>>zs,R=(0|(r=(y=(t-1|0)<=(0|cA))?t-2|0:cA))<=40?40:r,l=+v[111776+((R=y||(0|r)<40?R:cA)<<1)>>1],S[27966]=l,ue=l,l=+(0|R),S[27965]=ue*l*.333,$e=(0|(r=t-R|0))>(0|$e)?$e:r,SA=0-(r=(0|SA)<0?0-$e|0:$e)|0,ht=(l*=.00833)*l,ht*=1-(Pt=(ue=(l=fr(na*+((0|Xr)/(0|R)|0)))*Ln)+ue)-(ue=l*-l),t=(0|(y=t+r|0))!=4):(e[55930]=0,e[55931]=0,e[55932]=0,e[55933]=0,yt=4,P=0,ee=0,y=4,t=0),m=(t|=!ga)?i:m,be=t?as:be,t=0),t=t+1|0,l=n=pa*M+(Fn*n+Gn*ae),M=ae,(0|(VA=VA+1|0))==4)break}if(e[55926]=y,e[55956]=it,e[55924]=t,S[28383]=n,e[55927]=R,S[28389]=Ve,S[28388]=_e,S[27972]=ee,S[27976]=P,e[55928]=yt,e[56654]=$e,e[56780]=SA,S[27970]=m,S[27969]=be,S[28122]=w,S[28120]=Pt,S[28119]=ht,S[28123]=h,S[28121]=ue,S[28131]=M,S[28130]=n,(0|Wt)==5&&(n=6e3*((A=+(0|t)/+(0|y))+A+-1),S[28383]=n),A=n*be+S[28384]*m,S[28383]=A,S[28384]=A,(0|t)<(0|R)&&(A=P*qA+A,S[28383]=A),m=Cr*S[27974],ae=A*S[27973]+m,M=0,e[55916]!=2&&(M=S[27987],w=S[27986],S[27987]=w,A=m+A*ee,S[27986]=A,m=S[28059],h=S[28058],S[28059]=h,A=m*S[28057]+(S[28055]*(M*S[27985]+(S[27983]*A+w*S[27984]))+h*S[28056]),S[28058]=A,M=S[28049],m=S[28051],w=S[28048],h=S[28047],i=S[28050],S[28051]=i,A=M*m+(h*A+w*i),S[28050]=A,M=S[28043],m=S[28041],w=S[28040],h=S[28039],i=S[28042],S[28043]=i,A=m*M+(h*A+w*i),S[28042]=A,M=S[28035],m=S[28033],w=S[28032],h=S[28031],i=S[28034],S[28035]=i,A=m*M+(h*A+w*i),S[28034]=A,M=S[28027],m=S[28025],w=S[28024],h=S[28023],i=S[28026],S[28027]=i,A=m*M+(h*A+w*i),S[28026]=A,M=S[28019],m=S[28017],w=S[28016],h=S[28015],i=S[28018],S[28019]=i,A=m*M+(h*A+w*i),S[28018]=A,M=S[28011],m=S[28009],w=S[28008],h=S[28007],i=S[28010],S[28011]=i,A=m*M+(h*A+w*i),S[28010]=A,M=S[28003],m=S[28001],w=S[28e3],h=S[27999],i=S[28002],S[28003]=i,A=m*M+(h*A+w*i),S[28002]=A,M=S[27995],m=S[27993],w=S[27992],h=S[27991],i=S[27994],S[27995]=i,M=m*M+(h*A+w*i),S[27994]=M),A=S[28385],S[28385]=ae,m=S[28075],w=S[28074],S[28075]=w,h=S[28067],i=S[28066],S[28067]=i,m=m*S[28073]+(S[28071]*ae+w*S[28072]),S[28074]=m,w=h*S[28065]+(S[28063]*ae+i*S[28064]),S[28066]=w,h=S[28081],i=S[28083],l=S[28079],n=S[28080],P=S[28082],S[28083]=P,ae=h*i+(l*(A=ha*Cr+ae-A)+n*P),S[28082]=ae,h=S[28091],i=S[28089],l=S[28087],n=S[28088],P=S[28090],S[28091]=P,h=i*h+(l*A+n*P),S[28090]=h,i=S[28099],l=S[28097],n=S[28095],P=S[28096],ee=S[28098],S[28099]=ee,i=l*i+(n*A+P*ee),S[28098]=i,l=S[28107],n=S[28105],P=S[28103],ee=S[28104],be=S[28106],S[28107]=be,l=n*l+(P*A+ee*be),S[28106]=l,n=S[28115],P=S[28113],ee=S[28111],be=S[28112],_e=S[28114],S[28115]=_e,n=P*n+(ee*A+be*_e),S[28114]=n,P=S[28139],ee=S[28137],be=S[28136],_e=S[28135],Ve=S[27971],ue=S[28138],S[28139]=ue,A=ee*P+(_e*(A*Ve-(n-(l-(i-(h-(ae-(M+m+w)))))))+be*ue),S[28138]=A,A=S[27977]*(A*+e[50779]),n=+(0|(t=he(A)<2147483648?~~A:-2147483648)),(0|(t=e[50776]))<e[50773]&&(y=t+1|0,r=e[50772],(R=e[50774])?(e[50776]=y,t=F(R,g[t+r|0])):(R=d[t+r|0],r=g[r+y|0],e[50776]=t+2,t=R|r<<8),n+=+((0|F(e[50775],(0|F(t,e[50780]))/1024|0))/40|0)),(0|(t=e[55962]))<=63&&(e[55962]=t+1,n=n*+(0|t)*.015625),(0|(t=e[55963]))<=0||(t=t-1|0,e[55963]=t,n=n*+(0|t)*.015625,t||(e[55962]=0)),r=(t=e[51293])+1|0,e[51293]=r,y=F(v[205184+(t<<1)>>1],e[50755])>>8,t=he(n)<2147483648?~~n:-2147483648,(0|r)>=5500&&(e[51293]=0),r=e[51290],e[51290]=r+1,t=(0|(t=(0|(t=t+y|0))<=-32768?-32768
2810:t))>=32767?32767:t,g[0|r]=t,r=e[51290],e[51290]=r+1,g[0|r]=t>>>8,y=(r=e[51292])+1|0,e[51292]=y,v[205184+(r<<1)>>1]=t,(0|y)>=5500&&(e[51292]=0),y=1,e[56606]=e[56606]+1,re[54046]<e[51290]+2>>>0)break e;if(t=e[55925]+1|0,e[55925]=t,!((0|t)<e[55923]))break}y=0}return y}function iA(t,A,r,n,i,l,h){var m,w,M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0;oe=m=oe-80|0,e[m+76>>2]=A,M=m+55|0,w=m+56|0;e:{t:{r:{a:{n:for(;;){if(R=A,(2147483647^_e)<(0|y))break a;_e=y+_e|0;c:{o:{f:{if(P=d[0|(y=R)])for(;;){l:{i:if(A=255&P){if((0|A)!=37)break l;for(P=y;;){if(d[P+1|0]!=37){A=P;break i}if(y=y+1|0,ae=d[P+2|0],P=A=P+2|0,(0|ae)!=37)break}}else A=y;if((0|(y=y-R|0))>(0|(Wt=2147483647^_e)))break a;if(t&&Hs(t,R,y),y)continue n;e[m+76>>2]=A,y=A+1|0,Ve=-1,d[A+2|0]!=36|g[A+1|0]-48>>>0>=10||(Ve=g[A+1|0]-48|0,ht=1,y=A+3|0),e[m+76>>2]=y,ue=0;i:if((A=(P=g[0|y])-32|0)>>>0>31)be=y;else if(be=y,75913&(A=1<<A))for(;;){if(be=y+1|0,e[m+76>>2]=be,ue|=A,(A=(P=g[y+1|0])-32|0)>>>0>=32)break i;if(y=be,!(75913&(A=1<<A)))break}i:if((0|P)!=42){if((0|($e=ji(m+76|0)))<0)break a;P=e[m+76>>2]}else{if(d[be+2|0]!=36|g[be+1|0]-48>>>0>=10){if(ht)break f;if(P=be+1|0,!t){e[m+76>>2]=P,ht=0,$e=0;break i}A=e[r>>2],e[r>>2]=A+4,ht=0,A=e[A>>2]}else e[((g[be+1|0]<<2)+i|0)-192>>2]=10,P=be+3|0,ht=1,A=e[((g[be+1|0]<<3)+n|0)-384>>2];if(e[m+76>>2]=P,$e=A,(0|A)>=0)break i;$e=0-$e|0,ue|=8192}if(y=0,ee=-1,d[0|P]==46)if(d[P+1|0]!=42)e[m+76>>2]=P+1,ee=ji(m+76|0),A=e[m+76>>2],Pt=1;else{if(d[P+3|0]!=36|g[P+2|0]-48>>>0>=10){if(ht)break f;A=P+2|0,ee=0,t&&(P=e[r>>2],e[r>>2]=P+4,ee=e[P>>2])}else e[((g[P+2|0]<<2)+i|0)-192>>2]=10,A=P+4|0,ee=e[((g[P+2|0]<<3)+n|0)-384>>2];e[m+76>>2]=A,Pt=~ee>>>31|0}else A=P,Pt=0;for(;;){if(it=y,be=28,ae=A,(y=g[0|A])-123>>>0<4294967238)break r;if(A=ae+1|0,!((y=d[123983+(y+F(it,58)|0)|0])-1>>>0<8))break}e[m+76>>2]=A;i:{h:{if((0|y)!=27){if(!y)break r;if((0|Ve)>=0){e[(Ve<<2)+i>>2]=y,y=e[4+(P=(Ve<<3)+n|0)>>2],e[m+64>>2]=e[P>>2],e[m+68>>2]=y;break h}if(!t)break c;jr(m- -64|0,y,r,h);break i}if((0|Ve)>=0)break r}if(y=0,!t)continue n}P=-65537&ue,ue=8192&ue?P:ue,Ve=0,yt=84065,be=w;i:{h:{b:{m:{C:{p:{x:{w:{B:{F:{Y:{R:{M:{y:{G:{switch(y=g[0|ae],(y=it&&(15&y)==3?-33&y:y)-88|0){case 11:break i;case 9:case 13:case 14:case 15:break h;case 27:break x;case 12:case 17:break F;case 23:break Y;case 0:case 32:break R;case 24:break M;case 22:break y;case 29:break G;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break o}switch(y-65|0){case 0:case 4:case 5:case 6:break h;case 2:break C;case 1:case 3:break o}if((0|y)==83)break p;break o}P=e[m+64>>2],ae=e[m+68>>2],yt=84065;break B}y=0;y:switch(255&it){case 0:case 1:case 6:e[e[m+64>>2]>>2]=_e;continue n;case 2:R=e[m+64>>2],e[R>>2]=_e,e[R+4>>2]=_e>>31;continue n;case 3:v[e[m+64>>2]>>1]=_e;
vendor: 24,247 bytes, line 2810
2810continue n;case 4:g[e[m+64>>2]]=_e;continue n;case 7:break y;default:continue n}R=e[m+64>>2],e[R>>2]=_e,e[R+4>>2]=_e>>31;continue n}ee=ee>>>0<=8?8:ee,ue|=8,y=120}if(R=w,cA=32&y,(P=e[m+64>>2])|(ae=e[m+68>>2]))for(;g[0|(R=R-1|0)]=cA|d[124512+(15&P)|0],gA=!ae&P>>>0>15|!!(0|ae),it=ae,ae=ae>>>4|0,P=(15&it)<<28|P>>>4,gA;);if(!(e[m+64>>2]|e[m+68>>2])|!(8&ue))break w;yt=84065+(y>>>4|0)|0,Ve=2;break w}if(y=w,ae=R=e[m+68>>2],R|(P=e[m+64>>2]))for(;g[0|(y=y-1|0)]=7&P|48,it=!ae&P>>>0>7|!!(0|ae),ae=(R=ae)>>>3|0,P=(7&R)<<29|P>>>3,it;);if(R=y,!(8&ue))break w;ee=(0|(y=w-R|0))<(0|ee)?ee:y+1|0;break w}P=e[m+64>>2],ae=y=e[m+68>>2],(0|y)<0?(ae=R=0-(ae+!!(0|P)|0)|0,P=0-P|0,e[m+64>>2]=P,e[m+68>>2]=R,Ve=1,yt=84065):2048&ue?(Ve=1,yt=84066):yt=(Ve=1&ue)?84067:84065}R=fn(P,ae,w)}if((0|ee)<0&&Pt)break a;if(ue=Pt?-65537&ue:ue,!(ee|!!((y=e[m+64>>2])|(P=e[m+68>>2])))){R=w,ee=0;break o}ee=(0|(y=!(y|P)+(w-R|0)|0))<(0|ee)?ee:y;break o}if(be=(y=(y=Wn(R=(y=e[m+64>>2])||84639,0,ae=ee>>>0>=2147483647?2147483647:ee))?y-R|0:ae)+R|0,(0|ee)>=0){ue=P,ee=y;break o}if(ue=P,ee=y,d[0|be])break a;break o}if(ee){P=e[m+64>>2];break m}y=0,Ws(t,32,$e,0,ue);break b}e[m+12>>2]=0,e[m+8>>2]=e[m+64>>2],P=m+8|0,e[m+64>>2]=P,ee=-1}y=0;m:{for(;;){if(!(R=e[P>>2]))break m;if(!((R=(0|(ae=ui(m+4|0,R)))<0)|ae>>>0>ee-y>>>0)){if(P=P+4|0,ee>>>0>(y=y+ae|0)>>>0)continue;break m}break}if(R)break t}if(be=61,(0|y)<0)break r;if(Ws(t,32,$e,y,ue),y)for(be=0,P=e[m+64>>2];;){if(!(R=e[P>>2])||(be=(R=ui(m+4|0,R))+be|0)>>>0>y>>>0)break b;if(Hs(t,m+4|0,R),P=P+4|0,!(y>>>0>be>>>0))break}else y=0}Ws(t,32,$e,y,8192^ue),y=(0|y)<(0|$e)?$e:y;continue n}if((0|ee)<0&&Pt)break a;if(be=61,(0|(y=0|LA[0|l](t,S[m+64>>3],$e,ee,ue,y)))>=0)continue n;break r}g[m+55|0]=e[m+64>>2],ee=1,R=M,ue=P;break o}P=d[y+1|0],y=y+1|0}if(t)break e;if(!ht)break c;for(y=1;;){if(t=e[(y<<2)+i>>2]){if(jr((y<<3)+n|0,t,r,h),_e=1,(0|(y=y+1|0))!=10)continue;break e}break}if(_e=1,y>>>0>=10)break e;for(;;){if(e[(y<<2)+i>>2])break f;if((0|(y=y+1|0))==10)break}break e}be=28;break r}if((0|(P=(0|ee)>(0|(ae=be-R|0))?ee:ae))>(2147483647^Ve))break a;if(be=61,(0|Wt)<(0|(y=(0|(ee=P+Ve|0))<(0|$e)?$e:ee)))break r;Ws(t,32,y,ee,ue),Hs(t,yt,Ve),Ws(t,48,y,ee,65536^ue),Ws(t,48,P,ae,0),Hs(t,R,ae),Ws(t,32,y,ee,8192^ue);continue}break}_e=0;break e}be=61}e[56798]=be}_e=-1}return oe=m+80|0,_e}function qt(t,A,r,n,i,l,h,m,w){var M,y,P,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0,Cr=0,Yr=0,Xr=0,ls=0,as=0,xs=0,Ms=0,zs=0,Os=0,ga=0,na=0,ha=0,pa=0;oe=M=oe-96|0,yt=65535&w,be=-2147483648&(i^w),SA=Ve=65535&i;e:{if(!((y=w>>>16&32767)-32767>>>0>4294934529&(P=i>>>16&32767)-32767>>>0>=4294934530)){if(R=n,!(!n&(0|($e=it=2147483647&i))==2147418112?!(A|r):$e>>>0<2147418112)){ae=n,be=32768|i;break e}if(!(!(i=m)&(0|(_e=it=2147483647&w))==2147418112?!(l|h):_e>>>0<2147418112)){ae=m,be=32768|w,A=l,r=h;break e}if(!(A|R|2147418112^$e|r)){if(!(i|l|h|_e)){be=2147450880,A=0,r=0;break e}be|=2147418112,A=0,r=0;break e}if(!(i|l|2147418112^_e|h)){if(i=A|R,n=r|$e,A=0,r=0,!(n|i)){be=2147450880;break e}be|=2147418112;break e}if(!(A|R|r|$e)){A=0,r=0;break e}if(!(i|l|h|_e)){A=0,r=0;break e}(0|$e)==65535|$e>>>0<65535&&(it=(R=!(n|Ve))<<6,i=ce(w=R?A:n)+32|0,ea(M+80|0,A,r,n,Ve,(w=it+((0|(w=ce(R?r:Ve)))==32?i:w)|0)-15|0),ht=16-w|0,n=e[M+88>>2],SA=e[M+92>>2],r=e[M+84>>2],A=e[M+80>>2]),_e>>>0>65535||(Ve=(w=!(m|yt))<<6,R=ce(i=w?l:m)+32|0,ea(M- -64|0,l,h,m,yt,(i=Ve+((0|(i=ce(w?h:yt)))==32?R:i)|0)-15|0),ht=16+(ht-i|0)|0,m=e[M+72>>2],yt=e[M+76>>2],l=e[M+64>>2],h=e[M+68>>2])}if(i=l,l=h<<15|l>>>17,zs=r,it=rr(Pt=-32768&(w=i<<15),i=0,r,0),gA=i=fe,Os=l,$e=A,A=rr(l,0,A,0),l=fe+i|0,r=A>>>0>(w=A+it|0)>>>0?l+1|0:l,R=0,A=rr($e,ee,Pt,ee),i=(l=w)+fe|0,Ve=i=A>>>0>(_e=R+A|0)>>>0?i+1|0:i,ga=(0|l)==(0|i)&R>>>0>_e>>>0|i>>>0<l>>>0,na=n,Wt=rr(Pt,ee,n,0),ha=fe,A=rr(zs,ee,Os,ee),R=fe+ha|0,R=A>>>0>(cA=A+Wt|0)>>>0?R+1|0:R,A=yt<<15|m>>>17,n=rr(VA=m<<15|h>>>17,0,$e,ee),l=fe+R|0,Cr=l=n>>>0>(qA=n+cA|0)>>>0?l+1|0:l,l=(n=(0|r)==(0|gA)&w>>>0<it>>>0|r>>>0<gA>>>0)+l|0,yt=l=r>>>0>(Yr=r+qA|0)>>>0?l+1|0:l,h=Yr,r=l,SA=rr(Pt,ee,Xr=65536|SA,ue),pa=fe,n=rr(na,ae,Os,ee),i=fe+pa|0,w=i=n>>>0>(ls=n+SA|0)>>>0?i+1|0:i,A=rr(as=-2147483648|A,0,$e,ee),l=fe+i|0,l=A>>>0>(xs=A+ls|0)>>>0?l+1|0:l,A=rr(VA,ae,zs,ee),Ms=l,l=l+fe|0,it=A>>>0>(gA=A+xs|0)>>>0?l+1|0:l,i=r+gA|0,l=Pt=(A=0)>>>0>($e=A+h|0)>>>0?i+1|0:i,r=(A=$e+ga|0)>>>0<$e>>>0?l+1|0:l,ht=((P+y|0)+ht|0)-16383|0,n=rr(as,ae,zs,ee),m=fe,i=rr(Xr,ae,Os,ee),l=fe+m|0,ue=(0|m)==(0|(l=i>>>0>(h=i+n|0)>>>0?l+1|0:l))&n>>>0>h>>>0|l>>>0<m>>>0,m=l,i=rr(VA,ae,na,ae),l=fe+l|0,i=l=(n=i+h|0)>>>0<i>>>0?l+1|0:l,h=(0|l)==(0|m)&n>>>0<h>>>0|l>>>0<m>>>0,l=0,l=(m=h)>>>0>(h=h+ue|0)>>>0?1:l,m=h,h=rr(as,ae,Xr,ae),l=fe+l|0,ga=m=m+h|0,h=h>>>0>m>>>0?l+1|0:l,m=n,ee=i,i=(0|R)==(0|ha)&Wt>>>0>cA>>>0|R>>>0<ha>>>0,l=0,i=((ue=R=(0|R)==(0|Cr)&cA>>>0>qA>>>0|R>>>0>Cr>>>0)>>>0>(R=i+R|0)>>>0?1:l)+ee|0,l=h,ue=i=(n=n+R|0)>>>0<R>>>0?i+1|0:i,Wt=n,i=n=(0|i)==(0|ee)&n>>>0<m>>>0|i>>>0<ee>>>0,R=n=n+ga|0,h=l=i>>>0>n>>>0?l+1|0:l,i=rr(VA,ae,Xr,ae),ee=fe,n=rr(as,ae,na,ae),l=fe+ee|0,n=l=n>>>0>(m=n+i|0)>>>0?l+1|0:l,i=(l=(0|ee)==(0|l)&i>>>0>m>>>0|l>>>0<ee>>>0)+h|0,h=i=n>>>0>(cA=n+R|0)>>>0?i+1|0:i,l=m+ue|0,i=l=(n=(i=0)+Wt|0)>>>0<i>>>0?l+1|0:l,m=(0|ue)==(0|l)&n>>>0<Wt>>>0|l>>>0<ue>>>0,l=h,l=(h=m+(ee=cA)|0)>>>0<m>>>0?l+1|0:l,Wt=h,m=n,R=i,i=(n=(n=(n=(0|w)==(0|pa)&SA>>>0>ls>>>0|w>>>0<pa>>>0)+(w=(0|w)==(0|Ms)&ls>>>0>xs>>>0|w>>>0>Ms>>>0)|0)+(i=(0|it)==(0|Ms)&gA>>>0<xs>>>0|it>>>0<Ms>>>0)|0)+R|0,l=h=l,R=h=(m=(0|(i=(n=w=(ue=it)+m|0)>>>0<ue>>>0?i+1|0:i))==(0|R)&m>>>0>n>>>0|i>>>0<R>>>0)+Wt|0,h=l=m>>>0>h>>>0?l+1|0:l,m=n,l=0,w=i,i=i+((ee=ue=(0|yt)==(0|Pt)&$e>>>0<Yr>>>0|yt>>>0>Pt>>>0)>>>0>(ue=ue+((0|yt)==(0|Cr)&qA>>>0>Yr>>>0|yt>>>0<Cr>>>0)|0)>>>0?1:l)|0,l=h,w=l=(h=m=(0|(i=(n=n+ue|0)>>>0<ue>>>0?i+1|0:i))==(0|w)&n>>>0<m>>>0|i>>>0<w>>>0)>>>0>(m=m+R|0)>>>0?l+1|0:l,65536&l?ht=ht+1|0:(R=Ve>>>31|0,l=w<<1|m>>>31,m=m<<1|i>>>31,w=l,l=i<<1|n>>>31,n=n<<1|r>>>31,i=l,l=Ve<<1|_e>>>31,_e<<=1,Ve=l,l=r<<1|A>>>31,A=A<<1|R,r=l|(h=0)),(0|ht)>=32767)be|=2147418112,A=0,r=0;else{t:{if((0|ht)<=0){if((h=1-ht|0)>>>0<=127){ea(M+48|0,_e,Ve,A,r,l=ht+127|0),ea(M+32|0,n,i,m,w,l),Da(M+16|0,_e,Ve,A,r,h),Da(M,n,i,m,w,h),_e=e[M+32>>2]|e[M+16>>2]|!!(e[M+48>>2]|e[M+56>>2]|e[M+52>>2]|e[M+60>>2]),Ve=e[M+36>>2]|e[M+20>>2],A=e[M+40>>2]|e[M+24>>2],r=e[M+44>>2]|e[M+28>>2],n=e[M>>2],i=e[M+4>>2],h=e[M+8>>2],l=e[M+12>>2];break t}A=0,r=0;break e}h=m,l=65535&w|ht<<16}ae|=h,be|=l,(!A&(0|r)==-2147483648?!(_e|Ve):(0|r)>0|(0|r)>=0)?A|_e|-2147483648^r|Ve?(A=n,r=i):(R=be,be=(n=(0|(l=i))==(0|(r=(r=A=1&n)>>>0>(A=A+n|0)>>>0?l+1|0:l))&A>>>0<n>>>0|r>>>0<l>>>0)>>>0>(ae=n+ae|0)>>>0?R+1|0:R):(n=(0|i)==(0|(r=(A=n+1|0)?i:i+1|0))&A>>>0<n>>>0|r>>>0<i>>>0,i=be,be=(ae=n+ae|0)>>>0<n>>>0?i+1|0:i)}}e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=ae,e[t+12>>2]=be,oe=M+96|0}function zA(t,A,r,n,i,l,h){var m,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0;oe=m=oe-480|0,e[m+476>>2]=0,e[m+456>>2]=0,e[m+460>>2]=0,e[m+448>>2]=0,e[m+452>>2]=0,e[m+440>>2]=0,e[m+444>>2]=0,e[m+432>>2]=0,e[m+436>>2]=0,w=0;e:if(e[t+684>>2]){for(ae=h?e[h>>2]:ae;y=d[A+w|0],g[(m+112|0)+w|0]=y,M=w+1|0,y&&(y=w>>>0<158,w=M,y););if(g[M+(m+112|0)|0]=0,!((_e=268435456&l)|!(8&e[47197]))){M=0;t:if(223&(y=d[0|A]))for(w=0;;){if(g[(m+272|0)+w|0]=y,!(223&(y=d[(M=w+1|0)+A|0])))break t;if(P=w>>>0<118,w=M,!P)break}g[(w=m+272|0)+M|0]=0,e[m+48>>2]=w,ss(e[47195],(0|l)>=0?87019:86877,m+48|0)}e[m+464>>2]=A,e[t+8208>>2]=0,e[t+8212>>2]=0,i&&(g[0|i]=0);t:{r:if(223&(w=d[0|A]))for(Ve=536870912&l,$e=4096&l,it=m+105|0,M=A,y=0;;){P=or(m+476|0,M),be=!!(0|Wr(e[m+476>>2]))+be|0,ee=d[7668+(w=(R=255&w)+t|0)|0];a:if(!((ue=e[m+476>>2])-48>>>0<10|ue-2406>>>0<10)|(be?d[t+170|0]:0)){n:if((y=e[m+476>>2]-e[t+600>>2]|0)>>>0>127||!(y=e[6192+((y<<2)+t|0)>>2])){if(ee){for(ue=5168+((R<<2)+t|0)|0,ee=ee+(w=d[w+7924|0])|0,ht=R|d[M+1|0]<<8,y=0;e[7184+(M=(w<<2)+t|0)>>2]==(0|ht)&&(e[m+472>>2]=e[m+464>>2],dA(t,m+472|0,A,2,e[M+6704>>2],m+432|0,l,ae),(0|(M=e[m+432>>2]))>0&&(M=M+35|0,e[m+432>>2]=M),y=1,dA(t,m+464|0,A,1,e[ue>>2],m+448|0,l,ae),e[m+448>>2]>(0|M)||(M=e[m+444>>2],e[m+456>>2]=e[m+440>>2],e[m+460>>2]=M,M=e[m+436>>2],e[m+448>>2]=e[m+432>>2],e[m+452>>2]=M,e[m+464>>2]=e[m+472>>2])),ee>>>0>(w=w+1|0)>>>0;);if(y)break n}c:{o:{if(!(w=e[5168+((R<<2)+t|0)>>2])){if(dA(t,m+464|0,A,0,e[t+5168>>2],m+448|0,l,ae),e[m+448>>2])break c;if(16&d[188808])break o;if(y=or(m+468|0,R=(M=e[m+464>>2])-1|0),w=e[m+468>>2],!(e[t+600>>2]<=0|(0|w)>577)){if(_i(w)){e[m+32>>2]=21,uA(r,87049,m+32|0);break t}w=e[m+468>>2]}if((0|w)==57384&&((0|(ee=e[t+92>>2]))<=e[47352]||(e[47352]=ee)),pi(w)&&((0|(w=e[t+72>>2]))<=e[47352]||(e[47352]=w)),!((ee=(w=e[m+468>>2])-192|0)>>>0>413)&&(ee=d[ee+94240|0])&&(y=y-1|0,!(d[M-2|0]==32&d[y+M|0]==32))){for(e[m+472>>2]=R,g[0|R]=ee;P=d[(w=M)+y|0],g[0|w]=P,M=w+1|0,(0|P)!=32;);if((0|y)>0&&IA(w,32,y),e[t+24>>2]&&!((0|Uo(94222,e[m+468>>2]))<=0)){e[m+464>>2]=R,y=0;break a}y=0,g[0|r]=0,e[m+464>>2]=A,e[t+8208>>2]=0,e[t+8212>>2]=0;break a}if(!(w=Wa(w))||(0|(M=e[w+4>>2]))==e[t+600>>2])break o;if((0|M)==e[t+188>>2]){e[m+4>>2]=mo(m- -64|0,e[t+192>>2]),e[m>>2]=21,uA(r,87218,m);break t}if(!(4&d[w+16|0]))break o;e[m+20>>2]=mo(m- -64|0,e[w+12>>2]),e[m+16>>2]=21,uA(r,87218,m+16|0);break t}if(dA(t,m+464|0,A,1,w,m+448|0,l,ae),e[m+448>>2])break c}o:if(!((w=e[m+476>>2])-768>>>0<112)){if(Wr(w)){if(g[(P+e[m+464>>2]|0)-1|0]<33&(0|be)<=1)break o;if(g[0|r]=0,!h)break r;e[h>>2]=4096|e[h>>2];break r}ir(t,e[m+476>>2],-1,m+272|0,0),d[m+272|0]&&(e[m+448>>2]=1,e[m+452>>2]=m+272)}e[m+464>>2]=(P+e[m+464>>2]|0)-1;break n}e[t+288>>2]=0}else dA(t,m+464|0,A,P,y,m+448|0,l,ae);if(M=(w=e[m+452>>2])||86135,e[m+452>>2]=M,y=0,!(e[m+448>>2]<=0)){if(w=1|e[m+456>>2],(0|l)<0)break e;if(!(d[0|M]!=21|$e)){BA(r,M);break t}if(!(!(8&e[47197])|_e))n:if(w=e[47195],(0|(P=e[w+76>>2]))>=0&(!P|e[56823]!=(-1073741825&P)))R=e[(P=w+76|0)>>2],e[P>>2]=R||1073741823,e[w+80>>2]==10||(0|(R=e[w+20>>2]))==e[w+16>>2]?Ri(w):(e[w+20>>2]=R+1,g[0|R]=10),e[P>>2]=0;else{if(e[w+80>>2]!=10&&(0|(P=e[w+20>>2]))!=e[w+16>>2]){e[w+20>>2]=P+1,g[0|P]=10;break n}Ri(w)}if(P=-32769&(w=e[m+456>>2]),e[m+456>>2]=P,!(!i|!P|(1024&w?Ve:0))){t=e[m+464>>2],BA(i,M),w=P|(yt=(r=t)-$A(A,t=m+112|0,wA(t))|0,(1151&w)==1024?yt:0);break e}(w=e[m+460>>2])&&(g[0|w]=69),Li(t,r,n,M)}}else g[m+104|0]=95,$A(it,M,P),w=1,g[105+(m+P|0)|0]=0,kA(t,m+104|0,m- -64|0),y-1>>>0<=4294967293&&(w=wA(w=m- -64|0)+w|0,g[0|w]=11,g[w+1|0]=0,w=0),Li(t,r,n,m- -64|0),e[m+464>>2]=M+P,y=w;if(M=e[m+464>>2],!(223&(w=d[0|M])))break}$A(A,t=m+112|0,wA(t))}w=0}return oe=m+480|0,w}function Fr(t,A){var r,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0;oe=r=oe-2976|0,e[A>>2]=1,n=e[t+20>>2],e[(m=r+2960|0)>>2]=e[t+16>>2],e[m+4>>2]=n,n=e[t+12>>2],e[(m=r+2952|0)>>2]=e[t+8>>2],e[m+4>>2]=n,n=e[t+4>>2],e[r+2944>>2]=e[t>>2],e[r+2948>>2]=n,e[50303]||_A();e:if(t=e[r+2948>>2],d[0|t]&&t||((t=e[r+2944>>2])||(t=(t=e[r+2952>>2])||85055,e[r+2944>>2]=t),vr(n=r+80|0,t,60),vn(n,0),!(l=Js(201216,n))||(e[r+2948>>2]=e[l+4>>2]+1,d[r+2958|0]|d[r+2956|0]|d[r+2957|0]))){be=r+1536|0,oe=ae=oe-336|0;t:if(!(!(t=e[4+(ue=r+2944|0)>>2])|!d[0|t])){if((0|(_e=wA(t)))>=0){for(n=_e>>>0>=79?79:_e,y=1;t=wr(g[e[ue+4>>2]+i|0]),g[(ae+256|0)+i|0]=t,y=((255&t)==45)+y|0,t=(0|n)!=(0|i),i=i+1|0,t;);if((0|y)!=1)break t}y=1}if((0|(P=e[50303]))<=0)e[be>>2]=0,t=0;else{for(m=(0|y)>=0;;){M=e[201216+(it<<2)>>2];t:if(ra(e[M+8>>2],88032,3)){if((t=e[ue+4>>2])&&ra(t,91687,3)){if(m){t=100;r:if(y){if(n=0,i=e[M+4>>2],!(Ve=d[0|i])){if(!ra(ae+256|0,90013,9))break r;break t}for(;;){for(ht=1,w=i+1|0,$e=1,yt=0,i=0;(0|i)<(0|_e)&&(0|(t=g[(ae+256|0)+i|0]))!=45||(t=0),yt=((R=(0|(ee=d[i+w|0]))==45)&!!(0|($e=(R?0:ee)<<24>>24==(0|t)?$e:0)))+yt|0,i=i+1|0,ht=R+ht|0,ee;);if(i=i+w|0,(R=$e+yt|0)&&(n=(0|(t=F((w=(0|(t=y-R|0))<=0?5:5-t|0)-((0|(t=ht-R|0))>0?t:0)|0,100)-(Ve<<24>>24<<1)|0))>(0|n)?t:n),!(Ve=d[0|i]))break}if(!(t=n))break t}(n=e[ue>>2])&&(t=Zr(n,e[M>>2])?Zr(n,e[M+8>>2])?t:t+400|0:t+500|0),((i=d[ue+12|0])-1&255)>>>0>1||((n=d[M+12|0])-1&255)>>>0>1||(t=(0|n)!=(0|i)?t-50|0:t+50|0),i=d[ue+13|0],t=d[M+12|0]!=2|i>>>0>12?t:d[M+13|0]>12?t+5|0:t,(n=d[M+13|0])&&((n=((i?F(i,100):3e3)>>>0)/(n>>>0)|0)>>>0<=99&&(n=1e4/(n>>>0)|0),t=(w=t)+((t=5-(((n-100&65535)>>>0)/10|0)|0)>>31&t)|0,t=i?t+10|0:t),t=(0|t)<=1?1:t}else{if(ra(e[M+8>>2],ae+256|0,_e))break t;t=100}e[be+(h<<2)>>2]=M,e[M+16>>2]=t}else e[be+(h<<2)>>2]=M;h=h+1|0}if((0|P)==(0|(it=it+1|0)))break}e[be+(h<<2)>>2]=0,t=0,h&&(vi(be,h,8),t=h)}if(oe=ae+336|0,y=t,t||(e[A>>2]=0,t=Js(201216,85055),e[r+1536>>2]=t,y=!!(0|t)),A=d[r+2957|0],m=2,(0|(t=d[r+2956|0]))!=2&&(m=2,(A-1&255)>>>0<12||(Wt=(0|t)!=1,m=(0|t)==1)),P=(h=e[132136+(m<<2)>>2])+(ee=A>>>0<60)|0,t=0,(0|y)>0)for(n=0;;){l=e[(r+1536|0)+(Pt<<2)>>2];t:{r:{a:{if(Wt){if(ee||(A=0,n))break r}else{if(A=d[l+12|0],n|ee)break a;A=(0|A)!=(0|m)}if(i=0,A|d[l+13|0]<60)break t;break r}if((0|A)!=(0|m)){i=n;break t}}e[(r+80|0)+(n<<2)>>2]=l,i=n+1|0}t:if(d[l+15|0]){if(R=0,A=t,n=i,!((0|t)>11))for(;;){if((i=d[0|P])||(P=h,i=d[0|h]),t=e[l+12>>2],w=F(A,24)+202624|0,e[w+8>>2]=e[l+8>>2],e[w+12>>2]=t,t=e[l+4>>2],e[w>>2]=e[l>>2],e[w+4>>2]=t,t=e[l+20>>2],e[w+16>>2]=e[l+16>>2],e[w+20>>2]=t,g[w+14|0]=i,e[(r+80|0)+(n<<2)>>2]=w,P=P+1|0,n=n+1|0,t=A+1|0,(R=R+1|0)>>>0>=d[l+15|0])break t;if(i=(0|A)<11,A=t,!i)break}}else n=i;if((0|(Pt=Pt+1|0))==(0|y))break}else{if(!l)break e;n=0}t:if(!(!(i=d[0|P])|(0|t)>=12))for(;;){if(A=e[l+12>>2],h=F(t,24)+202624|0,e[h+8>>2]=e[l+8>>2],e[h+12>>2]=A,A=e[l+4>>2],e[h>>2]=e[l>>2],e[h+4>>2]=A,A=e[l+20>>2],e[h+16>>2]=e[l+16>>2],e[h+20>>2]=A,g[h+14|0]=i,e[(r+80|0)+(n<<2)>>2]=h,n=n+1|0,!(i=d[0|(P=P+1|0)]))break t;if(A=(0|t)<11,t=t+1|0,!A)break}n?(t=e[(r+80|0)+(d[r+2958|0]%(0|n)<<2)>>2],(A=d[t+14|0])?(g[202976]=0,e[r+48>>2]=47,uA(r+2971|0,91351,r+48|0),g[r+2971|0]=0,A>>>0<=9?(e[r+20>>2]=A,e[r+16>>2]=r+2971,uA(202976,91378,r+16|0)):(e[r+36>>2]=A-10,e[r+32>>2]=r+2971,uA(202976,91503,r+32|0)),t=e[t+8>>2],e[r+4>>2]=202976,e[r>>2]=t,t=202912,uA(202912,87760,r)):t=e[t+8>>2]):t=0}else{if(t=e[l+8>>2],!d[202976])break e;e[r+64>>2]=t,e[r+68>>2]=202976,t=202912,uA(202912,87760,r- -64|0)}return oe=r+2976|0,t}function Vr(t,A,r,n,i){var l,h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;oe=l=oe-464|0,g[l+432|0]=0,g[l+368|0]=0,g[l+304|0]=0,g[l+292|0]=0,P=(0|A)/10|0,m=e[33273];e:{if(!(h=2&n)|e[33272]!=2){ee=32&n?113:111,y=1&n,R=A-F(P,10)|0;t:{r:{a:{n:{c:{o:{f:{l:if(d[0|m])m=0;else{i:{if(8&n){if(e[l+288>>2]=A,uA(w=l+452|0,91198,l+288|0),m=kA(t,w,l+304|0)){w=0;break l}e[l+272>>2]=A,uA(w=l+452|0,91314,l+272|0),m=kA(t,w,l+304|0),w=0}else{if(!y)break i;if(M=BA(l+432|0,133104),4&n){if(e[l+260>>2]=ee,e[l+256>>2]=A,uA(w=l+452|0,91324,l+256|0),m=kA(t,w,l+304|0),d[133116]&&m)break f;if(w=m,m)break l}e[l+244>>2]=ee,e[l+240>>2]=A,uA(w=l+452|0,91384,l+240|0),w=m=kA(t,w,l+304|0)}if(m)break l}i:{if(h){if(!(1&g[133096]))break i;e[l+208>>2]=A,uA(m=l+452|0,91498,l+208|0),m=kA(t,m,l+304|0)}else M=e[t+108>>2],e[l+224>>2]=A,uA(m=l+452|0,(0|r)>=2?91700:(262144&M)>>>18|0?91534:91700,l+224|0),m=kA(t,m,l+304|0);if(m)break l}!y|!(32&d[t+109|0])?(e[l+192>>2]=A,uA(m=l+452|0,91766,l+192|0),m=kA(t,m,l+304|0)):m=0}if(!(16&n)|(0|A)>9)break c;m=w;break o}if(BA(M,133116),!(16&n)|(0|A)>9)break n}kA(t,88875,l+368|0);break r}if(!m)break a;m=w}g[l+368|0]=0;break r}a:if(y&&(e[l+180>>2]=ee,e[l+176>>2]=P,uA(m=l+452|0,91846,l+176|0),kA(t,m,l+368|0))){if(w=1,!R|!(16&d[t+109|0]))break a;gs(l+368|0,133104)}else w||(e[l+160>>2]=P,uA(w=l+452|0,512&n?91936:92016,l+160|0),kA(t,w,l+368|0),w=0);if(m=R,d[l+368|0]||(m=R,16&d[t+106|0]&&(e[l+144>>2]=254&P,uA(m=l+452|0,92016,l+144|0),kA(t,m,l+368|0),m=(0|A)%20|0)),g[l+304|0]=0,P=m,(0|m)<=0)m=w;else{if(h&&(m=e[33273],d[0|m])){BA(l+304|0,m),g[l+432|0]=0,M=y;break t}if(M=0,8&n&&(e[l+128>>2]=P,uA(n=l+452|0,91314,l+128|0),M=kA(t,n,l+304|0)),!y|16&d[t+104|0]||(e[l+116>>2]=ee,e[l+112>>2]=P,uA(n=l+452|0,91384,l+112|0),w=(M=kA(t,n,l+304|0))?1:w),m=w,!M){a:{if(!h|!(1&e[33274])){if(!(16&d[t+104|0])&&h)break a;w=e[t+108>>2],e[l+96>>2]=P,uA(n=l+452|0,(0|r)>=2?91700:(262144&w)>>>18|0?91534:91700,l+96|0),r=kA(t,n,l+304|0)}else e[l+80>>2]=P,uA(r=l+452|0,91498,l+80|0),r=kA(t,r,l+304|0);if(r)break r}e[l+64>>2]=P,uA(r=l+452|0,91766,l- -64|0),kA(t,r,l+304|0)}}}M=y,d[l+432|0]|m|!y||((0|A)<20|(16&d[t+104|0]?0:R)||(kA(t,92162,l+432|0),M=1,!d[l+432|0]))&&(kA(t,92205,l+432|0),M=1)}if(!(!(r=g[l+304|0])|!(48&(A=e[t+104>>2]))|!d[l+368|0])){if(kA(t,90824,l+292|0),!M|!(8&d[t+109|0])||(g[l+292|0]=0),16&d[t+104|0]){e[l+28>>2]=l+432,e[l+24>>2]=l+368,e[l+20>>2]=l+292,e[l+16>>2]=l+304,uA(i,91059,l+16|0),n=1;break e}e[l+12>>2]=l+432,e[l+8>>2]=l+304,e[l+4>>2]=l+292,e[l>>2]=l+368,uA(i,91059,l),n=1;break e}512&A&&(!r|(0|(A=wA(l+368|0)-1|0))<0||(m=d[e[144464+(g[0|(A=A+(l+368|0)|0)]<<2)>>2]+11|0]!=2,(0|(n=d[e[144464+(r<<2)>>2]+11|0]))==1&&(n=d[e[144464+(g[l+305|0]<<2)>>2]+11|0]),m|(255&n)!=2||(g[0|A]=0))),!(8&d[t+110|0])|!d[l+432|0]?(e[l+56>>2]=l+432,e[l+52>>2]=l+304,e[l+48>>2]=l+368,uA(i,92282,l+48|0)):(e[l+36>>2]=l+304,e[l+32>>2]=l+368,(0|(A=uA(i,90368,l+32|0)))>0&&(A=d[e[144464+(d[(r=A-1|0)+i|0]<<2)>>2]+11|0]==2?r:A),BA(A+i|0,l+432|0))}else BA(i,m);n=0}e:if(268435456&(t=e[t+104>>2])){if((0|wA(i))<=0)break e;for(A=0,t=0;d[0|(r=t+i|0)]==6&&(A&&(g[0|r]=5),A=1),t=t+1|0,(0|wA(i))>(0|t););}else if(256&t&&(A=0,!((0|(t=(y=wA(i))-1|0))<0))){if(t)for(R=-2&y,m=0;d[0|(w=t+i|0)]==6?(r=1,A&&(g[0|w]=5)):r=A,d[0|(w=w-1|0)]==6?(A=1,r&&(g[0|w]=5)):A=r,t=t-2|0,(0|R)!=(0|(m=m+2|0)););1&y&&(!A|d[0|(t=t+i|0)]!=6||(g[0|t]=5))}return oe=l+464|0,n}function Tt(t,A,r,n){var i,l,h=0,m=0,w=0,M=0,y=0,P=0,R=0;if(oe=i=oe-352|0,g[i+304|0]=0,g[i+224|0]=0,g[i+64|0]=0,w=e[e[47192]+292>>2],R=or(i+348|0,A),(1048320&(h=e[i+348>>2]))==57344&&(h&=255,e[i+348>>2]=h),2&n&&$n(h)&&kA(t,85437,i+304|0),h=Za(e[i+348>>2],t),e[i+348>>2]=h,P=1&n,ir(t,h,g[0|(l=A+R|0)],i+224|0,P),!(A=d[i+224|0])){e:if((A=Jn(e[i+348>>2]))&&(e[i+348>>2]=16383&A,4&n)){switch(1073741823&(A>>=14)){case 0:case 3:break e}kA(t,A=e[131232+(A<<2)>>2],i+304|0),d[i+304|0]||(g[i+306|0]=Ji(84744),y=A,A=i+304|3,kA(e[47194],y,A),d[i+307|0]&&(v[i+304>>1]=5385,A=wA(A)+(i+304|0)|0,g[A+5|0]=0,g[A+4|0]=w,g[A+3|0]=21))}ir(t,e[i+348>>2],g[0|l],i+224|0,P),A=d[i+224|0]}e:{t:{if(A&=255){if((0|A)!=21)break t;BA(r,i+224|0),R=0;break e}if(A=1632,!((0|(h=e[i+348>>2]))<1632)){for(M=103360;;){if((0|h)>=(A+10|0)){if(!(A=e[(M=M+4|0)>>2]))break t;if((0|A)<=(0|h))continue;break t}break}(0|(A=48+(h-A|0)|0))<=0||ir(t,A,0,i+224|0,P)}}t:{r:{a:{n:{if(A=Wa(e[i+348>>2])){if(h=e[A+4>>2],!A|1&(M=e[A+16>>2])||(m=e[47192],e[m+600>>2]==(0|h)|e[m+188>>2]==(0|h)|e[m+184>>2]==(0|h)||(g[i+144|0]=0,kA(m,e[A>>2],i- -64|0)?(0|(m=e[47192]))!=(0|t)&&(w=e[t+292>>2],BA(i+144|0,i- -64|0),g[i+66|0]=e[m+292>>2]):(g[i+66|0]=Ji(84744),kA(e[47194],e[A>>2],i+144|0)),d[i+144|0]&&(v[i+64>>1]=5385,BA(3|(m=i- -64|0),y=i+144|0),m=wA(y)+m|0,g[m+5|0]=0,g[m+4|0]=w,g[m+3|0]=21))),d[i+224|0])break t;if(!h||(w=e[47192],e[w+188>>2]!=(0|h)))break n;A=e[w+192>>2];break r}if(d[i+224|0])break t;M=0,h=0;break a}if((A=e[A+12>>2])&&!(2&M))break r}A=25966}if((e[t+212>>2]==(0|A)&(0|A)!=27503||(g[i+226|0]=Ji(mo(i+47|0,A)),(A=e[47194])&&((0|(w=e[i+348>>2]))>55215||(0|(m=w-44032|0))<0?ir(A,w,g[0|l],i+224|3,P):(g[i+52|0]=32,A=y=i+53|0,w-50500>>>0>=588&&(A=_s(4352+((m>>>0)/588|0)|0,y)+y|0),_s(4449+(((w=(m>>>0)/28|0)>>>0)%21|0)|0,A),_s(4519+(m-F(w,28)|0)|0,A+3|0),g[A+6|0]=32,g[A+7|0]=0,g[i+227|0]=0,A=i+224|3,zA(e[47194],y,A,77,0,0,0),bA(e[47194],A,0,-1,0)),A=i+224|3,d[i+227|0]==21&&(g[i+226|0]=Ji(i+224|4),ir(e[47194],e[i+348>>2],g[0|l],A,P)),Ia(e[e[32972]+60>>2]),d[i+227|0]&&(v[i+224>>1]=5385,A=wA(A)+(i+224|0)|0,g[A+3|0]=21,P=e[t+292>>2],g[A+5|0]=0,g[A+4|0]=P)),!d[i+224|0]))&&(16&M||(aa(e[i+348>>2])&&kA(e[47192],85683,i+224|0),d[i+224|0]||(Ts(e[i+348>>2])||kA(e[47192],85778,i+224|0),d[i+224|0]||Rn(85992,i+224|0,0))),!(8&M)||4&n)){if(A=e[i+348>>2],(0|h)!=10240?(e[i+32>>2]=A,uA(i+52|0,86013,i+32|0)):(h=i+52|0,1&A&&(g[i+52|0]=49,h=i+53|0),2&A&&(g[0|h]=50,h=h+1|0),4&A&&(g[0|h]=51,h=h+1|0,A=e[i+348>>2]),8&A&&(g[0|h]=52,h=h+1|0,A=e[i+348>>2]),16&A&&(g[0|h]=53,h=h+1|0,A=e[i+348>>2]),32&A&&(g[0|h]=54,h=h+1|0,A=e[i+348>>2]),64&A&&(g[0|h]=55,h=h+1|0,A=e[i+348>>2]),128&A&&(g[0|h]=56,h=h+1|0),g[0|h]=0),A=i+224|0,M=d[i+52|0])for(h=i+52|0;A=wA(A)+A|0,g[0|A]=23,A=A+1|0,ir(e[47192],M<<24>>24,0,A,1),(n=d[0|A])&&(0|n)!=21||(0|(n=g[0|h]))<97||Rn(e[130860+((255&n)<<2)>>2],A,0),M=d[0|(h=h+1|0)];);A=wA(A)+A|0,g[0|A]=9,g[A+1|0]=0}}A=wA(r),2&d[t+144|0]?(e[i+16>>2]=255,e[i+28>>2]=i+304,e[i+24>>2]=i+224,e[i+20>>2]=i- -64,uA(i+144|0,86210,i+16|0)):(e[i>>2]=255,e[i+12>>2]=i+224,e[i+8>>2]=i+304,e[i+4>>2]=i- -64,uA(i+144|0,86210,i)),wA(i+144|0)+A>>>0>199||BA(A+r|0,i+144|0)}return oe=i+352|0,R}function MA(t,A,r,n,i,l,h){var m,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0,cA=0,gA=0,SA=0,VA=0,qA=0;oe=m=oe-528|0,_e=h?e[h>>2]:0,Pt=e[i+4>>2];e:{t:{if(e[t+220>>2]>0){vr(M=m+352|0,A,160),oe=ee=oe-176|0,ue=1-(ae=e[t+220>>2])|0,be=e[t+224>>2],Ve=e[t+216>>2],P=M;r:{a:{for(;;){if($e=or(ee+172|0,P),w=e[ee+172>>2]){if((0|w)<(0|ae)|(0|w)>(0|Ve))break a;if(be){if((0|(w=g[be+(w-ae|0)|0]))<=0)break a}else w=w+ue|0;if(P=P+$e|0,g[R+ee|0]=w,w=160,(0|(R=R+1|0))!=160)continue}else w=R;break}if(be=0,g[w+ee|0]=0,ue=g[0|ee],e[ee+172>>2]=ue,ue){for(Wt=2+(Ve-ae|0)|0,ae=w=ee;;){Ve=w+1|0;n:{if(($e=e[t+8180>>2])&&(R=0,!((0|(P=v[$e>>1]))>(0|(ht=(g[0|Ve]<<8)+ue|0)))))for(;;){if((0|P)==(0|ht)){ue=R+Wt|0,e[ee+172>>2]=ue,w=w+2|0;break n}if(!((0|ht)>=(0|(P=v[$e+((R=R+1|0)<<1)>>1]))))break}w=Ve}if(it=63&ue|it<<6,(0|(R=be+6|0))<8?be=R:(be=be-2|0,g[0|ae]=it>>be,ae=ae+1|0),ue=g[0|w],e[ee+172>>2]=ue,!ue)break}(0|be)<=0||(g[0|ae]=it<<8-be,ae=ae+1|0)}else ae=ee;g[0|ae]=0,$A(M,ee,w=ae-ee|0),ae=64|w;break r}ae=wA(M)}oe=ee+176|0,ee=M}else ae=wA(A),ee=A;if(M=d[0|ee]){for(w=0,R=ee;y=1023&(y=(y<<3)+M|0)^y>>>8,w=w+1|0,M=d[0|(R=R+1|0)];);w=w+y&1023}else w=0;if(y=e[692+((w<<2)+t|0)>>2]){if(w=d[0|y])break t;w=0;break e}if(w=0,!i)break e;e[i>>2]=0;break e}for($e=1073741824&Pt,ht=2048&l,Pt=512&_e,Wt=65536&_e,cA=1&_e,gA=2&_e,_e=8&l,SA=1024&l,Ve=4&l,VA=63&ae,qA=t+8233|0;;){l=(255&w)+y|0;t:{r:if((127&(w=d[y+1|0]))==(0|ae)&&!ra(ee,y+2|0,VA)){y=2+((63&w)+y|0)|0;a:{if(w<<24>>24<0)be=0,g[0|n]=0;else{if((0|(be=wA(y)))>=160)break a;BA(n,y),y=1+(y+be|0)|0}if(M=0,l>>>0<=y>>>0)w=r,P=0;else{R=0,P=0;n:{for(;;){y=(w=y)+1|0;c:if((w=d[0|w])>>>0>=100){if(ue=e[t+320>>2],w>>>0>=132){R|=ue>>>w-132&1;break c}R|=!(ue>>>w-100&1)}else{if(w>>>0>=81){ue=w-80|0,it=l-y|0;o:if(h)for(w=0;;){if(yt=F(w,12)+h|0,!d[yt+10|0])break o;if(R=!!(12&d[yt+1|0])|R,yt=(0|w)!=(0|ue),w=w+1|0,!yt)break}if(go(r,y,it)|1&R)break r;e[33264]=ue,w=r+it|0,P|=128,y=l;break n}w>>>0>=65?(P=15&w|-16&P,P=12&~w?P:512|P):w>>>0>=32?M|=1<<w-32:P|=1<<w}if(!(l>>>0>y>>>0))break}if(w=r,1&R)break t}if(65536&M&&!Ve||SA&&49152&M)break t}if(Ve&&(16384&M||!_e&&32768&M)||(gA?0:512&M)|(cA?0:1024&M)|(Wt?0:33554432&P)||!(!(131072&M)|re[e[47192]+8204>>2]<=w>>>0|$e)|(Pt?0:262144&M)|(8&d[e[47192]+8242|0]?0:8192&M)||16&M&&(!e[t+8184>>2]&(!_e|!e[t+8192>>2])||!(!_e|e[t+212>>2]!=25966)&&2097152&e[t+8232>>2])||(e[t+8188>>2]?0:64&M)|(!e[t+8196>>2]|ht?32&M:0)||!(!(65536&P)|e[t+212>>2]!=26741|128&d[0|qA])|(e[47192]!=(0|t)?524288&M:0))break t;n:{c:{o:{if(!i){if(!be)break o;break n}if(e[i+4>>2]=M,e[i>>2]=1073741824|P,be)break c}if(w=0,!(8&d[188788]))break e;Hi(i,t=m+272|0),e[m>>2]=A,e[m+4>>2]=t,ss(e[47195],89330,m);break e}e[i>>2]=-1073741824|P}if(8&d[188788]&&(TA(n,m- -64|0),d[e[47192]+172|0]==(P>>>29&1)&&(!h|!(128&P)?(e[m+48>>2]=A,ss(e[47195],89426,m+48|0)):($A(t=m+352|0,n=r,r=w-r|0),g[351+(r+m|0)|0]=0,e[m+32>>2]=A,e[m+36>>2]=t,ss(e[47195],89397,m+32|0)),Hi(i,t=m+272|0),A=e[47195],e[m+16>>2]=m- -64,e[m+20>>2]=t,ss(A,89534,m+16|0))),d[or(m- -64|0,ee)+ee|0]|!i||Wr(e[m+64>>2]))break e;e[i>>2]=134217728|e[i>>2];break e}me(89236,86634,2467,94846),W()}y=l}if(!(w=d[0|y]))break}w=0}return oe=m+528|0,w}function QA(t,A,r,n,i){var l,h=0,m=0;oe=l=oe-304|0,g[l+278|0]=0;e:{if((0|A)>0&&(1&n&&(2&n&&(e[l+164>>2]=r,e[l+160>>2]=A,uA(h=l+290|0,89701,l+160|0),h=kA(t,h,l+224|0))||1&g[133096]&&(e[l+148>>2]=r,e[l+144>>2]=A,uA(h=l+290|0,89757,l+144|0),h=kA(t,h,l+224|0))||(e[l+132>>2]=r,e[l+128>>2]=A,uA(h=l+290|0,89894,l+128|0),h=kA(t,h,l+224|0)))||(e[l+116>>2]=r,e[l+112>>2]=A,uA(h=l+290|0,89974,l+112|0),h=kA(t,h,l+224|0))))break e;if((0|(m=(0|A)%100|0))>=20&&kA(t,90022,l+278|0),1&n){if(2&n){h=m-11|0;t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(h>>>0<9)break r;if(n=90418,(0|(h=(0|A)%10|0))==1)break t;if(h-2>>>0>=3)break r;n=90453;break t;case 1:if(A-2>>>0>=3)break r;n=90453;break t;case 2:if(h>>>0<9|((0|A)%10|0)-2>>
2810>0>=3)break r;n=90453;break t;case 3:if(n=90508,h>>>0<9)break t;n=(n=(0|A)%10|0)?(0|n)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(h>>>0<9)){if(n=90537,(0|(h=(0|A)%10|0))==1)break t;if(!(h-2>>>0>=3)){n=90453;break t}}}n=90586}if(e[l+100>>2]=r,e[l+96>>2]=n,uA(n=l+290|0,90058,l+96|0),h=0,kA(t,n,l+224|0))break e}if(n=m-11|0,1&g[133096]){t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(n>>>0<9)break r;if(h=90418,(0|(m=(0|A)%10|0))==1)break t;if(m-2>>>0>=3)break r;h=90453;break t;case 1:if(A-2>>>0>=3)break r;h=90453;break t;case 2:if(n>>>0<9|((0|A)%10|0)-2>>>0>=3)break r;h=90453;break t;case 3:if(h=90508,n>>>0<9)break t;h=(h=(0|A)%10|0)?(0|h)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(n>>>0<9)){if(h=90537,(0|(m=(0|A)%10|0))==1)break t;if(!(m-2>>>0>=3)){h=90453;break t}}}h=90586}if(e[l+84>>2]=r,e[l+80>>2]=h,uA(m=l+290|0,90110,l+80|0),h=0,kA(t,m,l+224|0))break e}t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(n>>>0<9)break r;if(h=90418,(0|(m=(0|A)%10|0))==1)break t;if(m-2>>>0>=3)break r;h=90453;break t;case 1:if(A-2>>>0>=3)break r;h=90453;break t;case 2:if(n>>>0<9|((0|A)%10|0)-2>>>0>=3)break r;h=90453;break t;case 3:if(h=90508,n>>>0<9)break t;h=(h=(0|A)%10|0)?(0|h)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(n>>>0<9)){if(h=90537,(0|(m=(0|A)%10|0))==1)break t;if(!(m-2>>>0>=3)){h=90453;break t}}}h=90586}if(e[l+68>>2]=r,e[l+64>>2]=h,uA(m=l+290|0,90139,l- -64|0),h=0,kA(t,m,l+224|0))break e}else n=m-11|0;t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(n>>>0<9)break r;if(h=90418,(0|(n=(0|A)%10|0))==1)break t;if(n-2>>>0>=3)break r;h=90453;break t;case 1:if(A-2>>>0>=3)break r;h=90453;break t;case 2:if(n>>>0<9|((0|A)%10|0)-2>>>0>=3)break r;h=90453;break t;case 3:if(h=90508,n>>>0<9)break t;h=(n=(0|A)%10|0)?(0|n)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(n>>>0<9)){if(h=90537,(0|(n=(0|A)%10|0))==1)break t;if(!(n-2>>>0>=3)){h=90453;break t}}}h=90586}e[l+52>>2]=r,e[l+48>>2]=h,uA(n=l+290|0,90218,l+48|0),h=0,kA(t,n,l+224|0)||((0|r)<4||(e[l+32>>2]=r-1,uA(n=l+290|0,89026,l+32|0),kA(t,n,l+176|0)||(kA(t,90273,l+224|0),e[33275]=3)),d[l+224|0]||(e[l+16>>2]=A,uA(n=l+290|0,90303,l+16|0),(h=kA(t,n,l+224|0))||kA(t,90347,l+224|0),e[33275]=2))}return e[l+4>>2]=l+224,e[l>>2]=l+278,uA(i,90368,l),oe=l+304|0,!((0|A)!=1|(0|r)!=1)&&(A=1,32&d[t+106|0])||(A=h),A}function ZA(t,A,r,n){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=i=oe+-64|0,v[i+48>>1]=0,e[i+40>>2]=0,e[i+44>>2]=0,e[i+32>>2]=0,e[i+36>>2]=0,e[i+24>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i>>2]=0,e[i+4>>2]=0,l=A;e:{for(;;){t:{r:{if((0|(h=d[0|l]))!=69){if((0|h)!=32)break r;if(n&&(g[$A(h=n,A,n=(0|(n=l-A|0))>=159?159:n)+n|0]=0),n=63&r)break t;break e}g[0|l]=101}l=l+1|0;continue}break}if(1&r){t:if((l=l-1|0)>>>0<A>>>0)h=n;else for(h=n;;){if((192&d[0|l])!=128)break t;if(h=h+1|0,!((l=l-1|0)>>>0>=A>>>0))break}m=n-1|0}else m=n,h=n;if((0|n)!=1)for(;;){n=m;t:if(!((l=l-1|0)>>>0<A>>>0))for(;;){if((192&d[0|l])!=128)break t;if(h=h+1|0,!((l=l-1|0)>>>0>=A>>>0))break}t:if(!((l=l-1|0)>>>0<A>>>0))for(;;){if((192&d[0|l])!=128)break t;if(h=h+1|0,!((l=l-1|0)>>>0>=A>>>0))break}if(m=n-2|0,!((0|n)>2))break}if((0|h)<=0)m=0;else{if(w=3&(m=(n=(A=h-1|0)>>>0>=48?48:A)+1|0),A=0,h=0,n>>>0>=3)for(P=-4&m,n=0;M=l+h|0,g[h+i|0]=d[0|M],g[0|M]=32,M=(y=1|h)+l|0,g[i+y|0]=d[0|M],g[0|M]=32,M=(y=2|h)+l|0,g[i+y|0]=d[0|M],g[0|M]=32,M=(y=3|h)+l|0,g[i+y|0]=d[0|M],g[0|M]=32,h=h+4|0,(0|P)!=(0|(n=n+4|0)););if(w)for(;n=l+h|0,g[h+i|0]=d[0|n],g[0|n]=32,h=h+1|0,(0|w)!=(0|(A=A+1|0)););}}if(g[i+m|0]=0,w=65520&r,!(512&r)|d[0|(n=l-1|0)]!=105||(g[0|n]=121),h=4|w,256&r){e:{t:{r:{if((0|(A=e[t+212>>2]))!=25966){if((0|A)!=28268)break r;if(g[0|n]<0||128&(A=g[0|(m=l-2|0)]))break e;if(w=e[t+632>>2])A=!!(0|rs(w,A));else{if((0|(w=e[t+600>>2]))>0&&(A=A-w|0)-1>>>0>254)break e;A=128&d[344+(t+A|0)|0]}if(!A)break e;if(A=g[0|n],w=e[t+612>>2])A=!!(0|rs(w,A));else{a:{if((0|(w=e[t+600>>2]))>0){if((A=A-w|0)-1>>>0<255)break a;break e}if((0|A)<0)break e}A=4&d[344+(t+A|0)|0]}if(!A)break e;A=g[l-3|0];a:{if(w=e[t+632>>2])A=!!(0|rs(w,A));else{n:{if((0|(w=e[t+600>>2]))>0){if((A=A-w|0)-1>>>0<255)break n;break a}if((0|A)<0)break a}A=128&d[344+(t+A|0)|0]}if(A)break e}g[0|l]=d[0|n],g[0|n]=d[0|m],g[l+1|0]=32;break e}if(m=g[l-2|0],A=e[t+632>>2])A=!!(0|rs(A,m));else{a:{if((0|(A=e[t+600>>2]))>0){if((m=m-A|0)-1>>>0<255)break a;break t}if((0|m)<0)break t}A=128&d[344+(t+m|0)|0]}if(!A)break t;if(m=g[0|n],A=e[t+608>>2])A=!!(0|rs(A,m));else{if((0|(A=e[t+600>>2]))>0){if((m=m-A|0)-1>>>0>=255)break t}else if((0|m)<0)break t;A=2&d[344+(t+m|0)|0]}if(!A)break t;h=ra(87771,l-3|0,3)?20|w:h;break e}h=e[t+204>>2]?20|w:h;break e}(d[0|n]==99||(m=d[1+(A=l-2|0)|0]<<8,(d[0|A]|m)==29554|(m|d[0|A])==29289||(d[0|(A=l-2|0)]|d[A+1|0]<<8)==29301||!ra(88115,l-3|0,3)||(d[0|(A=l-2|0)]|d[A+1|0]<<8)==29550|d[0|n]==117||!ra(88384,l-5|0,5)||(d[0|(A=l-4|0)]|d[A+1|0]<<8|d[A+2|0]<<16|d[A+3|0]<<24)==1735287154||(d[0|A]|d[A+1|0]<<8|d[A+2|0]<<16|d[A+3|0]<<24)==1735549292))&&(h=20|w)}16&h&&(_s(e[t+204>>2],l),8&d[188788]&&bn(88683,6,e[47195]))}return e[t+8184>>2]|!(2048&r)||(e[t+8184>>2]=1),_[i>>1]!=115&&ra(i,88850,3)||(h|=8),oe=i- -64|0,d[0|i]==39?65531&h:h}function FA(t,A,r,n,i,l,h,m,w){var M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0;oe=M=oe-112|0,y=2147483647&w;e:{if(R=!(A|r),(n|(P=2147483647&i)?P-2147418112>>>0<2147549184:R)||!(!m&(0|(ae=y-2147418112|0))==-2147418112?l|h:(0|ae)==-2147418112&!!(0|m)|ae>>>0>2147549184)){if(!(!n&(0|P)==2147418112?R:P>>>0<2147418112)){m=n,w=32768|i,l=A,h=r;break e}if(!(!m&(0|y)==2147418112?!(l|h):y>>>0<2147418112)){w|=32768;break e}if(!(A|n|2147418112^P|r)){ee=n,m=(n=!(A^l|n^m|r^h|i^w^-2147483648))?0:ee,w=n?2147450880:i,l=n?0:A,h=n?0:r;break e}if(!(l|m|2147418112^y|h))break e;if(!(A|n|r|P)){if(l|m|h|y)break e;l&=A,h&=r,m&=n,w&=i;break e}if(!(l|m|h|y)){l=A,h=r,m=n,w=i;break e}}P=(R=_e=(ee=(0|y)==(0|P))&(0|n)==(0|m)?(0|r)==(0|h)&A>>>0<l>>>0|r>>>0<h>>>0:ee&n>>>0<m>>>0|y>>>0>P>>>0)?l:A,ae=R?h:r,Ve=ee=R?w:i,R=R?m:n,be=65535&ee,n=_e?n:m,$e=i=_e?i:w,ee=i>>>16&32767,(ue=Ve>>>16&32767)||(w=i=!(R|be),y=i?P:R,m=i<<=6,ea(M+96|0,P,ae,R,be,(i=i+((0|(w=ce(w?ae:be)))==32?ce(y)+32|0:w)|0)-15|0),R=e[M+104>>2],be=e[M+108>>2],ae=e[M+100>>2],ue=16-i|0,P=e[M+96>>2]),l=_e?A:l,h=_e?r:h,m=n,w=65535&$e,ee||(i=A=!(m|w),y=A?l:m,r=A<<=6,ea(M+80|0,l,h,m,w,(A=A+((0|(i=ce(i?h:w)))==32?ce(y)+32|0:i)|0)-15|0),ee=16-A|0,m=e[M+88>>2],w=e[M+92>>2],h=e[M+84>>2],l=e[M+80>>2]),r=w<<3|m>>>29,A=m<<3|h>>>29,r|=524288,m=R<<3|ae>>>29,w=be<<3|R>>>29,_e=Ve^$e,i=h<<3|l>>>29,n=l<<3,(0|ee)!=(0|ue)&&((l=ue-ee|0)>>>0>127?(A=0,r=0,i=0,n=1):(ea(M- -64|0,n,i,A,r,128-l|0),Da(M+48|0,n,i,A,r,l),A=e[M+56>>2],r=e[M+60>>2],i=e[M+52>>2],n=e[M+48>>2]|!!(e[M+64>>2]|e[M+72>>2]|e[M+68>>2]|e[M+76>>
vendor: 15,024 bytes, line 2810
28102]))),R=n,y=i,ee=m,be=524288|w,i=ae<<3|P>>>29,ae=P<<3,P=i;t:if((0|_e)<0){if(l=0,h=0,m=0,w=0,!(R^ae|A^ee|y^P|r^be))break e;if(n=ae-R|0,i=P-((R>>>0>ae>>>0)+y|0)|0,m=(l=ee-A|0)-(h=(0|y)==(0|P)&R>>>0>ae>>>0|y>>>0>P>>>0)|0,w=A=(be-((A>>>0>ee>>>0)+r|0)|0)-(l>>>0<h>>>0)|0,A>>>0>524287)break t;l=A=!(m|w),h=A?n:m,r=A<<=6,ea(M+32|0,n,i,m,w,A=(A=A+((0|(l=ce(l?i:w)))==32?ce(h)+32|0:l)|0)-12|0),ue=ue-A|0,m=e[M+40>>2],w=e[M+44>>2],n=e[M+32>>2],i=e[M+36>>2]}else i=y+P|0,l=(0|y)==(0|(i=(n=R+ae|0)>>>0<ae>>>0?i+1|0:i))&n>>>0<R>>>0|i>>>0<y>>>0,y=r+be|0,y=(A=A+ee|0)>>>0<ee>>>0?y+1|0:y,1048576&(w=(m=A+l|0)>>>0<A>>>0?y+1|0:y)&&(n=1&R|(1&i)<<31|n>>>1,i=m<<31|i>>>1,ue=ue+1|0,m=(1&w)<<31|m>>>1,w=w>>>1|0);if(r=0,P=-2147483648&Ve,(0|ue)>=32767)m=r,w=2147418112|P,l=0,h=0;else if(ee=0,(0|ue)>0?ee=ue:(ea(M+16|0,n,i,m,w,ue+127|0),Da(M,n,i,m,w,1-ue|0),n=e[M>>2]|!!(e[M+16>>2]|e[M+24>>2]|e[M+20>>2]|e[M+28>>2]),i=e[M+4>>2],m=e[M+8>>2],w=e[M+12>>2]),ae=7&n,n=(0|(A=m<<29|i>>>3))==(0|(h=(n=(7&i)<<29|n>>>3)>>>0>(l=(ae>>>0>4)+n|0)>>>0?A+1|0:A))&n>>>0>l>>>0|A>>>0>h>>>0,A=r|(7&w)<<29|m>>>3,w=P|w>>>3&65535|ee<<16,w=A>>>0>(m=n+A|0)>>>0?w+1|0:w,(0|ae)!=4){if(!ae)break e}else y=h+(A=0)|0,w=(A=(0|A)==(0|(h=(n=l)>>>0>(l=l+(r=1&l)|0)>>>0?y+1|0:y))&r>>>0>l>>>0|A>>>0>h>>>0)>>>0>(m=A+m|0)>>>0?w+1|0:w}e[t>>2]=l,e[t+4>>2]=h,e[t+8>>2]=m,e[t+12>>2]=w,oe=M+112|0}function EA(t){var A=0,r=0,n=0,i=0,l=0,h=0,m=0;e:if(t|=0){l=(n=t-8|0)+(t=-8&(A=e[t-4>>2]))|0;t:if(!(1&A)){if(!(3&A)||(n=n-(A=e[n>>2])|0)>>>0<re[57156])break e;if(t=t+A|0,e[57157]==(0|n)){if(!(3&~(A=e[l+4>>2])))return e[57154]=t,e[l+4>>2]=-2&A,e[n+4>>2]=1|t,void(e[t+n>>2]=t)}else{if(A>>>0<=255){if(i=e[n+8>>2],A=A>>>3|0,(0|(r=e[n+12>>2]))==(0|i)){e[57152]=e[57152]&Ks(-2,A);break t}e[i+12>>2]=r,e[r+8>>2]=i;break t}if(m=e[n+24>>2],(0|n)==(0|(A=e[n+12>>2])))if((r=e[(i=n+20|0)>>2])||(r=e[(i=n+16|0)>>2])){for(;h=i,(r=e[(i=(A=r)+20|0)>>2])||(i=A+16|0,r=e[A+16>>2]););e[h>>2]=0}else A=0;else r=e[n+8>>2],e[r+12>>2]=A,e[A+8>>2]=r;if(!m)break t;i=e[n+28>>2];r:{if(e[(r=228912+(i<<2)|0)>>2]==(0|n)){if(e[r>>2]=A,A)break r;e[57153]=e[57153]&Ks(-2,i);break t}if(e[m+(e[m+16>>2]==(0|n)?16:20)>>2]=A,!A)break t}if(e[A+24>>2]=m,(r=e[n+16>>2])&&(e[A+16>>2]=r,e[r+24>>2]=A),!(r=e[n+20>>2]))break t;e[A+20>>2]=r,e[r+24>>2]=A}}if(!(n>>>0>=l>>>0)&&1&(A=e[l+4>>2])){t:{if(!(2&A)){if(e[57158]==(0|l)){if(e[57158]=n,t=e[57155]+t|0,e[57155]=t,e[n+4>>2]=1|t,e[57157]!=(0|n))break e;return e[57154]=0,void(e[57157]=0)}if(e[57157]==(0|l))return e[57157]=n,t=e[57154]+t|0,e[57154]=t,e[n+4>>2]=1|t,void(e[t+n>>2]=t);t=(-8&A)+t|0;r:if(A>>>0<=255){if(i=e[l+8>>2],A=A>>>3|0,(0|(r=e[l+12>>2]))==(0|i)){e[57152]=e[57152]&Ks(-2,A);break r}e[i+12>>2]=r,e[r+8>>2]=i}else{if(m=e[l+24>>2],(0|l)==(0|(A=e[l+12>>2])))if((r=e[(i=l+20|0)>>2])||(r=e[(i=l+16|0)>>2])){for(;h=i,(r=e[(i=(A=r)+20|0)>>2])||(i=A+16|0,r=e[A+16>>2]););e[h>>2]=0}else A=0;else r=e[l+8>>2],e[r+12>>2]=A,e[A+8>>2]=r;if(m){i=e[l+28>>2];a:{if(e[(r=228912+(i<<2)|0)>>2]==(0|l)){if(e[r>>2]=A,A)break a;e[57153]=e[57153]&Ks(-2,i);break r}if(e[m+(e[m+16>>2]==(0|l)?16:20)>>2]=A,!A)break r}e[A+24>>2]=m,(r=e[l+16>>2])&&(e[A+16>>2]=r,e[r+24>>2]=A),(r=e[l+20>>2])&&(e[A+20>>2]=r,e[r+24>>2]=A)}}if(e[n+4>>2]=1|t,e[t+n>>2]=t,e[57157]!=(0|n))break t;return void(e[57154]=t)}e[l+4>>2]=-2&A,e[n+4>>2]=1|t,e[t+n>>2]=t}if(t>>>0<=255)return A=228648+(-8&t)|0,(r=e[57152])&(t=1<<(t>>>3))?t=e[A+8>>2]:(e[57152]=t|r,t=A),e[A+8>>2]=n,e[t+12>>2]=n,e[n+12>>2]=A,void(e[n+8>>2]=t);i=31,t>>>0<=16777215&&(i=62+((t>>>38-(A=ce(t>>>8|0))&1)-(A<<1)|0)|0),e[n+28>>2]=i,e[n+16>>2]=0,e[n+20>>2]=0,h=228912+(i<<2)|0;t:{r:{if((r=e[57153])&(A=1<<i)){for(i=t<<((0|i)!=31?25-(i>>>1|0):0),A=e[h>>2];;){if(r=A,(-8&e[A+4>>2])==(0|t))break r;if(A=i>>>29|0,i<<=1,!(A=e[16+(h=r+(4&A)|0)>>2]))break}e[h+16>>2]=n,e[n+24>>2]=r}else e[57153]=A|r,e[h>>2]=n,e[n+24>>2]=h;e[n+12>>2]=n,e[n+8>>2]=n;break t}t=e[r+8>>2],e[t+12>>2]=n,e[r+8>>2]=n,e[n+24>>2]=0,e[n+12>>2]=r,e[n+8>>2]=t}t=e[57160]-1|0,e[57160]=t||-1}}}function Rr(t,A,r){var n,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0;oe=n=oe-176|0;e:{if(32&A)ee=r-((0|r)>1)|0;else{l=Tr(t,93302);t:{r:{a:{if((0|A)!=2){if(l)break a;A=0;break e}if(ee=r+1|0,P=56+(ae=F(r,76)+133152|0)|0,R=Tr(t,89360),h=Tr(t,93318),m=Tr(t,93426),w=Tr(t,93499),l)break r;break t}ee=r+1|0,P=56+(ae=F(r,76)+133152|0)|0,w=0}for(t=0,M=(0|(i=e[l-4>>2]))!=34?(0|i)==39?i:0:i,ue=F(r,76)+133208|0;;){if(i=t,!(t=e[l>>2]))break t;r:{if(!M){if((0|t)==32|t-9>>>0<5)break t;if((0|t)!=47)break r;break t}if((0|i)!=92&&(0|t)==(0|M))break t}if(l=l+4|0,!((0|(y=_s(t,y+ue|0)+y|0))<16))break}}M=0,g[y+P|0]=0,y=F(r,76)+133168|0,l=0;t:if(R)for(t=0,P=(0|(i=e[R-4>>2]))!=34?(0|i)==39?i:0:i;;){if(i=t,!(t=e[R>>2]))break t;r:{if(!P){if((0|t)==32|t-9>>>0<5)break t;if((0|t)!=47)break r;break t}if((0|i)!=92&&(0|t)==(0|P))break t}if(R=R+4|0,!((0|(l=_s(t,l+y|0)+l|0))<36))break}if(g[l+y|0]=0,!(!h|e[h>>2]-48>>>0>=10)){for(;M=(e[h>>2]+F(M,10)|0)-48|0,e[(h=h+4|0)>>2]-48>>>0<10;);(0|M)<=0||(M=M-1|0)}if(i=F(r,76)+133152|0,e[i+4>>2]=M,t=0,l=0,!(!m|e[m>>2]-48>>>0>=10))for(;l=(e[m>>2]+F(l,10)|0)-48|0,e[(m=m+4|0)>>2]-48>>>0<10;);e[i+12>>2]=l,l=F(r,76)+133152|0;t:{r:if(w){for(;r=g[t+93099|0],(i=e[(t<<2)+w>>2])&&(t=t+1|0,(0|r)==(0|i)););a:{n:switch(i-34|0){case 0:case 5:break n;default:break a}if(!r){t=0;break t}}for(t=0;r=g[t+93116|0],(i=e[(t<<2)+w>>2])&&(t=t+1|0,(0|r)==(0|i)););a:{n:switch(i-34|0){case 0:case 5:break n;default:break a}if(!r){t=1;break t}}for(t=0;r=g[t+93197|0],(i=e[(t<<2)+w>>2])&&(t=t+1|0,(0|r)==(0|i)););a:switch(i-34|0){case 0:case 5:break a;default:break r}if(!r){t=2;break t}}t=3}e[l+8>>2]=e[131156+(t<<3)>>2],e[ae>>2]=A}if(BA(137776,133168),r=BA(n+96|0,133208),g[n+157|0]=e[33291],g[n+156|0]=e[33290],t=e[33289],e[n+152>>2]=0,g[n+158|0]=t,(0|ee)>0)for(h=0;;){if(m=1,A=F(h,76)+133152|0,d[0|(t=A+16|0)]&&Js(0,t)&&(BA(137776,t),m=0,g[0|r]=0,g[n+158|0]=0,v[n+156>>1]=0),d[0|(t=A+56|0)]){w=BA(r,t),i=e[33679];t:if(d[0|(t=i)])for(;;){if(!Zr(t=t+1|0,w)){BA(w,i+1|0);break t}if(t=1+(wA(t)+t|0)|0,!d[0|t])break}m&&(g[137776]=0)}if((t=e[A+8>>2])&&(g[n+156|0]=t),(t=e[A+12>>2])&&(g[n+157|0]=t),(t=e[A+4>>2])&&(g[n+158|0]=t),(0|ee)==(0|(h=h+1|0)))break}e[n+148>>2]=r,e[n+144>>2]=137776,(t=Fr(n+144|0,n+172|0))?an(t,43)||(A=d[n+156|0],!d[134672]|((0|A)!=d[134724]?A:0)||(e[n>>2]=t,e[n+4>>2]=134672,uA(A=n+16|0,93533,n),t=137776,vr(137776,A,40))):t=92003,A=0,Zr(t,134784)&&(BA(134784,t),A=131072)}return oe=n+176|0,A}function Er(t,A){var r,n=0,i=0,l=0,h=0,m=0;r=t+A|0;e:{t:if(!(1&(n=e[t+4>>2]))){if(!(3&n))break e;A=(n=e[t>>2])+A|0;r:{if((0|(t=t-n|0))!=e[57157]){if(n>>>0<=255){if(l=e[t+8>>2],n=n>>>3|0,(0|(i=e[t+12>>2]))!=(0|l))break r;e[57152]=e[57152]&Ks(-2,n);break t}if(m=e[t+24>>2],(0|(n=e[t+12>>2]))==(0|t))if((i=e[(l=t+20|0)>>2])||(i=e[(l=t+16|0)>>2])){for(;h=l,(i=e[(l=(n=i)+20|0)>>2])||(l=n+16|0,i=e[n+16>>2]););e[h>>2]=0}else n=0;else i=e[t+8>>2],e[i+12>>2]=n,e[n+8>>2]=i;if(!m)break t;l=e[t+28>>2];a:{if(e[(i=228912+(l<<2)|0)>>2]==(0|t)){if(e[i>>2]=n,n)break a;e[57153]=e[57153]&Ks(-2,l);break t}if(e[m+(e[m+16>>2]==(0|t)?16:20)>>2]=n,!n)break t}if(e[n+24>>2]=m,(i=e[t+16>>2])&&(e[n+16>>2]=i,e[i+24>>2]=n),!(i=e[t+20>>2]))break t;e[n+20>>2]=i,e[i+24>>2]=n;break t}if(3&~(n=e[r+4>>2]))break t;return e[57154]=A,e[r+4>>2]=-2&n,e[t+4>>2]=1|A,void(e[r>>2]=A)}e[l+12>>2]=i,e[i+8>>2]=l}t:{if(!(2&(n=e[r+4>>2]))){if(e[57158]==(0|r)){if(e[57158]=t,A=e[57155]+A|0,e[57155]=A,e[t+4>>2]=1|A,e[57157]!=(0|t))break e;return e[57154]=0,void(e[57157]=0)}if(e[57157]==(0|r))return e[57157]=t,A=e[57154]+A|0,e[57154]=A,e[t+4>>2]=1|A,void(e[t+A>>2]=A);A=(-8&n)+A|0;r:if(n>>>0<=255){if(l=e[r+8>>2],n=n>>>3|0,(0|(i=e[r+12>>2]))==(0|l)){e[57152]=e[57152]&Ks(-2,n);break r}e[l+12>>2]=i,e[i+8>>2]=l}else{if(m=e[r+24>>2],(0|r)==(0|(n=e[r+12>>2])))if((l=e[(i=r+20|0)>>2])||(l=e[(i=r+16|0)>>2])){for(;h=i,(l=e[(i=(n=l)+20|0)>>2])||(i=n+16|0,l=e[n+16>>2]););e[h>>2]=0}else n=0;else i=e[r+8>>2],e[i+12>>2]=n,e[n+8>>2]=i;if(m){l=e[r+28>>2];a:{if(e[(i=228912+(l<<2)|0)>>2]==(0|r)){if(e[i>>2]=n,n)break a;e[57153]=e[57153]&Ks(-2,l);break r}if(e[m+(e[m+16>>2]==(0|r)?16:20)>>2]=n,!n)break r}e[n+24>>2]=m,(i=e[r+16>>2])&&(e[n+16>>2]=i,e[i+24>>2]=n),(i=e[r+20>>2])&&(e[n+20>>2]=i,e[i+24>>2]=n)}}if(e[t+4>>2]=1|A,e[t+A>>2]=A,e[57157]!=(0|t))break t;return void(e[57154]=A)}e[r+4>>2]=-2&n,e[t+4>>2]=1|A,e[t+A>>2]=A}if(A>>>0<=255)return n=228648+(-8&A)|0,(i=e[57152])&(A=1<<(A>>>3))?A=e[n+8>>2]:(e[57152]=A|i,A=n),e[n+8>>2]=t,e[A+12>>2]=t,e[t+12>>2]=n,void(e[t+8>>2]=A);l=31,A>>>0<=16777215&&(l=62+((A>>>38-(n=ce(A>>>8|0))&1)-(n<<1)|0)|0),e[t+28>>2]=l,e[t+16>>2]=0,e[t+20>>2]=0,h=228912+(l<<2)|0;t:{if((i=e[57153])&(n=1<<l)){for(l=A<<((0|l)!=31?25-(l>>>1|0):0),n=e[h>>2];;){if(i=n,(-8&e[n+4>>2])==(0|A))break t;if(n=l>>>29|0,l<<=1,!(n=e[16+(h=i+(4&n)|0)>>2]))break}e[h+16>>2]=t,e[t+24>>2]=i}else e[57153]=n|i,e[h>>2]=t,e[t+24>>2]=h;return e[t+12>>2]=t,void(e[t+8>>2]=t)}A=e[i+8>>2],e[A+12>>2]=t,e[i+8>>2]=t,e[t+24>>2]=0,e[t+12>>2]=i,e[t+8>>2]=A}}function Dr(t){var A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;if(!(A=g[88105]))return t;if(t=an(t,A)){if(!d[88106])return t;if(d[t+1|0]){if(!d[88107]){i=!!(0|(r=d[t+1|0]));e:if(r&&(0|(A=r|d[0|t]<<8))!=(0|(m=d[88106]|d[88105]<<8)))for(r=t+1|0;;){if(i=!!(0|(n=d[(t=r)+1|0])),!n)break e;if(r=t+1|0,(0|m)==(0|(A=n|A<<8&65280)))break}return i?t:0}if(d[t+2|0]){if(!d[88108]){r=t+2|0,i=!!(0|(A=d[t+2|0]));e:if(A&&(0|(A=d[t+1|0]<<16|d[0|t]<<24|A<<8))!=(0|(m=d[88106]<<16|d[88105]<<24|d[88107]<<8)))for(;;){if(t=r+1|0,i=!!(0|(n=d[r+1|0])),!n)break e;if(r=t,(0|m)==(0|(A=(A|n)<<8)))break}else t=r;return i?t-2|0:0}if(d[t+3|0]){if(!d[88109]){r=t+3|0,i=!!(0|(A=d[t+3|0]));e:if(A&&(0|(A=A|d[t+1|0]<<16|d[0|t]<<24|d[t+2|0]<<8))!=(0|(m=(t=d[88105]|d[88106]<<8|d[88107]<<16|d[88108]<<24)<<24|(65280&t)<<8|t>>>8&65280|t>>>24)))for(;;){if(t=r+1|0,i=!!(0|(n=d[r+1|0])),!n)break e;if(r=t,(0|m)==(0|(A=n|A<<8)))break}else t=r;return i?t-3|0:0}m=t,oe=w=oe-1056|0,e[(t=w+1048|0)>>2]=0,e[t+4>>2]=0,e[(t=w+1040|0)>>2]=0,e[t+4>>2]=0,e[w+1032>>2]=0,e[w+1036>>2]=0,e[w+1024>>2]=0,e[w+1028>>2]=0;e:{t:{r:{a:{if(A=d[88105]){for(;;){if(!d[l+m|0])break t;if(l=l+1|0,e[((255&A)<<2)+w>>2]=l,e[(t=(w+1024|0)+(A>>>3&28)|0)>>2]=e[t>>2]|1<<A,!(A=d[l+88105|0]))break}if(t=1,M=-1,l>>>0>1)break a}else M=-1,t=1;h=-1,r=1;break r}for(n=1,A=1;;){a:if((0|(h=d[88105+(A+M|0)|0]))!=(0|(i=d[t+88105|0])))i>>>0<h>>>0?(n=t-M|0,r=t,A=1):(M=r,r=r+1|0,n=1,A=1);else{if((0|A)==(0|n)){r=r+n|0,A=1;break a}A=A+1|0}if(!(l>>>0>(t=r+A|0)>>>0))break}if(r=1,h=-1,l>>>0<=1)t=n;else{for(t=0,i=1,A=1;;){a:if((0|(P=d[88105+(A+h|0)|0]))!=(0|(y=d[r+88105|0])))y>>>0>P>>>0?(i=r-h|0,t=r,A=1):(h=t,t=t+1|0,i=1,A=1);else{if((0|A)==(0|i)){t=t+i|0,A=1;break a}A=A+1|0}if(!(l>>>0>(r=t+A|0)>>>0))break}t=n,r=i}}for(A=t,ra(88105,(n=(t=h+1>>>0>M+1>>>0)?r:A)+88105|0,P=(y=t?h:M)+1|0)?(n=((t=~y+l|0)>>>0<y>>>0?y:t)+1|0,i=0):i=l-n|0,ee=l-1|0,R=63|l,h=0,t=m;;){if(!(m-t>>>0>=l>>>0))if(r=Wn(m,0,R)){if(m=r,r-t>>>0<l>>>0)break t}else m=m+R|0;r=d[t+ee|0],A=l;r:{if(e[(w+1024|0)+(r>>>3&28)>>2]>>>r&1)if((0|(r=e[(r<<2)+w>>2]))==(0|l)){a:{if(M=d[(r=(A=P)>>>0>h>>>0?A:h)+88105|0])for(;;){if(d[t+r|0]!=(255&M))break a;if(!(M=d[88105+(r=r+1|0)|0]))break}for(;;){if(A>>>0<=h>>>0)break e;if(d[88105+(A=A-1|0)|0]!=d[t+A|0])break}A=n,h=i;break r}A=r-y|0}else A=(r=l-r|0)>>>0>h>>>0?r:h;h=0}t=t+A|0}}t=0}oe=w+1056|0,r=t}}}}return r}function Vs(t,A,r,n,i,l){var h,m,w,M,y=0,P=0,R=0;if(oe=h=oe-560|0,g[h+448|0]=0,g[h+144|0]=0,g[h+120|0]=0,w=34&l,m=A-F(P=(0|A)/100|0,100)|0,1&(M=64&d[t+106|0]?(0|A)>999|l:0)|(0|A)>99){e:{t:{r:{if(!(!w|m)){if(!kA(t,90606,h+304|0))break r;break e}if(m)break t}if(kA(t,90691,h+304|0))break e}kA(t,90725,h+304|0)}y=l,(0|A)<1e3||(y=l,!(8&d[t+105|0])|A-2e3>>>0<4294967196&&(g[h+208|0]=0,QA(t,y=(P>>>0)/10|0,n=16384&e[t+108>>2]?0:i+1|0,!((A>>>0)%1e3|0)|w,h+272|0)||Vr(t,y,i,e[t+212>>2]==28012?520:(0|n)<4?(e[t+108>>2]>>>n&1)<<3:0,h+208|0),2&d[t+109|0]?(e[h+108>>2]=15,e[h+100>>2]=15,e[h+104>>2]=h+208,e[h+96>>2]=h+272,uA(h+144|0,90761,h+96|0)):(e[h+92>>2]=15,e[h+84>>2]=15,e[h+88>>2]=h+272,e[h+80>>2]=h+208,uA(h+144|0,90761,h+80|0)),n=1,1&(!!(0|(P=P-F(y,10)|0))|M)||(g[h+304|0]=0),y=1|l)),g[h+208|0]=0;e:if(!(~M&(0|P)<=0))if(!(4&d[t+106|0])|!(1&y|d[h+144|0])||kA(t,90824,h+120|0),!w|(16&d[t+109|0]?0:m)||(e[h+64>>2]=P,uA(n=h+548|0,90875,h- -64|0),R=kA(t,n,h+208|0),!(4096&e[t+108>>2])|(0|m)<=0||gs(h+208|0,133104)),n=1,1&(~M|!!(0|P))){t:{r:{a:{n:{if(!(131072&e[t+108>>2])||1&y|(0|P)!=1){if(m|R||(e[h+48>>2]=P,uA(n=h+548|0,90985,h+48|0),R=kA(t,n,h+208|0)),R||(e[h+32>>2]=P,uA(n=h+548|0,91027,h+32|0),kA(t,n,h+208|0)))break n;if((0|P)!=1)break r;break a}if(!R)break a}g[h+304|0]=0;break t}if(n=1,4&d[t+105|0])break e}Vr(t,P,i,0,h+208|0)}n=1}else kA(t,88875,h+208|0);e[h+28>>2]=h+304,e[h+24>>2]=h+208,e[h+20>>2]=h+120,e[h+16>>2]=h+144,uA(h+448|0,91059,h+16|0)}else y=l;g[h+132|0]=0;e:{t:{if((0|m)>0)16&d[t+109|0]&&2&y||(!(1&y)|i&&(0|A)<=100||!(64&(n=e[t+104>>2]))&(!(8388608&n)|m>>>0>9)||kA(t,90824,h+132|0),!(1&y|d[h+144|0])|!(524288&e[t+104>>2])|P||kA(t,90824,h+132|0)),g[h+336|0]=0;else if(g[h+336|0]=0,!m&n)break t;if(i?(l=e[t+108>>2],A=(0|i)<4?(l>>>i&1)<<3:0):(n=w?3:2,A=32&l|((0|A)<100?1&y?n:4|n:n),l=e[t+108>>2]),A=(0|i)==1&&e[t+212>>2]==28012?520|A:A,1048576&l&&(n=16|A,A=(0|P)>0||1&y?n:A),!Vr(t,m,i,256&y|A,h+336|0)|!(128&d[t+104|0]))break e;g[h+132|0]=0;break e}d[133104]&&((0|(t=wA(h+448|0)))<=0||d[447+(t=t+h|0)|0]==10&&(g[t+447|0]=0),BA(h+336|0,133104))}e[h+8>>2]=15,e[h+12>>2]=h+336,e[h+4>>2]=h+132,e[h>>2]=h+448,uA(r,91101,h),oe=h+560|0}function nr(t){var A,r,n,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0;for(i=e[32972],e[i+64>>2]=290816,e[i+68>>2]=4104,e[i+96>>2]=0,e[i+100>>2]=0,e[i+120>>2]=90,e[i+124>>2]=100,e[i+112>>2]=64,e[i+116>>2]=256,e[i+104>>2]=5,e[i+108>>2]=0,e[i+84>>2]=100,e[i+88>>2]=64,l=e[50754],e[i+132>>2]=0,e[i+136>>2]=0,e[i+128>>2]=l,e[i+140>>2]=0,e[i+144>>2]=0,e[i+148>>2]=0,e[i+152>>2]=0,e[i+156>>2]=0,e[i+160>>2]=0,e[36435]=450,e[i+92>>2]=2,e[50870]=0,e[50871]=0,e[50872]=0,e[50873]=0,e[50880]=0,e[50881]=0,e[50882]=0,e[50883]=0,e[50890]=0,e[50891]=0,e[50892]=0,e[50893]=0,h=-3.141592653589793/+e[50754],S[25429]=h,w=-2*h,S[25430]=w,A=(h=fr(200*h))*-h,S[25434]=A,S[25439]=A,S[25444]=A,h=(w=h*Aa(2e3*w))+w,S[25433]=h,S[25438]=h,S[25443]=h,w=1-h-A,S[25432]=w,S[25437]=w,S[25442]=w,e[50902]=0,e[50903]=0,e[50900]=0,e[50901]=0,S[25449]=A,S[25448]=h,e[50912]=0,e[50913]=0,S[25447]=w,e[50910]=0,e[50911]=0,S[25454]=A,S[25453]=h,e[50922]=0,e[50923]=0,S[25452]=w,e[50920]=0,e[50921]=0,S[25459]=A,S[25458]=h,e[50932]=0,e[50933]=0,S[25457]=w,e[50930]=0,e[50931]=0,S[25464]=A,S[25463]=h,S[25462]=w,e[50942]=0,e[50943]=0,e[50940]=0,e[50941]=0,S[25469]=A,S[25468]=h,S[25467]=w,e[50952]=0,e[50953]=0,e[50950]=0,e[50951]=0,S[25474]=A,S[25473]=h,S[25472]=w,r=e[32972],l=0;v[236+(M=(l<<1)+r|0)>>1]=256,v[M+164>>1]=256,i=d[l+105376|0]<<1,v[M+254>>1]=i,v[M+182>>1]=i,v[M+200>>1]=d[l+105385|0]<<1,e[308+(i=(m=l<<2)+r|0)>>2]=e[m+105408>>2],e[i+272>>2]=0,v[M+218>>1]=0,e[m+200944>>2]=(0|F(e[m+105456>>2],22050))/e[50754],(0|(l=l+1|0))!=9;);for(ee=e[32961],l=0,n=r+344|0;;){if(i=y,P=ee,M=l,(0|(y=e[(l=131840+(m=l<<2)|0)>>2]))==-1&&(y=8e3,e[l>>2]=8e3,M&&(e[131840+(4|m)>>2]=e[m+131836>>2])),ee=e[131840+(4|m)>>2],!((0|i)>
2810=(0|(y=(0|y)/8|0))||(0|(R=y-i|0))<=0||(m=i+1|0,l=i,1&R&&(g[344+(i+r|0)|0]=(0|P)>=255?255:P,l=m),(0|m)==(0|y))))for(ae=ee-P|0;m=((0|F(l-i|0,ae))/(0|R)|0)+P|0,g[l+n|0]=(0|m)>=255?255:m,ue=((0|F((m=l+1|0)-i|0,ae))/(0|R)|0)+P|0,g[m+n|0]=(0|ue)>=255?255:ue,(0|y)!=(0|(l=l+2|0)););if(l=M+2|0,!(M>>>0<10))break}l=e[32972],e[l+80>>2]=232,e[l+72>>2]=256,e[l+76>>2]=238,t||(e[49848]=0),v[l+200>>1]=(0|F(v[l+200>>1],105))/100}function qs(t,A,r){var n,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=n=oe-288|0,(0|A)!=132848&&Ds(132848,A,40),(0|(i=t+228|0))!=(0|A)&&Ds(i,A,40),e[n+88>>2]=A,e[n+84>>2]=47,e[n+80>>2]=137584,uA(i=n+96|0,84089,n+80|0),l=Na(i),(i=e[t+688>>2])&&(EA(i),e[t+688>>2]=0),i=la(n+96|0,84577);e:if((0|l)>0&&i)if(r=aA(l),e[t+688>>2]=r,r)if(M=Mi(r,l,i),fa(i),M>>>0<=1032)e[n+16>>2]=n+96,ss(e[30450],85164,n+16|0),r=2;else if(i=e[t+688>>2],r=e[i+4>>2],!((0|(l=e[i>>2]))!=1024|(0|r)<=0)&(0|r)<134217729){i=r+i|0,e[t+684>>2]=i,P=IA(t+5168|0,0,1024),IA(t+7664|0,0,260),IA(t+7924|0,255,256),IA(t+4788|0,0,380),IA(t+6192|0,0,512);t:if((0|(r=d[0|i]))!=7)for(;;){if((0|(l=255&r))!=6){if(!l)break t;l=e[t+684>>2],e[n+72>>2]=r<<24>>24,e[n+64>>2]=132848,e[n+68>>2]=i-l,ss(e[30450],88950,n- -64|0);break}r:{a:{n:{c:{o:switch((l=d[0|(r=i+1|0)])-18|0){case 0:break c;case 2:break o;default:break n}for(r=4+(-4&r)|0,e[t+180>>2]=r;r=(i=r)+1|0,!ko(i););for(;l=d[0|i],r=i,i=i+1|0,(0|l)!=7;);break r}if(r=i+3|0,(0|(i=((0|(i=g[i+2|0]))<65?191:-65)+i|0))>94)break a;e[4788+((i<<2)+t|0)>>2]=r;break a}switch(r=1+((m=wA(r))+r|0)|0,0|m){case 1:e[5168+((l<<2)+t|0)>>2]=r;break a;case 0:e[P>>2]=r;break a}m=d[i+2|0],(0|l)!=1?(i=e[t+7664>>2],d[0|(y=7924+(h=t+l|0)|0)]==255&&(g[0|y]=i),g[0|(h=h+7668|0)]=d[0|h]+1,e[6704+(h=(i<<2)+t|0)>>2]=r,e[t+7664>>2]=i+1,e[h+7184>>2]=l|m<<8):e[6188+((m<<2)+t|0)>>2]=r}if(d[0|r]!=7)for(;r=1+(wA(r)+r|0)|0,d[0|r]!=7;);}r=d[0|(i=r+1|0)]}for(i=e[t+688>>2]+8|0;;){for(e[692+((r=w<<2)+t|0)>>2]=i;l=d[0|i];)i=i+l|0;for(i=i+1|0,e[692+((4|r)+t|0)>>2]=i;r=d[0|i];)i=r+i|0;if(i=i+1|0,(0|(w=w+2|0))==1024)break}r=0,(0|(t=e[t+324>>2]))<=0|t>>>0<=M>>>0||(e[n+48>>2]=A,ss(e[30450],85519,n+48|0))}else e[n+40>>2]=r,e[n+36>>2]=l,e[n+32>>2]=n+96,ss(e[30450],85349,n+32|0),r=2;else fa(i),r=3;else{if(r||(e[n>>2]=n+96,ss(e[30450],84963,n)),r=1,!i)break e;fa(i)}return oe=n+288|0,r}function xa(t){var A,r=0,n=0;for(A=IA(t+344|0,0,256),g[t+364|0]=1,g[t+356|0]=1,g[t+357|0]=1,g[t+358|0]=1,g[t+359|0]=1,g[t+360|0]=1,g[t+361|0]=1,g[t+362|0]=1,g[t+363|0]=1,g[t+348|0]=1,g[t+349|0]=1,g[t+350|0]=1,g[t+351|0]=1,g[t+352|0]=1,g[t+353|0]=1,g[t+354|0]=1,g[t+355|0]=1,g[t+431|0]=3,g[t+429|0]=3,g[t+430|0]=3,g[t+406|0]=3,g[t+407|0]=3,g[t+408|0]=3,g[t+409|0]=3,g[t+410|0]=3,g[t+411|0]=3,g[t+412|0]=3,g[t+413|0]=3,g[t+414|0]=3,g[t+415|0]=3,g[t+416|0]=3,g[t+417|0]=3,g[t+418|0]=3,g[t+419|0]=3,g[t+420|0]=3,g[t+421|0]=3,g[t+440|0]=3,g[t+441|0]=3,g[t+442|0]=3,g[t+443|0]=3,n=21;g[344+(r=t+n|0)|0]=4|d[r+344|0],(0|(r=n+1|0))!=58;)g[0|(r=r+A|0)]=4|d[0|r],g[2+(r=n+A|0)|0]=4|d[r+2|0],g[r+3|0]=4|d[r+3|0],n=n+4|0;g[t+346|0]=4|d[t+346|0],g[t+347|0]=4|d[t+347|0],g[t+432|0]=4|d[t+432|0],g[t+433|0]=4|d[t+433|0],g[t+434|0]=4|d[t+434|0],g[t+435|0]=4|d[t+435|0],g[t+436|0]=4|d[t+436|0],g[t+437|0]=4|d[t+437|0],g[t+438|0]=4|d[t+438|0],g[t+439|0]=4|d[t+439|0],g[t+467|0]=4|d[t+467|0],g[t+468|0]=4|d[t+468|0],g[t+470|0]=4|d[t+470|0],g[t+471|0]=4|d[t+471|0],g[t+348|0]=64|d[t+348|0],g[t+349|0]=64|d[t+349|0],g[t+350|0]=64|d[t+350|0],g[t+351|0]=64|d[t+351|0],g[t+352|0]=64|d[t+352|0],g[t+353|0]=64|d[t+353|0],g[t+354|0]=64|d[t+354|0],g[t+355|0]=64|d[t+355|0],g[t+356|0]=64|d[t+356|0],g[t+357|0]=64|d[t+357|0],g[t+358|0]=64|d[t+358|0],g[t+359|0]=64|d[t+359|0],g[t+360|0]=64|d[t+360|0],g[t+361|0]=64|d[t+361|0],g[t+362|0]=64|d[t+362|0],g[t+363|0]=64|d[t+363|0],g[t+364|0]=64|d[t+364|0],g[t+406|0]=64|d[t+406|0],g[t+407|0]=64|d[t+407|0],g[t+408|0]=64|d[t+408|0],g[t+409|0]=64|d[t+409|0],g[t+410|0]=64|d[t+410|0],g[t+411|0]=64|d[t+411|0],g[t+412|0]=64|d[t+412|0],g[t+413|0]=64|d[t+413|0],g[t+414|0]=64|d[t+414|0],g[t+415|0]=64|d[t+415|0],g[t+416|0]=64|d[t+416|0],g[t+417|0]=64|d[t+417|0],g[t+418|0]=64|d[t+418|0],g[t+419|0]=64|d[t+419|0],g[t+420|0]=64|d[t+420|0],g[t+440|0]=64|d[t+440|0],g[t+441|0]=64|d[t+441|0],g[t+429|0]=64|d[t+429|0],g[t+430|0]=64|d[t+430|0],g[t+431|0]=64|d[t+431|0],g[t+442|0]=64|d[t+442|
vendor: 16,143 bytes, line 2810
28100],g[t+443|0]=64|d[t+443|0],e[t+40>>2]=1,e[t+204>>2]=e[t+600>>2]+77}function Ja(t,A,r,n,i,l,h,m,w){var M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0;oe=M=oe-128|0;e:{t:{if(Yt(l,h,m,w,0,0,0,0)){P=65535&w;r:a:{if((0|(ee=w>>>16&32767))!=32767){if(y=4,ee)break a;y=l|m|h|P?3:2;break r}y=!(l|m|h|P)}if((0|(ae=32767&(Ve=i>>>16|0)))!=32767&&y)break t}qt(M+16|0,A,r,n,i,l,h,m,w),vA(M,A=e[M+16>>2],n=e[M+20>>2],i=e[M+24>>2],r=e[M+28>>2],A,n,i,r),n=e[M+8>>2],i=e[M+12>>2],m=e[M>>2],w=e[M+4>>2];break e}if(ee=m,(0|Yt(A,r,y=n,ue=2147483647&i,l,h,m,R=2147483647&w))<=0){if(Yt(A,r,y,ue,l,h,ee,R)){m=A,w=r;break e}qt(M+112|0,A,r,n,i,0,0,0,0),n=e[M+120>>2],i=e[M+124>>2],m=e[M+112>>2],w=e[M+116>>2]}else{if(be=w>>>16&32767,ae?(w=r,m=A):(qt(M+96|0,A,r,y,ue,0,0,0,1081540608),y=e[M+104>>2],ue=m=e[M+108>>2],ae=(m>>>16|0)-120|0,w=e[M+100>>2],m=e[M+96>>2]),be||(qt(M+80|0,l,h,ee,R,0,0,0,1081540608),ee=e[M+88>>2],R=l=e[M+92>>2],be=(l>>>16|0)-120|0,h=e[M+84>>2],l=e[M+80>>2]),_e=ee,$e=65535&R|65536,ue=65535&ue|65536,(0|ae)>(0|be)){for(;;){if(ee=(R=y-_e|0)-(P=(0|h)==(0|w)&l>>>0>m>>>0|h>>>0>w>>>0)|0,(0|(P=(ue-((y>>>0<_e>>>0)+$e|0)|0)-(P>>>0>R>>>0)|0))>0|(0|P)>=0){if(y=m,!((m=m-l|0)|ee|(w=w-((l>>>0>y>>>0)+h|0)|0)|P)){qt(M+32|0,A,r,n,i,0,0,0,0),n=e[M+40>>2],i=e[M+44>>2],m=e[M+32>>2],w=e[M+36>>2];break e}P=P<<1|ee>>>31,y=ee<<1|w>>>31}else P=ue<<1|y>>>31,y=y<<1|w>>>31;if(ue=P,P=w<<1|m>>>31,m<<=1,w=P,!((0|(ae=ae-1|0))>(0|be)))break}ae=be}if(ee=(R=y-_e|0)-(P=(0|h)==(0|w)&l>>>0>m>>>0|h>>>0>w>>>0)|0,R=P=(ue-((y>>>0<_e>>>0)+$e|0)|0)-(P>>>0>R>>>0)|0,(0|P)<0)ee=y,R=ue;else if(y=m,!((m=m-l|0)|ee|(w=w-((l>>>0>y>>>0)+h|0)|0)|R)){qt(M+48|0,A,r,n,i,0,0,0,0),n=e[M+56>>2],i=e[M+60>>2],m=e[M+48>>2],w=e[M+52>>2];break e}if((0|R)==65535|R>>>0<65535)for(;A=w>>>31|0,ae=ae-1|0,ue=w<<1|m>>>31,m<<=1,w=ue,r=A,A=R<<1|ee>>>31,ee=r|ee<<1,R=A,A>>>0<65536;);A=32768&Ve,(0|ae)<=0?(qt(M- -64|0,m,w,ee,65535&R|(A|ae+120)<<16,0,0,0,1065811968),n=e[M+72>>2],i=e[M+76>>2],m=e[M+64>>2],w=e[M+68>>2]):(n=ee,i=65535&R|(A|ae)<<16)}}e[t>>2]=m,e[t+4>>2]=w,e[t+8>>2]=n,e[t+12>>2]=i,oe=M+128|0}function ma(t,A,r){var n,i,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;if(oe=n=oe-1040|0,(0|(h=Yo(t,589824,0)))>=0&&((l=a0(1,2072))?e[l+8>>2]=h:(Pe(0|h),l=0)),i=l,l){e:if(l=Xn(i))for(ee=e[30450],R=(n+96|0)+A|0;;){if((0|(h=e[50303]))>=348){e[n+4>>2]=350,e[n>>2]=h+1,ss(ee,91860,n);break e}if(d[l+19|0]!=46)if(e[n+88>>2]=l+19,e[n+84>>2]=47,e[n+80>>2]=t,uA(l=n+96|0,91924,n+80|0),(0|(l=Na(l)))!=-31){if(!((0|l)<=0)&&(P=la(n+96|0,85712))){m=0,g[n+832|0]=0,g[n+752|0]=0,e[n+360>>2]=0,e[n+356>>2]=4,M=0;t:for(;;){for(y=299-M|0;_r(n+912|0,120,P);){l=n+912|0;r:{if(d[n+912|0]!=35){a:if(!((0|(l=wA(n+912|0)-1|0))<=0))for(;;){if(!((0|(h=g[0|(w=(n+912|0)+l|0)]))==32|h-9>>>0<5))break a;if(g[0|w]=0,!((0|(l=l-1|0))>0))break}if(!(l=Dr(n+912|0)))break r}g[0|l]=0}l=n+912|0;r:if(h=d[n+912|0])for(;;){if(Ts(h<<24>>24))break r;if(!(h=d[0|(l=l+1|0)]))break}if(g[0|l]=0,d[n+912|0]){l=l+1|0;r:switch(ti(131904,n+912|0)-1|0){case 0:for(;h=l,l=l+1|0,(0|(w=g[0|h]))==32|w-9>>>0<5;);vr(n+832|0,h,80);continue;case 1:if(g[n+672|0]=0,e[n+364>>2]=5,h=n+672|0,e[n+16>>2]=h,e[n+20>>2]=n+364,nA(l,86237,n+16|0),(h=wA(h)+2|0)>>>0>=y>>>0)continue;g[0|(l=(n+368|0)+M|0)]=e[n+364>>2],BA(l+1|0,n+672|0),m=m+1|0,M=h+M|0;continue t;case 2:if(e[n+52>>2]=n+360,e[n+48>>2]=n+752,nA(l,86237,n+48|0),!r)continue;e[n+32>>2]=R,ss(ee,92042,n+32|0);continue;case 5:break r;default:continue}e[n+64>>2]=n+356,nA(l,87268,n- -64|0)}}break}g[(n+368|0)+M|0]=0,h=ti(132112,n+752|0),m?(w=wA(R)+M|0,y=$A((m=a0(28+(wA(n+832|0)+w|0)|0,1))+24|0,n+368|0,l=M+1|0),e[m+4>>2]=y,l=BA(l+y|0,R),e[m>>2]=l,e[m+8>>2]=l,d[n+832|0]&&(e[m>>2]=BA(2+(w+y|0)|0,n+832|0)),l=e[n+360>>2],g[m+14|0]=0,g[m+12|0]=h,g[m+13|0]=l,g[m+15|0]=e[n+356>>2],fa(P),l=e[50303],e[50303]=l+1,e[201216+(l<<2)>>2]=m):fa(P)}}else ma(n+96|0,A,r);if(!(l=Xn(i)))break}Dn(e[i+8>>2]),EA(i)}oe=n+1040|0}function Qa(t,A){var r,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=r=oe-352|0;e:if(t||(t=e[136284+(A<<4)>>2])){d[0|t]!=47&&(e[r+12>>2]=t,e[r+4>>2]=47,e[r+8>>2]=47,e[r>>2]=137584,uA(t=r+16|0,84114,r)),g[r+240|0]=0;t:{r:{if(n=la(t,84577)){if((0|Io(n,20))==-1)break t;if(l=Ca(n),i=Ca(n),m=Ca(n),!((0|l)!=65537|(0|i)!=e[50754])&(0|m)==i<<1)break r;fa(n),v[r+256>>1]=d[84864]|d[84865]<<8,t=d[84852]|d[84853]<<8|d[84854]<<16|d[84855]<<24,e[r+240>>2]=d[84848]|d[84849]<<8|d[84850]<<16|d[84851]<<24,e[r+244>>2]=t,t=d[84860]|d[84861]<<8|d[84862]<<16|d[84863]<<24,e[r+248>>2]=d[84856]|d[84857]<<8|d[84858]<<16|d[84859]<<24,e[r+252>>2]=t,oe=l=oe-16|0;a:{if((n=wA(t=r+240|0))>>>0>=6&&!ra(m=(t+n|0)-6|0,84274,6)){for(M=100;;){for(w=0,oe=n=oe-16|0,d[227196]||(g[227197]=Ue(),g[227196]=1),P=+Ge(),he(h=P/1e3)<9223372036854776e3?(y=he(h)>=1?~~(h>0?ge(Ce(23283064365386963e-26*h),4294967295):Fe(23283064365386963e-26*(h-+(~~h>>>0>>>0))))>>>0:0,i=~~h>>>0):(y=-2147483648,i=0),e[n>>2]=i,e[n+4>>2]=y,h=1e3*(P-(+(rr(i,y,1e3,0)>>>0)+4294967296*+(0|fe)))*1e3,i=he(h)<2147483648?~~h:-2147483648,e[n+8>>2]=i,i=m+(n>>>4|0)^F(e[n+8>>2],65537);g[m+w|0]=65+(15&i|i<<1&32),i=i>>>5|0,(0|(w=w+1|0))!=6;);if(oe=n+16|0,e[l>>2]=384,(0|(n=Yo(t,194,l)))>=0)break a;if(M=M-1|0,e[56798]!=20||!M)break}$A(m,84274,6)}else e[56798]=28;n=-1}oe=l+16|0,(0|n)<0||Dn(n)}if(!(n=la(t,84577))){t=On(0,e[56798],t);break e}}if((0|(l=Na(t)))<0){fa(n),t=On(0,0-l|0,t);break e}if((0|Io(n,0))==-1){A=e[56798],fa(n),t=On(0,A,t);break e}if(!(i=ds(e[(m=136280+(A<<4)|0)>>2],l))){fa(n),t=48;break e}if((0|Mi(i,l,n))!=(0|l)){A=e[56798],fa(n),d[r+240|0]&&Co(r+240|0),EA(i),t=On(0,A,t);break e}fa(n),d[r+240|0]&&Co(r+240|0),e[136276+(A<<4)>>2]=(d[i+40|0]|d[i+41|0]<<8|d[i+42|0]<<16|d[i+43|0]<<24)/2,e[m>>2]=i,t=0;break e}A=e[56798],fa(n),t=On(0,A,t)}else t=28;return oe=r+352|0,t}function $a(t,A,r,n,i,l){var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0;for(g[0|r]=1,h=1&l,$e=1,ue=-1,be=-1,y=1,l=A;;){it=Ve-2|0,_e=P,ee=be;e:{t:{for(;;){if(!(R=d[0|l])){be=ee,P=_e;break e}if(l=l+1|0,ae=e[144464+(R<<2)>>2]){r:{if((0|(m=d[ae+11|0]))!=1){if(16&d[ae+6|0]|(0|m)!=2)break r;g[0|(P=r+y|0)]=ue,m=(0|ue)<4|(0|ee)>(0|ue),!(2&d[ae+4|0])|!h|(0|ue)>=0||(g[0|P]=1),P=m?_e:y,be=m?ee:ue,ue=-1,y=y+1|0;break t}if(!_[ae+8>>1]){m=0,M=y;a:if((0|R)!=8)m=d[ae+14|0],e[i>>2]&&m>>>0>=4||(ee=(0|m)<(0|ee)?ee:m,ue=m);else{for(;;){if(R=m,M=M-1|0,e[i>>2]|(0|M)<=0||(0|(ae=g[0|(w=r+M|0)]))>3)break a;if(m=R+1|0,!(ae>>>0<2))break}if(g[0|w]=4,_e=(0|ee)<4?M:_e,ee=(0|ee)<=4?4:ee,M>>>0<2)break a;if(ae=3&(M=~R+Ve|0),m=1,it-R>>>0>=3)for(R=-4&M,M=0;d[0|(w=r+m|0)]==4&&(g[0|w]=3),d[w+1|0]==4&&(g[w+1|0]=3),d[w+2|0]==4&&(g[w+2|0]=3),d[w+3|0]==4&&(g[w+3|0]=3),m=m+4|0,(0|R)!=(0|(M=M+4|0)););if(w=0,!ae)break a;for(;d[0|(R=r+m|0)]==4&&(g[0|R]=3),m=m+1|0,(0|ae)!=(0|(w=w+1|0)););}if($e)continue;break e}}break}}be=ee,P=_e,(0|R)==20&&(g[r+y|0]=h&&(0|ue)<0?1:ue,y=y+1|0)}if(g[0|A]=R,Ve=y-1|0,A=A+1|0,$e=(0|y)<99)continue}break}g[r+y|0]=1,g[0|A]=0;e:if((0|(A=e[i>>2]))>0)be=4,(0|A)>=(0|y)&&(e[i>>2]=Ve,A=Ve),g[A+r|0]=4,P=e[i>>2];else if((0|be)==5&&(be=4,!((0|y)<2))){if(l=1,ee=1&(A=y-1|0),(0|y)!=2)for(_e=-2&A,M=0;;){w=4;t:{r:{a:switch(d[0|(A=(m=l)+r|0)]-4|0){case 1:break r;case 0:break a;default:break t}w=2&d[t+14|0]?1:3,m=P}g[0|A]=w,P=m}w=4;t:{r:{a:switch(d[0|(A=(m=l+1|0)+r|0)]-4|0){case 1:break r;case 0:break a;default:break t}w=2&d[t+14|0]?1:3,m=P}g[0|A]=w,P=m}if(l=l+2|0,(0|_e)==(0|(M=M+2|0)))break}if(ee){w=4;t:{r:switch(d[0|(A=r+l|0)]-4|0){case 1:break t;case 0:break r;default:break e}w=2&d[t+14|0]?1:3,l=P}g[0|A]=w,P=l}}return e[i>>2]=P,e[n>>2]=y,be}function ds(t,A){var r,n,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0;if(!t)return aA(A);if(A>>>0>=4294967232)return e[56798]=48,0;r=A>>>0<11?16:A+11&-8,h=-8&(n=e[4+(m=t-8|0)>>2]);e:if(3&n){w=h+m|0;t:if(h>>>0>=r>>>0){if((l=h-r|0)>>>0<16)break t;e[m+4>>2]=1&n|r|2,e[4+(i=m+r|0)>>2]=3|l,e[w+4>>2]=1|e[w+4>>2],Er(i,l)}else if(e[57158]!=(0|w))if(e[57157]!=(0|w)){if(2&(l=e[w+4>>2])||(y=h+(-8&l)|0)>>>0<r>>>0)break e;R=y-r|0;r:if(l>>>0<=255){if(h=e[w+8>>2],i=l>>>3|0,(0|(l=e[w+12>>2]))==(0|h)){e[57152]=e[57152]&Ks(-2,i);break r}e[h+12>>2]=l,e[l+8>>2]=h}else{if(P=e[w+24>>2],(0|(M=e[w+12>>2]))==(0|w))if((i=e[(h=w+20|0)>>2])||(i=e[(h=w+16|0)>>2])){for(;l=h,M=i,(i=e[(h=i+20|0)>>2])||(h=M+16|0,i=e[M+16>>2]););e[l>>2]=0}else M=0;else i=e[w+8>>2],e[i+12>>2]=M,e[M+8>>2]=i;if(P){l=e[w+28>>2];a:{if(e[(i=228912+(l<<2)|0)>>2]==(0|w)){if(e[i>>2]=M,M)break a;e[57153]=e[57153]&Ks(-2,l);break r}if(e[(e[P+16>>2]==(0|w)?16:20)+P>>2]=M,!M)break r}e[M+24>>2]=P,(i=e[w+16>>2])&&(e[M+16>>2]=i,e[i+24>>2]=M),(i=e[w+20>>2])&&(e[M+20>>2]=i,e[i+24>>2]=M)}}R>>>0<=15?(e[m+4>>2]=1&n|y|2,e[4+(i=m+y|0)>>2]=1|e[i+4>>2]):(e[m+4>>2]=1&n|r|2,e[4+(l=m+r|0)>>2]=3|R,e[4+(i=m+y|0)>>2]=1|e[i+4>>2],Er(l,R))}else{if((l=h+e[57154]|0)>>>0<r>>>0)break e;(i=l-r|0)>>>0>=16?(e[m+4>>2]=1&n|r|2,e[4+(h=m+r|0)>>2]=1|i,e[(l=l+m|0)>>2]=i,e[l+4>>2]=-2&e[l+4>>2]):(e[m+4>>2]=l|1&n|2,e[4+(i=l+m|0)>>2]=1|e[i+4>>2],i=0,h=0),e[57157]=h,e[57154]=i}else{if((h=h+e[57155]|0)>>>0<=r>>>0)break e;e[m+4>>2]=1&n|r|2,i=h-r|0,e[4+(l=m+r|0)>>2]=1|i,e[57155]=i,e[57158]=l}i=m}else{if(r>>>0<256||h>>>0>=r+4>>>0&&(i=m,h-r>>>0<=e[57272]<<1>>>0))break e;i=0}return i?i+8|0:(m=aA(A))?($A(m,t,A>>>0>(i=(3&(i=e[t-4>>2])?-4:-8)+(-8&i)|0)>>>0?i:A),EA(t),m):0}function en(){var t,A,r=0,n=0;return t=Ka(12),e[t>>2]=22050,A=Ka(432),e[(n=A)+4>>2]=0,e[n+8>>2]=0,e[n>>2]=132304,e[n+32>>2]=0,e[n+12>>2]=0,e[n+16>>2]=0,e[n+20>>2]=0,e[n+24>>2]=0,IA(n+40|0,0,376),e[n+420>>2]=0,e[n+424>>2]=-1,g[n+416|0]=1,r=IA(Ka(408),0,408),e[n+28>>2]=r,g[r+8|0]=1,e[t+4>>2]=n,r=Ka(1096),e[r+8>>2]=22050,e[r+4>>2]=22050,e[r>>2]=132352,e[r+64>>2]=22050,e[r+56>>2]=0,e[r+60>>2]=0,e[r+32>>2]=0,e[r+36>>2]=0,e[r+24>>2]=22050,e[r+16>>2]=0,e[r+20>>2]=0,e[r+40>>2]=0,e[r+44>>2]=0,g[r+48|0]=0,e[r+128>>2]=0,e[r+132>>2]=0,v[r+96>>1]=0,e[r+72>>2]=22050,e[r+136>>2]=0,e[r+140>>2]=0,v[r+168>>1]=0,e[r+144>>2]=22050,e[r+200>>2]=0,e[r+204>>2]=0,e[r+208>>2]=0,e[r+212>>2]=0,e[r+216>>2]=22050,v[r+240>>1]=0,e[r+280>>2]=0,e[r+284>>2]=0,e[r+272>>2]=0,e[r+276>>2]=0,e[r+288>>2]=22050,v[r+312>>1]=0,e[r+344>>2]=0,e[r+348>>2]=0,e[r+352>>2]=0,e[r+356>>2]=0,e[r+360>>2]=22050,v[r+384>>1]=0,e[r+416>>2]=0,e[r+420>>2]=0,e[r+424>>2]=0,e[r+428>>2]=0,e[r+432>>2]=22050,v[r+456>>1]=0,e[r+488>>2]=0,e[r+492>>2]=0,e[r+496>>2]=0,e[r+500>>2]=0,e[r+504>>2]=22050,v[r+528>>1]=1,e[r+560>>2]=0,e[r+564>>2]=0,e[r+568>>2]=0,e[r+572>>2]=0,v[r+600>>1]=0,e[r+576>>2]=22050,e[r+640>>2]=0,e[r+644>>2]=0,e[r+632>>2]=0,e[r+636>>2]=0,v[r+680>>1]=0,e[r+656>>2]=22050,e[r+648>>2]=22050,e[r+720>>2]=0,e[r+724>>2]=0,e[r+712>>2]=0,e[r+716>>2]=0,v[r+752>>1]=0,e[r+728>>2]=22050,e[r+792>>2]=0,e[r+796>>2]=0,e[r+784>>2]=0,e[r+788>>2]=0,v[r+824>>1]=0,e[r+800>>2]=22050,e[r+864>>2]=0,e[r+868>>2]=0,e[r+856>>2]=0,e[r+860>>2]=0,e[r+872>>2]=22050,v[r+896>>1]=0,e[r+936>>2]=0,e[r+940>>2]=0,e[r+928>>2]=0,e[r+932>>2]=0,v[r+968>>1]=0,e[r+944>>2]=22050,e[r+1008>>2]=0,e[r+1012>>2]=0,e[r+1e3>>2]=0,e[r+1004>>2]=0,v[r+1040>>1]=0,e[r+1016>>2]=22050,e[r+1088>>2]=0,e[(n=r+1080|0)>>2]=0,e[n+4>>2]=0,e[(n=r+1072|0)>>2]=0,e[n+4>>2]=0,e[t+8>>2]=r,LA[e[e[r>>2]+4>>2]](r,A),t}function oa(t,A,r){var n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;e:if(P=e[50759]){if(n=e[50980],i=F(n,80)+222176|0,(0|(w=(0|(i=(0|(i=(e[i+12>>2]+e[i>>2]|0)/(0|t)|0))<(0|(y=((0|F(e[50754],19))/40<<16)/(0|t)|0))?i:y))>=399?399:i))>=0&&(IA(A,0,4+(w<<2)|0),n=e[50980]),(0|n)>=0)for(R=e[50801];;){if(l=F(h,80)+222176|0,e[l+4>>2]&&(m=e[l>>2])){if(ee=m+e[l+12>>2]|0,n=1+((m-e[l+8>>2]|0)/(0|t)|0)|0,(0|m)>(0|(n=F(i=(0|n)<=1?1:n,t))))for(;e[(M=(i<<2)+A|0)>>2]=e[M>>2]+F(e[l+4>>2],d[((m-n|0)/(e[l+8>>2]>>8)|0)+R|0]),i=i+1|0,(0|m)>(0|(n=t+n|0)););if(!((0|n)>=(0|ee)))for(;e[(M=(i<<2)+A|0)>>2]=e[M>>2]+F(e[l+4>>2],d[((n-m|0)/(e[l+12>>2]>>8)|0)+R|0]),i=i+1|0,(0|ee)>(0|(n=t+n|0)););}if(!((0|(h=h+1|0))<=e[50980]))break}if(i=1,!((0|(l=65536e3/(0|t)|0))<=0||(0|(n=F(e[55565],10)))<=0))for(l=(0|n)/(0|l)|0;e[(m=(i<<2)+A|0)>>2]=e[m>>2]+n,i=i+1|0,(0|(n=n-l|0))>0;);if((0|h)<=8)for(;i=203216+(n=h<<2)|0,l=F(h,80)+222176|0,m=e[l+4>>2]>>14,e[i>>2]=(0|F(F(m,m),5))/2,r?n=e[n+203264>>2]:(m=n+203264|0,n=e[l>>2]/(0|t)|0,e[m>>2]=n),(0|n)>=(0|y)&&(e[i>>2]=0),(0|(h=h+1|0))!=9;);if(i=0,(0|w)>=0)for(n=0;l=e[(h=(n<<2)+A|0)>>2]>>15,l=F(l,l)>>8,e[h>>2]=l,(0|i)<=524287999&&(e[h>>2]=F(l,d[344+((i>>19)+P|0)|0])>>13),i=t+i|0,h=(0|n)!=(0|w),n=n+1|0,h;);if(e[A+4>>2]=(0|F(e[A+4>>2],d[203300]?6:10))/8,1&r)for(t=e[50826],n=1;;){if(e[203312+(r=n<<2)>>2]=e[A+r>>2]-e[t+r>>2]>>3,(0|(r=n+1|0))==30)break e;e[203312+(r<<=2)>>2]=e[A+r>>2]-e[t+r>>2]>>3,n=n+2|0}}else w=1;return w}function Yn(t,A,r,n){var i,l=0,h=0;oe=i=oe-176|0,g[0|t]=0,v[i+80>>1]=24320,e[i+104>>2]=0,e[i+108>>2]=0,g[82+(_s(r,l=i+80|2)+i|0)|0]=0;e:{t:{if(!n){if(n=i+80|1,e[i+12>>2]=n,Hr(A,i+12|0,i+16|0,i+104|0,0,0)||(e[i+12>>2]=l,Hr(A,i+12|0,i+16|0,i+104|0,0,0)||(g[i+81|0]=32,zA(A,l,i+16|0,60,0,0,0))),(r=d[i+16|0])&&(0|r)!=21)break t;r:{if(e[A+212>>2]!=25966){if(lo(85719,188772,189296),g[i+81|0]=95,e[i+12>>2]=n,Hr(e[47193],i+12|0,i+16|0,i+104|0,0,0)||(e[i+12>>2]=l,Hr(e[47193],i+12|0,i+16|0,i+104|0,0,0)),d[i+16|0])break r;Ia(e[e[32972]+60>>2]),r=d[i+16|0]}if(255&r)break t;A=d[87124]|d[87125]<<8|d[87126]<<16|d[87127]<<24,r=d[87120]|d[87121]<<8|d[87122]<<16|d[87123]<<24,g[0|t]=r,g[t+1|0]=r>>>8,g[t+2|0]=r>>>16,g[t+3|0]=r>>>24,g[t+4|0]=A,g[t+5|0]=A>>>8,g[t+6|0]=A>>>16,g[t+7|0]=A>>>24,g[t+16|0]=d[87136],A=d[87132]|d[87133]<<8|d[87134]<<16|d[87135]<<24,r=d[87128]|d[87129]<<8|d[87130]<<16|d[87131]<<24,g[t+8|0]=r,g[t+9|0]=r>>>8,g[t+10|0]=r>>>16,g[t+11|0]=r>>>24,g[t+12|0]=A,g[t+13|0]=A>>>8,g[t+14|0]=A>>>16,g[t+15|0]=A>>>24;break e}n=i+16|0,l=i+104|0,oe=r=oe-112|0,(h=e[47193])?(bA(h,n,l,-1,0),TA(l=n,n=r+48|0),A=e[A+212>>2],g[r+43|0]=A>>>24,g[0|(h=(l=r+43|0)+(A>>>0>16777215)|0)]=A>>>16,g[0|(h=h+!!(16711680&A)|0)]=A>>>8,g[0|(h=h+!!(65280&A)|0)]=A,g[h+!!(255&A)|0]=0,e[r+16>>2]=85719,e[r+24>>2]=l,e[r+20>>2]=n,uA(t,85662,r+16|0)):(bA(A,n,l,-1,0),TA(n,A=r+48|0),e[r>>2]=A,uA(t,85451,r)),oe=r+112|0,Ia(e[e[32972]+60>>2]);break e}if(e[i+12>>2]=l,Hr(A,i+12|0,i+16|0,i+104|0,0,0),!d[i+16|0])break e}bA(r=A,A=i+16|0,i+104|0,-1,0),TA(r=A,A=i+112|0),e[i>>2]=A,uA(t,85451,i)}return oe=i+176|0,t}function Ma(t,A){var r,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0;if(oe=r=oe-112|0,e[r+72>>2]=-1,e[(n=r- -64|0)>>2]=-1,e[n+4>>2]=-1,e[r+56>>2]=-1,e[r+60>>2]=-1,e[r+48>>2]=-1,e[r+52>>2]=-1,e[r+40>>2]=-1,e[r+44>>2]=-1,e[r+32>>2]=-1,e[r+36>>2]=-1,e[r+24>>2]=-1,e[r+28>>2]=-1,e[r+16>>2]=-1,e[r+20>>2]=-1,(0|A)>0){for(l=e[r+72>>2],h=e[r+68>>2],m=e[r+64>>2],w=e[r+60>>2],M=e[r+56>>2],y=e[r+52>>2],P=e[r+48>>2],R=e[r+44>>2],ee=e[r+40>>2],ae=e[r+36>>2],ue=e[r+32>>2],be=e[r+28>>2],_e=e[r+24>>2],Ve=e[r+20>>2],$e=e[r+16>>2];i=l,l=(0|(l=e[60+(n=134912+(it<<6)|0)>>2]))<0?i:l,i=h,h=(0|(h=e[n+56>>2]))<0?i:h,i=m,m=(0|(m=e[n+52>>2]))<0?i:m,i=w,w=(0|(w=e[n+48>>2]))<0?i:w,i=M,M=(0|(M=e[n+44>>2]))<0?i:M,i=y,y=(0|(y=e[n+40>>2]))<0?i:y,i=P,P=(0|(P=e[n+36>>2]))<0?i:P,i=R,R=(0|(R=e[n+32>>2]))<0?i:R,i=ee,ee=(0|(ee=e[n+28>>2]))<0?i:ee,i=ae,ae=(0|(ae=e[n+24>>2]))<0?i:ae,i=ue,ue=(0|(ue=e[n+20>>2]))<0?i:ue,i=be,be=(0|(be=e[n+16>>2]))<0?i:be,i=_e,_e=(0|(_e=e[n+12>>2]))<0?i:_e,i=Ve,Ve=(0|(Ve=e[n+8>>2]))<0?i:Ve,$e=(0|(n=e[n+4>>2]))<0?$e:n,(0|(it=it+1|0))!=(0|A););e[r+72>>2]=l,e[r+68>>2]=h,e[r+64>>2]=m,e[r+60>>2]=w,e[r+56>>2]=M,e[r+52>>2]=y,e[r+48>>2]=P,e[r+44>>2]=R,e[r+40>>2]=ee,e[r+36>>2]=ae,e[r+32>>2]=ue,e[r+28>>2]=be,e[r+24>>2]=_e,e[r+20>>2]=Ve,e[r+16>>2]=$e}for(A=0;;){if((0|(n=e[(l=A<<2)+(r+16|0)>>2]))!=e[(l=l+134848|0)>>2]){g[r+80|0]=0;e:{t:switch(A-1|0){case 4:e[47201]=n-1;break e;case 5:e[47200]=n;break e;case 0:case 1:case 2:case 3:case 11:break t;default:break e}e[r+4>>2]=n,e[r>>2]=1,e[r+8>>2]=g[A+102812|0],uA(r+80|0,91942,r)}e[l>>2]=n,n=r+80|0,BA(e[t>>2]+189424|0,n),e[t>>2]=e[t>>2]+wA(n)}if((0|(A=A+1|0))==15)break}oe=r+112|0}function Br(t){var A,r,n,i=0,l=0,h=0,m=0;for(i=17,e[t+328>>2]=17,e[t+224>>2]=0,e[t+216>>2]=1105,e[t+220>>2]=1072,e[t+600>>2]=1056,e[t+8180>>2]=105296,h=IA(t+344|0,0,256),g[t+393|0]=1,g[t+365|0]=1,g[t+360|0]=1,g[t+545|0]=1,g[t+529|0]=1,g[t+391|0]=1,g[t+379|0]=1,g[t+374|0]=1,g[t+489|0]=1,g[t+487|0]=1,g[t+398|0]=1,g[t+387|0]=1,g[t+388|0]=2,g[t+389|0]=1,g[t+390|0]=1,g[t+385|0]=2,g[t+383|0]=2,g[t+368|0]=1,g[t+369|0]=2,l=104224;g[0|(i=i+h|0)]=4|d[0|i],i=h+d[l+1|0]|0,g[0|i]=4|d[0|i],i=h+d[l+2|0]|0,g[0|i]=4|d[0|i],i=d[0|(l=l+3|0)],(0|l)!=104251;);
2810g[t+386|0]=8|d[t+386|0],g[t+382|0]=8|d[t+382|0],g[t+384|0]=8|d[t+384|0],g[t+369|0]=16|d[t+369|0],g[t+370|0]=16|d[t+370|0],g[t+371|0]=16|d[t+371|0],l=d[t+361|0],h=d[t+362|0],i=d[t+363|0],m=d[t+364|0],A=d[t+366|0],r=d[t+367|0],g[t+372|0]=16|d[t+372|0],g[t+373|0]=16|d[t+373|0],g[t+375|0]=16|d[t+375|0],g[t+376|0]=16|d[t+376|0],g[t+377|0]=16|d[t+377|0],g[t+378|0]=16|d[t+378|0],g[t+380|0]=16|d[t+380|0],g[t+381|0]=16|d[t+381|0],g[t+383|0]=16|d[t+383|0],g[t+385|0]=16|d[t+385|0],n=d[t+388|0],g[t+367|0]=48|r,g[t+366|0]=40|A,g[t+364|0]=48|m,g[t+363|0]=48|i,g[t+362|0]=48|h,g[t+361|0]=48|l,g[t+388|0]=80|n,l=d[t+390|0],h=d[t+391|0],i=d[t+393|0],g[t+360|0]=128|d[t+360|0],m=d[t+365|0],g[t+393|0]=192|i,g[t+365|0]=128|m,g[t+368|0]=128|d[t+368|0],g[t+374|0]=128|d[t+374|0],g[t+379|0]=128|d[t+379|0],g[t+387|0]=128|d[t+387|0],i=d[t+389|0],g[t+391|0]=192|h,g[t+390|0]=192|l,g[t+389|0]=128|i,g[t+529|0]=128|d[t+529|0],g[t+545|0]=128|d[t+545|0],g[t+489|0]=128|d[t+489|0],g[t+487|0]=128|d[t+487|0],g[t+398|0]=128|d[t+398|0]}function Hr(t,A,r,n,i,l){var h,m=0,w=0,M=0,y=0,P=0,R=0;oe=h=oe-192|0,m=P=e[A>>2];e:{t:{for(;w=1,(0|(M=g[0|m]))>=0||(w=2,M>>>0<4294967264||(w=M>>>0<4294967280?3:4)),!(d[0|(M=w+m|0)]!=32|d[M+1|0]!=46);){if(y-160>>>0<4294967135)break t;$A((R=h+32|0)+y|0,m,w),g[(w=w+y|0)+R|0]=46,m=M+3|0,y=w+1|0}if(y){for(w=0;M=w,w=w+1|0,223&d[m+M|0];);if(!(1+(R=M+y|0)>>>0>160)&&($A((w=h+32|0)+y|0,m,M),g[w+R|0]=0,MA(t,w,m,r,n,i,l))){e[n>>2]=128|e[n>>2],e[33264]=y,t=1;break e}}}for(m=0;;){if(P=(w=P)+1|0,223&(w=d[0|w]))if(!m|(0|w)!=46|g[31+(m+h|0)|0]-48>>>0>=10){if(g[(h+32|0)+m|0]=w,w=159,(0|(m=m+1|0))!=159)continue}else w=m;else w=m;break}g[(m=h+32|0)+w|0]=0,m=MA(t,m,P,r,n,i,l);t:if(8&d[n+3|0]){if(!Zr(r,M=t+268|0)){if(M=e[t+288>>2]+1|0,e[t+288>>2]=M,(0|M)<4)break t;g[0|r]=0;break t}vr(M,r,20),e[t+288>>2]=1}else e[t+288>>2]=0;t:{if(!m){if(m=0,8&d[n+5|0]&&(M=or(h+28|0,m=h+32|d[h+32|0]==95),_t(t,e[h+28>>2],r),m=m+M|0),!(w>>>0<2|m)){if(g[0|r]=0,!(16&i&&d[0|(m=31+(w+h|0)|0)]==101)&&(!(4096&i)||d[0|(m=(w=(h+32|0)+w|0)-1|0)]!=d[w-2|0]))break t;g[0|m]=0,m=MA(t,h+32|0,P,r,n,i,l)}if(!m)break t}if(y=e[n>>2],d[t+172|0]&&(y^=536870912,e[n>>2]=y),t=1,!(536870912&y))break e;2&i&&(v[66448]=8192,e[h+16>>2]=r,uA(132898,87470,h+16|0),t=e[A>>2],e[A>>2]=132898,8&d[188788]&&($A(A=h+32|0,n=t,t=m-t|0),g[t+A|0]=0,e[h+4>>2]=132898,t=e[47195],e[h>>2]=A,ss(t,87652,h)))}g[0|r]=0,t=0}return oe=h+192|0,t}function cn(t,A){var r=0,n=0,i=0;r=31&t;e:{t:{r:{if((0|(t&=96))==96)t=-1;else{if((0|t)!=64)break r;t=1}if(r>>>0>=15)break e;A=e[203136+(r<<2)>>2]+F(t,A)|0;break t}if(r>>>0>=15)break e}t=e[105616+(n=r<<2)>>2],e[n+203136>>2]=(0|A)>=0?(0|t)>(0|A)?A:t:0}e:{t:{r:{a:{n:switch(r-1|0){case 5:if(!(t=e[50759]))break t;e[54728]=e[50982],A=e[50979],r=e[50978],IA(205184,0,11e3),e[51293]=0,A=(r=(i=(0|(n=e[50789]))>0)?130:(0|r)>=5499?5499:r)?i?n:(0|A)>=100?100:A:0,e[50755]=A,r=(0|F(r,e[50754]))/1e3|0,e[51292]=r,e[54729]=(0|A)>20?r<<1:A?r:0,e[33037]=(0|F(500-A|0,(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16|0))/500;break a;case 0:break n;case 2:case 12:break e;case 4:break r;default:break t}if(!(t=e[50759]))break t}return A=256,(0|(r=(0|(r=e[50785]))>=101?101:r))>=51&&(A=256+(((F(r,25)-1250&65535)>>>0)/50|0)|0),v[t+164>>1]=(0|F(v[t+236>>1],A))/256,v[t+166>>1]=(0|F(v[t+238>>1],A))/256,v[t+168>>1]=(0|F(v[t+240>>1],A))/256,v[t+170>>1]=(0|F(v[t+242>>1],A))/256,v[t+172>>1]=(0|F(v[t+244>>1],A))/256,v[t+174>>1]=(0|F(v[t+246>>1],A))/256,t=e[50790],v[102e3]=(0|F(v[102036],F(t,-3)+256|0))/256,void(v[101999]=(0|F(v[102035],F(t,-6)+256|0))/256)}e[50759]&&(e[54728]=e[50982],t=e[50979],A=e[50978],IA(205184,0,11e3),e[51293]=0,t=(A=(n=(0|(r=e[50789]))>0)?130:(0|A)>=5499?5499:A)?n?r:(0|t)>=100?100:t:0,e[50755]=t,A=(0|F(A,e[50754]))/1e3|0,e[51292]=A,e[54729]=(0|t)>20?A<<1:t?A:0,e[33037]=(0|F(500-t|0,(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16|0))/500)}return}e[33037]=(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16}function Rn(t,A,r){var n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0;r&&(e[r>>2]=0);e:{t:if(!((0|(n=g[0|t]))<0)){for(;;){if((0|(l=255&n))==32|l-9>>>0<5){if((0|(n=g[0|(t=t+1|0)]))>=0)continue;break t}break}if(!(255&n))break e}for(;;){if((0|(n=w=255&n))==32|n-9>>>0<5)break e;if((0|w)!=124||(0|(n=d[0|(l=t+1|0)]))==124){t:{if((0|(P=e[36115]))>=2){for(n=1,l=-1,M=0;;){r:if(!(!(y=e[144464+(n<<2)>>2])|d[y+11|0]==15)){m=e[y>>2];a:{n:{if(w>>>0>=33){if(R=0,h=0,(255&m)==(0|w)&&(h=1,(i=d[t+1|0])>>>0<33|(0|i)!=(m>>>8&255)||(h=2,(i=d[t+2|0])>>>0<33|(0|i)!=(m>>>16&255)||(h=(i=(i=d[t+3|0])>>>0>32&(0|i)==(m>>>24|0))?4:3,R=0-i|0))),(0|l)>=(0|h))break r;if(i=4,!(1&R))break n;break a}if(h=0,(0|l)>=0)break r}if(m>>>((i=h)<<3)&255)break r}M=d[y+10|0],l=i}if((0|P)==(0|(n=n+1|0)))break}if(M)break t}return r&&or(r,t),void(g[0|A]=0)}g[0|A]=M,t=((0|l)<=1?1:l)+t|0,A=l=A+1|0;
vendor: 8,586 bytes, line 2810
2810t:if((0|M)==21){r:if((0|(i=d[0|t]))==32|i-9>>>0<5)n=l;else if(n=l,i)for(;;){if(g[0|n]=wr(i),n=n+1|0,(0|(i=d[0|(t=t+1|0)]))==32|i-9>>>0<5)break r;if(!i)break}if(g[0|n]=0,!i){if(A=n,Zr(l,85593))break t;return void(g[0|l]=0)}g[0|n]=124,A=n+1|0}n=d[0|t]}else t=l;if(!(255&n))break}}g[0|A]=0}function Oi(t,A){var r=0,n=0,i=0,l=0,h=0;e:{t:{r:{a:{n:switch((0|(r=e[t+4>>2]))==e[t+104>>2]?r=oA(t):(e[t+4>>2]=r+1,r=d[0|r]),r-43|0){case 0:case 2:break n;default:break a}if(l=(0|r)==45,h=!A,(0|(r=e[t+4>>2]))==e[t+104>>2]?r=oA(t):(e[t+4>>2]=r+1,r=d[0|r]),h|(A=r-58|0)>>>0>4294967285)break r;if(e[t+116>>2]<0)break t;e[t+4>>2]=e[t+4>>2]-1;break t}A=r-58|0}if(!(A>>>0<4294967286)){if((A=r-48|0)>>>0<10){for(;i=(0|(n=(n=F(n,10)+r|0)-48|0))<214748364,(0|(A=e[t+4>>2]))==e[t+104>>2]?r=oA(t):(e[t+4>>2]=A+1,r=d[0|A]),i&(A=r-48|0)>>>0<=9;);i=n>>31}r:if(!(A>>>0>=10))for(;;){if(A=(n=rr(n,i,10,0))+r|0,r=fe,r=A>>>0<n>>>0?r+1|0:r,n=A-48|0,i=r-(A>>>0<48)|0,(0|(A=e[t+4>>2]))==e[t+104>>2]?r=oA(t):(e[t+4>>2]=A+1,r=d[0|A]),(A=r-48|0)>>>0>9)break r;if(!(n>>>0<2061584302&(0|i)<=21474836|(0|i)<21474836))break}if(A>>>0<10)for(;(0|(A=e[t+4>>2]))==e[t+104>>2]?A=oA(t):(e[t+4>>2]=A+1,A=d[0|A]),A-48>>>0<10;);(0|(A=e[t+116>>2]))>0|(0|A)>=0&&(e[t+4>>2]=e[t+4>>2]-1),t=n,n=l?0-t|0:t,i=l?0-(!!(0|t)+i|0)|0:i;break e}}if(i=-2147483648,!(e[t+116>>2]<0))return e[t+4>>2]=e[t+4>>2]-1,fe=-2147483648,0}return fe=i,n}function Ra(t){var A=0,r=0,n=0,i=0;if(e[36432]=110,e[36433]=100,e[36434]=450,e[36430]=5,A=e[203136+((0|t)==2?32:8)>>2],n=e[32972],(0|(r=e[n+84>>2]))>0&&(A=(0|F(A,r))/100|0),r=(0|A)>=359?359:A,r=(0|(A=(0|A)>=450?450:A))>399?6:(0|A)>379?7:d[((0|r)<=80?80:r)+101856|0],1&t&&(e[32526]=(0|F(r,e[n+72>>2]))/256,e[32527]=(0|F(r,e[n+76>>2]))/256,e[32528]=(0|F(r,e[n+80>>2]))/256,r>>>0>7||(i=r-1|0,e[32528]=i,e[32526]=r,e[32527]=i)),2&t){t=e[n+72>>2];e:{t:{r:{a:{n:{c:{o:{f:{if((0|A)>=351)n=A-350|0,e[36432]=85-(((255&n)>>>0)/3|0)&255,n=60-(n>>>3|0)|0;else{if((0|A)<251)break f;n=A-250|0,e[36432]=110-(n>>>2|0),n=110-(n>>>1|0)|0}if(e[36433]=n,t=(0|F(t,r))/256|0,e[36431]=110+((0|F(t,150))/128|0),A>>>0<=349)break o;if(r=A-350|0,e[36431]=d[r+102224|0],A>>>0<390)break n;if(e[36434]=450+((A+112<<24>>24)/-2<<24>>24),A>>>0<441)break c;e[36434]=860-A,t=12;break t}t=(0|F(t,r))/256|0,e[36431]=(0|A)>=170?110+((0|F(t,150))/128|0)|0:128+((t<<7)/130|0)|0}t=(t<<8)/115|0;break t}if(t=12,A>>>0>430)break t;if(t=13,A>>>0<=400)break a;break t}if(t=(t<<8)/115|0,e[36428]=t,A>>>0<375)break r}t=14;break t}if((0|A)<351)break e;t=d[r+102336|0]}e[36428]=t}e[36429]=(0|t)<=16?16:t}}function jn(t,A,r){var n,i,l,h;n=.000244140625*+e[50767],S[r>>3]=n,S[r+40>>3]=.015625*+e[t+112>>2],S[r+48>>3]=.015625*+e[t+276>>2],S[r+56>>3]=.00390625*+(0|F(v[t+166>>1],v[A+4>>1]))+ +v[t+220>>1],S[r+64>>3]=.00390625*+(0|F(v[t+168>>1],v[A+6>>1]))+ +v[t+222>>1],S[r+72>>3]=.00390625*+(0|F(v[t+170>>1],v[A+8>>1]))+ +v[t+224>>1],S[r+80>>3]=.00390625*+(0|F(v[t+172>>1],v[A+10>>1]))+ +v[t+226>>1],S[r+88>>3]=.00390625*+(0|F(v[t+174>>1],v[A+12>>1]))+ +v[t+228>>1],i=v[t+230>>1],l=v[t+176>>1],h=v[A+14>>1],e[r+112>>2]=0,e[r+116>>2]=1080623104,e[r+104>>2]=0,e[r+108>>2]=1081032704,S[r+96>>3]=.00390625*+(0|F(l,h))+ +(0|i),d[A+40|0]?(e[r+184>>2]=0,e[r+188>>2]=1072693248,S[r+104>>3]=d[A+40|0]<<1):(e[r+184>>2]=0,e[r+188>>2]=0),S[r+120>>3]=.00390625*+v[t+202>>1]*+(d[A+35|0]<<1),S[r+128>>3]=.00390625*+v[t+204>>1]*+(d[A+36|0]<<1),S[r+136>>3]=.00390625*+v[t+206>>1]*+(d[A+37|0]<<1),A=d[A+38|0],t=v[t+208>>1],e[r+176>>2]=0,e[r+180>>2]=1079574528,e[r+160>>2]=0,e[r+164>>2]=1083129856,e[r+152>>2]=0,e[r+156>>2]=1083129856,e[r+352>>2]=0,e[r+356>>2]=1072693248,e[r+168>>2]=0,e[r+172>>2]=1079574528,S[r+144>>3]=.00390625*+(0|t)*+(A<<1),t=e[50779],S[r+368>>3]=n,S[r+360>>3]=+(0|t)/100*3}function Tn(t){var A=0;Je(t,ta(t));e:{t:{r:{a:{n:{c:{o:{f:{l:{i:{if((0|(t=-1048576&fe))<268435455|(0|t)<=268435455){h:{b:{if((0|t)<33554431|(0|t)<=33554431){if((0|t)<8388607|(0|t)<=8388607){if(A=524328,!0&(0|t)==-2147483648)break e;if(0|(0|t)!=-2143289344)break t;return 557096}if(!0&(0|t)==8388608)break b;if(0|(0|t)!=16777216)break t;return 524358}if((0|t)>71303167)break h;if(!0&(0|t)==33554432)break r;if(0|(0|t)!=67108864)break t}return 266270}if(!0&(0|t)==71303168)break i;if(!0&(0|t)==134217728)break a;if(0|(0|t)!=138412032)break t;return 294942}if((0|t)<542113791|(0|t)<=542113791){if((0|t)<536870911|(0|t)<=536870911){if(!0&(0|t)==268435456)break n;if(0|(0|t)!=272629760)break t;return 299028}if(!0&(0|t)==536870912)break o;if(!0&(0|t)==538968064)break c;if(0|(0|t)!=541065216)break t;return 569389}if((0|t)<1075838975|(0|t)<=1075838975){if(!0&(0|t)==542113792)break i;if(0|(0|t)!=1073741824)break t;return 532520}if(!0&(0|t)==1075838976)break f;if(!0&(0|t)==1077936128)break l;if(0|(0|t)!=1078984704)break t}return 299038}return 565288}return 1581096}return 536621}return 1585197}return 266260}return 262174}return 2396190}A=16384}return A}function ja(t,A,r,n,i,l){var h,m,w=0,M=0,y=0,P=0;if(m=8388607&t,M=e[34456],w=d[0|(t=m+M|0)]|d[t+1|0]<<8){h=!(y=d[t+2|0]),t=e[36434]<<h,(0|r)<=0?r=w:(r=(0|F(e[50754],r))/1e3<<h,t=(0|t)<(0|(P=(0|F(r,t))/(0|w)|0))?P:t),i=(0|i)>0?(0|F(r,i))/256|0:r,r=(0|F(i,e[36431]))/256|0,r=(0|t)<(0|(r=(4&n)>>>2|0&&(0|r)>(0|i)?i:r))?r:t,y||(w=w>>>1|0,r=(0|r)/2|0);e:if(!((0|l)<0)){if(n=m+4|0,256&A)t=e[50758],e[36439]=t,e[(A=216192+(t<<4)|0)>>2]=7,e[A+8>>2]=n+M,e[A+4>>2]=w<<16|r,l=y|l<<8;else{if(t=e[50758],e[36439]=t,e[(t=216192+(t<<4)|0)>>2]=6,l=y|l<<8,e[t+12>>2]=l,e[t+8>>2]=n+M,M=t,t=F(A=w>>>2|0,3),i=(0|r)>(0|w),e[M+4>>2]=i?t:r,M=e[50758]+1|0,e[50758]=(0|M)<=169?M:0,(0|t)<(0|(r=i?r-t|0:0)))for(i=A<<1,y=n+(y?A:i)|0;A=e[50758],e[36439]=A,e[(A=216192+(A<<4)|0)>>2]=6,e[A+4>>2]=i,e[A+12>>2]=l,e[A+8>>2]=y+e[34456],A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,(0|t)<(0|(r=r-i|0)););if((0|r)<=0)break e;t=e[50758],e[36439]=t,e[(A=216192+(t<<4)|0)>>2]=6,e[A+4>>2]=r,e[A+8>>2]=e[34456]+(n+(w-r<<h)|0)}e[12+(216192+(t<<4)|0)>>2]=l,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0}}}function $A(t,A,r){var n,i=0,l=0;if(r>>>0>=512)return ot(0|t,0|A,0|r),t;n=t+r|0;e:if(3&(t^A))if(n>>>0<4)r=t;else if((i=n-4|0)>>>0<t>>>0)r=t;else for(r=t;g[0|r]=d[0|A],g[r+1|0]=d[A+1|0],g[r+2|0]=d[A+2|0],g[r+3|0]=d[A+3|0],A=A+4|0,i>>>0>=(r=r+4|0)>>>0;);else{t:if(3&t)if(r)for(r=t;;){if(g[0|r]=d[0|A],A=A+1|0,!(3&(r=r+1|0)))break t;if(!(r>>>0<n>>>0))break}else r=t;else r=t;if(!((i=-4&n)>>>0<64||(l=i+-64|0)>>>0<r>>>0))for(;e[r>>2]=e[A>>2],e[r+4>>2]=e[A+4>>2],e[r+8>>2]=e[A+8>>2],e[r+12>>2]=e[A+12>>2],e[r+16>>2]=e[A+16>>2],e[r+20>>2]=e[A+20>>2],e[r+24>>2]=e[A+24>>2],e[r+28>>2]=e[A+28>>2],e[r+32>>2]=e[A+32>>2],e[r+36>>2]=e[A+36>>2],e[r+40>>2]=e[A+40>>2],e[r+44>>2]=e[A+44>>2],e[r+48>>2]=e[A+48>>2],e[r+52>>2]=e[A+52>>2],e[r+56>>2]=e[A+56>>2],e[r+60>>2]=e[A+60>>2],A=A- -64|0,l>>>0>=(r=r- -64|0)>>>0;);if(r>>>0>=i>>>0)break e;for(;e[r>>2]=e[A>>2],A=A+4|0,i>>>0>(r=r+4|0)>>>0;);}if(r>>>0<n>>>0)for(;g[0|r]=d[0|A],A=A+1|0,(0|n)!=(0|(r=r+1|0)););return t}function fr(t){var A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0;V(+t),A=0|G(1),G(0);e:{if((n=(A=A>>>20&2047)-969|0)>>>0<63)w=A;else{if((0|n)<0)return t+1;if(!(A>>>0<1033)){if(V(+t),n=0|G(1),r=0,!(0|G(0))&(0|n)==-1048576)break e;return A>>>0>=2047?t+1:(0|n)<0?(S[8+(A=oe-16|0)>>3]=12882297539194267e-247,12882297539194267e-247*S[A+8>>3]):(S[8+(A=oe-16|0)>>3]=3105036184601418e216,3105036184601418e216*S[A+8>>3])}}if(r=S[14409],l=(r=(t=(r=(i=S[14408]*t+r)-r)*S[14411]+(r*S[14410]+t))*t)*r*(t*S[14415]+S[14414]),r*=t*S[14413]+S[14412],V(+i),G(1),m=0|G(0),t=l+(r+(S[115376+(n=m<<4&2032)>>3]+t)),h=e[(n=n+115384|0)>>2],A=(m<<13)+(A=e[n+4>>2])|0,A=(n=(n=h)+(h=0)|0)>>>0<h>>>0?A+1|0:A,!w)return-2147483648&m?(D(0,0|n),D(1,A+1071644672|0),(t=(i=(r=+Q())*t)+r)<1&&(e[8+(A=oe-16|0)>>2]=0,e[A+12>>2]=1048576,S[A+8>>3]=22250738585072014e-324*S[A+8>>3],t=(t=(l=t+1)+(i+(r-t)+(t+(1-l)))+-1)==0?0:t),t*=22250738585072014e-324):(D(0,0|n),D(1,A-1058013184|0),t=5486124068793689e288*((r=+Q())*t+r)),t;D(0,0|n),D(1,0|A),r=(r=+Q())*t+r}return r}function la(t,A){var r,n=0,i=0,l=0,h=0;oe=r=oe-16|0;e:{if(an(84270,g[0|A])){if(i=2,an(A,43)||(i=d[0|A]!=114),i=an(A,120)?128|i:i,l=i=an(A,101)?524288|i:i,h=64|i,l=(0|(i=d[0|A]))==114?l:h,l=(0|i)==119?512|l:l,e[r>>2]=438,e[r+4>>2]=0,(t=0|we(-100,0|t,32768|((0|i)==97?1024|l:l),0|r))>>>0>=4294963201&&(e[56798]=0-t,t=-1),(0|t)<0)break e;oe=i=oe-32|0;t:{r:{if(an(84270,g[0|A])){if(n=aA(1176))break r}else e[56798]=28;A=0;break t}IA(n,0,144),an(A,43)||(e[n>>2]=d[0|A]==114?8:4),d[0|A]==97?(1024&(A=0|pe(0|t,3,0))||(A|=1024,e[i+16>>2]=A,e[i+20>>2]=A>>31,pe(0|t,4,i+16|0)),A=128|e[n>>2],e[n>>2]=A):A=e[n>>2],e[n+80>>2]=-1,e[n+48>>2]=1024,e[n+60>>2]=t,e[n+44>>2]=n+152,8&A||(e[i>>2]=i+24,e[i+4>>2]=0,0|at(0|t,21523,0|i)||(e[n+80>>
28102]=10)),e[n+40>>2]=10,e[n+36>>2]=11,e[n+32>>2]=12,e[n+12>>2]=13,d[227205]||(e[n+76>>2]=-1),e[n+56>>2]=e[56816],(A=e[56816])&&(e[A+52>>2]=n),e[56816]=n,A=n}if(oe=i+32|0,n=A)break e;Pe(0|t)}else e[56798]=28;n=0}return oe=r+16|0,n}function vi(t,A,r){var n,i=0,l=0,h=0,m=0,w=0;if(h=t,oe=n=oe-208|0,e[n+8>>2]=1,e[n+12>>2]=0,m=A<<2){for(e[n+16>>2]=4,e[n+20>>2]=4,A=4,i=4,l=2;t=A,A=(i+4|0)+A|0,e[(n+16|0)+(l<<2)>>2]=A,l=l+1|0,i=t,A>>>0<m>>>0;);if((t=(h+m|0)-4|0)>>>0<=h>>>0)l=0,A=1,t=0;else{for(l=1,A=1;3&~l?(re[(n+16|0)+((i=A-1|0)<<2)>>2]>=t-h>>>0?ks(h,r,n+8|0,A,0,n+16|0):Sn(h,r,A,n+16|0),(0|A)!=1?(Xi(n+8|0,i),A=1):(Xi(n+8|0,1),A=0)):(Sn(h,r,A,n+16|0),Ua(n+8|0,2),A=A+2|0),l=1|(i=e[n+8>>2]),e[n+8>>2]=l,t>>>0>(h=h+4|0)>>>0;);l=i>>>0>1,t=e[n+12>>2]!=0}if(ks(h,r,n+8|0,A,0,n+16|0),l|(0|A)!=1|t)for(;(0|A)<=1?(Ua(i=n+8|0,t=Wo(i)),l=e[n+8>>2],t=t+A|0):(Xi(i=n+8|0,2),e[n+8>>2]=7^e[n+8>>2],Ua(i,1),ks((w=h-4|0)-e[(m=n+16|0)+((t=A-2|0)<<2)>>2]|0,r,i,A-1|0,1,m),Xi(i,1),l=1|e[n+8>>2],e[n+8>>2]=l,ks(w,r,i,t,1,m)),A=t,h=h-4|0,e[n+12>>2]|(0|A)!=1|(0|l)!=1;);}oe=n+208|0}function Pa(t,A,r,n){var i,l=0,h=0,m=0;oe=i=oe-32|0,m=l=2147483647&n,h=l-1006698496|0;e:if(0|(l=l-1140785152|0)>>>0>h>>>0){if(l=r<<4|A>>>28,r=n<<4|r>>>28,(0|(A&=268435455))==134217728&!!(0|t)|A>>>0>134217728){h=r+1073741824|0,h=(l=l+1|0)?h:h+1|0;break e}if(h=r+1073741824|0,t|(0|A)!=134217728)break e;h=(t=1&l)>>>0>(l=t+l|0)>>>0?h+1|0:h}else(!r&(0|m)==2147418112?!(t|A):m>>>0<2147418112)?(l=0,h=2146435072,m>>>0>1140785151||(h=0,(m=m>>>16|0)>>>0<15249||(ea(i+16|0,t,A,r,l=65535&n|65536,m-15233|0),Da(i,t,A,r,l,15361-m|0),l=(A=e[i+8>>2])<<4,A=e[i+12>>2]<<4|A>>>28,r=e[i>>2],m=h=e[i+4>>2],l|=h>>>28,h=A,(0|(t=268435455&m))==134217728&!!(0|(A=r|!!(e[i+16>>2]|e[i+24>>2]|e[i+20>>2]|e[i+28>>2])))|t>>>0>134217728?h=(l=l+1|0)?h:h+1|0:A|(0|t)!=134217728||(h=(t=l)>>>0>(l=l+(1&l)|0)>>>0?h+1|0:h)))):(l=r<<4|A>>>28,h=524287&(t=n<<4|r>>>28)|2146959360);return oe=i+32|0,D(0,0|l),D(1,-2147483648&n|h),+Q()}function ci(t){var A,r=0,n=0,i=0,l=0,h=0;if(V(+t),h=0|G(1),i=0|G(0),(0|(l=h>>>20&2047))==2047)return(t*=1)/t;if(!(n=i<<1)&(0|(r=h<<1|i>>>31))==2145386496|r>>>0<2145386496)return!n&(0|r)==2145386496?0*t:t;if(l)r=1048575&h|1048576;else{if(l=0,n=i<<12,(0|(r=h<<12|i>>>20))>0|(0|r)>=0)for(;l=l-1|0,r=r<<1|n>>>31,n<<=1,(0|r)>0|(0|r)>=0;);n=31&(r=1-l|0),(63&r)>>>0>=32?(r=i<<n,i=0):(r=(1<<n)-1&i>>>32-n|h<<n,i<<=n)}if(n=i,(0|l)>1023){for(;;){if(!((0|(i=r+-1048576|0))<0||(r=i)|n))return 0*t;if(r=r<<1|n>>>31,n<<=1,!((0|(l=l-1|0))>1023))break}l=1023}if(!((0|(i=r+-1048576|0))<0||(r=i)|n))return 0*t;if((0|r)==1048575|r>>>0<1048575)for(;l=l-1|0,i=r>>>0<524288,r=r<<1|n>>>31,n<<=1,i;);return A=-2147483648&h,(0|l)>0?r=r+-1048576|l<<20:(i=1-l|0,h=r,l=n,n=31&i,(63&i)>>>0>=32?(r=0,n=h>>>n|0):(r=h>>>n|0,n=((1<<n)-1&h)<<32-n|l>>>n)),D(0,0|n),D(1,r|A),+Q()}function tn(t,A,r,n,i){var l,h=0,m=0;oe=l=oe-160|0;e:{t:{r:{a:switch((h=d[A+10|0])-15|0){case 6:break r;case 0:break a;default:break t}g[0|t]=0;break e}e[l>>2]=F(d[r+7|0],44)+137856,uA(t,86002,l),t=wA(t)+t|0;break e}if(n){if(g[l+140|0]=0,r?Gt(0,0,r,l+8|0,0):zn(h,l+8|0),r=l+140|0,h=d[l+140|0]){if((0|h)==32){g[0|t]=0;break e}224&(h=h<<24>>24)||(i&&(e[i>>2]=h),r=l+141|0)}if(!((0|(i=wA(r)))<=0)){t=BA(t,r)+i|0,g[0|t]=0;break e}}i=0;t:if(!(!(r=255&(h=e[A>>2]))|(0|r)==47)){if(n){if((0|(m=255&h))==95)break t;r:{a:{if((0|m)==35){if(m=3,d[A+11|0]!=2)break a;break t}if((m=r-32|0)>>>0>95)break r}r=_[93952+(m<<1)>>1]}i=_s(r,t)}else g[0|t]=h,i=1;for(;;){if(!(r=255&(h>>=8))|(0|r)==47)break t;if(n){if((0|r)==35&d[A+11|0]==2)break t;if(r-48>>>0<10)continue;(m=r-32|0)>>>0<=95&&(r=_[93952+(m<<1)>>1]),i=_s(r,t+i|0)+i|0}else g[t+i|0]=h,i=i+1|0}}g[0|(t=t+i|0)]=0}return oe=l+160|0,t}function Wa(t){var A,r=0;A=t,r=131280;e:{t:{if(!((0|t)<=1023||(r=131300,t>>>0<1328||(r=131320,t>>>0<1424||(r=131340,t>>>0<1536||(r=131360,t>>>0<1792||(r=131380,t>>>0<1872||(r=131400,t>>>0<2432||(r=131420,t>>>0<2560||(r=131440,t>>>0<2688||(r=131460,t>>>0<2816||(r=131480,t>>>0<2944||(r=131500,t>>>0<3072||(r=131520,t>>>0<3200||(r=131540,t>>>0<3328||(r=131560,t>>>0<3456||(r=131580,t>>>0<3584||(r=131600,t>>>0<3712||(r=131620,t>>>0<3840||(r=131640,t>>>0<4096||(r=131660,t>>>0<4256||(r=131680,t>>>0<4352||(r=131700,t>>>0<4608||(r=131720,t>>>0<5024||(r=131740,t>>>0<10496||(r=131760,t>>>0<12544||(r=131780,t>>>0<40960))))))))))))))))))))))))))){if(t>>>0>=55296)break t;r=131800}if((0|A)>=_[(t=r)+8>>1])break e}t=0}return t}function _t(t,A,r){var n,i=0,l=0,h=0,m=0;oe=n=oe-208|0,g[n+80|0]=0;e:{if((i=A-224|0)>>>0<=158)A=101072+(i<<1)|0;else{if((A=A-592|0)>>>0>88)break e;A=101392+(A<<1)|0}if(A=_[A>>1]){if(h=A<<16>>16,m=(i=63&A)>>>0>37?i+59|0:v[101584+(i<<1)>>1],i=A>>>6|0,(0|h)<0)i=59+(63&i)|0,A=A>>>12&7;else{if(!(l=31&i))break e;i=0,A=A>>>11&15}(l=kA(t,e[129920+(l<<3)>>2],n+112|0))&&Ro(t,m,n+176|0)&&(A&&4096&kA(t,e[129920+(A<<3)>>2],n+80|0)&&(r=wA(A=BA(r,n+80|0)),g[n+80|0]=0,r=A+r|0),i?(Ro(A=t,i,t=n+144|0),e[n+68>>2]=n+80,e[n- -64>>2]=t,e[n+60>>2]=6,e[n+52>>2]=23,e[n+56>>2]=n+176,e[n+48>>
vendor: 50,645 bytes, line 2810
28102]=n+112,uA(r,84101,n+48|0)):(0|h)<0?BA(r,n+176|0):1&e[t+144>>2]|4096&l?(e[n+36>>2]=23,e[n+40>>2]=6,e[n+44>>2]=n+176,e[n+32>>2]=n+112,uA(r,84430,n+32|0)):(e[n+16>>2]=23,e[n+8>>2]=23,e[n>>2]=4,e[n+12>>2]=n+112,e[n+4>>2]=n+176,uA(r,84802,n)))}}oe=n+208|0}function Ee(){da(),e[55928]=0,e[55926]=0,e[55927]=0,e[55924]=0,e[56244]=0,e[56245]=0,e[56246]=0,e[56247]=0,e[56260]=0,e[56261]=0,e[56262]=0,e[56263]=0,e[56276]=0,e[56277]=0,e[56278]=0,e[56279]=0,e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,e[55988]=0,e[55989]=0,e[55990]=0,e[55991]=0,e[56004]=0,e[56005]=0,e[56006]=0,e[56007]=0,e[56020]=0,e[56021]=0,e[56022]=0,e[56023]=0,e[56036]=0,e[56037]=0,e[56038]=0,e[56039]=0,e[56052]=0,e[56053]=0,e[56054]=0,e[56055]=0,e[56068]=0,e[56069]=0,e[56070]=0,e[56071]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0}function qe(t,A){var r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;e:{if((0|(l=e[t+4>>2]))==e[t>>2])if((h=e[t+8>>2])>>>0<(r=e[t+12>>2])>>>0)r=(i=(1+(r-h>>2)|0)/2<<2)+h|0,(0|l)!=(0|h)&&(sr(r=r-(n=h-l|0)|0,l,n),l=e[t+8>>2]),e[t+4>>2]=r,e[t+8>>2]=i+l;else{if((n=(0|r)==(0|l)?1:r-l>>1)>>>0>=1073741824)break e;if(y=(w=Ka(r=n<<2))+r|0,m=r=(n+3&-4)+w|0,(0|l)!=(0|h)){if(P=-4&(h=h-l|0),i=r,n=l,h=1+((M=h-4|0)>>>2|0)&7)for(m=0;e[i>>2]=e[n>>2],n=n+4|0,i=i+4|0,(0|h)!=(0|(m=m+1|0)););if(m=r+P|0,!(M>>>0<28))for(;e[i>>2]=e[n>>2],e[i+4>>2]=e[n+4>>2],e[i+8>>2]=e[n+8>>2],e[i+12>>2]=e[n+12>>2],e[i+16>>2]=e[n+16>>2],e[i+20>>2]=e[n+20>>2],e[i+24>>2]=e[n+24>>2],e[i+28>>2]=e[n+28>>2],n=n+32|0,(0|m)!=(0|(i=i+32|0)););}e[t+12>>2]=y,e[t+8>>2]=m,e[t+4>>2]=r,e[t>>2]=w,l&&(EA(l),r=e[t+4>>2])}else r=l;return e[r-4>>2]=e[A>>2],void(e[t+4>>2]=e[t+4>>2]-4)}rn(),W()}function ut(t,A,r){var n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;e:{t:{r:{a:{n:{c:{o:{f:{l:{if(A){if(!r)break l;break f}return zt=(A=t)-F(t=(t>>>0)/(r>>>0)|0,r)|0,ke=0,fe=0,t}if(!t)break o;break c}if(!((n=r-1|0)&r))break n;l=0-(h=(ce(r)+33|0)-ce(A)|0)|0;break r}return zt=0,ke=A-F(t=(A>>>0)/0|0,0)|0,fe=0,t}if((n=32-ce(A)|0)>>>0<31)break a;break t}if(zt=t&n,ke=0,(0|r)==1)break e;return r=31&(n=vo(r)),(63&n)>>>0>=32?t=A>>>r|0:(i=A>>>r|0,t=((1<<r)-1&A)<<32-r|t>>>r),fe=i,t}h=n+1|0,l=63-n|0}if(n=31&(i=63&h),i>>>0>=32?(i=0,m=A>>>n|0):(i=A>>>n|0,m=((1<<n)-1&A)<<32-n|t>>>n),n=31&(l&=63),l>>>0>=32?(A=t<<n,t=0):(A=(1<<n)-1&t>>>32-n|A<<n,t<<=n),h)for(y=(0|(n=r-1|0))==-1?-1:0;w=i<<1|m>>>31,m=(i=m<<1|A>>>31)-(M=r&(l=y-(w+(i>>>0>n>>>0)|0)>>31))|0,i=w-(i>>>0<M>>>0)|0,A=A<<1|t>>>31,t=P|t<<1,P=w=1&l,h=h-1|0;);return zt=m,ke=i,fe=A<<1|t>>>31,w|t<<1}zt=t,ke=A,t=0,A=0}return fe=A,t}function mt(t,A){var r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;e:{if((0|(r=e[t+8>>2]))==e[t+12>>2])if((n=e[t+4>>2])>>>0>(h=e[t>>2])>>>0)i=sr((l=(1+(n-h>>2)|0)/-2<<2)+n|0,n,r=r-n|0)+r|0,e[t+8>>2]=i,e[t+4>>2]=l+e[t+4>>2];else{if((l=(0|r)==(0|h)?1:r-h>>1)>>>0>=1073741824)break e;if(y=(m=Ka(i=l<<2))+i|0,i=l=(-4&l)+m|0,(0|r)!=(0|n)){if(P=-4&(r=r-n|0),M=1+((w=r-4|0)>>>2|0)&7)for(i=0,r=l;e[r>>2]=e[n>>2],n=n+4|0,r=r+4|0,(0|M)!=(0|(i=i+1|0)););else r=l;if(i=l+P|0,!(w>>>0<28))for(;e[r>>2]=e[n>>2],e[r+4>>2]=e[n+4>>2],e[r+8>>2]=e[n+8>>2],e[r+12>>2]=e[n+12>>2],e[r+16>>2]=e[n+16>>2],e[r+20>>2]=e[n+20>>2],e[r+24>>2]=e[n+24>>2],e[r+28>>2]=e[n+28>>2],n=n+32|0,(0|i)!=(0|(r=r+32|0)););}e[t+12>>2]=y,e[t+8>>2]=i,e[t+4>>2]=l,e[t>>2]=m,h&&(EA(h),i=e[t+8>>2])}else i=r;return e[i>>2]=e[A>>2],void(e[t+8>>2]=e[t+8>>2]+4)}rn(),W()}function vt(t,A){var r,n=0,i=0,l=0,h=0,m=0;i=189088,oe=r=oe-320|0,e[r+312>>2]=0,l=$a(t,h=BA(r+112|0,189088),r,r+316|0,r+312|0,0),n=e[r+316>>2];e:if((0|A)<=3){if((0|n)<2)break e;if(l=3&(A=n-1|0),t=1,n-2>>>0>=3)for(m=-4&A,A=0;g[0|(n=t+r|0)]>=4&&(g[0|n]=3),g[1+(n=t+r|0)|0]>=4&&(g[n+1|0]=3),g[n+2|0]>=4&&(g[n+2|0]=3),g[n+3|0]>=4&&(g[n+3|0]=3),t=t+4|0,(0|m)!=(0|(A=A+4|0)););if(!l)break e;for(A=0;g[0|(n=t+r|0)]>=4&&(g[0|n]=3),t=t+1|0,(0|l)!=(0|(A=A+1|0)););}else if(t=1,!((0|n)<=1)){for(;;){if((0|l)>g[0|(m=t+r|0)]){if((0|n)!=(0|(t=t+1|0)))continue;break e}break}g[0|m]=A}if(t=d[0|h])for(A=1;n=e[144464+((255&t)<<2)>>2],d[n+11|0]!=2|16&d[n+6|0]||(l=255&(n=g[A+r|0]),(0|n)<2&&l||(g[0|i]=d[l+94151|0],i=i+1|0,t=d[0|h]),A=A+1|0),g[0|i]=t,i=i+1|0,t=d[0|(h=h+1|0)];);g[0|i]=0,oe=r+320|0}function Rt(t){var A=0,r=0,n=0,i=0,l=0,h=0;r=A=e[(t|=0)>>2],e[t>>2]=A+1;e:{t:{r:{a:{n:{c:{o:switch(((l=d[0|A])>>>4|0)-8|0){case 0:case 1:case 2:case 3:break t;case 7:break n;case 6:break c;case 4:case 5:break o;default:break e}if((n=A+2|0)>>>0>=(i=e[t+4>>2])>>>0)break a;if(e[t>>2]=n,(192&(r=d[r+1|0]))!=128)break r;return 63&r|l<<6&1984}if((n=A+3|0)>>>0>=(i=e[t+4>>2])>>>0)break a;if(r=A+2|0,e[t>>2]=r,(192&(A=d[A+1|0]))!=128){n=r;break r}if(e[t>>2]=n,(192&(r=d[0|r]))!=128)break r;return 63&r|(63&A|l<<6&960)<<6}if(!((i=e[t+4>>2])>>>0<=(r=A+4|0)>>>0)){if(n=A+2|0,e[t>>2]=n,(192&(i=d[A+1|0]))!=128||(n=A+3|0,e[t>>2]=n,(192&(h=d[A+2|0]))!=128)||(e[t>>2]=r,A=d[0|n],n=r,(192&A)!=128))break r;return 0|((t=63&A|h<<6&4032|(63&i|l<<6&960)<<12)>>>0>=1114112?65533:t)}}e[t>>2]=i;break t}e[t>>2]=n-1}l=65533}return 0|l}function lA(t,A,r,n){var i,l,h=0,m=0,w=0,M=0,y=0,P=0;if(oe=i=oe-432|0,!(!n|!(536870912&(l=Ft(t,A,r,n))))&&(v[i+48>>1]=8192,n=BA(i+48|2,n),d[0|n])){for(w=i+224|0,h=1,M=200;;){if(or(i+44|0,n),A=$n(e[i+44>>2]),m=e[r>>2],A?(e[r>>2]=2|m,_s(wr(e[i+44>>2]),n)):e[r>>2]=-3&m,P=e[33264],Ft(t,n,r,0),1&h?(e[i+16>>2]=189088,m=An(w,M,84130,i+16|0)):(e[i+32>>2]=15,e[i+36>>2]=189088,m=An(w,M,84434,i+32|0)),h=(A=e[33264])+1|0,e[33264]=h,A>>>0<=2147483646){for(;;)if(A=n,n=n+1|0,(0|(y=g[0|A]))==32|y-9>>>0<5){for(;A=(n=A)+1|0,(0|(y=g[0|n]))==32|y-9>>>0<5;);if(h=h-1|0,e[33264]=h,!((0|h)>0))break}}if(w=w+m|0,e[33264]=P,!(d[0|n]&&(h=0,(0|(M=M-m|0))>1)))break}(i+224|0)!=(0|w)&&(e[i>>2]=i+224,An(189088,200,84130,i))}return oe=i+432|0,l}function gt(t,A,r,n,i,l,h,m){var w,M;w=e[32972],M=e[w+116>>2],v[t+8>>1]=_[t+8>>1]+l,l=32&m?0-l|0:l,v[t+10>>1]=l+_[t+10>>1],v[t+12>>1]=l+_[t+12>>1],n=(0|n)>(0|(l=((l=(0|F(A,M))/256|0)-(A=v[t+6>>1])|0)/2|0))?l:n,v[t+6>>1]=((0|r)<(0|n)?n:r)+A;e:{t:switch(i-1|0){case 0:A=(0|(A=235-(r=v[t+4>>1])|0))<=-100?-100:A,v[t+4>>1]=((0|A)>=-60?-60:A)+r;break e;case 1:A=(0|(A=(0|(A=235-(r=v[t+4>>1])|0))<=-300?-300:A))>=-150?-150:A,v[t+4>>1]=A+r,v[t+2>>1]=A+_[t+2>>1];break e;case 2:break t;default:break e}A=(0|(A=(0|(A=100-(r=v[t+4>>1])|0))<=-400?-400:A))>-300?-400:A,v[t+4>>1]=A+r,v[t+2>>1]=A+_[t+2>>1]}e[w+132>>2]||(g[t+20|0]=(F(d[t+20|0],h)>>>0)/100,g[t+21|0]=(F(d[t+21|0],h)>>>0)/100,g[t+22|0]=(F(d[t+22|0],h)>>>0)/100,g[t+23|0]=(F(d[t+23|0],h)>>>0)/100,g[t+24|0]=(F(d[t+24|0],h)>>>0)/100,g[t+25|0]=(F(d[t+25|0],h)>>>0)/100)}function pA(t){var A,r=0,n=0,i=0,l=0;oe=A=oe-48|0;e:{if(t){d[0|t]||(t=Nn(84285),d[0|t]&&t||(t=Nn(121696),d[0|t]&&t||(t=Nn(84614),d[0|t]&&t||(t=84891))));t:{for(;;){if(!(!(n=d[t+r|0])|(0|n)==47)){if(i=23,(0|(r=r+1|0))!=23)continue;break t}break}i=r}n=84891;t:{r:{if(r=d[0|t],(d[t+i|0]|(0|r)==46||(n=t,(0|r)==67))&&!d[n+1|0]||!Zr(n,84891)||!Zr(n,85136)){if(r=121652,d[n+1|0]==46)break r;t=0;break t}if(r=e[56851])for(;;){if(!Zr(n,r+8|0))break r;if(!(r=e[r+32>>2]))break}(t=aA(36))&&(r=e[30414],e[t>>2]=e[30413],e[t+4>>2]=r,$A(r=t+8|0,n,i),g[r+i|0]=0,e[t+32>>2]=e[56851],e[56851]=t),r=t||121652}t=r}if((0|t)==-1)break e;e[56809]=t}else t=e[56809];l=t?t+8|0:84309}return oe=A+48|0,l}function oA(t){var A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0;w=!!((A=e[t+112>>2])|(n=e[t+116>>2])),i=A,h=A=(l=e[t+4>>2])-(m=e[t+44>>2])|0,r=A+e[t+120>>2]|0,A=e[t+124>>2]+(A>>31)|0;e:{if(!(((0|(A=r>>>0<h>>>0?A+1|0:A))>=(0|n)&r>>>0>=i>>>0|(0|A)>(0|n))&w)){if((0|(w=Zi(t)))>=0)break e;l=e[t+4>>2],m=e[t+44>>2]}return e[t+112>>2]=-1,e[t+116>>2]=-1,e[t+104>>2]=l,n=(h=r)+(r=m-l|0)|0,A=(r>>31)+A|0,e[t+120>>2]=n,e[t+124>>2]=r>>>0>n>>>0?A+1|0:A,-1}return A=(n=r+1|0)?A:A+1|0,l=e[t+4>>2],m=e[t+8>>2],h=i=e[t+116>>2],i|(r=e[t+112>>2])&&(i=r-n|0,(0|(r=h-(A+(r>>>0<n>>>0)|0)|0))>=(0|(h=(M=m-l|0)>>31))&i>>>0>=M>>>0|(0|r)>(0|h)||(m=i+l|0)),e[t+104>>2]=m,n=(i=(r=e[t+44>>2])-l|0)+n|0,A=(i>>31)+A|0,e[t+120>>2]=n,e[t+124>>2]=n>>>0<i>>>0?A+1|0:A,r>>>0>=l>>>0&&(g[l-1|0]=w),w}function sr(t,A,r){var n=0,i=0;e:if((0|t)!=(0|A)){if(A-(i=t+r|0)>>>0<=0-(r<<1)>>>0)return $A(t,A,r);if(n=3&(t^A),t>>>0<A>>>0){if(n)n=t;else{if(3&t)for(n=t;;){if(!r)break e;if(g[0|n]=d[0|A],A=A+1|0,r=r-1|0,!(3&(n=n+1|0)))break}else n=t;if(!(r>>>0<=3))for(;e[n>>2]=e[A>>2],A=A+4|0,n=n+4|0,(r=r-4|0)>>>0>3;);}if(r)for(;g[0|n]=d[0|A],n=n+1|0,A=A+1|0,r=r-1|0;);}else{if(!n){if(3&i)for(;;){if(!r)break e;if(g[0|(n=(r=r-1|0)+t|0)]=d[A+r|0],!(3&n))break}if(!(r>>>0<=3))for(;e[(r=r-4|0)+t>>2]=e[A+r>>2],r>>>0>3;);}if(!r)break e;for(;g[(r=r-1|0)+t|0]=d[A+r|0],r;);}}return t}function jr(t,A,r,n){switch(A-9|0){case 0:return A=e[r>>2],e[r>>2]=A+4,void(e[t>>2]=e[A>>2]);case 6:return A=e[r>>2],e[r>>2]=A+4,A=v[A>>1],e[t>>2]=A,void(e[t+4>>2]=A>>31);case 7:return A=e[r>>2],e[r>>2]=A+4,e[t>>2]=_[A>>1],void(e[t+4>>2]=0);case 8:return A=e[r>>2],e[r>>2]=A+4,A=g[0|A],e[t>>2]=A,void(e[t+4>>2]=A>>31);case 9:return A=e[r>>2],e[r>>2]=A+4,e[t>>2]=d[0|A],void(e[t+4>>2]=0);case 16:return A=e[r>>2]+7&-8,e[r>>2]=A+8,void(S[t>>3]=S[A>>3]);case 17:LA[0|n](t,r);default:return;case 1:case 4:case 14:return A=e[r>>2],e[r>>2]=A+4,A=e[A>>2],e[t>>2]=A,void(e[t+4>>2]=A>>31);case 2:case 5:case 11:case 15:return A=e[r>>2],e[r>>2]=A+4,e[t>>2]=e[A>>2],void(e[t+4>>2]=0);case 3:case 10:case 12:case 13:}A=e[r>>2]+7&-8,e[r>>2]=A+8,r=e[A+4>>2],e[t>>2]=e[A>>2],e[t+4>>2]=r}function Gr(t,A,r,n,i,l){var h;oe=h=oe-80|0;e:if((0|l)>=16384){if(qt(h+32|0,A,r,n,i,0,0,0,2147352576),n=e[h+40>>2],i=e[h+44>>2],A=e[h+32>>2],r=e[h+36>>2],l>>>0<32767){l=l-16383|0;break e}qt(h+16|0,A,r,n,i,0,0,0,2147352576),l=((0|l)>=49149?49149:l)-32766|0,n=e[h+24>>2],i=e[h+28>>2],A=e[h+16>>2],r=e[h+20>>2]}else(0|l)>-16383||(qt(h- -64|0,A,r,n,i,0,0,0,7471104),n=e[h+72>>2],i=e[h+76>>2],A=e[h+64>>2],r=e[h+68>>2],l>>>0>4294934644?l=l+16269|0:(qt(h+48|0,A,r,n,i,0,0,0,7471104),l=((0|l)<=-48920?-48920:l)+32538|0,n=e[h+56>>2],i=e[h+60>>2],A=e[h+48>>2],r=e[h+52>>2]));qt(h,A,r,n,i,0,0,0,l+16383<<16),A=e[h+12>>2],e[t+8>>2]=e[h+8>>2],e[t+12>>2]=A,A=e[h+4>>2],e[t>>2]=e[h>>2],e[t+4>>2]=A,oe=h+80|0}function Or(t,A){var r,n,i=0;oe=r=oe+-64|0,i=e[t>>2],n=e[i-4>>2],i=e[i-8>>2],e[r+32>>2]=0,e[r+36>>2]=0,e[r+40>>2]=0,e[r+44>>2]=0,e[r+48>>2]=0,e[r+52>>2]=0,g[r+55|0]=0,g[r+56|0]=0,g[r+57|0]=0,g[r+58|0]=0,g[r+59|0]=0,g[r+60|0]=0,g[r+61|0]=0,g[r+62|0]=0,e[r+24>>2]=0,e[r+28>>2]=0,e[r+20>>2]=0,e[r+16>>2]=125084,e[r+12>>2]=t,e[r+8>>2]=A,t=t+i|0,i=0;e:if(Bn(n,A,0))e[r+56>>2]=1,LA[e[e[n>>2]+20>>2]](n,r+8|0,t,t,1,0),i=e[r+32>>2]==1?t:0;else{LA[e[e[n>>2]+24>>2]](n,r+8|0,t,1,0);t:switch(e[r+44>>2]){case 0:i=e[r+48>>2]==1&&e[r+36>>2]==1&&e[r+40>>2]==1?e[r+28>>2]:0;break e;case 1:break t;default:break e}e[r+32>>2]!=1&&e[r+48>>2]|e[r+36>>2]!=1|e[r+40>>2]!=1||(i=e[r+24>>2])}return oe=r- -64|0,i}function ir(t,A,r,n,i){var l,h,m=0;oe=l=oe-80|0,v[l+72>>1]=0,e[l+64>>2]=0,e[l+68>>2]=0,g[0|n]=0,m=_s(A,h=2|(m=l- -64|0))+m|0,g[m+2|0]=32;e:if((0|r)!=-1)A>>>0>=33&&!Ts(A)?(g[m+3|0]=(0|r)==32?32:31,g[l+65|0]=95,kA(t,l- -64|1,l+16|0)||(g[l+65|0]=32,kA(t,h,l+16|0)||zA(t,h,l+16|0,40,0,268435456,0)),d[l+16|0]||_t(t,A,l+16|0),A=BA(n,l+16|0),!(r=d[0|A])|(0|r)==21||(e[l+56>>2]=0,e[l+60>>2]=0,bA(t,A,l+56|0,-1,1&i))):(e[l>>2]=A,uA(A=l- -64|1,85485,l),kA(t,A,n));else{if(kA(t,h,n)||(g[l+65|0]=95,kA(t,l- -64|1,l+16|0)|e[t+212>>2]==25966))break e;Ji(85055),kA(e[47194],h,l+16|0)&&(g[0|n]=21,g[n+1|0]=0),Ia(e[e[32972]+60>>2])}oe=l+80|0}function IA(t,A,r){var n=0,i=0,l=0,h=0;if(r&&(g[0|t]=A,g[(n=t+r|0)-1|0]=A,!(r>>>0<3||(g[t+2|0]=A,g[t+1|0]=A,g[n-3|0]=A,g[n-2|0]=A,r>>>0<7||(g[t+3|0]=A,g[n-4|0]=A,r>>>0<9||(i=(n=0-t&3)+t|0,A=F(255&A,16843009),e[i>>2]=A,e[(r=(n=r-n&-4)+i|0)-4>>2]=A,n>>>0<9||(e[i+8>>2]=A,e[i+4>>2]=A,e[r-8>>2]=A,e[r-12>>2]=A,n>>>0<25||(e[i+24>>2]=A,e[i+20>>2]=A,e[i+16>>2]=A,e[i+12>>2]=A,e[r-16>>2]=A,e[r-20>>2]=A,e[r-24>>2]=A,e[r-28>>2]=A,(r=n-(h=4&i|24)|0)>>>0<32))))))))for(n=rr(A,0,1,1),l=fe,A=i+h|0;e[A+24>>2]=n,e[A+28>>2]=l,e[A+16>>2]=n,e[A+20>>2]=l,e[A+8>>2]=n,e[A+12>>2]=l,e[A>>2]=n,e[A+4>>2]=l,A=A+32|0,(r=r-32|0)>>>0>31;);return t}function _A(){var t,A=0,r=0,n=0,i=0,l=0;if(oe=t=oe-208|0,(0|(n=e[50303]))>0)for(;(i=e[(r=201216+(A<<2)|0)>>2])&&(EA(i),e[r>>2]=0),(0|n)!=(0|(A=A+1|0)););if(e[50303]=0,e[t+16>>2]=137584,e[t+20>>2]=47,uA(A=t+32|0,87827,t+16|0),ma(A,wA(A)+1|0,0),e[t+4>>2]=47,e[t>>2]=137584,uA(A,87933,t),ma(A,wA(A)+1|0,1),A=e[50303],e[201216+(r=A<<2)>>2]=0,r=ds(n=e[50741],r+4|0)){if(e[50741]=r,vi(201216,A,7),n=e[50741],r=0,A=e[50304])for(i=0;l=e[A+4>>2],d[0|l]&&Zr(l+1|0,86589)&&ra(e[A+8>>2],88032,3)&&(e[(r<<2)+n>>2]=A,r=r+1|0),A=e[201216+((i=i+1|0)<<2)>>2];);e[(r<<2)+n>>2]=0}return oe=t+208|0,n}function _r(t,A,r){var n=0,i=0,l=0,h=0;if(l=A-1|0,(0|A)>=2){A=t;e:{for(;;){t:{r:{if((0|(n=e[r+4>>2]))!=(0|(i=e[r+8>>2]))){if((h=Wn(n,10,i-n|0))?i=1+(h-(n=e[r+4>>2])|0)|0:(n=e[r+4>>2],i=e[r+8>>2]-n|0),$A(A,n,n=i>>>0<l>>>0?i:l),i=n+e[r+4>>2]|0,e[r+4>>2]=i,A=A+n|0,h||!(l=l-n|0))break t;if((0|i)!=e[r+8>>2]){e[r+4>>2]=i+1,n=d[0|i];break r}}if(!((0|(n=Zi(r)))>=0)){if(n=0,(0|t)==(0|A))break e;if(16&d[0|r])break t;break e}}if(g[0|A]=n,A=A+1|0,(255&n)!=10&&(l=l-1|0))continue}break}t?(g[0|A]=0,n=t):n=0}}else if(A=e[r+72>>2],e[r+72>>2]=A-1|A,!l)return g[0|t]=0,t;return n}function ba(t){var A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0;if(A=F(t,44),(0|(t=e[A+137896>>2]))>0&&ba(t-1|0),t=e[36115],!((0|(A=e[36+(r=A+137856|0)>>2]))<=0)){if(i=e[r+32>>2],m=1&A,(0|A)!=1)for(w=-2&A,r=0;A=d[10+(l=(n=r<<4)+i|0)|0],e[144464+(A<<2)>>2]=l,(0|t)>=(0|A)?A=t:IA(144464+((t=t+1|0)<<2)|0,0,A-t<<2),t=d[10+(n=(16|n)+i|0)|0],e[144464+(t<<2)>>2]=n,(0|t)<=(0|A)?t=A:IA(144464+((A=A+1|0)<<2)|0,0,t-A<<2),r=r+2|0,(0|w)!=(0|(h=h+2|0)););else r=0;m&&(A=d[10+(r=(r<<4)+i|0)|0],e[144464+(A<<2)>>2]=r,(0|t)>=(0|A)||(IA(144464+((t=t+1|0)<<2)|0,0,A-t<<2),t=A))}e[36115]=t}function Bs(t,A,r,n,i){var l,h=0,m=0,w=0;oe=l=oe-16|0;e:if(1&g[t+106|0]&&(h=d[0|r],!(!(1&g[n+2|0])&(0|h)!=46||256&(w=e[n+12>>2])|!(!(2&w)||i)||(or(l+12|0,(0|h)!=46?r:r+2|0),!(h=d[0|r])|!d[r+1|0])))){if(!(!(w=e[l+12>>2])|2&d[n+2|0])){if(!Wr(w))break e;h=d[0|r]}(0|h)==46&&(g[0|r]=32),m=2,e[t+212>>2]!=26741|i||(r=Wr(e[l+12>>2])?lA(t,r+2|0,0,0):0,128&d[t+8233|0]&&(!(!(i=e[l+12>>2])|2&d[n+2|0])&i-48>>>0>=10||(m=0)),m=32768&r?0:m,131072&r&&(m=163840&e[t+8232>>2]?34:d[A-2|0]!=45?m:0))}return oe=l+16|0,m}function ts(t,A,r,n,i){var l,h=0,m=0;if(oe=l=oe-208|0,e[l+204>>2]=r,IA(r=l+160|0,0,40),e[l+200>>2]=e[l+204>>2],(0|iA(0,A,l+200|0,l+80|0,r,n,i))<0)i=-1;else{e[t+76>>2],h=e[t>>2],e[t+72>>2]<=0&&(e[t>>2]=-33&h);e:{t:{if(e[t+48>>2]){if(e[t+16>>2])break t}else e[t+48>>2]=80,e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,m=e[t+44>>2],e[t+44>>2]=l;if(r=-1,dn(t))break e}r=iA(t,A,l+200|0,l+80|0,l+160|0,n,i)}m&&(LA[e[t+36>>2]](t,0,0),e[t+48>>2]=0,e[t+44>>2]=m,e[t+28>>2]=0,A=e[t+20>>2],e[t+16>>2]=0,e[t+20>>2]=0,r=A?r:-1),A=t,t=e[t>>2],e[A>>2]=t|32&h,i=32&t?-1:r}return oe=l+208|0,i}function PA(t,A,r,n){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0;if(oe=i=oe-208|0,h=d[0|A])for(;g[l+i|0]=h,w=((255&h)==6&(0|m)!=21)+w|0,m=h<<24>>24,h=d[(l=l+1|0)+A|0];);if(g[l+i|0]=0,l=d[0|i])for(y=w-2|0,m=0,P=(0|n)<2,h=0;;){e:{t:if((255&l)!=6|P|(0|h)==21){if((0|(n=255&l))==255){if(!M|(0|r)<2)break e;n=r>>>0>2?11:(0|m)%3|0?23:11}h=n,n=m}else{if(l=m+1|0,d[t+169|0]){h=(0|l)>1?5:6,n=l;break t}if(h=6,n=w,(0|l)==(0|w))break t;h=(0|l)%3|0||(0|m)==(0|y)?5:6,n=l}m=n,g[0|A]=h,A=A+1|0}if(!(l=d[(M=M+1|0)+i|0]))break}(0|r)>=2&&(g[0|A]=11,A=A+1|0),g[0|A]=0,oe=i+208|0}function Kr(t,A){var r=0;r=0,t&&(r=e[50754],r=(t=(t=(0|F(e[145712+(A?12:((0|t)>199)<<2)>>2],t))/256|0)>>>0>(A=e[36430])>>>0?t:A)>>>0<=89999?(F(t,r)>>>0)/1e3|0:(F(t,(0|r)/25|0)>>>0)/40|0),(0|(t=e[36440]))<=0||(0|(A=e[36424]))<0||(e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=t),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],CA(),e[36427]=-1,t=216192+(e[50758]<<4)|0,e[t>>2]=5,e[t+4>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,e[36426]=0,e[36438]&&(e[36438]=0,t=216192+(e[50758]<<4)|0,e[t>>2]=14,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}function Yt(t,A,r,n,i,l,h,m){var w,M=0,y=0,P=0;M=1,w=y=2147483647&n;e:if(!((P=(0|y)==2147418112)&!r?t|A:P&!!(0|r)|y>>>0>2147418112)&&!((P=(0|(y=2147483647&m))==2147418112)&!h?i|l:P&!!(0|h)|y>>>0>2147418112)){if(!(t|i|r|h|A|l|y|w))return 0;if((0|(M=n&m))>0|(0|M)>=0){if(M=-1,(0|r)==(0|h)&(0|n)==(0|m)?(0|A)==(0|l)&t>>>0<i>>>0|A>>>0<l>>>0:r>>>0<h>>>0&(0|n)<=(0|m)|(0|n)<(0|m))break e;return!!(t^i|r^h|A^l|n^m)}M=-1,((0|r)==(0|h)&(0|n)==(0|m)?(0|A)==(0|l)&t>>>0>i>>>0|A>>>0>l>>>0:r>>>0>h>>>0&(0|n)>=(0|m)|(0|n)>(0|m))||(M=!!(t^i|r^h|A^l|n^m))}return M}function TA(t,A){var r=0,n=0,i=0,l=0;for(r=d[85836]|d[85837]<<8,g[0|A]=r,g[A+1|0]=r>>>8,g[A+2|0]=d[85838];;)if(i=d[0|t],t=r=t+1|0,(0|i)!=255){if(!i)break;if(!(n=e[144464+(i<<2)>>2]))continue;if(d[n+11|0]==1&&(l=d[n+14|0],!(_[n+8>>1]|l>>>0>4))){if(l>>>0<2)continue;g[0|A]=d[l+93943|0],A=A+1|0;continue}if(255&(t=e[n>>2]))for(;g[0|A]=t,A=A+1|0,n=65280&t,t=t>>>8|0,n;);if(t=r,(0|i)!=21||(32|(r=g[0|t]))-97>>>0>=26)continue;for(;g[0|A]=r,A=A+1|0,(32|(r=g[0|(t=t+1|0)]))-97>>>0<26;);}g[0|A]=0}function Js(t,A){var r,n,i=0,l=0,h=0;oe=r=oe-112|0,t||(e[50303]||_A(),t=201216),vr(i=r+16|0,A,40),e[r>>2]=47,e[r+4>>2]=i,uA(A=r- -64|0,87599,r),n=wA(A),h=-1;e:{t:{r:{if(l=e[t>>2]){A=0,i=-1;a:{for(;;){if(Zn(r+16|0,e[l>>2])){if(Zn(r+16|0,l=e[l+8>>2])?h=Zn(r- -64|0,l+(wA(l)-n|0)|0)?h:A:i=A,l=e[((A=A+1|0)<<2)+t>>2])continue;break a}break}if((0|A)>=0)break t;A=(0|i)<0?h:i;break r}if((0|(A=i))>=0)break r}A=h}if(i=0,(0|A)<0)break e}i=e[(A<<2)+t>>2]}return oe=r+112|0,i}function Ss(t,A){var r,n,i=0,l=0,h=0,m=0,w=0;oe=r=oe-16|0,V(+A),n=0|G(1),l=0|G(0),(0|(h=(i=2147483647&n)-1048576|0))==2145386495|h>>>0<2145386495?(m=l<<28,h=i>>>4|0,i=(15&i)<<28|l>>>4,l=h+1006632960|0):(0|i)==2146435072|i>>>0>2146435072?(m=l<<28,i=(15&n)<<28|l>>>4,l=n>>>4|2147418112):i|l?(ea(r,l,h=i,0,0,(i=i?ce(i):ce(l)+32|0)+49|0),w=e[r>>2],m=e[r+4>>2],h=15372-i<<16,i=e[r+8>>2],l=h|65536^e[r+12>>2]):(i=0,l=0),e[t>>2]=w,e[t+4>>2]=m,e[t+8>>2]=i,e[t+12>>2]=-2147483648&n|l,oe=r+16|0}function Ds(t,A,r){var n=0,i=0;e:{t:{r:{if(!(3&((i=t)^A))){n=!!(0|r);a:if(!(!(3&A)|!r))for(;;){if(n=d[0|A],g[0|i]=n,!n)break e;if(i=i+1|0,n=!!(0|(r=r-1|0)),!(3&(A=A+1|0)))break a;if(!r)break}if(!n)break t;if(!d[0|A])break e;if(!(r>>>0<4))for(;;){if(~(n=e[A>>2])&n-16843009&-2139062144)break r;if(e[i>>2]=n,i=i+4|0,A=A+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break t}for(;;){if(n=d[0|A],g[0|i]=n,!n)break e;if(i=i+1|0,A=A+1|0,!(r=r-1|0))break}}r=0}return IA(i,0,r),t}function ks(t,A,r,n,i,l){var h,m=0,w=0,M=0;oe=h=oe-240|0,m=e[r>>2],e[h+232>>2]=m,r=e[r+4>>2],e[h>>2]=t,e[h+236>>2]=r,M=1;e:{t:{r:{if(r|(0|m)!=1){for(m=t;;){if((0|mi(r=m-e[(w=(n<<2)+l|0)>>2]|0,t,A))<=0){r=m;break r}a:{if(!((0|n)<2|i)&&(i=e[w-8>>2],(0|mi(w=m-4|0,r,A))>=0||(0|mi(w-i|0,r,A))>=0))break a;if(e[(M<<2)+h>>2]=r,Ua(m=h+232|0,i=Wo(m)),M=M+1|0,n=n+i|0,i=0,m=r,e[h+236>>2]|e[h+232>>2]!=1)continue;break t}break}r=m;break t}r=t}if(i)break e}yn(h,M),Sn(r,A,n,l)}oe=h+240|0}function os(t,A){var r=0;e[4+(134912+(r=t<<2)|0)>>2]=A,e[r+136192>>2]=A,r=28;e:{t:{r:switch(t-1|0){case 0:e[50792]=A,e[50786]=A,Ra(3);break t;case 1:e[50787]=A,e[33037]=(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16;break t;case 2:t=(0|A)>=99?99:A,e[50785]=(0|t)>0?t:0;break t;case 3:e[50788]=(0|A)>=99?99:A;break t;case 12:e[47268]=A;break t;case 6:e[47205]=A;break t;case 9:break t;case 8:break r;default:break e}(t=255&A)&&(e[e[47192]+152>>2]=t),e[47196]=A}r=0}return r}function Tr(t,A){var r=0,n=0,i=0;e:if(e[t>>2])for(;;){if(Ts(e[t-4>>2])){if(n=0,(0|(r=g[0|A]))==e[t>>2])for(;(0|(r=g[(n=n+1|0)+A|0]))==e[(t=t+4|0)>>2];);if(!r){for(;A=t,t=t+4|0,Ts(e[A>>2]););for(i=A+((e[A>>2]==61)<<2)|0;i=(t=i)+4|0,Ts(e[t>>2]););switch((A=e[t>>2])-34|0){case 0:case 5:break e}return Ts(A)||e[t>>2]==47?102808:t}}if(!e[(t=t+4|0)>>2])break}return i}function As(t,A,r,n){var i,l,h=0,m=0,w=0;return!d[t+25|0]|S[t+8>>3]!=r|S[t+16>>3]!=n?(S[t+16>>3]=n,S[t+8>>3]=r,n=(h=fr(-3.141592653589793/(m=+e[t>>2])*n))*-h,S[t+48>>3]=n,h*=Aa(-6.283185307179586/m*r),h+=h,S[t+40>>3]=h,m=1-h-n,S[t+32>>3]=m,!(w=d[t+24|0])|r==0||(m=1/m,S[t+32>>3]=m,n*=r=-m,S[t+48>>3]=n,h*=r,S[t+40>>3]=h,w=1)):(w=d[t+24|0],n=S[t+48>>3],h=S[t+40>>3],m=S[t+32>>3]),g[t+25|0]=1,r=S[t+64>>3],i=S[t+56>>3],S[t+64>>3]=i,l=A,A=n*r+(m*A+h*i),S[t+56>>3]=w?l:A,A}function yi(t,A,r,n,i){var l,h=0,m=0,w=0,M=0;if((l=e[34388])&&!((0|(m=e[34436]))>=(e[34393]-2|0))){if(e[34436]=m+1,h=F(m,36)+l|0,e[h>>2]=t,e[h+4>>2]=e[34437],M=e[34438],e[h+12>>2]=A>>>24,e[h+8>>2]=16777215&A,e[h+24>>2]=M,A=e[50754],i=e[34439]+((i-e[34392]|0)/2|0)|0,e[h+20>>2]=i,A=he(w=1e3*+(0|i)/+(0|A))<2147483648?~~w:-2147483648,e[h+16>>2]=A,t-3>>>0<=1)return void(e[28+(F(m,36)+l|0)>>2]=e[33282]+r);A=28+(F(m,36)+l|0)|0,e[A>>2]=r,(0|t)==7&&(e[A+4>>2]=n)}}function Da(t,A,r,n,i,l){var h=0,m=0,w=0,M=0;64&l?(A=31&(r=l+-64|0),(63&r)>>>0>=32?(r=0,A=i>>>A|0):(r=i>>>A|0,A=((1<<A)-1&i)<<32-A|n>>>A),n=0,i=0):l&&(w=n,h=31&(m=64-l|0),(63&m)>>>0>=32?(m=w<<h,M=0):(m=(1<<h)-1&w>>>32-h|i<<h,M=w<<h),w=A,A=31&l,(63&l)>>>0>=32?(h=0,A=r>>>A|0):(h=r>>>A|0,A=((1<<A)-1&r)<<32-A|w>>>A),A|=M,r=h|m,h=n,n=31&l,(63&l)>>>0>=32?(m=0,n=i>>>n|0):(m=i>>>n|0,n=((1<<n)-1&i)<<32-n|h>>>n),i=m),e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=n,e[t+12>>2]=i}function Qn(t){var A=0,r=0;if(!t){if(e[33174]&&(A=Qn(e[33174])),e[33136]&&(A=Qn(e[33136])|A),t=e[56816])for(;e[t+20>>2]!=e[t+28>>2]&&(A=Qn(t)|A),t=e[t+56>>2];);return A}return e[t+76>>2],e[t+20>>2]==e[t+28>>2]||(LA[e[t+36>>2]](t,0,0),e[t+20>>2])?((0|(A=e[t+8>>2]))!=(0|(r=e[t+4>>2]))&&(A=r-A|0,LA[e[t+40>>2]](t,A,A>>31,1)),A=0,e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0):A=-1,A}function $s(t,A){var r=0,n=0,i=0,l=0,h=0;if((192&(r=d[0|A]))==128)for(;(192&(r=d[0|(A=A-1|0)]))==128;);e:if(128&(r=r<<24>>24)){if(n=1,(0|(i=224&r))!=192)if((240&r)!=224){if(n=3,(248&r)!=240){r&=255,n=0;break e}}else n=2,h=1;r=d[n+93846|0]&r,(l=d[A+1|0])?(r=63&l|r<<6,(0|i)!=192&&((i=d[A+2|0])?(r=63&i|r<<6,h||((A=d[A+3|0])?r=63&A|r<<6:n=2)):n=1)):n=0}return e[t>>2]=r,n+1|0}function Ei(t,A,r,n){var i,l=0,h=0;return oe=i=oe-224|0,t?(e[i>>2]=137584,e[i+4>>2]=47,e[i+8>>2]=A,uA(A=i+16|0,85430,i),(0|(l=Na(A)))<0?A=On(n,0-l|0,i+16|0):(A=la(i+16|0,85659))?((h=e[t>>2])&&EA(h),l?(h=aA(l),e[t>>2]=h,h?(0|Mi(h,l,A))==(0|l)?(fa(A),A=0,r&&(e[r>>2]=l)):(r=e[56798],fa(A),EA(e[t>>2]),e[t>>2]=0,A=On(n,r,i+16|0)):(fa(A),A=48)):(A=0,e[t>>2]=0)):A=On(n,e[56798],i+16|0)):A=28,oe=i+224|0,A}function or(t,A){var r=0,n=0,i=0,l=0,h=0;if((192&(r=d[0|A]))==128)for(;(192&(r=d[0|(A=A+1|0)]))==128;);e:if(128&(r=r<<24>>24)){if(n=1,(0|(i=224&r))!=192)if((240&r)!=224){if(n=3,(248&r)!=240){r&=255,n=0;break e}}else n=2,h=1;r=d[n+93846|0]&r,(l=d[A+1|0])?(r=63&l|r<<6,(0|i)!=192&&((i=d[A+2|0])?(r=63&i|r<<6,h||((A=d[A+3|0])?r=63&A|r<<6:n=2)):n=1)):n=0}return e[t>>2]=r,n+1|0}function ea(t,A,r,n,i,l){var h=0,m=0,w=0;64&l?(n=A,A=31&(i=l+-64|0),(63&i)>>>0>=32?(i=n<<A,n=0):(i=(1<<A)-1&n>>>32-A|r<<A,n<<=A),A=0,r=0):l&&(h=n,n=31&l,(63&l)>>>0>=32?(m=h<<n,w=0):(m=(1<<n)-1&h>>>32-n|i<<n,w=h<<n),h=A,n=31&(i=64-l|0),(63&i)>>>0>=32?(i=0,A=r>>>n|0):(i=r>>>n|0,A=((1<<n)-1&r)<<32-n|h>>>n),n=w|A,i|=m,A=31&l,(63&l)>>>0>=32?(m=h<<A,A=0):(m=(1<<A)-1&h>>>32-A|r<<A,A=h<<A),r=m),e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=n,e[t+12>>2]=i}function ta(t){var A=0;return t>>>0<=55295?A=d[e[125552+(t>>>6&67108860)>>2]+(255&t)|0]:(A=4,t>>>0<57344||(t>>>0<63488?A=3:t>>>0<=195327?A=d[e[126416+(t-63488>>>6&67108860)>>2]+(255&t)|0]:(A=2,t>>>0<917504||(t>>>0<=918015?A=d[e[128476+(t-917504>>>6&67108860)>>2]+(255&t)|0]:t>>>0<983040||(t>>>0<1048574?A=3:t>>>0<1048576||(A=3,t>>>0<1114110||(A=t>>>0<1114112?2:5))))))),255&A}function Fo(t,A){var r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0;if(!((0|(r=e[33709]))<=0)){if(i=(0|t)>31?t-32|0:t,t=0,r>>>0>=4)for(y=-4&r;m=2|t,w=1|t,n=e[134912+((h=3|t)<<6)>>2]==(0|i)?h:e[134912+(m<<6)>>2]==(0|i)?m:e[134912+(w<<6)>>2]==(0|i)?w:e[134912+(t<<6)>>2]==(0|i)?t:n,t=t+4|0,(0|y)!=(0|(l=l+4|0)););if(l=3&r)for(;n=e[134912+(t<<6)>>2]==(0|i)?t:n,t=t+1|0,(0|l)!=(0|(M=M+1|0)););(0|n)<=0||(e[33709]=n,r=n)}Ma(A,r)}function io(t){var A,r=0,n=0,i=0;for(oe=A=oe-96|0,vr(A,t,60),vn(A,1);i=wr(g[0|(n=A+r|0)]),g[0|n]=i,r=r+1|0,255&i;);e[A+92>>2]=0,e[A+84>>2]=0,e[A+88>>2]=0,e[A+76>>2]=0,e[A+80>>2]=0,e[A+72>>2]=t;e:{t:{r:{if(eA(A,1)){if(d[202976])break r;break t}if(e[50303]||_A(),r=268437247,!(t=Js(201216,A))||!eA(e[t+8>>2],0))break e;if(!d[202976])break t}eA(202976,2)}hn(e[32972]),e[A+76>>2]=e[32972]+40,xi(A+72|0,202976),r=0}return oe=A+96|0,r}function ui(t,A){if(!t)return 0;e:{t:{if(t){if(A>>>0<=127)break t;if(e[e[56841]>>2]){if(A>>>0<=2047){g[t+1|0]=63&A|128,g[0|t]=A>>>6|192,t=2;break e}if(!((-8192&A)!=57344&A>>>0>=55296)){g[t+2|0]=63&A|128,g[0|t]=A>>>12|224,g[t+1|0]=A>>>6&63|128,t=3;break e}if(A-65536>>>0<=1048575){g[t+3|0]=63&A|128,g[0|t]=A>>>18|240,g[t+2|0]=A>>>6&63|128,g[t+1|0]=A>>>12&63|128,t=4;break e}}else if((-128&A)==57216)break t;e[56798]=25,t=-1}else t=1;break e}g[0|t]=A,t=1}return t}function Fi(t){var A=0,r=0,n=0,i=0;if(e[t+20>>2]=0,(n=(r=e[t+8>>2])-(A=e[t+4>>2])|0)>>>0>=9)for(;EA(e[A>>2]),A=e[t+4>>2]+4|0,e[t+4>>2]=A,(n=(r=e[t+8>>2])-A|0)>>>0>8;);switch(i=512,(n>>>2|0)-1|0){case 1:i=1024;case 0:e[t+16>>2]=i}if((0|A)!=(0|r)){for(;EA(e[A>>2]),(0|r)!=(0|(A=A+4|0)););(0|(A=e[t+8>>2]))!=(0|(r=e[t+4>>2]))&&(e[t+8>>2]=A+(3+(r-A|0)&-4))}(t=e[t>>2])&&EA(t)}function Wn(t,A,r){var n=0,i=0;n=!!(0|r);e:{t:{r:if(!(!(3&t)|!r))for(i=255&A;;){if((0|i)==d[0|t])break t;if(n=!!(0|(r=r-1|0)),!(3&(t=t+1|0)))break r;if(!r)break}if(!n)break e;if(!(d[0|t]==(255&A)|r>>>0<4))for(n=F(255&A,16843009);;){if(~(i=n^e[t>>2])&i-16843009&-2139062144)break t;if(t=t+4|0,!((r=r-4|0)>>>0>3))break}if(!r)break e}for(A&=255;;){if((0|A)==d[0|t])return t;if(t=t+1|0,!(r=r-1|0))break}}return 0}function Un(t,A){var r=0,n=0;e:{if(n=255&A){if(3&t)for(;;){if(!(r=d[0|t])|(0|r)==(255&A))break e;if(!(3&(t=t+1|0)))break}t:if(!(~(r=e[t>>2])&r-16843009&-2139062144))for(n=F(n,16843009);;){if(~(r^=n)&r-16843009&-2139062144)break t;if(r=e[t+4>>2],t=t+4|0,r-16843009&~r&-2139062144)break}for(;(n=d[0|(r=t)])&&(t=r+1|0,(0|n)!=(255&A)););return r}return wA(t)+t|0}return t}function Lo(t,A,r,n,i){var l,h=0,m=0;m=-1;e:if(!(((h=(0|(l=2147483647&n))==2147418112)&!r?t|A:h&!!(0|r)|l>>>0>2147418112)||(h=2147483647&i)>>>0>2147418112&(0|h)!=2147418112)){if(!(t|r|h|l|A))return 0;if((0|(h=n&i))>0|(0|h)>=0){if((!!(0|r)|(0|n)!=(0|i))&(0|n)<(0|i))break e;return!!(t|r|n^i|A)}(!r&(0|n)==(0|i)?t|A:!!(0|r)&(0|n)>=(0|i)|(0|n)>(0|i))||(m=!!(t|r|n^i|A))}return m}function vn(t,A){var r,n=0;oe=r=oe+-64|0,g[202976]=0,e[r+48>>2]=47,uA(r+59|0,91351,r+48|0),A||(g[r+59|0]=0);e:{t:{if(t&&(t=an(t,43))){if(g[0|t]=0,g[0|(t=t+1|0)]-48>>>0>=10)break t;n=Pn(t)}if((0|n)<=0)break e;if(n>>>0<=9){e[r+4>>2]=n,e[r>>2]=r+59,uA(202976,91378,r);break e}e[r+20>>2]=n-10,e[r+16>>2]=r+59,uA(202976,91503,r+16|0);break e}e[r+36>>2]=t,e[r+32>>2]=r+59,uA(202976,85425,r+32|0)}oe=r- -64|0}function Sa(t){var A,r=0,n=0,i=0;oe=A=oe-80|0,r=Fr(t,A+12|0),e[A+12>>2]?(vr(n=A+16|0,r,60),r=0,vn(n,1),!eA(n,0)|!d[202976]||eA(202976,2),hn(e[32972]),xi(t,86012)):r=268437247,oe=A+80|0;e:{t:{r:{a:{if((0|r)<=268437502){if(!r)break e;if((0|r)==268436479)break t;if((0|r)!=268437247)break a;return 2}if((0|r)==268437503|(0|r)==268437759)break r;if((0|r)==268439295)break e}return-1}return 2}i=1}return i}function Ns(t,A,r,n,i,l,h,m,w){var M,y,P;w=rr(A,r,m,w),m=fe,i=rr(n,i,l,h),n=fe+m|0,m=i>>>0>(w=i+w|0)>>>0?n+1|0:n,M=h,y=r,h=(r=rr(h,i=0,r,n=0))+w|0,w=fe+m|0,P=h,r=r>>>0>h>>>0?w+1|0:w,h=rr(l,0,A,0),m=fe,n=rr(l,w=0,y,n),l=fe+w|0,l=n>>>0>(m=m+n|0)>>>0?l+1|0:l,n=r,l=l>>>0>(w=l+P|0)>>>0?n+1|0:n,r=rr(A,0,M,i)+m|0,i=fe,m=(i=r>>>0<m>>>0?i+1|0:i)+w|0,w=l,e[t+8>>2]=m,e[t+12>>2]=i>>>0>m>>>0?w+1|0:w,e[t>>2]=h,e[t+4>>2]=r}function BA(t,A){var r=0,n=0;e:{if(3&((n=t)^A))r=d[0|A];else{if(3&A)for(;;){if(r=d[0|A],g[0|n]=r,!r)break e;if(n=n+1|0,!(3&(A=A+1|0)))break}if(!(~(r=e[A>>2])&r-16843009&-2139062144))for(;e[n>>2]=r,r=e[A+4>>2],n=n+4|0,A=A+4|0,!(r-16843009&~r&-2139062144););}if(g[0|n]=r,255&r)for(;r=d[A+1|0],g[n+1|0]=r,n=n+1|0,A=A+1|0,r;);}return t}function Aa(t){var A,r=0,n=0;oe=A=oe-16|0,V(+t),n=0|G(1),G(0);e:if((n&=2147483647)>>>0<=1072243195){if(r=1,n>>>0<1044816030)break e;r=qn(t,0)}else if(r=t-t,!(n>>>0>=2146435072)){switch(3&NA(t,A)){case 0:r=qn(S[A>>3],S[A+8>>3]);break e;case 1:r=-En(S[A>>3],S[A+8>>3],1);break e;case 2:r=-qn(S[A>>3],S[A+8>>3]);break e}r=En(S[A>>3],S[A+8>>3],1)}return oe=A+16|0,r}function Li(t,A,r,n){var i=0,l=0,h=0;if(!((wA(n)+wA(A)|0)>=(0|r))){for(h=e[36115],r=n;i=d[0|r];)if(r=r+1|0,!((0|i)>=(0|h))){e:{t:switch(i=e[144464+(i<<2)>>2],d[i+11|0]-1|0){case 1:break e;case 0:break t;default:continue}l=d[i+14|0]<4|l;continue}1&(d[i+4|0]>>>1|l)||(e[t+8212>>2]=e[t+8212>>2]+1),e[t+8208>>2]=e[t+8208>>2]+1,l=0}A&&gs(A,n)}}function Vi(t){var A,r=0;oe=A=oe-16|0,V(+t),r=0|G(1),G(0);e:if((r&=2147483647)>>>0<=1072243195){if(r>>>0<1045430272)break e;t=En(t,0,0)}else if(r>>>0>=2146435072)t-=t;else{switch(3&NA(t,A)){case 0:t=En(S[A>>3],S[A+8>>3],1);break e;case 1:t=qn(S[A>>3],S[A+8>>3]);break e;case 2:t=-En(S[A>>3],S[A+8>>3],1);break e}t=-qn(S[A>>3],S[A+8>>3])}return oe=A+16|0,t}function Go(t){var A=0;e[t+296>>2]=303173648,e[t+300>>2]=370677780,A=e[26341],e[t+304>>2]=e[26340],e[t+308>>2]=A,A=e[26343],e[t+312>>2]=e[26342],e[t+316>>2]=A,Br(t),e[t+56>>2]=2,e[t+36>>2]=3,e[t+40>>2]=1074,g[t+168|0]=5,e[t+132>>2]=32,e[t+104>>2]=1032,e[t+108>>2]=66,e[t+8>>2]=5,e[t+12>>2]=32,g[t+365|0]=64|d[t+365|0],g[t+368|0]=64|d[t+368|0],g[t+396|0]=64|d[t+396|0],g[t+399|0]=64|d[t+399|0]}function Kn(t,A,r){var n=0,i=0,l=0;e:{if(!(n=e[r+16>>2])){if(dn(r))break e;n=e[r+16>>2]}if(n-(l=e[r+20>>2])>>>0<A>>>0)return 0|LA[e[r+36>>2]](r,t,A);t:if(e[r+80>>2]<0)n=0;else{for(i=A;;){if(!(n=i)){n=0;break t}if(d[(i=n-1|0)+t|0]==10)break}if((i=0|LA[e[r+36>>2]](r,t,n))>>>0<n>>>0)break e;t=t+n|0,A=A-n|0,l=e[r+20>>2]}$A(l,t,A),e[r+20>>2]=e[r+20>>2]+A,i=A+n|0}return i}function Vo(t){var A,r=0,n=0;e:{if((0|(A=e[34064]))>0)for(;;){if((n=e[136284+(r<<4)>>2])&&!Zr(t,n)){if(e[136276+(r<<4)>>2])return r;if(n=-1,Qa(0,r))break e;return r}if((0|A)==(0|(r=r+1|0)))break}n=-1,Qa(t,A)||(r=ds(e[12+(136272+(e[34064]<<4)|0)>>2],wA(t)+1|0),n=e[34064],e[12+(136272+(n<<4)|0)>>2]=r,BA(r,t),e[34064]=n+1)}return n}function Hi(t,A){var r,n=0,i=0,l=0,h=0;for(oe=r=oe-16|0,g[0|A]=0,(n=15&e[t>>2])&&(A=(i=wA(A=BA(A,sa(128496,64|n))))+A|0),n=8;;){e:{t:{if(n>>>0<=29){if(e[t>>2]>>>n&1)break t;break e}if(!(e[t+4>>2]>>>n-32&1)|n>>>0<32)break e}(0|(i=(h=wA(l=sa(128496,n))+1|0)+i|0))>=80||(e[r>>2]=l,uA(A,84439,r),A=A+h|0)}if((0|(n=n+1|0))==64)break}oe=r+16|0}function Bi(t,A,r){var n,i=0,l=0,h=0;if(oe=n=oe-16|0,d[0|t]){for(h=e[30450];;)if(l=t,t=t+1|0,!((0|(i=g[0|l]))==32|i-9>>>0<5)){for((0|(i=Pn(l)))>0&&((0|i)<32?e[A>>2]=e[A>>2]|1<<i:(l=sa(129568,r),e[n+4>>2]=i,e[n>>2]=l,ss(h,84902,n)),l=t);l=(t=l)+1|0,(i=g[0|t])-48>>>0<10|(32|i)-97>>>0<26;);if(!i)break}}oe=n+16|0}function ca(t,A,r){var n=0,i=0,l=0,h=0;e:if(A&&!((0|(i=r-4|0))<=0))for(l=(0|(r=e[A-4>>2]))!=34?(0|r)==39?r:0:r,r=0;;){if(h=r,!(r=e[A>>2]))break e;t:{if(!l){if((0|r)==32|r-9>>>0<5)break e;if((0|r)!=47)break t;break e}if((0|h)!=92&&(0|r)==(0|l))break e}if(A=A+4|0,!((0|i)>(0|(n=_s(r,t+n|0)+n|0))))break}return g[t+n|0]=0,n}function Wr(t){var A=0;e:if(!aa(t)){A=0;t:if(!(t>>>0<768)){if(t-2305>>>0<=1270){if((124&t)>>>0<100)break e;if(A=1,Uo(93850,t))break t;return t-3450>>>0<6}if((0|t)==1541|t-1456>>>0<19|(0|t)==1648||(0|(A=-256&t))==10240|(0|A)==4352|t-3904>>>0<125|t>>>0<880)break e;A=1,t-1611>>>0<20||(A=t-12353>>>0<30400)}return A}return 1}function xi(t,A){var r=0;t?((r=e[t+4>>2])&&BA(133208,r),(r=e[t>>2])&&vr(133168,r,40),e[33289]=d[t+14|0],e[33291]=d[t+13|0],e[33290]=d[t+12|0],vr(134672,d[0|A]!=33|d[A+1|0]!=118?A:(d[A+2|0]==47?3:0)+A|0,40),t=e[50298],e[33678]=e[50297],e[33679]=t,t=e[50302],e[33682]=e[50301],e[33683]=t,t=e[50300],e[33680]=e[50299],e[33681]=t):IA(133152,0,76)}function Yi(t,A,r,n){g[t+53|0]=1;e:if(e[t+4>>2]==(0|r)){g[t+52|0]=1;t:{if(!(r=e[t+16>>2])){if(e[t+36>>2]=1,e[t+24>>2]=n,e[t+16>>2]=A,(0|n)!=1)break e;if(e[t+48>>2]==1)break t;break e}if((0|A)==(0|r)){if((0|(r=e[t+24>>2]))==2&&(e[t+24>>2]=n,r=n),e[t+48>>2]!=1)break e;if((0|r)==1)break t;break e}e[t+36>>2]=e[t+36>>2]+1}g[t+54|0]=1}}function Gs(t,A){var r=0,n=0,i=0,l=0,h=0;e:if(r=e[A>>2])for(;;){n=0;t:if(t){for(;h=g[n+r|0],(i=e[(n<<2)+t>>2])&&(n=n+1|0,(0|h)==(0|i)););r:switch(i-34|0){case 0:case 5:break r;default:break t}if(!h)break e}if(!(r=e[((l=l+1|0)<<3)+A>>2]))break}return e[4+((l<<3)+A|0)>>2]}function fi(t,A){e:if((0|A)>=1024){if(t*=898846567431158e293,A>>>0<2047){A=A-1023|0;break e}t*=898846567431158e293,A=((0|A)>=3069?3069:A)-2046|0}else(0|A)>-1023||(t*=2004168360008973e-307,A>>>0>4294965304?A=A+969|0:(t*=2004168360008973e-307,A=((0|A)<=-2960?-2960:A)+1938|0));return D(0,0),D(1,A+1023<<20),t*+Q()}function An(t,A,r,n){var i,l,h,m=0;return oe=l=oe-16|0,e[l+12>>2]=n,oe=i=oe-160|0,h=A?t:i+158|0,e[i+144>>2]=h,m=-1,t=A-1|0,e[i+148>>2]=t>>>0<=A>>>0?t:0,t=IA(i,0,144),e[t+76>>2]=-1,e[t+36>>2]=17,e[t+80>>2]=-1,e[t+44>>2]=t+159,e[t+84>>2]=t+144,(0|A)<0?e[56798]=61:(g[0|h]=0,m=ts(t,r,n,15,16)),oe=t+160|0,oe=l+16|0,m}function Zn(t,A){var r=0,n=0,i=0;e:if(r=d[0|t])for(;;){if(!(n=d[0|A])){i=r;break e}if((0|r)!=(0|n)&&(0|(n=r-65>>>0<26?32|r:r))!=(0|((r=d[0|A])-65>>>0<26?32|r:r))){i=d[0|t];break e}if(A=A+1|0,r=d[t+1|0],t=t+1|0,!r)break}return(i=(t=255&i)-65>>>0<26?32|t:t)-((t=d[0|A])-65>>>0<26?32|t:t)|0}function Mi(t,A,r){var n=0,i=0;if(n=e[r+72>>2],e[r+72>>2]=n-1|n,(0|(n=e[r+4>>2]))==(0|(i=e[r+8>>2]))?n=A:($A(t,n,n=A>>>0>(n=i-n|0)>>>0?n:A),e[r+4>>2]=n+e[r+4>>2],t=t+n|0,n=A-n|0),n)for(;;){if(Di(r)||!(i=0|LA[e[r+32>>2]](r,t,n)))return A-n|0;if(t=t+i|0,!(n=n-i|0))break}return A}function Pn(t){for(var A=0,r=0,n=0,i=0;t=(A=t)+1|0,(0|(r=g[0|A]))==32|r-9>>>0<5;);e:{t:{r:switch((r=g[0|A])-43|0){case 0:break t;case 2:break r;default:break e}i=1}r=g[0|t],A=t}if(r-48>>>0<10)for(;n=48+(F(n,10)-g[0|A]|0)|0,t=g[A+1|0],A=A+1|0,t-48>>>0<10;);return i?n:0-n|0}function oo(t,A){var r,n,i,l=0;return oe=r=oe-32|0,e[A>>2]=0,e[A+4>>2]=0,e[(l=n=A+24|0)>>2]=0,e[l+4>>2]=0,e[(l=i=A+16|0)>>2]=0,e[l+4>>2]=0,e[(l=A+8|0)>>2]=0,e[l+4>>2]=0,e[r+28>>2]=A+28,e[r+24>>2]=n,e[r+20>>2]=A+20,e[r+16>>2]=i,e[r+12>>2]=A+12,e[r+8>>2]=l,e[r+4>>2]=A+4,e[r>>2]=A,t=nA(t,84553,r),oe=r+32|0,t}function _o(t){var A=0,r=0,n=0;if((A=d[0|t])&&((r=d[t+1|0])?(r=A|r<<8,(A=d[t+2|0])&&(r|=A<<16,(t=d[t+3|0])&&(r|=t<<24))):r=A),(0|(A=e[36115]))>0)for(t=0;;){if(!(!(n=e[144464+(t<<2)>>2])|e[n>>2]!=(0|r)))return d[n+10|0];if((0|A)==(0|(t=t+1|0)))break}return 0}function Sn(t,A,r,n){var i,l=0,h=0,m=0,w=0,M=0;oe=i=oe-240|0,e[i>>2]=t,m=1;e:if(!((0|r)<2))for(l=t;;){if((0|mi(t,h=(l=l-4|0)-e[((w=r-2|0)<<2)+n>>2]|0,A))>=0&&(0|mi(t,l,A))>=0)break e;if(M=h,l=(h=(0|mi(h,l,A))>=0)?M:l,e[(m<<2)+i>>2]=l,m=m+1|0,!((0|(r=h?r-1|0:w))>1))break}yn(i,m),oe=i+240|0}function uA(t,A,r){var n,i,l,h=0;return oe=i=oe-16|0,e[i+12>>2]=r,oe=n=oe-160|0,$A(l=n+8|0,124528,144),e[n+52>>2]=t,e[n+28>>2]=t,h=(h=-2-t|0)>>>0>2147483647?2147483647:h,e[n+56>>2]=h,t=t+h|0,e[n+36>>2]=t,e[n+24>>2]=t,t=wa(l,A,r),h&&(A=e[n+28>>2],g[A-((0|A)==e[n+24>>2])|0]=0),oe=n+160|0,oe=i+16|0,t}function yn(t,A){var r,n=0,i=0,l=0,h=0,m=0;if(n=4,oe=r=oe-256|0,(0|A)>=2)for(e[(m=(A<<2)+t|0)>>2]=r;;){for(l=n>>>0>=256?256:n,$A(e[m>>2],e[t>>2],l),i=0;h=(i<<2)+t|0,i=i+1|0,$A(e[h>>2],e[(i<<2)+t>>2],l),e[h>>2]=e[h>>2]+l,(0|A)!=(0|i););if(!(n=n-l|0))break}oe=r+256|0}function kA(t,A,r){var n,i=0;return oe=n=oe-96|0,e[n+88>>2]=0,e[n+92>>2]=1073741824,e[n+84>>2]=A,A=Hr(t,n+84|0,r,n+88|0,2,0),536870912&(i=e[n+88>>2])?(A=e[47202],e[47202]=0,g[n+2|0]=32,v[n>>1]=8192,vr(i=3|n,e[n+84>>2],77),t=lA(t,i,0,0),BA(r,189088),e[47202]=A):t=A?i:0,oe=n+96|0,t}function lo(t,A,r){var n=0,i=0,l=0;i=di(t),n=e[A>>2];e:{t:if((0|i)>=0){if(n){if(!Zr(t,r))break t;(l=e[n+688>>2])&&EA(l),EA(n),e[A>>2]=0}e[A>>2]=st(t),t=BA(r,t),qs(r=e[A>>2],r+228|0,0)&&(Ia(e[e[32972]+60>>2]),g[0|t]=0,i=-1),n=e[A>>2],e[n+292>>2]=i}else if(!n)break e;g[n+268|0]=0}return i}function co(t){var A=0,r=0;return(0|(A=e[t+76>>2]))>=0&(!A|e[56823]!=(-1073741825&A))?(r=e[(A=t+76|0)>>2],e[A>>2]=r||1073741823,(0|(r=e[t+4>>2]))==e[t+8>>2]?t=Zi(t):(e[t+4>>2]=r+1,t=d[0|r]),e[A>>2]=0,t):(0|(A=e[t+4>>2]))!=e[t+8>>2]?(e[t+4>>2]=A+1,d[0|A]):Zi(t)}function ra(t,A,r){var n=0,i=0;e:{t:{if(r>>>0>=4){if(3&(t|A))break t;for(;;){if(e[t>>2]!=e[A>>2])break t;if(A=A+4|0,t=t+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break e}for(;;){if((0|(n=d[0|t]))==(0|(i=d[0|A]))){if(A=A+1|0,t=t+1|0,r=r-1|0)continue;break e}break}return n-i|0}return 0}function js(t,A){var r,n=0,i=0,l=0;oe=r=oe-16|0,A?(ea(r,i=((n=A>>31)^A)-n|0,0,0,0,(n=ce(i))+81|0),i=0+e[r+8>>2]|0,n=(65536^e[r+12>>2])+(16414-n<<16)|0,l=-2147483648&A|(n=i>>>0<l>>>0?n+1|0:n),n=e[r+4>>2],A=e[r>>2]):A=0,e[t>>2]=A,e[t+4>>2]=n,e[t+8>>2]=i,e[t+12>>2]=l,oe=r+16|0}function Nn(t){var A,r=0,n=0,i=0;if((0|(r=Un(t,61)))==(0|t))return 0;e:if(!d[(A=r-t|0)+t|0]&&(r=e[56800])&&(n=e[r>>2])){for(;;){if(go(t,n,A)||(n=e[r>>2]+A|0,d[0|n]!=61)){if(n=e[r+4>>2],r=r+4|0,n)continue;break e}break}i=n+1|0}return i}function di(t){var A=0,r=0;e:if(!((0|(r=e[34461]))<=0)){for(;;){if(!Zr(t,F(A,44)+137856|0)){e[34457]=A;break e}if((0|r)==(0|(A=A+1|0)))break}return-1}return(t=(0|A)==(0|r))?-1:((0|(t=t?-1:A))!=e[36114]&&(e[36115]=0,ba(t),e[36114]=t,e[36115]=e[36115]+1),A)}function uo(t,A,r,n){var i=0,l=0;e:if((32|d[0|A])!=32){if(i=((0|n)>2)<<1,l=Tt(t,A,r,i=(0|n)>1?4|i:i),d[0|r]!=21)for(i|=1,A=A+l|0,l=1;;){if((32|d[0|A])==32)break e;if(A=Tt(t,A,r,i)+A|0,l=l+1|0,d[0|r]==21)break}return BA(189088,r),0}return PA(t,r,n,l),A}function _s(t,A){var r,n=0,i=0,l=0;if(t>>>0<=127)return g[0|A]=t,1;if(t>>>0>=1114112)return g[0|A]=32,1;for(n=F(r=t>>>0<2048?1:t>>>0<65536?2:3,6),g[0|A]=d[r+93842|0]|t>>>n;n=n-6|0,g[(i=i+1|0)+A|0]=t>>>n&63|128,(0|(l=l+1|0))!=(0|r););return r+1|0}function Xn(t){var A=0,r=0;e:{if((0|(A=e[t+12>>2]))>=e[t+16>>2]){if(A=0,(0|(r=0|ze(e[t+8>>2],t+24|0,2048)))<=0){if(!r|(0|r)==-44)break e;return e[56798]=0-r,0}e[t+16>>2]=r}r=A,A=t+A|0,e[t+12>>2]=r+_[A+40>>1],r=e[A+36>>2],e[t>>2]=e[A+32>>2],e[t+4>>2]=r,A=A+24|0}return A}function Ho(t,A){var r,n=0;if(n=e[t+632>>2])return!!(0|rs(n,A));e:{t:{if((0|(r=e[t+600>>2]))>0){if(n=0,(A=A-r|0)-1>>>0<255)break t;break e}if((n=A-192|0)>>>0<=413)return 128&d[344+(d[n+94240|0]+t|0)|0];if(n=0,A>>>0>255)break e}n=128&d[344+(t+A|0)|0]}return n}function En(t,A,r){var n,i,l;return l=(n=t*t)*(n*n)*(158969099521155e-24*n-25050760253406863e-24)+(n*(27557313707070068e-22*n-.0001984126982985795)+.00833333333332249),i=n*t,r?t-(n*(.5*A-l*i)-A+.16666666666666632*i):i*(n*l-.16666666666666632)+t}function un(t,A){var r,n=0,i=0,l=0;oe=r=oe-16|0,A?(ea(r,n=A,0,0,0,(A=ce(A))+81|0),n=0+e[r+8>>2]|0,A=(65536^e[r+12>>2])+(16414-A<<16)|0,l=i>>>0>n>>>0?A+1|0:A,i=e[r+4>>2],A=e[r>>2]):A=0,e[t>>2]=A,e[t+4>>2]=i,e[t+8>>2]=n,e[t+12>>2]=l,oe=r+16|0}function Ri(t){var A,r=0;oe=A=oe-16|0,g[A+15|0]=10;e:{if(!(r=e[t+16>>2])){if(dn(t))break e;r=e[t+16>>2]}(0|r)==(0|(r=e[t+20>>2]))|e[t+80>>2]==10?LA[e[t+36>>2]](t,A+15|0,1):(e[t+20>>2]=r+1,g[0|r]=10)}oe=A+16|0}function Di(t){var A,r=0;return r=e[t+72>>2],e[t+72>>2]=r-1|r,e[t+20>>2]!=e[t+28>>2]&&LA[e[t+36>>2]](t,0,0),e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,4&(r=e[t>>2])?(e[t>>2]=32|r,-1):(A=e[t+44>>2]+e[t+48>>2]|0,e[t+8>>2]=A,e[t+4>>2]=A,r<<27>>31)}function gi(t){var A=0;e:{t:{r:{a:{if((0|(t=io(t)))<=268437502){if(!t)break e;if((0|t)==268436479)break t;if((0|t)!=268437247)break a;return 2}if((0|t)==268437503|(0|t)==268437759)break r;if((0|t)==268439295)break e}return-1}return 2}A=1}return A}function wA(t){var A=0,r=0,n=0;e:{if(3&(A=t))for(;;){if(!d[0|A])break e;if(!(3&(A=A+1|0)))break}for(;r=A,A=A+4|0,!(~(n=e[r>>2])&n-16843009&-2139062144););for(;r=(A=r)+1|0,d[0|A];);}return A-t|0}function ua(t,A,r){var n,i=0,l=0,h=0;e[t+112>>2]=A,e[t+116>>2]=r,n=e[t+4>>2],i=e[t+44>>2]-n|0,e[t+120>>2]=i,e[t+124>>2]=i>>31,i=e[t+8>>2],A|r&&((0|r)>=(0|(h=(l=i-n|0)>>31))&A>>>0>=l>>>0|(0|r)>(0|h)||(i=A+n|0)),e[t+104>>2]=i}function To(t,A){var r,n,i=0;if(V(+t),r=0|G(1),n=0|G(0),(0|(i=r>>>20&2047))!=2047){if(!i)return t==0?i=0:(t=To(18446744073709552e3*t,A),i=e[A>>2]+-64|0),e[A>>2]=i,t;e[A>>2]=i-1022,D(0,0|n),D(1,-2146435073&r|1071644672),t=+Q()}return t}function qn(t,A){var r,n,i=0;return(n=1-(i=.5*(r=t*t)))+(1-n-i+(r*(r*(r*(2480158728947673e-20*r-.001388888888887411)+.0416666666666666)+(i=r*r)*i*(r*(-11359647557788195e-27*r+2087572321298175e-24)-27557314351390663e-23))-t*A))}function fn(t,A,r){var n=0,i=0;if(A)for(;r=r-1|0,i=t,t=$i(t,A,10),n=fe,g[0|r]=i-rr(t,n,10,0)|48,i=A>>>0>9,A=n,i;);if(t)for(;A=(t>>>0)/10|0,g[0|(r=r-1|0)]=t-F(A,10)|48,n=t>>>0>9,t=A,n;);return r}function fo(t,A){var r=0,n=0,i=0;e:if(t){for(;i=g[A+r|0],(n=e[(r<<2)+t>>2])&&(r=r+1|0,(0|i)==(0|n)););t:switch(n-34|0){case 0:case 5:break t;default:break e}if(!i)return 0}return 1}function Yo(t,A,r){var n,i=0;return oe=n=oe-16|0,!(64&A)&&(i=0,4259840&~A)||(e[n+12>>2]=r+4,i=e[r>>2]),e[n>>2]=i,e[n+4>>2]=0,(t=0|we(-100,0|t,32768|A,0|n))>>>0>=4294963201&&(e[56798]=0-t,t=-1),oe=n+16|0,t}function go(t,A,r){var n=0,i=0,l=0;if(!r)return 0;e:if(n=d[0|t]){for(;;){if((i=d[0|A])&&!(!(r=r-1|0)|(0|n)!=(0|i))){if(A=A+1|0,n=d[t+1|0],t=t+1|0,n)continue;break e}break}l=n}return(255&l)-d[0|A]|0}function zn(t,A){var r,n=0;oe=n=oe-128|0,n=IA(n,0,128),g[n+98|0]=9,g[n+66|0]=9,g[n+34|0]=t,v[n+68>>1]=1,r=e[36125],e[n+104>>2]=r,e[n+72>>2]=r,e[n+40>>2]=e[144464+(t<<2)>>2],g[n+2|0]=9,e[n+8>>2]=r,Gt(0,0,n+32|0,A,0),oe=n+128|0}function ji(t){var A=0,r=0,n=0;if(g[e[t>>2]]-48>>>0>=10)return 0;for(;n=e[t>>2],r=-1,A>>>0<=214748364&&(r=(0|(r=g[0|n]-48|0))>(2147483647^(A=F(A,10)))?-1:r+A|0),e[t>>2]=n+1,A=r,g[n+1|0]-48>>>0<10;);return A}function ho(t,A){var r=0;if(!(!t|e[t>>2]-48>>>0>=10)){if(e[t>>2]-48>>>0<10)for(;r=(e[t>>2]+F(r,10)|0)-48|0,e[(t=t+4|0)>>2]-48>>>0<10;);(0|A)==1&&(r=(0|wr(e[t>>2]))==115?F(r,1e3):r)}return r}function Ts(t){var A=0;A=1;e:{switch(0|ta(t)){case 30:if(A=0,(0|t)==160|(0|t)==8199|(0|t)==8239)break e;return 1;case 0:if(t-9>>>0<5)return 1;if((0|t)==133)break e;break;case 28:case 29:break e}A=0}return A}function Ro(t,A,r){var n,i=0;return oe=n=oe-16|0,g[n+6|0]=0,g[n+7|0]=95,i=_s(i=A,A=n+8|0)+n|0,g[i+8|0]=32,g[i+9|0]=0,kA(t,n+7|0,r)||(g[n+7|0]=32,kA(t,A,r)||zA(t,A,r,20,0,0,0)),oe=n+16|0,g[0|r]}function Jn(t){var A=0,r=0;r=170;e:if(!((0|t)<170))for(;;){if((0|t)==(0|r))return _[101616+(A<<1|2)>>1];if((2147483646&(A=A+2|0))==124)break e;if(!((0|(r=_[101616+(A<<1)>>1]))<=(0|t)))break}return 0}function rr(t,A,r,n){var i,l,h,m,w=0,M=0;return m=F(w=r>>>16|0,M=t>>>16|0),w=(65535&(M=((h=F(i=65535&r,l=65535&t))>>>16|0)+F(M,i)|0))+F(w,l)|0,fe=(F(A,r)+m|0)+F(t,n)+(M>>>16)+(w>>>16)|0,65535&h|w<<16}function wr(t){var A=0,r=0,n=0,i=0;for(A=2778;;){if((0|(r=e[1040+((n=(A+i|0)/2|0)<<4)>>2]))==(0|t))return(A=e[1048+(n<<4)>>2])||t;if(!((0|(i=(r=t>>>0>r>>>0)?n+1|0:i))<=(0|(A=r?A:n-1|0))))break}return t}function Gi(t){var A=0,r=0,n=0,i=0;for(A=2778;;){if((0|(r=e[1040+((n=(A+i|0)/2|0)<<4)>>2]))==(0|t))return(A=e[1044+(n<<4)>>2])||t;if(!((0|(i=(r=t>>>0>r>>>0)?n+1|0:i))<=(0|(A=r?A:n-1|0))))break}return t}function Na(t){var A,r=0;return oe=A=oe-112|0,(t=0|At(0|t,0|A))>>>0>=4294963201&&(e[56798]=0-t,t=-1),r=0-e[56798]|0,t||(r=-31,(61440&e[A+12>>2])!=16384&&(r=e[A+40>>2])),oe=A+112|0,r}function po(t,A,r){var n;if(!(n=e[t+16>>2]))return e[t+36>>2]=1,e[t+24>>2]=r,void(e[t+16>>2]=A);e:{if((0|A)==(0|n)){if(e[t+24>>2]!=2)break e;return void(e[t+24>>2]=r)}g[t+54|0]=1,e[t+24>>2]=2,e[t+36>>2]=e[t+36>>2]+1}}function Ws(t,A,r,n,i){var l;if(oe=l=oe-256|0,!(73728&i|(0|r)<=(0|n))){if(IA(l,255&A,(r=(n=r-n|0)>>>0<256)?n:256),!r)for(;Hs(t,l,256),(n=n-256|0)>>>0>255;);Hs(t,l,n)}oe=l+256|0}function On(t,A,r){var n=0;e:{if(t){if(n=e[t>>2]){EA(e[n+4>>2]),n=e[t>>2];break e}if(n=aA(16),e[t>>2]=n,n)break e;A=48}return A}return e[n>>2]=0,e[n+4>>2]=sn(r),t=e[t>>2],e[t+8>>2]=0,e[t+12>>2]=0,A}function fa(t){var A=0,r=0;Qn(t),LA[e[t+12>>2]](t),1&g[0|t]||((A=e[t+52>>2])&&(e[A+56>>2]=e[t+56>>2]),(r=e[t+56>>2])&&(e[r+52>>2]=A),e[56816]==(0|t)&&(e[56816]=r),EA(e[t+96>>2]),EA(t))}function $n(t){var A=0,r=0;A=1;e:{t:{r:{a:switch((r=ta(t))-9|0){case 1:break e;case 6:case 18:break r;case 0:break a;default:break t}return(0|wr(t))!=(0|t)}return Je(t,r)>>>15&1}A=0}return A}function Wi(t){var A,r,n,i=0,l=0;if(n=wA(t)+1|0,i=e[33282],(0|(r=(A=e[33287])+n|0))>=e[33286]){if(!(i=ds(i,l=r+1e3|0)))return-1;e[33286]=l,e[33282]=i}return $A(i+A|0,t,n),e[33287]=r,A}function dn(t){var A=0;return A=e[t+72>>2],e[t+72>>2]=A-1|A,8&(A=e[t>>2])?(e[t>>2]=32|A,-1):(e[t+4>>2]=0,e[t+8>>2]=0,A=e[t+44>>2],e[t+28>>2]=A,e[t+20>>2]=A,e[t+16>>2]=A+e[t+48>>2],0)}function s0(t,A,r,n){e:if(t){t:switch(A+2|0){case 0:return void(g[0|t]=r);case 1:return void(v[t>>1]=r);case 2:case 3:return void(e[t>>2]=r);case 5:break t;default:break e}e[t>>2]=r,e[t+4>>2]=n}}function Ui(t,A,r,n,i,l,h,m,w){var M;oe=M=oe-16|0,FA(M,A,r,n,i,l,h,m,-2147483648^w),n=e[M>>2],r=e[M+4>>2],A=e[M+12>>2],e[t+8>>2]=e[M+8>>2],e[t+12>>2]=A,e[t>>2]=n,e[t+4>>2]=r,oe=M+16|0}function Zr(t,A){var r=0,n=0;e:if(!(!(r=d[0|t])|(0|r)!=(0|(n=d[0|A]))))for(;;){if(n=d[A+1|0],!(r=d[t+1|0]))break e;if(A=A+1|0,t=t+1|0,(0|r)!=(0|n))break}return r-n|0}function sa(t,A){var r=0,n=0,i=0;if(!(r=e[t>>2]))return 84399;if(e[t+4>>2]!=(0|A))for(;;){if(!(r=e[(n=t+8|0)>>2]))return 84399;if(i=t,t=n,e[i+12>>2]==(0|A))break}return r}function jo(t,A,r){var n=0,i=0,l=0;e:if(r){for(;;){if(!(!(n=e[A>>2])|!(i=e[t>>2])|(0|n)!=(0|i))){if(A=A+4|0,t=t+4|0,r=r-1|0)continue;break e}break}l=i-n|0}return l}function Us(t){var A,r=0,n=0;if((0|(A=e[36115]))>0)for(;;){if(!(!(n=e[144464+(r<<2)>>2])|e[n>>2]!=(0|t)))return d[n+10|0];if((0|A)==(0|(r=r+1|0)))break}return 0}function za(t){var A,r;return(t=(A=e[33175])+(r=t+7&-8)|0)>>>0<=A>>>0&&r||t>>>0>J.byteLength/65536<<16>>>0&&!(0|je(0|t))?(e[56798]=48,-1):(e[33175]=t,A)}function ei(t){var A=0;e:if(!((A=ta(t))>>>0>27)){if(!(1<<A&134259072)){if((0|A)==6)return 1;if((0|A)!=9)break e;return(0|Gi(t))!=(0|t)}return Je(t,A)>>>14&1}return 0}function mo(t,A){var r=0;return g[0|t]=A>>>24,g[0|(r=(A>>>0>16777215)+t|0)]=A>>>16,g[0|(r=r+!!(16711680&A)|0)]=A>>>8,g[0|(r=r+!!(65280&A)|0)]=A,g[r+!!(255&A)|0]=0,t}function gn(t,A){e:if((0|(t=os(t,A)))<=268437502){if(!t|(0|t)==268436479|(0|t)!=268437247)break e;return}}function Wo(t){var A=0;return A=e[t>>2]-1|0,(A=g[121600+(F(0-A&A,124511785)>>>27|0)|0])||(t=e[t+4>>2],A=(t=g[121600+(F(0-t&t,124511785)>>>27|0)|0])?t+32|0:0),A}function Ki(t){var A=0,r=0,n=0;e:{if(!((A=ta(t))>>>0>27)){if(r=1,116672&(n=1<<A))break e;if(134227968&n)return Je(t,A)>>>10&1}r=0}return r}function aa(t){var A=0,r=0,n=0;e:{if(!((A=ta(t))>>>0>27)){if(r=1,34752&(n=1<<A))break e;if(134227968&n)return Je(t,A)>>>10&1}r=0}return r}function da(){var t,A=0;(t=e[56797])&&((A=e[t+8>>2])&&LA[e[e[A>>2]+12>>2]](A),(A=e[t+4>>2])&&LA[e[e[A>>2]+16>>2]](A),EA(t)),e[56797]=0,e[56797]=en()}function a0(t,A){var r=0;return t&&(r=rr(t,0,A,0),(t|A)>>>0<65536||(r=fe?-1:r)),!(t=aA(r))|!(3&d[t-4|0])||IA(t,0,r),t}function bo(t,A){var r,n;n=e[130128+(A-F(r=(0|A)/100|0,100)<<2)>>2],e[t+100>>2]=n,e[t+96>>2]=n,A+99>>>0>=199&&(e[t+100>>2]=e[130128+(r<<2)>>2])}function hn(t){var A=0;(A=aA(1344))&&(t=$A(A,t,1344),A=216192+(e[50758]<<4)|0,e[A>>2]=11,e[A+8>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}function ti(t,A){var r=0;e:if(r=e[t>>2])for(;;){if(A&&!Zr(A,r))break e;if(!(r=e[(t=t+8|0)>>2]))break}return e[t+4>>2]}function Zi(t){var A,r=0;return oe=A=oe-16|0,r=-1,Di(t)||(0|LA[e[t+32>>2]](t,A+15|0,1))==1&&(r=d[A+15|0]),oe=A+16|0,r}function rs(t,A){var r=0,n=0;if(A){for(;n=t,(r=e[t>>2])&&(t=n+4|0,(0|A)!=(0|r)););return r?n:0}return(xn(t)<<2)+t|0}function Uo(t,A){var r=0,n=0;if(r=_[t>>1])for(;;){if(n=n+1|0,(0|A)==(0|r))return n;if(!(r=_[(n<<1)+t>>1]))break}return 0}function Xi(t,A){var r=0,n=0;A>>>0<=31?(n=e[t>>2],r=t+4|0):(A=A-32|0,r=t),r=e[r>>2],e[t>>2]=n<<A,e[t+4>>2]=r<<A|n>>>32-A}function Ua(t,A){var r=0,n=0;r=e[t+4>>2],A>>>0<=31?n=e[t>>2]:(A=A-32|0,n=r,r=0),e[t+4>>2]=r>>>A,e[t>>2]=r<<32-A|n>>>A}function Ka(t){var A=0;t=t||1;e:{for(;;){if(A=aA(t))break e;if(!(A=e[57276]))break;LA[0|A]()}ct(),W()}return A}function _i(t){return t>>>0<=131071?d[117424+(t>>>3&31|d[117424+(t>>>8|0)|0]<<5)|0]>>>(7&t)&1:t>>>0<196606}function pn(t,A,r,n,i,l,h,m,w){e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=n,e[t+12>>2]=65535&i|(w>>>16&32768|i>>>16&32767)<<16}function Bn(t,A,r){return r?(0|t)==(0|A)?1:!Zr(e[t+4>>2],e[A+4>>2]):e[t+4>>2]==e[A+4>>2]}function Co(t){var A=0;(0|(A=0|wt(-100,0|t,0)))==-31&&(A=0|It(0|t)),A>>>0>=4294963201&&(e[56798]=0-A)}function rn(){var t;t=aA(84)+80|0,e[t>>2]=125420,e[t>>2]=125380,e[t>>2]=125400,St(0|t,125512,9),W()}function Ca(t){var A,r;return A=co(t),r=co(t),co(t)<<16&16711680|r<<8&65280|255&A|co(t)<<24}function qi(t){var A=0;return t?(A=1,t-9472>>>0<160|t-65529>>>0<7||(A=Ts(t)),A):0}function Io(t,A){var r;return r=A>>31,e[t+76>>2],function(n,i,l){return e[n+20>>2]!=e[n+28>>2]&&(LA[e[n+36>>2]](n,0,0),!e[n+20>>2])||(e[n+28>>2]=0,e[n+16>>2]=0,e[n+20>>2]=0,LA[e[n+40>>2]](n,i,l,0),(0|fe)<0)?-1:(e[n+4>>2]=0,e[n+8>>2]=0,e[n>>2]=-17&e[n>>2],0)}(t,A,r)}function xn(t){var A=0,r=0;for(r=t;r=(A=r)+4|0,e[A>>2];);return A-t>>2}function n0(t,A){return g[0|t]=A,g[t+4|0]=0,g[t+3|0]=A>>>24,g[t+2|0]=A>>>16,g[t+1|0]=A>>>8,t}function Ks(t,A){var r=0;return(-1>>>(r=31&A)&t)<<r|((r=t)&-1<<(t=0-A&31))>>>t}function Za(t,A){var r=0;return(0|t)==73&&(r=305,d[A+173|0])||(r=wr(t)),r}function Ia(t){e[36114]!=(0|t)&&(e[36115]=0,ba(t),e[36114]=t,e[36115]=e[36115]+1)}function wo(t){return t?e[34460]+t|0:(bn(85328,20,e[30450]),e[32320])}function sn(t){var A,r;return(r=aA(A=wA(t)+1|0))?$A(r,t,A):0}function mn(){var t;e[33287]=0,(t=e[33282])&&(EA(t),e[33286]=0,e[33282]=0)}function ss(t,A,r){var n;oe=n=oe-16|0,e[n+12>>2]=r,wa(t,A,r),oe=n+16|0}function bn(t,A,r){e[r+76>>2],t=Kn(t,A,r)}function hi(t,A){return A?t<<24|(65280&t)<<8|t>>>8&65280|t>>>24:t}function pi(t){return t-8212>>>0>=12?Uo(93856,t):1}function Mn(t){var A=0;t&&((A=e[t+688>>2])&&EA(A),EA(t))}function Ko(t){return(0|t)<=127?an(87712,t):0}function ko(t){return!(t=d[0|t]?1:ra(t,t+1|0,3))}function Dn(t){(t=(0|(t=0|Pe(0|t)))!=27?t:0)&&(e[56798]=t)}function mi(t,A,r){return t|=0,A|=0,0|LA[0|(r|=0)](t,A)}function an(t,A){return t=Un(t,A),d[0|t]==(255&A)?t:0}function Cn(t,A){return ut(t,A,2147483647),fe=ke,zt}function vo(t){return t?31-ce(t-1^t)|0:32}function Hs(t,A,r){32&d[0|t]||Kn(A,r,t)}function vr(t,A,r){g[(Ds(t,A,r)+r|0)-1|0]=0}function Ji(t){return lo(t,188776,189328)}function Qo(t,A){A|=0,e[8+(t|=0)>>2]=A}function wa(t,A,r){return ts(t,A,r,0,0)}function bi(t){return e[12+(t|=0)>>2]}function Ai(t){return e[16+(t|=0)>>2]}function In(t){return e[20+(t|=0)>>2]}function ka(t){return e[8+(t|=0)>>2]}function Po(t){return e[4+(t|=0)>>2]}function wn(t){return e[(t|=0)>>2]}function $i(t,A,r){return ut(t,A,r)}function Ti(t){(t|=0)&&EA(t)}function gs(t,A){BA(wA(t)+t|0,A)}function Zo(t){return 0|t}function eo(t){return 0}function Ga(t){EA(t|=0)}function i0(t){}C(o=d
vendor: 59,320 bytes, line 2810
2810,1024,"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"),C(
2810o,45536,"HhYWFhgWFhYXExYaFhIWFg4ODg4ODg4ODg4WFhoaGhYWCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoXFhMZERkGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhcaExo="),C(o
vendor: 47,685 bytes, line 2810
2810,45664,"HhYYGBgYGxYZGwgVGgEbGRsaEBAZBhYWGRAIFBAQEBYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGCgYKBgoGCgYKBgoGCgYKBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgoGCgYKBgYGCgoGCgYKCgYKCgoGBgoKCgoGCgoGCgoKBgYGCgoGCgoGCgYKBgoKBgoGBgoGCgoGCgoKBgoGCgoGBggKBgYGCAgICAoJBgoJBgoJBgoGCgYKBgoGCgYKBgoGCgYGCgYKBgoGCgYKBgoGCgYKBgoGBgoJBgoGCgoKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGBgYKCgYKCgYGCgYKCgoKBgoGCgYKBgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYIBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHGRkZGQcHBwcHBwcHBwcHBxkZGRkZGRkZGRkZGRkZBwcHBwcZGRkZGRkZBxkHGRkZGRkZGRkZGRkZGRkZGRkNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NCgYKBgcZCgYCAgcGBgYWCgICAgIZGQoWCgoKAgoCCgoGCgoKCgoKCgoKCgoKCgoKCgoCCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKBgYKCgoGBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGCgYaCgYKCgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBhsNDQ0NDQwMCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgoGCgYKBgoGCgYKBgoGBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgICBxYWFhYWFgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGFhICAhsbGAINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0SDRYNDRYNDRYNAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICCAgICBYWAgICAgICAgICAgIBAQEBAQEaGhoWFhgWFhsbDQ0NDQ0NDQ0NDQ0WAQIWFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBwgICAgICAgICAgNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ODg4ODg4ODg4OFhYWFggIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYIDQ0NDQ0NDQEbDQ0NDQ0NBwcNDRsNDQ0NCAgODg4ODg4ODg4OCAgIGxsIFhYWFhYWFhYWFhYWFhYCAQgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQ0NCAICAgICAgICAgICAgICDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQcHGxYWFgcCAg0YGAgICAgICAgICAgICAgICAgICAgICAgNDQ0NBw0NDQ0NDQ0NDQcNDQ0HDQ0NDQ0CAhYWFhYWFhYWFhYWFhYWFgIICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NAgIWAggICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAgCAgICAgICAgICAgICAgICAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0BDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsNCAsLCw0NDQ0NDQ0NCwsLCw0LCwgNDQ0NDQ0NCAgICAgICAgICA0NFhYODg4ODg4ODg4OFgcICAgICAgICAgICAgICAgNCwsCCAgICAgICAgCAggIAgIICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgCCAICAggICAgCAg0ICwsLDQ0NDQICCwsCAgsLDQgCAgICAgICAgsCAgICCAgCCAgIDQ0CAg4ODg4ODg4ODg4ICBgYEBAQEBAQGxgIFg0CAg0NCwIICAgICAgCAgICCAgCAggICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAIICAIICAIICAICDQILCwsNDQICAgINDQICDQ0NAgICDQICAgICAgIICAgIAggCAgICAgICDg4ODg4ODg4ODg0NCAgIDRYCAgICAgICAgICDQ0LAggICAgICAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAIICAgICAgIAggIAggICAgIAgINCAsLCw0NDQ0NAg0NCwILCw0CAggCAgICAgICAgICAgICAgIICA0NAgIODg4ODg4ODg4OFhgCAgICAgICCA0NDQ0NDQINCwsCCAgICAgICAgCAggIAgIICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgCCAgCCAgICAgCAg0ICw0LDQ0NDQICCwsCAgsLDQICAgICAgICDQsCAgICCAgCCAgIDQ0CAg4ODg4ODg4ODg4bCBAQEBAQEAICAgICAgICAgINCAIICAgICAgCAgIICAgCCAgICAICAggIAggCCAgCAgIICAICAggICAICAggICAgICAgICAgICAICAgILCw0LCwICAgsLCwILCwsNAgIIAgICAgICCwICAgICAgICAgICAgICDg4ODg4ODg4ODhAQEBsbGxsbGxgbAgICAgINCwsLDQgICAgICAgIAggICAIICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgIAgICCA0NDQsLCwsCDQ0NAg0NDQ0CAgICAgICDQ0CCAgIAgICAgIICA0NAgIODg4ODg4ODg4OAgICAgICAgIQEBAQEBAQGwgNCwsWCAgICAgICAgCCAgIAggICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgICAgCCAgICAgCAg0ICw0LCwsLCwINCwsCCwsNDQICAgICAgILCwICAgICAgIIAggIDQ0CAg4ODg4ODg4ODg4CCAgCAgICAgICAgICAgICDQ0LCwIICAgICAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQgLCwsNDQ0NAgsLCwILCwsNCBsCAgICCAgICxAQEBAQEBAICAgNDQICDg4ODg4ODg4ODhAQEBAQEBAQEBsICAgICAgCAgsLAggICAgICAgICAgICAgICAgICAICAggICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgCCAICCAgICAgICAICAg0CAgICCwsLDQ0NAg0CCwsLCwsLCwsCAgICAgIODg4ODg4ODg4OAgILCxYCAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgNDQ0NDQ0NAgICAhgICAgICAgHDQ0NDQ0NDQ0WDg4ODg4ODg4ODhYWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggIAggCAggIAggCAggCAgICAgIICAgIAggICAgICAgCCAgIAggCCAICCAgCCAgICA0ICA0NDQ0NDQINDQgCAggICAgIAgcCDQ0NDQ0NAgIODg4ODg4ODg4OAgIICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIIGxsbFhYWFhYWFhYWFhYWFhYWGxYbGxsNDRsbGxsbGw4ODg4ODg4ODg4QEBAQEBAQEBAQGw0bDRsNFxMXEwsLCAgICAgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAg0NDQ0NDQ0NDQ0NDQ0NCw0NDQ0NFg0NCAgICAgNDQ0NDQ0NDQ0NDQINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0CGxsbGxsbGxsNGxsbGxsbAhsbFhYWFhYbGxsbFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsLDQ0NDQsNDQ0NDQ0LDQ0LCw0NCA4ODg4ODg4ODg4WFhYWFhYICAgICAgLCw0NCAgICA0NDQgLCwsICAsLCwsLCwsICAgNDQ0NCAgICAgICAgICAgICA0LCw0NCwsLCwsLDQgLDg4ODg4ODg4ODgsLCw0bGwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgoCAgICAgoCAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYWBwYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAggICAgCAggICAgICAgCCAIICAgIAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIICAgIAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAICCAgICAgICAIIAggICAgCAggICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NFhYWFhYWFhYWEBAQEBAQEBAQEBAQEBAQEBAQEBACAgIICAgICAgICAgICAgICAgIGxsbGxsbGxsbGwICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgIGBgYGBgYCAhIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhYICAgICAgICAgICAgICAgICB4ICAgICAgICAgICAgICAgICAgICAgICAgICBcTAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhYWDw8PCAgICAgICAgCAgICAgICCAgICAgICAgICAgICAIICAgIDQ0NAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgNDQ0WFgICAgICAgICAggICAgICAgICAgICAgICAgICA0NAgICAgICAgICAgICCAgICAgICAgICAgICAIICAgCDQ0CAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LDQ0NDQ0NDQsLCwsLCwsLDQsLDQ0NDQ0NDQ0NDQ0WFhYHFhYWGAgNAgIODg4ODg4ODg4OAgICAgICEBAQEBAQEBAQEAICAgICAhYWFhYWFhIWFhYWDQ0NAQIODg4ODg4ODg4OAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICCAgICAgNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAg0NDQsLCwsNDQsLCwICAgILCw0LCwsLCwsNDQ0CAgICGwICAhYWDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICCAgICAgCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAggICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICDg4ODg4ODg4ODhACAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbCAgICAgICAgICAgICAgICAgICAgICAgNDQsLDQICFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsNCw0NDQ0NDQ0CDQsNCwsNDQ0NDQ0NDQsLCwsLCw0NDQ0NDQ0NDQ0CAg0ODg4ODg4ODg4OAgICAgICDg4ODg4ODg4ODgICAgICAhYWFhYWFhYHFhYWFhYWAgINDQ0NDQ0NDQ0NDQ0NDQwCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0NDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCw0NDQ0NCw0LCwsLCw0LCwgICAgICAgCAgICDg4ODg4ODg4ODhYWFhYWFhYbGxsbGxsbGxsbDQ0NDQ0NDQ0NGxsbGxsbGxsbAgICDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICw0NDQ0LCw0NCw0NDQgIDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsNDQsLCw0LDQ0NCwsCAgICAgICAhYWFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsLCwsLCw0NDQ0NDQ0NCwsNDQICAhYWFhYWDg4ODg4ODg4ODgICAggICA4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHBwcHBwcWFgYGBgYGBgYGBgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgIKCgoWFhYWFhYWFgICAgICAgICDQ0NFg0NDQ0NDQ0NDQ0NDQ0LDQ0NDQ0NDQgICAgNCAgICAsLDQgICw0NAgICAgICBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGBgYGBgYGBgYGBgYGBwYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQINDQ0NDQoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGBgYGBgoKCgoKCgoKBgYGBgYGAgIKCgoKCgoCAgYGBgYGBgYGCgoKCgoKCgoGBgYGBgYGBgoKCgoKCgoKBgYGBgYGAgIKCgoKCgoCAgYGBgYGBgYGAgoCCgIKAgoGBgYGBgYGBgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYCAgYGBgYGBgYGCQkJCQkJCQkGBgYGBgYGBgkJCQkJCQkJBgYGBgYGBgYJCQkJCQkJCQYGBgYGAgYGCgoKCgkZBhkZGQYGBgIGBgoKCgoJGRkZBgYGBgICBgYKCgoKAhkZGQYGBgYGBgYGCgoKCgoZGRkCAgYGBgIGBgoKCgoJGRkCHh4eHh4eHh4eHh4BAQEBARISEhISEhYWFRQXFRUUFxUWFhYWFhYWFhwdAQEBAQEeFhYWFhYWFhYWFRQWFhYWEREWFhYaFxMWFhYWFhYWFhYWFhoWERYWFhYWFhYWFhYeAQEBAQECAQEBAQEBAQEBARAHAgIQEBAQEBAaGhoXEwcQEBAQEBAQEBAQGhoaFxMCBwcHBwcHBwcHBwcHBwICAhgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAgICAgICAgICAgICAgICAg0NDQ0NDQ0NDQ0NDQ0MDAwMDQwMDA0NDQ0NDQ0NDQ0NDQICAgICAgICAgICAgICAhsbChsbGxsKGxsGCgoKBgYKCgoGGwobGxoKCgoKChsbGxsbGwobChsKGwoKCgobBgoKCgoGCAgICAYbGwYGCgoaGhoaGgoGBgYGGxobGwYbEBAQEBAQEBAQEBAQEBAQEA8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PCgYPDw8PEBsbAgICAhoaGhoaGxsbGxsaGhsbGxsaGxsaGxsaGxsbGxsbGxobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhobGxobGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsXExcTGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhsbGxsbGxsXExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGxsbGxsbGxsbGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFxMXExcTFxMXExcTFxMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaFxMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMXExcTFxMXExoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoXExcTFxMXExcTFxMXExcTFxMXExcTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMXExoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMaGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhoaGhoaGhoaGhoaGhoaGhsbGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgIKBgoKCgYGCgYKBgoGCgoKCgYKBgYKBgYGBgYGBwcKCgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGGxsbGxsbCgYKBg0NDQoGAgICAgIWFhYWEBYWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCBgICAgICBgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICBxYCAgICAgICAgICAgICAg0ICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAggICAgICAgCCAgICAgICAIICAgICAgIAggICAgICAgCCAgICAgICAIICAgICAgIAggICAgICAgCCAgICAgICAINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDRYWFRQVFBYWFhUUFhUUFhYWFhYWFhYWEhYWEhYVFBYWFRQXExcTFxMXExYWFhYWBxYWFhYWFhYWFhYSEhYWFhYSFhcWFhYWFhYWFhYWFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsCAgICHhYWFhsHCA8XExcTFxMXExcTGxsXExcTFxMXExIXExMbDw8PDw8PDw8PDQ0NDQsLEgcHBwcHGxsPDw8HCBYbGwIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0ZGQcHCBIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWBwcHCAICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAhsbEBAQEBsbGxsbGxsbGxsICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAggICAgICAgICAgICAgICAgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAhAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsQEBAQEBAQEBsQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHBwcHBwcWFggICAgICAgICAgICAcWFhYICAgICAgICAgICAgICAgIDg4ODg4ODg4ODggIAgICAgICAgICAgICAgICAgICAgIKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCA0MDAwWDQ0NDQ0NDQ0NDRYHCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgcHDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8PDw8PDw8PDw0NFhYWFhYWAgICAgICAgIZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQcHBwcHBwcHBxkZCgYKBgoGCgYKBgoGCgYGBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGBwYGBgYGBgYGCgYKBgoKBgoGCgYKBgoGBxkZCgYKBggKBgoGBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoKCgoKBgoKCgoKBgoGCgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAcHBggICAgICAgNCAgIDQgICAgNCAgICAgICAgICAgICAgICAgICAgICAgLCw0NCxsbGxsCAgICEBAQEBAQGxsYGwICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWFhYWAgICAgICAgILCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwsLCwsLCwsLCwsLCwsLCw0NAgICAgICAgIWFg4ODg4ODg4ODg4CAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ICAgICAgWFhYIFggIDQ4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0WFggICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0NDQ0LCwICAgICAgICAgICFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICDQ0NCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsLDQ0NDQsLDQsLCwsWFhYWFhYWFhYWFhYWAgcODg4ODg4ODg4OAgICAhYWCAgICAgNBwgICAgICAgICA4ODg4ODg4ODg4ICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQsLDQ0LCw0NAgICAgICAgICCAgIDQgICAgICAgIDQsCAg4ODg4ODg4ODg4CAhYWFhYICAgICAgICAgICAgICAgIBwgICAgICBsbGwgLDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0IDQ0NCAgNDQgICAgIDQ0IDQgCAgICAgICAgICAgICAgICAgICAgICAgIICAcWFggICAgICAgICAgICw0NCwsWFggHBwsNAgICAgICAgICAggICAgICAICCAgICAgIAgIICAgICAgCAgICAgICAgIICAgICAgIAggICAgICAgCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhkHBwcHBgYGBgYGAgICAgICAgICAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCw0LCw0LCxYLDQICDg4ODg4ODg4ODgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgCAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBgYGBgYCAgICAgICAgICAgIGBgYGBgICAgICCA0ICAgICAgICAgIGggICAgICAgICAgICAgCCAgICAgCCAIICAIICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGRkZGRkZGRkZGRkZGRkZAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMXAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgYGwICDQ0NDQ0NDQ0NDQ0NDQ0NDRYWFhYWFhYXExYCAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0NFhISEREXExcTFxMXExcTFxMXExcTFhYXExYWFhYREREWFhYCFhYWFhIXExcTFxMWFhYaEhoaGgIWGBYWAgICAggICAgIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAQIWFhYYFhYWFxMWGhYSFhYODg4ODg4ODg4OFhYaGhoWFgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKFxYTGREZBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYXGhMaFxMWFxMWFggICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBwcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICCAgICAgIAgIICAgICAgCAggICAgICAICCAgIAgICGBgaGRsYGAIbGhoaGhsbAgICAgICAgICAgEBARsbAgIICAgICAgICAgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAgICAgICAgICAgICAIICAIICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICFhYWAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAhsbGxsbGxsbGw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PEBAQEBsbGxsbGxsbGxsbGxsbGxsbEBAbGxsCGxsbGxsbGxsbGxsbAgICAhsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGw0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICDRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQEBACAgICAgICAgIICAgICAgICAgICAgICAgICAgICA8ICAgICAgICA8CAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0CAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAggICAgICAgIFg8PDw8PAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAg4ODg4ODg4ODg4CAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCAgICBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgIICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgIAgIIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAggIAgICCAICCAgICAgICAgICAgICAgICAgICAgICAgCFhAQEBAQEBAQCAgICAgICAgICAgICAgICAgICAgICAgbGxAQEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgIQEBAQEBAQEBACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgIAggIAgICAgIQEBAQEAgICAgICAgICAgICAgICAgICAgICAgQEBAQEBACAgIWCAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICEBAICBAQEBAQEBAQEBAQEBAQEBACAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIDQ0NAg0NAgICAgINDQ0NCAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAg0NDQICAgINEBAQEBAQEBAQAgICAgICAhYWFhYWFhYWFgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBAQAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0CAgICEBAQEBAWFhYWFhYWAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICFhYWFhYWFggICAgICAgICAgICAgICAgICAgICAgCAhAQEBAQEBAQCAgICAgICAgICAgICAgICAgICAICAgICEBAQEBAQEBAICAgICAgICAgICAgICAgICAgCAgICAgICFhYWFgICAgICAgICAgICAhAQEBAQEBACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgICAgICAgICAgICAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICAgICAgIQEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQ0NAgICAgICAgIODg4ODg4ODg4OAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBAQEBAQEBAQEAgCAgICAgICAggICAgICAgICAgICAgICAgICAgICAgNDQ0NDQ0NDQ0NDRAQEBAWFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgILDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQ0NDQ0NDRYWFhYWFhYCAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAODg4ODg4ODg4OAgICAgICAgICAgICAgICDQ0NCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsLCw0NDQ0LCw0NFhYBFhYWFgICAgICAgICAgICAQICCAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgIODg4ODg4ODg4OAgICAgICDQ0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0LDQ0NDQ0NDQ0CDg4ODg4ODg4ODhYWFhYICwsCAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0WFggCAgICAgICAgINDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQ0LCwgICAgWFhYWDQ0NDRYCAg4ODg4ODg4ODg4IFggWFhYCEBAQEBAQEBAQEBAQEBAQEBAQEBACAgICAgICAgICAggICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICwsLDQ0NCwsNCw0NFhYWFhYWDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAIIAggICAgCCAgICAgICAgICAgICAgIAggICAgICAgICAgWAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwsLDQ0NDQ0NDQ0CAgICAg4ODg4ODg4ODg4CAgICAgINDQsLAggICAgICAgIAgIICAICCAgICAgICAgICAgICAgICAgICAgICAIICAgICAgIAggIAggICAgIAg0NCAsLDQsLCwsCAgsLAgILCwsCAggCAgICAgILAgICAgIICAgICAsLAgINDQ0NDQ0NAgICDQ0NDQ0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQsLDQ0NCw0ICAgIFhYWFhYODg4ODg4ODg4OAhYCFg0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0LDQsLCwsNDQsNDQgIFggCAgICAgICAg4ODg4ODg4ODg4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NAgILCwsLDQ0LDQ0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFggICAgNDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQsLDQsNDRYWFggCAgICAgICAgICAg4ODg4ODg4ODg4CAgICAgIWFhYWFhYWFhYWFhYWAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCw0LCw0NDQ0NDQsNAgICAgICAgIODg4ODg4ODg4OAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgIAgINDQ0LCw0NDQ0LDQ0NDQ0CAgICDg4ODg4ODg4ODhAQFhYWGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwsLDQ0NDQ0NDQ0NCw0NFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGDg4ODg4ODg4ODhAQEBAQEBAQEAICAgICAgICAgICAggCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCA0NDQ0NDQ0NDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NCwgNDQ0NFhYWFhYWFhYNAgICAgICAgIIDQ0NDQ0NCwsNDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgIICAgIDQ0NDQ0NDQ0NDQ0NDQsNDRYWFggWFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAggICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICw0NDQ0NDQ0CDQ0NDQ0NCw0IFhYWFhYCAgICAgICAgICDg4ODg4ODg4ODhAQEBAQEBAQEBAQEBAQEBAQEBACAgIWFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQILDQ0NDQ0NDQsNDQsNDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgIAggIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NAgICDQINDQINDQ0NDQ0NCA0CAgICAgICAg4ODg4ODg4ODg4CAgICAgIICAgICAgCCAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsLCwINDQILCw0LDQgCAgICAgICDg4ODg4ODg4ODgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgIDQ0LCxYWAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8CFhYWFhYCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCDg4ODg4ODg4ODgICAgIWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NDQ0WAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0WFhYWFhsbGxsHBwcHFhsCAgICAgICAgICDg4ODg4ODg4ODgIQEBAQEBAQAggICAgICAgICAgICAgICAgICAgICAICAgICCAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgIICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwICAgICAgICAgICAgICAgINDQ0NBwcHBwcHBwcHBwcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICCAgICAgICAgICAgICAICAggICAgICAgICAICAgICAgIICAgICAgICAgIAgIbDQ0WAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbCwsNDQ0bGxsLCwsLCwsBAQEBAQEBAQ0NDQ0NDQ0NGxsNDQ0NDQ0NGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbDQ0NDRsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsNDQ0bAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYCBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoCCgoCAgoCAgoKAgIKCgoKAgoKCgoKCgoKBgYGBgIGAgYGBgYGBgYCBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoCCgoKCgICCgoKCgoKCgoCCgoKCgoKCgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKAgoKCgoCCgoKCgoCCgICAgoKCgoKCgoCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhoGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKGgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYaBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhoGBgYGBgYKBgICDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NGxsbGw0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NGxsbGxsbGxsNGxsbGxsbGxsbGxsbGxsNGxsWFhYWFgICAgICAgICAgICAgICAg0NDQ0NAg0NDQ0NDQ0NDQ0NDQ0NDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQ0NDQ0NDQINDQ0NDQ0NDQ0NDQ0NDQ0NDQICDQ0NDQ0NDQINDQINDQ0NDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgIQEBAQEBAQEBANDQ0NDQ0NAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg0NDQ0NDQ0CAgICAg4ODg4ODg4ODg4CAgICFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBsQEBAYEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgIAggIAggCAggCCAgICAgICAgICAIICAgIAggCCAICAgICAggCAgICCAIIAggCCAgIAggIAggCAggCCAIIAggCCAIICAIIAgIICAgIAggICAgICAgCCAgICAIICAgIAggCCAgICAgICAgICAIICAgICAgICAgICAgICAgICAICAgICCAgIAggICAgIAggICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhoaAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbAgIbGxsbGxsbGxsbGxsbGxsCGxsbGxsbGxsbGxsbGxsbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICEBAQEBAQEBAQEBAQEAICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgIbGxsbGxsbGxsCAgICAgICGxsCAgICAgICAgICAgICAhsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxkZGRkZGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgIbGxsbGxsbGxsbGxsbAgICGxsbGxsbGxsbGwICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsCAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAhsbGxsbGxsbGxsCAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAhsbGxsCAgIbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgIbGxsbGxsbGxsbAgICAgICGxsbAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NAgICAgICAgICAgICAgICAoAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIA="),C(
2810o,81428,"ggAAAAAAAAIAAAAAAAAAAgAAAAAAAAAC"),C(o,81475,"AgAAAAAAACAAAAAAAAAAIA=="),C(o,81506,"IA=="),C(o,81522,"IAAAAAAAAAAg"),C(o,81618,"IA=="),C(o,81634,"IA=="),C(o,81650,"IAAAAAAAAAAg"),C(o,81682,"IAAAAAAAAAAgAAAAAAAAACAAAAAAAIAAAAAAAAAAgA=="),C(o,81728,"gAAAAAAAAACAAAAAAAAAAIA="),C(o,81760,"gAAAAAAAAACA"),C(o,81904,"gAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAU"),C(o,81961,"FAAAAAAAAAAU"),C(o,81985,"FAAAAAAAAAAE"),C(o,82009,"BAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA="),C(o,82097,"EAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA="),C(o,82169,"EAAAAAAAAAAQAAAAAAAAABAAAAAAAACA"),C(o,82224,"gAAAAAAAAACA"),C(o,82272,"gAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,82353,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,82393,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAABAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,82625,"BAAAAAAAAAAE"),C(o,82649,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,83033,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,83097,"BAAAAAAAAAAE"),C(o,83121,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAQAAAEAAAAAFAAAAQAAAAgEAAABAAAAAQQAAAAAAAACBAAAAAAAAAgEAAAAAAAAAAQAAAAAAAAABAAAAQAAAAgEAAAAAAAAAQQAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAQA=="),C(o,83288,"QA=="),C(o,83303,"AkAAAAAAAAAQQAAAEAAAAIBAAAAAAAAACEA="),C(o,83352,"QAAAAAAAABBAAAAQAAAAgAAg"),C(o,83379,"gAAAAABAAACQggAAIEAAAJAAAAAAAAAAgAAAAABAAACQggAAIEAAAJCCAAAgAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAQAAAkIIAACBAAACQggAAIEAAAJCCAAAgQAAAkAAAAEBAAACQAAAAYEAAAJCCAABgQAAAkIIAACBAAACQggAAIEAAAJCCAAAgQAAAkIIAACBAAACQggAAIAAAAIAAAAAEAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAEAAAAAAAAACAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAkAAAAAAAAAQQAAAEAAAAIBAAAAAAAAABEAAAAAAAAAIAAAAgIIAAAAAAACAgAAAAAAAAIAAAAAAAAAAgIYAAAAAAACAhgAAAAAAAICAAAAAAAAAgIAAAAAAAACAggAAAAAAAICAAAAAAAAAgIAAAAAAAACAgAAAAAAAAICAAAAAAAAAgJIAAACAAACAggAAAIAAAICCAAAAAAAAgIIAAAAAAACAggAAAIAAAICCAAAAAAAAgIIAAAAAAACAggAAAAAAAICAAAAAAAAAgIAAAAAAAACAggAAAAAAAICGAAAAAAAAgIIAAAAAAACAhgAAAAAAAICCAAAAAAAAgIIAAAAAAACAggAAAAAAAICCAAAAAAAAgIAAAAAAAACAggAAAAAAAICAAAAAAAAAgIIAAAAAAACAggAAAAAAAICCAAAAAAAAgIAAAAAAAACAggAAAAAAAICGAAAAAAAAgJIAAAAAAACAhgAAAAAAAICAAAAAAAAAgIAAAAAAAACAhg=="),C(o
vendor: 13,201 bytes, line 2810
2810,83999,"IAAAAACCAAAgAAAAAIIAAAAAAAAAggAAAAAAAACGAAAAAAAAAIIAAAAAAAAAggAAAAAAAACCAAAAaW5maW5pdHkALSsgICAwWDB4AHN0ZDo6YmFkX2Nhc3QAJXMlYyVzX2RpY3QAJXMlYyVzJWMlcyVzACVzJWNzb3VuZGljb25zJWMlcwBDb21waWxlIGVycm9yAHN0ZDo6ZXhjZXB0aW9uAHRlcm1pbmF0aW5nAF8wbGFuZwB1bmV4cGVjdGVkX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkACVkICVkICVkICVkICVkICVkICVkICVkICVkICVkACVzJWMlYwByYgBwaG9udGFiAHJ3YQBYWFhYWFgAR01UAExDX0FMTABFU1BFQUtfREFUQV9QQVRIAEMAQU5TSV9YMy40LTE5NjgAMy4xLjMwACEtLQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQAlcwoAZXNwZWFrOiBCYWQgaW50b25hdGlvbiBkYXRhCgAAAQIEBwMGBQAAAABAAAAAAAAAAHBob25pbmRleAAlcyVjJWMlcwAgJXMAc3RkOjpiYWRfZXhjZXB0aW9uAEVtc2NyaXB0ZW4AbmFuAD94bWwAJXMvLi4vcGhzb3VyY2UAc3RkOjpiYWRfdHlwZWlkAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZAAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAByYgBXcm9uZyB2ZXJzaW9uIG9mIGVzcGVhay1uZy1kYXRhAEkATEFORwBIT01FAEFOU0lfWDMuNC0xOTg2AChudWxsKQBGYWlsZWQgdG8gb3BlbjogJyVzJwBEZWxldGVkIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBudW1iZXJzOiBCYWQgb3B0aW9uIG51bWJlciAlZAoAX2NhcABlbXNjcmlwdGVuAFRoZSBGSUZPIGJ1ZmZlciBpcyBmdWxsAGVzcGVhawAlZCAlZCAlZABzdGQ6OmJhZF9hbGxvYwAlYyVzJWMlcyVjAHBob25kYXRhAC91c3Ivc2hhcmUvZXNwZWFrLW5nLWRhdGEAL3RtcC9lc3BlYWtYWFhYWFgATABQU0FSSFRJVllNVUJGAEFTTU8tNzA4AEMuVVRGLTgAICgAJXM6IEJhZCBvcHRpb24gbnVtYmVyICVkCgBVbnN1cHBvcnRlZCBzcGVjdHJhbCBmaWxlIGZvcm1hdC4KAENhbid0IHJlYWQgZGljdGlvbmFyeSBmaWxlOiAnJXMnCgAtMFgrMFggMFgtMHgrMHggMHgAaW50b25hdGlvbnMAcGhvbmVtZXMAJXMgJXMgJXMgJXMgJXMgJXMAZW4AYmFkX2FycmF5X25ld19sZW5ndGgAbm9uZQBUaGUgZXNwZWFrLW5nIGxpYnJhcnkgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkACVjJWQAUE9TSVgATQBDLlVURi04AEVDTUEtMTE0ACMxAEVtcHR5IF9kaWN0IGZpbGU6ICclcwoAUmVwbGFjZTogJXMgPiAlcwoAICBzdWZmaXggWyVzXQoKACVzL3Bob25lbWVzACVzJXMlcwBicABhbGwAaW5mAENhbm5vdCBpbml0aWFsaXplIHRoZSBhdWRpbyBkZXZpY2UAJXMlY3ZvaWNlcyVjAE4ATlVMTABFQ01BLTExOABVVEYtOAB3YXNtMzIAZXNwZWFrOiBObyBlbnZlbG9wZQoAQmFkIGRhdGE6ICclcycgKCV4IGxlbmd0aD0leCkKAFRoZSBzcGVjaWZpZWQgZXNwZWFrLW5nIHZvaWNlIGRvZXMgbm90IGV4aXN0ACVzJXMAJXMlYyVzAF9jYXAAYmhmAHNvbWUAWwIlc11dAFAASU5GAEVMT1RfOTI4AGVuX1VTLlVURi04AF8jJWQgAENvbXBpbGluZyBwaG9uZW1lIGRhdGE6ICVzCgBGdWxsIGRpY3Rpb25hcnkgaXMgbm90IGluc3RhbGxlZCBmb3IgJyVzJwoAVW5rbm93biB0dW5lICclcycKACU1ZDoJAGR0AG5vAGVuAG5hbgBfcm9tYW4AQ291bGQgbm90IGxvYWQgdGhlIG1icm9sYS5kbGwgZmlsZQAlZCAlZAAlcyVjbGFuZyVjAHJiAFsCX15fJXMgJXMgX15fJXNdXQBTAF8/QQBJQk0zNjcAPyVkIAAlcyVjJXMAJXMvJXMAcgBpY29uAGVuAENvdWxkIG5vdCBsb2FkIHRoZSBzcGVjaWZpZWQgbWJyb2xhIHZvaWNlIGZpbGUAZ2MAWgBOQU4AXz8/ADxzYXktYXMgaW50ZXJwcmV0LWFzPSJ0dHM6Y2hhciI+JiMlZDs8L3NheS1hcz4ASUJNODE5ACogACAgJWQgJXMgICAgAEludmFsaWQgaW5zdHJ1Y3Rpb24gJS40eCBmb3IgcGhvbmVtZSAnJXMnCgAAcGhvbmRhdGEtbWFuaWZlc3QAVGhlIGV2ZW50IGJ1ZmZlciBpcyBmdWxsAHNwZWxsaW5nAF9saWcAY29uZmlnACVzL2VzcGVhay1uZy1kYXRhACVzJXNfAElTQ0lJAGhBAGwnZXRAAC4ALQAoJXMpAAElZEkgACV4AHcAJXNydWxlcy50eHQAKyVzAHIAXy5wAHBpdGNoAFRoZSByZXF1ZXN0ZWQgZnVuY3Rpb25hbGl0eSBoYXMgbm90IGJlZW4gYnVpbHQgaW50byBlc3BlYWstbmcAX3NtYwBDYwBtYgBJU09fNjQ2LmlydjoxOTkxAHYgPD0gdm93ZWxfY291bnQAVGhlIHBob25lbWUgZmlsZSBpcyBub3QgaW4gYSBzdXBwb3J0ZWQgZm9ybWF0AGNoYXJhY3RlcnMAJWMlcyVzJXMAICVzAF90dXIAZW4AQ2YAbmQAJXMgJWQASVNPXzg4NTktMQAjIFRoaXMgZmlsZSBsaXN0cyB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgaGFzIGJlZW4gY29tcGlsZWQgaW50byB0aGUKIyBwaG9uZGF0YSBmaWxlCiMKIyBUaGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgbGluZSBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZGF0YToKIyAgIFMgLSBBIFNQRUNUX1NFUSBzdHJ1Y3R1cmUKIyAgIFcgLSBBIHdhdmVmaWxlIHNlZ21lbnQKIyAgIEUgLSBBbiBlbnZlbG9wZQojCiMgQWRkcmVzcyBpcyB0aGUgZGlzcGxhY2VtZW50IHdpdGhpbiBwaG9uZGF0YSBvZiB0aGlzIGl0ZW0KIwojICBBZGRyZXNzICBEYXRhIGZpbGUKIyAgLS0tLS0tLSAgLS0tLS0tLS0tCgBfcmV2AHZhcmlhbnQAJXNydWxlcwB0dHM6Y2hhcgBzb3VuZGljb24AQ24AX2VsAG5nAHNyYy9saWJlc3BlYWstbmcvZGljdGlvbmFyeS5jAF9zdWIAcGhvbmRhdGEAVGhlIHNwZWN0cmFsIGZpbGUgZG9lcyBub3QgY29udGFpbiBhbnkgZnJhbWUgZGF0YQABKzEwUwBJU09fODg1OS0xOjE5ODcAdHRzOmtleQAlcyVjJXNfZGljdAB0cwBUaGUgcGhvbmVtZSBtYW5pZmVzdCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYW55IHBob25lbWVzAF8lYyAlcwBfY3lyAF9zdXAAQ28AX2NybAB3YgAgAS0xMFMASVNPXzg4NTktMgAtAFVucHJvbm91bmNhYmxlPyAnJXMnCgBfaHkAcGhvbmluZGV4AF9hY3UAdHRzOmRpZ2l0cwBDcwAgJXMgJWQgJXMAJ2U6agBhcG9zdHJvcGhlAFRoZSBwaG9uZW1lIGZlYXR1cmUgaXMgbm90IHJlY29nbmlzZWQAdEEASVNPXzg4NTktMjoxOTg3AHdiKwBUcmFuc2xhdGUgJyVzJwoAX2JydgBicmFja2V0cwAlY2VuAElpAHRlbGVwaG9uZQBfaGUAVGhlIHRleHQgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRlZAAlZCAlZABwaG9udGFiAFsCKFgxKShYMSkoWDEpXV0AbkEAYidpOgBJU09fODg1OS0zAFVzaW5nIHBob25lbWV0YWJsZTogJyVzJwoAVW5zcGVjaWZpZWQgZXJyb3IgMHgleAByb290cwBnbHlwaHMAJWMlcwBfYXIATGwAJXMvY29tcGlsZV9wcm9nX2xvZwBicmFja2V0c0Fubm91bmNlZAAlZABfaGFjAF9eXwBzJ2k6AElTT184ODU5LTM6MTk4OABsaXN0AGRpY3RfbWluAGVuAExtAHgtd2VhawBiYXNlAF9jZWQAX3N5YwBkJ2k6AElTT184ODU5LTQAQmFkIHZvaWNlIGF0dHJpYnV0ZTogJXMKAEVycm9yIHByb2Nlc3NpbmcgZmlsZSAnJXMnOiAlcy4KAGxpc3R4AGRpY3RydWxlcwBfY2lyAExvAHdlYWsAX2hpACdpOgBJU09fODg1OS00OjE5ODgAJXMgAEludmFsaWQgcGhvbmVtZSBjb2RlICVkCgAKUmVmcyAlZCwgIFJldXNlZCAlZAoARXJyb3I6ICVzIGF0ICclcycgKGV4cGVjdGVkIDB4JXgsIGdvdCAweCV4KS4KAFVua25vd24gcGhvbmVtZSB0YWJsZTogJyVzJwoATHQAJWMlcwBpbnRvbmF0aW9uAF9ibgBtZWRpdW0AZW1vamkAJ2VmAF9kaWEASVNPXzg4NTktNQBSZXBsYWNlOiAlcyAgJXMKAENvbXBpbGVkIHBob25lbWVzOiAlZCBlcnJvcnMuCgBFcnJvcjogJXMuCgBoc3gATHUAJXMvLi4vcGhzb3VyY2UvaW50b25hdGlvbi50eHQAbF9kaWVyZXNpcwAlcyslcwBfZ3VyAGlvbgBzdHJvbmcAZXh0cmEASVNPXzg4NTktNToxOTg4AF9hYzIAbF9wcmVmaXgAX2d1AF9kb3QAJXMlY3ZvaWNlcwByAHgtc3Ryb25nAE1jAElTT184ODU5LTYAQ29tcGlsaW5nOiAnJXMnCgBfZ3J2AGxfcmVncmVzc2l2ZV92AHJzAF9vcgAlcy8uLi9waHNvdXJjZS9pbnRvbmF0aW9uACVzJWNsYW5nAE1lAHJlZHVjZWQASVNPXzg4NTktNjoxOTg3ACQxAGlyAF9tY24ATW4AbW9kZXJhdGUAdHVuZQBsX3VucHJvbm91bmNhYmxlAF90YQBJU09fODg1OS03ACQyAG1iLwAlcy9pbnRvbmF0aW9ucwB1cgBfb2dvAGxfc29ub3JhbnRfbWluAHJhdGUAX3RlAE5kAElTT184ODU5LTc6MTk4NwAkMwAvLwBfa24ATmwAYXRoAF9ybmcAdm9sdW1lAGFwb3N0cm9waGUAbG93ZXJjYXNlU2VudGVuY2UASVNPXzg4NTktOAAkNABEdXBsaWNhdGUgdHVuZSBuYW1lOiAnJXMnAGJyYWNrZXRzAG51bWJlcnMAbnMATm8AX21sAF9zdGsAcmFuZ2UAQmFkIHR1bmUgbmFtZTogJyVzOwBJU09fODg1OS04OjE5ODgAJDUAc3BlbGxpbmdTdHJlc3MAX3NpAF90bGQAZmllbGQAYnJhY2tldHNBbm5vdW5jZWQAUGMASVNPXzg4NTktOQAkNgBCYWQgZW52ZWxvcGUgbmFtZTogJyVzJwBfYmFyAGRpY3RfbWluAF90aABzcG9uZwBtb2RlAFR1bmUgJyVzJyBub3QgZm91bmQAc3RyZXNzQWRkAFBkAElTT184ODU5LTk6MTk4OQAkNwBfcmZ4ACR1AGRpY3RydWxlcwBzdHJlc3NBbXAAX2xvAHB1bmN0dWF0aW9uAHJhbmcAUGUASVNPXzg4NTktMTAAVW5leHBlY3RlZDogJyVzJwBjYXBpdGFsX2xldHRlcnMAaW50b25hdGlvbgBfaG9rAF90aQBzdHJlc3NMZW5ndGgAbGFyZwBQZgBUdW5lICclcycgbm90IGRlZmluZWQASVNPXzg4NTktMTA6MTk5MgAkdTEAX215AHN0cmVzc09wdABsX2RpZXJlc2lzAF8jJXMAbGV2ZWwAUGkASVNPXzg4NTktMTQAJHUyAGFkZCBlCgBDb21waWxlZCAlZCBpbnRvbmF0aW9uIHR1bmVzOiAlZCBlcnJvcnMuCgBsX3ByZWZpeABhbHBoYWJldABUb28gbWFueSBwaG9uZW1ldGFibGVzAF94IyVzAFBvAHN0cmVzc1J1bGUAX2thAElTT184ODU5LTE0OjE5OTgAJHUzAE91dCBvZiBtZW1vcnkAbF9yZWdyZXNzaXZlX3YAdHVuZXMAUHMAX2tvAHBoAElTT184ODU5LTE1AF8wACR1KwBfZHB0AHdvcmRzAGludGVycHJldC1hcwBfZXRoAGxfdW5wcm9ub3VuY2FibGUAU2MAXwBJU09fODg1OS0xNgAkdTErAEJhZCBydWxlcyBkYXRhIGluICclc19kaWN0JyBhdCAweCV4ICglYykKAGZvcm1hdABsX3Nvbm9yYW50X21pbgBTawBfYnJhaWxsZQBfME0lZABJU09fODg1OS0xNjoyMDAxACR1MisAQ2FuJ3QgZmluZCBiYXNlIHBob25lbWV0YWJsZSAnJXMnACUzZAklcyBbJXNdCgBDYW5ub3Qgc2V0ICVzOiBsYW5ndWFnZSBub3Qgc2V0LCBvciBpcyBpbnZhbGlkLgoAU20AZGV0YWlsAGxvd2VyY2FzZVNlbnRlbmNlAF9qYQBJU082NDYtVVMAXy4AJHUzKwBfAQBudW1iZXJzAFNvAF8lZG4AX3poACRwYXVzZQAlYyVkWQBwaG9uZW1lX2xlbiA8IE5fUEhPTkVNRV9CWVRFUwBJU08tMTA2NDYtVUNTLTIAJQBzcGVsbGluZ1N0cmVzcwBhbGlhcwBabAAkc3RyZW5kAElTTy04ODU5LTEAJSUARmxhZ3M6ICAlcyAgJXMKACVzJXMlYyVzJXMAWnAAbmFtZQBzdHJlc3NBZGQAJHN0cmVuZDIASVNPLTg4NTktMgAsAEZvdW5kOiAnJXMgJXMKAFpzACVzJXMlcyVjJXMARm91bmQ6ICclcwBzdHJlc3NBbXAAJHVuc3RyZXNzZW5kACVjJWRNAElTTy04ODU5LTMALCwAc3RyZXNzTGVuZ3RoACRhY2NlbnRfYmVmb3JlAF8wWiVkAHNyYwBJU08tODg1OS00AC0tACcAJyBbJXNdICAlcwoAJGFiYnJldgBzdHJlc3NPcHQAJXMvJXMAQWRsbQBfJWNkAElTTy04ODU5LTUAJycAJWMlcwBBZmFrAHN0cmVzc1J1bGUAJGRvdWJsZQAlYyVkSQA9AElTTy04ODU5LTYAJGFsdAB0dW5lcwBBZ2hiACVjJWRVAF86AElTTy04ODU5LTcAX2RwdDIA2Y4gINmPICDZkAB3b3JkcwBfJWRNJWRvAEFob20Ac3RyZW5ndGgASVNPLTg4NTktOAAkYWx0MQBfIQDYpyDZiCDZigBuYW1lAF8lZE0lZGUAQXJhYgAlYyVkQgA6AElTTy04ODU5LTkAJGFsdDIA2Kgg2b4g2Kog2Kkg2Ksg2Kwg2K0g2K4g2K8g2LAg2LEg2LIg2LMg2LQg2LUg2LYg2Lcg2Lgg2Lkg2Log2YEg2YIg2YMg2YQg2YUg2YYg2KYg2KQg2KEg2KMg2KIg2KUg2YcAXyVkTSVkeABBcm1pAHRpbWUAbGFuZ3VhZ2UAQAAkYWx0MwBJU08tODg1OS0xMADYtSDYtiDYtyDYuABnZW5kZXIAQXJtbgB4bWw6YmFzZQBfJWRNJWQAJGFsdDQASVNPLTg4NTktMTEAQC0AfHwAJXgAQXZzdAB2YXJpYW50cwBfMG9mACRhbHQ1AElTTy04ODU5LTEzACDZkSAAZm9ybWFudABfJXMlZG8AQmFsaQAlZAAkYWx0NgBJU08tODg1OS0xNAAxAEJhbXUAc3BlYWsAcGl0Y2gAXyVzJWRlACRhbHQ3AElTTy04ODU5LTE1ACNYMQBfJXMlZHgAQmFzcwBwaG9uZW1lcwAkY29tYmluZQB2b2ljZQA/AElTTy04ODU5LTE2AGRpY3Rpb25hcnkAcHJvc29keQAkZG90AEJhdGsAXyVzJWQAS09JOC1SAC0AJGhhc2RvdABzYXktYXMAQmVuZwByZXBsYWNlAF9eXwBMYXRpbi05AF8wTTIAQmhrcwBlY2hvAG1hcmsAJG1heDMAX1gxAF8lZE0xAFRJUy02MjAAX3wAQmxpcwBmbHV0dGVyACRicmsAVVMtQVNDSUkAXzBNMQAkdGV4dAByb3VnaG5lc3MAJXMlcwBwAEJvcG8AXzo6AFVURi04AGNsYXJpdHkAQnJhaAAkdmVyYmYAcGhvbmVtZQAxTUEAY3AzNjcAdCMAQnJhaQAkdmVyYnNmAHRvbmUAc3ViADBNQQBjcDgxOQAnIQBCdWdpAHZvaWNpbmcAJG5vdW5mAHR0czpzdHlsZQBfO18AY3NBU0NJSQAwTUIAYXVkaW8AYnJlYXRoACRwYXN0ZgBCdWhkADFNACNAAGNzSVNPODg1OTEzAGJyZWF0aHcAZW1waGFzaXMAQ2FrbQAkdmVyYgAjYQAwTQBjc0lTTzg4NTkxNABDYW5zAF8wQ28AJG5vdW4AYnJlYWsAI2UAbWJyb2xhAGNzSVNPODg1OTE1ACRwYXN0AGNvbnNvbmFudHMAQ2FyaQAjaQBtZXRhZGF0YQBjc0lTTzg4NTkxNgBfMEMwAGtsYXR0AGJyACNvAENoYW0AJHZlcmJleHRlbmQAXzBDAGNzSVNPTGF0aW4xACN1AENoZXIAJGNhcGl0YWwAbGkAJXMlYyVzJWMAZmFzdF90ZXN0MgBjc0lTT0xhdGluMgBDaXJ0ACRhbGxjYXBzAE1pc3NpbmcgZmlsZTogJXMAXzBhbmQAc3BlZWQAZGQAY3NJU09MYXRpbjMAQ29wdAAkYWNjZW50AG1haW50YWluZXIAXyVkQ28AcGhvbmVtZXRhYmxlIGlzIG1pc3NpbmcAaW1nAGNzSVNPTGF0aW40AENwcnQAc3RhdHVzACRzZW50ZW5jZQB0ZABLZXl3b3JkICdwaG9uZW1lJyBleHBlY3RlZABjc0lTT0xhdGluNQBfJWRDMAAkb25seQBUb28gbWFueSBwcm9jZWR1cmVzAEN5cmwAbWFsZQBfJWRDAGNzSVNPTGF0aW42AGgxACRvbmx5cwBDeXJzACVzJXMlcyVzAGZlbWFsZQBjc0lTT0xhdGluQXJhYmljACUuM2RQAGgyACVzJXMlYyVzACRzdGVtAE1pc3NpbmcgJ2VuZHBob25lbWUnIGJlZm9yZSBlbmQtb2YtZmlsZQAlZCAlZCAlZCAlZCAlZABjc0lTT0xhdGluQ3lyaWxsaWMARGV2YQBoMwBfJWRmeABNb3JlIHRoYW4gb25lIHBob25lbWUgdHlwZTogJXMARG9ncgBjc0lTT0xhdGluR3JlZWsAJGF0ZW5kAE5VTEwAaDQAY3NJU09MYXRpbkhlYnJldwBEc3J0ACRhdHN0YXJ0ACVkICVzICVzAGhyAF8lZGYATlVMTABfJWQlY3gAc2NyaXB0AER1cGwAJG5hdGl2ZQAhdiVjAGNzS09JOFIAJXgAc3R5bGUARWd5ZAAlc20lZABfJWQlYwAkPwBjc1RJUzYyMABmb250AEVneWgAYSBwaG9uZW1lIHR5cGUgb3IgbWFubmVyIG9mIGFydGljdWxhdGlvbiBtdXN0IGJlIHNwZWNpZmllZCBiZWZvcmUgc3RhcnR0eXBlACR0ZXh0bW9kZQBfJWRlACVzZiVkAGNzVVRGOAAlcy92b2ljZXMvJXMARWd5cABfJWRvAGEgcGhvbmVtZSB0eXBlIG9yIG1hbm5lciBvZiBhcnRpY3VsYXRpb24gbXVzdCBiZSBzcGVjaWZpZWQgYmVmb3JlIGVuZHR5cGUAJHBob25lbWVtb2RlAGNzVW5pY29kZQBiAGVuZHR5cGUgbXVzdCBlcXVhbCBzdGFydHR5cGUgZm9yIGNvbnNvbmFudHMAdW5wcgBhbGwAaQBhcmFiaWMAXyVkYQBFbGJhAG5vcHJlZml4AHZvaWNpbmdzd2l0Y2ggY2Fubm90IGJlIHVzZWQgb24gdm93ZWxzAGVtAEV0aGkAXyVkAGN5cmlsbGljAHN0cmVzcyBwaG9uZW1lcyBjYW4ndCBjb250YWluIHByb2dyYW0gaW5zdHJ1Y3Rpb25zAEdlb2sAZ3JlZWsAY29kZQBfJWRYJWMAd19hbHQxAFdhcm5pbmc6IG1heGltdW0gbnVtYmVyICVkIG9mIChOX1ZPSUNFU19MSVNUID0gJWQgLSAxKSByZWFjaGVkCgAlcyVjJXMAR2VvcgBfJWRYZgAlYyVkJWMAZ3JlZWs4AHdfYWx0MgBNaXNzaW5nICdlbmRwaG9uZW1lJyBiZWZvcmUgJyVzJwBoZWJyZXcAZGVmYXVsdABHbGFnAF8lZFgATWlzc2luZyBFTkRJRgB3X2FsdDMARXJyb3IgKCVzKTogZ2VuZGVyIGF0dHJpYnV0ZSBzcGVjaWZpZWQgb24gYSBsYW5ndWFnZSBmaWxlCgBzaWxlbnQAR29uZwAnZW5kcGhvbmVtZScgbm90IGV4cGVjdGVkIGhlcmUAaXNvLWNlbHRpYwB3X2FsdDQAX29yZDIwAHgtc29mdABHb25tAFBob25lbWUgdHlwZSBpcyBtaXNzaW5nAF9vcmQAaXNvLWlyLTYAd19hbHQ1AHNvZnQAR290aAB3X2FsdDYAaXNvLWlyLTEwMABCYWQgcGhvbmVtZSBuYW1lICclcycAd19hbHQAJXMlcyVzAEdyYW4AbG91ZABpc28taXItMTAxACVzOiAnJXMnLgBHcmVrAHgtbG91ZABpc28taXItMTA5AHBfYWx0MQB4LXNsb3cAR3VqcgBwX2FsdDIAaXNvLWlyLTExMABFeHBlY3RlZCAnKCcAc2xvdwBHdXJ1AGlzby1pci0xMjYAcF9hbHQzAEV4cGVjdGVkICcpJwBmYXN0AEhhbmcAVmFsdWUgJWQgaXMgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQAaXNvLWlyLTEyNwBwX2FsdDQAeC1mYXN0AEhhbmkAaXNvLWlyLTEzOABwX2FsdDUAQ2Fubm90IGZpbmQgcGhvbmVtZSAnJXMnIHRvIGltcG9ydC4AeC1sb3cASGFubwBwX2FsdDYAaXNvLWlyLTE0NABQaG9uZW1lIGltcG9ydCB3aWxsIG92ZXJyaWRlIHNldCBwcm9wZXJ0aWVzLgBsb3cAcF9hbHQASGFucwBpc28taXItMTQ4AFBob25lbWUgcmVmZXJlbmNlIG5vdCBmb3VuZDogJyVzJwAlcyVzLnR4dABIYW50AGhpZ2gAaXNvLWlyLTE1NwBjb21waWxlOiB1bmtub3duIHBob25lbWUgdGFibGU6ICclcycAJXMlcwBIYXRyAHgtaGlnaABQaG9uZW1lIHByb2dyYW0gdG9vIGxhcmdlAGlzby1pci0xOTkASGVicgBpc28taXItMjI2AEV4cGVjdGVkIGEgY29uZGl0aW9uLCBub3QgJyVzJwBzcGFjZSAAQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5CgBFeHBlY3RlZCBsaXN0IG9mIHN0cmVzcyBsZXZlbHMASGlyYQBsYXRpbjEAdGFiIAAJJWQgZW50cmllcwoASGx1dwBsYXRpbjIAVW5leHBlY3RlZCBrZXl3b3JkICclcycAdW5kZXJzY29yZSAAJTVkOiBVbmtub3duIGtleXdvcmQ6ICVzCgBIbW5nAHBob25lbWUAbGF0aW4zAGRvdWJsZS1xdW90ZSAAJTVkOiBNaXNzaW5nICcoJwoASHJrdABlbmRwaG9uZW1lAG1hbGUAbGF0aW40AEh1bmcAZmVtYWxlAEV4cGVjdGVkIEFORCwgT1IsIFRIRU4AbGF0aW41ACU1ZDogTmVlZCB0byBjb21waWxlIGRpY3Rpb25hcnkgYWdhaW4KAEluZHMAbmV1dHJhbABFTFNFIG5vdCBleHBlY3RlZABsYXRpbjYAJTVkOiBCYWQgcGhvbmVtZSBbJXNdIChVKyV4KSBpbjogJXMgICVzCgBVKyV4AEl0YWwASUYgYmxvY2sgaXMgdG9vIGxvbmcAeG1sOmxhbmcAbGF0aW44AHZhcmlhbnQARUxJRiBub3QgZXhwZWN0ZWQASmF2YQBsYXRpbjEwACU1ZDogRGljdGlvbmFyeSBsaW5lIGxlbmd0aCB3b3VsZCBvdmVyZmxvdyB0aGUgZGF0YSBidWZmZXI6ICVkCgBKcGFuAGFnZQBFTkRJRiBub3QgZXhwZWN0ZWQAbDEAJTVkOiBUd28gbWFueSBwYXJ0cyBpbiBhIG11bHRpLXdvcmQgZW50cnk6ICVkCgBnZW5kZXIASnVyYwBQYXJhbWV0ZXIgPiAxMjcAbDIALy8AJXMrJXMAS2FsaQAuTABQYXJhbWV0ZXIgPCAtMTI4AGwzAGd0AC5yZXBsYWNlAEthbmEAUGFyYW1ldGVyID4gMjU1AGw0AGx0AEtoYXIALmdyb3VwAERGVABsNQAweCV4ACVzLyVzLndhdgBLaG1yAGFtcABsNgBxdW90AENhbid0IHJlYWQgZmlsZTogJXMAS2hvagBsOAAlNWQ6IEdyb3VwIG5hbWUgbG9uZ2VyIHRoYW4gMiBieXRlcyAoVVRGOCkARmlsZSBub3QgU1BFQyBvciBSSUZGOiAlcwBuYnNwAEtuZGEAbDEwAApFeGNlZWRlZCBsaW1pdCBvZiBydWxlcyAoJWQpIGluIGdyb3VwICclcycKAHVzAGFwb3MAS29yZQAlYyAgMHglLjV4ICAlcwoAAMDg8P8fDwdwCnEKAAAoACkAWwBdAHsAfQA8AD4AIgAnAGAAqwC7AAowCzA84A=="),C(
2810o,93904,"ICAgICAgICAgICYlKyNTRFpBTCEgQD9KTktWP1RYP1dBQkNIRkdZPT0sLCcqICAAIAAhACIAsAIkACUA5gDIAigAKQB+AisAzAItAC4ALwBSAjEAMgBcAjQANQA2ADcAdQI5ANACsgI8AD0APgCUAlkCUQKyA+cA8ABbAkYAYgInAWoCXwJLAGsCcQJLAVQCpgNjAoACgwK4A4oCjAJTAccD+ACSAioDXABdAF4AXwBgAGEAYgBjAGQAZQBmAGECaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQADA38APT0sLCcnAAMCBAUGBxoAAAAAAQECAwMEBQYHBwgJCgsAAAEBAgIDAwQFBgcHCAkKAAABAgMDAwQFBgcHBwgJClNldFdvcmRTdHJlc3MA5ADrAO8A9gD8AP8AAAAAAAAAYWFhYWFhYWNlZWVlaWlpaWRub29vb28Ab3V1dXV5dHNhYWFhYWFhY2VlZWVpaWlpZG5vb29vbwBvdXV1dXl0eWFhYWFhYWNjY2NjY2NjZGRkZGVlZWVlZWVlZWVnZ2dnZ2dnZ2hoaGhpaWlpaWlpaWlpaWlqamtra2xsbGxsbGxsbGxubm5ubm5ubm5vb29vb29vb3JycnJycnNzc3Nzc3NzdHR0dHR0dXV1dXV1dXV1dXV1d3d5eXl6enp6enpzYmJiYgAAb2NjZGRkZGRlZWVmZmdnaGlpa2tsbG1ubm9vb29vcHB5AABzc3R0dHR1dXV2eXl6enp6enp6AAAAd3R0dGtkZGRsbGxubm5hYWlpb291dXV1dXV1dXV1ZWFhYWFhYWdnZ2dra29vb296empkZGRnZ3d3bm5hYWFhb29hYWFhZWVlZWlpaWlvb29vcnJycnV1dXVzc3R0eXloaG5kb296emFhZWVvb29vb29vb3l5bG50amRxYWNjbHRzegAAYnV2ZWVqanFxcnJ5eWFhYWJvY2RkZWVlZWVl"),C(o
vendor: 6,661 bytes, line 2810
2810,94846,"TG9va3VwRGljdDIAAAAAAAAAgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAQB2AJBAaQAPQFaAacAqABgAV4BZAF5Aa0AfQF7AbAABQHbAkIBtAA+AVsBxwK4AGEBXwFlAXoB3QJ+AXwBVAHBAMIAAgHEADkBBgHHAAwByQAYAcsAGgHNAM4ADgEQAUMBRwHTANQAUAHWANcAWAFuAdoAcAHcAN0AYgHfAFUB4QDiAAMB5AA6AQcB5wANAekAGQHrABsB7QDuAA8BEQFEAUgB8wD0AFEB9gD3AFkBbwH6AHEB/AD9AGMB2QKAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAmAdgCowCkAP3/JAGnAKgAMAFeAR4BNAGtAP3/ewGwACcBsgCzALQAtQAlAbcAuAAxAV8BHwE1Ab0A/f98AcAAwQDCAP3/xAAKAQgBxwDIAMkAygDLAMwAzQDOAM8A/f/RANIA0wDUACAB1gDXABwB2QDaANsA3ABsAVwB3wDgAOEA4gD9/+QACwEJAecA6ADpAOoA6wDsAO0A7gDvAP3/8QDyAPMA9AAhAfYA9wAdAfkA+gD7APwAbQFdAdkCgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAE4AVYBpAAoATsBpwCoAGABEgEiAWYBrQB9Aa8AsAAFAdsCVwG0ACkBPAHHArgAYQETASMBZwFKAX4BSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgAqARABRQFMATYB1ADVANYA1wDYAHIB2gDbANwAaAFqAd8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4AKwERAUYBTQE3AfQA9QD2APcA+ABzAfoA+wD8AGkBawHZAoAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAEEAgQDBAQEBQQGBAcECAQJBAoECwQMBK0ADgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhBCIEIwQkBCUEJgQnBCgEKQQqBCsELAQtBC4ELwQwBDEEMgQzBDQENQQ2BDcEOAQ5BDoEOwQ8BD0EPgQ/BEAEQQRCBEMERARFBEYERwRIBEkESgRLBEwETQROBE8EFiFRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXASnAF4EXwSAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAD9//3//f+kAP3//f/9//3//f/9//3/DAatAP3//f/9//3//f/9//3//f/9//3//f/9//3/Gwb9//3//f8fBv3/IQYiBiMGJAYlBiYGJwYoBikGKgYrBiwGLQYuBi8GMAYxBjIGMwY0BjUGNgY3BjgGOQY6Bv3//f/9//3//f9ABkEGQgZDBkQGRQZGBkcGSAZJBkoGSwZMBk0GTgZPBlAGUQZSBv3//f/9//3//f/9//3//f/9//3//f/9//3/gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAGCAZIKMArCCvIKYApwCoAKkAegOrAKwArQD9/xUgsACxALIAswCEA4UDhgO3AIgDiQOKA7sAjAO9AI4DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQP9/6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgP9/4AAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAP3/ogCjAKQApQCmAKcAqACpANcAqwCsAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkA9wC7ALwAvQC+AP3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f8XINAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBf3//f8OIA8g/f+AAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAChAKIAowCkAKUApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8AHgHRANIA0wDUANUA1gDXANgA2QDaANsA3AAwAV4B3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAB8B8QDyAPMA9AD1APYA9wD4APkA+gD7APwAMQFfAf8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAESASIBKgEoATYBpwA7ARABYAFmAX0BrQBqAUoBsAAFARMBIwErASkBNwG3ADwBEQFhAWcBfgEVIGsBSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgDPANAARQFMAdMA1ADVANYAaAHYAHIB2gDbANwA3QDeAN8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4A7wDwAEYBTQHzAPQA9QD2AGkB+ABzAfoA+wD8AP0A/gA4AYAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAEOAg4DDgQOBQ4GDgcOCA4JDgoOCw4MDg0ODg4PDhAOEQ4SDhMOFA4VDhYOFw4YDhkOGg4bDhwOHQ4eDh8OIA4hDiIOIw4kDiUOJg4nDigOKQ4qDisOLA4tDi4OLw4wDjEOMg4zDjQONQ42DjcOOA45DjoO/f/9//3//f8/DkAOQQ5CDkMORA5FDkYORw5IDkkOSg5LDkwOTQ5ODk8OUA5RDlIOUw5UDlUOVg5XDlgOWQ5aDlsO/f/9//3//f+AAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAdIKIAowCkAB4gpgCnANgAqQBWAasArACtAK4AxgCwALEAsgCzABwgtQC2ALcA+AC5AFcBuwC8AL0AvgDmAAQBLgEAAQYBxADFABgBEgEMAckAeQEWASIBNgEqATsBYAFDAUUB0wBMAdUA1gDXAHIBQQFaAWoB3AB7AX0B3wAFAS8BAQEHAeQA5QAZARMBDQHpAHoBFwEjATcBKwE8AWEBRAFGAfMATQH1APYA9wBzAUIBWwFrAfwAfAF+ARkggACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAAh4DHqMACgELAQoepwCAHqkAgh4LHvIerQCuAHgBHh4fHiABIQFAHkEetgBWHoEeVx6DHmAe8x6EHoUeYR7AAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPAHQB0QDSANMA1ADVANYAah7YANkA2gDbANwA3QB2Ad8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wB1AfEA8gDzAPQA9QD2AGse+AD5APoA+wD8AP0AdwH/AIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAKEAogCjAKwgpQBgAacAYQGpAKoAqwCsAK0ArgCvALAAsQCyALMAfQG1ALYAtwB+AbkAugC7AFIBUwF4Ab8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wCAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAEAQUBQQGsIB4gYAGnAGEBqQAYAqsAeQGtAHoBewGwALEADAFCAX0BHSC2ALcAfgENARkCuwBSAVMBeAF8AcAAwQDCAAIBxAAGAcYAxwDIAMkAygDLAMwAzQDOAM8AEAFDAdIA0wDUAFAB1gBaAXAB2QDaANsA3AAYARoC3wDgAOEA4gADAeQABwHmAOcA6ADpAOoA6wDsAO0A7gDvABEBRAHyAPMA9ABRAfYAWwFxAfkA+gD7APwAGQEbAv8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAEFAUEBrCAeIGABpwBhAakAGAKrAHkBrQB6AXsBsACxAAwBQgF9AR0gtgC3AH4BDQEZArsAUgFTAXgBfAHAAMEAwgACAcQABgHGAMcAyADJAMoAywDMAM0AzgDPABABQwHSANMA1ABQAdYAWgFwAdkA2gDbANwAGAEaAt8A4ADhAOIAAwHkAAcB5gDnAOgA6QDqAOsA7ADtAO4A7wARAUQB8gDzAPQAUQH2AFsBcQH5APoA+wD8ABkBGwL/AP3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/wEJAgkDCQUJBgkHCQgJCQkKCQsJDgkPCRAJDQkSCRMJFAkRCRUJFgkXCRgJGQkaCRsJHAkdCR4JHwkgCSEJIgkjCSQJJQkmCScJKAkpCSoJKwksCS0JLgkvCV8JMAkxCTIJMwk0CTUJNgk3CTgJOQkgAD4JPwlACUEJQglDCUYJRwlICUUJSglLCUwJSQlNCTwJZAn9//3//f/9//3/IAAwADEAMgAzADQANQA2ADcAOAA5AP3//f/9//3//f8CAAAAAAAAAAEAAAADAAAA//36+Pb08vDu7Oro5uTi4N7c2tjW1NLQzszKyMbEwsC+vLq4trSysK6sqqimpKKgnpyamJaUkpCOjIqIhoSCgH58enh2dHJwbmxqaGZkYmBeXFpYVlRSUE5MSkhGREJAPjw6ODY0MjAuLCooJiQiIB4cGhgWFBIQDgwKCAYEAgAAAgQGCAoMDhASFBYYGhweICIkJigqLC4wMjQ2ODo8PkBCREZISkxOUFJUVlhaXF5gYmRmaGpsbnBydHZ4enx+gIKEhoiKjI6QkpSWmJqcnqCipKaoqqyusLK0tri6vL7AwsTGyMrMztDS1NbY2tze4OLk5ujq7O7w8vT2+Pr9///06uDWzMO6saifl4+Hf3hxamNcVlBKRD85NC8rJiIeGhcTEA0LCAYEAgEAAAAAAAAAAQIDBAUHCAoMDhATFRcaHR8iJSgsLjAyNDY5Oz1AQkVHSkxPUVRXWl1fYmVoa25xdHh7foGFiIuPkpaZnaCkqKyvs7e7v8PHy8/T19vgz8zJxsPAvbm0sKunopyXkoyGgXt1b2ljXVdQSkQ+ODMtJyIcFxINCAQCAgEAAAAAAAEBAgMEBQcICgwNDxIUFhkbHiEkJyotMDQ2ODo8P0FDRkhLTVBSVVhaXWBjZmlsb3J1eHt+gYWIi4+SlpmdoKSorK+zt7u/w8fLz9PX2+D/+fTu6eTf2tXQy8bBvbizr6qmoZ2ZlZCMiISAfXl1cW5qZ2NgXVlWU1BNSkdEQT48OTc0Mi8tKygmJCIgHhwaGRcVFBIRDw4NDAoJCAcGBQUEAwICAQE="),C(
2810o,99845,"AQECAgMEBAUGBwgJCgsMDg8QEhMVFxgaHB4g0M7NzMrIx8XDwcC9u7i1s7CtqqejoJ2ZlpKPi4eEgHx4dHBtaWVhXVlVUU1KRkI+Ozc0MS8tKigmJCIgHhwaGRcVFBIRDw4NDAoJCAcGBQUEAwICAQE="),C(o,99973,"AQECAgMEBAUGBwgJCgsMDg8QEhMVFxgaHB4gmJmZmpydn6Gkp6mssLO2ur7BxcnN0dTY3N/j5urt8PL19/n7/P3+/v////////79+/r49vPx7uzp5uTg3drX09DMyMTAvLi0sKyno5+alpGNiIR/e3ZybWllYFxYVFBMSERAPDk1Mi8rKCYjIB0aFxUSDw0KCAcFAwIBAAAAAAD+///////+/fz6+Pb08e7r6OXh3trW0s3JxL+6trCrpqGclpGLhoB7dW9qZF9ZVE9JRD86NTArJiIdGRURDQoHBAMBAAAAAAAAAAABAQIEBQcJCw0QEhUYGx4iJSktMTU6PkNITFFXW15iZWhrbnF0dnh7fH6AgYKDg4SEg4OCgXJycXFwb21samhmZGFfXFpXVFFOS0hFQj87ODUyLywpJiMgHRsYFhQSEA4MCwoJCAcHBwcHBgUFBQUFBQUFBQYHBwgJCgwNDxASFBYYGx0gIyYpLC8zNzs/Q0dMUVZbYGVqb3R5f4SJj5Wboaets7rAx87V3OPq8fX3+vz9/v///v79/fz7+/r6+fj49/f29vX09PPz8vLx8PDv7u7t7Ovq6uno5+bl5OPi4eDe3dzb2djW1dPS0M7My8nHxcPAvry5t7Wyr62qp6ShnpqXlJCNiYWBfXl1cW1oZGFeW1dUUU1KRkNAPDk1Mi4qJyMfHBgUEQ0LCQcFBAMCAQAAAAAAAAAAAQEBAgIDAwQEBQYGBwgICQoLDAwNDg8QERITFBYXGBkbHB0fICIjJSYoKSstLzAyNDY4Ojw+QEJER0lLTlBSVVdaXV9iZWdqbXBzdnl8f4KGiYyQk5aanaCjpqmsr7K1uLu+wcTHys3Q09bZ3N/i5Ofp7O7w8vT2+Pr7/X9/f4CBg4SHiYyPkpaZnaGlqq6yt7vAxcnN0tba3uLm6u3w8/X4+vv8/f7+/fz7+ff08Ozn4tzVzsa9tKmekoiCfXdybGZgWlROSUI8NzItKCQfGxgUEQ4MCQcGBQQEBAQFBggKDRAUGB0jKS83PkdQWmRwfIOFiIqMjo+RkpOTAEAIAEYSAAAAAAAAGAwAAARQEgZOFgAAAAAAACI0AAAEWBYGUhYAAAAAAAAiQAAAAFwIAFxQAAAAAAAATAgBAABWBABeQgAAAAAAACIKAAAAPgoAPhQAAAAAAAAcEAAABEQSBkQWAAAAAAAAHiwAAAZAEABCIAAAAAAAACASAAACRC4AKiAAAAAAAAAuOgAABE4YBkgWAAAAAAAAKjQAAARYIgBAIAAAAAAAAC5SAAAAOAwAOBQAAAAAAAAYDAAAAEYSAEYYAAAAAAAAIBQAAAkAAAAJAAAAEAAAABAAAAAQAAAAFwAAADcAAAAgAAAAACgYCAAKNCAUCgYmGA4EAAYAAAAHAAAACQAAAAkAAAAUAAAAFAAAABQAAAAZAAAA5iAUCA=="),C(o,101072,"ZgNmAWYCpgSmAiYEpoooAmoDagFqAqoCbgNuAW4CrgIpALMEdAN0AXQCtAS0AgAAdAR6A3oBegK6An4BOQC+AgAApgMAAKYBAADmAwAAaAEAAGgCAAAoAwAA6AEAAOkBAABpBAAAqgMAAKoBAAAqAwAA6gMAAOoBAABsAgAArAEAACwDAAAsAgAAbQIAAG0EAACuBAAArgMAAK4BAADuAwAALgAAAO6LAABvAgAAMAIwAAAAcQEAADECAADxAQAAMQMAAHEEAABzAQAAMwIAAPMBMwAAADMAAAC0AwAAtAEAAPQCAAC0igAAdwEAADcCAAD3AQAAeAEAAHgCAAA4AgAA+AEAADkCAAD5AQAAeQQAALoEAAC6AwAAugEAADoEAAD6AgAA+gMAAHwCAAB+AgAAAAB/AQAAPwMAAP8BOACmAAEAgQBnBQAAKAEpBWkF6gAAAEIFAADDAEMdAADvBGwFLABsAAQAAACtAG0FAADuBAUAbgCxBPEEMQXxj7IAAAByBQAAMwVzAPQEtJoAAAgAtwCOADcVAAA3BQAAzQB3ALcIOAUAAG8FyQAJAbkAOQX6BAoAewW7ALwAvgB+AD8FPwEAAAsBAADMAIwAAAAAAGcAAABsDW0ALwGwAHEAdgVMBEwc6Y8AAOnPOY4AADnO"),C(o,101586,"sQNZAlsCswO5A1MByQPGA4MCxQOSApQCfgJ8AgAAqgBhgLIAMoCzADOAuQAxgLoAb4CwAmiAsQJmgrICaoCzAnKAtAJ5grUCe4K2AoGCtwJ3gLgCeYDAApSCwQKVguACY4LhAmyA4gJzgOMCeIBwIDCAcSBpgHQgNIB1IDWAdiA2gHcgN4B4IDiAeSA5gHogK4B7IC2AfCA9gH0gKIB+ICmAfyBugIAgMECBIDFAgiAyQIMgM0CEIDRAhSA1QIYgNkCHIDdAiCA4QIkgOUCKICtAiyAtQIwgPUCNIChAjiApQJAgYUCRIGVAkiBvQJMgeECUIFlClSBoQJYga0CXIGxAmCBtQJkgbkCaIHBAmyBzQJwgdEAAAAAAaXhjbXZsZA=="),C(o,101888,"AQAAAAoAAABkAAAA6AMAAAUAAAAyAAAA9AEAAAAXCgkYExgY"),C(o,101936,"///////9+fXy7uvo5OHe2tjV0s/MycbEwb+8ure1s7CurKmopaOhn56bmZiWlJKRj42LiYiHhYOCgX9+fHt6eHd2dXNycXBvbm1ramloZ2ZlZGNiYWBfXl1cW1pZWVhXVlVUU1JSUVBQT05NTExLS0pJSEdHRkVFRENDQkJBQEA/Pj49PTw7Ozo6OTk4ODc2NjU1NDQ0MzIyMTEwMC8vLi4uLS0sLCwrKyopKCgoJycnJiYmJSUlJCQjIyMjIiIiISEhICAfHx8eHh4dHR0dHBwbGxsbGhoaGhkZGRgYGBgXFxcXFhYWFRUVFRQUFBQTExMSEhERERAQEBAQEA8PDw8ODg4NDQ0MDAwMCwsLCwoKCgkJCQgICAAAAAAAAAAAeHl4d3d2dnV0dHNycXBwb29ubWxrampoZ2dmZmZlZWNiYmFgYF9eXVtaW1pZWFZVVlVVVFJRUE9NTk5MTUtLSklHSEZFRUVDQUA/Pz89PTs7Ozo4OTo4NjU0NDU0NDIwLy8tLi0="),C(o,102336,"FhYWFhYWFhUVFRUUFBMTEhEQDw8PDw8PDwAAAAAAAABkeGRpZG5uZF9kaXhpbn2Ch3N9ZGl4S2RLaXhVS2RpeFVpX3N4ZF9kbnhfaWRzeGRkZGl4ZGlfc3huX2RpeGRpaXp9bmlkaXhkaWl6fW5pZGl4X2lkc3huZGRkeGRkZGRkZGRk"),C(o,102480,"ZJZkaW5zbm5uZGmWaW59h4xzh2RpllppWnqHZFpkaZZkaWR6h2RkZGmWZGlpc4duaWRplmRpaXqCeH1kaZZkaW56fXNuZGmWZGlpeod4aWRplmRpaXOHbmlkZGRkZGRkZGRkZA=="),C(o,102592,"bnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRuZG5ubmRubnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRubm5ubm5ubnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRubm5ubm5ubnhkbm5ubm5ubg=="),C(o,102708,"rwAAAGQAAAAyAAAAMg=="),C(o,102744,"ZA=="),C(o,102764,"MjIoRlpkZGRGboeWZGRLZHiWAAAAAAAABwAAAA4AAAAVAAAAKAAAAFAAAAAAAAAAAFNBUFIAQwAAAAAARgAAAAAAAAABAAAAAgAAAAQAAAAPAAAAAAEAAAEBAAEBAgQAAAAAAPMAEAEAAQABAAEAAQAB8ADwAPA="),C(o,102898,"QABaAG4AgACPAJwAqQC1AMAAygDUAN0A5gDvAPcAAAEHAQ8BFgEeASUBLAEyATkBQAFGAUwBUgFYAV4BZAFqAW8BdQF6AYABhQGKAY8BlAGZAZ4BowGoAa0BsgG2AbsBwAHEAckBzQHRAdYB2gHeAeMB5wHrAe8B8wH3AfsBAAIDAgcCCwIPAhMCFwIbAh8CIgImAioCLQIxAjUCOAI8AkACQwJHAkoCTgJRAlQCWAJbAl8CYgJlAmkCbAJvAn
2810MCdgJ5AnwCgAKDAoYCiQKMAo8CkgKWApkCnAKfAqICpQKoAqsCrgKxArQCtwK6Ar0CwALCAsUCyALLAs4C0QLUAtYC2QLcAt8C4gLkAucC6gLtAu8C8gL1AvcC+gL9AgADAgMFAwcDCgMNAw8DEgMVAxcDGgMcAx8DIQMkAycDKQMsAy4DMQMzAzYDOAM7Az0DQANCA0QDRwNJA0wDTgNRA1MDVQNYA1oDXQNfA2EDZANmA2gDawNtA28DcgN0A3YDeQN7A30DgAOCA4QDhgMAAAGqAqytAwQFsLGys7S0tgYHCLkJCrwMDQ4PEBESYWJjZGVmZ2hpamtsbW5vcHFyc3R1"),C(o,103360,"YAYAAPAGAABmCQAA5gkAAGYKAADmCgAAZgsAAOYLAABmDAAA5gwAAGYNAABQDgAA0A4AACAPAABAEAAAkBA="),C(o,103440,"5gDmAOYA5gAAAAAA5gDmAL4AqgC+AMgAAAAAAL4A8AC+AL4A0gDSAAAAAADSANIAyADIANIA0gAAAAAA5gDmAOYA5gDwAPAAAAAAAAQBBAGqAIwA3ADcAAAAAAD6AA4BoACMAMgAjAAAAAAA8ACgALQAtADSANIAAAAAAOYA8ACqANwAtAC0AAAAAAD6AA4BlgCCAMgAyAAAAAAADgEOAbYAjADcANwAAAAAAPgAEwGbALQA0gDSAAAAAAAOASwBwwMAAAAAAABsAAAAAAAAAKAAkQCbAJYAAAAAAMgA9QAnAAAAtwAAAAAAAADCugAAyADIAMgAyAAAAAAA0gDmAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGgAAAAAAABscHR4fICEiIyQlJicoKSorAAAs"),C(o,103790,"LQAAAAAAAAAu"),C(o,103816,"Lw=="),C(o,103833,"MAAAAAAAMQ=="),C(o,103856,"Mg=="),C(o,103868,"MwAAAK0AAQBABgEADCAtAAAAAAC+AL4A0gDSAAAAAADmAPoAoACWAMgAyAAAAAAA+gAEAbkAwwDDAL4AAAAAANIA3AD6AMgA+gD6AAAAAAD6APoAMjM0Njk6PD0+P0BBQkNERkdJSktMTU5PUFFSU1RWAACWAIwAtAC0AAAAAADIAMgAbA=="),C(o,104016,"oADIALQAtAAAAAAA3ADwALQAoADIAMgAAAAAAPAA+gBjAAAAZgAAAGgAAABrAAAAcAAAAHQAAAB4AAAA/g=="),C(o,104096,"oACMAJYApQAAAAAA2gAxAZEAkQCqAKAAAAAAAEoBXgEuAAAALAAAACcAAADIAg=="),C(o,104160,"MTIzNTY3OTo7PD4/QEFCREVGR0hJSktMTU5PUFFSU1RW"),C(o,104208,"vgC0AOYA5gAAAAAA+gD6ABESExQWFxkaGxwdHyAhIiQlJicoKSosc3uDmwAAAAAAtAC0AL4AtAAAAAAA5gDwALQAtAC0AKAAAAAAAOYAtABABAAAMAQAADUEAAA4BAAAOQQAAD4EAABDBAAASwQAAE0EAABOBAAATwQAAFAEAABRBAAAVgQAAFcEAABdBAAAXgQ="),C(o,104368,"tACgAMgAyAAAAAAA3ADmAKAAhwDSANIAAAAAAAQBGAGgAIwAyADIAAAAAADcAOYAyADIAMgAyAAAAAAAyADIAKAAvgCvAK8AAAAAAMgA0gCqAHMA0gDwAAAAAAAEARgBqgCqALQAtAAAAAAA8AAEAZYAtADIAMgAAAAAANIA+gCWAJYAtAC0AAAAAAAsASwBoACHANwA3AAAAAAA+gAYAaAAqgDIAMgAAAAAAEABVAG0AKAA8ADwAAAAAAAEAQQBvgC0AMgA5gAAAAAA8AD6AJYAlgC0ALQA0gDmAOYA8ABhAAAA4AAAAOEAAACjHgAA4wAAAKEeAAADAQAAsR4AAK8eAACzHgAAtR4AALceAADiAAAApx4AAKUeAACpHgAAqx4AAK0eAABlAAAA6AAAAOkAAAC7HgAAvR4AALkeAADqAAAAwR4AAL8eAADDHgAAxR4AAMceAABpAAAA7AAAAO0AAADJHgAAKQEAAMseAABvAAAA8gAAAPMAAADPHgAA9QAAAM0eAAD0AAAA0x4AANEeAADVHgAA1x4AANkeAAChAQAA3R4AANseAADfHgAA4R4AAOMeAAB1AAAA+QAAAPoAAADnHgAAaQEAAOUeAACwAQAA6x4AAOkeAADtHgAA7x4AAPEeAAB5AAAA8x4AAP0AAAD3HgAA+R4AAPUe"),C(o,104896,"5gCWAOYA5gDmAAAA8AD6AAAAAAAnAAAAAAAAAAABAgM="),C(o,104945,"AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRo="),C(o,105072,"GxwdAAAeHyAhIiMkACUmAAAAACcAACgAKQAqACsAAAAAAAAsAC0ALgAAAAAALwAAADAAAAAAAAAAMQ=="),C(o,105170,"MgAz"),C(o,105195,"NAAAAAAANQA2"),C(o,105226,"NwA4ADkArQABAAwgAQ=="),C(o,105249,"AQIDAAQAAQIDAAQFBgIDAAQFBwEDAAQICQoDAAAICAoDAAALCwsLAAAMDAwMAAAMAQ4BEwEBAw8DDgYRBgMJAQsPCwEMCQwBDgYOCQ4ODg8OHA4DDxEPEg8PEBEQAREGEQkRDxETEiAS/38AAAAAlgCMANwA3AAAAAAABAEYAYKAeHRkZICAgIyAgKCrq4CAgA=="),C(o,105412,"yAAAAMgAAACQAQAAkAEAAJABAABYAgAAWAIAAFgC"),C(o,105456,"8AAAAKoAAACqAAAAqgAAAKoAAACqAAAAqgAAAKoAAACqAAAAAQIMAw0EDgULAAAAAQIDBAUGAAAAAAAACwwNDg=="),C(o,105540,"MgAAAK8AAABkAAAAMg=="),C(o,105568,"rw=="),C(o,105596,"EBAKEBY="),C(o,105620,"/38AANAHAAAsAQAAYwAAAGMAAABjAAAAAAAAANAH"),C(o,105668,"BA=="),C(o,105680,"QEFCQ0RFRkdISUpLTE1OT1BRUlNUVldYWVtcXV5gYWJkZWdoaWtsbm9xc3R2d3l7fH6AgoSFh4mLjY+Rk5WXmZueoKKkp6mrrrCztbi6vb/CxcfKzdDT1tnc3+Ll6Ozv8vb5/P7/"),C(o,105792,"//7+/v7+/v7+/v39/f38/Pz7+/v6+vn5+Pj39/b19fTz8/Lx7+3r6efl4+Hf3drY1dPQzcvIxcK/u7i1sq6rp6OgnJiUkIyIhH97d3JuaWRgXltYVlNRTkxKR0VCQD48OTc1MzEvLCooJiQiIB4dGxkXFRMSEA4MCwkHBgQDAQ=="),C(o,106064,"//7+/v7+/f38+/v6+fj39vX08vHv7uzq6efl4+Hf3NrY1dPRz83LycfFw8G/vbu5t7SysK2rqaakoZ+cmpeUko+MioeEgX57eHZzcGxpZmNgX11bWlhWVVNSUE9NTEpJSEZFRENCQD8+PTw7Ojk4Nzc2NTQ0MzIyMTAwLy8uLi4tLS0sLCwsLCwsKysrKywrKiopKCgnJiYlJCQjIyIhISAgHx4eHR0cHBsaGhkZGBgXFxYWFRUUFBMTEhISEREQEA8PDw4ODQ0NDAwLCwsKCgoJCQkICAgHBwcHBgYGBQUFBQQEBAQEAwMDAwICAgICAgEBAQEBAQ=="),C(o
vendor: 6,118 bytes, line 2810
2810,106341,"RvIpAC8ALwBF8ikALwAuAEXyKAAuAC0ANPIoAC0tLAA08igAKysrADTyKAAqKioANPIoACkpKQA08igAAOf/zv+1/5z/g/9q/1H/N/8e/wX/7P7T/rr+of6I/m/+Vf48/iP+Cv7x/dj9v/2m/Y39dP1b/UL9Kf0Q/ff83vzF/Kz8k/x6/GH8SPwv/Bb8/fvk+8v7svuZ+4D7Z/tP+zb7HfsE++v60vq6+qH6iPpv+lf6Pvol+g369Pnb+cP5qvmR+Xn5YPlH+S/5Fvn++OX4zfi0+Jz4g/hr+FP4Ovgi+Ar48ffZ98H3qPeQ93j3YPdH9y/3F/f/9uf2z/a39p/2h/Zv9lf2P/Yn9g/29/Xf9cf1sPWY9YD1aPVR9Tn1IfUK9fL02/TD9Kz0lPR99GX0TvQ29B/0CPTw89nzwvOr85TzfPNl807zN/Mg8wnz8vLb8sTyrvKX8oDyafJS8jzyJfIO8vjx4fHL8bTxnvGH8XHxW/FE8S7xGPEB8evw1fC/8Knwk/B98GfwUfA78CXwEPD67+Tvzu+576Pvje9472LvTe847yLvDe/47uLuze647qPuju557mTuT+467iXuEO777eft0u297antlO2A7WvtV+1C7S7tGu0F7fHs3ezJ7LXsoeyN7HnsZexR7D3sKuwW7ALs7+vb68jrtOuh643reutn61TrQest6xrrB+v06uLqz+q86qnqluqE6nHqX+pM6jrqJ+oV6gPq8One6czpuumo6ZbphOly6WHpT+k96SzpGukI6ffo5ujU6MPosuig6I/ofuht6FzoS+g76CroGegI6Pjn5+fX58bntuel55Xnhed152XnVedF5zXnJecV5wXn9ubm5tfmx+a45qjmmeaK5nvma+Zc5k3mPuYw5iHmEuYD5vXl5uXY5cnlu+Wt5Z7lkOWC5XTlZuVY5UrlPOUv5SHlE+UG5fjk6+Te5NDkw+S25KnknOSP5ILkdeRo5FzkT+RD5DbkKuQd5BHkBeT54+3j4ePV48njveOx46XjmuOO44Pjd+Ns42HjVuNL4z/jNOMq4x/jFOMJ4//i9OLq4t/i1eLK4sDituKs4qLimOKO4oTie+Jx4mfiXuJU4kviQuI54i/iJuId4hTiDOID4vrh8eHp4eDh2OHQ4cfhv+G34a/hp+Gf4Zfhj+GI4YDheOFx4WrhYuFb4VThTeFG4T/hOOEx4SrhJOEd4RbhEOEK4QPh/eD34PHg6+Dl4N/g2eDU4M7gyeDD4L7guOCz4K7gqeCk4J/gmuCV4JHgjOCH4IPgfuB64HbgcuBu4GrgZuBi4F7gWuBX4FPgT+BM4EngReBC4D/gPOA54DbgM+Ax4C7gK+Ap4CfgJOAi4CDgHuAc4BrgGOAW4BTgEuAR4A/gDuAN4AvgCuAJ4AjgB+AG4AXgBeAE4APgA+AC4ALgAuAC4ALgAeAC4ALgAuAC4ALgA+AD4ATgBeAF4AbgB+AI4AngCuAL4A3gDuAP4BHgEuAU4BbgGOAa4BzgHuAg4CLgJOAn4CngK+Au4DHgM+A24DngPOA/4ELgReBJ4EzgT+BT4FfgWuBe4GLgZuBq4G7gcuB24HrgfuCD4IfgjOCR4JXgmuCf4KTgqeCu4LPguOC+4MPgyeDO4NTg2eDf4OXg6+Dx4Pfg/eAD4QrhEOEW4R3hJOEq4THhOOE/4UbhTeFU4VvhYuFq4XHheOGA4Yjhj+GX4Z/hp+Gv4bfhv+HH4dDh2OHg4enh8eH64QPiDOIU4h3iJuIv4jniQuJL4lTiXuJn4nHie+KE4o7imOKi4qzituLA4sri1eLf4uri9OL/4gnjFOMf4yrjNOM/40vjVuNh42zjd+OD447jmuOl47HjvePJ49Xj4ePt4/njBeQR5B3kKuQ25EPkT+Rc5GjkdeSC5I/knOSp5Lbkw+TQ5N7k6+T45AblE+Uh5S/lPOVK5VjlZuV05YLlkOWe5a3lu+XJ5djl5uX15QPmEuYh5jDmPuZN5lzma+Z75ormmeao5rjmx+bX5ubm9uYF5xXnJec150XnVedl53XnheeV56XntufG59fn5+f45wjoGegq6DvoS+hc6G3ofuiP6KDosujD6NTo5uj36AjpGuks6T3pT+lh6XLphOmW6ajpuunM6d7p8OkD6hXqJ+o66kzqX+px6oTqluqp6rzqz+ri6vTqB+sa6y3rQetU62freuuN66HrtOvI69vr7+sC7BbsKuw97FHsZex57I3soey17Mns3ezx7AXtGu0u7ULtV+1r7YDtlO2p7b3t0u3n7fvtEO4l7jruT+5k7nnuju6j7rjuze7i7vjuDe8i7zjvTe9i73jvje+j77nvzu/k7/rvEPAl8DvwUfBn8H3wk/Cp8L/w1fDr8AHxGPEu8UTxW/Fx8YfxnvG08cvx4fH48Q7yJfI88lLyafKA8pfyrvLE8tvy8vIJ8yDzN/NO82XzfPOU86vzwvPZ8/DzCPQf9Db0TvRl9H30lPSs9MP02/Ty9Ar1IfU59VH1aPWA9Zj1sPXH9d/19/UP9if2P/ZX9m/2h/af9rf2z/bn9v/2F/cv90f3YPd495D3qPfB99n38fcK+CL4OvhT+Gv4g/ic+LT4zfjl+P74Fvkv+Uf5YPl5+ZH5qvnD+dv59PkN+iX6PvpX+m/6iPqh+rr60vrr+gT7Hfs2+0/7Z/uA+5n7svvL++T7/fsW/C/8SPxh/Hr8k/ys/MX83vz3/BD9Kf1C/Vv9dP2N/ab9v/3Y/fH9Cv4j/jz+Vf5v/oj+of66/tP+7P4F/x7/N/9R/2r/g/+c/7X/zv/n/wAAGQAyAEsAZAB9AJYArwDJAOIA+wAUAS0BRgFfAXgBkQGrAcQB3QH2AQ8CKAJBAloCcwKMAqUCvgLXAvACCQMiAzsDVANtA4YDnwO4A9ED6gMDBBwENQROBGcEgASZBLEEygTjBPwEFQUuBUYFXwV4BZEFqQXCBdsF8wUMBiUGPQZWBm8GhwagBrkG0QbqBgIHGwczB0wHZAd9B5UHrQfGB94H9gcPCCcIPwhYCHAIiAigCLkI0QjpCAEJGQkxCUkJYQl5CZEJqQnBCdkJ8QkJCiEKOQpQCmgKgAqYCq8KxwrfCvYKDgslCz0LVAtsC4MLmwuyC8oL4Qv4CxAMJww+DFUMbAyEDJsMsgzJDOAM9wwODSUNPA1SDWkNgA2XDa4NxA3bDfINCA4fDjUOTA5iDnkOjw6lDrwO0g7oDv8OFQ8rD0EPVw9tD4MPmQ+vD8UP2w/wDwYQHBAyEEcQXRBzEIgQnhCzEMgQ3hDzEAgRHhEzEUgRXRFyEYcRnBGxEcYR2xHwEQUSGRIuEkMSVxJsEoASlRKpEr4S0hLmEvsSDxMjEzcTSxNfE3MThxObE68TwxPWE+oT/hMRFCUUOBRMFF8UcxSGFJkUrBS/FNMU5hT5FAwVHhUxFUQVVxVqFXwVjxWhFbQVxhXZFesV/RUQFiIWNBZGFlgWahZ8Fo4WnxaxFsMW1BbmFvgWCRcaFywXPRdOF2AXcReCF5MXpBe1F8UX1hfnF/gXCBgZGCkYOhhKGFsYaxh7GIsYmxirGLsYyxjbGOsY+xgKGRoZKRk5GUgZWBlnGXYZhRmVGaQZsxnCGdAZ3xnuGf0ZCxoaGigaNxpFGlMaYhpwGn4ajBqaGqgathrEGtEa3xrtGvoaCBsVGyIbMBs9G0obVxtkG3EbfhuLG5gbpBuxG70byhvWG+Mb7xv7GwccExwfHCscNxxDHE8cWxxmHHIcfRyJHJQcnxyqHLUcwRzMHNYc4RzsHPccAR0MHRYdIR0rHTYdQB1KHVQdXh1oHXIdfB2FHY8dmR2iHawdtR2+Hccd0R3aHeMd7B30Hf0dBh4PHhceIB4oHjAeOR5BHkkeUR5ZHmEeaR5xHngegB6IHo8elh6eHqUerB6zHroewR7IHs8e1h7cHuMe6h7wHvYe/R4DHwkfDx8VHxsfIR8nHywfMh83Hz0fQh9IH00fUh9XH1wfYR9mH2sfbx90H3kffR+CH4Yfih+OH5Iflh+aH54foh+mH6kfrR+xH7Qftx+7H74fwR/EH8cfyh/NH88f0h/VH9cf2R/cH94f4B/iH+Qf5h/oH+of7B/uH+8f8R/yH/Mf9R/2H/cf+B/5H/of+x/7H/wf/R/9H/4f/h/+H/4f/h//H/4f/h/+H/4f/h/9H/0f/B/7H/sf+h/5H/gf9x/2H/Uf8x/yH/Ef7x/uH+wf6h/oH+Yf5B/iH+Af3h/cH9kf1x/VH9Ifzx/NH8ofxx/EH8Efvh+7H7cftB+xH60fqR+mH6Ifnh+aH5Yfkh+OH4ofhh+CH30feR90H28fax9mH2EfXB9XH1IfTR9IH0IfPR83HzIfLB8nHyEfGx8VHw8fCR8DH/0e9h7wHuoe4x7cHtYezx7IHsEeuh6zHqwepR6eHpYejx6IHoAeeB5xHmkeYR5ZHlEeSR5BHjkeMB4oHiAeFx4PHgYe/R30Hewd4x3aHdEdxx2+HbUdrB2iHZkdjx2FHXwdch1oHV4dVB1KHUAdNh0rHSEdFh0MHQEd9xzsHOEc1hzMHMEctRyqHJ8clByJHH0cchxmHFscTxxDHDccKxwfHBMcBxz7G+8b4xvWG8obvRuxG6QbmBuLG34bcRtkG1cbShs9GzAbIhsVGwgb+hrtGt8a0RrEGrYaqBqaGowafhpwGmIaUxpFGjcaKBoaGgsa/RnuGd8Z0BnCGbMZpBmVGYUZdhlnGVgZSBk5GSkZGhkKGfsY6xjbGMsYuxirGJsYixh7GGsYWxhKGDoYKRgZGAgY+BfnF9YXxRe1F6QXkxeCF3EXYBdOFz0XLBcaFwkX+BbmFtQWwxaxFp8WjhZ8FmoWWBZGFjQWIhYQFv0V6xXZFcYVtBWhFY8VfBVqFVcVRBUxFR4VDBX5FOYU0xS/FKwUmRSGFHMUXxRMFDgUJRQRFP4T6hPWE8MTrxObE4cTcxNfE0sTNxMjEw8T+xLmEtISvhKpEpUSgBJsElcSQxIuEhkSBRLwEdsRxhGxEZwRhxFyEV0RSBEzER4RCBHzEN4QyBCzEJ4QiBBzEF0QRxAyEBwQBhDwD9sPxQ+vD5kPgw9tD1cPQQ8rDxUP/w7oDtIOvA6lDo8OeQ5iDkwONQ4fDggO8g3bDcQNrg2XDYANaQ1SDTwNJQ0ODfcM4AzJDLIMmwyEDGwMVQw+DCcMEAz4C+ELyguyC5sLgwtsC1QLPQslCw4L9grfCscKrwqYCoAKaApQCjkKIQoJCvEJ2QnBCakJkQl5CWEJSQkxCRkJAQnpCNEIuQigCIgIcAhYCD8IJwgPCPYH3gfGB60HlQd9B2QHTAczBxsHAgfqBtEGuQagBocGbwZWBj0GJQYMBvMF2wXCBakFkQV4BV8FRgUuBRUF/ATjBMoEsQSZBIAEZwROBDUEHAQDBOoD0QO4A58DhgNtA1QDOwMiAwkD8ALXAr4CpQKMAnMCWgJBAigCDwL2Ad0BxAGrAZEBeAFfAUYBLQEUAfsA4gDJAK8AlgB9AGQASwAyABkAMAAAADAAAABAAAAAUAAAAJAAAACgAAAAsAAAAMAAAACAm7XL3Ojt7Obczr+wo5iQjIuMj5KUlZKMg3hpWUk8MSopLTZEVml9j5+qsbKtpJaHeGlcU09PVV5reoiWoquwsa6ooJiRi4iJjZSdqLK7wMG9tKWSfGNKMh4OBQIFDx4wRFltf4yWnJ+fnZuZmZyhqbO/ytXc4N7YzLumj3dgSzouKCkvOkhZanqGkJSVkYmAdWtiXFpcYWl0gIqUmp6dmJCGfHFoYmBja3iIm6/C0t/m5+LXxrKchG9bS0A5Nzg9Q0pQVFZVUk1IQj8+QUlWZ3yTq8PZ6vb8+/Tn1cCqlIBxZF1aXGFocHd9f397dGthV05IRkhOWWZ1hJOfp6uqpJmLe2pbTkZDRU1aa3+SprjFz9PSzcS5raGWjomHh4qNkZKRjIR4aFVBLhwOBQEFDx80TWiBmrDBzdPT0Mi/taukn5ydoKWqrrGwq6OWh3ZjUUI2Ly0xOkhZa36OnKaqqaOYintsXVJKSEpQWmd1gi0AAAAmAAAALQAAAC0AAAA3AAAALQ=="),C(
2810o,110928,"yv5w/hICZAHgAFkAFwD2/8b/8P/NAVcCGAK9AgIDXQLxAc0BMAKUAW4A4ACDAGgAn/+bABYBZv9z+6r94QJ9ALD9KQALAAn/9v9BAFwAUADQ/kcApwD//3oA6QChANX/FgHfAeUBlwEKAYoChgBQAOwARAAEAQ0BswA1AIwAEwElASgBaAABAZgANwG2AAcB9QB9ADoBjAAsAMsA5gAV/+L+FwBrAFwApf8mANABuwGwAGIA8Pxv9p346/vA+Ur6mPoT+0v8Jv0="),C(o,111162,"BgAHAAgACQAKAAsADQAOABAAEgAUABYAGQAcACAAIwAoAC0AMwA5AEAARwBQAFoAZQByAIAAjgCfALMAygDjAAABHAE+AWcBlQHHAQACOAJ+As8CcQOPAwAEcQT8BJ4FVgYfBwAI4Qj4CTsLrAw9DgAQwxHwE3cWWBl7HAAghSPfJ+4ssDL2OABArkekUIVbZmYzc/9/"),C(o,111324,"qMtoQQAAAACoy2jBAAAAAAAAAAAXCtQJkglQCQ8JzgiPCE8IEwjVB5oHYgcoB/MGvgaLBloGKwb9BdMFqQWBBVwFOAUWBfcE1wS7BKAEhgRuBFcEQQQtBBkEBwT1A+QD1APFA7YDqAOZA40DfwNxA2UDVwNLAz4DMgMkAxgDCwP+AvIC5ALYAssCvgKxAqQClwKLAn0CcgJkAlkCTAJAAjQCKAIcAhICBQL7AfAB5QHbAdABxgG7AbIBqAGeAZQBigGBAXcBbgFjAVsBUAFIAT0BNAErASABGAENAQQB+gDwAOcA3ADUAMgAwAC1AKwAoQCYAI4AhQB7AHEAaQBeAFYATABDADkAMQAnAB4AFgALAAQA+//y/+n/4P/X/87/xP+7/7L/qf+g/5X/jf+C/3r/cP9m/1z/Uv9J/z//Nf8r/yL/F/8O/wT/+v7x/uf+3f7T/sr+wP62/q3+o/6b/pD+h/59/nP+av5f/lb+TP5C/jj+Lf4j/hn+Df4D/vf97P3h/dX9yf29/bH9pf2Y/Yz9f/1z/Wb9Wf1M/T/9M/0k/Rn9Cv3//PH85fzY/Mz8vvyz/KT8mPyL/H78cfxi/FX8Rfw4/Cb8GfwG/Pb74vvQ+7r7pfuO+3b7XPtB+yT7Bvvl+sT6n/p5+lP6KPr++dD5oflw+Tz5CfnR+Jr4YPgm+Oj3q/ds9yz36/aq9mj2Jvbj9bAEdgRABA4E3wO0A4sDZQNBAx8DAAPiAsYCqwKSAnoCZAJOAjoCJwIVAgMC8wHjAdQBxgG4AasBnwGTAYcBfAFyAWgBXgFVAUwBQwE7ATMBLAEkAR0BFgEQAQkBAwH9APcA8gDtAOcA4gDdANkA1ADQAMwAxwDDAMAAvAC4ALQAsQCuAKoApwCkAKEAngCbAJkAlgCTAJEAjgCMAIkAhwCFAIMAgAB+AHwAegB4AHcAdQBzAHEAbwBuAGwAagBpAGcAZgBkAGMAYQBgAF8AXQBcAFsAWgBYAFcAVgBVAFQAUwBSAFAATwBOAE0ATABLAEsASgBJAEgARwBGAEUARABEAEMAQgBBAEAAQAA/AD4APQA9ADwAOwA7ADoAOQA5ADgAOAA3ADcANgA2ADUANQA0ADQAMwAzADIAMgAxADEAMAAwAC8ALwAuAC4ALQAtACwALAArACsAKgAqACkAKQApACkAKAAoACcAJwAmACYAJgAmACUAJQAkACQAJAAkACMAIwAjACMAIgAiACEAIQAhACEAIAAgACAAIAAfAB8AHwAfAB4AHgAeAB4AHQAdAB0AHQAcABwAHAAcABsAGwAxNkZyYW1lTWFuYWdlckltcGwAMTJGcmFtZU1hbmFnZXIAMjNTcGVlY2hXYXZlR2VuZXJhdG9ySW1wbAAxOVNwZWVjaFdhdmVHZW5lcmF0b3IAMTNXYXZlR2VuZXJhdG9y"),C(o,112416,"AwAAAAQAAAAEAAAABgAAAIP5ogBETm4A/CkVANFXJwDdNPUAYtvAADyZlQBBkEMAY1H+ALveqwC3YcUAOm4kANJNQgBJBuAACeouAByS0QDrHf4AKbEcAOg+pwD1NYIARLsuAJzphAC0JnAAQX5fANaROQBTgzkAnPQ5AItfhAAo+b0A+B87AN7/lwAPmAUAES/vAApaiwBtH20Az342AAnLJwBGT7cAnmY/AC3qXwC6J3UA5evHAD178QD3OQcAklKKAPtr6gAfsV8ACF2NADADVgB7/EYA8KtrACC8zwA29JoA46kdAF5hkQAIG+YAhZllAKAUXwCNQGgAgNj/ACdzTQAGBjEAylYVAMmocwB74mAAa4zAABnERwDNZ8MACejcAFmDKgCLdsQAphyWAESv3QAZV9EApT4FAAUH/wAzfj8AwjLoAJhP3gC7fTIAJj3DAB5r7wCf+F4ANR86AH/yygDxhx0AfJAhAGokfADVbvoAMC13ABU7QwC1FMYAwxmdAK3EwgAsTUEADABdAIZ9RgDjcS0Am8aaADNiAAC00nwAtKeXADdV1QDXPvYAoxAYAE12/ABknSoAcNerAGN8+AB6sFcAFxXnAMBJVgA71tkAp4Q4ACQjywDWincAWlQjAAAfuQDxChsAGc7fAJ8x/wBmHmoAmVdhAKz7RwB+f9gAImW3ADLoiQDmv2AA78TNAGw2CQBdP9QAFt7XAFg73gDem5IA0iIoACiG6ADiWE0AxsoyAAjjFgDgfcsAF8BQAPMdpwAY4FsALhM0AIMSYgCDSAEA9Y5bAK2wfwAe6fIASEpDABBn0wCq3dgArl9CAGphzgAKKKQA05m0AAam8gBcd38Ao8KDAGE8iACKc3gAr4xaAG/XvQAtpmMA9L/LAI2B7wAmwWcAVcpFAMrZNgAoqNIAwmGNABLJdwAEJhQAEkabAMRZxADIxUQATbKRAAAX8wDUQ60AKUnlAP3VEAAAvvwAHpTMAHDO7gATPvUA7PGAALPnwwDH+CgAkwWUAMFxPgAuCbMAC0XzAIgSnACrIHsALrWfAEeSwgB7Mi8ADFVtAHKnkABr5x8AMcuWAHkWSgBBeeIA9N+JAOiUlwDi5oQAmTGXAIjtawBfXzYAu/0OAEiatABnpGwAcXJCAI1dMgCfFbgAvOUJAI0xJQD3dDkAMAUcAA0MAQBLCGgALO5YAEeqkAB05wIAvdYkAPd9pgBuSHIAnxbvAI6UpgC0kfYA0VNRAM8K8gAgmDMA9Ut+ALJjaADdPl8AQF0DAIWJfwBVUikAN2TAAG3YEAAySDIAW0x1AE5x1ABFVG4ACwnBACr1aQA
2810UZtUAJwedAF0EUAC0O9sA6nbFAIf5FwBJa30AHSe6AJZpKQDGzKwArRRUAJDiagCI2YkALHJQAASkvgB3B5QA8zBwAAD8JwDqcagAZsJJAGTgPQCX3YMAoz+XAEOU/QANhowAMUHeAJI5nQDdcIwAF7fnAAjfOwAVNysAXICgAFqAkwAQEZIAD+jYAGyArwDb/0sAOJAPAFkYdgBipRUAYcu7AMeJuQAQQL0A0vIEAEl1JwDrtvYA2yK7AAoUqgCJJi8AZIN2AAk7MwAOlBoAUTqqAB2jwgCv7a4AXCYSAG3CTQAtepwAwFaXAAM/gwAJ8PYAK0CMAG0xmQA5tAcADCAVANjDWwD1ksQAxq1LAE7KpQCnN80A5qk2AKuSlADdQmgAGWPeAHaM7wBoi1IA/Ns3AK6hqwDfFTEAAK6hAAz72gBkTWYA7QW3ACllMABXVr8AR/86AGr5uQB1vvMAKJPfAKuAMABmjPYABMsVAPoiBgDZ5B0APbOkAFcbjwA2zQkATkLpABO+pAAzI7UA8KoaAE9lqADSwaUACz8PAFt4zQAj+XYAe4sEAIkXcgDGplMAb27iAO/rAACbSlgAxNq3AKpmugB2z88A0QIdALHxLQCMmcEAw613AIZI2gD3XaAAxoD0AKzwLwDd7JoAP1y8ANDebQCQxx8AKtu2AKMlOgAAr5oArVOTALZXBAApLbQAS4B+ANoHpwB2qg4Ae1mhABYSKgDcty0A+uX9AInb/gCJvv0A5HZsAAap/AA+gHAAhW4VAP2H/wAoPgcAYWczACoYhgBNveoAs+evAI9tbgCVZzkAMb9bAITXSAAw3xYAxy1DACVhNQDJcM4AMMu4AL9s/QCkAKIABWzkAFrdoAAhb0cAYhLSALlchABwYUkAa1bgAJlSAQBQVTcAHtW3ADPxxAATbl8AXTDkAIUuqQAdssMAoTI2AAi3pADqsdQAFvchAI9p5AAn/3cADAOAAI1ALQBPzaAAIKWZALOi0wAvXQoAtPlCABHaywB9vtAAm9vBAKsXvQDKooEACGpcAC5VFwAnAFUAfxTwAOEHhgAUC2QAlkGNAIe+3gDa/SoAayW2AHuJNAAF8/4Aub+eAGhqTwBKKqgAT8RaAC34vADXWpgA9MeVAA1NjQAgOqYApFdfABQ/sQCAOJUAzCABAHHdhgDJ3rYAv2D1AE1lEQABB2sAjLCsALLA0ABRVUgAHvsOAJVywwCjBjsAwEA1AAbcewDgRcwATin6ANbKyADo80EAfGTeAJtk2ADZvjEApJfDAHdY1ABp48UA8NoTALo6PABGGEYAVXVfANK99QBuksYArC5dAA5E7QAcPkIAYcSHACn96QDn1vMAInzKAG+RNQAI4MUA/9eNAG5q4gCw/cYAkwjBAHxddABrrbIAzW6dAD5yewDGEWoA98+pAClz3wC1yboAtwBRAOKyDQB0uiQA5X1gAHTYigANFSwAgRgMAH5mlAABKRYAn3p2AP39vgBWRe8A2X42AOzZEwCLurkAxJf8ADGoJwDxbsMAlMU2ANioVgC0qLUAz8wOABKJLQBvVzQALFaJAJnO4wDWILkAa16qAD4qnAARX8wA/QtKAOH0+wCOO20A4oYsAOnUhAD8tKkA7+7RAC41yQAvOWEAOCFEABvZyACB/AoA+0pqAC8c2ABTtIQATpmMAFQizAAqVdwAwMbWAAsZlgAacLgAaZVkACZaYAA/Uu4AfxEPAPS1EQD8y/UANLwtADS87gDoXcwA3V5gAGeOmwCSM+8AyRe4AGFYmwDhV7wAUYPGANg+EADdcUgALRzdAK8YoQAhLEYAWfPXANl6mACeVMAAT4b6AFYG/ADlea4AiSI2ADitIgBnk9wAVeiqAIImOADK55sAUQ2kAJkzsQCp1w4AaQVIAGWy8AB/iKcAiEyXAPnRNgAhkrMAe4JKAJjPIQBAn9wA3EdVAOF0OgBn60IA/p3fAF7UXwB7Z6QAuqx6AFX2ogAriCMAQbpVAFluCAAhKoYAOUeDAInj5gDlntQASftAAP9W6QAcD8oAxVmKAJT6KwDTwcUAD8XPANtargBHxYYAhUNiACGGOwAseZQAEGGHACpMewCALBoAQ78SAIgmkAB4PIkAqMTkAOXbewDEOsIAJvTqAPdnigANkr8AZaMrAD2TsQC9fAsApFHcACfdYwBp4d0AmpQZAKgplQBozigACe20AESfIABOmMoAcIJjAH58IwAPuTIAp/WOABRW5wAh8QgAtZ0qAG9+TQClGVEAtfmrAILf1gCW3WEAFjYCAMQ6nwCDoqEAcu1tADmNegCCuKkAazJcAEYnWwAANO0A0gB3APz0VQABWU0A4HGA"),C(o,115203,"QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNf6CK2VHFWdAAAAAAAAAOEMAAPr+Qi52vzo7nrya9wy9vf3/////3z88VFVVVVXFP5ErF89VVaU/F9CkZxERgT8AAAAAAADIQu85+v5CLuY/JMSC/72/zj+19AzXCGusP8xQRtKrsoM/hDpOm+DXVT8="),C(o,115390,"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gryYg8kW42DvP6ySwdVQWo48hTLbA+Zp7z9LawGsWTqEPGC0AfMhc+8/Hz60ByHVgrxfm3szl3zvP8kNRzu5Kom8KaH1FEaG7z/TiDpgBLZ0PPY/i+cukO8/cXKdUezFgzyDTMf7UZrvP/CR048S94+82pCkoq+k7z99dCPim
2810K6NvPFnji1Ir+8/CCCqQbzDjjwnWmHuG7rvPzLrqcOUK4Q8l7prNyvF7z/uhdExqWSKPEBFblt20O8/7eM75Lo3jrwUvpyt/dvvP53NkU07iXc82JCegcHn7z+JzGBBwQVTPPFxjyvC8+8/EhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJShFLTE1OT1BREFJTVFVWV1hZWltcXRBeX2AQERERYWJjEBAQEBAQEBAQEBERERFkEBAQEBAQEBAQEBAQEBAQERFlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFmZxAQaGkREREREREREREREREREREREREREREREWoREWsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEWxtEBAQEBAQEBAQbhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQb3BxchAQEBAQEBAQc3R1EBAQEBB2dxAQEBB4EBB5EBAQEBAQEBAQEBAQEBA="),C(o,117968,"//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUA=="),C(o,118072,"IAAAAAAA37xA1///+////////////7///////////////////////wP8///////////////////////////+////fwL//////wEAAAAA/7+2AP///4cHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wH/BwAAAAAAAP//3z8AAPD/+AP////////////v/9/h/8///v/vn/n///3F459ZgLDP/wMQ7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AB7un/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO/f/f///f/j3x1gB8//AADv3/3///3v498dYEDP/wYA79/9/////+ffXfCAz/8A/Oz/f/z///svf4Bf/8D/DAD+/////3//Bz8g/wMAAAAA1vf//6///ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A////////////z//////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////BwAAAAD//wAA/////////////z8//v//////////////////////////////////////////////////////////n////v//B////////////8f/Af/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////Af//////B///////////PwD///9//w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgA=="),C(o,118768,"////////7//vD/8DAAAAAP//////8////////7//AwD///////9/AP/j//////8//wH//////+cAAAAAAN5vBP///////////////////////////////wAAAACA/x8A//8/P/////8/P/+q////P////////99f3B/PD/8f3B8="),C(o,118910,"AoAAAP8f"),C(o,118928,"hPwvPlC9//PgQwAA//////8B"),C(o,118982,"wP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIA="),C(o,119088,"4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/"),C(o,119184,"////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8P"),C(o,119582,"3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////Hw=="),C(o,119712,"////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8P"),C(o,119824,"////////fwD//z8A/w=="),C(o,119856,"P/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//Aw=="),C(o,119984,"////////////AQAAAAAAAP///////wcA////////BwD//////wD/Aw=="),C(o,120048,"////H4AA//8/"),C(o,120076,"//9/AP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/9wAP////9HAP//////////HgD/FwAAAAD///v///+fQAAAAAAAAAAAf73/v/8B/////////wH/A++f+f///e3jnxmB4A8="),C(o,120208,"//////////+7B/+DAAAAAP//////////swD/Aw=="),C(o,120256,"////////P38AAAA/AAAAAP////////9/EQD/AwAAAAD///////8/Af8DAAAAAAAA////5/8H/wM="),C(o,120336,"/////////wE="),C(o,120356,"////////////AwCA"),C(o,120388,"//z///////waAAAA////////538AAP///////////yAAAAAA/////////wH//f////9/fwEA/wMAAPz////8///+fw=="),C(o,120464,"f/v/////f7TLAP8Dv/3///9/ewH/Aw=="),C(o,120524,"//9/AP////////////////////////8D"),C(o,120560,"/////////////////38AAP///////////////////////////////w8="),C(o,120624,"//////9/"),C(o,120656,"//////////9/"),C(o,120688,"/////////wH///9//wM="),C(o,120714,"////PwAA////////AAAPAP8D+P//4P//"),C(o,120760,"//////////8="),C(o,120784,"////////////h/////////+A//8AAAAAAAAAAAsAAAD/////////////////////////////////////////AP///////////////////////////////////////wcA////fwAAAAAAAAcA8AD/////////////////////////////////////////////////////////////////D/////////////////8H/x//Af9D"),C(o,120976,"/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////
2810////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98////////9////52wc="),C(o,121136,"//////8fgD//Qw=="),C(o,121192,"//////8P/wP///////////////////////////////8fAAAAAAAAAP//////////jwj/Aw=="),C(o,121264,"7////5b+9wqE6paqlvf3Xv/7/w/u+/8P"),C(o,121302,"////A////wP///8D"),C(o,121328,"/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8="),C(o,121601,"ARcCHRgTAx4bGQsUCAQNHxYcEhoKBwwVEQkGEAUPDt4SBJUAAAAA////////////////INsBABQAAABDLlVURi04"),C(o,121696,"TENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVM="),C(o,121776,"Qy5VVEYtOA=="),C(o,121800,"MAUCAE5vIGVycm9yIGluZm9ybWF0aW9uAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE11bHRpaG9wIGF0dGVtcHRlZABSZXF1aXJlZCBrZXkgbm90IGF2YWlsYWJsZQBLZXkgaGFzIGV4cGlyZWQAS2V5IGhhcyBiZWVuIHJldm9rZWQAS2V5IHdhcyByZWplY3RlZCBieSBzZXJ2aWNl"),C(o,123730,"pQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMB"),C(o,123928,"IQQAAAAAAAAAAC8C"),C(o,123960,"NQRHBFYE"),C(o,123982,"oAQ="),C(o,124002,"RgVgBW4FYQYAAM8BAAAAAAAAAADJBukG+QYeBzkHSQdeBw=="),C(o,124048,"GQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk="),C(o,124129,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO"),C(o,124187,"DA=="),C(o,124199,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),C(o,124245,"EA=="),C(o,124257,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),C(o,124303,"Eg=="),C(o,124315,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),C(o,124370,"GgAAABoaGgAAAAAAAAk="),C(o,124419,"FA=="),C(o,124431,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),C(o,124477,"Fg=="),C(o,124489,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG"),C(o,124564,"EQ=="),C(o,124604,"//////////8="),C(o,124672,"0XSeAFedvSqAcFIP//8+Jw
2810oAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNsAAAAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAGjpAQB46AEAZOoBAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAGjpAQCo6AEAnOgBAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAGjpAQDY6AEAnOgBAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAGjpAQAI6QEA/OgBAAAAAADM6AEAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAAAAAAsOkBABQAAAAcAAAAFgAAABcAAAAYAAAAHQAAAB4AAAAfAAAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAGjpAQCI6QEAzOgBAAAAAAAg6gEACQAAACAAAAAhAAAAAAAAAEjqAQAJAAAAIgAAACMAAAAAAAAACOoBAAkAAAAkAAAAJQAAAFN0OWV4Y2VwdGlvbgAAAABA6QEA+OkBAFN0OWJhZF9hbGxvYwAAAABo6QEAEOoBAAjqAQBTdDIwYmFkX2FycmF5X25ld19sZW5ndGgAAAAAaOkBACzqAQAg6gEAU3Q5dHlwZV9pbmZvAAAAAEDpAQBU6gE="),C(o,125552,"wLEAAMCyAADAswAAwLQAAMC1AADAtgAAwLcAAMC4AADAuQAAwLoAAMC7AADAvAAAwL0AAMC+AADAvwAAwMAAAMDBAADAwgAAwMMAAMDEAADAxQAAwMIAAMDGAADAxwAAwMgAAMDJAADAygAAwMsAAMDMAADAzQAAwM4AAMDPAADA0AAAwNEAAMDSAADA0wAAwNQAAMDVAADA1gAAwNcAAMDYAADA2QAAwNIAAMDaAADA2wAAwNwAAMDdAADA3gAAwN8AAMDgAADA4QAAwNgAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADA4gAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwOMAAMDkAADAwgAAwMIAAMDCAADA5QAAwMIAAMDmAADA5wAAwOgAAMDpAADA6gAAwOsAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADA7AAAwO0AAMDCAADA7gAAwO8AAMDCAADA8AAAwPEAAMDyAADA8wAAwPQAAMD1AADA9gAAwPcAAMD4AADAwgAAwPkAAMD6AADA+wAAwPwAAMD9AADA/gAAwP8AAMAAAQDAAQEAwAIBAMADAQDABAEAwAUBAMAGAQDABwEAwAgBAMAJAQDACgEAwAsBAMAMAQDACwEAwA0BAMAOAQDADwEAwAsBAMDCAADAwgAAwMIAAMAQAQDAEQEAwBIBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDAwgAAwMIAAMDCAADAwgAAwBMBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAwgAAwBQBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAwgAAwBUBAMAWAQDACwEAwAsBAMAXAQDAGAEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAGQEAwMIAAMDCAADAGgEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAGwEAwBwBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMAdAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwB4BAMAfAQDAIAEAwCEBAMAiAQDAIwEAwCQBAMAlAQDA2AAAwNgAAMAmAQDACwEAwAsBAMALAQDACwEAwAsBAMAnAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwCgBAMApAQDACwEAwAsBAMAqAQDACwEAwCsBAMALAQDALAEAwC0BAMAuAQDALwEAwNgAAMDYAADAMAEAwDEBAMAyAQDAMwEAwDQBAMALAQDACwEAwAsBAMALAQDACwEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMA1AQDAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwDYBAMA3AQDAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAOAEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMA5AQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDAwgAAwMIAAMA6AQDAOwEAwDwB"),C(o,128496,"oVcBAEEAAADdVwEAQgAAACZYAQBDAAAAa1gBAEQAAADSWAEARQAAABNZAQBGAAAAfFkBAEcAAACEWQEASAAAADBaAQBJAAAAZ1oBAEoAAADuWgEASwAAAC5bAQBMAAAAcVsBAE0AAADZWwEATgAAAGtcAQBPAAAAh1wBAAgAAADcXAEACQAAAB9dAQAKAAAAZ10BAAsAAACVXQEADAAAAMpdAQANAAAAD14BAA4AAAAqXgEADwAAAIZeAQAPAAAAvV4BABAAAABDXwEA
2810EQAAAH1fAQASAAAAq18BABMAAADZXwEAFAAAAAVgAQAVAAAAMGABABcAAABgYAEAGAAAAHlgAQAZAAAAtWABABsAAADdYAEAHAAAAPBgAQAdAAAAI2EBACAAAABEYQEAIQAAAG9hAQAiAAAAnWEBACMAAADRYQEAJAAAAPNhAQAlAAAAFWIBACYAAABZYgEAKAAAAH1iAQApAAAArmIBACoAAADoYgEAKwAAADVjAQAtAAAAb2MBAC4AAACnYwEALwAAAOZjAQAwAAAAeGQBADEAAACdZAEAMgAAAM9kAQAzAAAA/mQBAGQAAABgZQEAyAAAAN1lAQDJAAAAAAAAAP////8iZgEAAQAAAD5mAQACAAAABVUBAAMAAADNZgEAEQAAADRnAQASAAAAg2cBABMAAAD7ZwEAFAAAADtoAQAVAAAATGgBABYAAAB0aAEAEQAAALdoAQAhAAAAymgBACIAAAD+aAEAIwAAAEtpAQAkAAAAaWkBACUAAACfaQEAJgAAAOJpAQAhAAAAAAAAAP////8AAAAAAAAAACYAAAAAAAAAAQAAAJByAQABAAAAkHMBAAEAAACQdAEAAQAAAJB1AQABAAAAkHYBAAEAAACQdwEAAQAAAJB4AQABAAAAkHkBAAEAAACQegEAAQAAAJB7AQABAAAAkHwBAAEAAACQfQEAAQAAAJB+AQABAAAAkH8BAAEAAACQgAEAAQAAAJCBAQABAAAAkIIBAAUAAAAAAAAABg=="),C(o,129280,"oIMBAKCDAQAghAEAIIQBAKCEAQAghQEAoIUBACCGAQCghgEAoIYBACCHAQAghwEAoIcBAKCHAQAgiAEAIIgBAKCIAQCgiAEAIIkBACCJAQAuOU4ycIoBAAMHBQCQigEALjlOLnCKAQADBwUAkIoBAC45Ti5wigEAAwcFAJCKAQAuOVoycIoBAAMJBQCVigEALjlOMnCKAQADBwUAkIoBAC45SjdwigEABAcFAJqKAQAuOUo3cIoBAAQHBQCaigEALjlKN3CKAQAEBwUAmooBAC45TjJwigEAAwcFAJCKAQAuOU4ucIoBAAMHBQCQigEALjlOMnCKAQADBwUAkIoBACIpKSBwigEAAwcFAJqKAQAuOTcycIoBAAMHBQCaigEAo1MBABABAAAAVAEADAEAANJUAQARAQAAClUBACMAAAB/VQEAGwAAADRWAQAVAAAAxVYBAAABAAABVwEAAgEAAE1XAQADAQAAvVcBAAQBAAD7VwEABQEAAE5YAQATAAAAkVgBAB4AAADVWAEAFwAAAF9ZAQAaAAAAkVkBABkAAAD0WQEAGAAAADhaAQAdAAAAzloBABwAAAAPWwEAFgAAADdbAQAU"),C(o,129744,"Q1gBABABAACIWAEADAEAAPNYAQARAQAAM1kBACMAAACHWQEAGwAAAOBZAQAVAAAAQloBAAABAACcWgEAAgEAAABbAQADAQAAT1sBAAQBAACnWwEABQEAAEhcAQATAAAAc1wBAB4AAADEXAEAFwAAABVdAQAaAAAAXV0BABkAAACIXQEAGAAAANJdAQAdAAAABF4BABwAAAAvXgEAFgAAAF9eAQAU"),C(o,129920,"u08BAAEAAABcUAEAAAAAAM9QAQAAAAAAOFIBAAAAAABBUwEAAAAAAIFTAQAAAAAA+1MBAAAAAADnVAEAAAAAACVVAQAAAAAAiVUBAAAAAABUVgEAAAAAAPxWAQAAAAAADlcBAAAAAABIVwEAAAAAAKdXAQAAAAAA9lcBAAAAAAA3WAEAAAAAAKNYAQAAAAAA6FgBAAAAAAAuWQEAAAAAAH9ZAQAAAAAA61kBAAAAAAD/////g00BAIIAAAB5AAAAdg=="),C(o,130128,"4I8BAOCPAQBQkAEAwJABAMCQAQDAkAEAAQAAANQKAwCMCgMAROcC"),C(o,130176,"I0sBAAEAAAAAAAAA/////1dMAQABAAAA+0wBAAIAAADGTQEAAwAAAAAAAAD/////Vk4BAAAAAADSTgEAAQAAALJPAQACAAAAGFABABQAAAAAAAAA/////wAAAAAAAAAAt1ABABIAAABNUgEAFAAAAN5SAQAkAAAAhlMBAEAAAAARVAEAwQAAAAAAAAD/////q1QBAAEAAAAAAAAA/////1dMAQAAAAAAGVUBAAEAAACRVQEAAgAAAENWAQADAAAA31YBAAQAAAAgVwEABQAAAAAAAAD/////AAAAAAAAAABXTAEAAQAAAIlXAQACAAAAr1cBAAMAAADfVgEABAAAACBXAQAFAAAAAAAAAP////8AAAAAClgBADxYAQAYUAEAqFgB"),C(o,130480,"8l8BAAEAAAA5YAEAAgAAAFhgAQADAAAAgWABAAQAAACwYAEABQAAANNgAQAGAAAABWEBAAcAAAAqYQEACAAAAFFhAQAJAAAAdmEBAAoAAACQYQEACwAAAMNhAQAMAAAA+WEBAA0AAAAuYgEADgAAAE5iAQAPAAAAhmIBAA8AAADUYgEADwAAABljAQAPAAAAP2MBAA8AAACkYwEABwAAANpjAQAHAAAAO2QBAAcAAACEZAEABwAAAK9kAQAHAAAAw2QBAA4AAADnZAEADgAAAAplAQAQAAAA9GUBABAAAAArZgEAEAAAAN9WAQAQAAAAbmYBABAAAADBZgEAEA=="),C(o,130752,"f20BAD4AAACjbQEAPOAAAM1tAQAmAAAA1G0BACIAAAA6bgEAIAAAAHhuAQAnAAAAAAAAAP////8AAAAAAAAAAGNnAQBkAAAAxWcBAAAAAAAJaAEAHgAAAEJoAQBBAAAAQ1YBAGQAAACGaAEAlgAAAKVoAQDmAAAAAAAAAP////9jZwEAZAAAAL5oAQA8AAAA6WgBAFAAAABDVgEAZAAAABJpAQB9AAAAUmkBAKAAAAAAAAAA/////wAAAAAAAAAAY2cBAGQAAACUaQEARgAAAN5pAQBVAAAAQ1YBAGQAAAAoagEAbgAAAGdqAQB4AAAAAAAAAP////8AAAAAAAAAAGNnAQBkAAAAlGkBABQAAADeaQEAMgAAAENWAQBkAAAAKGoBAIwAAABnagEAtAAAAAAAAAD/////"),C(o,131076,"QP8BAAD/AQCA/wEAwP8B"),C(o,131104,"wmoBACDgAAALawEACeAAAEFrAQBf4AAAe2sBACI="),C(o,131152,"q2sBAAEAAAC8awEAAgAAAA1sAQAD"),C(o,131184,"+EwBAMJNAQBTTgEACU8BAOVPAQBkUAEA2lABAGdSAQDyUgEA1FMBAGFUAQ=="),C(o,131236,"iFIBADlTAQAAAAAAnlMBAGRUAQDwVAEAL1UBAJpVAQBQVgE="),C(o,131280,"Y1IBAIADAACAA/8DbGUAAAcAAAA0UwEAIAQAAAAELwUAAAAAAAAAAHNTAQAwBQAAMAWPBXloAAAEAAAAG1QBAJAFAACQBf8FAAAAAAAAAAC3VAEAAAYAAAAG/wYAAAAAAAAAACpVAQAABwAAAAdPBwAAAAAAAAAAllUBAAAJAAAACX8JaWgAAAQAAAA/VgEAgAkAAIAJ/wluYgAABAAAANZWAQAACgAAAAp/CmFwAAAEAAAAClcBAIAKAACACv8KdWcAAAQAAABfVwEAAAsAAAALfwsAAAAAAAAAAM5XAQCACwAAgAv/C2F0AAAEAAAAD1gBAAAMAAAADH8MZXQAAAAAAAAsWAEAgAwAAIAM/wxuawAABAAAAJ9YAQAADQAAAA1/DWxtAAAEAAAA5FgBAIANAACADf8NaXMAAAQAAAA8WQEAAA4AAAAOfw4AAAAAAAAAAJtZAQCADgAAgA7/DgAAAAAAAAAA8FkBAAAPAAAAD/8PAAAAAAAAAAA0WgEAABAAAAAQnxAAAAAAAAAAANlaAQCgEAAAoBD/EGFrAAAEAAAAGFsBAAARAAAAEf8Rb2sAAAQAAABKWwEAABIAAAASnxMAAAAAAAAAALlbAQAAKAAAACj/KAAAAAAQAAAAWlwBAEAwAABAMP8wAAAAAAgAAACDXAEAADEAAAAx/58AAAAACAAAABhbAQAApwAAAKf/129rAAAM"),C(o,131840,"WAIAAKoAAACwBAAAhwAAANAHAABuAAAAuAsAAG4AAAD/////"),C(o,131888,"qAsD"),C(o,131904,"mF4BAAEAAAA4XwEAAgAAAGFfAQADAAAAnV8BAAYAAADCXwEACQAAAPhfAQAKAAAAJ2ABAAQAAABNYAEABQAAAI1gAQAkAAAAq2ABAAsAAADVYAEADAAAAPZgAQANAAAAFmEBAA4AAABMYQEADwAAAGdhAQAQAAAAlmEBABEAAAC7YQEAEgAAAAJiAQAfAAAAG2IBACUAAABIYgEAIAAAAJJiAQAhAAAAzmIBACIAAADwYgEABwAAAC5jAQAI"),C(o,132112,"jmMBAAEAAAC8YwEAAgAAAAAAAAABAAAAFJwBACCcAQAsnAEAPAAAABo="),C(o,132163,"AgMFCAsOEhYbICUrMTc+RUxTWmJpcXmAiJCYn6autbzCyc/V2uDk6e3w9Pb5+/z9/f39/Pv59vTw7enk4NrVz8nCvLWupp+Yk
2810IiAeXFpYlpTTEU+NzErJSAbFhIOCwgFAwI="),C(o,132288,"QAAAAAABAAAAAAAA7AQCACcAAAAoAAAAKQAAACoAAAArAAAAQOkBAMO2AQBo6QEAsLYBAOQEAgAAAAAAJAUCACwAAAAtAAAALgAAAC8AAABA6QEAArcBAGjpAQDstgEAEAUCAGjpAQDStgEAGAUCAAU="),C(o,132412,"DQ=="),C(o,132436,"CwAAAAoAAADoeAM="),C(o,132460,"Ag=="),C(o,132476,"//////////8="),C(o,132544,"MAUCAAAAAAAF"),C(o,132564,"MA=="),C(o,132588,"CwAAADEAAAD4eAMAAAQ="),C(o,132612,"AQ=="),C(o,132628,"/////wo="),C(o,132696,"yAUCAAB/BA==");var Ci,LA=(Ci=[null,function(t){var A,r=0;return r=e[(t|=0)>>2],e[t>>2]=r+1,r=255&(A=g[0|r]),(0|A)<0&&(r=_[(e[t+12>>2]+(r<<1)|0)-256>>1]),0|r},eo,function(t){var A,r;return A=e[(t|=0)>>2],r=e[A>>2],e[t>>2]=A+4,0|r},function(t){var A=0,r=0;return A=e[(t|=0)>>2],(0|(r=Rt(t)))==65533&&(e[t>>2]=A+1,e[t+8>>2]=1,r=255&(A=g[0|A]),(0|A)>=0||(r=_[(e[t+12>>2]+(r<<1)|0)-256>>1])),0|r},Rt,function(t){var A,r,n=0;return(n=e[4+(t|=0)>>2])>>>0<=(r=(A=e[t>>2])+1|0)>>>0?(e[t>>2]=n,65533):(e[t>>2]=r,n=d[0|A],e[t>>2]=A+2,n|d[A+1|0]<<8)},function(t,A){var r,n,i;return A|=0,t=e[(t|=0)>>2],r=e[t+4>>2],n=e[A>>2],(A=Zr(r+1|0,(i=e[n+4>>2])+1|0))||(A=g[0|r]-g[0|i]|0)||(A=Zr(e[t>>2],e[n>>2])),0|A},function(t,A){var r;return t|=0,A=e[(A|=0)>>2],r=e[t>>2],(t=e[A+16>>2]-e[r+16>>2]|0)||(t=Zr(e[r>>2],e[A>>2])),0|t},Zo,function(t,A,r,n){var i;return A|=0,r|=0,n|=0,oe=i=oe-16|0,(t=0|pt(e[60+(t|=0)>>2],0|A,0|r,255&n,i+8|0))?(e[56798]=t,t=-1):t=0,oe=i+16|0,fe=t?-1:e[i+12>>2],0|(t?-1:e[i+8>>2])},function(t,A,r){A|=0,r|=0;var n,i=0,l=0,h=0,m=0,w=0,M=0;oe=n=oe-32|0,i=e[28+(t|=0)>>2],e[n+16>>2]=i,h=e[t+20>>2],e[n+28>>2]=r,e[n+24>>2]=A,A=h-i|0,e[n+20>>2]=A,h=A+r|0,w=2;e:{t:{A=n+16|0,(i=0|de(e[t+60>>2],0|A,2,n+12|0))?(e[56798]=i,i=-1):i=0;r:{if(i)i=A;else for(;;){if((0|(l=e[n+12>>2]))==(0|h))break r;if((0|l)<0){i=A;break t}if(m=l-((M=(m=e[A+4>>2])>>>0<l>>>0)?m:0)|0,e[(i=(M<<3)+A|0)>>2]=m+e[i>>2],e[(A=(M?12:4)+A|0)>>2]=e[A>>2]-m,h=h-l|0,A=i,w=w-M|0,(l=0|de(e[t+60>>2],0|A,0|w,n+12|0))?(e[56798]=l,l=-1):l=0,l)break}if((0|h)!=-1)break t}A=e[t+44>>2],e[t+28>>2]=A,e[t+20>>2]=A,e[t+16>>2]=A+e[t+48>>2],t=r;break e}e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t>>2]=32|e[t>>2],t=0,(0|w)!=2&&(t=r-e[i+4>>2]|0)}return oe=n+32|0,0|t},function(t,A,r){t|=0,A|=0,r|=0;var n,i=0,l=0,h=0;oe=n=oe-32|0,e[n+16>>2]=A,i=e[t+48>>2],e[n+20>>2]=r-!!(0|i),l=e[t+44>>2],e[n+28>>2]=i,e[n+24>>2]=l;e:{t:{if((i=0|Ot(e[t+60>>2],n+16|0,2,n+12|0))?(e[56798]=i,i=-1):i=0,i)A=32;else{if((0|(i=e[n+12>>2]))>0)break t;A=i?32:16}e[t>>2]=A|e[t>>2];break e}h=i,(l=e[n+20>>2])>>>0>=i>>>0||(i=e[t+44>>2],e[t+4>>2]=i,e[t+8>>2]=i+(h-l|0),e[t+48>>2]&&(e[t+4>>2]=i+1,g[(A+r|0)-1|0]=d[0|i]),h=r)}return oe=n+32|0,0|h},function(t){return 0|Pe(e[60+(t|=0)>>2])},mi,function(t,A,r,n,i,l){t|=0,A=+A,r|=0,n|=0,i|=0,l|=0;var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0,Wt=0;oe=h=oe-560|0,e[h+44>>2]=0,V(+A),m=0|G(1),G(0),(0|m)<0?(Ve=1,Pt=84997,V(+(A=-A)),m=0|G(1),G(0)):2048&i?(Ve=1,Pt=85e3):(Pt=(Ve=1&i)?85003:84998,Wt=!Ve);e:if(2146435072&~m){it=h+16|0;t:{r:{a:{if(A=To(A,h+44|0),(A+=A)!=0){if(m=e[h+44>>2],e[h+44>>2]=m-1,(0|(ht=32|l))!=97)break a;break t}if((0|(ht=32|l))==97)break t;P=e[h+44>>2],R=(0|n)<0?6:n;break r}P=m-29|0,e[h+44>>2]=P,A*=268435456,R=(0|n)<0?6:n}for(w=be=(h+48|0)+((0|P)>=0?288:0)|0;n=A<4294967296&A>=0?~~A>>>0:0,e[w>>2]=n,w=w+4|0,(A=1e9*(A-+(n>>>0)))!=0;);if((0|P)<=0)n=P,m=w,M=be;else for(M=be,n=P;;){if(ae=(0|n)>=29?29:n,!(M>>>0>(m=w-4|0)>>>0)){for(n=0;y=e[m>>2],yt=n,n=31&ae,(63&ae)>>>0>=32?(ee=y<<n,n=0):(ee=(1<<n)-1&y>>>32-n,n=y<<n),y=ee+ue|0,n=$i(yt=yt+n|0,n>>>0>yt>>>0?y+1|0:y,1e9),e[m>>2]=yt-rr(n,fe,1e9,0),M>>>0<=(m=m-4|0)>>>0;);n&&(e[(M=M-4|0)>>2]=n)}for(;M>>>0<(m=w)>>>0&&!e[(w=m-4|0)>>2];);if(n=e[h+44>>2]-ae|0,e[h+44>>2]=n,w=m,!((0|n)>0))break}if((0|n)<0)for($e=1+((R+25>>>0)/9|0)|0,ue=(0|ht)==102;;){if(ee=(0|(n=0-n|0))>=9?9:n,m>>>0<=M>>>0)w=e[M>>2];else{for(ae=1e9>>>ee|0,y=~(-1<<ee),n=0,w=M;yt=n,n=e[w>>2],e[w>>2]=yt+(n>>>ee|0),n=F(ae,n&y),(w=w+4|0)>>>0<m>>>0;);w=e[M>>2],n&&(e[m>>2]=n,m=m+4|0)}if(n=ee+e[h+44>>2]|0,e[h+44>>2]=n,M=(!w<<2)+M|0,m=m-(w=ue?be:M)>>2>(0|$e)?w+($e<<2)|0:m,!((0|n)<0))break}if(n=0,!(m>>>0<=M>>>0||(n=F(be-M>>2,9),w=10,(y=e[M>>2])>>>0<10)))for(;n=n+1|0,y>>>0>=(w=F(w,10))>>>0;);if((0|(w=(R-((0|ht)!=102?n:0)|0)-((0|ht)==103&!!(0|R))|0))<(F(m-be>>
vendor: 24,338 bytes, line 2810
28102,9)-9|0)){if(P=((((0|P)<0?4:292)+h|0)+((y=(0|(ae=w+9216|0))/9|0)<<2)|0)-4048|0,w=10,(0|(ee=ae-F(y,9)|0))<=7)for(;w=F(w,10),(0|(ee=ee+1|0))!=8;);if(!(!(ue=(ae=e[P>>2])-F(w,$e=(ae>>>0)/(w>>>0)|0)|0)&(0|(y=P+4|0))==(0|m))&&(!(1&$e)&&(A=9007199254740992,!(1&g[P-4|0])|(0|w)!=1e9|M>>>0>=P>>>0)||(A=9007199254740994),_e=(0|m)==(0|y)?1:1.5,_e=(y=w>>>1|0)>>>0>ue>>>0?.5:(0|y)==(0|ue)?_e:1.5,d[0|Pt]!=45|Wt||(_e=-_e,A=-A),y=ae-ue|0,e[P>>2]=y,A+_e!=A)){if(n=w+y|0,e[P>>2]=n,n>>>0>=1e9)for(;e[P>>2]=0,(P=P-4|0)>>>0<M>>>0&&(e[(M=M-4|0)>>2]=0),n=e[P>>2]+1|0,e[P>>2]=n,n>>>0>999999999;);if(n=F(be-M>>2,9),w=10,!((y=e[M>>2])>>>0<10))for(;n=n+1|0,y>>>0>=(w=F(w,10))>>>0;);}m=m>>>0>(w=P+4|0)>>>0?w:m}for(;y=m,!(ae=m>>>0<=M>>>0)&&!e[(m=y-4|0)>>2];);if((0|ht)==103){if(R=((m=(0|(w=R||1))>(0|n)&(0|n)>-5)?~n:-1)+w|0,l=(m?-1:-2)+l|0,!(P=8&i)){if(m=-9,!ae&&(P=e[y-4>>2])&&(ee=10,m=0,!((P>>>0)%10|0))){for(;w=m,m=m+1|0,!((P>>>0)%((ee=F(ee,10))>>>0)|0););m=~w}w=F(y-be>>2,9),(-33&l)!=70?(P=0,R=(0|(m=(0|(m=((n+w|0)+m|0)-9|0))>0?m:0))>(0|R)?R:m):(P=0,R=(0|(m=(0|(m=(m+w|0)-9|0))>0?m:0))>(0|R)?R:m)}}else P=8&i;if(ee=-1,(0|((ae=P|R)?2147483645:2147483646))<(0|R))break e;if(ue=1+(!!(0|ae)+R|0)|0,(0|(w=-33&l))!=70){if((it-(m=fn(((m=n>>31)^n)-m|0,0,it))|0)<=1)for(;g[0|(m=m-1|0)]=48,(it-m|0)<2;);if(g[0|($e=m-2|0)]=l,g[m-1|0]=(0|n)<0?45:43,(0|(m=it-$e|0))>(2147483647^ue))break e}else{if((2147483647^ue)<(0|n))break e;m=(0|n)>0?n:0}if((0|(n=m+ue|0))>(2147483647^Ve))break e;Ws(t,32,r,ue=n+Ve|0,i),Hs(t,Pt,Ve),Ws(t,48,r,ue,65536^i);r:{a:{n:{if((0|w)==70){for(n=8|(l=h+16|0),P=9|l,M=w=M>>>0>be>>>0?be:M;;){m=fn(e[M>>2],0,P);c:if((0|w)==(0|M))(0|m)==(0|P)&&(g[h+24|0]=48,m=n);else{if(h+16>>>0>=m>>>0)break c;for(;g[0|(m=m-1|0)]=48,h+16>>>0<m>>>0;);}if(Hs(t,m,P-m|0),!(be>>>0>=(M=M+4|0)>>>0))break}if(ae&&Hs(t,85998,1),(0|R)<=0|M>>>0>=y>>>0)break n;for(;;){if((m=fn(e[M>>2],0,P))>>>0>h+16>>>0)for(;g[0|(m=m-1|0)]=48,h+16>>>0<m>>>0;);if(Hs(t,m,(0|R)>=9?9:R),m=R-9|0,y>>>0<=(M=M+4|0)>>>0)break a;if(n=(0|R)>9,R=m,!n)break}break a}c:if(!((0|R)<0))for(be=M>>>0<y>>>0?y:M+4|0,n=8|(l=h+16|0),y=9|l,w=M;;){(0|y)==(0|(m=fn(e[w>>2],0,y)))&&(g[h+24|0]=48,m=n);o:if((0|w)==(0|M))Hs(t,m,1),m=m+1|0,P|R&&Hs(t,85998,1);else{if(h+16>>>0>=m>>>0)break o;for(;g[0|(m=m-1|0)]=48,h+16>>>0<m>>>0;);}if(Hs(t,m,(0|(l=y-m|0))>(0|R)?R:l),R=R-l|0,be>>>0<=(w=w+4|0)>>>0)break c;if(!((0|R)>=0))break}Ws(t,48,R+18|0,18,0),Hs(t,$e,it-$e|0);break r}m=R}Ws(t,48,m+9|0,9,0)}Ws(t,32,r,ue,8192^i),ee=(0|r)<(0|ue)?ue:r;break e}if(P=(l<<26>>31&9)+Pt|0,!(n>>>0>11)){for(m=12-n|0,_e=16;_e*=16,m=m-1|0;);A=d[0|P]!=45?A+_e-_e:-(_e+(-A-_e))}for((0|it)==(0|(m=fn(((m=e[h+44>>2])^(w=m>>31))-w|0,0,it)))&&(g[h+15|0]=48,m=h+15|0),be=2|Ve,M=32&l,w=e[h+44>>2],g[0|(R=m-2|0)]=l+15,g[m-1|0]=(0|w)<0?45:43,m=8&i,w=h+16|0;l=w,y=he(A)<2147483648?~~A:-2147483648,g[0|w]=M|d[y+124512|0],!((0|n)>0|m)&(A=16*(A-+(0|y)))==0|((w=l+1|0)-(h+16|0)|0)!=1||(g[l+1|0]=46,w=l+2|0),A!=0;);ee=-1,(2147483645-(l=(m=it-R|0)+be|0)|0)<(0|n)||(Ws(t,32,r,l=(n=!n||((M=w-(h+16|0)|0)-2|0)>=(0|n)?M=w-(h+16|0)|0:n+2|0)+l|0,i),Hs(t,P,be),Ws(t,48,r,l,65536^i),Hs(t,h+16|0,M),Ws(t,48,n-M|0,0,0),Hs(t,R,m),Ws(t,32,r,l,8192^i),ee=(0|r)<(0|l)?l:r)}else Ws(t,32,r,m=Ve+3|0,-65537&i),Hs(t,Pt,Ve),n=32&l,Hs(t,A!=A?n?85596:85774:n?85247:85460,3),Ws(t,32,r,m,8192^i),ee=(0|r)<(0|m)?m:r;return oe=h+560|0,0|ee},function(t,A){var r;t|=0,r=A|=0,A=e[A>>2]+7&-8,e[r>>2]=A+16,S[t>>3]=Pa(e[A>>2],e[A+4>>2],e[A+8>>2],e[A+12>>2])},function(t,A,r){A|=0,r|=0;var n,i,l=0,h=0;return n=e[84+(t|=0)>>2],h=e[n+4>>2],i=e[t+28>>2],(l=(l=e[t+20>>2]-i|0)>>>0>h>>>0?h:l)&&($A(e[n>>2],i,l),e[n>>2]=l+e[n>>2],h=e[n+4>>2]-l|0,e[n+4>>2]=h),l=e[n>>2],(h=r>>>0>h>>>0?h:r)&&($A(l,A,h),l=h+e[n>>2]|0,e[n>>2]=l,e[n+4>>2]=e[n+4>>2]-h),g[0|l]=0,A=e[t+44>>2],e[t+28>>2]=A,e[t+20>>2]=A,0|r},function(t,A,r){r|=0;var n,i,l=0;return $A(A|=0,n=e[84+(t|=0)>>2],r=r>>>0>(l=(i=Wn(n,0,l=r+256|0))?i-n|0:l)>>>0?l:r),A=n+l|0,e[t+84>>2]=A,e[t+8>>2]=A,e[t+4>>2]=r+n,0|r},function(t,A,r){A|=0,r|=0;var n,i=0,l=0,h=0;i=e[84+(t|=0)>>2],n=e[i>>2]?i:84412,i=0;e:if(e[t+48>>2])for(;;){if(!(l=e[(i<<2)+n>>2]))break e;if(g[e[t+44>>2]+i|0]=(0|l)>=128?64:l,!((i=i+1|0)>>>0<re[t+48>>2]))break}return l=e[t+44>>2],e[t+4>>2]=l,e[t+84>>2]=(i<<2)+n,e[t+8>>2]=i+l,!r|!i||(e[t+4>>2]=l+1,g[0|A]=d[0|l],h=1),0|h},Zo,Ga,i0,i0,function(t,A,r){r|=0;var n,i=0;return oe=n=oe+-64|0,i=1,Bn(t|=0,A|=0,0)||(i=0,A&&(i=0,(A=Or(A,125132))&&(IA(4|(i=n+8|0),0,52),e[n+56>>2]=1,e[n+20>>2]=-1,e[n+16>>2]=t,e[n+8>>2]=A,LA[e[e[A>>2]+28>>2]](A,i,e[r>>2],1),(0|(t=e[n+32>>2]))==1&&(e[r>>2]=e[n+24>>2]),i=(0|t)==1))),oe=n- -64|0,0|i},function(t,A,r,n,i,l){r|=0,n|=0,i|=0,l|=0,Bn(t|=0,e[8+(A|=0)>>2],l)&&Yi(A,r,n,i)},function(t,A,r,n,i){if(r|=0,n|=0,i|=0,Bn(t|=0,e[8+(A|=0)>>2],i))e[A+28>>2]==1|e[A+4>>2]!=(0|r)||(e[A+28>>2]=n);else e:if(Bn(t,e[A>>2],i)){if(!(e[A+16>>2]!=(0|r)&e[A+20>>2]!=(0|r))){if((0|n)!=1)break e;return void(e[A+32>>2]=1)}e[A+20>>2]=r,e[A+32>>2]=n,e[A+40>>2]=e[A+40>>2]+1,e[A+36>>2]!=1|e[A+24>>2]!=2||(g[A+54|0]=1),e[A+44>>2]=4}},function(t,A,r,n){r|=0,n|=0,Bn(t|=0,e[8+(A|=0)>>2],0)&&po(A,r,n)},Ga,function(t,A,r,n,i,l){r|=0,n|=0,i|=0,l|=0,Bn(t|=0,e[8+(A|=0)>>2],l)?Yi(A,r,n,i):(t=e[t+8>>2],LA[e[e[t>>2]+20>>2]](t,A,r,n,i,l))},function(t,A,r,n,i){if(r|=0,n|=0,i|=0,Bn(t|=0,e[8+(A|=0)>>2],i))e[A+28>>2]==1|e[A+4>>2]!=(0|r)||(e[A+28>>2]=n);else e:{if(Bn(t,e[A>>2],i)){if(!(e[A+16>>2]!=(0|r)&e[A+20>>2]!=(0|r))){if((0|n)!=1)break e;return void(e[A+32>>2]=1)}e[A+32>>2]=n;t:if(e[A+44>>2]!=4){if(v[A+52>>1]=0,t=e[t+8>>2],LA[e[e[t>>2]+20>>2]](t,A,r,r,1,i),d[A+53|0]){if(e[A+44>>2]=3,!d[A+52|0])break t;break e}e[A+44>>2]=4}if(e[A+20>>2]=r,e[A+40>>2]=e[A+40>>2]+1,e[A+36>>2]!=1|e[A+24>>2]!=2)break e;return void(g[A+54|0]=1)}t=e[t+8>>2],LA[e[e[t>>2]+24>>2]](t,A,r,n,i)}},function(t,A,r,n){r|=0,n|=0,Bn(t|=0,e[8+(A|=0)>>2],0)?po(A,r,n):(t=e[t+8>>2],LA[e[e[t>>2]+28>>2]](t,A,r,n))},Ga,function(t){return 84787},Ga,function(t){return 85058},Ga,function(t){return 84147},function(t){var A;return A=t|=0,t=e[t>>2],e[A>>2]=t+1,0|((0|(t=g[0|t]))<0?65533:255&t)},function(t,A,r,n,i,l){t|=0,A|=0,r|=0,n|=0,i|=0,l|=0;var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0;if(h=Ka(408),e[h+4>>2]=n,e[h>>2]=r,A?($A(h+16|0,A,376),S[h+392>>3]=(S[A+368>>3]-S[A>>3])/+(r>>>0),A=0):A=1,e[h+400>>2]=i,g[h+8|0]=A,l){if(r=e[t+24>>2])for(A=e[t+20>>2],n=e[t+8>>2];(i=e[e[(A>>>8&16777212)+n>>2]+((1023&A)<<2)>>2])&&(EA(i),r=e[t+24>>2],n=e[t+8>>2],A=e[t+20>>2]),A=A+1|0,e[t+20>>2]=A,r=r-1|0,e[t+24>>2]=r,A>>>0>=2048&&(EA(e[n>>2]),n=e[t+8>>2]+4|0,e[t+8>>2]=n,A=e[t+20>>2]-1024|0,e[t+20>>2]=A,r=e[t+24>>2]),r;);A=e[t+28>>2],e[t+420>>2]=e[A>>2],(r=e[t+32>>2])&&(g[A+8|0]=d[r+8|0],$A(A+16|0,t+40|0,376),(A=e[t+32>>2])&&EA(A),e[t+32>>2]=0)}if(r=(n=e[t+24>>2])+e[t+20>>2]|0,i=e[t+12>>2],(0|r)==(0|((0|(A=e[t+8>>2]))!=(0|i)?(i-A<<8)-1:0))){oe=m=oe-32|0;e:{t:{r:{a:{if((A=e[16+(l=t+4|0)>>2])>>>0>=1024){if(e[l+16>>2]=A-1024,A=e[l+4>>2],R=e[A>>2],i=A+4|0,e[l+4>>2]=i,(0|(A=e[l+8>>2]))==e[l+12>>2])if((w=e[l>>2])>>>0<i>>>0)r=sr((n=(1+(i-w>>2)|0)/-2<<2)+i|0,i,A=A-i|0)+A|0,e[l+8>>2]=r,e[l+4>>2]=n+e[l+4>>2];else{if((r=(0|A)==(0|w)?1:A-w>>1)>>>0>=1073741824)break a;if(ee=(n=r<<2)+(M=Ka(n))|0,r=n=M+(-4&r)|0,(0|A)!=(0|i)){if(ae=-4&(A=A-i|0),P=1+((y=A-4|0)>>>2|0)&7)for(r=0,A=n;e[A>>2]=e[i>>2],i=i+4|0,A=A+4|0,(0|P)!=(0|(r=r+1|0)););else A=n;if(r=n+ae|0,!(y>>>0<28))for(;e[A>>2]=e[i>>2],e[A+4>>2]=e[i+4>>2],e[A+8>>2]=e[i+8>>2],e[A+12>>2]=e[i+12>>2],e[A+16>>2]=e[i+16>>2],e[A+20>>2]=e[i+20>>2],e[A+24>>2]=e[i+24>>2],e[A+28>>2]=e[i+28>>2],i=i+32|0,(0|r)!=(0|(A=A+32|0)););}e[l+12>>2]=ee,e[l+8>>2]=r,e[l+4>>2]=n,e[l>>2]=M,w&&(EA(w),r=e[l+8>>2])}else r=A;e[r>>2]=R,e[l+8>>2]=e[l+8>>2]+4;break e}if((w=(i=e[l+8>>2])-e[l+4>>2]>>2)>>>0<(n=(A=e[l+12>>2])-(r=e[l>>2])|0)>>2>>>0){if((0|A)!=(0|i)){e[m+8>>2]=Ka(4096),mt(l,m+8|0);break e}if(e[m+8>>2]=Ka(4096),qe(l,m+8|0),A=e[l+4>>2],R=e[A>>2],i=A+4|0,e[l+4>>2]=i,(0|(A=e[l+8>>2]))==e[l+12>>2])if((w=e[l>>2])>>>0<i>>>0)r=sr((n=(1+(i-w>>2)|0)/-2<<2)+i|0,i,A=A-i|0)+A|0,e[l+8>>2]=r,e[l+4>>2]=n+e[l+4>>2];else{if((r=(0|A)==(0|w)?1:A-w>>1)>>>0>=1073741824)break a;if(ee=(n=r<<2)+(M=Ka(n))|0,r=n=M+(-4&r)|0,(0|A)!=(0|i)){if(ae=-4&(A=A-i|0),P=1+((y=A-4|0)>>>2|0)&7)for(r=0,A=n;e[A>>2]=e[i>>2],i=i+4|0,A=A+4|0,(0|P)!=(0|(r=r+1|0)););else A=n;if(r=n+ae|0,!(y>>>0<28))for(;e[A>>2]=e[i>>2],e[A+4>>2]=e[i+4>>2],e[A+8>>2]=e[i+8>>2],e[A+12>>2]=e[i+12>>2],e[A+16>>2]=e[i+16>>2],e[A+20>>2]=e[i+20>>2],e[A+24>>2]=e[i+24>>2],e[A+28>>2]=e[i+28>>2],i=i+32|0,(0|r)!=(0|(A=A+32|0)););}e[l+12>>2]=ee,e[l+8>>2]=r,e[l+4>>2]=n,e[l>>2]=M,w&&(EA(w),r=e[l+8>>2])}else r=A;e[r>>2]=R,e[l+8>>2]=e[l+8>>2]+4;break e}if(e[m+24>>2]=l+12,!((A=(0|A)==(0|r)?1:n>>1)>>>0>=1073741824)){if(A=Ka(r=A<<2),e[m+8>>2]=A,n=A+(w<<2)|0,e[m+16>>2]=n,e[m+20>>2]=A+r,e[m+12>>2]=n,e[m+4>>2]=Ka(4096),mt(m+8|0,m+4|0),(0|(i=e[l+8>>2]))==e[l+4>>2]){A=i;break t}for(;qe(m+8|0,i=i-4|0),e[l+4>>2]!=(0|i););break r}}rn(),W()}A=e[l+8>>2]}r=e[l>>2],e[l>>2]=e[m+8>>2],e[m+8>>2]=r,e[l+4>>2]=e[m+12>>2],e[m+12>>2]=i,e[l+8>>2]=e[m+16>>2],e[m+16>>2]=A,n=e[l+12>>2],e[l+12>>2]=e[m+20>>2],e[m+20>>2]=n,(0|A)!=(0|i)&&(e[m+16>>2]=A+(3+(i-A|0)&-4)),r&&EA(r)}oe=m+32|0,r=(n=e[t+24>>2])+e[t+20>>2]|0,A=e[t+8>>2]}e[e[A+(r>>>8&16777212)>>2]+((1023&r)<<2)>>2]=h,e[t+24>>2]=n+1},function(t){var A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0;r=e[420+(t|=0)>>2]+1|0,e[t+420>>2]=r;e:{if(A=e[t+32>>2]){if(r>>>0>(m=e[A+4>>2])>>>0){(r=e[t+28>>2])&&(EA(r),A=e[t+32>>2]),e[t+32>>2]=0,e[t+28>>2]=A;break e}for(l=t+40|0,h=A+16|0,w=e[t+28>>2]+16|0,M=+(r>>>0)/+(m>>>0),A=0;;){if(n=S[(r=A<<3)+h>>3],i=S[r+w>>3],S[r+l>>3]=n==n?(n-i)*M+i:i,(0|(r=1|A))==47)break e;n=S[(r<<=3)+h>>3],i=S[r+w>>3],S[r+l>>3]=n==n?(n-i)*M+i:i,A=A+2|0}}if(A=e[t+28>>2],r>>>0>re[A>>2]){if(l=e[t+24>>2]){if(g[t+416|0]=0,h=e[t+8>>2],r=e[t+20>>2],A=e[e[h+(r>>>8&16777212)>>2]+((1023&r)<<2)>>2],e[t+32>>2]=A,e[t+24>>2]=l-1,r=r+1|0,e[t+20>>2]=r,r>>>0>=2048&&(EA(e[h>>2]),e[t+8>>2]=e[t+8>>2]+4,e[t+20>>2]=e[t+20>>2]-1024,A=e[t+32>>2]),d[A+8|0])$A(A+16|0,e[t+28>>2]+16|0,376),A=e[t+32>>2],e[A+368>>2]=0,e[A+372>>2]=0,n=S[t+40>>3],e[A+392>>2]=0,e[A+396>>2]=0,S[A+16>>3]=n;else if(r=e[t+28>>2],d[r+8|0]&&($A(r+16|0,A+16|0,376),A=e[t+28>>2],e[A+368>>2]=0,e[A+372>>2]=0,!(A=e[t+32>>2])))break e;(0|(r=e[A+400>>2]))!=-1&&(e[t+424>>2]=r),e[t+420>>2]=0,S[A+16>>3]=S[A+392>>3]*+re[A+4>>2]+S[A+16>>3];break e}g[t+416|0]=1}else n=S[A+392>>3]+S[t+40>>3],S[t+40>>3]=n,S[A+16>>3]=n}return 0|(d[t+416|0]?0:t+40)},function(t){return e[424+(t|=0)>>2]},function(t){var A=0;return e[(t|=0)>>2]=132304,(A=e[t+28>>2])&&EA(A),(A=e[t+32>>2])&&EA(A),Fi(t+4|0),0|t},function(t){var A=0;e[(t|=0)>>2]=132304,(A=e[t+28>>2])&&EA(A),(A=e[t+32>>2])&&EA(A),Fi(t+4|0),EA(t)},function(t,A,r){A|=0,r|=0;var n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0;if(!e[1088+(t|=0)>>2])return 0;e:if(A){for(M=t+648|0,w=t- -64|0;;){if(n=e[t+1088>>2],!(n=0|LA[e[e[n>>2]+4>>2]](n)))break e;if(i=ci(S[t+32>>3]+S[n+16>>3]/+e[t+24>>2]),S[t+32>>3]=i,i=Vi(6.283185307179586*i),i=ci(S[t+16>>3]+S[n>>3]*(.06*i*S[n+8>>3]+1)/+e[t+8>>2]),S[t+16>>3]=i,m=rr(e[56848],e[56849],1284865837,1481765933),l=fe,l=(m=m+1|0)?l:l+1|0,e[56848]=m,e[56849]=l,h=.75*S[t+40>>3]+ +(l>>>1|0)/2147483647,S[t+40>>3]=h,y=S[n+24>>3],l=i>=S[n+32>>3],g[t+48|0]=l,h=(R=y)*(y=.2*h),h=As(w+512|0,As(w+440|0,i=S[n+352>>3]*(y*S[n+48>>3]+S[n+40>>3]*(i+i+-1+(l?h:.01*h)))*.5,S[n+104>>3],S[n+168>>3]),S[n+112>>3],S[n+176>>3]),h=As(w+8|0,As(w+80|0,As(w+152|0,As(w+224|0,As(w+296|0,As(w+368|0,h==h?(h-i)*S[n+184>>3]+i:i,S[n+96>>3],S[n+160>>3]),S[n+88>>3],S[n+152>>3]),S[n+80>>3],S[n+144>>3]),S[n+72>>3],S[n+136>>3]),S[n+64>>3],S[n+128>>3]),S[n+56>>3],S[n+120>>3]),m=rr(e[56848],e[56849],1284865837,1481765933),l=fe,l=(m=m+1|0)?l:l+1|0,e[56848]=m,e[56849]=l,i=.75*S[t+56>>3]+ +(l>>>1|0)/2147483647,S[t+56>>3]=i,l=(P<<1)+r|0,y=As(M+8|0,i=S[n+352>>3]*(S[n+192>>3]*(.3*i))*.5,S[n+200>>3],S[n+248>>3]),ee=S[n+296>>3],ae=As(M+80|0,i,S[n+208>>3],S[n+256>>3]),ue=S[n+304>>3],be=As(M+152|0,i,S[n+216>>3],S[n+264>>3]),_e=S[n+312>>3],Ve=As(M+224|0,i,S[n+224>>3],S[n+272>>3]),$e=S[n+320>>3],it=As(M+296|0,i,S[n+232>>3],S[n+280>>3]),ht=S[n+328>>3],R=h,h=(As(M+368|0,i,S[n+240>>3],S[n+288>>3])-i)*S[n+336>>3]+(ht*(it-i)+($e*(Ve-i)+(_e*(be-i)+(ue*(ae-i)+(ee*(y-i)+0))))),i=(R+(i==i?(i-h)*S[n+344>>3]+h:h))*S[n+360>>3]*4e3,n=(0|(n=he(i)<2147483648?~~i:-2147483648))>=32e3?32e3:n,v[l>>1]=(0|n)<=-32e3?-32e3:n,(0|(P=P+1|0))==(0|A))break}P=A}return 0|(A>>>0>P>>>0?P:A)},function(t,A){A|=0,e[1088+(t|=0)>>2]=A},Zo,Ga,eo,function(t,A,r,n){return fe=0,0}],Ci.grow=function(t){var A=this.length;return this.length=this.length+t,A},Ci.set=function(t,A){this[t]=A},Ci.get=function(t){return this[t]},Ci);return{v:function(){var t,A=0;oe=t=oe-16|0,0|Bt(t+12|0,t+8|0)||(A=aA(4+(e[t+12>>2]<<2)|0),e[56800]=A,A&&(!(A=aA(e[t+8>>2]))||(e[e[56800]+(e[t+12>>2]<<2)>>2]=0,0|rt(e[56800],0|A)))&&(e[56800]=0)),oe=t+16|0,e[56841]=227236,e[56823]=42},w:Ti,x:wn,y:function(t,A){A|=0,e[(t|=0)>>2]=A},z:function(t,A){return A|=0,g[e[4+(t|=0)>>2]+A|0]},A:ka,B:Qo,C:function(t){return d[12+(t|=0)|0]},D:function(t,A){A|=0,g[12+(t|=0)|0]=A},E:function(t){return d[13+(t|=0)|0]},F:function(t,A){A|=0,g[13+(t|=0)|0]=A},G:function(t){return d[14+(t|=0)|0]},H:function(t,A){A|=0,g[14+(t|=0)|0]=A},I:function(t){return d[15+(t|=0)|0]},J:function(t,A){A|=0,g[15+(t|=0)|0]=A},K:Ai,L:function(t,A){A|=0,e[16+(t|=0)>>2]=A},M:In,N:function(t,A){A|=0,e[20+(t|=0)>>2]=A},O:Ti,P:wn,Q:Po,R:ka,S:bi,T:Ai,U:In,V:function(t){return e[24+(t|=0)>>2]},W:Ti,X:function(){var t,A=0,r=0,n=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,_e=0,Ve=0,$e=0,it=0,ht=0,yt=0,Pt=0;if(t=Ka(20),e[t+16>>2]=0,e[t+8>>2]=175,e[t+12>>2]=50,!(A=e[33208])){oe=A=(oe=$e=oe-16|0)-80|0;e:{if((r=Nn(84292))&&(e[A+32>>2]=r,An(137584,160,85959,A+32|0),(0|Na(137584))==-31||(e[A+16>>2]=r,An(137584,160,86031,A+16|0),(0|Na(137584))==-31)))break e;(r=Nn(84619))&&(e[A>>2]=r,An(137584,160,85959,A),(0|Na(137584))==-31)||(r=d[84826]|d[84827]<<8|d[84828]<<16|d[84829]<<24,e[34396]=d[84822]|d[84823]<<8|d[84824]<<16|d[84825]<<24,e[34397]=r,v[68804]=d[84846]|d[84847]<<8,r=d[84842]|d[84843]<<8|d[84844]<<16|d[84845]<<24,e[34400]=d[84838]|d[84839]<<8|d[84840]<<16|d[84841]<<24,e[34401]=r,r=d[84834]|d[84835]<<8|d[84836]<<16|d[84837]<<24,e[34398]=d[84830]|d[84831]<<8|d[84832]<<16|d[84833]<<24,e[34399]=r)}if(oe=A+80|0,e[$e+12>>2]=0,i=$e+12|0,oe=m=oe-16|0,e[m+12>>2]=22050,pA(85144)||pA(85315)||pA(85473)||pA(85698),P=m+12|0,oe=l=oe-16|0,e[l+12>>2]=0,!((A=Ei(137832,84262,0,i))||(A=Ei(137836,84420,0,i))||(A=Ei(137840,84813,0,i))||(A=Ei(137820,85016,l+12|0,i))))if(e[34454]=re[l+12>>2]/68,r=e[34460],e[34456]=r,r&&(0|(M=d[0|r]|d[r+1|0]<<8|d[r+2|0]<<16|d[r+3|0]<<24))==83969){if(R=d[r+4|0]|d[r+5|0]<<8|d[r+6|0]<<16|d[r+7|0]<<24,r=e[34458],ae=d[0|r],e[34461]=ae,ae)for(A=r+4|0,M=0;n=F(M,44)+137856|0,i=d[0|A],e[n+36>>2]=i,e[n+40>>2]=d[A+1|0],h=d[A+8|0]|d[A+9|0]<<8|d[A+10|0]<<16|d[A+11|0]<<24,r=d[A+4|0]|d[A+5|0]<<8|d[A+6|0]<<16|d[A+7|0]<<24,g[0|n]=r,g[n+1|0]=r>>>8,g[n+2|0]=r>>>16,g[n+3|0]=r>>>24,g[n+4|0]=h,g[n+5|0]=h>>>8,g[n+6|0]=h>>>16,g[n+7|0]=h>>>24,h=d[A+16|0]|d[A+17|0]<<8|d[A+18|0]<<16|d[A+19|0]<<24,r=d[A+12|0]|d[A+13|0]<<8|d[A+14|0]<<16|d[A+15|0]<<24,g[n+8|0]=r,g[n+9|0]=r>>>8,g[n+10|0]=r>>>16,g[n+11|0]=r>>>24,g[n+12|0]=h,g[n+13|0]=h>>>8,g[n+14|0]=h>>>16,g[n+15|0]=h>>>24,h=d[A+24|0]|d[A+25|0]<<8|d[A+26|0]<<16|d[A+27|0]<<24,r=d[A+20|0]|d[A+21|0]<<8|d[A+22|0]<<16|d[A+23|0]<<24,g[n+16|0]=r,g[n+17|0]=r>>>8,g[n+18|0]=r>>>16,g[n+19|0]=r>>>24,g[n+20|0]=h,g[n+21|0]=h>>>8,g[n+22|0]=h>>>16,g[n+23|0]=h>>>24,h=d[A+32|0]|d[A+33|0]<<8|d[A+34|0]<<16|d[A+35|0]<<24,r=d[A+28|0]|d[A+29|0]<<8|d[A+30|0]<<16|d[A+31|0]<<24,g[n+24|0]=r,g[n+25|0]=r>>>8,g[n+26|0]=r>>>16,g[n+27|0]=r>>>24,g[n+28|0]=h,g[n+29|0]=h>>>8,g[n+30|0]=h>>>16,g[n+31|0]=h>>>24,r=A+36|0,e[n+32>>2]=r,A=r+(i<<4)|0,(0|ae)!=(0|(M=M+1|0)););(0|ae)<=e[34457]&&(e[34457]=0),A=0,P&&(e[P>>2]=R)}else e:{t:{if(i){if(r=e[i>>2]){EA(e[r+4>>2]),A=e[i>>2];break t}if(A=aA(16),e[i>>2]=A,A)break t;A=48}else A=268436223;break e}e[A>>2]=1,e[A+4>>2]=sn(137584),r=e[i>>2],e[r+12>>2]=83969,e[r+8>>2]=M,A=268436223}if(oe=l+16|0,r=A,!A){if(P=e[m+12>>2],e[50754]=P,e[50759]=0,e[50760]=134217728/(0|P),e[50762]=0,e[50763]=0,e[50765]=2147483647,e[50781]=100,e[50779]=32,e[50761]=(P<<6)/(0|P),A=e[26385],e[50784]=e[26384],e[50785]=A,A=e[26387],e[50786]=e[26386],e[50787]=A,A=e[26389],e[50788]=e[26388],e[50789]=A,A=e[26391],e[50790]=e[26390],e[50791]=A,A=e[26393],e[50792]=e[26392],e[50793]=A,A=e[26395],e[50794]=e[26394],e[50795]=A,A=e[26397],e[50796]=e[26396],e[50797]=A,e[50798]=e[26398],R=(0|(A=(0|(i=F(P,60)))/12800|0))>=128?128:A,e[50799]=R,e[50800]=(0|R)/2,!((0|P)==22050|(0|i)<12800)){if(P=1&(A=(0|R)<=1?1:R),_e=+(0|R),M=0,(0|R)>=2)for(R=2147483646&A,A=0;ue=M+132160|0,w=127*(1-Aa(6.283185307179586*+(0|M)/_e)),ee=he(w)<2147483648?~~w:-2147483648,g[0|ue]=ee,ue=132160+(i=1|M)|0,w=127*(1-Aa(6.283185307179586*+(0|i)/_e)),ee=he(w)<2147483648?~~w:-2147483648,g[0|ue]=ee,M=M+2|0,(0|R)!=(0|(A=A+2|0)););P&&(A=M+132160|0,w=127*(1-Aa(6.283185307179586*+(0|M)/_e)),ue=he(w)<2147483648?~~w:-2147483648,g[0|A]=ue)}if(e[50801]=105792,e[56797]=en(),e[55964]=38,e[55921]=1,e[55918]=22050,e[56606]=0,e[55960]=110928,e[55958]=0,e[55959]=1074266112,e[55956]=100,e[55922]=20,e[55923]=220,e[55916]=1,e[55917]=0,da(),e[56244]=0,e[56245]=0,e[55928]=0,e[55926]=0,e[55927]=0,e[55924]=0,e[56246]=0,e[56247]=0,e[56260]=0,e[56261]=0,e[56262]=0,e[56263]=0,e[56276]=0,e[56277]=0,e[56278]=0,e[56279]=0,e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,_e=-3.141592653589793/+(0|(A=e[55918])),S[27967]=_e,i=(0|F(A,630))/1e4|0,e[55920]=i,A=(0|F(A,950))/1e4|0,e[55919]=A,w=-2*_e,S[27968]=w,_e=(yt=fr(_e*+(0|i)))*-yt,S[28129]=_e,w=yt*Aa(w*+(0|A)),w+=w,S[28128]=w,S[28127]=1-w-_e,e[55990]=0,e[55991]=0,e[55988]=0,e[55989]=0,e[56006]=0,e[56007]=0,e[56004]=0,e[56005]=0,e[56022]=0,e[56023]=0,e[56020]=0,e[56021]=0,e[56038]=0,e[56039]=0,e[56036]=0,e[56037]=0,e[56054]=0,e[56055]=0,e[56052]=0,e[56053]=0,e[56070]=0,e[56071]=0,e[56068]=0,e[56069]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0,e[56639]=59,e[56640]=59,e[56629]=0,e[56630]=59,e[56619]=89,e[56620]=160,e[56609]=280,e[56610]=688,e[56611]=1064,e[56621]=70,e[56631]=59,e[56612]=2806,e[56613]=3260,e[56622]=160,e[56623]=200,e[56632]=59,e[56633]=59,e[56641]=89,e[56642]=149,e[56643]=200,e[56644]=200,e[56634]=59,e[56635]=59,e[56624]=200,e[56625]=500,e[56614]=3700,e[56615]=6500,e[56645]=500,e[56646]=0,e[56616]=7e3,e[56626]=500,e[56636]=0,e[56647]=0,e[56637]=0,e[56627]=500,e[56617]=8e3,e[56669]=89,e[56648]=0,e[56638]=0,e[56628]=89,e[56618]=280,e[56657]=62,e[56655]=0,e[56656]=0,e[56653]=50,e[56654]=0,e[56651]=0,e[56652]=0,e[56649]=0,e[56650]=40,e[56607]=1e3,e[56608]=59,oe=l=oe-416|0,e[l+16>>2]=137584,e[l+20>>2]=47,e[l+24>>2]=85952,uA(A=l+240|0,85699,l+16|0),h=la(A,86034)){if(_r(l+240|0,170,h))for(P=5|(A=l+240|0),R=10|A;d[l+240|0]!=47&&(e[l+240>>2]!=1701736308?ra(l+240|0,86614,9)||(e[l+4>>2]=l+32,e[l>>2]=l+239,(0|nA(R,86829,l))==2&&(i=e[34064],e[(ae=136272+(i<<4)|0)>>2]=g[l+239|0],A=sn(l+32|0),e[34064]=i+1,e[ae+12>>2]=A,e[ae+4>>2]=0)):(oe=A=oe-48|0,e[32960]=-1,e[32961]=-1,e[32970]=-1,e[32971]=-1,e[32968]=-1,e[32969]=-1,e[32966]=-1,e[32967]=-1,e[32964]=-1,e[32965]=-1,e[32962]=-1,e[32963]=-1,e[A+36>>2]=131876,e[A+32>>2]=131872,e[A+28>>2]=131868,e[A+24>>2]=131864,e[A+20>>2]=131860,e[A+16>>2]=131856,e[A+12>>2]=131852,e[A+8>>2]=131848,e[A+4>>2]=131844,e[A>>2]=131840,nA(P,84222,A),oe=A+48|0)),_r(l+240|0,170,h););fa(h)}oe=l+416|0,e[50297]=0,e[50298]=0,e[50301]=0,e[50302]=0,e[50299]=0,e[50300]=0,xi(0,85698),e[36425]=0,e[36424]=0,e[36426]=0,e[36427]=-1,mn(),nr(0),n=e[25690],e[34062]=n,y=e[25689],l=e[25688],e[34060]=l,e[34061]=y,be=e[25687],h=e[25686],e[34058]=h,e[34059]=be,Ve=e[25685],ae=e[25684],e[34056]=ae,e[34057]=Ve,it=e[25683],P=e[25682],e[34054]=P,e[34055]=it,ht=e[25681],R=e[25680],e[34052]=R,e[34053]=ht,ee=e[25679],i=e[25678],e[34050]=i,e[34051]=ee,ue=e[25677],A=e[25676],e[34048]=A,e[34049]=ue,e[33729]=A,e[33730]=ue,e[33731]=i,e[33732]=ee,e[33733]=R,e[33734]=ht,e[33735]=P,e[33736]=it,e[33737]=ae,e[33738]=Ve,e[33739]=h,e[33740]=be,e[33741]=l,e[33742]=y,e[33743]=n,os(1,175),os(2,100),os(6,e[47200]),os(5,e[47201]),os(7,0),e[47198]=0,e[47197]=0,w=+Ge()/1e3,i=rr(A=he(w)<9223372036854776e3?~~w>>>0:0,0,1103515245,0),A=fe,A=(i=i+12345|0)>>>0<12345?A+1|0:A,e[33209]=Cn(i,A)}if(oe=m+16|0,r){ue=e[30450],it=e[$e+12>>2],m=48+(y=oe-560|0)|0,oe=n=(oe=y)-16|0;e:{switch(0|Ks(r-268435967|0,24)){case 0:vr(m,84133,512);break e;case 1:vr(m,84580,512);break e;case 2:vr(m,84747,512);break e;case 3:vr(m,85084,512);break e;case 4:vr(m,85251,512);break e;case 5:vr(m,85380,512);break e;case 6:vr(m,85607,512);break e;case 7:vr(m,85722,512);break e;case 8:vr(m,85913,512);break e;case 9:vr(m,86046,512);break e;case 10:vr(m,86153,512);break e;case 11:vr(m,86678,512);break e;case 12:vr(m,86773,512);break e;case 14:vr(m,86958,512);break e;case 15:vr(m,87071,512);break e}if(1879048192&r)e[n>>2]=r,An(m,512,87182,n);else{if(M=0,l=_[123728+((r>>>0<=153?r:0)<<1)>>1]+121804|0,r=e[e[56841]+20>>2]){ht=e[r+4>>2],be=e[r>>2],Ve=e[be>>2]+1794895138|0,ee=hi(e[be+8>>2],Ve),i=hi(e[be+12>>2],Ve),A=hi(e[be+16>>2],Ve);t:if(!(ht>>>2>>>0<=ee>>>0||3&(A|i)|(r=ht-(ee<<2)|0)>>>0<=i>>>0|A>>>0>=r>>>0))for(P=A>>>2|0,R=i>>>2|0;;){if(ae=hi(e[(r=((A=(i=(h=ee>>>1|0)+Pt|0)<<1)+R<<2)+be|0)>>2],Ve),(r=hi(e[r+4>>2],Ve))>>>0>=ht>>>0|ae>>>0>=ht-r>>>0|d[(r+ae|0)+be|0])break t;if(!(r=Zr(l,r+be|0))){if(A=hi(e[(r=(A+P<<2)+be|0)>>2],Ve),(r=hi(e[r+4>>2],Ve))>>>0>=ht>>>0|A>>>0>=ht-r>>>0)break t;M=d[(A+r|0)+be|0]?0:r+be|0;break t}if((0|ee)==1)break t;ee=(r=(0|r)<0)?h:ee-h|0,Pt=r?Pt:i}}if((r=wA(A=M||l))>>>0>=512){$A(m,A,511),g[m+511|0]=0;break e}$A(m,A,r+1|0)}}oe=n+16|0;e:if(it){t:switch(e[it>>2]){case 0:e[y+16>>2]=e[it+4>>2],e[y+20>>2]=y+48,ss(ue,87384,y+16|0);break e;case 1:break t;default:break e}A=e[it+12>>2],r=e[it+8>>2],e[y+36>>2]=e[it+4>>2],fe=r,e[y+40>>2]=A,e[y+44>>2]=fe,e[y+32>>2]=y+48,ss(ue,87521,y+32|0)}else e[y>>2]=y+48,ss(ue,87700,y);oe=y+560|0,(0|$e)!=-12&&(r=e[$e+12>>2])&&(EA(e[r+4>>2]),EA(e[$e+12>>2]),e[$e+12>>2]=0)}r=e[24806],e[34389]=0,e[32538]=r,r=(1e3+((r=F(e[50754],100))-((0|r)%1e3|0)|0)|0)/500|0,e[34390]=r,r=ds(e[34391],r),e[34392]=r,r&&(e[34391]=r,e[34393]=40,(r=ds(e[34388],1440))&&(e[34388]=r)),e[47198]=0,oe=$e+16|0,A=e[50754],e[33208]=A}return e[t+4>>2]=A,e[t>>2]=_A(),0|t},Y:function(t,A,r){t|=0,A|=0,r|=0,e[34440]=r,gn(3,e[t+12>>2]),gn(1,e[t+8>>2]),(t=e[t+16>>2])?Sa(t):gi(1024),lt(A),e[34440]=0},Z:function(t,A,r){return t|=0,A|=0,r|=0,e[34440]=0,(t=la(r,1032))?(e[47195]=t,e[47197]=130,t||(e[47195]=e[30450]),lt(A),e[47195]=0,e[47197]=0,e[47195]=e[30450],fa(t),0):-1},_:function(t){return 36},$:function(t,A,r){var n;return t|=0,A|=0,oe=n=oe-32|0,(r|=0)?(e[n+24>>2]=0,e[n+28>>2]=0,e[n+16>>2]=0,e[n+20>>2]=0,e[n+12>>2]=r,e[n+8>>2]=A,g[n+21|0]=0,A=Sa(n+8|0)):A=gi(A),e[t+16>>2]=201188,oe=n+32|0,0|A},aa:function(t,A,r,n){var i;return t|=0,A|=0,oe=i=oe-32|0,(r|=0)|(n|=0)?(e[i+24>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+12>>2]=r,e[i+8>>2]=A,g[i+22|0]=0,g[i+20|0]=n,A=Sa(i+8|0)):A=gi(A),e[t+16>>2]=201188,oe=i+32|0,0|A},ba:function(t,A,r,n,i){var l;return t|=0,A|=0,oe=l=oe-32|0,(n|=0)|(i|=0)|(r|=0)?(e[l+24>>2]=0,e[l+28>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,e[l+12>>2]=r,e[l+8>>2]=A,g[l+21|0]=i,g[l+20|0]=n,A=Sa(l+8|0)):A=gi(A),e[t+16>>2]=201188,oe=l+32|0,0|A},ca:function(t,A,r,n,i,l){var h;return t|=0,A|=0,oe=h=oe-32|0,(n|=0)|(i|=0)|(l|=0)|(r|=0)?(e[h+24>>2]=0,e[h+28>>2]=0,e[h+16>>2]=0,e[h+20>>2]=0,e[h+12>>2]=r,e[h+8>>2]=A,g[h+22|0]=l,g[h+21|0]=i,g[h+20|0]=n,A=Sa(h+8|0)):A=gi(A),e[t+16>>2]=201188,oe=h+32|0,0|A},da:function(t,A){return A|=0,e[e[(t|=0)>>2]+(A<<2)>>2]},ea:function(t,A,r){A|=0,r|=0,e[e[(t|=0)>>2]+(A<<2)>>2]=r},fa:Po,ga:ka,ha:Qo,ia:bi,ja:function(t,A){A|=0,e[12+(t|=0)>>2]=A},ka:Ti,la:function(){return 0},ma:function(){return 1},na:function(){return 2},oa:function(){return 3},pa:function(){return 4},qa:function(){return 5},ra:function(){return 6},sa:function(){return 7},ta:function(){return 8},ua:LA,va:function(){return 227192},wa:EA,xa:aA,ya:function(t){return(t|=0)?0|!!(0|Or(t,125228)):0}}}(s)}(a)},instantiate:function(c,a){return{then:function(s){var o=new w2.Module(c);s({instance:new w2.Instance(o,a)})}}}
2810,RuntimeError:Error};typeof w2!="object"&&nl("no native wasm support detected");var _m=!1;function Vf(c,a){c||nl(a)}var zi,h2,q1,ys,ln,Tm,Qm,op=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function g2(c,a,s){for(var o=a+s,u=a;c[u]&&!(u>=o);)++u;if(u-a>16&&c.buffer&&op)return op.decode(c.subarray(a,u));for(var p="";a<u;){var C=c[a++];if(128&C){var b=63&c[a++];if((224&C)!=192){var k=63&c[a++];if((C=(240&C)==224?(15&C)<<12|b<<6|k:(7&C)<<18|b<<12|k<<6|63&c[a++])<65536)p+=String.fromCharCode(C);else{var E=C-65536;p+=String.fromCharCode(55296|E>>10,56320|1023&E)}}else p+=String.fromCharCode((31&C)<<6|b)}else p+=String.fromCharCode(C)}return p}function p2(c,a){return c?g2(h2,c,a):""}function cd(c,a,s,o){if(!(o>0))return 0;for(var u=s,p=s+o-1,C=0;C<c.length;++C){var b=c.charCodeAt(C);if(b>=55296&&b<=57343&&(b=65536+((1023&b)<<10)|1023&c.charCodeAt(++C)),b<=127){if(s>=p)break;a[s++]=b}else if(b<=2047){if(s+1>=p)break;a[s++]=192|b>>6,a[s++]=128|63&b}else if(b<=65535){if(s+2>=p)break;a[s++]=224|b>>12,a[s++]=128|b>>6&63,a[s++]=128|63&b}else{if(s+3>=p)break;a[s++]=240|b>>18,a[s++]=128|b>>12&63,a[s++]=128|b>>6&63,a[s++]=128|63&b}}return a[s]=0,s-u}function Pm(c){for(var a=0,s=0;s<c.length;++s){var o=c.charCodeAt(s);o<=127?a++:o<=2047?a+=2:o>=55296&&o<=57343?(a+=4,++s):a+=3}return a}var sl,Hf=He.INITIAL_MEMORY||16777216;sl=(ed=He.wasmMemory?He.wasmMemory:new w2.Memory({initial:Hf/65536,maximum:Hf/65536})).buffer,He.HEAP8=zi=new Int8Array(sl),He.HEAP16=q1=new Int16Array(sl),He.HEAP32=ys=new Int32Array(sl),He.HEAPU8=h2=new Uint8Array(sl),He.HEAPU16=new Uint16Array(sl),He.HEAPU32=ln=new Uint32Array(sl),He.HEAPF32=Tm=new Float32Array(sl),He.HEAPF64=Qm=new Float64Array(sl),Hf=ed.buffer.byteLength;var lp=[],Sm=[],cp=[],Nm=!1;function zm(c){Sm.unshift(c)}var Sr,Ya,wc=0,Xu=null;function Om(c){wc++,He.monitorRunDependencies&&He.monitorRunDependencies(wc)}function Fm(c){if(wc--,He.monitorRunDependencies&&He.monitorRunDependencies(wc),wc==0&&Xu){var a=Xu;Xu=null,a()}}function nl(c){throw He.onAbort&&He.onAbort(c),I2(c="Aborted("+c+")"),_m=!0,c+=". Build with -sASSERTIONS for more info.",new w2.RuntimeError(c)}function jk(c){this.name="ExitStatus",this.message="Program terminated with exit("+c+")",this.status=c}function Yf(c){for(;c.length>0;)c.shift()(He)}function Wk(c,a="i8"){switch(a.endsWith("*")&&(a="*"),a){case"i1":case"i8":return zi[0|c];case"i16":return q1[c>>1];case"i32":case"i64":return ys[c>>2];case"float":return Tm[c>>2];case"double":return Qm[c>>3];case"*":return ln[c>>2];default:nl("invalid type for getValue: "+a)}return null}function Uk(c){this.excPtr=c,this.ptr=c-24,this.set_type=function(a){ln[this.ptr+4>>2]=a},this.get_type=function(){return ln[this.ptr+4>>2]},this.set_destructor=function(a){ln[this.ptr+8>>2]=a},this.get_destructor=function(){return ln[this.ptr+8>>2]},this.set_refcount=function(a){ys[this.ptr>>2]=a},this.set_caught=function(a){a=a?1:0,zi[this.ptr+12|0]=a},this.get_caught=function(){return zi[this.ptr+12|0]!=0},this.set_rethrown=function(a){a=a?1:0,zi[this.ptr+13|0]=a},this.get_rethrown=function(){return zi[this.ptr+13|0]!=0},this.init=function(a,s){this.set_adjusted_ptr(0),this.set_type(a),this.set_destructor(s),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var a=ys[this.ptr>>2];ys[this.ptr>>2]=a+1},this.release_ref=function(){var a=ys[this.ptr>>2];return ys[this.ptr>>2]=a-1,a===1},this.set_adjusted_ptr=function(a){ln[this.ptr+16>>2]=a},this.get_adjusted_ptr=function(){return ln[this.ptr+16>>2]},this.get_exception_ptr=function(){if(V3(this.get_type()))return ln[this.excPtr>>2];var a=this.get_adjusted_ptr();return a!==0?a:this.excPtr}}var Rs={isAbs:c=>c.charAt(0)==="/",splitPath:c=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(c).slice(1),normalizeArray:(c,a)=>{for(var s=0,o=c.length-1;o>=0;o--){var u=c[o];u==="."?c.splice(o,1):u===".."?(c.splice(o,1),s++):s&&(c.splice(o,1),s--)}if(a)for(;s;s--)c.unshift("..");return c},normalize:c=>{var a=Rs.isAbs(c),s=c.substr(-1)==="/";return(c=Rs.normalizeArray(c.split("/").filter(o=>!!o),!a).join("/"))||a||(c="."),c&&s&&(c+="/"),(a?"/":"")+c},dirname:c=>{var a=Rs.splitPath(c),s=a[0],o=a[1];return s||o?(o&&(o=o.substr(0,o.length-1)),s+o):"."},basename:c=>{if(c==="/")return"/";var a=(c=(c=Rs.normalize(c)).replace(/\/$/,"")).lastIndexOf("/");return a===-1?c:c.substr(a+1)},join:function(){var c=Array.prototype.slice.call(arguments);return Rs.normalize(c.join("/"))},join2:(c,a)=>Rs.normalize(c+"/"+a)},ec={resolve:function(){for(var c="",a=!1,s=arguments.length-1;s>=-1&&!a;s--){var o=s>=0?arguments[s]:Me.cwd();if(typeof o!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";c=o+"/"+c,a=Rs.isAbs(o)}return(a?"/":"")+(c=Rs.normalizeArray(c.split("/").filter(u=>!!u),!a).join("/"))||"."},relative:(c,a)=>{function s(E){for(var B=0;B<E.length&&E[B]==="";B++);for(var G=E.length-1;G>=0&&E[G]==="";G--);return B>G?[]:E.slice(B,G-B+1)}c=ec.resolve(c).substr(1),a=ec.resolve(a).substr(1);for(var o=s(c.split("/")),u=s(a.split("/")),p=Math.min(o.length,u.length),C=p,b=0;b<p;b++)if(o[b]!==u[b]){C=b;break}var k=[];for(b=C;b<o.length;b++)k.push("..");return(k=k.concat(u.slice(C))).join("/")}};function Lm(c,a,s){var o=Pm(c)+1,u=new Array(o),p=cd(c,u,0,u.length);return a&&(u.length=p),u}var Cc={ttys:[],init:function(){},shutdown:function(){},register:function(c,a){Cc.ttys[c]={input:[],output:[],ops:a},Me.registerDevice(c,Cc.stream_ops)},stream_ops:{open:function(c){var a=Cc.ttys[c.node.rdev];if(!a)throw new Me.ErrnoError(43);c.tty=a,c.seekable=!1},close:function(c){c.tty.ops.fsync(c.tty)},fsync:function(c){c.tty.ops.fsync(c.tty)},read:function(c,a,s,o,u){if(!c.tty||!c.tty.ops.get_char)throw new Me.ErrnoError(60);for(var p=0,C=0;C<o;C++){var b;try{b=c.tty.ops.get_char(c.tty)}catch{throw new Me.ErrnoError(29)}if(b===void 0&&p===0)throw new Me.ErrnoError(6);if(b==null)break;p++,a[s+C]=b}return p&&(c.node.timestamp=Date.now()),p},write:function(c,a,s,o,u){if(!c.tty||!c.tty.ops.put_char)throw new Me.ErrnoError(60);try{for(var p=0;p<o;p++)c.tty.ops.put_char(c.tty,a[s+p])}catch{throw new Me.ErrnoError(29)}return o&&(c.node.timestamp=Date.now()),p}},default_tty_ops:{put_char:function(c,a){a===null||a===10?(X1(g2(c.output,0)),c.output=[]):a!=0&&c.output.push(a)},fsync:function(c){c.output&&c.output.length>0&&(X1(g2(c.output,0)),c.output=[])}},default_tty1_ops:{put_char:function(c,a){a===null||a===10?(I2(g2(c.output,0)),c.output=[]):a!=0&&c.output.push(a)},fsync:function(c){c.output&&c.output.length>0&&(I2(g2(c.output,0)),c.output=[])}}};function Vm(c){nl()}var Jr={ops_table:null,mount:function(c){return Jr.createNode(null,"/",16895,0)},createNode:function(c,a,s,o){if(Me.isBlkdev(s)||Me.isFIFO(s))throw new Me.ErrnoError(63);Jr.ops_table||(Jr.ops_table={dir:{node:{getattr:Jr.node_ops.getattr,setattr:Jr.node_ops.setattr,lookup:Jr.node_ops.lookup,mknod:Jr.node_ops.mknod,rename:Jr.node_ops.rename,unlink:Jr.node_ops.unlink,rmdir:Jr.node_ops.rmdir,readdir:Jr.node_ops.readdir,symlink:Jr.node_ops.symlink},stream:{llseek:Jr.stream_ops.llseek}},file:{node:{getattr:Jr.node_ops.getattr,setattr:Jr.node_ops.setattr},stream:{llseek:Jr.stream_ops.llseek,read:Jr.stream_ops.read,write:Jr.stream_ops.write,allocate:Jr.stream_ops.allocate,mmap:Jr.stream_ops.mmap,msync:Jr.stream_ops.msync}},link:{node:{getattr:Jr.node_ops.getattr,setattr:Jr.node_ops.setattr,readlink:Jr.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Jr.node_ops.getattr,setattr:Jr.node_ops.setattr},stream:Me.chrdev_stream_ops}});var u=Me.createNode(c,a,s,o);return Me.isDir(u.mode)?(u.node_ops=Jr.ops_table.dir.node,u.stream_ops=Jr.ops_table.dir.stream,u.contents={}
2810):Me.isFile(u.mode)?(u.node_ops=Jr.ops_table.file.node,u.stream_ops=Jr.ops_table.file.stream,u.usedBytes=0,u.contents=null):Me.isLink(u.mode)?(u.node_ops=Jr.ops_table.link.node,u.stream_ops=Jr.ops_table.link.stream):Me.isChrdev(u.mode)&&(u.node_ops=Jr.ops_table.chrdev.node,u.stream_ops=Jr.ops_table.chrdev.stream),u.timestamp=Date.now(),c&&(c.contents[a]=u,c.timestamp=u.timestamp),u},getFileDataAsTypedArray:function(c){return c.contents?c.contents.subarray?c.contents.subarray(0,c.usedBytes):new Uint8Array(c.contents):new Uint8Array(0)},expandFileStorage:function(c,a){var s=c.contents?c.contents.length:0;if(!(s>=a)){a=Math.max(a,s*(s<1048576?2:1.125)>>>0),s!=0&&(a=Math.max(a,256));var o=c.contents;c.contents=new Uint8Array(a),c.usedBytes>0&&c.contents.set(o.subarray(0,c.usedBytes),0)}},resizeFileStorage:function(c,a){if(c.usedBytes!=a)if(a==0)c.contents=null,c.usedBytes=0;else{var s=c.contents;c.contents=new Uint8Array(a),s&&c.contents.set(s.subarray(0,Math.min(a,c.usedBytes))),c.usedBytes=a}},node_ops:{getattr:function(c){var a={};return a.dev=Me.isChrdev(c.mode)?c.id:1,a.ino=c.id,a.mode=c.mode,a.nlink=1,a.uid=0,a.gid=0,a.rdev=c.rdev,Me.isDir(c.mode)?a.size=4096:Me.isFile(c.mode)?a.size=c.usedBytes:Me.isLink(c.mode)?a.size=c.link.length:a.size=0,a.atime=new Date(c.timestamp),a.mtime=new Date(c.timestamp),a.ctime=new Date(c.timestamp),a.blksize=4096,a.blocks=Math.ceil(a.size/a.blksize),a},setattr:function(c,a){a.mode!==void 0&&(c.mode=a.mode),a.timestamp!==void 0&&(c.timestamp=a.timestamp),a.size!==void 0&&Jr.resizeFileStorage(c,a.size)},lookup:function(c,a){throw Me.genericErrors[44]},mknod:function(c,a,s,o){return Jr.createNode(c,a,s,o)},rename:function(c,a,s){if(Me.isDir(c.mode)){var o;try{o=Me.lookupNode(a,s)}catch{}if(o)for(var u in o.contents)throw new Me.ErrnoError(55)}delete c.parent.contents[c.name],c.parent.timestamp=Date.now(),c.name=s,a.contents[s]=c,a.timestamp=c.parent.timestamp,c.parent=a},unlink:function(c,a){delete c.contents[a],c.timestamp=Date.now()},rmdir:function(c,a){var s=Me.lookupNode(c,a);for(var o in s.contents)throw new Me.ErrnoError(55);delete c.contents[a],c.timestamp=Date.now()},readdir:function(c){var a=[".",".."];for(var s in c.contents)c.contents.hasOwnProperty(s)&&a.push(s);return a},symlink:function(c,a,s){var o=Jr.createNode(c,a,41471,0);return o.link=s,o},readlink:function(c){if(!Me.isLink(c.mode))throw new Me.ErrnoError(28);return c.link}},stream_ops:{read:function(c,a,s,o,u){var p=c.node.contents;if(u>=c.node.usedBytes)return 0;var C=Math.min(c.node.usedBytes-u,o);if(C>8&&p.subarray)a.set(p.subarray(u,u+C),s);else for(var b=0;b<C;b++)a[s+b]=p[u+b];return C},write:function(c,a,s,o,u,p){if(!o)return 0;var C=c.node;if(C.timestamp=Date.now(),a.subarray&&(!C.contents||C.contents.subarray)){if(p)return C.contents=a.subarray(s,s+o),C.usedBytes=o,o;if(C.usedBytes===0&&u===0)return C.contents=a.slice(s,s+o),C.usedBytes=o,o;if(u+o<=C.usedBytes)return C.contents.set(a.subarray(s,s+o),u),o}if(Jr.expandFileStorage(C,u+o),C.contents.subarray&&a.subarray)C.contents.set(a.subarray(s,s+o),u);else for(var b=0;b<o;b++)C.contents[u+b]=a[s+b];return C.usedBytes=Math.max(C.usedBytes,u+o),o},llseek:function(c,a,s){var o=a;if(s===1?o+=c.position:s===2&&Me.isFile(c.node.mode)&&(o+=c.node.usedBytes),o<0)throw new Me.ErrnoError(28);return o},allocate:function(c,a,s){Jr.expandFileStorage(c.node,a+s),c.node.usedBytes=Math.max(c.node.usedBytes,a+s)},mmap:function(c,a,s,o,u){if(!Me.isFile(c.node.mode))throw new Me.ErrnoError(43);var p,C,b=c.node.contents;if(2&u||b.buffer!==zi.buffer){if((s>0||s+a<b.length)&&(b=b.subarray?b.subarray(s,s+a):Array.prototype.slice.call(b,s,s+a)),C=!0,!(p=Vm()))throw new Me.ErrnoError(48);zi.set(b,p)}else C=!1,p=b.byteOffset;return{ptr:p,allocated:C}},msync:function(c,a,s,o,u){return Jr.stream_ops.write(c,a,0,o,s,!1),0}}},Me={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(c,a={})=>{if(!(c=ec.resolve(c)))return{path:"",node:null};if((a=Object.assign({follow_mount:!0,recurse_count:0},a)).recurse_count>8)throw new Me.ErrnoError(32);for(var s=c.split("/").filter(E=>!!E),o=Me.root,u="/",p=0;p<s.length;p++){var C=p===s.length-1;if(C&&a.parent)break;
2810if(o=Me.lookupNode(o,s[p]),u=Rs.join2(u,s[p]),Me.isMountpoint(o)&&(!C||C&&a.follow_mount)&&(o=o.mounted.root),!C||a.follow)for(var b=0;Me.isLink(o.mode);){var k=Me.readlink(u);if(u=ec.resolve(Rs.dirname(u),k),o=Me.lookupPath(u,{recurse_count:a.recurse_count+1}).node,b++>40)throw new Me.ErrnoError(32)}}return{path:u,node:o}},getPath:c=>{for(var a;;){if(Me.isRoot(c)){var s=c.mount.mountpoint;return a?s[s.length-1]!=="/"?s+"/"+a:s+a:s}a=a?c.name+"/"+a:c.name,c=c.parent}},hashName:(c,a)=>{for(var s=0,o=0;o<a.length;o++)s=(s<<5)-s+a.charCodeAt(o)|0;return(c+s>>>0)%Me.nameTable.length},hashAddNode:c=>{var a=Me.hashName(c.parent.id,c.name);c.name_next=Me.nameTable[a],Me.nameTable[a]=c},hashRemoveNode:c=>{var a=Me.hashName(c.parent.id,c.name);if(Me.nameTable[a]===c)Me.nameTable[a]=c.name_next;else for(var s=Me.nameTable[a];s;){if(s.name_next===c){s.name_next=c.name_next;break}s=s.name_next}},lookupNode:(c,a)=>{var s=Me.mayLookup(c);if(s)throw new Me.ErrnoError(s,c);for(var o=Me.hashName(c.id,a),u=Me.nameTable[o];u;u=u.name_next){var p=u.name;if(u.parent.id===c.id&&p===a)return u}return Me.lookup(c,a)},createNode:(c,a,s,o)=>{var u=new Me.FSNode(c,a,s,o);return Me.hashAddNode(u),u},destroyNode:c=>{Me.hashRemoveNode(c)},isRoot:c=>c===c.parent,isMountpoint:c=>!!c.mounted,isFile:c=>(61440&c)==32768,isDir:c=>(61440&c)==16384,isLink:c=>(61440&c)==40960,isChrdev:c=>(61440&c)==8192,isBlkdev:c=>(61440&c)==24576,isFIFO:c=>(61440&c)==4096,isSocket:c=>!(49152&~c),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:c=>{var a=Me.flagModes[c];if(a===void 0)throw new Error("Unknown file open mode: "+c);return a},flagsToPermissionString:c=>{var a=["r","w","rw"][3&c];return 512&c&&(a+="w"),a},nodePermissions:(c,a)=>Me.ignorePermissions||(!a.includes("r")||292&c.mode)&&(!a.includes("w")||146&c.mode)&&(!a.includes("x")||73&c.mode)?0:2,mayLookup:c=>Me.nodePermissions(c,"x")||(c.node_ops.lookup?0:2),mayCreate:(c,a)=>{try{return Me.lookupNode(c,a),20}catch{}return Me.nodePermissions(c,"wx")},mayDelete:(c,a,s)=>{var o;try{o=Me.lookupNode(c,a)}catch(p){return p.errno}var u=Me.nodePermissions(c,"wx");if(u)return u;if(s){if(!Me.isDir(o.mode))return 54;if(Me.isRoot(o)||Me.getPath(o)===Me.cwd())return 10}else if(Me.isDir(o.mode))return 31;return 0},mayOpen:(c,a)=>c?Me.isLink(c.mode)?32:Me.isDir(c.mode)&&(Me.flagsToPermissionString(a)!=="r"||512&a)?31:Me.nodePermissions(c,Me.flagsToPermissionString(a)):44,MAX_OPEN_FDS:4096,nextfd:(c=0,a=Me.MAX_OPEN_FDS)=>{for(var s=c;s<=a;s++)if(!Me.streams[s])return s;throw new Me.ErrnoError(33)},getStream:c=>Me.streams[c],createStream:(c,a,s)=>{Me.FSStream||(Me.FSStream=function(){this.shared={}},Me.FSStream.prototype={},Object.defineProperties(Me.FSStream.prototype,{object:{get:function(){return this.node},set:function(u){this.node=u}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(u){this.shared.flags=u}},position:{get:function(){return this.shared.position},set:function(u){this.shared.position=u}}})),c=Object.assign(new Me.FSStream,c);var o=Me.nextfd(a,s);return c.fd=o,Me.streams[o]=c,c},closeStream:c=>{Me.streams[c]=null},chrdev_stream_ops:{open:c=>{var a=Me.getDevice(c.node.rdev);c.stream_ops=a.stream_ops,c.stream_ops.open&&c.stream_ops.open(c)},llseek:()=>{throw new Me.ErrnoError(70)}},major:c=>c>>8,minor:c=>255&c,makedev:(c,a)=>c<<8|a,registerDevice:(c,a)=>{Me.devices[c]={stream_ops:a}},getDevice:c=>Me.devices[c],getMounts:c=>{for(var a=[],s=[c];s.length;){var o=s.pop();a.push(o),s.push.apply(s,o.mounts)}return a},syncfs:(c,a)=>{typeof c=="function"&&(a=c,c=!1),Me.syncFSRequests++,Me.syncFSRequests>1&&I2("warning: "+Me.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var s=Me.getMounts(Me.root.mount),o=0;function u(C){return Me.syncFSRequests--,a(C)}function p(C){if(C)return p.errored?void 0:(p.errored=!0,u(C));++o>=s.length&&u(null)}s.forEach(C=>{if(!C.type.syncfs)return p(null);C.type.syncfs(C,c,p)})},mount:(c,a,s)=>{var o,u=s==="/",p=!s;if(u&&Me.root)throw new Me.ErrnoError(10);if(!u&&!p){var C=Me.lookupPath(s,{follow_mount:!1});if(s=C.path,o=C.node,Me.isMountpoint(o))throw new Me.ErrnoError(10);if(!Me.isDir(o.mode))throw new Me.ErrnoError(54)}var b={type:c,opts:a,mountpoint:s,mounts:[]},k=c.mount(b);return k.mount=b,b.root=k,u?Me.root=k:o&&(o.mounted=b,o.mount&&o.mount.mounts.push(b)),k},unmount:c=>{var a=Me.lookupPath(c,{follow_mount:!1});if(!Me.isMountpoint(a.node))throw new Me.ErrnoError(28);var s=a.node,o=s.mounted,u=Me.getMounts(o);Object.keys(Me.nameTable).forEach(C=>{for(var b=Me.nameTable[C];b;){var k=b.name_next;u.includes(b.mount)&&Me.destroyNode(b),b=k}}),s.mounted=null;var p=s.mount.mounts.indexOf(o);s.mount.mounts.splice(p,1)},lookup:(c,a)=>c.node_ops.lookup(c,a),mknod:(c,a,s)=>{var o=Me.lookupPath(c,{parent:!0}).node,u=Rs.basename(c);if(!u||u==="."||u==="..")throw new Me.ErrnoError(28);var p=Me.mayCreate(o,u);if(p)throw new Me.ErrnoError(p);if(!o.node_ops.mknod)throw new Me.ErrnoError(63);return o.node_ops.mknod(o,u,a,s)},create:(c,a)=>(a=a!==void 0?a:438,a&=4095,a|=32768,Me.mknod(c,a,0)),mkdir:(c,a)=>(a=a!==void 0?a:511,a&=1023,a|=16384,Me.mknod(c,a,0)),mkdirTree:(c,a)=>{for(var s=c.split("/"),o="",u=0;u<s.length;++u)if(s[u]){o+="/"+s[u];try{Me.mkdir(o,a)}catch(p){if(p.errno!=20)throw p}}},mkdev:(c,a,s)=>(s===void 0&&(s=a,a=438),a|=8192,Me.mknod(c,a,s)),symlink:(c,a)=>
2810{if(!ec.resolve(c))throw new Me.ErrnoError(44);var s=Me.lookupPath(a,{parent:!0}).node;if(!s)throw new Me.ErrnoError(44);var o=Rs.basename(a),u=Me.mayCreate(s,o);if(u)throw new Me.ErrnoError(u);if(!s.node_ops.symlink)throw new Me.ErrnoError(63);return s.node_ops.symlink(s,o,c)},rename:(c,a)=>{var s,o,u=Rs.dirname(c),p=Rs.dirname(a),C=Rs.basename(c),b=Rs.basename(a);if(s=Me.lookupPath(c,{parent:!0}).node,o=Me.lookupPath(a,{parent:!0}).node,!s||!o)throw new Me.ErrnoError(44);if(s.mount!==o.mount)throw new Me.ErrnoError(75);var k,E=Me.lookupNode(s,C),B=ec.relative(c,p);if(B.charAt(0)!==".")throw new Me.ErrnoError(28);if((B=ec.relative(a,u)).charAt(0)!==".")throw new Me.ErrnoError(55);try{k=Me.lookupNode(o,b)}catch{}if(E!==k){var G=Me.isDir(E.mode),D=Me.mayDelete(s,C,G);if(D)throw new Me.ErrnoError(D);if(D=k?Me.mayDelete(o,b,G):Me.mayCreate(o,b))throw new Me.ErrnoError(D);if(!s.node_ops.rename)throw new Me.ErrnoError(63);if(Me.isMountpoint(E)||k&&Me.isMountpoint(k))throw new Me.ErrnoError(10);if(o!==s&&(D=Me.nodePermissions(s,"w")))throw new Me.ErrnoError(D);Me.hashRemoveNode(E);try{s.node_ops.rename(E,o,b)}catch(Q){throw Q}finally{Me.hashAddNode(E)}}},rmdir:c=>{var a=Me.lookupPath(c,{parent:!0}).node,s=Rs.basename(c),o=Me.lookupNode(a,s),u=Me.mayDelete(a,s,!0);if(u)throw new Me.ErrnoError(u);if(!a.node_ops.rmdir)throw new Me.ErrnoError(63);if(Me.isMountpoint(o))throw new Me.ErrnoError(10);a.node_ops.rmdir(a,s),Me.destroyNode(o)},readdir:c=>{var a=Me.lookupPath(c,{follow:!0}).node;if(!a.node_ops.readdir)throw new Me.ErrnoError(54);return a.node_ops.readdir(a)},unlink:c=>{var a=Me.lookupPath(c,{parent:!0}).node;if(!a)throw new Me.ErrnoError(44);var s=Rs.basename(c),o=Me.lookupNode(a,s),u=Me.mayDelete(a,s,!1);if(u)throw new Me.ErrnoError(u);if(!a.node_ops.unlink)throw new Me.ErrnoError(63);if(Me.isMountpoint(o))throw new Me.ErrnoError(10);a.node_ops.unlink(a,s),Me.destroyNode(o)},readlink:c=>{var a=Me.lookupPath(c).node;if(!a)throw new Me.ErrnoError(44);if(!a.node_ops.readlink)throw new Me.ErrnoError(28);return ec.resolve(Me.getPath(a.parent),a.node_ops.readlink(a))},stat:(c,a)=>{var s=Me.lookupPath(c,{follow:!a}).node;if(!s)throw new Me.ErrnoError(44);if(!s.node_ops.getattr)throw new Me.ErrnoError(63);return s.node_ops.getattr(s)},lstat:c=>Me.stat(c,!0),chmod:(c,a,s)=>{var o;if(!(o=typeof c=="string"?Me.lookupPath(c,{follow:!s}).node:c).node_ops.setattr)throw new Me.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&a|-4096&o.mode,timestamp:Date.now()})},lchmod:(c,a)=>{Me.chmod(c,a,!0)},fchmod:(c,a)=>{var s=Me.getStream(c);if(!s)throw new Me.ErrnoError(8);Me.chmod(s.node,a)},chown:(c,a,s,o)=>{var u;if(!(u=typeof c=="string"?Me.lookupPath(c,{follow:!o}).node:c).node_ops.setattr)throw new Me.ErrnoError(63);u.node_ops.setattr(u,{timestamp:Date.now()})},lchown:(c,a,s)=>{Me.chown(c,a,s,!0)},fchown:(c,a,s)=>{var o=Me.getStream(c);if(!o)throw new Me.ErrnoError(8);Me.chown(o.node,a,s)},truncate:(c,a)=>{if(a<0)throw new Me.ErrnoError(28);var s;if(!(s=typeof c=="string"?Me.lookupPath(c,{follow:!0}).node:c).node_ops.setattr)throw new Me.ErrnoError(63);if(Me.isDir(s.mode))throw new Me.ErrnoError(31);if(!Me.isFile(s.mode))throw new Me.ErrnoError(28);var o=Me.nodePermissions(s,"w");if(o)throw new Me.ErrnoError(o);s.node_ops.setattr(s,{size:a,timestamp:Date.now()})},ftruncate:(c,a)=>{var s=Me.getStream(c);if(!s)throw new Me.ErrnoError(8);if(!(2097155&s.flags))throw new Me.ErrnoError(28);Me.truncate(s.node,a)},utime:(c,a,s)=>{var o=Me.lookupPath(c,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(a,s)})},open:(c,a,s)=>{if(c==="")throw new Me.ErrnoError(44);var o;if(s=s===void 0?438:s,s=64&(a=typeof a=="string"?Me.modeStringToFlags(a):a)?4095&s|32768:0,typeof c=="object")o=c;else{c=Rs.normalize(c);try{o=Me.lookupPath(c,{follow:!(131072&a)}).node}catch{}}var u=!1;if(64&a)if(o){if(128&a)throw new Me.ErrnoError(20)}else o=Me.mknod(c,s,0),u=!0;if(!o)throw new Me.ErrnoError(44);if(Me.isChrdev(o.mode)&&(a&=-513),65536&a&&!Me.isDir(o.mode))throw new Me.ErrnoError(54);if(!u){var p=Me.mayOpen(o,a);if(p)throw new Me.ErrnoError(p)}512&a&&!u&&Me.truncate(o,0),a&=-131713;var C=Me.createStream({node:o,path:Me.getPath(o),flags:a,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return C.stream_ops.open&&C.stream_ops.open(C),!He.logReadFiles||1&a||(Me.readFiles||(Me.readFiles={}),c in Me.readFiles||(Me.readFiles[c]=1)),C},close:c=>{if(Me.isClosed(c))throw new Me.ErrnoError(8);c.getdents&&(c.getdents=null);try{c.stream_ops.close&&c.stream_ops.close(c)}catch(a){throw a}finally{Me.closeStream(c.fd)}c.fd=null},isClosed:c=>c.fd===null,llseek:(c,a,s)=>{if(Me.isClosed(c))throw new Me.ErrnoError(8);if(!c.seekable||!c.stream_ops.llseek)throw new Me.ErrnoError(70);if(s!=0&&s!=1&&s!=2)throw new Me.ErrnoError(28);return c.position=c.stream_ops.llseek(c,a,s),c.ungotten=[],c.position},read:(c,a,s,o,u)=>{if(o<0||u<0)throw new Me.ErrnoError(28);if(Me.isClosed(c))throw new Me.ErrnoError(8);if((2097155&c.flags)==1)throw new Me.ErrnoError(8);if(Me.isDir(c.node.mode))throw new Me.ErrnoError(31);if(!c.stream_ops.read)throw new Me.ErrnoError(28);var p=u!==void 0;if(p){if(!c.seekable)throw new Me.ErrnoError(70)}else u=c.position;var C=c.stream_ops.read(c,a,s,o,u);return p||(c.position+=C),C},write:(c,a,s,o,u,p)=>
2810{if(o<0||u<0)throw new Me.ErrnoError(28);if(Me.isClosed(c))throw new Me.ErrnoError(8);if(!(2097155&c.flags))throw new Me.ErrnoError(8);if(Me.isDir(c.node.mode))throw new Me.ErrnoError(31);if(!c.stream_ops.write)throw new Me.ErrnoError(28);c.seekable&&1024&c.flags&&Me.llseek(c,0,2);var C=u!==void 0;if(C){if(!c.seekable)throw new Me.ErrnoError(70)}else u=c.position;var b=c.stream_ops.write(c,a,s,o,u,p);return C||(c.position+=b),b},allocate:(c,a,s)=>{if(Me.isClosed(c))throw new Me.ErrnoError(8);if(a<0||s<=0)throw new Me.ErrnoError(28);if(!(2097155&c.flags))throw new Me.ErrnoError(8);if(!Me.isFile(c.node.mode)&&!Me.isDir(c.node.mode))throw new Me.ErrnoError(43);if(!c.stream_ops.allocate)throw new Me.ErrnoError(138);c.stream_ops.allocate(c,a,s)},mmap:(c,a,s,o,u)=>{if(2&o&&!(2&u)&&(2097155&c.flags)!=2)throw new Me.ErrnoError(2);if((2097155&c.flags)==1)throw new Me.ErrnoError(2);if(!c.stream_ops.mmap)throw new Me.ErrnoError(43);return c.stream_ops.mmap(c,a,s,o,u)},msync:(c,a,s,o,u)=>c.stream_ops.msync?c.stream_ops.msync(c,a,s,o,u):0,munmap:c=>0,ioctl:(c,a,s)=>{if(!c.stream_ops.ioctl)throw new Me.ErrnoError(59);return c.stream_ops.ioctl(c,a,s)},readFile:(c,a={})=>{if(a.flags=a.flags||0,a.encoding=a.encoding||"binary",a.encoding!=="utf8"&&a.encoding!=="binary")throw new Error('Invalid encoding type "'+a.encoding+'"');var s,o=Me.open(c,a.flags),u=Me.stat(c).size,p=new Uint8Array(u);return Me.read(o,p,0,u,0),a.encoding==="utf8"?s=g2(p,0):a.encoding==="binary"&&(s=p),Me.close(o),s},writeFile:(c,a,s={})=>{s.flags=s.flags||577;var o=Me.open(c,s.flags,s.mode);if(typeof a=="string"){var u=new Uint8Array(Pm(a)+1),p=cd(a,u,0,u.length);Me.write(o,u,0,p,void 0,s.canOwn)}else{if(!ArrayBuffer.isView(a))throw new Error("Unsupported data type");Me.write(o,a,0,a.byteLength,void 0,s.canOwn)}Me.close(o)},cwd:()=>Me.currentPath,chdir:c=>{var a=Me.lookupPath(c,{follow:!0});if(a.node===null)throw new Me.ErrnoError(44);if(!Me.isDir(a.node.mode))throw new Me.ErrnoError(54);var s=Me.nodePermissions(a.node,"x");if(s)throw new Me.ErrnoError(s);Me.currentPath=a.path},createDefaultDirectories:()=>{Me.mkdir("/tmp"),Me.mkdir("/home"),Me.mkdir("/home/web_user")},createDefaultDevices:()=>{Me.mkdir("/dev"),Me.registerDevice(Me.makedev(1,3),{read:()=>0,write:(c,a,s,o,u)=>o}),Me.mkdev("/dev/null",Me.makedev(1,3)),Cc.register(Me.makedev(5,0),Cc.default_tty_ops),Cc.register(Me.makedev(6,0),Cc.default_tty1_ops),Me.mkdev("/dev/tty",Me.makedev(5,0)),Me.mkdev("/dev/tty1",Me.makedev(6,0)),Me.mkdir("/dev/shm"),Me.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{Me.mkdir("/proc");var c=Me.mkdir("/proc/self");Me.mkdir("/proc/self/fd"),Me.mount({mount:()=>{var a=Me.createNode(c,"fd",16895,73);return a.node_ops={lookup:(s,o)=>{var u=+o,p=Me.getStream(u);if(!p)throw new Me.ErrnoError(8);var C={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>p.path}};return C.parent=C,C}},a}},{},"/proc/self/fd")},createStandardStreams:()=>{He.stdin?Me.createDevice("/dev","stdin",He.stdin):Me.symlink("/dev/tty","/dev/stdin"),He.stdout?Me.createDevice("/dev","stdout",null,He.stdout):Me.symlink("/dev/tty","/dev/stdout"),He.stderr?Me.createDevice("/dev","stderr",null,He.stderr):Me.symlink("/dev/tty1","/dev/stderr"),Me.open("/dev/stdin",0),Me.open("/dev/stdout",1),Me.open("/dev/stderr",1)},ensureErrnoError:()=>{Me.ErrnoError||(Me.ErrnoError=function(c,a){this.node=a,this.setErrno=function(s){this.errno=s},this.setErrno(c),this.message="FS error"},Me.ErrnoError.prototype=new Error,Me.ErrnoError.prototype.constructor=Me.ErrnoError,[44].forEach(c=>{Me.genericErrors[c]=new Me.ErrnoError(c),Me.genericErrors[c].stack="<generic error, no stack>"}))},staticInit:()=>{Me.ensureErrnoError(),Me.nameTable=new Array(4096),Me.mount(Jr,{},"/"),Me.createDefaultDirectories(),Me.createDefaultDevices(),Me.createSpecialDirectories(),Me.filesystems={MEMFS:Jr}},init:(c,a,s)=>{Me.init.initialized=!0,Me.ensureErrnoError(),He.stdin=c||He.stdin,He.stdout=a||He.stdout,He.stderr=s||He.stderr,Me.createStandardStreams()},quit:()=>{Me.init.initialized=!1;for(var c=0;c<Me.streams.length;c++){var a=Me.streams[c];a&&Me.close(a)}},getMode:(c,a)=>{var s=0;return c&&(s|=365),a&&(s|=146),s},findObject:(c,a)=>
2810{var s=Me.analyzePath(c,a);return s.exists?s.object:null},analyzePath:(c,a)=>{try{c=(o=Me.lookupPath(c,{follow:!a})).path}catch{}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=Me.lookupPath(c,{parent:!0});s.parentExists=!0,s.parentPath=o.path,s.parentObject=o.node,s.name=Rs.basename(c),o=Me.lookupPath(c,{follow:!a}),s.exists=!0,s.path=o.path,s.object=o.node,s.name=o.node.name,s.isRoot=o.path==="/"}catch(u){s.error=u.errno}return s},createPath:(c,a,s,o)=>{c=typeof c=="string"?c:Me.getPath(c);for(var u=a.split("/").reverse();u.length;){var p=u.pop();if(p){var C=Rs.join2(c,p);try{Me.mkdir(C)}catch{}c=C}}return C},createFile:(c,a,s,o,u)=>{var p=Rs.join2(typeof c=="string"?c:Me.getPath(c),a),C=Me.getMode(o,u);return Me.create(p,C)},createDataFile:(c,a,s,o,u,p)=>{var C=a;c&&(c=typeof c=="string"?c:Me.getPath(c),C=a?Rs.join2(c,a):c);var b=Me.getMode(o,u),k=Me.create(C,b);if(s){if(typeof s=="string"){for(var E=new Array(s.length),B=0,G=s.length;B<G;++B)E[B]=s.charCodeAt(B);s=E}Me.chmod(k,146|b);var D=Me.open(k,577);Me.write(D,s,0,s.length,0,p),Me.close(D),Me.chmod(k,b)}return k},createDevice:(c,a,s,o)=>{var u=Rs.join2(typeof c=="string"?c:Me.getPath(c),a),p=Me.getMode(!!s,!!o);Me.createDevice.major||(Me.createDevice.major=64);var C=Me.makedev(Me.createDevice.major++,0);return Me.registerDevice(C,{open:b=>{b.seekable=!1},close:b=>{o&&o.buffer&&o.buffer.length&&o(10)},read:(b,k,E,B,G)=>{for(var D=0,Q=0;Q<B;Q++){var V;try{V=s()}catch{throw new Me.ErrnoError(29)}if(V===void 0&&D===0)throw new Me.ErrnoError(6);if(V==null)break;D++,k[E+Q]=V}return D&&(b.node.timestamp=Date.now()),D},write:(b,k,E,B,G)=>{for(var D=0;D<B;D++)try{o(k[E+D])}catch{throw new Me.ErrnoError(29)}return B&&(b.node.timestamp=Date.now()),D}}),Me.mkdev(u,p,C)},forceLoadFile:c=>{if(c.isDevice||c.isFolder||c.link||c.contents)return!0;throw typeof XMLHttpRequest<"u"?new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."):new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(c,a,s,o,u)=>{function p(){this.lengthKnown=!1,this.chunks=[]}if(p.prototype.get=function(G){if(!(G>this.length-1||G<0)){var D=G%this.chunkSize,Q=G/this.chunkSize|0;return this.getter(Q)[D]}},p.prototype.setDataGetter=function(G){this.getter=G},p.prototype.cacheLength=function(){var G=new XMLHttpRequest;if(G.open("HEAD",s,!1),G.send(null),!(G.status>=200&&G.status<300||G.status===304))throw new Error("Couldn't load "+s+". Status: "+G.status);var D,Q=Number(G.getResponseHeader("Content-length")),V=(D=G.getResponseHeader("Accept-Ranges"))&&D==="bytes",W=(D=G.getResponseHeader("Content-Encoding"))&&D==="gzip",U=1048576;V||(U=Q);var H=this;H.setDataGetter(K=>{var J=K*U,g=(K+1)*U-1;if(g=Math.min(g,Q-1),H.chunks[K]===void 0&&(H.chunks[K]=((v,e)=>{if(v>e)throw new Error("invalid range ("+v+", "+e+") or no bytes requested!");if(e>Q-1)throw new Error("only "+Q+" bytes available! programmer error!");var d=new XMLHttpRequest;if(d.open("GET",s,!1),Q!==U&&d.setRequestHeader("Range","bytes="+v+"-"+e),d.responseType="arraybuffer",d.overrideMimeType&&d.overrideMimeType("text/plain; charset=x-user-defined"),d.send(null),!(d.status>=200&&d.status<300||d.status===304))throw new Error("Couldn't load "+s+". Status: "+d.status);return d.response!==void 0?new Uint8Array(d.response||[]):Lm(d.responseText||"",!0)})(J,g)),H.chunks[K]===void 0)throw new Error("doXHR failed!");return H.chunks[K]}),!W&&Q||(U=Q=1,Q=this.getter(0).length,U=Q,X1("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=Q,this._chunkSize=U,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!Rk)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var C=new p;Object.defineProperties(C,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var b={isDevice:!1,contents:C}}else b={isDevice:!1,url:s};var k=Me.createFile(c,a,b,o,u);b.contents?k.contents=b.contents:b.url&&(k.contents=null,k.url=b.url),Object.defineProperties(k,{usedBytes:{get:function(){return this.contents.length}}});var E={};function B(G,D,Q,V,W){var U=G.node.contents;if(W>=U.length)return 0;var H=Math.min(U.length-W,V);if(U.slice)for(var K=0;K<H;K++)D[Q+K]=U[W+K];else for(K=0;K<H;K++)D[Q+K]=U.get(W+K);return H}
2810return Object.keys(k.stream_ops).forEach(G=>{var D=k.stream_ops[G];E[G]=function(){return Me.forceLoadFile(k),D.apply(null,arguments)}}),E.read=(G,D,Q,V,W)=>(Me.forceLoadFile(k),B(G,D,Q,V,W)),E.mmap=(G,D,Q,V,W)=>{Me.forceLoadFile(k);var U=Vm();if(!U)throw new Me.ErrnoError(48);return B(G,zi,U,D,Q),{ptr:U,allocated:!0}},k.stream_ops=E,k},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(c,a,s)=>{a=a||(()=>{}),s=s||(()=>{});var o=Me.indexedDB();try{var u=o.open(Me.DB_NAME(),Me.DB_VERSION)}catch(p){return s(p)}u.onupgradeneeded=()=>{X1("creating db"),u.result.createObjectStore(Me.DB_STORE_NAME)},u.onsuccess=()=>{var p=u.result.transaction([Me.DB_STORE_NAME],"readwrite"),C=p.objectStore(Me.DB_STORE_NAME),b=0,k=0,E=c.length;function B(){k==0?a():s()}c.forEach(G=>{var D=C.put(Me.analyzePath(G).object.contents,G);D.onsuccess=()=>{++b+k==E&&B()},D.onerror=()=>{k++,b+k==E&&B()}}),p.onerror=s},u.onerror=s},loadFilesFromDB:(c,a,s)=>{a=a||(()=>{}),s=s||(()=>{});var o=Me.indexedDB();try{var u=o.open(Me.DB_NAME(),Me.DB_VERSION)}catch(p){return s(p)}u.onupgradeneeded=s,u.onsuccess=()=>{var p=u.result;try{var C=p.transaction([Me.DB_STORE_NAME],"readonly")}catch(D){return void s(D)}var b=C.objectStore(Me.DB_STORE_NAME),k=0,E=0,B=c.length;function G(){E==0?a():s()}c.forEach(D=>{var Q=b.get(D);Q.onsuccess=()=>{Me.analyzePath(D).exists&&Me.unlink(D),Me.createDataFile(Rs.dirname(D),Rs.basename(D),Q.result,!0,!0,!0),++k+E==B&&G()},Q.onerror=()=>{E++,k+E==B&&G()}}),C.onerror=s},u.onerror=s}},ya={DEFAULT_POLLMASK:5,calculateAt:function(c,a,s){if(Rs.isAbs(a))return a;var o;if(o=c===-100?Me.cwd():ya.getStreamFromFD(c).path,a.length==0){if(!s)throw new Me.ErrnoError(44);return o}return Rs.join2(o,a)},doStat:function(c,a,s){try{var o=c(a)}catch(b){if(b&&b.node&&Rs.normalize(a)!==Rs.normalize(Me.getPath(b.node)))return-54;throw b}ys[s>>2]=o.dev,ys[s+8>>2]=o.ino,ys[s+12>>2]=o.mode,ln[s+16>>2]=o.nlink,ys[s+20>>2]=o.uid,ys[s+24>>2]=o.gid,ys[s+28>>2]=o.rdev,Ya=[o.size>>>0,(Sr=o.size,+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[s+40>>2]=Ya[0],ys[s+44>>2]=Ya[1],ys[s+48>>2]=4096,ys[s+52>>2]=o.blocks;var u=o.atime.getTime(),p=o.mtime.getTime(),C=o.ctime.getTime();return Ya=[Math.floor(u/1e3)>>>0,(Sr=Math.floor(u/1e3),+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[s+56>>2]=Ya[0],ys[s+60>>2]=Ya[1],ln[s+64>>2]=u%1e3*1e3,Ya=[Math.floor(p/1e3)>>>0,(Sr=Math.floor(p/1e3),+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[s+72>>2]=Ya[0],ys[s+76>>2]=Ya[1],ln[s+80>>2]=p%1e3*1e3,Ya=[Math.floor(C/1e3)>>>0,(Sr=Math.floor(C/1e3),+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[s+88>>2]=Ya[0],ys[s+92>>2]=Ya[1],ln[s+96>>2]=C%1e3*1e3,Ya=[o.ino>>>0,(Sr=o.ino,+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[s+104>>2]=Ya[0],ys[s+108>>2]=Ya[1],0},doMsync:function(c,a,s,o,u){if(!Me.isFile(a.node.mode))throw new Me.ErrnoError(43);if(2&o)return 0;var p=h2.slice(c,c+s);Me.msync(a,p,u,s,o)},varargs:void 0,get:function(){return ya.varargs+=4,ys[ya.varargs-4>>2]},getStr:function(c){return p2(c)},getStreamFromFD:function(c){var a=Me.getStream(c);if(!a)throw new Me.ErrnoError(8);return a}},Rf={};function qu(){if(!qu.strings){var c={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ld||"./this.program"};for(var a in Rf)Rf[a]===void 0?delete c[a]:c[a]=Rf[a];var s=[];for(var a in c)s.push(a+"="+c[a]);qu.strings=s}return qu.strings}var up=function(c,a,s,o){c||(c=this),this.parent=c,this.mount=c.mount,this.mounted=null,this.id=Me.nextInode++,this.name=a,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=o};Object.defineProperties(up.prototype,{read:{get:function(){return!(365&~this.mode)}
2810,set:function(c){c?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(c){c?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Me.isDir(this.mode)}},isDevice:{get:function(){return Me.isChrdev(this.mode)}}}),Me.FSNode=up,Me.staticInit(),He.FS_createPath=Me.createPath,He.FS_createDataFile=Me.createDataFile,He.FS_unlink=Me.unlink,He.FS_createLazyFile=Me.createLazyFile,He.FS_createDevice=Me.createDevice;var Kk={g:function(c,a,s,o){nl("Assertion failed: "+p2(c)+", at: "+[a?p2(a):"unknown filename",s,o?p2(o):"unknown function"])},u:function(c,a,s){throw new Uk(c).init(a,s),c},d:function(c,a,s){ya.varargs=s;try{var o=ya.getStreamFromFD(c);switch(a){case 0:return(u=ya.get())<0?-28:Me.createStream(o,u).fd;case 1:case 2:case 6:case 7:return 0;case 3:return o.flags;case 4:var u=ya.get();return o.flags|=u,0;case 5:return u=ya.get(),q1[u+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return ys[L3()>>2]=28,-1}}catch(p){if(Me===void 0||!(p instanceof Me.ErrnoError))throw p;return-p.errno}},q:function(c,a,s){try{var o=ya.getStreamFromFD(c);o.getdents||(o.getdents=Me.readdir(o.path));for(var u=280,p=0,C=Me.llseek(o,0,1),b=Math.floor(C/u);b<o.getdents.length&&p+u<=s;){var k,E,B=o.getdents[b];if(B===".")k=o.node.id,E=4;else if(B==="..")k=Me.lookupPath(o.path,{parent:!0}).node.id,E=4;else{var G=Me.lookupNode(o.node,B);k=G.id,E=Me.isChrdev(G.mode)?2:Me.isDir(G.mode)?4:Me.isLink(G.mode)?10:8}Ya=[k>>>0,(Sr=k,+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[a+p>>2]=Ya[0],ys[a+p+4>>2]=Ya[1],Ya=[(b+1)*u>>>0,(Sr=(b+1)*u,+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[a+p+8>>2]=Ya[0],ys[a+p+12>>2]=Ya[1],q1[a+p+16>>1]=280,zi[a+p+18|0]=E,cd(B,h2,a+p+19,256),p+=u,b+=1}return Me.llseek(o,b*u,0),p}catch(D){if(Me===void 0||!(D instanceof Me.ErrnoError))throw D;return-D.errno}},h:function(c,a,s){ya.varargs=s;try{var o=ya.getStreamFromFD(c);switch(a){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return o.tty?0:-59;case 21519:if(!o.tty)return-59;var u=ya.get();return ys[u>>2]=0,0;case 21520:return o.tty?-28:-59;case 21531:return u=ya.get(),Me.ioctl(o,a,u);default:return-28}}catch(p){if(Me===void 0||!(p instanceof Me.ErrnoError))throw p;return-p.errno}},e:function(c,a,s,o){ya.varargs=o;try{a=ya.getStr(a),a=ya.calculateAt(c,a);var u=o?ya.get():0;return Me.open(a,s,u).fd}catch(p){if(Me===void 0||!(p instanceof Me.ErrnoError))throw p;return-p.errno}},o:function(c){try{return c=ya.getStr(c),Me.rmdir(c),0}catch(a){if(Me===void 0||!(a instanceof Me.ErrnoError))throw a;return-a.errno}},n:function(c,a){try{return c=ya.getStr(c),ya.doStat(Me.stat,c,a)}catch(s){if(Me===void 0||!(s instanceof Me.ErrnoError))throw s;return-s.errno}},p:function(c,a,s){try{return a=ya.getStr(a),a=ya.calculateAt(c,a),s===0?Me.unlink(a):s===512?Me.rmdir(a):nl("Invalid flags passed to unlinkat"),0}catch(o){if(Me===void 0||!(o instanceof Me.ErrnoError))throw o;return-o.errno}},i:function(){return!0},l:function(){nl("")},f:function(){return Date.now()},j:function(c,a,s){h2.copyWithin(c,a,a+s)},m:function(c){h2.length,nl("OOM")},r:function(c,a){var s=0;return qu().forEach(function(o,u){var p=a+s;ln[c+4*u>>2]=p,function(C,b){for(var k=0;k<C.length;++k)zi[0|b++]=C.charCodeAt(k);zi[0|b]=0}(o,p),s+=o.length+1}),0},s:function(c,a){var s=qu();ln[c>>2]=s.length;var o=0;return s.forEach(function(u){o+=u.length+1}),ln[a>>2]=o,0},b:function(c){try{var a=ya.getStreamFromFD(c);return Me.close(a),0}catch(s){if(Me===void 0||!(s instanceof Me.ErrnoError))throw s;return s.errno}},t:function(c,a,s,o){try{var u=function(p,C,b){for(var k=0,E=0;E<b;E++){var B=ln[C>>2],G=ln[C+4>>2];C+=8;var D=Me.read(p,zi,B,G,void 0);if(D<0)return-1;if(k+=D,D<G)break}return k}(ya.getStreamFromFD(c),a,s);return ln[o>>2]=u,0}catch(p){if(Me===void 0||!(p instanceof Me.ErrnoError))throw p;return p.errno}},k:function(c,a,s,o,u){try{var p=(k=s)+2097152>>>0<4194305-!!(b=a)?(b>>>0)+4294967296*k:NaN;if(isNaN(p))return 61;var C=ya.getStreamFromFD(c);return Me.llseek(C,p,o),Ya=[C.position>>>0,(Sr=C.position,+Math.abs(Sr)>=1?Sr>0?(0|Math.min(+Math.floor(Sr/4294967296),4294967295))>>>0:~~+Math.ceil((Sr-+(~~Sr>>>0))/4294967296)>>>0:0)],ys[u>>2]=Ya[0],ys[u+4>>2]=Ya[1],C.getdents&&p===0&&o===0&&(C.getdents=null),0}
2810catch(E){if(Me===void 0||!(E instanceof Me.ErrnoError))throw E;return E.errno}var b,k},c:function(c,a,s,o){try{var u=function(p,C,b){for(var k=0,E=0;E<b;E++){var B=ln[C>>2],G=ln[C+4>>2];C+=8;var D=Me.write(p,zi,B,G,void 0);if(D<0)return-1;k+=D}return k}(ya.getStreamFromFD(c),a,s);return ln[o>>2]=u,0}catch(p){if(Me===void 0||!(p instanceof Me.ErrnoError))throw p;return p.errno}},a:ed};(function(){var c,a={a:Kk};function s(o,u){var p=o.exports;He.asm=p,He.asm.ua,zm(He.asm.v),Fm()}if(Om(),He.instantiateWasm)try{return He.instantiateWasm(a,s)}catch(o){return I2("Module.instantiateWasm callback failed with error: "+o),!1}c=function(o){s(o.instance)},async function(){return[]}().then(function(o){return w2.instantiate(o,a)}).then(function(o){return o}).then(c,function(o){I2("failed to asynchronously prepare wasm: "+o),nl(o)})})(),He.___wasm_call_ctors=function(){return(He.___wasm_call_ctors=He.asm.v).apply(null,arguments)};var Hm=He._emscripten_bind_VoidPtr___destroy___0=function(){return(Hm=He._emscripten_bind_VoidPtr___destroy___0=He.asm.w).apply(null,arguments)},Ym=He._emscripten_bind_espeak_VOICE_get_name_0=function(){return(Ym=He._emscripten_bind_espeak_VOICE_get_name_0=He.asm.x).apply(null,arguments)},Rm=He._emscripten_bind_espeak_VOICE_set_name_1=function(){return(Rm=He._emscripten_bind_espeak_VOICE_set_name_1=He.asm.y).apply(null,arguments)},jm=He._emscripten_bind_espeak_VOICE_get_languages_1=function(){return(jm=He._emscripten_bind_espeak_VOICE_get_languages_1=He.asm.z).apply(null,arguments)},Wm=He._emscripten_bind_espeak_VOICE_get_identifier_0=function(){return(Wm=He._emscripten_bind_espeak_VOICE_get_identifier_0=He.asm.A).apply(null,arguments)},Um=He._emscripten_bind_espeak_VOICE_set_identifier_1=function(){return(Um=He._emscripten_bind_espeak_VOICE_set_identifier_1=He.asm.B).apply(null,arguments)},Km=He._emscripten_bind_espeak_VOICE_get_gender_0=function(){return(Km=He._emscripten_bind_espeak_VOICE_get_gender_0=He.asm.C).apply(null,arguments)},Zm=He._emscripten_bind_espeak_VOICE_set_gender_1=function(){return(Zm=He._emscripten_bind_espeak_VOICE_set_gender_1=He.asm.D).apply(null,arguments)},Xm=He._emscripten_bind_espeak_VOICE_get_age_0=function(){return(Xm=He._emscripten_bind_espeak_VOICE_get_age_0=He.asm.E).apply(null,arguments)},qm=He._emscripten_bind_espeak_VOICE_set_age_1=function(){return(qm=He._emscripten_bind_espeak_VOICE_set_age_1=He.asm.F).apply(null,arguments)},Jm=He._emscripten_bind_espeak_VOICE_get_variant_0=function(){return(Jm=He._emscripten_bind_espeak_VOICE_get_variant_0=He.asm.G).apply(null,arguments)},$m=He._emscripten_bind_espeak_VOICE_set_variant_1=function(){return($m=He._emscripten_bind_espeak_VOICE_set_variant_1=He.asm.H).apply(null,arguments)},e3=He._emscripten_bind_espeak_VOICE_get_xx1_0=function(){return(e3=He._emscripten_bind_espeak_VOICE_get_xx1_0=He.asm.I).apply(null,arguments)},t3=He._emscripten_bind_espeak_VOICE_set_xx1_1=function(){return(t3=He._emscripten_bind_espeak_VOICE_set_xx1_1=He.asm.J).apply(null,arguments)},A3=He._emscripten_bind_espeak_VOICE_get_score_0=function(){return(A3=He._emscripten_bind_espeak_VOICE_get_score_0=He.asm.K).apply(null,arguments)},r3=He._emscripten_bind_espeak_VOICE_set_score_1=function(){return(r3=He._emscripten_bind_espeak_VOICE_set_score_1=He.asm.L).apply(null,arguments)},s3=He._emscripten_bind_espeak_VOICE_get_spare_0=function(){return(s3=He._emscripten_bind_espeak_VOICE_get_spare_0=He.asm.M).apply(null,arguments)},a3=He._emscripten_bind_espeak_VOICE_set_spare_1=function(){return(a3=He._emscripten_bind_espeak_VOICE_set_spare_1=He.asm.N).apply(null,arguments)},n3=He._emscripten_bind_espeak_VOICE___destroy___0=function(){return(n3=He._emscripten_bind_espeak_VOICE___destroy___0=He.asm.O).apply(null,arguments)},i3=He._emscripten_bind_espeak_EVENT_get_type_0=function(){return(i3=He._emscripten_bind_espeak_EVENT_get_type_0=He.asm.P).apply(null,arguments)},o3=He._emscripten_bind_espeak_EVENT_get_unique_identifier_0=function(){return(o3=He._emscripten_bind_espeak_EVENT_get_unique_identifier_0=He.asm.Q).apply(null,arguments)},l3=He._emscripten_bind_espeak_EVENT_get_text_position_0=function(){return(l3=He._emscripten_bind_espeak_EVENT_get_text_position_0=He.asm.R).apply(null,arguments)},c3=He._emscripten_bind_espeak_EVENT_get_length_0=function(){return(c3=He._emscripten_bind_espeak_EVENT_get_length_0=He.asm.S).apply(null,arguments)},u3=He._emscripten_bind_espeak_EVENT_get_audio_position_0=function(){return(u3=He._emscripten_bind_espeak_EVENT_get_audio_position_0=He.asm.T).apply(null,arguments)},f3=He._emscripten_bind_espeak_EVENT_get_sample_0=function(){return(f3=He._emscripten_bind_espeak_EVENT_get_sample_0=He.asm.U).apply(null,arguments)},d3=He._emscripten_bind_espeak_EVENT_get_user_data_0=function(){return(d3=He._emscripten_bind_espeak_EVENT_get_user_data_0=He.asm.V).apply(null,arguments)},g3=He._emscripten_bind_espeak_EVENT___destroy___0=function(){return(g3=He._emscripten_bind_espeak_EVENT___destroy___0=He.asm.W).apply(null,arguments)},h3=He._emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0=function(){return(
2810h3=He._emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0=He.asm.X).apply(null,arguments)},p3=He._emscripten_bind_eSpeakNGWorker_synth__2=function(){return(p3=He._emscripten_bind_eSpeakNGWorker_synth__2=He.asm.Y).apply(null,arguments)},m3=He._emscripten_bind_eSpeakNGWorker_synth_ipa__2=function(){return(m3=He._emscripten_bind_eSpeakNGWorker_synth_ipa__2=He.asm.Z).apply(null,arguments)},b3=He._emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0=function(){return(b3=He._emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0=He.asm._).apply(null,arguments)},C3=He._emscripten_bind_eSpeakNGWorker_set_voice_2=function(){return(C3=He._emscripten_bind_eSpeakNGWorker_set_voice_2=He.asm.$).apply(null,arguments)},I3=He._emscripten_bind_eSpeakNGWorker_set_voice_3=function(){return(I3=He._emscripten_bind_eSpeakNGWorker_set_voice_3=He.asm.aa).apply(null,arguments)},w3=He._emscripten_bind_eSpeakNGWorker_set_voice_4=function(){return(w3=He._emscripten_bind_eSpeakNGWorker_set_voice_4=He.asm.ba).apply(null,arguments)},k3=He._emscripten_bind_eSpeakNGWorker_set_voice_5=function(){return(k3=He._emscripten_bind_eSpeakNGWorker_set_voice_5=He.asm.ca).apply(null,arguments)},v3=He._emscripten_bind_eSpeakNGWorker_get_voices_1=function(){return(v3=He._emscripten_bind_eSpeakNGWorker_get_voices_1=He.asm.da).apply(null,arguments)},y3=He._emscripten_bind_eSpeakNGWorker_set_voices_2=function(){return(y3=He._emscripten_bind_eSpeakNGWorker_set_voices_2=He.asm.ea).apply(null,arguments)},E3=He._emscripten_bind_eSpeakNGWorker_get_samplerate_0=function(){return(E3=He._emscripten_bind_eSpeakNGWorker_get_samplerate_0=He.asm.fa).apply(null,arguments)},B3=He._emscripten_bind_eSpeakNGWorker_get_rate_0=function(){return(B3=He._emscripten_bind_eSpeakNGWorker_get_rate_0=He.asm.ga).apply(null,arguments)},x3=He._emscripten_bind_eSpeakNGWorker_set_rate_1=function(){return(x3=He._emscripten_bind_eSpeakNGWorker_set_rate_1=He.asm.ha).apply(null,arguments)},M3=He._emscripten_bind_eSpeakNGWorker_get_pitch_0=function(){return(M3=He._emscripten_bind_eSpeakNGWorker_get_pitch_0=He.asm.ia).apply(null,arguments)},D3=He._emscripten_bind_eSpeakNGWorker_set_pitch_1=function(){return(D3=He._emscripten_bind_eSpeakNGWorker_set_pitch_1=He.asm.ja).apply(null,arguments)},G3=He._emscripten_bind_eSpeakNGWorker___destroy___0=function(){return(G3=He._emscripten_bind_eSpeakNGWorker___destroy___0=He.asm.ka).apply(null,arguments)},_3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED=function(){return(_3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED=He.asm.la).apply(null,arguments)},T3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD=function(){return(T3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD=He.asm.ma).apply(null,arguments)},Q3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE=function(){return(Q3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE=He.asm.na).apply(null,arguments)},P3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK=function(){return(P3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK=He.asm.oa).apply(null,arguments)},S3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY=function(){return(S3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY=He.asm.pa).apply(null,arguments)},N3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END=function(){return(N3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END=He.asm.qa).apply(null,arguments)},z3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED=function(){return(z3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED=He.asm.ra).apply(null,arguments)},O3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME=function(){return(O3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME=He.asm.sa).apply(null,arguments)},F3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE=function(){return(F3=He._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE=He.asm.ta).apply(null,arguments)},L3=He.___errno_location=function(){return(L3=He.___errno_location=He.asm.va).apply(null,arguments)};He._free=function(){return(He._free=He.asm.wa).apply(null,arguments)},He._malloc=function(){return(He._malloc=He.asm.xa).apply(null,arguments)};var J1,V3=He.___cxa_is_pointer_type=function(){return(V3=He.___cxa_is_pointer_type=He.asm.ya).apply(null,arguments)};function H3(c){function a(){J1||(J1=!0,He.calledRun=!0,_m||(Nm=!0,He.noFSInit||Me.init.initialized||Me.init(),Me.ignorePermissions=!1,Yf(Sm),He.onRuntimeInitialized&&He.onRuntimeInitialized(),function(){if(He.postRun)for(typeof He.postRun=="function"&&(He.postRun=[He.postRun]);He.postRun.length;)s=He.postRun.shift(),cp.unshift(s);var s;Yf(cp)}()))}wc>0||(function(){if(He.preRun)for(typeof He.preRun=="function"&&(He.preRun=[He.preRun]);He.preRun.length;)s=He.preRun.shift(),lp.unshift(s);var s;Yf(lp)}(),wc>0||(He.setStatus?(He.setStatus("Running..."),setTimeout(function(){setTimeout(function(){He.setStatus("")},1),a()},1)):a()))}if(He.___start_em_js=132724,He.___stop_em_js=132822,He.addRunDependency=Om,He.removeRunDependency=Fm,He.FS_createPath=Me.createPath,He.FS_createDataFile=Me.createDataFile,He.FS_createLazyFile=Me.createLazyFile,He.FS_createDevice=Me.createDevice,He.FS_unlink=Me.unlink,Xu=function c(){J1||H3(),J1||(Xu=c)},He.preInit)for(typeof He.preInit=="function"&&(He.preInit=[He.preInit]);He.preInit.length>0;)He.preInit.pop()();function xo(){}function $1(c){return(c||xo).__cache__}function m2(c,a){var s=$1(a),o=s[c];return o||((o=Object.create((a||xo).prototype)).ptr=c,s[c]=o)}H3(),xo.prototype=Object.create(xo.prototype),xo.prototype.constructor=xo,xo.prototype.__class__=xo,xo.__cache__={},He.WrapperObject=xo,He.getCache=$1,He.wrapPointer=m2,He.castObject=function(c,a){return m2(c.ptr,a)},He.NULL=m2(0),He.destroy=function(c){if(!c.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";c.__destroy__(),delete $1(c.__class__)[c.ptr]}
2810,He.compare=function(c,a){return c.ptr===a.ptr},He.getPointer=function(c){return c.ptr},He.getClass=function(c){return c.__class__};var Ls={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Ls.needed){for(var c=0;c<Ls.temps.length;c++)He._free(Ls.temps[c]);Ls.temps.length=0,He._free(Ls.buffer),Ls.buffer=0,Ls.size+=Ls.needed,Ls.needed=0}Ls.buffer||(Ls.size+=128,Ls.buffer=He._malloc(Ls.size),Vf(Ls.buffer)),Ls.pos=0},alloc:function(c,a){Vf(Ls.buffer);var s,o=a.BYTES_PER_ELEMENT,u=c.length*o;return u=u+7&-8,Ls.pos+u>=Ls.size?(Vf(u>0),Ls.needed+=u,s=He._malloc(u),Ls.temps.push(s)):(s=Ls.buffer+Ls.pos,Ls.pos+=u),s},copy:function(c,a,s){switch(s>>>=0,a.BYTES_PER_ELEMENT){case 2:s>>>=1;break;case 4:s>>>=2;break;case 8:s>>>=3}for(var o=0;o<c.length;o++)a[s+o]=c[o]}};function mc(c){if(typeof c=="string"){var a=Lm(c),s=Ls.alloc(a,zi);return Ls.copy(a,zi,s),s}return c}function al(){throw"cannot construct a VoidPtr, no constructor in IDL"}function JA(){throw"cannot construct a espeak_VOICE, no constructor in IDL"}function ns(){throw"cannot construct a espeak_EVENT, no constructor in IDL"}function Lr(){this.ptr=h3(),$1(Lr)[this.ptr]=this}al.prototype=Object.create(xo.prototype),al.prototype.constructor=al,al.prototype.__class__=al,al.__cache__={},He.VoidPtr=al,al.prototype.__destroy__=al.prototype.__destroy__=function(){var c=this.ptr;Hm(c)},JA.prototype=Object.create(xo.prototype),JA.prototype.constructor=JA,JA.prototype.__class__=JA,JA.__cache__={},He.espeak_VOICE=JA,JA.prototype.get_name=JA.prototype.get_name=function(){var c=this.ptr;return p2(Ym(c))},JA.prototype.set_name=JA.prototype.set_name=function(c){var a=this.ptr;Ls.prepare(),c=c&&typeof c=="object"?c.ptr:mc(c),Rm(a,c)},Object.defineProperty(JA.prototype,"name",{get:JA.prototype.get_name,set:JA.prototype.set_name}),JA.prototype.get_languages=JA.prototype.get_languages=function(c){var a=this.ptr;return c&&typeof c=="object"&&(c=c.ptr),jm(a,c)},Object.defineProperty(JA.prototype,"languages",{get:JA.prototype.get_languages}),JA.prototype.get_identifier=JA.prototype.get_identifier=function(){var c=this.ptr;return p2(Wm(c))},JA.prototype.set_identifier=JA.prototype.set_identifier=function(c){var a=this.ptr;Ls.prepare(),c=c&&typeof c=="object"?c.ptr:mc(c),Um(a,c)},Object.defineProperty(JA.prototype,"identifier",{get:JA.prototype.get_identifier,set:JA.prototype.set_identifier}),JA.prototype.get_gender=JA.prototype.get_gender=function(){var c=this.ptr;return Km(c)},JA.prototype.set_gender=JA.prototype.set_gender=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),Zm(a,c)},Object.defineProperty(JA.prototype,"gender",{get:JA.prototype.get_gender,set:JA.prototype.set_gender}),JA.prototype.get_age=JA.prototype.get_age=function(){var c=this.ptr;return Xm(c)},JA.prototype.set_age=JA.prototype.set_age=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),qm(a,c)},Object.defineProperty(JA.prototype,"age",{get:JA.prototype.get_age,set:JA.prototype.set_age}),JA.prototype.get_variant=JA.prototype.get_variant=function(){var c=this.ptr;return Jm(c)},JA.prototype.set_variant=JA.prototype.set_variant=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),$m(a,c)},Object.defineProperty(JA.prototype,"variant",{get:JA.prototype.get_variant,set:JA.prototype.set_variant}),JA.prototype.get_xx1=JA.prototype.get_xx1=function(){var c=this.ptr;return e3(c)},JA.prototype.set_xx1=JA.prototype.set_xx1=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),t3(a,c)},Object.defineProperty(JA.prototype,"xx1",{get:JA.prototype.get_xx1,set:JA.prototype.set_xx1}),JA.prototype.get_score=JA.prototype.get_score=function(){var c=this.ptr;return A3(c)},JA.prototype.set_score=JA.prototype.set_score=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),r3(a,c)},Object.defineProperty(JA.prototype,"score",{get:JA.prototype.get_score,set:JA.prototype.set_score}),JA.prototype.get_spare=JA.prototype.get_spare=function(){var c=this.ptr;return s3(c)},JA.prototype.set_spare=JA.prototype.set_spare=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),a3(a,c)},Object.defineProperty(JA.prototype,"spare",{get:JA.prototype.get_spare,set:JA.prototype.set_spare}),JA.prototype.__destroy__=JA.prototype.__destroy__=function(){var c=this.ptr;n3(c)},ns.prototype=Object.create(xo.prototype),ns.prototype.constructor=ns,ns.prototype.__class__=ns,ns.__cache__={},He.espeak_EVENT=ns,ns.prototype.get_type=ns.prototype.get_type=function(){var c=this.ptr;return i3(c)},Object.defineProperty(ns.prototype,"type",{get:ns.prototype.get_type}),ns.prototype.get_unique_identifier=ns.prototype.get_unique_identifier=function(){var c=this.ptr;return o3(c)},Object.defineProperty(ns.prototype,"unique_identifier",{get:ns.prototype.get_unique_identifier}),ns.prototype.get_text_position=ns.prototype.get_text_position=function(){var c=this.ptr;return l3(c)},Object.defineProperty(ns.prototype,"text_position",{get:ns.prototype.get_text_position}),ns.prototype.get_length=ns.prototype.get_length=function(){var c=this.ptr;return c3(c)},Object.defineProperty(ns.prototype,"length",{get:ns.prototype.get_length}),ns.prototype.get_audio_position=ns.prototype.get_audio_position=function(){var c=this.ptr;return u3(c)},Object.defineProperty(ns.prototype,"audio_position",{get:ns.prototype.get_audio_position}),ns.prototype.get_sample=ns.prototype.get_sample=function(){var c=this.ptr;return f3(c)},Object.defineProperty(ns.prototype,"sample",{get:ns.prototype.get_sample}),ns.prototype.get_user_data=ns.prototype.get_user_data=function(){var c=this.ptr;return d3(c)},Object.defineProperty(ns.prototype,"user_data",{get:ns.prototype.get_user_data}),ns.prototype.__destroy__=ns.prototype.__destroy__=function(){var c=this.ptr;g3(c)},Lr.prototype=Object.create(xo.prototype),Lr.prototype.constructor=Lr,Lr.prototype.__class__=Lr,Lr.__cache__={},He.eSpeakNGWorker=Lr,Lr.prototype.synth_=Lr.prototype.synth_=function(c,a){var s=this.ptr;Ls.prepare(),c=c&&typeof c=="object"?c.ptr:mc(c),a&&typeof a=="object"&&(a=a.ptr),p3(s,c,a)},Lr.prototype.synth_ipa_=Lr.prototype.synth_ipa_=function(c,a){var s=this.ptr;return Ls.prepare(),c=c&&typeof c=="object"?c.ptr:mc(c),a=a&&typeof a=="object"?a.ptr:mc(a),m3(s,c,a)},Lr.prototype.getSizeOfEventStruct_=Lr.prototype.getSizeOfEventStruct_=function(){var c=this.ptr;return b3(c)},Lr.prototype.set_voice=Lr.prototype.set_voice=function(c,a,s,o,u){var p=this.ptr;return Ls.prepare(),c=c&&typeof c=="object"?c.ptr:mc(c),a=a&&typeof a=="object"?a.ptr:mc(a),s&&typeof s=="object"&&(s=s.ptr),o&&typeof o=="object"&&(o=o.ptr),u&&typeof u=="object"&&(u=u.ptr),s===void 0?C3(p,c,a):o===void 0?I3(p,c,a,s):u===void 0?w3(p,c,a,s,o):k3(p,c,a,s,o,u)},Lr.prototype.get_voices=Lr.prototype.get_voices=function(c){var a=this.ptr;return c&&typeof c=="object"&&(c=c.ptr),m2(v3(a,c),JA)},Lr.prototype.set_voices=Lr.prototype.set_voices=function(c,a){var s=this.ptr;Ls.prepare(),c&&typeof c=="object"&&(c=c.ptr),a&&typeof a=="object"&&(a=a.ptr),y3(s,c,a)},Object.defineProperty(Lr.prototype,"voices",{get:Lr.prototype.get_voices,set:Lr.prototype.set_voices}),Lr.prototype.get_samplerate=Lr.prototype.get_samplerate=function(){var c=this.ptr;return E3(c)},Object.defineProperty(Lr.prototype,"samplerate",{get:Lr.prototype.get_samplerate}),Lr.prototype.get_rate=Lr.prototype.get_rate=function(){var c=this.ptr;return B3(c)},Lr.prototype.set_rate=Lr.prototype.set_rate=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),x3(a,c)},Object.defineProperty(Lr.prototype,"rate",{get:Lr.prototype.get_rate,set:Lr.prototype.set_rate}),Lr.prototype.get_pitch=Lr.prototype.get_pitch=function(){var c=this.ptr;return M3(c)},Lr.prototype.set_pitch=Lr.prototype.set_pitch=function(c){var a=this.ptr;c&&typeof c=="object"&&(c=c.ptr),D3(a,c)},Object.defineProperty(Lr.prototype,"pitch",{get:Lr.prototype.get_pitch,set:Lr.prototype.set_pitch}),Lr.prototype.__destroy__=Lr.prototype.__destroy__=function(){var c=this.ptr;G3(c)},function(){function c(){He.espeakEVENT_LIST_TERMINATED=_3(),He.espeakEVENT_WORD=T3(),He.espeakEVENT_SENTENCE=Q3(),He.espeakEVENT_MARK=P3(),He.espeakEVENT_PLAY=S3(),He.espeakEVENT_END=N3(),He.espeakEVENT_MSG_TERMINATED=z3(),He.espeakEVENT_PHONEME=O3(),He.espeakEVENT_SAMPLERATE=F3()}Nm?c():zm(c)}(),Lr.prototype.list_voices=function(){for(var c,a=[],s=this.get_voices(c=0);s.ptr!=0;s=this.get_voices(++c)){let b=function(k){for(var E="",B=k,G=s.get_languages(B++);G!=0;)E+=String.fromCharCode(G),G=s.get_languages(B++);return E};for(var o={name:s.get_name(),identifier:s.get_identifier(),languages:[]},u=0,p=s.get_languages(u);p!=0;
2810){var C={priority:p,name:b(++u)};o.languages.push(C),u+=C.name.length+1,p=s.get_languages(u)}a.push(o)}return a};var Zk=["list_terminated","word","sentence","mark","play","end","msg_terminated","phoneme","samplerate"];Lr.prototype.synthesize=function(c,a){var s=this.getSizeOfEventStruct_(),o=addFunction(function(u,p,C){for(var b=new Float32Array(2*p),k=0;k<p;k++)b[2*k]=Math.max(-1,Math.min(1,Wk(u+2*k,"i16")/32768)),b[2*k+1]=b[2*k];var E=[];for(u=C,ev=m2(u,ns);ev.get_type()!=He.espeakEVENT_LIST_TERMINATED;ev=m2(u+=s,ns))E.push({type:Zk[ev.get_type()],text_position:ev.get_text_position(),word_length:ev.get_length(),audio_position:ev.get_audio_position()});return a(b,E)?1:0});this.synth_(c,o),removeFunction(o)},Lr.prototype.synthesize_ipa=function(c,a){var s="espeak-ng-ipa-tmp-"+Math.random().toString().substring(2),o="",u=this.synth_ipa_(c,s);return u==0&&(o=Me.readFile(s,{encoding:"utf8"})),Me.unlink(s),{code:u,ipa:o}};const Y3=new Promise(c=>{He.calledRun?c(new He.eSpeakNGWorker):He.onRuntimeInitialized=()=>c(new He.eSpeakNGWorker)}),Xk=["en"],qk=Y3.then(c=>{const a=c.list_voices().map(({name:o,identifier:u,languages:p})=>({name:o,identifier:u,languages:p.filter(C=>Xk.includes(C.name.split("-")[0]))})).filter(o=>o.languages.length>0),s=new Set;for(const o of a){s.add(o.identifier);for(const u of o.languages)s.add(u.name)}return{voices:a,identifiers:s}});function Jk(c){if(c.includes("."))return c;if(c.includes(":")){let[p,C]=c.split(":").map(Number);return C===0?`${p} o'clock`:C<10?`${p} oh ${C}`:`${p} ${C}`}let a=parseInt(c.slice(0,4),10);if(a<1100||a%1e3<10)return c;let s=c.slice(0,2),o=parseInt(c.slice(2,4),10),u=c.endsWith("s")?"s":"";if(a%1e3>=100&&a%1e3<=999){if(o===0)return`${s} hundred${u}`;if(o<10)return`${s} oh ${o}${u}`}return`${s} ${o}${u}`}function $k(c){const a=c[0]==="$"?"dollar":"pound";if(isNaN(Number(c.slice(1))))return`${c.slice(1)} ${a}s`;if(!c.includes(".")){let p=c.slice(1)==="1"?"":"s";return`${c.slice(1)} ${a}${p}`}const[s,o]=c.slice(1).split("."),u=parseInt(o.padEnd(2,"0"),10);return`${s} ${a}${s==="1"?"":"s"} and ${u} ${c[0]==="$"?u===1?"cent":"cents":u===1?"penny":"pence"}`}function tv(c){let[a,s]=c.split(".");return`${a} point ${s.split("").join(" ")}`}const Av=new RegExp(`(\\s*[${fp=';:,.!?¡¿—…"«»“”(){}[]',fp.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]+\\s*)+`,"g");var fp;async function rv(c,a="a",s=!0){s&&(c=function(b){return b.replace(/[‘’]/g,"'").replace(/«/g,"“").replace(/»/g,"”").replace(/[“”]/g,'"').replace(/\(/g,"«").replace(/\)/g,"»").replace(/、/g,", ").replace(/。/g,". ").replace(/!/g,"! ").replace(/,/g,", ").replace(/:/g,": ").replace(/;/g,"; ").replace(/?/g,"? ").replace(/[^\S \n]/g," ").replace(/  +/," ").replace(new RegExp("(?<=\\n) +(?=\\n)","g"),"").replace(/\bD[Rr]\.(?= [A-Z])/g,"Doctor").replace(/\b(?:Mr\.|MR\.(?= [A-Z]))/g,"Mister").replace(/\b(?:Ms\.|MS\.(?= [A-Z]))/g,"Miss").replace(/\b(?:Mrs\.|MRS\.(?= [A-Z]))/g,"Mrs").replace(/\betc\.(?! [A-Z])/gi,"etc").replace(/\b(y)eah?\b/gi,"$1e'a").replace(new RegExp("\\d*\\.\\d+|\\b\\d{4}s?\\b|(?<!:)\\b(?:[1-9]|1[0-2]):[0-5]\\d\\b(?!:)","g"),Jk).replace(new RegExp("(?<=\\d),(?=\\d)","g"),"").replace(/[$£]\d+(?:\.\d+)?(?: hundred| thousand| (?:[bm]|tr)illion)*\b|[$£]\d+\.\d\d?\b/gi,$k).replace(/\d*\.\d+/g,tv).replace(new RegExp("(?<=\\d)-(?=\\d)","g")," to ").replace(new RegExp("(?<=\\d)S","g")," S").replace(new RegExp("(?<=[BCDFGHJ-NP-TV-Z])'?s\\b","g"),"'S").replace(new RegExp("(?<=X')S\\b","g"),"s").replace(/(?:[A-Za-z]\.){2,} [a-z]/g,k=>k.replace(/\./g,"-")).replace(new RegExp("(?<=[A-Z])\\.(?=[A-Z])","gi"),"-").trim()}(c));const o=function(b,k){const E=[];let B=0;for(const G of b.matchAll(k)){const D=G[0];B<G.index&&E.push({match:!1,text:b.slice(B,G.index)}),D.length>0&&E.push({match:!0,text:D}),B=G.index+D.length}return B<b.length&&E.push({match:!1,text:b.slice(B)}),E}(c,Av),u=a==="a"?"en-us":"en";let C=(await Promise.all(o.map(async({match:b,text:k})=>b?k:(await(async(E,B="en-us")=>{var Q;const G=await Y3,{identifiers:D}=await qk;if(!D.has(B))throw new Error(`Invalid language identifier: "${B}". Should be one of: ${Array.from(D).toSorted().join(", ")}.`);
2810return G.set_voice(B),((Q=G.synthesize_ipa(E).ipa)==null?void 0:Q.split(`
2811`).filter(V=>V.length>0))??[]})(k,u)).join(" ")))).join("").replace(/kəkˈoːɹoʊ/g,"kˈoʊkəɹoʊ").replace(/kəkˈɔːɹəʊ/g,"kˈəʊkəɹəʊ").replace(/ʲ/g,"j").replace(/r/g,"ɹ").replace(/x/g,"k").replace(/ɬ/g,"l").replace(new RegExp("(?<=[a-zɹː])(?=hˈʌndɹɪd)","g")," ").replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,"z");return a==="a"&&(C=C.replace(new RegExp("(?<=nˈaɪn)ti(?!ː)","g"),"di")),C.trim()}var ju={};const Wu=Object.freeze({af_heart:{name:"Heart",language:"en-us",gender:"Female",traits:"❤️",targetQuality:"A",overallGrade:"A"},af_alloy:{name:"Alloy",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C"},af_aoede:{name:"Aoede",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_bella:{name:"Bella",language:"en-us",gender:"Female",traits:"🔥",targetQuality:"A",overallGrade:"A-"},af_jessica:{name:"Jessica",language:"en-us",gender:"Female",targetQuality:"C",overallGrade:"D"},af_kore:{name:"Kore",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_nicole:{name:"Nicole",language:"en-us",gender:"Female",traits:"🎧",targetQuality:"B",overallGrade:"B-"},af_nova:{name:"Nova",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C"},af_river:{name:"River",language:"en-us",gender:"Female",targetQuality:"C",overallGrade:"D"},af_sarah:{name:"Sarah",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_sky:{name:"Sky",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C-"},am_adam:{name:"Adam",language:"en-us",gender:"Male",targetQuality:"D",overallGrade:"F+"},am_echo:{name:"Echo",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_eric:{name:"Eric",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_fenrir:{name:"Fenrir",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_liam:{name:"Liam",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_michael:{name:"Michael",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_onyx:{name:"Onyx",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_puck:{name:"Puck",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_santa:{name:"Santa",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D-"},bf_emma:{name:"Emma",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"B",overallGrade:"B-"},bf_isabella:{name:"Isabella",language:"en-gb",gender:"Female",targetQuality:"B",overallGrade:"C"},bm_george:{name:"George",language:"en-gb",gender:"Male",targetQuality:"B",overallGrade:"C"},bm_lewis:{name:"Lewis",language:"en-gb",gender:"Male",targetQuality:"C",overallGrade:"D+"},bf_alice:{name:"Alice",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"C",overallGrade:"D"},bf_lily:{name:"Lily",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"C",overallGrade:"D"},bm_daniel:{name:"Daniel",language:"en-gb",gender:"Male",traits:"🚹",targetQuality:"C",overallGrade:"D"},bm_fable:{name:"Fable",language:"en-gb",gender:"Male",traits:"🚹",targetQuality:"B",overallGrade:"C"}}),jf=new Map;async function sv(c){if(jf.has(c))return jf.get(c);const a=new Float32Array(await async function(s){if(ju!=null&&ju.readFile){const b=typeof __dirname<"u"?__dirname:import.meta.dirname,k=ju.resolve(b,`../voices/${s}.bin`),{buffer:E}=await ju.readFile(k);return E}const o=`https://huggingface.co/onnx-community/Kokoro-82M-v1.0-ONNX/resolve/main/voices/${s}.bin`;let u;try{u=await caches.open("kokoro-voices");const b=await u.match(o);if(b)return await b.arrayBuffer()}catch(b){console.warn("Unable to open cache",b)}const p=await fetch(o),C=await p.arrayBuffer();if(u)try{await u.put(o,new Response(C,{headers:p.headers}))}catch(b){console.warn("Unable to cache file",b)}return C}(c));return jf.set(c,a),a}class ud{constructor(a,s){this.model=a,this.tokenizer=s}static async from_pretrained(a,{dtype:s="fp32",device:o=null,progress_callback:u=null}={}){const p=Yk.from_pretrained(a,{progress_callback:u,dtype:s,device:o}),C=Vk.from_pretrained(a,{progress_callback:u}),b=await Promise.all([p,C]);return new ud(...b)}get voices(){return Wu}list_voices(){console.table(Wu)}_validate_voice(a){if(!Wu.hasOwnProperty(a))throw console.error(`Voice "${a}" not found. Available voices:`),console.table(Wu),new Error(`Voice "${a}" not found. Should be one of: ${Object.keys(Wu).join(", ")}.`)}async generate(a,{voice:s="af_heart",speed:o=1}={}
2811){this._validate_voice(s);const u=s.at(0),p=await rv(a,u),{input_ids:C}=this.tokenizer(p,{truncation:!0}),b=256*Math.min(Math.max(C.dims.at(-1)-2,0),509),k=(await sv(s)).slice(b,b+256),E={input_ids:C,style:new ap("float32",k,[1,256]),speed:new ap("float32",[o],[1])},{waveform:B}=await this.model(E);return new Hk(B.data,24e3)}}function dp(c,a,s){const o=c.slice();return o[13]=a[s],o}function gp(c,a,s){const o=c.slice();return o[39]=a[s],o}function hp(c,a,s){const o=c.slice();return o[13]=a[s],o}function pp(c,a,s){const o=c.slice();return o[44]=a[s],o}function mp(c){let a,s,o=c[12].t("Speech-to-Text Engine")+"",u,p,C,b,k,E=c[12].t("Default")+"",B,G,D=c[12].t("Web API")+"",Q,V,W;return{c(){a=X("div"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),b=X("select"),k=X("option"),B=Ze(E),G=X("option"),Q=Ze(D),this.h()},l(U){a=q(U,"DIV",{class:!0});var H=$(a);s=q(H,"DIV",{class:!0});var K=$(s);u=Xe(K,o),K.forEach(z),p=Ne(H),C=q(H,"DIV",{class:!0});var J=$(C);b=q(J,"SELECT",{class:!0,placeholder:!0});var g=$(b);k=q(g,"OPTION",{});var v=$(k);B=Xe(v,E),v.forEach(z),G=q(g,"OPTION",{});var e=$(G);Q=Xe(e,D),e.forEach(z),g.forEach(z),J.forEach(z),H.forEach(z),this.h()},h(){O(s,"class","self-center text-xs font-medium"),k.__value="",ar(k,k.__value),G.__value="web",ar(G,G.__value),O(b,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),O(b,"placeholder","Select an engine"),c[6]===void 0&&ll(()=>c[19].call(b)),O(C,"class","flex items-center relative"),O(a,"class","py-0.5 flex w-full justify-between")},m(U,H){Le(U,a,H),T(a,s),T(s,u),T(a,p),T(a,C),T(C,b),T(b,k),T(k,B),T(b,G),T(G,Q),Mo(b,c[6],!0),V||(W=Qt(b,"change",c[19]),V=!0)},p(U,H){H[0]&4096&&o!==(o=U[12].t("Speech-to-Text Engine")+"")&&tt(u,o),H[0]&4096&&E!==(E=U[12].t("Default")+"")&&tt(B,E),H[0]&4096&&D!==(D=U[12].t("Web API")+"")&&tt(Q,D),H[0]&64&&Mo(b,U[6])},d(U){U&&z(a),V=!1,W()}}}function av(c){let a,s=c[12].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&4096&&s!==(s=u[12].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function nv(c){let a,s=c[12].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&4096&&s!==(s=u[12].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function bp(c){let a,s,o=c[12].t("Kokoro.js Dtype")+"",u,p,C,b,k,E="Select dtype",B,G="fp32",D,Q="fp16",V,W="q8",U,H="q4",K,J;return{c(){a=X("div"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),b=X("select"),k=X("option"),k.textContent=E,B=X("option"),B.textContent=G,D=X("option"),D.textContent=Q,V=X("option"),V.textContent=W,U=X("option"),U.textContent=H,this.h()},l(g){a=q(g,"DIV",{class:!0});var v=$(a);s=q(v,"DIV",{class:!0});var e=$(s);u=Xe(e,o),e.forEach(z),p=Ne(v),C=q(v,"DIV",{class:!0});var d=$(C);b=q(d,"SELECT",{class:!0,placeholder:!0});var _=$(b);k=q(_,"OPTION",{"data-svelte-h":!0}),ur(k)!=="svelte-9k3yxv"&&(k.textContent=E),B=q(_,"OPTION",{"data-svelte-h":!0}),ur(B)!=="svelte-1yz7sc6"&&(B.textContent=G),D=q(_,"OPTION",{"data-svelte-h":!0}),ur(D)!=="svelte-aw8eku"&&(D.textContent=Q),V=q(_,"OPTION",{"data-svelte-h":!0}),ur(V)!=="svelte-gyb1sa"&&(V.textContent=W),U=q(_,"OPTION",{"data-svelte-h":!0}),ur(U)!=="svelte-et72yy"&&(U.textContent=H),_.forEach(z),d.forEach(z),v.forEach(z),this.h()},h(){O(s,"class","self-center text-xs font-medium"),k.__value="",ar(k,k.__value),k.disabled=!0,k.selected=!0,B.__value="fp32",ar(B,B.__value),D.__value="fp16",ar(D,D.__value),V.__value="q8",ar(V,V.__value),U.__value="q4",ar(U,U.__value),O(b,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),O(b,"placeholder","Select dtype"),c[2].dtype===void 0&&ll(()=>c[22].call(b)),O(C,"class","flex items-center relative"),O(a,"class","py-0.5 flex w-full justify-between")},m(g,v){Le(g,a,v),T(a,s),T(s,u),T(a,p),T(a,C),T(C,b),T(b,k),T(b,B),T(b,D),T(b,V),T(b,U
2811),Mo(b,c[2].dtype,!0),K||(J=Qt(b,"change",c[22]),K=!0)},p(g,v){v[0]&4096&&o!==(o=g[12].t("Kokoro.js Dtype")+"")&&tt(u,o),v[0]&4&&Mo(b,g[2].dtype)},d(g){g&&z(a),K=!1,J()}}}function iv(c){let a,s=c[12].t("Off")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&4096&&s!==(s=u[12].t("Off")+"")&&tt(o,s)},d(u){u&&z(a)}}}function ov(c){let a,s=c[12].t("On")+"",o;return{c(){a=X("span"),o=Ze(s),this.h()},l(u){a=q(u,"SPAN",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","ml-2 self-center")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&4096&&s!==(s=u[12].t("On")+"")&&tt(o,s)},d(u){u&&z(a)}}}function Cp(c){let a,s=c[44]+"",o,u,p;return{c(){a=X("option"),o=Ze(s),u=Ze("x"),this.h()},l(C){a=q(C,"OPTION",{});var b=$(a);o=Xe(b,s),u=Xe(b,"x"),b.forEach(z),this.h()},h(){a.__value=c[44],ar(a,a.__value),a.selected=p=c[10]===c[44]},m(C,b){Le(C,a,b),T(a,o),T(a,u)},p(C,b){b[0]&66560&&p!==(p=C[10]===C[44])&&(a.selected=p)},d(C){C&&z(a)}}}function lv(c){let a,s,o=c[12].t("Set Voice")+"",u,p,C,b,k,E,B,G,D,Q=Ur(c[9]),V=[];for(let W=0;W<Q.length;W+=1)V[W]=Ip(dp(c,Q,W));return{c(){a=X("div"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),b=X("div"),k=X("input"),E=Se(),B=X("datalist");for(let W=0;W<V.length;W+=1)V[W].c();this.h()},l(W){a=q(W,"DIV",{});var U=$(a);s=q(U,"DIV",{class:!0});var H=$(s);u=Xe(H,o),H.forEach(z),p=Ne(U),C=q(U,"DIV",{class:!0});var K=$(C);b=q(K,"DIV",{class:!0});var J=$(b);k=q(J,"INPUT",{list:!0,class:!0,placeholder:!0}),E=Ne(J),B=q(J,"DATALIST",{id:!0});var g=$(B);for(let v=0;v<V.length;v+=1)V[v].l(g);g.forEach(z),J.forEach(z),K.forEach(z),U.forEach(z),this.h()},h(){O(s,"class","mb-2.5 text-sm font-medium"),O(k,"list","voice-list"),O(k,"class","w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-850 outline-hidden"),O(k,"placeholder","Select a voice"),O(B,"id","voice-list"),O(b,"class","flex-1"),O(C,"class","flex w-full")},m(W,U){Le(W,a,U),T(a,s),T(s,u),T(a,p),T(a,C),T(C,b),T(b,k),ar(k,c[13]),T(b,E),T(b,B);for(let H=0;H<V.length;H+=1)V[H]&&V[H].m(B,null);G||(D=Qt(k,"input",c[29]),G=!0)},p(W,U){if(U[0]&4096&&o!==(o=W[12].t("Set Voice")+"")&&tt(u,o),U[0]&8736&&k.value!==W[13]&&ar(k,W[13]),U[0]&512){Q=Ur(W[9]);let H;for(H=0;H<Q.length;H+=1){const K=dp(W,Q,H);V[H]?V[H].p(K,U):(V[H]=Ip(K),V[H].c(),V[H].m(B,null))}for(;H<V.length;H+=1)V[H].d(1);V.length=Q.length}},i:WA,o:WA,d(W){W&&z(a),oi(V,W),G=!1,D()}}}function cv(c){let a,s,o=c[12].t("Set Voice")+"",u,p,C,b,k,E,B=c[12].t("Default")+"",G,D,Q,V,W,U=c[12].t("Allow non-local voices")+"",H,K,J,g,v,e,d,_,re=Ur(c[9].filter(c[26])
2811),S=[];for(let he=0;he<re.length;he+=1)S[he]=wp(gp(c,re,he));function F(he){c[28](he)}let Ie={};return c[5]!==void 0&&(Ie.state=c[5]),g=new Cm({props:Ie}),kr.push(()=>es(g,"state",F)),{c(){a=X("div"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),b=X("div"),k=X("select"),E=X("option"),G=Ze(B);for(let he=0;he<S.length;he+=1)S[he].c();Q=Se(),V=X("div"),W=X("div"),H=Ze(U),K=Se(),J=X("div"),Ut(g.$$.fragment),this.h()},l(he){a=q(he,"DIV",{});var ce=$(a);s=q(ce,"DIV",{class:!0});var ge=$(s);u=Xe(ge,o),ge.forEach(z),p=Ne(ce),C=q(ce,"DIV",{class:!0});var Ce=$(C);b=q(Ce,"DIV",{class:!0});var Fe=$(b);k=q(Fe,"SELECT",{class:!0});var Pe=$(k);E=q(Pe,"OPTION",{});var de=$(E);G=Xe(de,B),de.forEach(z);for(let me=0;me<S.length;me+=1)S[me].l(Pe);Pe.forEach(z),Fe.forEach(z),Ce.forEach(z),Q=Ne(ce),V=q(ce,"DIV",{class:!0});var pe=$(V);W=q(pe,"DIV",{class:!0});var we=$(W);H=Xe(we,U),we.forEach(z),K=Ne(pe),J=q(pe,"DIV",{class:!0});var Ge=$(J);Kt(g.$$.fragment,Ge),Ge.forEach(z),pe.forEach(z),ce.forEach(z),this.h()},h(){O(s,"class","mb-2.5 text-sm font-medium"),E.__value="",ar(E,E.__value),E.selected=D=c[13]!=="",O(k,"class","w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-850 outline-hidden"),c[13]===void 0&&ll(()=>c[27].call(k)),O(b,"class","flex-1"),O(C,"class","flex w-full"),O(W,"class","text-xs"),O(J,"class","mt-1"),O(V,"class","flex items-center justify-between my-1.5")},m(he,ce){Le(he,a,ce),T(a,s),T(s,u),T(a,p),T(a,C),T(C,b),T(b,k),T(k,E),T(E,G);for(let ge=0;ge<S.length;ge+=1)S[ge]&&S[ge].m(k,null);Mo(k,c[13],!0),T(a,Q),T(a,V),T(V,W),T(W,H),T(V,K),T(V,J),Zt(g,J,null),e=!0,d||(_=Qt(k,"change",c[27]),d=!0)},p(he,ce){if((!e||ce[0]&4096)&&o!==(o=he[12].t("Set Voice")+"")&&tt(u,o),(!e||ce[0]&4096)&&B!==(B=he[12].t("Default")+"")&&tt(G,B),(!e||ce[0]&8736&&D!==(D=he[13]!==""))&&(E.selected=D),ce[0]&8736){re=Ur(he[9].filter(he[26]));let Ce;for(Ce=0;Ce<re.length;Ce+=1){const Fe=gp(he,re,Ce);S[Ce]?S[Ce].p(Fe,ce):(S[Ce]=wp(Fe),S[Ce].c(),S[Ce].m(k,null))}for(;Ce<S.length;Ce+=1)S[Ce].d(1);S.length=re.length}ce[0]&8736&&Mo(k,he[13]),(!e||ce[0]&4096)&&U!==(U=he[12].t("Allow non-local voices")+"")&&tt(H,U);const ge={};!v&&ce[0]&32&&(v=!0,ge.state=he[5],$r(()=>v=!1)),g.$set(ge)},i(he){e||(nt(g.$$.fragment,he),e=!0)},o(he){dt(g.$$.fragment,he),e=!1},d(he){he&&z(a),oi(S,he),Xt(g),d=!1,_()}}}function uv(c){let a,s,o,u;const p=[dv,fv],C=[];function b(k,E){return k[7]?0:1}return a=b(c),s=C[a]=p[a](c),{c(){s.c(),o=ps()},l(k){s.l(k),o=ps()},m(k,E){C[a].m(k,E),Le(k,o,E),u=!0},p(k,E){let B=a;a=b(k),a===B?C[a].p(k,E):(Nr(),dt(C[B],1,1,()=>{C[B]=null}),zr(),s=C[a],s?s.p(k,E):(s=C[a]=p[a](k),s.c()),nt(s,1),s.m(o.parentNode,o))},i(k){u||(nt(s),u=!0)},o(k){dt(s),u=!1},d(k){k&&z(o),C[a].d(k)}}}function Ip(c){let a,s=c[13].name+"",o,u;return{c(){a=X("option"),o=Ze(s),this.h()},l(p){a=q(p,"OPTION",{});var C=$(a);o=Xe(C,s),C.forEach(z),this.h()},h(){a.__value=u=c[13].id,ar(a,a.__value)},m(p,C){Le(p,a,C),T(a,o)},p(p,C){C[0]&512&&s!==(s=p[13].name+"")&&tt(o,s),C[0]&512&&u!==(u=p[13].id)&&(a.__value=u,ar(a,a.__value))},d(p){p&&z(a)}}}function wp(c){let a,s=c[39].name+"",o,u,p;return{c(){a=X("option"),o=Ze(s),this.h()},l(C){a=q(C,"OPTION",{class:!0});var b=$(a);o=Xe(b,s),b.forEach(z),this.h()},h(){a.__value=u=c[39].name,ar(a,a.__value),O(a,"class","bg-gray-100 dark:bg-gray-700"),a.selected=p=c[13]===c[39].name},m(C,b){Le(C,a,b),T(a,o)},p(C,b){b[0]&544&&s!==(s=C[39].name+"")&&tt(o,s),b[0]&544&&u!==(u=C[39].name)&&(a.__value=u,ar(a,a.__value)),b[0]&8736&&p!==(p=C[13]===C[39].name)&&(a.selected=p)},d(C){C&&z(a)}}}function fv(c){let a,s,o,u,p,C=c[12].t("Loading Kokoro.js...")+"",b,k,E=c[8]&&c[8].status==="progress"?`(${Math.round(c[8].progress*10)/10}%)`:"",B,G,D,Q=c[12].t("Please do not close the settings page while loading the model.")+"",V,W;return o=new D2({props:{className:"size-4"}}),{c(){a=X("div"),s=X("div"),Ut(o.$$.fragment),u=Se(),p=X("div"),b=Ze(C),k=Se(),B=Ze(E),G=Se(),D=X("div"),V=Ze(Q),this.h()},l(U){a=q(U,"DIV",{});var H=$(a);s=q(H,"DIV",{class:!0});var K=$(s);Kt(o.$$.fragment,K),u=Ne(K),p=q(K,"DIV",{class:!0});var J=$(p);
2811b=Xe(J,C),k=Ne(J),B=Xe(J,E),J.forEach(z),K.forEach(z),G=Ne(H),D=q(H,"DIV",{class:!0});var g=$(D);V=Xe(g,Q),g.forEach(z),H.forEach(z),this.h()},h(){O(p,"class","text-sm font-medium shimmer"),O(s,"class","mb-2.5 text-sm font-medium flex gap-2 items-center"),O(D,"class","text-xs text-gray-500")},m(U,H){Le(U,a,H),T(a,s),Zt(o,s,null),T(s,u),T(s,p),T(p,b),T(p,k),T(p,B),T(a,G),T(a,D),T(D,V),W=!0},p(U,H){(!W||H[0]&4096)&&C!==(C=U[12].t("Loading Kokoro.js...")+"")&&tt(b,C),(!W||H[0]&256)&&E!==(E=U[8]&&U[8].status==="progress"?`(${Math.round(U[8].progress*10)/10}%)`:"")&&tt(B,E),(!W||H[0]&4096)&&Q!==(Q=U[12].t("Please do not close the settings page while loading the model.")+"")&&tt(V,Q)},i(U){W||(nt(o.$$.fragment,U),W=!0)},o(U){dt(o.$$.fragment,U),W=!1},d(U){U&&z(a),Xt(o)}}}function dv(c){let a,s,o=c[12].t("Set Voice")+"",u,p,C,b,k,E,B,G,D,Q=Ur(c[9]),V=[];for(let W=0;W<Q.length;W+=1)V[W]=kp(hp(c,Q,W));return{c(){a=X("div"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),b=X("div"),k=X("input"),E=Se(),B=X("datalist");for(let W=0;W<V.length;W+=1)V[W].c();this.h()},l(W){a=q(W,"DIV",{});var U=$(a);s=q(U,"DIV",{class:!0});var H=$(s);u=Xe(H,o),H.forEach(z),p=Ne(U),C=q(U,"DIV",{class:!0});var K=$(C);b=q(K,"DIV",{class:!0});var J=$(b);k=q(J,"INPUT",{list:!0,class:!0,placeholder:!0}),E=Ne(J),B=q(J,"DATALIST",{id:!0});var g=$(B);for(let v=0;v<V.length;v+=1)V[v].l(g);g.forEach(z),J.forEach(z),K.forEach(z),U.forEach(z),this.h()},h(){O(s,"class","mb-2.5 text-sm font-medium"),O(k,"list","voice-list"),O(k,"class","w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-850 outline-hidden"),O(k,"placeholder","Select a voice"),O(B,"id","voice-list"),O(b,"class","flex-1"),O(C,"class","flex w-full")},m(W,U){Le(W,a,U),T(a,s),T(s,u),T(a,p),T(a,C),T(C,b),T(b,k),ar(k,c[13]),T(b,E),T(b,B);for(let H=0;H<V.length;H+=1)V[H]&&V[H].m(B,null);G||(D=Qt(k,"input",c[25]),G=!0)},p(W,U){if(U[0]&4096&&o!==(o=W[12].t("Set Voice")+"")&&tt(u,o),U[0]&8736&&k.value!==W[13]&&ar(k,W[13]),U[0]&512){Q=Ur(W[9]);let H;for(H=0;H<Q.length;H+=1){const K=hp(W,Q,H);V[H]?V[H].p(K,U):(V[H]=kp(K),V[H].c(),V[H].m(B,null))}for(;H<V.length;H+=1)V[H].d(1);V.length=Q.length}},i:WA,o:WA,d(W){W&&z(a),oi(V,W),G=!1,D()}}}function kp(c){let a,s=c[13].name+"",o,u;return{c(){a=X("option"),o=Ze(s),this.h()},l(p){a=q(p,"OPTION",{});var C=$(a);o=Xe(C,s),C.forEach(z),this.h()},h(){a.__value=u=c[13].id,ar(a,a.__value)},m(p,C){Le(p,a,C),T(a,o)},p(p,C){C[0]&512&&s!==(s=p[13].name+"")&&tt(o,s),C[0]&512&&u!==(u=p[13].id)&&(a.__value=u,ar(a,a.__value))},d(p){p&&z(a)}}}function gv(c){let a,s,o,u,p=c[12].t("STT Settings")+"",C,b,k,E,B,G=c[12].t("Instant Auto-Send After Voice Transcription")+"",D,Q,V,W,U,H,K=c[12].t("TTS Settings")+"",J,g,v,e,d=c[12].t("Text-to-Speech Engine")+"",_,re,S,F,Ie,he=c[12].t("Default")+"",ce,ge,Ce=c[12].t("Kokoro.js (Browser)")+"",Fe,Pe,de,pe,we,Ge=c[12].t("Auto-playback response")+"",me,at,Ue,ot,pt,ct,je=c[12].t("Speech Playback Speed")+"",At,It,wt,ze,rt,Bt,Ot,St,oe,zt,ke,fe,Qe=c[12].t("Save")+"",Je,st,lt,xt,jt=c[11].audio.stt.engine!=="web"&&mp(c);function $t(CA,NA){return CA[3]===!0?nv:av}let Ft=$t(c),dA=Ft(c),eA=c[1]==="browser-kokoro"&&bp(c);function nA(CA,NA){return CA[4]===!0?ov:iv}let aA=nA(c),bA=aA(c),vA=Ur(c[16]),Gt=[];for(let CA=0;CA<vA.length;CA+=1)Gt[CA]=Cp(pp(c,vA,CA));const mA=[uv,cv,lv],AA=[];function gr(CA,NA){return CA[1]==="browser-kokoro"?0:CA[11].audio.tts.engine===""?1:CA[11].audio.tts.engine!==""?2:-1}return~(St=gr(c))&&(oe=AA[St]=mA[St](c)),{c(){a=X("form"),s=X("div"),o=X("div"),u=X("div"),C=Ze(p),b=Se(),jt&&jt.c(),k=Se(),E=X("div"),B=X("div"),D=Ze(G),Q=Se(),V=X("button"),dA.c(),W=Se(),U=X("div"),H=X("div"),J=Ze(K),g=Se(),v=X("div"),e=X("div"),_=Ze(d),re=Se(),S=X("div"),F=X("select"),Ie=X("option"),ce=Ze(he),ge=X("option"),Fe=Ze(Ce),Pe=Se(),eA&&eA.c(),de=Se(),pe=X("div"),we=X("div"),me=Ze(Ge),at=Se(),Ue=X("button"),bA.c(),ot=Se(),pt=X("div"),ct=X("div"),At=Ze(je),It=Se(),wt=X("div"),ze=X("select");for(let CA=0;CA<Gt.length;CA+=1)Gt[CA].c();rt=Se(),Bt=X("hr"),Ot=Se(),oe&&oe.c(),zt=Se(),ke=X("div"),fe=X("button"),Je=Ze(Qe),this.h()},l(CA){a=q(CA,"FORM",{class:!0});var NA=$(a);s=q(NA,"DIV",{class:!0});var tA=$(s);o=q(tA,"DIV",{});var iA=$(o);u=q(iA,"DIV",{class:!0});var qt=$(u);C=Xe(qt,p),qt.forEach(z),b=Ne(iA),jt&&jt.l(iA),k=Ne(iA),E=q(iA,"DIV",{class:!0});var zA=$(E);B=q(zA,"DIV",{class:!0});var Fr=$(B);D=Xe(Fr,G),Fr.forEach(z),Q=Ne(zA),V=q(zA,"BUTTON",{class:!0,type:!0});var Vr=$(V);dA.l(Vr),Vr.forEach(z),zA.forEach(z),iA.forEach(z),W=Ne(tA),U=q(tA,"DIV",{});var Tt=$(U);H=q(Tt,"DIV",{class:!0});var MA=$(H);J=Xe(MA,K),MA.forEach(z),g=Ne(Tt),v=q(Tt,"DIV",{class:!0});var QA=$(v);e=q(QA,"DIV",{class:!0});var ZA=$(e);_=Xe(ZA,d),ZA.forEach(z),re=Ne(QA),S=q(QA,"DIV",{class:!0});var FA=$(S);F=q(FA,"SELECT",{class:!0,placeholder:!0});var EA=$(F);Ie=q(EA,"OPTION",{});var Rr=$(Ie);ce=Xe(Rr,he),Rr.forEach(z),ge=q(EA,"OPTION",{});var Er=$(ge);Fe=Xe(Er,Ce),Er.forEach(z),EA.forEach(z),FA.forEach(z),QA.forEach(z),Pe=Ne(Tt),eA&&eA.l(Tt),de=Ne(Tt),pe=q(Tt,"DIV",{class:!0});var Dr=$(pe);we=q(Dr,"DIV",{class:!0});var Vs=$(we);me=Xe(Vs,Ge),Vs.forEach(z),at=Ne(Dr),Ue=q(Dr,"BUTTON",{class:!0,type:!0});var nr=$(Ue);bA.l(nr),nr.forEach(z),Dr.forEach(z),ot=Ne(Tt),pt=q(Tt,"DIV",{class:!0});var qs=$(pt);ct=q(qs,"DIV",{class:!0});var xa=$(ct);
2811At=Xe(xa,je),xa.forEach(z),It=Ne(qs),wt=q(qs,"DIV",{class:!0});var Ja=$(wt);ze=q(Ja,"SELECT",{class:!0});var ma=$(ze);for(let ds=0;ds<Gt.length;ds+=1)Gt[ds].l(ma);ma.forEach(z),Ja.forEach(z),qs.forEach(z),Tt.forEach(z),rt=Ne(tA),Bt=q(tA,"HR",{class:!0}),Ot=Ne(tA),oe&&oe.l(tA),tA.forEach(z),zt=Ne(NA),ke=q(NA,"DIV",{class:!0});var Qa=$(ke);fe=q(Qa,"BUTTON",{class:!0,type:!0});var $a=$(fe);Je=Xe($a,Qe),$a.forEach(z),Qa.forEach(z),NA.forEach(z),this.h()},h(){O(u,"class","mb-1 text-sm font-medium"),O(B,"class","self-center text-xs font-medium"),O(V,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(V,"type","button"),O(E,"class","py-0.5 flex w-full justify-between"),O(H,"class","mb-1 text-sm font-medium"),O(e,"class","self-center text-xs font-medium"),Ie.__value="",ar(Ie,Ie.__value),ge.__value="browser-kokoro",ar(ge,ge.__value),O(F,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),O(F,"placeholder","Select an engine"),c[1]===void 0&&ll(()=>c[21].call(F)),O(S,"class","flex items-center relative"),O(v,"class","py-0.5 flex w-full justify-between"),O(we,"class","self-center text-xs font-medium"),O(Ue,"class","p-1 px-3 text-xs flex rounded-sm transition"),O(Ue,"type","button"),O(pe,"class","py-0.5 flex w-full justify-between"),O(ct,"class","self-center text-xs font-medium"),O(ze,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),c[10]===void 0&&ll(()=>c[24].call(ze)),O(wt,"class","flex items-center relative"),O(pt,"class","py-0.5 flex w-full justify-between"),O(Bt,"class","border-gray-100 dark:border-gray-850"),O(s,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),O(fe,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(fe,"type","submit"),O(ke,"class","flex justify-end text-sm font-medium"),O(a,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(CA,NA){Le(CA,a,NA),T(a,s),T(s,o),T(o,u),T(u,C),T(o,b),jt&&jt.m(o,null),T(o,k),T(o,E),T(E,B),T(B,D),T(E,Q),T(E,V),dA.m(V,null),T(s,W),T(s,U),T(U,H),T(H,J),T(U,g),T(U,v),T(v,e),T(e,_),T(v,re),T(v,S),T(S,F),T(F,Ie),T(Ie,ce),T(F,ge),T(ge,Fe),Mo(F,c[1],!0),T(U,Pe),eA&&eA.m(U,null),T(U,de),T(U,pe),T(pe,we),T(we,me),T(pe,at),T(pe,Ue),bA.m(Ue,null),T(U,ot),T(U,pt),T(pt,ct),T(ct,At),T(pt,It),T(pt,wt),T(wt,ze);for(let tA=0;tA<Gt.length;tA+=1)Gt[tA]&&Gt[tA].m(ze,null);Mo(ze,c[10],!0),T(s,rt),T(s,Bt),T(s,Ot),~St&&AA[St].m(s,null),T(a,zt),T(a,ke),T(ke,fe),T(fe,Je),st=!0,lt||(xt=[Qt(V,"click",c[20]),Qt(F,"change",c[21]),Qt(Ue,"click",c[23]),Qt(ze,"change",c[24]),Qt(a,"submit",ul(c[30]))],lt=!0)},p(CA,NA){if((!st||NA[0]&4096)&&p!==(p=CA[12].t("STT Settings")+"")&&tt(C,p),CA[11].audio.stt.engine!=="web"?jt?jt.p(CA,NA):(jt=mp(CA),jt.c(),jt.m(o,k)):jt&&(jt.d(1),jt=null),(!st||NA[0]&4096)&&G!==(G=CA[12].t("Instant Auto-Send After Voice Transcription")+"")&&tt(D,G),Ft===(Ft=$t(CA))&&dA?dA.p(CA,NA):(dA.d(1),dA=Ft(CA),dA&&(dA.c(),dA.m(V,null))),(!st||NA[0]&4096)&&K!==(K=CA[12].t("TTS Settings")+"")&&tt(J,K),(!st||NA[0]&4096)&&d!==(d=CA[12].t("Text-to-Speech Engine")+"")&&tt(_,d),(!st||NA[0]&4096)&&he!==(he=CA[12].t("Default")+"")&&tt(ce,he),(!st||NA[0]&4096)&&Ce!==(Ce=CA[12].t("Kokoro.js (Browser)")+"")&&tt(Fe,Ce),NA[0]&2&&Mo(F,CA[1]),CA[1]==="browser-kokoro"?eA?eA.p(CA,NA):(eA=bp(CA),eA.c(),eA.m(U,de)):eA&&(eA.d(1),eA=null),(!st||NA[0]&4096)&&Ge!==(Ge=CA[12].t("Auto-playback response")+"")&&tt(me,Ge),aA===(aA=nA(CA))&&bA?bA.p(CA,NA):(bA.d(1),bA=aA(CA),bA&&(bA.c(),bA.m(Ue,null))),(!st||NA[0]&4096)&&je!==(je=CA[12].t("Speech Playback Speed")+"")&&tt(At,je),NA[0]&66560){vA=Ur(CA[16]);let iA;for(iA=0;iA<vA.length;iA+=1){const qt=pp(CA,vA,iA);Gt[iA]?Gt[iA].p(qt,NA):(Gt[iA]=Cp(qt),Gt[iA].c(),Gt[iA].m(ze,null))}for(;iA<Gt.length;iA+=1)Gt[iA].d(1);Gt.length=vA.length}NA[0]&66560&&Mo(ze,CA[10]);let tA=St;St=gr(CA),St===tA?~St&&AA[St].p(CA,NA):(oe&&(Nr(),dt(AA[tA],1,1,()=>{AA[tA]=null}),zr()),~St?(oe=AA[St],oe?oe.p(CA,NA):(oe=AA[St]=mA[St](CA),oe.c()),nt(oe,1),oe.m(s,null)):oe=null),(!st||NA[0]&4096)&&Qe!==(Qe=CA[12].t("Save")+"")&&tt(Je,Qe)},i(CA){st||(nt(oe),st=!0)},o(CA){dt(oe),st=!1},d(CA){CA&&z(a),jt&&jt.d(),dA.d(),eA&&eA.d(),bA.d(),oi(Gt,CA),~St&&AA[St].d(),lt=!1,Es(xt)}}}function hv(c,a,s){let o,u,p;YA(c,Do,Ge=>s(33,o=Ge)),YA(c,rc,Ge=>s(11,u=Ge));const C=ii(),b=Xs("i18n");YA(c,b,Ge=>s(12,p=Ge));let{saveSettings:k}=a,E=!1,B=!1,G=!1,D="",Q="",V={},W=null,U=null,H=[],K="",J=1;const g=[2,1.75,1.5,1.25,1,.75,.5],v=async()=>
2811{if(Q==="browser-kokoro")W||await re(),s(9,H=Object.entries(W.voices).map(([Ge,me])=>({id:Ge,name:me.name,localService:!1})));else if(u.audio.tts.engine===""){const Ge=setInterval(async()=>{s(9,H=await speechSynthesis.getVoices()),H.length>0&&clearInterval(Ge)},100)}else{const Ge=await BC(localStorage.token).catch(me=>{cr.error(`${me}`)});Ge&&(console.log(Ge),s(9,H=Ge.voices))}},e=async()=>{s(4,B=!B),k({responseAutoPlayback:B})},d=async()=>{s(3,E=!E),k({speechAutoSend:E})};li(async()=>{var Ge,me,at,Ue,ot,pt,ct,je,At,It,wt,ze,rt,Bt;s(10,J=((me=(Ge=o.audio)==null?void 0:Ge.tts)==null?void 0:me.playbackRate)??1),o.conversationMode,s(3,E=o.speechAutoSend??!1),s(4,B=o.responseAutoPlayback??!1),s(6,D=((Ue=(at=o==null?void 0:o.audio)==null?void 0:at.stt)==null?void 0:Ue.engine)??""),s(1,Q=((pt=(ot=o==null?void 0:o.audio)==null?void 0:ot.tts)==null?void 0:pt.engine)??""),s(2,V=((je=(ct=o==null?void 0:o.audio)==null?void 0:ct.tts)==null?void 0:je.engineConfig)??{}),((It=(At=o==null?void 0:o.audio)==null?void 0:At.tts)==null?void 0:It.defaultVoice)===u.audio.tts.voice?s(13,K=((ze=(wt=o==null?void 0:o.audio)==null?void 0:wt.tts)==null?void 0:ze.voice)??u.audio.tts.voice??""):s(13,K=u.audio.tts.voice??""),s(5,G=((Bt=(rt=o.audio)==null?void 0:rt.tts)==null?void 0:Bt.nonLocalVoices)??!1),await v()});const _=async()=>{Q==="browser-kokoro"&&await re()},re=async()=>{Q==="browser-kokoro"&&(s(9,H=[]),V!=null&&V.dtype&&(s(7,W=null),s(8,U=null),s(7,W=await ud.from_pretrained("onnx-community/Kokoro-82M-v1.0-ONNX",{dtype:V.dtype,device:navigator!=null&&navigator.gpu?"webgpu":"wasm",progress_callback:me=>{s(8,U=me),console.log(me)}})),await v()))};function S(){D=bc(this),s(6,D)}const F=()=>{d()};function Ie(){Q=bc(this),s(1,Q)}function he(){V.dtype=bc(this),s(2,V)}const ce=()=>{e()};function ge(){J=bc(this),s(10,J),s(16,g)}function Ce(){K=this.value,s(13,K),s(9,H),s(5,G)}const Fe=Ge=>G||Ge.localService===!0;function Pe(){K=bc(this),s(13,K),s(9,H),s(5,G)}function de(Ge){G=Ge,s(5,G)}function pe(){K=this.value,s(13,K),s(9,H),s(5,G)}const we=async()=>{var Ge,me;k({audio:{stt:{engine:D!==""?D:void 0},tts:{engine:Q!==""?Q:void 0,engineConfig:V,playbackRate:J,voice:K!==""?K:void 0,defaultVoice:((me=(Ge=u==null?void 0:u.audio)==null?void 0:Ge.tts)==null?void 0:me.voice)??"",nonLocalVoices:u.audio.tts.engine===""?G:void 0}}}),C("save")};return c.$$set=Ge=>{"saveSettings"in Ge&&s(0,k=Ge.saveSettings)},c.$$.update=()=>{c.$$.dirty[0]&6&&Q&&V&&_()},[k,Q,V,E,B,G,D,W,U,H,J,u,p,K,C,b,g,e,d,S,F,Ie,he,ce,ge,Ce,Fe,Pe,de,pe,we]}class pv extends bs{constructor(a){super(),Cs(this,a,hv,gv,ms,{saveSettings:0},null,[-1,-1])}}function mv(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path d="M3.375 3C2.339 3 1.5 3.84 1.5 4.875v.75c0 1.036.84 1.875 1.875 1.875h17.25c1.035 0 1.875-.84 1.875-1.875v-.75C22.5 3.839 21.66 3 20.625 3H3.375Z"></path><path fill-rule="evenodd" d="m3.087 9 .54 9.176A3 3 0 0 0 6.62 21h10.757a3 3 0 0 0 2.995-2.824L20.913 9H3.087Zm6.163 3.75A.75.75 0 0 1 10 12h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75Z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("Archive All Chats")+"",b,k,E;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),this.h()},l(B){a=q(B,"BUTTON",{class:!0});var G=$(a);s=q(G,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-1duozwn"&&(s.innerHTML=o),u=Ne(G),p=q(G,"DIV",{class:!0});var D=$(p);b=Xe(D,C),D.forEach(z),G.forEach(z),this.h()},h(){O(s,"class","self-center mr-3"),O(p,"class","self-center text-sm font-medium"),O(a,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition")},m(B,G){Le(B,a,G),T(a,s),T(a,u),T(a,p),T(p,b),k||(E=Qt(a,"click",c[20]),k=!0)},p(B,G){G&32&&C!==(C=B[5].t("Archive All Chats")+"")&&tt(b,C)},d(B){B&&z(a),k=!1,E()}}}function bv(c){let a,s,o,u,p,C,b,k=c[5].t("Are you sure?")+"",E,B,G,D,Q='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z" clip-rule="evenodd"></path></svg>',V,W,U='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',H,K;return{c(){a=X("div"),s=X("div"),o=Ea("svg"),u=Ea("path"),p=Ea("path"),C=Se(),b=X("span"),E=Ze(k),B=Se(),G=X("div"),D=X("button"),D.innerHTML=Q,V=Se(),W=X("button"),W.innerHTML=U,this.h()},l(J){a=q(J,"DIV",{class:!0});var g=$(a);s=q(g,"DIV",{class:!0});var v=$(s);o=Ba(v,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});
2811var e=$(o);u=Ba(e,"path",{d:!0}),$(u).forEach(z),p=Ba(e,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(p).forEach(z),e.forEach(z),C=Ne(v),b=q(v,"SPAN",{});var d=$(b);E=Xe(d,k),d.forEach(z),v.forEach(z),B=Ne(g),G=q(g,"DIV",{class:!0});var _=$(G);D=q(_,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(D)!=="svelte-88c061"&&(D.innerHTML=Q),V=Ne(_),W=q(_,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(W)!=="svelte-1601eo8"&&(W.innerHTML=U),_.forEach(z),g.forEach(z),this.h()},h(){O(u,"d","M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Z"),O(p,"fill-rule","evenodd"),O(p,"d","M13 6H3v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6ZM5.72 7.47a.75.75 0 0 1 1.06 0L8 8.69l1.22-1.22a.75.75 0 1 1 1.06 1.06L9.06 9.75l1.22 1.22a.75.75 0 1 1-1.06 1.06L8 10.81l-1.22 1.22a.75.75 0 0 1-1.06-1.06l1.22-1.22-1.22-1.22a.75.75 0 0 1 0-1.06Z"),O(p,"clip-rule","evenodd"),O(o,"xmlns","http://www.w3.org/2000/svg"),O(o,"viewBox","0 0 16 16"),O(o,"fill","currentColor"),O(o,"class","w-4 h-4"),O(s,"class","flex items-center space-x-3"),O(D,"class","hover:text-white transition"),O(W,"class","hover:text-white transition"),O(G,"class","flex space-x-1.5 items-center"),O(a,"class","flex justify-between rounded-md items-center py-2 px-3.5 w-full transition")},m(J,g){Le(J,a,g),T(a,s),T(s,o),T(o,u),T(o,p),T(s,C),T(s,b),T(b,E),T(a,B),T(a,G),T(G,D),T(G,V),T(G,W),H||(K=[Qt(D,"click",c[18]),Qt(W,"click",c[19])],H=!0)},p(J,g){g&32&&k!==(k=J[5].t("Are you sure?")+"")&&tt(E,k)},d(J){J&&z(a),H=!1,Es(K)}}}function Cv(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M4 2a1.5 1.5 0 0 0-1.5 1.5v9A1.5 1.5 0 0 0 4 14h8a1.5 1.5 0 0 0 1.5-1.5V6.621a1.5 1.5 0 0 0-.44-1.06L9.94 2.439A1.5 1.5 0 0 0 8.878 2H4Zm7 7a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1 0-1.5h4.5A.75.75 0 0 1 11 9Z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("Delete All Chats")+"",b,k,E;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),this.h()},l(B){a=q(B,"BUTTON",{class:!0});var G=$(a);s=q(G,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-15aqp4h"&&(s.innerHTML=o),u=Ne(G),p=q(G,"DIV",{class:!0});var D=$(p);b=Xe(D,C),D.forEach(z),G.forEach(z),this.h()},h(){O(s,"class","self-center mr-3"),O(p,"class","self-center text-sm font-medium"),O(a,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition")},m(B,G){Le(B,a,G),T(a,s),T(a,u),T(a,p),T(p,b),k||(E=Qt(a,"click",c[23]),k=!0)},p(B,G){G&32&&C!==(C=B[5].t("Delete All Chats")+"")&&tt(b,C)},d(B){B&&z(a),k=!1,E()}}}function Iv(c){let a,s,o,u,p,C,b,k=c[5].t("Are you sure?")+"",E,B,G,D,Q='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z" clip-rule="evenodd"></path></svg>',V,W,U='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',H,K;return{c(){a=X("div"),s=X("div"),o=Ea("svg"),u=Ea("path"),p=Ea("path"),C=Se(),b=X("span"),E=Ze(k),B=Se(),G=X("div"),D=X("button"),D.innerHTML=Q,V=Se(),W=X("button"),W.innerHTML=U,this.h()},l(J){a=q(J,"DIV",{class:!0});var g=$(a);s=q(g,"DIV",{class:!0});var v=$(s);o=Ba(v,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var e=$(o);u=Ba(e,"path",{d:!0}),$(u).forEach(z),p=Ba(e,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(p).forEach(z),e.forEach(z),C=Ne(v),b=q(v,"SPAN",{});var d=$(b);E=Xe(d,k),d.forEach(z),v.forEach(z),B=Ne(g),G=q(g,"DIV",{class:!0});var _=$(G);D=q(_,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(D)!=="svelte-19nv6qp"&&(D.innerHTML=Q),V=Ne(_),W=q(_,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(W)!=="svelte-ekcykx"&&(W.innerHTML=U),_.forEach(z),g.forEach(z),this.h()},h(){O(u,"d","M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Z"),O(p,"fill-rule","evenodd"),O(p,"d","M13 6H3v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6ZM5.72 7.47a.75.75 0 0 1 1.06 0L8 8.69l1.22-1.22a.75.75 0 1 1 1.06 1.06L9.06 9.75l1.22 1.22a.75.75 0 1 1-1.06 1.06L8 10.81l-1.22 1.22a.75.75 0 0 1-1.06-1.06l1.22-1.22-1.22-1.22a.75.75 0 0 1 0-1.06Z"),O(p,"clip-rule","evenodd"),O(o,"xmlns","http://www.w3.org/2000/svg"),O(o,"viewBox","0 0 16 16"),O(o,"fill","currentColor"),O(o,"class","w-4 h-4"),O(s,"class","flex items-center space-x-3"),O(D,"class","hover:text-white transition"),O(W,"class","hover:text-white transition"),O(G,"class","flex space-x-1.5 items-center"),O(a,"class","flex justify-between rounded-md items-center py-2 px-3.5 w-full transition")},m(J,g){Le(J,a,g),T(a,s),T(s,o),T(o,u),T(o,p),T(s,C),T(s,b),T(b,E),T(
2811a,B),T(a,G),T(G,D),T(G,V),T(G,W),H||(K=[Qt(D,"click",c[21]),Qt(W,"click",c[22])],H=!0)},p(J,g){g&32&&k!==(k=J[5].t("Are you sure?")+"")&&tt(E,k)},d(J){J&&z(a),H=!1,Es(K)}}}function wv(c){let a,s,o,u,p,C,b,k,E,B,G='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M4 2a1.5 1.5 0 0 0-1.5 1.5v9A1.5 1.5 0 0 0 4 14h8a1.5 1.5 0 0 0 1.5-1.5V6.621a1.5 1.5 0 0 0-.44-1.06L9.94 2.439A1.5 1.5 0 0 0 8.878 2H4Zm4 9.5a.75.75 0 0 1-.75-.75V8.06l-.72.72a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06l-.72-.72v2.69a.75.75 0 0 1-.75.75Z" clip-rule="evenodd"></path></svg>',D,Q,V=c[5].t("Import Chats")+"",W,U,H,K,J='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M4 2a1.5 1.5 0 0 0-1.5 1.5v9A1.5 1.5 0 0 0 4 14h8a1.5 1.5 0 0 0 1.5-1.5V6.621a1.5 1.5 0 0 0-.44-1.06L9.94 2.439A1.5 1.5 0 0 0 8.878 2H4Zm4 3.5a.75.75 0 0 1 .75.75v2.69l.72-.72a.75.75 0 1 1 1.06 1.06l-2 2a.75.75 0 0 1-1.06 0l-2-2a.75.75 0 0 1 1.06-1.06l.72.72V6.25A.75.75 0 0 1 8 5.5Z" clip-rule="evenodd"></path></svg>',g,v,e=c[5].t("Export Chats")+"",d,_,re,S,F,Ie,he,ce='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path d="M3.375 3C2.339 3 1.5 3.84 1.5 4.875v.75c0 1.036.84 1.875 1.875 1.875h17.25c1.035 0 1.875-.84 1.875-1.875v-.75C22.5 3.839 21.66 3 20.625 3H3.375Z"></path><path fill-rule="evenodd" d="m3.087 9 .54 9.176A3 3 0 0 0 6.62 21h10.757a3 3 0 0 0 2.995-2.824L20.913 9H3.087ZM12 10.5a.75.75 0 0 1 .75.75v4.94l1.72-1.72a.75.75 0 1 1 1.06 1.06l-3 3a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 1 1 1.06-1.06l1.72 1.72v-4.94a.75.75 0 0 1 .75-.75Z" clip-rule="evenodd"></path></svg>',ge,Ce,Fe=c[5].t("Archived Chats")+"",Pe,de,pe,we,Ge,me;function at(wt){c[12](wt)}let Ue={};c[3]!==void 0&&(Ue.show=c[3]),a=new vm({props:Ue}),kr.push(()=>es(a,"show",at)),a.$on("change",c[10]);function ot(wt,ze){return wt[1]?bv:mv}let pt=ot(c),ct=pt(c);function je(wt,ze){return wt[2]?Iv:Cv}let At=je(c),It=At(c);return{c(){Ut(a.$$.fragment),o=Se(),u=X("div"),p=X("div"),C=X("div"),b=X("input"),k=Se(),E=X("button"),B=X("div"),B.innerHTML=G,D=Se(),Q=X("div"),W=Ze(V),U=Se(),H=X("button"),K=X("div"),K.innerHTML=J,g=Se(),v=X("div"),d=Ze(e),_=Se(),re=X("hr"),S=Se(),F=X("div"),Ie=X("button"),he=X("div"),he.innerHTML=ce,ge=Se(),Ce=X("div"),Pe=Ze(Fe),de=Se(),ct.c(),pe=Se(),It.c(),this.h()},l(wt){Kt(a.$$.fragment,wt),o=Ne(wt),u=q(wt,"DIV",{class:!0});var ze=$(u);p=q(ze,"DIV",{class:!0});var rt=$(p);C=q(rt,"DIV",{class:!0});var Bt=$(C);b=q(Bt,"INPUT",{id:!0,type:!0,accept:!0}),k=Ne(Bt),E=q(Bt,"BUTTON",{class:!0});var Ot=$(E);B=q(Ot,"DIV",{class:!0,"data-svelte-h":!0}),ur(B)!=="svelte-135keqh"&&(B.innerHTML=G),D=Ne(Ot),Q=q(Ot,"DIV",{class:!0});var St=$(Q);W=Xe(St,V),St.forEach(z),Ot.forEach(z),U=Ne(Bt),H=q(Bt,"BUTTON",{class:!0});var oe=$(H);K=q(oe,"DIV",{class:!0,"data-svelte-h":!0}),ur(K)!=="svelte-7e4f4y"&&(K.innerHTML=J),g=Ne(oe),v=q(oe,"DIV",{class:!0});var zt=$(v);d=Xe(zt,e),zt.forEach(z),oe.forEach(z),Bt.forEach(z),_=Ne(rt),re=q(rt,"HR",{class:!0}),S=Ne(rt),F=q(rt,"DIV",{class:!0});var ke=$(F);Ie=q(ke,"BUTTON",{class:!0});var fe=$(Ie);he=q(fe,"DIV",{class:!0,"data-svelte-h":!0}),ur(he)!=="svelte-u1tth1"&&(he.innerHTML=ce),ge=Ne(fe),Ce=q(fe,"DIV",{class:!0});var Qe=$(Ce);Pe=Xe(Qe,Fe),Qe.forEach(z),fe.forEach(z),de=Ne(ke),ct.l(ke),pe=Ne(ke),It.l(ke),ke.forEach(z),rt.forEach(z),ze.forEach(z),this.h()},h(){O(b,"id","chat-import-input"),O(b,"type","file"),O(b,"accept",".json"),b.hidden=!0,O(B,"class","self-center mr-3"),O(Q,"class","self-center text-sm font-medium"),O(E,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"),O(K,"class","self-center mr-3"),O(v,"class","self-center text-sm font-medium"),O(H,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"),O(C,"class","flex flex-col"),O(re,"class","border-gray-100 dark:border-gray-850"),O(he,"class","self-center mr-3"),O(Ce,"class","self-center text-sm font-medium"),O(Ie,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"),O(F,"class","flex flex-col"),O(p,"class","space-y-2 overflow-y-scroll max-h-[28rem] lg:max-h-full"),O(u,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(wt,ze){Zt(a,wt,ze),Le(wt,o,ze),Le(wt,u,ze),T(u,p),T(p,C),T(C,b),c[13](b),T(C,k),T(C,E),T(E,B),T(E,D),T(E,Q),T(Q,W),T(C,U),T(C,H),T(H,K),T(H,g),T(H,v),T(v,d),T(p,_),T(p,re),T(p,S),T(p,F),T(F,Ie),T(Ie,he),T(Ie,ge),T(Ie,Ce),T(Ce,Pe),T(F,de),ct.m(F,null),T(F,pe),It.m(F,null),we=!0,Ge||(me=[Qt(b,"change",c[14]),Qt(E,"click",c[15]),Qt(H,"click",c[16]),Qt(Ie,"click",c[17])],Ge=!0)},p(wt,[ze]){const rt={};!s&&ze&8&&(s=!0,rt.show=wt[3],$r(()=>s=!1)),a.$set(rt),(!we||ze&32)&&V!==(V=wt[5].t("Import Chats")+"")&&tt(W,V),(!we||ze&32)&&e!==(e=wt[5].t("Export Chats")+"")&&tt(d,e),(!we||ze&32)&&Fe!==(Fe=wt[5].t("Archived Chats")+"")&&tt(Pe,Fe),pt===(pt=ot(wt))&&ct?ct.p(wt,ze):(ct.d(1),ct=pt(wt),ct&&(ct.c(),ct.m(F,pe))),At===(At=je(wt))&&It?It.p(wt,ze):(It.d(1),It=At(wt),It&&(It.c(),It.m(F,null)))},i(wt){we||(nt(a.$$.fragment,wt),we=!0)},o(wt){dt(a.$$.fragment,wt),we=!1},d(wt){wt&&(z(o),z(u)),Xt(a,wt),c[13](null),ct.d(),It.d(),Ge=!1,Es(me)}}}function kv(c,a,s){let o,u;YA(c,r0,ce=>s(24,o=ce));const{saveAs:p}=$u,C=Xs("i18n");YA(c,C,ce=>s(5,u=ce));let{saveSettings:b}=a,k,E=!1,B=!1,G=!1,D;const Q=async ce=>{for(const ge of ce)console.log(ge),ge.chat?await Ug(localStorage.token,ge.chat):await Ug(localStorage.token,ge);r0.set(1),await t0.set(await tc(localStorage.token,o)),d2.set(!0)},V=async()=>{let ce=new Blob([JSON.stringify(await H8(localStorage.token))],{type:"application/json"});p(ce,`chat-export-${Date.now()}.json`)},W=async()=>{await cl("/"),await Y8(localStorage.token).catch(ce=>{cr.error(`${ce}`)}),r0.set(1),await t0.set(await tc(localStorage.token,o)),d2.set(!0)},U=async()=>{await cl("/"),await R8(localStorage.token).catch(ce=>{cr.error(`${ce}`)}),r0.set(1),await t0.set(await tc(localStorage.token,o)),d2.set(!0)},H=async()=>{r0.set(1),await t0.set(await tc(localStorage.token,o)),d2.set(!0)};function K(ce){G=ce,s(3,G)}function J(ce){kr[ce?"unshift":"push"](()=>{D=ce,s(4,D)})}function g(){k=this.files,s(0,k)}const v=()=>{D.click()},e=()=>{V()},d=()=>{s(3,G=!0)},_=()=>{W(),s(1,E=!1)},re=()=>{s(1,E=!1)},S=()=>{s(1,E=!0)},F=()=>{U(),s(2,B=!1)},Ie=()=>{s(2,B=!1)},he=()=>{s(2,B=!0)};return c.$$set=ce=>{"saveSettings"in ce&&s(11,b=ce.saveSettings)},c.$$.update=()=>{if(c.$$.dirty&1&&k){console.log(k);let ce=new FileReader;ce.onload=ge=>{let Ce=JSON.parse(ge.target.result);if(console.log(Ce),D8(Ce)=="openai")try{Ce=G8(Ce)}catch(Fe){console.log("Unable to import chats:",Fe)}Q(Ce)},k.length>0&&ce.readAsText(k[0])}},[k,E,B,G,D,u,C,V,W,U,H,b,K,J,g,v,e,d,_,re,S,F,Ie,he]}
2811class vv extends bs{constructor(a){super(),Cs(this,a,kv,wv,ms,{saveSettings:11})}}function vp(c){let a,s=`<svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><style>.spinner_ajPY {
2812												transform-origin: center;
2813												animation: spinner_AtaB 0.75s infinite linear;
2814											}
2815											@keyframes spinner_AtaB {
2816												100% {
2817													transform: rotate(360deg);
2818												}
2819											}
2820										</style><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"></path><path d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z" class="spinner_ajPY"></path></svg>`;return{c(){a=X("div"),a.innerHTML=s,this.h()},l(o){a=q(o,"DIV",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1vuzrxa"&&(a.innerHTML=s),this.h()},h(){O(a,"class","ml-2 self-center")},m(o,u){Le(o,a,u)},d(o){o&&z(a)}}}function yv(c){let a,s,o,u=c[3].t("Add Memory")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,Q,V,W,U,H,K,J=c[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"",g,v,e,d,_=c[3].t("Add")+"",re,S,F,Ie,he,ce=c[1]&&vp();return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),b.innerHTML=k,E=Se(),B=X("div"),G=X("div"),D=X("form"),Q=X("div"),V=X("textarea"),U=Se(),H=X("div"),K=Ze("ⓘ "),g=Ze(J),v=Se(),e=X("div"),d=X("button"),re=Ze(_),S=Se(),ce&&ce.c(),this.h()},l(ge){a=q(ge,"DIV",{});var Ce=$(a);s=q(Ce,"DIV",{class:!0});var Fe=$(s);o=q(Fe,"DIV",{class:!0});var Pe=$(o);p=Xe(Pe,u),Pe.forEach(z),C=Ne(Fe),b=q(Fe,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(b)!=="svelte-745w2y"&&(b.innerHTML=k),Fe.forEach(z),E=Ne(Ce),B=q(Ce,"DIV",{class:!0});var de=$(B);G=q(de,"DIV",{class:!0});var pe=$(G);D=q(pe,"FORM",{class:!0});var we=$(D);Q=q(we,"DIV",{class:!0});var Ge=$(Q);V=q(Ge,"TEXTAREA",{class:!0,rows:!0,placeholder:!0}),$(V).forEach(z),U=Ne(Ge),H=q(Ge,"DIV",{class:!0});var me=$(H);K=Xe(me,"ⓘ "),g=Xe(me,J),me.forEach(z),Ge.forEach(z),v=Ne(we),e=q(we,"DIV",{class:!0});var at=$(e);d=q(at,"BUTTON",{class:!0,type:!0});var Ue=$(d);re=Xe(Ue,_),S=Ne(Ue),ce&&ce.l(Ue),Ue.forEach(z),at.forEach(z),we.forEach(z),pe.forEach(z),de.forEach(z),Ce.forEach(z),this.h()},h(){O(o,"class","text-lg font-medium self-center"),O(b,"class","self-center"),O(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-2"),O(V,"class","bg-transparent w-full text-sm resize-none rounded-xl p-3 outline outline-1 outline-gray-100 dark:outline-gray-800"),O(V,"rows","3"),O(V,"placeholder",W=c[3].t("Enter a detail about yourself for your LLMs to recall")),O(H,"class","text-xs text-gray-500"),O(Q,"class",""),O(d,"class",F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(c[1]?" cursor-not-allowed":"")),O(d,"type","submit"),d.disabled=c[1],O(e,"class","flex justify-end pt-1 text-sm font-medium"),O(D,"class","flex flex-col w-full"),O(G,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),O(B,"class","flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200")},m(ge,Ce){Le(ge,a,Ce),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(a,E),T(a,B),T(B,G),T(G,D),T(D,Q),T(Q,V),ar(V,c[2]),T(Q,U),T(Q,H),T(H,K),T(H,g),T(D,v),T(D,e),T(e,d),T(d,re),T(d,S),ce&&ce.m(d,null),Ie||(he=[Qt(b,"click",c[6]),Qt(V,"input",c[7]),Qt(D,"submit",ul(c[8]))],Ie=!0)},p(ge,Ce){Ce&8&&u!==(u=ge[3].t("Add Memory")+"")&&tt(p,u),Ce&8&&W!==(W=ge[3].t("Enter a detail about yourself for your LLMs to recall"))&&O(V,"placeholder",W),Ce&4&&ar(V,ge[2]),Ce&8&&J!==(J=ge[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"")&&tt(g,J),Ce&8&&_!==(_=ge[3].t("Add")+"")&&tt(re,_),ge[1]?ce||(ce=vp(),ce.c(),ce.m(d,null)):ce&&(ce.d(1),ce=null),Ce&2&&F!==(F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(ge[1]?" cursor-not-allowed":""))&&O(d,"class",F),Ce&2&&(d.disabled=ge[1])},d(ge){ge&&z(a),ce&&ce.d(),Ie=!1,Es(he)}}}function Ev(c){let a,s,o;function u(C){c[9](C)}let p={size:"sm",$$slots:{default:[yv]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),a=new kc({props:p}),kr.push(()=>es(a,"show",u)),{c(){Ut(a.$$.fragment)},l(C){Kt(a.$$.fragment,C)},m(C,b){Zt(a,C,b),o=!0},p(C,[b]){const k={};b&2063&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],$r(()=>s=!1)),a.$set(k)},i(C){o||(nt(a.$$.fragment,C),o=!0)},o(C){dt(a.$$.fragment,C),o=!1},d(C){Xt(a,C)}}}function Bv(c,a,s){let o;const u=ii();let{show:p}=a;const C=Xs("i18n");YA(c,C,V=>s(3,o=V));let b=!1,k="";const E=async()=>{s(1,b=!0);const V=await J8(localStorage.token,k).catch(W=>(cr.error(`${W}`),null));V&&(console.log(V),cr.success(o.t("Memory added successfully")),s(2,k=""),s(0,p=!1),u("save")),s(1,b=!1)},B=()=>{s(0,p=!1)};function G(){k=this.value,s(2,k)}const D=()=>{E()};function Q(V){p=V,s(0,p)}return c.$$set=V=>{"show"in V&&s(0,p=V.show)},[p,b,k,o,C,E,B,G,D,Q]}
2820class xv extends bs{constructor(a){super(),Cs(this,a,Bv,Ev,ms,{show:0})}}new TextEncoder;function yp(c){let a,s=`<svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><style>.spinner_ajPY {
2821												transform-origin: center;
2822												animation: spinner_AtaB 0.75s infinite linear;
2823											}
2824											@keyframes spinner_AtaB {
2825												100% {
2826													transform: rotate(360deg);
2827												}
2828											}
2829										</style><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"></path><path d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z" class="spinner_ajPY"></path></svg>`;return{c(){a=X("div"),a.innerHTML=s,this.h()},l(o){a=q(o,"DIV",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1vuzrxa"&&(a.innerHTML=s),this.h()},h(){O(a,"class","ml-2 self-center")},m(o,u){Le(o,a,u)},d(o){o&&z(a)}}}function Mv(c){let a,s,o,u=c[3].t("Edit Memory")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,Q,V,W,U,H,K,J=c[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"",g,v,e,d,_=c[3].t("Update")+"",re,S,F,Ie,he,ce=c[1]&&yp();return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),b.innerHTML=k,E=Se(),B=X("div"),G=X("div"),D=X("form"),Q=X("div"),V=X("textarea"),U=Se(),H=X("div"),K=Ze("ⓘ "),g=Ze(J),v=Se(),e=X("div"),d=X("button"),re=Ze(_),S=Se(),ce&&ce.c(),this.h()},l(ge){a=q(ge,"DIV",{});var Ce=$(a);s=q(Ce,"DIV",{class:!0});var Fe=$(s);o=q(Fe,"DIV",{class:!0});var Pe=$(o);p=Xe(Pe,u),Pe.forEach(z),C=Ne(Fe),b=q(Fe,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(b)!=="svelte-745w2y"&&(b.innerHTML=k),Fe.forEach(z),E=Ne(Ce),B=q(Ce,"DIV",{class:!0});var de=$(B);G=q(de,"DIV",{class:!0});var pe=$(G);D=q(pe,"FORM",{class:!0});var we=$(D);Q=q(we,"DIV",{class:!0});var Ge=$(Q);V=q(Ge,"TEXTAREA",{class:!0,rows:!0,placeholder:!0}),$(V).forEach(z),U=Ne(Ge),H=q(Ge,"DIV",{class:!0});var me=$(H);K=Xe(me,"ⓘ "),g=Xe(me,J),me.forEach(z),Ge.forEach(z),v=Ne(we),e=q(we,"DIV",{class:!0});var at=$(e);d=q(at,"BUTTON",{class:!0,type:!0});var Ue=$(d);re=Xe(Ue,_),S=Ne(Ue),ce&&ce.l(Ue),Ue.forEach(z),at.forEach(z),we.forEach(z),pe.forEach(z),de.forEach(z),Ce.forEach(z),this.h()},h(){O(o,"class","text-lg font-medium self-center"),O(b,"class","self-center"),O(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-2"),O(V,"class","bg-transparent w-full text-sm resize-none rounded-xl p-3 outline outline-1 outline-gray-100 dark:outline-gray-800"),O(V,"rows","3"),O(V,"placeholder",W=c[3].t("Enter a detail about yourself for your LLMs to recall")),O(H,"class","text-xs text-gray-500"),O(Q,"class",""),O(d,"class",F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(c[1]?" cursor-not-allowed":"")),O(d,"type","submit"),d.disabled=c[1],O(e,"class","flex justify-end pt-1 text-sm font-medium"),O(D,"class","flex flex-col w-full"),O(G,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),O(B,"class","flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200")},m(ge,Ce){Le(ge,a,Ce),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(a,E),T(a,B),T(B,G),T(G,D),T(D,Q),T(Q,V),ar(V,c[2]),T(Q,U),T(Q,H),T(H,K),T(H,g),T(D,v),T(D,e),T(e,d),T(d,re),T(d,S),ce&&ce.m(d,null),Ie||(he=[Qt(b,"click",c[7]),Qt(V,"input",c[8]),Qt(D,"submit",ul(c[9]))],Ie=!0)},p(ge,Ce){Ce&8&&u!==(u=ge[3].t("Edit Memory")+"")&&tt(p,u),Ce&8&&W!==(W=ge[3].t("Enter a detail about yourself for your LLMs to recall"))&&O(V,"placeholder",W),Ce&4&&ar(V,ge[2]),Ce&8&&J!==(J=ge[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"")&&tt(g,J),Ce&8&&_!==(_=ge[3].t("Update")+"")&&tt(re,_),ge[1]?ce||(ce=yp(),ce.c(),ce.m(d,null)):ce&&(ce.d(1),ce=null),Ce&2&&F!==(F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(ge[1]?" cursor-not-allowed":""))&&O(d,"class",F),Ce&2&&(d.disabled=ge[1])},d(ge){ge&&z(a),ce&&ce.d(),Ie=!1,Es(he)}}}function Dv(c){let a,s,o;function u(C){c[10](C)}let p={size:"sm",$$slots:{default:[Mv]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),a=new kc({props:p}),kr.push(()=>es(a,"show",u)),{c(){Ut(a.$$.fragment)},l(C){Kt(a.$$.fragment,C)},m(C,b){Zt(a,C,b),o=!0},p(C,[b]){const k={};b&8207&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],$r(()=>s=!1)),a.$set(k)},i(C){o||(nt(a.$$.fragment,C),o=!0)},o(C){dt(a.$$.fragment,C),o=!1},d(C){Xt(a,C)}}}function Gv(c,a,s){let o;const u=ii();let{show:p}=a,{memory:C={}}=a;const b=Xs("i18n");YA(c,b,U=>s(3,o=U));let k=!1,E="";const B=()=>{s(2,E=C.content)},G=async()=>{s(1,k=!0);const U=await $8(localStorage.token,C.id,E).catch(H=>(cr.error(`${H}`),null));U&&(console.log(U),cr.success(o.t("Memory updated successfully")),u("save"),s(0,p=!1)),s(1,k=!1)},D=()=>{s(0,p=!1)};function Q(){E=this.value,s(2,E)}const V=()=>{G()};function W(U){p=U,s(0,p)}return c.$$set=U=>{"show"in U&&s(0,p=U.show),"memory"in U&&s(6,C=U.memory)},c.$$.update=()=>{c.$$.dirty&1&&p&&B()},[p,k,E,o,b,G,C,D,Q,V,W]}
2829class _v extends bs{constructor(a){super(),Cs(this,a,Gv,Dv,ms,{show:0,memory:6})}}function Ep(c,a,s){const o=c.slice();return o[22]=a[s],o}function Tv(c){let a,s,o=c[6].t("Memories accessible by LLMs will be shown here.")+"",u;return{c(){a=X("div"),s=X("div"),u=Ze(o),this.h()},l(p){a=q(p,"DIV",{class:!0});var C=$(a);s=q(C,"DIV",{class:!0});var b=$(s);u=Xe(b,o),b.forEach(z),C.forEach(z),this.h()},h(){O(s,"class","my-auto pb-10 px-4 w-full text-gray-500"),O(a,"class","text-center flex h-full text-sm w-full")},m(p,C){Le(p,a,C),T(a,s),T(s,u)},p(p,C){C&64&&o!==(o=p[6].t("Memories accessible by LLMs will be shown here.")+"")&&tt(u,o)},i:WA,o:WA,d(p){p&&z(a)}}}function Qv(c){let a,s,o,u,p,C,b=c[6].t("Name")+"",k,E,B,G=c[6].t("Last Modified")+"",D,Q,V,W,U,H,K=Ur(c[1]),J=[];for(let v=0;v<K.length;v+=1)J[v]=Bp(Ep(c,K,v));const g=v=>dt(J[v],1,1,()=>{J[v]=null});return{c(){a=X("div"),s=X("div"),o=X("table"),u=X("thead"),p=X("tr"),C=X("th"),k=Ze(b),E=Se(),B=X("th"),D=Ze(G),Q=Se(),V=X("th"),W=Se(),U=X("tbody");for(let v=0;v<J.length;v+=1)J[v].c();this.h()},l(v){a=q(v,"DIV",{class:!0});var e=$(a);s=q(e,"DIV",{class:!0});var d=$(s);o=q(d,"TABLE",{class:!0});var _=$(o);u=q(_,"THEAD",{class:!0});var re=$(u);p=q(re,"TR",{});var S=$(p);C=q(S,"TH",{scope:!0,class:!0});var F=$(C);k=Xe(F,b),F.forEach(z),E=Ne(S),B=q(S,"TH",{scope:!0,class:!0});var Ie=$(B);D=Xe(Ie,G),Ie.forEach(z),Q=Ne(S),V=q(S,"TH",{scope:!0,class:!0}
2829),$(V).forEach(z),S.forEach(z),re.forEach(z),W=Ne(_),U=q(_,"TBODY",{});var he=$(U);for(let ce=0;ce<J.length;ce+=1)J[ce].l(he);he.forEach(z),_.forEach(z),d.forEach(z),e.forEach(z),this.h()},h(){O(C,"scope","col"),O(C,"class","px-3 py-2"),O(B,"scope","col"),O(B,"class","px-3 py-2 hidden md:flex"),O(V,"scope","col"),O(V,"class","px-3 py-2 text-right"),O(u,"class","text-xs text-gray-700 uppercase bg-transparent dark:text-gray-200 border-b-2 border-gray-50 dark:border-gray-850"),O(o,"class","w-full text-sm text-left text-gray-600 dark:text-gray-400 table-auto"),O(s,"class","relative overflow-x-auto"),O(a,"class","text-left text-sm w-full mb-4 overflow-y-scroll")},m(v,e){Le(v,a,e),T(a,s),T(s,o),T(o,u),T(u,p),T(p,C),T(C,k),T(p,E),T(p,B),T(B,D),T(p,Q),T(p,V),T(o,W),T(o,U);for(let d=0;d<J.length;d+=1)J[d]&&J[d].m(U,null);H=!0},p(v,e){if((!H||e&64)&&b!==(b=v[6].t("Name")+"")&&tt(k,b),(!H||e&64)&&G!==(G=v[6].t("Last Modified")+"")&&tt(D,G),e&90){K=Ur(v[1]);let d;for(d=0;d<K.length;d+=1){const _=Ep(v,K,d);J[d]?(J[d].p(_,e),nt(J[d],1)):(J[d]=Bp(_),J[d].c(),nt(J[d],1),J[d].m(U,null))}for(Nr(),d=K.length;d<J.length;d+=1)g(d);zr()}},i(v){if(!H){for(let e=0;e<K.length;e+=1)nt(J[e]);H=!0}},o(v){J=J.filter(Boolean);for(let e=0;e<J.length;e+=1)dt(J[e]);H=!1},d(v){v&&z(a),oi(J,v)}}}function Pv(c){let a,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4 s-FoVA_WMOgxUD"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125" class="s-FoVA_WMOgxUD"></path></svg>',o,u;function p(){return c[11](c[22])}return{c(){a=X("button"),a.innerHTML=s,this.h()},l(C){a=q(C,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1hkti8u"&&(a.innerHTML=s),this.h()},h(){O(a,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){Le(C,a,b),o||(u=Qt(a,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(a),o=!1,u()}}}function Sv(c){let a,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"></path></svg>',o,u;function p(){return c[12](c[22])}return{c(){a=X("button"),a.innerHTML=s,this.h()},l(C){a=q(C,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(a)!=="svelte-1uabthr"&&(a.innerHTML=s),this.h()},h(){O(a,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){Le(C,a,b),o||(u=Qt(a,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(a),o=!1,u()}}}function Bp(c){let a,s,o,u=c[22].content+"",p,C,b,k,E=b2(c[22].updated_at*1e3).format("LLL")+"",B,G,D,Q,V,W,U,H,K;return V=new ni({props:{content:"Edit",$$slots:{default:[Pv]},$$scope:{ctx:c}}}),U=new ni({props:{content:"Delete",$$slots:{default:[Sv]},$$scope:{ctx:c}}}),{c(){a=X("tr"),s=X("td"),o=X("div"),p=Ze(u),C=Se(),b=X("td"),k=X("div"),B=Ze(E),G=Se(),D=X("td"),Q=X("div"),Ut(V.$$.fragment),W=Se(),Ut(U.$$.fragment),H=Se(),this.h()},l(J){a=q(J,"TR",{class:!0});var g=$(a);s=q(g,"TD",{class:!0});var v=$(s);o=q(v,"DIV",{class:!0});var e=$(o);p=Xe(e,u),e.forEach(z),v.forEach(z),C=Ne(g),b=q(g,"TD",{class:!0});var d=$(b);k=q(d,"DIV",{class:!0});var _=$(k);B=Xe(_,E),_.forEach(z),d.forEach(z),G=Ne(g),D=q(g,"TD",{class:!0});var re=$(D);Q=q(re,"DIV",{class:!0});var S=$(Q);Kt(V.$$.fragment,S),W=Ne(S),Kt(U.$$.fragment,S),S.forEach(z),re.forEach(z),H=Ne(g),g.forEach(z),this.h()},h(){O(o,"class","line-clamp-1"),O(s,"class","px-3 py-1"),O(k,"class","my-auto whitespace-nowrap"),O(b,"class","px-3 py-1 hidden md:flex h-[2.5rem]"),O(Q,"class","flex justify-end w-full"),O(D,"class","px-3 py-1"),O(a,"class","border-b border-gray-50 dark:border-gray-850 items-center")}
2829,m(J,g){Le(J,a,g),T(a,s),T(s,o),T(o,p),T(a,C),T(a,b),T(b,k),T(k,B),T(a,G),T(a,D),T(D,Q),Zt(V,Q,null),T(Q,W),Zt(U,Q,null),T(a,H),K=!0},p(J,g){(!K||g&2)&&u!==(u=J[22].content+"")&&tt(p,u),(!K||g&2)&&E!==(E=b2(J[22].updated_at*1e3).format("LLL")+"")&&tt(B,E);const v={};g&33554458&&(v.$$scope={dirty:g,ctx:J}),V.$set(v);const e={};g&33554498&&(e.$$scope={dirty:g,ctx:J}),U.$set(e)},i(J){K||(nt(V.$$.fragment,J),nt(U.$$.fragment,J),K=!0)},o(J){dt(V.$$.fragment,J),dt(U.$$.fragment,J),K=!1},d(J){J&&z(a),Xt(V),Xt(U)}}}function Nv(c){let a,s,o,u=c[6].t("Memory")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,Q,V,W,U,H=c[6].t("Add Memory")+"",K,J,g,v=c[6].t("Clear memory")+"",e,d,_,re;const S=[Qv,Tv],F=[];function Ie(he,ce){return he[1].length>0?0:1}return D=Ie(c),Q=F[D]=S[D](c),{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),b.innerHTML=k,E=Se(),B=X("div"),G=X("div"),Q.c(),V=Se(),W=X("div"),U=X("button"),K=Ze(H),J=Se(),g=X("button"),e=Ze(v),this.h()},l(he){a=q(he,"DIV",{});var ce=$(a);s=q(ce,"DIV",{class:!0});var ge=$(s);o=q(ge,"DIV",{class:!0});var Ce=$(o);p=Xe(Ce,u),Ce.forEach(z),C=Ne(ge),b=q(ge,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(b)!=="svelte-745w2y"&&(b.innerHTML=k),ge.forEach(z),E=Ne(ce),B=q(ce,"DIV",{class:!0});var Fe=$(B);G=q(Fe,"DIV",{class:!0});var Pe=$(G);Q.l(Pe),Pe.forEach(z),V=Ne(Fe),W=q(Fe,"DIV",{class:!0});var de=$(W);U=q(de,"BUTTON",{class:!0});var pe=$(U);K=Xe(pe,H),pe.forEach(z),J=Ne(de),g=q(de,"BUTTON",{class:!0});var we=$(g);e=Xe(we,v),we.forEach(z),de.forEach(z),Fe.forEach(z),ce.forEach(z),this.h()},h(){O(o,"class","text-lg font-medium self-center"),O(b,"class","self-center"),O(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),O(G,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6 h-[28rem] max-h-screen outline outline-1 rounded-xl outline-gray-100 dark:outline-gray-800 mb-4 mt-1"),O(U,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),O(g,"class","px-3.5 py-1.5 font-medium text-red-500 hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-red-300 dark:outline-red-800 rounded-3xl"),O(W,"class","flex text-sm font-medium gap-1.5"),O(B,"class","flex flex-col w-full px-5 pb-5 dark:text-gray-200")},m(he,ce){Le(he,a,ce),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(a,E),T(a,B),T(B,G),F[D].m(G,null),T(B,V),T(B,W),T(W,U),T(U,K),T(W,J),T(W,g),T(g,e),d=!0,_||(re=[Qt(b,"click",c[10]),Qt(U,"click",c[13]),Qt(g,"click",c[14])],_=!0)},p(he,ce){(!d||ce&64)&&u!==(u=he[6].t("Memory")+"")&&tt(p,u);let ge=D;D=Ie(he),D===ge?F[D].p(he,ce):(Nr(),dt(F[ge],1,1,()=>{F[ge]=null}),zr(),Q=F[D],Q?Q.p(he,ce):(Q=F[D]=S[D](he),Q.c()),nt(Q,1),Q.m(G,null)),(!d||ce&64)&&H!==(H=he[6].t("Add Memory")+"")&&tt(K,H),(!d||ce&64)&&v!==(v=he[6].t("Clear memory")+"")&&tt(e,v)},i(he){d||(nt(Q),d=!0)},o(he){dt(Q),d=!1},d(he){he&&z(a),F[D].d(),_=!1,Es(re)}}}function zv(c){let a,s,o,u,p,C,b,k,E,B,G;function D(K){c[15](K)}let Q={size:"xl",$$slots:{default:[Nv]},$$scope:{ctx:c}};c[0]!==void 0&&(Q.show=c[0]),a=new kc({props:Q}),kr.push(()=>es(a,"show",D)),u=new M2({props:{title:c[6].t("Clear Memory"),message:c[6].t("Are you sure you want to clear all memories? This action cannot be undone."),show:c[5]}}),u.$on("confirm",c[8]),u.$on("cancel",c[16]);function V(K){c[17](K)}let W={};c[2]!==void 0&&(W.show=c[2]),C=new xv({props:W}),kr.push(()=>es(C,"show",V)),C.$on("save",c[18]);function U(K){c[19](K)}let H={memory:c[4]};return c[3]!==void 0&&(H.show=c[3]),E=new _v({props:H}),kr.push(()=>es(E,"show",U)),E.$on("save",c[20]),{c(){Ut(a.$$.fragment),o=Se(),Ut(u.$$.fragment),p=Se(),Ut(C.$$.fragment),k=Se(),Ut(E.$$.fragment)},l(K){Kt(a.$$.fragment,K),o=Ne(K),Kt(u.$$.fragment,K),p=Ne(K),Kt(C.$$.fragment,K),k=Ne(K),Kt(E.$$.fragment,K)},m(K,J){Zt(a,K,J),Le(K,o,J),Zt(u,K,J),Le(K,p,J),Zt(C,K,J),Le(K,k,J),Zt(E,K,J),G=!0},p(K,[J]){const g={};J&33554559&&(g.$$scope={dirty:J,ctx:K}),!s&&J&1&&(s=!0,g.show=K[0],$r(()=>s=!1)),a.$set(g);const v={};J&64&&(v.title=K[6].t("Clear Memory")),J&64&&(v.message=K[6].t("Are you sure you want to clear all memories? This action cannot be undone.")),J&32&&(v.show=K[5]),u.$set(v);const e={};!b&&J&4&&(b=!0,e.show=K[2],$r(()=>b=!1)),C.$set(e);const d={};J&16&&(d.memory=K[4]),!B&&J&8&&(B=!0,d.show=K[3],$r(()=>B=!1)),E.$set(d)},i(K){G||(nt(a.$$.fragment,K),nt(u.$$.fragment,K),nt(C.$$.fragment,K),nt(E.$$.fragment,K),G=!0)},o(K){dt(a.$$.fragment,K),dt(u.$$.fragment,K),dt(C.$$.fragment,K),dt(E.$$.fragment,K),G=!1},d(K){K&&(z(o),z(p),z(k)),Xt(a,K),Xt(u,K),Xt(C,K),Xt(E,K)}}}function Ov(c,a,s){let o;ii();const u=Xs("i18n");YA(c,u,_=>s(6,o=_)),b2.extend(im);let{show:p=!1}=a,C=[],b=!0,k=!1,E=!1,B=null,G=!1,D=async()=>{await eC(localStorage.token).catch(re=>(cr.error(`${re}`),null))&&C.length>0&&(cr.success(o.t("Memory cleared successfully")),s(1,C=[])),s(5,G=!1)};const Q=()=>{s(0,p=!1)},V=_=>{s(4,B=_),s(3,E=!0)},W=async _=>{await tC(localStorage.token,_.id).catch(S=>(cr.error(`${S}`),null))&&(cr.success(o.t("Memory deleted successfully")),s(1,C=await V1(localStorage.token)))},U=()=>{s(2,k=!0)},H=()=>{C.length>0?s(5,G=!0):cr.error(o.t("No memories to clear"))};function K(_){p=_,s(0,p)}const J=()=>{s(5,G=!1)};function g(_){k=_,s(2,k)}const v=async()=>{s(1,C=await V1(localStorage.token))};function e(_){E=_,s(3,E)}const d=async()=>{s(1,C=await V1(localStorage.token))};return c.$$set=_=>{"show"in _&&s(0,p=_.show)},c.$$.update=()=>{c.$$.dirty&515&&p&&C.length===0&&b&&(async()=>(s(1,C=await V1(localStorage.token)),s(9,b=!1)))()},[p,C,k,E,B,G,o,u,D,b,Q,V,W,U,H,K,J,g,v,e,d]}
2829class Fv extends bs{constructor(a){super(),Cs(this,a,Ov,zv,ms,{show:0})}}function Lv(c){let a,s=c[3].t("Memory")+"",o,u,p,C,b=c[3].t("Experimental")+"",k,E;return{c(){a=X("div"),o=Ze(s),u=Se(),p=X("span"),C=Ze("("),k=Ze(b),E=Ze(")"),this.h()},l(B){a=q(B,"DIV",{class:!0});var G=$(a);o=Xe(G,s),u=Ne(G),p=q(G,"SPAN",{class:!0});var D=$(p);C=Xe(D,"("),k=Xe(D,b),E=Xe(D,")"),D.forEach(z),G.forEach(z),this.h()},h(){O(p,"class","text-xs text-gray-500"),O(a,"class","text-sm font-medium")},m(B,G){Le(B,a,G),T(a,o),T(a,u),T(a,p),T(p,C),T(p,k),T(p,E)},p(B,G){G&8&&s!==(s=B[3].t("Memory")+"")&&tt(o,s),G&8&&b!==(b=B[3].t("Experimental")+"")&&tt(k,b)},d(B){B&&z(a)}}}function Vv(c){let a,s,o,u,p,C,b,k,E,B,G,D,Q,V,W,U=c[3].t("You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.")+"",H,K,J,g,v=c[3].t("Manage")+"",e,d,_,re,S=c[3].t("Save")+"",F,Ie,he,ce;function ge(de){c[6](de)}let Ce={};c[1]!==void 0&&(Ce.show=c[1]),a=new Fv({props:Ce}),kr.push(()=>es(a,"show",ge)),k=new ni({props:{content:c[3].t("This is an experimental feature, it may not function as expected and is subject to change at any time."),$$slots:{default:[Lv]},$$scope:{ctx:c}}});function Fe(de){c[7](de)}let Pe={};return c[2]!==void 0&&(Pe.state=c[2]),G=new Cm({props:Pe}),kr.push(()=>es(G,"state",Fe)),G.$on("change",c[8]),{c(){Ut(a.$$.fragment),o=Se(),u=X("form"),p=X("div"),C=X("div"),b=X("div"),Ut(k.$$.fragment),E=Se(),B=X("div"),Ut(G.$$.fragment),Q=Se(),V=X("div"),W=X("div"),H=Ze(U),K=Se(),J=X("div"),g=X("button"),e=Ze(v),d=Se(),_=X("div"),re=X("button"),F=Ze(S),this.h()},l(de){Kt(a.$$.fragment,de),o=Ne(de),u=q(de,"FORM",{class:!0});var pe=$(u);p=q(pe,"DIV",{class:!0});var we=$(p);C=q(we,"DIV",{});var Ge=$(C);b=q(Ge,"DIV",{class:!0});var me=$(b);Kt(k.$$.fragment,me),E=Ne(me),B=q(me,"DIV",{class:!0});var at=$(B);Kt(G.$$.fragment,at),at.forEach(z),me.forEach(z),Ge.forEach(z),Q=Ne(we),V=q(we,"DIV",{class:!0});var Ue=$(V);W=q(Ue,"DIV",{});var ot=$(W);H=Xe(ot,U),ot.forEach(z),Ue.forEach(z),K=Ne(we),J=q(we,"DIV",{class:!0});var pt=$(J);g=q(pt,"BUTTON",{type:!0,class:!0});var ct=$(g);e=Xe(ct,v),ct.forEach(z),pt.forEach(z),we.forEach(z),d=Ne(pe),_=q(pe,"DIV",{class:!0});var je=$(_);re=q(je,"BUTTON",{class:!0,type:!0});var At=$(re);F=Xe(At,S),At.forEach(z),je.forEach(z),pe.forEach(z),this.h()},h(){O(B,"class",""),O(b,"class","flex items-center justify-between mb-1"),O(V,"class","text-xs text-gray-600 dark:text-gray-400"),O(g,"type","button"),O(g,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),O(J,"class","mt-3 mb-1 ml-1"),O(p,"class","py-1 overflow-y-scroll max-h-[28rem] lg:max-h-full"),O(re,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(re,"type","submit"),O(_,"class","flex justify-end text-sm font-medium"),O(u,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(de,pe){Zt(a,de,pe),Le(de,o,pe),Le(de,u,pe),T(u,p),T(p,C),T(C,b),Zt(k,b,null),T(b,E),T(b,B),Zt(G,B,null),T(p,Q),T(p,V),T(V,W),T(W,H),T(p,K),T(p,J),T(J,g),T(g,e),T(u,d),T(u,_),T(_,re),T(re,F),Ie=!0,he||(ce=[Qt(g,"click",c[9]),Qt(u,"submit",ul(c[10]))],he=!0)},p(de,[pe]){const we={};!s&&pe&2&&(s=!0,we.show=de[1],$r(()=>s=!1)),a.$set(we);const Ge={};pe&8&&(Ge.content=de[3].t("This is an experimental feature, it may not function as expected and is subject to change at any time.")),pe&4104&&(Ge.$$scope={dirty:pe,ctx:de}),k.$set(Ge);const me={};!D&&pe&4&&(D=!0,me.state=de[2],$r(()=>D=!1)),G.$set(me),(!Ie||pe&8)&&U!==(U=de[3].t("You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.")+"")&&tt(H,U),(!Ie||pe&8)&&v!==(v=de[3].t("Manage")+"")&&tt(e,v),(!Ie||pe&8)&&S!==(S=de[3].t("Save")+"")&&tt(F,S)},i(de){Ie||(nt(a.$$.fragment,de),nt(k.$$.fragment,de),nt(G.$$.fragment,de),Ie=!0)},o(de){dt(a.$$.fragment,de),dt(k.$$.fragment,de),dt(G.$$.fragment,de),Ie=!1},d(de){de&&(z(o),z(u)),Xt(a,de),Xt(k),Xt(G),he=!1,Es(ce)}}}function Hv(c,a,s){let o,u;YA(c,Do,W=>s(11,o=W));const p=ii(),C=Xs("i18n");YA(c,C,W=>s(3,u=W));let{saveSettings:b}=a,k=!1,E=!1;li(async()=>{s(2,E=(o==null?void 0:o.memory)??!1)});function B(W){k=W,s(1,k)}function G(W){E=W,s(2,E)}const D=async()=>{b({memory:E})},Q=()=>{s(1,k=!0)},V=()=>{p("save")};return c.$$set=W=>{"saveSettings"in W&&s(0,b=W.saveSettings)},[b,k,E,u,p,C,B,G,D,Q,V]}
2829class Yv extends bs{constructor(a){super(),Cs(this,a,Hv,Vv,ms,{saveSettings:0})}}function xp(c){let a;return{c(){a=X("div"),this.h()},l(s){a=q(s,"DIV",{class:!0}),$(a).forEach(z),this.h()},h(){O(a,"class","absolute top-0 bottom-0 left-0 right-0 opacity-60 bg-white dark:bg-gray-900 z-10")},m(s,o){Le(s,a,o)},d(s){s&&z(a)}}}function Rv(c){var U;let a,s,o,u,p,C,b,k,E,B,G,D,Q=!(((U=c[2])==null?void 0:U.enable)??!0)&&xp();function V(H){c[16](H)}let W={inputClassName:" outline-hidden bg-transparent w-full",placeholder:c[8].t("API Key")};return c[1]!==void 0&&(W.value=c[1]),k=new Ad({props:W}),kr.push(()=>es(k,"value",V)),{c(){Q&&Q.c(),a=Se(),s=X("div"),o=X("div"),u=X("input"),b=Se(),Ut(k.$$.fragment),this.h()},l(H){Q&&Q.l(H),a=Ne(H),s=q(H,"DIV",{class:!0});var K=$(s);o=q(K,"DIV",{class:!0});var J=$(o);u=q(J,"INPUT",{class:!0,placeholder:!0,autocomplete:!0}),J.forEach(z),b=Ne(K),Kt(k.$$.fragment,K),K.forEach(z),this.h()},h(){O(u,"class",p="outline-hidden w-full bg-transparent "+(c[5]?"pr-8":"")),O(u,"placeholder",C=c[8].t("API Base URL")),O(u,"autocomplete","off"),O(o,"class","flex-1 relative"),O(s,"class","flex w-full")},m(H,K){Q&&Q.m(H,K),Le(H,a,K),Le(H,s,K),T(s,o),T(o,u),ar(u,c[0]),T(s,b),Zt(k,s,null),B=!0,G||(D=Qt(u,"input",c[15]),G=!0)},p(H,K){var g;((g=H[2])==null?void 0:g.enable)??!0?Q&&(Q.d(1),Q=null):Q||(Q=xp(),Q.c(),Q.m(a.parentNode,a)),(!B||K&32&&p!==(p="outline-hidden w-full bg-transparent "+(H[5]?"pr-8":"")))&&O(u,"class",p),(!B||K&256&&C!==(C=H[8].t("API Base URL")))&&O(u,"placeholder",C),K&1&&u.value!==H[0]&&ar(u,H[0]);const J={};K&256&&(J.placeholder=H[8].t("API Key")),!E&&K&2&&(E=!0,J.value=H[1],$r(()=>E=!1)),k.$set(J)},i(H){B||(nt(k.$$.fragment,H),B=!0)},o(H){dt(k.$$.fragment,H),B=!1},d(H){H&&(z(a),z(s)),Q&&Q.d(H),Xt(k),G=!1,D()}}}function jv(c){let a,s,o,u,p;return s=new mm({}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0,type:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","self-center p-1 bg-transparent hover:bg-gray-100 dark:bg-gray-900 dark:hover:bg-gray-850 rounded-lg transition"),O(a,"type","button")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",c[17]),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function Wv(c){let a,s,o,u,p,C,b,k,E,B,G,D;function Q(H){c[12](H)}let V={edit:!0,direct:!0,connection:{url:c[0],key:c[1],config:c[2]},onDelete:c[10],onSubmit:c[11]};c[6]!==void 0&&(V.show=c[6]),a=new om({props:V}),kr.push(()=>es(a,"show",Q));function W(H){c[13](H)}let U={};return c[7]!==void 0&&(U.show=c[7]),u=new M2({props:U}),kr.push(()=>es(u,"show",W)),u.$on("confirm",c[14]),k=new ni({props:{className:"w-full relative",content:c[8].t('WebUI will make requests to "{{url}}/chat/completions"',{url:c[0]}),placement:"top-start",$$slots:{default:[Rv]},$$scope:{ctx:c}}}),G=new ni({props:{content:c[8].t("Configure"),className:"self-start",$$slots:{default:[jv]},$$scope:{ctx:c}}}),{c(){Ut(a.$$.fragment),o=Se(),Ut(u.$$.fragment),C=Se(),b=X("div"),Ut(k.$$.fragment),E=Se(),B=X("div"),Ut(G.$$.fragment),this.h()},l(H){Kt(a.$$.fragment,H),o=Ne(H),Kt(u.$$.fragment,H),C=Ne(H),b=q(H,"DIV",{class:!0});var K=$(b);Kt(k.$$.fragment,K),E=Ne(K),B=q(K,"DIV",{class:!0});var J=$(B);Kt(G.$$.fragment,J),J.forEach(z),K.forEach(z),this.h()},h(){O(B,"class","flex gap-1"),O(b,"class","flex w-full gap-2 items-center")},m(H,K){Zt(a,H,K),Le(H,o,K),Zt(u,H,K),Le(H,C,K),Le(H,b,K),Zt(k,b,null),T(b,E),T(b,B),Zt(G,B,null),D=!0},p(H,[K]){const J={};K&7&&(J.connection={url:H[0],key:H[1],config:H[2]}),K&128&&(J.onDelete=H[10]),K&23&&(J.onSubmit=H[11]),!s&&K&64&&(s=!0,J.show=H[6],$r(()=>s=!1)),a.$set(J);const g={};!p&&K&128&&(p=!0,g.show=H[7],$r(()=>p=!1)),u.$set(g);const v={};K&257&&(v.content=H[8].t('WebUI will make requests to "{{url}}/chat/completions"',{url:H[0]})),K&262439&&(v.$$scope={dirty:K,ctx:H}),k.$set(v);const e={};K&256&&(e.content=H[8].t("Configure")),K&262208&&(e.$$scope={dirty:K,ctx:H}),G.$set(e)},i(H){D||(nt(a.$$.fragment,H),nt(u.$$.fragment,H),nt(k.$$.fragment,H),nt(G.$$.fragment,H),D=!0)},o(H){dt(a.$$.fragment,H),dt(u.$$.fragment,H),dt(k.$$.fragment,H),dt(G.$$.fragment,H),D=!1},d(H){H&&(z(o),z(C),z(b)),Xt(a,H),Xt(u,H),Xt(k),Xt(G)}}}function Uv(c,a,s){let o;const u=Xs("i18n");YA(c,u,v=>s(8,o=v));let{onDelete:p=()=>{}}=a,{onSubmit:C=()=>{}}=a,{pipeline:b=!1}=a,{url:k=""}=a,{key:E=""}=a,{config:B={}}=a,G=!1,D=!1;const Q=()=>
2829{s(7,D=!0)},V=v=>{s(0,k=v.url),s(1,E=v.key),s(2,B=v.config),C(v)};function W(v){G=v,s(6,G)}function U(v){D=v,s(7,D)}const H=()=>{p(),s(6,G=!1)};function K(){k=this.value,s(0,k)}function J(v){E=v,s(1,E)}const g=()=>{s(6,G=!0)};return c.$$set=v=>{"onDelete"in v&&s(3,p=v.onDelete),"onSubmit"in v&&s(4,C=v.onSubmit),"pipeline"in v&&s(5,b=v.pipeline),"url"in v&&s(0,k=v.url),"key"in v&&s(1,E=v.key),"config"in v&&s(2,B=v.config)},[k,E,B,p,C,b,G,D,o,u,Q,V,W,U,H,K,J,g]}class Kv extends bs{constructor(a){super(),Cs(this,a,Uv,Wv,ms,{onDelete:3,onSubmit:4,pipeline:5,url:0,key:1,config:2})}}function Mp(c,a,s){const o=c.slice();return o[17]=a[s],o[18]=a,o[19]=s,o}function Zv(c){let a,s,o,u;return o=new D2({props:{className:"size-6"}}),{c(){a=X("div"),s=X("div"),Ut(o.$$.fragment),this.h()},l(p){a=q(p,"DIV",{class:!0});var C=$(a);s=q(C,"DIV",{class:!0});var b=$(s);Kt(o.$$.fragment,b),b.forEach(z),C.forEach(z),this.h()},h(){O(s,"class","my-auto"),O(a,"class","flex h-full justify-center")},m(p,C){Le(p,a,C),T(a,s),Zt(o,s,null),u=!0},p:WA,i(p){u||(nt(o.$$.fragment,p),u=!0)},o(p){dt(o.$$.fragment,p),u=!1},d(p){p&&z(a),Xt(o)}}}function Xv(c){var S;
2829let a,s,o,u,p,C=c[2].t("Manage Direct Connections")+"",b,k,E,B,G,D,Q,V,W=c[2].t("Connect to your own OpenAI compatible API endpoints.")+"",U,H,K,J,g=c[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"",v,e;E=new ni({props:{content:c[2].t("Add Connection"),$$slots:{default:[qv]},$$scope:{ctx:c}}});let d=Ur(((S=c[0])==null?void 0:S.OPENAI_API_BASE_URLS)??[]),_=[];for(let F=0;F<d.length;F+=1)_[F]=Dp(Mp(c,d,F));const re=F=>dt(_[F],1,1,()=>{_[F]=null});return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("div"),p=X("div"),b=Ze(C),k=Se(),Ut(E.$$.fragment),B=Se(),G=X("div");for(let F=0;F<_.length;F+=1)_[F].c();D=Se(),Q=X("div"),V=X("div"),U=Ze(W),H=Se(),K=X("br"),J=Se(),v=Ze(g),this.h()},l(F){a=q(F,"DIV",{class:!0});var Ie=$(a);s=q(Ie,"DIV",{class:!0});var he=$(s);o=q(he,"DIV",{class:!0});var ce=$(o);u=q(ce,"DIV",{class:!0});var ge=$(u);p=q(ge,"DIV",{class:!0});var Ce=$(p);b=Xe(Ce,C),Ce.forEach(z),k=Ne(ge),Kt(E.$$.fragment,ge),ge.forEach(z),B=Ne(ce),G=q(ce,"DIV",{class:!0});var Fe=$(G);for(let pe=0;pe<_.length;pe+=1)_[pe].l(Fe);Fe.forEach(z),ce.forEach(z),D=Ne(he),Q=q(he,"DIV",{class:!0});var Pe=$(Q);V=q(Pe,"DIV",{class:!0});var de=$(V);U=Xe(de,W),H=Ne(de),K=q(de,"BR",{}),J=Ne(de),v=Xe(de,g),de.forEach(z),Pe.forEach(z),he.forEach(z),Ie.forEach(z),this.h()},h(){O(p,"class","font-medium"),O(u,"class","flex justify-between items-center mb-0.5"),O(G,"class","flex flex-col gap-1.5"),O(o,"class",""),O(V,"class","text-xs text-gray-500"),O(Q,"class","my-1.5"),O(s,"class","pr-1.5"),O(a,"class","")},m(F,Ie){Le(F,a,Ie),T(a,s),T(s,o),T(o,u),T(u,p),T(p,b),T(u,k),Zt(E,u,null),T(o,B),T(o,G);for(let he=0;he<_.length;he+=1)_[he]&&_[he].m(G,null);T(s,D),T(s,Q),T(Q,V),T(V,U),T(V,H),T(V,K),T(V,J),T(V,v),e=!0},p(F,Ie){var ce;
2829(!e||Ie&4)&&C!==(C=F[2].t("Manage Direct Connections")+"")&&tt(b,C);const he={};if(Ie&4&&(he.content=F[2].t("Add Connection")),Ie&1048578&&(he.$$scope={dirty:Ie,ctx:F}),E.$set(he),Ie&33){d=Ur(((ce=F[0])==null?void 0:ce.OPENAI_API_BASE_URLS)??[]);let ge;for(ge=0;ge<d.length;ge+=1){const Ce=Mp(F,d,ge);_[ge]?(_[ge].p(Ce,Ie),nt(_[ge],1)):(_[ge]=Dp(Ce),_[ge].c(),nt(_[ge],1),_[ge].m(G,null))}for(Nr(),ge=d.length;ge<_.length;ge+=1)re(ge);zr()}(!e||Ie&4)&&W!==(W=F[2].t("Connect to your own OpenAI compatible API endpoints.")+"")&&tt(U,W),(!e||Ie&4)&&g!==(g=F[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"")&&tt(v,g)},i(F){if(!e){nt(E.$$.fragment,F);for(let Ie=0;Ie<d.length;Ie+=1)nt(_[Ie]);e=!0}},o(F){dt(E.$$.fragment,F),_=_.filter(Boolean);for(let Ie=0;Ie<_.length;Ie+=1)dt(_[Ie]);e=!1},d(F){F&&z(a),Xt(E),oi(_,F)}}}function qv(c){let a,s,o,u,p;return s=new Af({}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0,type:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","px-1"),O(a,"type","button")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",c[8]),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function Dp(c){let a,s,o,u,p;function C(){return c[10](c[19])}function b(G){c[11](G,c[17],c[18],c[19])}function k(G){c[12](G,c[19])}function E(G){c[13](G,c[19])}let B={onSubmit:c[9],onDelete:C};return c[17]!==void 0&&(B.url=c[17]),c[0].OPENAI_API_KEYS[c[19]]!==void 0&&(B.key=c[0].OPENAI_API_KEYS[c[19]]),c[0].OPENAI_API_CONFIGS[c[19]]!==void 0&&(B.config=c[0].OPENAI_API_CONFIGS[c[19]]),a=new Kv({props:B}),kr.push(()=>es(a,"url",b)),kr.push(()=>es(a,"key",k)),kr.push(()=>es(a,"config",E)),{c(){Ut(a.$$.fragment)},l(G){Kt(a.$$.fragment,G)},m(G,D){Zt(a,G,D),p=!0},p(G,D){c=G;const Q={};D&1&&(Q.onDelete=C),!s&&D&1&&(s=!0,Q.url=c[17],$r(()=>s=!1)),!o&&D&1&&(o=!0,Q.key=c[0].OPENAI_API_KEYS[c[19]],$r(()=>o=!1)),!u&&D&1&&(u=!0,Q.config=c[0].OPENAI_API_CONFIGS[c[19]],$r(()=>u=!1)),a.$set(Q)},i(G){p||(nt(a.$$.fragment,G),p=!0)},o(G){dt(a.$$.fragment,G),p=!1},d(G){Xt(a,G)}}}function Jv(c){let a,s,o,u,p,C,b,k,E,B,G=c[2].t("Save")+"",D,Q,V,W;function U(v){c[7](v)}let H={direct:!0,onSubmit:c[4]};c[1]!==void 0&&(H.show=c[1]),a=new om({props:H}),kr.push(()=>es(a,"show",U));const K=[Xv,Zv],J=[];function g(v,e){return v[0]!==null?0:1}return C=g(c),b=J[C]=K[C](c),{c(){Ut(a.$$.fragment),o=Se(),u=X("form"),p=X("div"),b.c(),k=Se(),E=X("div"),B=X("button"),D=Ze(G),this.h()},l(v){Kt(a.$$.fragment,v),o=Ne(v),u=q(v,"FORM",{class:!0});var e=$(u);p=q(e,"DIV",{class:!0});var d=$(p);b.l(d),d.forEach(z),k=Ne(e),E=q(e,"DIV",{class:!0});var _=$(E);B=q(_,"BUTTON",{class:!0,type:!0});var re=$(B);D=Xe(re,G),re.forEach(z),_.forEach(z),e.forEach(z),this.h()},h(){O(p,"class","overflow-y-scroll scrollbar-hidden h-full"),O(B,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(B,"type","submit"),O(E,"class","flex justify-end pt-3 text-sm font-medium"),O(u,"class","flex flex-col h-full justify-between text-sm")},m(v,e){Zt(a,v,e),Le(v,o,e),Le(v,u,e),T(u,p),J[C].m(p,null),T(u,k),T(u,E),T(E,B),T(B,D),Q=!0,V||(W=Qt(u,"submit",ul(c[14])),V=!0)},p(v,[e]){const d={};!s&&e&2&&(s=!0,d.show=v[1],$r(()=>s=!1)),a.$set(d);let _=C;C=g(v),C===_?J[C].p(v,e):(Nr(),dt(J[_],1,1,()=>{J[_]=null}),zr(),b=J[C],b?b.p(v,e):(b=J[C]=K[C](v),b.c()),nt(b,1),b.m(p,null)),(!Q||e&4)&&G!==(G=v[2].t("Save")+"")&&tt(D,G)},i(v){Q||(nt(a.$$.fragment,v),nt(b),Q=!0)},o(v){dt(a.$$.fragment,v),dt(b),Q=!1},d(v){v&&(z(o),z(u)),Xt(a,v),J[C].d(),V=!1,W()}}}function $v(c,a,s){let o,u;YA(c,Do,J=>s(15,o=J)),ii();const p=Xs("i18n");YA(c,p,J=>s(2,u=J));let{saveSettings:C}=a,b=null,k=!1;const E=async J=>{b.OPENAI_API_BASE_URLS.push(J.url),b.OPENAI_API_KEYS.push(J.key),s(0,b.OPENAI_API_CONFIGS[b.OPENAI_API_BASE_URLS.length-1]=J.config,b),await B()},B=async()=>{if(s(0,b.OPENAI_API_BASE_URLS=b.OPENAI_API_BASE_URLS.map(J=>J.replace(/\/$/,"")),b),b.OPENAI_API_KEYS.length!==b.OPENAI_API_BASE_URLS.length&&(b.OPENAI_API_KEYS.length>b.OPENAI_API_BASE_URLS.length&&s(0,b.OPENAI_API_KEYS=b.OPENAI_API_KEYS.slice(0,b.OPENAI_API_BASE_URLS.length),b),b.OPENAI_API_KEYS.length<b.OPENAI_API_BASE_URLS.length)){const J=b.OPENAI_API_BASE_URLS.length-b.OPENAI_API_KEYS.length;for(let g=0;g<J;g++)b.OPENAI_API_KEYS.push("")}await C({directConnections:b})};li(async()=>{s(0,b=(o==null?void 0:o.directConnections)??{OPENAI_API_BASE_URLS:[],OPENAI_API_KEYS:[],OPENAI_API_CONFIGS:{}})});function G(J){k=J,s(1,k)}const D=()=>{s(1,k=!0)},Q=()=>{B()}
2829,V=J=>{s(0,b.OPENAI_API_BASE_URLS=b.OPENAI_API_BASE_URLS.filter((v,e)=>J!==e),b),s(0,b.OPENAI_API_KEYS=b.OPENAI_API_KEYS.filter((v,e)=>J!==e),b);let g={};b.OPENAI_API_BASE_URLS.forEach((v,e)=>{g[e]=b.OPENAI_API_CONFIGS[e<J?e:e+1]}),s(0,b.OPENAI_API_CONFIGS=g,b)};function W(J,g,v,e){v[e]=J,s(0,b)}function U(J,g){c.$$.not_equal(b.OPENAI_API_KEYS[g],J)&&(b.OPENAI_API_KEYS[g]=J,s(0,b))}function H(J,g){c.$$.not_equal(b.OPENAI_API_CONFIGS[g],J)&&(b.OPENAI_API_CONFIGS[g]=J,s(0,b))}const K=()=>{B()};return c.$$set=J=>{"saveSettings"in J&&s(6,C=J.saveSettings)},[b,k,u,p,E,B,C,G,D,Q,V,W,U,H,K]}class e7 extends bs{constructor(a){super(),Cs(this,a,$v,Jv,ms,{saveSettings:6})}}function Gp(c,a,s){const o=c.slice();return o[15]=a[s],o[16]=a,o[17]=s,o}function t7(c){let a,s,o,u;return o=new D2({props:{className:"size-6"}}),{c(){a=X("div"),s=X("div"),Ut(o.$$.fragment),this.h()},l(p){a=q(p,"DIV",{class:!0});var C=$(a);s=q(C,"DIV",{class:!0});var b=$(s);Kt(o.$$.fragment,b),b.forEach(z),C.forEach(z),this.h()},h(){O(s,"class","my-auto"),O(a,"class","flex h-full justify-center")},m(p,C){Le(p,a,C),T(a,s),Zt(o,s,null),u=!0},p:WA,i(p){u||(nt(o.$$.fragment,p),u=!0)},o(p){dt(o.$$.fragment,p),u=!1},d(p){p&&z(a),Xt(o)}}}function A7(c){let a,s,o,u,p,C=c[2].t("Manage Tool Servers")+"",b,k,E,B,G,D,Q,V,W=c[2].t("Connect to your own OpenAPI compatible external tool servers.")+"",U,H,K,J,g=c[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"",v,e,d,_,re=c[2].t("Learn more about OpenAPI tool servers.")+"",S,F;E=new ni({props:{content:c[2].t("Add Connection"),$$slots:{default:[r7]},$$scope:{ctx:c}}});let Ie=Ur(c[0]),he=[];for(let ge=0;ge<Ie.length;ge+=1)he[ge]=_p(Gp(c,Ie,ge));const ce=ge=>dt(he[ge],1,1,()=>{he[ge]=null});return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("div"),p=X("div"),b=Ze(C),k=Se(),Ut(E.$$.fragment),B=Se(),G=X("div");for(let ge=0;ge<he.length;ge+=1)he[ge].c();D=Se(),Q=X("div"),V=X("div"),U=Ze(W),H=Se(),K=X("br"),J=Se(),v=Ze(g),e=Se(),d=X("div"),_=X("a"),S=Ze(re),this.h()},l(ge){a=q(ge,"DIV",{class:!0});var Ce=$(a);s=q(Ce,"DIV",{class:!0});var Fe=$(s);o=q(Fe,"DIV",{class:!0});var Pe=$(o);u=q(Pe,"DIV",{class:!0});var de=$(u);p=q(de,"DIV",{class:!0});var pe=$(p);b=Xe(pe,C),pe.forEach(z),k=Ne(de),Kt(E.$$.fragment,de),de.forEach(z),B=Ne(Pe),G=q(Pe,"DIV",{class:!0});var we=$(G);for(let ot=0;ot<he.length;ot+=1)he[ot].l(we);we.forEach(z),Pe.forEach(z),D=Ne(Fe),Q=q(Fe,"DIV",{class:!0});var Ge=$(Q);V=q(Ge,"DIV",{class:!0});var me=$(V);U=Xe(me,W),H=Ne(me),K=q(me,"BR",{}),J=Ne(me),v=Xe(me,g),me.forEach(z),Ge.forEach(z),e=Ne(Fe),d=q(Fe,"DIV",{class:!0});var at=$(d);_=q(at,"A",{class:!0,href:!0,target:!0});var Ue=$(_);S=Xe(Ue,re),Ue.forEach(z),at.forEach(z),Fe.forEach(z),Ce.forEach(z),this.h()},h(){O(p,"class","font-medium"),O(u,"class","flex justify-between items-center mb-0.5"),O(G,"class","flex flex-col gap-1.5"),O(o,"class",""),O(V,"class","text-xs text-gray-500"),O(Q,"class","my-1.5"),O(_,"class","underline"),O(_,"href","https://github.com/open-webui/openapi-servers"),O(_,"target","_blank"),O(d,"class","text-xs text-gray-600 dark:text-gray-300 mb-2"),O(s,"class","pr-1.5"),O(a,"class","")},m(ge,Ce){Le(ge,a,Ce),T(a,s),T(s,o),T(o,u),T(u,p),T(p,b),T(u,k),Zt(E,u,null),T(o,B),T(o,G);for(let Fe=0;Fe<he.length;Fe+=1)he[Fe]&&he[Fe].m(G,null);T(s,D),T(s,Q),T(Q,V),T(V,U),T(V,H),T(V,K),T(V,J),T(V,v),T(s,e),T(s,d),T(d,_),T(_,
2829S),F=!0},p(ge,Ce){(!F||Ce&4)&&C!==(C=ge[2].t("Manage Tool Servers")+"")&&tt(b,C);const Fe={};if(Ce&4&&(Fe.content=ge[2].t("Add Connection")),Ce&262146&&(Fe.$$scope={dirty:Ce,ctx:ge}),E.$set(Fe),Ce&33){Ie=Ur(ge[0]);let Pe;for(Pe=0;Pe<Ie.length;Pe+=1){const de=Gp(ge,Ie,Pe);he[Pe]?(he[Pe].p(de,Ce),nt(he[Pe],1)):(he[Pe]=_p(de),he[Pe].c(),nt(he[Pe],1),he[Pe].m(G,null))}for(Nr(),Pe=Ie.length;Pe<he.length;Pe+=1)ce(Pe);zr()}(!F||Ce&4)&&W!==(W=ge[2].t("Connect to your own OpenAPI compatible external tool servers.")+"")&&tt(U,W),(!F||Ce&4)&&g!==(g=ge[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"")&&tt(v,g),(!F||Ce&4)&&re!==(re=ge[2].t("Learn more about OpenAPI tool servers.")+"")&&tt(S,re)},i(ge){if(!F){nt(E.$$.fragment,ge);for(let Ce=0;Ce<Ie.length;Ce+=1)nt(he[Ce]);F=!0}},o(ge){dt(E.$$.fragment,ge),he=he.filter(Boolean);for(let Ce=0;Ce<he.length;Ce+=1)dt(he[Ce]);F=!1},d(ge){ge&&z(a),Xt(E),oi(he,ge)}}}function r7(c){let a,s,o,u,p;return s=new Af({}),{c(){a=X("button"),Ut(s.$$.fragment),this.h()},l(C){a=q(C,"BUTTON",{class:!0,type:!0});var b=$(a);Kt(s.$$.fragment,b),b.forEach(z),this.h()},h(){O(a,"class","px-1"),O(a,"type","button")},m(C,b){Le(C,a,b),Zt(s,a,null),o=!0,u||(p=Qt(a,"click",c[8]),u=!0)},p:WA,i(C){o||(nt(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(a),Xt(s),u=!1,p()}}}function _p(c){let a,s,o;function u(){return c[10](c[17])}function p(b){c[11](b,c[15],c[16],c[17])}let C={direct:!0,onSubmit:c[9],onDelete:u};return c[15]!==void 0&&(C.connection=c[15]),a=new Q8({props:C}),kr.push(()=>es(a,"connection",p)),{c(){Ut(a.$$.fragment)},l(b){Kt(a.$$.fragment,b)},m(b,k){Zt(a,b,k),o=!0},p(b,k){c=b;const E={};k&1&&(E.onDelete=u),!s&&k&1&&(s=!0,E.connection=c[15],$r(()=>s=!1)),a.$set(E)},i(b){o||(nt(a.$$.fragment,b),o=!0)},o(b){dt(a.$$.fragment,b),o=!1},d(b){Xt(a,b)}}}function s7(c){let a,s,o,u,p,C,b,k,E,B,G=c[2].t("Save")+"",D,Q,V,W;function U(v){c[7](v)}let H={onSubmit:c[4],direct:!0};c[1]!==void 0&&(H.show=c[1]),a=new T8({props:H}),kr.push(()=>es(a,"show",U));const K=[A7,t7],J=[];function g(v,e){return v[0]!==null?0:1}return C=g(c),b=J[C]=K[C](c),{c(){Ut(a.$$.fragment),o=Se(),u=X("form"),p=X("div"),b.c(),k=Se(),E=X("div"),B=X("button"),D=Ze(G),this.h()},l(v){Kt(a.$$.fragment,v),o=Ne(v),u=q(v,"FORM",{class:!0});var e=$(u);p=q(e,"DIV",{class:!0});var d=$(p);b.l(d),d.forEach(z),k=Ne(e),E=q(e,"DIV",{class:!0});var _=$(E);B=q(_,"BUTTON",{class:!0,type:!0});var re=$(B);D=Xe(re,G),re.forEach(z),_.forEach(z),e.forEach(z),this.h()},h(){O(p,"class","overflow-y-scroll scrollbar-hidden h-full"),O(B,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(B,"type","submit"),O(E,"class","flex justify-end pt-3 text-sm font-medium"),O(u,"class","flex flex-col h-full justify-between text-sm")},m(v,e){Zt(a,v,e),Le(v,o,e),Le(v,u,e),T(u,p),J[C].m(p,null),T(u,k),T(u,E),T(E,B),T(B,D),Q=!0,V||(W=Qt(u,"submit",ul(c[12])),V=!0)},p(v,[e]){const d={};!s&&e&2&&(s=!0,d.show=v[1],$r(()=>s=!1)),a.$set(d);let _=C;C=g(v),C===_?J[C].p(v,e):(Nr(),dt(J[_],1,1,()=>{J[_]=null}),zr(),b=J[C],b?b.p(v,e):(b=J[C]=K[C](v),b.c()),nt(b,1),b.m(p,null)),(!Q||e&4)&&G!==(G=v[2].t("Save")+"")&&tt(D,G)},i(v){Q||(nt(a.$$.fragment,v),nt(b),Q=!0)},o(v){dt(a.$$.fragment,v),dt(b),Q=!1},d(v){v&&(z(o),z(u)),Xt(a,v),J[C].d(),V=!1,W()}}}function a7(c,a,s){let o,u;YA(c,Do,H=>s(13,o=H)),ii();const p=Xs("i18n");YA(c,p,H=>s(2,u=H));let{saveSettings:C}=a,b=null,k=!1;const E=async H=>
2829{s(0,b=[...b,H]),await B()},B=async()=>{await C({toolServers:b}),Am.set(await am(u,(o==null?void 0:o.toolServers)??[]))};li(async()=>{s(0,b=(o==null?void 0:o.toolServers)??[])});function G(H){k=H,s(1,k)}const D=()=>{s(1,k=!0)},Q=()=>{B()},V=H=>{s(0,b=b.filter((K,J)=>J!==H)),B()};function W(H,K,J,g){J[g]=H,s(0,b)}const U=()=>{B()};return c.$$set=H=>{"saveSettings"in H&&s(6,C=H.saveSettings)},[b,k,u,p,E,B,C,G,D,Q,V,W,U]}class n7 extends bs{constructor(a){super(),Cs(this,a,a7,s7,ms,{saveSettings:6})}}function Tp(c,a,s){const o=c.slice();return o[38]=a[s],o}function i7(c){let a,s=c[5].t("No results found")+"",o;return{c(){a=X("div"),o=Ze(s),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);o=Xe(p,s),p.forEach(z),this.h()},h(){O(a,"class","text-center text-gray-500 mt-4")},m(u,p){Le(u,a,p),T(a,o)},p(u,p){p[0]&32&&s!==(s=u[5].t("No results found")+"")&&tt(o,s)},i:WA,o:WA,d(u){u&&z(a)}}}function o7(c){let a=[],s=new Map,o,u,p=Ur(c[2]);const C=b=>b[38];for(let b=0;b<p.length;b+=1){let k=Tp(c,p,b),E=C(k);s.set(E,a[b]=Np(E,k))}return{c(){for(let b=0;b<a.length;b+=1)a[b].c();o=ps()},l(b){for(let k=0;k<a.length;k+=1)a[k].l(b);o=ps()},m(b,k){for(let E=0;E<a.length;E+=1)a[E]&&a[E].m(b,k);Le(b,o,k),u=!0},p(b,k){k[0]&125&&(p=Ur(b[2]),Nr(),a=ef(a,k,C,1,b,p,s,o.parentNode,tf,Np,o,Tp),zr())},i(b){if(!u){for(let k=0;k<p.length;k+=1)nt(a[k]);u=!0}},o(b){for(let k=0;k<a.length;k+=1)dt(a[k]);u=!1},d(b){b&&z(o);for(let k=0;k<a.length;k+=1)a[k].d(b)}}}function l7(c){var o;let a,s=((o=c[6])==null?void 0:o.role)==="admin"&&Qp(c);return{c(){s&&s.c(),a=ps()},l(u){s&&s.l(u),a=ps()},m(u,p){s&&s.m(u,p),Le(u,a,p)},p(u,p){var C;((C=u[6])==null?void 0:C.role)==="admin"?s?s.p(u,p):(s=Qp(u),s.c(),s.m(a.parentNode,a)):s&&(s.d(1),s=null)},i:WA,o:WA,d(u){u&&z(a),s&&s.d(u)}}}function c7(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("About")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-im5r31"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="about"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[21]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("About")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="about"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},i:WA,o:WA,d(D){D&&z(a),B=!1,G()}}}function u7(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-5-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 9c-1.825 0-3.422.977-4.295 2.437A5.49 5.49 0 0 0 8 13.5a5.49 5.49 0 0 0 4.294-2.063A4.997 4.997 0 0 0 8 9Z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("Account")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-uyxh8m"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="account"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[20]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("Account")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit roun
2829ded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="account"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},i:WA,o:WA,d(D){D&&z(a),B=!1,G()}}}function f7(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M8 2C4.262 2 1 4.57 1 8c0 1.86.98 3.486 2.455 4.566a3.472 3.472 0 0 1-.469 1.26.75.75 0 0 0 .713 1.14 6.961 6.961 0 0 0 3.06-1.06c.403.062.818.094 1.241.094 3.738 0 7-2.57 7-6s-3.262-6-7-6ZM5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("Chats")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-hp16vk"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="chats"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[19]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("Chats")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="chats"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},i:WA,o:WA,d(D){D&&z(a),B=!1,G()}}}function d7(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124ZM12.95 3.05a.75.75 0 1 0-1.06 1.06 5.5 5.5 0 0 1 0 7.78.75.75 0 1 0 1.06 1.06 7 7 0 0 0 0-9.9Z"></path><path d="M10.828 5.172a.75.75 0 1 0-1.06 1.06 2.5 2.5 0 0 1 0 3.536.75.75 0 1 0 1.06 1.06 4 4 0 0 0 0-5.656Z"></path></svg>',u,p,C=c[5].t("Audio")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-1bad48g"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="audio"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[18]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("Audio")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="audio"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},i:WA,o:WA,d(D){D&&z(a),B=!1,G()}}}function g7(c){let a,s,o,u,p,C=c[5].t("Personalization")+"",b,k,E,B,G,D;return o=new xC({}),{c(){a=X("button"),s=X("div"),Ut(o.$$.fragment),u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(Q){a=q(Q,"BUTTON",{class:!0});var V=$(a);s=q(V,"DIV",{class:!0});var W=$(s);Kt(o.$$.fragment,W),W.forEach(z),u=Ne(V),p=q(V,"DIV",{class:!0});var U=$(p);b=Xe(U,C),U.forEach(z),k=Ne(V),V.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="personalization"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(Q,V){Le(Q,a,V),T(a,s),Zt(o,s,null),T(a,u),T(a,p),T(p,b),T(a,k),B=!0,G||(D=Qt(a,"click",c[17]),G=!0)},p(Q,V){(!B||V[0]&32)&&C!==(C=Q[5].t("Personalization")+"")&&tt(b,C),(!B||V[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(Q[3]==="personalization"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white")))&&O(a,"class",E)},i(Q){B||(nt(o.$$.fragment,Q),B=!0)},o(Q){dt(o.$$.fragment,Q),B=!1},d(Q){Q&&z(a),Xt(o),G=!1,D()}}}function h7(c){var o,u,p,C,b;let a,s=(((o=c[6])==null?void 0:o.role)==="admin"||((u=c[6])==null?void 0:u.role)==="user"&&((b=(C=(p=c[6])==null?void 0:p.permissions)==null?void 0:C.features)==null?void 0:b.direct_tool_servers))&&Pp(c);return{c(){s&&s.c(),a=ps()},l(k){s&&s.l(k),a=ps()},m(k,E){s&&s.m(k,E),Le(k,a,E)},p(k,E){var B,G,D,Q,V;((B=k[6])==null?void 0:B.role)==="admin"||((G=k[6])==null?void 0:G.role)==="user"&&((V=(Q=(D=k[6])==null?void 0:D.permissions)==null?void 0:Q.features)!=null&&V.direct_tool_servers)?s?s.p(k,E):(s=Pp(k),s.c(),s.m(a.parentNode,a)):s&&(s.d(1),s=null)},i:WA,o:WA,d(k){k&&z(a),s&&s.d(k)}}}function p7(c){var o,u,p,C;let a,s=(((o=c[6])==null?void 0:o.role)==="admin"||((u=c[6])==null?void 0:u.role)==="user"&&((C=(p=c[4])==null?void 0:p.features)==null?void 0:C.enable_direct_connections))&&Sp(c);return{c(){s&&s.c(),a=ps()},l(b){s&&s.l(b),a=ps()},m(b,k){s&&s.m(b,k),Le(b,a,k)},p(b,k){var E,B,G,D;((E=b[6])==null?void 0:E.role)==="admin"||((B=b[6])==null?void 0:B.role)==="user"&&((D=(G=b[4])==null?void 0:G.features)!=null&&D.enable_direct_connections)?s?s.p(b,k):(s=Sp(b),s.c(),s.m(a.parentNode,a)):s&&(s.d(1),s=null)},i:WA,o:WA,d(b){b&&z(a),s&&s.d(b)}}}function m7(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M2 4.25A2.25 2.25 0 0 1 4.25 2h7.5A2.25 2.25 0 0 1 14 4.25v5.5A2.25 2.25 0 0 1 11.75 12h-1.312c.1.128.21.248.328.36a.75.75 0 0 1 .234.545v.345a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-.345a.75.75 0 0 1 .234-.545c.118-.111.228-.232.328-.36H4.25A2.25 2.25 0 0 1 2 9.75v-5.5Zm2.25-.75a.75.75 0 0 0-.75.75v4.5c0 .414.336.75.75.75h7.5a.75.75 0 0 0 .75-.75v-4.5a.75.75 0 0 0-.75-.75h-7.5Z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("Interface")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-183k9gv"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);
2829b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="interface"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[14]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("Interface")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="interface"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},i:WA,o:WA,d(D){D&&z(a),B=!1,G()}}}function b7(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M8.34 1.804A1 1 0 019.32 1h1.36a1 1 0 01.98.804l.295 1.473c.497.144.971.342 1.416.587l1.25-.834a1 1 0 011.262.125l.962.962a1 1 0 01.125 1.262l-.834 1.25c.245.445.443.919.587 1.416l1.473.294a1 1 0 01.804.98v1.361a1 1 0 01-.804.98l-1.473.295a6.95 6.95 0 01-.587 1.416l.834 1.25a1 1 0 01-.125 1.262l-.962.962a1 1 0 01-1.262.125l-1.25-.834a6.953 6.953 0 01-1.416.587l-.294 1.473a1 1 0 01-.98.804H9.32a1 1 0 01-.98-.804l-.295-1.473a6.957 6.957 0 01-1.416-.587l-1.25.834a1 1 0 01-1.262-.125l-.962-.962a1 1 0 01-.125-1.262l.834-1.25a6.957 6.957 0 01-.587-1.416l-1.473-.294A1 1 0 011 10.68V9.32a1 1 0 01.804-.98l1.473-.295c.144-.497.342-.971.587-1.416l-.834-1.25a1 1 0 01.125-1.262l.962-.962A1 1 0 015.38 3.03l1.25.834a6.957 6.957 0 011.416-.587l.294-1.473zM13 10a3 3 0 11-6 0 3 3 0 016 0z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("General")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-d0uebp"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="general"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[13]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("General")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="general"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},i:WA,o:WA,d(D){D&&z(a),B=!1,G()}}}function Qp(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path fill-rule="evenodd" d="M4.5 3.75a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V6.75a3 3 0 0 0-3-3h-15Zm4.125 3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Zm-3.873 8.703a4.126 4.126 0 0 1 7.746 0 .75.75 0 0 1-.351.92 7.47 7.47 0 0 1-3.522.877 7.47 7.47 0 0 1-3.522-.877.75.75 0 0 1-.351-.92ZM15 8.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15ZM14.25 12a.75.75 0 0 1 .75-.75h3.75a.75.75 0 0 1 0 1.5H15a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15Z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("Admin Settings")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-1rekzwz"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="admin"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[22]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("Admin Settings")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit roun
2829ded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="admin"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},d(D){D&&z(a),B=!1,G()}}}function Pp(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path fill-rule="evenodd" d="M12 6.75a5.25 5.25 0 0 1 6.775-5.025.75.75 0 0 1 .313 1.248l-3.32 3.319c.063.475.276.934.641 1.299.365.365.824.578 1.3.64l3.318-3.319a.75.75 0 0 1 1.248.313 5.25 5.25 0 0 1-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 1 1 2.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0 1 12 6.75ZM4.117 19.125a.75.75 0 0 1 .75-.75h.008a.75.75 0 0 1 .75.75v.008a.75.75 0 0 1-.75.75h-.008a.75.75 0 0 1-.75-.75v-.008Z" clip-rule="evenodd"></path></svg>',u,p,C=c[5].t("Tools")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-1x5q2q2"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="tools"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[16]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("Tools")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="tools"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},d(D){D&&z(a),B=!1,G()}}}function Sp(c){let a,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M1 9.5A3.5 3.5 0 0 0 4.5 13H12a3 3 0 0 0 .917-5.857 2.503 2.503 0 0 0-3.198-3.019 3.5 3.5 0 0 0-6.628 2.171A3.5 3.5 0 0 0 1 9.5Z"></path></svg>',u,p,C=c[5].t("Connections")+"",b,k,E,B,G;return{c(){a=X("button"),s=X("div"),s.innerHTML=o,u=Se(),p=X("div"),b=Ze(C),k=Se(),this.h()},l(D){a=q(D,"BUTTON",{class:!0});var Q=$(a);s=q(Q,"DIV",{class:!0,"data-svelte-h":!0}),ur(s)!=="svelte-zidmj0"&&(s.innerHTML=o),u=Ne(Q),p=q(Q,"DIV",{class:!0});var V=$(p);b=Xe(V,C),V.forEach(z),k=Ne(Q),Q.forEach(z),this.h()},h(){O(s,"class","self-center mr-2"),O(p,"class","self-center"),O(a,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="connections"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,Q){Le(D,a,Q),T(a,s),T(a,u),T(a,p),T(p,b),T(a,k),B||(G=Qt(a,"click",c[15]),B=!0)},p(D,Q){Q[0]&32&&C!==(C=D[5].t("Connections")+"")&&tt(b,C),Q[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="connections"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&O(a,"class",E)},d(D){D&&z(a),B=!1,G()}}}function Np(c,a){let s,o,u,p,C;const b=[b7,m7,p7,h7,g7,d7,f7,u7,c7,l7],k=[];function E(B,G){return B[38]==="general"?0:B[38]==="interface"?1:B[38]==="connections"?2:B[38]==="tools"?3:B[38]==="personalization"?4:B[38]==="audio"?5:B[38]==="chats"?6:B[38]==="account"?7:B[38]==="about"?8:B[38]==="admin"?9:-1}return~(o=E(a))&&(u=k[o]=b[o](a)),{key:c,first:null,c(){s=ps(),u&&u.c(),p=ps(),this.h()},l(B){s=ps(),u&&u.l(B),p=ps(),this.h()},h(){this.first=s},m(B,G){Le(B,s,G),~o&&k[o].m(B,G),Le(B,p,G),C=!0},p(B,G){a=B;let D=o;o=E(a),o===D?~o&&k[o].p(a,G):(u&&(Nr(),dt(k[D],1,1,()=>{k[D]=null}),zr()),~o?(u=k[o],u?u.p(a,G):(u=k[o]=b[o](a),u.c()),nt(u,1),u.m(p.parentNode,p)):u=null)},i(B){C||(nt(u),C=!0)},o(B){dt(u),C=!1},d(B){B&&(z(s),z(p)),~o&&k[o].d(B)}}}function C7(c){let a,s;return a=new vw({}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p:WA,i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function I7(c){let a,s;return a=new mw({props:{saveSettings:c[9],saveHandler:c[29]}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&32&&(p.saveHandler=o[29]),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function w7(c){let a,s;return a=new vv({props:{saveSettings:c[9]}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p:WA,i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function k7(c){let a,s;return a=new pv({props:{saveSettings:c[9]}}),a.$on("save",c[28]),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p:WA,i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function v7(c){let a,s;return a=new Yv({props:{saveSettings:c[9]}}),a.$on("save",c[27]),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p:WA,i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function y7(c){let a,s;return a=new n7({props:{saveSettings:c[26]}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&32&&(p.saveSettings=o[26]),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function E7(c){let a,s;return a=new e7({props:{saveSettings:c[25]}}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p(o,u){const p={};u[0]&32&&(p.saveSettings=o[25]),a.$set(p)},i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function B7(c){let a,s;return a=new Lk({props:{saveSettings:c[9]}}),a.$on("save",c[24]),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p:WA,i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function x7(c){let a,s;return a=new Tw({props:{getModels:c[10],saveSettings:c[9]}}),a.$on("save",c[23]),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p:WA,i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function M7(c){let a,s,o,u=c[5].t("Settings")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,Q,V,W,U,H,K,J,g,v,e,d,_,re,S,F;V=new MC({props:{className:"size-3.5"}});const Ie=[o7,i7],he=[];function ce(Pe,de){return Pe[2].length>0?0:1}J=ce(c),g=he[J]=Ie[J](c);const ge=[x7,B7,E7,y7,v7,k7,w7,I7,C7],Ce=[];function Fe(Pe,de){return Pe[3]==="general"?0:Pe[3]==="interface"?1:Pe[3]==="connections"?2:Pe[3]==="tools"?3:Pe[3]==="personalization"?4:Pe[3]==="audio"?5:Pe[3]==="chats"?6:Pe[3]==="account"?7:Pe[3]==="about"?8:-1}return~(d=Fe(c))&&(_=Ce[d]=ge[d](c)),{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=X("button"),b.innerHTML=k,E=Se(),B=X("div"),G=X("div"),D=X("div"),Q=X("div"),Ut(V.$$.fragment),W=Se(),U=X("input"),K=Se(),g.c(),v=Se(),e=X("div"),_&&_.c(),this.h()},l(Pe){a=q(Pe,"DIV",{class:!0});var de=$(a);s=q(de,"DIV",{class:!0});var pe=$(s);o=q(pe,"DIV",{class:!0});var we=$(o);p=Xe(we,u),we.forEach(z),C=Ne(pe),b=q(pe,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(b)!=="svelte-745w2y"&&(b.innerHTML=k),pe.forEach(z),E=Ne(de),B=q(de,"DIV",{class:!0});var Ge=$(B);G=q(Ge,"DIV",{id:!0,class:!0});var me=$(G);D=q(me,"DIV",{class:!0,id:!0});var at=$(D);Q=q(at,"DIV",{class:!0});var Ue=$(Q);Kt(V.$$.fragment,Ue),Ue.forEach(z),W=Ne(at),U=q(at,"INPUT",{class:!0,placeholder:!0}),at.forEach(z),K=Ne(me),g.l(me),me.forEach(z),v=Ne(Ge),e=q(Ge,"DIV",{class:!0});var ot=$(e);_&&_.l(ot),ot.forEach(z),Ge.forEach(z),de.forEach(z),this.h()},h(){O(o,"class","text-lg font-medium self-center"),O(b,"class","self-center"),O(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),O(Q,"class","self-center rounded-l-xl bg-transparent"),O(U,"class","w-full py-1.5 text-sm bg-transparent dark:text-gray-300 outline-hidden svelte-1vx7r9s"),O(U,"placeholder",H=c[5].t("Search")),O(D,"class","hidden md:flex w-full rounded-xl -mb-1 px-0.5 gap-2"),O(D,"id","settings-search"),O(G,"id","settings-tabs-container"),O(G,"class","tabs flex flex-row overflow-x-auto gap-2.5 md:gap-1 md:flex-col flex-1 md:flex-none md:w-40 dark:text-gray-200 text-sm font-medium text-left mb-1 md:mb-0 -translate-y-1 svelte-1vx7r9s"),O(e,"class","flex-1 md:min-
2829h-[32rem] max-h-[32rem]"),O(B,"class","flex flex-col md:flex-row w-full px-4 pt-1 pb-4 md:space-x-4"),O(a,"class","text-gray-700 dark:text-gray-100")},m(Pe,de){Le(Pe,a,de),T(a,s),T(s,o),T(o,p),T(s,C),T(s,b),T(a,E),T(a,B),T(B,G),T(G,D),T(D,Q),Zt(V,Q,null),T(D,W),T(D,U),ar(U,c[1]),T(G,K),he[J].m(G,null),T(B,v),T(B,e),~d&&Ce[d].m(e,null),re=!0,S||(F=[Qt(b,"click",c[11]),Qt(U,"input",c[12]),Qt(U,"input",c[8])],S=!0)},p(Pe,de){(!re||de[0]&32)&&u!==(u=Pe[5].t("Settings")+"")&&tt(p,u),(!re||de[0]&32&&H!==(H=Pe[5].t("Search")))&&O(U,"placeholder",H),de[0]&2&&U.value!==Pe[1]&&ar(U,Pe[1]);let pe=J;J=ce(Pe),J===pe?he[J].p(Pe,de):(Nr(),dt(he[pe],1,1,()=>{he[pe]=null}),zr(),g=he[J],g?g.p(Pe,de):(g=he[J]=Ie[J](Pe),g.c()),nt(g,1),g.m(G,null));let we=d;d=Fe(Pe),d===we?~d&&Ce[d].p(Pe,de):(_&&(Nr(),dt(Ce[we],1,1,()=>{Ce[we]=null}),zr()),~d?(_=Ce[d],_?_.p(Pe,de):(_=Ce[d]=ge[d](Pe),_.c()),nt(_,1),_.m(e,null)):_=null)},i(Pe){re||(nt(V.$$.fragment,Pe),nt(g),nt(_),re=!0)},o(Pe){dt(V.$$.fragment,Pe),dt(g),dt(_),re=!1},d(Pe){Pe&&z(a),Xt(V),he[J].d(),~d&&Ce[d].d(),S=!1,Es(F)}}}function D7(c){let a,s,o;function u(C){c[30](C)}let p={size:"xl",$$slots:{default:[M7]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),a=new kc({props:p}),kr.push(()=>es(a,"show",u)),{c(){Ut(a.$$.fragment)},l(C){Kt(a.$$.fragment,C)},m(C,b){Zt(a,C,b),o=!0},p(C,b){const k={};b[0]&127|b[1]&1024&&(k.$$scope={dirty:b,ctx:C}),!s&&b[0]&1&&(s=!0,k.show=C[0],$r(()=>s=!1)),a.$set(k)},i(C){o||(nt(a.$$.fragment,C),o=!0)},o(C){dt(a.$$.fragment,C),o=!1},d(C){Xt(a,C)}}}function G7(c,a,s){let o,u,p,C;YA(c,Do,Ue=>s(32,o=Ue)),YA(c,rc,Ue=>s(4,u=Ue)),YA(c,Ac,Ue=>s(6,C=Ue));const b=Xs("i18n");YA(c,b,Ue=>s(5,p=Ue));let{show:k=!1}=a;const E=[{id:"general",title:"General",keywords:["general","theme","language","notifications","system","systemprompt","prompt","advanced","settings","defaultsettings","configuration","systemsettings","notificationsettings","systempromptconfig","languageoptions","defaultparameters","systemparameters"]},{id:"interface",title:"Interface",keywords:["defaultmodel","selectmodel","ui","userinterface","display","layout","design","landingpage","landingpagemode","default","chat","chatbubble","chatui","username","showusername","displayusername","widescreen","widescreenmode","fullscreen","expandmode","chatdirection","lefttoright","ltr","righttoleft","rtl","notifications","toast","toastnotifications","largechunks","streamlargechunks","scroll","scrollonbranchchange","scrollbehavior","richtext","richtextinput","background","chatbackground","chatbackgroundimage","backgroundimage","uploadbackground","resetbackground","titleautogen","titleautogeneration","autotitle","chattags","autochattags","responseautocopy","clipboard","location","userlocation","userlocationaccess","haptic","hapticfeedback","vibration","voice","voicecontrol","voiceinterruption","call","emojis","displayemoji","save","interfaceoptions","interfacecustomization","alwaysonwebsearch"]},{id:"connections",title:"Connections",keywords:[]},{id:"tools",title:"Tools",keywords:[]},{id:"personalization",title:"Personalization",keywords:["personalization","memory","personalize","preferences","profile","personalsettings","customsettings","userpreferences","accountpreferences"]},{id:"audio",title:"Audio",keywords:["audio","sound","soundsettings","audiocontrol","volume","speech","speechrecognition","stt","speechtotext","tts","texttospeech","playback","playbackspeed","voiceplayback","speechplayback","audiooutput","speechengine","voicecontrol","audioplayback","transcription","autotranscribe","autosend","speechsettings","audiovoice","voiceoptions","setvoice","nonlocalvoices","savesettings","audioconfig","speechconfig","voicerecognition","speechsynthesis","speechmode","voicespeed","speechrate","speechspeed","audioinput","audiofeatures","voicemodes"]},{id:"chats",title:"Chats",keywords:["chat","messages","conversations","chatsettings","history","chathistory","messagehistory","messagearchive","convo","chats","conversationhistory","exportmessages","chatactivity"]},{id:"account",title:"Account",keywords:["account","profile","security","privacy","settings","login","useraccount","userdata","api","apikey","userprofile","profiledetails","accountsettings","accountpreferences","securitysettings","privacysettings"]},{id:"admin",title:"Admin",keywords:["admin","administrator","adminsettings","adminpanel","systemadmin","administratoraccess","
2829systemcontrol","manage","management","admincontrols","adminfeatures","usercontrol","arenamodel","evaluations","websearch","database","pipelines","images","audio","documents","rag","models","ollama","openai","users"]},{id:"about",title:"About",keywords:["about","info","information","version","documentation","help","support","details","aboutus","softwareinfo","timothyjaeryangbaek","openwebui","release","updates","updateinfo","versioninfo","aboutapp","terms","termsandconditions","contact","aboutpage"]}];let B="",G=E.map(Ue=>Ue.id),D;const Q=Ue=>{const ot=Ue.toLowerCase().trim();return E.filter(pt=>pt.title.toLowerCase().includes(ot)||pt.keywords.some(ct=>ct.includes(ot))).map(pt=>pt.id)},V=()=>{clearTimeout(D),D=setTimeout(()=>{s(2,G=Q(B)),G.length>0&&!G.includes(H)&&s(3,H=G[0])},100)},W=async Ue=>{console.log(Ue),await Do.set({...o,...Ue}),await rm.set(await U()),await lm(localStorage.token,{ui:o})},U=async()=>{var Ue;return await nm(localStorage.token,((Ue=u==null?void 0:u.features)==null?void 0:Ue.enable_direct_connections)&&((o==null?void 0:o.directConnections)??null))};let H="general";const K=Ue=>{const ot=document.getElementById("settings-tabs-container");ot&&(Ue.preventDefault(),ot.scrollLeft+=Ue.deltaY)},J=async()=>{await il();const Ue=document.getElementById("settings-tabs-container");Ue&&Ue.addEventListener("wheel",K)},g=async()=>{await il();const Ue=document.getElementById("settings-tabs-container");Ue&&Ue.removeEventListener("wheel",K)},v=()=>{s(0,k=!1)};function e(){B=this.value,s(1,B)}const d=()=>{s(3,H="general")},_=()=>{s(3,H="interface")},re=()=>{s(3,H="connections")},S=()=>{s(3,H="tools")},F=()=>{s(3,H="personalization")},Ie=()=>{s(3,H="audio")},he=()=>{s(3,H="chats")},ce=()=>{s(3,H="account")},ge=()=>{s(3,H="about")},Ce=async()=>{await cl("/admin/settings"),s(0,k=!1)},Fe=()=>{cr.success(p.t("Settings saved successfully!"))},Pe=()=>{cr.success(p.t("Settings saved successfully!"))},de=async Ue=>{await W(Ue),cr.success(p.t("Settings saved successfully!"))},pe=async Ue=>{await W(Ue),cr.success(p.t("Settings saved successfully!"))},we=()=>{cr.success(p.t("Settings saved successfully!"))},Ge=()=>{cr.success(p.t("Settings saved successfully!"))},me=()=>{cr.success(p.t("Settings saved successfully!"))};function at(Ue){k=Ue,s(0,k)}return c.$$set=Ue=>{"show"in Ue&&s(0,k=Ue.show)},c.$$.update=()=>{c.$$.dirty[0]&1&&(k?J():g())},[k,B,G,H,u,p,C,b,V,W,U,v,e,d,_,re,S,F,Ie,he,ce,ge,Ce,Fe,Pe,de,pe,we,Ge,me,at]}class _7 extends bs{constructor(a){super(),Cs(this,a,G7,D7,ms,{show:0},null,[-1,-1])}}function zp(c,a,s){const o=c.slice();return o[18]=a[s],o}function Op(c){let a,s=Ur({length:c[6]}),o=[];for(let u=0;u<s.length;u+=1)o[u]=Fp(zp(c,s,u));return{c(){a=X("div");for(let u=0;u<o.length;u+=1)o[u].c();this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);for(let C=0;C<o.length;C+=1)o[C].l(p);p.forEach(z),this.h()},h(){O(a,"class","confetti-holder svelte-io58ff"),u2(a,"rounded",c[9]),u2(a,"cone",c[10]),u2(a,"no-gravity",c[11])},m(u,p){Le(u,a,p);for(let C=0;C<o.length;C+=1)o[C]&&o[C].m(a,null)},p(u,p){if(p&20991){s=Ur({length:u[6]});let C;for(C=0;C<s.length;C+=1){const b=zp(u,s,C);o[C]?o[C].p(b,p):(o[C]=Fp(b),o[C].c(),o[C].m(a,null))}for(;C<o.length;C+=1)o[C].d(1);o.length=s.length}p&512&&u2(a,"rounded",u[9]),p&1024&&u2(a,"cone",u[10]),p&2048&&u2(a,"no-gravity",u[11])},d(u){u&&z(a),oi(o,u)}}}function Fp(c){let a;return{c(){a=X("div"),this.h()},l(s){a=q(s,"DIV",{class:!0,style:!0}),$(a).forEach(z),this.h()},h(){O(a,"class","confetti svelte-io58ff"),Ta(a,"--fall-distance",c[8]),Ta(a,"--size",c[0]+"px"),Ta(a,"--color",c[14]()),Ta(a,"--skew",Bo(-45,45)+"deg,"+Bo(-45,45)+"deg"),Ta(a,"--rotation-xyz",Bo(-10,10)+", "+Bo(-10,10)+", "+Bo(-10,10)),Ta(a,"--rotation-deg",Bo(0,360)+"deg"),Ta(a,"--translate-y-multiplier",Bo(c[2][0],c[2][1])),Ta(a,"--translate-x-multiplier",Bo(c[1][0],c[1][1])),Ta(a,"--scale",.1*Bo(2,10)),Ta(a,"--transition-duration",c[4]?`calc(${c[3]}ms * var(--scale))`:`${c[3]}ms`),Ta(a,"--transition-delay",Bo(c[5][0],c[5][1])+"ms"),Ta(a,"--transition-iteration-count",c[4]?"infinite":c[7]),Ta(a,"--x-spread",1-c[12])},m(s,o){Le(s,a,o)},p(s,o){o&256&&Ta(a,"--fall-distance",s[8]),o&1&&Ta(a,"--size",s[0]+"px"),o&4&&Ta(a,"--translate-y-multiplier",Bo(s[2][0],s[2][1])),o&2&&Ta(a,"--translate-x-multiplier",Bo(s[1][0],s[1][1])),o&24&&Ta(a,"--transition-duration",s[4]?`calc(${s[3]}ms * var(--scale))`:`${s[3]}ms`),o&32&&Ta(a,"--transition-delay",Bo(s[5][0],s[5][1])+"ms"),o&144&&Ta(a,"--transition-iteration-count",s[4]?"infinite":s[7]),o&4096&&Ta(a,"--x-spread",1-s[12])},d(s){s&&z(a)}}}function T7(c){let a,s=!c[13]&&Op(c);return{c(){s&&s.c(),a=ps()},l(o){s&&s.l(o),a=ps()},m(o,u){s&&s.m(o,u),Le(o,a,u)},p(o,[u]){o[13]?s&&(s.d(1),s=null):s?s.p(o,u):(s=Op(o),s.c(),s.m(a.parentNode,a))},i:WA,o:WA,d(o){o&&z(a),s&&s.d(o)}}}function Bo(c,a){return Math.random()*(a-c)+c}function Q7(c,a,s){let{size:o=10}=a,{x:u=[-.5,.5]}=a,{y:p=[.25,1]}=a,{duration:C=2e3}=a,{infinite:b=!1}=a,{delay:k=[0,50]}=a,{colorRange:E=[0,360]}=a,{colorArray:B=[]}=a,{amount:G=50}=a,{iterationCount:D=1}=a,{fallDistance:Q="100px"}=a,{rounded:V=!1}=a,{cone:W=!1}=a,{noGravity:U=!1}
2829=a,{xSpread:H=.15}=a,{destroyOnComplete:K=!0}=a,J=!1;li(()=>{!K||b||D=="infinite"||setTimeout(()=>s(13,J=!0),(C+k[1])*D)});function g(){return B.length?B[Math.round(Math.random()*(B.length-1))]:`hsl(${Math.round(Bo(E[0],E[1]))}, 75%, 50%)`}return c.$$set=v=>{"size"in v&&s(0,o=v.size),"x"in v&&s(1,u=v.x),"y"in v&&s(2,p=v.y),"duration"in v&&s(3,C=v.duration),"infinite"in v&&s(4,b=v.infinite),"delay"in v&&s(5,k=v.delay),"colorRange"in v&&s(15,E=v.colorRange),"colorArray"in v&&s(16,B=v.colorArray),"amount"in v&&s(6,G=v.amount),"iterationCount"in v&&s(7,D=v.iterationCount),"fallDistance"in v&&s(8,Q=v.fallDistance),"rounded"in v&&s(9,V=v.rounded),"cone"in v&&s(10,W=v.cone),"noGravity"in v&&s(11,U=v.noGravity),"xSpread"in v&&s(12,H=v.xSpread),"destroyOnComplete"in v&&s(17,K=v.destroyOnComplete)},[o,u,p,C,b,k,G,D,Q,V,W,U,H,J,g,E,B,K]}class P7 extends bs{constructor(a){super(),Cs(this,a,Q7,T7,ms,{size:0,x:1,y:2,duration:3,infinite:4,delay:5,colorRange:15,colorArray:16,amount:6,iterationCount:7,fallDistance:8,rounded:9,cone:10,noGravity:11,xSpread:12,destroyOnComplete:17})}}function Lp(c,a,s){const o=c.slice();return o[10]=a[s],o}function Vp(c,a,s){const o=c.slice();return o[13]=a[s],o}function Hp(c,a,s){const o=c.slice();return o[16]=a[s],o}function Yp(c){let a,s=Ur(Object.keys(c[1])),o=[];for(let u=0;u<s.length;u+=1)o[u]=Wp(Lp(c,s,u));return{c(){for(let u=0;u<o.length;u+=1)o[u].c();a=ps()},l(u){for(let p=0;p<o.length;p+=1)o[p].l(u);a=ps()},m(u,p){for(let C=0;C<o.length;C+=1)o[C]&&o[C].m(u,p);Le(u,a,p)},p(u,p){if(p&2){s=Ur(Object.keys(u[1]));let C;for(C=0;C<s.length;C+=1){const b=Lp(u,s,C);o[C]?o[C].p(b,p):(o[C]=Wp(b),o[C].c(),o[C].m(a.parentNode,a))}for(;C<o.length;C+=1)o[C].d(1);o.length=s.length}},d(u){u&&z(a),oi(o,u)}}}function Rp(c){let a,s,o=c[1][c[10]][c[13]][c[16]].title+"",u,p,C,b=c[1][c[10]][c[13]][c[16]].content+"",k;return{c(){a=X("div"),s=X("div"),u=Ze(o),p=Se(),C=X("div"),k=Ze(b),this.h()},l(E){a=q(E,"DIV",{class:!0});var B=$(a);s=q(B,"DIV",{class:!0});var G=$(s);u=Xe(G,o),G.forEach(z),p=Ne(B),C=q(B,"DIV",{class:!0});var D=$(C);k=Xe(D,b),D.forEach(z),B.forEach(z),this.h()},h(){O(s,"class","font-semibold uppercase"),O(C,"class","mb-2 mt-1"),O(a,"class","text-sm mb-2")},m(E,B){Le(E,a,B),T(a,s),T(s,u),T(a,p),T(a,C),T(C,k)},p(E,B){B&2&&o!==(o=E[1][E[10]][E[13]][E[16]].title+"")&&tt(u,o),B&2&&b!==(b=E[1][E[10]][E[13]][E[16]].content+"")&&tt(k,b)},d(E){E&&z(a)}}}function jp(c){let a,s,o=c[13]+"",u,p,C,b,k=Ur(Object.keys(c[1][c[10]][c[13]])),E=[];for(let B=0;B<k.length;B+=1)E[B]=Rp(Hp(c,k,B));return{c(){a=X("div"),s=X("div"),u=Ze(o),C=Se(),b=X("div");for(let B=0;B<E.length;B+=1)E[B].c();this.h()},l(B){a=q(B,"DIV",{class:!0});var G=$(a);s=q(G,"DIV",{class:!0});var D=$(s);u=Xe(D,o),D.forEach(z),C=Ne(G),b=q(G,"DIV",{class:!0});var Q=$(b);for(let V=0;V<E.length;V+=1)E[V].l(Q);Q.forEach(z),G.forEach(z),this.h()},h(){O(s,"class",p="font-semibold uppercase text-xs "+(c[13]==="added"?"text-white bg-blue-600":c[13]==="fixed"?"text-white bg-green-600":c[13]==="changed"?"text-white bg-yellow-600":c[13]==="removed"?"text-white bg-red-600":"")+" w-fit px-3 rounded-full my-2.5"),O(b,"class","my-2.5 px-1.5"),O(a,"class","")},m(B,G){Le(B,a,G),T(a,s),T(s,u),T(a,C),T(a,b);for(let D=0;D<E.length;D+=1)E[D]&&E[D].m(b,null)},p(B,G){if(G&2&&o!==(o=B[13]+"")&&tt(u,o),G&2&&p!==(p="font-semibold uppercase text-xs "+(B[13]==="added"?"text-white bg-blue-600":B[13]==="fixed"?"text-white bg-green-600":B[13]==="changed"?"text-white bg-yellow-600":B[13]==="removed"?"text-white bg-red-600":"")+" w-fit px-3 rounded-full my-2.5")&&O(s,"class",p),G&2){k=Ur(Object.keys(B[1][B[10]][B[13]]));let D;for(D=0;D<k.length;D+=1){const Q=Hp(B,k,D);E[D]?E[D].p(Q,G):(E[D]=Rp(Q),E[D].c(),E[D].m(b,null))}for(;D<E.length;D+=1)E[D].d(1);E.length=k.length}},d(B){B&&z(a),oi(E,B)}}}function Wp(c){let a,s,o,u=c[10]+"",p,C,b=c[1][c[10]].date+"",k,E,B,G,D,Q=Ur(Object.keys(c[1][c[10]]).filter(Up)),V=[];for(let W=0;W<Q.length;W+=1)V[W]=jp(Vp(c,Q,W));return{c(){a=X("div"),s=X("div"),o=Ze("v"),p=Ze(u),C=Ze(" - "),k=Ze(b),E=Se(),B=X("hr"),G=Se();for(let W=0;W<V.length;W+=1)V[W].c();D=Se(),this.h()},l(W){a=q(W,"DIV",{class:!0});var U=$(a);s=q(U,"DIV",{class:!0});var H=$(s);o=Xe(H,"v"),p=Xe(H,u),C=Xe(H," - "),k=Xe(H,b),H.forEach(z),E=Ne(U),B=q(U,"HR",{class:!0}),G=Ne(U);for(let K=0;K<V.length;K+=1)V[K].l(U);
2829D=Ne(U),U.forEach(z),this.h()},h(){O(s,"class","font-semibold text-xl mb-1 dark:text-white"),O(B,"class","border-gray-100 dark:border-gray-850 my-2"),O(a,"class","mb-3 pr-2")},m(W,U){Le(W,a,U),T(a,s),T(s,o),T(s,p),T(s,C),T(s,k),T(a,E),T(a,B),T(a,G);for(let H=0;H<V.length;H+=1)V[H]&&V[H].m(a,null);T(a,D)},p(W,U){if(U&2&&u!==(u=W[10]+"")&&tt(p,u),U&2&&b!==(b=W[1][W[10]].date+"")&&tt(k,b),U&2){Q=Ur(Object.keys(W[1][W[10]]).filter(Up));let H;for(H=0;H<Q.length;H+=1){const K=Vp(W,Q,H);V[H]?V[H].p(K,U):(V[H]=jp(K),V[H].c(),V[H].m(a,D))}for(;H<V.length;H+=1)V[H].d(1);V.length=Q.length}},d(W){W&&z(a),oi(V,W)}}}function S7(c){let a,s,o,u=c[2].t("What’s New in")+"",p,C,b,k,E,B,G,D='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',Q,V,W,U=c[2].t("Release Notes")+"",H,K,J,g,v,e,d,_,re,S,F,Ie,he,ce,ge,Ce=c[2].t("Okay, Let's Go!")+"",Fe,Pe,de,pe;E=new P7({props:{x:[-1,-.25],y:[0,.5]}});let we=c[1]&&Yp(c);return{c(){a=X("div"),s=X("div"),o=X("div"),p=Ze(u),C=Se(),b=Ze(c[3]),k=Se(),Ut(E.$$.fragment),B=Se(),G=X("button"),G.innerHTML=D,Q=Se(),V=X("div"),W=X("div"),H=Ze(U),K=Se(),J=X("div"),g=Se(),v=X("div"),e=Ze("v"),d=Ze(Y0),_=Se(),re=X("div"),S=X("div"),F=X("div"),we&&we.c(),Ie=Se(),he=X("div"),ce=X("button"),ge=X("span"),Fe=Ze(Ce),this.h()},l(Ge){a=q(Ge,"DIV",{class:!0});var me=$(a);s=q(me,"DIV",{class:!0});var at=$(s);o=q(at,"DIV",{class:!0});var Ue=$(o);p=Xe(Ue,u),C=Ne(Ue),b=Xe(Ue,c[3]),k=Ne(Ue),Kt(E.$$.fragment,Ue),Ue.forEach(z),B=Ne(at),G=q(at,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(G)!=="svelte-14wj4tl"&&(G.innerHTML=D),at.forEach(z),Q=Ne(me),V=q(me,"DIV",{class:!0});var ot=$(V);W=q(ot,"DIV",{class:!0});var pt=$(W);H=Xe(pt,U),pt.forEach(z),K=Ne(ot),J=q(ot,"DIV",{class:!0}),$(J).forEach(z),g=Ne(ot),v=q(ot,"DIV",{class:!0});var ct=$(v);e=Xe(ct,"v"),d=Xe(ct,Y0),ct.forEach(z),ot.forEach(z),me.forEach(z),_=Ne(Ge),re=q(Ge,"DIV",{class:!0});var je=$(re);S=q(je,"DIV",{class:!0});var At=$(S);F=q(At,"DIV",{class:!0});
2829var It=$(F);we&&we.l(It),It.forEach(z),At.forEach(z),Ie=Ne(je),he=q(je,"DIV",{class:!0});var wt=$(he);ce=q(wt,"BUTTON",{class:!0});var ze=$(ce);ge=q(ze,"SPAN",{class:!0});var rt=$(ge);Fe=Xe(rt,Ce),rt.forEach(z),ze.forEach(z),wt.forEach(z),je.forEach(z),this.h()},h(){O(o,"class","text-xl font-semibold"),O(G,"class","self-center"),O(s,"class","flex justify-between items-start"),O(W,"class","text-sm dark:text-gray-200"),O(J,"class","flex self-center w-[1px] h-6 mx-2.5 bg-gray-200 dark:bg-gray-700"),O(v,"class","text-sm dark:text-gray-200"),O(V,"class","flex items-center mt-1"),O(a,"class","px-5 pt-4 dark:text-gray-300 text-gray-700"),O(F,"class","mb-3"),O(S,"class","overflow-y-scroll max-h-96 scrollbar-hidden"),O(ge,"class","relative"),O(ce,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),O(he,"class","flex justify-end pt-3 text-sm font-medium"),O(re,"class","w-full p-4 px-5 text-gray-700 dark:text-gray-100")},m(Ge,me){Le(Ge,a,me),T(a,s),T(s,o),T(o,p),T(o,C),T(o,b),T(o,k),Zt(E,o,null),T(s,B),T(s,G),T(a,Q),T(a,V),T(V,W),T(W,H),T(V,K),T(V,J),T(V,g),T(V,v),T(v,e),T(v,d),Le(Ge,_,me),Le(Ge,re,me),T(re,S),T(S,F),we&&we.m(F,null),T(re,Ie),T(re,he),T(he,ce),T(ce,ge),T(ge,Fe),Pe=!0,de||(pe=[Qt(G,"click",c[7]),Qt(ce,"click",c[8])],de=!0)},p(Ge,me){(!Pe||me&4)&&u!==(u=Ge[2].t("What’s New in")+"")&&tt(p,u),(!Pe||me&8)&&tt(b,Ge[3]),(!Pe||me&4)&&U!==(U=Ge[2].t("Release Notes")+"")&&tt(H,U),Ge[1]?we?we.p(Ge,me):(we=Yp(Ge),we.c(),we.m(F,null)):we&&(we.d(1),we=null),(!Pe||me&4)&&Ce!==(Ce=Ge[2].t("Okay, Let's Go!")+"")&&tt(Fe,Ce)},i(Ge){Pe||(nt(E.$$.fragment,Ge),Pe=!0)},o(Ge){dt(E.$$.fragment,Ge),Pe=!1},d(Ge){Ge&&(z(a),z(_),z(re)),Xt(E),we&&we.d(),de=!1,Es(pe)}}}function N7(c){let a,s,o;function u(C){c[9](C)}let p={size:"lg",$$slots:{default:[S7]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),a=new kc({props:p}),kr.push(()=>es(a,"show",u)),{c(){Ut(a.$$.fragment)},l(C){Kt(a.$$.fragment,C)},m(C,b){Zt(a,C,b),o=!0},p(C,[b]){const k={};b&524351&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],$r(()=>s=!1)),a.$set(k)},i(C){o||(nt(a.$$.fragment,C),o=!0)},o(C){dt(a.$$.fragment,C),o=!1},d(C){Xt(a,C)}}}const Up=c=>c!=="date";function z7(c,a,s){let o,u,p,C;YA(c,tm,Q=>s(3,u=Q)),YA(c,rc,Q=>s(4,p=Q)),YA(c,Do,Q=>s(5,C=Q));const b=Xs("i18n");YA(c,b,Q=>s(2,o=Q));let{show:k=!1}=a,E=null;li(async()=>{const Q=await y8();s(1,E=Q)});const B=()=>{localStorage.version=p.version,s(0,k=!1)},G=async()=>{localStorage.version=p.version,await Do.set({...C,version:p.version}),await lm(localStorage.token,{ui:C}),s(0,k=!1)};function D(Q){k=Q,s(0,k)}return c.$$set=Q=>{"show"in Q&&s(0,k=Q.show)},[k,E,o,u,p,C,b,B,G,D]}class O7 extends bs{constructor(a){super(),Cs(this,a,z7,N7,ms,{show:0})}}function Kp(c){let a,s,o=c[1].t("Admin")+"",u,p,C=c[0].name+"",b,k,E=c[0].email+"",B,G;return{c(){a=X("div"),s=X("div"),u=Ze(o),p=Ze(": "),b=Ze(C),k=Ze(" ("),B=Ze(E),G=Ze(")"),this.h()},l(D){a=q(D,"DIV",{class:!0});var Q=$(a);s=q(Q,"DIV",{});var V=$(s);u=Xe(V,o),p=Xe(V,": "),b=Xe(V,C),k=Xe(V," ("),B=Xe(V,E),G=Xe(V,")"),V.forEach(z),Q.forEach(z),this.h()},h(){O(a,"class","mt-4 text-sm font-medium text-center")},m(D,Q){Le(D,a,Q),T(a,s),T(s,u),T(s,p),T(s,b),T(s,k),T(s,B),T(s,G)},p(D,Q){Q&2&&o!==(o=D[1].t("Admin")+"")&&tt(u,o),Q&1&&C!==(C=D[0].name+"")&&tt(b,C),Q&1&&E!==(E=D[0].email+"")&&tt(B,E)},d(D){D&&z(a)}}}function F7(c){let a,s,o,u,p,C=c[1].t("Account Activation Pending")+"",b,k,E,B=c[1].t("Contact Admin for WebUI Access")+"",G,D,Q,V=c[1].t("Your account status is currently pending activation.")+"",W,U,H,K=c[1].t("To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.")+"",J,g,v,e,d,_=c[1].t("Check Again")+"",re,S,F,Ie=c[1].t("Sign Out")+"",he,ce,ge,Ce=c[0]&&Kp(c);return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("div"),p=X("div"),b=Ze(C),k=X("br"),E=Se(),G=Ze(B),D=Se(),Q=X("div"),W=Ze(V),U=X("br"),H=Se(),J=Ze(K),g=Se(),Ce&&Ce.c(),v=Se(),e=X("div"),d=X("button"),re=Ze(_),S=Se(),F=X("button"),he=Ze(Ie),this.h()},l(Fe){a=q(Fe,"DIV",{class:!0});var Pe=$(a);s=q(Pe,"DIV",{class:!0});var de=$(s);o=q(de,"DIV",{class:!0});var pe=$(o);u=q(pe,"DIV",{class:!0});var we=$(u);p=q(we,"DIV",{class:!0});var Ge=$(p);b=Xe(Ge,C),k=q(Ge,"BR",{}),E=Ne(Ge),G=Xe(Ge,B),Ge.forEach(z),D=Ne(we),Q=q(we,"DIV",{class:!0});var me=$(Q);W=Xe(me,V),U=q(me,"BR",{}),H=Ne(me),J=Xe(me,K),me.forEach(z),g=Ne(we),Ce&&Ce.l(we),v=Ne(we),e=q(we,"DIV",{class:!0});var at=$(e);d=q(at,"BUTTON",{class:!0});var Ue=$(d);re=Xe(Ue,_),Ue.forEach(z),S=Ne(at),F=q(at,"BUTTON",{class:!0});var ot=$(F);he=Xe(ot,Ie),ot.forEach(z),at.forEach(z),we.forEach(z),pe.forEach(z),de.forEach(z),Pe.forEach(z),this.h()},h(){O(p,"class","text-center dark:text-white text-2xl font-medium z-50"),O(Q,"class","mt-4 text-center text-sm dark:text-gray-200 w-full"),O(d,"class","relative z-20 flex px-5 py-2 rounded-full bg-white border border-gray-100 dark:border-none hover:bg-gray-100 text-gray-700 transition font-medium text-sm"),O(F,"class","text-xs text-center w-full mt-2 text-gray-400 underline"),O(e,"class","mt-6 mx-auto relative group w-fit"),O(u,"class","max-w-md"),O(o,"class","m-auto pb-10 flex flex-col justify-center"),O(s,"class","absolute w-full h-full backdrop-blur-lg bg-white/10 dark:bg-gray-900/50 flex justify-center"),O(a,"class","fixed w-full h-full flex z-999")},m(Fe,Pe){Le(Fe,a,Pe),T(a,s),T(s,o),T(o,u),T(u,p),T(p,b),T(p,k),T(p,E),T(p,G),T(u,D),T(u,Q),T(Q,W),T(Q,U),T(Q,H),T(Q,J),T(u,g),Ce&&Ce.m(u,null),T(u,v),T(u,e),T(e,d),T(d,re),T(e,S),T(e,F),T(F,he),ce||(ge=[Qt(d,"click",c[3]),Qt(F,"click",c[4])],ce=!0)},p(Fe,[Pe]){Pe&2&&C!==(C=Fe[1].t("Account Activation Pending")+"")&&tt(b,C),Pe&2&&B!==(B=Fe[1].t("Contact Admin for WebUI Access")+"")&&tt(G,B),Pe&2&&V!==(V=Fe[1].t("Your account status is currently pending activation.")+"")&&tt(W,V),Pe&2&&K!==(K=Fe[1].t("To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.")+"")&&tt(J,K),Fe[0]?Ce?Ce.p(Fe,Pe):(Ce=Kp(Fe),Ce.c(),Ce.m(u,v)):Ce&&(Ce.d(1),Ce=null),Pe&2&&_!==(_=Fe[1].t("Check Again")+"")&&tt(re,_),Pe&2&&Ie!==(Ie=Fe[1].t("Sign Out")+"")&&tt(he,Ie)},i:WA,o:WA,d(Fe){Fe&&z(a),Ce&&Ce.d(),ce=!1,Es(ge)}}}function L7(c,a,s){let o;const u=Xs("i18n");YA(c,u,k=>s(1,o=k));let p=null;return li(async()=>{s(0,p=await IC(localStorage.token).catch(k=>(console.error(k),null)))}),[p,o,u,async()=>{location.href="/"},async()=>{localStorage.removeItem("token"),location.href="/auth"}]}
2829class V7 extends bs{constructor(a){super(),Cs(this,a,L7,F7,ms,{})}}function H7(c){let a,s,o=c[1].t("A new version (v{{LATEST_VERSION}}) is now available.",{LATEST_VERSION:c[0].latest})+"",u,p,C,b=c[1].t("Update for the latest features and improvements.")+"",k,E,B,G,D,Q,V,W;return D=new ad({}),{c(){a=X("div"),s=X("div"),u=Ze(o),p=Se(),C=X("a"),k=Ze(b),E=Se(),B=X("div"),G=X("button"),Ut(D.$$.fragment),this.h()},l(U){a=q(U,"DIV",{class:!0});var H=$(a);s=q(H,"DIV",{class:!0});var K=$(s);u=Xe(K,o),p=Ne(K),C=q(K,"A",{href:!0,target:!0,class:!0});var J=$(C);k=Xe(J,b),J.forEach(z),K.forEach(z),E=Ne(H),B=q(H,"DIV",{class:!0});var g=$(B);G=q(g,"BUTTON",{class:!0});var v=$(G);Kt(D.$$.fragment,v),v.forEach(z),g.forEach(z),H.forEach(z),this.h()},h(){O(C,"href","https://github.com/open-webui/open-webui/releases"),O(C,"target","_blank"),O(C,"class","underline"),O(s,"class","flex-1 font-medium"),O(G,"class","hover:text-blue-900 dark:hover:text-blue-300 transition"),O(B,"class","shrink-0 pr-1"),O(a,"class","flex items-start bg-[#F1F8FE] dark:bg-[#020C1D] border border-[3371D5] dark:border-[#03113B] text-[#3371D5] dark:text-[#6795EC] rounded-lg px-3.5 py-3 text-xs max-w-80 pr-2 w-full shadow-lg")},m(U,H){Le(U,a,H),T(a,s),T(s,u),T(s,p),T(s,C),T(C,k),T(a,E),T(a,B),T(B,G),Zt(D,G,null),Q=!0,V||(W=Qt(G,"click",c[4]),V=!0)},p(U,[H]){(!Q||H&3)&&o!==(o=U[1].t("A new version (v{{LATEST_VERSION}}) is now available.",{LATEST_VERSION:U[0].latest})+"")&&tt(u,o),(!Q||H&2)&&b!==(b=U[1].t("Update for the latest features and improvements.")+"")&&tt(k,b)},i(U){Q||(nt(D.$$.fragment,U),Q=!0)},o(U){dt(D.$$.fragment,U),Q=!1},d(U){U&&z(a),Xt(D),V=!1,W()}}}function Y7(c,a,s){let o;const u=ii(),p=Xs("i18n");YA(c,p,k=>s(1,o=k));let{version:C={current:Y0,latest:Y0}}=a;const b=()=>{u("close")};return c.$$set=k=>{"version"in k&&s(0,C=k.version)},[C,o,u,p,b]}class R7 extends bs{constructor(a){super(),Cs(this,a,Y7,H7,ms,{version:0})}}function Zp(c){let a,s,o,u;return s=new R7({props:{version:c[3]}}),s.$on("close",c[15]),{c(){a=X("div"),Ut(s.$$.fragment),this.h()},l(p){a=q(p,"DIV",{class:!0});var C=$(a);Kt(s.$$.fragment,C),C.forEach(z),this.h()},h(){O(a,"class","absolute bottom-8 right-8 z-50")},m(p,C){Le(p,a,C),Zt(s,a,null),u=!0},p(p,C){const b={};C&8&&(b.version=p[3]),s.$set(b)},i(p){u||(nt(s.$$.fragment,p),p&&(o||ll(()=>{o=qp(a,$p,{duration:100}),o.start()})),u=!0)},o(p){dt(s.$$.fragment,p),u=!1},d(p){p&&z(a),Xt(s)}}}function j7(c){let a,s,o,u,p,C="Important Update<br/> Action Required for Chat Log Storage",b,k,E=c[7].t("Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through")+"",B,G,D,Q=c[7].t("Settings")+"",V,W,U=c[7].t("Chats")+"",H,K,J=c[7].t("Import Chats")+"",g,v,e=c[7].t("This ensures that your valuable conversations are securely saved to your backend database. Thank you!")+"",d,_,re,S,F="Download & Delete",Ie,he,ce=c[7].t("Close")+"",ge,Ce,Fe;return{c(){a=X("div"),s=X("div"),o=X("div"),u=X("div"),p=X("div"),p.innerHTML=C,b=Se(),k=X("div"),B=Ze(E),G=Se(),D=X("span"),V=Ze(Q),W=Ze(" > "),H=Ze(U),K=Ze(" > "),g=Ze(J),v=Ze(". "),d=Ze(e),_=Se(),re=X("div"),S=X("button"),S.textContent=F,Ie=Se(),he=X("button"),ge=Ze(ce),this.h()},l(Pe){a=q(Pe,"DIV",{class:!0});var de=$(a);s=q(de,"DIV",{class:!0});var pe=$(s);o=q(pe,"DIV",{class:!0});var we=$(o);u=q(we,"DIV",{class:!0});var Ge=$(u);p=q(Ge,"DIV",{class:!0,"data-svelte-h":!0}),ur(p)!=="svelte-7mhb6e"&&(p.innerHTML=C),b=Ne(Ge),k=q(Ge,"DIV",{class:!0});var me=$(k);B=Xe(me,E),G=Ne(me),D=q(me,"SPAN",{class:!0});var at=$(D);V=Xe(at,Q),W=Xe(at," > "),H=Xe(at,U),K=Xe(at," > "),g=Xe(at,J),at.forEach(z),v=Xe(me,". "),d=Xe(me,e),me.forEach(z),_=Ne(Ge),re=q(Ge,"DIV",{class:!0});var Ue=$(re);S=q(Ue,"BUTTON",{class:!0,"data-svelte-h":!0}),ur(S)!=="svelte-1rvuhik"&&(S.textContent=F),Ie=Ne(Ue),he=q(Ue,"BUTTON",{class:!0});var ot=$(he);ge=Xe(ot,ce),ot.forEach(z),Ue.forEach(z),Ge.forEach(z),we.forEach(z),pe.forEach(z),de.forEach(z),this.h()},h(){O(p,"class","text-center dark:text-white text-2xl font-medium z-50"),O(D,"class","font-semibold dark:text-white"),O(k,"class","mt-4 text-center text-sm dark:text-gray-200 w-full"),O(S,"class","relative z-20 flex px-5 py-2 rounded-full bg-white border border-gray-100 dark:border-none hover:bg-gray-100 transition font-medium text-sm"),O(he,"class","text-xs text-center w-full mt-2 text-gray-400 underline"),O(re,"class","mt-6 mx-auto relative group w-fit"),O(u,"class","max-w-md"),O(o,"class","m-auto pb-44 flex flex-col justify-center"),O(s,"class","absolute w-full h-full backdrop-blur-md bg-white/20 dark:bg-gray-900/50 flex justify-center"),O(a,"class","fixed w-full h-full flex z-50")},m(Pe,de){Le(Pe,a,de),T(a,s),T(s,o),T(o,u),T(u,p),T(u,b),T(u,k),T(k,B),T(k,G),T(k,D),T(D,V),T(D,W),T(D,H),T(D,K),T(D,g),T(k,v),T(k,d),T(u,_),T(u,re),T(re,S),T(re,Ie),T(re,he),T(he,ge),Ce||(Fe=[Qt(S,"click",c[16]),Qt(he,"click",c[17])],Ce=!0)}
2829,p(Pe,de){de&128&&E!==(E=Pe[7].t("Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through")+"")&&tt(B,E),de&128&&Q!==(Q=Pe[7].t("Settings")+"")&&tt(V,Q),de&128&&U!==(U=Pe[7].t("Chats")+"")&&tt(H,U),de&128&&J!==(J=Pe[7].t("Import Chats")+"")&&tt(g,J),de&128&&e!==(e=Pe[7].t("This ensures that your valuable conversations are securely saved to your backend database. Thank you!")+"")&&tt(d,e),de&128&&ce!==(ce=Pe[7].t("Close")+"")&&tt(ge,ce)},i:WA,o:WA,d(Pe){Pe&&z(a),Ce=!1,Es(Fe)}}}function W7(c){let a,s;return a=new V7({}),{c(){Ut(a.$$.fragment)},l(o){Kt(a.$$.fragment,o)},m(o,u){Zt(a,o,u),s=!0},p:WA,i(o){s||(nt(a.$$.fragment,o),s=!0)},o(o){dt(a.$$.fragment,o),s=!1},d(o){Xt(a,o)}}}function U7(c){let a,s,o;return s=new D2({}),{c(){a=X("div"),Ut(s.$$.fragment),this.h()},l(u){a=q(u,"DIV",{class:!0});var p=$(a);Kt(s.$$.fragment,p),p.forEach(z),this.h()},h(){O(a,"class","w-full flex-1 h-full flex items-center justify-center")},m(u,p){Le(u,a,p),Zt(s,a,null),o=!0},p:WA,i(u){o||(nt(s.$$.fragment,u),o=!0)},o(u){dt(s.$$.fragment,u),o=!1},d(u){u&&z(a),Xt(s)}}}function K7(c){let a;const s=c[12].default,o=k2(s,c,c[11],null);return{c(){o&&o.c()},l(u){o&&o.l(u)},m(u,p){o&&o.m(u,p),a=!0},p(u,p){o&&o.p&&(!a||p&2048)&&v2(o,s,u,u[11],a?E2(s,u[11],p,null):y2(u[11]),null)},i(u){a||(nt(o,u),a=!0)},o(u){dt(o,u),a=!1},d(u){o&&o.d(u)}}}function Z7(c){var ge;let a,s,o,u,p,C,b=c[3]&&Uf(c[3].latest,c[3].current)&&(((ge=c[5])==null?void 0:ge.showUpdateToast)??!0),k,E,B,G,D,Q,V,W,U,H,K,J;function g(Ce){c[13](Ce)}let v={};c[6]!==void 0&&(v.show=c[6]),a=new _7({props:v}),kr.push(()=>es(a,"show",g));function e(Ce){c[14](Ce)}let d={};c[8]!==void 0&&(d.show=c[8]),u=new O7({props:d}),kr.push(()=>es(u,"show",e));let _=b&&Zp(c);const re=[W7,j7],S=[];function F(Ce,Fe){var Pe;return Fe&16&&(G=null),G==null&&(G=!["user","admin"].includes((Pe=Ce[4])==null?void 0:Pe.role)),G?0:Ce[2].length>0?1:-1}~(D=F(c,-1))&&(Q=S[D]=re[D](c)),W=new sw({});const Ie=[K7,U7],he=[];function ce(Ce,Fe){return Ce[0]?0:1}return H=ce(c),K=he[H]=Ie[H](c),{c(){Ut(a.$$.fragment),o=Se(),Ut(u.$$.fragment),C=Se(),_&&_.c(),k=Se(),E=X("div"),B=X("div"),Q&&Q.c(),V=Se(),Ut(W.$$.fragment),U=Se(),K.c(),this.h()},l(Ce){Kt(a.$$.fragment,Ce),o=Ne(Ce),Kt(u.$$.fragment,Ce),C=Ne(Ce),_&&_.l(Ce),k=Ne(Ce),E=q(Ce,"DIV",{class:!0});var Fe=$(E);B=q(Fe,"DIV",{class:!0});var Pe=$(B);Q&&Q.l(Pe),V=Ne(Pe),Kt(W.$$.fragment,Pe),U=Ne(Pe),K.l(Pe),Pe.forEach(z),Fe.forEach(z),this.h()},h(){O(B,"class","text-gray-700 dark:text-gray-100 bg-white dark:bg-gray-900 h-screen max-h-[100dvh] overflow-auto flex flex-row justify-end"),O(E,"class","app relative")},m(Ce,Fe){Zt(a,Ce,Fe),Le(Ce,o,Fe),Zt(u,Ce,Fe),Le(Ce,C,Fe),_&&_.m(Ce,Fe),Le(Ce,k,Fe),Le(Ce,E,Fe),T(E,B),~D&&S[D].m(B,null),T(B,V),Zt(W,B,null),T(B,U),he[H].m(B,null),J=!0},p(Ce,[Fe]){var Ge;const Pe={};!s&&Fe&64&&(s=!0,Pe.show=Ce[6],$r(()=>s=!1)),a.$set(Pe);const de={};!p&&Fe&256&&(p=!0,de.show=Ce[8],$r(()=>p=!1)),u.$set(de),Fe&40&&(b=Ce[3]&&Uf(Ce[3].latest,Ce[3].current)&&(((Ge=Ce[5])==null?void 0:Ge.showUpdateToast)??!0)),b?_?(_.p(Ce,Fe),Fe&40&&nt(_,1)):(_=Zp(Ce),_.c(),nt(_,1),_.m(k.parentNode,k)):_&&(Nr(),dt(_,1,1,()=>{_=null}),zr());let pe=D;D=F(Ce,Fe),D===pe?~D&&S[D].p(Ce,Fe):(Q&&(Nr(),dt(S[pe],1,1,()=>{S[pe]=null}),zr()),~D?(Q=S[D],Q?Q.p(Ce,Fe):(Q=S[D]=re[D](Ce),Q.c()),nt(Q,1),Q.m(B,V)):Q=null);let we=H;H=ce(Ce),H===we?he[H].p(Ce,Fe):(Nr(),dt(he[we],1,1,()=>{he[we]=null}),zr(),K=he[H],K?K.p(Ce,Fe):(K=he[H]=Ie[H](Ce),K.c()),nt(K,1),K.m(B,null))},i(Ce){J||(nt(a.$$.fragment,Ce),nt(u.$$.fragment,Ce),nt(_),nt(Q),nt(W.$$.fragment,Ce),nt(K),J=!0)},o(Ce){dt(a.$$.fragment,Ce),dt(u.$$.fragment,Ce),dt(_),dt(Q),dt(W.$$.fragment,Ce),dt(K),J=!1},d(Ce){Ce&&(z(o),z(C),z(k),z(E)),Xt(a,Ce),Xt(u,Ce),_&&_.d(Ce),~D&&S[D].d(),Xt(W),he[H].d()}}}function X7(c,a,s){let o,u,p,C,b,k,E,B;YA(c,Ac,re=>s(4,o=re)),YA(c,td,re=>s(18,u=re)),YA(c,rc,re=>s(19,p=re)),YA(c,Do,re=>s(5,C=re)),YA(c,Uu,re=>s(20,b=re)),YA(c,Qf,re=>s(6,k=re)),YA(c,H1,re=>s(8,B=re));let{$$slots:G={},$$scope:D}=a;const{saveAs:Q}=$u,V=Xs("i18n");YA(c,V,re=>s(7,E=re));let W=!1,U=null,H=[],K;li(async()=>{var re,S,F,Ie,he;if(o==null)await cl("/auth");else if(["user","admin"].includes(o==null?void 0:o.role)){try{if(s(1,U=await zC("Chats",1)),U){const ge=await U.getAllFromIndex("chats","timestamp");s(2,H=ge.map((Ce,Fe)=>ge[ge.length-1-Fe])),H.length===0&&await qg("Chats")}console.log(U)}catch{}const ce=await N8(localStorage.token).catch(ge=>(console.error(ge),null));if(ce)Do.set(ce.ui);else{let ge={};try{ge=JSON.parse(localStorage.getItem("settings")??"{}")}catch(Ce){console.error("Failed to parse settings from localStorage",Ce)}Do.set(ge)}if(rm.set(await nm(localStorage.token,((re=p==null?void 0:p.features)==null?void 0:re.enable_direct_connections)&&((C==null?void 0:C.directConnections)??null))),k8.set(await P8(localStorage.token)),v8.set(await _8(localStorage.token)),Am.set(await am(E,(C==null?void 0:C.tool
2829Servers)??[])),document.addEventListener("keydown",async function(ge){var Pe,de,pe,we,Ge;const Ce=ge.ctrlKey||ge.metaKey,Fe=ge.shiftKey;if(Ce&&Fe&&ge.key.toLowerCase()==="o"&&(ge.preventDefault(),console.log("newChat"),(Pe=document.getElementById("sidebar-new-chat-button"))==null||Pe.click()),Fe&&ge.key==="Escape"&&(ge.preventDefault(),console.log("focusInput"),(de=document.getElementById("chat-input"))==null||de.focus()),Ce&&Fe&&ge.key===";"){ge.preventDefault(),console.log("copyLastCodeBlock");const me=[...document.getElementsByClassName("copy-code-button")].at(-1);me==null||me.click()}if(Ce&&Fe&&ge.key.toLowerCase()==="c"){ge.preventDefault(),console.log("copyLastResponse");const me=[...document.getElementsByClassName("copy-response-button")].at(-1);console.log(me),me==null||me.click()}if(Ce&&Fe&&ge.key.toLowerCase()==="s"&&(ge.preventDefault(),console.log("toggleSidebar"),(pe=document.getElementById("sidebar-toggle-button"))==null||pe.click()),Ce&&Fe&&(ge.key==="Backspace"||ge.key==="Delete")&&(ge.preventDefault(),console.log("deleteChat"),(we=document.getElementById("delete-chat-button"))==null||we.click()),Ce&&ge.key==="."&&(ge.preventDefault(),console.log("openSettings"),Qf.set(!k)),Ce&&ge.key==="/"&&(ge.preventDefault(),console.log("showShortcuts"),(Ge=document.getElementById("show-shortcuts-button"))==null||Ge.click()),Ce&&Fe&&(ge.key.toLowerCase()==="'"||ge.key.toLowerCase()==='"')){ge.preventDefault(),console.log("temporaryChat"),Uu.set(!b),await cl("/");const me=document.getElementById("new-chat-button");setTimeout(()=>{me==null||me.click()},0)}}),(o==null?void 0:o.role)==="admin"&&((C==null?void 0:C.showChangelog)??!0)&&H1.set((C==null?void 0:C.version)!==p.version),(((F=(S=o==null?void 0:o.permissions)==null?void 0:S.chat)==null?void 0:F.temporary)??!0)&&(u.url.searchParams.get("temporary-chat")==="true"&&Uu.set(!0),(he=(Ie=o==null?void 0:o.permissions)==null?void 0:Ie.chat)!=null&&he.temporary_enforced&&Uu.set(!0)),(o==null?void 0:o.role)==="admin")if(localStorage.dismissedUpdateToast){const ge=new Date(Number(localStorage.dismissedUpdateToast));new Date-ge>24*60*60*1e3&&J()}else J();await il()}s(0,W=!0)});const J=async()=>{s(3,K=await sm(localStorage.token).catch(re=>({current:Y0,latest:Y0})))};function g(re){k=re,Qf.set(k)}function v(re){B=re,H1.set(B)}const e=()=>{localStorage.setItem("dismissedUpdateToast",Date.now().toString()),s(3,K=null)},d=async()=>{let re=new Blob([JSON.stringify(H)],{type:"application/json"});Q(re,`chat-export-${Date.now()}.json`);const S=U.transaction("chats","readwrite");await Promise.all([S.store.clear(),S.done]),await qg("Chats"),s(2,H=[])},_=async()=>{s(2,H=[])};return c.$$set=re=>{"$$scope"in re&&s(11,D=re.$$scope)},[W,U,H,K,o,C,k,E,B,Q,V,D,G,g,v,e,d,_]}class $9 extends bs{constructor(a){super(),Cs(this,a,X7,Z7,ms,{})}}export{$9 as component};
2830//# sourceMappingURL=2.z9GZx2sF.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.