@sourcegraph/amp 0.0.1765569693-ga99d1a → 0.0.1765584106-g41cf5e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/main.js +10 -10
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -4244,11 +4244,11 @@ Actual: ${X}`)}async function ZZ8(J,Q,Z){let{execSync:Y}=await import("node:ch
4244
4244
  ${D}`;if(X==="pnpm"&&D.includes("Unable to find the global bin directory"))M+=`
4245
4245
 
4246
4246
  Hint: Try running "pnpm setup" to configure pnpm global directory, or use npm instead:
4247
- npm install -g @sourcegraph/amp`;K(Error(M))}},error:(U)=>{if(!H)H=!0,K(Error(`Failed to spawn ${X}: ${U.message}`))},complete:()=>{if(!H)H=!0,V()}})})}B0();B0();async function $41(J,Q){let Y=Q||"https://registry.npmjs.org";try{let X=new AbortController,G=setTimeout(()=>X.abort(),5000),V=await fetch(`${Y}/@sourcegraph/amp`,{signal:X.signal});if(clearTimeout(G),!V.ok)return{hasUpdate:!1,currentVersion:J,source:"npm"};let K=await V.json(),q=K["dist-tags"]?.latest;if(!q)return{hasUpdate:!1,currentVersion:J,source:"npm"};let W=VZ8(J,q),H=W<0,z,U;if(K.time){let D=K.time[J],M=K.time[q],L=Date.now();if(D)z=Math.floor((L-new Date(D).getTime())/3600000);if(M)U=Math.floor((L-new Date(M).getTime())/3600000)}return x.info("NPM version comparison",{currentVersion:J,latestVersion:q,compareResult:W,hasUpdate:H,currentVersionAge:z,latestVersionAge:U}),{hasUpdate:H,latestVersion:q,currentVersion:J,currentVersionAge:z,latestVersionAge:U,source:"npm"}}catch(X){return x.debug("Error checking npm version",{error:X}),{hasUpdate:!1,currentVersion:J,source:"npm"}}}function VZ8(J,Q){let Z=(V)=>{let[K,q]=V.split("-");return{parts:K?.split(".").map(Number)||[],label:q}},Y=Z(J),X=Z(Q),G=Math.max(Y.parts.length,X.parts.length);for(let V=0;V<G;V++){let K=Y.parts[V]||0,q=X.parts[V]||0;if(K<q)return-1;if(K>q)return 1}if(Y.label===X.label)return 0;if(!Y.label&&X.label)return 1;if(Y.label&&!X.label)return-1;if(Y.label&&X.label)return Y.label<X.label?-1:1;return 0}d0();function G41(J,Q){let Z=new p4,Y=Z.pipe(T8({shouldCountRefs:!1}));return setImmediate(async()=>{let X=new NK().scoped("update"),G=Y.subscribe({next:(V)=>{X.debug("emit new state",V)}});try{let V=process.env.AMP_TEST_UPDATE_STATUS;if(V){X.debug("using fake update status for testing",{status:V}),await MB(500),Z.next(V);return}if(process.env.AMP_SKIP_UPDATE_CHECK==="1"){X.debug("checking disabled via AMP_SKIP_UPDATE_CHECK environment variable");return}let K=await Q.get("updates.mode");if(K==="disabled"){X.debug("checking disabled");return}X.debug("checking",{currentVersion:J,mode:K});let q=pA(),W=await $41(J,q);if(!(W.latestVersion&&W.hasUpdate)){X.debug("no update available");return}let H=()=>{if(W.currentVersionAge!==void 0&&W.latestVersionAge!==void 0){let U=W.currentVersionAge-W.latestVersionAge,D=0.5;if(Math.abs(U)<0.5)return X.debug("versions too close together, suppressing update warning",{currentVersionAge:W.currentVersionAge,latestVersionAge:W.latestVersionAge,ageDifferenceHours:U}),!0}return!1},z=await X41();if(!K)K=z==="pnpm"?"warn":"auto",X.debug("no configured update mode; selected default based on package manager",{packageManager:z,mode:K});if(K==="warn"){if(!H())Z.next("update-available");return}if(!z){if(X.debug("auto-update not supported, falling back to warn mode"),!H())Z.next("update-available");return}if(z==="binary"&&process.platform==="win32"){if(X.debug("binary auto-update not supported on Windows, falling back to warn mode"),!H())Z.next("update-available");return}try{await lm(W.latestVersion,z);let U=await xB(W.latestVersion),D={from:W.currentVersion,to:W.latestVersion,...U};if(U.status==="same")X.info("success",D),Z.next("updated");else X.warn("success with warning",D),Z.next("updated-with-warning")}catch(U){Z.next("update-error")}}catch(V){X.debug("check failed",{error:V})}finally{await MB(5000),Z.next("hidden"),G.unsubscribe(),Z.complete()}}),{state:Y}}import{stderr as Tq}from"node:process";function W46(J){let Q=new RA().name("install").description("Install required tools like ripgrep to $AMP_HOME/bin").option("--force","Force reinstallation even if already installed").option("--verbose","Show installation progress and results").action(async(Y)=>{await iC1(Y.force||!1,Y.verbose||!1,"0.0.1765569693-ga99d1a"),process.exit()});J.addCommand(Q,{hidden:!0});let Z=new RA("update").summary("Update Amp CLI").description("Update Amp CLI to the latest version. You can specify a particular version to install, or leave blank to get the latest stable release.").option("--target-version <version>","Update to a specific version").allowUnknownOption(!1).action(async(Y)=>{await KZ8(Y.targetVersion)});J.addCommand(Z)}async function KZ8(J){if(process.env.AMP_SKIP_UPDATE_CHECK==="1")Tq.write(T6.yellow(`Note: AMP_SKIP_UPDATE_CHECK=1 is set, which disables automatic update checking. Manual updates will still work.
4247
+ npm install -g @sourcegraph/amp`;K(Error(M))}},error:(U)=>{if(!H)H=!0,K(Error(`Failed to spawn ${X}: ${U.message}`))},complete:()=>{if(!H)H=!0,V()}})})}B0();B0();async function $41(J,Q){let Y=Q||"https://registry.npmjs.org";try{let X=new AbortController,G=setTimeout(()=>X.abort(),5000),V=await fetch(`${Y}/@sourcegraph/amp`,{signal:X.signal});if(clearTimeout(G),!V.ok)return{hasUpdate:!1,currentVersion:J,source:"npm"};let K=await V.json(),q=K["dist-tags"]?.latest;if(!q)return{hasUpdate:!1,currentVersion:J,source:"npm"};let W=VZ8(J,q),H=W<0,z,U;if(K.time){let D=K.time[J],M=K.time[q],L=Date.now();if(D)z=Math.floor((L-new Date(D).getTime())/3600000);if(M)U=Math.floor((L-new Date(M).getTime())/3600000)}return x.info("NPM version comparison",{currentVersion:J,latestVersion:q,compareResult:W,hasUpdate:H,currentVersionAge:z,latestVersionAge:U}),{hasUpdate:H,latestVersion:q,currentVersion:J,currentVersionAge:z,latestVersionAge:U,source:"npm"}}catch(X){return x.debug("Error checking npm version",{error:X}),{hasUpdate:!1,currentVersion:J,source:"npm"}}}function VZ8(J,Q){let Z=(V)=>{let[K,q]=V.split("-");return{parts:K?.split(".").map(Number)||[],label:q}},Y=Z(J),X=Z(Q),G=Math.max(Y.parts.length,X.parts.length);for(let V=0;V<G;V++){let K=Y.parts[V]||0,q=X.parts[V]||0;if(K<q)return-1;if(K>q)return 1}if(Y.label===X.label)return 0;if(!Y.label&&X.label)return 1;if(Y.label&&!X.label)return-1;if(Y.label&&X.label)return Y.label<X.label?-1:1;return 0}d0();function G41(J,Q){let Z=new p4,Y=Z.pipe(T8({shouldCountRefs:!1}));return setImmediate(async()=>{let X=new NK().scoped("update"),G=Y.subscribe({next:(V)=>{X.debug("emit new state",V)}});try{let V=process.env.AMP_TEST_UPDATE_STATUS;if(V){X.debug("using fake update status for testing",{status:V}),await MB(500),Z.next(V);return}if(process.env.AMP_SKIP_UPDATE_CHECK==="1"){X.debug("checking disabled via AMP_SKIP_UPDATE_CHECK environment variable");return}let K=await Q.get("updates.mode");if(K==="disabled"){X.debug("checking disabled");return}X.debug("checking",{currentVersion:J,mode:K});let q=pA(),W=await $41(J,q);if(!(W.latestVersion&&W.hasUpdate)){X.debug("no update available");return}let H=()=>{if(W.currentVersionAge!==void 0&&W.latestVersionAge!==void 0){let U=W.currentVersionAge-W.latestVersionAge,D=0.5;if(Math.abs(U)<0.5)return X.debug("versions too close together, suppressing update warning",{currentVersionAge:W.currentVersionAge,latestVersionAge:W.latestVersionAge,ageDifferenceHours:U}),!0}return!1},z=await X41();if(!K)K=z==="pnpm"?"warn":"auto",X.debug("no configured update mode; selected default based on package manager",{packageManager:z,mode:K});if(K==="warn"){if(!H())Z.next("update-available");return}if(!z){if(X.debug("auto-update not supported, falling back to warn mode"),!H())Z.next("update-available");return}if(z==="binary"&&process.platform==="win32"){if(X.debug("binary auto-update not supported on Windows, falling back to warn mode"),!H())Z.next("update-available");return}try{await lm(W.latestVersion,z);let U=await xB(W.latestVersion),D={from:W.currentVersion,to:W.latestVersion,...U};if(U.status==="same")X.info("success",D),Z.next("updated");else X.warn("success with warning",D),Z.next("updated-with-warning")}catch(U){Z.next("update-error")}}catch(V){X.debug("check failed",{error:V})}finally{await MB(5000),Z.next("hidden"),G.unsubscribe(),Z.complete()}}),{state:Y}}import{stderr as Tq}from"node:process";function W46(J){let Q=new RA().name("install").description("Install required tools like ripgrep to $AMP_HOME/bin").option("--force","Force reinstallation even if already installed").option("--verbose","Show installation progress and results").action(async(Y)=>{await iC1(Y.force||!1,Y.verbose||!1,"0.0.1765584106-g41cf5e"),process.exit()});J.addCommand(Q,{hidden:!0});let Z=new RA("update").summary("Update Amp CLI").description("Update Amp CLI to the latest version. You can specify a particular version to install, or leave blank to get the latest stable release.").option("--target-version <version>","Update to a specific version").allowUnknownOption(!1).action(async(Y)=>{await KZ8(Y.targetVersion)});J.addCommand(Z)}async function KZ8(J){if(process.env.AMP_SKIP_UPDATE_CHECK==="1")Tq.write(T6.yellow(`Note: AMP_SKIP_UPDATE_CHECK=1 is set, which disables automatic update checking. Manual updates will still work.
4248
4248
 
4249
4249
  `));try{if(!J){Tq.write(T6.blue(`Checking for updates...
4250
- `));let Z=pA(),{hasUpdate:Y,latestVersion:X}=await $41("0.0.1765569693-ga99d1a",Z);if(!Y){Tq.write(T6.green(`✓ Amp CLI is already up to date: ${"0.0.1765569693-ga99d1a"} (${"released"} ${"2025-12-12T20:06:45.871Z"}${`, ${rI(new Date("2025-12-12T20:06:45.871Z"))} ago`})
4251
- `));let V=await xB("0.0.1765569693-ga99d1a");if(V.warning)Tq.write(`
4250
+ `));let Z=pA(),{hasUpdate:Y,latestVersion:X}=await $41("0.0.1765584106-g41cf5e",Z);if(!Y){Tq.write(T6.green(`✓ Amp CLI is already up to date: ${"0.0.1765584106-g41cf5e"} (${"released"} ${"2025-12-13T00:07:02.210Z"}${`, ${rI(new Date("2025-12-13T00:07:02.210Z"))} ago`})
4251
+ `));let V=await xB("0.0.1765584106-g41cf5e");if(V.warning)Tq.write(`
4252
4252
  `+T6.yellow(V.warning)+`
4253
4253
  `);process.exit(0)}if(!X)Tq.write(T6.yellow("[WARN] could not find latest version")),process.exit(0);J=X}Tq.write(T6.blue(`Updating to version ${J}...
4254
4254
  `)),await lm(J,void 0,(Z)=>{Tq.write(T6.dim(`Running: ${Z}
@@ -4744,7 +4744,7 @@ See https://ampcode.com/manual#toolboxes`);return Q[0]||zE}function p86(J,Q){let
4744
4744
  * https://github.com/MikeMcl/decimal.js
4745
4745
  * Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
4746
4746
  * MIT Licence
4747
- */var YC=9000000000000000,uB=1e9,jj1="0123456789abcdef",y41="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",x41="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Sj1={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-YC,maxE:YC,crypto:!1},a86,Qz,K8=!0,f41="[DecimalError] ",gB=f41+"Invalid argument: ",o86=f41+"Precision limit exceeded",r86=f41+"crypto unavailable",s86="[object Decimal]",KQ=Math.floor,$2=Math.pow,tX8=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,eX8=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,J$8=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,t86=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,OV=1e7,a4=7,Q$8=9007199254740991,Z$8=y41.length-1,_j1=x41.length-1,$6={toStringTag:s86};$6.absoluteValue=$6.abs=function(){var J=new this.constructor(this);if(J.s<0)J.s=1;return k4(J)};$6.ceil=function(){return k4(new this.constructor(this),this.e+1,2)};$6.clampedTo=$6.clamp=function(J,Q){var Z,Y=this,X=Y.constructor;if(J=new X(J),Q=new X(Q),!J.s||!Q.s)return new X(NaN);if(J.gt(Q))throw Error(gB+Q);return Z=Y.cmp(J),Z<0?J:Y.cmp(Q)>0?Q:new X(Y)};$6.comparedTo=$6.cmp=function(J){var Q,Z,Y,X,G=this,V=G.d,K=(J=new G.constructor(J)).d,q=G.s,W=J.s;if(!V||!K)return!q||!W?NaN:q!==W?q:V===K?0:!V^q<0?1:-1;if(!V[0]||!K[0])return V[0]?q:K[0]?-W:0;if(q!==W)return q;if(G.e!==J.e)return G.e>J.e^q<0?1:-1;Y=V.length,X=K.length;for(Q=0,Z=Y<X?Y:X;Q<Z;++Q)if(V[Q]!==K[Q])return V[Q]>K[Q]^q<0?1:-1;return Y===X?0:Y>X^q<0?1:-1};$6.cosine=$6.cos=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.d)return new Y(NaN);if(!Z.d[0])return new Y(1);return J=Y.precision,Q=Y.rounding,Y.precision=J+Math.max(Z.e,Z.sd())+a4,Y.rounding=1,Z=Y$8(Y,Y96(Y,Z)),Y.precision=J,Y.rounding=Q,k4(Qz==2||Qz==3?Z.neg():Z,J,Q,!0)};$6.cubeRoot=$6.cbrt=function(){var J,Q,Z,Y,X,G,V,K,q,W,H=this,z=H.constructor;if(!H.isFinite()||H.isZero())return new z(H);if(K8=!1,G=H.s*$2(H.s*H,0.3333333333333333),!G||Math.abs(G)==1/0){if(Z=FJ(H.d),J=H.e,G=(J-Z.length+1)%3)Z+=G==1||G==-2?"0":"00";if(G=$2(Z,0.3333333333333333),J=KQ((J+1)/3)-(J%3==(J<0?-1:2)),G==1/0)Z="5e"+J;else Z=G.toExponential(),Z=Z.slice(0,Z.indexOf("e")+1)+J;Y=new z(Z),Y.s=H.s}else Y=new z(G.toString());V=(J=z.precision)+3;for(;;)if(K=Y,q=K.times(K).times(K),W=q.plus(H),Y=v5(W.plus(H).times(K),W.plus(q),V+2,1),FJ(K.d).slice(0,V)===(Z=FJ(Y.d)).slice(0,V))if(Z=Z.slice(V-3,V+1),Z=="9999"||!X&&Z=="4999"){if(!X){if(k4(K,J+1,0),K.times(K).times(K).eq(H)){Y=K;break}}V+=4,X=1}else{if(!+Z||!+Z.slice(1)&&Z.charAt(0)=="5")k4(Y,J+1,1),Q=!Y.times(Y).times(Y).eq(H);break}return K8=!0,k4(Y,J,z.rounding,Q)};$6.decimalPlaces=$6.dp=function(){var J,Q=this.d,Z=NaN;if(Q){if(J=Q.length-1,Z=(J-KQ(this.e/a4))*a4,J=Q[J],J)for(;J%10==0;J/=10)Z--;if(Z<0)Z=0}return Z};$6.dividedBy=$6.div=function(J){return v5(this,new this.constructor(J))};$6.dividedToIntegerBy=$6.divToInt=function(J){var Q=this,Z=Q.constructor;return k4(v5(Q,new Z(J),0,1,1),Z.precision,Z.rounding)};$6.equals=$6.eq=function(J){return this.cmp(J)===0};$6.floor=function(){return k4(new this.constructor(this),this.e+1,3)};$6.greaterThan=$6.gt=function(J){return this.cmp(J)>0};$6.greaterThanOrEqualTo=$6.gte=function(J){var Q=this.cmp(J);return Q==1||Q===0};$6.hyperbolicCosine=$6.cosh=function(){var J,Q,Z,Y,X,G=this,V=G.constructor,K=new V(1);if(!G.isFinite())return new V(G.s?1/0:NaN);if(G.isZero())return K;if(Z=V.precision,Y=V.rounding,V.precision=Z+Math.max(G.e,G.sd())+4,V.rounding=1,X=G.d.length,X<32)J=Math.ceil(X/3),Q=(1/b41(4,J)).toString();else J=16,Q="2.3283064365386962890625e-10";G=XC(V,1,G.times(Q),new V(1),!0);var q,W=J,H=new V(8);for(;W--;)q=G.times(G),G=K.minus(q.times(H.minus(q.times(H))));return k4(G,V.precision=Z,V.rounding=Y,!0)};$6.hyperbolicSine=$6.sinh=function(){var J,Q,Z,Y,X=this,G=X.constructor;if(!X.isFinite()||X.isZero())return new G(X);if(Q=G.precision,Z=G.rounding,G.precision=Q+Math.max(X.e,X.sd())+4,G.rounding=1,Y=X.d.length,Y<3)X=XC(G,2,X,X,!0);else{J=1.4*Math.sqrt(Y),J=J>16?16:J|0,X=X.times(1/b41(5,J)),X=XC(G,2,X,X,!0);var V,K=new G(5),q=new G(16),W=new G(20);for(;J--;)V=X.times(X),X=X.times(K.plus(V.times(q.times(V).plus(W))))}return G.precision=Q,G.rounding=Z,k4(X,Q,Z,!0)};$6.hyperbolicTangent=$6.tanh=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite())return new Y(Z.s);if(Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+7,Y.rounding=1,v5(Z.sinh(),Z.cosh(),Y.precision=J,Y.rounding=Q)};$6.inverseCosine=$6.acos=function(){var J=this,Q=J.constructor,Z=J.abs().cmp(1),Y=Q.precision,X=Q.rounding;if(Z!==-1)return Z===0?J.isNeg()?Sq(Q,Y,X):new Q(0):new Q(NaN);if(J.isZero())return Sq(Q,Y+4,X).times(0.5);return Q.precision=Y+6,Q.rounding=1,J=new Q(1).minus(J).div(J.plus(1)).sqrt().atan(),Q.precision=Y,Q.rounding=X,J.times(2)};$6.inverseHyperbolicCosine=$6.acosh=function(){var J,Q,Z=this,Y=Z.constructor;if(Z.lte(1))return new Y(Z.eq(1)?0:NaN);if(!Z.isFinite())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+Math.max(Math.abs(Z.e),Z.sd())+4,Y.rounding=1,K8=!1,Z=Z.times(Z).minus(1).sqrt().plus(Z),K8=!0,Y.precision=J,Y.rounding=Q,Z.ln()};$6.inverseHyperbolicSine=$6.asinh=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite()||Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+2*Math.max(Math.abs(Z.e),Z.sd())+6,Y.rounding=1,K8=!1,Z=Z.times(Z).plus(1).sqrt().plus(Z),K8=!0,Y.precision=J,Y.rounding=Q,Z.ln()};$6.inverseHyperbolicTangent=$6.atanh=function(){var J,Q,Z,Y,X=this,G=X.constructor;if(!X.isFinite())return new G(NaN);if(X.e>=0)return new G(X.abs().eq(1)?X.s/0:X.isZero()?X:NaN);if(J=G.precision,Q=G.rounding,Y=X.sd(),Math.max(Y,J)<2*-X.e-1)return k4(new G(X),J,Q,!0);return G.precision=Z=Y-X.e,X=v5(X.plus(1),new G(1).minus(X),Z+J,1),G.precision=J+4,G.rounding=1,X=X.ln(),G.precision=J,G.rounding=Q,X.times(0.5)};$6.inverseSine=$6.asin=function(){var J,Q,Z,Y,X=this,G=X.constructor;if(X.isZero())return new G(X);if(Q=X.abs().cmp(1),Z=G.precision,Y=G.rounding,Q!==-1){if(Q===0)return J=Sq(G,Z+4,Y).times(0.5),J.s=X.s,J;return new G(NaN)}return G.precision=Z+6,G.rounding=1,X=X.div(new G(1).minus(X.times(X)).sqrt().plus(1)).atan(),G.precision=Z,G.rounding=Y,X.times(2)};$6.inverseTangent=$6.atan=function(){var J,Q,Z,Y,X,G,V,K,q,W=this,H=W.constructor,z=H.precision,U=H.rounding;if(!W.isFinite()){if(!W.s)return new H(NaN);if(z+4<=_j1)return V=Sq(H,z+4,U).times(0.5),V.s=W.s,V}else if(W.isZero())return new H(W);else if(W.abs().eq(1)&&z+4<=_j1)return V=Sq(H,z+4,U).times(0.25),V.s=W.s,V;H.precision=K=z+10,H.rounding=1,Z=Math.min(28,K/a4+2|0);for(J=Z;J;--J)W=W.div(W.times(W).plus(1).sqrt().plus(1));K8=!1,Q=Math.ceil(K/a4),Y=1,q=W.times(W),V=new H(W),X=W;for(;J!==-1;)if(X=X.times(q),G=V.minus(X.div(Y+=2)),X=X.times(q),V=G.plus(X.div(Y+=2)),V.d[Q]!==void 0)for(J=Q;V.d[J]===G.d[J]&&J--;);if(Z)V=V.times(2<<Z-1);return K8=!0,k4(V,H.precision=z,H.rounding=U,!0)};$6.isFinite=function(){return!!this.d};$6.isInteger=$6.isInt=function(){return!!this.d&&KQ(this.e/a4)>this.d.length-2};$6.isNaN=function(){return!this.s};$6.isNegative=$6.isNeg=function(){return this.s<0};$6.isPositive=$6.isPos=function(){return this.s>0};$6.isZero=function(){return!!this.d&&this.d[0]===0};$6.lessThan=$6.lt=function(J){return this.cmp(J)<0};$6.lessThanOrEqualTo=$6.lte=function(J){return this.cmp(J)<1};$6.logarithm=$6.log=function(J){var Q,Z,Y,X,G,V,K,q,W=this,H=W.constructor,z=H.precision,U=H.rounding,D=5;if(J==null)J=new H(10),Q=!0;else{if(J=new H(J),Z=J.d,J.s<0||!Z||!Z[0]||J.eq(1))return new H(NaN);Q=J.eq(10)}if(Z=W.d,W.s<0||!Z||!Z[0]||W.eq(1))return new H(Z&&!Z[0]?-1/0:W.s!=1?NaN:Z?0:1/0);if(Q)if(Z.length>1)G=!0;else{for(X=Z[0];X%10===0;)X/=10;G=X!==1}if(K8=!1,K=z+D,V=mB(W,K),Y=Q?v41(H,K+10):mB(J,K),q=v5(V,Y,K,1),Qg(q.d,X=z,U))do if(K+=10,V=mB(W,K),Y=Q?v41(H,K+10):mB(J,K),q=v5(V,Y,K,1),!G){if(+FJ(q.d).slice(X+1,X+15)+1==100000000000000)q=k4(q,z+1,0);break}while(Qg(q.d,X+=10,U));return K8=!0,k4(q,z,U)};$6.minus=$6.sub=function(J){var Q,Z,Y,X,G,V,K,q,W,H,z,U,D=this,M=D.constructor;if(J=new M(J),!D.d||!J.d){if(!D.s||!J.s)J=new M(NaN);else if(D.d)J.s=-J.s;else J=new M(J.d||D.s!==J.s?D:NaN);return J}if(D.s!=J.s)return J.s=-J.s,D.plus(J);if(W=D.d,U=J.d,K=M.precision,q=M.rounding,!W[0]||!U[0]){if(U[0])J.s=-J.s;else if(W[0])J=new M(D);else return new M(q===3?-0:0);return K8?k4(J,K,q):J}if(Z=KQ(J.e/a4),H=KQ(D.e/a4),W=W.slice(),G=H-Z,G){if(z=G<0,z)Q=W,G=-G,V=U.length;else Q=U,Z=H,V=W.length;if(Y=Math.max(Math.ceil(K/a4),V)+2,G>Y)G=Y,Q.length=1;Q.reverse();for(Y=G;Y--;)Q.push(0);Q.reverse()}else{if(Y=W.length,V=U.length,z=Y<V,z)V=Y;for(Y=0;Y<V;Y++)if(W[Y]!=U[Y]){z=W[Y]<U[Y];break}G=0}if(z)Q=W,W=U,U=Q,J.s=-J.s;V=W.length;for(Y=U.length-V;Y>0;--Y)W[V++]=0;for(Y=U.length;Y>G;){if(W[--Y]<U[Y]){for(X=Y;X&&W[--X]===0;)W[X]=OV-1;--W[X],W[Y]+=OV}W[Y]-=U[Y]}for(;W[--V]===0;)W.pop();for(;W[0]===0;W.shift())--Z;if(!W[0])return new M(q===3?-0:0);return J.d=W,J.e=h41(W,Z),K8?k4(J,K,q):J};$6.modulo=$6.mod=function(J){var Q,Z=this,Y=Z.constructor;if(J=new Y(J),!Z.d||!J.s||J.d&&!J.d[0])return new Y(NaN);if(!J.d||Z.d&&!Z.d[0])return k4(new Y(Z),Y.precision,Y.rounding);if(K8=!1,Y.modulo==9)Q=v5(Z,J.abs(),0,3,1),Q.s*=J.s;else Q=v5(Z,J,0,Y.modulo,1);return Q=Q.times(J),K8=!0,Z.minus(Q)};$6.naturalExponential=$6.exp=function(){return kj1(this)};$6.naturalLogarithm=$6.ln=function(){return mB(this)};$6.negated=$6.neg=function(){var J=new this.constructor(this);return J.s=-J.s,k4(J)};$6.plus=$6.add=function(J){var Q,Z,Y,X,G,V,K,q,W,H,z=this,U=z.constructor;if(J=new U(J),!z.d||!J.d){if(!z.s||!J.s)J=new U(NaN);else if(!z.d)J=new U(J.d||z.s===J.s?z:NaN);return J}if(z.s!=J.s)return J.s=-J.s,z.minus(J);if(W=z.d,H=J.d,K=U.precision,q=U.rounding,!W[0]||!H[0]){if(!H[0])J=new U(z);return K8?k4(J,K,q):J}if(G=KQ(z.e/a4),Y=KQ(J.e/a4),W=W.slice(),X=G-Y,X){if(X<0)Z=W,X=-X,V=H.length;else Z=H,Y=G,V=W.length;if(G=Math.ceil(K/a4),V=G>V?G+1:V+1,X>V)X=V,Z.length=1;Z.reverse();for(;X--;)Z.push(0);Z.reverse()}if(V=W.length,X=H.length,V-X<0)X=V,Z=H,H=W,W=Z;for(Q=0;X;)Q=(W[--X]=W[X]+H[X]+Q)/OV|0,W[X]%=OV;if(Q)W.unshift(Q),++Y;for(V=W.length;W[--V]==0;)W.pop();return J.d=W,J.e=h41(W,Y),K8?k4(J,K,q):J};$6.precision=$6.sd=function(J){var Q,Z=this;if(J!==void 0&&J!==!!J&&J!==1&&J!==0)throw Error(gB+J);if(Z.d){if(Q=e86(Z.d),J&&Z.e+1>Q)Q=Z.e+1}else Q=NaN;return Q};$6.round=function(){var J=this,Q=J.constructor;return k4(new Q(J),J.e+1,Q.rounding)};$6.sine=$6.sin=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite())return new Y(NaN);if(Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+Math.max(Z.e,Z.sd())+a4,Y.rounding=1,Z=$$8(Y,Y96(Y,Z)),Y.precision=J,Y.rounding=Q,k4(Qz>2?Z.neg():Z,J,Q,!0)};$6.squareRoot=$6.sqrt=function(){var J,Q,Z,Y,X,G,V=this,K=V.d,q=V.e,W=V.s,H=V.constructor;if(W!==1||!K||!K[0])return new H(!W||W<0&&(!K||K[0])?NaN:K?V:1/0);if(K8=!1,W=Math.sqrt(+V),W==0||W==1/0){if(Q=FJ(K),(Q.length+q)%2==0)Q+="0";if(W=Math.sqrt(Q),q=KQ((q+1)/2)-(q<0||q%2),W==1/0)Q="5e"+q;else Q=W.toExponential(),Q=Q.slice(0,Q.indexOf("e")+1)+q;Y=new H(Q)}else Y=new H(W.toString());Z=(q=H.precision)+3;for(;;)if(G=Y,Y=G.plus(v5(V,G,Z+2,1)).times(0.5),FJ(G.d).slice(0,Z)===(Q=FJ(Y.d)).slice(0,Z))if(Q=Q.slice(Z-3,Z+1),Q=="9999"||!X&&Q=="4999"){if(!X){if(k4(G,q+1,0),G.times(G).eq(V)){Y=G;break}}Z+=4,X=1}else{if(!+Q||!+Q.slice(1)&&Q.charAt(0)=="5")k4(Y,q+1,1),J=!Y.times(Y).eq(V);break}return K8=!0,k4(Y,q,H.rounding,J)};$6.tangent=$6.tan=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite())return new Y(NaN);if(Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+10,Y.rounding=1,Z=Z.sin(),Z.s=1,Z=v5(Z,new Y(1).minus(Z.times(Z)).sqrt(),J+10,0),Y.precision=J,Y.rounding=Q,k4(Qz==2||Qz==4?Z.neg():Z,J,Q,!0)};$6.times=$6.mul=function(J){var Q,Z,Y,X,G,V,K,q,W,H=this,z=H.constructor,U=H.d,D=(J=new z(J)).d;if(J.s*=H.s,!U||!U[0]||!D||!D[0])return new z(!J.s||U&&!U[0]&&!D||D&&!D[0]&&!U?NaN:!U||!D?J.s/0:J.s*0);if(Z=KQ(H.e/a4)+KQ(J.e/a4),q=U.length,W=D.length,q<W)G=U,U=D,D=G,V=q,q=W,W=V;G=[],V=q+W;for(Y=V;Y--;)G.push(0);for(Y=W;--Y>=0;){Q=0;for(X=q+Y;X>Y;)K=G[X]+D[Y]*U[X-Y-1]+Q,G[X--]=K%OV|0,Q=K/OV|0;G[X]=(G[X]+Q)%OV|0}for(;!G[--V];)G.pop();if(Q)++Z;else G.shift();return J.d=G,J.e=h41(G,Z),K8?k4(J,z.precision,z.rounding):J};$6.toBinary=function(J,Q){return yj1(this,2,J,Q)};$6.toDecimalPlaces=$6.toDP=function(J,Q){var Z=this,Y=Z.constructor;if(Z=new Y(Z),J===void 0)return Z;if(lZ(J,0,uB),Q===void 0)Q=Y.rounding;else lZ(Q,0,8);return k4(Z,J+Z.e+1,Q)};$6.toExponential=function(J,Q){var Z,Y=this,X=Y.constructor;if(J===void 0)Z=_q(Y,!0);else{if(lZ(J,0,uB),Q===void 0)Q=X.rounding;else lZ(Q,0,8);Y=k4(new X(Y),J+1,Q),Z=_q(Y,!0,J+1)}return Y.isNeg()&&!Y.isZero()?"-"+Z:Z};$6.toFixed=function(J,Q){var Z,Y,X=this,G=X.constructor;if(J===void 0)Z=_q(X);else{if(lZ(J,0,uB),Q===void 0)Q=G.rounding;else lZ(Q,0,8);Y=k4(new G(X),J+X.e+1,Q),Z=_q(Y,!1,J+Y.e+1)}return X.isNeg()&&!X.isZero()?"-"+Z:Z};$6.toFraction=function(J){var Q,Z,Y,X,G,V,K,q,W,H,z,U,D=this,M=D.d,L=D.constructor;if(!M)return new L(D);if(W=Z=new L(1),Y=q=new L(0),Q=new L(Y),G=Q.e=e86(M)-D.e-1,V=G%a4,Q.d[0]=$2(10,V<0?a4+V:V),J==null)J=G>0?Q:W;else{if(K=new L(J),!K.isInt()||K.lt(W))throw Error(gB+K);J=K.gt(Q)?G>0?Q:W:K}K8=!1,K=new L(FJ(M)),H=L.precision,L.precision=G=M.length*a4*2;for(;;){if(z=v5(K,Q,0,1,1),X=Z.plus(z.times(Y)),X.cmp(J)==1)break;Z=Y,Y=X,X=W,W=q.plus(z.times(X)),q=X,X=Q,Q=K.minus(z.times(X)),K=X}return X=v5(J.minus(Z),Y,0,1,1),q=q.plus(X.times(W)),Z=Z.plus(X.times(Y)),q.s=W.s=D.s,U=v5(W,Y,G,1).minus(D).abs().cmp(v5(q,Z,G,1).minus(D).abs())<1?[W,Y]:[q,Z],L.precision=H,K8=!0,U};$6.toHexadecimal=$6.toHex=function(J,Q){return yj1(this,16,J,Q)};$6.toNearest=function(J,Q){var Z=this,Y=Z.constructor;if(Z=new Y(Z),J==null){if(!Z.d)return Z;J=new Y(1),Q=Y.rounding}else{if(J=new Y(J),Q===void 0)Q=Y.rounding;else lZ(Q,0,8);if(!Z.d)return J.s?Z:J;if(!J.d){if(J.s)J.s=Z.s;return J}}if(J.d[0])K8=!1,Z=v5(Z,J,0,Q,1).times(J),K8=!0,k4(Z);else J.s=Z.s,Z=J;return Z};$6.toNumber=function(){return+this};$6.toOctal=function(J,Q){return yj1(this,8,J,Q)};$6.toPower=$6.pow=function(J){var Q,Z,Y,X,G,V,K=this,q=K.constructor,W=+(J=new q(J));if(!K.d||!J.d||!K.d[0]||!J.d[0])return new q($2(+K,W));if(K=new q(K),K.eq(1))return K;if(Y=q.precision,G=q.rounding,J.eq(1))return k4(K,Y,G);if(Q=KQ(J.e/a4),Q>=J.d.length-1&&(Z=W<0?-W:W)<=Q$8)return X=J96(q,K,Z,Y),J.s<0?new q(1).div(X):k4(X,Y,G);if(V=K.s,V<0){if(Q<J.d.length-1)return new q(NaN);if((J.d[Q]&1)==0)V=1;if(K.e==0&&K.d[0]==1&&K.d.length==1)return K.s=V,K}if(Z=$2(+K,W),Q=Z==0||!isFinite(Z)?KQ(W*(Math.log("0."+FJ(K.d))/Math.LN10+K.e+1)):new q(Z+"").e,Q>q.maxE+1||Q<q.minE-1)return new q(Q>0?V/0:0);if(K8=!1,q.rounding=K.s=1,Z=Math.min(12,(Q+"").length),X=kj1(J.times(mB(K,Y+Z)),Y),X.d){if(X=k4(X,Y+5,1),Qg(X.d,Y,G)){if(Q=Y+10,X=k4(kj1(J.times(mB(K,Q+Z)),Q),Q+5,1),+FJ(X.d).slice(Y+1,Y+15)+1==100000000000000)X=k4(X,Y+1,0)}}return X.s=V,K8=!0,q.rounding=G,k4(X,Y,G)};$6.toPrecision=function(J,Q){var Z,Y=this,X=Y.constructor;if(J===void 0)Z=_q(Y,Y.e<=X.toExpNeg||Y.e>=X.toExpPos);else{if(lZ(J,1,uB),Q===void 0)Q=X.rounding;else lZ(Q,0,8);Y=k4(new X(Y),J,Q),Z=_q(Y,J<=Y.e||Y.e<=X.toExpNeg,J)}return Y.isNeg()&&!Y.isZero()?"-"+Z:Z};$6.toSignificantDigits=$6.toSD=function(J,Q){var Z=this,Y=Z.constructor;if(J===void 0)J=Y.precision,Q=Y.rounding;else if(lZ(J,1,uB),Q===void 0)Q=Y.rounding;else lZ(Q,0,8);return k4(new Y(Z),J,Q)};$6.toString=function(){var J=this,Q=J.constructor,Z=_q(J,J.e<=Q.toExpNeg||J.e>=Q.toExpPos);return J.isNeg()&&!J.isZero()?"-"+Z:Z};$6.truncated=$6.trunc=function(){return k4(new this.constructor(this),this.e+1,1)};$6.valueOf=$6.toJSON=function(){var J=this,Q=J.constructor,Z=_q(J,J.e<=Q.toExpNeg||J.e>=Q.toExpPos);return J.isNeg()?"-"+Z:Z};function FJ(J){var Q,Z,Y,X=J.length-1,G="",V=J[0];if(X>0){G+=V;for(Q=1;Q<X;Q++){if(Y=J[Q]+"",Z=a4-Y.length,Z)G+=bB(Z);G+=Y}if(V=J[Q],Y=V+"",Z=a4-Y.length,Z)G+=bB(Z)}else if(V===0)return"0";for(;V%10===0;)V/=10;return G+V}function lZ(J,Q,Z){if(J!==~~J||J<Q||J>Z)throw Error(gB+J)}function Qg(J,Q,Z,Y){var X,G,V,K;for(G=J[0];G>=10;G/=10)--Q;if(--Q<0)Q+=a4,X=0;else X=Math.ceil((Q+1)/a4),Q%=a4;if(G=$2(10,a4-Q),K=J[X]%G|0,Y==null)if(Q<3){if(Q==0)K=K/100|0;else if(Q==1)K=K/10|0;V=Z<4&&K==99999||Z>3&&K==49999||K==50000||K==0}else V=(Z<4&&K+1==G||Z>3&&K+1==G/2)&&(J[X+1]/G/100|0)==$2(10,Q-2)-1||(K==G/2||K==0)&&(J[X+1]/G/100|0)==0;else if(Q<4){if(Q==0)K=K/1000|0;else if(Q==1)K=K/100|0;else if(Q==2)K=K/10|0;V=(Y||Z<4)&&K==9999||!Y&&Z>3&&K==4999}else V=((Y||Z<4)&&K+1==G||!Y&&Z>3&&K+1==G/2)&&(J[X+1]/G/1000|0)==$2(10,Q-3)-1;return V}function _41(J,Q,Z){var Y,X=[0],G,V=0,K=J.length;for(;V<K;){for(G=X.length;G--;)X[G]*=Q;X[0]+=jj1.indexOf(J.charAt(V++));for(Y=0;Y<X.length;Y++)if(X[Y]>Z-1){if(X[Y+1]===void 0)X[Y+1]=0;X[Y+1]+=X[Y]/Z|0,X[Y]%=Z}}return X.reverse()}function Y$8(J,Q){var Z,Y,X;if(Q.isZero())return Q;if(Y=Q.d.length,Y<32)Z=Math.ceil(Y/3),X=(1/b41(4,Z)).toString();else Z=16,X="2.3283064365386962890625e-10";J.precision+=Z,Q=XC(J,1,Q.times(X),new J(1));for(var G=Z;G--;){var V=Q.times(Q);Q=V.times(V).minus(V).times(8).plus(1)}return J.precision-=Z,Q}var v5=function(){function J(Y,X,G){var V,K=0,q=Y.length;for(Y=Y.slice();q--;)V=Y[q]*X+K,Y[q]=V%G|0,K=V/G|0;if(K)Y.unshift(K);return Y}function Q(Y,X,G,V){var K,q;if(G!=V)q=G>V?1:-1;else for(K=q=0;K<G;K++)if(Y[K]!=X[K]){q=Y[K]>X[K]?1:-1;break}return q}function Z(Y,X,G,V){var K=0;for(;G--;)Y[G]-=K,K=Y[G]<X[G]?1:0,Y[G]=K*V+Y[G]-X[G];for(;!Y[0]&&Y.length>1;)Y.shift()}return function(Y,X,G,V,K,q){var W,H,z,U,D,M,L,A,E,I,P,T,k,y,v,g,p,b,a,V1,t=Y.constructor,c=Y.s==X.s?1:-1,J1=Y.d,q1=X.d;if(!J1||!J1[0]||!q1||!q1[0])return new t(!Y.s||!X.s||(J1?q1&&J1[0]==q1[0]:!q1)?NaN:J1&&J1[0]==0||!q1?c*0:c/0);if(q)D=1,H=Y.e-X.e;else q=OV,D=a4,H=KQ(Y.e/D)-KQ(X.e/D);a=q1.length,p=J1.length,E=new t(c),I=E.d=[];for(z=0;q1[z]==(J1[z]||0);z++);if(q1[z]>(J1[z]||0))H--;if(G==null)y=G=t.precision,V=t.rounding;else if(K)y=G+(Y.e-X.e)+1;else y=G;if(y<0)I.push(1),M=!0;else{if(y=y/D+2|0,z=0,a==1){U=0,q1=q1[0],y++;for(;(z<p||U)&&y--;z++)v=U*q+(J1[z]||0),I[z]=v/q1|0,U=v%q1|0;M=U||z<p}else{if(U=q/(q1[0]+1)|0,U>1)q1=J(q1,U,q),J1=J(J1,U,q),a=q1.length,p=J1.length;g=a,P=J1.slice(0,a),T=P.length;for(;T<a;)P[T++]=0;if(V1=q1.slice(),V1.unshift(0),b=q1[0],q1[1]>=q/2)++b;do{if(U=0,W=Q(q1,P,a,T),W<0){if(k=P[0],a!=T)k=k*q+(P[1]||0);if(U=k/b|0,U>1){if(U>=q)U=q-1;if(L=J(q1,U,q),A=L.length,T=P.length,W=Q(L,P,A,T),W==1)U--,Z(L,a<A?V1:q1,A,q)}else{if(U==0)W=U=1;L=q1.slice()}if(A=L.length,A<T)L.unshift(0);if(Z(P,L,T,q),W==-1){if(T=P.length,W=Q(q1,P,a,T),W<1)U++,Z(P,a<T?V1:q1,T,q)}T=P.length}else if(W===0)U++,P=[0];if(I[z++]=U,W&&P[0])P[T++]=J1[g]||0;else P=[J1[g]],T=1}while((g++<p||P[0]!==void 0)&&y--);M=P[0]!==void 0}if(!I[0])I.shift()}if(D==1)E.e=H,a86=M;else{for(z=1,U=I[0];U>=10;U/=10)z++;E.e=z+H*D-1,k4(E,K?G+E.e+1:G,V,M)}return E}}();function k4(J,Q,Z,Y){var X,G,V,K,q,W,H,z,U,D=J.constructor;J:if(Q!=null){if(z=J.d,!z)return J;for(X=1,K=z[0];K>=10;K/=10)X++;if(G=Q-X,G<0)G+=a4,V=Q,H=z[U=0],q=H/$2(10,X-V-1)%10|0;else if(U=Math.ceil((G+1)/a4),K=z.length,U>=K)if(Y){for(;K++<=U;)z.push(0);H=q=0,X=1,G%=a4,V=G-a4+1}else break J;else{H=K=z[U];for(X=1;K>=10;K/=10)X++;G%=a4,V=G-a4+X,q=V<0?0:H/$2(10,X-V-1)%10|0}if(Y=Y||Q<0||z[U+1]!==void 0||(V<0?H:H%$2(10,X-V-1)),W=Z<4?(q||Y)&&(Z==0||Z==(J.s<0?3:2)):q>5||q==5&&(Z==4||Y||Z==6&&(G>0?V>0?H/$2(10,X-V):0:z[U-1])%10&1||Z==(J.s<0?8:7)),Q<1||!z[0]){if(z.length=0,W)Q-=J.e+1,z[0]=$2(10,(a4-Q%a4)%a4),J.e=-Q||0;else z[0]=J.e=0;return J}if(G==0)z.length=U,K=1,U--;else z.length=U+1,K=$2(10,a4-G),z[U]=V>0?(H/$2(10,X-V)%$2(10,V)|0)*K:0;if(W)for(;;)if(U==0){for(G=1,V=z[0];V>=10;V/=10)G++;V=z[0]+=K;for(K=1;V>=10;V/=10)K++;if(G!=K){if(J.e++,z[0]==OV)z[0]=1}break}else{if(z[U]+=K,z[U]!=OV)break;z[U--]=0,K=1}for(G=z.length;z[--G]===0;)z.pop()}if(K8){if(J.e>D.maxE)J.d=null,J.e=NaN;else if(J.e<D.minE)J.e=0,J.d=[0]}return J}function _q(J,Q,Z){if(!J.isFinite())return Z96(J);var Y,X=J.e,G=FJ(J.d),V=G.length;if(Q){if(Z&&(Y=Z-V)>0)G=G.charAt(0)+"."+G.slice(1)+bB(Y);else if(V>1)G=G.charAt(0)+"."+G.slice(1);G=G+(J.e<0?"e":"e+")+J.e}else if(X<0){if(G="0."+bB(-X-1)+G,Z&&(Y=Z-V)>0)G+=bB(Y)}else if(X>=V){if(G+=bB(X+1-V),Z&&(Y=Z-X-1)>0)G=G+"."+bB(Y)}else{if((Y=X+1)<V)G=G.slice(0,Y)+"."+G.slice(Y);if(Z&&(Y=Z-V)>0){if(X+1===V)G+=".";G+=bB(Y)}}return G}function h41(J,Q){var Z=J[0];for(Q*=a4;Z>=10;Z/=10)Q++;return Q}function v41(J,Q,Z){if(Q>Z$8){if(K8=!0,Z)J.precision=Z;throw Error(o86)}return k4(new J(y41),Q,1,!0)}function Sq(J,Q,Z){if(Q>_j1)throw Error(o86);return k4(new J(x41),Q,Z,!0)}function e86(J){var Q=J.length-1,Z=Q*a4+1;if(Q=J[Q],Q){for(;Q%10==0;Q/=10)Z--;for(Q=J[0];Q>=10;Q/=10)Z++}return Z}function bB(J){var Q="";for(;J--;)Q+="0";return Q}function J96(J,Q,Z,Y){var X,G=new J(1),V=Math.ceil(Y/a4+4);K8=!1;for(;;){if(Z%2){if(G=G.times(Q),i86(G.d,V))X=!0}if(Z=KQ(Z/2),Z===0){if(Z=G.d.length-1,X&&G.d[Z]===0)++G.d[Z];break}Q=Q.times(Q),i86(Q.d,V)}return K8=!0,G}function l86(J){return J.d[J.d.length-1]&1}function Q96(J,Q,Z){var Y,X,G=new J(Q[0]),V=0;for(;++V<Q.length;){if(X=new J(Q[V]),!X.s){G=X;break}if(Y=G.cmp(X),Y===Z||Y===0&&G.s===Z)G=X}return G}function kj1(J,Q){var Z,Y,X,G,V,K,q,W=0,H=0,z=0,U=J.constructor,D=U.rounding,M=U.precision;if(!J.d||!J.d[0]||J.e>17)return new U(J.d?!J.d[0]?1:J.s<0?0:1/0:J.s?J.s<0?0:J:NaN);if(Q==null)K8=!1,q=M;else q=Q;K=new U(0.03125);while(J.e>-2)J=J.times(K),z+=5;Y=Math.log($2(2,z))/Math.LN10*2+5|0,q+=Y,Z=G=V=new U(1),U.precision=q;for(;;){if(G=k4(G.times(J),q,1),Z=Z.times(++H),K=V.plus(v5(G,Z,q,1)),FJ(K.d).slice(0,q)===FJ(V.d).slice(0,q)){X=z;while(X--)V=k4(V.times(V),q,1);if(Q==null)if(W<3&&Qg(V.d,q-Y,D,W))U.precision=q+=10,Z=G=K=new U(1),H=0,W++;else return k4(V,U.precision=M,D,K8=!0);else return U.precision=M,V}V=K}}function mB(J,Q){var Z,Y,X,G,V,K,q,W,H,z,U,D=1,M=10,L=J,A=L.d,E=L.constructor,I=E.rounding,P=E.precision;if(L.s<0||!A||!A[0]||!L.e&&A[0]==1&&A.length==1)return new E(A&&!A[0]?-1/0:L.s!=1?NaN:A?0:L);if(Q==null)K8=!1,H=P;else H=Q;if(E.precision=H+=M,Z=FJ(A),Y=Z.charAt(0),Math.abs(G=L.e)<1500000000000000){while(Y<7&&Y!=1||Y==1&&Z.charAt(1)>3)L=L.times(J),Z=FJ(L.d),Y=Z.charAt(0),D++;if(G=L.e,Y>1)L=new E("0."+Z),G++;else L=new E(Y+"."+Z.slice(1))}else return W=v41(E,H+2,P).times(G+""),L=mB(new E(Y+"."+Z.slice(1)),H-M).plus(W),E.precision=P,Q==null?k4(L,P,I,K8=!0):L;z=L,q=V=L=v5(L.minus(1),L.plus(1),H,1),U=k4(L.times(L),H,1),X=3;for(;;){if(V=k4(V.times(U),H,1),W=q.plus(v5(V,new E(X),H,1)),FJ(W.d).slice(0,H)===FJ(q.d).slice(0,H)){if(q=q.times(2),G!==0)q=q.plus(v41(E,H+2,P).times(G+""));if(q=v5(q,new E(D),H,1),Q==null)if(Qg(q.d,H-M,I,K))E.precision=H+=M,W=V=L=v5(z.minus(1),z.plus(1),H,1),U=k4(L.times(L),H,1),X=K=1;else return k4(q,E.precision=P,I,K8=!0);else return E.precision=P,q}q=W,X+=2}}function Z96(J){return String(J.s*J.s/0)}function k41(J,Q){var Z,Y,X;if((Z=Q.indexOf("."))>-1)Q=Q.replace(".","");if((Y=Q.search(/e/i))>0){if(Z<0)Z=Y;Z+=+Q.slice(Y+1),Q=Q.substring(0,Y)}else if(Z<0)Z=Q.length;for(Y=0;Q.charCodeAt(Y)===48;Y++);for(X=Q.length;Q.charCodeAt(X-1)===48;--X);if(Q=Q.slice(Y,X),Q){if(X-=Y,J.e=Z=Z-Y-1,J.d=[],Y=(Z+1)%a4,Z<0)Y+=a4;if(Y<X){if(Y)J.d.push(+Q.slice(0,Y));for(X-=a4;Y<X;)J.d.push(+Q.slice(Y,Y+=a4));Q=Q.slice(Y),Y=a4-Q.length}else Y-=X;for(;Y--;)Q+="0";if(J.d.push(+Q),K8){if(J.e>J.constructor.maxE)J.d=null,J.e=NaN;else if(J.e<J.constructor.minE)J.e=0,J.d=[0]}}else J.e=0,J.d=[0];return J}function X$8(J,Q){var Z,Y,X,G,V,K,q,W,H;if(Q.indexOf("_")>-1){if(Q=Q.replace(/(\d)_(?=\d)/g,"$1"),t86.test(Q))return k41(J,Q)}else if(Q==="Infinity"||Q==="NaN"){if(!+Q)J.s=NaN;return J.e=NaN,J.d=null,J}if(eX8.test(Q))Z=16,Q=Q.toLowerCase();else if(tX8.test(Q))Z=2;else if(J$8.test(Q))Z=8;else throw Error(gB+Q);if(G=Q.search(/p/i),G>0)q=+Q.slice(G+1),Q=Q.substring(2,G);else Q=Q.slice(2);if(G=Q.indexOf("."),V=G>=0,Y=J.constructor,V)Q=Q.replace(".",""),K=Q.length,G=K-G,X=J96(Y,new Y(Z),G,G*2);W=_41(Q,Z,OV),H=W.length-1;for(G=H;W[G]===0;--G)W.pop();if(G<0)return new Y(J.s*0);if(J.e=h41(W,H),J.d=W,K8=!1,V)J=v5(J,X,K*4);if(q)J=J.times(Math.abs(q)<54?$2(2,q):Zg.pow(2,q));return K8=!0,J}function $$8(J,Q){var Z,Y=Q.d.length;if(Y<3)return Q.isZero()?Q:XC(J,2,Q,Q);Z=1.4*Math.sqrt(Y),Z=Z>16?16:Z|0,Q=Q.times(1/b41(5,Z)),Q=XC(J,2,Q,Q);var X,G=new J(5),V=new J(16),K=new J(20);for(;Z--;)X=Q.times(Q),Q=Q.times(G.plus(X.times(V.times(X).minus(K))));return Q}function XC(J,Q,Z,Y,X){var G,V,K,q,W=1,H=J.precision,z=Math.ceil(H/a4);K8=!1,q=Z.times(Z),K=new J(Y);for(;;){if(V=v5(K.times(q),new J(Q++*Q++),H,1),K=X?Y.plus(V):Y.minus(V),Y=v5(V.times(q),new J(Q++*Q++),H,1),V=K.plus(Y),V.d[z]!==void 0){for(G=z;V.d[G]===K.d[G]&&G--;);if(G==-1)break}G=K,K=Y,Y=V,V=G,W++}return K8=!0,V.d.length=z+1,V}function b41(J,Q){var Z=J;while(--Q)Z*=J;return Z}function Y96(J,Q){var Z,Y=Q.s<0,X=Sq(J,J.precision,1),G=X.times(0.5);if(Q=Q.abs(),Q.lte(G))return Qz=Y?4:1,Q;if(Z=Q.divToInt(X),Z.isZero())Qz=Y?3:2;else{if(Q=Q.minus(Z.times(X)),Q.lte(G))return Qz=l86(Z)?Y?2:3:Y?4:1,Q;Qz=l86(Z)?Y?1:4:Y?3:2}return Q.minus(X).abs()}function yj1(J,Q,Z,Y){var X,G,V,K,q,W,H,z,U,D=J.constructor,M=Z!==void 0;if(M)if(lZ(Z,1,uB),Y===void 0)Y=D.rounding;else lZ(Y,0,8);else Z=D.precision,Y=D.rounding;if(!J.isFinite())H=Z96(J);else{if(H=_q(J),V=H.indexOf("."),M){if(X=2,Q==16)Z=Z*4-3;else if(Q==8)Z=Z*3-2}else X=Q;if(V>=0)H=H.replace(".",""),U=new D(1),U.e=H.length-V,U.d=_41(_q(U),10,X),U.e=U.d.length;z=_41(H,10,X),G=q=z.length;for(;z[--q]==0;)z.pop();if(!z[0])H=M?"0p+0":"0";else{if(V<0)G--;else J=new D(J),J.d=z,J.e=G,J=v5(J,U,Z,Y,0,X),z=J.d,G=J.e,W=a86;if(V=z[Z],K=X/2,W=W||z[Z+1]!==void 0,W=Y<4?(V!==void 0||W)&&(Y===0||Y===(J.s<0?3:2)):V>K||V===K&&(Y===4||W||Y===6&&z[Z-1]&1||Y===(J.s<0?8:7)),z.length=Z,W){for(;++z[--Z]>X-1;)if(z[Z]=0,!Z)++G,z.unshift(1)}for(q=z.length;!z[q-1];--q);for(V=0,H="";V<q;V++)H+=jj1.charAt(z[V]);if(M){if(q>1)if(Q==16||Q==8){V=Q==16?4:3;for(--q;q%V;q++)H+="0";z=_41(H,X,Q);for(q=z.length;!z[q-1];--q);for(V=1,H="1.";V<q;V++)H+=jj1.charAt(z[V])}else H=H.charAt(0)+"."+H.slice(1);H=H+(G<0?"p":"p+")+G}else if(G<0){for(;++G;)H="0"+H;H="0."+H}else if(++G>q)for(G-=q;G--;)H+="0";else if(G<q)H=H.slice(0,G)+"."+H.slice(G)}H=(Q==16?"0x":Q==2?"0b":Q==8?"0o":"")+H}return J.s<0?"-"+H:H}function i86(J,Q){if(J.length>Q)return J.length=Q,!0}function G$8(J){return new this(J).abs()}function V$8(J){return new this(J).acos()}function K$8(J){return new this(J).acosh()}function q$8(J,Q){return new this(J).plus(Q)}function W$8(J){return new this(J).asin()}function H$8(J){return new this(J).asinh()}function z$8(J){return new this(J).atan()}function F$8(J){return new this(J).atanh()}function U$8(J,Q){J=new this(J),Q=new this(Q);var Z,Y=this.precision,X=this.rounding,G=Y+4;if(!J.s||!Q.s)Z=new this(NaN);else if(!J.d&&!Q.d)Z=Sq(this,G,1).times(Q.s>0?0.25:0.75),Z.s=J.s;else if(!Q.d||J.isZero())Z=Q.s<0?Sq(this,Y,X):new this(0),Z.s=J.s;else if(!J.d||Q.isZero())Z=Sq(this,G,1).times(0.5),Z.s=J.s;else if(Q.s<0)this.precision=G,this.rounding=1,Z=this.atan(v5(J,Q,G,1)),Q=Sq(this,G,1),this.precision=Y,this.rounding=X,Z=J.s<0?Z.minus(Q):Z.plus(Q);else Z=this.atan(v5(J,Q,G,1));return Z}function B$8(J){return new this(J).cbrt()}function N$8(J){return k4(J=new this(J),J.e+1,2)}function D$8(J,Q,Z){return new this(J).clamp(Q,Z)}function M$8(J){if(!J||typeof J!=="object")throw Error(f41+"Object expected");var Q,Z,Y,X=J.defaults===!0,G=["precision",1,uB,"rounding",0,8,"toExpNeg",-YC,0,"toExpPos",0,YC,"maxE",0,YC,"minE",-YC,0,"modulo",0,9];for(Q=0;Q<G.length;Q+=3){if(Z=G[Q],X)this[Z]=Sj1[Z];if((Y=J[Z])!==void 0)if(KQ(Y)===Y&&Y>=G[Q+1]&&Y<=G[Q+2])this[Z]=Y;else throw Error(gB+Z+": "+Y)}if(Z="crypto",X)this[Z]=Sj1[Z];if((Y=J[Z])!==void 0)if(Y===!0||Y===!1||Y===0||Y===1)if(Y)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[Z]=!0;else throw Error(r86);else this[Z]=!1;else throw Error(gB+Z+": "+Y);return this}function L$8(J){return new this(J).cos()}function A$8(J){return new this(J).cosh()}function X96(J){var Q,Z,Y;function X(G){var V,K,q,W=this;if(!(W instanceof X))return new X(G);if(W.constructor=X,n86(G)){if(W.s=G.s,K8)if(!G.d||G.e>X.maxE)W.e=NaN,W.d=null;else if(G.e<X.minE)W.e=0,W.d=[0];else W.e=G.e,W.d=G.d.slice();else W.e=G.e,W.d=G.d?G.d.slice():G.d;return}if(q=typeof G,q==="number"){if(G===0){W.s=1/G<0?-1:1,W.e=0,W.d=[0];return}if(G<0)G=-G,W.s=-1;else W.s=1;if(G===~~G&&G<1e7){for(V=0,K=G;K>=10;K/=10)V++;if(K8)if(V>X.maxE)W.e=NaN,W.d=null;else if(V<X.minE)W.e=0,W.d=[0];else W.e=V,W.d=[G];else W.e=V,W.d=[G];return}if(G*0!==0){if(!G)W.s=NaN;W.e=NaN,W.d=null;return}return k41(W,G.toString())}if(q==="string"){if((K=G.charCodeAt(0))===45)G=G.slice(1),W.s=-1;else{if(K===43)G=G.slice(1);W.s=1}return t86.test(G)?k41(W,G):X$8(W,G)}if(q==="bigint"){if(G<0)G=-G,W.s=-1;else W.s=1;return k41(W,G.toString())}throw Error(gB+G)}if(X.prototype=$6,X.ROUND_UP=0,X.ROUND_DOWN=1,X.ROUND_CEIL=2,X.ROUND_FLOOR=3,X.ROUND_HALF_UP=4,X.ROUND_HALF_DOWN=5,X.ROUND_HALF_EVEN=6,X.ROUND_HALF_CEIL=7,X.ROUND_HALF_FLOOR=8,X.EUCLID=9,X.config=X.set=M$8,X.clone=X96,X.isDecimal=n86,X.abs=G$8,X.acos=V$8,X.acosh=K$8,X.add=q$8,X.asin=W$8,X.asinh=H$8,X.atan=z$8,X.atanh=F$8,X.atan2=U$8,X.cbrt=B$8,X.ceil=N$8,X.clamp=D$8,X.cos=L$8,X.cosh=A$8,X.div=O$8,X.exp=w$8,X.floor=E$8,X.hypot=I$8,X.ln=P$8,X.log=R$8,X.log10=C$8,X.log2=T$8,X.max=j$8,X.min=S$8,X.mod=_$8,X.mul=k$8,X.pow=y$8,X.random=x$8,X.round=v$8,X.sign=f$8,X.sin=h$8,X.sinh=b$8,X.sqrt=m$8,X.sub=g$8,X.sum=u$8,X.tan=p$8,X.tanh=d$8,X.trunc=c$8,J===void 0)J={};if(J){if(J.defaults!==!0){Y=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"];for(Q=0;Q<Y.length;)if(!J.hasOwnProperty(Z=Y[Q++]))J[Z]=this[Z]}}return X.config(J),X}function O$8(J,Q){return new this(J).div(Q)}function w$8(J){return new this(J).exp()}function E$8(J){return k4(J=new this(J),J.e+1,3)}function I$8(){var J,Q,Z=new this(0);K8=!1;for(J=0;J<arguments.length;)if(Q=new this(arguments[J++]),!Q.d){if(Q.s)return K8=!0,new this(1/0);Z=Q}else if(Z.d)Z=Z.plus(Q.times(Q));return K8=!0,Z.sqrt()}function n86(J){return J instanceof Zg||J&&J.toStringTag===s86||!1}function P$8(J){return new this(J).ln()}function R$8(J,Q){return new this(J).log(Q)}function T$8(J){return new this(J).log(2)}function C$8(J){return new this(J).log(10)}function j$8(){return Q96(this,arguments,-1)}function S$8(){return Q96(this,arguments,1)}function _$8(J,Q){return new this(J).mod(Q)}function k$8(J,Q){return new this(J).mul(Q)}function y$8(J,Q){return new this(J).pow(Q)}function x$8(J){var Q,Z,Y,X,G=0,V=new this(1),K=[];if(J===void 0)J=this.precision;else lZ(J,1,uB);if(Y=Math.ceil(J/a4),!this.crypto)for(;G<Y;)K[G++]=Math.random()*1e7|0;else if(crypto.getRandomValues){Q=crypto.getRandomValues(new Uint32Array(Y));for(;G<Y;)if(X=Q[G],X>=4290000000)Q[G]=crypto.getRandomValues(new Uint32Array(1))[0];else K[G++]=X%1e7}else if(crypto.randomBytes){Q=crypto.randomBytes(Y*=4);for(;G<Y;)if(X=Q[G]+(Q[G+1]<<8)+(Q[G+2]<<16)+((Q[G+3]&127)<<24),X>=2140000000)crypto.randomBytes(4).copy(Q,G);else K.push(X%1e7),G+=4;G=Y/4}else throw Error(r86);if(Y=K[--G],J%=a4,Y&&J)X=$2(10,a4-J),K[G]=(Y/X|0)*X;for(;K[G]===0;G--)K.pop();if(G<0)Z=0,K=[0];else{Z=-1;for(;K[0]===0;Z-=a4)K.shift();for(Y=1,X=K[0];X>=10;X/=10)Y++;if(Y<a4)Z-=a4-Y}return V.e=Z,V.d=K,V}function v$8(J){return k4(J=new this(J),J.e+1,this.rounding)}function f$8(J){return J=new this(J),J.d?J.d[0]?J.s:0*J.s:J.s||NaN}function h$8(J){return new this(J).sin()}function b$8(J){return new this(J).sinh()}function m$8(J){return new this(J).sqrt()}function g$8(J,Q){return new this(J).sub(Q)}function u$8(){var J=0,Q=arguments,Z=new this(Q[J]);K8=!1;for(;Z.s&&++J<Q.length;)Z=Z.plus(Q[J]);return K8=!0,k4(Z,this.precision,this.rounding)}function p$8(J){return new this(J).tan()}function d$8(J){return new this(J).tanh()}function c$8(J){return k4(J=new this(J),J.e+1,1)}$6[Symbol.for("nodejs.util.inspect.custom")]=$6.toString;$6[Symbol.toStringTag]="Decimal";var Zg=$6.constructor=X96(Sj1);y41=new Zg(y41);x41=new Zg(x41);var l$8=0.01,xj1=2;function i$8(J,Q){let Z=Q.decimalPlaces==="more-if-tiny"?Math.abs(J)<0.01?xj1+1:xj1:Q.decimalPlaces??xj1,Y=Q.intent==="balance"?J<0?"expand":"trunc":"halfExpand";return{decimalPlaces:Z,roundingMode:Y}}function $C(J,Q){let{decimalPlaces:Z,roundingMode:Y}=i$8(J,Q);if(J%1===0)return J.toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:Y});return J.toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:Z,maximumFractionDigits:Z,roundingMode:Y})}function vj1(J){if(J==null||J===0)return"$0.00";let Q=J*l$8;return $C(Q,{intent:"cost"})}function kq(J){if(J>=1e6)return`${Math.round(J/1e6)}M`;if(J>=1000)return`${Math.round(J/1000)}k`;return J.toString()}function n$8(J){if(!J)return"";let Q=J.split("-");if(Q.length>=2)return Q.slice(0,2).join("-");return J}function $96(J){let Q;if(J.credits==null)Q="$—";else Q=vj1(J.credits);let Z=[],Y=(J.inputTokens??0)+(J.cacheCreationInputTokens??0),X=J.cacheReadInputTokens??0;if(Y>0)Z.push(`${kq(Y)} in`);if(X>0)Z.push(`${kq(X)} cache read`);if(J.outputTokens)Z.push(`${kq(J.outputTokens)} out`);if(J.model)Z.push(n$8(J.model));if(Z.length>0)return`${Q} (${Z.join(", ")})`;return Q}function m41(J){let Q=Math.floor(J/60),Z=J%60;if(Q===0)return`${Z}s`;return`${Q}:${Z.toString().padStart(2,"0")}`}function a$8(J){if(J<=60)return"1min";if(J<=120)return"2min";if(J<=180)return"3min";if(J<=240)return"4min";if(J<=300)return"5min";return"10min"}var o$8=60,r$8=180;function G96(J,Q){if(J.secondsRemaining===null)return null;if(J.secondsRemaining===0)return null;if(J.secondsRemaining>r$8)return null;let Z=J.secondsRemaining<=o$8,Y=Q&&Z;return{text:Y?m41(J.secondsRemaining):a$8(J.secondsRemaining),urgency:Y?"warning":"normal",secondsRemaining:J.secondsRemaining,cacheableTokens:J.cacheableTokens,cacheableTokensFormatted:kq(J.cacheableTokens),timeRemaining:m41(J.secondsRemaining),isExpired:!1,helpText:"Sending follow-up messages before this time decreases cost and latency"}}B0();var fj1={UBI:"ubi",AMP_CONNECT:"amp-connect",THREAD_LABELS:"thread-labels"};h3();AY();R7();function V96(J,Q){let Z;return function(...X){let G=()=>{clearTimeout(Z),J(...X)};clearTimeout(Z),Z=setTimeout(G,Q)}}d0();var hj1,s$8=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),K96=(hj1=String.fromCodePoint)!==null&&hj1!==void 0?hj1:(J)=>{let Q="";if(J>65535)J-=65536,Q+=String.fromCharCode(J>>>10&1023|55296),J=56320|J&1023;return Q+=String.fromCharCode(J),Q};function q96(J){var Q;if(J>=55296&&J<=57343||J>1114111)return 65533;return(Q=s$8.get(J))!==null&&Q!==void 0?Q:J}function g41(J){let Q=typeof atob==="function"?atob(J):typeof Buffer.from==="function"?Buffer.from(J,"base64").toString("binary"):new Buffer(J,"base64").toString("binary"),Z=Q.length&-2,Y=new Uint16Array(Z/2);for(let X=0,G=0;X<Z;X+=2){let V=Q.charCodeAt(X),K=Q.charCodeAt(X+1);Y[G++]=V|K<<8}return Y}var W96=g41("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var H96=g41("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var qQ;(function(J){J[J.VALUE_LENGTH=49152]="VALUE_LENGTH",J[J.FLAG13=8192]="FLAG13",J[J.BRANCH_LENGTH=8064]="BRANCH_LENGTH",J[J.JUMP_TABLE=127]="JUMP_TABLE"})(qQ||(qQ={}));var _7;(function(J){J[J.NUM=35]="NUM",J[J.SEMI=59]="SEMI",J[J.EQUALS=61]="EQUALS",J[J.ZERO=48]="ZERO",J[J.NINE=57]="NINE",J[J.LOWER_A=97]="LOWER_A",J[J.LOWER_F=102]="LOWER_F",J[J.LOWER_X=120]="LOWER_X",J[J.LOWER_Z=122]="LOWER_Z",J[J.UPPER_A=65]="UPPER_A",J[J.UPPER_F=70]="UPPER_F",J[J.UPPER_Z=90]="UPPER_Z"})(_7||(_7={}));var z96=32;function bj1(J){return J>=_7.ZERO&&J<=_7.NINE}function t$8(J){return J>=_7.UPPER_A&&J<=_7.UPPER_F||J>=_7.LOWER_A&&J<=_7.LOWER_F}function e$8(J){return J>=_7.UPPER_A&&J<=_7.UPPER_Z||J>=_7.LOWER_A&&J<=_7.LOWER_Z||bj1(J)}function JG8(J){return J===_7.EQUALS||e$8(J)}var x2;(function(J){J[J.EntityStart=0]="EntityStart",J[J.NumericStart=1]="NumericStart",J[J.NumericDecimal=2]="NumericDecimal",J[J.NumericHex=3]="NumericHex",J[J.NamedEntity=4]="NamedEntity"})(x2||(x2={}));var yq;(function(J){J[J.Legacy=0]="Legacy",J[J.Strict=1]="Strict",J[J.Attribute=2]="Attribute"})(yq||(yq={}));class mj1{constructor(J,Q,Z){this.decodeTree=J,this.emitCodePoint=Q,this.errors=Z,this.state=x2.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=yq.Strict}startEntity(J){this.decodeMode=J,this.state=x2.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(J,Q){switch(this.state){case x2.EntityStart:{if(J.charCodeAt(Q)===_7.NUM)return this.state=x2.NumericStart,this.consumed+=1,this.stateNumericStart(J,Q+1);return this.state=x2.NamedEntity,this.stateNamedEntity(J,Q)}case x2.NumericStart:return this.stateNumericStart(J,Q);case x2.NumericDecimal:return this.stateNumericDecimal(J,Q);case x2.NumericHex:return this.stateNumericHex(J,Q);case x2.NamedEntity:return this.stateNamedEntity(J,Q)}}stateNumericStart(J,Q){if(Q>=J.length)return-1;if((J.charCodeAt(Q)|z96)===_7.LOWER_X)return this.state=x2.NumericHex,this.consumed+=1,this.stateNumericHex(J,Q+1);return this.state=x2.NumericDecimal,this.stateNumericDecimal(J,Q)}stateNumericHex(J,Q){while(Q<J.length){let Z=J.charCodeAt(Q);if(bj1(Z)||t$8(Z)){let Y=Z<=_7.NINE?Z-_7.ZERO:(Z|z96)-_7.LOWER_A+10;this.result=this.result*16+Y,this.consumed++,Q++}else return this.emitNumericEntity(Z,3)}return-1}stateNumericDecimal(J,Q){while(Q<J.length){let Z=J.charCodeAt(Q);if(bj1(Z))this.result=this.result*10+(Z-_7.ZERO),this.consumed++,Q++;else return this.emitNumericEntity(Z,2)}return-1}emitNumericEntity(J,Q){var Z;if(this.consumed<=Q)return(Z=this.errors)===null||Z===void 0||Z.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(J===_7.SEMI)this.consumed+=1;else if(this.decodeMode===yq.Strict)return 0;if(this.emitCodePoint(q96(this.result),this.consumed),this.errors){if(J!==_7.SEMI)this.errors.missingSemicolonAfterCharacterReference();this.errors.validateNumericCharacterReference(this.result)}return this.consumed}stateNamedEntity(J,Q){let{decodeTree:Z}=this,Y=Z[this.treeIndex],X=(Y&qQ.VALUE_LENGTH)>>14;while(Q<J.length){if(X===0&&(Y&qQ.FLAG13)!==0){let V=(Y&qQ.BRANCH_LENGTH)>>7,K=Y&qQ.JUMP_TABLE;if(Q+V>J.length)return-1;if(J.charCodeAt(Q)!==K)return this.result===0?0:this.emitNotTerminatedNamedEntity();Q++,this.excess++;let q=V-1;for(let W=1;W<V;W+=2){let H=Z[this.treeIndex+1+(W-1>>1)],z=H&255;if(J.charCodeAt(Q)!==z)return this.result===0?0:this.emitNotTerminatedNamedEntity();Q++,this.excess++;let U=H>>8&255;if(W+1<V){if(J.charCodeAt(Q)!==U)return this.result===0?0:this.emitNotTerminatedNamedEntity();Q++,this.excess++}}this.treeIndex+=1+(q+1>>1),Y=Z[this.treeIndex],X=(Y&qQ.VALUE_LENGTH)>>14}if(Q>=J.length)break;let G=J.charCodeAt(Q);if(G===_7.SEMI&&X!==0&&(Y&qQ.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,X,this.consumed+this.excess);if(this.treeIndex=QG8(Z,Y,this.treeIndex+Math.max(1,X),G),this.treeIndex<0)return this.result===0||this.decodeMode===yq.Attribute&&(X===0||JG8(G))?0:this.emitNotTerminatedNamedEntity();if(Y=Z[this.treeIndex],X=(Y&qQ.VALUE_LENGTH)>>14,X!==0){if(G===_7.SEMI)return this.emitNamedEntityData(this.treeIndex,X,this.consumed+this.excess);if(this.decodeMode!==yq.Strict&&(Y&qQ.FLAG13)===0)this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0}Q++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var J;let{result:Q,decodeTree:Z}=this,Y=(Z[Q]&qQ.VALUE_LENGTH)>>14;return this.emitNamedEntityData(Q,Y,this.consumed),(J=this.errors)===null||J===void 0||J.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(J,Q,Z){let{decodeTree:Y}=this;if(this.emitCodePoint(Q===1?Y[J]&~(qQ.VALUE_LENGTH|qQ.FLAG13):Y[J+1],Z),Q===3)this.emitCodePoint(Y[J+2],Z);return Z}end(){var J;switch(this.state){case x2.NamedEntity:return this.result!==0&&(this.decodeMode!==yq.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case x2.NumericDecimal:return this.emitNumericEntity(0,2);case x2.NumericHex:return this.emitNumericEntity(0,3);case x2.NumericStart:return(J=this.errors)===null||J===void 0||J.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case x2.EntityStart:return 0}}}function F96(J){let Q="",Z=new mj1(J,(Y)=>Q+=K96(Y));return function(X,G){let V=0,K=0;while((K=X.indexOf("&",K))>=0){Q+=X.slice(V,K),Z.startEntity(G);let W=Z.write(X,K+1);if(W<0){V=K+Z.end();break}V=K+W,K=W===0?V+1:V}let q=Q+X.slice(V);return Q="",q}}function QG8(J,Q,Z,Y){let X=(Q&qQ.BRANCH_LENGTH)>>7,G=Q&qQ.JUMP_TABLE;if(X===0)return G!==0&&Y===G?Z:-1;if(G){let W=Y-G;return W<0||W>=X?-1:J[Z+W]-1}let V=X+1>>1,K=0,q=X-1;while(K<=q){let W=K+q>>>1,H=W>>1,U=J[Z+H]>>(W&1)*8&255;if(U<Y)K=W+1;else if(U>Y)q=W-1;else return J[Z+V+W]}return-1}var ZG8=F96(W96),YG8=F96(H96);function Yg(J,Q=yq.Legacy){return ZG8(J,Q)}function u41(J){return YG8(J,yq.Strict)}var U96;(function(J){J[J.XML=0]="XML",J[J.HTML=1]="HTML"})(U96||(U96={}));var B96;(function(J){J[J.UTF8=0]="UTF8",J[J.ASCII=1]="ASCII",J[J.Extensive=2]="Extensive",J[J.Attribute=3]="Attribute",J[J.Text=4]="Text"})(B96||(B96={}));var JX=(J)=>{return J!=null},O0=(J)=>{return J!=null&&typeof J==="object"&&!Array.isArray(J)&&J.constructor===Object},XG8=/^\p{White_Space}*$/u,WQ=(J)=>{return typeof J==="string"&&J!==""&&!XG8.test(J)},iA=(J)=>{return typeof J==="number"||WQ(J)},j1=(J)=>{return J?.["#text"]??J},o7=(J,Q)=>{if(O0(J)){let Z=Q(J["@rdf:resource"]);if(JX(Z))return Z;let Y=Q(J["@resource"]);if(JX(Y))return Y}return Q(j1(J))},L0=(J)=>{let Q;for(let Z in J){let Y=J[Z];if(JX(Y)){if(!Q)Q={};Q[Z]=Y}}return Q},Xg=(J,Q)=>{if(!Array.isArray(J)||J.length===0)return;if(!Q){let Y=!1;for(let X=0;X<J.length;X++)if(!JX(J[X])){Y=!0;break}if(!Y)return J}let Z=[];for(let Y=0;Y<J.length;Y++){let X=Q?Q(J[Y]):J[Y];if(JX(X))Z.push(X)}return Z.length>0?Z:void 0};var gj1="<![CDATA[",$G8="]]>",GG8=(J)=>{if(typeof J!=="string")return J;let Q=J.indexOf(gj1);if(Q===-1)return J;let Z="",Y=0;while(Q!==-1){if(Z+=J.substring(Y,Q),Y=J.indexOf($G8,Q+9),Y===-1)return J;Z+=J.substring(Q+9,Y),Y+=3,Q=J.indexOf(gj1,Y)}return Z+=J.substring(Y),Z},D96=(J)=>{let Q=J.indexOf("&");return Q!==-1&&J.indexOf(";",Q)!==-1},G1=(J)=>{if(typeof J==="string"){if(J==="")return;let Q=J;if(J.indexOf(gj1)!==-1)Q=GG8(J);if(Q=Q.trim(),Q==="")return;if(D96(Q)){if(Q=u41(Q),D96(Q))Q=Yg(Q)}return Q||void 0}if(typeof J==="number")return J.toString()},j6=(J)=>{if(typeof J==="number")return J;if(WQ(J)){let Q=+J;return Number.isNaN(Q)?void 0:Q}},VG8=/^\p{White_Space}*true\p{White_Space}*$/iu,KG8=/^\p{White_Space}*false\p{White_Space}*$/iu,qG8=/^\p{White_Space}*yes\p{White_Space}*$/iu,UJ=(J)=>{if(typeof J==="boolean")return J;if(WQ(J)){if(VG8.test(J))return!0;if(KG8.test(J))return!1}},HQ=(J)=>{let Q=UJ(J);if(Q!==void 0)return Q;if(WQ(J))return qG8.test(J)},m8=(J)=>{return G1(J)},WG8=(J)=>{if(Array.isArray(J))return J;if(!O0(J))return;if(J.length)return Array.from(J);let Q=Object.keys(J);if(Q.length===0)return;for(let Z=0;Z<Q.length;Z++){let Y=Q[Z],X=Number(Y);if(!Number.isInteger(X)||X!==Z)return}return Object.values(J)},k0=(J,Q,Z)=>{let Y=WG8(J);if(!Y&&JX(J))Y=[J];if(Y)return Xg(HG8(Y,Z),Q)},HG8=(J,Q)=>{if(Q===void 0||Q<0)return J;if(Q===0)return[];return J.slice(0,Q)},uj1=(J)=>{return Array.isArray(J)?J[0]:J},L1=(J,Q)=>{return Q(uj1(J))},pB=(J,Q)=>{if(!iA(J))return;let Z=G1(J)?.split(",");if(Z)return Xg(Z,Q)};var wV=(J,Q=!1)=>{let Z=new Set,Y=new Set,X=(G)=>{if(Array.isArray(G)){for(let V of G)X(V);return}if(O0(G))for(let V in G){if(Y.has(V))continue;Y.add(V);let K=V.charCodeAt(0)===64?V.slice(1):V,q=K.indexOf(":");if(q>0)Z.add(K.slice(0,q));if(Q)X(G[V])}};return X(J),Z};var GC=(J,Q,Z)=>{let Y=(z)=>{return typeof z==="string"?z.trim().toLowerCase():z},X=Z&&J[Z]?J[Z].map(Y):void 0,G=(z,U,D)=>{let M=Y(z);if(X?.includes(M))return U;let L=Q[M];if(L)return`${L}:${U}`;return D},V=(z)=>{let U={};if(O0(z)){for(let D in z)if(D==="@xmlns")U[""]=Y(z[D]);else if(D.indexOf("@xmlns:")===0){let M=D.substring(7);U[M]=Y(z[D])}}return U},K=(z,U,D=!1)=>{let M=z.indexOf(":");if(M===-1){if(D&&U[""])return G(U[""],z,z);return z}let L=z.substring(0,M),A=z.substring(M+1),E=U[L];if(E)return G(E,A,z);return z},q=(z,U)=>{if(z.charCodeAt(0)===64)return`@${K(z.substring(1),U,!1)}`;return K(z,U,!0)},W=(z,U={})=>{if(!O0(z))return z;if(Array.isArray(z))return z.map((E)=>W(E,U));let D={},M=new Map,L=V(z),A={...U,...L};for(let E in z){let I=z[E];if(E.indexOf("@xmlns")===0){D[E]=I;continue}let P=q(E,A),T=W(I,A);if(!M.has(P))M.set(P,[]);let k=M.get(P);if(k)k.push(T)}for(let[E,I]of M)D[E]=I.length===1?I[0]:I;return D},H=(z)=>{if(!O0(z))return z;if(Array.isArray(z))return z.map(H);let U={};for(let D in z){let M=z[D],L=V(M),A=Object.keys(L).length?q(D,L):D;U[A]=W(M)}return U};return H},VC=(J)=>{if(O0(J))return J;if(!WQ(J)||J.length<2)return;let Q=J.charAt(0)==="{"||/^\s*\{/.test(J),Z=J.charAt(J.length-1)==="}"||/\}\s*$/.test(J);if(!Q||!Z)return;try{return JSON.parse(J)}catch{}};var p41=(J)=>{if(!WQ(J))return!1;if(!/(?:^|[\s>])<(?:\w+:)?feed[\s>]/im.test(J))return!1;let Q=J.includes("http://www.w3.org/2005/Atom"),Z=/(<(?:\w+:)?(entry|title|link|id|updated|summary)[\s>])/i.test(J);return Q||Z};var KC={trimValues:!1,processEntities:!1,htmlEntities:!1,parseTagValue:!1,parseAttributeValue:!1,alwaysCreateTextNode:!1,ignoreAttributes:!1,ignorePiTags:!0,ignoreDeclaration:!0,attributeNamePrefix:"@",transformTagName:(J)=>J.toLowerCase(),transformAttributeName:(J)=>J.toLowerCase()};var iZ={unrecognizedFeedFormat:"Unrecognized feed format",invalidFeedFormat:"Invalid feed format",invalidOpmlFormat:"Invalid OPML format",invalidInputOpml:"Invalid input OPML",invalidInputAtom:"Invalid input Atom",invalidInputRss:"Invalid input RSS"},nA={admin:["http://webns.net/mvcb/","https://webns.net/mvcb/","http://webns.net/mvcb","https://webns.net/mvcb"],atom:["http://www.w3.org/2005/Atom","https://www.w3.org/2005/Atom","http://www.w3.org/2005/Atom/","https://www.w3.org/2005/Atom/","http://purl.org/atom/ns#","https://purl.org/atom/ns#"],app:["http://www.w3.org/2007/app","https://www.w3.org/2007/app","http://www.w3.org/2007/app/","https://www.w3.org/2007/app/"],dc:["http://purl.org/dc/elements/1.1/","https://purl.org/dc/elements/1.1/","http://purl.org/dc/elements/1.1","https://purl.org/dc/elements/1.1","http://dublincore.org/documents/dcmi-namespace/","https://dublincore.org/documents/dcmi-namespace/","http://dublincore.org/documents/dcmi-namespace","https://dublincore.org/documents/dcmi-namespace","http://purl.org/dc/elements/1.0/","https://purl.org/dc/elements/1.0/","http://purl.org/dc/elements/1.0","https://purl.org/dc/elements/1.0"],sy:["http://purl.org/rss/1.0/modules/syndication/","https://purl.org/rss/1.0/modules/syndication/","http://purl.org/rss/1.0/modules/syndication","https://purl.org/rss/1.0/modules/syndication"],content:["http://purl.org/rss/1.0/modules/content/","https://purl.org/rss/1.0/modules/content/","http://purl.org/rss/1.0/modules/content","https://purl.org/rss/1.0/modules/content"],creativeCommons:["http://backend.userland.com/creativeCommonsRssModule","https://backend.userland.com/creativeCommonsRssModule","http://backend.userland.com/creativeCommonsRssModule/","https://backend.userland.com/creativeCommonsRssModule/","http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html","https://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html","http://cyber.law.harvard.edu/rss/creativeCommonsRssModule","https://cyber.law.harvard.edu/rss/creativeCommonsRssModule"],slash:["http://purl.org/rss/1.0/modules/slash/","https://purl.org/rss/1.0/modules/slash/","http://purl.org/rss/1.0/modules/slash","https://purl.org/rss/1.0/modules/slash"],itunes:["http://www.itunes.com/dtds/podcast-1.0.dtd","https://www.itunes.com/dtds/podcast-1.0.dtd"],podcast:["https://podcastindex.org/namespace/1.0","http://podcastindex.org/namespace/1.0","https://podcastindex.org/namespace/1.0/","http://podcastindex.org/namespace/1.0/","https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md"],psc:["http://podlove.org/simple-chapters","https://podlove.org/simple-chapters","http://podlove.org/simple-chapters/","https://podlove.org/simple-chapters/"],media:["http://search.yahoo.com/mrss/","https://search.yahoo.com/mrss/","http://search.yahoo.com/mrss","https://search.yahoo.com/mrss","http://video.search.yahoo.com/mrss","http://video.search.yahoo.com/mrss/","https://video.search.yahoo.com/mrss","https://video.search.yahoo.com/mrss/","http://www.rssboard.org/media-rss","http://www.rssboard.org/media-rss/","https://www.rssboard.org/media-rss","https://www.rssboard.org/media-rss/","http://search.yahoo.com/searchmonkey/media/","https://search.yahoo.com/searchmonkey/media/","http://search.yahoo.com/searchmonkey/media","https://search.yahoo.com/searchmonkey/media","http://tools.search.yahoo.com/mrss/","https://tools.search.yahoo.com/mrss/","http://tools.search.yahoo.com/mrss","https://tools.search.yahoo.com/mrss"],georss:["http://www.georss.org/georss","http://www.georss.org/georss/","https://www.georss.org/georss","https://www.georss.org/georss/"],geo:["http://www.w3.org/2003/01/geo/wgs84_pos#","https://www.w3.org/2003/01/geo/wgs84_pos#"],thr:["http://purl.org/syndication/thread/1.0","https://purl.org/syndication/thread/1.0","http://purl.org/syndication/thread/1.0/","https://purl.org/syndication/thread/1.0/","http://purl.org/rss/1.0/modules/threading/","https://purl.org/rss/1.0/modules/threading/","http://purl.org/rss/1.0/modules/threading","https://purl.org/rss/1.0/modules/threading"],dcterms:["http://purl.org/dc/terms/","https://purl.org/dc/terms/","http://purl.org/dc/terms","https://purl.org/dc/terms","http://dublincore.org/documents/dcmi-terms/","https://dublincore.org/documents/dcmi-terms/","http://dublincore.org/documents/dcmi-terms","https://dublincore.org/documents/dcmi-terms","http://dublincore.org/specifications/dublin-core/dcmi-terms/","https://dublincore.org/specifications/dublin-core/dcmi-terms/","http://dublincore.org/specifications/dublin-core/dcmi-terms","https://dublincore.org/specifications/dublin-core/dcmi-terms"],wfw:["http://wellformedweb.org/CommentAPI/","https://wellformedweb.org/CommentAPI/","http://wellformedweb.org/CommentAPI","https://wellformedweb.org/CommentAPI"],source:["http://source.scripting.com/","https://source.scripting.com/","http://source.scripting.com","https://source.scripting.com"],feedpress:["https://feed.press/xmlns","http://feed.press/xmlns","https://feed.press/xmlns/","http://feed.press/xmlns/","https://feedpress.com/xmlns","http://feedpress.com/xmlns","https://feedpress.com/xmlns/","http://feedpress.com/xmlns/","http://feedpress.it/xmlns","https://feedpress.it/xmlns","http://feedpress.it/xmlns/","https://feedpress.it/xmlns/"],yt:["http://www.youtube.com/xml/schemas/2015","https://www.youtube.com/xml/schemas/2015","http://www.youtube.com/xml/schemas/2015/","https://www.youtube.com/xml/schemas/2015/"],googleplay:["https://www.google.com/schemas/play-podcasts/1.0/","http://www.google.com/schemas/play-podcasts/1.0/","https://www.google.com/schemas/play-podcasts/1.0","http://www.google.com/schemas/play-podcasts/1.0","https://www.google.com/schemas/play-podcasts/1.0/play-podcasts.xsd","http://www.google.com/schemas/play-podcasts/1.0/play-podcasts.xsd"],spotify:["http://www.spotify.com/ns/rss","https://www.spotify.com/ns/rss","http://www.spotify.com/ns/rss/","https://www.spotify.com/ns/rss/"],rdf:["http://www.w3.org/1999/02/22-rdf-syntax-ns#","https://www.w3.org/1999/02/22-rdf-syntax-ns#"],rawvoice:["http://www.rawvoice.com/rawvoiceRssModule/","https://www.rawvoice.com/rawvoiceRssModule/","http://www.rawvoice.com/rawvoiceRssModule","https://www.rawvoice.com/rawvoiceRssModule","https://blubrry.com/developer/rawvoice-rss","http://blubrry.com/developer/rawvoice-rss","https://blubrry.com/developer/rawvoice-rss/","http://blubrry.com/developer/rawvoice-rss/"],cc:["http://creativecommons.org/ns#","https://creativecommons.org/ns#","http://web.resource.org/cc/","https://web.resource.org/cc/","http://web.resource.org/cc","https://web.resource.org/cc"],opensearch:["http://a9.com/-/spec/opensearch/1.1/","https://a9.com/-/spec/opensearch/1.1/","http://a9.com/-/spec/opensearch/1.0/","https://a9.com/-/spec/opensearch/1.0/","http://a9.com/-/spec/opensearchrss/1.0/","https://a9.com/-/spec/opensearchrss/1.0/"],arxiv:["http://arxiv.org/schemas/atom","https://arxiv.org/schemas/atom","http://arxiv.org/schemas/atom/","https://arxiv.org/schemas/atom/"],pingback:["http://madskills.com/public/xml/rss/module/pingback/","https://madskills.com/public/xml/rss/module/pingback/","http://madskills.com/public/xml/rss/module/pingback","https://madskills.com/public/xml/rss/module/pingback"],trackback:["http://madskills.com/public/xml/rss/module/trackback/","https://madskills.com/public/xml/rss/module/trackback/","http://madskills.com/public/xml/rss/module/trackback","https://madskills.com/public/xml/rss/module/trackback"]},qC=Object.entries(nA).reduce((J,[Q,Z])=>{for(let Y of Z){let X=Y.toLowerCase();J[X]=Q.toLowerCase()}return J},{});var zG8=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",FG8="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]["+zG8+"]*",UG8=new RegExp("^"+FG8+"$");function d41(J,Q){let Z=[],Y=Q.exec(J);while(Y){let X=[];X.startIndex=Q.lastIndex-Y[0].length;let G=Y.length;for(let V=0;V<G;V++)X.push(Y[V]);Z.push(X),Y=Q.exec(J)}return Z}var WC=function(J){let Q=UG8.exec(J);return!(Q===null||typeof Q>"u")};function M96(J){return typeof J<"u"}var BG8={allowBooleanAttributes:!1,unpairedTags:[]};function E96(J,Q){Q=Object.assign({},BG8,Q);let Z=[],Y=!1,X=!1;if(J[0]==="\uFEFF")J=J.substr(1);for(let G=0;G<J.length;G++)if(J[G]==="<"&&J[G+1]==="?"){if(G+=2,G=A96(J,G),G.err)return G}else if(J[G]==="<"){let V=G;if(G++,J[G]==="!"){G=O96(J,G);continue}else{let K=!1;if(J[G]==="/")K=!0,G++;let q="";for(;G<J.length&&J[G]!==">"&&J[G]!==" "&&J[G]!=="\t"&&J[G]!==`
4747
+ */var YC=9000000000000000,uB=1e9,jj1="0123456789abcdef",y41="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",x41="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Sj1={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-YC,maxE:YC,crypto:!1},a86,Qz,K8=!0,f41="[DecimalError] ",gB=f41+"Invalid argument: ",o86=f41+"Precision limit exceeded",r86=f41+"crypto unavailable",s86="[object Decimal]",KQ=Math.floor,$2=Math.pow,tX8=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,eX8=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,J$8=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,t86=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,OV=1e7,a4=7,Q$8=9007199254740991,Z$8=y41.length-1,_j1=x41.length-1,$6={toStringTag:s86};$6.absoluteValue=$6.abs=function(){var J=new this.constructor(this);if(J.s<0)J.s=1;return k4(J)};$6.ceil=function(){return k4(new this.constructor(this),this.e+1,2)};$6.clampedTo=$6.clamp=function(J,Q){var Z,Y=this,X=Y.constructor;if(J=new X(J),Q=new X(Q),!J.s||!Q.s)return new X(NaN);if(J.gt(Q))throw Error(gB+Q);return Z=Y.cmp(J),Z<0?J:Y.cmp(Q)>0?Q:new X(Y)};$6.comparedTo=$6.cmp=function(J){var Q,Z,Y,X,G=this,V=G.d,K=(J=new G.constructor(J)).d,q=G.s,W=J.s;if(!V||!K)return!q||!W?NaN:q!==W?q:V===K?0:!V^q<0?1:-1;if(!V[0]||!K[0])return V[0]?q:K[0]?-W:0;if(q!==W)return q;if(G.e!==J.e)return G.e>J.e^q<0?1:-1;Y=V.length,X=K.length;for(Q=0,Z=Y<X?Y:X;Q<Z;++Q)if(V[Q]!==K[Q])return V[Q]>K[Q]^q<0?1:-1;return Y===X?0:Y>X^q<0?1:-1};$6.cosine=$6.cos=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.d)return new Y(NaN);if(!Z.d[0])return new Y(1);return J=Y.precision,Q=Y.rounding,Y.precision=J+Math.max(Z.e,Z.sd())+a4,Y.rounding=1,Z=Y$8(Y,Y96(Y,Z)),Y.precision=J,Y.rounding=Q,k4(Qz==2||Qz==3?Z.neg():Z,J,Q,!0)};$6.cubeRoot=$6.cbrt=function(){var J,Q,Z,Y,X,G,V,K,q,W,H=this,z=H.constructor;if(!H.isFinite()||H.isZero())return new z(H);if(K8=!1,G=H.s*$2(H.s*H,0.3333333333333333),!G||Math.abs(G)==1/0){if(Z=FJ(H.d),J=H.e,G=(J-Z.length+1)%3)Z+=G==1||G==-2?"0":"00";if(G=$2(Z,0.3333333333333333),J=KQ((J+1)/3)-(J%3==(J<0?-1:2)),G==1/0)Z="5e"+J;else Z=G.toExponential(),Z=Z.slice(0,Z.indexOf("e")+1)+J;Y=new z(Z),Y.s=H.s}else Y=new z(G.toString());V=(J=z.precision)+3;for(;;)if(K=Y,q=K.times(K).times(K),W=q.plus(H),Y=v5(W.plus(H).times(K),W.plus(q),V+2,1),FJ(K.d).slice(0,V)===(Z=FJ(Y.d)).slice(0,V))if(Z=Z.slice(V-3,V+1),Z=="9999"||!X&&Z=="4999"){if(!X){if(k4(K,J+1,0),K.times(K).times(K).eq(H)){Y=K;break}}V+=4,X=1}else{if(!+Z||!+Z.slice(1)&&Z.charAt(0)=="5")k4(Y,J+1,1),Q=!Y.times(Y).times(Y).eq(H);break}return K8=!0,k4(Y,J,z.rounding,Q)};$6.decimalPlaces=$6.dp=function(){var J,Q=this.d,Z=NaN;if(Q){if(J=Q.length-1,Z=(J-KQ(this.e/a4))*a4,J=Q[J],J)for(;J%10==0;J/=10)Z--;if(Z<0)Z=0}return Z};$6.dividedBy=$6.div=function(J){return v5(this,new this.constructor(J))};$6.dividedToIntegerBy=$6.divToInt=function(J){var Q=this,Z=Q.constructor;return k4(v5(Q,new Z(J),0,1,1),Z.precision,Z.rounding)};$6.equals=$6.eq=function(J){return this.cmp(J)===0};$6.floor=function(){return k4(new this.constructor(this),this.e+1,3)};$6.greaterThan=$6.gt=function(J){return this.cmp(J)>0};$6.greaterThanOrEqualTo=$6.gte=function(J){var Q=this.cmp(J);return Q==1||Q===0};$6.hyperbolicCosine=$6.cosh=function(){var J,Q,Z,Y,X,G=this,V=G.constructor,K=new V(1);if(!G.isFinite())return new V(G.s?1/0:NaN);if(G.isZero())return K;if(Z=V.precision,Y=V.rounding,V.precision=Z+Math.max(G.e,G.sd())+4,V.rounding=1,X=G.d.length,X<32)J=Math.ceil(X/3),Q=(1/b41(4,J)).toString();else J=16,Q="2.3283064365386962890625e-10";G=XC(V,1,G.times(Q),new V(1),!0);var q,W=J,H=new V(8);for(;W--;)q=G.times(G),G=K.minus(q.times(H.minus(q.times(H))));return k4(G,V.precision=Z,V.rounding=Y,!0)};$6.hyperbolicSine=$6.sinh=function(){var J,Q,Z,Y,X=this,G=X.constructor;if(!X.isFinite()||X.isZero())return new G(X);if(Q=G.precision,Z=G.rounding,G.precision=Q+Math.max(X.e,X.sd())+4,G.rounding=1,Y=X.d.length,Y<3)X=XC(G,2,X,X,!0);else{J=1.4*Math.sqrt(Y),J=J>16?16:J|0,X=X.times(1/b41(5,J)),X=XC(G,2,X,X,!0);var V,K=new G(5),q=new G(16),W=new G(20);for(;J--;)V=X.times(X),X=X.times(K.plus(V.times(q.times(V).plus(W))))}return G.precision=Q,G.rounding=Z,k4(X,Q,Z,!0)};$6.hyperbolicTangent=$6.tanh=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite())return new Y(Z.s);if(Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+7,Y.rounding=1,v5(Z.sinh(),Z.cosh(),Y.precision=J,Y.rounding=Q)};$6.inverseCosine=$6.acos=function(){var J=this,Q=J.constructor,Z=J.abs().cmp(1),Y=Q.precision,X=Q.rounding;if(Z!==-1)return Z===0?J.isNeg()?Sq(Q,Y,X):new Q(0):new Q(NaN);if(J.isZero())return Sq(Q,Y+4,X).times(0.5);return Q.precision=Y+6,Q.rounding=1,J=new Q(1).minus(J).div(J.plus(1)).sqrt().atan(),Q.precision=Y,Q.rounding=X,J.times(2)};$6.inverseHyperbolicCosine=$6.acosh=function(){var J,Q,Z=this,Y=Z.constructor;if(Z.lte(1))return new Y(Z.eq(1)?0:NaN);if(!Z.isFinite())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+Math.max(Math.abs(Z.e),Z.sd())+4,Y.rounding=1,K8=!1,Z=Z.times(Z).minus(1).sqrt().plus(Z),K8=!0,Y.precision=J,Y.rounding=Q,Z.ln()};$6.inverseHyperbolicSine=$6.asinh=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite()||Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+2*Math.max(Math.abs(Z.e),Z.sd())+6,Y.rounding=1,K8=!1,Z=Z.times(Z).plus(1).sqrt().plus(Z),K8=!0,Y.precision=J,Y.rounding=Q,Z.ln()};$6.inverseHyperbolicTangent=$6.atanh=function(){var J,Q,Z,Y,X=this,G=X.constructor;if(!X.isFinite())return new G(NaN);if(X.e>=0)return new G(X.abs().eq(1)?X.s/0:X.isZero()?X:NaN);if(J=G.precision,Q=G.rounding,Y=X.sd(),Math.max(Y,J)<2*-X.e-1)return k4(new G(X),J,Q,!0);return G.precision=Z=Y-X.e,X=v5(X.plus(1),new G(1).minus(X),Z+J,1),G.precision=J+4,G.rounding=1,X=X.ln(),G.precision=J,G.rounding=Q,X.times(0.5)};$6.inverseSine=$6.asin=function(){var J,Q,Z,Y,X=this,G=X.constructor;if(X.isZero())return new G(X);if(Q=X.abs().cmp(1),Z=G.precision,Y=G.rounding,Q!==-1){if(Q===0)return J=Sq(G,Z+4,Y).times(0.5),J.s=X.s,J;return new G(NaN)}return G.precision=Z+6,G.rounding=1,X=X.div(new G(1).minus(X.times(X)).sqrt().plus(1)).atan(),G.precision=Z,G.rounding=Y,X.times(2)};$6.inverseTangent=$6.atan=function(){var J,Q,Z,Y,X,G,V,K,q,W=this,H=W.constructor,z=H.precision,U=H.rounding;if(!W.isFinite()){if(!W.s)return new H(NaN);if(z+4<=_j1)return V=Sq(H,z+4,U).times(0.5),V.s=W.s,V}else if(W.isZero())return new H(W);else if(W.abs().eq(1)&&z+4<=_j1)return V=Sq(H,z+4,U).times(0.25),V.s=W.s,V;H.precision=K=z+10,H.rounding=1,Z=Math.min(28,K/a4+2|0);for(J=Z;J;--J)W=W.div(W.times(W).plus(1).sqrt().plus(1));K8=!1,Q=Math.ceil(K/a4),Y=1,q=W.times(W),V=new H(W),X=W;for(;J!==-1;)if(X=X.times(q),G=V.minus(X.div(Y+=2)),X=X.times(q),V=G.plus(X.div(Y+=2)),V.d[Q]!==void 0)for(J=Q;V.d[J]===G.d[J]&&J--;);if(Z)V=V.times(2<<Z-1);return K8=!0,k4(V,H.precision=z,H.rounding=U,!0)};$6.isFinite=function(){return!!this.d};$6.isInteger=$6.isInt=function(){return!!this.d&&KQ(this.e/a4)>this.d.length-2};$6.isNaN=function(){return!this.s};$6.isNegative=$6.isNeg=function(){return this.s<0};$6.isPositive=$6.isPos=function(){return this.s>0};$6.isZero=function(){return!!this.d&&this.d[0]===0};$6.lessThan=$6.lt=function(J){return this.cmp(J)<0};$6.lessThanOrEqualTo=$6.lte=function(J){return this.cmp(J)<1};$6.logarithm=$6.log=function(J){var Q,Z,Y,X,G,V,K,q,W=this,H=W.constructor,z=H.precision,U=H.rounding,D=5;if(J==null)J=new H(10),Q=!0;else{if(J=new H(J),Z=J.d,J.s<0||!Z||!Z[0]||J.eq(1))return new H(NaN);Q=J.eq(10)}if(Z=W.d,W.s<0||!Z||!Z[0]||W.eq(1))return new H(Z&&!Z[0]?-1/0:W.s!=1?NaN:Z?0:1/0);if(Q)if(Z.length>1)G=!0;else{for(X=Z[0];X%10===0;)X/=10;G=X!==1}if(K8=!1,K=z+D,V=mB(W,K),Y=Q?v41(H,K+10):mB(J,K),q=v5(V,Y,K,1),Qg(q.d,X=z,U))do if(K+=10,V=mB(W,K),Y=Q?v41(H,K+10):mB(J,K),q=v5(V,Y,K,1),!G){if(+FJ(q.d).slice(X+1,X+15)+1==100000000000000)q=k4(q,z+1,0);break}while(Qg(q.d,X+=10,U));return K8=!0,k4(q,z,U)};$6.minus=$6.sub=function(J){var Q,Z,Y,X,G,V,K,q,W,H,z,U,D=this,M=D.constructor;if(J=new M(J),!D.d||!J.d){if(!D.s||!J.s)J=new M(NaN);else if(D.d)J.s=-J.s;else J=new M(J.d||D.s!==J.s?D:NaN);return J}if(D.s!=J.s)return J.s=-J.s,D.plus(J);if(W=D.d,U=J.d,K=M.precision,q=M.rounding,!W[0]||!U[0]){if(U[0])J.s=-J.s;else if(W[0])J=new M(D);else return new M(q===3?-0:0);return K8?k4(J,K,q):J}if(Z=KQ(J.e/a4),H=KQ(D.e/a4),W=W.slice(),G=H-Z,G){if(z=G<0,z)Q=W,G=-G,V=U.length;else Q=U,Z=H,V=W.length;if(Y=Math.max(Math.ceil(K/a4),V)+2,G>Y)G=Y,Q.length=1;Q.reverse();for(Y=G;Y--;)Q.push(0);Q.reverse()}else{if(Y=W.length,V=U.length,z=Y<V,z)V=Y;for(Y=0;Y<V;Y++)if(W[Y]!=U[Y]){z=W[Y]<U[Y];break}G=0}if(z)Q=W,W=U,U=Q,J.s=-J.s;V=W.length;for(Y=U.length-V;Y>0;--Y)W[V++]=0;for(Y=U.length;Y>G;){if(W[--Y]<U[Y]){for(X=Y;X&&W[--X]===0;)W[X]=OV-1;--W[X],W[Y]+=OV}W[Y]-=U[Y]}for(;W[--V]===0;)W.pop();for(;W[0]===0;W.shift())--Z;if(!W[0])return new M(q===3?-0:0);return J.d=W,J.e=h41(W,Z),K8?k4(J,K,q):J};$6.modulo=$6.mod=function(J){var Q,Z=this,Y=Z.constructor;if(J=new Y(J),!Z.d||!J.s||J.d&&!J.d[0])return new Y(NaN);if(!J.d||Z.d&&!Z.d[0])return k4(new Y(Z),Y.precision,Y.rounding);if(K8=!1,Y.modulo==9)Q=v5(Z,J.abs(),0,3,1),Q.s*=J.s;else Q=v5(Z,J,0,Y.modulo,1);return Q=Q.times(J),K8=!0,Z.minus(Q)};$6.naturalExponential=$6.exp=function(){return kj1(this)};$6.naturalLogarithm=$6.ln=function(){return mB(this)};$6.negated=$6.neg=function(){var J=new this.constructor(this);return J.s=-J.s,k4(J)};$6.plus=$6.add=function(J){var Q,Z,Y,X,G,V,K,q,W,H,z=this,U=z.constructor;if(J=new U(J),!z.d||!J.d){if(!z.s||!J.s)J=new U(NaN);else if(!z.d)J=new U(J.d||z.s===J.s?z:NaN);return J}if(z.s!=J.s)return J.s=-J.s,z.minus(J);if(W=z.d,H=J.d,K=U.precision,q=U.rounding,!W[0]||!H[0]){if(!H[0])J=new U(z);return K8?k4(J,K,q):J}if(G=KQ(z.e/a4),Y=KQ(J.e/a4),W=W.slice(),X=G-Y,X){if(X<0)Z=W,X=-X,V=H.length;else Z=H,Y=G,V=W.length;if(G=Math.ceil(K/a4),V=G>V?G+1:V+1,X>V)X=V,Z.length=1;Z.reverse();for(;X--;)Z.push(0);Z.reverse()}if(V=W.length,X=H.length,V-X<0)X=V,Z=H,H=W,W=Z;for(Q=0;X;)Q=(W[--X]=W[X]+H[X]+Q)/OV|0,W[X]%=OV;if(Q)W.unshift(Q),++Y;for(V=W.length;W[--V]==0;)W.pop();return J.d=W,J.e=h41(W,Y),K8?k4(J,K,q):J};$6.precision=$6.sd=function(J){var Q,Z=this;if(J!==void 0&&J!==!!J&&J!==1&&J!==0)throw Error(gB+J);if(Z.d){if(Q=e86(Z.d),J&&Z.e+1>Q)Q=Z.e+1}else Q=NaN;return Q};$6.round=function(){var J=this,Q=J.constructor;return k4(new Q(J),J.e+1,Q.rounding)};$6.sine=$6.sin=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite())return new Y(NaN);if(Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+Math.max(Z.e,Z.sd())+a4,Y.rounding=1,Z=$$8(Y,Y96(Y,Z)),Y.precision=J,Y.rounding=Q,k4(Qz>2?Z.neg():Z,J,Q,!0)};$6.squareRoot=$6.sqrt=function(){var J,Q,Z,Y,X,G,V=this,K=V.d,q=V.e,W=V.s,H=V.constructor;if(W!==1||!K||!K[0])return new H(!W||W<0&&(!K||K[0])?NaN:K?V:1/0);if(K8=!1,W=Math.sqrt(+V),W==0||W==1/0){if(Q=FJ(K),(Q.length+q)%2==0)Q+="0";if(W=Math.sqrt(Q),q=KQ((q+1)/2)-(q<0||q%2),W==1/0)Q="5e"+q;else Q=W.toExponential(),Q=Q.slice(0,Q.indexOf("e")+1)+q;Y=new H(Q)}else Y=new H(W.toString());Z=(q=H.precision)+3;for(;;)if(G=Y,Y=G.plus(v5(V,G,Z+2,1)).times(0.5),FJ(G.d).slice(0,Z)===(Q=FJ(Y.d)).slice(0,Z))if(Q=Q.slice(Z-3,Z+1),Q=="9999"||!X&&Q=="4999"){if(!X){if(k4(G,q+1,0),G.times(G).eq(V)){Y=G;break}}Z+=4,X=1}else{if(!+Q||!+Q.slice(1)&&Q.charAt(0)=="5")k4(Y,q+1,1),J=!Y.times(Y).eq(V);break}return K8=!0,k4(Y,q,H.rounding,J)};$6.tangent=$6.tan=function(){var J,Q,Z=this,Y=Z.constructor;if(!Z.isFinite())return new Y(NaN);if(Z.isZero())return new Y(Z);return J=Y.precision,Q=Y.rounding,Y.precision=J+10,Y.rounding=1,Z=Z.sin(),Z.s=1,Z=v5(Z,new Y(1).minus(Z.times(Z)).sqrt(),J+10,0),Y.precision=J,Y.rounding=Q,k4(Qz==2||Qz==4?Z.neg():Z,J,Q,!0)};$6.times=$6.mul=function(J){var Q,Z,Y,X,G,V,K,q,W,H=this,z=H.constructor,U=H.d,D=(J=new z(J)).d;if(J.s*=H.s,!U||!U[0]||!D||!D[0])return new z(!J.s||U&&!U[0]&&!D||D&&!D[0]&&!U?NaN:!U||!D?J.s/0:J.s*0);if(Z=KQ(H.e/a4)+KQ(J.e/a4),q=U.length,W=D.length,q<W)G=U,U=D,D=G,V=q,q=W,W=V;G=[],V=q+W;for(Y=V;Y--;)G.push(0);for(Y=W;--Y>=0;){Q=0;for(X=q+Y;X>Y;)K=G[X]+D[Y]*U[X-Y-1]+Q,G[X--]=K%OV|0,Q=K/OV|0;G[X]=(G[X]+Q)%OV|0}for(;!G[--V];)G.pop();if(Q)++Z;else G.shift();return J.d=G,J.e=h41(G,Z),K8?k4(J,z.precision,z.rounding):J};$6.toBinary=function(J,Q){return yj1(this,2,J,Q)};$6.toDecimalPlaces=$6.toDP=function(J,Q){var Z=this,Y=Z.constructor;if(Z=new Y(Z),J===void 0)return Z;if(lZ(J,0,uB),Q===void 0)Q=Y.rounding;else lZ(Q,0,8);return k4(Z,J+Z.e+1,Q)};$6.toExponential=function(J,Q){var Z,Y=this,X=Y.constructor;if(J===void 0)Z=_q(Y,!0);else{if(lZ(J,0,uB),Q===void 0)Q=X.rounding;else lZ(Q,0,8);Y=k4(new X(Y),J+1,Q),Z=_q(Y,!0,J+1)}return Y.isNeg()&&!Y.isZero()?"-"+Z:Z};$6.toFixed=function(J,Q){var Z,Y,X=this,G=X.constructor;if(J===void 0)Z=_q(X);else{if(lZ(J,0,uB),Q===void 0)Q=G.rounding;else lZ(Q,0,8);Y=k4(new G(X),J+X.e+1,Q),Z=_q(Y,!1,J+Y.e+1)}return X.isNeg()&&!X.isZero()?"-"+Z:Z};$6.toFraction=function(J){var Q,Z,Y,X,G,V,K,q,W,H,z,U,D=this,M=D.d,L=D.constructor;if(!M)return new L(D);if(W=Z=new L(1),Y=q=new L(0),Q=new L(Y),G=Q.e=e86(M)-D.e-1,V=G%a4,Q.d[0]=$2(10,V<0?a4+V:V),J==null)J=G>0?Q:W;else{if(K=new L(J),!K.isInt()||K.lt(W))throw Error(gB+K);J=K.gt(Q)?G>0?Q:W:K}K8=!1,K=new L(FJ(M)),H=L.precision,L.precision=G=M.length*a4*2;for(;;){if(z=v5(K,Q,0,1,1),X=Z.plus(z.times(Y)),X.cmp(J)==1)break;Z=Y,Y=X,X=W,W=q.plus(z.times(X)),q=X,X=Q,Q=K.minus(z.times(X)),K=X}return X=v5(J.minus(Z),Y,0,1,1),q=q.plus(X.times(W)),Z=Z.plus(X.times(Y)),q.s=W.s=D.s,U=v5(W,Y,G,1).minus(D).abs().cmp(v5(q,Z,G,1).minus(D).abs())<1?[W,Y]:[q,Z],L.precision=H,K8=!0,U};$6.toHexadecimal=$6.toHex=function(J,Q){return yj1(this,16,J,Q)};$6.toNearest=function(J,Q){var Z=this,Y=Z.constructor;if(Z=new Y(Z),J==null){if(!Z.d)return Z;J=new Y(1),Q=Y.rounding}else{if(J=new Y(J),Q===void 0)Q=Y.rounding;else lZ(Q,0,8);if(!Z.d)return J.s?Z:J;if(!J.d){if(J.s)J.s=Z.s;return J}}if(J.d[0])K8=!1,Z=v5(Z,J,0,Q,1).times(J),K8=!0,k4(Z);else J.s=Z.s,Z=J;return Z};$6.toNumber=function(){return+this};$6.toOctal=function(J,Q){return yj1(this,8,J,Q)};$6.toPower=$6.pow=function(J){var Q,Z,Y,X,G,V,K=this,q=K.constructor,W=+(J=new q(J));if(!K.d||!J.d||!K.d[0]||!J.d[0])return new q($2(+K,W));if(K=new q(K),K.eq(1))return K;if(Y=q.precision,G=q.rounding,J.eq(1))return k4(K,Y,G);if(Q=KQ(J.e/a4),Q>=J.d.length-1&&(Z=W<0?-W:W)<=Q$8)return X=J96(q,K,Z,Y),J.s<0?new q(1).div(X):k4(X,Y,G);if(V=K.s,V<0){if(Q<J.d.length-1)return new q(NaN);if((J.d[Q]&1)==0)V=1;if(K.e==0&&K.d[0]==1&&K.d.length==1)return K.s=V,K}if(Z=$2(+K,W),Q=Z==0||!isFinite(Z)?KQ(W*(Math.log("0."+FJ(K.d))/Math.LN10+K.e+1)):new q(Z+"").e,Q>q.maxE+1||Q<q.minE-1)return new q(Q>0?V/0:0);if(K8=!1,q.rounding=K.s=1,Z=Math.min(12,(Q+"").length),X=kj1(J.times(mB(K,Y+Z)),Y),X.d){if(X=k4(X,Y+5,1),Qg(X.d,Y,G)){if(Q=Y+10,X=k4(kj1(J.times(mB(K,Q+Z)),Q),Q+5,1),+FJ(X.d).slice(Y+1,Y+15)+1==100000000000000)X=k4(X,Y+1,0)}}return X.s=V,K8=!0,q.rounding=G,k4(X,Y,G)};$6.toPrecision=function(J,Q){var Z,Y=this,X=Y.constructor;if(J===void 0)Z=_q(Y,Y.e<=X.toExpNeg||Y.e>=X.toExpPos);else{if(lZ(J,1,uB),Q===void 0)Q=X.rounding;else lZ(Q,0,8);Y=k4(new X(Y),J,Q),Z=_q(Y,J<=Y.e||Y.e<=X.toExpNeg,J)}return Y.isNeg()&&!Y.isZero()?"-"+Z:Z};$6.toSignificantDigits=$6.toSD=function(J,Q){var Z=this,Y=Z.constructor;if(J===void 0)J=Y.precision,Q=Y.rounding;else if(lZ(J,1,uB),Q===void 0)Q=Y.rounding;else lZ(Q,0,8);return k4(new Y(Z),J,Q)};$6.toString=function(){var J=this,Q=J.constructor,Z=_q(J,J.e<=Q.toExpNeg||J.e>=Q.toExpPos);return J.isNeg()&&!J.isZero()?"-"+Z:Z};$6.truncated=$6.trunc=function(){return k4(new this.constructor(this),this.e+1,1)};$6.valueOf=$6.toJSON=function(){var J=this,Q=J.constructor,Z=_q(J,J.e<=Q.toExpNeg||J.e>=Q.toExpPos);return J.isNeg()?"-"+Z:Z};function FJ(J){var Q,Z,Y,X=J.length-1,G="",V=J[0];if(X>0){G+=V;for(Q=1;Q<X;Q++){if(Y=J[Q]+"",Z=a4-Y.length,Z)G+=bB(Z);G+=Y}if(V=J[Q],Y=V+"",Z=a4-Y.length,Z)G+=bB(Z)}else if(V===0)return"0";for(;V%10===0;)V/=10;return G+V}function lZ(J,Q,Z){if(J!==~~J||J<Q||J>Z)throw Error(gB+J)}function Qg(J,Q,Z,Y){var X,G,V,K;for(G=J[0];G>=10;G/=10)--Q;if(--Q<0)Q+=a4,X=0;else X=Math.ceil((Q+1)/a4),Q%=a4;if(G=$2(10,a4-Q),K=J[X]%G|0,Y==null)if(Q<3){if(Q==0)K=K/100|0;else if(Q==1)K=K/10|0;V=Z<4&&K==99999||Z>3&&K==49999||K==50000||K==0}else V=(Z<4&&K+1==G||Z>3&&K+1==G/2)&&(J[X+1]/G/100|0)==$2(10,Q-2)-1||(K==G/2||K==0)&&(J[X+1]/G/100|0)==0;else if(Q<4){if(Q==0)K=K/1000|0;else if(Q==1)K=K/100|0;else if(Q==2)K=K/10|0;V=(Y||Z<4)&&K==9999||!Y&&Z>3&&K==4999}else V=((Y||Z<4)&&K+1==G||!Y&&Z>3&&K+1==G/2)&&(J[X+1]/G/1000|0)==$2(10,Q-3)-1;return V}function _41(J,Q,Z){var Y,X=[0],G,V=0,K=J.length;for(;V<K;){for(G=X.length;G--;)X[G]*=Q;X[0]+=jj1.indexOf(J.charAt(V++));for(Y=0;Y<X.length;Y++)if(X[Y]>Z-1){if(X[Y+1]===void 0)X[Y+1]=0;X[Y+1]+=X[Y]/Z|0,X[Y]%=Z}}return X.reverse()}function Y$8(J,Q){var Z,Y,X;if(Q.isZero())return Q;if(Y=Q.d.length,Y<32)Z=Math.ceil(Y/3),X=(1/b41(4,Z)).toString();else Z=16,X="2.3283064365386962890625e-10";J.precision+=Z,Q=XC(J,1,Q.times(X),new J(1));for(var G=Z;G--;){var V=Q.times(Q);Q=V.times(V).minus(V).times(8).plus(1)}return J.precision-=Z,Q}var v5=function(){function J(Y,X,G){var V,K=0,q=Y.length;for(Y=Y.slice();q--;)V=Y[q]*X+K,Y[q]=V%G|0,K=V/G|0;if(K)Y.unshift(K);return Y}function Q(Y,X,G,V){var K,q;if(G!=V)q=G>V?1:-1;else for(K=q=0;K<G;K++)if(Y[K]!=X[K]){q=Y[K]>X[K]?1:-1;break}return q}function Z(Y,X,G,V){var K=0;for(;G--;)Y[G]-=K,K=Y[G]<X[G]?1:0,Y[G]=K*V+Y[G]-X[G];for(;!Y[0]&&Y.length>1;)Y.shift()}return function(Y,X,G,V,K,q){var W,H,z,U,D,M,L,A,E,I,P,T,k,y,v,g,p,b,a,V1,t=Y.constructor,c=Y.s==X.s?1:-1,J1=Y.d,q1=X.d;if(!J1||!J1[0]||!q1||!q1[0])return new t(!Y.s||!X.s||(J1?q1&&J1[0]==q1[0]:!q1)?NaN:J1&&J1[0]==0||!q1?c*0:c/0);if(q)D=1,H=Y.e-X.e;else q=OV,D=a4,H=KQ(Y.e/D)-KQ(X.e/D);a=q1.length,p=J1.length,E=new t(c),I=E.d=[];for(z=0;q1[z]==(J1[z]||0);z++);if(q1[z]>(J1[z]||0))H--;if(G==null)y=G=t.precision,V=t.rounding;else if(K)y=G+(Y.e-X.e)+1;else y=G;if(y<0)I.push(1),M=!0;else{if(y=y/D+2|0,z=0,a==1){U=0,q1=q1[0],y++;for(;(z<p||U)&&y--;z++)v=U*q+(J1[z]||0),I[z]=v/q1|0,U=v%q1|0;M=U||z<p}else{if(U=q/(q1[0]+1)|0,U>1)q1=J(q1,U,q),J1=J(J1,U,q),a=q1.length,p=J1.length;g=a,P=J1.slice(0,a),T=P.length;for(;T<a;)P[T++]=0;if(V1=q1.slice(),V1.unshift(0),b=q1[0],q1[1]>=q/2)++b;do{if(U=0,W=Q(q1,P,a,T),W<0){if(k=P[0],a!=T)k=k*q+(P[1]||0);if(U=k/b|0,U>1){if(U>=q)U=q-1;if(L=J(q1,U,q),A=L.length,T=P.length,W=Q(L,P,A,T),W==1)U--,Z(L,a<A?V1:q1,A,q)}else{if(U==0)W=U=1;L=q1.slice()}if(A=L.length,A<T)L.unshift(0);if(Z(P,L,T,q),W==-1){if(T=P.length,W=Q(q1,P,a,T),W<1)U++,Z(P,a<T?V1:q1,T,q)}T=P.length}else if(W===0)U++,P=[0];if(I[z++]=U,W&&P[0])P[T++]=J1[g]||0;else P=[J1[g]],T=1}while((g++<p||P[0]!==void 0)&&y--);M=P[0]!==void 0}if(!I[0])I.shift()}if(D==1)E.e=H,a86=M;else{for(z=1,U=I[0];U>=10;U/=10)z++;E.e=z+H*D-1,k4(E,K?G+E.e+1:G,V,M)}return E}}();function k4(J,Q,Z,Y){var X,G,V,K,q,W,H,z,U,D=J.constructor;J:if(Q!=null){if(z=J.d,!z)return J;for(X=1,K=z[0];K>=10;K/=10)X++;if(G=Q-X,G<0)G+=a4,V=Q,H=z[U=0],q=H/$2(10,X-V-1)%10|0;else if(U=Math.ceil((G+1)/a4),K=z.length,U>=K)if(Y){for(;K++<=U;)z.push(0);H=q=0,X=1,G%=a4,V=G-a4+1}else break J;else{H=K=z[U];for(X=1;K>=10;K/=10)X++;G%=a4,V=G-a4+X,q=V<0?0:H/$2(10,X-V-1)%10|0}if(Y=Y||Q<0||z[U+1]!==void 0||(V<0?H:H%$2(10,X-V-1)),W=Z<4?(q||Y)&&(Z==0||Z==(J.s<0?3:2)):q>5||q==5&&(Z==4||Y||Z==6&&(G>0?V>0?H/$2(10,X-V):0:z[U-1])%10&1||Z==(J.s<0?8:7)),Q<1||!z[0]){if(z.length=0,W)Q-=J.e+1,z[0]=$2(10,(a4-Q%a4)%a4),J.e=-Q||0;else z[0]=J.e=0;return J}if(G==0)z.length=U,K=1,U--;else z.length=U+1,K=$2(10,a4-G),z[U]=V>0?(H/$2(10,X-V)%$2(10,V)|0)*K:0;if(W)for(;;)if(U==0){for(G=1,V=z[0];V>=10;V/=10)G++;V=z[0]+=K;for(K=1;V>=10;V/=10)K++;if(G!=K){if(J.e++,z[0]==OV)z[0]=1}break}else{if(z[U]+=K,z[U]!=OV)break;z[U--]=0,K=1}for(G=z.length;z[--G]===0;)z.pop()}if(K8){if(J.e>D.maxE)J.d=null,J.e=NaN;else if(J.e<D.minE)J.e=0,J.d=[0]}return J}function _q(J,Q,Z){if(!J.isFinite())return Z96(J);var Y,X=J.e,G=FJ(J.d),V=G.length;if(Q){if(Z&&(Y=Z-V)>0)G=G.charAt(0)+"."+G.slice(1)+bB(Y);else if(V>1)G=G.charAt(0)+"."+G.slice(1);G=G+(J.e<0?"e":"e+")+J.e}else if(X<0){if(G="0."+bB(-X-1)+G,Z&&(Y=Z-V)>0)G+=bB(Y)}else if(X>=V){if(G+=bB(X+1-V),Z&&(Y=Z-X-1)>0)G=G+"."+bB(Y)}else{if((Y=X+1)<V)G=G.slice(0,Y)+"."+G.slice(Y);if(Z&&(Y=Z-V)>0){if(X+1===V)G+=".";G+=bB(Y)}}return G}function h41(J,Q){var Z=J[0];for(Q*=a4;Z>=10;Z/=10)Q++;return Q}function v41(J,Q,Z){if(Q>Z$8){if(K8=!0,Z)J.precision=Z;throw Error(o86)}return k4(new J(y41),Q,1,!0)}function Sq(J,Q,Z){if(Q>_j1)throw Error(o86);return k4(new J(x41),Q,Z,!0)}function e86(J){var Q=J.length-1,Z=Q*a4+1;if(Q=J[Q],Q){for(;Q%10==0;Q/=10)Z--;for(Q=J[0];Q>=10;Q/=10)Z++}return Z}function bB(J){var Q="";for(;J--;)Q+="0";return Q}function J96(J,Q,Z,Y){var X,G=new J(1),V=Math.ceil(Y/a4+4);K8=!1;for(;;){if(Z%2){if(G=G.times(Q),i86(G.d,V))X=!0}if(Z=KQ(Z/2),Z===0){if(Z=G.d.length-1,X&&G.d[Z]===0)++G.d[Z];break}Q=Q.times(Q),i86(Q.d,V)}return K8=!0,G}function l86(J){return J.d[J.d.length-1]&1}function Q96(J,Q,Z){var Y,X,G=new J(Q[0]),V=0;for(;++V<Q.length;){if(X=new J(Q[V]),!X.s){G=X;break}if(Y=G.cmp(X),Y===Z||Y===0&&G.s===Z)G=X}return G}function kj1(J,Q){var Z,Y,X,G,V,K,q,W=0,H=0,z=0,U=J.constructor,D=U.rounding,M=U.precision;if(!J.d||!J.d[0]||J.e>17)return new U(J.d?!J.d[0]?1:J.s<0?0:1/0:J.s?J.s<0?0:J:NaN);if(Q==null)K8=!1,q=M;else q=Q;K=new U(0.03125);while(J.e>-2)J=J.times(K),z+=5;Y=Math.log($2(2,z))/Math.LN10*2+5|0,q+=Y,Z=G=V=new U(1),U.precision=q;for(;;){if(G=k4(G.times(J),q,1),Z=Z.times(++H),K=V.plus(v5(G,Z,q,1)),FJ(K.d).slice(0,q)===FJ(V.d).slice(0,q)){X=z;while(X--)V=k4(V.times(V),q,1);if(Q==null)if(W<3&&Qg(V.d,q-Y,D,W))U.precision=q+=10,Z=G=K=new U(1),H=0,W++;else return k4(V,U.precision=M,D,K8=!0);else return U.precision=M,V}V=K}}function mB(J,Q){var Z,Y,X,G,V,K,q,W,H,z,U,D=1,M=10,L=J,A=L.d,E=L.constructor,I=E.rounding,P=E.precision;if(L.s<0||!A||!A[0]||!L.e&&A[0]==1&&A.length==1)return new E(A&&!A[0]?-1/0:L.s!=1?NaN:A?0:L);if(Q==null)K8=!1,H=P;else H=Q;if(E.precision=H+=M,Z=FJ(A),Y=Z.charAt(0),Math.abs(G=L.e)<1500000000000000){while(Y<7&&Y!=1||Y==1&&Z.charAt(1)>3)L=L.times(J),Z=FJ(L.d),Y=Z.charAt(0),D++;if(G=L.e,Y>1)L=new E("0."+Z),G++;else L=new E(Y+"."+Z.slice(1))}else return W=v41(E,H+2,P).times(G+""),L=mB(new E(Y+"."+Z.slice(1)),H-M).plus(W),E.precision=P,Q==null?k4(L,P,I,K8=!0):L;z=L,q=V=L=v5(L.minus(1),L.plus(1),H,1),U=k4(L.times(L),H,1),X=3;for(;;){if(V=k4(V.times(U),H,1),W=q.plus(v5(V,new E(X),H,1)),FJ(W.d).slice(0,H)===FJ(q.d).slice(0,H)){if(q=q.times(2),G!==0)q=q.plus(v41(E,H+2,P).times(G+""));if(q=v5(q,new E(D),H,1),Q==null)if(Qg(q.d,H-M,I,K))E.precision=H+=M,W=V=L=v5(z.minus(1),z.plus(1),H,1),U=k4(L.times(L),H,1),X=K=1;else return k4(q,E.precision=P,I,K8=!0);else return E.precision=P,q}q=W,X+=2}}function Z96(J){return String(J.s*J.s/0)}function k41(J,Q){var Z,Y,X;if((Z=Q.indexOf("."))>-1)Q=Q.replace(".","");if((Y=Q.search(/e/i))>0){if(Z<0)Z=Y;Z+=+Q.slice(Y+1),Q=Q.substring(0,Y)}else if(Z<0)Z=Q.length;for(Y=0;Q.charCodeAt(Y)===48;Y++);for(X=Q.length;Q.charCodeAt(X-1)===48;--X);if(Q=Q.slice(Y,X),Q){if(X-=Y,J.e=Z=Z-Y-1,J.d=[],Y=(Z+1)%a4,Z<0)Y+=a4;if(Y<X){if(Y)J.d.push(+Q.slice(0,Y));for(X-=a4;Y<X;)J.d.push(+Q.slice(Y,Y+=a4));Q=Q.slice(Y),Y=a4-Q.length}else Y-=X;for(;Y--;)Q+="0";if(J.d.push(+Q),K8){if(J.e>J.constructor.maxE)J.d=null,J.e=NaN;else if(J.e<J.constructor.minE)J.e=0,J.d=[0]}}else J.e=0,J.d=[0];return J}function X$8(J,Q){var Z,Y,X,G,V,K,q,W,H;if(Q.indexOf("_")>-1){if(Q=Q.replace(/(\d)_(?=\d)/g,"$1"),t86.test(Q))return k41(J,Q)}else if(Q==="Infinity"||Q==="NaN"){if(!+Q)J.s=NaN;return J.e=NaN,J.d=null,J}if(eX8.test(Q))Z=16,Q=Q.toLowerCase();else if(tX8.test(Q))Z=2;else if(J$8.test(Q))Z=8;else throw Error(gB+Q);if(G=Q.search(/p/i),G>0)q=+Q.slice(G+1),Q=Q.substring(2,G);else Q=Q.slice(2);if(G=Q.indexOf("."),V=G>=0,Y=J.constructor,V)Q=Q.replace(".",""),K=Q.length,G=K-G,X=J96(Y,new Y(Z),G,G*2);W=_41(Q,Z,OV),H=W.length-1;for(G=H;W[G]===0;--G)W.pop();if(G<0)return new Y(J.s*0);if(J.e=h41(W,H),J.d=W,K8=!1,V)J=v5(J,X,K*4);if(q)J=J.times(Math.abs(q)<54?$2(2,q):Zg.pow(2,q));return K8=!0,J}function $$8(J,Q){var Z,Y=Q.d.length;if(Y<3)return Q.isZero()?Q:XC(J,2,Q,Q);Z=1.4*Math.sqrt(Y),Z=Z>16?16:Z|0,Q=Q.times(1/b41(5,Z)),Q=XC(J,2,Q,Q);var X,G=new J(5),V=new J(16),K=new J(20);for(;Z--;)X=Q.times(Q),Q=Q.times(G.plus(X.times(V.times(X).minus(K))));return Q}function XC(J,Q,Z,Y,X){var G,V,K,q,W=1,H=J.precision,z=Math.ceil(H/a4);K8=!1,q=Z.times(Z),K=new J(Y);for(;;){if(V=v5(K.times(q),new J(Q++*Q++),H,1),K=X?Y.plus(V):Y.minus(V),Y=v5(V.times(q),new J(Q++*Q++),H,1),V=K.plus(Y),V.d[z]!==void 0){for(G=z;V.d[G]===K.d[G]&&G--;);if(G==-1)break}G=K,K=Y,Y=V,V=G,W++}return K8=!0,V.d.length=z+1,V}function b41(J,Q){var Z=J;while(--Q)Z*=J;return Z}function Y96(J,Q){var Z,Y=Q.s<0,X=Sq(J,J.precision,1),G=X.times(0.5);if(Q=Q.abs(),Q.lte(G))return Qz=Y?4:1,Q;if(Z=Q.divToInt(X),Z.isZero())Qz=Y?3:2;else{if(Q=Q.minus(Z.times(X)),Q.lte(G))return Qz=l86(Z)?Y?2:3:Y?4:1,Q;Qz=l86(Z)?Y?1:4:Y?3:2}return Q.minus(X).abs()}function yj1(J,Q,Z,Y){var X,G,V,K,q,W,H,z,U,D=J.constructor,M=Z!==void 0;if(M)if(lZ(Z,1,uB),Y===void 0)Y=D.rounding;else lZ(Y,0,8);else Z=D.precision,Y=D.rounding;if(!J.isFinite())H=Z96(J);else{if(H=_q(J),V=H.indexOf("."),M){if(X=2,Q==16)Z=Z*4-3;else if(Q==8)Z=Z*3-2}else X=Q;if(V>=0)H=H.replace(".",""),U=new D(1),U.e=H.length-V,U.d=_41(_q(U),10,X),U.e=U.d.length;z=_41(H,10,X),G=q=z.length;for(;z[--q]==0;)z.pop();if(!z[0])H=M?"0p+0":"0";else{if(V<0)G--;else J=new D(J),J.d=z,J.e=G,J=v5(J,U,Z,Y,0,X),z=J.d,G=J.e,W=a86;if(V=z[Z],K=X/2,W=W||z[Z+1]!==void 0,W=Y<4?(V!==void 0||W)&&(Y===0||Y===(J.s<0?3:2)):V>K||V===K&&(Y===4||W||Y===6&&z[Z-1]&1||Y===(J.s<0?8:7)),z.length=Z,W){for(;++z[--Z]>X-1;)if(z[Z]=0,!Z)++G,z.unshift(1)}for(q=z.length;!z[q-1];--q);for(V=0,H="";V<q;V++)H+=jj1.charAt(z[V]);if(M){if(q>1)if(Q==16||Q==8){V=Q==16?4:3;for(--q;q%V;q++)H+="0";z=_41(H,X,Q);for(q=z.length;!z[q-1];--q);for(V=1,H="1.";V<q;V++)H+=jj1.charAt(z[V])}else H=H.charAt(0)+"."+H.slice(1);H=H+(G<0?"p":"p+")+G}else if(G<0){for(;++G;)H="0"+H;H="0."+H}else if(++G>q)for(G-=q;G--;)H+="0";else if(G<q)H=H.slice(0,G)+"."+H.slice(G)}H=(Q==16?"0x":Q==2?"0b":Q==8?"0o":"")+H}return J.s<0?"-"+H:H}function i86(J,Q){if(J.length>Q)return J.length=Q,!0}function G$8(J){return new this(J).abs()}function V$8(J){return new this(J).acos()}function K$8(J){return new this(J).acosh()}function q$8(J,Q){return new this(J).plus(Q)}function W$8(J){return new this(J).asin()}function H$8(J){return new this(J).asinh()}function z$8(J){return new this(J).atan()}function F$8(J){return new this(J).atanh()}function U$8(J,Q){J=new this(J),Q=new this(Q);var Z,Y=this.precision,X=this.rounding,G=Y+4;if(!J.s||!Q.s)Z=new this(NaN);else if(!J.d&&!Q.d)Z=Sq(this,G,1).times(Q.s>0?0.25:0.75),Z.s=J.s;else if(!Q.d||J.isZero())Z=Q.s<0?Sq(this,Y,X):new this(0),Z.s=J.s;else if(!J.d||Q.isZero())Z=Sq(this,G,1).times(0.5),Z.s=J.s;else if(Q.s<0)this.precision=G,this.rounding=1,Z=this.atan(v5(J,Q,G,1)),Q=Sq(this,G,1),this.precision=Y,this.rounding=X,Z=J.s<0?Z.minus(Q):Z.plus(Q);else Z=this.atan(v5(J,Q,G,1));return Z}function B$8(J){return new this(J).cbrt()}function N$8(J){return k4(J=new this(J),J.e+1,2)}function D$8(J,Q,Z){return new this(J).clamp(Q,Z)}function M$8(J){if(!J||typeof J!=="object")throw Error(f41+"Object expected");var Q,Z,Y,X=J.defaults===!0,G=["precision",1,uB,"rounding",0,8,"toExpNeg",-YC,0,"toExpPos",0,YC,"maxE",0,YC,"minE",-YC,0,"modulo",0,9];for(Q=0;Q<G.length;Q+=3){if(Z=G[Q],X)this[Z]=Sj1[Z];if((Y=J[Z])!==void 0)if(KQ(Y)===Y&&Y>=G[Q+1]&&Y<=G[Q+2])this[Z]=Y;else throw Error(gB+Z+": "+Y)}if(Z="crypto",X)this[Z]=Sj1[Z];if((Y=J[Z])!==void 0)if(Y===!0||Y===!1||Y===0||Y===1)if(Y)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[Z]=!0;else throw Error(r86);else this[Z]=!1;else throw Error(gB+Z+": "+Y);return this}function L$8(J){return new this(J).cos()}function A$8(J){return new this(J).cosh()}function X96(J){var Q,Z,Y;function X(G){var V,K,q,W=this;if(!(W instanceof X))return new X(G);if(W.constructor=X,n86(G)){if(W.s=G.s,K8)if(!G.d||G.e>X.maxE)W.e=NaN,W.d=null;else if(G.e<X.minE)W.e=0,W.d=[0];else W.e=G.e,W.d=G.d.slice();else W.e=G.e,W.d=G.d?G.d.slice():G.d;return}if(q=typeof G,q==="number"){if(G===0){W.s=1/G<0?-1:1,W.e=0,W.d=[0];return}if(G<0)G=-G,W.s=-1;else W.s=1;if(G===~~G&&G<1e7){for(V=0,K=G;K>=10;K/=10)V++;if(K8)if(V>X.maxE)W.e=NaN,W.d=null;else if(V<X.minE)W.e=0,W.d=[0];else W.e=V,W.d=[G];else W.e=V,W.d=[G];return}if(G*0!==0){if(!G)W.s=NaN;W.e=NaN,W.d=null;return}return k41(W,G.toString())}if(q==="string"){if((K=G.charCodeAt(0))===45)G=G.slice(1),W.s=-1;else{if(K===43)G=G.slice(1);W.s=1}return t86.test(G)?k41(W,G):X$8(W,G)}if(q==="bigint"){if(G<0)G=-G,W.s=-1;else W.s=1;return k41(W,G.toString())}throw Error(gB+G)}if(X.prototype=$6,X.ROUND_UP=0,X.ROUND_DOWN=1,X.ROUND_CEIL=2,X.ROUND_FLOOR=3,X.ROUND_HALF_UP=4,X.ROUND_HALF_DOWN=5,X.ROUND_HALF_EVEN=6,X.ROUND_HALF_CEIL=7,X.ROUND_HALF_FLOOR=8,X.EUCLID=9,X.config=X.set=M$8,X.clone=X96,X.isDecimal=n86,X.abs=G$8,X.acos=V$8,X.acosh=K$8,X.add=q$8,X.asin=W$8,X.asinh=H$8,X.atan=z$8,X.atanh=F$8,X.atan2=U$8,X.cbrt=B$8,X.ceil=N$8,X.clamp=D$8,X.cos=L$8,X.cosh=A$8,X.div=O$8,X.exp=w$8,X.floor=E$8,X.hypot=I$8,X.ln=P$8,X.log=R$8,X.log10=C$8,X.log2=T$8,X.max=j$8,X.min=S$8,X.mod=_$8,X.mul=k$8,X.pow=y$8,X.random=x$8,X.round=v$8,X.sign=f$8,X.sin=h$8,X.sinh=b$8,X.sqrt=m$8,X.sub=g$8,X.sum=u$8,X.tan=p$8,X.tanh=d$8,X.trunc=c$8,J===void 0)J={};if(J){if(J.defaults!==!0){Y=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"];for(Q=0;Q<Y.length;)if(!J.hasOwnProperty(Z=Y[Q++]))J[Z]=this[Z]}}return X.config(J),X}function O$8(J,Q){return new this(J).div(Q)}function w$8(J){return new this(J).exp()}function E$8(J){return k4(J=new this(J),J.e+1,3)}function I$8(){var J,Q,Z=new this(0);K8=!1;for(J=0;J<arguments.length;)if(Q=new this(arguments[J++]),!Q.d){if(Q.s)return K8=!0,new this(1/0);Z=Q}else if(Z.d)Z=Z.plus(Q.times(Q));return K8=!0,Z.sqrt()}function n86(J){return J instanceof Zg||J&&J.toStringTag===s86||!1}function P$8(J){return new this(J).ln()}function R$8(J,Q){return new this(J).log(Q)}function T$8(J){return new this(J).log(2)}function C$8(J){return new this(J).log(10)}function j$8(){return Q96(this,arguments,-1)}function S$8(){return Q96(this,arguments,1)}function _$8(J,Q){return new this(J).mod(Q)}function k$8(J,Q){return new this(J).mul(Q)}function y$8(J,Q){return new this(J).pow(Q)}function x$8(J){var Q,Z,Y,X,G=0,V=new this(1),K=[];if(J===void 0)J=this.precision;else lZ(J,1,uB);if(Y=Math.ceil(J/a4),!this.crypto)for(;G<Y;)K[G++]=Math.random()*1e7|0;else if(crypto.getRandomValues){Q=crypto.getRandomValues(new Uint32Array(Y));for(;G<Y;)if(X=Q[G],X>=4290000000)Q[G]=crypto.getRandomValues(new Uint32Array(1))[0];else K[G++]=X%1e7}else if(crypto.randomBytes){Q=crypto.randomBytes(Y*=4);for(;G<Y;)if(X=Q[G]+(Q[G+1]<<8)+(Q[G+2]<<16)+((Q[G+3]&127)<<24),X>=2140000000)crypto.randomBytes(4).copy(Q,G);else K.push(X%1e7),G+=4;G=Y/4}else throw Error(r86);if(Y=K[--G],J%=a4,Y&&J)X=$2(10,a4-J),K[G]=(Y/X|0)*X;for(;K[G]===0;G--)K.pop();if(G<0)Z=0,K=[0];else{Z=-1;for(;K[0]===0;Z-=a4)K.shift();for(Y=1,X=K[0];X>=10;X/=10)Y++;if(Y<a4)Z-=a4-Y}return V.e=Z,V.d=K,V}function v$8(J){return k4(J=new this(J),J.e+1,this.rounding)}function f$8(J){return J=new this(J),J.d?J.d[0]?J.s:0*J.s:J.s||NaN}function h$8(J){return new this(J).sin()}function b$8(J){return new this(J).sinh()}function m$8(J){return new this(J).sqrt()}function g$8(J,Q){return new this(J).sub(Q)}function u$8(){var J=0,Q=arguments,Z=new this(Q[J]);K8=!1;for(;Z.s&&++J<Q.length;)Z=Z.plus(Q[J]);return K8=!0,k4(Z,this.precision,this.rounding)}function p$8(J){return new this(J).tan()}function d$8(J){return new this(J).tanh()}function c$8(J){return k4(J=new this(J),J.e+1,1)}$6[Symbol.for("nodejs.util.inspect.custom")]=$6.toString;$6[Symbol.toStringTag]="Decimal";var Zg=$6.constructor=X96(Sj1);y41=new Zg(y41);x41=new Zg(x41);var l$8=0.01,xj1=2;function i$8(J,Q){let Z=Q.decimalPlaces==="more-if-tiny"?Math.abs(J)<0.01?xj1+1:xj1:Q.decimalPlaces??xj1,Y=Q.intent==="balance"?J<0?"expand":"trunc":"halfExpand";return{decimalPlaces:Z,roundingMode:Y}}function $C(J,Q){let{decimalPlaces:Z,roundingMode:Y}=i$8(J,Q);if(J%1===0)return J.toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:Y});return J.toLocaleString("en-US",{style:"currency",currency:"USD",minimumFractionDigits:Z,maximumFractionDigits:Z,roundingMode:Y})}function vj1(J){if(J==null||J===0)return"$0.00";let Q=J*l$8;return $C(Q,{intent:"cost"})}function kq(J){if(J>=1e6)return`${Math.round(J/1e6)}M`;if(J>=1000)return`${Math.round(J/1000)}k`;return J.toString()}function n$8(J){if(!J)return"";let Q=J.split("-");if(Q.length>=2)return Q.slice(0,2).join("-");return J}function $96(J){let Q;if(J.credits==null)Q="$—";else Q=vj1(J.credits);let Z=[],Y=(J.inputTokens??0)+(J.cacheCreationInputTokens??0),X=J.cacheReadInputTokens??0;if(Y>0)Z.push(`${kq(Y)} in`);if(X>0)Z.push(`${kq(X)} cache read`);if(J.outputTokens)Z.push(`${kq(J.outputTokens)} out`);if(J.model)Z.push(n$8(J.model));if(Z.length>0)return`${Q} (${Z.join(", ")})`;return Q}function m41(J){let Q=Math.floor(J/60),Z=J%60;if(Q===0)return`${Z}s`;return`${Q}:${Z.toString().padStart(2,"0")}`}function a$8(J){if(J<=60)return"1min";if(J<=120)return"2min";if(J<=180)return"3min";if(J<=240)return"4min";if(J<=300)return"5min";return"10min"}var o$8=60,r$8=180;function G96(J,Q){if(J.secondsRemaining===null)return null;if(J.secondsRemaining===0)return null;if(J.secondsRemaining>r$8)return null;let Z=J.secondsRemaining<=o$8,Y=Q&&Z;return{text:Y?m41(J.secondsRemaining):a$8(J.secondsRemaining),urgency:Y?"warning":"normal",secondsRemaining:J.secondsRemaining,cacheableTokens:J.cacheableTokens,cacheableTokensFormatted:kq(J.cacheableTokens),timeRemaining:m41(J.secondsRemaining),isExpired:!1,helpText:"Sending follow-up messages before this time decreases cost and latency"}}B0();var fj1={UBI:"ubi",AMP_CONNECT:"amp-connect",THREAD_LABELS:"thread-labels",CAMPAIGN_ADS:"campaign-ads"};h3();AY();R7();function V96(J,Q){let Z;return function(...X){let G=()=>{clearTimeout(Z),J(...X)};clearTimeout(Z),Z=setTimeout(G,Q)}}d0();var hj1,s$8=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),K96=(hj1=String.fromCodePoint)!==null&&hj1!==void 0?hj1:(J)=>{let Q="";if(J>65535)J-=65536,Q+=String.fromCharCode(J>>>10&1023|55296),J=56320|J&1023;return Q+=String.fromCharCode(J),Q};function q96(J){var Q;if(J>=55296&&J<=57343||J>1114111)return 65533;return(Q=s$8.get(J))!==null&&Q!==void 0?Q:J}function g41(J){let Q=typeof atob==="function"?atob(J):typeof Buffer.from==="function"?Buffer.from(J,"base64").toString("binary"):new Buffer(J,"base64").toString("binary"),Z=Q.length&-2,Y=new Uint16Array(Z/2);for(let X=0,G=0;X<Z;X+=2){let V=Q.charCodeAt(X),K=Q.charCodeAt(X+1);Y[G++]=V|K<<8}return Y}var W96=g41("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");var H96=g41("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");var qQ;(function(J){J[J.VALUE_LENGTH=49152]="VALUE_LENGTH",J[J.FLAG13=8192]="FLAG13",J[J.BRANCH_LENGTH=8064]="BRANCH_LENGTH",J[J.JUMP_TABLE=127]="JUMP_TABLE"})(qQ||(qQ={}));var _7;(function(J){J[J.NUM=35]="NUM",J[J.SEMI=59]="SEMI",J[J.EQUALS=61]="EQUALS",J[J.ZERO=48]="ZERO",J[J.NINE=57]="NINE",J[J.LOWER_A=97]="LOWER_A",J[J.LOWER_F=102]="LOWER_F",J[J.LOWER_X=120]="LOWER_X",J[J.LOWER_Z=122]="LOWER_Z",J[J.UPPER_A=65]="UPPER_A",J[J.UPPER_F=70]="UPPER_F",J[J.UPPER_Z=90]="UPPER_Z"})(_7||(_7={}));var z96=32;function bj1(J){return J>=_7.ZERO&&J<=_7.NINE}function t$8(J){return J>=_7.UPPER_A&&J<=_7.UPPER_F||J>=_7.LOWER_A&&J<=_7.LOWER_F}function e$8(J){return J>=_7.UPPER_A&&J<=_7.UPPER_Z||J>=_7.LOWER_A&&J<=_7.LOWER_Z||bj1(J)}function JG8(J){return J===_7.EQUALS||e$8(J)}var x2;(function(J){J[J.EntityStart=0]="EntityStart",J[J.NumericStart=1]="NumericStart",J[J.NumericDecimal=2]="NumericDecimal",J[J.NumericHex=3]="NumericHex",J[J.NamedEntity=4]="NamedEntity"})(x2||(x2={}));var yq;(function(J){J[J.Legacy=0]="Legacy",J[J.Strict=1]="Strict",J[J.Attribute=2]="Attribute"})(yq||(yq={}));class mj1{constructor(J,Q,Z){this.decodeTree=J,this.emitCodePoint=Q,this.errors=Z,this.state=x2.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=yq.Strict}startEntity(J){this.decodeMode=J,this.state=x2.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(J,Q){switch(this.state){case x2.EntityStart:{if(J.charCodeAt(Q)===_7.NUM)return this.state=x2.NumericStart,this.consumed+=1,this.stateNumericStart(J,Q+1);return this.state=x2.NamedEntity,this.stateNamedEntity(J,Q)}case x2.NumericStart:return this.stateNumericStart(J,Q);case x2.NumericDecimal:return this.stateNumericDecimal(J,Q);case x2.NumericHex:return this.stateNumericHex(J,Q);case x2.NamedEntity:return this.stateNamedEntity(J,Q)}}stateNumericStart(J,Q){if(Q>=J.length)return-1;if((J.charCodeAt(Q)|z96)===_7.LOWER_X)return this.state=x2.NumericHex,this.consumed+=1,this.stateNumericHex(J,Q+1);return this.state=x2.NumericDecimal,this.stateNumericDecimal(J,Q)}stateNumericHex(J,Q){while(Q<J.length){let Z=J.charCodeAt(Q);if(bj1(Z)||t$8(Z)){let Y=Z<=_7.NINE?Z-_7.ZERO:(Z|z96)-_7.LOWER_A+10;this.result=this.result*16+Y,this.consumed++,Q++}else return this.emitNumericEntity(Z,3)}return-1}stateNumericDecimal(J,Q){while(Q<J.length){let Z=J.charCodeAt(Q);if(bj1(Z))this.result=this.result*10+(Z-_7.ZERO),this.consumed++,Q++;else return this.emitNumericEntity(Z,2)}return-1}emitNumericEntity(J,Q){var Z;if(this.consumed<=Q)return(Z=this.errors)===null||Z===void 0||Z.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(J===_7.SEMI)this.consumed+=1;else if(this.decodeMode===yq.Strict)return 0;if(this.emitCodePoint(q96(this.result),this.consumed),this.errors){if(J!==_7.SEMI)this.errors.missingSemicolonAfterCharacterReference();this.errors.validateNumericCharacterReference(this.result)}return this.consumed}stateNamedEntity(J,Q){let{decodeTree:Z}=this,Y=Z[this.treeIndex],X=(Y&qQ.VALUE_LENGTH)>>14;while(Q<J.length){if(X===0&&(Y&qQ.FLAG13)!==0){let V=(Y&qQ.BRANCH_LENGTH)>>7,K=Y&qQ.JUMP_TABLE;if(Q+V>J.length)return-1;if(J.charCodeAt(Q)!==K)return this.result===0?0:this.emitNotTerminatedNamedEntity();Q++,this.excess++;let q=V-1;for(let W=1;W<V;W+=2){let H=Z[this.treeIndex+1+(W-1>>1)],z=H&255;if(J.charCodeAt(Q)!==z)return this.result===0?0:this.emitNotTerminatedNamedEntity();Q++,this.excess++;let U=H>>8&255;if(W+1<V){if(J.charCodeAt(Q)!==U)return this.result===0?0:this.emitNotTerminatedNamedEntity();Q++,this.excess++}}this.treeIndex+=1+(q+1>>1),Y=Z[this.treeIndex],X=(Y&qQ.VALUE_LENGTH)>>14}if(Q>=J.length)break;let G=J.charCodeAt(Q);if(G===_7.SEMI&&X!==0&&(Y&qQ.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,X,this.consumed+this.excess);if(this.treeIndex=QG8(Z,Y,this.treeIndex+Math.max(1,X),G),this.treeIndex<0)return this.result===0||this.decodeMode===yq.Attribute&&(X===0||JG8(G))?0:this.emitNotTerminatedNamedEntity();if(Y=Z[this.treeIndex],X=(Y&qQ.VALUE_LENGTH)>>14,X!==0){if(G===_7.SEMI)return this.emitNamedEntityData(this.treeIndex,X,this.consumed+this.excess);if(this.decodeMode!==yq.Strict&&(Y&qQ.FLAG13)===0)this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0}Q++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var J;let{result:Q,decodeTree:Z}=this,Y=(Z[Q]&qQ.VALUE_LENGTH)>>14;return this.emitNamedEntityData(Q,Y,this.consumed),(J=this.errors)===null||J===void 0||J.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(J,Q,Z){let{decodeTree:Y}=this;if(this.emitCodePoint(Q===1?Y[J]&~(qQ.VALUE_LENGTH|qQ.FLAG13):Y[J+1],Z),Q===3)this.emitCodePoint(Y[J+2],Z);return Z}end(){var J;switch(this.state){case x2.NamedEntity:return this.result!==0&&(this.decodeMode!==yq.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case x2.NumericDecimal:return this.emitNumericEntity(0,2);case x2.NumericHex:return this.emitNumericEntity(0,3);case x2.NumericStart:return(J=this.errors)===null||J===void 0||J.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case x2.EntityStart:return 0}}}function F96(J){let Q="",Z=new mj1(J,(Y)=>Q+=K96(Y));return function(X,G){let V=0,K=0;while((K=X.indexOf("&",K))>=0){Q+=X.slice(V,K),Z.startEntity(G);let W=Z.write(X,K+1);if(W<0){V=K+Z.end();break}V=K+W,K=W===0?V+1:V}let q=Q+X.slice(V);return Q="",q}}function QG8(J,Q,Z,Y){let X=(Q&qQ.BRANCH_LENGTH)>>7,G=Q&qQ.JUMP_TABLE;if(X===0)return G!==0&&Y===G?Z:-1;if(G){let W=Y-G;return W<0||W>=X?-1:J[Z+W]-1}let V=X+1>>1,K=0,q=X-1;while(K<=q){let W=K+q>>>1,H=W>>1,U=J[Z+H]>>(W&1)*8&255;if(U<Y)K=W+1;else if(U>Y)q=W-1;else return J[Z+V+W]}return-1}var ZG8=F96(W96),YG8=F96(H96);function Yg(J,Q=yq.Legacy){return ZG8(J,Q)}function u41(J){return YG8(J,yq.Strict)}var U96;(function(J){J[J.XML=0]="XML",J[J.HTML=1]="HTML"})(U96||(U96={}));var B96;(function(J){J[J.UTF8=0]="UTF8",J[J.ASCII=1]="ASCII",J[J.Extensive=2]="Extensive",J[J.Attribute=3]="Attribute",J[J.Text=4]="Text"})(B96||(B96={}));var JX=(J)=>{return J!=null},O0=(J)=>{return J!=null&&typeof J==="object"&&!Array.isArray(J)&&J.constructor===Object},XG8=/^\p{White_Space}*$/u,WQ=(J)=>{return typeof J==="string"&&J!==""&&!XG8.test(J)},iA=(J)=>{return typeof J==="number"||WQ(J)},j1=(J)=>{return J?.["#text"]??J},o7=(J,Q)=>{if(O0(J)){let Z=Q(J["@rdf:resource"]);if(JX(Z))return Z;let Y=Q(J["@resource"]);if(JX(Y))return Y}return Q(j1(J))},L0=(J)=>{let Q;for(let Z in J){let Y=J[Z];if(JX(Y)){if(!Q)Q={};Q[Z]=Y}}return Q},Xg=(J,Q)=>{if(!Array.isArray(J)||J.length===0)return;if(!Q){let Y=!1;for(let X=0;X<J.length;X++)if(!JX(J[X])){Y=!0;break}if(!Y)return J}let Z=[];for(let Y=0;Y<J.length;Y++){let X=Q?Q(J[Y]):J[Y];if(JX(X))Z.push(X)}return Z.length>0?Z:void 0};var gj1="<![CDATA[",$G8="]]>",GG8=(J)=>{if(typeof J!=="string")return J;let Q=J.indexOf(gj1);if(Q===-1)return J;let Z="",Y=0;while(Q!==-1){if(Z+=J.substring(Y,Q),Y=J.indexOf($G8,Q+9),Y===-1)return J;Z+=J.substring(Q+9,Y),Y+=3,Q=J.indexOf(gj1,Y)}return Z+=J.substring(Y),Z},D96=(J)=>{let Q=J.indexOf("&");return Q!==-1&&J.indexOf(";",Q)!==-1},G1=(J)=>{if(typeof J==="string"){if(J==="")return;let Q=J;if(J.indexOf(gj1)!==-1)Q=GG8(J);if(Q=Q.trim(),Q==="")return;if(D96(Q)){if(Q=u41(Q),D96(Q))Q=Yg(Q)}return Q||void 0}if(typeof J==="number")return J.toString()},j6=(J)=>{if(typeof J==="number")return J;if(WQ(J)){let Q=+J;return Number.isNaN(Q)?void 0:Q}},VG8=/^\p{White_Space}*true\p{White_Space}*$/iu,KG8=/^\p{White_Space}*false\p{White_Space}*$/iu,qG8=/^\p{White_Space}*yes\p{White_Space}*$/iu,UJ=(J)=>{if(typeof J==="boolean")return J;if(WQ(J)){if(VG8.test(J))return!0;if(KG8.test(J))return!1}},HQ=(J)=>{let Q=UJ(J);if(Q!==void 0)return Q;if(WQ(J))return qG8.test(J)},m8=(J)=>{return G1(J)},WG8=(J)=>{if(Array.isArray(J))return J;if(!O0(J))return;if(J.length)return Array.from(J);let Q=Object.keys(J);if(Q.length===0)return;for(let Z=0;Z<Q.length;Z++){let Y=Q[Z],X=Number(Y);if(!Number.isInteger(X)||X!==Z)return}return Object.values(J)},k0=(J,Q,Z)=>{let Y=WG8(J);if(!Y&&JX(J))Y=[J];if(Y)return Xg(HG8(Y,Z),Q)},HG8=(J,Q)=>{if(Q===void 0||Q<0)return J;if(Q===0)return[];return J.slice(0,Q)},uj1=(J)=>{return Array.isArray(J)?J[0]:J},L1=(J,Q)=>{return Q(uj1(J))},pB=(J,Q)=>{if(!iA(J))return;let Z=G1(J)?.split(",");if(Z)return Xg(Z,Q)};var wV=(J,Q=!1)=>{let Z=new Set,Y=new Set,X=(G)=>{if(Array.isArray(G)){for(let V of G)X(V);return}if(O0(G))for(let V in G){if(Y.has(V))continue;Y.add(V);let K=V.charCodeAt(0)===64?V.slice(1):V,q=K.indexOf(":");if(q>0)Z.add(K.slice(0,q));if(Q)X(G[V])}};return X(J),Z};var GC=(J,Q,Z)=>{let Y=(z)=>{return typeof z==="string"?z.trim().toLowerCase():z},X=Z&&J[Z]?J[Z].map(Y):void 0,G=(z,U,D)=>{let M=Y(z);if(X?.includes(M))return U;let L=Q[M];if(L)return`${L}:${U}`;return D},V=(z)=>{let U={};if(O0(z)){for(let D in z)if(D==="@xmlns")U[""]=Y(z[D]);else if(D.indexOf("@xmlns:")===0){let M=D.substring(7);U[M]=Y(z[D])}}return U},K=(z,U,D=!1)=>{let M=z.indexOf(":");if(M===-1){if(D&&U[""])return G(U[""],z,z);return z}let L=z.substring(0,M),A=z.substring(M+1),E=U[L];if(E)return G(E,A,z);return z},q=(z,U)=>{if(z.charCodeAt(0)===64)return`@${K(z.substring(1),U,!1)}`;return K(z,U,!0)},W=(z,U={})=>{if(!O0(z))return z;if(Array.isArray(z))return z.map((E)=>W(E,U));let D={},M=new Map,L=V(z),A={...U,...L};for(let E in z){let I=z[E];if(E.indexOf("@xmlns")===0){D[E]=I;continue}let P=q(E,A),T=W(I,A);if(!M.has(P))M.set(P,[]);let k=M.get(P);if(k)k.push(T)}for(let[E,I]of M)D[E]=I.length===1?I[0]:I;return D},H=(z)=>{if(!O0(z))return z;if(Array.isArray(z))return z.map(H);let U={};for(let D in z){let M=z[D],L=V(M),A=Object.keys(L).length?q(D,L):D;U[A]=W(M)}return U};return H},VC=(J)=>{if(O0(J))return J;if(!WQ(J)||J.length<2)return;let Q=J.charAt(0)==="{"||/^\s*\{/.test(J),Z=J.charAt(J.length-1)==="}"||/\}\s*$/.test(J);if(!Q||!Z)return;try{return JSON.parse(J)}catch{}};var p41=(J)=>{if(!WQ(J))return!1;if(!/(?:^|[\s>])<(?:\w+:)?feed[\s>]/im.test(J))return!1;let Q=J.includes("http://www.w3.org/2005/Atom"),Z=/(<(?:\w+:)?(entry|title|link|id|updated|summary)[\s>])/i.test(J);return Q||Z};var KC={trimValues:!1,processEntities:!1,htmlEntities:!1,parseTagValue:!1,parseAttributeValue:!1,alwaysCreateTextNode:!1,ignoreAttributes:!1,ignorePiTags:!0,ignoreDeclaration:!0,attributeNamePrefix:"@",transformTagName:(J)=>J.toLowerCase(),transformAttributeName:(J)=>J.toLowerCase()};var iZ={unrecognizedFeedFormat:"Unrecognized feed format",invalidFeedFormat:"Invalid feed format",invalidOpmlFormat:"Invalid OPML format",invalidInputOpml:"Invalid input OPML",invalidInputAtom:"Invalid input Atom",invalidInputRss:"Invalid input RSS"},nA={admin:["http://webns.net/mvcb/","https://webns.net/mvcb/","http://webns.net/mvcb","https://webns.net/mvcb"],atom:["http://www.w3.org/2005/Atom","https://www.w3.org/2005/Atom","http://www.w3.org/2005/Atom/","https://www.w3.org/2005/Atom/","http://purl.org/atom/ns#","https://purl.org/atom/ns#"],app:["http://www.w3.org/2007/app","https://www.w3.org/2007/app","http://www.w3.org/2007/app/","https://www.w3.org/2007/app/"],dc:["http://purl.org/dc/elements/1.1/","https://purl.org/dc/elements/1.1/","http://purl.org/dc/elements/1.1","https://purl.org/dc/elements/1.1","http://dublincore.org/documents/dcmi-namespace/","https://dublincore.org/documents/dcmi-namespace/","http://dublincore.org/documents/dcmi-namespace","https://dublincore.org/documents/dcmi-namespace","http://purl.org/dc/elements/1.0/","https://purl.org/dc/elements/1.0/","http://purl.org/dc/elements/1.0","https://purl.org/dc/elements/1.0"],sy:["http://purl.org/rss/1.0/modules/syndication/","https://purl.org/rss/1.0/modules/syndication/","http://purl.org/rss/1.0/modules/syndication","https://purl.org/rss/1.0/modules/syndication"],content:["http://purl.org/rss/1.0/modules/content/","https://purl.org/rss/1.0/modules/content/","http://purl.org/rss/1.0/modules/content","https://purl.org/rss/1.0/modules/content"],creativeCommons:["http://backend.userland.com/creativeCommonsRssModule","https://backend.userland.com/creativeCommonsRssModule","http://backend.userland.com/creativeCommonsRssModule/","https://backend.userland.com/creativeCommonsRssModule/","http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html","https://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html","http://cyber.law.harvard.edu/rss/creativeCommonsRssModule","https://cyber.law.harvard.edu/rss/creativeCommonsRssModule"],slash:["http://purl.org/rss/1.0/modules/slash/","https://purl.org/rss/1.0/modules/slash/","http://purl.org/rss/1.0/modules/slash","https://purl.org/rss/1.0/modules/slash"],itunes:["http://www.itunes.com/dtds/podcast-1.0.dtd","https://www.itunes.com/dtds/podcast-1.0.dtd"],podcast:["https://podcastindex.org/namespace/1.0","http://podcastindex.org/namespace/1.0","https://podcastindex.org/namespace/1.0/","http://podcastindex.org/namespace/1.0/","https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md"],psc:["http://podlove.org/simple-chapters","https://podlove.org/simple-chapters","http://podlove.org/simple-chapters/","https://podlove.org/simple-chapters/"],media:["http://search.yahoo.com/mrss/","https://search.yahoo.com/mrss/","http://search.yahoo.com/mrss","https://search.yahoo.com/mrss","http://video.search.yahoo.com/mrss","http://video.search.yahoo.com/mrss/","https://video.search.yahoo.com/mrss","https://video.search.yahoo.com/mrss/","http://www.rssboard.org/media-rss","http://www.rssboard.org/media-rss/","https://www.rssboard.org/media-rss","https://www.rssboard.org/media-rss/","http://search.yahoo.com/searchmonkey/media/","https://search.yahoo.com/searchmonkey/media/","http://search.yahoo.com/searchmonkey/media","https://search.yahoo.com/searchmonkey/media","http://tools.search.yahoo.com/mrss/","https://tools.search.yahoo.com/mrss/","http://tools.search.yahoo.com/mrss","https://tools.search.yahoo.com/mrss"],georss:["http://www.georss.org/georss","http://www.georss.org/georss/","https://www.georss.org/georss","https://www.georss.org/georss/"],geo:["http://www.w3.org/2003/01/geo/wgs84_pos#","https://www.w3.org/2003/01/geo/wgs84_pos#"],thr:["http://purl.org/syndication/thread/1.0","https://purl.org/syndication/thread/1.0","http://purl.org/syndication/thread/1.0/","https://purl.org/syndication/thread/1.0/","http://purl.org/rss/1.0/modules/threading/","https://purl.org/rss/1.0/modules/threading/","http://purl.org/rss/1.0/modules/threading","https://purl.org/rss/1.0/modules/threading"],dcterms:["http://purl.org/dc/terms/","https://purl.org/dc/terms/","http://purl.org/dc/terms","https://purl.org/dc/terms","http://dublincore.org/documents/dcmi-terms/","https://dublincore.org/documents/dcmi-terms/","http://dublincore.org/documents/dcmi-terms","https://dublincore.org/documents/dcmi-terms","http://dublincore.org/specifications/dublin-core/dcmi-terms/","https://dublincore.org/specifications/dublin-core/dcmi-terms/","http://dublincore.org/specifications/dublin-core/dcmi-terms","https://dublincore.org/specifications/dublin-core/dcmi-terms"],wfw:["http://wellformedweb.org/CommentAPI/","https://wellformedweb.org/CommentAPI/","http://wellformedweb.org/CommentAPI","https://wellformedweb.org/CommentAPI"],source:["http://source.scripting.com/","https://source.scripting.com/","http://source.scripting.com","https://source.scripting.com"],feedpress:["https://feed.press/xmlns","http://feed.press/xmlns","https://feed.press/xmlns/","http://feed.press/xmlns/","https://feedpress.com/xmlns","http://feedpress.com/xmlns","https://feedpress.com/xmlns/","http://feedpress.com/xmlns/","http://feedpress.it/xmlns","https://feedpress.it/xmlns","http://feedpress.it/xmlns/","https://feedpress.it/xmlns/"],yt:["http://www.youtube.com/xml/schemas/2015","https://www.youtube.com/xml/schemas/2015","http://www.youtube.com/xml/schemas/2015/","https://www.youtube.com/xml/schemas/2015/"],googleplay:["https://www.google.com/schemas/play-podcasts/1.0/","http://www.google.com/schemas/play-podcasts/1.0/","https://www.google.com/schemas/play-podcasts/1.0","http://www.google.com/schemas/play-podcasts/1.0","https://www.google.com/schemas/play-podcasts/1.0/play-podcasts.xsd","http://www.google.com/schemas/play-podcasts/1.0/play-podcasts.xsd"],spotify:["http://www.spotify.com/ns/rss","https://www.spotify.com/ns/rss","http://www.spotify.com/ns/rss/","https://www.spotify.com/ns/rss/"],rdf:["http://www.w3.org/1999/02/22-rdf-syntax-ns#","https://www.w3.org/1999/02/22-rdf-syntax-ns#"],rawvoice:["http://www.rawvoice.com/rawvoiceRssModule/","https://www.rawvoice.com/rawvoiceRssModule/","http://www.rawvoice.com/rawvoiceRssModule","https://www.rawvoice.com/rawvoiceRssModule","https://blubrry.com/developer/rawvoice-rss","http://blubrry.com/developer/rawvoice-rss","https://blubrry.com/developer/rawvoice-rss/","http://blubrry.com/developer/rawvoice-rss/"],cc:["http://creativecommons.org/ns#","https://creativecommons.org/ns#","http://web.resource.org/cc/","https://web.resource.org/cc/","http://web.resource.org/cc","https://web.resource.org/cc"],opensearch:["http://a9.com/-/spec/opensearch/1.1/","https://a9.com/-/spec/opensearch/1.1/","http://a9.com/-/spec/opensearch/1.0/","https://a9.com/-/spec/opensearch/1.0/","http://a9.com/-/spec/opensearchrss/1.0/","https://a9.com/-/spec/opensearchrss/1.0/"],arxiv:["http://arxiv.org/schemas/atom","https://arxiv.org/schemas/atom","http://arxiv.org/schemas/atom/","https://arxiv.org/schemas/atom/"],pingback:["http://madskills.com/public/xml/rss/module/pingback/","https://madskills.com/public/xml/rss/module/pingback/","http://madskills.com/public/xml/rss/module/pingback","https://madskills.com/public/xml/rss/module/pingback"],trackback:["http://madskills.com/public/xml/rss/module/trackback/","https://madskills.com/public/xml/rss/module/trackback/","http://madskills.com/public/xml/rss/module/trackback","https://madskills.com/public/xml/rss/module/trackback"]},qC=Object.entries(nA).reduce((J,[Q,Z])=>{for(let Y of Z){let X=Y.toLowerCase();J[X]=Q.toLowerCase()}return J},{});var zG8=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",FG8="[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]["+zG8+"]*",UG8=new RegExp("^"+FG8+"$");function d41(J,Q){let Z=[],Y=Q.exec(J);while(Y){let X=[];X.startIndex=Q.lastIndex-Y[0].length;let G=Y.length;for(let V=0;V<G;V++)X.push(Y[V]);Z.push(X),Y=Q.exec(J)}return Z}var WC=function(J){let Q=UG8.exec(J);return!(Q===null||typeof Q>"u")};function M96(J){return typeof J<"u"}var BG8={allowBooleanAttributes:!1,unpairedTags:[]};function E96(J,Q){Q=Object.assign({},BG8,Q);let Z=[],Y=!1,X=!1;if(J[0]==="\uFEFF")J=J.substr(1);for(let G=0;G<J.length;G++)if(J[G]==="<"&&J[G+1]==="?"){if(G+=2,G=A96(J,G),G.err)return G}else if(J[G]==="<"){let V=G;if(G++,J[G]==="!"){G=O96(J,G);continue}else{let K=!1;if(J[G]==="/")K=!0,G++;let q="";for(;G<J.length&&J[G]!==">"&&J[G]!==" "&&J[G]!=="\t"&&J[G]!==`
4748
4748
  `&&J[G]!=="\r";G++)q+=J[G];if(q=q.trim(),q[q.length-1]==="/")q=q.substring(0,q.length-1),G--;if(!EG8(q)){let z;if(q.trim().length===0)z="Invalid space after '<'.";else z="Tag '"+q+"' is an invalid name.";return w3("InvalidTag",z,nQ(J,G))}let W=MG8(J,G);if(W===!1)return w3("InvalidAttr","Attributes for '"+q+"' have open quote.",nQ(J,G));let H=W.value;if(G=W.index,H[H.length-1]==="/"){let z=G-H.length;H=H.substring(0,H.length-1);let U=w96(H,Q);if(U===!0)Y=!0;else return w3(U.err.code,U.err.msg,nQ(J,z+U.err.line))}else if(K)if(!W.tagClosed)return w3("InvalidTag","Closing tag '"+q+"' doesn't have proper closing.",nQ(J,G));else if(H.trim().length>0)return w3("InvalidTag","Closing tag '"+q+"' can't have attributes or invalid starting.",nQ(J,V));else if(Z.length===0)return w3("InvalidTag","Closing tag '"+q+"' has not been opened.",nQ(J,V));else{let z=Z.pop();if(q!==z.tagName){let U=nQ(J,z.tagStartPos);return w3("InvalidTag","Expected closing tag '"+z.tagName+"' (opened in line "+U.line+", col "+U.col+") instead of closing tag '"+q+"'.",nQ(J,V))}if(Z.length==0)X=!0}else{let z=w96(H,Q);if(z!==!0)return w3(z.err.code,z.err.msg,nQ(J,G-H.length+z.err.line));if(X===!0)return w3("InvalidXml","Multiple possible root nodes found.",nQ(J,G));else if(Q.unpairedTags.indexOf(q)!==-1);else Z.push({tagName:q,tagStartPos:V});Y=!0}for(G++;G<J.length;G++)if(J[G]==="<")if(J[G+1]==="!"){G++,G=O96(J,G);continue}else if(J[G+1]==="?"){if(G=A96(J,++G),G.err)return G}else break;else if(J[G]==="&"){let z=OG8(J,G);if(z==-1)return w3("InvalidChar","char '&' is not expected.",nQ(J,G));G=z}else if(X===!0&&!L96(J[G]))return w3("InvalidXml","Extra text at the end",nQ(J,G));if(J[G]==="<")G--}}else{if(L96(J[G]))continue;return w3("InvalidChar","char '"+J[G]+"' is not expected.",nQ(J,G))}if(!Y)return w3("InvalidXml","Start tag expected.",1);else if(Z.length==1)return w3("InvalidTag","Unclosed tag '"+Z[0].tagName+"'.",nQ(J,Z[0].tagStartPos));else if(Z.length>0)return w3("InvalidXml","Invalid '"+JSON.stringify(Z.map((G)=>G.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1});return!0}function L96(J){return J===" "||J==="\t"||J===`
4749
4749
  `||J==="\r"}function A96(J,Q){let Z=Q;for(;Q<J.length;Q++)if(J[Q]=="?"||J[Q]==" "){let Y=J.substr(Z,Q-Z);if(Q>5&&Y==="xml")return w3("InvalidXml","XML declaration allowed only at the start of the document.",nQ(J,Q));else if(J[Q]=="?"&&J[Q+1]==">"){Q++;break}else continue}return Q}function O96(J,Q){if(J.length>Q+5&&J[Q+1]==="-"&&J[Q+2]==="-"){for(Q+=3;Q<J.length;Q++)if(J[Q]==="-"&&J[Q+1]==="-"&&J[Q+2]===">"){Q+=2;break}}else if(J.length>Q+8&&J[Q+1]==="D"&&J[Q+2]==="O"&&J[Q+3]==="C"&&J[Q+4]==="T"&&J[Q+5]==="Y"&&J[Q+6]==="P"&&J[Q+7]==="E"){let Z=1;for(Q+=8;Q<J.length;Q++)if(J[Q]==="<")Z++;else if(J[Q]===">"){if(Z--,Z===0)break}}else if(J.length>Q+9&&J[Q+1]==="["&&J[Q+2]==="C"&&J[Q+3]==="D"&&J[Q+4]==="A"&&J[Q+5]==="T"&&J[Q+6]==="A"&&J[Q+7]==="["){for(Q+=8;Q<J.length;Q++)if(J[Q]==="]"&&J[Q+1]==="]"&&J[Q+2]===">"){Q+=2;break}}return Q}var NG8='"',DG8="'";function MG8(J,Q){let Z="",Y="",X=!1;for(;Q<J.length;Q++){if(J[Q]===NG8||J[Q]===DG8)if(Y==="")Y=J[Q];else if(Y!==J[Q]);else Y="";else if(J[Q]===">"){if(Y===""){X=!0;break}}Z+=J[Q]}if(Y!=="")return!1;return{value:Z,index:Q,tagClosed:X}}var LG8=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function w96(J,Q){let Z=d41(J,LG8),Y={};for(let X=0;X<Z.length;X++){if(Z[X][1].length===0)return w3("InvalidAttr","Attribute '"+Z[X][2]+"' has no space in starting.",$g(Z[X]));else if(Z[X][3]!==void 0&&Z[X][4]===void 0)return w3("InvalidAttr","Attribute '"+Z[X][2]+"' is without value.",$g(Z[X]));else if(Z[X][3]===void 0&&!Q.allowBooleanAttributes)return w3("InvalidAttr","boolean attribute '"+Z[X][2]+"' is not allowed.",$g(Z[X]));let G=Z[X][2];if(!wG8(G))return w3("InvalidAttr","Attribute '"+G+"' is an invalid name.",$g(Z[X]));if(!Y.hasOwnProperty(G))Y[G]=1;else return w3("InvalidAttr","Attribute '"+G+"' is repeated.",$g(Z[X]))}return!0}function AG8(J,Q){let Z=/\d/;if(J[Q]==="x")Q++,Z=/[\da-fA-F]/;for(;Q<J.length;Q++){if(J[Q]===";")return Q;if(!J[Q].match(Z))break}return-1}function OG8(J,Q){if(Q++,J[Q]===";")return-1;if(J[Q]==="#")return Q++,AG8(J,Q);let Z=0;for(;Q<J.length;Q++,Z++){if(J[Q].match(/\w/)&&Z<20)continue;if(J[Q]===";")break;return-1}return Q}function w3(J,Q,Z){return{err:{code:J,msg:Q,line:Z.line||Z,col:Z.col}}}function wG8(J){return WC(J)}function EG8(J){return WC(J)}function nQ(J,Q){let Z=J.substring(0,Q).split(/\r?\n/);return{line:Z.length,col:Z[Z.length-1].length+1}}function $g(J){return J.startIndex+J[1].length}var IG8={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(J,Q){return Q},attributeValueProcessor:function(J,Q){return Q},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(J,Q,Z){return J},captureMetaData:!1},I96=function(J){return Object.assign({},IG8,J)};var c41;if(typeof Symbol!=="function")c41="@@xmlMetadata";else c41=Symbol("XML Node Metadata");class x${constructor(J){this.tagname=J,this.child=[],this[":@"]={}}add(J,Q){if(J==="__proto__")J="#__proto__";this.child.push({[J]:Q})}addChild(J,Q){if(J.tagname==="__proto__")J.tagname="#__proto__";if(J[":@"]&&Object.keys(J[":@"]).length>0)this.child.push({[J.tagname]:J.child,[":@"]:J[":@"]});else this.child.push({[J.tagname]:J.child});if(Q!==void 0)this.child[this.child.length-1][c41]={startIndex:Q}}static getMetaDataSymbol(){return c41}}class l41{constructor(J){this.suppressValidationErr=!J}readDocType(J,Q){let Z={};if(J[Q+3]==="O"&&J[Q+4]==="C"&&J[Q+5]==="T"&&J[Q+6]==="Y"&&J[Q+7]==="P"&&J[Q+8]==="E"){Q=Q+9;let Y=1,X=!1,G=!1,V="";for(;Q<J.length;Q++)if(J[Q]==="<"&&!G){if(X&&aA(J,"!ENTITY",Q)){Q+=7;let K,q;if([K,q,Q]=this.readEntityExp(J,Q+1,this.suppressValidationErr),q.indexOf("&")===-1)Z[K]={regx:RegExp(`&${K};`,"g"),val:q}}else if(X&&aA(J,"!ELEMENT",Q)){Q+=8;let{index:K}=this.readElementExp(J,Q+1);Q=K}else if(X&&aA(J,"!ATTLIST",Q))Q+=8;else if(X&&aA(J,"!NOTATION",Q)){Q+=9;let{index:K}=this.readNotationExp(J,Q+1,this.suppressValidationErr);Q=K}else if(aA(J,"!--",Q))G=!0;else throw Error("Invalid DOCTYPE");Y++,V=""}else if(J[Q]===">"){if(G){if(J[Q-1]==="-"&&J[Q-2]==="-")G=!1,Y--}else Y--;if(Y===0)break}else if(J[Q]==="[")X=!0;else V+=J[Q];if(Y!==0)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:Z,i:Q}}readEntityExp(J,Q){Q=nZ(J,Q);let Z="";while(Q<J.length&&!/\s/.test(J[Q])&&J[Q]!=='"'&&J[Q]!=="'")Z+=J[Q],Q++;if(Gg(Z),Q=nZ(J,Q),!this.suppressValidationErr){if(J.substring(Q,Q+6).toUpperCase()==="SYSTEM")throw Error("External entities are not supported");else if(J[Q]==="%")throw Error("Parameter entities are not supported")}let Y="";return[Q,Y]=this.readIdentifierVal(J,Q,"entity"),Q--,[Z,Y,Q]}readNotationExp(J,Q){Q=nZ(J,Q);let Z="";while(Q<J.length&&!/\s/.test(J[Q]))Z+=J[Q],Q++;!this.suppressValidationErr&&Gg(Z),Q=nZ(J,Q);let Y=J.substring(Q,Q+6).toUpperCase();if(!this.suppressValidationErr&&Y!=="SYSTEM"&&Y!=="PUBLIC")throw Error(`Expected SYSTEM or PUBLIC, found "${Y}"`);Q+=Y.length,Q=nZ(J,Q);let X=null,G=null;if(Y==="PUBLIC"){if([Q,X]=this.readIdentifierVal(J,Q,"publicIdentifier"),Q=nZ(J,Q),J[Q]==='"'||J[Q]==="'")[Q,G]=this.readIdentifierVal(J,Q,"systemIdentifier")}else if(Y==="SYSTEM"){if([Q,G]=this.readIdentifierVal(J,Q,"systemIdentifier"),!this.suppressValidationErr&&!G)throw Error("Missing mandatory system identifier for SYSTEM notation")}return{notationName:Z,publicIdentifier:X,systemIdentifier:G,index:--Q}}readIdentifierVal(J,Q,Z){let Y="",X=J[Q];if(X!=='"'&&X!=="'")throw Error(`Expected quoted string, found "${X}"`);Q++;while(Q<J.length&&J[Q]!==X)Y+=J[Q],Q++;if(J[Q]!==X)throw Error(`Unterminated ${Z} value`);return Q++,[Q,Y]}readElementExp(J,Q){Q=nZ(J,Q);let Z="";while(Q<J.length&&!/\s/.test(J[Q]))Z+=J[Q],Q++;if(!this.suppressValidationErr&&!WC(Z))throw Error(`Invalid element name: "${Z}"`);Q=nZ(J,Q);let Y="";if(J[Q]==="E"&&aA(J,"MPTY",Q))Q+=4;else if(J[Q]==="A"&&aA(J,"NY",Q))Q+=2;else if(J[Q]==="("){Q++;while(Q<J.length&&J[Q]!==")")Y+=J[Q],Q++;if(J[Q]!==")")throw Error("Unterminated content model")}else if(!this.suppressValidationErr)throw Error(`Invalid Element Expression, found "${J[Q]}"`);return{elementName:Z,contentModel:Y.trim(),index:Q}}readAttlistExp(J,Q){Q=nZ(J,Q);let Z="";while(Q<J.length&&!/\s/.test(J[Q]))Z+=J[Q],Q++;Gg(Z),Q=nZ(J,Q);let Y="";while(Q<J.length&&!/\s/.test(J[Q]))Y+=J[Q],Q++;if(!Gg(Y))throw Error(`Invalid attribute name: "${Y}"`);Q=nZ(J,Q);let X="";if(J.substring(Q,Q+8).toUpperCase()==="NOTATION"){if(X="NOTATION",Q+=8,Q=nZ(J,Q),J[Q]!=="(")throw Error(`Expected '(', found "${J[Q]}"`);Q++;let V=[];while(Q<J.length&&J[Q]!==")"){let K="";while(Q<J.length&&J[Q]!=="|"&&J[Q]!==")")K+=J[Q],Q++;if(K=K.trim(),!Gg(K))throw Error(`Invalid notation name: "${K}"`);if(V.push(K),J[Q]==="|")Q++,Q=nZ(J,Q)}if(J[Q]!==")")throw Error("Unterminated list of notations");Q++,X+=" ("+V.join("|")+")"}else{while(Q<J.length&&!/\s/.test(J[Q]))X+=J[Q],Q++;let V=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!V.includes(X.toUpperCase()))throw Error(`Invalid attribute type: "${X}"`)}Q=nZ(J,Q);let G="";if(J.substring(Q,Q+8).toUpperCase()==="#REQUIRED")G="#REQUIRED",Q+=8;else if(J.substring(Q,Q+7).toUpperCase()==="#IMPLIED")G="#IMPLIED",Q+=7;else[Q,G]=this.readIdentifierVal(J,Q,"ATTLIST");return{elementName:Z,attributeName:Y,attributeType:X,defaultValue:G,index:Q}}}var nZ=(J,Q)=>{while(Q<J.length&&/\s/.test(J[Q]))Q++;return Q};function aA(J,Q,Z){for(let Y=0;Y<Q.length;Y++)if(Q[Y]!==J[Z+Y+1])return!1;return!0}function Gg(J){if(WC(J))return J;else throw Error(`Invalid entity name ${J}`)}var PG8=/^[-+]?0x[a-fA-F0-9]+$/,RG8=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,TG8={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function pj1(J,Q={}){if(Q=Object.assign({},TG8,Q),!J||typeof J!=="string")return J;let Z=J.trim();if(Q.skipLike!==void 0&&Q.skipLike.test(Z))return J;else if(J==="0")return 0;else if(Q.hex&&PG8.test(Z))return _G8(Z,16);else if(Z.search(/.+[eE].+/)!==-1)return jG8(J,Z,Q);else{let Y=RG8.exec(Z);if(Y){let X=Y[1]||"",G=Y[2],V=SG8(Y[3]),K=X?J[G.length+1]===".":J[G.length]===".";if(!Q.leadingZeros&&(G.length>1||G.length===1&&!K))return J;else{let q=Number(Z),W=String(q);if(q===0)return q;if(W.search(/[eE]/)!==-1)if(Q.eNotation)return q;else return J;else if(Z.indexOf(".")!==-1)if(W==="0")return q;else if(W===V)return q;else if(W===`${X}${V}`)return q;else return J;let H=G?V:Z;if(G)return H===W||X+H===W?q:J;else return H===W||H===X+W?q:J}}else return J}}var CG8=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function jG8(J,Q,Z){if(!Z.eNotation)return J;let Y=Q.match(CG8);if(Y){let X=Y[1]||"",G=Y[3].indexOf("e")===-1?"E":"e",V=Y[2],K=X?J[V.length+1]===G:J[V.length]===G;if(V.length>1&&K)return J;else if(V.length===1&&(Y[3].startsWith(`.${G}`)||Y[3][0]===G))return Number(Q);else if(Z.leadingZeros&&!K)return Q=(Y[1]||"")+Y[3],Number(Q);else return J}else return J}function SG8(J){if(J&&J.indexOf(".")!==-1){if(J=J.replace(/0+$/,""),J===".")J="0";else if(J[0]===".")J="0"+J;else if(J[J.length-1]===".")J=J.substring(0,J.length-1);return J}return J}function _G8(J,Q){if(parseInt)return parseInt(J,Q);else if(Number.parseInt)return Number.parseInt(J,Q);else if(window&&window.parseInt)return window.parseInt(J,Q);else throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}function dj1(J){if(typeof J==="function")return J;if(Array.isArray(J))return(Q)=>{for(let Z of J){if(typeof Z==="string"&&Q===Z)return!0;if(Z instanceof RegExp&&Z.test(Q))return!0}};return()=>!1}class i41{constructor(J){if(this.options=J,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(Q,Z)=>String.fromCodePoint(Number.parseInt(Z,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(Q,Z)=>String.fromCodePoint(Number.parseInt(Z,16))}},this.addExternalEntities=kG8,this.parseXml=hG8,this.parseTextData=yG8,this.resolveNameSpace=xG8,this.buildAttributesMap=fG8,this.isItStopNode=uG8,this.replaceEntitiesValue=mG8,this.readStopNodeData=dG8,this.saveTextToParentTag=gG8,this.addChild=bG8,this.ignoreAttributesFn=dj1(this.options.ignoreAttributes),this.options.stopNodes&&this.options.stopNodes.length>0){this.stopNodesExact=new Set,this.stopNodesWildcard=new Set;for(let Q=0;Q<this.options.stopNodes.length;Q++){let Z=this.options.stopNodes[Q];if(typeof Z!=="string")continue;if(Z.startsWith("*."))this.stopNodesWildcard.add(Z.substring(2));else this.stopNodesExact.add(Z)}}}}function kG8(J){let Q=Object.keys(J);for(let Z=0;Z<Q.length;Z++){let Y=Q[Z];this.lastEntities[Y]={regex:new RegExp("&"+Y+";","g"),val:J[Y]}}}function yG8(J,Q,Z,Y,X,G,V){if(J!==void 0){if(this.options.trimValues&&!Y)J=J.trim();if(J.length>0){if(!V)J=this.replaceEntitiesValue(J);let K=this.options.tagValueProcessor(Q,J,Z,X,G);if(K===null||K===void 0)return J;else if(typeof K!==typeof J||K!==J)return K;else if(this.options.trimValues)return lj1(J,this.options.parseTagValue,this.options.numberParseOptions);else if(J.trim()===J)return lj1(J,this.options.parseTagValue,this.options.numberParseOptions);else return J}}}function xG8(J){if(this.options.removeNSPrefix){let Q=J.split(":"),Z=J.charAt(0)==="/"?"/":"";if(Q[0]==="xmlns")return"";if(Q.length===2)J=Z+Q[1]}return J}var vG8=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function fG8(J,Q,Z){if(this.options.ignoreAttributes!==!0&&typeof J==="string"){let Y=d41(J,vG8),X=Y.length,G={};for(let V=0;V<X;V++){let K=this.resolveNameSpace(Y[V][1]);if(this.ignoreAttributesFn(K,Q))continue;let q=Y[V][4],W=this.options.attributeNamePrefix+K;if(K.length){if(this.options.transformAttributeName)W=this.options.transformAttributeName(W);if(W==="__proto__")W="#__proto__";if(q!==void 0){if(this.options.trimValues)q=q.trim();q=this.replaceEntitiesValue(q);let H=this.options.attributeValueProcessor(K,q,Q);if(H===null||H===void 0)G[W]=q;else if(typeof H!==typeof q||H!==q)G[W]=H;else G[W]=lj1(q,this.options.parseAttributeValue,this.options.numberParseOptions)}else if(this.options.allowBooleanAttributes)G[W]=!0}}if(!Object.keys(G).length)return;if(this.options.attributesGroupName){let V={};return V[this.options.attributesGroupName]=G,V}return G}}var hG8=function(J){J=J.replace(/\r\n?/g,`
4750
4750
  `);let Q=new x$("!xml"),Z=Q,Y="",X="",G=new l41(this.options.processEntities);for(let V=0;V<J.length;V++)if(J[V]==="<")if(J[V+1]==="/"){let q=oA(J,">",V,"Closing Tag is not closed."),W=J.substring(V+2,q).trim();if(this.options.removeNSPrefix){let U=W.indexOf(":");if(U!==-1)W=W.substr(U+1)}if(this.options.transformTagName)W=this.options.transformTagName(W);if(Z)Y=this.saveTextToParentTag(Y,Z,X);let H=X.substring(X.lastIndexOf(".")+1);if(W&&this.options.unpairedTags.indexOf(W)!==-1)throw Error(`Unpaired tag can not be used as closing tag: </${W}>`);let z=0;if(H&&this.options.unpairedTags.indexOf(H)!==-1)z=X.lastIndexOf(".",X.lastIndexOf(".")-1),this.tagsNodeStack.pop();else z=X.lastIndexOf(".");X=X.substring(0,z),Z=this.tagsNodeStack.pop(),Y="",V=q}else if(J[V+1]==="?"){let q=cj1(J,V,!1,"?>");if(!q)throw Error("Pi Tag is not closed.");if(Y=this.saveTextToParentTag(Y,Z,X),this.options.ignoreDeclaration&&q.tagName==="?xml"||this.options.ignorePiTags);else{let W=new x$(q.tagName);if(W.add(this.options.textNodeName,""),q.tagName!==q.tagExp&&q.attrExpPresent)W[":@"]=this.buildAttributesMap(q.tagExp,X,q.tagName);this.addChild(Z,W,X,V)}V=q.closeIndex+1}else if(J.substr(V+1,3)==="!--"){let q=oA(J,"-->",V+4,"Comment is not closed.");if(this.options.commentPropName){let W=J.substring(V+4,q-2);Y=this.saveTextToParentTag(Y,Z,X),Z.add(this.options.commentPropName,[{[this.options.textNodeName]:W}])}V=q}else if(J.substr(V+1,2)==="!D"){let q=G.readDocType(J,V);this.docTypeEntities=q.entities,V=q.i}else if(J.substr(V+1,2)==="!["){let q=oA(J,"]]>",V,"CDATA is not closed.")-2,W=J.substring(V+9,q);Y=this.saveTextToParentTag(Y,Z,X);let H=this.parseTextData(W,Z.tagname,X,!0,!1,!0,!0);if(H==null)H="";if(this.options.cdataPropName)Z.add(this.options.cdataPropName,[{[this.options.textNodeName]:W}]);else Z.add(this.options.textNodeName,H);V=q+2}else{let q=cj1(J,V,this.options.removeNSPrefix),W=q.tagName,H=q.rawTagName,z=q.tagExp,U=q.attrExpPresent,D=q.closeIndex;if(this.options.transformTagName)W=this.options.transformTagName(W);if(Z&&Y){if(Z.tagname!=="!xml")Y=this.saveTextToParentTag(Y,Z,X,!1)}let M=Z;if(M&&this.options.unpairedTags.indexOf(M.tagname)!==-1)Z=this.tagsNodeStack.pop(),X=X.substring(0,X.lastIndexOf("."));if(W!==Q.tagname)X+=X?"."+W:W;let L=V;if(this.isItStopNode(this.stopNodesExact,this.stopNodesWildcard,X,W)){let A="";if(z.length>0&&z.lastIndexOf("/")===z.length-1){if(W[W.length-1]==="/")W=W.substr(0,W.length-1),X=X.substr(0,X.length-1),z=W;else z=z.substr(0,z.length-1);V=q.closeIndex}else if(this.options.unpairedTags.indexOf(W)!==-1)V=q.closeIndex;else{let I=this.readStopNodeData(J,H,D+1);if(!I)throw Error(`Unexpected end of ${H}`);V=I.i,A=I.tagContent}let E=new x$(W);if(W!==z&&U)E[":@"]=this.buildAttributesMap(z,X,W);if(A)A=this.parseTextData(A,W,X,!0,U,!0,!0);X=X.substr(0,X.lastIndexOf(".")),E.add(this.options.textNodeName,A),this.addChild(Z,E,X,L)}else{if(z.length>0&&z.lastIndexOf("/")===z.length-1){if(W[W.length-1]==="/")W=W.substr(0,W.length-1),X=X.substr(0,X.length-1),z=W;else z=z.substr(0,z.length-1);if(this.options.transformTagName)W=this.options.transformTagName(W);let A=new x$(W);if(W!==z&&U)A[":@"]=this.buildAttributesMap(z,X,W);this.addChild(Z,A,X,L),X=X.substr(0,X.lastIndexOf("."))}else{let A=new x$(W);if(this.tagsNodeStack.push(Z),W!==z&&U)A[":@"]=this.buildAttributesMap(z,X,W);this.addChild(Z,A,X,L),Z=A}Y="",V=D}}else Y+=J[V];return Q.child};function bG8(J,Q,Z,Y){if(!this.options.captureMetaData)Y=void 0;let X=this.options.updateTag(Q.tagname,Z,Q[":@"]);if(X===!1);else if(typeof X==="string")Q.tagname=X,J.addChild(Q,Y);else J.addChild(Q,Y)}var mG8=function(J){if(this.options.processEntities){for(let Q in this.docTypeEntities){let Z=this.docTypeEntities[Q];J=J.replace(Z.regx,Z.val)}for(let Q in this.lastEntities){let Z=this.lastEntities[Q];J=J.replace(Z.regex,Z.val)}if(this.options.htmlEntities)for(let Q in this.htmlEntities){let Z=this.htmlEntities[Q];J=J.replace(Z.regex,Z.val)}J=J.replace(this.ampEntity.regex,this.ampEntity.val)}return J};function gG8(J,Q,Z,Y){if(J){if(Y===void 0)Y=Q.child.length===0;if(J=this.parseTextData(J,Q.tagname,Z,!1,Q[":@"]?Object.keys(Q[":@"]).length!==0:!1,Y),J!==void 0&&J!=="")Q.add(this.options.textNodeName,J);J=""}return J}function uG8(J,Q,Z,Y){if(Q&&Q.has(Y))return!0;if(J&&J.has(Z))return!0;return!1}function pG8(J,Q,Z=">"){let Y,X="";for(let G=Q;G<J.length;G++){let V=J[G];if(Y){if(V===Y)Y=""}else if(V==='"'||V==="'")Y=V;else if(V===Z[0])if(Z[1]){if(J[G+1]===Z[1])return{data:X,index:G}}else return{data:X,index:G};else if(V==="\t")V=" ";X+=V}}function oA(J,Q,Z,Y){let X=J.indexOf(Q,Z);if(X===-1)throw Error(Y);else return X+Q.length-1}function cj1(J,Q,Z,Y=">"){let X=pG8(J,Q+1,Y);if(!X)return;let{data:G,index:V}=X,K=G.search(/\s/),q=G,W=!0;if(K!==-1)q=G.substring(0,K),G=G.substring(K+1).trimStart();let H=q;if(Z){let z=q.indexOf(":");if(z!==-1)q=q.substr(z+1),W=q!==X.data.substr(z+1)}return{tagName:q,tagExp:G,closeIndex:V,attrExpPresent:W,rawTagName:H}}function dG8(J,Q,Z){let Y=Z,X=1;for(;Z<J.length;Z++)if(J[Z]==="<")if(J[Z+1]==="/"){let G=oA(J,">",Z,`${Q} is not closed`);if(J.substring(Z+2,G).trim()===Q){if(X--,X===0)return{tagContent:J.substring(Y,Z),i:G}}Z=G}else if(J[Z+1]==="?")Z=oA(J,"?>",Z+1,"StopNode is not closed.");else if(J.substr(Z+1,3)==="!--")Z=oA(J,"-->",Z+3,"StopNode is not closed.");else if(J.substr(Z+1,2)==="![")Z=oA(J,"]]>",Z,"StopNode is not closed.")-2;else{let G=cj1(J,Z,">");if(G){if((G&&G.tagName)===Q&&G.tagExp[G.tagExp.length-1]!=="/")X++;Z=G.closeIndex}}}function lj1(J,Q,Z){if(Q&&typeof J==="string"){let Y=J.trim();if(Y==="true")return!0;else if(Y==="false")return!1;else return pj1(J,Z)}else if(M96(J))return J;else return""}var ij1=x$.getMetaDataSymbol();function nj1(J,Q){return P96(J,Q)}function P96(J,Q,Z){let Y,X={};for(let G=0;G<J.length;G++){let V=J[G],K=cG8(V),q="";if(Z===void 0)q=K;else q=Z+"."+K;if(K===Q.textNodeName)if(Y===void 0)Y=V[K];else Y+=""+V[K];else if(K===void 0)continue;else if(V[K]){let W=P96(V[K],Q,q),H=iG8(W,Q);if(V[ij1]!==void 0)W[ij1]=V[ij1];if(V[":@"])lG8(W,V[":@"],q,Q);else if(Object.keys(W).length===1&&W[Q.textNodeName]!==void 0&&!Q.alwaysCreateTextNode)W=W[Q.textNodeName];else if(Object.keys(W).length===0)if(Q.alwaysCreateTextNode)W[Q.textNodeName]="";else W="";if(X[K]!==void 0&&X.hasOwnProperty(K)){if(!Array.isArray(X[K]))X[K]=[X[K]];X[K].push(W)}else if(Q.isArray(K,q,H))X[K]=[W];else X[K]=W}}if(typeof Y==="string"){if(Y.length>0)X[Q.textNodeName]=Y}else if(Y!==void 0)X[Q.textNodeName]=Y;return X}function cG8(J){let Q=Object.keys(J);for(let Z=0;Z<Q.length;Z++){let Y=Q[Z];if(Y!==":@")return Y}}function lG8(J,Q,Z,Y){if(Q){let X=Object.keys(Q),G=X.length;for(let V=0;V<G;V++){let K=X[V];if(Y.isArray(K,Z+"."+K,!0,!0))J[K]=[Q[K]];else J[K]=Q[K]}}}function iG8(J,Q){let{textNodeName:Z}=Q,Y=Object.keys(J).length;if(Y===0)return!0;if(Y===1&&(J[Z]||typeof J[Z]==="boolean"||J[Z]===0))return!0;return!1}class Zz{constructor(J){this.externalEntities={},this.options=I96(J)}parse(J,Q){if(typeof J!=="string"&&J.toString)J=J.toString();else if(typeof J!=="string")throw Error("XML data is accepted in String or Bytes[] form.");if(Q){if(Q===!0)Q={};let X=E96(J,Q);if(X!==!0)throw Error(`${X.err.msg}:${X.err.line}:${X.err.col}`)}let Z=new i41(this.options);Z.addExternalEntities(this.externalEntities);let Y=Z.parseXml(J);if(this.options.preserveOrder||Y===void 0)return Y;else return nj1(Y,this.options)}addEntity(J,Q){if(Q.indexOf("&")!==-1)throw Error("Entity value can't have '&'");else if(J.indexOf("&")!==-1||J.indexOf(";")!==-1)throw Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");else if(Q==="&")throw Error("An entity with value '&' is not permitted");else this.externalEntities[J]=Q}static getMetaDataSymbol(){return x$.getMetaDataSymbol()}}var nG8=["feed.author.name","feed.author.uri","feed.author.url","feed.author.email","feed.category","feed.contributor.name","feed.contributor.uri","feed.contributor.url","feed.contributor.email","feed.generator","feed.icon","feed.id","feed.link","feed.logo","feed.rights","feed.subtitle","feed.tagline","feed.title","feed.updated","feed.modified","feed.entry.author.name","feed.entry.author.uri","feed.entry.author.url","feed.entry.author.email","feed.entry.category","feed.entry.content","feed.entry.contributor.name","feed.entry.contributor.uri","feed.entry.contributor.url","feed.entry.contributor.email","feed.entry.id","feed.entry.link","feed.entry.published","feed.entry.issued","feed.entry.created","feed.entry.rights","feed.entry.source.author.name","feed.entry.source.author.uri","feed.entry.source.author.url","feed.entry.source.author.email","feed.entry.source.category","feed.entry.source.contributor.name","feed.entry.source.contributor.uri","feed.entry.source.contributor.url","feed.entry.source.contributor.email","feed.entry.source.generator","feed.entry.source.icon","feed.entry.source.id","feed.entry.source.link","feed.entry.source.logo","feed.entry.source.rights","feed.entry.source.subtitle","feed.entry.source.title,","feed.entry.source.updated","feed.entry.source.modified","feed.entry.summary","feed.entry.title","feed.entry.updated","feed.entry.modified"],R96=new Zz({...KC,stopNodes:nG8});var HC=(J)=>{if(!O0(J))return;return L0({errorReportsTo:L1(J["admin:errorreportsto"],(Q)=>o7(Q,G1)),generatorAgent:L1(J["admin:generatoragent"],(Q)=>o7(Q,G1))})};var aG8=(J)=>{if(!O0(J))return;return L0({draft:L1(J["app:draft"],(Q)=>HQ(j1(Q)))})},T96=(J)=>{if(!O0(J))return;return L0({edited:L1(J["app:edited"],(Q)=>m8(j1(Q))),control:L1(J["app:control"],aG8)})};var oG8=(J)=>{if(!O0(J))return;return L0({term:G1(J["@term"]),scheme:G1(J["@scheme"]),label:G1(J["@label"])})},C96=(J)=>{if(!O0(J))return;return L0({affiliation:L1(J["arxiv:affiliation"],(Q)=>G1(j1(Q)))})},j96=(J)=>{if(!O0(J))return;return L0({comment:L1(J["arxiv:comment"],(Q)=>G1(j1(Q))),journalRef:L1(J["arxiv:journal_ref"],(Q)=>G1(j1(Q))),doi:L1(J["arxiv:doi"],(Q)=>G1(j1(Q))),primaryCategory:L1(J["arxiv:primary_category"],oG8)})};var zC=(J)=>{if(!O0(J))return;return L0({license:L1(J["cc:license"],(Q)=>o7(Q,G1)),morePermissions:L1(J["cc:morepermissions"],(Q)=>o7(Q,G1)),attributionName:L1(J["cc:attributionname"],(Q)=>o7(Q,G1)),attributionURL:L1(J["cc:attributionurl"],(Q)=>o7(Q,G1)),useGuidelines:L1(J["cc:useguidelines"],(Q)=>o7(Q,G1)),permits:L1(J["cc:permits"],(Q)=>o7(Q,G1)),requires:L1(J["cc:requires"],(Q)=>o7(Q,G1)),prohibits:L1(J["cc:prohibits"],(Q)=>o7(Q,G1)),jurisdiction:L1(J["cc:jurisdiction"],(Q)=>o7(Q,G1)),legalcode:L1(J["cc:legalcode"],(Q)=>o7(Q,G1)),deprecatedOn:L1(J["cc:deprecatedon"],(Q)=>o7(Q,G1))})};var FC=(J)=>{if(!O0(J))return;return L0({licenses:k0(J["creativecommons:license"],(Q)=>G1(j1(Q)))})};var Yz=(J)=>{if(!O0(J))return;return L0({titles:k0(J["dc:title"],(Q)=>G1(j1(Q))),creators:k0(J["dc:creator"],(Q)=>G1(j1(Q))),subjects:k0(J["dc:subject"],(Q)=>G1(j1(Q))),descriptions:k0(J["dc:description"],(Q)=>G1(j1(Q))),publishers:k0(J["dc:publisher"],(Q)=>G1(j1(Q))),contributors:k0(J["dc:contributor"],(Q)=>G1(j1(Q))),dates:k0(J["dc:date"],(Q)=>m8(j1(Q))),types:k0(J["dc:type"],(Q)=>G1(j1(Q))),formats:k0(J["dc:format"],(Q)=>G1(j1(Q))),identifiers:k0(J["dc:identifier"],(Q)=>G1(j1(Q))),sources:k0(J["dc:source"],(Q)=>G1(j1(Q))),languages:k0(J["dc:language"],(Q)=>G1(j1(Q))),relations:k0(J["dc:relation"],(Q)=>G1(j1(Q))),title:L1(J["dc:title"],(Q)=>G1(j1(Q))),creator:L1(J["dc:creator"],(Q)=>G1(j1(Q))),subject:L1(J["dc:subject"],(Q)=>G1(j1(Q))),description:L1(J["dc:description"],(Q)=>G1(j1(Q))),publisher:L1(J["dc:publisher"],(Q)=>G1(j1(Q))),contributor:L1(J["dc:contributor"],(Q)=>G1(j1(Q))),date:L1(J["dc:date"],(Q)=>m8(j1(Q))),type:L1(J["dc:type"],(Q)=>G1(j1(Q))),format:L1(J["dc:format"],(Q)=>G1(j1(Q))),identifier:L1(J["dc:identifier"],(Q)=>G1(j1(Q))),source:L1(J["dc:source"],(Q)=>G1(j1(Q))),language:L1(J["dc:language"],(Q)=>G1(j1(Q))),relation:L1(J["dc:relation"],(Q)=>G1(j1(Q))),coverage:L1(J["dc:coverage"],(Q)=>G1(j1(Q))),rights:L1(J["dc:rights"],(Q)=>G1(j1(Q)))})};var Xz=(J)=>{if(!O0(J))return;return L0({abstracts:k0(J["dcterms:abstract"],(Q)=>G1(j1(Q))),accrualMethods:k0(J["dcterms:accrualmethod"],(Q)=>G1(j1(Q))),accrualPeriodicities:k0(J["dcterms:accrualperiodicity"],(Q)=>G1(j1(Q))),accrualPolicies:k0(J["dcterms:accrualpolicy"],(Q)=>G1(j1(Q))),alternatives:k0(J["dcterms:alternative"],(Q)=>G1(j1(Q))),audiences:k0(J["dcterms:audience"],(Q)=>G1(j1(Q))),bibliographicCitations:k0(J["dcterms:bibliographiccitation"],(Q)=>G1(j1(Q))),contributors:k0(J["dcterms:contributor"],(Q)=>G1(j1(Q))),coverages:k0(J["dcterms:coverage"],(Q)=>G1(j1(Q))),creators:k0(J["dcterms:creator"],(Q)=>G1(j1(Q))),dates:k0(J["dcterms:date"],(Q)=>m8(j1(Q))),descriptions:k0(J["dcterms:description"],(Q)=>G1(j1(Q))),educationLevels:k0(J["dcterms:educationlevel"],(Q)=>G1(j1(Q))),extents:k0(J["dcterms:extent"],(Q)=>G1(j1(Q))),formats:k0(J["dcterms:format"],(Q)=>G1(j1(Q))),hasFormats:k0(J["dcterms:hasformat"],(Q)=>G1(j1(Q))),hasParts:k0(J["dcterms:haspart"],(Q)=>G1(j1(Q))),hasVersions:k0(J["dcterms:hasversion"],(Q)=>G1(j1(Q))),identifiers:k0(J["dcterms:identifier"],(Q)=>G1(j1(Q))),instructionalMethods:k0(J["dcterms:instructionalmethod"],(Q)=>G1(j1(Q))),languages:k0(J["dcterms:language"],(Q)=>G1(j1(Q))),licenses:k0(J["dcterms:license"],(Q)=>G1(j1(Q))),mediators:k0(J["dcterms:mediator"],(Q)=>G1(j1(Q))),mediums:k0(J["dcterms:medium"],(Q)=>G1(j1(Q))),provenances:k0(J["dcterms:provenance"],(Q)=>G1(j1(Q))),publishers:k0(J["dcterms:publisher"],(Q)=>G1(j1(Q))),relations:k0(J["dcterms:relation"],(Q)=>G1(j1(Q))),rightsHolders:k0(J["dcterms:rightsholder"],(Q)=>G1(j1(Q))),sources:k0(J["dcterms:source"],(Q)=>G1(j1(Q))),spatials:k0(J["dcterms:spatial"],(Q)=>G1(j1(Q))),subjects:k0(J["dcterms:subject"],(Q)=>G1(j1(Q))),temporals:k0(J["dcterms:temporal"],(Q)=>G1(j1(Q))),titles:k0(J["dcterms:title"],(Q)=>G1(j1(Q))),types:k0(J["dcterms:type"],(Q)=>G1(j1(Q))),abstract:L1(J["dcterms:abstract"],(Q)=>G1(j1(Q))),accrualMethod:L1(J["dcterms:accrualmethod"],(Q)=>G1(j1(Q))),accrualPeriodicity:L1(J["dcterms:accrualperiodicity"],(Q)=>G1(j1(Q))),accrualPolicy:L1(J["dcterms:accrualpolicy"],(Q)=>G1(j1(Q))),alternative:L1(J["dcterms:alternative"],(Q)=>G1(j1(Q))),audience:L1(J["dcterms:audience"],(Q)=>G1(j1(Q))),bibliographicCitation:L1(J["dcterms:bibliographiccitation"],(Q)=>G1(j1(Q))),contributor:L1(J["dcterms:contributor"],(Q)=>G1(j1(Q))),coverage:L1(J["dcterms:coverage"],(Q)=>G1(j1(Q))),creator:L1(J["dcterms:creator"],(Q)=>G1(j1(Q))),date:L1(J["dcterms:date"],(Q)=>m8(j1(Q))),description:L1(J["dcterms:description"],(Q)=>G1(j1(Q))),educationLevel:L1(J["dcterms:educationlevel"],(Q)=>G1(j1(Q))),extent:L1(J["dcterms:extent"],(Q)=>G1(j1(Q))),format:L1(J["dcterms:format"],(Q)=>G1(j1(Q))),hasFormat:L1(J["dcterms:hasformat"],(Q)=>G1(j1(Q))),hasPart:L1(J["dcterms:haspart"],(Q)=>G1(j1(Q))),hasVersion:L1(J["dcterms:hasversion"],(Q)=>G1(j1(Q))),identifier:L1(J["dcterms:identifier"],(Q)=>G1(j1(Q))),instructionalMethod:L1(J["dcterms:instructionalmethod"],(Q)=>G1(j1(Q))),language:L1(J["dcterms:language"],(Q)=>G1(j1(Q))),license:L1(J["dcterms:license"],(Q)=>G1(j1(Q))),mediator:L1(J["dcterms:mediator"],(Q)=>G1(j1(Q))),medium:L1(J["dcterms:medium"],(Q)=>G1(j1(Q))),provenance:L1(J["dcterms:provenance"],(Q)=>G1(j1(Q))),publisher:L1(J["dcterms:publisher"],(Q)=>G1(j1(Q))),relation:L1(J["dcterms:relation"],(Q)=>G1(j1(Q))),rightsHolder:L1(J["dcterms:rightsholder"],(Q)=>G1(j1(Q))),source:L1(J["dcterms:source"],(Q)=>G1(j1(Q))),spatial:L1(J["dcterms:spatial"],(Q)=>G1(j1(Q))),subject:L1(J["dcterms:subject"],(Q)=>G1(j1(Q))),temporal:L1(J["dcterms:temporal"],(Q)=>G1(j1(Q))),title:L1(J["dcterms:title"],(Q)=>G1(j1(Q))),type:L1(J["dcterms:type"],(Q)=>G1(j1(Q))),accessRights:L1(J["dcterms:accessrights"],(Q)=>G1(j1(Q))),available:L1(J["dcterms:available"],(Q)=>m8(j1(Q))),conformsTo:L1(J["dcterms:conformsto"],(Q)=>G1(j1(Q))),created:L1(J["dcterms:created"],(Q)=>m8(j1(Q))),dateAccepted:L1(J["dcterms:dateaccepted"],(Q)=>m8(j1(Q))),dateCopyrighted:L1(J["dcterms:datecopyrighted"],(Q)=>m8(j1(Q))),dateSubmitted:L1(J["dcterms:datesubmitted"],(Q)=>m8(j1(Q))),isFormatOf:L1(J["dcterms:isformatof"],(Q)=>G1(j1(Q))),isPartOf:L1(J["dcterms:ispartof"],(Q)=>G1(j1(Q))),isReferencedBy:L1(J["dcterms:isreferencedby"],(Q)=>G1(j1(Q))),isReplacedBy:L1(J["dcterms:isreplacedby"],(Q)=>G1(j1(Q))),isRequiredBy:L1(J["dcterms:isrequiredby"],(Q)=>G1(j1(Q))),issued:L1(J["dcterms:issued"],(Q)=>m8(j1(Q))),isVersionOf:L1(J["dcterms:isversionof"],(Q)=>G1(j1(Q))),modified:L1(J["dcterms:modified"],(Q)=>m8(j1(Q))),references:L1(J["dcterms:references"],(Q)=>G1(j1(Q))),replaces:L1(J["dcterms:replaces"],(Q)=>G1(j1(Q))),requires:L1(J["dcterms:requires"],(Q)=>G1(j1(Q))),rights:L1(J["dcterms:rights"],(Q)=>G1(j1(Q))),tableOfContents:L1(J["dcterms:tableofcontents"],(Q)=>G1(j1(Q))),valid:L1(J["dcterms:valid"],(Q)=>m8(j1(Q)))})};var UC=(J)=>{if(!O0(J))return;return L0({lat:L1(J["geo:lat"],(Q)=>j6(j1(Q))),long:L1(J["geo:long"],(Q)=>j6(j1(Q))),alt:L1(J["geo:alt"],(Q)=>j6(j1(Q)))})};var n41=(J,Q)=>{if(!WQ(J))return;let Z=J.split(/\s+/),Y=k0(Z,j6);if(!Y||Y.length%2!==0||Z.length!==Y.length)return;let X=Y.length/2;if(Q?.min&&X<Q?.min||Q?.max&&X>Q?.max)return;let G=[];for(let V=0;V<Y.length;V+=2){let K=Y[V],q=Y[V+1];if(JX(K)&&JX(q))G.push({lat:K,lng:q})}return G.length>0?G:void 0},rG8=(J)=>{return n41(j1(J),{min:1,max:1})?.[0]},sG8=(J)=>{let Q=n41(j1(J),{min:2});if(JX(Q))return{points:Q}},tG8=(J)=>{let Q=n41(j1(J),{min:4});if(JX(Q))return{points:Q}},eG8=(J)=>{let Q=n41(j1(J),{min:2,max:2}),Z=Q?.[0],Y=Q?.[1];if(JX(Z)&&JX(Y))return{lowerCorner:Z,upperCorner:Y}},$z=(J)=>{if(!O0(J))return;return L0({point:L1(J["georss:point"],rG8),line:L1(J["georss:line"],sG8),polygon:L1(J["georss:polygon"],tG8),box:L1(J["georss:box"],eG8),featureTypeTag:L1(J["georss:featuretypetag"],(Q)=>G1(j1(Q))),relationshipTag:L1(J["georss:relationshiptag"],(Q)=>G1(j1(Q))),featureName:L1(J["georss:featurename"],(Q)=>G1(j1(Q))),elev:L1(J["georss:elev"],(Q)=>j6(j1(Q))),floor:L1(J["georss:floor"],(Q)=>j6(j1(Q))),radius:L1(J["georss:radius"],(Q)=>j6(j1(Q)))})};var S96=(J)=>{if(O0(J)&&J["@href"])return L0({href:G1(J["@href"])});let Q=j1(J);if(Q)return L0({href:G1(Q)})},JV8=(J)=>{if(O0(J)&&J["@text"])return G1(J["@text"]);return G1(j1(J))},_96=(J)=>{let Q=j1(J)?.trim().toLowerCase();if(Q==="clean")return Q;return HQ(J)},a41=(J)=>{if(!O0(J))return;return L0({author:L1(J["googleplay:author"],(Q)=>G1(j1(Q))),description:L1(J["googleplay:description"],(Q)=>G1(j1(Q))),explicit:L1(J["googleplay:explicit"],_96),block:L1(J["googleplay:block"],(Q)=>HQ(j1(Q))),image:L1(J["googleplay:image"],S96)})},o41=(J)=>{if(!O0(J))return;return L0({author:L1(J["googleplay:author"],(Q)=>G1(j1(Q))),description:L1(J["googleplay:description"],(Q)=>G1(j1(Q))),explicit:L1(J["googleplay:explicit"],_96),block:L1(J["googleplay:block"],(Q)=>HQ(j1(Q))),image:L1(J["googleplay:image"],S96),newFeedUrl:L1(J["googleplay:new-feed-url"],(Q)=>G1(j1(Q))),email:L1(J["googleplay:email"],(Q)=>G1(j1(Q))),categories:k0(J["googleplay:category"],JV8)})};var k96=(J)=>{if(!O0(J))return;return L0({text:G1(J["@text"]),categories:k0(J["itunes:category"],k96)})},QV8=(J)=>{if(!O0(J))return;return L0({name:L1(J["itunes:name"],(Q)=>G1(j1(Q))),email:L1(J["itunes:email"],(Q)=>G1(j1(Q)))})},ZV8=/^\p{White_Space}*(explicit|yes)\p{White_Space}*$/iu,y96=(J)=>{let Q=UJ(J);if(Q!==void 0)return Q;if(typeof J==="string")return ZV8.test(J)},YV8=(J)=>{let Q=j6(J);if(Q!==void 0)return Q;if(typeof J!=="string")return;let Z=J.match(/^(?:(\d+):)?(\d+):(\d+)$/);if(Z){let[,Y,X,G]=Z;return Number(Y||0)*3600+Number(X)*60+Number(G)}},x96=(J)=>{if(iA(J))return G1(J);if(!O0(J))return;return G1(J["@href"])},r41=(J)=>{if(!O0(J))return;return L0({duration:L1(J["itunes:duration"],(Q)=>YV8(j1(Q))),image:L1(J["itunes:image"],x96),explicit:L1(J["itunes:explicit"],(Q)=>y96(j1(Q))),author:L1(J["itunes:author"],(Q)=>G1(j1(Q))),title:L1(J["itunes:title"],(Q)=>G1(j1(Q))),episode:L1(J["itunes:episode"],(Q)=>j6(j1(Q))),season:L1(J["itunes:season"],(Q)=>j6(j1(Q))),episodeType:L1(J["itunes:episodetype"],(Q)=>G1(j1(Q))),block:L1(J["itunes:block"],(Q)=>HQ(j1(Q))),summary:L1(J["itunes:summary"],(Q)=>G1(j1(Q))),subtitle:L1(J["itunes:subtitle"],(Q)=>G1(j1(Q))),keywords:L1(J["itunes:keywords"],(Q)=>pB(j1(Q),G1))})},s41=(J)=>{if(!O0(J))return;return L0({image:L1(J["itunes:image"],x96),explicit:L1(J["itunes:explicit"],(Q)=>y96(j1(Q))),author:L1(J["itunes:author"],(Q)=>G1(j1(Q))),title:L1(J["itunes:title"],(Q)=>G1(j1(Q))),type:L1(J["itunes:type"],(Q)=>G1(j1(Q))),newFeedUrl:L1(J["itunes:new-feed-url"],(Q)=>G1(j1(Q))),block:L1(J["itunes:block"],(Q)=>HQ(j1(Q))),complete:L1(J["itunes:complete"],(Q)=>HQ(j1(Q))),applePodcastsVerify:L1(J["itunes:applepodcastsverify"],(Q)=>G1(j1(Q))),categories:k0(J["itunes:category"],k96),owner:L1(J["itunes:owner"],QV8),summary:L1(J["itunes:summary"],(Q)=>G1(j1(Q))),subtitle:L1(J["itunes:subtitle"],(Q)=>G1(j1(Q))),keywords:L1(J["itunes:keywords"],(Q)=>pB(j1(Q),G1))})};var XV8=(J)=>{return L0({value:((Q)=>G1(j1(Q)))(J),scheme:G1(J?.["@scheme"])})},$V8=(J)=>{if(!O0(J))return;if(J["media:rating"])return k0(J["media:rating"],XV8);if(J["media:adult"])return[{value:UJ(j1(J["media:adult"]))?"adult":"nonadult",scheme:"urn:simple"}]},v96=(J)=>{return L0({value:((Q)=>G1(j1(Q)))(J),type:G1(J?.["@type"])})},GV8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),height:j6(J["@height"]),width:j6(J["@width"]),time:G1(J["@time"])})},VV8=(J)=>{return L0({name:((Q)=>G1(j1(Q)))(J),scheme:G1(J?.["@scheme"]),label:G1(J?.["@label"])})},KV8=(J)=>{return L0({value:((Q)=>G1(j1(Q)))(J),algo:G1(J?.["@algo"])})},qV8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),height:j6(J["@height"]),width:j6(J["@width"])})},WV8=(J)=>{return L0({value:((Q)=>G1(j1(Q)))(J),role:G1(J?.["@role"]),scheme:G1(J?.["@scheme"])})},HV8=(J)=>{return L0({value:((Q)=>G1(j1(Q)))(J),url:G1(J?.["@url"])})},zV8=(J)=>{return L0({value:((Q)=>G1(j1(Q)))(J),type:G1(J?.["@type"]),lang:G1(J?.["@lang"]),start:G1(J?.["@start"]),end:G1(J?.["@end"])})},FV8=(J)=>{if(!O0(J))return;return L0({value:((Q)=>G1(j1(Q)))(J),relationship:G1(J["@relationship"]),type:G1(J["@type"])})},UV8=(J)=>{if(!O0(J))return;return L0({starRating:L1(J["media:starrating"],BV8),statistics:L1(J["media:statistics"],NV8),tags:L1(J["media:tags"],DV8)})},BV8=(J)=>{if(!O0(J))return;return L0({average:j6(J["@average"]),count:j6(J["@count"]),min:j6(J["@min"]),max:j6(J["@max"])})},NV8=(J)=>{if(!O0(J))return;return L0({views:j6(J["@views"]),favorites:j6(J["@favorites"])})},DV8=(J)=>{return pB(J,(Q)=>{let Z=Q.split(":");return{name:G1(Z[0])??"",weight:j6(Z[1])??1}})},MV8=(J)=>{return k0(J?.["media:comment"],(Q)=>G1(j1(Q)))},LV8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),width:j6(J["@width"]),height:j6(J["@height"]),params:k0(J["media:param"],AV8)})},AV8=(J)=>{if(!O0(J))return;return L0({name:G1(J["@name"]),value:((Q)=>G1(j1(Q)))(J)})},OV8=(J)=>{return k0(J?.["media:response"],(Q)=>G1(j1(Q)))},wV8=(J)=>{return k0(J?.["media:backlink"],(Q)=>G1(j1(Q)))},EV8=(J)=>{if(!O0(J))return;return L0({state:G1(J["@state"]),reason:G1(J["@reason"])})},IV8=(J)=>{if(!O0(J))return;return L0({type:G1(J["@type"]),info:G1(J["@info"]),price:j6(J["@price"]),currency:G1(J["@currency"])})},PV8=(J)=>{return L0({name:((Q)=>G1(j1(Q)))(J),type:G1(J?.["@type"]),href:G1(J?.["@href"])})},RV8=(J)=>{if(!O0(J))return;return L0({type:G1(J["@type"]),lang:G1(J["@lang"]),href:G1(J["@href"])})},TV8=(J)=>{if(!O0(J))return;return L0({type:G1(J["@type"]),href:G1(J["@href"])})},CV8=(J)=>{if(!O0(J))return;return L0({status:G1(J["@status"])})},jV8=(J)=>{if(!O0(J))return;return L0({title:L1(J.scenetitle,(Q)=>G1(j1(Q))),description:L1(J.scenedescription,(Q)=>G1(j1(Q))),startTime:L1(J.scenestarttime,(Q)=>G1(j1(Q))),endTime:L1(J.sceneendtime,(Q)=>G1(j1(Q)))})},SV8=(J)=>{return k0(J?.["media:scene"],jV8)},_V8=(J)=>{if(iA(J)||O0(J))return L0({description:((Q)=>G1(j1(Q)))(J)})},aj1=(J)=>{if(!O0(J))return;return L0({ratings:$V8(J),title:L1(J["media:title"],v96),description:L1(J["media:description"],v96),keywords:L1(J["media:keywords"],(Q)=>pB(j1(Q),G1)),thumbnails:k0(J["media:thumbnail"],GV8),categories:k0(J["media:category"],VV8),hashes:k0(J["media:hash"],KV8),player:L1(J["media:player"],qV8),credits:k0(J["media:credit"],WV8),copyright:L1(J["media:copyright"],HV8),texts:k0(J["media:text"],zV8),restrictions:k0(J["media:restriction"],FV8),community:L1(J["media:community"],UV8),comments:L1(J["media:comments"],MV8),embed:L1(J["media:embed"],LV8),responses:L1(J["media:responses"],OV8),backLinks:L1(J["media:backlinks"],wV8),status:L1(J["media:status"],EV8),prices:k0(J["media:price"],IV8),licenses:k0(J["media:license"],PV8),subTitles:k0(J["media:subtitle"],RV8),peerLinks:k0(J["media:peerlink"],TV8),locations:k0(J["media:location"],_V8),rights:L1(J["media:rights"],CV8),scenes:L1(J["media:scenes"],SV8)})},h96=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),fileSize:j6(J["@filesize"]),type:G1(J["@type"]),medium:G1(J["@medium"]),isDefault:UJ(J["@isdefault"]),expression:G1(J["@expression"]),bitrate:j6(J["@bitrate"]),framerate:j6(J["@framerate"]),samplingrate:j6(J["@samplingrate"]),channels:j6(J["@channels"]),duration:j6(J["@duration"]),height:j6(J["@height"]),width:j6(J["@width"]),lang:G1(J["@lang"]),...aj1(J)})},f96=(J)=>{if(!O0(J))return;return L0({contents:k0(J["media:content"],h96),...aj1(J)})},Gz=(J)=>{if(!O0(J))return;return L0({groups:k0(J["media:group"],f96),contents:k0(J["media:content"],h96),...aj1(J),group:L1(J["media:group"],f96)})};var kV8=(J)=>{if(!O0(J))return;return L0({role:G1(J["@role"]),searchTerms:G1(J["@searchterms"]),count:j6(J["@count"]),startIndex:j6(J["@startindex"]),startPage:j6(J["@startpage"]),language:G1(J["@language"]),inputEncoding:G1(J["@inputencoding"]),outputEncoding:G1(J["@outputencoding"])})},t41=(J)=>{if(!O0(J))return;return L0({totalResults:L1(J["opensearch:totalresults"],(Q)=>j6(j1(Q))),startIndex:L1(J["opensearch:startindex"],(Q)=>j6(j1(Q))),itemsPerPage:L1(J["opensearch:itemsperpage"],(Q)=>j6(j1(Q))),queries:k0(J["opensearch:query"],kV8)})};var e41=(J)=>{if(!O0(J))return;return L0({server:L1(J["pingback:server"],(Q)=>o7(Q,G1)),target:L1(J["pingback:target"],(Q)=>o7(Q,G1))})},J81=(J)=>{if(!O0(J))return;return L0({to:L1(J["pingback:to"],(Q)=>o7(Q,G1))})};var yV8=(J)=>{if(!O0(J))return;return L0({start:L1(J["@start"],G1),title:L1(J["@title"],G1),href:L1(J["@href"],G1),image:L1(J["@image"],G1)})},xV8=(J)=>{return k0(J?.["psc:chapter"],yV8)},Q81=(J)=>{if(!O0(J))return;return L0({chapters:L1(J["psc:chapters"],xV8)})};var vV8=(J)=>{return pB(J,j6)},BC=(J)=>{if(!O0(J))return;return L0({section:L1(J["slash:section"],(Q)=>G1(j1(Q))),department:L1(J["slash:department"],(Q)=>G1(j1(Q))),comments:L1(J["slash:comments"],(Q)=>j6(j1(Q))),hitParade:L1(J["slash:hit_parade"],(Q)=>vV8(j1(Q)))})};var NC=(J)=>{if(!O0(J))return;return L0({updatePeriod:L1(J["sy:updateperiod"],(Q)=>G1(j1(Q))),updateFrequency:L1(J["sy:updatefrequency"],(Q)=>j6(j1(Q))),updateBase:L1(J["sy:updatebase"],(Q)=>m8(j1(Q)))})};var fV8=(J)=>{if(!O0(J))return;return L0({ref:G1(J["@ref"]),href:G1(J["@href"]),type:G1(J["@type"]),source:G1(J["@source"])})},b96=(J)=>{if(!O0(J))return;return L0({count:j6(J["@thr:count"]),updated:m8(J["@thr:updated"])})},Z81=(J)=>{if(!O0(J))return;return L0({total:L1(J["thr:total"],(Q)=>j6(j1(Q))),inReplyTos:k0(J["thr:in-reply-to"],fV8)})};var Y81=(J)=>{if(!O0(J))return;return L0({ping:L1(J["trackback:ping"],(Q)=>o7(Q,G1)),abouts:k0(J["trackback:about"],(Q)=>o7(Q,G1))})};var DC=(J)=>{if(!O0(J))return;return L0({comment:L1(J["wfw:comment"],(Q)=>G1(j1(Q))),commentRss:L1(J["wfw:commentrss"],(Q)=>G1(j1(Q)))})};var m96=(J)=>{if(!O0(J))return;return L0({videoId:L1(J["yt:videoid"],(Q)=>G1(j1(Q))),channelId:L1(J["yt:channelid"],(Q)=>G1(j1(Q)))})},g96=(J)=>{if(!O0(J))return;return L0({channelId:L1(J["yt:channelid"],(Q)=>G1(j1(Q))),playlistId:L1(J["yt:playlistid"],(Q)=>G1(j1(Q)))})};var dB=(J,Q)=>{if(!Q)return(Y)=>J[Y];let Z=new Map;return(Y)=>{let X=Z.get(Y);if(!X)X=Q+Y,Z.set(Y,X);return J[X]}},oj1=(J)=>{if(!O0(J))return;let Q=wV(J);return L0({href:G1(J["@href"]),rel:G1(J["@rel"]),type:G1(J["@type"]),hreflang:G1(J["@hreflang"]),title:G1(J["@title"]),length:j6(J["@length"]),thr:Q.has("thr")?b96(J):void 0})},hV8=(J,Q)=>{if(!O0(J))return;let Z=dB(J,Q?.prefix),Y=L1(Z("uri"),(G)=>G1(j1(G))),X=L1(Z("url"),(G)=>G1(j1(G)));return Y||X},MC=(J,Q)=>{if(!O0(J))return;let Z=Q?.asNamespace?void 0:wV(J),Y=dB(J,Q?.prefix);return L0({name:L1(Y("name"),(X)=>G1(j1(X))),uri:hV8(J,Q),email:L1(Y("email"),(X)=>G1(j1(X))),arxiv:Z?.has("arxiv")?C96(J):void 0})},rj1=(J)=>{if(!O0(J))return;return L0({term:G1(J["@term"]),scheme:G1(J["@scheme"]),label:G1(J["@label"])})},bV8=(J)=>{if(!O0(J))return;let Q=G1(J["@uri"]),Z=G1(J["@url"]);return Q||Z},u96=(J)=>{return L0({text:G1(j1(J)),uri:bV8(J),version:G1(J?.["@version"])})},mV8=(J,Q)=>{if(!O0(J))return;let Z=dB(J,Q?.prefix);return L0({authors:k0(Z("author"),(Y)=>MC(Y,Q)),categories:k0(Z("category"),(Y)=>rj1(Y,Q)),contributors:k0(Z("contributor"),(Y)=>MC(Y,Q)),generator:L1(Z("generator"),(Y)=>u96(Y,Q)),icon:L1(Z("icon"),(Y)=>G1(j1(Y))),id:L1(Z("id"),(Y)=>G1(j1(Y))),links:k0(Z("link"),(Y)=>oj1(Y,Q)),logo:L1(Z("logo"),(Y)=>G1(j1(Y))),rights:L1(Z("rights"),(Y)=>G1(j1(Y))),subtitle:L1(Z("subtitle"),(Y)=>G1(j1(Y))),title:L1(Z("title"),(Y)=>G1(j1(Y))),updated:sj1(J)})},gV8=(J,Q)=>{if(!O0(J))return;let Z=dB(J,Q?.prefix),Y=L1(Z("published"),(V)=>m8(j1(V))),X=L1(Z("issued"),(V)=>m8(j1(V))),G=L1(Z("created"),(V)=>m8(j1(V)));return Y||X||G},sj1=(J,Q)=>{if(!O0(J))return;let Z=dB(J,Q?.prefix),Y=L1(Z("updated"),(G)=>m8(j1(G))),X=L1(Z("modified"),(G)=>m8(j1(G)));return Y||X},uV8=(J,Q)=>{if(!O0(J))return;let Z=dB(J,Q?.prefix),Y=L1(Z("subtitle"),(G)=>G1(j1(G))),X=L1(Z("tagline"),(G)=>G1(j1(G)));return Y||X},tj1=(J,Q)=>{if(!O0(J))return;let Z=Q?.asNamespace?void 0:wV(J),Y=dB(J,Q?.prefix);return L0({authors:k0(Y("author"),(X)=>MC(X,Q)),categories:k0(Y("category"),(X)=>rj1(X,Q)),content:L1(Y("content"),(X)=>G1(j1(X))),contributors:k0(Y("contributor"),(X)=>MC(X,Q)),id:L1(Y("id"),(X)=>G1(j1(X))),links:k0(Y("link"),(X)=>oj1(X,Q)),published:gV8(J,Q),rights:L1(Y("rights"),(X)=>G1(j1(X))),source:L1(Y("source"),mV8),summary:L1(Y("summary"),(X)=>G1(j1(X))),title:L1(Y("title"),(X)=>G1(j1(X))),updated:sj1(J,Q),app:Z?.has("app")?T96(J):void 0,arxiv:Z?.has("arxiv")?j96(J):void 0,cc:Z?.has("cc")?zC(J):void 0,dc:Z?.has("dc")?Yz(J):void 0,slash:Z?.has("slash")?BC(J):void 0,itunes:Z?.has("itunes")?r41(J):void 0,googleplay:Z?.has("googleplay")?a41(J):void 0,psc:Z?.has("psc")?Q81(J):void 0,media:Z?.has("media")?Gz(J):void 0,georss:Z?.has("georss")?$z(J):void 0,geo:Z?.has("geo")?UC(J):void 0,thr:Z?.has("thr")?Z81(J):void 0,dcterms:Z?.has("dcterms")?Xz(J):void 0,creativeCommons:Z?.has("creativecommons")?FC(J):void 0,wfw:Z?.has("wfw")?DC(J):void 0,yt:Z?.has("yt")?m96(J):void 0,pingback:Z?.has("pingback")?e41(J):void 0,trackback:Z?.has("trackback")?Y81(J):void 0})},X81=(J,Q)=>{if(!O0(J))return;let Z=Q?.asNamespace?void 0:wV(J),Y=dB(J,Q?.prefix);return L0({authors:k0(Y("author"),(X)=>MC(X,Q)),categories:k0(Y("category"),(X)=>rj1(X,Q)),contributors:k0(Y("contributor"),(X)=>MC(X,Q)),generator:L1(Y("generator"),(X)=>u96(X,Q)),icon:L1(Y("icon"),(X)=>G1(j1(X))),id:L1(Y("id"),(X)=>G1(j1(X))),links:k0(Y("link"),(X)=>oj1(X,Q)),logo:L1(Y("logo"),(X)=>G1(j1(X))),rights:L1(Y("rights"),(X)=>G1(j1(X))),subtitle:uV8(J,Q),title:L1(Y("title"),(X)=>G1(j1(X))),updated:sj1(J,Q),entries:k0(Y("entry"),(X)=>tj1(X,Q),Q?.maxItems),cc:Z?.has("cc")?zC(J):void 0,dc:Z?.has("dc")?Yz(J):void 0,sy:Z?.has("sy")?NC(J):void 0,itunes:Z?.has("itunes")?s41(J):void 0,googleplay:Z?.has("googleplay")?o41(J):void 0,media:Z?.has("media")?Gz(J):void 0,georss:Z?.has("georss")?$z(J):void 0,geo:Z?.has("geo")?UC(J):void 0,dcterms:Z?.has("dcterms")?Xz(J):void 0,creativeCommons:Z?.has("creativecommons")?FC(J):void 0,opensearch:Z?.has("opensearch")?t41(J):void 0,yt:Z?.has("yt")?g96(J):void 0,admin:Z?.has("admin")?HC(J):void 0,pingback:Z?.has("pingback")?J81(J):void 0})},p96=(J,Q)=>{let Z=L1(J?.feed,(X)=>X81(X,Q)),Y=L1(J?.["atom:feed"],(X)=>X81(X,{...Q,prefix:"atom:"}));return Z||Y};var d96=(J,Q)=>{if(!p41(J))throw Error(iZ.invalidFeedFormat);let Z=p96(GC(nA,qC,"atom")(R96.parse(J)),Q);if(!Z)throw Error(iZ.invalidFeedFormat);return Z};var cB=(J)=>{return(Q)=>{if(Q in J)return J[Q];let Z=Q.toLowerCase();for(let Y in J)if(Y.toLowerCase()===Z)return J[Y]}},c96=(J)=>{if(O0(J)){let Q=cB(J);return L0({name:L1(Q("name"),G1),url:L1(Q("url"),G1),avatar:L1(Q("avatar"),G1)})}if(iA(J))return L0({name:G1(J)})},l96=(J)=>{if(!O0(J))return;let Q=cB(J),Z=k0(Q("authors"),c96),Y=k0(Q("author"),c96);return Z?.length?Z:Y},pV8=(J)=>{if(!O0(J))return;let Q=cB(J);return L0({url:L1(Q("url"),G1),mime_type:L1(Q("mime_type"),G1),title:L1(Q("title"),G1),size_in_bytes:L1(Q("size_in_bytes"),j6),duration_in_seconds:L1(Q("duration_in_seconds"),j6)})},dV8=(J)=>{if(!O0(J))return;let Q=cB(J);return L0({id:L1(Q("id"),G1),url:L1(Q("url"),G1),external_url:L1(Q("external_url"),G1),title:L1(Q("title"),G1),content_html:L1(Q("content_html"),G1),content_text:L1(Q("content_text"),G1),summary:L1(Q("summary"),G1),image:L1(Q("image"),G1),banner_image:L1(Q("banner_image"),G1),date_published:L1(Q("date_published"),m8),date_modified:L1(Q("date_modified"),m8),tags:k0(Q("tags"),G1),authors:l96(J),language:L1(Q("language"),G1),attachments:k0(Q("attachments"),pV8)})},cV8=(J)=>{if(!O0(J))return;let Q=cB(J);return L0({type:L1(Q("type"),G1),url:L1(Q("url"),G1)})},i96=(J,Q)=>{if(!O0(J))return;let Z=cB(J);return L0({title:L1(Z("title"),G1),home_page_url:L1(Z("home_page_url"),G1),feed_url:L1(Z("feed_url"),G1),description:L1(Z("description"),G1),user_comment:L1(Z("user_comment"),G1),next_url:L1(Z("next_url"),G1),icon:L1(Z("icon"),G1),favicon:L1(Z("favicon"),G1),language:L1(Z("language"),G1),expired:L1(Z("expired"),UJ),hubs:k0(Z("hubs"),cV8),authors:l96(J),items:k0(Z("items"),dV8,Q?.maxItems)})};var $81=(J)=>{let Q=VC(J);if(!O0(Q))return!1;let Z=cB(Q),Y=Z("version");if(WQ(Y))return Y.includes("jsonfeed.org/version/");let X=WQ(Z("title")),G=Array.isArray(Z("items")),V=!!(Z("home_page_url")||Z("feed_url")||Z("authors"));return X&&(G||V)};var n96=(J,Q)=>{let Z=VC(J);if(!$81(Z))throw Error(iZ.invalidFeedFormat);let Y=i96(Z,Q);if(!Y)throw Error(iZ.invalidFeedFormat);return Y};var G81=(J)=>{if(!WQ(J))return!1;if(!/(?:^|[\s>])<(?:\w+:)?rdf[\s>]/im.test(J))return!1;let Q=J.includes("http://www.w3.org/1999/02/22-rdf-syntax-ns#"),Z=J.includes("http://purl.org/rss/1.0/"),Y=/(<(?:\w+:)?(channel|item|title|link|description)[\s>])/i.test(J);return Q||Z||Y};var lV8=["rdf:rdf.channel.title","rdf:rdf.channel.link","rdf:rdf.channel.description","rdf:rdf.image.title","rdf:rdf.image.link","rdf:rdf.image.url","rdf:rdf.item.title","rdf:rdf.item.link","rdf:rdf.item.description","rdf:rdf.textinput.title","rdf:rdf.textinput.description","rdf:rdf.textinput.name","rdf:rdf.textinput.link"],a96=new Zz({...KC,stopNodes:lV8});var V81=(J)=>{return tj1(J,{prefix:"atom:",asNamespace:!0})},K81=(J)=>{return X81(J,{prefix:"atom:",asNamespace:!0})};var q81=(J)=>{if(!O0(J))return;return L0({encoded:L1(J["content:encoded"],(Q)=>G1(j1(Q)))})};var iV8=(J)=>{if(!O0(J))return;return L0({title:L1(J.title,(Q)=>G1(j1(Q))),link:L1(J.link,(Q)=>G1(j1(Q))),url:L1(J.url,(Q)=>G1(j1(Q)))})},nV8=(J)=>{return L1(J?.image,iV8)},aV8=(J)=>{if(!O0(J))return;return L0({title:L1(J.title,(Q)=>G1(j1(Q))),description:L1(J.description,(Q)=>G1(j1(Q))),name:L1(J.name,(Q)=>G1(j1(Q))),link:L1(J.link,(Q)=>G1(j1(Q)))})},oV8=(J)=>{return L1(J?.textinput,aV8)},rV8=(J)=>{if(!O0(J))return;let Q=wV(J);return L0({title:L1(J.title,(Z)=>G1(j1(Z))),link:L1(J.link,(Z)=>G1(j1(Z))),description:L1(J.description,(Z)=>G1(j1(Z))),atom:Q.has("atom")?V81(J):void 0,dc:Q.has("dc")?Yz(J):void 0,content:Q.has("content")?q81(J):void 0,slash:Q.has("slash")?BC(J):void 0,media:Q.has("media")?Gz(J):void 0,georss:Q.has("georss")?$z(J):void 0,dcterms:Q.has("dcterms")?Xz(J):void 0,wfw:Q.has("wfw")?DC(J):void 0})},sV8=(J,Q)=>{return k0(J?.item,rV8,Q?.maxItems)},tV8=(J,Q)=>{if(!O0(J))return;let Z=uj1(J.channel),Y=wV(Z);return L0({title:L1(Z?.title,(X)=>G1(j1(X))),link:L1(Z?.link,(X)=>G1(j1(X))),description:L1(Z?.description,(X)=>G1(j1(X))),image:nV8(J),items:sV8(J,Q),textInput:oV8(J),atom:Y.has("atom")?K81(Z):void 0,dc:Y.has("dc")?Yz(Z):void 0,sy:Y.has("sy")?NC(Z):void 0,media:Y.has("media")?Gz(Z):void 0,georss:Y.has("georss")?$z(Z):void 0,dcterms:Y.has("dcterms")?Xz(Z):void 0,admin:Y.has("admin")?HC(Z):void 0})},o96=(J,Q)=>{return L1(J?.rdf,(Z)=>tV8(Z,Q))};var r96=(J,Q)=>{if(!G81(J))throw Error(iZ.invalidFeedFormat);let Z=o96(GC(nA,qC,"rdf")(a96.parse(J)),Q);if(!Z)throw Error(iZ.invalidFeedFormat);return Z};var W81=(J)=>{if(!WQ(J))return!1;if(!/(?:^|[\s>])<(?:\w+:)?rss[\s>]/im.test(J))return!1;let Q=/version\s*=\s*["'][^"']*["']/i.test(J),Z=/(<(channel|item|title|link|description|pubDate|guid)[\s>])/i.test(J);return Q||Z};var eV8=["rss.channel.title","rss.channel.link","rss.channel.description","rss.channel.language","rss.channel.copyright","rss.channel.managingeditor","rss.channel.webmaster","rss.channel.pubdate","rss.channel.lastbuilddate","rss.channel.author","rss.channel.category","rss.channel.generator","rss.channel.docs","rss.channel.cloud","rss.channel.ttl","rss.channel.image.description","rss.channel.image.height","rss.channel.image.link","rss.channel.image.title","rss.channel.image.url","rss.channel.image.width","rss.channel.rating","rss.channel.textinput.title","rss.channel.textinput.description","rss.channel.textinput.name","rss.channel.textinput.link","rss.channel.skiphours.hour","rss.channel.skipdays.day","rss.channel.item.title","rss.channel.item.link","rss.channel.item.description","rss.channel.item.author.name","rss.channel.item.category","rss.channel.item.comments","rss.channel.item.enclosure","rss.channel.item.guid","rss.channel.item.pubdate","rss.channel.item.source"],s96=new Zz({...KC,stopNodes:eV8});var t96=(J)=>{if(!O0(J))return;return L0({link:L1(J["feedpress:link"],(Q)=>G1(j1(Q))),newsletterId:L1(J["feedpress:newsletterid"],(Q)=>G1(j1(Q))),locale:L1(J["feedpress:locale"],(Q)=>G1(j1(Q))),podcastId:L1(J["feedpress:podcastid"],(Q)=>G1(j1(Q))),cssFile:L1(J["feedpress:cssfile"],(Q)=>G1(j1(Q)))})};var JK8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),type:G1(J["@type"]),language:G1(J["@language"]),rel:G1(J["@rel"])})},QK8=(J)=>{return L0({value:HQ(j1(J)),owner:G1(J?.["@owner"])})},ZK8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),display:G1(J["#text"])})},YK8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),type:G1(J["@type"])})},XK8=(J)=>{if(!O0(J))return;return L0({startTime:j6(J["@starttime"]),duration:j6(J["@duration"]),display:G1(j1(J))})},e96=(J)=>{return L0({display:G1(j1(J)),role:G1(J?.["@role"]),group:G1(J?.["@group"]),img:G1(J?.["@img"]),href:G1(J?.["@href"])})},H81=(J)=>{return L0({display:G1(j1(J)),geo:G1(J?.["@geo"]),osm:G1(J?.["@osm"])})},$K8=(J)=>{return L0({number:j6(j1(J)),name:G1(J?.["@name"])})},GK8=(J)=>{return L0({number:j6(j1(J)),display:G1(J?.["@display"])})},VK8=(J)=>{if(!O0(J))return;return L0({display:G1(j1(J)),url:G1(J["@url"]),pubDate:m8(J["@pubdate"]),length:j6(J["@length"]),type:G1(J["@type"]),season:j6(J["@season"])})},J56=(J)=>{return L0({display:G1(j1(J)),url:G1(J?.["@url"])})},KK8=(J)=>{if(!O0(J))return;return L0({type:G1(J["@type"]),length:j6(J["@length"]),bitrate:j6(J["@bitrate"]),height:j6(J["@height"]),lang:G1(J["@lang"]),title:G1(J["@title"]),rel:G1(J["@rel"]),codecs:G1(J["@codecs"]),default:UJ(J["@default"]),sources:k0(J["podcast:source"],qK8),integrity:L1(J["podcast:integrity"],WK8)})},qK8=(J)=>{if(!O0(J))return;return L0({uri:G1(J["@uri"]),contentType:G1(J["@contenttype"])})},WK8=(J)=>{if(!O0(J))return;return L0({type:G1(J["@type"]),value:G1(J["@value"])})},z81=(J)=>{if(!O0(J))return;return L0({type:G1(J["@type"]),method:G1(J["@method"]),suggested:j6(J["@suggested"]),valueRecipients:k0(J["podcast:valuerecipient"],Q56),valueTimeSplits:k0(J["podcast:valuetimesplit"],LK8)})},Q56=(J)=>{if(!O0(J))return;return L0({name:G1(J["@name"]),customKey:G1(J["@customkey"]),customValue:G1(J["@customvalue"]),type:G1(J["@type"]),address:G1(J["@address"]),split:j6(J["@split"]),fee:UJ(J["@fee"])})},Z56=(J)=>{if(!O0(J))return;return L0({srcset:G1(J["@srcset"])})},HK8=(J)=>{if(!O0(J))return;return L0({...ej1(J),status:G1(J["@status"]),start:m8(J["@start"]),end:m8(J["@end"]),contentLinks:k0(J["podcast:contentlink"],zK8)})},zK8=(J)=>{if(!O0(J))return;return L0({href:G1(J["@href"]),display:G1(j1(J))})},FK8=(J)=>{if(!O0(J))return;return L0({uri:G1(J["@uri"]),protocol:G1(J["@protocol"]),accountId:G1(J["@accountid"]),accountUrl:G1(J["@accounturl"]),priority:j6(J["@priority"])})},F81=(J)=>{if(!O0(J))return;return L0({server:G1(J["@server"]),protocol:G1(J["@protocol"]),accountId:G1(J["@accountid"]),space:G1(J["@space"])})},UK8=(J)=>{return L0({value:HQ(j1(J)),id:G1(J?.["@id"])})},Y56=(J)=>{return L0({display:G1(j1(J)),purpose:G1(J?.["@purpose"])})},U81=(J)=>{if(!O0(J))return;return L0({feedGuid:G1(J["@feedguid"]),feedUrl:G1(J["@feedurl"]),itemGuid:G1(J["@itemguid"]),medium:G1(J["@medium"])})},BK8=(J)=>{if(!O0(J))return;return L0({remoteItems:k0(J["podcast:remoteitem"],U81)})},NK8=(J)=>{return L0({display:G1(j1(J)),complete:UJ(J?.["@complete"]),dtstart:m8(J?.["@dtstart"]),rrule:G1(J?.["@rrule"])})},DK8=(J)=>{if(!O0(J))return;return L0({usesPodping:UJ(J["@usespodping"])})},MK8=(J)=>{if(!O0(J))return;return L0({remoteItem:L1(J["podcast:remoteitem"],U81)})},LK8=(J)=>{if(!O0(J))return;return L0({startTime:j6(J["@starttime"]),duration:j6(J["@duration"]),remoteStartTime:j6(J["@remotestarttime"]),remotePercentage:j6(J["@remotepercentage"]),remoteItem:L1(J["podcast:remoteitem"],U81),valueRecipients:k0(J["podcast:valuerecipient"],Q56)})},ej1=(J)=>{if(!O0(J))return;return L0({transcripts:k0(J["podcast:transcript"],JK8),chapters:L1(J["podcast:chapters"],YK8),soundbites:k0(J["podcast:soundbite"],XK8),persons:k0(J["podcast:person"],e96),locations:k0(J["podcast:location"],H81),season:L1(J["podcast:season"],$K8),episode:L1(J["podcast:episode"],GK8),license:L1(J["podcast:license"],J56),alternateEnclosures:k0(J["podcast:alternateenclosure"],KK8),values:k0(J["podcast:value"],z81),images:L1(J["podcast:images"],Z56),socialInteracts:k0(J["podcast:socialinteract"],FK8),txts:k0(J["podcast:txt"],Y56),chat:L1(J["podcast:chat"],F81),location:L1(J["podcast:location"],H81),value:L1(J["podcast:value"],z81),chats:k0(J["podcast:chat"],F81)})},X56=(J)=>{if(!O0(J))return;return L0({locked:L1(J["podcast:locked"],QK8),fundings:k0(J["podcast:funding"],ZK8),persons:k0(J["podcast:person"],e96),locations:k0(J["podcast:location"],H81),trailers:k0(J["podcast:trailer"],VK8),license:L1(J["podcast:license"],J56),guid:L1(J["podcast:guid"],(Q)=>G1(j1(Q))),values:k0(J["podcast:value"],z81),medium:L1(J["podcast:medium"],(Q)=>G1(j1(Q))),images:L1(J["podcast:images"],Z56),liveItems:k0(J["podcast:liveitem"],HK8),blocks:k0(J["podcast:block"],UK8),txts:k0(J["podcast:txt"],Y56),remoteItems:k0(J["podcast:remoteitem"],U81),podroll:L1(J["podcast:podroll"],BK8),updateFrequency:L1(J["podcast:updatefrequency"],NK8),podping:L1(J["podcast:podping"],DK8),chat:L1(J["podcast:chat"],F81),publisher:L1(J["podcast:publisher"],MK8),location:L1(J["podcast:location"],H81),value:L1(J["podcast:value"],z81),chats:k0(J["podcast:chat"],F81)})};var AK8=(J)=>{return L0({value:G1(j1(J)),tv:G1(J?.["@tv"]),movie:G1(J?.["@movie"])})},B81=(J)=>{return L0({url:G1(j1(J)),schedule:m8(J?.["@schedule"]),duration:G1(J?.["@duration"]),type:G1(J?.["@type"])})},OK8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"])})},$56=(J)=>{if(!O0(J))return;return L0({src:G1(J["@src"]),type:G1(J["@type"]),length:j6(J["@length"])})},wK8=(J)=>{if(!O0(J))return;let Q={};for(let Z in J)if(Z.startsWith("@")){let Y=Z.substring(1),X=G1(J[Z]);if(X)Q[Y]=X}return L0(Q)},EK8=(J)=>{if(!O0(J))return;return L0({type:G1(J["@type"]),link:G1(J["@link"]),position:j6(J["@position"]),duration:j6(J["@duration"]),value:G1(j1(J))})},IK8=(J)=>{if(!O0(J))return;return L0({href:G1(J["@href"]),value:G1(j1(J))})},G56=(J)=>{if(!O0(J))return;return L0({poster:L1(J["rawvoice:poster"],OK8),isHd:L1(J["rawvoice:ishd"],(Q)=>HQ(j1(Q))),embed:L1(J["rawvoice:embed"],(Q)=>G1(j1(Q))),webm:L1(J["rawvoice:webm"],$56),mp4:L1(J["rawvoice:mp4"],$56),metamarks:k0(J["rawvoice:metamark"],EK8)})},V56=(J)=>{if(!O0(J))return;return L0({rating:L1(J["rawvoice:rating"],AK8),liveEmbed:L1(J["rawvoice:liveembed"],(Q)=>G1(j1(Q))),flashLiveStream:L1(J["rawvoice:flashlivestream"],B81),httpLiveStream:L1(J["rawvoice:httplivestream"],B81),shoutcastLiveStream:L1(J["rawvoice:shoutcastlivestream"],B81),liveStream:L1(J["rawvoice:livestream"],B81),location:L1(J["rawvoice:location"],(Q)=>G1(j1(Q))),frequency:L1(J["rawvoice:frequency"],(Q)=>G1(j1(Q))),mycast:L1(J["rawvoice:mycast"],(Q)=>HQ(j1(Q))),subscribe:L1(J["rawvoice:subscribe"],wK8),donate:L1(J["rawvoice:donate"],IK8)})};var PK8=(J)=>{if(!O0(J))return;return L0({service:G1(J["@service"]),value:G1(j1(J))})},RK8=(J)=>{if(!O0(J))return;return L0({server:G1(J["@server"])})},TK8=(J)=>{if(!O0(J))return;return L0({url:L1(J["source:url"],(Q)=>G1(j1(Q))),startDay:L1(J["source:startday"],(Q)=>G1(j1(Q))),endDay:L1(J["source:endday"],(Q)=>G1(j1(Q))),filename:L1(J["source:filename"],(Q)=>G1(j1(Q)))})},CK8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),value:G1(j1(J))})},K56=(J)=>{if(!O0(J))return;return L0({accounts:k0(J["source:account"],PK8),likes:L1(J["source:likes"],RK8),archive:L1(J["source:archive"],TK8),subscriptionLists:k0(J["source:subscriptionlist"],CK8),cloud:L1(J["source:cloud"],(Q)=>G1(j1(Q))),blogroll:L1(J["source:blogroll"],(Q)=>G1(j1(Q))),self:L1(J["source:self"],(Q)=>G1(j1(Q)))})},q56=(J)=>{if(!O0(J))return;return L0({markdown:L1(J["source:markdown"],(Q)=>G1(j1(Q))),outlines:k0(J["source:outline"],(Q)=>G1(j1(Q))),localTime:L1(J["source:localtime"],(Q)=>G1(j1(Q))),linkFull:L1(J["source:linkfull"],(Q)=>G1(j1(Q)))})};var jK8=(J)=>{if(!O0(J))return;return L0({recentCount:j6(J["@recentcount"])})},SK8=(J)=>{if(!O0(J))return;let Q=G1(J["@id"]);return Q?{id:Q}:void 0},_K8=(J)=>{if(!O0(J))return;let Q=UJ(J["@enabled"]);return Q!==void 0?{enabled:Q}:void 0},kK8=(J)=>{if(!O0(J))return;return L0({partner:L1(J.partner,SK8),sandbox:L1(J.sandbox,_K8)})},yK8=(J)=>{if(!O0(J))return;let Q=G1(J["@name"]);return Q?{name:Q}:void 0},xK8=(J)=>{if(!O0(J))return;return L0({entitlement:L1(J.entitlement,yK8)})},W56=(J)=>{if(!O0(J))return;return L0({limit:L1(J["spotify:limit"],jK8),countryOfOrigin:L1(J["spotify:countryoforigin"],(Q)=>G1(j1(Q))),access:L1(J["spotify:access"],kK8)})},H56=(J)=>{if(!O0(J))return;return L0({access:L1(J["spotify:access"],xK8)})};var JS1=(J)=>{return L1(J?.name??J,(Q)=>G1(j1(Q)))},z56=(J)=>{return L0({name:G1(j1(J)),domain:G1(J?.["@domain"])})},vK8=(J)=>{if(!O0(J))return;return L0({domain:G1(J["@domain"]),port:j6(J["@port"]),path:G1(J["@path"]),registerProcedure:G1(J["@registerprocedure"]),protocol:G1(J["@protocol"])})},fK8=(J)=>{if(!O0(J))return;return L0({url:L1(J.url,(Q)=>G1(j1(Q))),title:L1(J.title,(Q)=>G1(j1(Q))),link:L1(J.link,(Q)=>G1(j1(Q))),description:L1(J.description,(Q)=>G1(j1(Q))),height:L1(J.height,(Q)=>j6(j1(Q))),width:L1(J.width,(Q)=>j6(j1(Q)))})},hK8=(J)=>{if(!O0(J))return;return L0({title:L1(J.title,(Q)=>G1(j1(Q))),description:L1(J.description,(Q)=>G1(j1(Q))),name:L1(J.name,(Q)=>G1(j1(Q))),link:L1(J.link,(Q)=>G1(j1(Q)))})},bK8=(J)=>{return Xg(J?.hour,(Q)=>j6(j1(Q)))},mK8=(J)=>{return Xg(J?.day,(Q)=>G1(j1(Q)))},gK8=(J)=>{if(!O0(J))return;return L0({url:G1(J["@url"]),length:j6(J["@length"]),type:G1(J["@type"])})},uK8=(J)=>{return L0({value:G1(j1(J)),isPermaLink:UJ(J?.["@ispermalink"])})},pK8=(J)=>{return L0({title:G1(j1(J)),url:G1(J?.["@url"])})},dK8=(J)=>{if(!O0(J))return;let Q=wV(J);return L0({title:L1(J.title,(Z)=>G1(j1(Z))),link:L1(J.link,(Z)=>G1(j1(Z))),description:L1(J.description,(Z)=>G1(j1(Z))),authors:k0(J.author,JS1),categories:k0(J.category,z56),comments:L1(J.comments,(Z)=>G1(j1(Z))),enclosures:k0(J.enclosure,gK8),guid:L1(J.guid,uK8),pubDate:L1(J.pubdate,(Z)=>m8(j1(Z))),source:L1(J.source,pK8),atom:Q.has("atom")?V81(J):void 0,cc:Q.has("cc")?zC(J):void 0,dc:Q.has("dc")?Yz(J):void 0,content:Q.has("content")?q81(J):void 0,creativeCommons:Q.has("creativecommons")?FC(J):void 0,slash:Q.has("slash")?BC(J):void 0,itunes:Q.has("itunes")?r41(J):void 0,podcast:Q.has("podcast")?ej1(J):void 0,psc:Q.has("psc")?Q81(J):void 0,googleplay:Q.has("googleplay")?a41(J):void 0,media:Q.has("media")?Gz(J):void 0,georss:Q.has("georss")?$z(J):void 0,geo:Q.has("geo")?UC(J):void 0,thr:Q.has("thr")?Z81(J):void 0,dcterms:Q.has("dcterms")?Xz(J):void 0,wfw:Q.has("wfw")?DC(J):void 0,sourceNs:Q.has("source")?q56(J):void 0,rawvoice:Q.has("rawvoice")?G56(J):void 0,spotify:Q.has("spotify")?H56(J):void 0,pingback:Q.has("pingback")?e41(J):void 0,trackback:Q.has("trackback")?Y81(J):void 0})},cK8=(J,Q)=>{if(!O0(J))return;let Z=wV(J);return L0({title:L1(J.title,(Y)=>G1(j1(Y))),link:L1(J.link,(Y)=>G1(j1(Y))),description:L1(J.description,(Y)=>G1(j1(Y))),language:L1(J.language,(Y)=>G1(j1(Y))),copyright:L1(J.copyright,(Y)=>G1(j1(Y))),managingEditor:L1(J.managingeditor,JS1),webMaster:L1(J.webmaster,JS1),pubDate:L1(J.pubdate,(Y)=>m8(j1(Y))),lastBuildDate:L1(J.lastbuilddate,(Y)=>m8(j1(Y))),categories:k0(J.category,z56),generator:L1(J.generator,(Y)=>G1(j1(Y))),docs:L1(J.docs,(Y)=>G1(j1(Y))),cloud:L1(J.cloud,vK8),ttl:L1(J.ttl,(Y)=>j6(j1(Y))),image:L1(J.image,fK8),rating:L1(J.rating,(Y)=>G1(j1(Y))),textInput:L1(J.textinput,hK8),skipHours:L1(J.skiphours,bK8),skipDays:L1(J.skipdays,mK8),items:k0(J.item,dK8,Q?.maxItems),atom:Z.has("atom")?K81(J):void 0,cc:Z.has("cc")?zC(J):void 0,dc:Z.has("dc")?Yz(J):void 0,sy:Z.has("sy")?NC(J):void 0,itunes:Z.has("itunes")?s41(J):void 0,podcast:Z.has("podcast")?X56(J):void 0,googleplay:Z.has("googleplay")?o41(J):void 0,media:Z.has("media")?Gz(J):void 0,georss:Z.has("georss")?$z(J):void 0,geo:Z.has("geo")?UC(J):void 0,dcterms:Z.has("dcterms")?Xz(J):void 0,creativeCommons:Z.has("creativecommons")?FC(J):void 0,feedpress:Z.has("feedpress")?t96(J):void 0,opensearch:Z.has("opensearch")?t41(J):void 0,admin:Z.has("admin")?HC(J):void 0,sourceNs:Z.has("source")?K56(J):void 0,rawvoice:Z.has("rawvoice")?V56(J):void 0,spotify:Z.has("spotify")?W56(J):void 0,pingback:Z.has("pingback")?J81(J):void 0})},F56=(J,Q)=>{return L1(J?.rss?.channel,(Z)=>cK8(Z,Q))};var U56=(J,Q)=>{if(!W81(J))throw Error(iZ.invalidFeedFormat);let Z=F56(GC(nA,qC)(s96.parse(J)),Q);if(!Z)throw Error(iZ.invalidFeedFormat);return Z};var Vg=(J,Q)=>{if(W81(J))return{format:"rss",feed:U56(J,Q)};if(p41(J))return{format:"atom",feed:d96(J,Q)};if(G81(J))return{format:"rdf",feed:r96(J,Q)};let Z=VC(J);if($81(Z))return{format:"json",feed:n96(Z,Q)};throw Error(iZ.unrecognizedFeedFormat)};class QS1{storage;fetchFn;url;pollIntervalDetails={default:180000,min:60000};constructor(J,Q,Z){this.storage=J;this.fetchFn=Q;this.url=Z}stream(){return new t1((J)=>{let Q,Z=!0,Y=async()=>{if(!Z)return;try{let X=await this.loadState(),G=Date.now();if(X&&G<X.nextFetchAt){let A=X.nextFetchAt-G;Q=setTimeout(Y,A);return}let V=await this.fetchFn(this.url);if(!V.ok)throw Error(`Failed to fetch feed: ${V.status} ${V.statusText}`);let K=await V.text(),q=await Vg(K),W=q.feed||q,H=this.mapFeedItemsToEntries(W.items||[]),U=V.headers.get("Cache-Control")?.match(/max-age=(\d+)/),D=U?.[1]?parseInt(U[1],10):180,M=Date.now()+Math.max(D*1000,this.pollIntervalDetails.min),L=this.findNewEntries(X?.entries||[],H);if(await this.saveState({entries:H,lastFetchedAt:Date.now(),nextFetchAt:M}),L.length>0)J.next(L);Q=setTimeout(Y,Math.max(M-Date.now(),0))}catch(X){J.error(X),Q=setTimeout(Y,this.pollIntervalDetails.default)}};return Y(),()=>{Z=!1,clearTimeout(Q)}})}async loadState(){let J=await this.storage.get("entries"),Q=await this.storage.get("lastFetchedAt"),Z=await this.storage.get("nextFetchAt");if(J&&Q!==void 0&&Z!==void 0)return{entries:J,lastFetchedAt:Q,nextFetchAt:Z};return}async saveState(J){await this.storage.set("entries",J.entries),await this.storage.set("lastFetchedAt",J.lastFetchedAt),await this.storage.set("nextFetchAt",J.nextFetchAt)}mapFeedItemsToEntries(J){return J.map((Q)=>({title:Q.title||"Untitled",link:Q.link||"",description:Q.description||"",pubDate:new Date(Q.pubDate||Q.date||Date.now())}))}findNewEntries(J,Q){let Z=new Set(J.map((Y)=>Y.link));return Q.filter((Y)=>!Z.has(Y.link))}}yb();SZ();d0();function Kg(J,Q){if(J===Q)return!0;if(J==null||Q==null||typeof J!=="object"||typeof Q!=="object")return!1;let Z=Array.isArray(J),Y=Array.isArray(Q);if(Z!==Y)return!1;if(Z&&Y)return J.length===Q.length&&J.every((G,V)=>Kg(G,Q[V]));let X=new Set([...Object.keys(J),...Object.keys(Q)]);for(let G of X)if(!Kg(J[G],Q[G]))return!1;return!0}B0();cG();function N81(J){return J.config.pipe(Q6(({settings:Q,secrets:Z})=>({url:Q.url,proxy:Q.proxy,secrets:Z})),B4(Kg),H4((Q)=>Cl(600000).pipe(O8(void 0),Sl(()=>v6(async(Z)=>{let Y=await K5.getUserInfo({},{signal:Z,config:J});if(Y.ok)return Y.result;if(Y.error&&Y.error.code==="auth-required")return null;throw x.error("getUserInfo failed",{error:Y.error}),Error(`getUserInfo error: ${Y.error.code}`)})))),Q6((Q)=>{return Q instanceof Error?{error:{message:String(Q)}}:Q===DK?"pending":Q?{user:Q,features:Q.features,workspace:Q?.team,mysteriousMessage:Q?.mysteriousMessage}:{error:{message:"User not found"}}}),B4((Q,Z)=>Kg(Q,Z)),T8({shouldCountRefs:!0}))}function D81(J){return Boolean(typeof J==="object"&&"user"in J&&J.user)}d0();class ZS1{storage;fetchFn;request;pollIntervalDetails={default:180000,min:60000};constructor(J,Q,Z){this.storage=J;this.fetchFn=Q;this.request=Z}stream(){return new t1((J)=>{let Q,Z=!0,Y=async()=>{if(!Z)return;try{let X=await this.loadState(),G=Date.now();if(X&&G<X.nextFetchAt){let A=X.nextFetchAt-G;Q=setTimeout(Y,A);return}let V;if(this.request instanceof Request)V=await this.fetchFn(this.request.clone());else V=await this.fetchFn(this.request.url,this.request);if(!V.ok)throw Error(`Failed to fetch feed: ${V.status} ${V.statusText}`);let K=await V.text(),q=await Vg(K),W=q.feed||q,H=this.mapFeedItemsToEntries(W.items||[]),U=V.headers.get("Cache-Control")?.match(/max-age=(\d+)/),D=U?.[1]?parseInt(U[1],10):180,M=Date.now()+Math.max(D*1000,this.pollIntervalDetails.min),L=this.findNewEntries(X?.entries||[],H);if(await this.saveState({entries:H,lastFetchedAt:Date.now(),nextFetchAt:M}),L.length>0)J.next(L);Q=setTimeout(Y,Math.max(M-Date.now(),0))}catch(X){J.error(X),Q=setTimeout(Y,this.pollIntervalDetails.default)}};return Y(),()=>{Z=!1,clearTimeout(Q)}})}async loadState(){let J=await this.storage.get("entries"),Q=await this.storage.get("lastFetchedAt"),Z=await this.storage.get("nextFetchAt");if(J&&Q!==void 0&&Z!==void 0)return{entries:J,lastFetchedAt:Q,nextFetchAt:Z};return}async saveState(J){await this.storage.set("entries",J.entries),await this.storage.set("lastFetchedAt",J.lastFetchedAt),await this.storage.set("nextFetchAt",J.nextFetchAt)}mapFeedItemsToEntries(J){return J.map((Q)=>{return{title:Q.title||"Untitled Thread",link:Q.link,description:Q.description||"",pubDate:new Date(Q.pubDate||Q.date||Date.now()),authors:Array.isArray(Q.authors)?Q.authors.map((Z)=>typeof Z==="string"?{name:Z}:Z):Q.author?[{name:Q.author}]:[],id:Q.link}})}findNewEntries(J,Q){let Z=new Set(J.map((Y)=>Y.id));return Q.filter((Y)=>!Z.has(Y.id))}}eW();N8();LB();G4();n6();d0();VS1();B0();eW();import lK8 from"node:fs";import M56 from"node:path";function L56(J){let Q=J.trim().replace(/^["']|["']$/g,"");if(Q=Q.replace(/\\(.)/g,"$1"),!/\.(png|jpe?g|gif|webp)$/i.test(Q))return null;if(!M56.isAbsolute(Q))return null;return x.debug("Extracted image path",{original:J,extracted:Q}),Q}function LC(J){try{let Q=M56.extname(J).toLowerCase(),Z=vw0(Q);if(!Z)return x.warn("Unsupported image file extension",{ext:Q}),`Unsupported image file extension: ${Q}`;try{let Y=lK8.readFileSync(J);return iK8(Y,Z)}catch(Y){return x.error(`Failed to read image file ${J}:`,Y),`Failed to read image file: ${Y instanceof Error?Y.message:"unknown error"}`}}catch(Q){return x.error("Error handling image file path",{imagePath:J,error:Q}),`Error handling image file: ${Q instanceof Error?Q.message:"unknown error"}`}}function iK8(J,Q){if(J.length===0)return x.warn("Image file is empty (0 bytes)"),"Image file is empty (0 bytes)";let Z=J.toString("base64"),Y=Z.length;if(Y>SM){x.warn(`Base64 encoded image too large: ${Y} bytes (max: ${SM})`);let X=(SM/1048576).toFixed(1);return`Image file too large: ${(Y/1048576).toFixed(1)}MB (max: ${X}MB)`}return{type:"image",source:{type:"base64",data:Z,mediaType:Q}}}R7();N8();class KS1{mode=null;configMode;visibleModes;freeTierStatus;listeners=new Set;getThread;configSubscription=null;constructor(J){let{initialCliMode:Q,sessionState:Z,freeTierStatus:Y,initialSettings:X,config$:G,getThread:V}=J;this.getThread=V,this.freeTierStatus=Y,this.configMode=HV(X),this.visibleModes=cX(X,Y.canUseAmpFree);let K=this.resolveInitialMode(Z?.agentMode,X);this.mode=Q??K,this.configSubscription=G.subscribe((q)=>{this.visibleModes=cX(q.settings,this.freeTierStatus.canUseAmpFree),this.configMode=HV(q.settings),this.notifyListeners()})}resolveInitialMode(J,Q){let Z=this.getThread(),Y=this.freeTierStatus.canUseAmpFree,X=J;if(J&&U9(J)&&!Y)X=void 0;if(s2(Z)===0&&X)return X;if(Z.agentMode)return Z.agentMode;if(s2(Z)>0){let G=qy(Z);if(G)return G}return X??HV(Q)}addListener(J){this.listeners.add(J)}removeListener(J){this.listeners.delete(J)}notifyListeners(){let J=this.getState();for(let Q of this.listeners)Q(J)}getState(){return{effectiveMode:this.getEffectiveMode(),configMode:this.configMode,visibleModes:this.visibleModes}}getEffectiveMode(){let J=this.getThread(),Q=s2(J);if(Q===0&&this.mode)return this.mode;if(J.agentMode)return J.agentMode;if(Q>0){let Z=qy(J);if(Z)return Z}if(this.mode)return this.mode;return this.configMode}getMode(){return this.mode}setMode(J){this.mode=J,this.notifyListeners()}toggle(){let J=this.getThread();if(s2(J)>0)return!1;let Q=this.getEffectiveMode(),Z=RH1(Q,this.visibleModes);if(Z===Q)return!1;return this.mode=Z,this.notifyListeners(),!0}isInRestrictedFreeMode(){let J=this.getEffectiveMode();if(!U9(J))return!1;return!this.freeTierStatus.canUseAmpFree}getVisibleModes(){return this.visibleModes}dispose(){this.configSubscription?.unsubscribe(),this.configSubscription=null,this.listeners.clear()}}B0();import{execSync as nK8}from"child_process";async function v$(J){let Q=await sT();if(Q===null)throw Error("No editor found, please set $AMP_EDITOR or $EDITOR");try{b8.instance.tuiInstance.suspend(),nK8(`${Q} "${J}"`,{stdio:"inherit"})}catch(Z){throw x.error("Failed to open file in editor",{editor:Q,filePath:J,error:Z}),Error(`Failed to open ${Q}`)}finally{process.stdout.write("\x1B[?25l"),b8.instance.tuiInstance.resume()}}async function qS1(J,Q){let Z=await sT();if(Z===null)return Error("No editor found, please set $AMP_EDITOR or $EDITOR to edit permissions");let Y="";try{let X={settings:J,stdin:process.stdin,stdout:process.stdout,stderr:{write:(G)=>{return Y=G.toString(),!0}},exit:(G)=>{if(G!==0)throw x.error("editPermissions exited with status",G),Error(Y)},resolveEditor:sT,scope:Q};b8.instance.tuiInstance.suspend(),await W41(X)}catch(X){x.error("failed to open permissions editor:",X);let G=X instanceof Error?`: ${X.message}`:"";return Error(`Failed to open ${Z}${G}`)}finally{process.stdout.write("\x1B[?25l"),b8.instance.tuiInstance.resume()}}N8();class g0{widget;context;_mounted=!1;get mounted(){return this._mounted}initState(){}didUpdateWidget(J){}dispose(){}setState(J){if(!this._mounted)throw Error("setState() called after dispose()");if(J)J();this._markNeedsBuild()}_mount(J,Q){this.widget=J,this.context=Q,this._mounted=!0,this.initState()}_update(J){let Q=this.widget;this.widget=J,this.didUpdateWidget(Q)}_unmount(){this._mounted=!1,this.dispose()}_markNeedsBuild(){let J=this.context.element;if("markNeedsBuild"in J&&typeof J.markNeedsBuild==="function")J.markNeedsBuild()}}class EV{element;widget;mediaQuery;parent;constructor(J,Q,Z=void 0,Y=null){this.element=J;this.widget=Q;this.mediaQuery=Z;this.parent=Y}findAncestorElementOfType(J){let Q=this.element.parent;while(Q){if(Q instanceof J)return Q;Q=Q.parent}return null}findAncestorWidgetOfType(J){return this.element.findAncestorWidgetOfType(J)}dependOnInheritedWidgetOfExactType(J){return this.element.dependOnInheritedWidgetOfExactType(J)}findAncestorStateOfType(J){let Q=this.element.parent;while(Q){if("state"in Q&&Q.state instanceof J)return Q.state;Q=Q.parent}return null}findRenderObject(){if("renderObject"in this.element){let J=this.element.renderObject;return J instanceof hB?J:void 0}return}}class p0 extends VQ{createElement(){return new WS1(this)}}class WS1 extends eY{_state;_child;_context;constructor(J){super(J)}get statefulWidget(){return this.widget}get state(){return this._state}get child(){return this._child}mount(){this._context=new EV(this,this.widget),this._state=this.statefulWidget.createState(),this._state._mount(this.statefulWidget,this._context),this.rebuild(),this.markMounted()}unmount(){if(this._child)this._child.unmount(),this.removeChild(this._child),this._child=void 0;if(this._state)this._state._unmount(),this._state=void 0;this._context=void 0,super.unmount()}update(J){if(this.widget===J)return;if(super.update(J),this._state)this._state._update(this.statefulWidget);if(this._context)this._context.widget=J;this.rebuild()}performRebuild(){this.rebuild()}rebuild(){if(!this._context||!this._state)throw Error("Cannot rebuild unmounted element");let J=this._state.build(this._context);if(this._child)if(this._child.widget.canUpdate(J))this._child.update(J);else{let Q=this._child,Z=this.findNearestRenderObjectAncestor();if(Z&&Q.renderObject)Z.dropChild(Q.renderObject);else if(!Z&&Q.renderObject)Q.renderObject.detach();if(this._child.unmount(),this.removeChild(this._child),this._child=J.createElement(),this.addChild(this._child),this._child.mount(),Z&&this._child.renderObject)Z.adoptChild(this._child.renderObject),this._child.renderObject.markNeedsLayout();else if(!Z&&this._child.renderObject)this._child.renderObject.attach(),this._child.renderObject.markNeedsLayout();if(this._child.renderObject)this._child.renderObject.markNeedsLayout()}else this._child=J.createElement(),this.addChild(this._child),this._child.mount()}markNeedsBuild(){this.markNeedsRebuild()}findNearestRenderObjectAncestor(){let J=this.parent;while(J){if(J.renderObject){if(this._child?.renderObject&&J.renderObject===this._child.renderObject){J=J.parent;continue}return J.renderObject}J=J.parent}return}get renderObject(){return this._child?.renderObject}}function HS1(J,Q,Z){return J+(Q-J)*Z}function L81(J,Q,Z){let Y=Math.max(0,Math.min(1,Z));return{r:Math.round(HS1(J.r,Q.r,Y)),g:Math.round(HS1(J.g,Q.g,Y)),b:Math.round(HS1(J.b,Q.b,Y))}}AY();var x56=q6(k56(),1);var y56=20;function MS1(J){let Q=EK(J??"smart")??EK("smart");if(Q?.uiHints?.primaryColor&&Q.uiHints.secondaryColor)return{primary:Q.uiHints.primaryColor,secondary:Q.uiHints.secondaryColor};return{primary:uU0,secondary:pU0}}function LS1(J,Q,Z){let Y=Math.max(0,Math.min(1,J)),{primary:X,secondary:G}=Z??MS1(Q),V=L81(X,G,Y);return H1.rgb(V.r,V.g,V.b)}class iB{_noise2D;_seed;constructor(J){this._seed=J??Date.now(),this._noise2D=x56.makeNoise2D(this._seed)}get seed(){return this._seed}sample(J,Q,Z,Y=1){return(this._noise2D(J/y56,Q/y56+Z*Y)+1)*0.5}sampleEdge(J,Q,Z,Y,X=1){let G=J-1,V=Q/2+Z*(Q/2);return this.sample(G,V,Y,X)}getColor(J,Q,Z){return LS1(J,Q,Z)}}var v56=" .:-=+*#%@",zq8=" ",T81=0.5,nB=1,AS1=30,zg=3;class OS1 extends p0{width;height;minWidth;minHeight;maxWidth;maxHeight;agentMode;primaryColor;secondaryColor;t;onFrame;fps;seed;glow;shockwaves;onShockwave;constructor({key:J,width:Q=40,height:Z=40,minWidth:Y,minHeight:X,maxWidth:G,maxHeight:V,agentMode:K,primaryColor:q,secondaryColor:W,t:H,onFrame:z,fps:U=60,seed:D,glow:M,shockwaves:L,onShockwave:A}){super(J?{key:J}:{});this.width=Q,this.height=Z,this.minWidth=Y??8,this.minHeight=X??8,this.maxWidth=G??40,this.maxHeight=V??40,this.agentMode=K,this.primaryColor=q,this.secondaryColor=W,this.t=H,this.onFrame=z,this.fps=U,this.seed=D,this.glow=M,this.shockwaves=L,this.onShockwave=A}createState(){return new f56}}class f56 extends g0{_t=0;_timer=null;_internalShockwaves=[];_glow;initState(){if(super.initState(),this._glow=this.widget.glow??new iB(this.widget.seed),this.widget.t!==void 0||this.widget.fps===0){this._t=this.widget.t??0;return}if(this.widget.fps==0)return;this._timer=setInterval(()=>{if(this._t+=1/this.widget.fps,this.widget.onFrame){let J=this._t;setImmediate(()=>this.widget.onFrame?.(J))}this._internalShockwaves=this._internalShockwaves.filter((J)=>this._t-J.startTime<nB),this.setState(()=>{})},1000/this.widget.fps)}didUpdateWidget(J){if(super.didUpdateWidget(J),this.widget.glow!==J.glow)this._glow=this.widget.glow??new iB(this.widget.seed);if(this.widget.t!==void 0&&this.widget.t!==J.t)this._t=this.widget.t,this.setState(()=>{})}dispose(){if(this._timer)clearInterval(this._timer),this._timer=null;super.dispose()}handleClick=(J)=>{let Q={x:J.localPosition.x,y:J.localPosition.y,startTime:this._t};if(this.widget.onShockwave)this.widget.onShockwave(Q);else this._internalShockwaves.push(Q);this.setState(()=>{})};build(J){let Q=new h56({width:this.widget.width,height:this.widget.height,minWidth:this.widget.minWidth,minHeight:this.widget.minHeight,maxWidth:this.widget.maxWidth,maxHeight:this.widget.maxHeight,time:this._t,agentMode:this.widget.agentMode,primaryColor:this.widget.primaryColor,secondaryColor:this.widget.secondaryColor,glow:this._glow,shockwaves:this.widget.shockwaves??this._internalShockwaves});return new V8({onClick:this.handleClick,child:Q})}}class h56 extends AV{props;constructor(J,Q){super(Q?{key:Q}:{});this.props=J}createElement(){return new jq(this)}createRenderObject(){return new C81(this.props.width,this.props.height,this.props.minWidth,this.props.minHeight,this.props.maxWidth,this.props.maxHeight,this.props.time,this.props.agentMode,this.props.primaryColor,this.props.secondaryColor,this.props.glow,this.props.shockwaves)}updateRenderObject(J){J.update(this.props.width,this.props.height,this.props.minWidth,this.props.minHeight,this.props.maxWidth,this.props.maxHeight,this.props.time,this.props.agentMode,this.props.primaryColor,this.props.secondaryColor,this.props.glow,this.props.shockwaves)}}class C81 extends D4{_width;_height;_minWidth;_minHeight;_maxWidth;_maxHeight;_time;_agentMode;_primaryColor;_secondaryColor;_glow;_shockwaves;constructor(J,Q,Z,Y,X,G,V,K,q,W,H,z=[]){super();this._width=J;this._height=Q;this._minWidth=Z;this._minHeight=Y;this._maxWidth=X;this._maxHeight=G;this._time=V;this._agentMode=K;this._primaryColor=q;this._secondaryColor=W;this._glow=H;this._shockwaves=z}getMinIntrinsicWidth(J){return this._minWidth}getMaxIntrinsicWidth(J){return this._maxWidth}getMinIntrinsicHeight(J){return this._minHeight}getMaxIntrinsicHeight(J){return this._maxHeight}update(J,Q,Z,Y,X,G,V,K,q,W,H,z=[]){let U=!1;if(J!==this._width||Q!==this._height||Z!==this._minWidth||Y!==this._minHeight||X!==this._maxWidth||G!==this._maxHeight)this._width=J,this._height=Q,this._minWidth=Z,this._minHeight=Y,this._maxWidth=X,this._maxHeight=G,U=!0;if(this._time=V,this._agentMode=K,this._primaryColor=q,this._secondaryColor=W,this._glow=H,this._shockwaves=z,U)this.markNeedsLayout();this.markNeedsPaint()}performLayout(){let J=this._lastConstraints;O4(!!J,"performLayout called without constraints");let Q=J.constrain(this._width,this._height);this.setSize(Q.width,Q.height),super.performLayout()}paint(J,Q=0,Z=0){let Y=Q+this.offset.x,X=Z+this.offset.y,G=Math.floor(this.size.width),V=Math.floor(this.size.height),K=G/2,q=V/2,W=Math.max(1,G/2-1),H=Math.max(1,V/(2*T81)-1),z=Math.min(W,H);for(let U=0;U<V;U++){let D=X+U,M=!0;if(U>0){M=!0;for(let A=0;A<G;A++){let E=A-K,I=(U-1-q)/T81;if(Math.sqrt(E*E+I*I)/z<1){M=!1;break}}}let L=!0;for(let A=0;A<G;A++){let E=A-K,I=(U-q)/T81,P=Math.sqrt(E*E+I*I),T=P/z;if(T>=1)continue;let k=1-T*T,y=this._agentMode==="rush"?2.5:1,g=this._glow.sample(A,U,this._time,y)*k;for(let t of this._shockwaves){let c=this._time-t.startTime;if(c<0||c>nB)continue;let J1=A-t.x,q1=(U-t.y)/T81,D1=Math.sqrt(J1*J1+q1*q1),s=c*AS1,o=Math.abs(D1-s);if(o<zg){let i=P/z;if(i<0.95){let F1=1-c/nB,k1=(1-o/zg)*F1,e=1-Math.pow(i,3);g=Math.min(1,g+k1*0.8*e)}}}let p=v56[Math.floor(g*v56.length)]||zq8,b=this._primaryColor&&this._secondaryColor?{primary:this._primaryColor,secondary:this._secondaryColor}:void 0,a=LS1(g,this._agentMode,b),V1=Y+A;if(V1<0||V1>=J.getSize().width)continue;J.setCell(V1,D,{char:p,width:1,style:{fg:a}}),L=!1}if(L&&M)continue}}}function b56(J,Q,Z){let Y=GB0(J),X=tE(J),G="\x1B[0m",V="\x1B[32m",K="\x1B[33m",q="\x1B[31m",W="\x1B[34m",H="\x1B[90m",z=[];if(z.push(`${Y}`),z.push(`\x1B[34m${Q}\x1B[0m`),X.added>0||X.changed>0||X.deleted>0){let b=[];if(X.added>0)b.push(`\x1B[32m+${X.added}\x1B[0m`);if(X.changed>0)b.push(`\x1B[33m~${X.changed}\x1B[0m`);if(X.deleted>0)b.push(`\x1B[31m-${X.deleted}\x1B[0m`);z.push(`${b.join(" ")}`)}z.push(`\x1B[90mamp threads continue ${J.id}\x1B[0m`);let U=14,D=7,M=new lA(U,D),L=new iB(42),A=new C81(U,D,U,D,U,D,0,J.agentMode??"smart",void 0,void 0,L);A.layout(A6.tight(U,D)),A.paint(M,0,0);let E=M.getBuffer().getCells(),I=0;for(let b=0;b<D;b++)if(E[b].some((a)=>a.char!==" ")){I=b;break}let P=D-1;for(let b=D-1;b>=0;b--)if(E[b].some((a)=>a.char!==" ")){P=b;break}function T(b,a){if(!b)return"";if(b.type==="rgb"){let{r:V1,g:t,b:c}=b.value;if(Z.getColorDepth()>=24)return`\x1B[${a?38:48};2;${V1};${t};${c}m`;let J1=Vj1(V1,t,c);return`\x1B[${a?38:48};5;${J1}m`}return""}let k=[];if(P>=I)for(let b=I;b<=P;b++){let a="";for(let V1=0;V1<U;V1++){let t=E[b][V1],c=t.char,J1=T(t.style.fg,!0);a+=J1+c+"\x1B[0m"}k.push(a)}let y=k.length,v=Math.max(y,z.length),g=Math.floor((v-y)/2),p=Math.floor((v-z.length)/2);for(let b=0;b<v;b++){let a=" ".repeat(U);if(b>=g&&b<g+y)a=k[b-g];let V1=" ",t="";if(b>=p&&b<p+z.length)t=z[b-p];Z.write(a+V1+t+`
@@ -4917,7 +4917,7 @@ Ctrl-X, Y, Z to unlock`;if(U){let a=W.text.replace(/`([^`]+)`/g,"$1")+`
4917
4917
  `,A)])}),y];if(!q&&!U&&W.url){let b=W.url.replace(/^https?:\/\//,"");g.push(new i5({uri:W.url,text:b,style:new r({color:Z.secondary,underline:!0})}))}if(k&&!U)g.push(k);let p=new Q0({width:40,child:new x0({crossAxisAlignment:"start",mainAxisSize:"min",children:g})});return j4.child(new B6({mainAxisAlignment:"center",crossAxisAlignment:"center",mainAxisSize:"min",children:[new OS1({width:rk1,height:sk1,agentMode:this.widget.agentMode,glow:this._glow,t:H,fps:0,shockwaves:this._shockwaves,onShockwave:P,...V==="disabled"&&{seed:42}}),new Q0({width:2}),p]}))}}B0();N8();G4();H7();N8();d0();function RF8(J,Q){return`${J}:${Q}`}class tk1{threadService;workers=new Map;threadsMap=new Map;subthreadsMap=new Map;mainThreadSubs=new Map;subthreadsSubs=new Map;workerStatusSubs=new Map;subthreadPatchSubs=new Map;mainThreadObservable;subthreadObservable;workerStatusObservable;emitMainThread=null;emitSubthread=null;emitWorkerStatus=null;constructor(J){this.threadService=J;this.mainThreadObservable=new t1((Q)=>{return this.emitMainThread=(Z)=>Q.next(Z),()=>{this.emitMainThread=null}}),this.subthreadObservable=new t1((Q)=>{return this.emitSubthread=(Z)=>Q.next(Z),()=>{this.emitSubthread=null}}),this.workerStatusObservable=new t1((Q)=>{return this.emitWorkerStatus=(Z)=>Q.next(Z),()=>{this.emitWorkerStatus=null}})}registerWorker(J){let Q=J.thread.id;if(this.workers.has(Q))this.unregisterWorker(Q);this.threadsMap.set(Q,J.thread),this.subthreadsMap.set(Q,[]),this.workers.set(Q,{state:"initial"});let Z=this.threadService.observePatches(Q).pipe(qM()).subscribe((G)=>{this.threadsMap.set(Q,G);let V=this.subthreadsMap.get(Q)||[],K=this.workers.get(Q)||{state:"initial"};if(this.emitMainThread)this.emitMainThread({threadID:Q,mainThread:G,subthreads:V,workerStatus:K})});this.mainThreadSubs.set(Q,Z);let Y=J.status.subscribe((G)=>{if(this.workers.set(Q,G),this.emitWorkerStatus)this.emitWorkerStatus({threadID:Q,status:G})});this.workerStatusSubs.set(Q,Y);let X=J.subthreads.subscribe((G)=>{this.subthreadsMap.set(Q,G);for(let V of G){let K=RF8(Q,V.toolUse.id);if(this.subthreadPatchSubs.has(K))continue;let q=this.threadService.observePatches(V.threadID).pipe(qM()).subscribe((W)=>{if(this.emitSubthread)this.emitSubthread({threadID:Q,thread:W,subthread:V})});this.subthreadPatchSubs.set(K,q)}});this.subthreadsSubs.set(Q,X)}unregisterWorker(J){let Q=this.mainThreadSubs.get(J);if(Q)Q.unsubscribe(),this.mainThreadSubs.delete(J);let Z=this.workerStatusSubs.get(J);if(Z)Z.unsubscribe(),this.workerStatusSubs.delete(J);let Y=this.subthreadsSubs.get(J);if(Y)Y.unsubscribe(),this.subthreadsSubs.delete(J);for(let[X,G]of this.subthreadPatchSubs.entries())if(X.startsWith(`${J}:`))G.unsubscribe(),this.subthreadPatchSubs.delete(X);this.workers.delete(J),this.threadsMap.delete(J),this.subthreadsMap.delete(J)}observeThread(J){return{mainThread:new t1((Q)=>{return this.mainThreadObservable.subscribe((Z)=>{if(Z.threadID===J)Q.next(Z)})}),subthreads:new t1((Q)=>{return this.subthreadObservable.subscribe((Z)=>{if(Z.threadID===J)Q.next(Z)})}),workerStatus:new t1((Q)=>{return this.workerStatusObservable.subscribe((Z)=>{if(Z.threadID===J)Q.next(Z)})})}}get threadViewStates(){let J={};for(let[Q,Z]of this.threadsMap){let Y=this.workers.get(Q);if(Y)J[Q]=VA(Z,Y)}return J}dispose(){for(let J of this.mainThreadSubs.values())J.unsubscribe();for(let J of this.subthreadsSubs.values())J.unsubscribe();for(let J of this.workerStatusSubs.values())J.unsubscribe();for(let J of this.subthreadPatchSubs.values())J.unsubscribe();this.mainThreadSubs.clear(),this.subthreadsSubs.clear(),this.workerStatusSubs.clear(),this.subthreadPatchSubs.clear(),this.workers.clear(),this.threadsMap.clear(),this.subthreadsMap.clear()}}function TF8(J,Q){switch(Q.type){case"subthread-patch":{let{thread:Z,subthread:Y}=Q,X=J.subagents[Y.threadID];if(!X){if(X={subThreadID:Z.id,parentToolID:Y.toolUse.id,taskDescription:Y.toolUse.input.description||"Task",isCompleted:!1,agentState:{type:"idle"}},J.mainThread){let W=cJ(J.mainThread);X.isCompleted=BJ6(W,Y.toolUse.id)}}let G=CF8(Z,X.agentState),V=X.agentState===G?X:{...X,agentState:G},K={...J.tools},q=vC(Z).items.filter((W)=>W.type==="toolResult");for(let W of q)K[W.id]={id:W.id,subthreadID:Z.id,toolRun:W.toolResult.run,toolUse:W.toolUse};return{subagents:{...J.subagents,[Y.threadID]:V},tools:K,items:J.items,viewState:J.viewState,todosList:J.todosList,mainThread:J.mainThread}}case"main-thread-patch":{let{thread:Z,subthreads:Y,workerStatus:X}=Q,G=cJ(Z),V={...J.subagents};for(let z of Y){let U=V[z.threadID];if(!U)continue;let D=BJ6(G,z.toolUse.id);V[z.threadID]={...U,isCompleted:D}}let{items:K}=vC(Z),q=VA(Z,X),W=sE({messages:Z.messages}),H=Array.isArray(W)?W:[];return{...J,subagents:V,items:K,viewState:q,todosList:H,mainThread:Z}}case"worker-status-change":{if(!J.mainThread)return J;let Z=VA(J.mainThread,Q.workerStatus);if(Z===J.viewState)return J;return{...J,viewState:Z}}default:return J}}function vC(J){let Q=[],Z=new Map,Y=new Set;for(let[X,G]of J.messages.entries()){let V=`${G.role}-${X}`;switch(G.role){case"assistant":{let K=G.state.type==="streaming";for(let W of G.content)if(W.type==="tool_use"){if(Z.set(W.id,W),K)Y.add(W.id)}if(G.content.some((W)=>W.type==="text"&&W.text.trim()||W.type==="thinking"))Q.push({type:"message",id:V,message:G});for(let W of G.content)if(W.type==="tool_use"){let H=!1;for(let z=X+1;z<J.messages.length;z++){let U=J.messages[z];if(U){for(let D of U.content)if(D.type==="tool_result"&&D.toolUseID===W.id){H=!0;break}}if(H)break}if(!H)Q.push({type:"toolResult",id:W.id,toolUse:W,toolResult:{type:"tool_result",toolUseID:W.id,run:{status:K?"in-progress":"queued"}}})}break}case"info":Q.push({type:"message",id:V,message:G});break;case"user":{let K=G.content.some((q)=>q.type==="text"&&q.text.trim()||q.type==="image");for(let q of G.content)if(q.type==="tool_result"){let W=Z.get(q.toolUseID)??wY(J,q.toolUseID);if(!W)throw Error(`(bug) tool use ${q.toolUseID} not found`);Q.push({type:"toolResult",id:q.toolUseID,toolUse:W,toolResult:q})}if(K)Q.push({type:"message",id:V,message:G});break}}}return{items:Q}}function BJ6(J,Q){let Z=J.get(Q);return(Z&&W3(Z.run))??!1}function CF8(J,Q){let Z=J.messages.at(-1);if(Z?.content.some((X)=>X.type==="tool_result"&&X.run.status==="blocked-on-user"))return x.info("Subagent status: idle (blocked-on-user)",{threadID:J.id}),{type:"idle"};if(vC(J).items.some((X)=>X.type==="toolResult"&&X.toolResult.run.status==="in-progress")){let X=Q?.type==="running-tools"?Q.startTime:Date.now();return x.info("Subagent status: running-tools",{threadID:J.id,startTime:X,hasStartTime:!!X}),{type:"running-tools",startTime:X}}if(Z&&Z.role==="assistant"&&Z.state.type==="streaming")switch(Z.content.at(-1)?.type){case"text":return x.info("Subagent status: streaming-text",{threadID:J.id}),{type:"streaming-text"};case"thinking":return x.info("Subagent status: streaming-thinking",{threadID:J.id}),{type:"streaming-thinking"};case"tool_use":{let G=Q?.type==="running-tools"?Q.startTime:Date.now();return x.info("Subagent status: running-tools (streaming tool_use)",{threadID:J.id,startTime:G,hasStartTime:!!G}),{type:"running-tools",startTime:G}}default:return x.info("Subagent status: streaming-text (default)",{threadID:J.id}),{type:"streaming-text"}}return x.info("Subagent status: idle (default)",{threadID:J.id}),{type:"idle"}}class ek1 extends p0{props;constructor(J){super();this.props=J}createState(){return new NJ6}}class NJ6 extends g0{state={subagents:{},tools:{},items:[],viewState:{state:"initial",interactionState:!1,toolState:{running:0,blocked:0}},todosList:[],mainThread:null};workerController;subscriptions=[];recentThreadIDs=[];currentWorker;constructor(){super();this.workerController=null,this.currentWorker=null}addToRecentThreads(J){this.setState(()=>{let Q=this.recentThreadIDs.indexOf(J);if(Q!==-1)this.recentThreadIDs.splice(Q,1);if(this.recentThreadIDs.unshift(J),this.recentThreadIDs.length>50)this.recentThreadIDs.pop()})}initState(){let{threadService:J,worker:Q}=this.widget.props;this.workerController=new tk1(J),this.currentWorker=Q,this.setupSubscriptions(Q),this.addToRecentThreads(Q.thread.id)}dispose(){this.cleanup()}didUpdateWidget(J){if(J.props.threadService!==this.widget.props.threadService||J.props.worker!==this.widget.props.worker)this.cleanup(),this.setupSubscriptions(this.widget.props.worker)}setupSubscriptions(J){this.workerController.registerWorker(J);let Q=this.workerController.observeThread(J.thread.id),Z=Q.mainThread.subscribe((G)=>{this.dispatch({type:"main-thread-patch",thread:G.mainThread,subthreads:G.subthreads,workerStatus:G.workerStatus})});this.subscriptions.push(Z);let Y=Q.subthreads.subscribe((G)=>{this.dispatch({type:"subthread-patch",thread:G.thread,subthread:G.subthread})});this.subscriptions.push(Y);let X=Q.workerStatus.subscribe((G)=>{this.dispatch({type:"worker-status-change",workerStatus:G.status})});this.subscriptions.push(X)}cleanup(){this.subscriptions.forEach((J)=>J.unsubscribe()),this.subscriptions=[]}switchWorker(J){this.cleanup(),this.setState(()=>{this.currentWorker=J}),this.setState(()=>{this.state={subagents:{},tools:{},items:[],viewState:{state:"initial",interactionState:!1,toolState:{running:0,blocked:0}},todosList:[],mainThread:null}}),this.setupSubscriptions(J),this.addToRecentThreads(J.thread.id)}dispatch(J){this.setState(()=>{this.state=TF8(this.state,J)})}getThreadData(){let J=Object.values(this.state.tools).map((G)=>({toolUse:G.toolUse,toolRun:G.toolRun,subthreadID:G.subthreadID})),Q={};for(let G of Object.values(this.state.subagents)){let V=J.filter((K)=>K.subthreadID===G.subThreadID);Q[G.parentToolID]=V}let Z=(G)=>G===O5||G===r8||G===MY,Y=new Map;for(let G of this.state.items)if(G.type==="toolResult"&&Z(G.toolUse.name))Y.set(G.toolUse.id,{toolUseId:G.toolUse.id,toolName:G.toolUse.name,toolRun:G.toolResult.run});let X=Array.from(Y.values());for(let{toolUseId:G,toolRun:V}of X){let K=[],q;if(V.status==="in-progress"||V.status==="done"||V.status==="error"||V.status==="cancelled")q=V.progress;if(q){let W=0;for(let H of q)if(H.tool_uses)for(let z of H.tool_uses){let U=`${G}:progress:${W++}`;K.push({toolUse:aE(z.tool_name,z.input,U),toolRun:{status:z.status}})}}Q[G]=K}return{...this.state,subagents:Object.values(this.state.subagents),subagentActiveTools:J,subagentToolsByParentID:Q}}build(J){let Q=this.getThreadData();return this.widget.props.builder(J,Q,this.workerController,(Z)=>this.switchWorker(Z),()=>this.currentWorker,this.recentThreadIDs)}}class Jy1 extends p0{props;constructor(J){super({key:J.key});this.props=J}createState(){return new DJ6}}class DJ6 extends g0{build(J){let Z=X6.of(J).colors,{todos:Y,title:X="TODOs"}=this.widget.props;if(!Array.isArray(Y)||Y.length===0)return new Q0({width:0,height:0});let G=Y.map((V)=>this.buildTodoItem(V,Z));return new b0({child:new W6({padding:z0.symmetric(1,0),child:new x0({crossAxisAlignment:"stretch",mainAxisSize:"min",children:[new _1({text:new l(X,new r({bold:!0,color:Z.foreground}))}),...G]})})})}buildTodoItem(J,Q){let Z=this.getStatusIcon(J.status),Y=J.status==="completed",X=new r({bold:J.status==="in-progress",color:Q.foreground,dim:Y}),G=new r({bold:J.status==="in-progress",strikethrough:J.status==="completed",color:Q.foreground,dim:Y});return new B6({crossAxisAlignment:"start",children:[new _1({text:new l(Z,X)}),new Q0({width:1}),new c6({child:new _1({text:new l(J.content,G)})})]})}getStatusIcon(J){return J==="completed"?"✓":"•"}}class Qy1 extends I6{ad;onDismiss;onButtonClick;constructor({key:J,ad:Q,onDismiss:Z,onButtonClick:Y}){super({key:J});this.ad=Q,this.onDismiss=Z,this.onButtonClick=Y}build(J){let Q=X6.of(J),Z=Q.colors.primary,Y=Q.colors.foreground;return new b0({decoration:new M8(void 0,new U4(new V4(Z,1,"rounded"),new V4(Z,1,"rounded"),void 0,new V4(Z,1,"rounded"))),child:new W6({padding:z0.horizontal(1),child:new x0({children:[new B6({crossAxisAlignment:"start",children:[new c6({child:new _1({text:new l(this.ad.content,new r({color:Y}))})}),new Q0({width:4}),new i5({uri:"https://ampcode.com/free",text:"Ad",style:new r({color:Y,dim:!0})})]}),new B6({crossAxisAlignment:"start",children:[new kS1({text:this.ad.buttonLabel,onPressed:()=>this.onButtonClick?.(),padding:z0.horizontal(1),color:Z,reverse:!0}),new Q0({width:2}),new _1({text:new l(this.ad.destinationUrlHostname,new r({color:Y,dim:!0}))})]})]})})})}}class Zy1 extends p0{props;constructor(J){super();this.props=J}createState(){return new MJ6(this.props.autofocus??!0)}}class MJ6 extends g0{autofocus;constructor(J){super();this.autofocus=J}build(J){let Q=(K)=>{if(K.key==="Enter"&&this.widget.props.showCopyOption)return this.widget.props.onSelect("copy"),"handled";if(K.ctrlKey&&K.key==="c"||K.key==="Escape")return this.widget.props.onSelect(null),"handled";return"ignored"},Z=_4.sizeOf(J),Y=Math.min(60,Z.width-4),X=Z.height-4,G=[];if(this.widget.props.title)G.push(new _1({text:new l(this.widget.props.title,new r({bold:!0,color:H1.blue}))}),new Q0({height:1}));if(this.widget.props.message)G.push(new _1({text:new l(this.widget.props.message,void 0,void 0,{uri:this.widget.props.message,id:"ad-link"})}));if(this.widget.props.message)G.push(new Q0({height:1}));let V=[];if(this.widget.props.showCopyOption)V.push(new _1({text:new l("Enter to copy",new r({dim:!0}))}));return V.push(new _1({text:new l("Escape to close",new r({dim:!0}))})),G.push(new B6({children:V.flatMap((K,q)=>q<V.length-1?[K,new Q0({width:1}),new _1({text:new l("•",new r({dim:!0}))}),new Q0({width:1})]:[K]),mainAxisSize:"min"})),new j4({child:new b0({constraints:new A6(Y,Y,0,X),decoration:new M8(H1.default(),new U4(new V4(H1.blue,1,"rounded"),new V4(H1.blue,1,"rounded"),new V4(H1.blue,1,"rounded"),new V4(H1.blue,1,"rounded"))),padding:new z0(2,2,2,2),child:new F8({autofocus:this.autofocus,onKey:Q,child:new x0({children:G,mainAxisSize:"min"})})})})}}class u91 extends Error{constructor(J="Command timed out"){super(J);this.name="CommandTimeoutError",Object.setPrototypeOf(this,u91.prototype)}}class p91 extends Error{constructor(J){let Q=`${J.noun}: ${J.verb} command cancelled`;super(Q);this.name="CommandCancelledError",Object.setPrototypeOf(this,p91.prototype)}}function Yy1(J){let Q=J.match(/"([^"]*)"|'([^']*)'|([^\s"']+)/g);if(!Q)return[];return Q.map((Z)=>{if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);return Z})}tW();B0();import{spawn as jF8}from"node:child_process";import{promises as SF8}from"node:fs";function LJ6(J){return J.kind==="executable"}function AJ6(J){return J.kind==="markdown"}var Fz=50000,OJ6=300000;async function Xy1(J,Q,Z,Y={}){let{timeoutMs:X=OJ6,signal:G,source:V}=Y;try{let K=await Z.getCommand(J,V);if(!K)return{success:!1,output:"",error:`Command '${J}' not found`};if(!await Z.isCommandAvailable(J,V))return{success:!1,output:"",error:`Command '${J}' is not available for execution`};if(x.debug("Executing command",{commandName:J,filePath:K.filePath,args:Q}),AJ6(K))return await _F8(K,Q);else if(LJ6(K))return await kF8(K,Q,X,G);else return{success:!1,output:"",error:"Unsupported command type"}}catch(K){return x.error("Failed to execute command",{commandName:J,error:K}),{success:!1,output:"",error:K instanceof Error?K.message:"Unknown error occurred"}}}async function _F8(J,Q){try{if(Q.length>0)return{success:!1,output:"",error:"Markdown commands do not accept arguments"};let Z=await SF8.readFile(J.filePath,"utf8");return{success:!0,output:(Z.length>Fz?Z.slice(0,Fz)+`
4918
4918
  ... (output truncated at ${Fz} characters)`:Z).trim(),exitCode:0}}catch(Z){return{success:!1,output:"",error:Z instanceof Error?Z.message:"Failed to read markdown file"}}}async function kF8(J,Q,Z=OJ6,Y){return new Promise((X)=>{let[G,V]=yF8(J,Q);x.debug("Spawning command",{spawnCommand:G,spawnArgs:V.slice(0,10),filePath:J.filePath,timeoutMs:Z});let K=kw0(Y),q=!1,W=setTimeout(()=>{q=!0,K.abort(),x.warn("Command execution timed out",{commandName:J.name,timeoutMs:Z})},Z),H=jF8(G,V,{stdio:["pipe","pipe","pipe"],signal:K.signal,detached:!0}),z=[],U=[],D=0;H.stdout?.on("data",(M)=>{let L=M.toString();if(D+=L.length,D<=Fz)z.push(L);else{let A=Fz-(D-L.length);if(A>0)z.push(L.slice(0,A))}}),H.stderr?.on("data",(M)=>{let L=M.toString();if(D+=L.length,D<=Fz)U.push(L);else{let A=Fz-(D-L.length);if(A>0)U.push(L.slice(0,A))}}),H.on("close",(M)=>{if(clearTimeout(W),q){X({success:!1,output:z.join(""),error:`Command timed out after ${Z}ms`,exitCode:void 0});return}if(K.signal.aborted){X({success:!1,output:z.join(""),error:"The command was aborted",exitCode:M??void 0});return}let L=M===0||M===1,A=z.join(""),E=U.join(""),I=A;if(!L&&!A.trim()&&E.trim())I=E;else if(E.trim())I+=A?`
4919
4919
  ${E}`:E;if(D>Fz)I+=`
4920
- ... (output truncated at ${Fz} characters)`;X({success:L,output:I.trim(),error:!L?E.trim()||"Command failed":void 0,exitCode:M??void 0})}),H.on("error",(M)=>{clearTimeout(W);let L=M.message;if(q)L=`Command timed out after ${Z}ms`;else if(M.message.includes("operation was aborted")||M.name==="AbortError")L="The command was aborted";X({success:!1,output:z.join(""),error:L})})})}function yF8(J,Q){let{filePath:Z,interpreter:Y,extension:X}=J;if(process.platform==="win32")return vF8(Z,Y?[...Y]:null,X,Q);else return xF8(Z,Y?[...Y]:null,X,Q)}function xF8(J,Q,Z,Y){if(Q&&Q.length>0&&Q[0])return[Q[0],[...Q.slice(1),J,...Y]];else return[J,Y]}function vF8(J,Q,Z,Y){if(Q&&Q.length>0&&Q[0])return[Q[0],[...Q.slice(1),J,...Y]];switch(Z.toLowerCase()){case".bat":case".cmd":return["cmd.exe",["/c",J,...Y]];case".ps1":return["powershell.exe",["-ExecutionPolicy","Bypass","-File",J,...Y]];case".exe":return[J,Y];default:return[J,Y]}}B0();AY();R7();yb();AK();SZ();cG();eW();cK();N8();xb();H7();h_();d0();var oJ6=q6(vP(),1);import{writeFile as nJ6}from"fs/promises";import uq from"path";B0();SZ();class $y1{enabled;configService;commandCounts=new Map;timer=null;bufferTimeMs=1e4;constructor(J,Q){this.enabled=J;this.configService=Q;this.startTimer()}startTimer(){this.timer=setInterval(()=>{this.flushEvents()},this.bufferTimeMs)}async flushEvents(){if(this.commandCounts.size===0||!await this.enabled())return;let J=Array.from(this.commandCounts.entries()).map(([Q,Z])=>({feature:"cli.command",action:Q,source:{client:"cli",clientVersion:"0.0.1765569693-ga99d1a"},parameters:{metadata:{count:Z}},timestamp:Date.now()*1000}));this.commandCounts.clear();try{let Q=JSON.stringify(J);await ao(Q,this.configService)}catch(Q){x.error("Failed to export command telemetry events",Q)}}async submit(J){if(!await this.enabled()||this.timer===null)return;let Q=this.commandCounts.get(J)||0;this.commandCounts.set(J,Q+1)}async dispose(){if(await this.flushEvents(),this.timer!==null)clearInterval(this.timer),this.timer=null}}class BO extends p0{props;constructor(J){super();this.props=J}createState(){return new wJ6}}class wJ6 extends g0{_state;initState(){super.initState(),this._state=this.widget.props.initialState}build(J){let Q=(Z)=>{this.setState(()=>{this._state=Z(this._state)})};return this.widget.props.builder(J,Q,this._state)}}class EJ6 extends g0{controller=new aZ;focusNode=new G8({debugLabel:"CommandArgumentPrompt",onKey:(J)=>{if(J.key==="Escape")return this.widget.props.onDismiss(),"handled";return"ignored"}});_textListener=()=>{this.setState(()=>{})};initState(){this.focusNode.requestFocus(),this.controller.addListener(this._textListener)}dispose(){this.controller.removeListener(this._textListener),this.focusNode.dispose()}build(J){let Q=X6.of(J),{colors:Z,app:Y}=Q,X=this.widget.props.isRequiredArg??!0,G=this.controller.text.trim().length>0,V=!X||G,K=U4.all(new V4(Z.foreground,1,"solid")),q=new qz({controller:this.controller,focusNode:this.focusNode,placeholder:this.widget.props.placeholder??"Enter command argument...",onSubmitted:(D)=>{let M=D.trim();if(X&&M.length===0)return;this.widget.props.onSubmit(M)},autofocus:!0,style:{textColor:Z.foreground,border:null},maxLines:1}),W=new B6({children:[new b0({decoration:{color:H1.default()},child:new _1({text:new l(">",new r({color:Z.foreground}))})}),new c6({child:q})]}),H=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l("",void 0,[new l("Command: ",new r({color:Z.foreground})),new l(this.widget.props.commandName,new r({color:H1.yellow,bold:!0}))])})}),z=[];if(V)z.push(new l("Enter",new r({color:Y.keybind}))),z.push(new l(" to submit, ",new r({color:Z.foreground,dim:!0})));z.push(new l("Esc",new r({color:Y.keybind}))),z.push(new l(" to cancel",new r({color:Z.foreground,dim:!0})));let U=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l("",void 0,z)})});return new b0({decoration:{border:K,color:H1.default()},padding:z0.all(1),child:new x0({children:[H,new Q0({height:1}),W,new Q5,U]})})}}class ig extends p0{props;constructor(J){super();this.props=J}createState(){return new EJ6}}eW();class IJ6 extends g0{controller=new aZ;imageAttachments=[];imagePaths=[];isConfirmingClearInput=!1;clearInputConfirmTimeout=null;focusNode=new G8({debugLabel:"CommandMultilinePrompt",onKey:(J)=>{if(J.key==="Escape"){if(this.isConfirmingClearInput){if(this.controller.clear(),this.setState(()=>{this.isConfirmingClearInput=!1,this.imageAttachments=[],this.imagePaths=[]}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;return"handled"}if(this.controller.text.trim()!==""||this.imageAttachments.length>0){if(this.setState(()=>{this.isConfirmingClearInput=!0}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout);return this.clearInputConfirmTimeout=setTimeout(()=>{this.setState(()=>{this.isConfirmingClearInput=!1}),this.clearInputConfirmTimeout=null},1000),"handled"}return this.widget.props.onDismiss(),"handled"}return"ignored"}});initState(){if(this.widget.props.initialText)this.controller.text=this.widget.props.initialText;if(this.widget.props.initialImages)this.imageAttachments=[...this.widget.props.initialImages];this.focusNode.requestFocus()}_handleInsertImage=(J)=>{if(this.imageAttachments.length>=QU)return!1;let Q=LC(J);if(typeof Q==="object")return this.setState(()=>{this.imageAttachments=[...this.imageAttachments,Q],this.imagePaths=[...this.imagePaths,J]}),!1;return!1};_handlePopImage=()=>{if(this.imageAttachments.length>0)this.setState(()=>{this.imageAttachments=this.imageAttachments.slice(0,-1),this.imagePaths=this.imagePaths.slice(0,-1)})};dispose(){if(this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;this.focusNode.dispose(),this.controller.dispose()}build(J){let Q=X6.of(J),{colors:Z,app:Y}=Q,G=_4.of(J).size.height,V=Math.max(Math.floor(G*0.5),10),K=new UO({controller:this.controller,triggers:[new XN],completionBuilder:this.widget.props.completionBuilder,ampURL:this.widget.props.ampURL,onSubmitted:(D)=>{this.widget.props.onSubmit(D.trim(),this.imageAttachments)},theme:Z,placeholder:this.widget.props.placeholder||"Enter your message...",enabled:this.widget.props.enabled??!0,autofocus:!0,clipboard:b8.instance.tuiInstance.clipboard,showMenuBelow:!0,onInsertImage:this.widget.props.onInsertImage??this._handleInsertImage,imageAttachments:this.imageAttachments,popImage:this._handlePopImage}),q=new F8({focusNode:this.focusNode,child:K}),W=new b0({constraints:new A6({maxHeight:V}),padding:z0.symmetric(1,0),child:q}),H=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l("",void 0,[new l("Command: ",new r({color:Z.foreground})),new l(this.widget.props.commandName,new r({color:H1.yellow,bold:!0}))])})}),z=new b0({padding:z0.symmetric(1,0),child:new _1({text:this.isConfirmingClearInput?new l("",void 0,[new l("Esc",new r({color:Y.keybind})),new l(" again to clear input",new r({color:Z.foreground,dim:!0}))]):new l("",void 0,[new l("Press ",new r({color:Z.foreground,dim:!0})),new l("Enter",new r({color:Y.keybind})),new l(" to submit, ",new r({color:Z.foreground,dim:!0})),new l("Esc",new r({color:Y.keybind})),new l(" to clear",new r({color:Z.foreground,dim:!0}))])})}),U=[H,new Q0({height:1}),new c6({child:W}),new Q0({height:1}),z];return new b0({decoration:{border:U4.all(new V4(Z.foreground,1,"solid")),color:H1.default()},padding:z0.all(1),child:new x0({children:U})})}}class fC extends p0{props;constructor(J){super();this.props=J}createState(){return new IJ6}}import{isDeepStrictEqual as mF8}from"node:util";var fF8=/[\\/_ +.#"@[({&]/,hF8=/[\\/_ +.#"@[({&]/g,bF8=/[\s-]/,PJ6=/[\s-]/g;function c91(J,Q,Z,Y,X,G,V){if(G===Q.length){if(X===J.length)return 1;return 0.99}let K=`${X},${G}`;if(V[K]!==void 0)return V[K];let q=Y.charAt(G),W=Z.indexOf(q,X),H=0,z,U,D,M;while(W>=0){if(z=c91(J,Q,Z,Y,W+1,G+1,V),z>H){if(W===X)z*=1;else if(bF8.test(J.charAt(W-1))){if(z*=0.9,M=J.slice(X,W-1).match(PJ6),M&&X>0)z*=Math.pow(0.999,M.length)}else if(fF8.test(J.charAt(W-1))){if(z*=0.8,D=J.slice(X,W-1).match(hF8),D&&X>0)z*=Math.pow(0.999,D.length)}else if(z*=0.3,X>0)z*=Math.pow(0.999,W-X);if(J.charAt(W)!==Q.charAt(G))z*=0.9999}if(z<0.1&&(Z.charAt(W-1)===Y.charAt(G+1)||Y.charAt(G+1)===Y.charAt(G)&&Z.charAt(W-1)!==Y.charAt(G))){if(U=c91(J,Q,Z,Y,W+1,G+2,V),U*0.1>z)z=U*0.1}if(z>H)H=z;W=Z.indexOf(q,W+1)}return V[K]=H,H}function d91(J){return J.toLowerCase().replace(PJ6," ")}function RJ6(J,Q){let Z=c91(J,Q,d91(J),d91(Q),0,0,{}),Y=Q.trim().split(/\s+/);if(Y.length>1){let X=0,G=0;for(let K of Y){let q=c91(J,K,d91(J),d91(K),0,0,{});if(q===0)return Z;X+=q,G+=K.length}let V=X/Y.length*0.95;return Math.max(Z,V)}return Z}class hC{}class bC{}class l91{}class i91{}class TJ6 extends p0{child;onContext;constructor(J,Q){super();this.child=J;this.onContext=Q}createState(){return new CJ6}}class CJ6 extends g0{build(J){return this.widget.onContext(J),this.widget.child}}function gF8(J,Q){if(J==="")return{matches:!0,score:1};let Z=RJ6(Q,J);return{matches:Z>0.15,score:Z}}class h2 extends p0{props;debugLabel="FuzzyPicker";constructor(J){super();this.props=J}createState(){return new jJ6}}class jJ6 extends g0{controller=new aZ;focusNode;scrollController=new l5;selectedIndex=0;itemContexts=[];cachedQuery="";cachedItemsRef=null;cachedFiltered=[];initState(){this.scrollController.disableFollowMode(),this.focusNode=new G8({debugLabel:this.widget.debugLabel}),this.controller.addListener(()=>{this.selectedIndex=0,this.recomputeFilteredItems(),this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()});let Q=this.cachedFiltered;this.widget.props.onSelectionChange?.(Q[0]??null)}),this.recomputeFilteredItems();let J=this.cachedFiltered;this.widget.props.onSelectionChange?.(J[0]??null),this.ensureSelectedItemVisible()}didUpdateWidget(J){if(!mF8(J.props.items,this.widget.props.items)){this.recomputeFilteredItems(),this.ensureSelectedItemVisible();let Q=this.cachedFiltered;this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null)}}dispose(){this.widget.props.onSelectionChange?.(null),this.controller.dispose(),this.focusNode.dispose(),this.scrollController.dispose()}invoke=(J)=>{if(J instanceof hC){let Q=this.getFilteredItems();if(Q.length>0&&this.selectedIndex<Q.length-1)this.selectedIndex++,this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()}),this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null);return"handled"}if(J instanceof bC){let Q=this.getFilteredItems();if(Q.length>0&&this.selectedIndex>0)this.selectedIndex--,this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()}),this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null);return"handled"}if(J instanceof l91){let Q=this.getFilteredItems();if(Q.length>0&&this.selectedIndex<Q.length){let Z=Q[this.selectedIndex];if(Z){if(!(this.widget.props.isItemDisabled?.(Z)??!1))this.widget.props.onAccept(Z)}}return"handled"}if(J instanceof i91)return this.widget.props.onDismiss?.(),"handled";return"ignored"};recomputeFilteredItems(){let J=this.controller.text,Q=this.widget.props.items,Z=Q.filter((Y)=>!this.widget.props.filterItem||this.widget.props.filterItem(Y,J)).map((Y)=>({item:Y,...gF8(J,this.widget.props.getLabel(Y))})).filter((Y)=>Y.matches).sort(this.widget.props.sortItems?(Y,X)=>this.widget.props.sortItems(Y,X,J):(Y,X)=>X.score-Y.score).map((Y)=>Y.item);this.cachedQuery=J,this.cachedItemsRef=Q,this.cachedFiltered=this.widget.props.maxRenderItems?Z.slice(0,this.widget.props.maxRenderItems):Z}getFilteredItems(){let J=this.controller.text,Q=this.widget.props.items;if(this.cachedQuery===J&&this.cachedItemsRef===Q)return this.cachedFiltered;return this.recomputeFilteredItems(),this.cachedFiltered}ensureSelectedItemVisible(){let J=this.itemContexts[this.selectedIndex];if(!J)return;let Q=J.findRenderObject();if(!Q)return;let Z=0,Y=Q.size.height;u81(J,{top:Z,bottom:Y},{padding:1})}handleScroll=(J)=>{let Q=this.getFilteredItems();if(Q.length===0)return;if(J.direction==="down")if(this.selectedIndex<Q.length-1)this.selectedIndex++;else return;else if(this.selectedIndex>0)this.selectedIndex--;else return;this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()}),this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null)};handleItemClick=(J,Q)=>{let Z=this.getFilteredItems();if(J>=0&&J<Z.length){let Y=Z[J],X=Y?this.widget.props.isItemDisabled?.(Y)??!1:!1;if(Q===1)this.selectedIndex=J,this.setState(),this.widget.props.onSelectionChange?.(Z[this.selectedIndex]??null);else if(Q===2&&!X){if(Y)this.widget.props.onAccept(Y)}}};build(J){let Q=X6.of(J),{colors:Z}=Q,Y=this.getFilteredItems(),X=U4.all(new V4(Z.foreground,1,"solid")),G=this.widget.props.enabled??!0,V=new qz({controller:this.controller,focusNode:this.focusNode,autofocus:!0,enabled:G,style:{textColor:Z.foreground,border:null},maxLines:1}),K=new YX({shortcuts:new Map([[new X4("ArrowDown"),new hC],[new X4("ArrowUp"),new bC],[new X4("Tab"),new hC],[new X4("Tab",{shift:!0}),new bC],[new X4("n",{ctrl:!0}),new hC],[new X4("p",{ctrl:!0}),new bC],[new X4("Enter"),new l91],[new X4("Escape"),new i91]]),focusNode:this.focusNode,child:V}),q=new NJ({actions:new Map([[hC,new I8(this.invoke)],[bC,new I8(this.invoke)],[l91,new I8(this.invoke)],[i91,new I8(this.invoke)]]),child:K}),W=new B6({children:[new b0({decoration:{color:H1.default()},child:new _1({text:new l(">",new r({color:Z.foreground}))})}),new c6({child:q})]});this.itemContexts=[];let H;if(this.widget.props.isLoading){let L=this.widget.props.loadingText??"Loading...";H=new Q0({height:10,child:new j4({child:new _1({text:new l(L,new r({color:Z.foreground}))})})})}else if(Y.length===0&&this.widget.props.emptyStateText)H=new c6({child:new j4({child:new _1({text:new l(this.widget.props.emptyStateText,new r({color:Z.foreground,dim:!0}))})})});else{let L=Y.map((A,E)=>{let I=E===this.selectedIndex,P=this.widget.props.isItemDisabled?.(A)??!1,T;if(this.widget.props.renderItem)T=this.widget.props.renderItem(A,I,P,J);else{let k=I?H1.yellow:void 0,y=I?H1.black:Z.foreground;T=new b0({decoration:k?{color:k}:void 0,padding:z0.symmetric(2,0),child:new _1({text:new l(this.widget.props.getLabel(A),new r({color:y,dim:P}))})})}return new TJ6(new V8({onClick:(k)=>this.handleItemClick(E,k.clickCount),child:T}),(k)=>{this.itemContexts[E]=k})});H=new x0({children:L,crossAxisAlignment:"start"})}let z=new c6({child:new V8({onScroll:this.handleScroll,opaque:!1,child:new W5({controller:this.scrollController,autofocus:!1,child:H})})}),U=[];if(this.widget.props.title){let L=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l(this.widget.props.title,new r({color:H1.yellow,bold:!0}))})});U.push(L)}if(U.push(W,new Q0({height:1}),z),this.controller.text!==""){let L=Y.length>0?Y[this.selectedIndex]:void 0,A=L&&this.widget.props.buildDisabledReasonWidget?.(L);if(A)U.push(new b0({padding:z0.vertical(1),child:new j4({child:A})}));else U.push(new Q0({height:3}))}if(this.widget.props.footer)U.push(this.widget.props.footer);return new b0({decoration:{border:X,color:H1.default()},padding:z0.symmetric(1,0),child:new x0({children:U})})}}function SJ6(J){let Z=new Date().getTime()-J.getTime(),Y=Math.floor(Z/60000),X=Math.floor(Z/3600000),G=Math.floor(Z/86400000);if(Y<1)return"just now";if(Y<60)return`${Y}m ago`;if(X<24)return`${X}h ago`;if(G<7)return`${G}d ago`;return J.toLocaleDateString()}class Gy1 extends I6{props;debugLabel="NewsFeedPicker";constructor(J){super();this.props=J}build(J){let Q=[...this.props.entries].sort((X,G)=>G.pubDate.getTime()-X.pubDate.getTime()),Z=Math.max(0,...Q.map((X)=>SJ6(X.pubDate).length));return new h2({items:Q,getLabel:(X)=>X.title,onAccept:(X)=>this.props.onSelect?.(X),onDismiss:this.props.onDismiss,title:this.props.title,emptyStateText:"No news entries available",maxRenderItems:100,renderItem:(X,G,V,K)=>{let q=X6.of(K),{colors:W}=q,H=G?H1.yellow:void 0,z=G?H1.black:W.foreground,U=H1.index(8),D=(M,L)=>new Q0({width:L,child:B6.end([new _1({text:new l(M,new r({color:U}))})])});return new b0({decoration:H?{color:H}:void 0,padding:z0.symmetric(2,0),child:new B6({children:[new c6({child:new _1({text:new l(X.title,new r({color:z})),overflow:"ellipsis",maxLines:1})}),new Q0({width:2}),D(SJ6(X.pubDate),Z)]})})}})}}class Vy1 extends p0{createState(){return new _J6}}class _J6 extends g0{isGreen=!0;timer;initState(){this.timer=setInterval(()=>{this.isGreen=!this.isGreen,this.setState()},700)}dispose(){if(this.timer)clearInterval(this.timer);super.dispose()}build(J){return new _1({text:new l("●",new r({color:this.isGreen?H1.green:H1.index(8),bold:!0})),maxLines:1})}}function uF8(J){let Q=new Map,Z=new Map,Y=new Map,X=[];for(let V of J)Q.set(V.id,V);for(let V of J){let K=V.parentRelationships.find((q)=>q.role==="child"&&Q.has(q.threadID)&&(q.type==="fork"||q.type==="handoff"));if(K){Y.set(V.id,K.type);let q=K.threadID,W=Z.get(q)||[];W.push(V),Z.set(q,W)}else X.push(V)}return XX.flatten(X,(V)=>Z.get(V.id)).map((V)=>({...V.item,depth:V.depth,isLast:V.isLast,ancestorsAreLast:V.ancestorsAreLast,relationshipType:Y.get(V.item.id)}))}function Ky1(J,Q,Z){return new _1({text:new l(`${J}${Q}`,new r({color:Z})),maxLines:1})}function pF8(J,Q,Z,Y){return[Ky1("+",J,Y.success),Q5.horizontal(1),Ky1("~",Q,Y.warning),Q5.horizontal(1),Ky1("-",Z,Y.destructive)]}class n91 extends I6{props;debugLabel="ThreadContinuationPicker";constructor(J){super();this.props=J}build(J){let Q=this.props.filterByWorkspace&&this.props.currentWorkspaceURI?this.props.threads.filter((z)=>z.workspaceURI===this.props.currentWorkspaceURI):this.props.threads;if(this.props.excludeCurrentThread&&this.props.currentThreadID)Q=Q.filter((z)=>z.id!==this.props.currentThreadID);let Z=this.props.recentThreadIDs||[],Y=new Set(Z),X=this.props.currentThreadID,G=[...Q].sort((z,U)=>{if(X){if(z.id===X)return-1;if(U.id===X)return 1}let D=Z.indexOf(z.id),M=Z.indexOf(U.id);if(D!==-1&&M!==-1)return D-M;if(D!==-1)return-1;if(M!==-1)return 1;return 0}),V=uF8(G),K=Math.max(0,...V.map((z)=>z.description.timeAgo.length)),q=X6.of(J),W=new W6({padding:z0.symmetric(0,1),child:new j4({child:new _1({text:new l("",new r({color:q.colors.foreground,dim:!0}),[new l("Ctrl+T",new r({color:H1.blue,dim:!0})),new l(this.props.filterByWorkspace?" for all workspaces":" to filter by workspace",new r({color:q.colors.foreground,dim:!0}))])})})});return new h2({items:V,getLabel:(z)=>z.title,onAccept:(z)=>this.props.onSelect?.(z.id),onDismiss:this.props.onDismiss,onSelectionChange:(z)=>{if(this.props.previewController){if(z)this.props.previewController.select(z.id)}},title:this.props.title,isLoading:this.props.isLoading,loadingText:"Loading threads...",emptyStateText:"No threads match your filter",maxRenderItems:200,footer:this.props.isLoading?void 0:W,renderItem:(z,U,D,M)=>{let L=X6.of(M),{colors:A}=L,E=U?H1.yellow:void 0,I=U?H1.black:A.foreground,P=H1.index(8),T=(t,c)=>new Q0({width:c,child:B6.end([new _1({text:new l(t,new r({color:P}))})])}),k=this.props.threadViewStates[z.id],y=[],v=z.relationshipType==="handoff",g=new a81;if(z.depth>0){let t=[],c=z.ancestorsAreLast.slice(1);for(let D1 of c)t.push(new l(g.getAncestorPrefix(D1),new r({color:g.connectorColor,dim:g.connectorDim})));let J1=z.isLast?g.elbow:g.tee,q1=g.getConnectorText(J1);t.push(new l(q1,new r({color:g.connectorColor,dim:g.connectorDim}))),y.push(new _1({text:new l("",void 0,t)}))}let p=[],b=X===z.id?new l("(current) ",new r({color:H1.green})):Y.has(z.id)?new l("(visited) ",new r({color:A.foreground,dim:!0})):null;if(b)p.push(new _1({text:b}));if(k){if(k.state==="active"&&(k.interactionState==="tool-running"||k.interactionState===!1))p.push(new Vy1),p.push(new Q0({width:1}))}let a=z.title;if(z.relationshipType==="fork"){let t=a.match(/^Forked\((\d+)\): /);if(t)a=a.slice(t[0].length);else while(a.startsWith("Forked: "))a=a.slice(8);p.push(new _1({text:new l("[fork] ",new r({color:H1.blue}))}))}else if(v)p.push(new _1({text:new l("[handoff] ",new r({color:H1.index(208)}))}));if(z.agentMode==="plan"&&z.hasPlan)p.push(new _1({text:new l("[plan] ",new r({color:H1.magenta}))}));if(p.push(new c6({child:new _1({text:new l(a,new r({color:I})),overflow:"ellipsis",maxLines:1})})),p.push(new Q0({width:2})),z.diffStats&&(z.diffStats.added>0||z.diffStats.changed>0||z.diffStats.deleted>0)){let t=U?{success:P,warning:P,destructive:P}:A;p.push(...pF8(z.diffStats.added,z.diffStats.changed,z.diffStats.deleted,t)),p.push(new Q0({width:2}))}return p.push(T(z.description.timeAgo,K)),new b0({decoration:E?{color:E}:void 0,padding:z0.symmetric(2,0),child:new B6({children:[...y,...p]})})}})}}function kJ6(J){let Z=new Date().getTime()-J.getTime(),Y=Math.floor(Z/60000),X=Math.floor(Z/3600000),G=Math.floor(Z/86400000);if(Y<1)return"just now";if(Y<60)return`${Y}m ago`;if(X<24)return`${X}h ago`;if(G<7)return`${G}d ago`;return J.toLocaleDateString()}class qy1 extends I6{props;debugLabel="ThreadFeedPicker";constructor(J){super();this.props=J}build(J){let Q=[...this.props.entries].sort((X,G)=>G.pubDate.getTime()-X.pubDate.getTime()),Z=Math.max(0,...Q.map((X)=>kJ6(X.pubDate).length));return new h2({items:Q,getLabel:(X)=>X.title,onAccept:(X)=>this.props.onSelect?.(X),onDismiss:this.props.onDismiss,title:this.props.title,emptyStateText:"No thread feed entries available",maxRenderItems:100,renderItem:(X,G,V,K)=>{let q=X6.of(K),{colors:W}=q,H=G?H1.yellow:void 0,z=G?H1.black:W.foreground,U=H1.index(8),D=X.authors.map((L)=>L.name).join(", ")||"Community",M=(L,A)=>new Q0({width:A,child:B6.end([new _1({text:new l(L,new r({color:U}))})])});return new b0({decoration:H?{color:H}:void 0,padding:z0.symmetric(2,0),child:new B6({children:[new c6({child:new _1({text:new l(X.title,new r({color:z})),overflow:"ellipsis",maxLines:1})}),new Q0({width:2}),new _1({text:new l(D,new r({color:U})),maxLines:1}),new Q0({width:2}),M(kJ6(X.pubDate),Z)]})})}})}}class Wy1 extends I6{props;constructor(J){super();this.props=J}build(){return new j4({child:new _1({text:new l("",void 0,[new l(`Forked to new thread:
4920
+ ... (output truncated at ${Fz} characters)`;X({success:L,output:I.trim(),error:!L?E.trim()||"Command failed":void 0,exitCode:M??void 0})}),H.on("error",(M)=>{clearTimeout(W);let L=M.message;if(q)L=`Command timed out after ${Z}ms`;else if(M.message.includes("operation was aborted")||M.name==="AbortError")L="The command was aborted";X({success:!1,output:z.join(""),error:L})})})}function yF8(J,Q){let{filePath:Z,interpreter:Y,extension:X}=J;if(process.platform==="win32")return vF8(Z,Y?[...Y]:null,X,Q);else return xF8(Z,Y?[...Y]:null,X,Q)}function xF8(J,Q,Z,Y){if(Q&&Q.length>0&&Q[0])return[Q[0],[...Q.slice(1),J,...Y]];else return[J,Y]}function vF8(J,Q,Z,Y){if(Q&&Q.length>0&&Q[0])return[Q[0],[...Q.slice(1),J,...Y]];switch(Z.toLowerCase()){case".bat":case".cmd":return["cmd.exe",["/c",J,...Y]];case".ps1":return["powershell.exe",["-ExecutionPolicy","Bypass","-File",J,...Y]];case".exe":return[J,Y];default:return[J,Y]}}B0();AY();R7();yb();AK();SZ();cG();eW();cK();N8();xb();H7();h_();d0();var oJ6=q6(vP(),1);import{writeFile as nJ6}from"fs/promises";import uq from"path";B0();SZ();class $y1{enabled;configService;commandCounts=new Map;timer=null;bufferTimeMs=1e4;constructor(J,Q){this.enabled=J;this.configService=Q;this.startTimer()}startTimer(){this.timer=setInterval(()=>{this.flushEvents()},this.bufferTimeMs)}async flushEvents(){if(this.commandCounts.size===0||!await this.enabled())return;let J=Array.from(this.commandCounts.entries()).map(([Q,Z])=>({feature:"cli.command",action:Q,source:{client:"cli",clientVersion:"0.0.1765584106-g41cf5e"},parameters:{metadata:{count:Z}},timestamp:Date.now()*1000}));this.commandCounts.clear();try{let Q=JSON.stringify(J);await ao(Q,this.configService)}catch(Q){x.error("Failed to export command telemetry events",Q)}}async submit(J){if(!await this.enabled()||this.timer===null)return;let Q=this.commandCounts.get(J)||0;this.commandCounts.set(J,Q+1)}async dispose(){if(await this.flushEvents(),this.timer!==null)clearInterval(this.timer),this.timer=null}}class BO extends p0{props;constructor(J){super();this.props=J}createState(){return new wJ6}}class wJ6 extends g0{_state;initState(){super.initState(),this._state=this.widget.props.initialState}build(J){let Q=(Z)=>{this.setState(()=>{this._state=Z(this._state)})};return this.widget.props.builder(J,Q,this._state)}}class EJ6 extends g0{controller=new aZ;focusNode=new G8({debugLabel:"CommandArgumentPrompt",onKey:(J)=>{if(J.key==="Escape")return this.widget.props.onDismiss(),"handled";return"ignored"}});_textListener=()=>{this.setState(()=>{})};initState(){this.focusNode.requestFocus(),this.controller.addListener(this._textListener)}dispose(){this.controller.removeListener(this._textListener),this.focusNode.dispose()}build(J){let Q=X6.of(J),{colors:Z,app:Y}=Q,X=this.widget.props.isRequiredArg??!0,G=this.controller.text.trim().length>0,V=!X||G,K=U4.all(new V4(Z.foreground,1,"solid")),q=new qz({controller:this.controller,focusNode:this.focusNode,placeholder:this.widget.props.placeholder??"Enter command argument...",onSubmitted:(D)=>{let M=D.trim();if(X&&M.length===0)return;this.widget.props.onSubmit(M)},autofocus:!0,style:{textColor:Z.foreground,border:null},maxLines:1}),W=new B6({children:[new b0({decoration:{color:H1.default()},child:new _1({text:new l(">",new r({color:Z.foreground}))})}),new c6({child:q})]}),H=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l("",void 0,[new l("Command: ",new r({color:Z.foreground})),new l(this.widget.props.commandName,new r({color:H1.yellow,bold:!0}))])})}),z=[];if(V)z.push(new l("Enter",new r({color:Y.keybind}))),z.push(new l(" to submit, ",new r({color:Z.foreground,dim:!0})));z.push(new l("Esc",new r({color:Y.keybind}))),z.push(new l(" to cancel",new r({color:Z.foreground,dim:!0})));let U=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l("",void 0,z)})});return new b0({decoration:{border:K,color:H1.default()},padding:z0.all(1),child:new x0({children:[H,new Q0({height:1}),W,new Q5,U]})})}}class ig extends p0{props;constructor(J){super();this.props=J}createState(){return new EJ6}}eW();class IJ6 extends g0{controller=new aZ;imageAttachments=[];imagePaths=[];isConfirmingClearInput=!1;clearInputConfirmTimeout=null;focusNode=new G8({debugLabel:"CommandMultilinePrompt",onKey:(J)=>{if(J.key==="Escape"){if(this.isConfirmingClearInput){if(this.controller.clear(),this.setState(()=>{this.isConfirmingClearInput=!1,this.imageAttachments=[],this.imagePaths=[]}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;return"handled"}if(this.controller.text.trim()!==""||this.imageAttachments.length>0){if(this.setState(()=>{this.isConfirmingClearInput=!0}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout);return this.clearInputConfirmTimeout=setTimeout(()=>{this.setState(()=>{this.isConfirmingClearInput=!1}),this.clearInputConfirmTimeout=null},1000),"handled"}return this.widget.props.onDismiss(),"handled"}return"ignored"}});initState(){if(this.widget.props.initialText)this.controller.text=this.widget.props.initialText;if(this.widget.props.initialImages)this.imageAttachments=[...this.widget.props.initialImages];this.focusNode.requestFocus()}_handleInsertImage=(J)=>{if(this.imageAttachments.length>=QU)return!1;let Q=LC(J);if(typeof Q==="object")return this.setState(()=>{this.imageAttachments=[...this.imageAttachments,Q],this.imagePaths=[...this.imagePaths,J]}),!1;return!1};_handlePopImage=()=>{if(this.imageAttachments.length>0)this.setState(()=>{this.imageAttachments=this.imageAttachments.slice(0,-1),this.imagePaths=this.imagePaths.slice(0,-1)})};dispose(){if(this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;this.focusNode.dispose(),this.controller.dispose()}build(J){let Q=X6.of(J),{colors:Z,app:Y}=Q,G=_4.of(J).size.height,V=Math.max(Math.floor(G*0.5),10),K=new UO({controller:this.controller,triggers:[new XN],completionBuilder:this.widget.props.completionBuilder,ampURL:this.widget.props.ampURL,onSubmitted:(D)=>{this.widget.props.onSubmit(D.trim(),this.imageAttachments)},theme:Z,placeholder:this.widget.props.placeholder||"Enter your message...",enabled:this.widget.props.enabled??!0,autofocus:!0,clipboard:b8.instance.tuiInstance.clipboard,showMenuBelow:!0,onInsertImage:this.widget.props.onInsertImage??this._handleInsertImage,imageAttachments:this.imageAttachments,popImage:this._handlePopImage}),q=new F8({focusNode:this.focusNode,child:K}),W=new b0({constraints:new A6({maxHeight:V}),padding:z0.symmetric(1,0),child:q}),H=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l("",void 0,[new l("Command: ",new r({color:Z.foreground})),new l(this.widget.props.commandName,new r({color:H1.yellow,bold:!0}))])})}),z=new b0({padding:z0.symmetric(1,0),child:new _1({text:this.isConfirmingClearInput?new l("",void 0,[new l("Esc",new r({color:Y.keybind})),new l(" again to clear input",new r({color:Z.foreground,dim:!0}))]):new l("",void 0,[new l("Press ",new r({color:Z.foreground,dim:!0})),new l("Enter",new r({color:Y.keybind})),new l(" to submit, ",new r({color:Z.foreground,dim:!0})),new l("Esc",new r({color:Y.keybind})),new l(" to clear",new r({color:Z.foreground,dim:!0}))])})}),U=[H,new Q0({height:1}),new c6({child:W}),new Q0({height:1}),z];return new b0({decoration:{border:U4.all(new V4(Z.foreground,1,"solid")),color:H1.default()},padding:z0.all(1),child:new x0({children:U})})}}class fC extends p0{props;constructor(J){super();this.props=J}createState(){return new IJ6}}import{isDeepStrictEqual as mF8}from"node:util";var fF8=/[\\/_ +.#"@[({&]/,hF8=/[\\/_ +.#"@[({&]/g,bF8=/[\s-]/,PJ6=/[\s-]/g;function c91(J,Q,Z,Y,X,G,V){if(G===Q.length){if(X===J.length)return 1;return 0.99}let K=`${X},${G}`;if(V[K]!==void 0)return V[K];let q=Y.charAt(G),W=Z.indexOf(q,X),H=0,z,U,D,M;while(W>=0){if(z=c91(J,Q,Z,Y,W+1,G+1,V),z>H){if(W===X)z*=1;else if(bF8.test(J.charAt(W-1))){if(z*=0.9,M=J.slice(X,W-1).match(PJ6),M&&X>0)z*=Math.pow(0.999,M.length)}else if(fF8.test(J.charAt(W-1))){if(z*=0.8,D=J.slice(X,W-1).match(hF8),D&&X>0)z*=Math.pow(0.999,D.length)}else if(z*=0.3,X>0)z*=Math.pow(0.999,W-X);if(J.charAt(W)!==Q.charAt(G))z*=0.9999}if(z<0.1&&(Z.charAt(W-1)===Y.charAt(G+1)||Y.charAt(G+1)===Y.charAt(G)&&Z.charAt(W-1)!==Y.charAt(G))){if(U=c91(J,Q,Z,Y,W+1,G+2,V),U*0.1>z)z=U*0.1}if(z>H)H=z;W=Z.indexOf(q,W+1)}return V[K]=H,H}function d91(J){return J.toLowerCase().replace(PJ6," ")}function RJ6(J,Q){let Z=c91(J,Q,d91(J),d91(Q),0,0,{}),Y=Q.trim().split(/\s+/);if(Y.length>1){let X=0,G=0;for(let K of Y){let q=c91(J,K,d91(J),d91(K),0,0,{});if(q===0)return Z;X+=q,G+=K.length}let V=X/Y.length*0.95;return Math.max(Z,V)}return Z}class hC{}class bC{}class l91{}class i91{}class TJ6 extends p0{child;onContext;constructor(J,Q){super();this.child=J;this.onContext=Q}createState(){return new CJ6}}class CJ6 extends g0{build(J){return this.widget.onContext(J),this.widget.child}}function gF8(J,Q){if(J==="")return{matches:!0,score:1};let Z=RJ6(Q,J);return{matches:Z>0.15,score:Z}}class h2 extends p0{props;debugLabel="FuzzyPicker";constructor(J){super();this.props=J}createState(){return new jJ6}}class jJ6 extends g0{controller=new aZ;focusNode;scrollController=new l5;selectedIndex=0;itemContexts=[];cachedQuery="";cachedItemsRef=null;cachedFiltered=[];initState(){this.scrollController.disableFollowMode(),this.focusNode=new G8({debugLabel:this.widget.debugLabel}),this.controller.addListener(()=>{this.selectedIndex=0,this.recomputeFilteredItems(),this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()});let Q=this.cachedFiltered;this.widget.props.onSelectionChange?.(Q[0]??null)}),this.recomputeFilteredItems();let J=this.cachedFiltered;this.widget.props.onSelectionChange?.(J[0]??null),this.ensureSelectedItemVisible()}didUpdateWidget(J){if(!mF8(J.props.items,this.widget.props.items)){this.recomputeFilteredItems(),this.ensureSelectedItemVisible();let Q=this.cachedFiltered;this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null)}}dispose(){this.widget.props.onSelectionChange?.(null),this.controller.dispose(),this.focusNode.dispose(),this.scrollController.dispose()}invoke=(J)=>{if(J instanceof hC){let Q=this.getFilteredItems();if(Q.length>0&&this.selectedIndex<Q.length-1)this.selectedIndex++,this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()}),this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null);return"handled"}if(J instanceof bC){let Q=this.getFilteredItems();if(Q.length>0&&this.selectedIndex>0)this.selectedIndex--,this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()}),this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null);return"handled"}if(J instanceof l91){let Q=this.getFilteredItems();if(Q.length>0&&this.selectedIndex<Q.length){let Z=Q[this.selectedIndex];if(Z){if(!(this.widget.props.isItemDisabled?.(Z)??!1))this.widget.props.onAccept(Z)}}return"handled"}if(J instanceof i91)return this.widget.props.onDismiss?.(),"handled";return"ignored"};recomputeFilteredItems(){let J=this.controller.text,Q=this.widget.props.items,Z=Q.filter((Y)=>!this.widget.props.filterItem||this.widget.props.filterItem(Y,J)).map((Y)=>({item:Y,...gF8(J,this.widget.props.getLabel(Y))})).filter((Y)=>Y.matches).sort(this.widget.props.sortItems?(Y,X)=>this.widget.props.sortItems(Y,X,J):(Y,X)=>X.score-Y.score).map((Y)=>Y.item);this.cachedQuery=J,this.cachedItemsRef=Q,this.cachedFiltered=this.widget.props.maxRenderItems?Z.slice(0,this.widget.props.maxRenderItems):Z}getFilteredItems(){let J=this.controller.text,Q=this.widget.props.items;if(this.cachedQuery===J&&this.cachedItemsRef===Q)return this.cachedFiltered;return this.recomputeFilteredItems(),this.cachedFiltered}ensureSelectedItemVisible(){let J=this.itemContexts[this.selectedIndex];if(!J)return;let Q=J.findRenderObject();if(!Q)return;let Z=0,Y=Q.size.height;u81(J,{top:Z,bottom:Y},{padding:1})}handleScroll=(J)=>{let Q=this.getFilteredItems();if(Q.length===0)return;if(J.direction==="down")if(this.selectedIndex<Q.length-1)this.selectedIndex++;else return;else if(this.selectedIndex>0)this.selectedIndex--;else return;this.setState(),_8.instance.addPostFrameCallback(()=>{this.ensureSelectedItemVisible()}),this.widget.props.onSelectionChange?.(Q[this.selectedIndex]??null)};handleItemClick=(J,Q)=>{let Z=this.getFilteredItems();if(J>=0&&J<Z.length){let Y=Z[J],X=Y?this.widget.props.isItemDisabled?.(Y)??!1:!1;if(Q===1)this.selectedIndex=J,this.setState(),this.widget.props.onSelectionChange?.(Z[this.selectedIndex]??null);else if(Q===2&&!X){if(Y)this.widget.props.onAccept(Y)}}};build(J){let Q=X6.of(J),{colors:Z}=Q,Y=this.getFilteredItems(),X=U4.all(new V4(Z.foreground,1,"solid")),G=this.widget.props.enabled??!0,V=new qz({controller:this.controller,focusNode:this.focusNode,autofocus:!0,enabled:G,style:{textColor:Z.foreground,border:null},maxLines:1}),K=new YX({shortcuts:new Map([[new X4("ArrowDown"),new hC],[new X4("ArrowUp"),new bC],[new X4("Tab"),new hC],[new X4("Tab",{shift:!0}),new bC],[new X4("n",{ctrl:!0}),new hC],[new X4("p",{ctrl:!0}),new bC],[new X4("Enter"),new l91],[new X4("Escape"),new i91]]),focusNode:this.focusNode,child:V}),q=new NJ({actions:new Map([[hC,new I8(this.invoke)],[bC,new I8(this.invoke)],[l91,new I8(this.invoke)],[i91,new I8(this.invoke)]]),child:K}),W=new B6({children:[new b0({decoration:{color:H1.default()},child:new _1({text:new l(">",new r({color:Z.foreground}))})}),new c6({child:q})]});this.itemContexts=[];let H;if(this.widget.props.isLoading){let L=this.widget.props.loadingText??"Loading...";H=new Q0({height:10,child:new j4({child:new _1({text:new l(L,new r({color:Z.foreground}))})})})}else if(Y.length===0&&this.widget.props.emptyStateText)H=new c6({child:new j4({child:new _1({text:new l(this.widget.props.emptyStateText,new r({color:Z.foreground,dim:!0}))})})});else{let L=Y.map((A,E)=>{let I=E===this.selectedIndex,P=this.widget.props.isItemDisabled?.(A)??!1,T;if(this.widget.props.renderItem)T=this.widget.props.renderItem(A,I,P,J);else{let k=I?H1.yellow:void 0,y=I?H1.black:Z.foreground;T=new b0({decoration:k?{color:k}:void 0,padding:z0.symmetric(2,0),child:new _1({text:new l(this.widget.props.getLabel(A),new r({color:y,dim:P}))})})}return new TJ6(new V8({onClick:(k)=>this.handleItemClick(E,k.clickCount),child:T}),(k)=>{this.itemContexts[E]=k})});H=new x0({children:L,crossAxisAlignment:"start"})}let z=new c6({child:new V8({onScroll:this.handleScroll,opaque:!1,child:new W5({controller:this.scrollController,autofocus:!1,child:H})})}),U=[];if(this.widget.props.title){let L=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l(this.widget.props.title,new r({color:H1.yellow,bold:!0}))})});U.push(L)}if(U.push(W,new Q0({height:1}),z),this.controller.text!==""){let L=Y.length>0?Y[this.selectedIndex]:void 0,A=L&&this.widget.props.buildDisabledReasonWidget?.(L);if(A)U.push(new b0({padding:z0.vertical(1),child:new j4({child:A})}));else U.push(new Q0({height:3}))}if(this.widget.props.footer)U.push(this.widget.props.footer);return new b0({decoration:{border:X,color:H1.default()},padding:z0.symmetric(1,0),child:new x0({children:U})})}}function SJ6(J){let Z=new Date().getTime()-J.getTime(),Y=Math.floor(Z/60000),X=Math.floor(Z/3600000),G=Math.floor(Z/86400000);if(Y<1)return"just now";if(Y<60)return`${Y}m ago`;if(X<24)return`${X}h ago`;if(G<7)return`${G}d ago`;return J.toLocaleDateString()}class Gy1 extends I6{props;debugLabel="NewsFeedPicker";constructor(J){super();this.props=J}build(J){let Q=[...this.props.entries].sort((X,G)=>G.pubDate.getTime()-X.pubDate.getTime()),Z=Math.max(0,...Q.map((X)=>SJ6(X.pubDate).length));return new h2({items:Q,getLabel:(X)=>X.title,onAccept:(X)=>this.props.onSelect?.(X),onDismiss:this.props.onDismiss,title:this.props.title,emptyStateText:"No news entries available",maxRenderItems:100,renderItem:(X,G,V,K)=>{let q=X6.of(K),{colors:W}=q,H=G?H1.yellow:void 0,z=G?H1.black:W.foreground,U=H1.index(8),D=(M,L)=>new Q0({width:L,child:B6.end([new _1({text:new l(M,new r({color:U}))})])});return new b0({decoration:H?{color:H}:void 0,padding:z0.symmetric(2,0),child:new B6({children:[new c6({child:new _1({text:new l(X.title,new r({color:z})),overflow:"ellipsis",maxLines:1})}),new Q0({width:2}),D(SJ6(X.pubDate),Z)]})})}})}}class Vy1 extends p0{createState(){return new _J6}}class _J6 extends g0{isGreen=!0;timer;initState(){this.timer=setInterval(()=>{this.isGreen=!this.isGreen,this.setState()},700)}dispose(){if(this.timer)clearInterval(this.timer);super.dispose()}build(J){return new _1({text:new l("●",new r({color:this.isGreen?H1.green:H1.index(8),bold:!0})),maxLines:1})}}function uF8(J){let Q=new Map,Z=new Map,Y=new Map,X=[];for(let V of J)Q.set(V.id,V);for(let V of J){let K=V.parentRelationships.find((q)=>q.role==="child"&&Q.has(q.threadID)&&(q.type==="fork"||q.type==="handoff"));if(K){Y.set(V.id,K.type);let q=K.threadID,W=Z.get(q)||[];W.push(V),Z.set(q,W)}else X.push(V)}return XX.flatten(X,(V)=>Z.get(V.id)).map((V)=>({...V.item,depth:V.depth,isLast:V.isLast,ancestorsAreLast:V.ancestorsAreLast,relationshipType:Y.get(V.item.id)}))}function Ky1(J,Q,Z){return new _1({text:new l(`${J}${Q}`,new r({color:Z})),maxLines:1})}function pF8(J,Q,Z,Y){return[Ky1("+",J,Y.success),Q5.horizontal(1),Ky1("~",Q,Y.warning),Q5.horizontal(1),Ky1("-",Z,Y.destructive)]}class n91 extends I6{props;debugLabel="ThreadContinuationPicker";constructor(J){super();this.props=J}build(J){let Q=this.props.filterByWorkspace&&this.props.currentWorkspaceURI?this.props.threads.filter((z)=>z.workspaceURI===this.props.currentWorkspaceURI):this.props.threads;if(this.props.excludeCurrentThread&&this.props.currentThreadID)Q=Q.filter((z)=>z.id!==this.props.currentThreadID);let Z=this.props.recentThreadIDs||[],Y=new Set(Z),X=this.props.currentThreadID,G=[...Q].sort((z,U)=>{if(X){if(z.id===X)return-1;if(U.id===X)return 1}let D=Z.indexOf(z.id),M=Z.indexOf(U.id);if(D!==-1&&M!==-1)return D-M;if(D!==-1)return-1;if(M!==-1)return 1;return 0}),V=uF8(G),K=Math.max(0,...V.map((z)=>z.description.timeAgo.length)),q=X6.of(J),W=new W6({padding:z0.symmetric(0,1),child:new j4({child:new _1({text:new l("",new r({color:q.colors.foreground,dim:!0}),[new l("Ctrl+T",new r({color:H1.blue,dim:!0})),new l(this.props.filterByWorkspace?" for all workspaces":" to filter by workspace",new r({color:q.colors.foreground,dim:!0}))])})})});return new h2({items:V,getLabel:(z)=>z.title,onAccept:(z)=>this.props.onSelect?.(z.id),onDismiss:this.props.onDismiss,onSelectionChange:(z)=>{if(this.props.previewController){if(z)this.props.previewController.select(z.id)}},title:this.props.title,isLoading:this.props.isLoading,loadingText:"Loading threads...",emptyStateText:"No threads match your filter",maxRenderItems:200,footer:this.props.isLoading?void 0:W,renderItem:(z,U,D,M)=>{let L=X6.of(M),{colors:A}=L,E=U?H1.yellow:void 0,I=U?H1.black:A.foreground,P=H1.index(8),T=(t,c)=>new Q0({width:c,child:B6.end([new _1({text:new l(t,new r({color:P}))})])}),k=this.props.threadViewStates[z.id],y=[],v=z.relationshipType==="handoff",g=new a81;if(z.depth>0){let t=[],c=z.ancestorsAreLast.slice(1);for(let D1 of c)t.push(new l(g.getAncestorPrefix(D1),new r({color:g.connectorColor,dim:g.connectorDim})));let J1=z.isLast?g.elbow:g.tee,q1=g.getConnectorText(J1);t.push(new l(q1,new r({color:g.connectorColor,dim:g.connectorDim}))),y.push(new _1({text:new l("",void 0,t)}))}let p=[],b=X===z.id?new l("(current) ",new r({color:H1.green})):Y.has(z.id)?new l("(visited) ",new r({color:A.foreground,dim:!0})):null;if(b)p.push(new _1({text:b}));if(k){if(k.state==="active"&&(k.interactionState==="tool-running"||k.interactionState===!1))p.push(new Vy1),p.push(new Q0({width:1}))}let a=z.title;if(z.relationshipType==="fork"){let t=a.match(/^Forked\((\d+)\): /);if(t)a=a.slice(t[0].length);else while(a.startsWith("Forked: "))a=a.slice(8);p.push(new _1({text:new l("[fork] ",new r({color:H1.blue}))}))}else if(v)p.push(new _1({text:new l("[handoff] ",new r({color:H1.index(208)}))}));if(z.agentMode==="plan"&&z.hasPlan)p.push(new _1({text:new l("[plan] ",new r({color:H1.magenta}))}));if(p.push(new c6({child:new _1({text:new l(a,new r({color:I})),overflow:"ellipsis",maxLines:1})})),p.push(new Q0({width:2})),z.diffStats&&(z.diffStats.added>0||z.diffStats.changed>0||z.diffStats.deleted>0)){let t=U?{success:P,warning:P,destructive:P}:A;p.push(...pF8(z.diffStats.added,z.diffStats.changed,z.diffStats.deleted,t)),p.push(new Q0({width:2}))}return p.push(T(z.description.timeAgo,K)),new b0({decoration:E?{color:E}:void 0,padding:z0.symmetric(2,0),child:new B6({children:[...y,...p]})})}})}}function kJ6(J){let Z=new Date().getTime()-J.getTime(),Y=Math.floor(Z/60000),X=Math.floor(Z/3600000),G=Math.floor(Z/86400000);if(Y<1)return"just now";if(Y<60)return`${Y}m ago`;if(X<24)return`${X}h ago`;if(G<7)return`${G}d ago`;return J.toLocaleDateString()}class qy1 extends I6{props;debugLabel="ThreadFeedPicker";constructor(J){super();this.props=J}build(J){let Q=[...this.props.entries].sort((X,G)=>G.pubDate.getTime()-X.pubDate.getTime()),Z=Math.max(0,...Q.map((X)=>kJ6(X.pubDate).length));return new h2({items:Q,getLabel:(X)=>X.title,onAccept:(X)=>this.props.onSelect?.(X),onDismiss:this.props.onDismiss,title:this.props.title,emptyStateText:"No thread feed entries available",maxRenderItems:100,renderItem:(X,G,V,K)=>{let q=X6.of(K),{colors:W}=q,H=G?H1.yellow:void 0,z=G?H1.black:W.foreground,U=H1.index(8),D=X.authors.map((L)=>L.name).join(", ")||"Community",M=(L,A)=>new Q0({width:A,child:B6.end([new _1({text:new l(L,new r({color:U}))})])});return new b0({decoration:H?{color:H}:void 0,padding:z0.symmetric(2,0),child:new B6({children:[new c6({child:new _1({text:new l(X.title,new r({color:z})),overflow:"ellipsis",maxLines:1})}),new Q0({width:2}),new _1({text:new l(D,new r({color:U})),maxLines:1}),new Q0({width:2}),M(kJ6(X.pubDate),Z)]})})}})}}class Wy1 extends I6{props;constructor(J){super();this.props=J}build(){return new j4({child:new _1({text:new l("",void 0,[new l(`Forked to new thread:
4921
4921
 
4922
4922
  `,new r({color:H1.white,dim:!0})),new l(`"${this.props.newThreadTitle||"Untitled"}"`,new r({color:H1.white}))]),textAlign:"center"})})}}B0();class yJ6 extends g0{labels=[];isLoading=!0;currentQuery="";initState(){this.loadLabels()}async loadLabels(){try{let J=await this.widget.props.internalAPIClient.getUserLabels({query:""},{config:this.widget.props.configService});if(!J.ok){x.error("Failed to load labels",J.error),this.isLoading=!1,this.labels=[],this.setState();return}this.labels=J.result,this.isLoading=!1,this.setState()}catch(J){x.error("Failed to load labels",J),this.isLoading=!1,this.labels=[],this.setState()}}getValidationError(J){if(J.length===0)return null;if(J.length>32)return"Label name cannot exceed 32 characters";if(!/^[a-z0-9][a-z0-9-]*$/.test(J))return"Label must be lowercase alphanumeric with hyphens, starting with a letter or number";return null}isValidLabelName(J){return this.getValidationError(J)===null&&J.length>0}getAvailableLabels(){let J=this.widget.props.currentLabels||[];return this.labels.filter((Q)=>!J.includes(Q.name))}shouldShowCreateMarker(J){if(J.length===0||this.isLoading)return!1;let Q=J.trim().toLowerCase();if(!this.isValidLabelName(Q))return!1;let Z=this.widget.props.currentLabels||[],Y=this.labels.some((G)=>G.name===Q),X=Z.includes(Q);return!Y&&!X}build(J){let Q=X6.of(J),{colors:Z}=Q,Y=this.currentQuery.trim().toLowerCase(),X=Y.length>0?this.getValidationError(Y):null,G=this.getAvailableLabels(),K=[{id:"__create__",name:"__create_placeholder__",createdAt:"",__isCreateMarker:!0},...G];return new h2({title:"Add Label",items:K,getLabel:(q)=>{if("__isCreateMarker"in q)return this.currentQuery.trim().toLowerCase();return q.name},onAccept:(q)=>{if("__isCreateMarker"in q)this.widget.props.onSelect(this.currentQuery.trim().toLowerCase());else this.widget.props.onSelect(q.name)},onDismiss:this.widget.props.onDismiss,isLoading:this.isLoading,loadingText:"Loading labels...",emptyStateText:X||"Type to create a new label",renderItem:(q,W,H,z)=>{let U=W?H1.yellow:void 0,D=W?H1.black:Z.foreground;if("__isCreateMarker"in q&&q.__isCreateMarker){let L=this.currentQuery.trim().toLowerCase();return new b0({decoration:U?{color:U}:void 0,padding:z0.symmetric(2,0),child:new _1({text:new l("",void 0,[new l("Create new label: ",new r({color:D})),new l(L,new r({color:D,bold:!0}))])})})}return new b0({decoration:U?{color:U}:void 0,padding:z0.symmetric(2,0),child:new _1({text:new l(q.name,new r({color:D}))})})},filterItem:(q,W)=>{if(this.currentQuery!==W)this.currentQuery=W,setTimeout(()=>this.setState(),0);if("__isCreateMarker"in q&&q.__isCreateMarker)return this.shouldShowCreateMarker(W);let z=W.trim().toLowerCase();return z.length===0||q.name.includes(z)},sortItems:(q,W,H)=>{let z="__isCreateMarker"in q.item&&q.item.__isCreateMarker,U="__isCreateMarker"in W.item&&W.item.__isCreateMarker;if(z&&!U)return-1;if(!z&&U)return 1;return W.score-q.score}})}}class Hy1 extends p0{props;constructor(J){super();this.props=J}createState(){return new yJ6}}class RV extends p0{props;constructor(J){super();this.props=J}createState(){return new xJ6}}class xJ6 extends g0{_spinner=new GX;animationInterval=null;initState(){super.initState(),this.animationInterval=setInterval(()=>{this._spinner.step(),this.setState(()=>{})},100)}dispose(){if(this.animationInterval)clearInterval(this.animationInterval),this.animationInterval=null;super.dispose()}build(J){let Q=X6.of(J),{colors:Z}=Q,Y=U4.all(new V4(Z.foreground,1,"solid")),X=this._spinner.toBraille(),G=new _1({textAlign:"center",text:new l("",void 0,[new l(X,new r({color:H1.yellow})),new l(" ",void 0),new l(this.widget.props.message,new r({color:Z.foreground}))])}),K=[new c6({child:new x0({mainAxisAlignment:"center",crossAxisAlignment:"center",children:[G]})})];if(this.widget.props.onAbort)K.push(new Q0({height:2,child:new b0({padding:z0.symmetric(2,0),child:new _1({text:new l("",new r({dim:!0}),[new l("Press ",new r({color:Z.foreground})),new l("Esc",new r({color:Z.info})),new l(" to cancel",new r({color:Z.foreground}))])})})}));let q=new b0({decoration:new M8(H1.default(),Y),child:new Q0({width:60,height:7,child:new x0({mainAxisAlignment:"start",children:K})})});if(this.widget.props.onAbort)return new F8({debugLabel:"LoadingDialog",autofocus:!0,onKey:(W)=>{if(W.key==="Escape")return this.widget.props.onAbort?.(),"handled";return"ignored"},child:q});return q}}class TV extends p0{props;constructor(J){super();this.props=J}createState(){return new vJ6}}class vJ6 extends g0{dispose(){super.dispose()}isWidgetMessage(J){return J instanceof IV}build(J){let Q=this.widget.props.message,Z=(()=>{if(this.isWidgetMessage(Q))return{title:Q.title,type:Q.type};if(Q instanceof Error&&Q.name==="CommandCancelledError")return{title:"Cancelled",type:"info",description:Q.message};if(Q instanceof Error&&Q.name==="CommandTimeoutError")return{title:"Timeout",type:"error",description:Q.message};let W=c81(Q);return{title:W.title,type:W.type,description:W.description}})(),Y=Z.type==="error"?H1.red:H1.yellow,X=U4.all(new V4(H1.default(),1,"solid")),G=new b0({padding:z0.symmetric(1,0),child:new _1({text:new l(Z.title,new r({color:Y,bold:!0}))})}),V=this.isWidgetMessage(Q)?Q.widget:new _1({text:new l(Z.description,new r({color:H1.default()})),selectable:!0}),K=new c6({child:new Vz({child:new b0({padding:z0.symmetric(1,0),child:V})})}),q=new b0({padding:z0.symmetric(1,0),child:new _1({text:this.widget.props.onRetry?new l("",void 0,[new l("Press ",new r({color:H1.default(),dim:!0})),new l("R",new r({color:H1.yellow})),new l(" to retry, ",new r({color:H1.default(),dim:!0})),new l("Esc",new r({color:H1.yellow})),new l(" to cancel",new r({color:H1.default(),dim:!0}))]):new l("Press any key to close",new r({color:H1.default(),dim:!0,italic:!0}))})});return new F8({onKey:(W)=>{if(this.widget.props.onRetry&&W.key==="r")return this.widget.props.onRetry(),"handled";if(W.key==="Escape")return this.widget.props.onDismiss(),"handled";if(!this.widget.props.onRetry)return this.widget.props.onDismiss(),"handled";return"ignored"},autofocus:!0,child:new b0({decoration:{border:X,color:H1.default()},padding:z0.all(1),child:new x0({mainAxisAlignment:"center",children:[G,new Q0({height:1}),K,q]})})})}}class zy1 extends I6{build(){return new j4({child:new _1({text:new l("",void 0,[new l(`✓ Thread Shared
4923
4923
 
@@ -5010,7 +5010,7 @@ https://www.jetbrains.com/help/idea/managing-plugins.html#install_plugin_from_di
5010
5010
  `)?`${K}...`:X,W=new r({color:H1.index(8)}),H=[new l(q,W)];if(V>0){let z=new r({color:Z.success});for(let U=1;U<=V;U++)H.push(new l(" ")),H.push(new l(`[${U}]`,z))}return new W6({padding:z0.only({bottom:0}),child:new B6({crossAxisAlignment:"start",children:[new W6({padding:z0.only({right:1}),child:new _1({text:new l("•",new r({color:H1.index(8)}))})}),new c6({child:new _1({text:new l("",void 0,H)})})]})})}}class ty1 extends p0{createState(){return new dQ6}}class dQ6 extends g0{_animationTimer;_visible=!0;initState(){super.initState(),this._startAnimation()}dispose(){this._stopAnimation(),super.dispose()}_startAnimation(){this._animationTimer=setInterval(()=>{this.setState(()=>{this._visible=!this._visible})},500)}_stopAnimation(){if(this._animationTimer)clearInterval(this._animationTimer),this._animationTimer=void 0}build(J){let Q=new r({color:H1.red}),Z=new r({color:this._visible?H1.red:H1.transparent()});return new B6({children:[new _1({text:new l("⏺",Z)}),new Q0({width:1}),new _1({text:new l("Replay",Q)})]})}}class ey1 extends I6{entry;width;constructor({key:J,entry:Q,width:Z}){super({key:J});this.entry=Q,this.width=Z}build(J){let Z=X6.of(J).colors.mutedForeground,Y=this.entry,X=Y.authors[0]?.name||"Community";if(X.includes("@"))X=X.split("@")[0]??X;let G=" · ",V=50,K=this.truncateToWidth(Y.title,V),q=`${G}${K}`,W=Math.max(1,this.width-q.length-2),H=Y.description.replace(/\s+/g," ").trim(),z=`@${X}: ${H}`,U=this.truncateToWidth(z,W),D=new _1({text:new l(U,new r({color:Z,dim:!0}))}),M=new _1({text:new l(q,new r({color:Z,dim:!0}))});return new V8({onClick:()=>f2(J,Y.link),cursor:"pointer",child:new Q0({width:this.width,height:1,child:new W6({padding:z0.horizontal(1),child:new B6({children:[new c6({child:new aB(new Q0({width:W,height:1,child:D}))}),M]})})})})}truncateToWidth(J,Q){if(J.length<=Q)return J;return J.slice(0,Q-1)+"…"}}d0();function GB8(J){let Z=new Date().getTime()-J.getTime(),Y=Math.floor(Z/3600000),X=Math.floor(Y/24),G=Math.floor(X/7),V=Math.floor(X/30);if(Y<1)return"Just now";if(Y<24)return`${Y}h ago`;if(X<7)return`${X}d ago`;if(G<=4)return`${G}w ago`;return`${V}mo ago`}class Jx1{threadHistoryService;constructor(J){this.threadHistoryService=J}async fetchThreadSummaries(J=""){try{let Q=await new Promise((Z)=>{let Y=this.threadHistoryService.observeThreadList().subscribe((X)=>{Y.unsubscribe(),Z(X)})});return{ok:!0,threads:this.formatThreadSummaries(Q,J)}}catch(Q){return{ok:!1,errorMsg:Q instanceof Error?Q.message:"An unexpected error occurred"}}}observeThreadSummaries(J=""){return this.threadHistoryService.observeHistory().pipe(Q6((Q)=>this.formatThreadSummaries(Q,J)))}formatThreadSummaries(J,Q){return J.filter((Y)=>{if(!Q.trim())return!0;let X=Y.title?.toLowerCase()||"untitled",G=Y.id.toLowerCase(),V=Q.toLowerCase();return X.includes(V)||G.includes(V)}).map((Y)=>{let X=new Date(Y.userLastInteractedAt),G=GB8(X),V=Y.id.slice(-8),K=Y.env?.initial.trees?.[0]?.uri;return{id:Y.id,title:Y.title||"Untitled",updatedAt:new Date(Y.userLastInteractedAt).toISOString(),description:{timeAgo:G,title:Y.title||"Untitled",shortThreadID:V},diffStats:Y.summaryStats?.diffStats,workspaceURI:K,parentRelationships:Y.parentRelationships,hasPlan:Y.hasPlan,agentMode:Y.agentMode}})}}B0();N8();class Qx1{currentId=null;current=null;subscribeTimer=null;subscription=null;listeners=[];threadService=null;scrollController=new l5;constructor(){}setThreadService(J){this.threadService=J}async select(J){if(!this.threadService){x.error("TUI assert failed: ThreadService used before being set");return}if(this.currentId===J)return;this.cancelTimerAndSubscription(),this.currentId=J;let Q=await this.threadService.get(J);if(Q){if(this.currentId===J)this.current=Q,this.notifyListeners()}this.subscribeTimer=setTimeout(()=>{this.subscribeLive(J)},1000)}clear(){this.cancelTimerAndSubscription(),this.currentId=null,this.current=null,this.notifyListeners()}addListener(J){this.listeners.push(J)}removeListener(J){let Q=this.listeners.indexOf(J);if(Q!==-1)this.listeners.splice(Q,1)}dispose(){this.cancelTimerAndSubscription(),this.scrollController.dispose(),this.listeners=[]}subscribeLive(J){if(!this.threadService){x.error("TUI assert failed: ThreadService used before being set");return}if(this.currentId!==J)return;this.subscription=this.threadService.observePatches(J).pipe(qM()).subscribe((Q)=>{if(this.currentId===J)this.current=Q,this.notifyListeners()})}cancelTimerAndSubscription(){if(this.subscribeTimer)clearTimeout(this.subscribeTimer),this.subscribeTimer=null;if(this.subscription)this.subscription.unsubscribe(),this.subscription=null}notifyListeners(){for(let J of this.listeners)J(this.current)}}function cQ6(J,Q){switch(J){case"update-available":return[new l("A newer Amp is available. Run ",new r({color:Q.foreground,dim:!0})),new l("amp update",new r({color:Q.warning}))];case"updated":return null;case"updated-with-warning":return[new l("Update complete, run ",new r({color:Q.foreground,dim:!0})),new l("amp update",new r({color:Q.warning})),new l(" to see warnings",new r({color:Q.foreground,dim:!0}))];case"update-error":return[new l("Update failed, run ",new r({color:Q.foreground,dim:!0})),new l("amp update",new r({color:Q.warning})),new l(" to see warnings",new r({color:Q.foreground,dim:!0}))];case"hidden":return null}}async function HB8(J){return new Promise((Q)=>{KB8("git",["branch","--show-current"],{cwd:J},(Z,Y)=>{if(Z){Q(null);return}let X=Y.trim();Q(X||null)})})}class tQ6 extends p0{dependencies;constructor(J){super();this.dependencies=J}createState(){return new L51}}class L51 extends g0{themeColors=null;themeApp=null;selectionListener=null;ideStatus=null;connectedClientsStatus=null;connectedClientsStatusExpanded=!1;randomAd=null;adSubscription=null;adReadinessTimeout=null;threadLoadSubscription=null;lastAdImpressionId=null;lastUserInteractionTime=Date.now();isConfirmingExit=!1;isExiting=!1;isConfirmingClearInput=!1;isConfirmingCancelProcessing=!1;statusMessage=null;statusMessageTimer=null;isShowingHelp=!1;isShowingConsoleOverlay=!1;isShowingMCPStatusModal=!1;isShowingConfirmationOverlay=!1;isShowingFileChangesOverlay=!1;isShowingContextDetailOverlay=!1;threadCostInfo=void 0;threadCostInfoThreadID=void 0;threadCostInfoLastUsageLedgerLength=0;lastInferenceState=void 0;confirmationOverlayContent="";exitConfirmTimeout=null;clearInputConfirmTimeout=null;cancelProcessingConfirmTimeout=null;historyIndex=-1;historyDraft=null;bashInvocations=[];dismissedEphemeralErrorKey=null;currentTitle=void 0;currentShellModeStatus=void 0;imageAttachments=[];displayMessage=null;executingCommand=null;isShowingJetBrainsInstaller=!1;isShowingIdePicker=!1;isShowingPalette=!1;paletteShowOptions=null;threadsForPicker=[];clustersForPicker=[];isLoadingThreads=!1;threadPreviewController=new Qx1;previewThread=null;planScrollController=(()=>{let J=new l5;return J.followMode=!1,J})();todoScrollController=(()=>{let J=new l5;return J.followMode=!1,J})();filterThreadPickerByWorkspace=!0;currentGitBranch=null;messageViewFocusNode=new G8({debugLabel:"MessageViewFocus"});autocompleteFocusNode=new G8({debugLabel:"AutocompleteFocus"});isTextfieldAndAutocompleteFocused=!1;submitDisabledHint=null;submitDisabledHintTimer=null;showImageUnsupportedHint=!1;imageUnsupportedHintTimer=null;adActionModal=null;threadFeedReader=null;currentThreadFeedEntry=null;threadFeedEntries=[];threadFeedSubscription=null;threadFeedRotationTimer=null;threadFeedHidden=!1;threadFeedTickerQueue=[];hasSubmittedFirstMessage=!1;currentUserInfo=null;newsFeedReader=null;newsFeedEntries=[];newsFeedSubscription=null;bottomGridUserHeight=void 0;bottomGridDragStartY=null;bottomGridDragStartHeight=null;previousThreadIdForHint=null;pendingMCPServers=[];mcpTrustSubscription=null;pendingOAuthRequest=null;mcpServers=[];mcpServersSubscription=null;cacheTimerState=null;cacheTimerSubscription=null;agentModeController=null;freeTierStatus={canUseAmpFree:!1};agentModePulseSeq=0;agentModeSlideProgress=null;agentModeSlideTimer=null;updateState="hidden";updateServiceSubscription=null;toastController=new gS1;isMessageViewInSelectionMode=!1;threadBackStack=[];threadForwardStack=[];replayDisplayedMessages=[];replayAbortController=new AbortController;replayTypingTimer=null;mysteriousMessage=null;isShowingMysteriousMessageModal=!1;mysteriousMessageSubscription=null;mysterySequenceManager=null;mysterySequenceProgress=null;mysteryKeyInterceptorUnsubscribe=null;static MYSTERY_SEQUENCE=["ctrl+x","y","z"];userDisplayBalanceInfo=null;balanceInfoSubscription=null;async initThreadFeed(){let J=await K6(this.widget.dependencies.configService.config);if(J.settings["feed.enabled"]===!1)this.threadFeedHidden=!0;let Q=J.settings.url,Z=Q.includes("localhost")||Q.includes("127.0.0.1");try{let V=await this.widget.dependencies.internalAPIClient.getUserInfo({},{config:this.widget.dependencies.configService});if(V.ok){let K=V.result,q="user"in K?K.user:K;this.currentUserInfo={username:q.username??void 0,displayName:q.displayName??void 0};let W="ffe10a0c-6c42-41ce-a3a6-38990fd6caf8";if(!Z&&K.team?.id!==W)return}else return}catch(V){x.debug("Failed to fetch user info for thread feed filtering",V);return}let Y="/threads.rss",X=async(V,K)=>{let q=V instanceof Request?V.url:V.toString();return m7(q,K,this.widget.dependencies.configService)},G=NP1();G.get("entries").then((V)=>{if(V){let K=this.filterEntries(V);if(this.threadFeedEntries=K,K.length>0&&!this.currentThreadFeedEntry){let q=[...K].sort((H,z)=>z.pubDate.getTime()-H.pubDate.getTime());this.threadFeedTickerQueue=[...q,...this.threadFeedTickerQueue];let W=this.getNextFeedEntry();if(W)this.setState(()=>{this.currentThreadFeedEntry=W})}}}),this.threadFeedReader=new ZS1(G,X,{url:Y}),this.threadFeedSubscription=this.threadFeedReader.stream().subscribe({next:(V)=>{try{let K=this.filterEntries(V);if(K.length>0){this.threadFeedEntries=[...K,...this.threadFeedEntries];let q=[...K].sort((W,H)=>H.pubDate.getTime()-W.pubDate.getTime());if(this.threadFeedTickerQueue=[...q,...this.threadFeedTickerQueue],!this.currentThreadFeedEntry){let W=this.getNextFeedEntry();if(W)this.setState(()=>{this.currentThreadFeedEntry=W})}}}catch(K){x.error("Thread feed: error in next handler",K)}},error:(V)=>{x.error("Thread feed error:",V)}}),this.resetThreadFeedRotation()}filterEntries(J){if(!this.currentUserInfo)return J;let{username:Q,displayName:Z}=this.currentUserInfo;return J.filter((Y)=>{return!Y.authors.some((X)=>{let G=X.name;if(!G)return!1;return Q&&G===Q||Z&&G===Z||Q&&G.includes(Q)})})}rotateThreadFeed(){if(this.threadFeedRotationTimer)clearInterval(this.threadFeedRotationTimer);this.threadFeedRotationTimer=setInterval(()=>{let J=this.getNextFeedEntry();if(J)this.setState(()=>{this.currentThreadFeedEntry=J})},30000)}resetThreadFeedRotation(){this.rotateThreadFeed()}getNextFeedEntry(){if(this.threadFeedTickerQueue.length>0)return this.threadFeedTickerQueue.shift();return null}async initNewsFeed(){let J=async(Z)=>{return m7(Z,void 0,this.widget.dependencies.configService)},Q=NP1();this.newsFeedReader=new QS1(Q,J,"/news.rss"),this.newsFeedSubscription=this.newsFeedReader.stream().subscribe({next:(Z)=>{if(Z.length>0)this.setState(()=>{this.newsFeedEntries=[...Z,...this.newsFeedEntries]})},error:(Z)=>{x.error("News feed error:",Z)}})}recordNavigation(J){this.threadBackStack.push(J),this.threadForwardStack=[]}navigateBack=async()=>{if(this.threadBackStack.length===0)return;let J=this.widget.dependencies.worker.thread.id,Q=this.threadBackStack.pop();this.threadForwardStack.push(J),await this.switchToExistingThread(Q,{recordInNavigationHistory:!1})};navigateForward=async()=>{if(this.threadForwardStack.length===0)return;let J=this.widget.dependencies.worker.thread.id,Q=this.threadForwardStack.pop();this.threadBackStack.push(J),await this.switchToExistingThread(Q,{recordInNavigationHistory:!1})};startAndSwitchToNewThread=async()=>{let J=this.widget.dependencies.worker.thread.id;this.recordNavigation(J);let Q=await this.widget.dependencies.startNewThread();return this.widget.dependencies.worker=Q,this.widget.dependencies.threadID=Q.thread.id,this.widget.dependencies.switchWorker(Q),this.setState(()=>{this.isMessageViewInSelectionMode=!1,this.previousThreadIdForHint=J}),Q};async startReplay(){let J=this.widget.dependencies.replayMode;if(!J)return;let{thread:Q,typingEnabled:Z,baseWpm:Y}=J,X=Q.messages;for(let G=0;G<X.length;G++){if(this.replayAbortController.signal.aborted)break;let V=X[G];if(!V)continue;if(G>0)await this.replaySleep(J.messageDelayMs);if(V.role==="user"&&Z){let W=V.content.filter((H)=>H.type==="text").map((H)=>H.text).join(`
5011
5011
  `);if(W)await this.replayTypeMessage(W,Y)}if(V.role==="assistant"){let W=V.content.some((U)=>U.type==="tool_use"),H=X[G+1],z=H?.role==="user"&&H.content.some((U)=>U.type==="tool_result");if(W&&z){let U={...V,state:{type:"streaming"}};this.setState(()=>{this.replayDisplayedMessages=[...this.replayDisplayedMessages,U],this.textController.clear()});let D=J.thread.id;this.getMessageScrollController(D).scrollToBottom(),await this.replaySleep(J.toolProgressDelayMs),this.setState(()=>{this.replayDisplayedMessages=[...this.replayDisplayedMessages.slice(0,-1),V]});continue}}this.setState(()=>{this.replayDisplayedMessages=[...this.replayDisplayedMessages,V],this.textController.clear()});let K=J.thread.id;this.getMessageScrollController(K).scrollToBottom()}await this.replaySleep(J.exitDelayMs),b8.instance.stop()}async replayTypeMessage(J,Q){this.textController.clear();let Z=J.split(/(?<=\s)/),Y=60000/Q;for(let X of Z){if(this.replayAbortController.signal.aborted)break;if(this.looksLikePastedContent(X.trim())){await this.replaySleep(150),this.textController.text=this.textController.text+X,this.textController.cursorPosition=this.textController.text.length,this.setState(()=>{}),await this.replaySleep(300);continue}let G=Y/X.length;for(let V of X){this.textController.text=this.textController.text+V,this.textController.cursorPosition=this.textController.text.length,this.setState(()=>{});let K=0.8+Math.random()*0.4,q=G*K;await this.replaySleep(q)}}}looksLikePastedContent(J){if(/^[a-z][a-z0-9+.-]*:\/\//i.test(J))return!0;if(J.startsWith("/")&&J.length>10)return!0;if(/^[a-z]:\\/i.test(J))return!0;if(/^[a-f0-9]{7,40}$/i.test(J))return!0;if(/^T-[a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12}$/i.test(J))return!0;return!1}replaySleep(J){return new Promise((Q)=>{this.replayTypingTimer=setTimeout(Q,J)})}getEffectiveAgentMode(){return this.agentModeController?.getEffectiveMode()??"smart"}isProcessing(){let{threadState:J}=this.widget.dependencies;if(!J.mainThread)return!1;if(J.viewState.state!=="active")return!1;if(Boolean(J.viewState.inferenceState==="running"))return!0;let Z=J.items.filter((G)=>G.type==="toolResult").filter((G)=>G.toolResult.run.status==="in-progress"||G.toolResult.run.status==="queued"),Y=J.subagentActiveTools.filter((G)=>G.toolRun.status==="in-progress"||G.toolRun.status==="queued");return[...Z,...Y].length>0}showSubmitDisabledHint(J){if(this.submitDisabledHintTimer)clearTimeout(this.submitDisabledHintTimer);this.setState(()=>{this.submitDisabledHint=J}),this.submitDisabledHintTimer=setTimeout(()=>{this.setState(()=>{this.submitDisabledHint=null}),this.submitDisabledHintTimer=null},3000)}getUIHint(){let J=this.themeColors?.colorScheme;if(!J)return null;let Q=this.themeApp;if(!Q)return null;if(this.submitDisabledHint)return new l(this.submitDisabledHint,new r({color:J.foreground,dim:!0}));if(this.isExiting)return new l("Exiting...",new r({color:J.foreground,dim:!0}));if(this.isConfirmingExit)return new l("",void 0,[new l("Ctrl+C",new r({color:Q.keybind})),new l(" again to exit",new r({color:J.foreground,dim:!0}))]);if(this.isConfirmingClearInput)return new l("",void 0,[new l("Esc",new r({color:Q.keybind})),new l(" again to clear input",new r({color:J.foreground,dim:!0}))]);if(this.isShowingHelp)return new l("",void 0,[new l("Escape",new r({color:Q.keybind})),new l(" to close help",new r({color:J.foreground,dim:!0}))]);if(this.showImageUnsupportedHint){let X=this.getEffectiveAgentMode(),G=Vx1(X);return new l("",void 0,[new l("Images aren't supported in ",new r({color:J.warning,dim:!1})),new l(X,new r({color:G})),new l(" mode.",new r({color:J.warning,dim:!1}))])}if(this.isProcessing()||this.bashInvocations.length>0){if(this.isConfirmingCancelProcessing)return new l("",void 0,[new l("Esc",new r({color:Q.keybind})),new l(" again to cancel",new r({color:J.foreground,dim:!0}))]);return new l("",void 0,[new l("Esc",new r({color:Q.keybind})),new l(" to cancel",new r({color:J.foreground,dim:!0}))])}if(this.statusMessage)return new l(this.statusMessage,new r({color:J.foreground,dim:!0}));let Z=cQ6(this.updateState,J);if(Z)return new l("",void 0,Z);let Y=this.widget.dependencies.worker.thread;if(Y.agentMode==="plan"&&GA(Y))return new l("",void 0,[new l("Use command",new r({color:J.foreground})),new l(" plan: execute",new r({color:Q.command}))]);return null}isTranscriptEmpty(){let{threadState:J}=this.widget.dependencies;return J.items.length===0}handleMessageRestoreSubmit=async(J)=>{let{threadState:Q,worker:Z}=this.widget.dependencies;if(!Q.mainThread?.id)return;let X=Q.mainThread?.messages.findIndex((G)=>G===J);if(X===void 0||X===-1)return;try{this.cancelBashInvocations(),await Z.cancel(),await Z.handle({type:"thread:truncate",fromIndex:X}),this.scrollMessageViewToBottom(),this.setState(()=>{this.imageAttachments=[]})}catch(G){x.error("Failed to edit message:",G)}};forkMessage=async(J)=>{let{threadState:Q,workerDeps:Z,threadSyncService:Y}=this.widget.dependencies,X=Q.mainThread?.id;if(!X)return;let G=Q.mainThread?.messages.findIndex((V)=>V===J);if(G===void 0||G<=0)return;try{let V=await L3.getOrCreateForThread(Z,X),K=await AT(V,Y,G-1);await this.switchToExistingThread(K)}catch(V){x.error("Failed to fork thread:",V),this.showErrorMessage(`Failed to fork thread: ${V}`)}};handleMessageEditSubmit=async(J,Q)=>{let{threadState:Z,worker:Y}=this.widget.dependencies,X=Z.mainThread;if(!X)return;let G=X.messages.findIndex((V)=>V.messageId!==void 0&&V.messageId===J.messageId);if(G===-1)return;try{this.cancelBashInvocations(),await Y.cancel(),this.widget.dependencies.history.add(Q);let V=rB(Q);if(V)await Y.handle({type:"thread:truncate",fromIndex:G}),this.invokeBashCommand(V.cmd,{visibility:V.visibility});else{let K=[{type:"text",text:Q}];if(this.imageAttachments.length>0)K.push(...this.imageAttachments);let q={content:K,agentMode:X.agentMode},W=G===0;if(X.agentMode&&!W&&q.agentMode!==X.agentMode){x.error(`Cannot edit message: This thread uses ${X.agentMode} mode. To change mode, create a new thread.`);return}await Y.handle({type:"user:message",message:q,index:G})}this.scrollMessageViewToBottom(),this.setState(()=>{this.imageAttachments=[]})}catch(V){x.error("Failed to edit message:",V)}};getAffectedFiles=async(J)=>{let{worker:Q}=this.widget.dependencies;try{return(await Q.getFilesAffectedByTruncation(J)).map(n2)}catch(Z){return x.error("Failed to get affected files:",Z),[]}};textController=new aZ;messageScrollControllers=new Map;getMessageScrollController(J){if(!this.messageScrollControllers.has(J))this.messageScrollControllers.set(J,new l5);return this.messageScrollControllers.get(J)}scrollMessageViewToBottom(){let{threadState:J}=this.widget.dependencies,Q=J.mainThread?.id;if(!Q)return;this.getMessageScrollController(Q).scrollToBottom()}findElementByKey(J){return this.searchElementTreeByKey(this.context.element,J)}searchElementTreeByKey(J,Q){if(!J)return null;if(J?.widget?.key?.value===Q)return J;if(J?.child){let Y=this.searchElementTreeByKey(J.child,Q);if(Y)return Y}if(J?.children)for(let Y of J.children){let X=this.searchElementTreeByKey(Y,Q);if(X)return X}return null}setupSelectionListener(){let J=this.findElementByKey("message-view-selection-area");if(J?.state){let Q=J.state;if(Q?.controller&&!this.selectionListener)this.selectionListener=()=>{this.setState(()=>{})},Q.controller.addListener(this.selectionListener),Q.controller.onSelectionCopied=()=>{this.toastController.show("Selection copied to clipboard","success",2000)}}}updateTerminalTitle(){let{threadState:J}=this.widget.dependencies,Q=J.mainThread?.title;if(Q!==this.currentTitle){this.currentTitle=Q;let Z=process.cwd().replace(process.env.HOME||"","~"),Y=Q?`amp - ${Q} - ${Z}`:"";process.stdout.write(Kj1(Y))}}_handleTextCopy(J){if(J&&J.length>0)this.toastController.show("Selection copied to clipboard","success",2000)}textFieldKey=new a7("text-field");ideStatusSubscription=null;ideMessageSubscription=null;ideAppendToPromptSubscription=null;connectedClientsStatusSubscription=null;paletteCommands;paletteConfig;completionBuilder=null;textChangeListener=()=>{let J=this.textController.text;if(J==="/"){this.showCommandPalette(),this.textController.clear();return}let Q=rB(J);this.currentShellModeStatus=Q?.visibility,this.setState(()=>{})};navigateHistoryPrevious=()=>{let J=this.widget.dependencies.history.previous();if(J!==null){if(this.historyIndex===-1)this.historyDraft=this.textController.text;this.historyIndex++,this.textController.text=J,this.textController.moveCursorToStart()}};navigateHistoryNext=()=>{let J=this.widget.dependencies.history.next();if(J!==null)this.historyIndex--,this.textController.text=J,this.textController.moveCursorToEnd();else if(this.historyIndex>-1)this.historyIndex=-1,this.textController.text=this.historyDraft||"",this.textController.moveCursorToEnd(),this.historyDraft=null};resetHistory=()=>{this.widget.dependencies.history.reset(),this.historyIndex=-1,this.historyDraft=null};openJetBrainsInstaller=()=>{this.setState(()=>{this.isShowingJetBrainsInstaller=!0})};dismissJetBrainsInstaller=()=>{this.setState(()=>{this.isShowingJetBrainsInstaller=!1})};openIdePicker=()=>{this.setState(()=>{this.isShowingIdePicker=!0})};dismissIdePicker=()=>{this.setState(()=>{this.isShowingIdePicker=!1}),_8.instance.addPostFrameCallback(()=>{this.autocompleteFocusNode.requestFocus()})};handleIdeSelection=async(J,Q)=>{if(this.widget.dependencies.ideClient.getSelectedConfig()?.pid===J.pid){this.dismissIdePicker();return}try{await this.connectToSelectedIde(J,Q)}catch(Z){let Y=Z instanceof Error?Z.message:String(Z);this.setState(()=>{this.displayMessage=Error(`Failed to connect to IDE: ${Y}`)})}this.widget.dependencies.ideClient.selectConfig(J),this.dismissIdePicker()};async connectToSelectedIde(J,Q){await this.widget.dependencies.ideClient.start(J,!0,Q)}previewControllerListener=(J)=>{this.setState(()=>{this.previewThread=J})};showStandaloneThreadPicker=()=>{this.showCommandPalette({type:"standalone",commandId:"continue",onSubmit:()=>{this.threadPreviewController.clear(),this.setState(()=>{this.isShowingPalette=!1,this.paletteShowOptions=null}),_8.instance.addPostFrameCallback(()=>{if(!this.isMessageViewInSelectionMode&&!this.isShowingPalette)this.autocompleteFocusNode.requestFocus()})},onCancel:()=>{this.exitApplication()}})};toggleThreadPickerWorkspaceFilter=()=>{this.setState(()=>{this.filterThreadPickerByWorkspace=!this.filterThreadPickerByWorkspace})};showCommandPalette(J){if(this.setState(()=>{this.isShowingPalette=!this.isShowingPalette,this.paletteShowOptions=J??null}),this.isShowingPalette)this.loadThreadsForPicker()}isShowingStandalonePalette(){return this.isShowingPalette&&this.paletteShowOptions?.type==="standalone"}getPaletteCommands(){if(!this.paletteCommands){if(!this.paletteConfig)throw Error("Config not yet available");this.paletteCommands=new wy1(this.widget.dependencies.configService,this.widget.dependencies.commandRegistry,(J)=>{this.setState(()=>{this.executingCommand=J})},()=>{this.setState(()=>{this.executingCommand=null})},this.widget.dependencies.isDogfooding,this.paletteConfig)}return this.paletteCommands}getCompletionBuilder(){if(!this.completionBuilder)this.completionBuilder=new Py1(this.widget.dependencies.fuzzyServer);return this.completionBuilder}dismissPalette=()=>{this.setState(()=>{this.isShowingPalette=!1,this.paletteShowOptions=null})};getCommandPaletteContext=(J)=>{let{threadState:Q,recentThreadIDs:Z}=this.widget.dependencies;if(!Q.mainThread)return null;let Y=h0.file(process.cwd()),X=N6(Y);return{recentThreadIDs:Z,currentThreadID:Q.mainThread.id,context:J,worker:this.widget.dependencies.worker,editorState:this.textController,isProcessing:this.isProcessing(),thread:Q.mainThread,ampURL:this.widget.dependencies.ampURL,threadService:this.widget.dependencies.threadService,threadSyncService:this.widget.dependencies.threadSyncService,configService:this.widget.dependencies.configService,openInEditor:this.openInEditor,takeImageAttachments:()=>{let G=this.imageAttachments;return this.setState(()=>{this.imageAttachments=[]}),G},setImageAttachments:(G)=>{this.setState(()=>{this.imageAttachments=G})},editorDispatch:(G)=>{switch(G.type){case"set-input":this.textController.clear(),this.textController.insertText(G.input);break;case"insert-text":this.textController.insertText(G.text);break;case"clear":this.textController.clear();break}},submitMessage:(G)=>{return this.proceedWithUserMessage(G)},exitApp:this.exitApplication,openHelp:()=>{this.setState(()=>{this.isShowingHelp=!0})},settingsStorage:this.widget.dependencies.settingsStorage,clientId:this.widget.dependencies.clientId,connectedClientsService:this.widget.dependencies.connectedClientsService,mcpService:this.widget.dependencies.mcpService,startNewThread:async()=>{await this.startAndSwitchToNewThread()},navigateBack:this.navigateBack,navigateForward:this.navigateForward,canNavigateBack:this.threadBackStack.length>0,canNavigateForward:this.threadForwardStack.length>0,canUseAmpFree:this.widget.dependencies.freeTierStatus.canUseAmpFree,switchToThread:async(G)=>{return await this.switchToExistingThread(G),this.setState(()=>{this.isMessageViewInSelectionMode=!1}),this.widget.dependencies.worker},generateHandoffPrompt:async(G,V,K)=>{let q=this.widget.dependencies.threadState.mainThread?.id;if(!q)throw Error("No active thread");let W=setTimeout(()=>{K.throwIfAborted()},60000);try{let H=await this.widget.dependencies.threadService.generateHandoffPrompt(q,G,V,this.widget.dependencies.configService,K);return clearTimeout(W),H}catch(H){throw clearTimeout(W),H}},handleHandoff:async(G,V)=>{let{goal:K,generatedPrompt:q,images:W}=V;if(!K&&!q)return{ok:!1,error:Error("Either goal or generatedPrompt required")};try{let H=this.widget.dependencies.threadState.mainThread?.id;if(!H)return{ok:!1,error:Error("No active thread")};let z=setTimeout(()=>G.abort(new u91("Handoff took too long and was aborted (timeout: 60s)")),60000);try{let U=await this.widget.dependencies.threadService.createHandoffThread(H,{goal:K,generatedPrompt:q,images:W},this.widget.dependencies.configService,G.signal);return clearTimeout(z),await this.switchToExistingThread(U),{ok:!0}}catch(U){if(clearTimeout(z),U instanceof Error&&(U.name==="AbortError"||U.message.includes("aborted")))throw G.signal.reason;throw U}}catch(H){return x.error("Failed to create handoff thread",H),{ok:!1,error:H instanceof Error?H:Error(String(H))}}},getGuidanceFiles:async(G)=>{if(!Q.mainThread)return[];return(await Ds({filesystem:this.widget.dependencies.worker.fs.fileSystemReader(),configService:this.widget.dependencies.configService,threadService:this.widget.dependencies.threadService},Q.mainThread,G)).map((K)=>({uri:K.uri,type:K.type}))},openIdePicker:()=>{this.openIdePicker()},getAgentMode:()=>{return this.agentModeController?.getMode()??null},setAgentMode:(G)=>{this.agentModeController?.setMode(G)},toggleAgentMode:this.toggleAgentMode,getEffectiveAgentMode:()=>this.getEffectiveAgentMode(),getEditorText:()=>this.textController.text,workspace:this.widget.dependencies.workspace??null,handleExecutePlan:async()=>{try{let G=Q.mainThread?.id;if(!G){this.setState(()=>{this.displayMessage=Error("No active thread")});return}let V=await this.widget.dependencies.threadService.createPlanExecutionThread(G,"smart");await this.switchToExistingThread(V)}catch(G){x.error("Failed to execute plan",G),this.setState(()=>{this.displayMessage=Error(`Failed to execute plan: ${G instanceof Error?G.message:String(G)}`)})}},planFileManager:this.widget.dependencies.planFileManager,completionBuilder:this.getCompletionBuilder(),threads:this.threadsForPicker,clusters:this.clustersForPicker,previewController:this.threadPreviewController,isLoadingThreads:this.isLoadingThreads,filterByWorkspace:this.filterThreadPickerByWorkspace,currentWorkspace:X,threadViewStates:this.widget.dependencies.workerController.threadViewStates,currentThreadFeedEntry:this.currentThreadFeedEntry,threadFeedEntries:this.threadFeedEntries,threadFeedHidden:this.threadFeedHidden,newsFeedEntries:this.newsFeedEntries,setThreadFeedHidden:(G)=>{this.setState(()=>{this.threadFeedHidden=G})},showMCPStatusModal:()=>{this.setState(()=>{this.isShowingMCPStatusModal=!0})},internalAPIClient:this.widget.dependencies.internalAPIClient,features:this.widget.dependencies.features,showStatusMessage:(G,V=2000)=>{if(this.statusMessageTimer)clearTimeout(this.statusMessageTimer);this.setState(()=>{this.statusMessage=G}),this.statusMessageTimer=setTimeout(()=>{this.setState(()=>{this.statusMessage=null}),this.statusMessageTimer=null},V)},showToast:(G,V="success",K)=>{this.toastController.show(G,V,K)}}};loadThreadsForPicker(){if(this.threadLoadSubscription)return;this.setState(()=>{this.isLoadingThreads=!0});let J=new Jx1(this.widget.dependencies.threadHistoryService);this.threadLoadSubscription=J.observeThreadSummaries("").subscribe({next:(Q)=>{this.setState(()=>{this.threadsForPicker=Q,this.clustersForPicker=iJ6(Q),this.isLoadingThreads=!1})},error:()=>{this.setState(()=>{this.isLoadingThreads=!1})}})}updateGitBranch=async()=>{let J=await HB8(process.cwd());this.setState(()=>{this.currentGitBranch=J})};removeBashInvocation=(J)=>{this.setState(()=>{this.bashInvocations=this.bashInvocations.filter((Q)=>Q.id!==J)})};invokeBashCommand=(J,{visibility:Q})=>{let Z=Date.now(),Y=`bash-${Z}-${Math.random().toString(36).substring(7)}`,X={cmd:J},G=new AbortController;this.widget.dependencies.worker.invokeBashTool(X,G.signal,Q===oB).subscribe({next:(V)=>{this.setState(()=>{if(this.bashInvocations.find((q)=>q.id===Y))this.bashInvocations=this.bashInvocations.map((q)=>q.id===Y?{...q,toolRun:V}:q);else{let q={id:Y,args:X,toolRun:V,startTime:Z,abortController:G,hidden:Q===oB};this.bashInvocations=[...this.bashInvocations,q]}})},error:()=>this.removeBashInvocation(Y),complete:()=>this.removeBashInvocation(Y)})};cancelBashInvocations=()=>{let J=this.bashInvocations.find((Q)=>Q.toolRun.status==="in-progress");if(J)J.abortController.abort()};toggleConnectedClientsStatus=()=>{this.setState(()=>{this.connectedClientsStatusExpanded=!this.connectedClientsStatusExpanded})};showContextDetailOverlay=()=>{this.setState(()=>{this.isShowingContextDetailOverlay=!0}),this.fetchThreadCostInfo()};fetchThreadCostInfo=V96(()=>{let J=this.widget.dependencies.threadID;this.widget.dependencies.internalAPIClient.threadDisplayCostInfo({threadID:J},{config:this.widget.dependencies.configService}).then((Q)=>{if(Q.ok)this.setState(()=>{this.threadCostInfo=Q.result,this.threadCostInfoThreadID=J})}).catch(()=>{this.setState(()=>{this.threadCostInfo=void 0,this.threadCostInfoThreadID=J})})},150);maybeRefetchThreadCostInfo=(J,Q)=>{let Z=J!==this.threadCostInfoLastUsageLedgerLength,Y=Q==="idle"&&this.lastInferenceState==="running";if(this.threadCostInfoLastUsageLedgerLength=J,this.lastInferenceState=Q,Z||Y)this.fetchThreadCostInfo()};toggleAgentMode=()=>{if(!this.agentModeController)return;if(this.agentModeController.toggle())this.setState(()=>{this.showImageUnsupportedHint=!1,this.agentModePulseSeq++})};startAgentModeSlide=()=>{if(this.agentModeSlideTimer)clearInterval(this.agentModeSlideTimer);this.setState(()=>{this.agentModeSlideProgress=0});let J=800,Q=16,Z=Q/J;this.agentModeSlideTimer=setInterval(()=>{this.setState(()=>{if(this.agentModeSlideProgress!==null){if(this.agentModeSlideProgress=Math.min(1,this.agentModeSlideProgress+Z),this.agentModeSlideProgress>=1){if(this.agentModeSlideProgress=null,this.agentModeSlideTimer)clearInterval(this.agentModeSlideTimer),this.agentModeSlideTimer=null}}})},Q)};handleInsertImage=(J)=>{let Q=this.getEffectiveAgentMode();if(!Zy(Q)){if(this.imageUnsupportedHintTimer)clearTimeout(this.imageUnsupportedHintTimer);return this.setState(()=>{this.showImageUnsupportedHint=!0}),this.imageUnsupportedHintTimer=setTimeout(()=>{this.setState(()=>{this.showImageUnsupportedHint=!1}),this.imageUnsupportedHintTimer=null},5000),!1}if(this.imageAttachments.length>=QU)return!1;let Z=LC(J);if(typeof Z==="object")return this.setState(()=>{this.imageAttachments=[...this.imageAttachments,Z]}),!1;return this.setState(()=>{this.displayMessage=Error(`Failed to attach image: ${Z}`)}),!1};handlePopImage=()=>{if(this.imageAttachments.length>0)this.setState(()=>{this.imageAttachments=this.imageAttachments.slice(0,-1)})};handleShowMysteryModal=()=>{if(this.mysteriousMessage)this.setState(()=>{this.isShowingMysteriousMessageModal=!0})};handleDestructMysteriousMessage=()=>{if(!this.mysteriousMessage)return;let J=this.mysteriousMessage.id;this.widget.dependencies.internalAPIClient.markAsReadMysteriousMessage({messageId:J},{config:this.widget.dependencies.configService}).then((Q)=>{if(!Q.ok)x.error("Failed to destruct mysterious message",Q.error);else this.setState(()=>{this.mysteriousMessage=null,this.isShowingMysteriousMessageModal=!1})}).catch((Q)=>{x.error("Failed to destruct mysterious message",Q)})};openInEditor=async(J)=>{let{mkdtemp:Q,readFile:Z,unlink:Y,rmdir:X,writeFile:G}=await import("node:fs/promises"),{tmpdir:V}=await import("node:os"),K=await import("node:path");try{let q=await Q(K.join(V(),"amp-edit-")),W=K.join(q,"message.amp.md");await G(W,J,"utf-8"),await v$(W);try{let H=await Z(W,"utf-8");this.textController.text=H}catch(H){if(H?.code!=="ENOENT")x.error("Failed to read temporary file",H)}try{await Y(W),await X(q)}catch(H){x.warn("Failed to clean up temporary file",H)}}catch(q){x.error("Error opening editor:",q)}};onTextSubmitted=async(J)=>{if(!J.trim())return;let Q=rB(J);if(Q)if(!Q.cmd){this.showSubmitDisabledHint("No command provided");return}else if(this.isProcessing()){this.showSubmitDisabledHint("Unable to use shell mode while agent is active");return}else{this.invokeBashCommand(Q.cmd,{visibility:Q.visibility}),this.widget.dependencies.history.add(J),this.textController.clear(),this.resetHistory();return}this.textController.clear(),this.resetHistory(),await this.updateGitBranch(),await this.sendUserMessage(J)};agentModeListener=()=>{this.setState(()=>{})};initState(){if(tY.getInstance().interceptConsole(),this.freeTierStatus=this.widget.dependencies.freeTierStatus,this.threadPreviewController.setThreadService(this.widget.dependencies.threadService),this.threadPreviewController.addListener(this.previewControllerListener),this.widget.dependencies.openThreadSwitcher)this.showStandaloneThreadPicker();b8.instance.on("key",()=>{this.lastUserInteractionTime=Date.now()}),b8.instance.on("mouse",()=>{this.lastUserInteractionTime=Date.now()}),b8.instance.on("paste",()=>{this.lastUserInteractionTime=Date.now()}),this.autocompleteFocusNode.addListener((Z)=>{_8.instance.addPostFrameCallback(()=>{this.setState(()=>{this.isTextfieldAndAutocompleteFocused=Z.hasFocus})})}),K6(this.widget.dependencies.configService.config).then((Z)=>{this.paletteConfig=Z,this.agentModeController=new KS1({initialCliMode:this.widget.dependencies.initialAgentMode,sessionState:this.widget.dependencies.sessionState??null,freeTierStatus:this.freeTierStatus,initialSettings:Z.settings,config$:this.widget.dependencies.configService.config,getThread:()=>this.widget.dependencies.getCurrentWorker()?.thread??this.widget.dependencies.worker.thread}),this.agentModeController.addListener(this.agentModeListener)}),this.updateGitBranch(),this.balanceInfoSubscription=x06(async()=>{let Z=await this.widget.dependencies.internalAPIClient.userDisplayBalanceInfo({},{config:this.widget.dependencies.configService});if(!Z.ok)throw Z.error;return Z.result}).subscribe({next:(Z)=>{this.setState(()=>{this.userDisplayBalanceInfo=Z})},error:(Z)=>{x.debug("Failed to fetch user balance info",Z)}}),this.scheduleAdSubscriptionWithIdeReadiness();let{mcpTrustHandler:J}=this.widget.dependencies;this.mcpTrustSubscription=J.pendingServers$.subscribe((Z)=>{this.setState(()=>{this.pendingMCPServers=Z})}),hC1((Z)=>{this.setState(()=>{this.pendingOAuthRequest=Z})}),this.mcpServersSubscription=this.widget.dependencies.mcpService.servers.subscribe((Z)=>{this.setState(()=>{this.mcpServers=Z})}),this.cacheTimerSubscription=this.widget.dependencies.worker.cacheTimer.subscribe((Z)=>{this.setState(()=>{this.cacheTimerState=Z})}),this.ideStatusSubscription=this.widget.dependencies.ideClient.status.subscribe((Z)=>{let Y=this.isIdeReadyForAdContext();if(this.setState(()=>{this.ideStatus=Z}),!Y&&this.isIdeReadyForAdContext()){if(this.adReadinessTimeout)clearTimeout(this.adReadinessTimeout),this.adReadinessTimeout=null;if(!this.adSubscription)this.subscribeToAds()}}),this.ideMessageSubscription=this.widget.dependencies.ideClient.messages.subscribe(async(Z)=>{let Y=this.widget.dependencies.getCurrentWorker();if(!Y){x.warn("No active thread worker found to handle IDE message");return}await new Promise((X)=>setTimeout(X,50)),await Y.handle({type:"user:message",message:{content:[{type:"text",text:Z}]}}),x.debug("Message sent from IDE to agent",{message:Z.slice(0,100)})}),this.ideAppendToPromptSubscription=this.widget.dependencies.ideClient.appendToPrompt.subscribe((Z)=>{this.textController.insertText(Z),x.debug("Appended text to CLI prompt from IDE",{text:Z.slice(0,100)})}),this.connectedClientsStatusSubscription=this.widget.dependencies.connectedClientsService.status.subscribe((Z)=>{this.setState(()=>{this.connectedClientsStatus=Z})}),this.updateServiceSubscription=this.widget.dependencies.updateService.state.subscribe((Z)=>{this.setState(()=>{this.updateState=Z})}),this.mysteriousMessageSubscription=N81(this.widget.dependencies.configService).pipe(D5((Z)=>Z!=="pending"),Q6((Z)=>D81(Z)?Z.mysteriousMessage??null:null),B4((Z,Y)=>Z?.id===Y?.id)).subscribe((Z)=>{this.setState(()=>{if(Z?.id!==this.mysteriousMessage?.id)this.isShowingMysteriousMessageModal=!1;if(this.mysteriousMessage=Z,Z&&!this.mysterySequenceManager)this.mysterySequenceManager=new y81(new Map([[new k81(L51.MYSTERY_SEQUENCE),new Cg]])),this.mysteryKeyInterceptorUnsubscribe=b8.instance.addKeyInterceptor((Y)=>{if(!this.mysterySequenceManager)return!1;if(this.isShowingMysteriousMessageModal)return!1;let X=this.mysterySequenceManager.handleKeyEvent(Y);if(X.consumed){if(X.intent)this.handleShowMysteryModal();return this.setState(()=>{this.mysterySequenceProgress=X.progress}),!0}else if(this.mysterySequenceProgress)this.setState(()=>{this.mysterySequenceProgress=null});return!1});else if(!Z)this.mysteryKeyInterceptorUnsubscribe?.(),this.mysteryKeyInterceptorUnsubscribe=null,this.mysterySequenceManager?.dispose(),this.mysterySequenceManager=null,this.mysterySequenceProgress=null})}),this.textController.addListener(this.textChangeListener),this.updateTerminalTitle();let Q=this.widget.dependencies.ideClient.getSelectedConfig();if(Q)this.connectToSelectedIde(Q,"auto-startup").catch((Z)=>{let Y=Z instanceof Error?Z.message:String(Z);this.setState(()=>{this.displayMessage=Error(`Failed to connect to IDE: ${Y}`)})});else if(this.widget.dependencies.showIdePicker)this.openIdePicker();else if(this.widget.dependencies.showIdePickerHint)this.toastController.show("Use /ide to connect to an IDE","success",5000);else if(this.widget.dependencies.showJetBrainsInstaller)this.openJetBrainsInstaller();if(this.widget.dependencies.replayMode)setTimeout(()=>this.startReplay(),100);this.initThreadFeed(),this.initNewsFeed()}didUpdateWidget(J){super.didUpdateWidget(J),this.setupSelectionListener();let Q=this.widget.dependencies.threadID;if(this.threadCostInfoThreadID!==void 0&&this.threadCostInfoThreadID!==Q)this.threadCostInfo=void 0,this.threadCostInfoThreadID=void 0,this.threadCostInfoLastUsageLedgerLength=0,this.fetchThreadCostInfo();let{threadState:Z}=this.widget.dependencies;this.maybeRefetchThreadCostInfo(Z.mainThread?.usageLedger?.events.length??0,Z.viewState.state==="active"?Z.viewState.inferenceState:void 0)}dispose(){if(this.replayAbortController.abort(),this.replayTypingTimer)clearTimeout(this.replayTypingTimer);if(this.ideStatusSubscription)this.ideStatusSubscription.unsubscribe();if(this.ideMessageSubscription)this.ideMessageSubscription.unsubscribe();if(this.ideAppendToPromptSubscription)this.ideAppendToPromptSubscription.unsubscribe();if(this.connectedClientsStatusSubscription)this.connectedClientsStatusSubscription.unsubscribe();if(this.updateServiceSubscription)this.updateServiceSubscription.unsubscribe();if(this.agentModeController)this.agentModeController.removeListener(this.agentModeListener),this.agentModeController.dispose();if(this.adReadinessTimeout)clearTimeout(this.adReadinessTimeout),this.adReadinessTimeout=null;if(this.adSubscription)this.adSubscription.unsubscribe();if(this.balanceInfoSubscription)this.balanceInfoSubscription.unsubscribe();if(this.mcpTrustSubscription)this.mcpTrustSubscription.unsubscribe();if(hC1(null),this.mcpServersSubscription)this.mcpServersSubscription.unsubscribe();if(this.cacheTimerSubscription)this.cacheTimerSubscription.unsubscribe();if(this.threadLoadSubscription)this.threadLoadSubscription.unsubscribe();if(this.threadFeedSubscription)this.threadFeedSubscription.unsubscribe();if(this.newsFeedSubscription)this.newsFeedSubscription.unsubscribe();if(this.threadFeedRotationTimer)clearInterval(this.threadFeedRotationTimer);if(this.agentModeSlideTimer)clearInterval(this.agentModeSlideTimer),this.agentModeSlideTimer=null;if(this.mysteriousMessageSubscription)this.mysteriousMessageSubscription.unsubscribe();if(this.mysteryKeyInterceptorUnsubscribe?.(),this.mysterySequenceManager?.dispose(),this.threadPreviewController.removeListener(this.previewControllerListener),this.threadPreviewController.dispose(),this.toastController.dispose(),this.exitConfirmTimeout)clearTimeout(this.exitConfirmTimeout),this.exitConfirmTimeout=null;if(this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;this.textController.removeListener(this.textChangeListener);for(let J of this.messageScrollControllers.values())J.dispose();if(this.messageScrollControllers.clear(),process.stdout.write(Kj1("")),this.shouldUseProgressBar())process.stdout.write(K86())}getCurrentConfirmation(){let{threadState:J}=this.widget.dependencies,Y=[...J.items.filter((K)=>K.type==="toolResult").map((K)=>({toolUse:K.toolUse,toolRun:K.toolResult.run,subthreadID:void 0})),...J.subagentActiveTools].filter((K)=>K.toolRun.status==="blocked-on-user");if(Y.length===0)return null;let X=Y[0],G=X.toolRun.status==="blocked-on-user"?X.toolRun.toAllow??[]:[],V=X.toolRun.status==="blocked-on-user"?X.toolRun.reason:void 0;return{type:"tool-use",tools:[{useBlock:X.toolUse,toAllow:G}],subthreadID:X.subthreadID,reason:V}}shouldUseProgressBar(){return!1}updateProgressBar(){}static AD_READINESS_TIMEOUT_MS=1000;scheduleAdSubscriptionWithIdeReadiness(){if(this.isIdeReadyForAdContext()){this.subscribeToAds();return}this.adReadinessTimeout=setTimeout(()=>{if(this.adReadinessTimeout=null,!this.adSubscription)this.subscribeToAds()},L51.AD_READINESS_TIMEOUT_MS)}isIdeReadyForAdContext(){let J=this.ideStatus;if(!J||!J.enabled)return!1;return Boolean(J.openFile||J.visibleFiles&&J.visibleFiles.length>0)}subscribeToAds(){if(this.adSubscription)return;this.adSubscription=Cj1(this.widget.dependencies.internalAPIClient,this.widget.dependencies.configService,()=>{let J=this.agentModeController?.getMode();return(J&&U9(J)||this.randomAd===null)&&Tj1(this.lastUserInteractionTime)},this.widget.dependencies.codebaseContextService).subscribe({next:(J)=>{if(J){let Q=qB8(16).toString("hex");this.lastAdImpressionId=Q,Promise.resolve().then(() => (M51(),D51)).then(({recordAdEvent:Z})=>{let Y=this.widget.dependencies.worker.thread,X=Y.messages[Y.messages.length-1];Z("viewed",{adId:J.id,advertiserId:J.advertiserId,threadId:Y.id,messageId:X?.messageId,impressionId:Q,placement:"tui",matchType:J.metadata?.matchType,matchedPatterns:J.metadata?.matchedPatterns,candidateAdPoolCount:J.metadata?.candidateAdPoolCount,clientRegion:J.metadata?.clientRegion})})}this.setState(()=>{this.randomAd=J}),_8.instance.addPostFrameCallback(()=>{if(!this.isMessageViewInSelectionMode&&!this.isShowingPalette&&!this.isShowingIdePicker)this.autocompleteFocusNode.requestFocus()})}})}onConfirmationResponse=async(J)=>{let Q=this.getCurrentConfirmation();if(!Q||Q.type!=="tool-use"){x.error("No current tool confirmation found");return}let Z=Q.tools[0]?.useBlock;if(!Z){x.error("No tool use block found in confirmation");return}if(J==="allow-all-session")IG("dangerouslyAllowAll",!0);if(J==="allow-all-persistent")try{await this.widget.dependencies.settingsStorage.set("dangerouslyAllowAll",!0,"global")}catch(X){if(X&&X instanceof Error)this.setState(()=>{this.displayMessage=X});else x.error("Failed to write dangerouslyAllowAll setting:",X);return}if(J==="always-guarded"){let X=Q.tools[0]?.toAllow??[],G=await this.widget.dependencies.settingsStorage.get("guardedFiles.allowlist")||[],V=[...X,...G];await this.widget.dependencies.settingsStorage.set("guardedFiles.allowlist",V,"global")}if(J==="connect-github"){let X=new URL("/settings#code-host-connections",this.widget.dependencies.ampURL).toString();await f2(this.context,X);return}if(J==="disable-librarian"){let X=await this.widget.dependencies.settingsStorage.get("tools.disable")??[];if(!X.includes(MY))await this.widget.dependencies.settingsStorage.set("tools.disable",[...X,MY],"global")}let Y=J!==null&&["yes","allow-all-session","allow-all-persistent","always-guarded"].includes(J);try{let X={type:"user:tool-input",toolUse:Z.id,value:{accepted:Y}};if(Q.subthreadID)await(await L3.getOrCreateForThread(this.widget.dependencies.workerDeps,Q.subthreadID)).handle(X);else await this.widget.dependencies.worker.handle(X)}catch(X){x.error("Failed to send tool confirmation:",X)}};showConfirmationOverlay=(J)=>{this.setState(()=>{this.isShowingConfirmationOverlay=!0,this.confirmationOverlayContent=J})};getErrorKey(J){return`${J.constructor.name}:${J.message}`}getCurrentEphemeralError(){let{threadState:J}=this.widget.dependencies,Q=J.viewState;if(Q.state!=="active"||!Q.ephemeralError)return null;let Z=this.getErrorKey(Q.ephemeralError);if(this.dismissedEphemeralErrorKey===Z)return null;return Q.ephemeralError}handleEphemeralErrorResponse=async(J)=>{let Q=this.getCurrentEphemeralError(),Z=this.widget.dependencies.worker;switch(J){case"retry":this.dismissedEphemeralErrorKey=null,await Z.retry();break;case"dismiss":if(Q)this.dismissedEphemeralErrorKey=this.getErrorKey(Q);break;case"new-thread":{this.setState(()=>{this.dismissedEphemeralErrorKey=null}),await this.startAndSwitchToNewThread();break}case"new-smart-thread":{this.agentModeController?.setMode("smart"),this.setState(()=>{this.dismissedEphemeralErrorKey=null}),H41({agentMode:"smart"}),await this.startAndSwitchToNewThread();break}case"handoff":{if(Q)this.dismissedEphemeralErrorKey=this.getErrorKey(Q);this.showCommandPalette({type:"normal",commandId:"handoff"});break}}this.setState(()=>{})};handleDisplayMessageDismiss=()=>{this.setState(()=>{this.displayMessage=null})};handleMCPTrustOpenSettings=async()=>{let{mcpTrustHandler:J,settingsStorage:Q}=this.widget.dependencies;await J.deny();try{await v$(Q.getSettingsFilePath())}catch(Z){let Y=Z instanceof Error?Z.message:String(Z);await this.showErrorMessage(`Failed to open settings: ${Y}`)}};cancelStreamingMessage=async()=>{await L3.cancel(this.widget.dependencies.threadID)};markLastUserMessageAsInterrupted=async()=>{let J=this.widget.dependencies.threadState.mainThread;if(!J)return;for(let Q=J.messages.length-1;Q>=0;Q--){let Z=J.messages[Q];if(Z?.role==="user"&&!Z.interrupted){await this.widget.dependencies.worker.handle({type:"user:message:interrupt",messageIndex:Q});break}}};switchToExistingThread=async(J,Q={})=>{let{recordInNavigationHistory:Z=!0}=Q;if(Z){let Y=this.widget.dependencies.worker.thread.id;if(Y!==J)this.recordNavigation(Y)}try{x.info(`[switchToExistingThread] Switching to thread: ${J}`);let Y=await this.widget.dependencies.switchToThread(J);if(x.info(`[switchToExistingThread] Got worker for thread ${J}, thread.agentMode: ${Y.thread.agentMode}`),this.widget.dependencies.worker=Y,this.widget.dependencies.threadID=Y.thread.id,this.widget.dependencies.switchWorker(Y),x.info("[switchToExistingThread] Clearing agent mode"),this.agentModeController?.setMode(null),Y.thread.draft)if(x.info("[switchToExistingThread] Loading draft content into text controller"),this.textController.clear(),typeof Y.thread.draft==="string")this.textController.insertText(Y.thread.draft);else{let X=Y.thread.draft.filter((K)=>K.type==="text"),G=Y.thread.draft.filter((K)=>K.type==="image"),V=X.map((K)=>K.text).join(`
5012
5012
  `);if(V)this.textController.insertText(V);if(G.length>0)this.setState(()=>{this.imageAttachments=G})}}catch(Y){throw x.error("Failed to switch to thread:",J,Y),Error(`Failed to switch to thread: ${J}`)}};sendUserMessage=async(J)=>{await this.proceedWithUserMessage(J)};proceedWithUserMessage=async(J)=>{this.cancelBashInvocations(),this.widget.dependencies.history.add(J);let Q=this.widget.dependencies.getCurrentWorker()||this.widget.dependencies.worker,Z=s2(Q.thread)===0,Y=this.getEffectiveAgentMode();if(Q.thread.agentMode&&!Z&&Y!==Q.thread.agentMode){await this.showErrorMessage(`This thread uses ${Q.thread.agentMode} mode. To change mode, edit the first message or create a new thread.`);return}let X=[{type:"text",text:J}];if(this.imageAttachments.length>0)X.push(...this.imageAttachments);if(Z)this.startAgentModeSlide();if(await Q.handle({type:"user:message",message:{content:X,agentMode:Y}}),Z)H41({agentMode:Y});this.scrollMessageViewToBottom(),this.setState(()=>{if(this.imageAttachments=[],!this.hasSubmittedFirstMessage)this.hasSubmittedFirstMessage=!0}),_8.instance.addPostFrameCallback(()=>{if(!this.isMessageViewInSelectionMode&&!this.isShowingPalette&&!this.isShowingIdePicker)this.autocompleteFocusNode.requestFocus()})};async showErrorMessage(J){this.setState(()=>{this.displayMessage=Error(J)})}exitApplication=async()=>{this.setState(()=>{this.isExiting=!0});let J=this.widget.dependencies.threadState.mainThread;if(J?.messages.length===0){if(J.relationships?.find((Y)=>Y.type==="handoff"&&Y.role==="child"))await this.widget.dependencies.threadService.discardHandoffThread(J.id).catch(()=>{})}let Q=this.getEffectiveAgentMode();H41({agentMode:Q}).catch((Z)=>{x.warn("Failed to save session state on exit:",Z)}).finally(()=>{b8.instance.stop()})};onExitPressed=()=>{if(this.isConfirmingExit){if(this.exitConfirmTimeout)clearTimeout(this.exitConfirmTimeout),this.exitConfirmTimeout=null;this.exitApplication()}else{if(this.setState(()=>{this.isConfirmingExit=!0}),this.exitConfirmTimeout)clearTimeout(this.exitConfirmTimeout);this.exitConfirmTimeout=setTimeout(()=>{this.setState(()=>{this.isConfirmingExit=!1}),this.exitConfirmTimeout=null},1000)}};toHomeRelative(J){let Q=WB8();if(J===Q)return"~";if(J.startsWith(Q+sg.sep))return"~"+J.slice(Q.length);return J}shorten(J){let Q=J.split(sg.sep).filter(Boolean);if(Q.length<=5)return J;return[Q.slice(0,2).join(sg.sep),"…",Q.slice(-2).join(sg.sep)].join(sg.sep)}build(J){let Q=_4.of(J),Z=X6.of(J),Y=Z.base;this.themeColors=Y;let{colors:X,app:G}=Z;this.themeApp=G;let V=this.widget.dependencies.getCurrentWorker()||this.widget.dependencies.worker,K=V.thread.agentMode&&U9(V.thread.agentMode),q=this.widget.dependencies.features.some((K4)=>K4.name===fj1.UBI&&K4.enabled),W=this.widget.dependencies.freeTierStatus.canUseAmpFree&&q,H=(K||W)&&this.randomAd!==null,z=!K&&this.currentThreadFeedEntry!==null&&!this.threadFeedHidden,U=Boolean(H),{threadState:D}=this.widget.dependencies;this.updateTerminalTitle(),this.updateProgressBar();let M=this.getCurrentConfirmation(),L=this.widget.dependencies.replayMode,A=Boolean(L),E=D.items,I=D.mainThread||void 0,P=D.subagentToolsByParentID,T=D.todosList;if(A){let K4={...L.thread,messages:this.replayDisplayedMessages};E=vC(K4).items,I=K4,P={};let W4=sE({messages:this.replayDisplayedMessages});T=Array.isArray(W4)?W4:[]}let k=I?.id,y=I,v=A?this.replayDisplayedMessages.length===0:this.isTranscriptEmpty(),g=(K4)=>new f91({key:new a7(`preview-message-view-${K4.id}`),items:vC(K4).items,controller:this.threadPreviewController.scrollController,autofocus:!1,thread:K4,focusNode:new G8({debugLabel:"PreviewFocus"})}),p=this.previewThread,b=p?p.messages.length>2000?new x0({mainAxisSize:"max",children:[new c6({child:new Q0}),new W6({padding:z0.all(2),child:new j4({child:new _1({text:new l("Thread too long for preview",new r({color:X.mutedForeground,dim:!0}))})})})]}):g(p):v?new g91({agentMode:this.getEffectiveAgentMode(),mysteriousMessage:this.mysteriousMessage,mysterySequenceProgress:this.mysterySequenceProgress,onShowMysteryModal:this.handleShowMysteryModal,userDisplayBalanceInfo:this.userDisplayBalanceInfo}):new f91({key:k?new a7(`message-view-${k}`):void 0,items:E,subagentToolsByParentID:P,controller:k?this.getMessageScrollController(k):new l5,autofocus:!1,onCopy:A?void 0:this._handleTextCopy.bind(this),thread:y,onMessageEditSubmit:A?void 0:this.handleMessageEditSubmit,onMessageRestoreSubmit:A?void 0:this.handleMessageRestoreSubmit,onMessageForkSubmit:A?void 0:this.forkMessage,getAffectedFiles:A?void 0:this.getAffectedFiles,focusNode:this.messageViewFocusNode,onDismissFocus:()=>{if(this.setState(()=>{this.isMessageViewInSelectionMode=!1}),!this.isShowingIdePicker)this.autocompleteFocusNode.requestFocus()},isInSelectionMode:this.isMessageViewInSelectionMode}),a=Math.max(Math.floor(Q.size.height*0.4),12),V1=this.getCurrentEphemeralError(),t=Q.size.width<40,c=D.mainThread?En(D.mainThread):void 0,J1=P91(J),q1=this.buildBottomWidget(V1,M,X,Z,D,T,a,U,A,c,this.cacheTimerState??void 0,Q,J1),D1=new s81({threadViewState:D.viewState,threadTokenUsage:c,threadID:k??null,thread:D.mainThread??void 0,onFileChangesClick:()=>{this.setState(()=>{this.isShowingFileChangesOverlay=!this.isShowingFileChangesOverlay})},onShowIdePicker:this.openIdePicker,ideStatus:this.ideStatus,connectedClientsStatus:this.connectedClientsStatus,mcpServers:this.mcpServers,isNarrow:t,uiHint:this.getUIHint()??void 0,waitingForConfirmation:!!M,showingEphemeralError:Boolean(D.viewState.state==="active"&&D.viewState.ephemeralError),runningBashInvocations:this.bashInvocations.length>0,executingCommand:this.executingCommand?.name??null,executingCommandNoun:this.executingCommand?.noun??null,executingCommandVerb:this.executingCommand?.verb??null,executingCommandMessage:this.executingCommand?.statusMessage??null}),s=new o81({bashInvocations:this.bashInvocations}),o=[];if(z&&this.currentThreadFeedEntry)o.push(new ey1({entry:this.currentThreadFeedEntry,width:Q.size.width}));let i=this.getEffectiveAgentMode(),F1=this.currentShellModeStatus,k1=Vx1(i),e=!F1?i.length+1:0,f1=Q.capabilities.animationSupport,R1=f1==="disabled"?0:f1==="slow"?30:60,W0=EK(i)?.uiHints?.fasterAnimation?3:1,T1=R1>0&&this.agentModePulseSeq>0?new f9({children:[q1,new f5({top:0,left:1,right:1,height:1,child:new ny1({color:k1,trigger:this.agentModePulseSeq,fps:R1,speed:W0,leftOffset:e})})]}):q1;o.push(new c6({child:b}),s);let n1=new f9({children:[new x0({mainAxisSize:"min",children:[H?new Qy1({ad:this.randomAd,onButtonClick:async()=>{let K4=this.randomAd;if(this.lastAdImpressionId)Promise.resolve().then(() => (M51(),D51)).then(({recordAdEvent:E9})=>{let Y5=this.widget.dependencies.worker.thread,i$=Y5.messages[Y5.messages.length-1];E9("clicked",{adId:K4.id,advertiserId:K4.advertiserId,threadId:Y5.id,messageId:i$?.messageId,impressionId:this.lastAdImpressionId,placement:"tui",actionType:"link_to",matchType:K4.metadata?.matchType,matchedPatterns:K4.metadata?.matchedPatterns,candidateAdPoolCount:K4.metadata?.candidateAdPoolCount,clientRegion:K4.metadata?.clientRegion})});if(!await f2(this.context,K4.shortDestinationUrl)){let Y5=b8.instance.tuiInstance.clipboard.isOsc52Supported();this.setState(()=>{this.adActionModal={showCopyOption:Y5,url:K4.shortDestinationUrl}})}}}):new Q0({height:0}),new b0({constraints:new A6(0,Q.size.width,0,a),child:T1})]}),U?new f5({top:0,left:0,right:0,child:new QZ6({userHeight:this.bottomGridUserHeight,maxHeight:a,onInitializeHeight:(K4)=>{this.setState(()=>{this.bottomGridUserHeight=Math.min(K4,a)})},onDrag:(K4)=>{if(this.bottomGridDragStartY===null)this.bottomGridDragStartY=Math.floor(K4.localPosition.y),this.bottomGridDragStartHeight=this.bottomGridUserHeight;let W4=Math.floor(K4.localPosition.y)-this.bottomGridDragStartY,E9=Math.max(4,this.bottomGridDragStartHeight-W4),Y5=Math.min(E9,a),i$=Math.floor(Y5);if(this.bottomGridUserHeight!==i$)this.setState(()=>{this.bottomGridUserHeight=i$})},onRelease:()=>{this.bottomGridDragStartY=null,this.bottomGridDragStartHeight=null}})}):new Q0({height:0})]});o.push(n1,new Q0({height:1,child:new W6({padding:z0.horizontal(1),child:D1})}));let U1=new x0({crossAxisAlignment:"stretch",mainAxisSize:"max",children:o}),O1=A&&L?.showIndicator!==!1?new f9({children:[U1,new f5({top:0,left:0,child:new ty1})]}):U1,A1=new I8(()=>{if(this.isShowingPalette)return this.dismissPalette(),"handled";if(this.isShowingMCPStatusModal)return this.setState(()=>{this.isShowingMCPStatusModal=!1}),"handled";if(this.pendingMCPServers.length>0)return this.widget.dependencies.mcpTrustHandler.deny(),"handled";if(this.getCurrentEphemeralError())return this.handleEphemeralErrorResponse("dismiss"),"handled";if(this.displayMessage)return this.handleDisplayMessageDismiss(),"handled";if(this.isShowingHelp)return this.setState(()=>{this.isShowingHelp=!1}),"handled";if(this.isShowingFileChangesOverlay)return this.setState(()=>{this.isShowingFileChangesOverlay=!1}),"handled";if(this.isShowingContextDetailOverlay)return this.setState(()=>{this.isShowingContextDetailOverlay=!1}),"handled";if(this.isShowingIdePicker)return this.dismissIdePicker(),"handled";if(this.isShowingJetBrainsInstaller)return this.dismissJetBrainsInstaller(),"handled";if(this.isShowingConfirmationOverlay)return this.setState(()=>{this.isShowingConfirmationOverlay=!1,this.confirmationOverlayContent=""}),"handled";if(this.isShowingConsoleOverlay)return this.setState(()=>{this.isShowingConsoleOverlay=!1}),"handled";if(this.textController.hasSelection)return this.textController.clearSelection(),"handled";if(this.isConfirmingClearInput){if(this.textController.clear(),this.setState(()=>{this.isConfirmingClearInput=!1,this.imageAttachments=[]}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout),this.clearInputConfirmTimeout=null;return"handled"}if(this.isConfirmingCancelProcessing){if(this.bashInvocations.length>0)this.cancelBashInvocations();if(this.isProcessing())this.markLastUserMessageAsInterrupted().catch((W4)=>{x.error("Failed to mark message as interrupted:",W4)}),this.cancelStreamingMessage().catch((W4)=>{x.error("Failed to cancel streaming message:",W4)});if(this.setState(()=>{this.isConfirmingCancelProcessing=!1}),this.cancelProcessingConfirmTimeout)clearTimeout(this.cancelProcessingConfirmTimeout),this.cancelProcessingConfirmTimeout=null;return"handled"}if(this.executingCommand)return x.info("Canceling executing command:",this.executingCommand.name),this.executingCommand.abortController.abort(),"handled";if(this.bashInvocations.length>0||this.isProcessing()){if(this.setState(()=>{this.isConfirmingCancelProcessing=!0}),this.cancelProcessingConfirmTimeout)clearTimeout(this.cancelProcessingConfirmTimeout);return this.cancelProcessingConfirmTimeout=setTimeout(()=>{this.setState(()=>{this.isConfirmingCancelProcessing=!1}),this.cancelProcessingConfirmTimeout=null},1000),"handled"}if(this.textController.text.trim()!==""||this.imageAttachments.length>0){if(this.setState(()=>{this.isConfirmingClearInput=!0}),this.clearInputConfirmTimeout)clearTimeout(this.clearInputConfirmTimeout);return this.clearInputConfirmTimeout=setTimeout(()=>{this.setState(()=>{this.isConfirmingClearInput=!1}),this.clearInputConfirmTimeout=null},1000),"handled"}return"ignored"}),P1=new I8(()=>{return this.onExitPressed(),"handled"}),S1=new I8(()=>{return this.setState(()=>{this.isShowingConsoleOverlay=!this.isShowingConsoleOverlay}),"handled"}),p1=new I8(()=>{return this.setState(()=>{this.isShowingMCPStatusModal=!this.isShowingMCPStatusModal}),"handled"}),m1=new I8(()=>{return AJ.instance.toggleAll(),"handled"}),o1=new I8(()=>{return this.widget.dependencies.configService.getLatest().then((K4)=>{IG("internal.showDetailedCosts",!(K4.settings["internal.showDetailedCosts"]??!1))}),"handled"}),G0=new I8(()=>{return b8.instance.toggleFrameStatsOverlay(),"handled"}),V0=new I8(()=>{return b8.instance.tuiInstance.getScreen().markForRefresh(),_8.instance.requestFrame(),"handled"}),R0=new I8(()=>{return this.toggleAgentMode(),"handled"}),k6=new I8(()=>{let W4=this.isShowingPalette&&this.previewThread?this.threadPreviewController.scrollController:(()=>{let{threadState:E9}=this.widget.dependencies,Y5=E9.mainThread?.id;return Y5?this.getMessageScrollController(Y5):null})();if(W4){let E9=Math.max(Math.floor(Q.size.height*0.4),10),Y5=Q.size.height-E9;W4.animatePageUp(Y5,100)}return"handled"}),g6=new I8(()=>{let W4=this.isShowingPalette&&this.previewThread?this.threadPreviewController.scrollController:(()=>{let{threadState:E9}=this.widget.dependencies,Y5=E9.mainThread?.id;return Y5?this.getMessageScrollController(Y5):null})();if(W4){let E9=Math.max(Math.floor(Q.size.height*0.4),10),Y5=Q.size.height-E9;W4.animatePageDown(Y5,100)}return"handled"}),x4=new I8(()=>{let W4=this.isShowingPalette&&this.previewThread?this.threadPreviewController.scrollController:(()=>{let{threadState:E9}=this.widget.dependencies,Y5=E9.mainThread?.id;return Y5?this.getMessageScrollController(Y5):null})();if(W4)W4.animateTo(0,100);return"handled"}),M4=new I8(()=>{let W4=this.isShowingPalette&&this.previewThread?this.threadPreviewController.scrollController:(()=>{let{threadState:E9}=this.widget.dependencies,Y5=E9.mainThread?.id;return Y5?this.getMessageScrollController(Y5):null})();if(W4)W4.animateTo(Number.MAX_SAFE_INTEGER,100);return"handled"}),w9=new I8(()=>{if(!this.isTextfieldAndAutocompleteFocused)return"ignored";let{threadState:K4}=this.widget.dependencies;if(!K4.mainThread?.messages.some((E9)=>E9.role==="user"||rE(E9)))return"ignored";return this.setState(()=>{this.isMessageViewInSelectionMode=!0}),"handled"}),w0=new I8((K4)=>{if(K4.direction==="previous")this.navigateHistoryPrevious();else this.navigateHistoryNext();return"handled"}),a0=new I8(()=>{if(!this.isTextfieldAndAutocompleteFocused)return"ignored";return d81().then(async(K4)=>{if(K4)try{this.handleInsertImage(K4)}finally{try{let{unlink:W4}=await import("node:fs/promises");await W4(K4)}catch{}}}),"handled"}),t6=new Map([[X4.ctrl("c"),new Og],[X4.ctrl("l"),new Rg],[X4.ctrl("o"),new m81],[X4.ctrl("v"),new Lg],[X4.alt("s"),new EC],[X4.ctrl("s"),new EC],[X4.alt("p"),new Pg],[X4.ctrl("r"),new Eg],[X4.alt("d"),new Ig],[X4.ctrl("t"),new Tg],[X4.key("PageUp"),new v81],[X4.key("PageDown"),new f81],[X4.key("Home"),new h81],[X4.key("End"),new b81],[X4.key("Escape"),new Ag],[X4.ctrl("p"),new IC("previous")],[X4.ctrl("n"),new IC("next")],[X4.key("Tab"),new jg]]);if(!u3())t6.set(X4.key("ArrowUp"),new jg);if(!1)t6.set(X4.alt("c"),new wg);let l8=new I8(()=>{if(this.isShowingStandalonePalette())return"handled";return this.showCommandPalette(),"handled"}),w7=new I8(()=>{return this.toggleThreadPickerWorkspaceFilter(),"handled"}),b5=new I8(()=>{if(this.mysteriousMessage)this.handleShowMysteryModal();return"handled"}),G7=new Map([[Ag,A1],[Rg,V0],[EC,R0],[m81,l8],[Lg,a0],[wg,S1],[j81,p1],[Eg,m1],[Ig,o1],[Pg,G0],[Tg,w7],[Og,P1],[v81,k6],[f81,g6],[h81,x4],[b81,M4],[jg,w9],[IC,w0],[Cg,b5]]),i8=[O1];if(this.isShowingConsoleOverlay)i8.push(new Cy1);if(this.isShowingHelp&&this.paletteConfig)i8.push(new _y1({commands:this.getPaletteCommands().getAllCommands()}));if(this.isShowingMCPStatusModal)i8.push(new Ak1({servers:this.mcpServers,onDismiss:()=>{this.setState(()=>{this.isShowingMCPStatusModal=!1})}}));if(this.isShowingMysteriousMessageModal&&this.mysteriousMessage)i8.push(new ry1({message:this.mysteriousMessage,onDestruct:this.handleDestructMysteriousMessage}));if(this.adActionModal)i8.push(new Zy1({title:"Failed to open browser",message:this.adActionModal.url,showCopyOption:this.adActionModal.showCopyOption,onSelect:async(K4)=>{let W4=this.adActionModal.url;if(K4==="copy")try{await b8.instance.tuiInstance.clipboard.writeText(W4),this.setState(()=>{this.displayMessage=new aQ("Link copied to clipboard")})}catch(E9){x.error("Failed to copy to clipboard",{error:E9}),this.setState(()=>{this.displayMessage=Error("Failed to copy to clipboard")})}this.setState(()=>{this.adActionModal=null})}}));if(this.pendingMCPServers.length>0){let{mcpTrustHandler:K4}=this.widget.dependencies;i8.push(new ay1({servers:this.pendingMCPServers,onAlwaysTrust:K4.trustAlways.bind(K4),onTrustOnce:K4.trustOnce.bind(K4),onOpenSettings:this.handleMCPTrustOpenSettings,onDismiss:K4.deny.bind(K4)}))}if(this.pendingOAuthRequest)i8.push(new sy1({request:this.pendingOAuthRequest,onDismiss:()=>{this.setState(()=>{this.pendingOAuthRequest=null})}}));if(this.isShowingFileChangesOverlay)i8.push(new sS1({threadData:D}));if(this.isShowingContextDetailOverlay){let K4=this.threadCostInfo?.costBreakdownURL;i8.push(new jy1({thread:D.mainThread??void 0,tokenUsage:c??void 0,cacheTimerState:this.cacheTimerState??void 0,costInfo:this.threadCostInfo,onDismiss:()=>{this.setState(()=>{this.isShowingContextDetailOverlay=!1})},onOpenCostBreakdown:K4?()=>{f2(J,K4)}:void 0}))}if(this.isShowingConfirmationOverlay)i8.push(new Ry1({details:this.confirmationOverlayContent}));let c9=this.getCommandPaletteContext(J);if(c9&&this.isShowingPalette&&this.paletteConfig)i8.push(new j4({child:new Iy1({commandContext:c9,mainThread:D.mainThread,commands:this.getPaletteCommands(),onDismiss:this.dismissPalette,showOptions:this.paletteShowOptions??void 0})}));if(this.isShowingIdePicker)i8.push(new yy1({onCancel:this.dismissIdePicker,onSelect:this.handleIdeSelection,jetbrainsMode:this.widget.dependencies.jetbrainsMode}));let Y8=new f9({children:i8});if(this.isShowingJetBrainsInstaller)return new QO({child:new NJ({actions:G7,child:new YX({shortcuts:t6,debugLabel:"jetbrains-installer-shortcuts",child:new iy1({configService:this.widget.dependencies.configService,ideClient:this.widget.dependencies.ideClient,onExit:()=>process.exit(0),onContinue:this.dismissJetBrainsInstaller})})})});return new Kz({controller:this.toastController,child:new QO({child:new uS1({controller:this.toastController,child:new NJ({actions:G7,child:new YX({shortcuts:t6,debugLabel:"main-app-shortcuts",child:Y8})})})})})}buildScrollableTodoList(J,Q,Z){return new eQ6({todos:J,enabled:Q,controller:this.todoScrollController,appTheme:Z})}buildBottomWidget(J,Q,Z,Y,X,G,V,K,q,W,H,z,U){if(J)return new Sy1({error:J,ampURL:this.widget.dependencies.ampURL,onResponse:this.handleEphemeralErrorResponse});if(Q){if(this.displayMessage)this.handleDisplayMessageDismiss();return new Ty1({confirmationRequest:Q,onResponse:this.onConfirmationResponse,onShowOverlay:this.showConfirmationOverlay})}if(this.displayMessage)return new oy1({message:this.displayMessage,onDismiss:this.handleDisplayMessageDismiss});let D=n81(Y),M=this.agentModeController?.isInRestrictedFreeMode()??!1,L=new UO({key:this.textFieldKey,controller:this.textController,triggers:q?[]:[new XN],completionBuilder:q?void 0:this.getCompletionBuilder(),ampURL:this.widget.dependencies.ampURL,onSubmitted:q?void 0:this.onTextSubmitted,theme:Z,placeholder:q?"Press Ctrl+C to exit":M?"Amp Free is not enabled. Press Ctrl+S to switch modes.":void 0,enabled:this.isTextfieldAndAutocompleteFocused&&!M&&!this.isShowingStandalonePalette(),shellPromptRules:D,focusNode:this.autocompleteFocusNode,autofocus:!this.isMessageViewInSelectionMode&&!this.isShowingStandalonePalette()&&!this.isShowingIdePicker,clipboard:b8.instance.tuiInstance.clipboard,onCopy:this._handleTextCopy.bind(this),onInsertImage:this.handleInsertImage,imageAttachments:this.imageAttachments,popImage:this.handlePopImage,previousThreadId:this.previousThreadIdForHint&&(X.mainThread?.messages.length??0)===0?this.previousThreadIdForHint:void 0,onPreviousThreadHintAccepted:()=>{let i=this.previousThreadIdForHint;if(i)this.setState(()=>{this.previousThreadIdForHint=null}),this.textController.text=`following: @${i} `},onDoubleAtTrigger:q?void 0:()=>{let i=this.textController.text,F1=this.textController.cursorPosition,e=i.slice(0,F1).lastIndexOf("@@");this.showCommandPalette({type:"standalone",commandId:"attach-plan",onBeforeExecute:()=>{if(e!==-1){let f1=this.textController.text,R1=f1.slice(0,e)+f1.slice(e+2);this.textController.text=R1,this.textController.cursorPosition=e}},onSubmit:()=>{this.dismissPalette()},onCancel:()=>{this.dismissPalette()}})}}),A=X.mainThread?.queuedMessages??[],E=Array.isArray(G)&&G.length>0,I=Array.isArray(A)&&A.length>0,P=X.mainThread?.agentMode==="plan"&&GA(X.mainThread),T,k;if(P){if(T=new aB(new h91({thread:X.mainThread,onExecute:async()=>{let i=this.getCommandPaletteContext();if(i)await this.getPaletteCommands().execute("execute-plan",i,void 0,new AbortController)},onEdit:async()=>{try{let i=process.env.EDITOR||process.env.VISUAL||"nano",{filePath:F1}=await this.widget.dependencies.planFileManager.ensureSync(X.mainThread.id);b8.instance.tuiInstance.suspend();let{execSync:k1}=await import("child_process");k1(`${i} "${F1}"`,{stdio:"inherit"}),b8.instance.tuiInstance.resume()}catch(i){x.error("Failed to edit plan",i),this.setState(()=>{this.displayMessage=Error("Failed to edit plan")})}},controller:this.planScrollController,appTheme:Y}),{clipBehavior:"antiAlias"}),I)k=new N51({queuedMessages:A});else if(E)k=this.buildScrollableTodoList(G,this.isTextfieldAndAutocompleteFocused&&!M,Y)}else T=I?new N51({queuedMessages:A}):void 0,k=E?this.buildScrollableTodoList(G,this.isTextfieldAndAutocompleteFocused&&!M,Y):void 0;let y=[],v=this.currentShellModeStatus;if(v)y.push({child:new _1({text:new l(v==="hidden"?"shell mode (incognito)":"shell mode",new r({color:v==="hidden"?Y.app.shellModeHidden:Y.app.shellMode}))}),position:"top-left"});let p=this.connectedClientsStatus&&this.connectedClientsStatus.enabled?this.connectedClientsStatusExpanded?(this.connectedClientsStatus?.clientID?.length??7)+3:3:0,b=this.agentModeController?.getVisibleModes()??[];if(!v&&b.length>1){let i=this.previewThread,F1=i?i.agentMode??this.getEffectiveAgentMode():this.getEffectiveAgentMode(),k1=Vx1(F1),e=this.widget.dependencies.getCurrentWorker()||this.widget.dependencies.worker,f1=i??e.thread,R1=s2(f1)>0,W0=this.agentModeSlideProgress!==null,T1,n1;if(W0){T1="top-left";let Z1=z.size.width-F1.length-4-p;n1=Math.floor(this.agentModeSlideProgress*Z1)}else if(R1)T1="top-right",n1=p;else T1="top-left",n1=void 0;if(i)y.push({child:new _1({text:new l(F1,new r({color:k1}))}),position:T1,offsetX:n1});else{let U1=!R1&&!W0,Z1=new _1({text:new l(F1,new r({color:k1}))});y.push({child:U1?new V8({child:Z1,onClick:this.toggleAgentMode,cursor:"pointer"}):Z1,position:T1,offsetX:n1})}}if(this.connectedClientsStatus&&this.connectedClientsStatus.enabled){let i=this.connectedClientsStatus,F1=i.mode||"disconnected",k1=!!i.errorMessage,e=i.clientID||"unknown",f1,R1;if(k1)f1="●",R1=H1.red;else if(F1==="presence")f1="○",R1=H1.yellow;else if(F1==="connected"&&i.connected)f1="●",R1=H1.green;else f1="○",R1=H1.yellow;let W0=this.connectedClientsStatusExpanded?`${e} ${f1}`:f1;y.push({child:new V8({child:new _1({text:new l(W0,new r({color:R1}))}),onClick:this.toggleConnectedClientsStatus,cursor:"pointer"}),position:"top-right",offsetX:-2})}let a=q?this.widget.dependencies.replayMode.thread.env?.initial.trees?.[0]?.uri:X.mainThread?.env?.initial.trees?.[0]?.uri,V1;if(a)V1=h0.parse(a).fsPath;else V1=process.cwd();let t=this.toHomeRelative(V1),c=this.shorten(t),J1=!q&&this.currentGitBranch?`${c} (${this.currentGitBranch})`:c;if(y.push({child:new _1({text:new l(J1,new r({color:Z.foreground,dim:!0}))}),position:"bottom-right"}),this.previousThreadIdForHint&&(X.mainThread?.messages.length??0)===0&&this.textController.text.trim()==="")y.push({child:new _1({text:new l("",void 0,[new l("press ",new r({color:Z.foreground,dim:!0})),new l("enter",new r({color:Y.app.keybind})),new l(" to reference the previous thread",new r({color:Z.foreground,dim:!0}))])}),position:"bottom-left"});let D1=this.previewThread,s=this.widget.dependencies.getCurrentWorker()||this.widget.dependencies.worker;if(s2(s.thread)>0&&!v&&!D1){let i=[],F1=new r({color:Z.foreground,dim:!0}),k1=new l(" · ",F1);if(W){let e=W.totalInputTokens/W.maxInputTokens,f1=Math.round(e*100),R1=Math.max(0,Math.min(f1,100)),W0=r81(e,W.maxInputTokens),T1=F1;if(W0==="danger")T1=new r({color:Z.destructive});else if(W0==="warning")T1=new r({color:Z.warning});else if(W0==="recommendation")T1=new r({color:Y.app.recommendation});let n1=Math.round(W.maxInputTokens/1000);i.push(new l(`${R1}% of ${n1}k`,T1))}if(U&&this.threadCostInfo){let e=e91(this.threadCostInfo,{colors:{foreground:Z.foreground},dim:!0});if(e.length>0){if(i.length>0)i.push(k1);i.push(...e)}}if(U&&H){let e=X.viewState.state==="active"&&X.viewState.inferenceState==="idle",f1=G96(H,e);if(f1){if(i.length>0)i.push(k1);let R1=F1;if(f1.urgency==="warning")R1=new r({color:Z.warning});i.push(new l(f1.text,R1))}}if(i.length>0){let e=new _1({text:new l("",void 0,i)});y.push({child:U?new V8({child:e,onClick:this.showContextDetailOverlay,cursor:"pointer"}):e,position:"top-left"})}}return new iS1({leftChild:new c6({child:L}),rightChild1:T,rightChild2:k,maxHeight:V,overlayTexts:y,borderColor:M||!this.isTextfieldAndAutocompleteFocused?H1.index(8):void 0,hasBanner:K,userHeight:this.bottomGridUserHeight,onInitializeHeight:(i)=>{this.setState(()=>{this.bottomGridUserHeight=Math.min(i,V)})},onDrag:(i)=>{if(this.bottomGridDragStartY===null)this.bottomGridDragStartY=Math.floor(i.localPosition.y),this.bottomGridDragStartHeight=this.bottomGridUserHeight;let F1=Math.floor(i.localPosition.y)-this.bottomGridDragStartY,k1=Math.max(4,this.bottomGridDragStartHeight-F1),e=Math.min(k1,V),f1=Math.floor(e);if(this.bottomGridUserHeight!==f1)this.setState(()=>{this.bottomGridUserHeight=f1})},onDragRelease:()=>{this.bottomGridDragStartY=null,this.bottomGridDragStartHeight=null},enableResize:!K})}}async function Kx1(J){if((await J.configService.getLatest()).settings["terminal.animation"]===!1)b8.instance.tuiInstance.setOptions({queryOptions:{animationDisabled:!0}});let Y=()=>null,G=!1,V=new Jz(G,1000,J.inspectorPort),K=J.features.find((A)=>A.name===fj1.AMP_CONNECT)?.enabled??!1,q=new ek1({threadService:J.threadService,worker:J.worker,builder:(A,E,I,P,T,k)=>{if(Y=T,J.threadDependencies&&K)GS1(J.threadDependencies,J.configService,T,P,J.connectedClientsService,J.startNewThread,J.switchToThread,J.clientId).catch((g)=>{x.error("Failed to start automatic presence:",g)});let y=T(),v={...J,worker:y,threadID:y.thread.id};return new tQ6({...v,threadState:E,workerController:I,switchWorker:P,getCurrentWorker:T,recentThreadIDs:k})}}),W=new nS1({configService:J.configService,child:q}),H=new Ok1({configService:J.configService,child:W}),z=new yS1(H),U=new X6({data:PC.fromBaseTheme(f$.default()),child:z});try{await Ej1(U,{onRootElementMounted:(A)=>{if(x.info("TUI input ready for user interaction"),G)V.start(A)}})}finally{if(G)V.stop();if(J.threadDependencies&&K){let{stopGlobalSession:A}=await Promise.resolve().then(() => (VS1(),D56));A()}}let M=Y()?.thread.id||J.threadID,L=await J.threadService.get(M);if(L&&L.messages.length>0){let A=`${J.ampURL.replace(/\/$/,"")}/threads/${M}`;b56(L,A,J.stdout)}}function Vx1(J){let Z=EK(J)?.uiHints?.secondaryColor;if(Z)return H1.rgb(Z.r,Z.g,Z.b);return zB8(J)}class eQ6 extends p0{props;constructor(J){super();this.props=J}createState(){return new JZ6}}class JZ6 extends g0{viewportHeight=1;scrollListenerAttached=!1;initState(){if(!this.scrollListenerAttached)this.widget.props.controller.addListener(()=>{this.updateViewportHeight()}),this.scrollListenerAttached=!0}build(J){let{todos:Q,controller:Z,appTheme:Y}=this.widget.props;return new B6({crossAxisAlignment:"stretch",children:[new c6({child:new W5({controller:Z,autofocus:!1,child:new Jy1({todos:Q})})}),new LJ({controller:Z,thumbColor:Y.app.scrollbarThumb,trackColor:Y.app.scrollbarTrack,getScrollInfo:()=>{let{maxScrollExtent:X,offset:G}=Z,V=this.viewportHeight,K=X+V;return{totalContentHeight:Math.max(K,0),viewportHeight:Math.max(V,1),scrollOffset:Math.max(G,0)}}})]})}updateViewportHeight(){let J=this.getViewportHeight();if(J!==this.viewportHeight)this.viewportHeight=J}getViewportHeight(){let J=this.context.findRenderObject();if(!J)return this.viewportHeight;let Q=(Y,X=0)=>{if(Y&&"size"in Y&&"children"in Y){let G=Y.children||[];for(let V of G){if(V&&"size"in V){let q=V.size;if(typeof q?.height==="number"&&q.height>0)return q.height}let K=Q(V,X+1);if(K>0)return K}}return 0},Z=Q(J);if(Z>0)return Z;if("size"in J){let Y=J.size;if(typeof Y?.height==="number"&&Y.height>0)return Y.height}return this.viewportHeight}}class QZ6 extends I6{props;constructor(J){super();this.props=J}build(J){return new V8({child:new Q0({height:1}),cursor:j9.NS_RESIZE,onDrag:(Q)=>{if(this.props.userHeight===void 0){let Y=J.findRenderObject()?.size.height??0;if(Y>0){this.props.onInitializeHeight(Y);return}}this.props.onDrag(Q)},onRelease:this.props.onRelease})}}function zB8(J){let Q=0;for(let X=0;X<J.length;X++){let G=J.charCodeAt(X);Q=(Q<<5)-Q+G,Q=Q&Q}let Z=[9,10,11,12,13,14,15,208,209,210,211,212,213,214,215],Y=Math.abs(Q)%Z.length;return H1.index(Z[Y])}wj1();try{if(process.platform==="win32")await Promise.resolve().then(() => q6(Yj(),1))}catch{}if(process.env.AMP_PWD)try{process.chdir(process.env.AMP_PWD),delete process.env.AMP_PWD}catch(J){QZ.write(`Failed to change directory to ${process.env.AMP_PWD}: ${J}
5013
- `)}var hv1=fv1.join(DW0||fv1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");function yL8(J){process.emitWarning=function(Q,Z,Y,X){let G=typeof Q==="string"?Q:Q.message||String(Q),V=Z||"Warning",K=!1;J.warn(G,{name:V,code:Y})}}function _V(J,Q){if(J.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")IG("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(J.getOptionValueSourceWithGlobals("mode")==="cli")IG("experimental.agentMode",Q.mode);if(J.getOptionValueSourceWithGlobals("useSonnet")==="cli")IG("model.sonnet",Q.useSonnet)}async function mv1(J){try{await SL8(fv1.dirname(hv1),{recursive:!0}),await _L8(hv1,J,"utf-8")}catch(Q){x.debug("Failed to save last thread ID",Q)}}async function xL8(){try{return(await C$6(hv1,"utf-8")).trim()}catch(J){return null}}function vL8(J){return!!(J&&(J.endsWith("@sourcegraph.com")||J.endsWith("@ampcode.com")||J==="auth-bypass-user@example.com"))}async function fL8(J){try{let Q=await K5.getUserInfo({},{config:J,signal:AbortSignal.timeout(5000)});if(Q.ok)return Q.result}catch(Q){x.debug("Failed to fetch user info:",Q)}return}var P$6=[{name:"notifications",long:"notifications",type:"flag",description:(J)=>`${J?"Enable":"Disable"} sound notifications (enabled by default when not in execute mode)`},{name:"color",long:"color",type:"flag",description:(J)=>`${J?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`,deprecated:!0},{name:"settingsFile",long:"settings-file",type:"option",default:process.env.AMP_SETTINGS_FILE??j$,description:`Custom settings file path (overrides the default location ${j$})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(x).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:`Set log file location (overrides the default location ${bA})`},{name:"format",long:"format",type:"option",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","jsonl","new-ui"],hidden:!0,deprecated:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:u3(),description:(J)=>J?"Enable JetBrains integration. When enabled, Amp automatically includes your open JetBrains file and text selection with every message.":"Disable JetBrains integration"},{name:"ide",long:"ide",type:"flag",default:!0,description:(J)=>J?"Enable IDE connection (default). When enabled, Amp automatically includes your open IDE's file and text selection with every message.":"Disable IDE connection"},{name:"interactive",long:"interactive",type:"flag",description:(J)=>J?"Enable interactive mode. This will enable the interactive UI.":"Disable interactive mode. This will disable the interactive UI.",hidden:!0,deprecated:!0},{name:"mcpConfig",long:"mcp-config",type:"option",description:"JSON configuration or file path for MCP servers to merge with existing settings"},{name:"useSonnet",long:"use-sonnet",type:"flag",description:(J)=>J?"Use Claude Sonnet 4.5 instead of Claude Opus 4.5":"Use default model (Claude Opus 4.5)"},{name:"tryOpus",long:"try-opus",type:"switch",default:!1,description:"(deprecated) Opus 4.5 is now the default in smart mode",hidden:!0,deprecated:!0},{name:"mode",long:"mode",short:"m",type:"option",default:hW.SMART.key,description:`Set the agent mode (${cX().map((J)=>J.mode).join(", ")}) — controls the model, system prompt, and tool selection`,choices:cX().map((J)=>J.mode).concat("large")}],R$6=(J)=>("deprecated"in J)&&J.deprecated===!0,hL8=(J)=>("hidden"in J)&&J.hidden===!0,bL8=(J)=>("default"in J),mL8=(J)=>("default"in J)?J.default:void 0;function gL8(J,Q){let Z=Q.args[0],Y=Q.commands.map((G)=>G.name());if(Z&&!Z.includes(" ")&&Z.length<30&&!/[./\\]/.test(Z)){let G=Y.filter((K)=>Z.includes(K)||K.includes(Z)),V="Run amp --help for a list of available commands.";if(G.length>0)V=`Did you mean: ${G.join(", ")}? Or run amp --help for all commands.`;throw new C8(C$.unknownCommand(Z),1,V)}}var j$6=null;function vA5(){return j$6}function Au(J){return{...J,getThreadEnvironment:m61,vfs:vI0({os:J.fileSystem},J.configService.config),fileChangeTrackerStorage:new nx(J.fileSystem),generateThreadTitle:Oi0,deleteThread:(Q)=>J.threadService.delete(Q)}}var gv1=h0.file(kL8.homedir()),S$6=process.env.XDG_CONFIG_HOME?h0.file(process.env.XDG_CONFIG_HOME):n0.joinPath(gv1,".config");async function l$(J,Q){BB0("0.0.1765569693-ga99d1a");let Z=mH1({storage:J.settings,secretStorage:J.secrets,workspaceRoots:t1.of([h0.file(process.cwd())]),defaultAmpURL:J.ampURL,homeDir:gv1,userConfigDir:S$6}),{initializeCLITelemetry:Y}=await Promise.resolve().then(() => (M51(),D51));Y(Z);let X=await Z.getLatest();x.debug("Global configuration initialized",{settingsKeys:Object.keys(X.settings)});let{toolService:G,dispose:V}=vr0({configService:Z}),K=new Map,q=()=>K.clear(),W=new QB1(Z,J.settings.getWorkspaceRootPath()),H=pE0({configService:Z,trustStore:W,createOAuthProvider:async(t,c,J1)=>{let q1=`${t}:${c}`,D1=K.get(q1);if(D1)return x.debug("Reusing existing OAuth provider for server",{serverName:t,serverUrl:c}),D1;x.debug("Creating OAuth provider for server",{serverName:t,serverUrl:c});let s=(async()=>{let o=new TM(J.secrets),i=await o.getClientInfo(t,c),F1=J1?.scopes??i?.scopes,k1=W66();x.info("OAuth headless mode check",{useHeadless:k1,executeMode:J.executeMode,envVar:process.env.AMP_HEADLESS_OAUTH,isTTY:r9.isTTY});let e=void 0;if(k1)e=J.executeMode?q66():K66(t);let f1=new IU1({storage:o,serverName:t,serverUrl:c,clientId:J1?.clientId??i?.clientId,clientSecret:J1?.clientSecret??i?.clientSecret,authUrl:J1?.authUrl??i?.authUrl,tokenUrl:J1?.tokenUrl??i?.tokenUrl,scopes:F1,headlessAuthHandler:e});return x.debug("OAuth provider created",{serverName:t,serverUrl:c,hasManualClientId:!!(J1?.clientId??i?.clientId),willUseDCR:!(J1?.clientId??i?.clientId),scopes:F1,headlessMode:k1,executeMode:J.executeMode}),f1})();return K.set(q1,s),s}}),z=b01({configService:Z,filesystem:J5,spawn:NA}),{initializeToolProviders:U,startToolProviders:D}=await Promise.resolve().then(() => (I$6(),E$6)),M;if(J.executeMode){let t=await U({toolService:G,providers:[H,z],initialTimeout:15000});M=t.registrations;for(let[c,J1]of t.initErrors)x.warn(`${c} provider initialization slow or failed:`,J1)}else M=D({toolService:G,providers:[H,z]});if(Q.jetbrains)eE("JetBrains");else if(Q.ide&&d66())eE("VS Code");else if(Q.ide&&c66())eE("Neovim");if(J.executeMode)NB0(!0);let L,A=F3.status.pipe(Q6((t)=>Boolean(t.connected&&t.authenticated)),B4()).subscribe((t)=>{if(t){if(!L)L=G.registerTool(Oa0)}else L?.dispose(),L=void 0}),E;if(!J.executeMode){let t=await J.settings.get("fuzzy.alwaysIncludePaths")??[];E=new r61(process.cwd(),{alwaysIncludePaths:t},!0)}else E=new class extends r61{async start(){}async query(){return[]}getStats(){return{state:"unstarted",stats:[]}}dispose(){}};if(!await J.secrets.get("apiKey",J.ampURL)){if(r9.write(`No API key found. Starting login flow...
5013
+ `)}var hv1=fv1.join(DW0||fv1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");function yL8(J){process.emitWarning=function(Q,Z,Y,X){let G=typeof Q==="string"?Q:Q.message||String(Q),V=Z||"Warning",K=!1;J.warn(G,{name:V,code:Y})}}function _V(J,Q){if(J.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")IG("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(J.getOptionValueSourceWithGlobals("mode")==="cli")IG("experimental.agentMode",Q.mode);if(J.getOptionValueSourceWithGlobals("useSonnet")==="cli")IG("model.sonnet",Q.useSonnet)}async function mv1(J){try{await SL8(fv1.dirname(hv1),{recursive:!0}),await _L8(hv1,J,"utf-8")}catch(Q){x.debug("Failed to save last thread ID",Q)}}async function xL8(){try{return(await C$6(hv1,"utf-8")).trim()}catch(J){return null}}function vL8(J){return!!(J&&(J.endsWith("@sourcegraph.com")||J.endsWith("@ampcode.com")||J==="auth-bypass-user@example.com"))}async function fL8(J){try{let Q=await K5.getUserInfo({},{config:J,signal:AbortSignal.timeout(5000)});if(Q.ok)return Q.result}catch(Q){x.debug("Failed to fetch user info:",Q)}return}var P$6=[{name:"notifications",long:"notifications",type:"flag",description:(J)=>`${J?"Enable":"Disable"} sound notifications (enabled by default when not in execute mode)`},{name:"color",long:"color",type:"flag",description:(J)=>`${J?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`,deprecated:!0},{name:"settingsFile",long:"settings-file",type:"option",default:process.env.AMP_SETTINGS_FILE??j$,description:`Custom settings file path (overrides the default location ${j$})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(x).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:`Set log file location (overrides the default location ${bA})`},{name:"format",long:"format",type:"option",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","jsonl","new-ui"],hidden:!0,deprecated:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:u3(),description:(J)=>J?"Enable JetBrains integration. When enabled, Amp automatically includes your open JetBrains file and text selection with every message.":"Disable JetBrains integration"},{name:"ide",long:"ide",type:"flag",default:!0,description:(J)=>J?"Enable IDE connection (default). When enabled, Amp automatically includes your open IDE's file and text selection with every message.":"Disable IDE connection"},{name:"interactive",long:"interactive",type:"flag",description:(J)=>J?"Enable interactive mode. This will enable the interactive UI.":"Disable interactive mode. This will disable the interactive UI.",hidden:!0,deprecated:!0},{name:"mcpConfig",long:"mcp-config",type:"option",description:"JSON configuration or file path for MCP servers to merge with existing settings"},{name:"useSonnet",long:"use-sonnet",type:"flag",description:(J)=>J?"Use Claude Sonnet 4.5 instead of Claude Opus 4.5":"Use default model (Claude Opus 4.5)"},{name:"tryOpus",long:"try-opus",type:"switch",default:!1,description:"(deprecated) Opus 4.5 is now the default in smart mode",hidden:!0,deprecated:!0},{name:"mode",long:"mode",short:"m",type:"option",default:hW.SMART.key,description:`Set the agent mode (${cX().map((J)=>J.mode).join(", ")}) — controls the model, system prompt, and tool selection`,choices:cX().map((J)=>J.mode).concat("large")}],R$6=(J)=>("deprecated"in J)&&J.deprecated===!0,hL8=(J)=>("hidden"in J)&&J.hidden===!0,bL8=(J)=>("default"in J),mL8=(J)=>("default"in J)?J.default:void 0;function gL8(J,Q){let Z=Q.args[0],Y=Q.commands.map((G)=>G.name());if(Z&&!Z.includes(" ")&&Z.length<30&&!/[./\\]/.test(Z)){let G=Y.filter((K)=>Z.includes(K)||K.includes(Z)),V="Run amp --help for a list of available commands.";if(G.length>0)V=`Did you mean: ${G.join(", ")}? Or run amp --help for all commands.`;throw new C8(C$.unknownCommand(Z),1,V)}}var j$6=null;function vA5(){return j$6}function Au(J){return{...J,getThreadEnvironment:m61,vfs:vI0({os:J.fileSystem},J.configService.config),fileChangeTrackerStorage:new nx(J.fileSystem),generateThreadTitle:Oi0,deleteThread:(Q)=>J.threadService.delete(Q)}}var gv1=h0.file(kL8.homedir()),S$6=process.env.XDG_CONFIG_HOME?h0.file(process.env.XDG_CONFIG_HOME):n0.joinPath(gv1,".config");async function l$(J,Q){BB0("0.0.1765584106-g41cf5e");let Z=mH1({storage:J.settings,secretStorage:J.secrets,workspaceRoots:t1.of([h0.file(process.cwd())]),defaultAmpURL:J.ampURL,homeDir:gv1,userConfigDir:S$6}),{initializeCLITelemetry:Y}=await Promise.resolve().then(() => (M51(),D51));Y(Z);let X=await Z.getLatest();x.debug("Global configuration initialized",{settingsKeys:Object.keys(X.settings)});let{toolService:G,dispose:V}=vr0({configService:Z}),K=new Map,q=()=>K.clear(),W=new QB1(Z,J.settings.getWorkspaceRootPath()),H=pE0({configService:Z,trustStore:W,createOAuthProvider:async(t,c,J1)=>{let q1=`${t}:${c}`,D1=K.get(q1);if(D1)return x.debug("Reusing existing OAuth provider for server",{serverName:t,serverUrl:c}),D1;x.debug("Creating OAuth provider for server",{serverName:t,serverUrl:c});let s=(async()=>{let o=new TM(J.secrets),i=await o.getClientInfo(t,c),F1=J1?.scopes??i?.scopes,k1=W66();x.info("OAuth headless mode check",{useHeadless:k1,executeMode:J.executeMode,envVar:process.env.AMP_HEADLESS_OAUTH,isTTY:r9.isTTY});let e=void 0;if(k1)e=J.executeMode?q66():K66(t);let f1=new IU1({storage:o,serverName:t,serverUrl:c,clientId:J1?.clientId??i?.clientId,clientSecret:J1?.clientSecret??i?.clientSecret,authUrl:J1?.authUrl??i?.authUrl,tokenUrl:J1?.tokenUrl??i?.tokenUrl,scopes:F1,headlessAuthHandler:e});return x.debug("OAuth provider created",{serverName:t,serverUrl:c,hasManualClientId:!!(J1?.clientId??i?.clientId),willUseDCR:!(J1?.clientId??i?.clientId),scopes:F1,headlessMode:k1,executeMode:J.executeMode}),f1})();return K.set(q1,s),s}}),z=b01({configService:Z,filesystem:J5,spawn:NA}),{initializeToolProviders:U,startToolProviders:D}=await Promise.resolve().then(() => (I$6(),E$6)),M;if(J.executeMode){let t=await U({toolService:G,providers:[H,z],initialTimeout:15000});M=t.registrations;for(let[c,J1]of t.initErrors)x.warn(`${c} provider initialization slow or failed:`,J1)}else M=D({toolService:G,providers:[H,z]});if(Q.jetbrains)eE("JetBrains");else if(Q.ide&&d66())eE("VS Code");else if(Q.ide&&c66())eE("Neovim");if(J.executeMode)NB0(!0);let L,A=F3.status.pipe(Q6((t)=>Boolean(t.connected&&t.authenticated)),B4()).subscribe((t)=>{if(t){if(!L)L=G.registerTool(Oa0)}else L?.dispose(),L=void 0}),E;if(!J.executeMode){let t=await J.settings.get("fuzzy.alwaysIncludePaths")??[];E=new r61(process.cwd(),{alwaysIncludePaths:t},!0)}else E=new class extends r61{async start(){}async query(){return[]}getStats(){return{state:"unstarted",stats:[]}}dispose(){}};if(!await J.secrets.get("apiKey",J.ampURL)){if(r9.write(`No API key found. Starting login flow...
5014
5014
  `),!await uL8(J))await mA(),process.exit(1)}let I=await zR0({isDevelopment:!1}),P=new jP1(I,Z),T=new DP1(I,{lazy:!0}),k=new HB1(P,(t,c)=>{let J1=L3.get(t);if(J1)J1.handle(c).catch((q1)=>{x.error("Failed to apply artifact delta",q1)})}),y=Q.notifications!==void 0?Q.notifications:!J.executeMode,v=hr0({playNotificationSound:async(t)=>{if(y){fr0(t);let c=Aj1(),J1=Oj1();if((!c||J1)&&X.settings["notifications.system.enabled"]!==!1){if(t==="idle")process.stdout.write("\x1B]777;notify;Amp;Agent is ready\x1B\\");else if(t==="requires-user-input")process.stdout.write("\x1B]777;notify;Amp;Waiting for approval\x1B\\")}}},windowFocused:()=>Promise.resolve(!1),threadService:P,configService:Z});x.info("Starting Amp background services");let g=Ei0({threadService:P,threadHistoryService:T,configService:Z,isExtensionDevelopment:!1}),p;F3.status.subscribe((t)=>{p=t});let b=new P$1({workspaceRoots:[h0.file(process.cwd())],getCurrentFile:()=>{if(!p?.openFile)return;try{return h0.parse(p.openFile)}catch(t){x.warn("Failed to parse current file URI",{uri:p.openFile,error:t});return}},getOpenFiles:()=>{if(!p?.visibleFiles?.length)return[];let t=p.openFile;return p.visibleFiles.filter((c)=>c!==t).map((c)=>{try{return h0.parse(c)}catch(J1){return x.warn("Failed to parse visible file URI",{uri:c,error:J1}),null}}).filter((c)=>c!==null)}}),a=new Ij1,V1={codebaseContextService:b,configService:Z,toolService:G,mcpService:H,trustStore:W,threadService:P,threadHistoryService:T,threadSyncService:g,planFileManager:k,threadStorage:I,secretStorage:J.secrets,settingsStorage:J.settings,fuzzyServer:E,notificationService:v,fileSystem:Q.jetbrains||Q.ide?kI0:J5,terminal:a};return{...V1,async asyncDispose(){if(V1.mcpService.hasAuthenticatingClients())x.info("Waiting for OAuth authentication to complete before exit..."),await V1.mcpService.waitForAuthentication();for(let t of M.values())t.dispose();await V1.mcpService.dispose(),q(),await V1.threadService.asyncDispose(),V1.configService.unsubscribe(),V(),V1.fuzzyServer.dispose(),V1.threadSyncService.dispose(),V1.settingsStorage[Symbol.dispose](),A.unsubscribe(),L?.dispose()}}}async function uL8(J){if(!J.executeMode){if(!await sC1("Would you like to log in to Amp? [(y)es, (n)o]: "))return r9.write(`Login cancelled. Run the command again to retry.
5015
5015
  `),!1}return await _$6(J)}async function _$6(J){let Q=jL8(32).toString("hex"),Z=await rC1(J.ampURL,Q),Y=new AbortController;try{await lD(Z,Y.signal)}catch(G){x.error("Error opening browser",{error:G})}let X=await rC1(J.ampURL,Q,!1);r9.write(`If your browser does not open automatically, visit:
5016
5016
 
@@ -5020,7 +5020,7 @@ ${T6.blue.bold(X)}
5020
5020
  Login successful! You can now use the Amp CLI.
5021
5021
  `),!0}catch(G){return x.error("Login failed",{error:G}),QZ.write(`
5022
5022
  Login failed: ${G instanceof Error?G.message:String(G)}
5023
- `),!1}}function pL8(){let J=new RA().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, workspace, group)").configureOutput({writeErr:()=>{}});J.exitOverride((H)=>{if(H.code==="commander.help"||H.code==="commander.version"||H.exitCode===0)uT(),process.exit(0);let z=H.originalError??H;y06(z)}),J.option("-V, --version","Print the version number and exit",()=>{let z;try{z=`, ${rI(new Date("2025-12-12T20:06:45.871Z"))} ago`}catch{}r9.write(`0.0.1765569693-ga99d1a (released 2025-12-12T20:06:45.871Z${z??""})
5023
+ `),!1}}function pL8(){let J=new RA().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, workspace, group)").configureOutput({writeErr:()=>{}});J.exitOverride((H)=>{if(H.code==="commander.help"||H.code==="commander.version"||H.exitCode===0)uT(),process.exit(0);let z=H.originalError??H;y06(z)}),J.option("-V, --version","Print the version number and exit",()=>{let z;try{z=`, ${rI(new Date("2025-12-13T00:07:02.210Z"))} ago`}catch{}r9.write(`0.0.1765584106-g41cf5e (released 2025-12-13T00:07:02.210Z${z??""})
5024
5024
  `),process.exit(0)}),J.addHelpText("after",g66()),J.configureHelp({formatHelp:u66}),J.command("logout").description("Log out by removing stored API key").action(async(H,z)=>{let U=z.optsWithGlobals(),D=await BQ(U);await iL8(D)}),J.command("login").description("Log in to Amp").addHelpText("after","If AMP_URL is set during login, it will be persisted to global settings for future CLI invocations, though AMP_URL will continue to take precedence.").action(async(H,z)=>{let U=z.optsWithGlobals(),D=await BQ(U);await lL8(D,await mC1(U,D.settings))});let Q=async(H,z,U)=>{mH1({storage:z.settings,secretStorage:z.secrets,workspaceRoots:t1.of([h0.file(process.cwd())]),defaultAmpURL:z.ampURL,homeDir:gv1,userConfigDir:S$6});let D={...z,executeMode:!1};await bv1(D,{...H,openThreadSwitcher:!0},U)},Z=J.command("threads").alias("t").alias("thread").summary("Manage threads").description("Thread management commands. When no subcommand is provided, defaults to listing threads.").action(async(H,z)=>{let U=z.optsWithGlobals(),D=await BQ(U);await T$6(U,D,z)});Z.command("new").alias("n").summary("Create a new thread").description("Create a new thread and print its ID. The thread will be empty. You can set the visibility using the --visibility option.").option("--visibility <visibility>","Set thread visibility (private, public, workspace, group)").action(async(H,z)=>{let U=z.optsWithGlobals(),D=await BQ(U);await eL8(U,D,z)}),Z.command("continue [threadId]").alias("c").summary("Continue an existing thread").description("Continue an existing thread by resuming the conversation. By default, shows an interactive picker with the most recently used thread at the top. Use --last to continue the last thread directly without the picker.").option("--last","Continue the last thread directly without showing the picker").option("--pick","Pick a thread interactively from a list (DEPRECATED: picker is now the default)").action(async(H,z,U)=>{let D=U.optsWithGlobals(),M=await BQ(D);if(z.pick)QZ.write(`${T6.yellow("Warning:")} The --pick flag is deprecated. The picker is now shown by default.
5025
5025
  `);if(z.last||H||M.executeMode)await tL8(D,M,H,U);else await Q(D,M,U)}),Z.command("fork [threadId]").alias("f").summary("Fork an existing thread").description("Create a new thread by forking an existing one. This copies the conversation history up to the current point and creates a new thread where you can explore different directions. If no thread ID is provided, the most recently used thread will be forked.").action(async(H,z,U)=>{let D=U.optsWithGlobals(),M=await BQ(D);await sL8(D,M,H,U)}),Z.command("list").alias("l").alias("ls").summary("List all threads").description("List all your threads with their IDs, names, and last modified times.").action(async(H,z)=>{let U=z.optsWithGlobals(),D=await BQ(U);await T$6(U,D,z)}),Z.command("search <query>").alias("find").summary("Search threads").description(`Search for threads using a query DSL.
5026
5026
 
@@ -5036,8 +5036,8 @@ All matching is case-insensitive. File paths use partial matching.`).option("-n,
5036
5036
  Or pipe via stdin: echo "your message" | amp --execute`);_V(Z,Q);let V=await l$(J,Q);j$6=V;let K=Au(V),q=await fL8(V.configService),W=vL8(q?.email);if((J.executeMode||Q.streamJson)&&U9(Q.mode)&&!W)throw new C8(`Execute mode is not permitted with --mode '${Q.mode}'`,1);let H=async(b)=>{let a=await C$6(b,"utf-8"),V1=JSON.parse(a);if(!lX(V1.id))throw new C8(C$.invalidThreadId);return V71(V,{visibility:Y,agentMode:Q.mode,thread:V1})},z=async(b)=>{if(!lX(b))throw new C8(C$.invalidThreadId);try{let[V1,t]=await Promise.all([K5.getThreadLinkInfo({thread:b},{config:V.configService}),K5.getUserInfo({},{config:V.configService})]);if(V1.ok&&t.ok){let c=V1.result.creatorUserID,J1=t.result.id;if(c&&c!==J1&&!process.env.AMP_RESUME_OTHER_USER_THREADS_INSECURE)throw new C8(`Cannot resume thread created by another user.
5037
5037
 
5038
5038
  This thread belongs to a different user and cannot be continued for security reasons. Set AMP_RESUME_OTHER_USER_THREADS_INSECURE=1 to bypass this check.`)}}catch(V1){if(V1 instanceof C8)throw V1;x.warn("Failed to validate thread ownership in CLI, allowing to open",{error:V1})}let a=await V.threadService.get(b)??void 0;return x.info(`[fetchAndStartThread] Loaded thread ${b}, agentMode: ${a?.agentMode??"undefined"}`),V71(V,{visibility:Y,agentMode:a?void 0:Q.mode,thread:a})},U=async()=>{try{if(Q.threadId)return z(Q.threadId);else return V71(V,{visibility:Y,agentMode:Q.mode})}catch(b){if(b instanceof C8)throw b;throw await Sm(b,Q.threadId),Error("handleError should have called process.exit()")}},D=async()=>{return V71(V,{visibility:Y,agentMode:Q.mode})};if(Q.format==="jsonl")QZ.write(`jsonl format is deprecated. Version "0.0.1752148945-gd8844f" or earlier is required to use jsonl format.
5039
- `),await mA(),process.exit(1);if(J.executeMode&&Q.remote)await S46(X,G,V.configService),await V.asyncDispose(),process.exit(0);let M=await U();if(J.executeMode)w46(V.mcpService,J.settings),await a06(M,M.threadID,X,G,V,!!Q.streamJson,!!Q.streamJsonInput,!!Q.stats,J.ampURL,W,Q.mode),await V.asyncDispose(),process.exit(0);let L=!1,A=!1,E=!1;if(Q.jetbrains||Q.ide){await SB0();let b=YI({jetbrainsOnly:Q.jetbrains});if(b.length===0){if(Q.jetbrains)A=!await V.configService.get("jetbrains.skipInstall")}else if(b.length===1){let a=b[0];if(a)F3.selectConfig(a)}else E=!0}let I=G41("0.0.1765569693-ga99d1a",V.settingsStorage),P=new K01(V.threadStorage),T=t1.of([h0.file(process.cwd())]),k=x$1(void 0,T),y=new V41(V.mcpService,J.settings.getWorkspaceRootPath());if(X)M.handle({type:"user:message",message:{content:[{type:"text",text:X}]}});let g=await(async()=>{try{let b=await K5.getUserFreeTierStatus({},{config:V.configService,signal:AbortSignal.timeout(5000)});if(b.ok)return x.info("User free tier status:",b),b.result}catch(b){throw x.error("Failed to fetch free tier status:",b),b}})(),p=await x46();x.info("Loaded session state:",p),await Kx1({codebaseContextService:V.codebaseContextService,stdout:process.stdout,history:new d61,fuzzyServer:V.fuzzyServer,settingsStorage:V.settingsStorage,threadService:V.threadService,threadHistoryService:V.threadHistoryService,threadSyncService:V.threadSyncService,planFileManager:V.planFileManager,threadID:M.threadID,threadFuzzyIndexer:P,worker:M,workerDeps:K,configService:V.configService,internalAPIClient:K5,ampURL:J.ampURL,startNewThread:D,switchToThread:z,ideClient:F3,connectedClientsService:new jn,commandRegistry:k,mcpService:V.mcpService,mcpTrustHandler:y,showJetBrainsInstaller:A,showIdePicker:L,showIdePickerHint:E,openThreadSwitcher:Q.openThreadSwitcher,updateService:I,inspector:Q.inspector,inspectorPort:Q.inspectorPort,jetbrainsMode:Q.jetbrains,clientId:Q.clientId,sessionState:p,freeTierStatus:{canUseAmpFree:g.canUseAmpFree},workspace:q?.team??null,features:q?.features??[],isDogfooding:W,threadDependencies:V,initialAgentMode:Z.getOptionValueSourceWithGlobals("mode")==="cli"?Q.mode:void 0}),await V.asyncDispose(),process.exit(0)}async function BQ(J){if(J.interactive)QZ.write(`Warning: --interactive flag is deprecated. Interactive mode is now the default unless --execute is used or output is redirected.
5040
- `);let Q=!!J.execute||!process.stdout.isTTY&&!J.streamJson,Z=process.stdout.isTTY&&process.stderr.isTTY,Y=await I66({...J,workspaceTrust:{current:!0,changes:m_},getHook:process.env.AMP_URL?(G,V)=>{if(G==="url")return Promise.resolve(process.env.AMP_URL);return V()}:void 0});if(J.mcpConfig){let G=await A46(J.mcpConfig);Y=O46(Y,G)}let X=await Y.get("url","global");if(!X)X=FZ;if(!IF(X))x.info("Targeting custom Amp server",{ampURL:X});return Y=NH0(Y),{executeMode:Q,isTTY:Z,ampURL:X,settings:Y,secrets:_46(await mC1(J,Y))}}function dL8(J){let Q={};for(let Z=0;Z<J.length;Z++){let Y=J[Z];if(Y?.startsWith("--")){let G=Y.slice(2).replace(/-([a-z])/g,(K,q)=>q.toUpperCase()),V=J[Z+1];if(V&&!V.startsWith("--"))Q[G]=V,Z++}}return Q}async function cL8(){let J=dL8(process.argv);if(I06({logLevel:J.logLevel||process.env.AMP_LOG_LEVEL,logFile:J.logFile||process.env.AMP_LOG_FILE}),yL8(x),x.info("Starting Amp CLI.",{version:"0.0.1765569693-ga99d1a",buildTimestamp:"2025-12-12T20:06:45.871Z"}),parseInt(process.version.slice(1).split(".")[0]??"")<20)throw new C8(C$.nodeVersion(process.version),1,"Please upgrade your Node.js installation from https://nodejs.org");await pL8().parseAsync(process.argv)}YP1().startActiveSpan("main",async(J)=>{process.on("exit",()=>J.end()),await cL8().catch(Sm)});async function lL8(J,Q){if(process.env.AMP_URL)await J.settings.set("url",process.env.AMP_URL,"global"),r9.write(`Saving custom server URL to settings: ${process.env.AMP_URL}
5039
+ `),await mA(),process.exit(1);if(J.executeMode&&Q.remote)await S46(X,G,V.configService),await V.asyncDispose(),process.exit(0);let M=await U();if(J.executeMode)w46(V.mcpService,J.settings),await a06(M,M.threadID,X,G,V,!!Q.streamJson,!!Q.streamJsonInput,!!Q.stats,J.ampURL,W,Q.mode),await V.asyncDispose(),process.exit(0);let L=!1,A=!1,E=!1;if(Q.jetbrains||Q.ide){await SB0();let b=YI({jetbrainsOnly:Q.jetbrains});if(b.length===0){if(Q.jetbrains)A=!await V.configService.get("jetbrains.skipInstall")}else if(b.length===1){let a=b[0];if(a)F3.selectConfig(a)}else E=!0}let I=G41("0.0.1765584106-g41cf5e",V.settingsStorage),P=new K01(V.threadStorage),T=t1.of([h0.file(process.cwd())]),k=x$1(void 0,T),y=new V41(V.mcpService,J.settings.getWorkspaceRootPath());if(X)M.handle({type:"user:message",message:{content:[{type:"text",text:X}]}});let g=await(async()=>{try{let b=await K5.getUserFreeTierStatus({},{config:V.configService,signal:AbortSignal.timeout(5000)});if(b.ok)return x.info("User free tier status:",b),b.result}catch(b){throw x.error("Failed to fetch free tier status:",b),b}})(),p=await x46();x.info("Loaded session state:",p),await Kx1({codebaseContextService:V.codebaseContextService,stdout:process.stdout,history:new d61,fuzzyServer:V.fuzzyServer,settingsStorage:V.settingsStorage,threadService:V.threadService,threadHistoryService:V.threadHistoryService,threadSyncService:V.threadSyncService,planFileManager:V.planFileManager,threadID:M.threadID,threadFuzzyIndexer:P,worker:M,workerDeps:K,configService:V.configService,internalAPIClient:K5,ampURL:J.ampURL,startNewThread:D,switchToThread:z,ideClient:F3,connectedClientsService:new jn,commandRegistry:k,mcpService:V.mcpService,mcpTrustHandler:y,showJetBrainsInstaller:A,showIdePicker:L,showIdePickerHint:E,openThreadSwitcher:Q.openThreadSwitcher,updateService:I,inspector:Q.inspector,inspectorPort:Q.inspectorPort,jetbrainsMode:Q.jetbrains,clientId:Q.clientId,sessionState:p,freeTierStatus:{canUseAmpFree:g.canUseAmpFree},workspace:q?.team??null,features:q?.features??[],isDogfooding:W,threadDependencies:V,initialAgentMode:Z.getOptionValueSourceWithGlobals("mode")==="cli"?Q.mode:void 0}),await V.asyncDispose(),process.exit(0)}async function BQ(J){if(J.interactive)QZ.write(`Warning: --interactive flag is deprecated. Interactive mode is now the default unless --execute is used or output is redirected.
5040
+ `);let Q=!!J.execute||!process.stdout.isTTY&&!J.streamJson,Z=process.stdout.isTTY&&process.stderr.isTTY,Y=await I66({...J,workspaceTrust:{current:!0,changes:m_},getHook:process.env.AMP_URL?(G,V)=>{if(G==="url")return Promise.resolve(process.env.AMP_URL);return V()}:void 0});if(J.mcpConfig){let G=await A46(J.mcpConfig);Y=O46(Y,G)}let X=await Y.get("url","global");if(!X)X=FZ;if(!IF(X))x.info("Targeting custom Amp server",{ampURL:X});return Y=NH0(Y),{executeMode:Q,isTTY:Z,ampURL:X,settings:Y,secrets:_46(await mC1(J,Y))}}function dL8(J){let Q={};for(let Z=0;Z<J.length;Z++){let Y=J[Z];if(Y?.startsWith("--")){let G=Y.slice(2).replace(/-([a-z])/g,(K,q)=>q.toUpperCase()),V=J[Z+1];if(V&&!V.startsWith("--"))Q[G]=V,Z++}}return Q}async function cL8(){let J=dL8(process.argv);if(I06({logLevel:J.logLevel||process.env.AMP_LOG_LEVEL,logFile:J.logFile||process.env.AMP_LOG_FILE}),yL8(x),x.info("Starting Amp CLI.",{version:"0.0.1765584106-g41cf5e",buildTimestamp:"2025-12-13T00:07:02.210Z"}),parseInt(process.version.slice(1).split(".")[0]??"")<20)throw new C8(C$.nodeVersion(process.version),1,"Please upgrade your Node.js installation from https://nodejs.org");await pL8().parseAsync(process.argv)}YP1().startActiveSpan("main",async(J)=>{process.on("exit",()=>J.end()),await cL8().catch(Sm)});async function lL8(J,Q){if(process.env.AMP_URL)await J.settings.set("url",process.env.AMP_URL,"global"),r9.write(`Saving custom server URL to settings: ${process.env.AMP_URL}
5041
5041
  `);else if(!IF(J.ampURL))r9.write(`Logging in to ${new URL(J.ampURL).hostname}
5042
5042
  `);let Z=process.env.AMP_API_KEY;if(Z)r9.write(`API key found in environment variable, storing...
5043
5043
  `),await Q.set("apiKey",Z,J.ampURL),r9.write(`API key successfully stored.
@@ -5050,7 +5050,7 @@ This thread belongs to a different user and cannot be continued for security rea
5050
5050
  `);else r9.write(`Successfully logged out from ${new URL(J.ampURL).hostname}.
5051
5051
  `);process.exit(0)}async function nL8(J,Q,Z,Y,X){_V(X,J);let G=await l$(Q,J);try{let V=K71(Z);if(!V)q71(Z);let K=V,q=Y.trim();if(q.length===0)qX("Thread name cannot be empty");if(q.length>256)qX("Thread name cannot exceed 256 characters");if(!(await Xj(K,G)).messages.length)qX("Cannot rename an empty thread.");let H=Au(G);await(await L3.getOrCreateForThread(H,K)).handle({type:"title",value:q}),x.info("GOT HERE"),await G.threadSyncService.sync(),x.info("GOT THERE"),r9.write(T6.green(`✓ Thread ${K} renamed to "${q}"
5052
5052
  `)),await G.asyncDispose(),process.exit(0)}catch(V){await G.asyncDispose();let K=`Failed to rename thread: ${V instanceof Error?V.message:String(V)}`;qX(K)}}async function aL8(J,Q,Z,Y){_V(Y,J);let X=await l$(Q,J);try{let G=K71(Z);if(!G)q71(Z);let K=await Xj(G,X),q=DT(K);r9.write(q+`
5053
- `),await X.asyncDispose(),process.exit(0)}catch(G){await X.asyncDispose();let V=`Failed to render thread as markdown: ${G instanceof Error?G.message:String(G)}`;qX(V)}}async function oL8(J,Q,Z,Y,X){_V(X,J);let G=await l$(Q,J);try{let V=await uv1(Z),K=await Xj(V,G),q=Y.typing!==!1,W=parseInt(Y.wpm||"120",10),H=parseInt(Y.messageDelay||"1000",10),z=parseInt(Y.toolProgressDelay||"800",10),U=parseInt(Y.exitDelay||"3",10)*1000,D=Y.indicator!==!1,M=Au(G),L=K.id;await G.threadStorage.set(L,K);let A=await L3.getOrCreateForThread(M,L);await A.resume();let E=V01.fromWorker(A),I=new K01(G.threadStorage),P=t1.of([h0.file(process.cwd())]),T=x$1(void 0,P),k=new V41(G.mcpService,Q.settings.getWorkspaceRootPath()),y=G41("0.0.1765569693-ga99d1a",G.settingsStorage);await Kx1({codebaseContextService:G.codebaseContextService,stdout:process.stdout,history:new d61,fuzzyServer:G.fuzzyServer,settingsStorage:G.settingsStorage,threadService:G.threadService,threadHistoryService:G.threadHistoryService,threadSyncService:G.threadSyncService,planFileManager:G.planFileManager,threadID:L,threadFuzzyIndexer:I,worker:E,workerDeps:M,configService:G.configService,internalAPIClient:K5,ampURL:Q.ampURL,startNewThread:async()=>E,switchToThread:async()=>E,ideClient:F3,connectedClientsService:new jn,commandRegistry:T,mcpService:G.mcpService,mcpTrustHandler:k,showJetBrainsInstaller:!1,updateService:y,isDogfooding:!1,replayMode:{thread:K,typingEnabled:q,baseWpm:W,messageDelayMs:H,toolProgressDelayMs:z,exitDelayMs:U,showIndicator:D},freeTierStatus:{canUseAmpFree:!0},features:[]}),await G.asyncDispose(),process.exit(0)}catch(V){await G.asyncDispose(),await Sm(V,Z)}}async function rL8(J,Q,Z,Y,X){_V(Y,J);let G=await l$(Q,J);try{let V=K71(Z);if(!V)q71(Z);let K=V,q=await K5.getUserInfo({},{config:G.configService}),W=q.ok?q.result:null,H=K41(J,W);if(!H&&!X)qX("Must specify either --visibility or --support");if(H&&X)qX("Cannot specify both --visibility and --support at the same time");if(H instanceof Error)qX(H.message);if(H)await G.threadSyncService.updateThreadMeta(K,q41(H)),r9.write(T6.green("✓ ")+`Thread ${K} visibility changed to ${H}.
5053
+ `),await X.asyncDispose(),process.exit(0)}catch(G){await X.asyncDispose();let V=`Failed to render thread as markdown: ${G instanceof Error?G.message:String(G)}`;qX(V)}}async function oL8(J,Q,Z,Y,X){_V(X,J);let G=await l$(Q,J);try{let V=await uv1(Z),K=await Xj(V,G),q=Y.typing!==!1,W=parseInt(Y.wpm||"120",10),H=parseInt(Y.messageDelay||"1000",10),z=parseInt(Y.toolProgressDelay||"800",10),U=parseInt(Y.exitDelay||"3",10)*1000,D=Y.indicator!==!1,M=Au(G),L=K.id;await G.threadStorage.set(L,K);let A=await L3.getOrCreateForThread(M,L);await A.resume();let E=V01.fromWorker(A),I=new K01(G.threadStorage),P=t1.of([h0.file(process.cwd())]),T=x$1(void 0,P),k=new V41(G.mcpService,Q.settings.getWorkspaceRootPath()),y=G41("0.0.1765584106-g41cf5e",G.settingsStorage);await Kx1({codebaseContextService:G.codebaseContextService,stdout:process.stdout,history:new d61,fuzzyServer:G.fuzzyServer,settingsStorage:G.settingsStorage,threadService:G.threadService,threadHistoryService:G.threadHistoryService,threadSyncService:G.threadSyncService,planFileManager:G.planFileManager,threadID:L,threadFuzzyIndexer:I,worker:E,workerDeps:M,configService:G.configService,internalAPIClient:K5,ampURL:Q.ampURL,startNewThread:async()=>E,switchToThread:async()=>E,ideClient:F3,connectedClientsService:new jn,commandRegistry:T,mcpService:G.mcpService,mcpTrustHandler:k,showJetBrainsInstaller:!1,updateService:y,isDogfooding:!1,replayMode:{thread:K,typingEnabled:q,baseWpm:W,messageDelayMs:H,toolProgressDelayMs:z,exitDelayMs:U,showIndicator:D},freeTierStatus:{canUseAmpFree:!0},features:[]}),await G.asyncDispose(),process.exit(0)}catch(V){await G.asyncDispose(),await Sm(V,Z)}}async function rL8(J,Q,Z,Y,X){_V(Y,J);let G=await l$(Q,J);try{let V=K71(Z);if(!V)q71(Z);let K=V,q=await K5.getUserInfo({},{config:G.configService}),W=q.ok?q.result:null,H=K41(J,W);if(!H&&!X)qX("Must specify either --visibility or --support");if(H&&X)qX("Cannot specify both --visibility and --support at the same time");if(H instanceof Error)qX(H.message);if(H)await G.threadSyncService.updateThreadMeta(K,q41(H)),r9.write(T6.green("✓ ")+`Thread ${K} visibility changed to ${H}.
5054
5054
  `);if(X){await Xj(K,G);let z=typeof X==="string"?X:void 0;await GR0(G.threadService,K,G.configService,z),r9.write(T6.green("✓ ")+`Thread ${K} has been shared with Amp support. These thread reports will be aggregated and analysed.
5055
5055
  `)}await G.asyncDispose(),process.exit(0)}catch(V){await G.asyncDispose(),qX(`Failed to update thread: ${V instanceof Error?V.message:String(V)}`)}}async function sL8(J,Q,Z,Y){_V(Y,J);let X=await l$(Q,J),G=Au(X);try{let V=await uv1(Z),q=(await Xj(V,X)).messages.length-1,W=await L3.getOrCreateForThread(G,V),H=await AT(W,X.threadSyncService,q);await Promise.all([X.threadSyncService.uploadThread(V),X.threadSyncService.uploadThread(H)]),await mv1(H),r9.write(`${H}
5056
5056
  `),await X.asyncDispose(),process.exit(0)}catch(V){QZ.write(`Error forking thread: ${V instanceof Error?V.message:String(V)}