edgeone 1.6.24 → 1.6.26

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.
@@ -142,7 +142,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr
142
142
  `.repeat(e));Cz.displayName="Newline";Fb.default=Cz});var Iz=J(Lb=>{"use strict";var Dz=Lb&&Lb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Lb,"__esModule",{value:!0});var Ike=Dz(yo()),Oke=Dz(pC()),kz=()=>Ike.default.createElement(Oke.default,{flexGrow:1});kz.displayName="Spacer";Lb.default=kz});var mC=J(Mb=>{"use strict";var Nke=Mb&&Mb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Mb,"__esModule",{value:!0});var Rke=yo(),Fke=Nke(kR()),Lke=()=>Rke.useContext(Fke.default);Mb.default=Lke});var Nz=J(Bb=>{"use strict";var Mke=Bb&&Bb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bb,"__esModule",{value:!0});var Oz=yo(),Bke=Mke(mC()),jke=(e,t={})=>{let{stdin:r,setRawMode:s,internal_exitOnCtrlC:a}=Bke.default();Oz.useEffect(()=>{if(t.isActive!==!1)return s(!0),()=>{s(!1)}},[t.isActive,s]),Oz.useEffect(()=>{if(t.isActive===!1)return;let n=l=>{let f=String(l),m={upArrow:f==="\x1B[A",downArrow:f==="\x1B[B",leftArrow:f==="\x1B[D",rightArrow:f==="\x1B[C",pageDown:f==="\x1B[6~",pageUp:f==="\x1B[5~",return:f==="\r",escape:f==="\x1B",ctrl:!1,shift:!1,tab:f===" "||f==="\x1B[Z",backspace:f==="\b",delete:f==="\x7F"||f==="\x1B[3~",meta:!1};f<=""&&!m.return&&(f=String.fromCharCode(f.charCodeAt(0)+97-1),m.ctrl=!0),f.startsWith("\x1B")&&(f=f.slice(1),m.meta=!0);let y=f>="A"&&f<="Z",v=f>="\u0410"&&f<="\u042F";f.length===1&&(y||v)&&(m.shift=!0),m.tab&&f==="[Z"&&(m.shift=!0),(m.tab||m.backspace||m.delete)&&(f=""),(!(f==="c"&&m.ctrl)||!a)&&e(f,m)};return r==null||r.on("data",n),()=>{r==null||r.off("data",n)}},[t.isActive,r,a,e])};Bb.default=jke});var Rz=J(jb=>{"use strict";var qke=jb&&jb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(jb,"__esModule",{value:!0});var Uke=yo(),$ke=qke(AR()),Vke=()=>Uke.useContext($ke.default);jb.default=Vke});var Fz=J(qb=>{"use strict";var Hke=qb&&qb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(qb,"__esModule",{value:!0});var Wke=yo(),zke=Hke(OR()),Gke=()=>Wke.useContext(zke.default);qb.default=Gke});var Lz=J(Ub=>{"use strict";var Kke=Ub&&Ub.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ub,"__esModule",{value:!0});var Yke=yo(),Jke=Kke(RR()),Xke=()=>Yke.useContext(Jke.default);Ub.default=Xke});var Bz=J(Vb=>{"use strict";var Mz=Vb&&Vb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vb,"__esModule",{value:!0});var $b=yo(),Qke=Mz(lC()),Zke=Mz(mC()),eIe=({isActive:e=!0,autoFocus:t=!1,id:r}={})=>{let{isRawModeSupported:s,setRawMode:a}=Zke.default(),{activeId:n,add:l,remove:f,activate:m,deactivate:y,focus:v}=$b.useContext(Qke.default),b=$b.useMemo(()=>r!=null?r:Math.random().toString().slice(2,7),[r]);return $b.useEffect(()=>(l(b,{autoFocus:t}),()=>{f(b)}),[b,t]),$b.useEffect(()=>{e?m(b):y(b)},[e,b]),$b.useEffect(()=>{if(!(!s||!e))return a(!0),()=>{a(!1)}},[e]),{isFocused:!!b&&n===b,focus:v}};Vb.default=eIe});var jz=J(Hb=>{"use strict";var tIe=Hb&&Hb.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Hb,"__esModule",{value:!0});var rIe=yo(),nIe=tIe(lC()),iIe=()=>{let e=rIe.useContext(nIe.default);return{enableFocus:e.enableFocus,disableFocus:e.disableFocus,focusNext:e.focusNext,focusPrevious:e.focusPrevious,focus:e.focus}};Hb.default=iIe});var qz=J($R=>{"use strict";Object.defineProperty($R,"__esModule",{value:!0});$R.default=e=>{var t,r,s,a;return{width:(r=(t=e.yogaNode)===null||t===void 0?void 0:t.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(s=e.yogaNode)===null||s===void 0?void 0:s.getComputedHeight())!==null&&a!==void 0?a:0}}});var yC=J(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var sIe=bz();Object.defineProperty(pc,"render",{enumerable:!0,get:function(){return sIe.default}});var oIe=pC();Object.defineProperty(pc,"Box",{enumerable:!0,get:function(){return oIe.default}});var aIe=qR();Object.defineProperty(pc,"Text",{enumerable:!0,get:function(){return aIe.default}});var uIe=wz();Object.defineProperty(pc,"Static",{enumerable:!0,get:function(){return uIe.default}});var cIe=Pz();Object.defineProperty(pc,"Transform",{enumerable:!0,get:function(){return cIe.default}});var lIe=Az();Object.defineProperty(pc,"Newline",{enumerable:!0,get:function(){return lIe.default}});var pIe=Iz();Object.defineProperty(pc,"Spacer",{enumerable:!0,get:function(){return pIe.default}});var fIe=Nz();Object.defineProperty(pc,"useInput",{enumerable:!0,get:function(){return fIe.default}});var dIe=Rz();Object.defineProperty(pc,"useApp",{enumerable:!0,get:function(){return dIe.default}});var hIe=mC();Object.defineProperty(pc,"useStdin",{enumerable:!0,get:function(){return hIe.default}});var mIe=Fz();Object.defineProperty(pc,"useStdout",{enumerable:!0,get:function(){return mIe.default}});var yIe=Lz();Object.defineProperty(pc,"useStderr",{enumerable:!0,get:function(){return yIe.default}});var gIe=Bz();Object.defineProperty(pc,"useFocus",{enumerable:!0,get:function(){return gIe.default}});var vIe=jz();Object.defineProperty(pc,"useFocusManager",{enumerable:!0,get:function(){return vIe.default}});var xIe=qz();Object.defineProperty(pc,"measureElement",{enumerable:!0,get:function(){return xIe.default}})});var Uz=J((VR,_2)=>{(function(e,t){typeof VR=="object"&&typeof _2<"u"?_2.exports=t():typeof define=="function"&&define.amd?define(t):e.moment=t()})(VR,function(){"use strict";var e;function t(){return e.apply(null,arguments)}function r(E){e=E}function s(E){return E instanceof Array||Object.prototype.toString.call(E)==="[object Array]"}function a(E){return E!=null&&Object.prototype.toString.call(E)==="[object Object]"}function n(E,I){return Object.prototype.hasOwnProperty.call(E,I)}function l(E){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(E).length===0;var I;for(I in E)if(n(E,I))return!1;return!0}function f(E){return E===void 0}function m(E){return typeof E=="number"||Object.prototype.toString.call(E)==="[object Number]"}function y(E){return E instanceof Date||Object.prototype.toString.call(E)==="[object Date]"}function v(E,I){var q=[],z,ee=E.length;for(z=0;z<ee;++z)q.push(I(E[z],z));return q}function b(E,I){for(var q in I)n(I,q)&&(E[q]=I[q]);return n(I,"toString")&&(E.toString=I.toString),n(I,"valueOf")&&(E.valueOf=I.valueOf),E}function P(E,I,q,z){return Yh(E,I,q,z,!0).utc()}function k(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function g(E){return E._pf==null&&(E._pf=k()),E._pf}var B;Array.prototype.some?B=Array.prototype.some:B=function(E){var I=Object(this),q=I.length>>>0,z;for(z=0;z<q;z++)if(z in I&&E.call(this,I[z],z,I))return!0;return!1};function F(E){var I=null,q=!1,z=E._d&&!isNaN(E._d.getTime());if(z&&(I=g(E),q=B.call(I.parsedDateParts,function(ee){return ee!=null}),z=I.overflow<0&&!I.empty&&!I.invalidEra&&!I.invalidMonth&&!I.invalidWeekday&&!I.weekdayMismatch&&!I.nullInput&&!I.invalidFormat&&!I.userInvalidated&&(!I.meridiem||I.meridiem&&q),E._strict&&(z=z&&I.charsLeftOver===0&&I.unusedTokens.length===0&&I.bigHour===void 0)),Object.isFrozen==null||!Object.isFrozen(E))E._isValid=z;else return z;return E._isValid}function M(E){var I=P(NaN);return E!=null?b(g(I),E):g(I).userInvalidated=!0,I}var G=t.momentProperties=[],oe=!1;function te(E,I){var q,z,ee,ke=G.length;if(f(I._isAMomentObject)||(E._isAMomentObject=I._isAMomentObject),f(I._i)||(E._i=I._i),f(I._f)||(E._f=I._f),f(I._l)||(E._l=I._l),f(I._strict)||(E._strict=I._strict),f(I._tzm)||(E._tzm=I._tzm),f(I._isUTC)||(E._isUTC=I._isUTC),f(I._offset)||(E._offset=I._offset),f(I._pf)||(E._pf=g(I)),f(I._locale)||(E._locale=I._locale),ke>0)for(q=0;q<ke;q++)z=G[q],ee=I[z],f(ee)||(E[z]=ee);return E}function me(E){te(this,E),this._d=new Date(E._d!=null?E._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),oe===!1&&(oe=!0,t.updateOffset(this),oe=!1)}function Ce(E){return E instanceof me||E!=null&&E._isAMomentObject!=null}function Ie(E){t.suppressDeprecationWarnings===!1&&typeof console<"u"&&console.warn&&console.warn("Deprecation warning: "+E)}function Ve(E,I){var q=!0;return b(function(){if(t.deprecationHandler!=null&&t.deprecationHandler(null,E),q){var z=[],ee,ke,xt,fr=arguments.length;for(ke=0;ke<fr;ke++){if(ee="",typeof arguments[ke]=="object"){ee+=`
143
143
  [`+ke+"] ";for(xt in arguments[0])n(arguments[0],xt)&&(ee+=xt+": "+arguments[0][xt]+", ");ee=ee.slice(0,-2)}else ee=arguments[ke];z.push(ee)}Ie(E+`
144
144
  Arguments: `+Array.prototype.slice.call(z).join("")+`
145
- `+new Error().stack),q=!1}return I.apply(this,arguments)},I)}var Re={};function Ct(E,I){t.deprecationHandler!=null&&t.deprecationHandler(E,I),Re[E]||(Ie(I),Re[E]=!0)}t.suppressDeprecationWarnings=!1,t.deprecationHandler=null;function ct(E){return typeof Function<"u"&&E instanceof Function||Object.prototype.toString.call(E)==="[object Function]"}function ot(E){var I,q;for(q in E)n(E,q)&&(I=E[q],ct(I)?this[q]=I:this["_"+q]=I);this._config=E,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function je(E,I){var q=b({},E),z;for(z in I)n(I,z)&&(a(E[z])&&a(I[z])?(q[z]={},b(q[z],E[z]),b(q[z],I[z])):I[z]!=null?q[z]=I[z]:delete q[z]);for(z in E)n(E,z)&&!n(I,z)&&a(E[z])&&(q[z]=b({},q[z]));return q}function se(E){E!=null&&this.set(E)}var De;Object.keys?De=Object.keys:De=function(E){var I,q=[];for(I in E)n(E,I)&&q.push(I);return q};var ze={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function _e(E,I,q){var z=this._calendar[E]||this._calendar.sameElse;return ct(z)?z.call(I,q):z}function Ee(E,I,q){var z=""+Math.abs(E),ee=I-z.length,ke=E>=0;return(ke?q?"+":"":"-")+Math.pow(10,Math.max(0,ee)).toString().substr(1)+z}var Fe=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,nt=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,vt={},jt={};function Ye(E,I,q,z){var ee=z;typeof z=="string"&&(ee=function(){return this[z]()}),E&&(jt[E]=ee),I&&(jt[I[0]]=function(){return Ee(ee.apply(this,arguments),I[1],I[2])}),q&&(jt[q]=function(){return this.localeData().ordinal(ee.apply(this,arguments),E)})}function At(E){return E.match(/\[[\s\S]/)?E.replace(/^\[|\]$/g,""):E.replace(/\\/g,"")}function Ae(E){var I=E.match(Fe),q,z;for(q=0,z=I.length;q<z;q++)jt[I[q]]?I[q]=jt[I[q]]:I[q]=At(I[q]);return function(ee){var ke="",xt;for(xt=0;xt<z;xt++)ke+=ct(I[xt])?I[xt].call(ee,E):I[xt];return ke}}function Ze(E,I){return E.isValid()?(I=lt(I,E.localeData()),vt[I]=vt[I]||Ae(I),vt[I](E)):E.localeData().invalidDate()}function lt(E,I){var q=5;function z(ee){return I.longDateFormat(ee)||ee}for(nt.lastIndex=0;q>=0&&nt.test(E);)E=E.replace(nt,z),nt.lastIndex=0,q-=1;return E}var Ut={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Tt(E){var I=this._longDateFormat[E],q=this._longDateFormat[E.toUpperCase()];return I||!q?I:(this._longDateFormat[E]=q.match(Fe).map(function(z){return z==="MMMM"||z==="MM"||z==="DD"||z==="dddd"?z.slice(1):z}).join(""),this._longDateFormat[E])}var ft="Invalid date";function mt(){return this._invalidDate}var C="%d",kt=/\d{1,2}/;function Yt(E){return this._ordinal.replace("%d",E)}var Jr={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function _t(E,I,q,z){var ee=this._relativeTime[q];return ct(ee)?ee(E,I,q,z):ee.replace(/%d/i,E)}function bt(E,I){var q=this._relativeTime[E>0?"future":"past"];return ct(q)?q(I):q.replace(/%s/i,I)}var tr={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function ge(E){return typeof E=="string"?tr[E]||tr[E.toLowerCase()]:void 0}function Je(E){var I={},q,z;for(z in E)n(E,z)&&(q=ge(z),q&&(I[q]=E[z]));return I}var $t={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function rr(E){var I=[],q;for(q in E)n(E,q)&&I.push({unit:q,priority:$t[q]});return I.sort(function(z,ee){return z.priority-ee.priority}),I}var $r=/\d/,Vr=/\d\d/,Hn=/\d{3}/,jn=/\d{4}/,ei=/[+-]?\d{6}/,En=/\d\d?/,$o=/\d\d\d\d?/,Qo=/\d\d\d\d\d\d?/,ps=/\d{1,3}/,Vo=/\d{1,4}/,Vu=/[+-]?\d{1,6}/,za=/\d+/,rt=/[+-]?\d+/,Ft=/Z|[+-]\d\d:?\d\d/gi,It=/Z|[+-]\d\d(?::?\d\d)?/gi,Xt=/[+-]?\d+(\.\d{1,3})?/,Ir=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,xr=/^[1-9]\d?/,In=/^([1-9]\d|\d)/,_i;_i={};function Mt(E,I,q){_i[E]=ct(I)?I:function(z,ee){return z&&q?q:I}}function Ai(E,I){return n(_i,E)?_i[E](I._strict,I._locale):new RegExp(Ps(E))}function Ps(E){return Di(E.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(I,q,z,ee,ke){return q||z||ee||ke}))}function Di(E){return E.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Si(E){return E<0?Math.ceil(E)||0:Math.floor(E)}function sn(E){var I=+E,q=0;return I!==0&&isFinite(I)&&(q=Si(I)),q}var Ws={};function On(E,I){var q,z=I,ee;for(typeof E=="string"&&(E=[E]),m(I)&&(z=function(ke,xt){xt[I]=sn(ke)}),ee=E.length,q=0;q<ee;q++)Ws[E[q]]=z}function Ss(E,I){On(E,function(q,z,ee,ke){ee._w=ee._w||{},I(q,ee._w,ee,ke)})}function Hu(E,I,q){I!=null&&n(Ws,E)&&Ws[E](I,q._a,q,E)}function to(E){return E%4===0&&E%100!==0||E%400===0}var ur=0,Ao=1,co=2,Cs=3,Do=4,lo=5,js=6,Zc=7,fu=8;Ye("Y",0,0,function(){var E=this.year();return E<=9999?Ee(E,4):"+"+E}),Ye(0,["YY",2],0,function(){return this.year()%100}),Ye(0,["YYYY",4],0,"year"),Ye(0,["YYYYY",5],0,"year"),Ye(0,["YYYYYY",6,!0],0,"year"),Mt("Y",rt),Mt("YY",En,Vr),Mt("YYYY",Vo,jn),Mt("YYYYY",Vu,ei),Mt("YYYYYY",Vu,ei),On(["YYYYY","YYYYYY"],ur),On("YYYY",function(E,I){I[ur]=E.length===2?t.parseTwoDigitYear(E):sn(E)}),On("YY",function(E,I){I[ur]=t.parseTwoDigitYear(E)}),On("Y",function(E,I){I[ur]=parseInt(E,10)});function Oa(E){return to(E)?366:365}t.parseTwoDigitYear=function(E){return sn(E)+(sn(E)>68?1900:2e3)};var Wu=tn("FullYear",!0);function Fl(){return to(this.year())}function tn(E,I){return function(q){return q!=null?(el(this,E,q),t.updateOffset(this,I),this):vc(this,E)}}function vc(E,I){if(!E.isValid())return NaN;var q=E._d,z=E._isUTC;switch(I){case"Milliseconds":return z?q.getUTCMilliseconds():q.getMilliseconds();case"Seconds":return z?q.getUTCSeconds():q.getSeconds();case"Minutes":return z?q.getUTCMinutes():q.getMinutes();case"Hours":return z?q.getUTCHours():q.getHours();case"Date":return z?q.getUTCDate():q.getDate();case"Day":return z?q.getUTCDay():q.getDay();case"Month":return z?q.getUTCMonth():q.getMonth();case"FullYear":return z?q.getUTCFullYear():q.getFullYear();default:return NaN}}function el(E,I,q){var z,ee,ke,xt,fr;if(!(!E.isValid()||isNaN(q))){switch(z=E._d,ee=E._isUTC,I){case"Milliseconds":return void(ee?z.setUTCMilliseconds(q):z.setMilliseconds(q));case"Seconds":return void(ee?z.setUTCSeconds(q):z.setSeconds(q));case"Minutes":return void(ee?z.setUTCMinutes(q):z.setMinutes(q));case"Hours":return void(ee?z.setUTCHours(q):z.setHours(q));case"Date":return void(ee?z.setUTCDate(q):z.setDate(q));case"FullYear":break;default:return}ke=q,xt=E.month(),fr=E.date(),fr=fr===29&&xt===1&&!to(ke)?28:fr,ee?z.setUTCFullYear(ke,xt,fr):z.setFullYear(ke,xt,fr)}}function du(E){return E=ge(E),ct(this[E])?this[E]():this}function fs(E,I){if(typeof E=="object"){E=Je(E);var q=rr(E),z,ee=q.length;for(z=0;z<ee;z++)this[q[z].unit](E[q[z].unit])}else if(E=ge(E),ct(this[E]))return this[E](I);return this}function Ji(E,I){return(E%I+I)%I}var Bi;Array.prototype.indexOf?Bi=Array.prototype.indexOf:Bi=function(E){var I;for(I=0;I<this.length;++I)if(this[I]===E)return I;return-1};function zs(E,I){if(isNaN(E)||isNaN(I))return NaN;var q=Ji(I,12);return E+=(I-q)/12,q===1?to(E)?29:28:31-q%7%2}Ye("M",["MM",2],"Mo",function(){return this.month()+1}),Ye("MMM",0,0,function(E){return this.localeData().monthsShort(this,E)}),Ye("MMMM",0,0,function(E){return this.localeData().months(this,E)}),Mt("M",En,xr),Mt("MM",En,Vr),Mt("MMM",function(E,I){return I.monthsShortRegex(E)}),Mt("MMMM",function(E,I){return I.monthsRegex(E)}),On(["M","MM"],function(E,I){I[Ao]=sn(E)-1}),On(["MMM","MMMM"],function(E,I,q,z){var ee=q._locale.monthsParse(E,z,q._strict);ee!=null?I[Ao]=ee:g(q).invalidMonth=E});var ko="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Na="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Zo=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Io=Ir,Ll=Ir;function Z0(E,I){return E?s(this._months)?this._months[E.month()]:this._months[(this._months.isFormat||Zo).test(I)?"format":"standalone"][E.month()]:s(this._months)?this._months:this._months.standalone}function kp(E,I){return E?s(this._monthsShort)?this._monthsShort[E.month()]:this._monthsShort[Zo.test(I)?"format":"standalone"][E.month()]:s(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function Ml(E,I,q){var z,ee,ke,xt=E.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],z=0;z<12;++z)ke=P([2e3,z]),this._shortMonthsParse[z]=this.monthsShort(ke,"").toLocaleLowerCase(),this._longMonthsParse[z]=this.months(ke,"").toLocaleLowerCase();return q?I==="MMM"?(ee=Bi.call(this._shortMonthsParse,xt),ee!==-1?ee:null):(ee=Bi.call(this._longMonthsParse,xt),ee!==-1?ee:null):I==="MMM"?(ee=Bi.call(this._shortMonthsParse,xt),ee!==-1?ee:(ee=Bi.call(this._longMonthsParse,xt),ee!==-1?ee:null)):(ee=Bi.call(this._longMonthsParse,xt),ee!==-1?ee:(ee=Bi.call(this._shortMonthsParse,xt),ee!==-1?ee:null))}function ga(E,I,q){var z,ee,ke;if(this._monthsParseExact)return Ml.call(this,E,I,q);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),z=0;z<12;z++){if(ee=P([2e3,z]),q&&!this._longMonthsParse[z]&&(this._longMonthsParse[z]=new RegExp("^"+this.months(ee,"").replace(".","")+"$","i"),this._shortMonthsParse[z]=new RegExp("^"+this.monthsShort(ee,"").replace(".","")+"$","i")),!q&&!this._monthsParse[z]&&(ke="^"+this.months(ee,"")+"|^"+this.monthsShort(ee,""),this._monthsParse[z]=new RegExp(ke.replace(".",""),"i")),q&&I==="MMMM"&&this._longMonthsParse[z].test(E))return z;if(q&&I==="MMM"&&this._shortMonthsParse[z].test(E))return z;if(!q&&this._monthsParse[z].test(E))return z}}function qt(E,I){if(!E.isValid())return E;if(typeof I=="string"){if(/^\d+$/.test(I))I=sn(I);else if(I=E.localeData().monthsParse(I),!m(I))return E}var q=I,z=E.date();return z=z<29?z:Math.min(z,zs(E.year(),q)),E._isUTC?E._d.setUTCMonth(q,z):E._d.setMonth(q,z),E}function hu(E){return E!=null?(qt(this,E),t.updateOffset(this,!0),this):vc(this,"Month")}function em(){return zs(this.year(),this.month())}function Ip(E){return this._monthsParseExact?(n(this,"_monthsRegex")||xc.call(this),E?this._monthsShortStrictRegex:this._monthsShortRegex):(n(this,"_monthsShortRegex")||(this._monthsShortRegex=Io),this._monthsShortStrictRegex&&E?this._monthsShortStrictRegex:this._monthsShortRegex)}function ns(E){return this._monthsParseExact?(n(this,"_monthsRegex")||xc.call(this),E?this._monthsStrictRegex:this._monthsRegex):(n(this,"_monthsRegex")||(this._monthsRegex=Ll),this._monthsStrictRegex&&E?this._monthsStrictRegex:this._monthsRegex)}function xc(){function E(dn,fi){return fi.length-dn.length}var I=[],q=[],z=[],ee,ke,xt,fr;for(ee=0;ee<12;ee++)ke=P([2e3,ee]),xt=Di(this.monthsShort(ke,"")),fr=Di(this.months(ke,"")),I.push(xt),q.push(fr),z.push(fr),z.push(xt);I.sort(E),q.sort(E),z.sort(E),this._monthsRegex=new RegExp("^("+z.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+q.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+I.join("|")+")","i")}function Vh(E,I,q,z,ee,ke,xt){var fr;return E<100&&E>=0?(fr=new Date(E+400,I,q,z,ee,ke,xt),isFinite(fr.getFullYear())&&fr.setFullYear(E)):fr=new Date(E,I,q,z,ee,ke,xt),fr}function Sf(E){var I,q;return E<100&&E>=0?(q=Array.prototype.slice.call(arguments),q[0]=E+400,I=new Date(Date.UTC.apply(null,q)),isFinite(I.getUTCFullYear())&&I.setUTCFullYear(E)):I=new Date(Date.UTC.apply(null,arguments)),I}function tl(E,I,q){var z=7+I-q,ee=(7+Sf(E,0,z).getUTCDay()-I)%7;return-ee+z-1}function Od(E,I,q,z,ee){var ke=(7+q-z)%7,xt=tl(E,z,ee),fr=1+7*(I-1)+ke+xt,dn,fi;return fr<=0?(dn=E-1,fi=Oa(dn)+fr):fr>Oa(E)?(dn=E+1,fi=fr-Oa(E)):(dn=E,fi=fr),{year:dn,dayOfYear:fi}}function or(E,I,q){var z=tl(E.year(),I,q),ee=Math.floor((E.dayOfYear()-z-1)/7)+1,ke,xt;return ee<1?(xt=E.year()-1,ke=ee+ji(xt,I,q)):ee>ji(E.year(),I,q)?(ke=ee-ji(E.year(),I,q),xt=E.year()+1):(xt=E.year(),ke=ee),{week:ke,year:xt}}function ji(E,I,q){var z=tl(E,I,q),ee=tl(E+1,I,q);return(Oa(E)-z+ee)/7}Ye("w",["ww",2],"wo","week"),Ye("W",["WW",2],"Wo","isoWeek"),Mt("w",En,xr),Mt("ww",En,Vr),Mt("W",En,xr),Mt("WW",En,Vr),Ss(["w","ww","W","WW"],function(E,I,q,z){I[z.substr(0,1)]=sn(E)});function Nd(E){return or(E,this._week.dow,this._week.doy).week}var Bl={dow:0,doy:6};function mu(){return this._week.dow}function bf(){return this._week.doy}function tm(E){var I=this.localeData().week(this);return E==null?I:this.add((E-I)*7,"d")}function Hh(E){var I=or(this,1,4).week;return E==null?I:this.add((E-I)*7,"d")}Ye("d",0,"do","day"),Ye("dd",0,0,function(E){return this.localeData().weekdaysMin(this,E)}),Ye("ddd",0,0,function(E){return this.localeData().weekdaysShort(this,E)}),Ye("dddd",0,0,function(E){return this.localeData().weekdays(this,E)}),Ye("e",0,0,"weekday"),Ye("E",0,0,"isoWeekday"),Mt("d",En),Mt("e",En),Mt("E",En),Mt("dd",function(E,I){return I.weekdaysMinRegex(E)}),Mt("ddd",function(E,I){return I.weekdaysShortRegex(E)}),Mt("dddd",function(E,I){return I.weekdaysRegex(E)}),Ss(["dd","ddd","dddd"],function(E,I,q,z){var ee=q._locale.weekdaysParse(E,z,q._strict);ee!=null?I.d=ee:g(q).invalidWeekday=E}),Ss(["d","e","E"],function(E,I,q,z){I[z]=sn(E)});function rm(E,I){return typeof E!="string"?E:isNaN(E)?(E=I.weekdaysParse(E),typeof E=="number"?E:null):parseInt(E,10)}function Ra(E,I){return typeof E=="string"?I.weekdaysParse(E)%7||7:isNaN(E)?null:E}function Fa(E,I){return E.slice(I,7).concat(E.slice(0,I))}var Wh="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),zh="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Op="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ea=Ir,Np=Ir,La=Ir;function rl(E,I){var q=s(this._weekdays)?this._weekdays:this._weekdays[E&&E!==!0&&this._weekdays.isFormat.test(I)?"format":"standalone"];return E===!0?Fa(q,this._week.dow):E?q[E.day()]:q}function yu(E){return E===!0?Fa(this._weekdaysShort,this._week.dow):E?this._weekdaysShort[E.day()]:this._weekdaysShort}function zu(E){return E===!0?Fa(this._weekdaysMin,this._week.dow):E?this._weekdaysMin[E.day()]:this._weekdaysMin}function _c(E,I,q){var z,ee,ke,xt=E.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],z=0;z<7;++z)ke=P([2e3,1]).day(z),this._minWeekdaysParse[z]=this.weekdaysMin(ke,"").toLocaleLowerCase(),this._shortWeekdaysParse[z]=this.weekdaysShort(ke,"").toLocaleLowerCase(),this._weekdaysParse[z]=this.weekdays(ke,"").toLocaleLowerCase();return q?I==="dddd"?(ee=Bi.call(this._weekdaysParse,xt),ee!==-1?ee:null):I==="ddd"?(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1?ee:null):(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1?ee:null):I==="dddd"?(ee=Bi.call(this._weekdaysParse,xt),ee!==-1||(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1)?ee:(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1?ee:null)):I==="ddd"?(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1||(ee=Bi.call(this._weekdaysParse,xt),ee!==-1)?ee:(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1?ee:null)):(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1||(ee=Bi.call(this._weekdaysParse,xt),ee!==-1)?ee:(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1?ee:null))}function Sc(E,I,q){var z,ee,ke;if(this._weekdaysParseExact)return _c.call(this,E,I,q);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),z=0;z<7;z++){if(ee=P([2e3,1]).day(z),q&&!this._fullWeekdaysParse[z]&&(this._fullWeekdaysParse[z]=new RegExp("^"+this.weekdays(ee,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[z]=new RegExp("^"+this.weekdaysShort(ee,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[z]=new RegExp("^"+this.weekdaysMin(ee,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[z]||(ke="^"+this.weekdays(ee,"")+"|^"+this.weekdaysShort(ee,"")+"|^"+this.weekdaysMin(ee,""),this._weekdaysParse[z]=new RegExp(ke.replace(".",""),"i")),q&&I==="dddd"&&this._fullWeekdaysParse[z].test(E))return z;if(q&&I==="ddd"&&this._shortWeekdaysParse[z].test(E))return z;if(q&&I==="dd"&&this._minWeekdaysParse[z].test(E))return z;if(!q&&this._weekdaysParse[z].test(E))return z}}function Ns(E){if(!this.isValid())return E!=null?this:NaN;var I=vc(this,"Day");return E!=null?(E=rm(E,this.localeData()),this.add(E-I,"d")):I}function wn(E){if(!this.isValid())return E!=null?this:NaN;var I=(this.day()+7-this.localeData()._week.dow)%7;return E==null?I:this.add(E-I,"d")}function Gu(E){if(!this.isValid())return E!=null?this:NaN;if(E!=null){var I=Ra(E,this.localeData());return this.day(this.day()%7?I:I-7)}else return this.day()||7}function Gh(E){return this._weekdaysParseExact?(n(this,"_weekdaysRegex")||ql.call(this),E?this._weekdaysStrictRegex:this._weekdaysRegex):(n(this,"_weekdaysRegex")||(this._weekdaysRegex=ea),this._weekdaysStrictRegex&&E?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gs(E){return this._weekdaysParseExact?(n(this,"_weekdaysRegex")||ql.call(this),E?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(n(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Np),this._weekdaysShortStrictRegex&&E?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function jl(E){return this._weekdaysParseExact?(n(this,"_weekdaysRegex")||ql.call(this),E?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(n(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=La),this._weekdaysMinStrictRegex&&E?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function ql(){function E(ia,eu){return eu.length-ia.length}var I=[],q=[],z=[],ee=[],ke,xt,fr,dn,fi;for(ke=0;ke<7;ke++)xt=P([2e3,1]).day(ke),fr=Di(this.weekdaysMin(xt,"")),dn=Di(this.weekdaysShort(xt,"")),fi=Di(this.weekdays(xt,"")),I.push(fr),q.push(dn),z.push(fi),ee.push(fr),ee.push(dn),ee.push(fi);I.sort(E),q.sort(E),z.sort(E),ee.sort(E),this._weekdaysRegex=new RegExp("^("+ee.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+z.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+q.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+I.join("|")+")","i")}function Ma(){return this.hours()%12||12}function Rp(){return this.hours()||24}Ye("H",["HH",2],0,"hour"),Ye("h",["hh",2],0,Ma),Ye("k",["kk",2],0,Rp),Ye("hmm",0,0,function(){return""+Ma.apply(this)+Ee(this.minutes(),2)}),Ye("hmmss",0,0,function(){return""+Ma.apply(this)+Ee(this.minutes(),2)+Ee(this.seconds(),2)}),Ye("Hmm",0,0,function(){return""+this.hours()+Ee(this.minutes(),2)}),Ye("Hmmss",0,0,function(){return""+this.hours()+Ee(this.minutes(),2)+Ee(this.seconds(),2)});function Oo(E,I){Ye(E,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),I)})}Oo("a",!0),Oo("A",!1);function Fp(E,I){return I._meridiemParse}Mt("a",Fp),Mt("A",Fp),Mt("H",En,In),Mt("h",En,xr),Mt("k",En,xr),Mt("HH",En,Vr),Mt("hh",En,Vr),Mt("kk",En,Vr),Mt("hmm",$o),Mt("hmmss",Qo),Mt("Hmm",$o),Mt("Hmmss",Qo),On(["H","HH"],Cs),On(["k","kk"],function(E,I,q){var z=sn(E);I[Cs]=z===24?0:z}),On(["a","A"],function(E,I,q){q._isPm=q._locale.isPM(E),q._meridiem=E}),On(["h","hh"],function(E,I,q){I[Cs]=sn(E),g(q).bigHour=!0}),On("hmm",function(E,I,q){var z=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z)),g(q).bigHour=!0}),On("hmmss",function(E,I,q){var z=E.length-4,ee=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z,2)),I[lo]=sn(E.substr(ee)),g(q).bigHour=!0}),On("Hmm",function(E,I,q){var z=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z))}),On("Hmmss",function(E,I,q){var z=E.length-4,ee=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z,2)),I[lo]=sn(E.substr(ee))});function Kh(E){return(E+"").toLowerCase().charAt(0)==="p"}var Ga=/[ap]\.?m?\.?/i,va=tn("Hours",!0);function Lp(E,I,q){return E>11?q?"pm":"PM":q?"am":"AM"}var nl={calendar:ze,longDateFormat:Ut,invalidDate:ft,ordinal:C,dayOfMonthOrdinalParse:kt,relativeTime:Jr,months:ko,monthsShort:Na,week:Bl,weekdays:Wh,weekdaysMin:Op,weekdaysShort:zh,meridiemParse:Ga},bs={},ro={},Ku;function Ef(E,I){var q,z=Math.min(E.length,I.length);for(q=0;q<z;q+=1)if(E[q]!==I[q])return q;return z}function gu(E){return E&&E.toLowerCase().replace("_","-")}function il(E){for(var I=0,q,z,ee,ke;I<E.length;){for(ke=gu(E[I]).split("-"),q=ke.length,z=gu(E[I+1]),z=z?z.split("-"):null;q>0;){if(ee=Z(ke.slice(0,q).join("-")),ee)return ee;if(z&&z.length>=q&&Ef(ke,z)>=q-1)break;q--}I++}return Ku}function ue(E){return!!(E&&E.match("^[^/\\\\]*$"))}function Z(E){var I=null,q;if(bs[E]===void 0&&typeof _2<"u"&&_2&&_2.exports&&ue(E))try{I=Ku._abbr,q=require,q("./locale/"+E),ae(I)}catch{bs[E]=null}return bs[E]}function ae(E,I){var q;return E&&(f(I)?q=Xe(E):q=Me(E,I),q?Ku=q:typeof console<"u"&&console.warn&&console.warn("Locale "+E+" not found. Did you forget to load it?")),Ku._abbr}function Me(E,I){if(I!==null){var q,z=nl;if(I.abbr=E,bs[E]!=null)Ct("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),z=bs[E]._config;else if(I.parentLocale!=null)if(bs[I.parentLocale]!=null)z=bs[I.parentLocale]._config;else if(q=Z(I.parentLocale),q!=null)z=q._config;else return ro[I.parentLocale]||(ro[I.parentLocale]=[]),ro[I.parentLocale].push({name:E,config:I}),null;return bs[E]=new se(je(z,I)),ro[E]&&ro[E].forEach(function(ee){Me(ee.name,ee.config)}),ae(E),bs[E]}else return delete bs[E],null}function it(E,I){if(I!=null){var q,z,ee=nl;bs[E]!=null&&bs[E].parentLocale!=null?bs[E].set(je(bs[E]._config,I)):(z=Z(E),z!=null&&(ee=z._config),I=je(ee,I),z==null&&(I.abbr=E),q=new se(I),q.parentLocale=bs[E],bs[E]=q),ae(E)}else bs[E]!=null&&(bs[E].parentLocale!=null?(bs[E]=bs[E].parentLocale,E===ae()&&ae(E)):bs[E]!=null&&delete bs[E]);return bs[E]}function Xe(E){var I;if(E&&E._locale&&E._locale._abbr&&(E=E._locale._abbr),!E)return Ku;if(!s(E)){if(I=Z(E),I)return I;E=[E]}return il(E)}function gt(){return De(bs)}function St(E){var I,q=E._a;return q&&g(E).overflow===-2&&(I=q[Ao]<0||q[Ao]>11?Ao:q[co]<1||q[co]>zs(q[ur],q[Ao])?co:q[Cs]<0||q[Cs]>24||q[Cs]===24&&(q[Do]!==0||q[lo]!==0||q[js]!==0)?Cs:q[Do]<0||q[Do]>59?Do:q[lo]<0||q[lo]>59?lo:q[js]<0||q[js]>999?js:-1,g(E)._overflowDayOfYear&&(I<ur||I>co)&&(I=co),g(E)._overflowWeeks&&I===-1&&(I=Zc),g(E)._overflowWeekday&&I===-1&&(I=fu),g(E).overflow=I),E}var Vt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_r=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,An=/Z|[+-]\d\d(?::?\d\d)?/,ti=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Nn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ba=/^\/?Date\((-?\d+)/i,Ul=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,xa={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function No(E){var I,q,z=E._i,ee=Vt.exec(z)||_r.exec(z),ke,xt,fr,dn,fi=ti.length,ia=Nn.length;if(ee){for(g(E).iso=!0,I=0,q=fi;I<q;I++)if(ti[I][1].exec(ee[1])){xt=ti[I][0],ke=ti[I][2]!==!1;break}if(xt==null){E._isValid=!1;return}if(ee[3]){for(I=0,q=ia;I<q;I++)if(Nn[I][1].exec(ee[3])){fr=(ee[2]||" ")+Nn[I][0];break}if(fr==null){E._isValid=!1;return}}if(!ke&&fr!=null){E._isValid=!1;return}if(ee[4])if(An.exec(ee[4]))dn="Z";else{E._isValid=!1;return}E._f=xt+(fr||"")+(dn||""),Ho(E)}else E._isValid=!1}function ui(E,I,q,z,ee,ke){var xt=[on(E),Na.indexOf(I),parseInt(q,10),parseInt(z,10),parseInt(ee,10)];return ke&&xt.push(parseInt(ke,10)),xt}function on(E){var I=parseInt(E,10);return I<=49?2e3+I:I<=999?1900+I:I}function Nr(E){return E.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function rn(E,I,q){if(E){var z=zh.indexOf(E),ee=new Date(I[0],I[1],I[2]).getDay();if(z!==ee)return g(q).weekdayMismatch=!0,q._isValid=!1,!1}return!0}function ri(E,I,q){if(E)return xa[E];if(I)return 0;var z=parseInt(q,10),ee=z%100,ke=(z-ee)/100;return ke*60+ee}function Ii(E){var I=Ul.exec(Nr(E._i)),q;if(I){if(q=ui(I[4],I[3],I[2],I[5],I[6],I[7]),!rn(I[1],q,E))return;E._a=q,E._tzm=ri(I[8],I[9],I[10]),E._d=Sf.apply(null,E._a),E._d.setUTCMinutes(E._d.getUTCMinutes()-E._tzm),g(E).rfc2822=!0}else E._isValid=!1}function Ks(E){var I=Ba.exec(E._i);if(I!==null){E._d=new Date(+I[1]);return}if(No(E),E._isValid===!1)delete E._isValid;else return;if(Ii(E),E._isValid===!1)delete E._isValid;else return;E._strict?E._isValid=!1:t.createFromInputFallback(E)}t.createFromInputFallback=Ve("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(E){E._d=new Date(E._i+(E._useUTC?" UTC":""))});function _o(E,I,q){return E!=null?E:I!=null?I:q}function bc(E){var I=new Date(t.now());return E._useUTC?[I.getUTCFullYear(),I.getUTCMonth(),I.getUTCDate()]:[I.getFullYear(),I.getMonth(),I.getDate()]}function no(E){var I,q,z=[],ee,ke,xt;if(!E._d){for(ee=bc(E),E._w&&E._a[co]==null&&E._a[Ao]==null&&ja(E),E._dayOfYear!=null&&(xt=_o(E._a[ur],ee[ur]),(E._dayOfYear>Oa(xt)||E._dayOfYear===0)&&(g(E)._overflowDayOfYear=!0),q=Sf(xt,0,E._dayOfYear),E._a[Ao]=q.getUTCMonth(),E._a[co]=q.getUTCDate()),I=0;I<3&&E._a[I]==null;++I)E._a[I]=z[I]=ee[I];for(;I<7;I++)E._a[I]=z[I]=E._a[I]==null?I===2?1:0:E._a[I];E._a[Cs]===24&&E._a[Do]===0&&E._a[lo]===0&&E._a[js]===0&&(E._nextDay=!0,E._a[Cs]=0),E._d=(E._useUTC?Sf:Vh).apply(null,z),ke=E._useUTC?E._d.getUTCDay():E._d.getDay(),E._tzm!=null&&E._d.setUTCMinutes(E._d.getUTCMinutes()-E._tzm),E._nextDay&&(E._a[Cs]=24),E._w&&typeof E._w.d<"u"&&E._w.d!==ke&&(g(E).weekdayMismatch=!0)}}function ja(E){var I,q,z,ee,ke,xt,fr,dn,fi;I=E._w,I.GG!=null||I.W!=null||I.E!=null?(ke=1,xt=4,q=_o(I.GG,E._a[ur],or(Tn(),1,4).year),z=_o(I.W,1),ee=_o(I.E,1),(ee<1||ee>7)&&(dn=!0)):(ke=E._locale._week.dow,xt=E._locale._week.doy,fi=or(Tn(),ke,xt),q=_o(I.gg,E._a[ur],fi.year),z=_o(I.w,fi.week),I.d!=null?(ee=I.d,(ee<0||ee>6)&&(dn=!0)):I.e!=null?(ee=I.e+ke,(I.e<0||I.e>6)&&(dn=!0)):ee=ke),z<1||z>ji(q,ke,xt)?g(E)._overflowWeeks=!0:dn!=null?g(E)._overflowWeekday=!0:(fr=Od(q,z,ee,ke,xt),E._a[ur]=fr.year,E._dayOfYear=fr.dayOfYear)}t.ISO_8601=function(){},t.RFC_2822=function(){};function Ho(E){if(E._f===t.ISO_8601){No(E);return}if(E._f===t.RFC_2822){Ii(E);return}E._a=[],g(E).empty=!0;var I=""+E._i,q,z,ee,ke,xt,fr=I.length,dn=0,fi,ia;for(ee=lt(E._f,E._locale).match(Fe)||[],ia=ee.length,q=0;q<ia;q++)ke=ee[q],z=(I.match(Ai(ke,E))||[])[0],z&&(xt=I.substr(0,I.indexOf(z)),xt.length>0&&g(E).unusedInput.push(xt),I=I.slice(I.indexOf(z)+z.length),dn+=z.length),jt[ke]?(z?g(E).empty=!1:g(E).unusedTokens.push(ke),Hu(ke,z,E)):E._strict&&!z&&g(E).unusedTokens.push(ke);g(E).charsLeftOver=fr-dn,I.length>0&&g(E).unusedInput.push(I),E._a[Cs]<=12&&g(E).bigHour===!0&&E._a[Cs]>0&&(g(E).bigHour=void 0),g(E).parsedDateParts=E._a.slice(0),g(E).meridiem=E._meridiem,E._a[Cs]=$l(E._locale,E._a[Cs],E._meridiem),fi=g(E).era,fi!==null&&(E._a[ur]=E._locale.erasConvertYear(fi,E._a[ur])),no(E),St(E)}function $l(E,I,q){var z;return q==null?I:E.meridiemHour!=null?E.meridiemHour(I,q):(E.isPM!=null&&(z=E.isPM(q),z&&I<12&&(I+=12),!z&&I===12&&(I=0)),I)}function Mp(E){var I,q,z,ee,ke,xt,fr=!1,dn=E._f.length;if(dn===0){g(E).invalidFormat=!0,E._d=new Date(NaN);return}for(ee=0;ee<dn;ee++)ke=0,xt=!1,I=te({},E),E._useUTC!=null&&(I._useUTC=E._useUTC),I._f=E._f[ee],Ho(I),F(I)&&(xt=!0),ke+=g(I).charsLeftOver,ke+=g(I).unusedTokens.length*10,g(I).score=ke,fr?ke<z&&(z=ke,q=I):(z==null||ke<z||xt)&&(z=ke,q=I,xt&&(fr=!0));b(E,q||I)}function Yu(E){if(!E._d){var I=Je(E._i),q=I.day===void 0?I.date:I.day;E._a=v([I.year,I.month,q,I.hour,I.minute,I.second,I.millisecond],function(z){return z&&parseInt(z,10)}),no(E)}}function Bp(E){var I=new me(St(Wo(E)));return I._nextDay&&(I.add(1,"d"),I._nextDay=void 0),I}function Wo(E){var I=E._i,q=E._f;return E._locale=E._locale||Xe(E._l),I===null||q===void 0&&I===""?M({nullInput:!0}):(typeof I=="string"&&(E._i=I=E._locale.preparse(I)),Ce(I)?new me(St(I)):(y(I)?E._d=I:s(q)?Mp(E):q?Ho(E):qi(E),F(E)||(E._d=null),E))}function qi(E){var I=E._i;f(I)?E._d=new Date(t.now()):y(I)?E._d=new Date(I.valueOf()):typeof I=="string"?Ks(E):s(I)?(E._a=v(I.slice(0),function(q){return parseInt(q,10)}),no(E)):a(I)?Yu(E):m(I)?E._d=new Date(I):t.createFromInputFallback(E)}function Yh(E,I,q,z,ee){var ke={};return(I===!0||I===!1)&&(z=I,I=void 0),(q===!0||q===!1)&&(z=q,q=void 0),(a(E)&&l(E)||s(E)&&E.length===0)&&(E=void 0),ke._isAMomentObject=!0,ke._useUTC=ke._isUTC=ee,ke._l=q,ke._i=E,ke._f=I,ke._strict=z,Bp(ke)}function Tn(E,I,q,z){return Yh(E,I,q,z,!1)}var Jh=Ve("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var E=Tn.apply(null,arguments);return this.isValid()&&E.isValid()?E<this?this:E:M()}),zo=Ve("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var E=Tn.apply(null,arguments);return this.isValid()&&E.isValid()?E>this?this:E:M()});function oi(E,I){var q,z;if(I.length===1&&s(I[0])&&(I=I[0]),!I.length)return Tn();for(q=I[0],z=1;z<I.length;++z)(!I[z].isValid()||I[z][E](q))&&(q=I[z]);return q}function Ka(){var E=[].slice.call(arguments,0);return oi("isBefore",E)}function Rd(){var E=[].slice.call(arguments,0);return oi("isAfter",E)}var wf=function(){return Date.now?Date.now():+new Date},Tf=["year","quarter","month","week","day","hour","minute","second","millisecond"];function gv(E){var I,q=!1,z,ee=Tf.length;for(I in E)if(n(E,I)&&!(Bi.call(Tf,I)!==-1&&(E[I]==null||!isNaN(E[I]))))return!1;for(z=0;z<ee;++z)if(E[Tf[z]]){if(q)return!1;parseFloat(E[Tf[z]])!==sn(E[Tf[z]])&&(q=!0)}return!0}function Fd(){return this._isValid}function nm(){return So(NaN)}function Ec(E){var I=Je(E),q=I.year||0,z=I.quarter||0,ee=I.month||0,ke=I.week||I.isoWeek||0,xt=I.day||0,fr=I.hour||0,dn=I.minute||0,fi=I.second||0,ia=I.millisecond||0;this._isValid=gv(I),this._milliseconds=+ia+fi*1e3+dn*6e4+fr*1e3*60*60,this._days=+xt+ke*7,this._months=+ee+z*3+q*12,this._data={},this._locale=Xe(),this._bubble()}function qa(E){return E instanceof Ec}function sl(E){return E<0?Math.round(-1*E)*-1:Math.round(E)}function Ya(E,I,q){var z=Math.min(E.length,I.length),ee=Math.abs(E.length-I.length),ke=0,xt;for(xt=0;xt<z;xt++)(q&&E[xt]!==I[xt]||!q&&sn(E[xt])!==sn(I[xt]))&&ke++;return ke+ee}function jp(E,I){Ye(E,0,0,function(){var q=this.utcOffset(),z="+";return q<0&&(q=-q,z="-"),z+Ee(~~(q/60),2)+I+Ee(~~q%60,2)})}jp("Z",":"),jp("ZZ",""),Mt("Z",It),Mt("ZZ",It),On(["Z","ZZ"],function(E,I,q){q._useUTC=!0,q._tzm=Ro(It,E)});var Ys=/([\+\-]|\d\d)/gi;function Ro(E,I){var q=(I||"").match(E),z,ee,ke;return q===null?null:(z=q[q.length-1]||[],ee=(z+"").match(Ys)||["-",0,0],ke=+(ee[1]*60)+sn(ee[2]),ke===0?0:ee[0]==="+"?ke:-ke)}function io(E,I){var q,z;return I._isUTC?(q=I.clone(),z=(Ce(E)||y(E)?E.valueOf():Tn(E).valueOf())-q.valueOf(),q._d.setTime(q._d.valueOf()+z),t.updateOffset(q,!1),q):Tn(E).local()}function wc(E){return-Math.round(E._d.getTimezoneOffset())}t.updateOffset=function(){};function Pf(E,I,q){var z=this._offset||0,ee;if(!this.isValid())return E!=null?this:NaN;if(E!=null){if(typeof E=="string"){if(E=Ro(It,E),E===null)return this}else Math.abs(E)<16&&!q&&(E=E*60);return!this._isUTC&&I&&(ee=wc(this)),this._offset=E,this._isUTC=!0,ee!=null&&this.add(ee,"m"),z!==E&&(!I||this._changeInProgress?ba(this,So(E-z,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?z:wc(this)}function bi(E,I){return E!=null?(typeof E!="string"&&(E=-E),this.utcOffset(E,I),this):-this.utcOffset()}function im(E){return this.utcOffset(0,E)}function sm(E){return this._isUTC&&(this.utcOffset(0,E),this._isUTC=!1,E&&this.subtract(wc(this),"m")),this}function ta(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i=="string"){var E=Ro(Ft,this._i);E!=null?this.utcOffset(E):this.utcOffset(0,!0)}return this}function Sa(E){return this.isValid()?(E=E?Tn(E).utcOffset():0,(this.utcOffset()-E)%60===0):!1}function Ja(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Vl(){if(!f(this._isDSTShifted))return this._isDSTShifted;var E={},I;return te(E,this),E=Wo(E),E._a?(I=E._isUTC?P(E._a):Tn(E._a),this._isDSTShifted=this.isValid()&&Ya(E._a,I.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Hl(){return this.isValid()?!this._isUTC:!1}function Wl(){return this.isValid()?this._isUTC:!1}function Ei(){return this.isValid()?this._isUTC&&this._offset===0:!1}var Ju=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,zl=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function So(E,I){var q=E,z=null,ee,ke,xt;return qa(E)?q={ms:E._milliseconds,d:E._days,M:E._months}:m(E)||!isNaN(+E)?(q={},I?q[I]=+E:q.milliseconds=+E):(z=Ju.exec(E))?(ee=z[1]==="-"?-1:1,q={y:0,d:sn(z[co])*ee,h:sn(z[Cs])*ee,m:sn(z[Do])*ee,s:sn(z[lo])*ee,ms:sn(sl(z[js]*1e3))*ee}):(z=zl.exec(E))?(ee=z[1]==="-"?-1:1,q={y:ol(z[2],ee),M:ol(z[3],ee),w:ol(z[4],ee),d:ol(z[5],ee),h:ol(z[6],ee),m:ol(z[7],ee),s:ol(z[8],ee)}):q==null?q={}:typeof q=="object"&&("from"in q||"to"in q)&&(xt=om(Tn(q.from),Tn(q.to)),q={},q.ms=xt.milliseconds,q.M=xt.months),ke=new Ec(q),qa(E)&&n(E,"_locale")&&(ke._locale=E._locale),qa(E)&&n(E,"_isValid")&&(ke._isValid=E._isValid),ke}So.fn=Ec.prototype,So.invalid=nm;function ol(E,I){var q=E&&parseFloat(E.replace(",","."));return(isNaN(q)?0:q)*I}function Xu(E,I){var q={};return q.months=I.month()-E.month()+(I.year()-E.year())*12,E.clone().add(q.months,"M").isAfter(I)&&--q.months,q.milliseconds=+I-+E.clone().add(q.months,"M"),q}function om(E,I){var q;return E.isValid()&&I.isValid()?(I=io(I,E),E.isBefore(I)?q=Xu(E,I):(q=Xu(I,E),q.milliseconds=-q.milliseconds,q.months=-q.months),q):{milliseconds:0,months:0}}function qp(E,I){return function(q,z){var ee,ke;return z!==null&&!isNaN(+z)&&(Ct(I,"moment()."+I+"(period, number) is deprecated. Please use moment()."+I+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),ke=q,q=z,z=ke),ee=So(q,z),ba(this,ee,E),this}}function ba(E,I,q,z){var ee=I._milliseconds,ke=sl(I._days),xt=sl(I._months);E.isValid()&&(z=z==null?!0:z,xt&&qt(E,vc(E,"Month")+xt*q),ke&&el(E,"Date",vc(E,"Date")+ke*q),ee&&E._d.setTime(E._d.valueOf()+ee*q),z&&t.updateOffset(E,ke||xt))}var ni=qp(1,"add"),Ld=qp(-1,"subtract");function Xh(E){return typeof E=="string"||E instanceof String}function Qh(E){return Ce(E)||y(E)||Xh(E)||m(E)||Wy(E)||Hy(E)||E===null||E===void 0}function Hy(E){var I=a(E)&&!l(E),q=!1,z=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],ee,ke,xt=z.length;for(ee=0;ee<xt;ee+=1)ke=z[ee],q=q||n(E,ke);return I&&q}function Wy(E){var I=s(E),q=!1;return I&&(q=E.filter(function(z){return!m(z)&&Xh(E)}).length===0),I&&q}function vv(E){var I=a(E)&&!l(E),q=!1,z=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],ee,ke;for(ee=0;ee<z.length;ee+=1)ke=z[ee],q=q||n(E,ke);return I&&q}function xx(E,I){var q=E.diff(I,"days",!0);return q<-6?"sameElse":q<-1?"lastWeek":q<0?"lastDay":q<1?"sameDay":q<2?"nextDay":q<7?"nextWeek":"sameElse"}function am(E,I){arguments.length===1&&(arguments[0]?Qh(arguments[0])?(E=arguments[0],I=void 0):vv(arguments[0])&&(I=arguments[0],E=void 0):(E=void 0,I=void 0));var q=E||Tn(),z=io(q,this).startOf("day"),ee=t.calendarFormat(this,z)||"sameElse",ke=I&&(ct(I[ee])?I[ee].call(this,q):I[ee]);return this.format(ke||this.localeData().calendar(ee,this,Tn(q)))}function Zh(){return new me(this)}function xv(E,I){var q=Ce(E)?E:Tn(E);return this.isValid()&&q.isValid()?(I=ge(I)||"millisecond",I==="millisecond"?this.valueOf()>q.valueOf():q.valueOf()<this.clone().startOf(I).valueOf()):!1}function Qu(E,I){var q=Ce(E)?E:Tn(E);return this.isValid()&&q.isValid()?(I=ge(I)||"millisecond",I==="millisecond"?this.valueOf()<q.valueOf():this.clone().endOf(I).valueOf()<q.valueOf()):!1}function Gl(E,I,q,z){var ee=Ce(E)?E:Tn(E),ke=Ce(I)?I:Tn(I);return this.isValid()&&ee.isValid()&&ke.isValid()?(z=z||"()",(z[0]==="("?this.isAfter(ee,q):!this.isBefore(ee,q))&&(z[1]===")"?this.isBefore(ke,q):!this.isAfter(ke,q))):!1}function Ea(E,I){var q=Ce(E)?E:Tn(E),z;return this.isValid()&&q.isValid()?(I=ge(I)||"millisecond",I==="millisecond"?this.valueOf()===q.valueOf():(z=q.valueOf(),this.clone().startOf(I).valueOf()<=z&&z<=this.clone().endOf(I).valueOf())):!1}function vu(E,I){return this.isSame(E,I)||this.isAfter(E,I)}function wa(E,I){return this.isSame(E,I)||this.isBefore(E,I)}function Up(E,I,q){var z,ee,ke;if(!this.isValid())return NaN;if(z=io(E,this),!z.isValid())return NaN;switch(ee=(z.utcOffset()-this.utcOffset())*6e4,I=ge(I),I){case"year":ke=xu(this,z)/12;break;case"month":ke=xu(this,z);break;case"quarter":ke=xu(this,z)/3;break;case"second":ke=(this-z)/1e3;break;case"minute":ke=(this-z)/6e4;break;case"hour":ke=(this-z)/36e5;break;case"day":ke=(this-z-ee)/864e5;break;case"week":ke=(this-z-ee)/6048e5;break;default:ke=this-z}return q?ke:Si(ke)}function xu(E,I){if(E.date()<I.date())return-xu(I,E);var q=(I.year()-E.year())*12+(I.month()-E.month()),z=E.clone().add(q,"months"),ee,ke;return I-z<0?(ee=E.clone().add(q-1,"months"),ke=(I-z)/(z-ee)):(ee=E.clone().add(q+1,"months"),ke=(I-z)/(ee-z)),-(q+ke)||0}t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function al(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function Cf(E){if(!this.isValid())return null;var I=E!==!0,q=I?this.clone().utc():this;return q.year()<0||q.year()>9999?Ze(q,I?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):ct(Date.prototype.toISOString)?I?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Ze(q,"Z")):Ze(q,I?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Af(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var E="moment",I="",q,z,ee,ke;return this.isLocal()||(E=this.utcOffset()===0?"moment.utc":"moment.parseZone",I="Z"),q="["+E+'("]',z=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",ee="-MM-DD[T]HH:mm:ss.SSS",ke=I+'[")]',this.format(q+z+ee+ke)}function Md(E){E||(E=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var I=Ze(this,E);return this.localeData().postformat(I)}function zy(E,I){return this.isValid()&&(Ce(E)&&E.isValid()||Tn(E).isValid())?So({to:this,from:E}).locale(this.locale()).humanize(!I):this.localeData().invalidDate()}function um(E){return this.from(Tn(),E)}function Df(E,I){return this.isValid()&&(Ce(E)&&E.isValid()||Tn(E).isValid())?So({from:this,to:E}).locale(this.locale()).humanize(!I):this.localeData().invalidDate()}function Kl(E){return this.to(Tn(),E)}function cm(E){var I;return E===void 0?this._locale._abbr:(I=Xe(E),I!=null&&(this._locale=I),this)}var _u=Ve("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(E){return E===void 0?this.localeData():this.locale(E)});function lm(){return this._locale}var ul=1e3,Tc=60*ul,Yl=60*Tc,Gy=(365*400+97)*24*Yl;function wi(E,I){return(E%I+I)%I}function Fo(E,I,q){return E<100&&E>=0?new Date(E+400,I,q)-Gy:new Date(E,I,q).valueOf()}function Su(E,I,q){return E<100&&E>=0?Date.UTC(E+400,I,q)-Gy:Date.UTC(E,I,q)}function Zu(E){var I,q;if(E=ge(E),E===void 0||E==="millisecond"||!this.isValid())return this;switch(q=this._isUTC?Su:Fo,E){case"year":I=q(this.year(),0,1);break;case"quarter":I=q(this.year(),this.month()-this.month()%3,1);break;case"month":I=q(this.year(),this.month(),1);break;case"week":I=q(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":I=q(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":I=q(this.year(),this.month(),this.date());break;case"hour":I=this._d.valueOf(),I-=wi(I+(this._isUTC?0:this.utcOffset()*Tc),Yl);break;case"minute":I=this._d.valueOf(),I-=wi(I,Tc);break;case"second":I=this._d.valueOf(),I-=wi(I,ul);break}return this._d.setTime(I),t.updateOffset(this,!0),this}function cl(E){var I,q;if(E=ge(E),E===void 0||E==="millisecond"||!this.isValid())return this;switch(q=this._isUTC?Su:Fo,E){case"year":I=q(this.year()+1,0,1)-1;break;case"quarter":I=q(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":I=q(this.year(),this.month()+1,1)-1;break;case"week":I=q(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":I=q(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":I=q(this.year(),this.month(),this.date()+1)-1;break;case"hour":I=this._d.valueOf(),I+=Yl-wi(I+(this._isUTC?0:this.utcOffset()*Tc),Yl)-1;break;case"minute":I=this._d.valueOf(),I+=Tc-wi(I,Tc)-1;break;case"second":I=this._d.valueOf(),I+=ul-wi(I,ul)-1;break}return this._d.setTime(I),t.updateOffset(this,!0),this}function Xa(){return this._d.valueOf()-(this._offset||0)*6e4}function $p(){return Math.floor(this.valueOf()/1e3)}function ll(){return new Date(this.valueOf())}function _v(){var E=this;return[E.year(),E.month(),E.date(),E.hour(),E.minute(),E.second(),E.millisecond()]}function pm(){var E=this;return{years:E.year(),months:E.month(),date:E.date(),hours:E.hours(),minutes:E.minutes(),seconds:E.seconds(),milliseconds:E.milliseconds()}}function kf(){return this.isValid()?this.toISOString():null}function Bd(){return F(this)}function _x(){return b({},g(this))}function Ky(){return g(this).overflow}function e0(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}Ye("N",0,0,"eraAbbr"),Ye("NN",0,0,"eraAbbr"),Ye("NNN",0,0,"eraAbbr"),Ye("NNNN",0,0,"eraName"),Ye("NNNNN",0,0,"eraNarrow"),Ye("y",["y",1],"yo","eraYear"),Ye("y",["yy",2],0,"eraYear"),Ye("y",["yyy",3],0,"eraYear"),Ye("y",["yyyy",4],0,"eraYear"),Mt("N",qd),Mt("NN",qd),Mt("NNN",qd),Mt("NNNN",r0),Mt("NNNNN",n0),On(["N","NN","NNN","NNNN","NNNNN"],function(E,I,q,z){var ee=q._locale.erasParse(E,z,q._strict);ee?g(q).era=ee:g(q).invalidEra=E}),Mt("y",za),Mt("yy",za),Mt("yyy",za),Mt("yyyy",za),Mt("yo",dm),On(["y","yy","yyy","yyyy"],ur),On(["yo"],function(E,I,q,z){var ee;q._locale._eraYearOrdinalRegex&&(ee=E.match(q._locale._eraYearOrdinalRegex)),q._locale.eraYearOrdinalParse?I[ur]=q._locale.eraYearOrdinalParse(E,ee):I[ur]=parseInt(E,10)});function Yy(E,I){var q,z,ee,ke=this._eras||Xe("en")._eras;for(q=0,z=ke.length;q<z;++q){switch(typeof ke[q].since){case"string":ee=t(ke[q].since).startOf("day"),ke[q].since=ee.valueOf();break}switch(typeof ke[q].until){case"undefined":ke[q].until=1/0;break;case"string":ee=t(ke[q].until).startOf("day").valueOf(),ke[q].until=ee.valueOf();break}}return ke}function Jy(E,I,q){var z,ee,ke=this.eras(),xt,fr,dn;for(E=E.toUpperCase(),z=0,ee=ke.length;z<ee;++z)if(xt=ke[z].name.toUpperCase(),fr=ke[z].abbr.toUpperCase(),dn=ke[z].narrow.toUpperCase(),q)switch(I){case"N":case"NN":case"NNN":if(fr===E)return ke[z];break;case"NNNN":if(xt===E)return ke[z];break;case"NNNNN":if(dn===E)return ke[z];break}else if([xt,fr,dn].indexOf(E)>=0)return ke[z]}function fm(E,I){var q=E.since<=E.until?1:-1;return I===void 0?t(E.since).year():t(E.since).year()+(I-E.offset)*q}function Vp(){var E,I,q,z=this.localeData().eras();for(E=0,I=z.length;E<I;++E)if(q=this.clone().startOf("day").valueOf(),z[E].since<=q&&q<=z[E].until||z[E].until<=q&&q<=z[E].since)return z[E].name;return""}function Xy(){var E,I,q,z=this.localeData().eras();for(E=0,I=z.length;E<I;++E)if(q=this.clone().startOf("day").valueOf(),z[E].since<=q&&q<=z[E].until||z[E].until<=q&&q<=z[E].since)return z[E].narrow;return""}function Sv(){var E,I,q,z=this.localeData().eras();for(E=0,I=z.length;E<I;++E)if(q=this.clone().startOf("day").valueOf(),z[E].since<=q&&q<=z[E].until||z[E].until<=q&&q<=z[E].since)return z[E].abbr;return""}function jd(){var E,I,q,z,ee=this.localeData().eras();for(E=0,I=ee.length;E<I;++E)if(q=ee[E].since<=ee[E].until?1:-1,z=this.clone().startOf("day").valueOf(),ee[E].since<=z&&z<=ee[E].until||ee[E].until<=z&&z<=ee[E].since)return(this.year()-t(ee[E].since).year())*q+ee[E].offset;return this.year()}function Ta(E){return n(this,"_erasNameRegex")||Of.call(this),E?this._erasNameRegex:this._erasRegex}function t0(E){return n(this,"_erasAbbrRegex")||Of.call(this),E?this._erasAbbrRegex:this._erasRegex}function If(E){return n(this,"_erasNarrowRegex")||Of.call(this),E?this._erasNarrowRegex:this._erasRegex}function qd(E,I){return I.erasAbbrRegex(E)}function r0(E,I){return I.erasNameRegex(E)}function n0(E,I){return I.erasNarrowRegex(E)}function dm(E,I){return I._eraYearOrdinalRegex||za}function Of(){var E=[],I=[],q=[],z=[],ee,ke,xt,fr,dn,fi=this.eras();for(ee=0,ke=fi.length;ee<ke;++ee)xt=Di(fi[ee].name),fr=Di(fi[ee].abbr),dn=Di(fi[ee].narrow),I.push(xt),E.push(fr),q.push(dn),z.push(xt),z.push(fr),z.push(dn);this._erasRegex=new RegExp("^("+z.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+I.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+E.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+q.join("|")+")","i")}Ye(0,["gg",2],0,function(){return this.weekYear()%100}),Ye(0,["GG",2],0,function(){return this.isoWeekYear()%100});function Nf(E,I){Ye(0,[E,E.length],0,I)}Nf("gggg","weekYear"),Nf("ggggg","weekYear"),Nf("GGGG","isoWeekYear"),Nf("GGGGG","isoWeekYear"),Mt("G",rt),Mt("g",rt),Mt("GG",En,Vr),Mt("gg",En,Vr),Mt("GGGG",Vo,jn),Mt("gggg",Vo,jn),Mt("GGGGG",Vu,ei),Mt("ggggg",Vu,ei),Ss(["gggg","ggggg","GGGG","GGGGG"],function(E,I,q,z){I[z.substr(0,2)]=sn(E)}),Ss(["gg","GG"],function(E,I,q,z){I[z]=t.parseTwoDigitYear(E)});function Rf(E){return bu.call(this,E,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function Qy(E){return bu.call(this,E,this.isoWeek(),this.isoWeekday(),1,4)}function i0(){return ji(this.year(),1,4)}function s0(){return ji(this.isoWeekYear(),1,4)}function Jl(){var E=this.localeData()._week;return ji(this.year(),E.dow,E.doy)}function Hp(){var E=this.localeData()._week;return ji(this.weekYear(),E.dow,E.doy)}function bu(E,I,q,z,ee){var ke;return E==null?or(this,z,ee).year:(ke=ji(E,z,ee),I>ke&&(I=ke),Wp.call(this,E,I,q,z,ee))}function Wp(E,I,q,z,ee){var ke=Od(E,I,q,z,ee),xt=Sf(ke.year,0,ke.dayOfYear);return this.year(xt.getUTCFullYear()),this.month(xt.getUTCMonth()),this.date(xt.getUTCDate()),this}Ye("Q",0,"Qo","quarter"),Mt("Q",$r),On("Q",function(E,I){I[Ao]=(sn(E)-1)*3});function hm(E){return E==null?Math.ceil((this.month()+1)/3):this.month((E-1)*3+this.month()%3)}Ye("D",["DD",2],"Do","date"),Mt("D",En,xr),Mt("DD",En,Vr),Mt("Do",function(E,I){return E?I._dayOfMonthOrdinalParse||I._ordinalParse:I._dayOfMonthOrdinalParseLenient}),On(["D","DD"],co),On("Do",function(E,I){I[co]=sn(E.match(En)[0])});var Xl=tn("Date",!0);Ye("DDD",["DDDD",3],"DDDo","dayOfYear"),Mt("DDD",ps),Mt("DDDD",Hn),On(["DDD","DDDD"],function(E,I,q){q._dayOfYear=sn(E)});function Pc(E){var I=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return E==null?I:this.add(E-I,"d")}Ye("m",["mm",2],0,"minute"),Mt("m",En,In),Mt("mm",En,Vr),On(["m","mm"],Do);var mm=tn("Minutes",!1);Ye("s",["ss",2],0,"second"),Mt("s",En,In),Mt("ss",En,Vr),On(["s","ss"],lo);var Ud=tn("Seconds",!1);Ye("S",0,0,function(){return~~(this.millisecond()/100)}),Ye(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Ye(0,["SSS",3],0,"millisecond"),Ye(0,["SSSS",4],0,function(){return this.millisecond()*10}),Ye(0,["SSSSS",5],0,function(){return this.millisecond()*100}),Ye(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),Ye(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),Ye(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),Ye(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),Mt("S",ps,$r),Mt("SS",ps,Vr),Mt("SSS",ps,Hn);var ec,ym;for(ec="SSSS";ec.length<=9;ec+="S")Mt(ec,za);function Zy(E,I){I[js]=sn(("0."+E)*1e3)}for(ec="S";ec.length<=9;ec+="S")On(ec,Zy);ym=tn("Milliseconds",!1),Ye("z",0,0,"zoneAbbr"),Ye("zz",0,0,"zoneName");function o0(){return this._isUTC?"UTC":""}function a0(){return this._isUTC?"Coordinated Universal Time":""}var Jt=me.prototype;Jt.add=ni,Jt.calendar=am,Jt.clone=Zh,Jt.diff=Up,Jt.endOf=cl,Jt.format=Md,Jt.from=zy,Jt.fromNow=um,Jt.to=Df,Jt.toNow=Kl,Jt.get=du,Jt.invalidAt=Ky,Jt.isAfter=xv,Jt.isBefore=Qu,Jt.isBetween=Gl,Jt.isSame=Ea,Jt.isSameOrAfter=vu,Jt.isSameOrBefore=wa,Jt.isValid=Bd,Jt.lang=_u,Jt.locale=cm,Jt.localeData=lm,Jt.max=zo,Jt.min=Jh,Jt.parsingFlags=_x,Jt.set=fs,Jt.startOf=Zu,Jt.subtract=Ld,Jt.toArray=_v,Jt.toObject=pm,Jt.toDate=ll,Jt.toISOString=Cf,Jt.inspect=Af,typeof Symbol<"u"&&Symbol.for!=null&&(Jt[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Jt.toJSON=kf,Jt.toString=al,Jt.unix=$p,Jt.valueOf=Xa,Jt.creationData=e0,Jt.eraName=Vp,Jt.eraNarrow=Xy,Jt.eraAbbr=Sv,Jt.eraYear=jd,Jt.year=Wu,Jt.isLeapYear=Fl,Jt.weekYear=Rf,Jt.isoWeekYear=Qy,Jt.quarter=Jt.quarters=hm,Jt.month=hu,Jt.daysInMonth=em,Jt.week=Jt.weeks=tm,Jt.isoWeek=Jt.isoWeeks=Hh,Jt.weeksInYear=Jl,Jt.weeksInWeekYear=Hp,Jt.isoWeeksInYear=i0,Jt.isoWeeksInISOWeekYear=s0,Jt.date=Xl,Jt.day=Jt.days=Ns,Jt.weekday=wn,Jt.isoWeekday=Gu,Jt.dayOfYear=Pc,Jt.hour=Jt.hours=va,Jt.minute=Jt.minutes=mm,Jt.second=Jt.seconds=Ud,Jt.millisecond=Jt.milliseconds=ym,Jt.utcOffset=Pf,Jt.utc=im,Jt.local=sm,Jt.parseZone=ta,Jt.hasAlignedHourOffset=Sa,Jt.isDST=Ja,Jt.isLocal=Hl,Jt.isUtcOffset=Wl,Jt.isUtc=Ei,Jt.isUTC=Ei,Jt.zoneAbbr=o0,Jt.zoneName=a0,Jt.dates=Ve("dates accessor is deprecated. Use date instead.",Xl),Jt.months=Ve("months accessor is deprecated. Use month instead",hu),Jt.years=Ve("years accessor is deprecated. Use year instead",Wu),Jt.zone=Ve("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",bi),Jt.isDSTShifted=Ve("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Vl);function fn(E){return Tn(E*1e3)}function ra(){return Tn.apply(null,arguments).parseZone()}function po(E){return E}var Pn=se.prototype;Pn.calendar=_e,Pn.longDateFormat=Tt,Pn.invalidDate=mt,Pn.ordinal=Yt,Pn.preparse=po,Pn.postformat=po,Pn.relativeTime=_t,Pn.pastFuture=bt,Pn.set=ot,Pn.eras=Yy,Pn.erasParse=Jy,Pn.erasConvertYear=fm,Pn.erasAbbrRegex=t0,Pn.erasNameRegex=Ta,Pn.erasNarrowRegex=If,Pn.months=Z0,Pn.monthsShort=kp,Pn.monthsParse=ga,Pn.monthsRegex=ns,Pn.monthsShortRegex=Ip,Pn.week=Nd,Pn.firstDayOfYear=bf,Pn.firstDayOfWeek=mu,Pn.weekdays=rl,Pn.weekdaysMin=zu,Pn.weekdaysShort=yu,Pn.weekdaysParse=Sc,Pn.weekdaysRegex=Gh,Pn.weekdaysShortRegex=Gs,Pn.weekdaysMinRegex=jl,Pn.isPM=Kh,Pn.meridiem=Lp;function Ua(E,I,q,z){var ee=Xe(),ke=P().set(z,I);return ee[q](ke,E)}function $d(E,I,q){if(m(E)&&(I=E,E=void 0),E=E||"",I!=null)return Ua(E,I,q,"month");var z,ee=[];for(z=0;z<12;z++)ee[z]=Ua(E,z,q,"month");return ee}function Js(E,I,q,z){typeof E=="boolean"?(m(I)&&(q=I,I=void 0),I=I||""):(I=E,q=I,E=!1,m(I)&&(q=I,I=void 0),I=I||"");var ee=Xe(),ke=E?ee._week.dow:0,xt,fr=[];if(q!=null)return Ua(I,(q+ke)%7,z,"day");for(xt=0;xt<7;xt++)fr[xt]=Ua(I,(xt+ke)%7,z,"day");return fr}function Vd(E,I){return $d(E,I,"months")}function Rn(E,I){return $d(E,I,"monthsShort")}function Ff(E,I,q){return Js(E,I,q,"weekdays")}function zp(E,I,q){return Js(E,I,q,"weekdaysShort")}function gm(E,I,q){return Js(E,I,q,"weekdaysMin")}ae("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(E){var I=E%10,q=sn(E%100/10)===1?"th":I===1?"st":I===2?"nd":I===3?"rd":"th";return E+q}}),t.lang=Ve("moment.lang is deprecated. Use moment.locale instead.",ae),t.langData=Ve("moment.langData is deprecated. Use moment.localeData instead.",Xe);var Cc=Math.abs;function vm(){var E=this._data;return this._milliseconds=Cc(this._milliseconds),this._days=Cc(this._days),this._months=Cc(this._months),E.milliseconds=Cc(E.milliseconds),E.seconds=Cc(E.seconds),E.minutes=Cc(E.minutes),E.hours=Cc(E.hours),E.months=Cc(E.months),E.years=Cc(E.years),this}function u0(E,I,q,z){var ee=So(I,q);return E._milliseconds+=z*ee._milliseconds,E._days+=z*ee._days,E._months+=z*ee._months,E._bubble()}function Ql(E,I){return u0(this,E,I,1)}function Ar(E,I){return u0(this,E,I,-1)}function Gp(E){return E<0?Math.floor(E):Math.ceil(E)}function xm(){var E=this._milliseconds,I=this._days,q=this._months,z=this._data,ee,ke,xt,fr,dn;return E>=0&&I>=0&&q>=0||E<=0&&I<=0&&q<=0||(E+=Gp(Ac(q)+I)*864e5,I=0,q=0),z.milliseconds=E%1e3,ee=Si(E/1e3),z.seconds=ee%60,ke=Si(ee/60),z.minutes=ke%60,xt=Si(ke/60),z.hours=xt%24,I+=Si(xt/24),dn=Si(Eu(I)),q+=dn,I-=Gp(Ac(dn)),fr=Si(q/12),q%=12,z.days=I,z.months=q,z.years=fr,this}function Eu(E){return E*4800/146097}function Ac(E){return E*146097/4800}function Hd(E){if(!this.isValid())return NaN;var I,q,z=this._milliseconds;if(E=ge(E),E==="month"||E==="quarter"||E==="year")switch(I=this._days+z/864e5,q=this._months+Eu(I),E){case"month":return q;case"quarter":return q/3;case"year":return q/12}else switch(I=this._days+Math.round(Ac(this._months)),E){case"week":return I/7+z/6048e5;case"day":return I+z/864e5;case"hour":return I*24+z/36e5;case"minute":return I*1440+z/6e4;case"second":return I*86400+z/1e3;case"millisecond":return Math.floor(I*864e5)+z;default:throw new Error("Unknown unit "+E)}}function Qa(E){return function(){return this.as(E)}}var Lf=Qa("ms"),_m=Qa("s"),pl=Qa("m"),Wd=Qa("h"),Kp=Qa("d"),Mf=Qa("w"),tc=Qa("M"),Dc=Qa("Q"),zd=Qa("y"),Yp=Lf;function Pa(){return So(this)}function Ui(E){return E=ge(E),this.isValid()?this[E+"s"]():NaN}function Oi(E){return function(){return this.isValid()?this._data[E]:NaN}}var c0=Oi("milliseconds"),Za=Oi("seconds"),eg=Oi("minutes"),Bf=Oi("hours"),Sm=Oi("days"),bv=Oi("months"),bm=Oi("years");function l0(){return Si(this.days()/7)}var wu=Math.round,Zl={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function jf(E,I,q,z,ee){return ee.relativeTime(I||1,!!q,E,z)}function tg(E,I,q,z){var ee=So(E).abs(),ke=wu(ee.as("s")),xt=wu(ee.as("m")),fr=wu(ee.as("h")),dn=wu(ee.as("d")),fi=wu(ee.as("M")),ia=wu(ee.as("w")),eu=wu(ee.as("y")),qs=ke<=q.ss&&["s",ke]||ke<q.s&&["ss",ke]||xt<=1&&["m"]||xt<q.m&&["mm",xt]||fr<=1&&["h"]||fr<q.h&&["hh",fr]||dn<=1&&["d"]||dn<q.d&&["dd",dn];return q.w!=null&&(qs=qs||ia<=1&&["w"]||ia<q.w&&["ww",ia]),qs=qs||fi<=1&&["M"]||fi<q.M&&["MM",fi]||eu<=1&&["y"]||["yy",eu],qs[2]=I,qs[3]=+E>0,qs[4]=z,jf.apply(null,qs)}function rg(E){return E===void 0?wu:typeof E=="function"?(wu=E,!0):!1}function Gd(E,I){return Zl[E]===void 0?!1:I===void 0?Zl[E]:(Zl[E]=I,E==="s"&&(Zl.ss=I-1),!0)}function Ev(E,I){if(!this.isValid())return this.localeData().invalidDate();var q=!1,z=Zl,ee,ke;return typeof E=="object"&&(I=E,E=!1),typeof E=="boolean"&&(q=E),typeof I=="object"&&(z=Object.assign({},Zl,I),I.s!=null&&I.ss==null&&(z.ss=I.s-1)),ee=this.localeData(),ke=tg(this,!q,z,ee),q&&(ke=ee.pastFuture(+this,ke)),ee.postformat(ke)}var p0=Math.abs;function ep(E){return(E>0)-(E<0)||+E}function na(){if(!this.isValid())return this.localeData().invalidDate();var E=p0(this._milliseconds)/1e3,I=p0(this._days),q=p0(this._months),z,ee,ke,xt,fr=this.asSeconds(),dn,fi,ia,eu;return fr?(z=Si(E/60),ee=Si(z/60),E%=60,z%=60,ke=Si(q/12),q%=12,xt=E?E.toFixed(3).replace(/\.?0+$/,""):"",dn=fr<0?"-":"",fi=ep(this._months)!==ep(fr)?"-":"",ia=ep(this._days)!==ep(fr)?"-":"",eu=ep(this._milliseconds)!==ep(fr)?"-":"",dn+"P"+(ke?fi+ke+"Y":"")+(q?fi+q+"M":"")+(I?ia+I+"D":"")+(ee||z||E?"T":"")+(ee?eu+ee+"H":"")+(z?eu+z+"M":"")+(E?eu+xt+"S":"")):"P0D"}var qn=Ec.prototype;qn.isValid=Fd,qn.abs=vm,qn.add=Ql,qn.subtract=Ar,qn.as=Hd,qn.asMilliseconds=Lf,qn.asSeconds=_m,qn.asMinutes=pl,qn.asHours=Wd,qn.asDays=Kp,qn.asWeeks=Mf,qn.asMonths=tc,qn.asQuarters=Dc,qn.asYears=zd,qn.valueOf=Yp,qn._bubble=xm,qn.clone=Pa,qn.get=Ui,qn.milliseconds=c0,qn.seconds=Za,qn.minutes=eg,qn.hours=Bf,qn.days=Sm,qn.weeks=l0,qn.months=bv,qn.years=bm,qn.humanize=Ev,qn.toISOString=na,qn.toString=na,qn.toJSON=na,qn.locale=cm,qn.localeData=lm,qn.toIsoString=Ve("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",na),qn.lang=_u,Ye("X",0,0,"unix"),Ye("x",0,0,"valueOf"),Mt("x",rt),Mt("X",Xt),On("X",function(E,I,q){q._d=new Date(parseFloat(E)*1e3)}),On("x",function(E,I,q){q._d=new Date(sn(E))});return t.version="2.30.1",r(Tn),t.fn=Jt,t.min=Ka,t.max=Rd,t.now=wf,t.utc=P,t.unix=fn,t.months=Vd,t.isDate=y,t.locale=ae,t.invalid=M,t.duration=So,t.isMoment=Ce,t.weekdays=Ff,t.parseZone=ra,t.localeData=Xe,t.isDuration=qa,t.monthsShort=Rn,t.weekdaysMin=gm,t.defineLocale=Me,t.updateLocale=it,t.locales=gt,t.weekdaysShort=zp,t.normalizeUnits=ge,t.relativeTimeRounding=rg,t.relativeTimeThreshold=Gd,t.calendarFormat=xx,t.prototype=Jt,t.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},t})});function D0(){return!process.stdout.isTTY||process.env.FORCE_NON_TTY==="1"||process.env.CI==="true"||process.env.CI==="1"||process.env.PAGES_SOURCE==="skills"||process.env.EDGEONE_NON_INTERACTIVE==="1"}function gC({prefix:e="cli"}){return Vs.default.createElement(Bs.Text,{color:"grey"},"[",e,"]")}function yi(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m\x1B[31m[\u2718] \x1B[0m${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t}),Vs.default.createElement(Bs.Text,{color:"red"},"[\u2718] "),e));r()}function vC(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m\x1B[32m[\u2714] \x1B[0m${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t}),Vs.default.createElement(Bs.Text,{color:"green"},"[\u2714] "),e));r()}function pi(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m \x1B[33mWARNING:\x1B[0m ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t}),Vs.default.createElement(Bs.Text,{color:"orange"},"\u2757\uFE0F "),e));r()}function $z(e){if(D0()){console.log(e);return}let{unmount:t}=(0,Bs.render)(Vs.default.createElement(Bs.Text,{color:"cyan"},e));t()}function Dt(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t})," ",e));r()}function HR({timestamp:e}){return Vs.default.createElement(Bs.Box,{width:13},Vs.default.createElement(Bs.Text,{color:"grey"},(0,Wb.default)(e).format("HH:mm:ss.SSS")))}function Vz(e,t){if(D0()){console.log(`${(0,Wb.default)(t).format("HH:mm:ss.SSS")} ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Box,null,Vs.default.createElement(HR,{timestamp:t}),Vs.default.createElement(Bs.Text,null,e)));r()}function Hz(e,t){if(D0()){console.log(`${(0,Wb.default)(t).format("HH:mm:ss.SSS")} [WARNING] ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Box,null,Vs.default.createElement(HR,{timestamp:t}),Vs.default.createElement(Bs.Text,{color:"white",backgroundColor:"yellow"},"[WARNING]"),Vs.default.createElement(Bs.Text,null," ",e)));r()}function WR(e,t){if(D0()){console.log(`${(0,Wb.default)(t).format("HH:mm:ss.SSS")} [ERROR] ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Box,null,Vs.default.createElement(HR,{timestamp:t}),Vs.default.createElement(Bs.Text,{color:"white",backgroundColor:"red"},"[ERROR]"),Vs.default.createElement(Bs.Text,null," ",e)));r()}var Bs,Vs,Wb,ua=ht(()=>{Bs=Lt(yC()),Vs=Lt(yo()),Wb=Lt(Uz())});var zz,Wz=ht(()=>{zz={name:"edgeone",version:"1.6.24",description:"Command-line interface for TencentCloud Pages Functions",bin:{edgeone:"./edgeone-bin/edgeone.js"},files:["./edgeone-bin/edgeone.js","./edgeone-dist/cli.js","./edgeone-dist/pages/templates","./edgeone-dist/pages/dev/runner-worker.js","./edgeone-dist/pages/observability-python/**","./edgeone-dist/libs-pages-blob-python/**","./edgeone-dist/libs-pages-agent-toolkit/**","./edgeone-dist/studio/**","./libs-pages-blob-python/**","./libs-pages-agent-toolkit/**"],author:"",keywords:["tencent","edgeone","edgefunctions","edgeone","cli","typescript"],scripts:{clean:"rimraf ./edgeone-dist ./edgeone-bin ./libs-node-ai ./libs-kv-client",bundle:"node -r esbuild-register ./scripts/bundle.ts",watch:"node -r esbuild-register ./scripts/bundle.ts watch",build:"npm run clean && npm run build:pages-ai && npm run build:kv-client && npm run prepare:blob-wheel && npm run prepare:agent-toolkit-wheel && npm run bundle","build:pages-ai":"node ./scripts/build-pages-ai.js","build:kv-client":"node ./scripts/build-kv-client.js","prepare:blob-wheel":"node ./scripts/prepare-pages-blob-wheel.js","prepare:agent-toolkit-wheel":"node ./scripts/prepare-pages-agent-toolkit-wheel.js","verify:publish-assets":"node ./scripts/verify-publish-assets.js","upload:agent-version-manifest":"node ./scripts/upload-agent-version-manifest.js",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}" "scripts/**/*.{ts,js}" "*.{json,md}"',prepack:"npm run build && npm run verify:publish-assets",prepublishOnly:"npm run build && npm run verify:publish-assets",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:observability":"vitest run --config src/agent/observability/node/tests/vitest.config.ts && cd src/agent/observability/python && uv run pytest tests/ -q"},dependencies:{"@edgeone/framework-detect":"^0.0.2","@edgeone/is-spa":"^0.0.3","@edgeone/nuxt-pages":"1.1.0","@edgeone/opennextjs-pages":"0.2.10","@edgeone/pages-agent-toolkit":"^0.1.34","@edgeone/pages-blob":"^0.0.16",archiver:"^7.0.1",chokidar:"^4.0.1","common-path-prefix":"^1.0.0","cos-nodejs-sdk-v5":"^2.14.7","cross-spawn":"^7.0.6",crypto:"^1.0.1","detect-port":"^2.1.0",esbuild:"^0.19.2","esbuild-plugin-polyfill-node":"^0.3.0","esbuild-plugin-vue":"^0.2.4","fast-glob":"^3.3.0","fs-extra":"^11.3.1",giget:"^2.0.0","ink-table":"^3.1.0",inquirer:"^8.2.4",install:"^0.13.0",lodash:"^4.17.21","mime-types":"^3.0.1",minimatch:"^9.0.5","node-persist":"^4.0.3",npm:"^10.9.1",open:"^8.4.2","p-map":"^5.5.0","parse-gitignore":"^2.0.0",portfinder:"^1.0.32",undici:"^5.29.0",vitest:"^4.0.17"},devDependencies:{"@babel/generator":"^7.28.0","@babel/parser":"^7.28.0","@babel/traverse":"^7.28.0","@babel/types":"^7.28.0","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-metrics-otlp-http":"^0.55.0","@opentelemetry/exporter-trace-otlp-http":"^0.55.0","@opentelemetry/instrumentation":"^0.55.0","@opentelemetry/otlp-transformer":"^0.55.0","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/sdk-trace-node":"^1.30.1","@opentelemetry/semantic-conventions":"^1.40.0","@tencent/capi-nodejs-sdk":"^2.3.2","@types/http-proxy":"^1.17.12","@types/inquirer":"^9.0.8","@types/ip":"^1.1.0","@types/lodash":"^4.14.198","@types/prompts":"^2.4.4","@types/react":"^17.0.2","@types/uuid":"^9.0.3","@types/ws":"^8.5.7","@types/yargs":"^17.0.24","@vitest/coverage-v8":"^4.0.17",axios:"^1.7.9",chalk:"^5.3.0",cookie:"^1.0.2",dotenv:"^16.3.1","esbuild-register":"^3.6.0",execa:"^7.1.1","http-proxy":"^1.18.1",husky:"^8.0.3",ink:"^3.2.0",ip:"^2.0.1",json5:"^2.2.3","lint-staged":"^15.2.0",lodash:"^4.17.21",moment:"^2.30.1","node-fetch":"^3.3.2",prettier:"^3.1.1",prompts:"^2.4.2",protobufjs:"^8.4.2",react:"^17.0.2",rimraf:"^6.0.1",semiver:"^1.1.0",sirv:"^2.0.3","tencentcloud-cls-sdk-js-web":"^1.0.13","ts-node":"^10.9.2",typescript:"^5.9.3","update-check":"^1.5.4",uuid:"^9.0.0",ws:"^8.14.2",yargs:"^17.6.2",zod:"^3.23.8","zod-to-json-schema":"^3.23.5"},engines:{node:">=12"},"lint-staged":{"*.{ts,tsx,js,jsx,json,md}":["prettier --write"]}}});function bIe(){var e,t;return{run_id:SIe,cli_version:(t=(e=zz)==null?void 0:e.version)!=null?t:"unknown",node_version:process.version,os_platform:GR.default.platform(),os_arch:GR.default.arch(),app_type:"cli",app_id:process.env.AppId||void 0,uin:process.env.Uin||void 0,instance_id:process.env.ProjectId||void 0,is_ci:process.env.CI==="true"}}function EIe(e,t){try{if(typeof process.send!="function")return;process.send(JSON.stringify({name:e,value:JSON.stringify(t)}))}catch{}}function lu(e){var r;let t={...bIe(),...e};EIe((r=t.event_name)!=null?r:"unknown",t)}function ld(e){if(e==null)return{message:"unknown error",stack:""};if(typeof e=="string")return{message:xC(e,zR),stack:""};if(typeof e=="object"){let t=e,r=xC(typeof t.message=="string"?t.message:String(t),zR),s=xC(typeof t.stack=="string"?t.stack:"",wIe);return{message:r,stack:s}}return{message:xC(String(e),zR),stack:""}}function xC(e,t){return e.length>t?e.slice(0,t)+"\u2026[truncated]":e}var GR,uu,cu,SIe,KR,zR,wIe,dy=ht(()=>{GR=Lt(require("os"));Wz();uu={COMMAND:"command",REQUEST:"request",LOCAL_FLOW:"local_flow",EXIT:"exit"},cu={SUCCESS:"success",FAIL:"fail",START:"start"},SIe=`cli-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;KR=(e,t)=>{let r=ld(t);lu({event_name:"error",event_scope:uu.COMMAND,event_result:cu.FAIL,error_message:`${e} ${r.message}`.trim(),error_stack:r.stack})},zR=500,wIe=2e3});var zb,S2,YR=ht(()=>{zb={NEXTJS:"nextjs",NUXTJS:"nuxtjs",ASTRO:"astro",UNKNOWN:"unknown"},S2={FRAMEWORK_DETECT:"framework_detect",PLUGIN_RESOLVE:"plugin_resolve",PLUGIN_LOAD:"plugin_load",PLUGIN_HOOK:"plugin_hook",CONFIG_LOAD:"config_load"}});function CIe(e){if((e==null?void 0:e.code)===PIe)return!0;let t=typeof e=="string"?e:e==null?void 0:e.message;return t==null?void 0:t.includes(TIe)}async function Mg(e=!1){try{let t=await PP(e);return lu({event_name:"Config:Load:Success",event_scope:uu.LOCAL_FLOW,event_phase:S2.CONFIG_LOAD,event_result:cu.SUCCESS,has_build_command:(t==null?void 0:t.buildCommand)!=null,has_install_command:(t==null?void 0:t.installCommand)!=null,has_output_directory:(t==null?void 0:t.outputDirectory)!=null,has_node_version:(t==null?void 0:t.nodeVersion)!=null}),t}catch(t){let r=ld(t);if(lu({event_name:"Config:Load:Fail",event_scope:uu.LOCAL_FLOW,event_phase:S2.CONFIG_LOAD,event_result:cu.FAIL,error_message:r.message}),CIe(t))throw t;return od()&&console.error("%c [ error ]-80","font-size:13px; background:pink; color:#bf2c9f;",t),null}}var TIe,PIe,JR=ht(()=>{n2();_P();dy();YR();TIe="[BLOCKING_CONFIG_ERROR]",PIe="BLOCKING_CONFIG_ERROR"});var _C,fc,SC=ht(()=>{_C=[{funcName:"onRequestGet",method:"GET"},{funcName:"onRequestPost",method:"POST"},{funcName:"onRequestDelete",method:"DELETE"},{funcName:"onRequestPatch",method:"PATCH"},{funcName:"onRequestPut",method:"PUT"},{funcName:"onRequestHead",method:"HEAD"},{funcName:"onRequestOptions",method:"OPTIONS"}],fc=["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"]});async function AIe(e){let t;bC.default.statSync(e).isFile()?t=b2.default.resolve(b2.default.dirname(e)):t=e;let r=b2.default.parse(t).root;if(t===r)return null;for(;t!==r;){let s=b2.default.join(t,"package.json");try{return await bC.default.promises.access(s),s}catch{if(t=b2.default.dirname(t),t===r)break}}return null}async function E2(e){if(e.endsWith(".mjs"))return"esm";if(e.endsWith(".cjs"))return"commonjs";try{let t=await AIe(e);if(t&&JSON.parse(await bC.default.promises.readFile(t,"utf-8")).type==="module")return"esm"}catch(t){console.warn("Failed to read package.json:",t)}return"commonjs"}var bC,b2,Gb=ht(()=>{bC=Lt(require("fs")),b2=Lt(require("path"))});function kIe(e){let t=XR.default.extname(e);return DIe[t]||"ts"}function NIe(e){return e.split(",").map(t=>t.trim()).map(t=>{let r=t.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(!r)return"";let[,s,a]=r;return!OIe.has(a)||s===a?"":`const ${a} = ${s};`}).filter(Boolean).join(`
145
+ `+new Error().stack),q=!1}return I.apply(this,arguments)},I)}var Re={};function Ct(E,I){t.deprecationHandler!=null&&t.deprecationHandler(E,I),Re[E]||(Ie(I),Re[E]=!0)}t.suppressDeprecationWarnings=!1,t.deprecationHandler=null;function ct(E){return typeof Function<"u"&&E instanceof Function||Object.prototype.toString.call(E)==="[object Function]"}function ot(E){var I,q;for(q in E)n(E,q)&&(I=E[q],ct(I)?this[q]=I:this["_"+q]=I);this._config=E,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function je(E,I){var q=b({},E),z;for(z in I)n(I,z)&&(a(E[z])&&a(I[z])?(q[z]={},b(q[z],E[z]),b(q[z],I[z])):I[z]!=null?q[z]=I[z]:delete q[z]);for(z in E)n(E,z)&&!n(I,z)&&a(E[z])&&(q[z]=b({},q[z]));return q}function se(E){E!=null&&this.set(E)}var De;Object.keys?De=Object.keys:De=function(E){var I,q=[];for(I in E)n(E,I)&&q.push(I);return q};var ze={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function _e(E,I,q){var z=this._calendar[E]||this._calendar.sameElse;return ct(z)?z.call(I,q):z}function Ee(E,I,q){var z=""+Math.abs(E),ee=I-z.length,ke=E>=0;return(ke?q?"+":"":"-")+Math.pow(10,Math.max(0,ee)).toString().substr(1)+z}var Fe=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,nt=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,vt={},jt={};function Ye(E,I,q,z){var ee=z;typeof z=="string"&&(ee=function(){return this[z]()}),E&&(jt[E]=ee),I&&(jt[I[0]]=function(){return Ee(ee.apply(this,arguments),I[1],I[2])}),q&&(jt[q]=function(){return this.localeData().ordinal(ee.apply(this,arguments),E)})}function At(E){return E.match(/\[[\s\S]/)?E.replace(/^\[|\]$/g,""):E.replace(/\\/g,"")}function Ae(E){var I=E.match(Fe),q,z;for(q=0,z=I.length;q<z;q++)jt[I[q]]?I[q]=jt[I[q]]:I[q]=At(I[q]);return function(ee){var ke="",xt;for(xt=0;xt<z;xt++)ke+=ct(I[xt])?I[xt].call(ee,E):I[xt];return ke}}function Ze(E,I){return E.isValid()?(I=lt(I,E.localeData()),vt[I]=vt[I]||Ae(I),vt[I](E)):E.localeData().invalidDate()}function lt(E,I){var q=5;function z(ee){return I.longDateFormat(ee)||ee}for(nt.lastIndex=0;q>=0&&nt.test(E);)E=E.replace(nt,z),nt.lastIndex=0,q-=1;return E}var Ut={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Tt(E){var I=this._longDateFormat[E],q=this._longDateFormat[E.toUpperCase()];return I||!q?I:(this._longDateFormat[E]=q.match(Fe).map(function(z){return z==="MMMM"||z==="MM"||z==="DD"||z==="dddd"?z.slice(1):z}).join(""),this._longDateFormat[E])}var ft="Invalid date";function mt(){return this._invalidDate}var C="%d",kt=/\d{1,2}/;function Yt(E){return this._ordinal.replace("%d",E)}var Jr={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function _t(E,I,q,z){var ee=this._relativeTime[q];return ct(ee)?ee(E,I,q,z):ee.replace(/%d/i,E)}function bt(E,I){var q=this._relativeTime[E>0?"future":"past"];return ct(q)?q(I):q.replace(/%s/i,I)}var tr={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function ge(E){return typeof E=="string"?tr[E]||tr[E.toLowerCase()]:void 0}function Je(E){var I={},q,z;for(z in E)n(E,z)&&(q=ge(z),q&&(I[q]=E[z]));return I}var $t={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function rr(E){var I=[],q;for(q in E)n(E,q)&&I.push({unit:q,priority:$t[q]});return I.sort(function(z,ee){return z.priority-ee.priority}),I}var $r=/\d/,Vr=/\d\d/,Hn=/\d{3}/,jn=/\d{4}/,ei=/[+-]?\d{6}/,En=/\d\d?/,$o=/\d\d\d\d?/,Qo=/\d\d\d\d\d\d?/,ps=/\d{1,3}/,Vo=/\d{1,4}/,Vu=/[+-]?\d{1,6}/,za=/\d+/,rt=/[+-]?\d+/,Ft=/Z|[+-]\d\d:?\d\d/gi,It=/Z|[+-]\d\d(?::?\d\d)?/gi,Xt=/[+-]?\d+(\.\d{1,3})?/,Ir=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,xr=/^[1-9]\d?/,In=/^([1-9]\d|\d)/,_i;_i={};function Mt(E,I,q){_i[E]=ct(I)?I:function(z,ee){return z&&q?q:I}}function Ai(E,I){return n(_i,E)?_i[E](I._strict,I._locale):new RegExp(Ps(E))}function Ps(E){return Di(E.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(I,q,z,ee,ke){return q||z||ee||ke}))}function Di(E){return E.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Si(E){return E<0?Math.ceil(E)||0:Math.floor(E)}function sn(E){var I=+E,q=0;return I!==0&&isFinite(I)&&(q=Si(I)),q}var Ws={};function On(E,I){var q,z=I,ee;for(typeof E=="string"&&(E=[E]),m(I)&&(z=function(ke,xt){xt[I]=sn(ke)}),ee=E.length,q=0;q<ee;q++)Ws[E[q]]=z}function Ss(E,I){On(E,function(q,z,ee,ke){ee._w=ee._w||{},I(q,ee._w,ee,ke)})}function Hu(E,I,q){I!=null&&n(Ws,E)&&Ws[E](I,q._a,q,E)}function to(E){return E%4===0&&E%100!==0||E%400===0}var ur=0,Ao=1,co=2,Cs=3,Do=4,lo=5,js=6,Zc=7,fu=8;Ye("Y",0,0,function(){var E=this.year();return E<=9999?Ee(E,4):"+"+E}),Ye(0,["YY",2],0,function(){return this.year()%100}),Ye(0,["YYYY",4],0,"year"),Ye(0,["YYYYY",5],0,"year"),Ye(0,["YYYYYY",6,!0],0,"year"),Mt("Y",rt),Mt("YY",En,Vr),Mt("YYYY",Vo,jn),Mt("YYYYY",Vu,ei),Mt("YYYYYY",Vu,ei),On(["YYYYY","YYYYYY"],ur),On("YYYY",function(E,I){I[ur]=E.length===2?t.parseTwoDigitYear(E):sn(E)}),On("YY",function(E,I){I[ur]=t.parseTwoDigitYear(E)}),On("Y",function(E,I){I[ur]=parseInt(E,10)});function Oa(E){return to(E)?366:365}t.parseTwoDigitYear=function(E){return sn(E)+(sn(E)>68?1900:2e3)};var Wu=tn("FullYear",!0);function Fl(){return to(this.year())}function tn(E,I){return function(q){return q!=null?(el(this,E,q),t.updateOffset(this,I),this):vc(this,E)}}function vc(E,I){if(!E.isValid())return NaN;var q=E._d,z=E._isUTC;switch(I){case"Milliseconds":return z?q.getUTCMilliseconds():q.getMilliseconds();case"Seconds":return z?q.getUTCSeconds():q.getSeconds();case"Minutes":return z?q.getUTCMinutes():q.getMinutes();case"Hours":return z?q.getUTCHours():q.getHours();case"Date":return z?q.getUTCDate():q.getDate();case"Day":return z?q.getUTCDay():q.getDay();case"Month":return z?q.getUTCMonth():q.getMonth();case"FullYear":return z?q.getUTCFullYear():q.getFullYear();default:return NaN}}function el(E,I,q){var z,ee,ke,xt,fr;if(!(!E.isValid()||isNaN(q))){switch(z=E._d,ee=E._isUTC,I){case"Milliseconds":return void(ee?z.setUTCMilliseconds(q):z.setMilliseconds(q));case"Seconds":return void(ee?z.setUTCSeconds(q):z.setSeconds(q));case"Minutes":return void(ee?z.setUTCMinutes(q):z.setMinutes(q));case"Hours":return void(ee?z.setUTCHours(q):z.setHours(q));case"Date":return void(ee?z.setUTCDate(q):z.setDate(q));case"FullYear":break;default:return}ke=q,xt=E.month(),fr=E.date(),fr=fr===29&&xt===1&&!to(ke)?28:fr,ee?z.setUTCFullYear(ke,xt,fr):z.setFullYear(ke,xt,fr)}}function du(E){return E=ge(E),ct(this[E])?this[E]():this}function fs(E,I){if(typeof E=="object"){E=Je(E);var q=rr(E),z,ee=q.length;for(z=0;z<ee;z++)this[q[z].unit](E[q[z].unit])}else if(E=ge(E),ct(this[E]))return this[E](I);return this}function Ji(E,I){return(E%I+I)%I}var Bi;Array.prototype.indexOf?Bi=Array.prototype.indexOf:Bi=function(E){var I;for(I=0;I<this.length;++I)if(this[I]===E)return I;return-1};function zs(E,I){if(isNaN(E)||isNaN(I))return NaN;var q=Ji(I,12);return E+=(I-q)/12,q===1?to(E)?29:28:31-q%7%2}Ye("M",["MM",2],"Mo",function(){return this.month()+1}),Ye("MMM",0,0,function(E){return this.localeData().monthsShort(this,E)}),Ye("MMMM",0,0,function(E){return this.localeData().months(this,E)}),Mt("M",En,xr),Mt("MM",En,Vr),Mt("MMM",function(E,I){return I.monthsShortRegex(E)}),Mt("MMMM",function(E,I){return I.monthsRegex(E)}),On(["M","MM"],function(E,I){I[Ao]=sn(E)-1}),On(["MMM","MMMM"],function(E,I,q,z){var ee=q._locale.monthsParse(E,z,q._strict);ee!=null?I[Ao]=ee:g(q).invalidMonth=E});var ko="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Na="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Zo=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Io=Ir,Ll=Ir;function Z0(E,I){return E?s(this._months)?this._months[E.month()]:this._months[(this._months.isFormat||Zo).test(I)?"format":"standalone"][E.month()]:s(this._months)?this._months:this._months.standalone}function kp(E,I){return E?s(this._monthsShort)?this._monthsShort[E.month()]:this._monthsShort[Zo.test(I)?"format":"standalone"][E.month()]:s(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function Ml(E,I,q){var z,ee,ke,xt=E.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],z=0;z<12;++z)ke=P([2e3,z]),this._shortMonthsParse[z]=this.monthsShort(ke,"").toLocaleLowerCase(),this._longMonthsParse[z]=this.months(ke,"").toLocaleLowerCase();return q?I==="MMM"?(ee=Bi.call(this._shortMonthsParse,xt),ee!==-1?ee:null):(ee=Bi.call(this._longMonthsParse,xt),ee!==-1?ee:null):I==="MMM"?(ee=Bi.call(this._shortMonthsParse,xt),ee!==-1?ee:(ee=Bi.call(this._longMonthsParse,xt),ee!==-1?ee:null)):(ee=Bi.call(this._longMonthsParse,xt),ee!==-1?ee:(ee=Bi.call(this._shortMonthsParse,xt),ee!==-1?ee:null))}function ga(E,I,q){var z,ee,ke;if(this._monthsParseExact)return Ml.call(this,E,I,q);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),z=0;z<12;z++){if(ee=P([2e3,z]),q&&!this._longMonthsParse[z]&&(this._longMonthsParse[z]=new RegExp("^"+this.months(ee,"").replace(".","")+"$","i"),this._shortMonthsParse[z]=new RegExp("^"+this.monthsShort(ee,"").replace(".","")+"$","i")),!q&&!this._monthsParse[z]&&(ke="^"+this.months(ee,"")+"|^"+this.monthsShort(ee,""),this._monthsParse[z]=new RegExp(ke.replace(".",""),"i")),q&&I==="MMMM"&&this._longMonthsParse[z].test(E))return z;if(q&&I==="MMM"&&this._shortMonthsParse[z].test(E))return z;if(!q&&this._monthsParse[z].test(E))return z}}function qt(E,I){if(!E.isValid())return E;if(typeof I=="string"){if(/^\d+$/.test(I))I=sn(I);else if(I=E.localeData().monthsParse(I),!m(I))return E}var q=I,z=E.date();return z=z<29?z:Math.min(z,zs(E.year(),q)),E._isUTC?E._d.setUTCMonth(q,z):E._d.setMonth(q,z),E}function hu(E){return E!=null?(qt(this,E),t.updateOffset(this,!0),this):vc(this,"Month")}function em(){return zs(this.year(),this.month())}function Ip(E){return this._monthsParseExact?(n(this,"_monthsRegex")||xc.call(this),E?this._monthsShortStrictRegex:this._monthsShortRegex):(n(this,"_monthsShortRegex")||(this._monthsShortRegex=Io),this._monthsShortStrictRegex&&E?this._monthsShortStrictRegex:this._monthsShortRegex)}function ns(E){return this._monthsParseExact?(n(this,"_monthsRegex")||xc.call(this),E?this._monthsStrictRegex:this._monthsRegex):(n(this,"_monthsRegex")||(this._monthsRegex=Ll),this._monthsStrictRegex&&E?this._monthsStrictRegex:this._monthsRegex)}function xc(){function E(dn,fi){return fi.length-dn.length}var I=[],q=[],z=[],ee,ke,xt,fr;for(ee=0;ee<12;ee++)ke=P([2e3,ee]),xt=Di(this.monthsShort(ke,"")),fr=Di(this.months(ke,"")),I.push(xt),q.push(fr),z.push(fr),z.push(xt);I.sort(E),q.sort(E),z.sort(E),this._monthsRegex=new RegExp("^("+z.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+q.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+I.join("|")+")","i")}function Vh(E,I,q,z,ee,ke,xt){var fr;return E<100&&E>=0?(fr=new Date(E+400,I,q,z,ee,ke,xt),isFinite(fr.getFullYear())&&fr.setFullYear(E)):fr=new Date(E,I,q,z,ee,ke,xt),fr}function Sf(E){var I,q;return E<100&&E>=0?(q=Array.prototype.slice.call(arguments),q[0]=E+400,I=new Date(Date.UTC.apply(null,q)),isFinite(I.getUTCFullYear())&&I.setUTCFullYear(E)):I=new Date(Date.UTC.apply(null,arguments)),I}function tl(E,I,q){var z=7+I-q,ee=(7+Sf(E,0,z).getUTCDay()-I)%7;return-ee+z-1}function Od(E,I,q,z,ee){var ke=(7+q-z)%7,xt=tl(E,z,ee),fr=1+7*(I-1)+ke+xt,dn,fi;return fr<=0?(dn=E-1,fi=Oa(dn)+fr):fr>Oa(E)?(dn=E+1,fi=fr-Oa(E)):(dn=E,fi=fr),{year:dn,dayOfYear:fi}}function or(E,I,q){var z=tl(E.year(),I,q),ee=Math.floor((E.dayOfYear()-z-1)/7)+1,ke,xt;return ee<1?(xt=E.year()-1,ke=ee+ji(xt,I,q)):ee>ji(E.year(),I,q)?(ke=ee-ji(E.year(),I,q),xt=E.year()+1):(xt=E.year(),ke=ee),{week:ke,year:xt}}function ji(E,I,q){var z=tl(E,I,q),ee=tl(E+1,I,q);return(Oa(E)-z+ee)/7}Ye("w",["ww",2],"wo","week"),Ye("W",["WW",2],"Wo","isoWeek"),Mt("w",En,xr),Mt("ww",En,Vr),Mt("W",En,xr),Mt("WW",En,Vr),Ss(["w","ww","W","WW"],function(E,I,q,z){I[z.substr(0,1)]=sn(E)});function Nd(E){return or(E,this._week.dow,this._week.doy).week}var Bl={dow:0,doy:6};function mu(){return this._week.dow}function bf(){return this._week.doy}function tm(E){var I=this.localeData().week(this);return E==null?I:this.add((E-I)*7,"d")}function Hh(E){var I=or(this,1,4).week;return E==null?I:this.add((E-I)*7,"d")}Ye("d",0,"do","day"),Ye("dd",0,0,function(E){return this.localeData().weekdaysMin(this,E)}),Ye("ddd",0,0,function(E){return this.localeData().weekdaysShort(this,E)}),Ye("dddd",0,0,function(E){return this.localeData().weekdays(this,E)}),Ye("e",0,0,"weekday"),Ye("E",0,0,"isoWeekday"),Mt("d",En),Mt("e",En),Mt("E",En),Mt("dd",function(E,I){return I.weekdaysMinRegex(E)}),Mt("ddd",function(E,I){return I.weekdaysShortRegex(E)}),Mt("dddd",function(E,I){return I.weekdaysRegex(E)}),Ss(["dd","ddd","dddd"],function(E,I,q,z){var ee=q._locale.weekdaysParse(E,z,q._strict);ee!=null?I.d=ee:g(q).invalidWeekday=E}),Ss(["d","e","E"],function(E,I,q,z){I[z]=sn(E)});function rm(E,I){return typeof E!="string"?E:isNaN(E)?(E=I.weekdaysParse(E),typeof E=="number"?E:null):parseInt(E,10)}function Ra(E,I){return typeof E=="string"?I.weekdaysParse(E)%7||7:isNaN(E)?null:E}function Fa(E,I){return E.slice(I,7).concat(E.slice(0,I))}var Wh="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),zh="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Op="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ea=Ir,Np=Ir,La=Ir;function rl(E,I){var q=s(this._weekdays)?this._weekdays:this._weekdays[E&&E!==!0&&this._weekdays.isFormat.test(I)?"format":"standalone"];return E===!0?Fa(q,this._week.dow):E?q[E.day()]:q}function yu(E){return E===!0?Fa(this._weekdaysShort,this._week.dow):E?this._weekdaysShort[E.day()]:this._weekdaysShort}function zu(E){return E===!0?Fa(this._weekdaysMin,this._week.dow):E?this._weekdaysMin[E.day()]:this._weekdaysMin}function _c(E,I,q){var z,ee,ke,xt=E.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],z=0;z<7;++z)ke=P([2e3,1]).day(z),this._minWeekdaysParse[z]=this.weekdaysMin(ke,"").toLocaleLowerCase(),this._shortWeekdaysParse[z]=this.weekdaysShort(ke,"").toLocaleLowerCase(),this._weekdaysParse[z]=this.weekdays(ke,"").toLocaleLowerCase();return q?I==="dddd"?(ee=Bi.call(this._weekdaysParse,xt),ee!==-1?ee:null):I==="ddd"?(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1?ee:null):(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1?ee:null):I==="dddd"?(ee=Bi.call(this._weekdaysParse,xt),ee!==-1||(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1)?ee:(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1?ee:null)):I==="ddd"?(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1||(ee=Bi.call(this._weekdaysParse,xt),ee!==-1)?ee:(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1?ee:null)):(ee=Bi.call(this._minWeekdaysParse,xt),ee!==-1||(ee=Bi.call(this._weekdaysParse,xt),ee!==-1)?ee:(ee=Bi.call(this._shortWeekdaysParse,xt),ee!==-1?ee:null))}function Sc(E,I,q){var z,ee,ke;if(this._weekdaysParseExact)return _c.call(this,E,I,q);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),z=0;z<7;z++){if(ee=P([2e3,1]).day(z),q&&!this._fullWeekdaysParse[z]&&(this._fullWeekdaysParse[z]=new RegExp("^"+this.weekdays(ee,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[z]=new RegExp("^"+this.weekdaysShort(ee,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[z]=new RegExp("^"+this.weekdaysMin(ee,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[z]||(ke="^"+this.weekdays(ee,"")+"|^"+this.weekdaysShort(ee,"")+"|^"+this.weekdaysMin(ee,""),this._weekdaysParse[z]=new RegExp(ke.replace(".",""),"i")),q&&I==="dddd"&&this._fullWeekdaysParse[z].test(E))return z;if(q&&I==="ddd"&&this._shortWeekdaysParse[z].test(E))return z;if(q&&I==="dd"&&this._minWeekdaysParse[z].test(E))return z;if(!q&&this._weekdaysParse[z].test(E))return z}}function Ns(E){if(!this.isValid())return E!=null?this:NaN;var I=vc(this,"Day");return E!=null?(E=rm(E,this.localeData()),this.add(E-I,"d")):I}function wn(E){if(!this.isValid())return E!=null?this:NaN;var I=(this.day()+7-this.localeData()._week.dow)%7;return E==null?I:this.add(E-I,"d")}function Gu(E){if(!this.isValid())return E!=null?this:NaN;if(E!=null){var I=Ra(E,this.localeData());return this.day(this.day()%7?I:I-7)}else return this.day()||7}function Gh(E){return this._weekdaysParseExact?(n(this,"_weekdaysRegex")||ql.call(this),E?this._weekdaysStrictRegex:this._weekdaysRegex):(n(this,"_weekdaysRegex")||(this._weekdaysRegex=ea),this._weekdaysStrictRegex&&E?this._weekdaysStrictRegex:this._weekdaysRegex)}function Gs(E){return this._weekdaysParseExact?(n(this,"_weekdaysRegex")||ql.call(this),E?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(n(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Np),this._weekdaysShortStrictRegex&&E?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function jl(E){return this._weekdaysParseExact?(n(this,"_weekdaysRegex")||ql.call(this),E?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(n(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=La),this._weekdaysMinStrictRegex&&E?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function ql(){function E(ia,eu){return eu.length-ia.length}var I=[],q=[],z=[],ee=[],ke,xt,fr,dn,fi;for(ke=0;ke<7;ke++)xt=P([2e3,1]).day(ke),fr=Di(this.weekdaysMin(xt,"")),dn=Di(this.weekdaysShort(xt,"")),fi=Di(this.weekdays(xt,"")),I.push(fr),q.push(dn),z.push(fi),ee.push(fr),ee.push(dn),ee.push(fi);I.sort(E),q.sort(E),z.sort(E),ee.sort(E),this._weekdaysRegex=new RegExp("^("+ee.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+z.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+q.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+I.join("|")+")","i")}function Ma(){return this.hours()%12||12}function Rp(){return this.hours()||24}Ye("H",["HH",2],0,"hour"),Ye("h",["hh",2],0,Ma),Ye("k",["kk",2],0,Rp),Ye("hmm",0,0,function(){return""+Ma.apply(this)+Ee(this.minutes(),2)}),Ye("hmmss",0,0,function(){return""+Ma.apply(this)+Ee(this.minutes(),2)+Ee(this.seconds(),2)}),Ye("Hmm",0,0,function(){return""+this.hours()+Ee(this.minutes(),2)}),Ye("Hmmss",0,0,function(){return""+this.hours()+Ee(this.minutes(),2)+Ee(this.seconds(),2)});function Oo(E,I){Ye(E,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),I)})}Oo("a",!0),Oo("A",!1);function Fp(E,I){return I._meridiemParse}Mt("a",Fp),Mt("A",Fp),Mt("H",En,In),Mt("h",En,xr),Mt("k",En,xr),Mt("HH",En,Vr),Mt("hh",En,Vr),Mt("kk",En,Vr),Mt("hmm",$o),Mt("hmmss",Qo),Mt("Hmm",$o),Mt("Hmmss",Qo),On(["H","HH"],Cs),On(["k","kk"],function(E,I,q){var z=sn(E);I[Cs]=z===24?0:z}),On(["a","A"],function(E,I,q){q._isPm=q._locale.isPM(E),q._meridiem=E}),On(["h","hh"],function(E,I,q){I[Cs]=sn(E),g(q).bigHour=!0}),On("hmm",function(E,I,q){var z=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z)),g(q).bigHour=!0}),On("hmmss",function(E,I,q){var z=E.length-4,ee=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z,2)),I[lo]=sn(E.substr(ee)),g(q).bigHour=!0}),On("Hmm",function(E,I,q){var z=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z))}),On("Hmmss",function(E,I,q){var z=E.length-4,ee=E.length-2;I[Cs]=sn(E.substr(0,z)),I[Do]=sn(E.substr(z,2)),I[lo]=sn(E.substr(ee))});function Kh(E){return(E+"").toLowerCase().charAt(0)==="p"}var Ga=/[ap]\.?m?\.?/i,va=tn("Hours",!0);function Lp(E,I,q){return E>11?q?"pm":"PM":q?"am":"AM"}var nl={calendar:ze,longDateFormat:Ut,invalidDate:ft,ordinal:C,dayOfMonthOrdinalParse:kt,relativeTime:Jr,months:ko,monthsShort:Na,week:Bl,weekdays:Wh,weekdaysMin:Op,weekdaysShort:zh,meridiemParse:Ga},bs={},ro={},Ku;function Ef(E,I){var q,z=Math.min(E.length,I.length);for(q=0;q<z;q+=1)if(E[q]!==I[q])return q;return z}function gu(E){return E&&E.toLowerCase().replace("_","-")}function il(E){for(var I=0,q,z,ee,ke;I<E.length;){for(ke=gu(E[I]).split("-"),q=ke.length,z=gu(E[I+1]),z=z?z.split("-"):null;q>0;){if(ee=Z(ke.slice(0,q).join("-")),ee)return ee;if(z&&z.length>=q&&Ef(ke,z)>=q-1)break;q--}I++}return Ku}function ue(E){return!!(E&&E.match("^[^/\\\\]*$"))}function Z(E){var I=null,q;if(bs[E]===void 0&&typeof _2<"u"&&_2&&_2.exports&&ue(E))try{I=Ku._abbr,q=require,q("./locale/"+E),ae(I)}catch{bs[E]=null}return bs[E]}function ae(E,I){var q;return E&&(f(I)?q=Xe(E):q=Me(E,I),q?Ku=q:typeof console<"u"&&console.warn&&console.warn("Locale "+E+" not found. Did you forget to load it?")),Ku._abbr}function Me(E,I){if(I!==null){var q,z=nl;if(I.abbr=E,bs[E]!=null)Ct("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),z=bs[E]._config;else if(I.parentLocale!=null)if(bs[I.parentLocale]!=null)z=bs[I.parentLocale]._config;else if(q=Z(I.parentLocale),q!=null)z=q._config;else return ro[I.parentLocale]||(ro[I.parentLocale]=[]),ro[I.parentLocale].push({name:E,config:I}),null;return bs[E]=new se(je(z,I)),ro[E]&&ro[E].forEach(function(ee){Me(ee.name,ee.config)}),ae(E),bs[E]}else return delete bs[E],null}function it(E,I){if(I!=null){var q,z,ee=nl;bs[E]!=null&&bs[E].parentLocale!=null?bs[E].set(je(bs[E]._config,I)):(z=Z(E),z!=null&&(ee=z._config),I=je(ee,I),z==null&&(I.abbr=E),q=new se(I),q.parentLocale=bs[E],bs[E]=q),ae(E)}else bs[E]!=null&&(bs[E].parentLocale!=null?(bs[E]=bs[E].parentLocale,E===ae()&&ae(E)):bs[E]!=null&&delete bs[E]);return bs[E]}function Xe(E){var I;if(E&&E._locale&&E._locale._abbr&&(E=E._locale._abbr),!E)return Ku;if(!s(E)){if(I=Z(E),I)return I;E=[E]}return il(E)}function gt(){return De(bs)}function St(E){var I,q=E._a;return q&&g(E).overflow===-2&&(I=q[Ao]<0||q[Ao]>11?Ao:q[co]<1||q[co]>zs(q[ur],q[Ao])?co:q[Cs]<0||q[Cs]>24||q[Cs]===24&&(q[Do]!==0||q[lo]!==0||q[js]!==0)?Cs:q[Do]<0||q[Do]>59?Do:q[lo]<0||q[lo]>59?lo:q[js]<0||q[js]>999?js:-1,g(E)._overflowDayOfYear&&(I<ur||I>co)&&(I=co),g(E)._overflowWeeks&&I===-1&&(I=Zc),g(E)._overflowWeekday&&I===-1&&(I=fu),g(E).overflow=I),E}var Vt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_r=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,An=/Z|[+-]\d\d(?::?\d\d)?/,ti=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Nn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ba=/^\/?Date\((-?\d+)/i,Ul=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,xa={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function No(E){var I,q,z=E._i,ee=Vt.exec(z)||_r.exec(z),ke,xt,fr,dn,fi=ti.length,ia=Nn.length;if(ee){for(g(E).iso=!0,I=0,q=fi;I<q;I++)if(ti[I][1].exec(ee[1])){xt=ti[I][0],ke=ti[I][2]!==!1;break}if(xt==null){E._isValid=!1;return}if(ee[3]){for(I=0,q=ia;I<q;I++)if(Nn[I][1].exec(ee[3])){fr=(ee[2]||" ")+Nn[I][0];break}if(fr==null){E._isValid=!1;return}}if(!ke&&fr!=null){E._isValid=!1;return}if(ee[4])if(An.exec(ee[4]))dn="Z";else{E._isValid=!1;return}E._f=xt+(fr||"")+(dn||""),Ho(E)}else E._isValid=!1}function ui(E,I,q,z,ee,ke){var xt=[on(E),Na.indexOf(I),parseInt(q,10),parseInt(z,10),parseInt(ee,10)];return ke&&xt.push(parseInt(ke,10)),xt}function on(E){var I=parseInt(E,10);return I<=49?2e3+I:I<=999?1900+I:I}function Nr(E){return E.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function rn(E,I,q){if(E){var z=zh.indexOf(E),ee=new Date(I[0],I[1],I[2]).getDay();if(z!==ee)return g(q).weekdayMismatch=!0,q._isValid=!1,!1}return!0}function ri(E,I,q){if(E)return xa[E];if(I)return 0;var z=parseInt(q,10),ee=z%100,ke=(z-ee)/100;return ke*60+ee}function Ii(E){var I=Ul.exec(Nr(E._i)),q;if(I){if(q=ui(I[4],I[3],I[2],I[5],I[6],I[7]),!rn(I[1],q,E))return;E._a=q,E._tzm=ri(I[8],I[9],I[10]),E._d=Sf.apply(null,E._a),E._d.setUTCMinutes(E._d.getUTCMinutes()-E._tzm),g(E).rfc2822=!0}else E._isValid=!1}function Ks(E){var I=Ba.exec(E._i);if(I!==null){E._d=new Date(+I[1]);return}if(No(E),E._isValid===!1)delete E._isValid;else return;if(Ii(E),E._isValid===!1)delete E._isValid;else return;E._strict?E._isValid=!1:t.createFromInputFallback(E)}t.createFromInputFallback=Ve("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(E){E._d=new Date(E._i+(E._useUTC?" UTC":""))});function _o(E,I,q){return E!=null?E:I!=null?I:q}function bc(E){var I=new Date(t.now());return E._useUTC?[I.getUTCFullYear(),I.getUTCMonth(),I.getUTCDate()]:[I.getFullYear(),I.getMonth(),I.getDate()]}function no(E){var I,q,z=[],ee,ke,xt;if(!E._d){for(ee=bc(E),E._w&&E._a[co]==null&&E._a[Ao]==null&&ja(E),E._dayOfYear!=null&&(xt=_o(E._a[ur],ee[ur]),(E._dayOfYear>Oa(xt)||E._dayOfYear===0)&&(g(E)._overflowDayOfYear=!0),q=Sf(xt,0,E._dayOfYear),E._a[Ao]=q.getUTCMonth(),E._a[co]=q.getUTCDate()),I=0;I<3&&E._a[I]==null;++I)E._a[I]=z[I]=ee[I];for(;I<7;I++)E._a[I]=z[I]=E._a[I]==null?I===2?1:0:E._a[I];E._a[Cs]===24&&E._a[Do]===0&&E._a[lo]===0&&E._a[js]===0&&(E._nextDay=!0,E._a[Cs]=0),E._d=(E._useUTC?Sf:Vh).apply(null,z),ke=E._useUTC?E._d.getUTCDay():E._d.getDay(),E._tzm!=null&&E._d.setUTCMinutes(E._d.getUTCMinutes()-E._tzm),E._nextDay&&(E._a[Cs]=24),E._w&&typeof E._w.d<"u"&&E._w.d!==ke&&(g(E).weekdayMismatch=!0)}}function ja(E){var I,q,z,ee,ke,xt,fr,dn,fi;I=E._w,I.GG!=null||I.W!=null||I.E!=null?(ke=1,xt=4,q=_o(I.GG,E._a[ur],or(Tn(),1,4).year),z=_o(I.W,1),ee=_o(I.E,1),(ee<1||ee>7)&&(dn=!0)):(ke=E._locale._week.dow,xt=E._locale._week.doy,fi=or(Tn(),ke,xt),q=_o(I.gg,E._a[ur],fi.year),z=_o(I.w,fi.week),I.d!=null?(ee=I.d,(ee<0||ee>6)&&(dn=!0)):I.e!=null?(ee=I.e+ke,(I.e<0||I.e>6)&&(dn=!0)):ee=ke),z<1||z>ji(q,ke,xt)?g(E)._overflowWeeks=!0:dn!=null?g(E)._overflowWeekday=!0:(fr=Od(q,z,ee,ke,xt),E._a[ur]=fr.year,E._dayOfYear=fr.dayOfYear)}t.ISO_8601=function(){},t.RFC_2822=function(){};function Ho(E){if(E._f===t.ISO_8601){No(E);return}if(E._f===t.RFC_2822){Ii(E);return}E._a=[],g(E).empty=!0;var I=""+E._i,q,z,ee,ke,xt,fr=I.length,dn=0,fi,ia;for(ee=lt(E._f,E._locale).match(Fe)||[],ia=ee.length,q=0;q<ia;q++)ke=ee[q],z=(I.match(Ai(ke,E))||[])[0],z&&(xt=I.substr(0,I.indexOf(z)),xt.length>0&&g(E).unusedInput.push(xt),I=I.slice(I.indexOf(z)+z.length),dn+=z.length),jt[ke]?(z?g(E).empty=!1:g(E).unusedTokens.push(ke),Hu(ke,z,E)):E._strict&&!z&&g(E).unusedTokens.push(ke);g(E).charsLeftOver=fr-dn,I.length>0&&g(E).unusedInput.push(I),E._a[Cs]<=12&&g(E).bigHour===!0&&E._a[Cs]>0&&(g(E).bigHour=void 0),g(E).parsedDateParts=E._a.slice(0),g(E).meridiem=E._meridiem,E._a[Cs]=$l(E._locale,E._a[Cs],E._meridiem),fi=g(E).era,fi!==null&&(E._a[ur]=E._locale.erasConvertYear(fi,E._a[ur])),no(E),St(E)}function $l(E,I,q){var z;return q==null?I:E.meridiemHour!=null?E.meridiemHour(I,q):(E.isPM!=null&&(z=E.isPM(q),z&&I<12&&(I+=12),!z&&I===12&&(I=0)),I)}function Mp(E){var I,q,z,ee,ke,xt,fr=!1,dn=E._f.length;if(dn===0){g(E).invalidFormat=!0,E._d=new Date(NaN);return}for(ee=0;ee<dn;ee++)ke=0,xt=!1,I=te({},E),E._useUTC!=null&&(I._useUTC=E._useUTC),I._f=E._f[ee],Ho(I),F(I)&&(xt=!0),ke+=g(I).charsLeftOver,ke+=g(I).unusedTokens.length*10,g(I).score=ke,fr?ke<z&&(z=ke,q=I):(z==null||ke<z||xt)&&(z=ke,q=I,xt&&(fr=!0));b(E,q||I)}function Yu(E){if(!E._d){var I=Je(E._i),q=I.day===void 0?I.date:I.day;E._a=v([I.year,I.month,q,I.hour,I.minute,I.second,I.millisecond],function(z){return z&&parseInt(z,10)}),no(E)}}function Bp(E){var I=new me(St(Wo(E)));return I._nextDay&&(I.add(1,"d"),I._nextDay=void 0),I}function Wo(E){var I=E._i,q=E._f;return E._locale=E._locale||Xe(E._l),I===null||q===void 0&&I===""?M({nullInput:!0}):(typeof I=="string"&&(E._i=I=E._locale.preparse(I)),Ce(I)?new me(St(I)):(y(I)?E._d=I:s(q)?Mp(E):q?Ho(E):qi(E),F(E)||(E._d=null),E))}function qi(E){var I=E._i;f(I)?E._d=new Date(t.now()):y(I)?E._d=new Date(I.valueOf()):typeof I=="string"?Ks(E):s(I)?(E._a=v(I.slice(0),function(q){return parseInt(q,10)}),no(E)):a(I)?Yu(E):m(I)?E._d=new Date(I):t.createFromInputFallback(E)}function Yh(E,I,q,z,ee){var ke={};return(I===!0||I===!1)&&(z=I,I=void 0),(q===!0||q===!1)&&(z=q,q=void 0),(a(E)&&l(E)||s(E)&&E.length===0)&&(E=void 0),ke._isAMomentObject=!0,ke._useUTC=ke._isUTC=ee,ke._l=q,ke._i=E,ke._f=I,ke._strict=z,Bp(ke)}function Tn(E,I,q,z){return Yh(E,I,q,z,!1)}var Jh=Ve("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var E=Tn.apply(null,arguments);return this.isValid()&&E.isValid()?E<this?this:E:M()}),zo=Ve("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var E=Tn.apply(null,arguments);return this.isValid()&&E.isValid()?E>this?this:E:M()});function oi(E,I){var q,z;if(I.length===1&&s(I[0])&&(I=I[0]),!I.length)return Tn();for(q=I[0],z=1;z<I.length;++z)(!I[z].isValid()||I[z][E](q))&&(q=I[z]);return q}function Ka(){var E=[].slice.call(arguments,0);return oi("isBefore",E)}function Rd(){var E=[].slice.call(arguments,0);return oi("isAfter",E)}var wf=function(){return Date.now?Date.now():+new Date},Tf=["year","quarter","month","week","day","hour","minute","second","millisecond"];function gv(E){var I,q=!1,z,ee=Tf.length;for(I in E)if(n(E,I)&&!(Bi.call(Tf,I)!==-1&&(E[I]==null||!isNaN(E[I]))))return!1;for(z=0;z<ee;++z)if(E[Tf[z]]){if(q)return!1;parseFloat(E[Tf[z]])!==sn(E[Tf[z]])&&(q=!0)}return!0}function Fd(){return this._isValid}function nm(){return So(NaN)}function Ec(E){var I=Je(E),q=I.year||0,z=I.quarter||0,ee=I.month||0,ke=I.week||I.isoWeek||0,xt=I.day||0,fr=I.hour||0,dn=I.minute||0,fi=I.second||0,ia=I.millisecond||0;this._isValid=gv(I),this._milliseconds=+ia+fi*1e3+dn*6e4+fr*1e3*60*60,this._days=+xt+ke*7,this._months=+ee+z*3+q*12,this._data={},this._locale=Xe(),this._bubble()}function qa(E){return E instanceof Ec}function sl(E){return E<0?Math.round(-1*E)*-1:Math.round(E)}function Ya(E,I,q){var z=Math.min(E.length,I.length),ee=Math.abs(E.length-I.length),ke=0,xt;for(xt=0;xt<z;xt++)(q&&E[xt]!==I[xt]||!q&&sn(E[xt])!==sn(I[xt]))&&ke++;return ke+ee}function jp(E,I){Ye(E,0,0,function(){var q=this.utcOffset(),z="+";return q<0&&(q=-q,z="-"),z+Ee(~~(q/60),2)+I+Ee(~~q%60,2)})}jp("Z",":"),jp("ZZ",""),Mt("Z",It),Mt("ZZ",It),On(["Z","ZZ"],function(E,I,q){q._useUTC=!0,q._tzm=Ro(It,E)});var Ys=/([\+\-]|\d\d)/gi;function Ro(E,I){var q=(I||"").match(E),z,ee,ke;return q===null?null:(z=q[q.length-1]||[],ee=(z+"").match(Ys)||["-",0,0],ke=+(ee[1]*60)+sn(ee[2]),ke===0?0:ee[0]==="+"?ke:-ke)}function io(E,I){var q,z;return I._isUTC?(q=I.clone(),z=(Ce(E)||y(E)?E.valueOf():Tn(E).valueOf())-q.valueOf(),q._d.setTime(q._d.valueOf()+z),t.updateOffset(q,!1),q):Tn(E).local()}function wc(E){return-Math.round(E._d.getTimezoneOffset())}t.updateOffset=function(){};function Pf(E,I,q){var z=this._offset||0,ee;if(!this.isValid())return E!=null?this:NaN;if(E!=null){if(typeof E=="string"){if(E=Ro(It,E),E===null)return this}else Math.abs(E)<16&&!q&&(E=E*60);return!this._isUTC&&I&&(ee=wc(this)),this._offset=E,this._isUTC=!0,ee!=null&&this.add(ee,"m"),z!==E&&(!I||this._changeInProgress?ba(this,So(E-z,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?z:wc(this)}function bi(E,I){return E!=null?(typeof E!="string"&&(E=-E),this.utcOffset(E,I),this):-this.utcOffset()}function im(E){return this.utcOffset(0,E)}function sm(E){return this._isUTC&&(this.utcOffset(0,E),this._isUTC=!1,E&&this.subtract(wc(this),"m")),this}function ta(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i=="string"){var E=Ro(Ft,this._i);E!=null?this.utcOffset(E):this.utcOffset(0,!0)}return this}function Sa(E){return this.isValid()?(E=E?Tn(E).utcOffset():0,(this.utcOffset()-E)%60===0):!1}function Ja(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Vl(){if(!f(this._isDSTShifted))return this._isDSTShifted;var E={},I;return te(E,this),E=Wo(E),E._a?(I=E._isUTC?P(E._a):Tn(E._a),this._isDSTShifted=this.isValid()&&Ya(E._a,I.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Hl(){return this.isValid()?!this._isUTC:!1}function Wl(){return this.isValid()?this._isUTC:!1}function Ei(){return this.isValid()?this._isUTC&&this._offset===0:!1}var Ju=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,zl=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function So(E,I){var q=E,z=null,ee,ke,xt;return qa(E)?q={ms:E._milliseconds,d:E._days,M:E._months}:m(E)||!isNaN(+E)?(q={},I?q[I]=+E:q.milliseconds=+E):(z=Ju.exec(E))?(ee=z[1]==="-"?-1:1,q={y:0,d:sn(z[co])*ee,h:sn(z[Cs])*ee,m:sn(z[Do])*ee,s:sn(z[lo])*ee,ms:sn(sl(z[js]*1e3))*ee}):(z=zl.exec(E))?(ee=z[1]==="-"?-1:1,q={y:ol(z[2],ee),M:ol(z[3],ee),w:ol(z[4],ee),d:ol(z[5],ee),h:ol(z[6],ee),m:ol(z[7],ee),s:ol(z[8],ee)}):q==null?q={}:typeof q=="object"&&("from"in q||"to"in q)&&(xt=om(Tn(q.from),Tn(q.to)),q={},q.ms=xt.milliseconds,q.M=xt.months),ke=new Ec(q),qa(E)&&n(E,"_locale")&&(ke._locale=E._locale),qa(E)&&n(E,"_isValid")&&(ke._isValid=E._isValid),ke}So.fn=Ec.prototype,So.invalid=nm;function ol(E,I){var q=E&&parseFloat(E.replace(",","."));return(isNaN(q)?0:q)*I}function Xu(E,I){var q={};return q.months=I.month()-E.month()+(I.year()-E.year())*12,E.clone().add(q.months,"M").isAfter(I)&&--q.months,q.milliseconds=+I-+E.clone().add(q.months,"M"),q}function om(E,I){var q;return E.isValid()&&I.isValid()?(I=io(I,E),E.isBefore(I)?q=Xu(E,I):(q=Xu(I,E),q.milliseconds=-q.milliseconds,q.months=-q.months),q):{milliseconds:0,months:0}}function qp(E,I){return function(q,z){var ee,ke;return z!==null&&!isNaN(+z)&&(Ct(I,"moment()."+I+"(period, number) is deprecated. Please use moment()."+I+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),ke=q,q=z,z=ke),ee=So(q,z),ba(this,ee,E),this}}function ba(E,I,q,z){var ee=I._milliseconds,ke=sl(I._days),xt=sl(I._months);E.isValid()&&(z=z==null?!0:z,xt&&qt(E,vc(E,"Month")+xt*q),ke&&el(E,"Date",vc(E,"Date")+ke*q),ee&&E._d.setTime(E._d.valueOf()+ee*q),z&&t.updateOffset(E,ke||xt))}var ni=qp(1,"add"),Ld=qp(-1,"subtract");function Xh(E){return typeof E=="string"||E instanceof String}function Qh(E){return Ce(E)||y(E)||Xh(E)||m(E)||Wy(E)||Hy(E)||E===null||E===void 0}function Hy(E){var I=a(E)&&!l(E),q=!1,z=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],ee,ke,xt=z.length;for(ee=0;ee<xt;ee+=1)ke=z[ee],q=q||n(E,ke);return I&&q}function Wy(E){var I=s(E),q=!1;return I&&(q=E.filter(function(z){return!m(z)&&Xh(E)}).length===0),I&&q}function vv(E){var I=a(E)&&!l(E),q=!1,z=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],ee,ke;for(ee=0;ee<z.length;ee+=1)ke=z[ee],q=q||n(E,ke);return I&&q}function xx(E,I){var q=E.diff(I,"days",!0);return q<-6?"sameElse":q<-1?"lastWeek":q<0?"lastDay":q<1?"sameDay":q<2?"nextDay":q<7?"nextWeek":"sameElse"}function am(E,I){arguments.length===1&&(arguments[0]?Qh(arguments[0])?(E=arguments[0],I=void 0):vv(arguments[0])&&(I=arguments[0],E=void 0):(E=void 0,I=void 0));var q=E||Tn(),z=io(q,this).startOf("day"),ee=t.calendarFormat(this,z)||"sameElse",ke=I&&(ct(I[ee])?I[ee].call(this,q):I[ee]);return this.format(ke||this.localeData().calendar(ee,this,Tn(q)))}function Zh(){return new me(this)}function xv(E,I){var q=Ce(E)?E:Tn(E);return this.isValid()&&q.isValid()?(I=ge(I)||"millisecond",I==="millisecond"?this.valueOf()>q.valueOf():q.valueOf()<this.clone().startOf(I).valueOf()):!1}function Qu(E,I){var q=Ce(E)?E:Tn(E);return this.isValid()&&q.isValid()?(I=ge(I)||"millisecond",I==="millisecond"?this.valueOf()<q.valueOf():this.clone().endOf(I).valueOf()<q.valueOf()):!1}function Gl(E,I,q,z){var ee=Ce(E)?E:Tn(E),ke=Ce(I)?I:Tn(I);return this.isValid()&&ee.isValid()&&ke.isValid()?(z=z||"()",(z[0]==="("?this.isAfter(ee,q):!this.isBefore(ee,q))&&(z[1]===")"?this.isBefore(ke,q):!this.isAfter(ke,q))):!1}function Ea(E,I){var q=Ce(E)?E:Tn(E),z;return this.isValid()&&q.isValid()?(I=ge(I)||"millisecond",I==="millisecond"?this.valueOf()===q.valueOf():(z=q.valueOf(),this.clone().startOf(I).valueOf()<=z&&z<=this.clone().endOf(I).valueOf())):!1}function vu(E,I){return this.isSame(E,I)||this.isAfter(E,I)}function wa(E,I){return this.isSame(E,I)||this.isBefore(E,I)}function Up(E,I,q){var z,ee,ke;if(!this.isValid())return NaN;if(z=io(E,this),!z.isValid())return NaN;switch(ee=(z.utcOffset()-this.utcOffset())*6e4,I=ge(I),I){case"year":ke=xu(this,z)/12;break;case"month":ke=xu(this,z);break;case"quarter":ke=xu(this,z)/3;break;case"second":ke=(this-z)/1e3;break;case"minute":ke=(this-z)/6e4;break;case"hour":ke=(this-z)/36e5;break;case"day":ke=(this-z-ee)/864e5;break;case"week":ke=(this-z-ee)/6048e5;break;default:ke=this-z}return q?ke:Si(ke)}function xu(E,I){if(E.date()<I.date())return-xu(I,E);var q=(I.year()-E.year())*12+(I.month()-E.month()),z=E.clone().add(q,"months"),ee,ke;return I-z<0?(ee=E.clone().add(q-1,"months"),ke=(I-z)/(z-ee)):(ee=E.clone().add(q+1,"months"),ke=(I-z)/(ee-z)),-(q+ke)||0}t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function al(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function Cf(E){if(!this.isValid())return null;var I=E!==!0,q=I?this.clone().utc():this;return q.year()<0||q.year()>9999?Ze(q,I?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):ct(Date.prototype.toISOString)?I?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",Ze(q,"Z")):Ze(q,I?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Af(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var E="moment",I="",q,z,ee,ke;return this.isLocal()||(E=this.utcOffset()===0?"moment.utc":"moment.parseZone",I="Z"),q="["+E+'("]',z=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",ee="-MM-DD[T]HH:mm:ss.SSS",ke=I+'[")]',this.format(q+z+ee+ke)}function Md(E){E||(E=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var I=Ze(this,E);return this.localeData().postformat(I)}function zy(E,I){return this.isValid()&&(Ce(E)&&E.isValid()||Tn(E).isValid())?So({to:this,from:E}).locale(this.locale()).humanize(!I):this.localeData().invalidDate()}function um(E){return this.from(Tn(),E)}function Df(E,I){return this.isValid()&&(Ce(E)&&E.isValid()||Tn(E).isValid())?So({from:this,to:E}).locale(this.locale()).humanize(!I):this.localeData().invalidDate()}function Kl(E){return this.to(Tn(),E)}function cm(E){var I;return E===void 0?this._locale._abbr:(I=Xe(E),I!=null&&(this._locale=I),this)}var _u=Ve("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(E){return E===void 0?this.localeData():this.locale(E)});function lm(){return this._locale}var ul=1e3,Tc=60*ul,Yl=60*Tc,Gy=(365*400+97)*24*Yl;function wi(E,I){return(E%I+I)%I}function Fo(E,I,q){return E<100&&E>=0?new Date(E+400,I,q)-Gy:new Date(E,I,q).valueOf()}function Su(E,I,q){return E<100&&E>=0?Date.UTC(E+400,I,q)-Gy:Date.UTC(E,I,q)}function Zu(E){var I,q;if(E=ge(E),E===void 0||E==="millisecond"||!this.isValid())return this;switch(q=this._isUTC?Su:Fo,E){case"year":I=q(this.year(),0,1);break;case"quarter":I=q(this.year(),this.month()-this.month()%3,1);break;case"month":I=q(this.year(),this.month(),1);break;case"week":I=q(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":I=q(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":I=q(this.year(),this.month(),this.date());break;case"hour":I=this._d.valueOf(),I-=wi(I+(this._isUTC?0:this.utcOffset()*Tc),Yl);break;case"minute":I=this._d.valueOf(),I-=wi(I,Tc);break;case"second":I=this._d.valueOf(),I-=wi(I,ul);break}return this._d.setTime(I),t.updateOffset(this,!0),this}function cl(E){var I,q;if(E=ge(E),E===void 0||E==="millisecond"||!this.isValid())return this;switch(q=this._isUTC?Su:Fo,E){case"year":I=q(this.year()+1,0,1)-1;break;case"quarter":I=q(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":I=q(this.year(),this.month()+1,1)-1;break;case"week":I=q(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":I=q(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":I=q(this.year(),this.month(),this.date()+1)-1;break;case"hour":I=this._d.valueOf(),I+=Yl-wi(I+(this._isUTC?0:this.utcOffset()*Tc),Yl)-1;break;case"minute":I=this._d.valueOf(),I+=Tc-wi(I,Tc)-1;break;case"second":I=this._d.valueOf(),I+=ul-wi(I,ul)-1;break}return this._d.setTime(I),t.updateOffset(this,!0),this}function Xa(){return this._d.valueOf()-(this._offset||0)*6e4}function $p(){return Math.floor(this.valueOf()/1e3)}function ll(){return new Date(this.valueOf())}function _v(){var E=this;return[E.year(),E.month(),E.date(),E.hour(),E.minute(),E.second(),E.millisecond()]}function pm(){var E=this;return{years:E.year(),months:E.month(),date:E.date(),hours:E.hours(),minutes:E.minutes(),seconds:E.seconds(),milliseconds:E.milliseconds()}}function kf(){return this.isValid()?this.toISOString():null}function Bd(){return F(this)}function _x(){return b({},g(this))}function Ky(){return g(this).overflow}function e0(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}Ye("N",0,0,"eraAbbr"),Ye("NN",0,0,"eraAbbr"),Ye("NNN",0,0,"eraAbbr"),Ye("NNNN",0,0,"eraName"),Ye("NNNNN",0,0,"eraNarrow"),Ye("y",["y",1],"yo","eraYear"),Ye("y",["yy",2],0,"eraYear"),Ye("y",["yyy",3],0,"eraYear"),Ye("y",["yyyy",4],0,"eraYear"),Mt("N",qd),Mt("NN",qd),Mt("NNN",qd),Mt("NNNN",r0),Mt("NNNNN",n0),On(["N","NN","NNN","NNNN","NNNNN"],function(E,I,q,z){var ee=q._locale.erasParse(E,z,q._strict);ee?g(q).era=ee:g(q).invalidEra=E}),Mt("y",za),Mt("yy",za),Mt("yyy",za),Mt("yyyy",za),Mt("yo",dm),On(["y","yy","yyy","yyyy"],ur),On(["yo"],function(E,I,q,z){var ee;q._locale._eraYearOrdinalRegex&&(ee=E.match(q._locale._eraYearOrdinalRegex)),q._locale.eraYearOrdinalParse?I[ur]=q._locale.eraYearOrdinalParse(E,ee):I[ur]=parseInt(E,10)});function Yy(E,I){var q,z,ee,ke=this._eras||Xe("en")._eras;for(q=0,z=ke.length;q<z;++q){switch(typeof ke[q].since){case"string":ee=t(ke[q].since).startOf("day"),ke[q].since=ee.valueOf();break}switch(typeof ke[q].until){case"undefined":ke[q].until=1/0;break;case"string":ee=t(ke[q].until).startOf("day").valueOf(),ke[q].until=ee.valueOf();break}}return ke}function Jy(E,I,q){var z,ee,ke=this.eras(),xt,fr,dn;for(E=E.toUpperCase(),z=0,ee=ke.length;z<ee;++z)if(xt=ke[z].name.toUpperCase(),fr=ke[z].abbr.toUpperCase(),dn=ke[z].narrow.toUpperCase(),q)switch(I){case"N":case"NN":case"NNN":if(fr===E)return ke[z];break;case"NNNN":if(xt===E)return ke[z];break;case"NNNNN":if(dn===E)return ke[z];break}else if([xt,fr,dn].indexOf(E)>=0)return ke[z]}function fm(E,I){var q=E.since<=E.until?1:-1;return I===void 0?t(E.since).year():t(E.since).year()+(I-E.offset)*q}function Vp(){var E,I,q,z=this.localeData().eras();for(E=0,I=z.length;E<I;++E)if(q=this.clone().startOf("day").valueOf(),z[E].since<=q&&q<=z[E].until||z[E].until<=q&&q<=z[E].since)return z[E].name;return""}function Xy(){var E,I,q,z=this.localeData().eras();for(E=0,I=z.length;E<I;++E)if(q=this.clone().startOf("day").valueOf(),z[E].since<=q&&q<=z[E].until||z[E].until<=q&&q<=z[E].since)return z[E].narrow;return""}function Sv(){var E,I,q,z=this.localeData().eras();for(E=0,I=z.length;E<I;++E)if(q=this.clone().startOf("day").valueOf(),z[E].since<=q&&q<=z[E].until||z[E].until<=q&&q<=z[E].since)return z[E].abbr;return""}function jd(){var E,I,q,z,ee=this.localeData().eras();for(E=0,I=ee.length;E<I;++E)if(q=ee[E].since<=ee[E].until?1:-1,z=this.clone().startOf("day").valueOf(),ee[E].since<=z&&z<=ee[E].until||ee[E].until<=z&&z<=ee[E].since)return(this.year()-t(ee[E].since).year())*q+ee[E].offset;return this.year()}function Ta(E){return n(this,"_erasNameRegex")||Of.call(this),E?this._erasNameRegex:this._erasRegex}function t0(E){return n(this,"_erasAbbrRegex")||Of.call(this),E?this._erasAbbrRegex:this._erasRegex}function If(E){return n(this,"_erasNarrowRegex")||Of.call(this),E?this._erasNarrowRegex:this._erasRegex}function qd(E,I){return I.erasAbbrRegex(E)}function r0(E,I){return I.erasNameRegex(E)}function n0(E,I){return I.erasNarrowRegex(E)}function dm(E,I){return I._eraYearOrdinalRegex||za}function Of(){var E=[],I=[],q=[],z=[],ee,ke,xt,fr,dn,fi=this.eras();for(ee=0,ke=fi.length;ee<ke;++ee)xt=Di(fi[ee].name),fr=Di(fi[ee].abbr),dn=Di(fi[ee].narrow),I.push(xt),E.push(fr),q.push(dn),z.push(xt),z.push(fr),z.push(dn);this._erasRegex=new RegExp("^("+z.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+I.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+E.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+q.join("|")+")","i")}Ye(0,["gg",2],0,function(){return this.weekYear()%100}),Ye(0,["GG",2],0,function(){return this.isoWeekYear()%100});function Nf(E,I){Ye(0,[E,E.length],0,I)}Nf("gggg","weekYear"),Nf("ggggg","weekYear"),Nf("GGGG","isoWeekYear"),Nf("GGGGG","isoWeekYear"),Mt("G",rt),Mt("g",rt),Mt("GG",En,Vr),Mt("gg",En,Vr),Mt("GGGG",Vo,jn),Mt("gggg",Vo,jn),Mt("GGGGG",Vu,ei),Mt("ggggg",Vu,ei),Ss(["gggg","ggggg","GGGG","GGGGG"],function(E,I,q,z){I[z.substr(0,2)]=sn(E)}),Ss(["gg","GG"],function(E,I,q,z){I[z]=t.parseTwoDigitYear(E)});function Rf(E){return bu.call(this,E,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}function Qy(E){return bu.call(this,E,this.isoWeek(),this.isoWeekday(),1,4)}function i0(){return ji(this.year(),1,4)}function s0(){return ji(this.isoWeekYear(),1,4)}function Jl(){var E=this.localeData()._week;return ji(this.year(),E.dow,E.doy)}function Hp(){var E=this.localeData()._week;return ji(this.weekYear(),E.dow,E.doy)}function bu(E,I,q,z,ee){var ke;return E==null?or(this,z,ee).year:(ke=ji(E,z,ee),I>ke&&(I=ke),Wp.call(this,E,I,q,z,ee))}function Wp(E,I,q,z,ee){var ke=Od(E,I,q,z,ee),xt=Sf(ke.year,0,ke.dayOfYear);return this.year(xt.getUTCFullYear()),this.month(xt.getUTCMonth()),this.date(xt.getUTCDate()),this}Ye("Q",0,"Qo","quarter"),Mt("Q",$r),On("Q",function(E,I){I[Ao]=(sn(E)-1)*3});function hm(E){return E==null?Math.ceil((this.month()+1)/3):this.month((E-1)*3+this.month()%3)}Ye("D",["DD",2],"Do","date"),Mt("D",En,xr),Mt("DD",En,Vr),Mt("Do",function(E,I){return E?I._dayOfMonthOrdinalParse||I._ordinalParse:I._dayOfMonthOrdinalParseLenient}),On(["D","DD"],co),On("Do",function(E,I){I[co]=sn(E.match(En)[0])});var Xl=tn("Date",!0);Ye("DDD",["DDDD",3],"DDDo","dayOfYear"),Mt("DDD",ps),Mt("DDDD",Hn),On(["DDD","DDDD"],function(E,I,q){q._dayOfYear=sn(E)});function Pc(E){var I=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return E==null?I:this.add(E-I,"d")}Ye("m",["mm",2],0,"minute"),Mt("m",En,In),Mt("mm",En,Vr),On(["m","mm"],Do);var mm=tn("Minutes",!1);Ye("s",["ss",2],0,"second"),Mt("s",En,In),Mt("ss",En,Vr),On(["s","ss"],lo);var Ud=tn("Seconds",!1);Ye("S",0,0,function(){return~~(this.millisecond()/100)}),Ye(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Ye(0,["SSS",3],0,"millisecond"),Ye(0,["SSSS",4],0,function(){return this.millisecond()*10}),Ye(0,["SSSSS",5],0,function(){return this.millisecond()*100}),Ye(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),Ye(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),Ye(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),Ye(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),Mt("S",ps,$r),Mt("SS",ps,Vr),Mt("SSS",ps,Hn);var ec,ym;for(ec="SSSS";ec.length<=9;ec+="S")Mt(ec,za);function Zy(E,I){I[js]=sn(("0."+E)*1e3)}for(ec="S";ec.length<=9;ec+="S")On(ec,Zy);ym=tn("Milliseconds",!1),Ye("z",0,0,"zoneAbbr"),Ye("zz",0,0,"zoneName");function o0(){return this._isUTC?"UTC":""}function a0(){return this._isUTC?"Coordinated Universal Time":""}var Jt=me.prototype;Jt.add=ni,Jt.calendar=am,Jt.clone=Zh,Jt.diff=Up,Jt.endOf=cl,Jt.format=Md,Jt.from=zy,Jt.fromNow=um,Jt.to=Df,Jt.toNow=Kl,Jt.get=du,Jt.invalidAt=Ky,Jt.isAfter=xv,Jt.isBefore=Qu,Jt.isBetween=Gl,Jt.isSame=Ea,Jt.isSameOrAfter=vu,Jt.isSameOrBefore=wa,Jt.isValid=Bd,Jt.lang=_u,Jt.locale=cm,Jt.localeData=lm,Jt.max=zo,Jt.min=Jh,Jt.parsingFlags=_x,Jt.set=fs,Jt.startOf=Zu,Jt.subtract=Ld,Jt.toArray=_v,Jt.toObject=pm,Jt.toDate=ll,Jt.toISOString=Cf,Jt.inspect=Af,typeof Symbol<"u"&&Symbol.for!=null&&(Jt[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Jt.toJSON=kf,Jt.toString=al,Jt.unix=$p,Jt.valueOf=Xa,Jt.creationData=e0,Jt.eraName=Vp,Jt.eraNarrow=Xy,Jt.eraAbbr=Sv,Jt.eraYear=jd,Jt.year=Wu,Jt.isLeapYear=Fl,Jt.weekYear=Rf,Jt.isoWeekYear=Qy,Jt.quarter=Jt.quarters=hm,Jt.month=hu,Jt.daysInMonth=em,Jt.week=Jt.weeks=tm,Jt.isoWeek=Jt.isoWeeks=Hh,Jt.weeksInYear=Jl,Jt.weeksInWeekYear=Hp,Jt.isoWeeksInYear=i0,Jt.isoWeeksInISOWeekYear=s0,Jt.date=Xl,Jt.day=Jt.days=Ns,Jt.weekday=wn,Jt.isoWeekday=Gu,Jt.dayOfYear=Pc,Jt.hour=Jt.hours=va,Jt.minute=Jt.minutes=mm,Jt.second=Jt.seconds=Ud,Jt.millisecond=Jt.milliseconds=ym,Jt.utcOffset=Pf,Jt.utc=im,Jt.local=sm,Jt.parseZone=ta,Jt.hasAlignedHourOffset=Sa,Jt.isDST=Ja,Jt.isLocal=Hl,Jt.isUtcOffset=Wl,Jt.isUtc=Ei,Jt.isUTC=Ei,Jt.zoneAbbr=o0,Jt.zoneName=a0,Jt.dates=Ve("dates accessor is deprecated. Use date instead.",Xl),Jt.months=Ve("months accessor is deprecated. Use month instead",hu),Jt.years=Ve("years accessor is deprecated. Use year instead",Wu),Jt.zone=Ve("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",bi),Jt.isDSTShifted=Ve("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Vl);function fn(E){return Tn(E*1e3)}function ra(){return Tn.apply(null,arguments).parseZone()}function po(E){return E}var Pn=se.prototype;Pn.calendar=_e,Pn.longDateFormat=Tt,Pn.invalidDate=mt,Pn.ordinal=Yt,Pn.preparse=po,Pn.postformat=po,Pn.relativeTime=_t,Pn.pastFuture=bt,Pn.set=ot,Pn.eras=Yy,Pn.erasParse=Jy,Pn.erasConvertYear=fm,Pn.erasAbbrRegex=t0,Pn.erasNameRegex=Ta,Pn.erasNarrowRegex=If,Pn.months=Z0,Pn.monthsShort=kp,Pn.monthsParse=ga,Pn.monthsRegex=ns,Pn.monthsShortRegex=Ip,Pn.week=Nd,Pn.firstDayOfYear=bf,Pn.firstDayOfWeek=mu,Pn.weekdays=rl,Pn.weekdaysMin=zu,Pn.weekdaysShort=yu,Pn.weekdaysParse=Sc,Pn.weekdaysRegex=Gh,Pn.weekdaysShortRegex=Gs,Pn.weekdaysMinRegex=jl,Pn.isPM=Kh,Pn.meridiem=Lp;function Ua(E,I,q,z){var ee=Xe(),ke=P().set(z,I);return ee[q](ke,E)}function $d(E,I,q){if(m(E)&&(I=E,E=void 0),E=E||"",I!=null)return Ua(E,I,q,"month");var z,ee=[];for(z=0;z<12;z++)ee[z]=Ua(E,z,q,"month");return ee}function Js(E,I,q,z){typeof E=="boolean"?(m(I)&&(q=I,I=void 0),I=I||""):(I=E,q=I,E=!1,m(I)&&(q=I,I=void 0),I=I||"");var ee=Xe(),ke=E?ee._week.dow:0,xt,fr=[];if(q!=null)return Ua(I,(q+ke)%7,z,"day");for(xt=0;xt<7;xt++)fr[xt]=Ua(I,(xt+ke)%7,z,"day");return fr}function Vd(E,I){return $d(E,I,"months")}function Rn(E,I){return $d(E,I,"monthsShort")}function Ff(E,I,q){return Js(E,I,q,"weekdays")}function zp(E,I,q){return Js(E,I,q,"weekdaysShort")}function gm(E,I,q){return Js(E,I,q,"weekdaysMin")}ae("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(E){var I=E%10,q=sn(E%100/10)===1?"th":I===1?"st":I===2?"nd":I===3?"rd":"th";return E+q}}),t.lang=Ve("moment.lang is deprecated. Use moment.locale instead.",ae),t.langData=Ve("moment.langData is deprecated. Use moment.localeData instead.",Xe);var Cc=Math.abs;function vm(){var E=this._data;return this._milliseconds=Cc(this._milliseconds),this._days=Cc(this._days),this._months=Cc(this._months),E.milliseconds=Cc(E.milliseconds),E.seconds=Cc(E.seconds),E.minutes=Cc(E.minutes),E.hours=Cc(E.hours),E.months=Cc(E.months),E.years=Cc(E.years),this}function u0(E,I,q,z){var ee=So(I,q);return E._milliseconds+=z*ee._milliseconds,E._days+=z*ee._days,E._months+=z*ee._months,E._bubble()}function Ql(E,I){return u0(this,E,I,1)}function Ar(E,I){return u0(this,E,I,-1)}function Gp(E){return E<0?Math.floor(E):Math.ceil(E)}function xm(){var E=this._milliseconds,I=this._days,q=this._months,z=this._data,ee,ke,xt,fr,dn;return E>=0&&I>=0&&q>=0||E<=0&&I<=0&&q<=0||(E+=Gp(Ac(q)+I)*864e5,I=0,q=0),z.milliseconds=E%1e3,ee=Si(E/1e3),z.seconds=ee%60,ke=Si(ee/60),z.minutes=ke%60,xt=Si(ke/60),z.hours=xt%24,I+=Si(xt/24),dn=Si(Eu(I)),q+=dn,I-=Gp(Ac(dn)),fr=Si(q/12),q%=12,z.days=I,z.months=q,z.years=fr,this}function Eu(E){return E*4800/146097}function Ac(E){return E*146097/4800}function Hd(E){if(!this.isValid())return NaN;var I,q,z=this._milliseconds;if(E=ge(E),E==="month"||E==="quarter"||E==="year")switch(I=this._days+z/864e5,q=this._months+Eu(I),E){case"month":return q;case"quarter":return q/3;case"year":return q/12}else switch(I=this._days+Math.round(Ac(this._months)),E){case"week":return I/7+z/6048e5;case"day":return I+z/864e5;case"hour":return I*24+z/36e5;case"minute":return I*1440+z/6e4;case"second":return I*86400+z/1e3;case"millisecond":return Math.floor(I*864e5)+z;default:throw new Error("Unknown unit "+E)}}function Qa(E){return function(){return this.as(E)}}var Lf=Qa("ms"),_m=Qa("s"),pl=Qa("m"),Wd=Qa("h"),Kp=Qa("d"),Mf=Qa("w"),tc=Qa("M"),Dc=Qa("Q"),zd=Qa("y"),Yp=Lf;function Pa(){return So(this)}function Ui(E){return E=ge(E),this.isValid()?this[E+"s"]():NaN}function Oi(E){return function(){return this.isValid()?this._data[E]:NaN}}var c0=Oi("milliseconds"),Za=Oi("seconds"),eg=Oi("minutes"),Bf=Oi("hours"),Sm=Oi("days"),bv=Oi("months"),bm=Oi("years");function l0(){return Si(this.days()/7)}var wu=Math.round,Zl={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function jf(E,I,q,z,ee){return ee.relativeTime(I||1,!!q,E,z)}function tg(E,I,q,z){var ee=So(E).abs(),ke=wu(ee.as("s")),xt=wu(ee.as("m")),fr=wu(ee.as("h")),dn=wu(ee.as("d")),fi=wu(ee.as("M")),ia=wu(ee.as("w")),eu=wu(ee.as("y")),qs=ke<=q.ss&&["s",ke]||ke<q.s&&["ss",ke]||xt<=1&&["m"]||xt<q.m&&["mm",xt]||fr<=1&&["h"]||fr<q.h&&["hh",fr]||dn<=1&&["d"]||dn<q.d&&["dd",dn];return q.w!=null&&(qs=qs||ia<=1&&["w"]||ia<q.w&&["ww",ia]),qs=qs||fi<=1&&["M"]||fi<q.M&&["MM",fi]||eu<=1&&["y"]||["yy",eu],qs[2]=I,qs[3]=+E>0,qs[4]=z,jf.apply(null,qs)}function rg(E){return E===void 0?wu:typeof E=="function"?(wu=E,!0):!1}function Gd(E,I){return Zl[E]===void 0?!1:I===void 0?Zl[E]:(Zl[E]=I,E==="s"&&(Zl.ss=I-1),!0)}function Ev(E,I){if(!this.isValid())return this.localeData().invalidDate();var q=!1,z=Zl,ee,ke;return typeof E=="object"&&(I=E,E=!1),typeof E=="boolean"&&(q=E),typeof I=="object"&&(z=Object.assign({},Zl,I),I.s!=null&&I.ss==null&&(z.ss=I.s-1)),ee=this.localeData(),ke=tg(this,!q,z,ee),q&&(ke=ee.pastFuture(+this,ke)),ee.postformat(ke)}var p0=Math.abs;function ep(E){return(E>0)-(E<0)||+E}function na(){if(!this.isValid())return this.localeData().invalidDate();var E=p0(this._milliseconds)/1e3,I=p0(this._days),q=p0(this._months),z,ee,ke,xt,fr=this.asSeconds(),dn,fi,ia,eu;return fr?(z=Si(E/60),ee=Si(z/60),E%=60,z%=60,ke=Si(q/12),q%=12,xt=E?E.toFixed(3).replace(/\.?0+$/,""):"",dn=fr<0?"-":"",fi=ep(this._months)!==ep(fr)?"-":"",ia=ep(this._days)!==ep(fr)?"-":"",eu=ep(this._milliseconds)!==ep(fr)?"-":"",dn+"P"+(ke?fi+ke+"Y":"")+(q?fi+q+"M":"")+(I?ia+I+"D":"")+(ee||z||E?"T":"")+(ee?eu+ee+"H":"")+(z?eu+z+"M":"")+(E?eu+xt+"S":"")):"P0D"}var qn=Ec.prototype;qn.isValid=Fd,qn.abs=vm,qn.add=Ql,qn.subtract=Ar,qn.as=Hd,qn.asMilliseconds=Lf,qn.asSeconds=_m,qn.asMinutes=pl,qn.asHours=Wd,qn.asDays=Kp,qn.asWeeks=Mf,qn.asMonths=tc,qn.asQuarters=Dc,qn.asYears=zd,qn.valueOf=Yp,qn._bubble=xm,qn.clone=Pa,qn.get=Ui,qn.milliseconds=c0,qn.seconds=Za,qn.minutes=eg,qn.hours=Bf,qn.days=Sm,qn.weeks=l0,qn.months=bv,qn.years=bm,qn.humanize=Ev,qn.toISOString=na,qn.toString=na,qn.toJSON=na,qn.locale=cm,qn.localeData=lm,qn.toIsoString=Ve("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",na),qn.lang=_u,Ye("X",0,0,"unix"),Ye("x",0,0,"valueOf"),Mt("x",rt),Mt("X",Xt),On("X",function(E,I,q){q._d=new Date(parseFloat(E)*1e3)}),On("x",function(E,I,q){q._d=new Date(sn(E))});return t.version="2.30.1",r(Tn),t.fn=Jt,t.min=Ka,t.max=Rd,t.now=wf,t.utc=P,t.unix=fn,t.months=Vd,t.isDate=y,t.locale=ae,t.invalid=M,t.duration=So,t.isMoment=Ce,t.weekdays=Ff,t.parseZone=ra,t.localeData=Xe,t.isDuration=qa,t.monthsShort=Rn,t.weekdaysMin=gm,t.defineLocale=Me,t.updateLocale=it,t.locales=gt,t.weekdaysShort=zp,t.normalizeUnits=ge,t.relativeTimeRounding=rg,t.relativeTimeThreshold=Gd,t.calendarFormat=xx,t.prototype=Jt,t.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},t})});function D0(){return!process.stdout.isTTY||process.env.FORCE_NON_TTY==="1"||process.env.CI==="true"||process.env.CI==="1"||process.env.PAGES_SOURCE==="skills"||process.env.EDGEONE_NON_INTERACTIVE==="1"}function gC({prefix:e="cli"}){return Vs.default.createElement(Bs.Text,{color:"grey"},"[",e,"]")}function yi(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m\x1B[31m[\u2718] \x1B[0m${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t}),Vs.default.createElement(Bs.Text,{color:"red"},"[\u2718] "),e));r()}function vC(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m\x1B[32m[\u2714] \x1B[0m${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t}),Vs.default.createElement(Bs.Text,{color:"green"},"[\u2714] "),e));r()}function pi(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m \x1B[33mWARNING:\x1B[0m ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t}),Vs.default.createElement(Bs.Text,{color:"orange"},"\u2757\uFE0F "),e));r()}function $z(e){if(D0()){console.log(e);return}let{unmount:t}=(0,Bs.render)(Vs.default.createElement(Bs.Text,{color:"cyan"},e));t()}function Dt(e,t="cli"){if(D0()){console.log(`\x1B[90m[${t}]\x1B[0m ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Text,null,Vs.default.createElement(gC,{prefix:t})," ",e));r()}function HR({timestamp:e}){return Vs.default.createElement(Bs.Box,{width:13},Vs.default.createElement(Bs.Text,{color:"grey"},(0,Wb.default)(e).format("HH:mm:ss.SSS")))}function Vz(e,t){if(D0()){console.log(`${(0,Wb.default)(t).format("HH:mm:ss.SSS")} ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Box,null,Vs.default.createElement(HR,{timestamp:t}),Vs.default.createElement(Bs.Text,null,e)));r()}function Hz(e,t){if(D0()){console.log(`${(0,Wb.default)(t).format("HH:mm:ss.SSS")} [WARNING] ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Box,null,Vs.default.createElement(HR,{timestamp:t}),Vs.default.createElement(Bs.Text,{color:"white",backgroundColor:"yellow"},"[WARNING]"),Vs.default.createElement(Bs.Text,null," ",e)));r()}function WR(e,t){if(D0()){console.log(`${(0,Wb.default)(t).format("HH:mm:ss.SSS")} [ERROR] ${e}`);return}let{unmount:r}=(0,Bs.render)(Vs.default.createElement(Bs.Box,null,Vs.default.createElement(HR,{timestamp:t}),Vs.default.createElement(Bs.Text,{color:"white",backgroundColor:"red"},"[ERROR]"),Vs.default.createElement(Bs.Text,null," ",e)));r()}var Bs,Vs,Wb,ua=ht(()=>{Bs=Lt(yC()),Vs=Lt(yo()),Wb=Lt(Uz())});var zz,Wz=ht(()=>{zz={name:"edgeone",version:"1.6.26",description:"Command-line interface for TencentCloud Pages Functions",bin:{edgeone:"./edgeone-bin/edgeone.js"},files:["./edgeone-bin/edgeone.js","./edgeone-dist/cli.js","./edgeone-dist/pages/templates","./edgeone-dist/pages/dev/runner-worker.js","./edgeone-dist/pages/observability-python/**","./edgeone-dist/libs-pages-blob-python/**","./edgeone-dist/libs-pages-agent-toolkit/**","./edgeone-dist/studio/**","./libs-pages-blob-python/**","./libs-pages-agent-toolkit/**"],author:"",keywords:["tencent","edgeone","edgefunctions","edgeone","cli","typescript"],scripts:{clean:"rimraf ./edgeone-dist ./edgeone-bin ./libs-node-ai ./libs-kv-client",bundle:"node -r esbuild-register ./scripts/bundle.ts",watch:"node -r esbuild-register ./scripts/bundle.ts watch",build:"npm run clean && npm run build:pages-ai && npm run build:kv-client && npm run prepare:blob-wheel && npm run prepare:agent-toolkit-wheel && npm run bundle","build:pages-ai":"node ./scripts/build-pages-ai.js","build:kv-client":"node ./scripts/build-kv-client.js","prepare:blob-wheel":"node ./scripts/prepare-pages-blob-wheel.js","prepare:agent-toolkit-wheel":"node ./scripts/prepare-pages-agent-toolkit-wheel.js","verify:publish-assets":"node ./scripts/verify-publish-assets.js","upload:agent-version-manifest":"node ./scripts/upload-agent-version-manifest.js",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}" "scripts/**/*.{ts,js}" "*.{json,md}"',prepack:"npm run build && npm run verify:publish-assets",prepublishOnly:"npm run build && npm run verify:publish-assets",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:observability":"vitest run --config src/agent/observability/node/tests/vitest.config.ts && cd src/agent/observability/python && uv run pytest tests/ -q"},dependencies:{"@edgeone/framework-detect":"^0.0.2","@edgeone/is-spa":"^0.0.3","@edgeone/nuxt-pages":"1.1.0","@edgeone/opennextjs-pages":"0.2.10","@edgeone/pages-agent-toolkit":"^0.1.34","@edgeone/pages-blob":"^0.0.16",archiver:"^7.0.1",chokidar:"^4.0.1","common-path-prefix":"^1.0.0","cos-nodejs-sdk-v5":"^2.14.7","cross-spawn":"^7.0.6",crypto:"^1.0.1","detect-port":"^2.1.0",esbuild:"^0.19.2","esbuild-plugin-polyfill-node":"^0.3.0","esbuild-plugin-vue":"^0.2.4","fast-glob":"^3.3.0","fs-extra":"^11.3.1",giget:"^2.0.0","ink-table":"^3.1.0",inquirer:"^8.2.4",install:"^0.13.0",lodash:"^4.17.21","mime-types":"^3.0.1",minimatch:"^9.0.5","node-persist":"^4.0.3",npm:"^10.9.1",open:"^8.4.2","p-map":"^5.5.0","parse-gitignore":"^2.0.0",portfinder:"^1.0.32",undici:"^5.29.0",vitest:"^4.0.17"},devDependencies:{"@babel/generator":"^7.28.0","@babel/parser":"^7.28.0","@babel/traverse":"^7.28.0","@babel/types":"^7.28.0","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-metrics-otlp-http":"^0.55.0","@opentelemetry/exporter-trace-otlp-http":"^0.55.0","@opentelemetry/instrumentation":"^0.55.0","@opentelemetry/otlp-transformer":"^0.55.0","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/sdk-trace-node":"^1.30.1","@opentelemetry/semantic-conventions":"^1.40.0","@tencent/capi-nodejs-sdk":"^2.3.2","@types/http-proxy":"^1.17.12","@types/inquirer":"^9.0.8","@types/ip":"^1.1.0","@types/lodash":"^4.14.198","@types/prompts":"^2.4.4","@types/react":"^17.0.2","@types/uuid":"^9.0.3","@types/ws":"^8.5.7","@types/yargs":"^17.0.24","@vitest/coverage-v8":"^4.0.17",axios:"^1.7.9",chalk:"^5.3.0",cookie:"^1.0.2",dotenv:"^16.3.1","esbuild-register":"^3.6.0",execa:"^7.1.1","http-proxy":"^1.18.1",husky:"^8.0.3",ink:"^3.2.0",ip:"^2.0.1",json5:"^2.2.3","lint-staged":"^15.2.0",lodash:"^4.17.21",moment:"^2.30.1","node-fetch":"^3.3.2",prettier:"^3.1.1",prompts:"^2.4.2",protobufjs:"^8.4.2",react:"^17.0.2",rimraf:"^6.0.1",semiver:"^1.1.0",sirv:"^2.0.3","tencentcloud-cls-sdk-js-web":"^1.0.13","ts-node":"^10.9.2",typescript:"^5.9.3","update-check":"^1.5.4",uuid:"^9.0.0",ws:"^8.14.2",yargs:"^17.6.2",zod:"^3.23.8","zod-to-json-schema":"^3.23.5"},engines:{node:">=12"},"lint-staged":{"*.{ts,tsx,js,jsx,json,md}":["prettier --write"]}}});function bIe(){var e,t;return{run_id:SIe,cli_version:(t=(e=zz)==null?void 0:e.version)!=null?t:"unknown",node_version:process.version,os_platform:GR.default.platform(),os_arch:GR.default.arch(),app_type:"cli",app_id:process.env.AppId||void 0,uin:process.env.Uin||void 0,instance_id:process.env.ProjectId||void 0,is_ci:process.env.CI==="true"}}function EIe(e,t){try{if(typeof process.send!="function")return;process.send(JSON.stringify({name:e,value:JSON.stringify(t)}))}catch{}}function lu(e){var r;let t={...bIe(),...e};EIe((r=t.event_name)!=null?r:"unknown",t)}function ld(e){if(e==null)return{message:"unknown error",stack:""};if(typeof e=="string")return{message:xC(e,zR),stack:""};if(typeof e=="object"){let t=e,r=xC(typeof t.message=="string"?t.message:String(t),zR),s=xC(typeof t.stack=="string"?t.stack:"",wIe);return{message:r,stack:s}}return{message:xC(String(e),zR),stack:""}}function xC(e,t){return e.length>t?e.slice(0,t)+"\u2026[truncated]":e}var GR,uu,cu,SIe,KR,zR,wIe,dy=ht(()=>{GR=Lt(require("os"));Wz();uu={COMMAND:"command",REQUEST:"request",LOCAL_FLOW:"local_flow",EXIT:"exit"},cu={SUCCESS:"success",FAIL:"fail",START:"start"},SIe=`cli-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;KR=(e,t)=>{let r=ld(t);lu({event_name:"error",event_scope:uu.COMMAND,event_result:cu.FAIL,error_message:`${e} ${r.message}`.trim(),error_stack:r.stack})},zR=500,wIe=2e3});var zb,S2,YR=ht(()=>{zb={NEXTJS:"nextjs",NUXTJS:"nuxtjs",ASTRO:"astro",UNKNOWN:"unknown"},S2={FRAMEWORK_DETECT:"framework_detect",PLUGIN_RESOLVE:"plugin_resolve",PLUGIN_LOAD:"plugin_load",PLUGIN_HOOK:"plugin_hook",CONFIG_LOAD:"config_load"}});function CIe(e){if((e==null?void 0:e.code)===PIe)return!0;let t=typeof e=="string"?e:e==null?void 0:e.message;return t==null?void 0:t.includes(TIe)}async function Mg(e=!1){try{let t=await PP(e);return lu({event_name:"Config:Load:Success",event_scope:uu.LOCAL_FLOW,event_phase:S2.CONFIG_LOAD,event_result:cu.SUCCESS,has_build_command:(t==null?void 0:t.buildCommand)!=null,has_install_command:(t==null?void 0:t.installCommand)!=null,has_output_directory:(t==null?void 0:t.outputDirectory)!=null,has_node_version:(t==null?void 0:t.nodeVersion)!=null}),t}catch(t){let r=ld(t);if(lu({event_name:"Config:Load:Fail",event_scope:uu.LOCAL_FLOW,event_phase:S2.CONFIG_LOAD,event_result:cu.FAIL,error_message:r.message}),CIe(t))throw t;return od()&&console.error("%c [ error ]-80","font-size:13px; background:pink; color:#bf2c9f;",t),null}}var TIe,PIe,JR=ht(()=>{n2();_P();dy();YR();TIe="[BLOCKING_CONFIG_ERROR]",PIe="BLOCKING_CONFIG_ERROR"});var _C,fc,SC=ht(()=>{_C=[{funcName:"onRequestGet",method:"GET"},{funcName:"onRequestPost",method:"POST"},{funcName:"onRequestDelete",method:"DELETE"},{funcName:"onRequestPatch",method:"PATCH"},{funcName:"onRequestPut",method:"PUT"},{funcName:"onRequestHead",method:"HEAD"},{funcName:"onRequestOptions",method:"OPTIONS"}],fc=["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"]});async function AIe(e){let t;bC.default.statSync(e).isFile()?t=b2.default.resolve(b2.default.dirname(e)):t=e;let r=b2.default.parse(t).root;if(t===r)return null;for(;t!==r;){let s=b2.default.join(t,"package.json");try{return await bC.default.promises.access(s),s}catch{if(t=b2.default.dirname(t),t===r)break}}return null}async function E2(e){if(e.endsWith(".mjs"))return"esm";if(e.endsWith(".cjs"))return"commonjs";try{let t=await AIe(e);if(t&&JSON.parse(await bC.default.promises.readFile(t,"utf-8")).type==="module")return"esm"}catch(t){console.warn("Failed to read package.json:",t)}return"commonjs"}var bC,b2,Gb=ht(()=>{bC=Lt(require("fs")),b2=Lt(require("path"))});function kIe(e){let t=XR.default.extname(e);return DIe[t]||"ts"}function NIe(e){return e.split(",").map(t=>t.trim()).map(t=>{let r=t.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(!r)return"";let[,s,a]=r;return!OIe.has(a)||s===a?"":`const ${a} = ${s};`}).filter(Boolean).join(`
146
146
  `)}async function Yz(e,t,r,s){let a=`mod_${IIe++}`,l=(await Kz.default.build({stdin:{contents:e,loader:kIe(r),resolveDir:XR.default.dirname(r)},write:!1,bundle:!0,format:"esm",platform:"node",target:"node14",minify:!1,resolveExtensions:[".ts",".js",".mjs",".json"],nodePaths:[process.cwd()],absWorkingDir:process.cwd(),external:(s==null?void 0:s.externalModules)||[]})).outputFiles[0].text,f=[];l=l.replace(/^import\s+[^'"]*['"][^'"]*['"]\s*;?\n/gm,b=>(f.push(b),"")),l=l.replace(/export (async )?function/g,"$1function"),l=l.replace(/export const/g,"const"),l=l.replace(/export let/g,"let"),l=l.replace(/export var/g,"var"),l=l.replace(/export default/g,""),l=l.replace(/export\s*\{([^}]+)\};?/g,(b,P)=>NIe(P)),l=l.replace(/export class/g,"class");let m=/const\s+app\s*=/.test(l),y=`${f.join(`
147
147
  `)}`;return{code:s!=null&&s.isFramework?`
148
148
  const ${a} = (() => {
@@ -772,7 +772,7 @@ Use "options.replacer" or "options.ignoreUnknown"
772
772
  `);return l===-1?"":a.stack.slice(l+1)})();try{if(!s.stack)s.stack=n;else if(n){let l=n.indexOf(`
773
773
  `),f=l===-1?-1:n.indexOf(`
774
774
  `,l+1),m=f===-1?"":n.slice(f+1);String(s.stack).endsWith(m)||(s.stack+=`
775
- `+n)}}catch{}}throw s}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=Oh(this.defaults,r);let{transitional:s,paramsSerializer:a,headers:n}=r;s!==void 0&&Tw.assertOptions(s,{silentJSONParsing:bp.transitional(bp.boolean),forcedJSONParsing:bp.transitional(bp.boolean),clarifyTimeoutError:bp.transitional(bp.boolean),legacyInterceptorReqResOrdering:bp.transitional(bp.boolean),advertiseZstdAcceptEncoding:bp.transitional(bp.boolean)},!1),a!=null&&(Pe.isFunction(a)?r.paramsSerializer={serialize:a}:Tw.assertOptions(a,{encode:bp.function,serialize:bp.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Tw.assertOptions(r,{baseUrl:bp.spelling("baseURL"),withXsrfToken:bp.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let l=n&&Pe.merge(n.common,n[r.method]);n&&Pe.forEach(["delete","get","head","post","put","patch","query","common"],g=>{delete n[g]}),r.headers=Co.concat(l,n);let f=[],m=!0;this.interceptors.request.forEach(function(B){if(typeof B.runWhen=="function"&&B.runWhen(r)===!1)return;m=m&&B.synchronous;let F=r.transitional||iv;F&&F.legacyInterceptorReqResOrdering?f.unshift(B.fulfilled,B.rejected):f.push(B.fulfilled,B.rejected)});let y=[];this.interceptors.response.forEach(function(B){y.push(B.fulfilled,B.rejected)});let v,b=0,P;if(!m){let g=[WD.bind(this),void 0];for(g.unshift(...f),g.push(...y),P=g.length,v=Promise.resolve(r);b<P;)v=v.then(g[b++],g[b++]);return v}P=f.length;let k=r;for(;b<P;){let g=f[b++],B=f[b++];try{k=g(k)}catch(F){B.call(this,F);break}}try{v=WD.call(this,k)}catch(g){return Promise.reject(g)}for(b=0,P=y.length;b<P;)v=v.then(y[b++],y[b++]);return v}getUri(t){t=Oh(this.defaults,t);let r=Y1(t.baseURL,t.url,t.allowAbsoluteUrls);return G1(r,t.params,t.paramsSerializer)}};Pe.forEach(["delete","get","head","options"],function(t){b_.prototype[t]=function(r,s){return this.request(Oh(s||{},{method:t,url:r,data:(s||{}).data}))}});Pe.forEach(["post","put","patch","query"],function(t){function r(s){return function(n,l,f){return this.request(Oh(f||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:n,data:l}))}}b_.prototype[t]=r(),t!=="query"&&(b_.prototype[t+"Form"]=r(!0))});Pw=b_});var B6,goe,voe=ht(()=>{"use strict";K1();B6=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(n){r=n});let s=this;this.promise.then(a=>{if(!s._listeners)return;let n=s._listeners.length;for(;n-- >0;)s._listeners[n](a);s._listeners=null}),this.promise.then=a=>{let n,l=new Promise(f=>{s.subscribe(f),n=f}).then(a);return l.cancel=function(){s.unsubscribe(n)},l},t(function(n,l,f){s.reason||(s.reason=new vf(n,l,f),r(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let t=new AbortController,r=s=>{t.abort(s)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new e(function(a){t=a}),cancel:t}}},goe=B6});function j6(e){return function(r){return e.apply(null,r)}}var xoe=ht(()=>{"use strict"});function q6(e){return Pe.isObject(e)&&e.isAxiosError===!0}var _oe=ht(()=>{"use strict";ao()});var U6,Soe,boe=ht(()=>{U6={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(U6).forEach(([e,t])=>{U6[t]=e});Soe=U6});function Eoe(e){let t=new Pw(e),r=ew(Pw.prototype.request,t);return Pe.extend(r,Pw.prototype,t,{allOwnKeys:!0}),Pe.extend(r,t,null,{allOwnKeys:!0}),r.create=function(a){return Eoe(Oh(e,a))},r}var Wa,ex,woe=ht(()=>{"use strict";ao();dB();yoe();UD();RD();GB();K1();voe();YB();Sw();cw();gf();xoe();_oe();Dh();L6();boe();Wa=Eoe(v_);Wa.Axios=Pw;Wa.CanceledError=vf;Wa.CancelToken=goe;Wa.isCancel=fw;Wa.VERSION=Py;Wa.toFormData=nv;Wa.AxiosError=Qt;Wa.Cancel=Wa.CanceledError;Wa.all=function(t){return Promise.all(t)};Wa.spread=j6;Wa.isAxiosError=q6;Wa.mergeConfig=Oh;Wa.AxiosHeaders=Co;Wa.formToJSON=e=>ND(Pe.isHTMLForm(e)?new FormData(e):e);Wa.getAdapter=HD.getAdapter;Wa.HttpStatusCode=Soe;Wa.default=Wa;ex=Wa});var $Mt,VMt,HMt,WMt,zMt,GMt,KMt,YMt,JMt,XMt,QMt,ZMt,eBt,tBt,rBt,nBt,iBt,$6=ht(()=>{woe();({Axios:$Mt,AxiosError:VMt,CanceledError:HMt,isCancel:WMt,CancelToken:zMt,VERSION:GMt,all:KMt,Cancel:YMt,isAxiosError:JMt,spread:XMt,toFormData:QMt,AxiosHeaders:ZMt,HttpStatusCode:eBt,formToJSON:tBt,getAdapter:rBt,mergeConfig:nBt,create:iBt}=ex)});var sv,V6,Cw,H6,W6,Toe,Aw=ht(()=>{sv={global:"https://pages-api.edgeone.ai/v1",china:"https://pages-api.cloud.tencent.com/v1"},V6={global:"ap-singapore",china:"ap-guangzhou"},Cw={global:"https://edgeone.tencentcloud.com",china:"https://edgeone.cloud.tencent.com"},H6={global:"https://edgeone.ai/login",china:"https://cloud.tencent.com/login"},W6="/makers/cli-login",Toe={"ap-guangzhou":"china","ap-singapore":"global"}});function w0t(e){return sv[e]}async function T0t(e){var t,r,s;for(let a of E0t)try{let n=w0t(a),l=await ex.post(n,JSON.stringify({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:V6[a]}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},timeout:15e3}),f=((r=(t=l==null?void 0:l.data)==null?void 0:t.Data)==null?void 0:r.Response)||(l==null?void 0:l.data);if((f==null?void 0:f.Code)!=null||((s=f==null?void 0:f.Error)==null?void 0:s.Code)!=null)continue;if(f&&Array.isArray(f.Projects))return a}catch{}return null}async function ov(){if(process.env.EDGEONE_PAGES_API_REGION)return process.env.EDGEONE_PAGES_API_REGION;let e=Kx();if(e!=null&&e.region)return e.region;if(e!=null&&e.token){let t=await T0t(e.token);if(t){try{qS({token:e.token,region:t})}catch{}return t}}return await pP("login_region")}var hBt,mBt,E0t,GD=ht(()=>{$6();ch();dy();ua();Aw();hBt=require("fs"),mBt=require("path"),E0t=["china","global"]});var P0t,z6,Poe,Coe,KD=ht(()=>{$6();GD();ch();Aw();ua();P0t=async()=>{let e=await ov(),t=sv[e];if(t)return t;yi(`Invalid region: ${e}`)},z6=async()=>{if(process.env.EDGEONE_PAGES_API_TOKEN)return process.env.EDGEONE_PAGES_API_TOKEN;let e=Kx();if(e!=null&&e.token)return e.token;try{return(await pP("eo_token")).Token}catch{return}},Poe=async(e,t)=>{var l,f;let r=t||await P0t(),a={"Content-Type":"application/json",Authorization:`Bearer ${await z6()}`},n=await ex.post(r,JSON.stringify(e),{headers:a,timeout:15e3});return((f=(l=n.data)==null?void 0:l.Data)==null?void 0:f.Response)||n.data},Coe=async e=>{var s,a,n,l,f,m;let t=await ov(),r=sv[t]||sv.china;if(!r)throw new Error("Login get token failed, invalid login region.");try{let y=await ex.post(r,JSON.stringify({Action:"CreateOrDescribeTokenByMCP",Name:"edgeone-cli-auto-generated"}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`}}),v=(n=(a=(s=y==null?void 0:y.data)==null?void 0:s.Data)==null?void 0:a.Response)==null?void 0:n.TokenData;if(!(v!=null&&v.Token)){let b=(l=y==null?void 0:y.data)==null?void 0:l.Code,P=(f=y==null?void 0:y.data)==null?void 0:f.Message,k=(m=y==null?void 0:y.data)==null?void 0:m.RequestId,g=b!=null?`server Code=${b}, Message=${P}, RequestId=${k}`:`unexpected response shape from ${r}`;throw new Error(`Token exchange returned an empty result. ${g}`)}return v}catch(y){let v=y instanceof Error?y.message:"Unknown error";throw new Error(`Login get token failed, please try again. ${v}`)}}});var C0t,Aoe,Doe,koe,Ioe,Ooe,Noe,Roe,Foe,G6,W0,Loe,Dw,Moe=ht(()=>{C0t="/pages/connect",Aoe=e=>e==="global"?"https://console.tencentcloud.com/edgeone/makers":"https://console.cloud.tencent.com/edgeone/makers",Doe=e=>e==="global"?"https://edgeone.tencentcloud.com/logo/BlackHeadLogo.svg":"https://edgeone.cloud.tencent.com/logo/BlackHeadLogo.svg",koe=e=>{let t=e==="global";return{lang:t?"en":"zh-CN",successTitle:t?"Login successful, please return to the original app to continue":"\u767B\u5F55\u6210\u529F\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u7EE7\u7EED\u4F7F\u7528",successDescription:t?"You will be redirected to the Makers console in 5 seconds":"5 \u79D2\u540E\u81EA\u52A8\u8DF3\u8F6C\u5230 Makers \u63A7\u5236\u53F0",successButtonText:t?"Go Console":"\u56DE\u5230\u63A7\u5236\u53F0",errorTitle:t?"Login failed. Please return to the original app and try again":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u91CD\u8BD5"}},Ioe=e=>e==="global"?`
775
+ `+n)}}catch{}}throw s}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=Oh(this.defaults,r);let{transitional:s,paramsSerializer:a,headers:n}=r;s!==void 0&&Tw.assertOptions(s,{silentJSONParsing:bp.transitional(bp.boolean),forcedJSONParsing:bp.transitional(bp.boolean),clarifyTimeoutError:bp.transitional(bp.boolean),legacyInterceptorReqResOrdering:bp.transitional(bp.boolean),advertiseZstdAcceptEncoding:bp.transitional(bp.boolean)},!1),a!=null&&(Pe.isFunction(a)?r.paramsSerializer={serialize:a}:Tw.assertOptions(a,{encode:bp.function,serialize:bp.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Tw.assertOptions(r,{baseUrl:bp.spelling("baseURL"),withXsrfToken:bp.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let l=n&&Pe.merge(n.common,n[r.method]);n&&Pe.forEach(["delete","get","head","post","put","patch","query","common"],g=>{delete n[g]}),r.headers=Co.concat(l,n);let f=[],m=!0;this.interceptors.request.forEach(function(B){if(typeof B.runWhen=="function"&&B.runWhen(r)===!1)return;m=m&&B.synchronous;let F=r.transitional||iv;F&&F.legacyInterceptorReqResOrdering?f.unshift(B.fulfilled,B.rejected):f.push(B.fulfilled,B.rejected)});let y=[];this.interceptors.response.forEach(function(B){y.push(B.fulfilled,B.rejected)});let v,b=0,P;if(!m){let g=[WD.bind(this),void 0];for(g.unshift(...f),g.push(...y),P=g.length,v=Promise.resolve(r);b<P;)v=v.then(g[b++],g[b++]);return v}P=f.length;let k=r;for(;b<P;){let g=f[b++],B=f[b++];try{k=g(k)}catch(F){B.call(this,F);break}}try{v=WD.call(this,k)}catch(g){return Promise.reject(g)}for(b=0,P=y.length;b<P;)v=v.then(y[b++],y[b++]);return v}getUri(t){t=Oh(this.defaults,t);let r=Y1(t.baseURL,t.url,t.allowAbsoluteUrls);return G1(r,t.params,t.paramsSerializer)}};Pe.forEach(["delete","get","head","options"],function(t){b_.prototype[t]=function(r,s){return this.request(Oh(s||{},{method:t,url:r,data:(s||{}).data}))}});Pe.forEach(["post","put","patch","query"],function(t){function r(s){return function(n,l,f){return this.request(Oh(f||{},{method:t,headers:s?{"Content-Type":"multipart/form-data"}:{},url:n,data:l}))}}b_.prototype[t]=r(),t!=="query"&&(b_.prototype[t+"Form"]=r(!0))});Pw=b_});var B6,goe,voe=ht(()=>{"use strict";K1();B6=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(n){r=n});let s=this;this.promise.then(a=>{if(!s._listeners)return;let n=s._listeners.length;for(;n-- >0;)s._listeners[n](a);s._listeners=null}),this.promise.then=a=>{let n,l=new Promise(f=>{s.subscribe(f),n=f}).then(a);return l.cancel=function(){s.unsubscribe(n)},l},t(function(n,l,f){s.reason||(s.reason=new vf(n,l,f),r(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let t=new AbortController,r=s=>{t.abort(s)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new e(function(a){t=a}),cancel:t}}},goe=B6});function j6(e){return function(r){return e.apply(null,r)}}var xoe=ht(()=>{"use strict"});function q6(e){return Pe.isObject(e)&&e.isAxiosError===!0}var _oe=ht(()=>{"use strict";ao()});var U6,Soe,boe=ht(()=>{U6={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(U6).forEach(([e,t])=>{U6[t]=e});Soe=U6});function Eoe(e){let t=new Pw(e),r=ew(Pw.prototype.request,t);return Pe.extend(r,Pw.prototype,t,{allOwnKeys:!0}),Pe.extend(r,t,null,{allOwnKeys:!0}),r.create=function(a){return Eoe(Oh(e,a))},r}var Wa,ex,woe=ht(()=>{"use strict";ao();dB();yoe();UD();RD();GB();K1();voe();YB();Sw();cw();gf();xoe();_oe();Dh();L6();boe();Wa=Eoe(v_);Wa.Axios=Pw;Wa.CanceledError=vf;Wa.CancelToken=goe;Wa.isCancel=fw;Wa.VERSION=Py;Wa.toFormData=nv;Wa.AxiosError=Qt;Wa.Cancel=Wa.CanceledError;Wa.all=function(t){return Promise.all(t)};Wa.spread=j6;Wa.isAxiosError=q6;Wa.mergeConfig=Oh;Wa.AxiosHeaders=Co;Wa.formToJSON=e=>ND(Pe.isHTMLForm(e)?new FormData(e):e);Wa.getAdapter=HD.getAdapter;Wa.HttpStatusCode=Soe;Wa.default=Wa;ex=Wa});var $Mt,VMt,HMt,WMt,zMt,GMt,KMt,YMt,JMt,XMt,QMt,ZMt,eBt,tBt,rBt,nBt,iBt,$6=ht(()=>{woe();({Axios:$Mt,AxiosError:VMt,CanceledError:HMt,isCancel:WMt,CancelToken:zMt,VERSION:GMt,all:KMt,Cancel:YMt,isAxiosError:JMt,spread:XMt,toFormData:QMt,AxiosHeaders:ZMt,HttpStatusCode:eBt,formToJSON:tBt,getAdapter:rBt,mergeConfig:nBt,create:iBt}=ex)});var sv,V6,Cw,H6,W6,Toe,Aw=ht(()=>{sv={global:"https://pages-api.edgeone.ai/v1",china:"https://pages-api.cloud.tencent.com/v1"},V6={global:"ap-singapore",china:"ap-guangzhou"},Cw={global:"https://edgeone.tencentcloud.com",china:"https://edgeone.cloud.tencent.com"},H6={global:"https://edgeone.ai/login",china:"https://cloud.tencent.com/login"},W6="/makers/cli-login",Toe={"ap-guangzhou":"china","ap-singapore":"global"}});function w0t(e){return sv[e]}async function T0t(e){var t,r,s;for(let a of E0t)try{let n=w0t(a),l=await ex.post(n,JSON.stringify({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:V6[a]}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},timeout:15e3}),f=((r=(t=l==null?void 0:l.data)==null?void 0:t.Data)==null?void 0:r.Response)||(l==null?void 0:l.data);if((f==null?void 0:f.Code)!=null||((s=f==null?void 0:f.Error)==null?void 0:s.Code)!=null)continue;if(f&&Array.isArray(f.Projects))return a}catch{}return null}async function ov(){if(process.env.EDGEONE_PAGES_API_REGION)return process.env.EDGEONE_PAGES_API_REGION;let e=Kx();if(e!=null&&e.region)return e.region;if(e!=null&&e.token){let t=await T0t(e.token);if(t){try{qS({token:e.token,region:t})}catch{}return t}}return await pP("login_region")}var hBt,mBt,E0t,GD=ht(()=>{$6();ch();dy();ua();Aw();hBt=require("fs"),mBt=require("path"),E0t=["china","global"]});var P0t,z6,Poe,Coe,KD=ht(()=>{$6();GD();ch();Aw();ua();P0t=async()=>{let e=await ov(),t=sv[e];if(t)return t;yi(`Invalid region: ${e}`)},z6=async()=>{if(process.env.EDGEONE_PAGES_API_TOKEN)return process.env.EDGEONE_PAGES_API_TOKEN;let e=Kx();if(e!=null&&e.token)return e.token;try{return(await pP("eo_token")).Token}catch{return}},Poe=async(e,t)=>{var l,f;let r=t||await P0t(),a={"Content-Type":"application/json",Authorization:`Bearer ${await z6()}`},n=await ex.post(r,JSON.stringify(e),{headers:a,timeout:15e3});return((f=(l=n.data)==null?void 0:l.Data)==null?void 0:f.Response)||n.data},Coe=async(e,t)=>{var a,n,l,f,m,y;let r=t||await ov(),s=sv[r]||sv.china;if(!s)throw new Error("Login get token failed, invalid login region.");try{let v=await ex.post(s,JSON.stringify({Action:"CreateOrDescribeTokenByMCP",Name:"edgeone-cli-auto-generated"}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`}}),b=(l=(n=(a=v==null?void 0:v.data)==null?void 0:a.Data)==null?void 0:n.Response)==null?void 0:l.TokenData;if(!(b!=null&&b.Token)){let P=(f=v==null?void 0:v.data)==null?void 0:f.Code,k=(m=v==null?void 0:v.data)==null?void 0:m.Message,g=(y=v==null?void 0:v.data)==null?void 0:y.RequestId,B=P!=null?`server Code=${P}, Message=${k}, RequestId=${g}, site=${r}`:`unexpected response shape from ${s}`;throw new Error(`Token exchange returned an empty result. ${B}`)}return b}catch(v){let b=v instanceof Error?v.message:"Unknown error";throw new Error(`Login get token failed, please try again. ${b}`)}}});var C0t,Aoe,Doe,koe,Ioe,Ooe,Noe,Roe,Foe,G6,W0,Loe,Dw,Moe=ht(()=>{C0t="/pages/connect",Aoe=e=>e==="global"?"https://console.tencentcloud.com/edgeone/makers":"https://console.cloud.tencent.com/edgeone/makers",Doe=e=>e==="global"?"https://edgeone.tencentcloud.com/logo/BlackHeadLogo.svg":"https://edgeone.cloud.tencent.com/logo/BlackHeadLogo.svg",koe=e=>{let t=e==="global";return{lang:t?"en":"zh-CN",successTitle:t?"Login successful, please return to the original app to continue":"\u767B\u5F55\u6210\u529F\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u7EE7\u7EED\u4F7F\u7528",successDescription:t?"You will be redirected to the Makers console in 5 seconds":"5 \u79D2\u540E\u81EA\u52A8\u8DF3\u8F6C\u5230 Makers \u63A7\u5236\u53F0",successButtonText:t?"Go Console":"\u56DE\u5230\u63A7\u5236\u53F0",errorTitle:t?"Login failed. Please return to the original app and try again":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u91CD\u8BD5"}},Ioe=e=>e==="global"?`
776
776
  <ol class="footer-links">
777
777
  <li><a href="https://www.tencentcloud.com/document/product/301/9248?s_url=https%3A%2F%2Fedgeone.ai" target="_blank" rel="noreferrer">Terms of Service</a></li>
778
778
  <li class="footer-separator">\xB7</li>
@@ -1131,7 +1131,7 @@ Use "options.replacer" or "options.ignoreUnknown"
1131
1131
  }
1132
1132
  </script>
1133
1133
  </body>
1134
- </html>`}});var Boe,A0t,D0t,k0t,I0t,YD,joe=ht(()=>{Boe=Lt(require("http"));ch();KD();Moe();ua();A0t=60*60*1e3,D0t=64*1024,k0t=16*1024,I0t=new Set(["https://edgeone.cloud.tencent.com","https://edgeone.tencentcloud.com","https://edgeone.ai","https://pre.edgeone.ai"]),YD=class{options;port;server;readyPromise;resultPromise;resolveReady;rejectReady;resolveResult;timeoutHandle;completed=!1;processing=!1;constructor(t){this.options=t,this.port=t.port||1025,this.readyPromise=new Promise((r,s)=>{this.resolveReady=r,this.rejectReady=s}),this.resultPromise=new Promise(r=>{this.resolveResult=r}),this.timeoutHandle=setTimeout(()=>{this.completed||(this.completed=!0,this.processing=!1,this.resolveResult({success:!1,message:""}),this.closeServer())},t.timeoutMs||A0t),this.server=Boe.default.createServer(this.handleRequest.bind(this)),this.server.on("error",this.handleError.bind(this)),this.server.listen(this.port,"127.0.0.1",()=>{this.resolveReady()})}waitUntilReady(){return this.readyPromise}waitForResult(){return this.resultPromise}async handleRequest(t,r){let s=new URL(t.url||"/",`http://127.0.0.1:${this.port}`);if(s.pathname!==G6){this.sendMethodNotAllowed(r);return}if(t.method==="OPTIONS"){this.handlePreflight(t,r);return}if(t.method==="POST"){await this.handlePost(t,r);return}if(t.method==="GET"){if(!s.search){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Loe({region:this.options.region}));return}await this.handleGet(s,r);return}this.sendMethodNotAllowed(r)}handlePreflight(t,r){let s=t.headers.origin;if(!s||!this.isAllowedOrigin(s)){r.writeHead(403,{"Content-Type":"text/plain; charset=utf-8"}),r.end("Origin is not allowed");return}this.setCorsHeaders(t,r,s),r.writeHead(204),r.end()}async handlePost(t,r){let s=t.headers.origin;if(s&&!this.isAllowedOrigin(s)){r.writeHead(403,{"Content-Type":"application/json; charset=utf-8"}),r.end(JSON.stringify({code:403,success:!1,message:"Origin is not allowed"}));return}if(s&&this.setCorsHeaders(t,r,s),!String(t.headers["content-type"]||"").toLowerCase().startsWith("application/json")){this.sendJson(r,415,{code:415,success:!1,message:"Content-Type must be application/json"});return}let a;try{a=await this.readJsonPayload(t)}catch(n){let l=n instanceof Error?n.message:"Invalid request body";this.sendJson(r,l==="Request body is too large"?413:400,{code:l==="Request body is too large"?413:400,success:!1,message:l});return}if(this.completed||this.processing){this.sendJson(r,200,{code:0,success:!0,message:"Login request already accepted"});return}try{await this.processLogin(a),this.sendJson(r,200,{code:0,success:!0,message:"Login success"},()=>{this.finish({success:!0,message:"Login success"})})}catch(n){let l=n instanceof Error?n.message:String(n);Dt(`[pages-login] token exchange failed: ${l}`),this.sendJson(r,400,{code:400,success:!1,message:l},()=>{this.finish({success:!1,message:l})})}}async handleGet(t,r){let a=t.searchParams.get("region")||this.options.region;if(this.completed||this.processing){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"success"}));return}let n;try{n=this.parseGetPayload(t)}catch(l){let f=l instanceof Error?l.message:String(l);Dt(`[pages-login] invalid callback payload: ${f}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"error",message:f}),()=>{this.finish({success:!1,message:f})});return}try{await this.processLogin(n),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"success"}),()=>{this.finish({success:!0,message:"Login success"})})}catch(l){let f=l instanceof Error?l.message:String(l);Dt(`[pages-login] token exchange failed: ${f}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"error",message:f}),()=>{this.finish({success:!1,message:f})})}}parseGetPayload(t){let r=t.searchParams,s=r.get("__eo_sso_cb");if(s)return this.decodeTenantCallback(s);let a={token:r.get("token")||void 0,state:r.get("state")||void 0,loginType:r.get("loginType")||void 0,provider:r.get("provider")||void 0,corpId:r.get("corpId")||void 0,corpName:r.get("corpName")||void 0,region:r.get("region")||void 0,openId:r.get("openId")||void 0,expired:r.get("expired")?Number(r.get("expired")):void 0};if(a.token)return a;let n=t.search.slice(1),f=r.get("payload")||(n&&!n.includes("&")&&!/^(token|state|loginType|provider|corpId|corpName|region|openId|expired|__eo_sso_cb)=/.test(n)?n:"");return f?this.decodeTenantCallback(f):a}decodeTenantCallback(t){let r;try{r=decodeURIComponent(t)}catch{throw new Error("Login callback payload is not valid URL encoding.")}if(Buffer.byteLength(r,"utf8")>k0t)throw new Error("Login callback payload is too large.");let s=r.replace(/-/g,"+").replace(/_/g,"/");if(!/^[A-Za-z0-9+/]*={0,2}$/.test(s)||s.length%4===1)throw new Error("Login callback payload is not valid Base64.");let a=s.padEnd(s.length+(4-s.length%4)%4,"="),n;try{let f=Buffer.from(a,"base64").toString("utf8");if(Buffer.from(f,"utf8").toString("base64").replace(/=+$/,"")!==s.replace(/=+$/,""))throw new Error("Non-canonical Base64");n=JSON.parse(f)}catch{throw new Error("Login callback payload cannot be decoded.")}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Login callback payload must contain a JSON object.");let l=n;return{token:typeof l.token=="string"?l.token:void 0,state:typeof l.state=="string"?l.state:void 0,openId:typeof l.openId=="string"?l.openId:void 0,expired:typeof l.expired=="number"?l.expired:void 0,loginType:"dingtalk"}}async processLogin(t){let r=t.token;if(!r)throw new Error("Login payload missing token field.");if(this.options.state&&(!t.state||t.state!==this.options.state))throw new Error("Login state mismatch. Possible CSRF or stale login page.");if(t.expired!=null){if(!Number.isSafeInteger(t.expired)||t.expired<=0)throw new Error("Login token expiration is invalid.");if(t.expired<=Math.floor(Date.now()/1e3))throw new Error("Login Tenant Token has expired.")}this.processing=!0;let s=t.loginType||t.provider,a;s==="dingtalk"?a={Token:r}:a=await Coe(r);let n=a;s&&(n={...a,loginType:s},t.corpId&&(n.corpId=t.corpId),t.corpName&&(n.corpName=t.corpName),t.openId&&(n.openId=t.openId),t.expired!=null&&(n.expired=t.expired)),await BS("eo_token",n);let l=t.region||this.options.region;if(l&&await BS("login_region",l),this.options.local)try{qS({token:a.Token,region:l})}catch(f){let m=`Failed to write <cwd>/.edgeone/auth.json: ${f instanceof Error?f.message:String(f)}`;throw Dt(`[pages-login] ${m}`),new Error(m)}}readJsonPayload(t){return new Promise((r,s)=>{let a="",n=0,l=!1;t.setEncoding("utf8"),t.on("data",f=>{if(!l){if(n+=Buffer.byteLength(f),n>D0t){l=!0,s(new Error("Request body is too large"));return}a+=f}}),t.on("end",()=>{if(!l)try{let f=JSON.parse(a||"{}");if(!f||typeof f!="object"||Array.isArray(f))throw new Error("Request body must be a JSON object");r(f)}catch(f){s(f instanceof Error?f:new Error("Invalid JSON body"))}}),t.on("error",s)})}isAllowedOrigin(t){return I0t.has(t)||t===`http://127.0.0.1:${this.port}`||t===`http://localhost:${this.port}`}setCorsHeaders(t,r,s){r.setHeader("Access-Control-Allow-Origin",s),r.setHeader("Vary","Origin"),r.setHeader("Access-Control-Allow-Methods","POST, OPTIONS"),r.setHeader("Access-Control-Allow-Headers","Content-Type"),r.setHeader("Access-Control-Max-Age","600"),t.headers["access-control-request-private-network"]==="true"&&r.setHeader("Access-Control-Allow-Private-Network","true")}sendJson(t,r,s,a){t.writeHead(r,{"Content-Type":"application/json; charset=utf-8"}),t.end(JSON.stringify(s),a)}sendMethodNotAllowed(t){t.writeHead(405,{"Content-Type":"text/plain; charset=utf-8",Allow:"GET, POST, OPTIONS"}),t.end("Only GET, POST and OPTIONS /pages/connect are supported")}handleError(t){t.code==="EADDRINUSE"?(console.log(`Port ${this.port} is already in use`),this.rejectReady(new Error(`Port ${this.port} is already in use`))):(console.error("An error occurred:",t),this.rejectReady(t)),this.completed||(this.completed=!0,this.resolveResult({success:!1,message:""}))}finish(t){var r,s;this.completed||(this.completed=!0,this.processing=!1,this.resolveResult(t),t.success&&((s=(r=this.options).callback)==null||s.call(r)),this.closeServer())}closeServer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.server.listening&&this.server.close()}}});var Uoe=J((JD,qoe)=>{(function(e,t){typeof JD=="object"&&typeof qoe<"u"?t(JD):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.async={}))})(JD,function(e){"use strict";function t(ue,...Z){return(...ae)=>ue(...Z,...ae)}function r(ue){return function(...Z){var ae=Z.pop();return ue.call(this,Z,ae)}}var s=typeof queueMicrotask=="function"&&queueMicrotask,a=typeof setImmediate=="function"&&setImmediate,n=typeof process=="object"&&typeof process.nextTick=="function";function l(ue){setTimeout(ue,0)}function f(ue){return(Z,...ae)=>ue(()=>Z(...ae))}var m;s?m=queueMicrotask:a?m=setImmediate:n?m=process.nextTick:m=l;var y=f(m);function v(ue){return k(ue)?function(...Z){let ae=Z.pop(),Me=ue.apply(this,Z);return b(Me,ae)}:r(function(Z,ae){var Me;try{Me=ue.apply(this,Z)}catch(it){return ae(it)}if(Me&&typeof Me.then=="function")return b(Me,ae);ae(null,Me)})}function b(ue,Z){return ue.then(ae=>{P(Z,null,ae)},ae=>{P(Z,ae&&(ae instanceof Error||ae.message)?ae:new Error(ae))})}function P(ue,Z,ae){try{ue(Z,ae)}catch(Me){y(it=>{throw it},Me)}}function k(ue){return ue[Symbol.toStringTag]==="AsyncFunction"}function g(ue){return ue[Symbol.toStringTag]==="AsyncGenerator"}function B(ue){return typeof ue[Symbol.asyncIterator]=="function"}function F(ue){if(typeof ue!="function")throw new Error("expected a function");return k(ue)?v(ue):ue}function M(ue,Z){if(Z||(Z=ue.length),!Z)throw new Error("arity is undefined");function ae(...Me){return typeof Me[Z-1]=="function"?ue.apply(this,Me):new Promise((it,Xe)=>{Me[Z-1]=(gt,...St)=>{if(gt)return Xe(gt);it(St.length>1?St:St[0])},ue.apply(this,Me)})}return ae}function G(ue){return function(ae,...Me){return M(function(Xe){var gt=this;return ue(ae,(St,Vt)=>{F(St).apply(gt,Me.concat(Vt))},Xe)})}}function oe(ue,Z,ae,Me){Z=Z||[];var it=[],Xe=0,gt=F(ae);return ue(Z,(St,Vt,_r)=>{var An=Xe++;gt(St,(ti,Nn)=>{it[An]=Nn,_r(ti)})},St=>{Me(St,it)})}function te(ue){return ue&&typeof ue.length=="number"&&ue.length>=0&&ue.length%1===0}let me={};function Ce(ue){function Z(...ae){if(ue!==null){var Me=ue;ue=null,Me.apply(this,ae)}}return Object.assign(Z,ue),Z}function Ie(ue){return ue[Symbol.iterator]&&ue[Symbol.iterator]()}function Ve(ue){var Z=-1,ae=ue.length;return function(){return++Z<ae?{value:ue[Z],key:Z}:null}}function Re(ue){var Z=-1;return function(){var Me=ue.next();return Me.done?null:(Z++,{value:Me.value,key:Z})}}function Ct(ue){var Z=ue?Object.keys(ue):[],ae=-1,Me=Z.length;return function it(){var Xe=Z[++ae];return Xe==="__proto__"?it():ae<Me?{value:ue[Xe],key:Xe}:null}}function ct(ue){if(te(ue))return Ve(ue);var Z=Ie(ue);return Z?Re(Z):Ct(ue)}function ot(ue){return function(...Z){if(ue===null)throw new Error("Callback was already called.");var ae=ue;ue=null,ae.apply(this,Z)}}function je(ue,Z,ae,Me){let it=!1,Xe=!1,gt=!1,St=0,Vt=0;function _r(){St>=Z||gt||it||(gt=!0,ue.next().then(({value:Nn,done:Ba})=>{if(!(Xe||it)){if(gt=!1,Ba){it=!0,St<=0&&Me(null);return}St++,ae(Nn,Vt,An),Vt++,_r()}}).catch(ti))}function An(Nn,Ba){if(St-=1,!Xe){if(Nn)return ti(Nn);if(Nn===!1){it=!0,Xe=!0;return}if(Ba===me||it&&St<=0)return it=!0,Me(null);_r()}}function ti(Nn){Xe||(gt=!1,it=!0,Me(Nn))}_r()}var se=ue=>(Z,ae,Me)=>{if(Me=Ce(Me),ue<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!Z)return Me(null);if(g(Z))return je(Z,ue,ae,Me);if(B(Z))return je(Z[Symbol.asyncIterator](),ue,ae,Me);var it=ct(Z),Xe=!1,gt=!1,St=0,Vt=!1;function _r(ti,Nn){if(!gt)if(St-=1,ti)Xe=!0,Me(ti);else if(ti===!1)Xe=!0,gt=!0;else{if(Nn===me||Xe&&St<=0)return Xe=!0,Me(null);Vt||An()}}function An(){for(Vt=!0;St<ue&&!Xe;){var ti=it();if(ti===null){Xe=!0,St<=0&&Me(null);return}St+=1,ae(ti.value,ti.key,ot(_r))}Vt=!1}An()};function De(ue,Z,ae,Me){return se(Z)(ue,F(ae),Me)}var ze=M(De,4);function _e(ue,Z,ae){ae=Ce(ae);var Me=0,it=0,{length:Xe}=ue,gt=!1;Xe===0&&ae(null);function St(Vt,_r){Vt===!1&&(gt=!0),gt!==!0&&(Vt?ae(Vt):(++it===Xe||_r===me)&&ae(null))}for(;Me<Xe;Me++)Z(ue[Me],Me,ot(St))}function Ee(ue,Z,ae){return ze(ue,1/0,Z,ae)}function Fe(ue,Z,ae){var Me=te(ue)?_e:Ee;return Me(ue,F(Z),ae)}var nt=M(Fe,3);function vt(ue,Z,ae){return oe(nt,ue,Z,ae)}var jt=M(vt,3),Ye=G(jt);function At(ue,Z,ae){return ze(ue,1,Z,ae)}var Ae=M(At,3);function Ze(ue,Z,ae){return oe(Ae,ue,Z,ae)}var lt=M(Ze,3),Ut=G(lt);let Tt=Symbol("promiseCallback");function ft(){let ue,Z;function ae(Me,...it){if(Me)return Z(Me);ue(it.length>1?it:it[0])}return ae[Tt]=new Promise((Me,it)=>{ue=Me,Z=it}),ae}function mt(ue,Z,ae){typeof Z!="number"&&(ae=Z,Z=null),ae=Ce(ae||ft());var Me=Object.keys(ue).length;if(!Me)return ae(null);Z||(Z=Me);var it={},Xe=0,gt=!1,St=!1,Vt=Object.create(null),_r=[],An=[],ti={};Object.keys(ue).forEach(Nr=>{var rn=ue[Nr];if(!Array.isArray(rn)){Nn(Nr,[rn]),An.push(Nr);return}var ri=rn.slice(0,rn.length-1),Ii=ri.length;if(Ii===0){Nn(Nr,rn),An.push(Nr);return}ti[Nr]=Ii,ri.forEach(Ks=>{if(!ue[Ks])throw new Error("async.auto task `"+Nr+"` has a non-existent dependency `"+Ks+"` in "+ri.join(", "));Ul(Ks,()=>{Ii--,Ii===0&&Nn(Nr,rn)})})}),ui(),Ba();function Nn(Nr,rn){_r.push(()=>No(Nr,rn))}function Ba(){if(!gt){if(_r.length===0&&Xe===0)return ae(null,it);for(;_r.length&&Xe<Z;){var Nr=_r.shift();Nr()}}}function Ul(Nr,rn){var ri=Vt[Nr];ri||(ri=Vt[Nr]=[]),ri.push(rn)}function xa(Nr){var rn=Vt[Nr]||[];rn.forEach(ri=>ri()),Ba()}function No(Nr,rn){if(!St){var ri=ot((Ks,..._o)=>{if(Xe--,Ks===!1){gt=!0;return}if(_o.length<2&&([_o]=_o),Ks){var bc={};if(Object.keys(it).forEach(no=>{bc[no]=it[no]}),bc[Nr]=_o,St=!0,Vt=Object.create(null),gt)return;ae(Ks,bc)}else it[Nr]=_o,xa(Nr)});Xe++;var Ii=F(rn[rn.length-1]);rn.length>1?Ii(it,ri):Ii(ri)}}function ui(){for(var Nr,rn=0;An.length;)Nr=An.pop(),rn++,on(Nr).forEach(ri=>{--ti[ri]===0&&An.push(ri)});if(rn!==Me)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}function on(Nr){var rn=[];return Object.keys(ue).forEach(ri=>{let Ii=ue[ri];Array.isArray(Ii)&&Ii.indexOf(Nr)>=0&&rn.push(ri)}),rn}return ae[Tt]}var C=/^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/,kt=/^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/,Yt=/,/,Jr=/(=.+)?(\s*)$/;function _t(ue){let Z="",ae=0,Me=ue.indexOf("*/");for(;ae<ue.length;)if(ue[ae]==="/"&&ue[ae+1]==="/"){let it=ue.indexOf(`
1134
+ </html>`}});var Boe,A0t,D0t,k0t,I0t,YD,joe=ht(()=>{Boe=Lt(require("http"));ch();KD();Moe();ua();A0t=60*60*1e3,D0t=64*1024,k0t=16*1024,I0t=new Set(["https://edgeone.cloud.tencent.com","https://edgeone.tencentcloud.com","https://edgeone.ai","https://pre.edgeone.ai"]),YD=class{options;port;server;readyPromise;resultPromise;resolveReady;rejectReady;resolveResult;timeoutHandle;completed=!1;processing=!1;constructor(t){this.options=t,this.port=t.port||1025,this.readyPromise=new Promise((r,s)=>{this.resolveReady=r,this.rejectReady=s}),this.resultPromise=new Promise(r=>{this.resolveResult=r}),this.timeoutHandle=setTimeout(()=>{this.completed||(this.completed=!0,this.processing=!1,this.resolveResult({success:!1,message:""}),this.closeServer())},t.timeoutMs||A0t),this.server=Boe.default.createServer(this.handleRequest.bind(this)),this.server.on("error",this.handleError.bind(this)),this.server.listen(this.port,"127.0.0.1",()=>{this.resolveReady()})}waitUntilReady(){return this.readyPromise}waitForResult(){return this.resultPromise}async handleRequest(t,r){let s=new URL(t.url||"/",`http://127.0.0.1:${this.port}`);if(s.pathname!==G6){this.sendMethodNotAllowed(r);return}if(t.method==="OPTIONS"){this.handlePreflight(t,r);return}if(t.method==="POST"){await this.handlePost(t,r);return}if(t.method==="GET"){if(!s.search){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Loe({region:this.options.region}));return}await this.handleGet(s,r);return}this.sendMethodNotAllowed(r)}handlePreflight(t,r){let s=t.headers.origin;if(!s||!this.isAllowedOrigin(s)){r.writeHead(403,{"Content-Type":"text/plain; charset=utf-8"}),r.end("Origin is not allowed");return}this.setCorsHeaders(t,r,s),r.writeHead(204),r.end()}async handlePost(t,r){let s=t.headers.origin;if(s&&!this.isAllowedOrigin(s)){r.writeHead(403,{"Content-Type":"application/json; charset=utf-8"}),r.end(JSON.stringify({code:403,success:!1,message:"Origin is not allowed"}));return}if(s&&this.setCorsHeaders(t,r,s),!String(t.headers["content-type"]||"").toLowerCase().startsWith("application/json")){this.sendJson(r,415,{code:415,success:!1,message:"Content-Type must be application/json"});return}let a;try{a=await this.readJsonPayload(t)}catch(n){let l=n instanceof Error?n.message:"Invalid request body";this.sendJson(r,l==="Request body is too large"?413:400,{code:l==="Request body is too large"?413:400,success:!1,message:l});return}if(this.completed||this.processing){this.sendJson(r,200,{code:0,success:!0,message:"Login request already accepted"});return}try{await this.processLogin(a),this.sendJson(r,200,{code:0,success:!0,message:"Login success"},()=>{this.finish({success:!0,message:"Login success"})})}catch(n){let l=n instanceof Error?n.message:String(n);Dt(`[pages-login] token exchange failed: ${l}`),this.sendJson(r,400,{code:400,success:!1,message:l},()=>{this.finish({success:!1,message:l})})}}async handleGet(t,r){let a=t.searchParams.get("region")||this.options.region;if(this.completed||this.processing){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"success"}));return}let n;try{n=this.parseGetPayload(t)}catch(l){let f=l instanceof Error?l.message:String(l);Dt(`[pages-login] invalid callback payload: ${f}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"error",message:f}),()=>{this.finish({success:!1,message:f})});return}try{await this.processLogin(n),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"success"}),()=>{this.finish({success:!0,message:"Login success"})})}catch(l){let f=l instanceof Error?l.message:String(l);Dt(`[pages-login] token exchange failed: ${f}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(Dw({region:a,status:"error",message:f}),()=>{this.finish({success:!1,message:f})})}}parseGetPayload(t){let r=t.searchParams,s=r.get("__eo_sso_cb");if(s)return this.decodeTenantCallback(s);let a={token:r.get("token")||void 0,state:r.get("state")||void 0,loginType:r.get("loginType")||void 0,provider:r.get("provider")||void 0,corpId:r.get("corpId")||void 0,corpName:r.get("corpName")||void 0,region:r.get("region")||void 0,openId:r.get("openId")||void 0,expired:r.get("expired")?Number(r.get("expired")):void 0};if(a.token)return a;let n=t.search.slice(1),f=r.get("payload")||(n&&!n.includes("&")&&!/^(token|state|loginType|provider|corpId|corpName|region|openId|expired|__eo_sso_cb)=/.test(n)?n:"");return f?this.decodeTenantCallback(f):a}decodeTenantCallback(t){let r;try{r=decodeURIComponent(t)}catch{throw new Error("Login callback payload is not valid URL encoding.")}if(Buffer.byteLength(r,"utf8")>k0t)throw new Error("Login callback payload is too large.");let s=r.replace(/-/g,"+").replace(/_/g,"/");if(!/^[A-Za-z0-9+/]*={0,2}$/.test(s)||s.length%4===1)throw new Error("Login callback payload is not valid Base64.");let a=s.padEnd(s.length+(4-s.length%4)%4,"="),n;try{let f=Buffer.from(a,"base64").toString("utf8");if(Buffer.from(f,"utf8").toString("base64").replace(/=+$/,"")!==s.replace(/=+$/,""))throw new Error("Non-canonical Base64");n=JSON.parse(f)}catch{throw new Error("Login callback payload cannot be decoded.")}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Login callback payload must contain a JSON object.");let l=n;return{token:typeof l.token=="string"?l.token:void 0,state:typeof l.state=="string"?l.state:void 0,openId:typeof l.openId=="string"?l.openId:void 0,expired:typeof l.expired=="number"?l.expired:void 0,loginType:"dingtalk"}}async processLogin(t){let r=t.token;if(!r)throw new Error("Login payload missing token field.");if(this.options.state&&(!t.state||t.state!==this.options.state))throw new Error("Login state mismatch. Possible CSRF or stale login page.");if(t.expired!=null){if(!Number.isSafeInteger(t.expired)||t.expired<=0)throw new Error("Login token expiration is invalid.");if(t.expired<=Math.floor(Date.now()/1e3))throw new Error("Login Tenant Token has expired.")}this.processing=!0;let s=t.region||this.options.region,a=t.loginType||t.provider,n;a==="dingtalk"?n={Token:r}:n=await Coe(r,s);let l=n;if(a&&(l={...n,loginType:a},t.corpId&&(l.corpId=t.corpId),t.corpName&&(l.corpName=t.corpName),t.openId&&(l.openId=t.openId),t.expired!=null&&(l.expired=t.expired)),await BS("eo_token",l),s&&await BS("login_region",s),this.options.local)try{qS({token:n.Token,region:s})}catch(f){let m=`Failed to write <cwd>/.edgeone/auth.json: ${f instanceof Error?f.message:String(f)}`;throw Dt(`[pages-login] ${m}`),new Error(m)}}readJsonPayload(t){return new Promise((r,s)=>{let a="",n=0,l=!1;t.setEncoding("utf8"),t.on("data",f=>{if(!l){if(n+=Buffer.byteLength(f),n>D0t){l=!0,s(new Error("Request body is too large"));return}a+=f}}),t.on("end",()=>{if(!l)try{let f=JSON.parse(a||"{}");if(!f||typeof f!="object"||Array.isArray(f))throw new Error("Request body must be a JSON object");r(f)}catch(f){s(f instanceof Error?f:new Error("Invalid JSON body"))}}),t.on("error",s)})}isAllowedOrigin(t){return I0t.has(t)||t===`http://127.0.0.1:${this.port}`||t===`http://localhost:${this.port}`}setCorsHeaders(t,r,s){r.setHeader("Access-Control-Allow-Origin",s),r.setHeader("Vary","Origin"),r.setHeader("Access-Control-Allow-Methods","POST, OPTIONS"),r.setHeader("Access-Control-Allow-Headers","Content-Type"),r.setHeader("Access-Control-Max-Age","600"),t.headers["access-control-request-private-network"]==="true"&&r.setHeader("Access-Control-Allow-Private-Network","true")}sendJson(t,r,s,a){t.writeHead(r,{"Content-Type":"application/json; charset=utf-8"}),t.end(JSON.stringify(s),a)}sendMethodNotAllowed(t){t.writeHead(405,{"Content-Type":"text/plain; charset=utf-8",Allow:"GET, POST, OPTIONS"}),t.end("Only GET, POST and OPTIONS /pages/connect are supported")}handleError(t){t.code==="EADDRINUSE"?(console.log(`Port ${this.port} is already in use`),this.rejectReady(new Error(`Port ${this.port} is already in use`))):(console.error("An error occurred:",t),this.rejectReady(t)),this.completed||(this.completed=!0,this.resolveResult({success:!1,message:""}))}finish(t){var r,s;this.completed||(this.completed=!0,this.processing=!1,this.resolveResult(t),t.success&&((s=(r=this.options).callback)==null||s.call(r)),this.closeServer())}closeServer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.server.listening&&this.server.close()}}});var Uoe=J((JD,qoe)=>{(function(e,t){typeof JD=="object"&&typeof qoe<"u"?t(JD):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.async={}))})(JD,function(e){"use strict";function t(ue,...Z){return(...ae)=>ue(...Z,...ae)}function r(ue){return function(...Z){var ae=Z.pop();return ue.call(this,Z,ae)}}var s=typeof queueMicrotask=="function"&&queueMicrotask,a=typeof setImmediate=="function"&&setImmediate,n=typeof process=="object"&&typeof process.nextTick=="function";function l(ue){setTimeout(ue,0)}function f(ue){return(Z,...ae)=>ue(()=>Z(...ae))}var m;s?m=queueMicrotask:a?m=setImmediate:n?m=process.nextTick:m=l;var y=f(m);function v(ue){return k(ue)?function(...Z){let ae=Z.pop(),Me=ue.apply(this,Z);return b(Me,ae)}:r(function(Z,ae){var Me;try{Me=ue.apply(this,Z)}catch(it){return ae(it)}if(Me&&typeof Me.then=="function")return b(Me,ae);ae(null,Me)})}function b(ue,Z){return ue.then(ae=>{P(Z,null,ae)},ae=>{P(Z,ae&&(ae instanceof Error||ae.message)?ae:new Error(ae))})}function P(ue,Z,ae){try{ue(Z,ae)}catch(Me){y(it=>{throw it},Me)}}function k(ue){return ue[Symbol.toStringTag]==="AsyncFunction"}function g(ue){return ue[Symbol.toStringTag]==="AsyncGenerator"}function B(ue){return typeof ue[Symbol.asyncIterator]=="function"}function F(ue){if(typeof ue!="function")throw new Error("expected a function");return k(ue)?v(ue):ue}function M(ue,Z){if(Z||(Z=ue.length),!Z)throw new Error("arity is undefined");function ae(...Me){return typeof Me[Z-1]=="function"?ue.apply(this,Me):new Promise((it,Xe)=>{Me[Z-1]=(gt,...St)=>{if(gt)return Xe(gt);it(St.length>1?St:St[0])},ue.apply(this,Me)})}return ae}function G(ue){return function(ae,...Me){return M(function(Xe){var gt=this;return ue(ae,(St,Vt)=>{F(St).apply(gt,Me.concat(Vt))},Xe)})}}function oe(ue,Z,ae,Me){Z=Z||[];var it=[],Xe=0,gt=F(ae);return ue(Z,(St,Vt,_r)=>{var An=Xe++;gt(St,(ti,Nn)=>{it[An]=Nn,_r(ti)})},St=>{Me(St,it)})}function te(ue){return ue&&typeof ue.length=="number"&&ue.length>=0&&ue.length%1===0}let me={};function Ce(ue){function Z(...ae){if(ue!==null){var Me=ue;ue=null,Me.apply(this,ae)}}return Object.assign(Z,ue),Z}function Ie(ue){return ue[Symbol.iterator]&&ue[Symbol.iterator]()}function Ve(ue){var Z=-1,ae=ue.length;return function(){return++Z<ae?{value:ue[Z],key:Z}:null}}function Re(ue){var Z=-1;return function(){var Me=ue.next();return Me.done?null:(Z++,{value:Me.value,key:Z})}}function Ct(ue){var Z=ue?Object.keys(ue):[],ae=-1,Me=Z.length;return function it(){var Xe=Z[++ae];return Xe==="__proto__"?it():ae<Me?{value:ue[Xe],key:Xe}:null}}function ct(ue){if(te(ue))return Ve(ue);var Z=Ie(ue);return Z?Re(Z):Ct(ue)}function ot(ue){return function(...Z){if(ue===null)throw new Error("Callback was already called.");var ae=ue;ue=null,ae.apply(this,Z)}}function je(ue,Z,ae,Me){let it=!1,Xe=!1,gt=!1,St=0,Vt=0;function _r(){St>=Z||gt||it||(gt=!0,ue.next().then(({value:Nn,done:Ba})=>{if(!(Xe||it)){if(gt=!1,Ba){it=!0,St<=0&&Me(null);return}St++,ae(Nn,Vt,An),Vt++,_r()}}).catch(ti))}function An(Nn,Ba){if(St-=1,!Xe){if(Nn)return ti(Nn);if(Nn===!1){it=!0,Xe=!0;return}if(Ba===me||it&&St<=0)return it=!0,Me(null);_r()}}function ti(Nn){Xe||(gt=!1,it=!0,Me(Nn))}_r()}var se=ue=>(Z,ae,Me)=>{if(Me=Ce(Me),ue<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!Z)return Me(null);if(g(Z))return je(Z,ue,ae,Me);if(B(Z))return je(Z[Symbol.asyncIterator](),ue,ae,Me);var it=ct(Z),Xe=!1,gt=!1,St=0,Vt=!1;function _r(ti,Nn){if(!gt)if(St-=1,ti)Xe=!0,Me(ti);else if(ti===!1)Xe=!0,gt=!0;else{if(Nn===me||Xe&&St<=0)return Xe=!0,Me(null);Vt||An()}}function An(){for(Vt=!0;St<ue&&!Xe;){var ti=it();if(ti===null){Xe=!0,St<=0&&Me(null);return}St+=1,ae(ti.value,ti.key,ot(_r))}Vt=!1}An()};function De(ue,Z,ae,Me){return se(Z)(ue,F(ae),Me)}var ze=M(De,4);function _e(ue,Z,ae){ae=Ce(ae);var Me=0,it=0,{length:Xe}=ue,gt=!1;Xe===0&&ae(null);function St(Vt,_r){Vt===!1&&(gt=!0),gt!==!0&&(Vt?ae(Vt):(++it===Xe||_r===me)&&ae(null))}for(;Me<Xe;Me++)Z(ue[Me],Me,ot(St))}function Ee(ue,Z,ae){return ze(ue,1/0,Z,ae)}function Fe(ue,Z,ae){var Me=te(ue)?_e:Ee;return Me(ue,F(Z),ae)}var nt=M(Fe,3);function vt(ue,Z,ae){return oe(nt,ue,Z,ae)}var jt=M(vt,3),Ye=G(jt);function At(ue,Z,ae){return ze(ue,1,Z,ae)}var Ae=M(At,3);function Ze(ue,Z,ae){return oe(Ae,ue,Z,ae)}var lt=M(Ze,3),Ut=G(lt);let Tt=Symbol("promiseCallback");function ft(){let ue,Z;function ae(Me,...it){if(Me)return Z(Me);ue(it.length>1?it:it[0])}return ae[Tt]=new Promise((Me,it)=>{ue=Me,Z=it}),ae}function mt(ue,Z,ae){typeof Z!="number"&&(ae=Z,Z=null),ae=Ce(ae||ft());var Me=Object.keys(ue).length;if(!Me)return ae(null);Z||(Z=Me);var it={},Xe=0,gt=!1,St=!1,Vt=Object.create(null),_r=[],An=[],ti={};Object.keys(ue).forEach(Nr=>{var rn=ue[Nr];if(!Array.isArray(rn)){Nn(Nr,[rn]),An.push(Nr);return}var ri=rn.slice(0,rn.length-1),Ii=ri.length;if(Ii===0){Nn(Nr,rn),An.push(Nr);return}ti[Nr]=Ii,ri.forEach(Ks=>{if(!ue[Ks])throw new Error("async.auto task `"+Nr+"` has a non-existent dependency `"+Ks+"` in "+ri.join(", "));Ul(Ks,()=>{Ii--,Ii===0&&Nn(Nr,rn)})})}),ui(),Ba();function Nn(Nr,rn){_r.push(()=>No(Nr,rn))}function Ba(){if(!gt){if(_r.length===0&&Xe===0)return ae(null,it);for(;_r.length&&Xe<Z;){var Nr=_r.shift();Nr()}}}function Ul(Nr,rn){var ri=Vt[Nr];ri||(ri=Vt[Nr]=[]),ri.push(rn)}function xa(Nr){var rn=Vt[Nr]||[];rn.forEach(ri=>ri()),Ba()}function No(Nr,rn){if(!St){var ri=ot((Ks,..._o)=>{if(Xe--,Ks===!1){gt=!0;return}if(_o.length<2&&([_o]=_o),Ks){var bc={};if(Object.keys(it).forEach(no=>{bc[no]=it[no]}),bc[Nr]=_o,St=!0,Vt=Object.create(null),gt)return;ae(Ks,bc)}else it[Nr]=_o,xa(Nr)});Xe++;var Ii=F(rn[rn.length-1]);rn.length>1?Ii(it,ri):Ii(ri)}}function ui(){for(var Nr,rn=0;An.length;)Nr=An.pop(),rn++,on(Nr).forEach(ri=>{--ti[ri]===0&&An.push(ri)});if(rn!==Me)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}function on(Nr){var rn=[];return Object.keys(ue).forEach(ri=>{let Ii=ue[ri];Array.isArray(Ii)&&Ii.indexOf(Nr)>=0&&rn.push(ri)}),rn}return ae[Tt]}var C=/^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/,kt=/^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/,Yt=/,/,Jr=/(=.+)?(\s*)$/;function _t(ue){let Z="",ae=0,Me=ue.indexOf("*/");for(;ae<ue.length;)if(ue[ae]==="/"&&ue[ae+1]==="/"){let it=ue.indexOf(`
1135
1135
  `,ae);ae=it===-1?ue.length:it}else if(Me!==-1&&ue[ae]==="/"&&ue[ae+1]==="*"){let it=ue.indexOf("*/",ae);it!==-1?(ae=it+2,Me=ue.indexOf("*/",ae)):(Z+=ue[ae],ae++)}else Z+=ue[ae],ae++;return Z}function bt(ue){let Z=_t(ue.toString()),ae=Z.match(C);if(ae||(ae=Z.match(kt)),!ae)throw new Error(`could not parse args in autoInject
1136
1136
  Source:
1137
1137
  `+Z);let[,Me]=ae;return Me.replace(/\s/g,"").split(Yt).map(it=>it.replace(Jr,"").trim())}function tr(ue,Z){var ae={};return Object.keys(ue).forEach(Me=>{var it=ue[Me],Xe,gt=k(it),St=!gt&&it.length===1||gt&&it.length===0;if(Array.isArray(it))Xe=[...it],it=Xe.pop(),ae[Me]=Xe.concat(Xe.length>0?Vt:it);else if(St)ae[Me]=it;else{if(Xe=bt(it),it.length===0&&!gt&&Xe.length===0)throw new Error("autoInject task functions require explicit parameters.");gt||Xe.pop(),ae[Me]=Xe.concat(Vt)}function Vt(_r,An){var ti=Xe.map(Nn=>_r[Nn]);ti.push(An),F(it)(...ti)}}),mt(ae,Z)}class ge{constructor(){this.head=this.tail=null,this.length=0}removeLink(Z){return Z.prev?Z.prev.next=Z.next:this.head=Z.next,Z.next?Z.next.prev=Z.prev:this.tail=Z.prev,Z.prev=Z.next=null,this.length-=1,Z}empty(){for(;this.head;)this.shift();return this}insertAfter(Z,ae){ae.prev=Z,ae.next=Z.next,Z.next?Z.next.prev=ae:this.tail=ae,Z.next=ae,this.length+=1}insertBefore(Z,ae){ae.prev=Z.prev,ae.next=Z,Z.prev?Z.prev.next=ae:this.head=ae,Z.prev=ae,this.length+=1}unshift(Z){this.head?this.insertBefore(this.head,Z):Je(this,Z)}push(Z){this.tail?this.insertAfter(this.tail,Z):Je(this,Z)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var Z=this.head;Z;)yield Z.data,Z=Z.next}remove(Z){for(var ae=this.head;ae;){var{next:Me}=ae;Z(ae)&&this.removeLink(ae),ae=Me}return this}}function Je(ue,Z){ue.length=1,ue.head=ue.tail=Z}function $t(ue,Z,ae){if(Z==null)Z=1;else if(Z===0)throw new RangeError("Concurrency must not be zero");var Me=F(ue),it=0,Xe=[];let gt={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function St(on,Nr){gt[on].push(Nr)}function Vt(on,Nr){let rn=(...ri)=>{_r(on,rn),Nr(...ri)};gt[on].push(rn)}function _r(on,Nr){if(!on)return Object.keys(gt).forEach(rn=>gt[rn]=[]);if(!Nr)return gt[on]=[];gt[on]=gt[on].filter(rn=>rn!==Nr)}function An(on,...Nr){gt[on].forEach(rn=>rn(...Nr))}var ti=!1;function Nn(on,Nr,rn,ri){if(ri!=null&&typeof ri!="function")throw new Error("task callback must be a function");ui.started=!0;var Ii,Ks;function _o(no,...ja){if(no)return rn?Ks(no):Ii();if(ja.length<=1)return Ii(ja[0]);Ii(ja)}var bc=ui._createTaskItem(on,rn?_o:ri||_o);if(Nr?ui._tasks.unshift(bc):ui._tasks.push(bc),ti||(ti=!0,y(()=>{ti=!1,ui.process()})),rn||!ri)return new Promise((no,ja)=>{Ii=no,Ks=ja})}function Ba(on){return function(Nr,...rn){it-=1;for(var ri=0,Ii=on.length;ri<Ii;ri++){var Ks=on[ri],_o=Xe.indexOf(Ks);_o===0?Xe.shift():_o>0&&Xe.splice(_o,1),Ks.callback(Nr,...rn),Nr!=null&&An("error",Nr,Ks.data)}it<=ui.concurrency-ui.buffer&&An("unsaturated"),ui.idle()&&An("drain"),ui.process()}}function Ul(on){return on.length===0&&ui.idle()?(y(()=>An("drain")),!0):!1}let xa=on=>Nr=>{if(!Nr)return new Promise((rn,ri)=>{Vt(on,(Ii,Ks)=>{if(Ii)return ri(Ii);rn(Ks)})});_r(on),St(on,Nr)};var No=!1,ui={_tasks:new ge,_createTaskItem(on,Nr){return{data:on,callback:Nr}},*[Symbol.iterator](){yield*ui._tasks[Symbol.iterator]()},concurrency:Z,payload:ae,buffer:Z/4,started:!1,paused:!1,push(on,Nr){return Array.isArray(on)?Ul(on)?void 0:on.map(rn=>Nn(rn,!1,!1,Nr)):Nn(on,!1,!1,Nr)},pushAsync(on,Nr){return Array.isArray(on)?Ul(on)?void 0:on.map(rn=>Nn(rn,!1,!0,Nr)):Nn(on,!1,!0,Nr)},kill(){_r(),ui._tasks.empty()},unshift(on,Nr){return Array.isArray(on)?Ul(on)?void 0:on.map(rn=>Nn(rn,!0,!1,Nr)):Nn(on,!0,!1,Nr)},unshiftAsync(on,Nr){return Array.isArray(on)?Ul(on)?void 0:on.map(rn=>Nn(rn,!0,!0,Nr)):Nn(on,!0,!0,Nr)},remove(on){ui._tasks.remove(on)},process(){if(!No){for(No=!0;!ui.paused&&it<ui.concurrency&&ui._tasks.length;){var on=[],Nr=[],rn=ui._tasks.length;ui.payload&&(rn=Math.min(rn,ui.payload));for(var ri=0;ri<rn;ri++){var Ii=ui._tasks.shift();on.push(Ii),Xe.push(Ii),Nr.push(Ii.data)}it+=1,ui._tasks.length===0&&An("empty"),it===ui.concurrency&&An("saturated");var Ks=ot(Ba(on));Me(Nr,Ks)}No=!1}},length(){return ui._tasks.length},running(){return it},workersList(){return Xe},idle(){return ui._tasks.length+it===0},pause(){ui.paused=!0},resume(){ui.paused!==!1&&(ui.paused=!1,y(ui.process))}};return Object.defineProperties(ui,{saturated:{writable:!1,value:xa("saturated")},unsaturated:{writable:!1,value:xa("unsaturated")},empty:{writable:!1,value:xa("empty")},drain:{writable:!1,value:xa("drain")},error:{writable:!1,value:xa("error")}}),ui}function rr(ue,Z){return $t(ue,1,Z)}function $r(ue,Z,ae){return $t(ue,Z,ae)}function Vr(ue,Z,ae,Me){Me=Ce(Me);var it=F(ae);return Ae(ue,(Xe,gt,St)=>{it(Z,Xe,(Vt,_r)=>{Z=_r,St(Vt)})},Xe=>Me(Xe,Z))}var Hn=M(Vr,4);function jn(...ue){var Z=ue.map(F);return function(...ae){var Me=this,it=ae[ae.length-1];return typeof it=="function"?ae.pop():it=ft(),Hn(Z,ae,(Xe,gt,St)=>{gt.apply(Me,Xe.concat((Vt,..._r)=>{St(Vt,_r)}))},(Xe,gt)=>it(Xe,...gt)),it[Tt]}}function ei(...ue){return jn(...ue.reverse())}function En(ue,Z,ae,Me){return oe(se(Z),ue,ae,Me)}var $o=M(En,4);function Qo(ue,Z,ae,Me){var it=F(ae);return $o(ue,Z,(Xe,gt)=>{it(Xe,(St,...Vt)=>St?gt(St):gt(St,Vt))},(Xe,gt)=>{for(var St=[],Vt=0;Vt<gt.length;Vt++)gt[Vt]&&(St=St.concat(...gt[Vt]));return Me(Xe,St)})}var ps=M(Qo,4);function Vo(ue,Z,ae){return ps(ue,1/0,Z,ae)}var Vu=M(Vo,3);function za(ue,Z,ae){return ps(ue,1,Z,ae)}var rt=M(za,3);function Ft(...ue){return function(...Z){var ae=Z.pop();return ae(null,...ue)}}function It(ue,Z){return(ae,Me,it,Xe)=>{var gt=!1,St;let Vt=F(it);ae(Me,(_r,An,ti)=>{Vt(_r,(Nn,Ba)=>{if(Nn||Nn===!1)return ti(Nn);if(ue(Ba)&&!St)return gt=!0,St=Z(!0,_r),ti(null,me);ti()})},_r=>{if(_r)return Xe(_r);Xe(null,gt?St:Z(!1))})}}function Xt(ue,Z,ae){return It(Me=>Me,(Me,it)=>it)(nt,ue,Z,ae)}var Ir=M(Xt,3);function xr(ue,Z,ae,Me){return It(it=>it,(it,Xe)=>Xe)(se(Z),ue,ae,Me)}var In=M(xr,4);function _i(ue,Z,ae){return It(Me=>Me,(Me,it)=>it)(se(1),ue,Z,ae)}var Mt=M(_i,3);function Ai(ue){return(Z,...ae)=>F(Z)(...ae,(Me,...it)=>{typeof console=="object"&&(Me?console.error&&console.error(Me):console[ue]&&it.forEach(Xe=>console[ue](Xe)))})}var Ps=Ai("dir");function Di(ue,Z,ae){ae=ot(ae);var Me=F(ue),it=F(Z),Xe;function gt(Vt,..._r){if(Vt)return ae(Vt);Vt!==!1&&(Xe=_r,it(..._r,St))}function St(Vt,_r){if(Vt)return ae(Vt);if(Vt!==!1){if(!_r)return ae(null,...Xe);Me(gt)}}return St(null,!0)}var Si=M(Di,3);function sn(ue,Z,ae){let Me=F(Z);return Si(ue,(...it)=>{let Xe=it.pop();Me(...it,(gt,St)=>Xe(gt,!St))},ae)}function Ws(ue){return(Z,ae,Me)=>ue(Z,Me)}function On(ue,Z,ae){return nt(ue,Ws(F(Z)),ae)}var Ss=M(On,3);function Hu(ue,Z,ae,Me){return se(Z)(ue,Ws(F(ae)),Me)}var to=M(Hu,4);function ur(ue,Z,ae){return to(ue,1,Z,ae)}var Ao=M(ur,3);function co(ue){return k(ue)?ue:function(...Z){var ae=Z.pop(),Me=!0;Z.push((...it)=>{Me?y(()=>ae(...it)):ae(...it)}),ue.apply(this,Z),Me=!1}}function Cs(ue,Z,ae){return It(Me=>!Me,Me=>!Me)(nt,ue,Z,ae)}var Do=M(Cs,3);function lo(ue,Z,ae,Me){return It(it=>!it,it=>!it)(se(Z),ue,ae,Me)}var js=M(lo,4);function Zc(ue,Z,ae){return It(Me=>!Me,Me=>!Me)(Ae,ue,Z,ae)}var fu=M(Zc,3);function Oa(ue,Z,ae,Me){var it=new Array(Z.length);ue(Z,(Xe,gt,St)=>{ae(Xe,(Vt,_r)=>{it[gt]=!!_r,St(Vt)})},Xe=>{if(Xe)return Me(Xe);for(var gt=[],St=0;St<Z.length;St++)it[St]&&gt.push(Z[St]);Me(null,gt)})}function Wu(ue,Z,ae,Me){var it=[];ue(Z,(Xe,gt,St)=>{ae(Xe,(Vt,_r)=>{if(Vt)return St(Vt);_r&&it.push({index:gt,value:Xe}),St(Vt)})},Xe=>{if(Xe)return Me(Xe);Me(null,it.sort((gt,St)=>gt.index-St.index).map(gt=>gt.value))})}function Fl(ue,Z,ae,Me){var it=te(Z)?Oa:Wu;return it(ue,Z,F(ae),Me)}function tn(ue,Z,ae){return Fl(nt,ue,Z,ae)}var vc=M(tn,3);function el(ue,Z,ae,Me){return Fl(se(Z),ue,ae,Me)}var du=M(el,4);function fs(ue,Z,ae){return Fl(Ae,ue,Z,ae)}var Ji=M(fs,3);function Bi(ue,Z){var ae=ot(Z),Me=F(co(ue));function it(Xe){if(Xe)return ae(Xe);Xe!==!1&&Me(it)}return it()}var zs=M(Bi,2);function ko(ue,Z,ae,Me){var it=F(ae);return $o(ue,Z,(Xe,gt)=>{it(Xe,(St,Vt)=>St?gt(St):gt(St,{key:Vt,val:Xe}))},(Xe,gt)=>{for(var St={},{hasOwnProperty:Vt}=Object.prototype,_r=0;_r<gt.length;_r++)if(gt[_r]){var{key:An}=gt[_r],{val:ti}=gt[_r];Vt.call(St,An)?St[An].push(ti):St[An]=[ti]}return Me(Xe,St)})}var Na=M(ko,4);function Zo(ue,Z,ae){return Na(ue,1/0,Z,ae)}function Io(ue,Z,ae){return Na(ue,1,Z,ae)}var Ll=Ai("log");function Z0(ue,Z,ae,Me){Me=Ce(Me);var it={},Xe=F(ae);return se(Z)(ue,(gt,St,Vt)=>{Xe(gt,St,(_r,An)=>{if(_r)return Vt(_r);it[St]=An,Vt(_r)})},gt=>Me(gt,it))}var kp=M(Z0,4);function Ml(ue,Z,ae){return kp(ue,1/0,Z,ae)}function ga(ue,Z,ae){return kp(ue,1,Z,ae)}function qt(ue,Z=ae=>ae){var ae=Object.create(null),Me=Object.create(null),it=F(ue),Xe=r((gt,St)=>{var Vt=Z(...gt);Vt in ae?y(()=>St(null,...ae[Vt])):Vt in Me?Me[Vt].push(St):(Me[Vt]=[St],it(...gt,(_r,...An)=>{_r||(ae[Vt]=An);var ti=Me[Vt];delete Me[Vt];for(var Nn=0,Ba=ti.length;Nn<Ba;Nn++)ti[Nn](_r,...An)}))});return Xe.memo=ae,Xe.unmemoized=ue,Xe}var hu;n?hu=process.nextTick:a?hu=setImmediate:hu=l;var em=f(hu),Ip=M((ue,Z,ae)=>{var Me=te(Z)?[]:{};ue(Z,(it,Xe,gt)=>{F(it)((St,...Vt)=>{Vt.length<2&&([Vt]=Vt),Me[Xe]=Vt,gt(St)})},it=>ae(it,Me))},3);function ns(ue,Z){return Ip(nt,ue,Z)}function xc(ue,Z,ae){return Ip(se(Z),ue,ae)}function Vh(ue,Z){var ae=F(ue);return $t((Me,it)=>{ae(Me[0],it)},Z,1)}class Sf{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(Z){let ae;for(;Z>0&&or(this.heap[Z],this.heap[ae=Od(Z)]);){let Me=this.heap[Z];this.heap[Z]=this.heap[ae],this.heap[ae]=Me,Z=ae}}percDown(Z){let ae;for(;(ae=tl(Z))<this.heap.length&&(ae+1<this.heap.length&&or(this.heap[ae+1],this.heap[ae])&&(ae=ae+1),!or(this.heap[Z],this.heap[ae]));){let Me=this.heap[Z];this.heap[Z]=this.heap[ae],this.heap[ae]=Me,Z=ae}}push(Z){Z.pushCount=++this.pushCount,this.heap.push(Z),this.percUp(this.heap.length-1)}unshift(Z){return this.heap.push(Z)}shift(){let[Z]=this.heap;return this.heap[0]=this.heap[this.heap.length-1],this.heap.pop(),this.percDown(0),Z}toArray(){return[...this]}*[Symbol.iterator](){for(let Z=0;Z<this.heap.length;Z++)yield this.heap[Z].data}remove(Z){let ae=0;for(let Me=0;Me<this.heap.length;Me++)Z(this.heap[Me])||(this.heap[ae]=this.heap[Me],ae++);this.heap.splice(ae);for(let Me=Od(this.heap.length-1);Me>=0;Me--)this.percDown(Me);return this}}function tl(ue){return(ue<<1)+1}function Od(ue){return(ue+1>>1)-1}function or(ue,Z){return ue.priority!==Z.priority?ue.priority<Z.priority:ue.pushCount<Z.pushCount}function ji(ue,Z){var ae=Vh(ue,Z),{push:Me,pushAsync:it}=ae;ae._tasks=new Sf,ae._createTaskItem=({data:gt,priority:St},Vt)=>({data:gt,priority:St,callback:Vt});function Xe(gt,St){return Array.isArray(gt)?gt.map(Vt=>({data:Vt,priority:St})):{data:gt,priority:St}}return ae.push=function(gt,St=0,Vt){return Me(Xe(gt,St),Vt)},ae.pushAsync=function(gt,St=0,Vt){return it(Xe(gt,St),Vt)},delete ae.unshift,delete ae.unshiftAsync,ae}function Nd(ue,Z){if(Z=Ce(Z),!Array.isArray(ue))return Z(new TypeError("First argument to race must be an array of functions"));if(!ue.length)return Z();for(var ae=0,Me=ue.length;ae<Me;ae++)F(ue[ae])(Z)}var Bl=M(Nd,2);function mu(ue,Z,ae,Me){var it=[...ue].reverse();return Hn(it,Z,ae,Me)}function bf(ue){var Z=F(ue);return r(function(Me,it){return Me.push((Xe,...gt)=>{let St={};if(Xe&&(St.error=Xe),gt.length>0){var Vt=gt;gt.length<=1&&([Vt]=gt),St.value=Vt}it(null,St)}),Z.apply(this,Me)})}function tm(ue){var Z;return Array.isArray(ue)?Z=ue.map(bf):(Z={},Object.keys(ue).forEach(ae=>{Z[ae]=bf.call(this,ue[ae])})),Z}function Hh(ue,Z,ae,Me){let it=F(ae);return Fl(ue,Z,(Xe,gt)=>{it(Xe,(St,Vt)=>{gt(St,!Vt)})},Me)}function rm(ue,Z,ae){return Hh(nt,ue,Z,ae)}var Ra=M(rm,3);function Fa(ue,Z,ae,Me){return Hh(se(Z),ue,ae,Me)}var Wh=M(Fa,4);function zh(ue,Z,ae){return Hh(Ae,ue,Z,ae)}var Op=M(zh,3);function ea(ue){return function(){return ue}}let Np=5,La=0;function rl(ue,Z,ae){var Me={times:Np,intervalFunc:ea(La)};if(arguments.length<3&&typeof ue=="function"?(ae=Z||ft(),Z=ue):(yu(Me,ue),ae=ae||ft()),typeof Z!="function")throw new Error("Invalid arguments for async.retry");var it=F(Z),Xe=1;function gt(){it((St,...Vt)=>{St!==!1&&(St&&Xe++<Me.times&&(typeof Me.errorFilter!="function"||Me.errorFilter(St))?setTimeout(gt,Me.intervalFunc(Xe-1)):ae(St,...Vt))})}return gt(),ae[Tt]}function yu(ue,Z){if(typeof Z=="object")ue.times=+Z.times||Np,ue.intervalFunc=typeof Z.interval=="function"?Z.interval:ea(+Z.interval||La),ue.errorFilter=Z.errorFilter;else if(typeof Z=="number"||typeof Z=="string")ue.times=+Z||Np;else throw new Error("Invalid arguments for async.retry")}function zu(ue,Z){Z||(Z=ue,ue=null);let ae=ue&&ue.arity||Z.length;k(Z)&&(ae+=1);var Me=F(Z);return r((it,Xe)=>{(it.length<ae-1||Xe==null)&&(it.push(Xe),Xe=ft());function gt(St){Me(...it,St)}return ue?rl(ue,gt,Xe):rl(gt,Xe),Xe[Tt]})}function _c(ue,Z){return Ip(Ae,ue,Z)}function Sc(ue,Z,ae){return It(Boolean,Me=>Me)(nt,ue,Z,ae)}var Ns=M(Sc,3);function wn(ue,Z,ae,Me){return It(Boolean,it=>it)(se(Z),ue,ae,Me)}var Gu=M(wn,4);function Gh(ue,Z,ae){return It(Boolean,Me=>Me)(Ae,ue,Z,ae)}var Gs=M(Gh,3);function jl(ue,Z,ae){var Me=F(Z);return jt(ue,(Xe,gt)=>{Me(Xe,(St,Vt)=>{if(St)return gt(St);gt(St,{value:Xe,criteria:Vt})})},(Xe,gt)=>{if(Xe)return ae(Xe);ae(null,gt.sort(it).map(St=>St.value))});function it(Xe,gt){var St=Xe.criteria,Vt=gt.criteria;return St<Vt?-1:St>Vt?1:0}}var ql=M(jl,3);function Ma(ue,Z,ae){var Me=F(ue);return r((it,Xe)=>{var gt=!1,St;function Vt(){var _r=ue.name||"anonymous",An=new Error('Callback function "'+_r+'" timed out.');An.code="ETIMEDOUT",ae&&(An.info=ae),gt=!0,Xe(An)}it.push((..._r)=>{gt||(Xe(..._r),clearTimeout(St))}),St=setTimeout(Vt,Z),Me(...it)})}function Rp(ue){for(var Z=Array(ue);ue--;)Z[ue]=ue;return Z}function Oo(ue,Z,ae,Me){var it=F(ae);return $o(Rp(ue),Z,it,Me)}function Fp(ue,Z,ae){return Oo(ue,1/0,Z,ae)}function Kh(ue,Z,ae){return Oo(ue,1,Z,ae)}function Ga(ue,Z,ae,Me){arguments.length<=3&&typeof Z=="function"&&(Me=ae,ae=Z,Z=Array.isArray(ue)?[]:{}),Me=Ce(Me||ft());var it=F(ae);return nt(ue,(Xe,gt,St)=>{it(Z,Xe,gt,St)},Xe=>Me(Xe,Z)),Me[Tt]}function va(ue,Z){var ae=null,Me;return Ao(ue,(it,Xe)=>{F(it)((gt,...St)=>{if(gt===!1)return Xe(gt);St.length<2?[Me]=St:Me=St,ae=gt,Xe(gt?null:{})})},()=>Z(ae,Me))}var Lp=M(va);function nl(ue){return(...Z)=>(ue.unmemoized||ue)(...Z)}function bs(ue,Z,ae){ae=ot(ae);var Me=F(Z),it=F(ue),Xe=[];function gt(Vt,..._r){if(Vt)return ae(Vt);Xe=_r,Vt!==!1&&it(St)}function St(Vt,_r){if(Vt)return ae(Vt);if(Vt!==!1){if(!_r)return ae(null,...Xe);Me(gt)}}return it(St)}var ro=M(bs,3);function Ku(ue,Z,ae){let Me=F(ue);return ro(it=>Me((Xe,gt)=>it(Xe,!gt)),Z,ae)}function Ef(ue,Z){if(Z=Ce(Z),!Array.isArray(ue))return Z(new Error("First argument to waterfall must be an array of functions"));if(!ue.length)return Z();var ae=0;function Me(Xe){var gt=F(ue[ae++]);gt(...Xe,ot(it))}function it(Xe,...gt){if(Xe!==!1){if(Xe||ae===ue.length)return Z(Xe,...gt);Me(gt)}}Me([])}var gu=M(Ef),il={apply:t,applyEach:Ye,applyEachSeries:Ut,asyncify:v,auto:mt,autoInject:tr,cargo:rr,cargoQueue:$r,compose:ei,concat:Vu,concatLimit:ps,concatSeries:rt,constant:Ft,detect:Ir,detectLimit:In,detectSeries:Mt,dir:Ps,doUntil:sn,doWhilst:Si,each:Ss,eachLimit:to,eachOf:nt,eachOfLimit:ze,eachOfSeries:Ae,eachSeries:Ao,ensureAsync:co,every:Do,everyLimit:js,everySeries:fu,filter:vc,filterLimit:du,filterSeries:Ji,forever:zs,groupBy:Zo,groupByLimit:Na,groupBySeries:Io,log:Ll,map:jt,mapLimit:$o,mapSeries:lt,mapValues:Ml,mapValuesLimit:kp,mapValuesSeries:ga,memoize:qt,nextTick:em,parallel:ns,parallelLimit:xc,priorityQueue:ji,queue:Vh,race:Bl,reduce:Hn,reduceRight:mu,reflect:bf,reflectAll:tm,reject:Ra,rejectLimit:Wh,rejectSeries:Op,retry:rl,retryable:zu,seq:jn,series:_c,setImmediate:y,some:Ns,someLimit:Gu,someSeries:Gs,sortBy:ql,timeout:Ma,times:Fp,timesLimit:Oo,timesSeries:Kh,transform:Ga,tryEach:Lp,unmemoize:nl,until:Ku,waterfall:gu,whilst:ro,all:Do,allLimit:js,allSeries:fu,any:Ns,anyLimit:Gu,anySeries:Gs,find:Ir,findLimit:In,findSeries:Mt,flatMap:Vu,flatMapLimit:ps,flatMapSeries:rt,forEach:Ss,forEachSeries:Ao,forEachLimit:to,forEachOf:nt,forEachOfSeries:Ae,forEachOfLimit:ze,inject:Hn,foldl:Hn,foldr:mu,select:vc,selectLimit:du,selectSeries:Ji,wrapSync:v,during:ro,doDuring:Si};e.all=Do,e.allLimit=js,e.allSeries=fu,e.any=Ns,e.anyLimit=Gu,e.anySeries=Gs,e.apply=t,e.applyEach=Ye,e.applyEachSeries=Ut,e.asyncify=v,e.auto=mt,e.autoInject=tr,e.cargo=rr,e.cargoQueue=$r,e.compose=ei,e.concat=Vu,e.concatLimit=ps,e.concatSeries=rt,e.constant=Ft,e.default=il,e.detect=Ir,e.detectLimit=In,e.detectSeries=Mt,e.dir=Ps,e.doDuring=Si,e.doUntil=sn,e.doWhilst=Si,e.during=ro,e.each=Ss,e.eachLimit=to,e.eachOf=nt,e.eachOfLimit=ze,e.eachOfSeries=Ae,e.eachSeries=Ao,e.ensureAsync=co,e.every=Do,e.everyLimit=js,e.everySeries=fu,e.filter=vc,e.filterLimit=du,e.filterSeries=Ji,e.find=Ir,e.findLimit=In,e.findSeries=Mt,e.flatMap=Vu,e.flatMapLimit=ps,e.flatMapSeries=rt,e.foldl=Hn,e.foldr=mu,e.forEach=Ss,e.forEachLimit=to,e.forEachOf=nt,e.forEachOfLimit=ze,e.forEachOfSeries=Ae,e.forEachSeries=Ao,e.forever=zs,e.groupBy=Zo,e.groupByLimit=Na,e.groupBySeries=Io,e.inject=Hn,e.log=Ll,e.map=jt,e.mapLimit=$o,e.mapSeries=lt,e.mapValues=Ml,e.mapValuesLimit=kp,e.mapValuesSeries=ga,e.memoize=qt,e.nextTick=em,e.parallel=ns,e.parallelLimit=xc,e.priorityQueue=ji,e.queue=Vh,e.race=Bl,e.reduce=Hn,e.reduceRight=mu,e.reflect=bf,e.reflectAll=tm,e.reject=Ra,e.rejectLimit=Wh,e.rejectSeries=Op,e.retry=rl,e.retryable=zu,e.select=vc,e.selectLimit=du,e.selectSeries=Ji,e.seq=jn,e.series=_c,e.setImmediate=y,e.some=Ns,e.someLimit=Gu,e.someSeries=Gs,e.sortBy=ql,e.timeout=Ma,e.times=Fp,e.timesLimit=Oo,e.timesSeries=Kh,e.transform=Ga,e.tryEach=Lp,e.unmemoize=nl,e.until=Ku,e.waterfall=gu,e.whilst=ro,e.wrapSync=v,Object.defineProperty(e,"__esModule",{value:!0})})});var Voe=J(xs=>{"use strict";var K6=require("fs"),O0t=require("os"),N0t=require("net"),QD=require("path"),$oe=Uoe(),Y6=x1(),XD=Y6("portfinder:testPort"),kw=Y6("portfinder:getPort"),R0t=Y6("portfinder:defaultHosts"),Ed={};Ed.testPort=function(e,t){t||(t=e,e={}),e.server=e.server||N0t.createServer(function(){}),XD("entered testPort(): trying",e.host,"port",e.port);function r(){XD("done w/ testPort(): OK",e.host,"port",e.port),e.server.removeListener("error",s),e.server.close(function(){XD("done w/ testPort(): Server closed",e.host,"port",e.port),t(null,e.port)})}function s(a){if(XD("done w/ testPort(): failed",e.host,"w/ port",e.port,"with error",a.code),e.server.removeListener("listening",r),!(a.code=="EADDRINUSE"||a.code=="EACCES"))return t(a);let n=xs.nextPort(e.port);if(n>xs.highestPort)return t(new Error("No open ports available"));Ed.testPort({port:n,host:e.host,server:e.server},t)}e.server.once("error",s),e.server.once("listening",r),e.host?e.server.listen(e.port,e.host):e.server.listen(e.port)};xs.basePort=8e3;xs.setBasePort=function(e){xs.basePort=e};xs.highestPort=65535;xs.setHighestPort=function(e){xs.highestPort=e};xs.basePath="/tmp/portfinder";xs.setBasePath=function(e){xs.basePath=e};Ed.getPort=function(e,t){if(e.port=Number(e.port)||Number(xs.basePort),e.host=e.host||null,e.stopPort=Number(e.stopPort)||Number(xs.highestPort),!e.startPort){if(e.startPort=Number(e.port),e.startPort<0)throw Error("Provided options.startPort("+e.startPort+") is less than 0, which are cannot be bound.");if(e.stopPort<e.startPort)throw Error("Provided options.stopPort("+e.stopPort+") is less than options.startPort ("+e.startPort+")")}e.host&&xs._defaultHosts.indexOf(e.host)===-1&&xs._defaultHosts.push(e.host);let r=[],s;return $oe.eachSeries(xs._defaultHosts,function(a,n){return kw("in eachSeries() iteration callback: host is",a),Ed.testPort({host:a,port:e.port},function(l,f){return l?(kw("in eachSeries() iteration callback testPort() callback","with an err:",l.code),s=a,n(l)):(kw("in eachSeries() iteration callback testPort() callback","with a success for port",f),r.push(f),n())})},function(a){if(a)if(kw("in eachSeries() result callback: err is",a),a.code==="EADDRNOTAVAIL"||a.code==="EINVAL")if(e.host===s){let n="Provided host "+e.host+" could NOT be bound. Please provide a different host address or hostname";return t(Error(n))}else{let n=xs._defaultHosts.indexOf(s);return xs._defaultHosts.splice(n,1),Ed.getPort(e,t)}else return t(a);if(r.sort(function(n,l){return n-l}),kw("in eachSeries() result callback: openPorts is",r),r[0]===r[r.length-1]){if(r[0]<=e.stopPort)return t(null,r[0]);{let n="No open ports found in between "+e.startPort+" and "+e.stopPort;return t(Error(n))}}else return Ed.getPort({port:r.pop(),host:e.host,startPort:e.startPort,stopPort:e.stopPort},t)})};xs.getPort=function(e,t){return typeof e=="function"&&(t=e,e={}),e=e||{},t?Ed.getPort(e,t):new Promise(function(r,s){Ed.getPort(e,function(a,n){if(a)return s(a);r(n)})})};xs.getPortPromise=xs.getPort;Ed.getPorts=function(e,t,r){let s=null;$oe.timesSeries(e,function(a,n){s&&(t.port=xs.nextPort(s)),Ed.getPort(t,function(l,f){l?n(l):(s=f,n(null,f))})},r)};xs.getPorts=function(e,t,r){return typeof t=="function"&&(r=t,t={}),t=t||{},r?Ed.getPorts(e,t,r):new Promise(function(s,a){Ed.getPorts(e,t,function(n,l){if(n)return a(n);s(l)})})};xs.getPortsPromise=xs.getPorts;xs.getSocket=function(e,t){t||(t=e,e={}),e.mod=e.mod||parseInt(755,8),e.path=e.path||xs.basePath+".sock";function r(){K6.stat(e.path,function(n){n?n.code=="ENOENT"?t(null,e.path):t(n):(e.path=xs.nextSocket(e.path),xs.getSocket(e,t))})}function s(n){K6.mkdir(n,{mode:e.mod,recursive:!0},function(l){if(l)return t(l);e.exists=!0,r()})}function a(){let n=QD.dirname(e.path);K6.stat(n,function(l,f){if(l||!f.isDirectory())return s(n);e.exists=!0,r()})}return e.exists?r():a()};xs.nextPort=function(e){return e+1};xs.nextSocket=function(e){let t=QD.dirname(e),r=QD.basename(e,".sock"),s=r.match(/^([a-zA-z]+)(\d*)$/i),a=s[1],n=parseInt(s[2]);return isNaN(n)&&(n=0),n+=1,QD.join(t,a+n+".sock")};xs._defaultHosts=function(){let e={};try{e=O0t.networkInterfaces()}catch(a){if(a.syscall!=="uv_interface_addresses")throw a}let t=Object.keys(e),r="0.0.0.0",s=[r];for(let a=0;a<t.length;a++){let n=e[t[a]];for(let l=0;l<n.length;l++){let f=n[l];s.push(f.address)}}return s.push(null),R0t("exports._defaultHosts is: %o",s),s}()});async function B0t(){return new Promise((e,t)=>{Hoe.setBasePort(1024),Hoe.getPort((r,s)=>{if(r){t(r);return}e(s)})})}function j0t(e,t,r={}){let{state:s}=r,a=`${Cw[e]||Cw.china}${W6}`,n=new URLSearchParams({p:String(t)});return s&&n.set("state",s),`${a}?${n.toString()}`}function q0t(e,t,r){let s=`${Cw[e]||Cw.china}${W6}`,a=new URLSearchParams({p:String(t),from:"console",region:e});r&&a.set("state",r);let n=encodeURIComponent(`${s}?${a.toString()}`);return`${H6[e]||H6.china}?s_url=${n}`}async function U0t(e,t={}){let r=await B0t(),s=(0,zoe.randomUUID)(),a=e==="global"?"global":"china",n;!e||e==="sso"?n=j0t(a,r,{state:s}):n=q0t(e,r,s),Dt("Jumping to login page..."),Dt("Please come back after login."),await BS("login_region",a);let l=await ov(),f=new YD({region:l,port:r,local:t.local,state:s});await f.waitUntilReady(),console.log("If the browser does not open automatically, please visit:"),$z(n),await(0,Woe.default)(n).catch(()=>{Dt("Browser could not be opened automatically. Please open the login URL manually.")});let m=await f.waitForResult();if(!m.success)throw new Error(m.message||"Login failed. Please try again.")}async function $0t(){if(process.env.EDGEONE_PAGES_API_TOKEN){let r=await tx("DescribeUserInfo",{}).catch(s=>{KR("Run whoami command failed.",{message:s.errorMessage,stack:s}),yi("You are not authenticated. Please run `edgeone login`."),process.exit(1)});return r!=null&&r.Code?(yi("Your token is not valid."),!1):!0}if(!await z6())return!1;let t=await tx("DescribeUserInfo",{}).catch(r=>{KR("Run whoami command failed.",{message:r.errorMessage,stack:r}),yi("You are not authenticated. Please run `edgeone login`."),process.exit(1)});return!(t!=null&&t.Code)}async function X6(e){if(!await $0t()){D0()&&(yi("You are not authenticated, and browser login is unavailable in a non-interactive environment."),yi("Please provide a token via `-t <token>` or set the EDGEONE_PAGES_API_TOKEN environment variable."),yi("Get a token at: https://console.cloud.tencent.com/edgeone/pages?tab=settings"),process.exit(1)),Dt(`You need to log in first to run this command.
@@ -1702,6 +1702,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
1702
1702
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
1703
1703
  var LANGGRAPH_SERDE_VERSION = 1;
1704
1704
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
1705
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
1706
+ var STATE_PREFIX = "state";
1707
+ var MAX_STATE_KEY_LENGTH = 256;
1705
1708
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
1706
1709
  var VALID_ROLES = /* @__PURE__ */ new Set([
1707
1710
  "user",
@@ -1748,6 +1751,15 @@ var MemoryStorageError = class extends Error {
1748
1751
  this.cause = cause;
1749
1752
  }
1750
1753
  };
1754
+ var MemoryCorruptError = class extends Error {
1755
+ code = "MemoryCorruptError";
1756
+ cause;
1757
+ constructor(message, cause) {
1758
+ super(message);
1759
+ this.name = "MemoryCorruptError";
1760
+ this.cause = cause;
1761
+ }
1762
+ };
1751
1763
  var dynamicImport = new Function(
1752
1764
  "specifier",
1753
1765
  "return import(specifier);"
@@ -1755,7 +1767,7 @@ var dynamicImport = new Function(
1755
1767
  var langchainLoadPromise;
1756
1768
  var langchainMessagesPromise;
1757
1769
  function isMemoryError(error) {
1758
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
1770
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
1759
1771
  }
1760
1772
  async function wrapStorage(operation) {
1761
1773
  try {
@@ -1923,10 +1935,17 @@ async function reviveLangGraphJsonValue(value) {
1923
1935
  return revived;
1924
1936
  }
1925
1937
  async function deserializeLangGraphJson(value) {
1926
- if (isLangGraphSerializedJson(value)) {
1927
- return reviveLangGraphJsonValue(JSON.parse(value.data));
1938
+ try {
1939
+ if (isLangGraphSerializedJson(value)) {
1940
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
1941
+ }
1942
+ return reviveLangGraphJsonValue(value);
1943
+ } catch (error) {
1944
+ throw new MemoryCorruptError(
1945
+ "LangGraph persisted state is corrupt or incompatible.",
1946
+ error
1947
+ );
1928
1948
  }
1929
- return reviveLangGraphJsonValue(value);
1930
1949
  }
1931
1950
  function normalizeStoreLimit(value, fallback) {
1932
1951
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -2038,6 +2057,115 @@ function validateMessageId(messageId) {
2038
2057
  throw new MemoryValidationError("messageId is required.");
2039
2058
  }
2040
2059
  }
2060
+ function validateStateKey(key) {
2061
+ if (typeof key !== "string" || key.length === 0) {
2062
+ throw new MemoryValidationError("state key is required.");
2063
+ }
2064
+ if (key.length > MAX_STATE_KEY_LENGTH) {
2065
+ throw new MemoryValidationError(
2066
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
2067
+ );
2068
+ }
2069
+ }
2070
+ function assertStateSerializable(value, path = "state value", seen = /* @__PURE__ */ new Set()) {
2071
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
2072
+ return;
2073
+ }
2074
+ if (typeof value === "number") {
2075
+ if (Number.isFinite(value))
2076
+ return;
2077
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
2078
+ }
2079
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
2080
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
2081
+ }
2082
+ if (typeof value !== "object") {
2083
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
2084
+ }
2085
+ if (seen.has(value)) {
2086
+ throw new MemoryValidationError(\`\${path} must not contain circular references.\`);
2087
+ }
2088
+ seen.add(value);
2089
+ if (Array.isArray(value)) {
2090
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path}[\${index}]\`, seen));
2091
+ } else if (isPlainObject(value)) {
2092
+ for (const [key, item] of Object.entries(value)) {
2093
+ assertStateSerializable(item, \`\${path}.\${key}\`, seen);
2094
+ }
2095
+ } else {
2096
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
2097
+ }
2098
+ seen.delete(value);
2099
+ }
2100
+ function stateConversationPrefix(conversationId) {
2101
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
2102
+ }
2103
+ function createAgentStateStore(store, boundConversationId) {
2104
+ const requireConversation = () => {
2105
+ if (!boundConversationId) {
2106
+ throw new MemoryValidationError(
2107
+ "State operations require a bound conversationId."
2108
+ );
2109
+ }
2110
+ validateConversationId(boundConversationId);
2111
+ return boundConversationId;
2112
+ };
2113
+ return {
2114
+ async get(key) {
2115
+ validateStateKey(key);
2116
+ const conversationId = requireConversation();
2117
+ return wrapStorage(async () => {
2118
+ const raw = await store.get(
2119
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
2120
+ { consistency: "strong" }
2121
+ );
2122
+ if (raw === null)
2123
+ return null;
2124
+ if (typeof raw !== "string") {
2125
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
2126
+ }
2127
+ try {
2128
+ return JSON.parse(raw);
2129
+ } catch (error) {
2130
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
2131
+ }
2132
+ });
2133
+ },
2134
+ async set(key, value) {
2135
+ validateStateKey(key);
2136
+ const conversationId = requireConversation();
2137
+ assertStateSerializable(value);
2138
+ let serialized;
2139
+ try {
2140
+ serialized = JSON.stringify(value);
2141
+ } catch (error) {
2142
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
2143
+ }
2144
+ await wrapStorage(
2145
+ () => store.set(
2146
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
2147
+ serialized
2148
+ )
2149
+ );
2150
+ },
2151
+ async delete(key) {
2152
+ validateStateKey(key);
2153
+ const conversationId = requireConversation();
2154
+ await wrapStorage(
2155
+ () => store.delete(
2156
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
2157
+ )
2158
+ );
2159
+ }
2160
+ };
2161
+ }
2162
+ async function deleteAgentState(store, conversationId) {
2163
+ const listed = await store.list({
2164
+ prefix: stateConversationPrefix(conversationId),
2165
+ consistency: "strong"
2166
+ });
2167
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
2168
+ }
2041
2169
  function validateUserId(userId) {
2042
2170
  if (userId === void 0) {
2043
2171
  return;
@@ -2170,6 +2298,9 @@ function cursorSortKey(cursor) {
2170
2298
  const payload = decodeConversationCursor(cursor);
2171
2299
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
2172
2300
  }
2301
+ function cursorListCursor(cursor) {
2302
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
2303
+ }
2173
2304
  function indexSortKey(key, prefix) {
2174
2305
  return key.slice(prefix.length);
2175
2306
  }
@@ -2337,6 +2468,51 @@ function claudeSessionBase(projectKey, sessionId) {
2337
2468
  function claudeProjectPrefix(projectKey) {
2338
2469
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
2339
2470
  }
2471
+ function claudeSessionMappingKey(conversationId) {
2472
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
2473
+ }
2474
+ function normalizeClaudeUuid(value) {
2475
+ const trimmed = value.trim().toLowerCase();
2476
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
2477
+ }
2478
+ function claudeSessionIdFromKey(key) {
2479
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
2480
+ if (!key.startsWith(prefix)) {
2481
+ return null;
2482
+ }
2483
+ const segments = key.slice(prefix.length).split("/");
2484
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
2485
+ }
2486
+ async function deleteClaudeSessionForConversation(store, conversationId) {
2487
+ const mappingKey = claudeSessionMappingKey(conversationId);
2488
+ const mapping = await store.get(mappingKey, {
2489
+ consistency: "strong"
2490
+ });
2491
+ let sessionId = null;
2492
+ if (typeof mapping === "string") {
2493
+ sessionId = mapping;
2494
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
2495
+ sessionId = mapping.sessionId;
2496
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
2497
+ sessionId = mapping.session_id;
2498
+ }
2499
+ if (!sessionId) {
2500
+ sessionId = normalizeClaudeUuid(conversationId);
2501
+ }
2502
+ await store.delete(mappingKey);
2503
+ if (!sessionId) {
2504
+ return;
2505
+ }
2506
+ const listed = await store.list({
2507
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
2508
+ consistency: "strong"
2509
+ });
2510
+ for (const key of listed.keys) {
2511
+ if (claudeSessionIdFromKey(key) === sessionId) {
2512
+ await store.delete(key);
2513
+ }
2514
+ }
2515
+ }
2340
2516
  function claudePartsPrefix(key) {
2341
2517
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
2342
2518
  if (key.subpath) {
@@ -2374,7 +2550,9 @@ function createClaudeSessionStore(store) {
2374
2550
  consistency: "strong"
2375
2551
  });
2376
2552
  if (typeof raw !== "string") {
2377
- continue;
2553
+ throw new MemoryCorruptError(
2554
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
2555
+ );
2378
2556
  }
2379
2557
  for (const line of raw.split("\\n")) {
2380
2558
  const trimmed = line.trim();
@@ -2383,7 +2561,11 @@ function createClaudeSessionStore(store) {
2383
2561
  }
2384
2562
  try {
2385
2563
  entries.push(JSON.parse(trimmed));
2386
- } catch {
2564
+ } catch (error) {
2565
+ throw new MemoryCorruptError(
2566
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
2567
+ error
2568
+ );
2387
2569
  }
2388
2570
  }
2389
2571
  }
@@ -2509,8 +2691,70 @@ async function listConversationsByUser(store, userId, options) {
2509
2691
  });
2510
2692
  }
2511
2693
  async function listConversationsFromIndex(store, options) {
2694
+ if (!options.before) {
2695
+ const fast = await listConversationsFromIndexFast(store, options);
2696
+ if (fast)
2697
+ return fast;
2698
+ }
2512
2699
  return listConversationsFromIndexFull(store, options);
2513
2700
  }
2701
+ async function listConversationsFromIndexFast(store, options) {
2702
+ var _a, _b;
2703
+ let listCursor = cursorListCursor(options.after);
2704
+ if (options.after && !listCursor) {
2705
+ return null;
2706
+ }
2707
+ const pageItems = [];
2708
+ const seen = /* @__PURE__ */ new Set();
2709
+ let lastCursor;
2710
+ while (pageItems.length < options.limit) {
2711
+ const listed = await store.list({
2712
+ prefix: options.prefix,
2713
+ cursor: listCursor,
2714
+ limit: options.limit - pageItems.length,
2715
+ paginate: false,
2716
+ consistency: "strong"
2717
+ });
2718
+ lastCursor = listed.cursor;
2719
+ if (!listed.keys.length) {
2720
+ break;
2721
+ }
2722
+ const indexItems = [...listed.keys].sort(
2723
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
2724
+ ).map((key) => {
2725
+ const conversationId = options.conversationIdFromKey(key);
2726
+ if (!conversationId || seen.has(conversationId)) {
2727
+ return null;
2728
+ }
2729
+ seen.add(conversationId);
2730
+ return {
2731
+ key,
2732
+ sortKey: indexSortKey(key, options.prefix),
2733
+ conversationId
2734
+ };
2735
+ }).filter((item) => item !== null);
2736
+ const metas = await Promise.all(
2737
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
2738
+ );
2739
+ for (let i = 0; i < indexItems.length; i++) {
2740
+ const meta = metas[i];
2741
+ if (meta) {
2742
+ pageItems.push({ indexItem: indexItems[i], meta });
2743
+ }
2744
+ }
2745
+ if (!listed.cursor) {
2746
+ break;
2747
+ }
2748
+ listCursor = listed.cursor;
2749
+ }
2750
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
2751
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
2752
+ return {
2753
+ items: pageItems.map((item) => item.meta),
2754
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
2755
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
2756
+ };
2757
+ }
2514
2758
  async function listConversationsFromIndexFull(store, options) {
2515
2759
  var _a, _b;
2516
2760
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -2947,6 +3191,7 @@ function createAgentMemory(store, options = {}) {
2947
3191
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
2948
3192
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
2949
3193
  const langgraphStore = createLangGraphStore(store);
3194
+ const state = createAgentStateStore(store, options.conversationId);
2950
3195
  let claudeStoreCache = null;
2951
3196
  let lastMessageCreatedAt = 0;
2952
3197
  const appendMessagesInternal = async (inputs) => {
@@ -3232,8 +3477,13 @@ function createAgentMemory(store, options = {}) {
3232
3477
  listMessageKeys(store, input.conversationId)
3233
3478
  ]);
3234
3479
  if (!meta) {
3480
+ if (options.conversationId === input.conversationId) {
3481
+ await deleteAgentState(store, input.conversationId);
3482
+ }
3483
+ await deleteClaudeSessionForConversation(store, input.conversationId);
3484
+ await langgraphCheckpointer.deleteThread(input.conversationId);
3235
3485
  throw new MemoryNotFoundError(
3236
- "Conversation not found by updateConversation."
3486
+ "Conversation not found by deleteConversation."
3237
3487
  );
3238
3488
  }
3239
3489
  const deleteOps = [];
@@ -3250,6 +3500,11 @@ function createAgentMemory(store, options = {}) {
3250
3500
  deleteOps.push(store.delete(metaKey(input.conversationId)));
3251
3501
  deleteOps.push(store.delete(conversationIndexKey(meta)));
3252
3502
  await Promise.all(deleteOps);
3503
+ if (options.conversationId === input.conversationId) {
3504
+ await deleteAgentState(store, input.conversationId);
3505
+ }
3506
+ await deleteClaudeSessionForConversation(store, input.conversationId);
3507
+ await langgraphCheckpointer.deleteThread(input.conversationId);
3253
3508
  });
3254
3509
  },
3255
3510
  async updateConversation(input) {
@@ -3285,14 +3540,49 @@ function createAgentMemory(store, options = {}) {
3285
3540
  }));
3286
3541
  },
3287
3542
  openaiSession(sessionId, sessionOptions = {}) {
3543
+ const boundSessionId = sessionId ?? options.conversationId;
3544
+ if (!boundSessionId) {
3545
+ throw new MemoryValidationError(
3546
+ "openaiSession requires a sessionId or bound conversationId."
3547
+ );
3548
+ }
3288
3549
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
3289
3550
  return createOpenAISession(
3290
3551
  memory,
3291
- sessionId,
3552
+ boundSessionId,
3292
3553
  maxItems,
3293
3554
  appendMessagesInternal
3294
3555
  );
3295
3556
  },
3557
+ async claudeSessionBinding(conversationId) {
3558
+ const resolvedConversationId = conversationId ?? options.conversationId;
3559
+ if (!resolvedConversationId) {
3560
+ throw new MemoryValidationError(
3561
+ "claudeSessionBinding requires a conversationId or bound conversationId."
3562
+ );
3563
+ }
3564
+ validateConversationId(resolvedConversationId);
3565
+ return wrapStorage(async () => {
3566
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
3567
+ const existing = await store.get(
3568
+ mappingKey,
3569
+ { consistency: "strong" }
3570
+ );
3571
+ if (typeof existing === "string" && existing) {
3572
+ return existing;
3573
+ }
3574
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
3575
+ return String(existing.sessionId || existing.session_id);
3576
+ }
3577
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
3578
+ const binding = {
3579
+ conversationId: resolvedConversationId,
3580
+ sessionId
3581
+ };
3582
+ await store.set(mappingKey, binding);
3583
+ return sessionId;
3584
+ });
3585
+ },
3296
3586
  claudeSessionStore() {
3297
3587
  if (!claudeStoreCache) {
3298
3588
  claudeStoreCache = createClaudeSessionStore(store);
@@ -3300,7 +3590,8 @@ function createAgentMemory(store, options = {}) {
3300
3590
  return claudeStoreCache;
3301
3591
  },
3302
3592
  langgraphCheckpointer,
3303
- langgraphStore
3593
+ langgraphStore,
3594
+ state
3304
3595
  };
3305
3596
  return memory;
3306
3597
  }
@@ -4203,6 +4494,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
4203
4494
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
4204
4495
  var LANGGRAPH_SERDE_VERSION = 1;
4205
4496
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
4497
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
4498
+ var STATE_PREFIX = "state";
4499
+ var MAX_STATE_KEY_LENGTH = 256;
4206
4500
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
4207
4501
  var VALID_ROLES = /* @__PURE__ */ new Set([
4208
4502
  "user",
@@ -4249,6 +4543,15 @@ var MemoryStorageError = class extends Error {
4249
4543
  this.cause = cause;
4250
4544
  }
4251
4545
  };
4546
+ var MemoryCorruptError = class extends Error {
4547
+ code = "MemoryCorruptError";
4548
+ cause;
4549
+ constructor(message, cause) {
4550
+ super(message);
4551
+ this.name = "MemoryCorruptError";
4552
+ this.cause = cause;
4553
+ }
4554
+ };
4252
4555
  var dynamicImport = new Function(
4253
4556
  "specifier",
4254
4557
  "return import(specifier);"
@@ -4256,7 +4559,7 @@ var dynamicImport = new Function(
4256
4559
  var langchainLoadPromise;
4257
4560
  var langchainMessagesPromise;
4258
4561
  function isMemoryError(error) {
4259
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
4562
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
4260
4563
  }
4261
4564
  async function wrapStorage(operation) {
4262
4565
  try {
@@ -4424,10 +4727,17 @@ async function reviveLangGraphJsonValue(value) {
4424
4727
  return revived;
4425
4728
  }
4426
4729
  async function deserializeLangGraphJson(value) {
4427
- if (isLangGraphSerializedJson(value)) {
4428
- return reviveLangGraphJsonValue(JSON.parse(value.data));
4730
+ try {
4731
+ if (isLangGraphSerializedJson(value)) {
4732
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
4733
+ }
4734
+ return reviveLangGraphJsonValue(value);
4735
+ } catch (error) {
4736
+ throw new MemoryCorruptError(
4737
+ "LangGraph persisted state is corrupt or incompatible.",
4738
+ error
4739
+ );
4429
4740
  }
4430
- return reviveLangGraphJsonValue(value);
4431
4741
  }
4432
4742
  function normalizeStoreLimit(value, fallback) {
4433
4743
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -4539,6 +4849,115 @@ function validateMessageId(messageId) {
4539
4849
  throw new MemoryValidationError("messageId is required.");
4540
4850
  }
4541
4851
  }
4852
+ function validateStateKey(key) {
4853
+ if (typeof key !== "string" || key.length === 0) {
4854
+ throw new MemoryValidationError("state key is required.");
4855
+ }
4856
+ if (key.length > MAX_STATE_KEY_LENGTH) {
4857
+ throw new MemoryValidationError(
4858
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
4859
+ );
4860
+ }
4861
+ }
4862
+ function assertStateSerializable(value, path = "state value", seen = /* @__PURE__ */ new Set()) {
4863
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
4864
+ return;
4865
+ }
4866
+ if (typeof value === "number") {
4867
+ if (Number.isFinite(value))
4868
+ return;
4869
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
4870
+ }
4871
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
4872
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
4873
+ }
4874
+ if (typeof value !== "object") {
4875
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
4876
+ }
4877
+ if (seen.has(value)) {
4878
+ throw new MemoryValidationError(\`\${path} must not contain circular references.\`);
4879
+ }
4880
+ seen.add(value);
4881
+ if (Array.isArray(value)) {
4882
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path}[\${index}]\`, seen));
4883
+ } else if (isPlainObject(value)) {
4884
+ for (const [key, item] of Object.entries(value)) {
4885
+ assertStateSerializable(item, \`\${path}.\${key}\`, seen);
4886
+ }
4887
+ } else {
4888
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
4889
+ }
4890
+ seen.delete(value);
4891
+ }
4892
+ function stateConversationPrefix(conversationId) {
4893
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
4894
+ }
4895
+ function createAgentStateStore(store, boundConversationId) {
4896
+ const requireConversation = () => {
4897
+ if (!boundConversationId) {
4898
+ throw new MemoryValidationError(
4899
+ "State operations require a bound conversationId."
4900
+ );
4901
+ }
4902
+ validateConversationId(boundConversationId);
4903
+ return boundConversationId;
4904
+ };
4905
+ return {
4906
+ async get(key) {
4907
+ validateStateKey(key);
4908
+ const conversationId = requireConversation();
4909
+ return wrapStorage(async () => {
4910
+ const raw = await store.get(
4911
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
4912
+ { consistency: "strong" }
4913
+ );
4914
+ if (raw === null)
4915
+ return null;
4916
+ if (typeof raw !== "string") {
4917
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
4918
+ }
4919
+ try {
4920
+ return JSON.parse(raw);
4921
+ } catch (error) {
4922
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
4923
+ }
4924
+ });
4925
+ },
4926
+ async set(key, value) {
4927
+ validateStateKey(key);
4928
+ const conversationId = requireConversation();
4929
+ assertStateSerializable(value);
4930
+ let serialized;
4931
+ try {
4932
+ serialized = JSON.stringify(value);
4933
+ } catch (error) {
4934
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
4935
+ }
4936
+ await wrapStorage(
4937
+ () => store.set(
4938
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
4939
+ serialized
4940
+ )
4941
+ );
4942
+ },
4943
+ async delete(key) {
4944
+ validateStateKey(key);
4945
+ const conversationId = requireConversation();
4946
+ await wrapStorage(
4947
+ () => store.delete(
4948
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
4949
+ )
4950
+ );
4951
+ }
4952
+ };
4953
+ }
4954
+ async function deleteAgentState(store, conversationId) {
4955
+ const listed = await store.list({
4956
+ prefix: stateConversationPrefix(conversationId),
4957
+ consistency: "strong"
4958
+ });
4959
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
4960
+ }
4542
4961
  function validateUserId(userId) {
4543
4962
  if (userId === void 0) {
4544
4963
  return;
@@ -4671,6 +5090,9 @@ function cursorSortKey(cursor) {
4671
5090
  const payload = decodeConversationCursor(cursor);
4672
5091
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
4673
5092
  }
5093
+ function cursorListCursor(cursor) {
5094
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
5095
+ }
4674
5096
  function indexSortKey(key, prefix) {
4675
5097
  return key.slice(prefix.length);
4676
5098
  }
@@ -4838,6 +5260,51 @@ function claudeSessionBase(projectKey, sessionId) {
4838
5260
  function claudeProjectPrefix(projectKey) {
4839
5261
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
4840
5262
  }
5263
+ function claudeSessionMappingKey(conversationId) {
5264
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
5265
+ }
5266
+ function normalizeClaudeUuid(value) {
5267
+ const trimmed = value.trim().toLowerCase();
5268
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
5269
+ }
5270
+ function claudeSessionIdFromKey(key) {
5271
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
5272
+ if (!key.startsWith(prefix)) {
5273
+ return null;
5274
+ }
5275
+ const segments = key.slice(prefix.length).split("/");
5276
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
5277
+ }
5278
+ async function deleteClaudeSessionForConversation(store, conversationId) {
5279
+ const mappingKey = claudeSessionMappingKey(conversationId);
5280
+ const mapping = await store.get(mappingKey, {
5281
+ consistency: "strong"
5282
+ });
5283
+ let sessionId = null;
5284
+ if (typeof mapping === "string") {
5285
+ sessionId = mapping;
5286
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
5287
+ sessionId = mapping.sessionId;
5288
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
5289
+ sessionId = mapping.session_id;
5290
+ }
5291
+ if (!sessionId) {
5292
+ sessionId = normalizeClaudeUuid(conversationId);
5293
+ }
5294
+ await store.delete(mappingKey);
5295
+ if (!sessionId) {
5296
+ return;
5297
+ }
5298
+ const listed = await store.list({
5299
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
5300
+ consistency: "strong"
5301
+ });
5302
+ for (const key of listed.keys) {
5303
+ if (claudeSessionIdFromKey(key) === sessionId) {
5304
+ await store.delete(key);
5305
+ }
5306
+ }
5307
+ }
4841
5308
  function claudePartsPrefix(key) {
4842
5309
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
4843
5310
  if (key.subpath) {
@@ -4875,7 +5342,9 @@ function createClaudeSessionStore(store) {
4875
5342
  consistency: "strong"
4876
5343
  });
4877
5344
  if (typeof raw !== "string") {
4878
- continue;
5345
+ throw new MemoryCorruptError(
5346
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
5347
+ );
4879
5348
  }
4880
5349
  for (const line of raw.split("\\n")) {
4881
5350
  const trimmed = line.trim();
@@ -4884,7 +5353,11 @@ function createClaudeSessionStore(store) {
4884
5353
  }
4885
5354
  try {
4886
5355
  entries.push(JSON.parse(trimmed));
4887
- } catch {
5356
+ } catch (error) {
5357
+ throw new MemoryCorruptError(
5358
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
5359
+ error
5360
+ );
4888
5361
  }
4889
5362
  }
4890
5363
  }
@@ -5010,8 +5483,70 @@ async function listConversationsByUser(store, userId, options) {
5010
5483
  });
5011
5484
  }
5012
5485
  async function listConversationsFromIndex(store, options) {
5486
+ if (!options.before) {
5487
+ const fast = await listConversationsFromIndexFast(store, options);
5488
+ if (fast)
5489
+ return fast;
5490
+ }
5013
5491
  return listConversationsFromIndexFull(store, options);
5014
5492
  }
5493
+ async function listConversationsFromIndexFast(store, options) {
5494
+ var _a, _b;
5495
+ let listCursor = cursorListCursor(options.after);
5496
+ if (options.after && !listCursor) {
5497
+ return null;
5498
+ }
5499
+ const pageItems = [];
5500
+ const seen = /* @__PURE__ */ new Set();
5501
+ let lastCursor;
5502
+ while (pageItems.length < options.limit) {
5503
+ const listed = await store.list({
5504
+ prefix: options.prefix,
5505
+ cursor: listCursor,
5506
+ limit: options.limit - pageItems.length,
5507
+ paginate: false,
5508
+ consistency: "strong"
5509
+ });
5510
+ lastCursor = listed.cursor;
5511
+ if (!listed.keys.length) {
5512
+ break;
5513
+ }
5514
+ const indexItems = [...listed.keys].sort(
5515
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
5516
+ ).map((key) => {
5517
+ const conversationId = options.conversationIdFromKey(key);
5518
+ if (!conversationId || seen.has(conversationId)) {
5519
+ return null;
5520
+ }
5521
+ seen.add(conversationId);
5522
+ return {
5523
+ key,
5524
+ sortKey: indexSortKey(key, options.prefix),
5525
+ conversationId
5526
+ };
5527
+ }).filter((item) => item !== null);
5528
+ const metas = await Promise.all(
5529
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
5530
+ );
5531
+ for (let i = 0; i < indexItems.length; i++) {
5532
+ const meta = metas[i];
5533
+ if (meta) {
5534
+ pageItems.push({ indexItem: indexItems[i], meta });
5535
+ }
5536
+ }
5537
+ if (!listed.cursor) {
5538
+ break;
5539
+ }
5540
+ listCursor = listed.cursor;
5541
+ }
5542
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
5543
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
5544
+ return {
5545
+ items: pageItems.map((item) => item.meta),
5546
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
5547
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
5548
+ };
5549
+ }
5015
5550
  async function listConversationsFromIndexFull(store, options) {
5016
5551
  var _a, _b;
5017
5552
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -5448,6 +5983,7 @@ function createAgentMemory(store, options = {}) {
5448
5983
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
5449
5984
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
5450
5985
  const langgraphStore = createLangGraphStore(store);
5986
+ const state = createAgentStateStore(store, options.conversationId);
5451
5987
  let claudeStoreCache = null;
5452
5988
  let lastMessageCreatedAt = 0;
5453
5989
  const appendMessagesInternal = async (inputs) => {
@@ -5733,8 +6269,13 @@ function createAgentMemory(store, options = {}) {
5733
6269
  listMessageKeys(store, input.conversationId)
5734
6270
  ]);
5735
6271
  if (!meta) {
6272
+ if (options.conversationId === input.conversationId) {
6273
+ await deleteAgentState(store, input.conversationId);
6274
+ }
6275
+ await deleteClaudeSessionForConversation(store, input.conversationId);
6276
+ await langgraphCheckpointer.deleteThread(input.conversationId);
5736
6277
  throw new MemoryNotFoundError(
5737
- "Conversation not found by updateConversation."
6278
+ "Conversation not found by deleteConversation."
5738
6279
  );
5739
6280
  }
5740
6281
  const deleteOps = [];
@@ -5751,6 +6292,11 @@ function createAgentMemory(store, options = {}) {
5751
6292
  deleteOps.push(store.delete(metaKey(input.conversationId)));
5752
6293
  deleteOps.push(store.delete(conversationIndexKey(meta)));
5753
6294
  await Promise.all(deleteOps);
6295
+ if (options.conversationId === input.conversationId) {
6296
+ await deleteAgentState(store, input.conversationId);
6297
+ }
6298
+ await deleteClaudeSessionForConversation(store, input.conversationId);
6299
+ await langgraphCheckpointer.deleteThread(input.conversationId);
5754
6300
  });
5755
6301
  },
5756
6302
  async updateConversation(input) {
@@ -5786,14 +6332,49 @@ function createAgentMemory(store, options = {}) {
5786
6332
  }));
5787
6333
  },
5788
6334
  openaiSession(sessionId, sessionOptions = {}) {
6335
+ const boundSessionId = sessionId ?? options.conversationId;
6336
+ if (!boundSessionId) {
6337
+ throw new MemoryValidationError(
6338
+ "openaiSession requires a sessionId or bound conversationId."
6339
+ );
6340
+ }
5789
6341
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
5790
6342
  return createOpenAISession(
5791
6343
  memory,
5792
- sessionId,
6344
+ boundSessionId,
5793
6345
  maxItems,
5794
6346
  appendMessagesInternal
5795
6347
  );
5796
6348
  },
6349
+ async claudeSessionBinding(conversationId) {
6350
+ const resolvedConversationId = conversationId ?? options.conversationId;
6351
+ if (!resolvedConversationId) {
6352
+ throw new MemoryValidationError(
6353
+ "claudeSessionBinding requires a conversationId or bound conversationId."
6354
+ );
6355
+ }
6356
+ validateConversationId(resolvedConversationId);
6357
+ return wrapStorage(async () => {
6358
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
6359
+ const existing = await store.get(
6360
+ mappingKey,
6361
+ { consistency: "strong" }
6362
+ );
6363
+ if (typeof existing === "string" && existing) {
6364
+ return existing;
6365
+ }
6366
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
6367
+ return String(existing.sessionId || existing.session_id);
6368
+ }
6369
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
6370
+ const binding = {
6371
+ conversationId: resolvedConversationId,
6372
+ sessionId
6373
+ };
6374
+ await store.set(mappingKey, binding);
6375
+ return sessionId;
6376
+ });
6377
+ },
5797
6378
  claudeSessionStore() {
5798
6379
  if (!claudeStoreCache) {
5799
6380
  claudeStoreCache = createClaudeSessionStore(store);
@@ -5801,7 +6382,8 @@ function createAgentMemory(store, options = {}) {
5801
6382
  return claudeStoreCache;
5802
6383
  },
5803
6384
  langgraphCheckpointer,
5804
- langgraphStore
6385
+ langgraphStore,
6386
+ state
5805
6387
  };
5806
6388
  return memory;
5807
6389
  }
@@ -8628,6 +9210,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
8628
9210
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
8629
9211
  var LANGGRAPH_SERDE_VERSION = 1;
8630
9212
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
9213
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
9214
+ var STATE_PREFIX = "state";
9215
+ var MAX_STATE_KEY_LENGTH = 256;
8631
9216
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
8632
9217
  var VALID_ROLES = /* @__PURE__ */ new Set([
8633
9218
  "user",
@@ -8674,6 +9259,15 @@ var MemoryStorageError = class extends Error {
8674
9259
  this.cause = cause;
8675
9260
  }
8676
9261
  };
9262
+ var MemoryCorruptError = class extends Error {
9263
+ code = "MemoryCorruptError";
9264
+ cause;
9265
+ constructor(message, cause) {
9266
+ super(message);
9267
+ this.name = "MemoryCorruptError";
9268
+ this.cause = cause;
9269
+ }
9270
+ };
8677
9271
  var dynamicImport = new Function(
8678
9272
  "specifier",
8679
9273
  "return import(specifier);"
@@ -8681,7 +9275,7 @@ var dynamicImport = new Function(
8681
9275
  var langchainLoadPromise;
8682
9276
  var langchainMessagesPromise;
8683
9277
  function isMemoryError(error) {
8684
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
9278
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
8685
9279
  }
8686
9280
  async function wrapStorage(operation) {
8687
9281
  try {
@@ -8849,10 +9443,17 @@ async function reviveLangGraphJsonValue(value) {
8849
9443
  return revived;
8850
9444
  }
8851
9445
  async function deserializeLangGraphJson(value) {
8852
- if (isLangGraphSerializedJson(value)) {
8853
- return reviveLangGraphJsonValue(JSON.parse(value.data));
9446
+ try {
9447
+ if (isLangGraphSerializedJson(value)) {
9448
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
9449
+ }
9450
+ return reviveLangGraphJsonValue(value);
9451
+ } catch (error) {
9452
+ throw new MemoryCorruptError(
9453
+ "LangGraph persisted state is corrupt or incompatible.",
9454
+ error
9455
+ );
8854
9456
  }
8855
- return reviveLangGraphJsonValue(value);
8856
9457
  }
8857
9458
  function normalizeStoreLimit(value, fallback) {
8858
9459
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -8964,6 +9565,115 @@ function validateMessageId(messageId) {
8964
9565
  throw new MemoryValidationError("messageId is required.");
8965
9566
  }
8966
9567
  }
9568
+ function validateStateKey(key) {
9569
+ if (typeof key !== "string" || key.length === 0) {
9570
+ throw new MemoryValidationError("state key is required.");
9571
+ }
9572
+ if (key.length > MAX_STATE_KEY_LENGTH) {
9573
+ throw new MemoryValidationError(
9574
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
9575
+ );
9576
+ }
9577
+ }
9578
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
9579
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
9580
+ return;
9581
+ }
9582
+ if (typeof value === "number") {
9583
+ if (Number.isFinite(value))
9584
+ return;
9585
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
9586
+ }
9587
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
9588
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
9589
+ }
9590
+ if (typeof value !== "object") {
9591
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
9592
+ }
9593
+ if (seen.has(value)) {
9594
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
9595
+ }
9596
+ seen.add(value);
9597
+ if (Array.isArray(value)) {
9598
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
9599
+ } else if (isPlainObject(value)) {
9600
+ for (const [key, item] of Object.entries(value)) {
9601
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
9602
+ }
9603
+ } else {
9604
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
9605
+ }
9606
+ seen.delete(value);
9607
+ }
9608
+ function stateConversationPrefix(conversationId) {
9609
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
9610
+ }
9611
+ function createAgentStateStore(store, boundConversationId) {
9612
+ const requireConversation = () => {
9613
+ if (!boundConversationId) {
9614
+ throw new MemoryValidationError(
9615
+ "State operations require a bound conversationId."
9616
+ );
9617
+ }
9618
+ validateConversationId(boundConversationId);
9619
+ return boundConversationId;
9620
+ };
9621
+ return {
9622
+ async get(key) {
9623
+ validateStateKey(key);
9624
+ const conversationId = requireConversation();
9625
+ return wrapStorage(async () => {
9626
+ const raw = await store.get(
9627
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
9628
+ { consistency: "strong" }
9629
+ );
9630
+ if (raw === null)
9631
+ return null;
9632
+ if (typeof raw !== "string") {
9633
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
9634
+ }
9635
+ try {
9636
+ return JSON.parse(raw);
9637
+ } catch (error) {
9638
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
9639
+ }
9640
+ });
9641
+ },
9642
+ async set(key, value) {
9643
+ validateStateKey(key);
9644
+ const conversationId = requireConversation();
9645
+ assertStateSerializable(value);
9646
+ let serialized;
9647
+ try {
9648
+ serialized = JSON.stringify(value);
9649
+ } catch (error) {
9650
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
9651
+ }
9652
+ await wrapStorage(
9653
+ () => store.set(
9654
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
9655
+ serialized
9656
+ )
9657
+ );
9658
+ },
9659
+ async delete(key) {
9660
+ validateStateKey(key);
9661
+ const conversationId = requireConversation();
9662
+ await wrapStorage(
9663
+ () => store.delete(
9664
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
9665
+ )
9666
+ );
9667
+ }
9668
+ };
9669
+ }
9670
+ async function deleteAgentState(store, conversationId) {
9671
+ const listed = await store.list({
9672
+ prefix: stateConversationPrefix(conversationId),
9673
+ consistency: "strong"
9674
+ });
9675
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
9676
+ }
8967
9677
  function validateUserId(userId) {
8968
9678
  if (userId === void 0) {
8969
9679
  return;
@@ -9096,6 +9806,9 @@ function cursorSortKey(cursor) {
9096
9806
  const payload = decodeConversationCursor(cursor);
9097
9807
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
9098
9808
  }
9809
+ function cursorListCursor(cursor) {
9810
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
9811
+ }
9099
9812
  function indexSortKey(key, prefix) {
9100
9813
  return key.slice(prefix.length);
9101
9814
  }
@@ -9263,6 +9976,51 @@ function claudeSessionBase(projectKey, sessionId) {
9263
9976
  function claudeProjectPrefix(projectKey) {
9264
9977
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
9265
9978
  }
9979
+ function claudeSessionMappingKey(conversationId) {
9980
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
9981
+ }
9982
+ function normalizeClaudeUuid(value) {
9983
+ const trimmed = value.trim().toLowerCase();
9984
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
9985
+ }
9986
+ function claudeSessionIdFromKey(key) {
9987
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
9988
+ if (!key.startsWith(prefix)) {
9989
+ return null;
9990
+ }
9991
+ const segments = key.slice(prefix.length).split("/");
9992
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
9993
+ }
9994
+ async function deleteClaudeSessionForConversation(store, conversationId) {
9995
+ const mappingKey = claudeSessionMappingKey(conversationId);
9996
+ const mapping = await store.get(mappingKey, {
9997
+ consistency: "strong"
9998
+ });
9999
+ let sessionId = null;
10000
+ if (typeof mapping === "string") {
10001
+ sessionId = mapping;
10002
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
10003
+ sessionId = mapping.sessionId;
10004
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
10005
+ sessionId = mapping.session_id;
10006
+ }
10007
+ if (!sessionId) {
10008
+ sessionId = normalizeClaudeUuid(conversationId);
10009
+ }
10010
+ await store.delete(mappingKey);
10011
+ if (!sessionId) {
10012
+ return;
10013
+ }
10014
+ const listed = await store.list({
10015
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
10016
+ consistency: "strong"
10017
+ });
10018
+ for (const key of listed.keys) {
10019
+ if (claudeSessionIdFromKey(key) === sessionId) {
10020
+ await store.delete(key);
10021
+ }
10022
+ }
10023
+ }
9266
10024
  function claudePartsPrefix(key) {
9267
10025
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
9268
10026
  if (key.subpath) {
@@ -9300,7 +10058,9 @@ function createClaudeSessionStore(store) {
9300
10058
  consistency: "strong"
9301
10059
  });
9302
10060
  if (typeof raw !== "string") {
9303
- continue;
10061
+ throw new MemoryCorruptError(
10062
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
10063
+ );
9304
10064
  }
9305
10065
  for (const line of raw.split("\\n")) {
9306
10066
  const trimmed = line.trim();
@@ -9309,7 +10069,11 @@ function createClaudeSessionStore(store) {
9309
10069
  }
9310
10070
  try {
9311
10071
  entries.push(JSON.parse(trimmed));
9312
- } catch {
10072
+ } catch (error) {
10073
+ throw new MemoryCorruptError(
10074
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
10075
+ error
10076
+ );
9313
10077
  }
9314
10078
  }
9315
10079
  }
@@ -9435,8 +10199,70 @@ async function listConversationsByUser(store, userId, options) {
9435
10199
  });
9436
10200
  }
9437
10201
  async function listConversationsFromIndex(store, options) {
10202
+ if (!options.before) {
10203
+ const fast = await listConversationsFromIndexFast(store, options);
10204
+ if (fast)
10205
+ return fast;
10206
+ }
9438
10207
  return listConversationsFromIndexFull(store, options);
9439
10208
  }
10209
+ async function listConversationsFromIndexFast(store, options) {
10210
+ var _a, _b;
10211
+ let listCursor = cursorListCursor(options.after);
10212
+ if (options.after && !listCursor) {
10213
+ return null;
10214
+ }
10215
+ const pageItems = [];
10216
+ const seen = /* @__PURE__ */ new Set();
10217
+ let lastCursor;
10218
+ while (pageItems.length < options.limit) {
10219
+ const listed = await store.list({
10220
+ prefix: options.prefix,
10221
+ cursor: listCursor,
10222
+ limit: options.limit - pageItems.length,
10223
+ paginate: false,
10224
+ consistency: "strong"
10225
+ });
10226
+ lastCursor = listed.cursor;
10227
+ if (!listed.keys.length) {
10228
+ break;
10229
+ }
10230
+ const indexItems = [...listed.keys].sort(
10231
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
10232
+ ).map((key) => {
10233
+ const conversationId = options.conversationIdFromKey(key);
10234
+ if (!conversationId || seen.has(conversationId)) {
10235
+ return null;
10236
+ }
10237
+ seen.add(conversationId);
10238
+ return {
10239
+ key,
10240
+ sortKey: indexSortKey(key, options.prefix),
10241
+ conversationId
10242
+ };
10243
+ }).filter((item) => item !== null);
10244
+ const metas = await Promise.all(
10245
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
10246
+ );
10247
+ for (let i = 0; i < indexItems.length; i++) {
10248
+ const meta = metas[i];
10249
+ if (meta) {
10250
+ pageItems.push({ indexItem: indexItems[i], meta });
10251
+ }
10252
+ }
10253
+ if (!listed.cursor) {
10254
+ break;
10255
+ }
10256
+ listCursor = listed.cursor;
10257
+ }
10258
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
10259
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
10260
+ return {
10261
+ items: pageItems.map((item) => item.meta),
10262
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
10263
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
10264
+ };
10265
+ }
9440
10266
  async function listConversationsFromIndexFull(store, options) {
9441
10267
  var _a, _b;
9442
10268
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -9873,6 +10699,7 @@ function createAgentMemory(store, options = {}) {
9873
10699
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
9874
10700
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
9875
10701
  const langgraphStore = createLangGraphStore(store);
10702
+ const state = createAgentStateStore(store, options.conversationId);
9876
10703
  let claudeStoreCache = null;
9877
10704
  let lastMessageCreatedAt = 0;
9878
10705
  const appendMessagesInternal = async (inputs) => {
@@ -10158,8 +10985,13 @@ function createAgentMemory(store, options = {}) {
10158
10985
  listMessageKeys(store, input.conversationId)
10159
10986
  ]);
10160
10987
  if (!meta) {
10988
+ if (options.conversationId === input.conversationId) {
10989
+ await deleteAgentState(store, input.conversationId);
10990
+ }
10991
+ await deleteClaudeSessionForConversation(store, input.conversationId);
10992
+ await langgraphCheckpointer.deleteThread(input.conversationId);
10161
10993
  throw new MemoryNotFoundError(
10162
- "Conversation not found by updateConversation."
10994
+ "Conversation not found by deleteConversation."
10163
10995
  );
10164
10996
  }
10165
10997
  const deleteOps = [];
@@ -10176,6 +11008,11 @@ function createAgentMemory(store, options = {}) {
10176
11008
  deleteOps.push(store.delete(metaKey(input.conversationId)));
10177
11009
  deleteOps.push(store.delete(conversationIndexKey(meta)));
10178
11010
  await Promise.all(deleteOps);
11011
+ if (options.conversationId === input.conversationId) {
11012
+ await deleteAgentState(store, input.conversationId);
11013
+ }
11014
+ await deleteClaudeSessionForConversation(store, input.conversationId);
11015
+ await langgraphCheckpointer.deleteThread(input.conversationId);
10179
11016
  });
10180
11017
  },
10181
11018
  async updateConversation(input) {
@@ -10211,14 +11048,49 @@ function createAgentMemory(store, options = {}) {
10211
11048
  }));
10212
11049
  },
10213
11050
  openaiSession(sessionId, sessionOptions = {}) {
11051
+ const boundSessionId = sessionId ?? options.conversationId;
11052
+ if (!boundSessionId) {
11053
+ throw new MemoryValidationError(
11054
+ "openaiSession requires a sessionId or bound conversationId."
11055
+ );
11056
+ }
10214
11057
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
10215
11058
  return createOpenAISession(
10216
11059
  memory,
10217
- sessionId,
11060
+ boundSessionId,
10218
11061
  maxItems,
10219
11062
  appendMessagesInternal
10220
11063
  );
10221
11064
  },
11065
+ async claudeSessionBinding(conversationId) {
11066
+ const resolvedConversationId = conversationId ?? options.conversationId;
11067
+ if (!resolvedConversationId) {
11068
+ throw new MemoryValidationError(
11069
+ "claudeSessionBinding requires a conversationId or bound conversationId."
11070
+ );
11071
+ }
11072
+ validateConversationId(resolvedConversationId);
11073
+ return wrapStorage(async () => {
11074
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
11075
+ const existing = await store.get(
11076
+ mappingKey,
11077
+ { consistency: "strong" }
11078
+ );
11079
+ if (typeof existing === "string" && existing) {
11080
+ return existing;
11081
+ }
11082
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
11083
+ return String(existing.sessionId || existing.session_id);
11084
+ }
11085
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
11086
+ const binding = {
11087
+ conversationId: resolvedConversationId,
11088
+ sessionId
11089
+ };
11090
+ await store.set(mappingKey, binding);
11091
+ return sessionId;
11092
+ });
11093
+ },
10222
11094
  claudeSessionStore() {
10223
11095
  if (!claudeStoreCache) {
10224
11096
  claudeStoreCache = createClaudeSessionStore(store);
@@ -10226,7 +11098,8 @@ function createAgentMemory(store, options = {}) {
10226
11098
  return claudeStoreCache;
10227
11099
  },
10228
11100
  langgraphCheckpointer,
10229
- langgraphStore
11101
+ langgraphStore,
11102
+ state
10230
11103
  };
10231
11104
  return memory;
10232
11105
  }
@@ -10907,6 +11780,7 @@ function createAgentRuntime(options) {
10907
11780
  env,
10908
11781
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
10909
11782
  runId: run_id,
11783
+ conversationId: conversation_id,
10910
11784
  maxMessagesPerConversation: (_a = defaults == null ? void 0 : defaults.memoryQuota) == null ? void 0 : _a.maxMessagesPerConversation
10911
11785
  }),
10912
11786
  agents: {
@@ -23441,6 +24315,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
23441
24315
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
23442
24316
  var LANGGRAPH_SERDE_VERSION = 1;
23443
24317
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
24318
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
24319
+ var STATE_PREFIX = "state";
24320
+ var MAX_STATE_KEY_LENGTH = 256;
23444
24321
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
23445
24322
  var VALID_ROLES = /* @__PURE__ */ new Set([
23446
24323
  "user",
@@ -23487,6 +24364,15 @@ var MemoryStorageError = class extends Error {
23487
24364
  this.cause = cause;
23488
24365
  }
23489
24366
  };
24367
+ var MemoryCorruptError = class extends Error {
24368
+ code = "MemoryCorruptError";
24369
+ cause;
24370
+ constructor(message, cause) {
24371
+ super(message);
24372
+ this.name = "MemoryCorruptError";
24373
+ this.cause = cause;
24374
+ }
24375
+ };
23490
24376
  var dynamicImport = new Function(
23491
24377
  "specifier",
23492
24378
  "return import(specifier);"
@@ -23494,7 +24380,7 @@ var dynamicImport = new Function(
23494
24380
  var langchainLoadPromise;
23495
24381
  var langchainMessagesPromise;
23496
24382
  function isMemoryError(error51) {
23497
- return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError;
24383
+ return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError || error51 instanceof MemoryCorruptError;
23498
24384
  }
23499
24385
  async function wrapStorage(operation) {
23500
24386
  try {
@@ -23662,10 +24548,17 @@ async function reviveLangGraphJsonValue(value) {
23662
24548
  return revived;
23663
24549
  }
23664
24550
  async function deserializeLangGraphJson(value) {
23665
- if (isLangGraphSerializedJson(value)) {
23666
- return reviveLangGraphJsonValue(JSON.parse(value.data));
24551
+ try {
24552
+ if (isLangGraphSerializedJson(value)) {
24553
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
24554
+ }
24555
+ return reviveLangGraphJsonValue(value);
24556
+ } catch (error51) {
24557
+ throw new MemoryCorruptError(
24558
+ "LangGraph persisted state is corrupt or incompatible.",
24559
+ error51
24560
+ );
23667
24561
  }
23668
- return reviveLangGraphJsonValue(value);
23669
24562
  }
23670
24563
  function normalizeStoreLimit(value, fallback) {
23671
24564
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -23777,6 +24670,115 @@ function validateMessageId(messageId) {
23777
24670
  throw new MemoryValidationError("messageId is required.");
23778
24671
  }
23779
24672
  }
24673
+ function validateStateKey(key) {
24674
+ if (typeof key !== "string" || key.length === 0) {
24675
+ throw new MemoryValidationError("state key is required.");
24676
+ }
24677
+ if (key.length > MAX_STATE_KEY_LENGTH) {
24678
+ throw new MemoryValidationError(
24679
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
24680
+ );
24681
+ }
24682
+ }
24683
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
24684
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
24685
+ return;
24686
+ }
24687
+ if (typeof value === "number") {
24688
+ if (Number.isFinite(value))
24689
+ return;
24690
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
24691
+ }
24692
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
24693
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
24694
+ }
24695
+ if (typeof value !== "object") {
24696
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
24697
+ }
24698
+ if (seen.has(value)) {
24699
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
24700
+ }
24701
+ seen.add(value);
24702
+ if (Array.isArray(value)) {
24703
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
24704
+ } else if (isPlainObject(value)) {
24705
+ for (const [key, item] of Object.entries(value)) {
24706
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
24707
+ }
24708
+ } else {
24709
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
24710
+ }
24711
+ seen.delete(value);
24712
+ }
24713
+ function stateConversationPrefix(conversationId) {
24714
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
24715
+ }
24716
+ function createAgentStateStore(store, boundConversationId) {
24717
+ const requireConversation = () => {
24718
+ if (!boundConversationId) {
24719
+ throw new MemoryValidationError(
24720
+ "State operations require a bound conversationId."
24721
+ );
24722
+ }
24723
+ validateConversationId(boundConversationId);
24724
+ return boundConversationId;
24725
+ };
24726
+ return {
24727
+ async get(key) {
24728
+ validateStateKey(key);
24729
+ const conversationId = requireConversation();
24730
+ return wrapStorage(async () => {
24731
+ const raw = await store.get(
24732
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
24733
+ { consistency: "strong" }
24734
+ );
24735
+ if (raw === null)
24736
+ return null;
24737
+ if (typeof raw !== "string") {
24738
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
24739
+ }
24740
+ try {
24741
+ return JSON.parse(raw);
24742
+ } catch (error51) {
24743
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error51);
24744
+ }
24745
+ });
24746
+ },
24747
+ async set(key, value) {
24748
+ validateStateKey(key);
24749
+ const conversationId = requireConversation();
24750
+ assertStateSerializable(value);
24751
+ let serialized;
24752
+ try {
24753
+ serialized = JSON.stringify(value);
24754
+ } catch (error51) {
24755
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error51)}\`);
24756
+ }
24757
+ await wrapStorage(
24758
+ () => store.set(
24759
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
24760
+ serialized
24761
+ )
24762
+ );
24763
+ },
24764
+ async delete(key) {
24765
+ validateStateKey(key);
24766
+ const conversationId = requireConversation();
24767
+ await wrapStorage(
24768
+ () => store.delete(
24769
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
24770
+ )
24771
+ );
24772
+ }
24773
+ };
24774
+ }
24775
+ async function deleteAgentState(store, conversationId) {
24776
+ const listed = await store.list({
24777
+ prefix: stateConversationPrefix(conversationId),
24778
+ consistency: "strong"
24779
+ });
24780
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
24781
+ }
23780
24782
  function validateUserId(userId) {
23781
24783
  if (userId === void 0) {
23782
24784
  return;
@@ -23909,6 +24911,9 @@ function cursorSortKey(cursor) {
23909
24911
  const payload = decodeConversationCursor(cursor);
23910
24912
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
23911
24913
  }
24914
+ function cursorListCursor(cursor) {
24915
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
24916
+ }
23912
24917
  function indexSortKey(key, prefix) {
23913
24918
  return key.slice(prefix.length);
23914
24919
  }
@@ -24076,6 +25081,51 @@ function claudeSessionBase(projectKey, sessionId) {
24076
25081
  function claudeProjectPrefix(projectKey) {
24077
25082
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
24078
25083
  }
25084
+ function claudeSessionMappingKey(conversationId) {
25085
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
25086
+ }
25087
+ function normalizeClaudeUuid(value) {
25088
+ const trimmed = value.trim().toLowerCase();
25089
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
25090
+ }
25091
+ function claudeSessionIdFromKey(key) {
25092
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
25093
+ if (!key.startsWith(prefix)) {
25094
+ return null;
25095
+ }
25096
+ const segments = key.slice(prefix.length).split("/");
25097
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
25098
+ }
25099
+ async function deleteClaudeSessionForConversation(store, conversationId) {
25100
+ const mappingKey = claudeSessionMappingKey(conversationId);
25101
+ const mapping = await store.get(mappingKey, {
25102
+ consistency: "strong"
25103
+ });
25104
+ let sessionId = null;
25105
+ if (typeof mapping === "string") {
25106
+ sessionId = mapping;
25107
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
25108
+ sessionId = mapping.sessionId;
25109
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
25110
+ sessionId = mapping.session_id;
25111
+ }
25112
+ if (!sessionId) {
25113
+ sessionId = normalizeClaudeUuid(conversationId);
25114
+ }
25115
+ await store.delete(mappingKey);
25116
+ if (!sessionId) {
25117
+ return;
25118
+ }
25119
+ const listed = await store.list({
25120
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
25121
+ consistency: "strong"
25122
+ });
25123
+ for (const key of listed.keys) {
25124
+ if (claudeSessionIdFromKey(key) === sessionId) {
25125
+ await store.delete(key);
25126
+ }
25127
+ }
25128
+ }
24079
25129
  function claudePartsPrefix(key) {
24080
25130
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
24081
25131
  if (key.subpath) {
@@ -24113,7 +25163,9 @@ function createClaudeSessionStore(store) {
24113
25163
  consistency: "strong"
24114
25164
  });
24115
25165
  if (typeof raw !== "string") {
24116
- continue;
25166
+ throw new MemoryCorruptError(
25167
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
25168
+ );
24117
25169
  }
24118
25170
  for (const line of raw.split("\\n")) {
24119
25171
  const trimmed = line.trim();
@@ -24122,7 +25174,11 @@ function createClaudeSessionStore(store) {
24122
25174
  }
24123
25175
  try {
24124
25176
  entries.push(JSON.parse(trimmed));
24125
- } catch {
25177
+ } catch (error51) {
25178
+ throw new MemoryCorruptError(
25179
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
25180
+ error51
25181
+ );
24126
25182
  }
24127
25183
  }
24128
25184
  }
@@ -24248,8 +25304,70 @@ async function listConversationsByUser(store, userId, options) {
24248
25304
  });
24249
25305
  }
24250
25306
  async function listConversationsFromIndex(store, options) {
25307
+ if (!options.before) {
25308
+ const fast = await listConversationsFromIndexFast(store, options);
25309
+ if (fast)
25310
+ return fast;
25311
+ }
24251
25312
  return listConversationsFromIndexFull(store, options);
24252
25313
  }
25314
+ async function listConversationsFromIndexFast(store, options) {
25315
+ var _a3, _b;
25316
+ let listCursor = cursorListCursor(options.after);
25317
+ if (options.after && !listCursor) {
25318
+ return null;
25319
+ }
25320
+ const pageItems = [];
25321
+ const seen = /* @__PURE__ */ new Set();
25322
+ let lastCursor;
25323
+ while (pageItems.length < options.limit) {
25324
+ const listed = await store.list({
25325
+ prefix: options.prefix,
25326
+ cursor: listCursor,
25327
+ limit: options.limit - pageItems.length,
25328
+ paginate: false,
25329
+ consistency: "strong"
25330
+ });
25331
+ lastCursor = listed.cursor;
25332
+ if (!listed.keys.length) {
25333
+ break;
25334
+ }
25335
+ const indexItems = [...listed.keys].sort(
25336
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
25337
+ ).map((key) => {
25338
+ const conversationId = options.conversationIdFromKey(key);
25339
+ if (!conversationId || seen.has(conversationId)) {
25340
+ return null;
25341
+ }
25342
+ seen.add(conversationId);
25343
+ return {
25344
+ key,
25345
+ sortKey: indexSortKey(key, options.prefix),
25346
+ conversationId
25347
+ };
25348
+ }).filter((item) => item !== null);
25349
+ const metas = await Promise.all(
25350
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
25351
+ );
25352
+ for (let i = 0; i < indexItems.length; i++) {
25353
+ const meta3 = metas[i];
25354
+ if (meta3) {
25355
+ pageItems.push({ indexItem: indexItems[i], meta: meta3 });
25356
+ }
25357
+ }
25358
+ if (!listed.cursor) {
25359
+ break;
25360
+ }
25361
+ listCursor = listed.cursor;
25362
+ }
25363
+ const firstItem = (_a3 = pageItems[0]) == null ? void 0 : _a3.indexItem;
25364
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
25365
+ return {
25366
+ items: pageItems.map((item) => item.meta),
25367
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
25368
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
25369
+ };
25370
+ }
24253
25371
  async function listConversationsFromIndexFull(store, options) {
24254
25372
  var _a3, _b;
24255
25373
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -24686,6 +25804,7 @@ function createAgentMemory(store, options = {}) {
24686
25804
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
24687
25805
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
24688
25806
  const langgraphStore = createLangGraphStore(store);
25807
+ const state = createAgentStateStore(store, options.conversationId);
24689
25808
  let claudeStoreCache = null;
24690
25809
  let lastMessageCreatedAt = 0;
24691
25810
  const appendMessagesInternal = async (inputs) => {
@@ -24971,8 +26090,13 @@ function createAgentMemory(store, options = {}) {
24971
26090
  listMessageKeys(store, input.conversationId)
24972
26091
  ]);
24973
26092
  if (!meta3) {
26093
+ if (options.conversationId === input.conversationId) {
26094
+ await deleteAgentState(store, input.conversationId);
26095
+ }
26096
+ await deleteClaudeSessionForConversation(store, input.conversationId);
26097
+ await langgraphCheckpointer.deleteThread(input.conversationId);
24974
26098
  throw new MemoryNotFoundError(
24975
- "Conversation not found by updateConversation."
26099
+ "Conversation not found by deleteConversation."
24976
26100
  );
24977
26101
  }
24978
26102
  const deleteOps = [];
@@ -24989,6 +26113,11 @@ function createAgentMemory(store, options = {}) {
24989
26113
  deleteOps.push(store.delete(metaKey(input.conversationId)));
24990
26114
  deleteOps.push(store.delete(conversationIndexKey(meta3)));
24991
26115
  await Promise.all(deleteOps);
26116
+ if (options.conversationId === input.conversationId) {
26117
+ await deleteAgentState(store, input.conversationId);
26118
+ }
26119
+ await deleteClaudeSessionForConversation(store, input.conversationId);
26120
+ await langgraphCheckpointer.deleteThread(input.conversationId);
24992
26121
  });
24993
26122
  },
24994
26123
  async updateConversation(input) {
@@ -25024,14 +26153,49 @@ function createAgentMemory(store, options = {}) {
25024
26153
  }));
25025
26154
  },
25026
26155
  openaiSession(sessionId, sessionOptions = {}) {
26156
+ const boundSessionId = sessionId ?? options.conversationId;
26157
+ if (!boundSessionId) {
26158
+ throw new MemoryValidationError(
26159
+ "openaiSession requires a sessionId or bound conversationId."
26160
+ );
26161
+ }
25027
26162
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
25028
26163
  return createOpenAISession(
25029
26164
  memory,
25030
- sessionId,
26165
+ boundSessionId,
25031
26166
  maxItems,
25032
26167
  appendMessagesInternal
25033
26168
  );
25034
26169
  },
26170
+ async claudeSessionBinding(conversationId) {
26171
+ const resolvedConversationId = conversationId ?? options.conversationId;
26172
+ if (!resolvedConversationId) {
26173
+ throw new MemoryValidationError(
26174
+ "claudeSessionBinding requires a conversationId or bound conversationId."
26175
+ );
26176
+ }
26177
+ validateConversationId(resolvedConversationId);
26178
+ return wrapStorage(async () => {
26179
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
26180
+ const existing = await store.get(
26181
+ mappingKey,
26182
+ { consistency: "strong" }
26183
+ );
26184
+ if (typeof existing === "string" && existing) {
26185
+ return existing;
26186
+ }
26187
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
26188
+ return String(existing.sessionId || existing.session_id);
26189
+ }
26190
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
26191
+ const binding = {
26192
+ conversationId: resolvedConversationId,
26193
+ sessionId
26194
+ };
26195
+ await store.set(mappingKey, binding);
26196
+ return sessionId;
26197
+ });
26198
+ },
25035
26199
  claudeSessionStore() {
25036
26200
  if (!claudeStoreCache) {
25037
26201
  claudeStoreCache = createClaudeSessionStore(store);
@@ -25039,7 +26203,8 @@ function createAgentMemory(store, options = {}) {
25039
26203
  return claudeStoreCache;
25040
26204
  },
25041
26205
  langgraphCheckpointer,
25042
- langgraphStore
26206
+ langgraphStore,
26207
+ state
25043
26208
  };
25044
26209
  return memory;
25045
26210
  }
@@ -25720,6 +26885,7 @@ function createAgentRuntime(options) {
25720
26885
  env,
25721
26886
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
25722
26887
  runId: run_id,
26888
+ conversationId: conversation_id,
25723
26889
  maxMessagesPerConversation: (_a3 = defaults2 == null ? void 0 : defaults2.memoryQuota) == null ? void 0 : _a3.maxMessagesPerConversation
25724
26890
  }),
25725
26891
  agents: {
@@ -48276,6 +49442,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
48276
49442
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
48277
49443
  var LANGGRAPH_SERDE_VERSION = 1;
48278
49444
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
49445
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
49446
+ var STATE_PREFIX = "state";
49447
+ var MAX_STATE_KEY_LENGTH = 256;
48279
49448
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
48280
49449
  var VALID_ROLES = /* @__PURE__ */ new Set([
48281
49450
  "user",
@@ -48322,6 +49491,15 @@ var MemoryStorageError = class extends Error {
48322
49491
  this.cause = cause;
48323
49492
  }
48324
49493
  };
49494
+ var MemoryCorruptError = class extends Error {
49495
+ code = "MemoryCorruptError";
49496
+ cause;
49497
+ constructor(message, cause) {
49498
+ super(message);
49499
+ this.name = "MemoryCorruptError";
49500
+ this.cause = cause;
49501
+ }
49502
+ };
48325
49503
  var dynamicImport = new Function(
48326
49504
  "specifier",
48327
49505
  "return import(specifier);"
@@ -48329,7 +49507,7 @@ var dynamicImport = new Function(
48329
49507
  var langchainLoadPromise;
48330
49508
  var langchainMessagesPromise;
48331
49509
  function isMemoryError(error) {
48332
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
49510
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
48333
49511
  }
48334
49512
  async function wrapStorage(operation) {
48335
49513
  try {
@@ -48497,10 +49675,17 @@ async function reviveLangGraphJsonValue(value) {
48497
49675
  return revived;
48498
49676
  }
48499
49677
  async function deserializeLangGraphJson(value) {
48500
- if (isLangGraphSerializedJson(value)) {
48501
- return reviveLangGraphJsonValue(JSON.parse(value.data));
49678
+ try {
49679
+ if (isLangGraphSerializedJson(value)) {
49680
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
49681
+ }
49682
+ return reviveLangGraphJsonValue(value);
49683
+ } catch (error) {
49684
+ throw new MemoryCorruptError(
49685
+ "LangGraph persisted state is corrupt or incompatible.",
49686
+ error
49687
+ );
48502
49688
  }
48503
- return reviveLangGraphJsonValue(value);
48504
49689
  }
48505
49690
  function normalizeStoreLimit(value, fallback) {
48506
49691
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -48612,6 +49797,115 @@ function validateMessageId(messageId) {
48612
49797
  throw new MemoryValidationError("messageId is required.");
48613
49798
  }
48614
49799
  }
49800
+ function validateStateKey(key) {
49801
+ if (typeof key !== "string" || key.length === 0) {
49802
+ throw new MemoryValidationError("state key is required.");
49803
+ }
49804
+ if (key.length > MAX_STATE_KEY_LENGTH) {
49805
+ throw new MemoryValidationError(
49806
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
49807
+ );
49808
+ }
49809
+ }
49810
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
49811
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
49812
+ return;
49813
+ }
49814
+ if (typeof value === "number") {
49815
+ if (Number.isFinite(value))
49816
+ return;
49817
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
49818
+ }
49819
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
49820
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
49821
+ }
49822
+ if (typeof value !== "object") {
49823
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
49824
+ }
49825
+ if (seen.has(value)) {
49826
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
49827
+ }
49828
+ seen.add(value);
49829
+ if (Array.isArray(value)) {
49830
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
49831
+ } else if (isPlainObject(value)) {
49832
+ for (const [key, item] of Object.entries(value)) {
49833
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
49834
+ }
49835
+ } else {
49836
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
49837
+ }
49838
+ seen.delete(value);
49839
+ }
49840
+ function stateConversationPrefix(conversationId) {
49841
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
49842
+ }
49843
+ function createAgentStateStore(store, boundConversationId) {
49844
+ const requireConversation = () => {
49845
+ if (!boundConversationId) {
49846
+ throw new MemoryValidationError(
49847
+ "State operations require a bound conversationId."
49848
+ );
49849
+ }
49850
+ validateConversationId(boundConversationId);
49851
+ return boundConversationId;
49852
+ };
49853
+ return {
49854
+ async get(key) {
49855
+ validateStateKey(key);
49856
+ const conversationId = requireConversation();
49857
+ return wrapStorage(async () => {
49858
+ const raw = await store.get(
49859
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
49860
+ { consistency: "strong" }
49861
+ );
49862
+ if (raw === null)
49863
+ return null;
49864
+ if (typeof raw !== "string") {
49865
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
49866
+ }
49867
+ try {
49868
+ return JSON.parse(raw);
49869
+ } catch (error) {
49870
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
49871
+ }
49872
+ });
49873
+ },
49874
+ async set(key, value) {
49875
+ validateStateKey(key);
49876
+ const conversationId = requireConversation();
49877
+ assertStateSerializable(value);
49878
+ let serialized;
49879
+ try {
49880
+ serialized = JSON.stringify(value);
49881
+ } catch (error) {
49882
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
49883
+ }
49884
+ await wrapStorage(
49885
+ () => store.set(
49886
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
49887
+ serialized
49888
+ )
49889
+ );
49890
+ },
49891
+ async delete(key) {
49892
+ validateStateKey(key);
49893
+ const conversationId = requireConversation();
49894
+ await wrapStorage(
49895
+ () => store.delete(
49896
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
49897
+ )
49898
+ );
49899
+ }
49900
+ };
49901
+ }
49902
+ async function deleteAgentState(store, conversationId) {
49903
+ const listed = await store.list({
49904
+ prefix: stateConversationPrefix(conversationId),
49905
+ consistency: "strong"
49906
+ });
49907
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
49908
+ }
48615
49909
  function validateUserId(userId) {
48616
49910
  if (userId === void 0) {
48617
49911
  return;
@@ -48744,6 +50038,9 @@ function cursorSortKey(cursor) {
48744
50038
  const payload = decodeConversationCursor(cursor);
48745
50039
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
48746
50040
  }
50041
+ function cursorListCursor(cursor) {
50042
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
50043
+ }
48747
50044
  function indexSortKey(key, prefix) {
48748
50045
  return key.slice(prefix.length);
48749
50046
  }
@@ -48911,6 +50208,51 @@ function claudeSessionBase(projectKey, sessionId) {
48911
50208
  function claudeProjectPrefix(projectKey) {
48912
50209
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
48913
50210
  }
50211
+ function claudeSessionMappingKey(conversationId) {
50212
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
50213
+ }
50214
+ function normalizeClaudeUuid(value) {
50215
+ const trimmed = value.trim().toLowerCase();
50216
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
50217
+ }
50218
+ function claudeSessionIdFromKey(key) {
50219
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
50220
+ if (!key.startsWith(prefix)) {
50221
+ return null;
50222
+ }
50223
+ const segments = key.slice(prefix.length).split("/");
50224
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
50225
+ }
50226
+ async function deleteClaudeSessionForConversation(store, conversationId) {
50227
+ const mappingKey = claudeSessionMappingKey(conversationId);
50228
+ const mapping = await store.get(mappingKey, {
50229
+ consistency: "strong"
50230
+ });
50231
+ let sessionId = null;
50232
+ if (typeof mapping === "string") {
50233
+ sessionId = mapping;
50234
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
50235
+ sessionId = mapping.sessionId;
50236
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
50237
+ sessionId = mapping.session_id;
50238
+ }
50239
+ if (!sessionId) {
50240
+ sessionId = normalizeClaudeUuid(conversationId);
50241
+ }
50242
+ await store.delete(mappingKey);
50243
+ if (!sessionId) {
50244
+ return;
50245
+ }
50246
+ const listed = await store.list({
50247
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
50248
+ consistency: "strong"
50249
+ });
50250
+ for (const key of listed.keys) {
50251
+ if (claudeSessionIdFromKey(key) === sessionId) {
50252
+ await store.delete(key);
50253
+ }
50254
+ }
50255
+ }
48914
50256
  function claudePartsPrefix(key) {
48915
50257
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
48916
50258
  if (key.subpath) {
@@ -48948,7 +50290,9 @@ function createClaudeSessionStore(store) {
48948
50290
  consistency: "strong"
48949
50291
  });
48950
50292
  if (typeof raw !== "string") {
48951
- continue;
50293
+ throw new MemoryCorruptError(
50294
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
50295
+ );
48952
50296
  }
48953
50297
  for (const line of raw.split("\\n")) {
48954
50298
  const trimmed = line.trim();
@@ -48957,7 +50301,11 @@ function createClaudeSessionStore(store) {
48957
50301
  }
48958
50302
  try {
48959
50303
  entries.push(JSON.parse(trimmed));
48960
- } catch {
50304
+ } catch (error) {
50305
+ throw new MemoryCorruptError(
50306
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
50307
+ error
50308
+ );
48961
50309
  }
48962
50310
  }
48963
50311
  }
@@ -49083,8 +50431,70 @@ async function listConversationsByUser(store, userId, options) {
49083
50431
  });
49084
50432
  }
49085
50433
  async function listConversationsFromIndex(store, options) {
50434
+ if (!options.before) {
50435
+ const fast = await listConversationsFromIndexFast(store, options);
50436
+ if (fast)
50437
+ return fast;
50438
+ }
49086
50439
  return listConversationsFromIndexFull(store, options);
49087
50440
  }
50441
+ async function listConversationsFromIndexFast(store, options) {
50442
+ var _a, _b;
50443
+ let listCursor = cursorListCursor(options.after);
50444
+ if (options.after && !listCursor) {
50445
+ return null;
50446
+ }
50447
+ const pageItems = [];
50448
+ const seen = /* @__PURE__ */ new Set();
50449
+ let lastCursor;
50450
+ while (pageItems.length < options.limit) {
50451
+ const listed = await store.list({
50452
+ prefix: options.prefix,
50453
+ cursor: listCursor,
50454
+ limit: options.limit - pageItems.length,
50455
+ paginate: false,
50456
+ consistency: "strong"
50457
+ });
50458
+ lastCursor = listed.cursor;
50459
+ if (!listed.keys.length) {
50460
+ break;
50461
+ }
50462
+ const indexItems = [...listed.keys].sort(
50463
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
50464
+ ).map((key) => {
50465
+ const conversationId = options.conversationIdFromKey(key);
50466
+ if (!conversationId || seen.has(conversationId)) {
50467
+ return null;
50468
+ }
50469
+ seen.add(conversationId);
50470
+ return {
50471
+ key,
50472
+ sortKey: indexSortKey(key, options.prefix),
50473
+ conversationId
50474
+ };
50475
+ }).filter((item) => item !== null);
50476
+ const metas = await Promise.all(
50477
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
50478
+ );
50479
+ for (let i = 0; i < indexItems.length; i++) {
50480
+ const meta = metas[i];
50481
+ if (meta) {
50482
+ pageItems.push({ indexItem: indexItems[i], meta });
50483
+ }
50484
+ }
50485
+ if (!listed.cursor) {
50486
+ break;
50487
+ }
50488
+ listCursor = listed.cursor;
50489
+ }
50490
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
50491
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
50492
+ return {
50493
+ items: pageItems.map((item) => item.meta),
50494
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
50495
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
50496
+ };
50497
+ }
49088
50498
  async function listConversationsFromIndexFull(store, options) {
49089
50499
  var _a, _b;
49090
50500
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -49521,6 +50931,7 @@ function createAgentMemory(store, options = {}) {
49521
50931
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
49522
50932
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
49523
50933
  const langgraphStore = createLangGraphStore(store);
50934
+ const state = createAgentStateStore(store, options.conversationId);
49524
50935
  let claudeStoreCache = null;
49525
50936
  let lastMessageCreatedAt = 0;
49526
50937
  const appendMessagesInternal = async (inputs) => {
@@ -49806,8 +51217,13 @@ function createAgentMemory(store, options = {}) {
49806
51217
  listMessageKeys(store, input.conversationId)
49807
51218
  ]);
49808
51219
  if (!meta) {
51220
+ if (options.conversationId === input.conversationId) {
51221
+ await deleteAgentState(store, input.conversationId);
51222
+ }
51223
+ await deleteClaudeSessionForConversation(store, input.conversationId);
51224
+ await langgraphCheckpointer.deleteThread(input.conversationId);
49809
51225
  throw new MemoryNotFoundError(
49810
- "Conversation not found by updateConversation."
51226
+ "Conversation not found by deleteConversation."
49811
51227
  );
49812
51228
  }
49813
51229
  const deleteOps = [];
@@ -49824,6 +51240,11 @@ function createAgentMemory(store, options = {}) {
49824
51240
  deleteOps.push(store.delete(metaKey(input.conversationId)));
49825
51241
  deleteOps.push(store.delete(conversationIndexKey(meta)));
49826
51242
  await Promise.all(deleteOps);
51243
+ if (options.conversationId === input.conversationId) {
51244
+ await deleteAgentState(store, input.conversationId);
51245
+ }
51246
+ await deleteClaudeSessionForConversation(store, input.conversationId);
51247
+ await langgraphCheckpointer.deleteThread(input.conversationId);
49827
51248
  });
49828
51249
  },
49829
51250
  async updateConversation(input) {
@@ -49859,14 +51280,49 @@ function createAgentMemory(store, options = {}) {
49859
51280
  }));
49860
51281
  },
49861
51282
  openaiSession(sessionId, sessionOptions = {}) {
51283
+ const boundSessionId = sessionId ?? options.conversationId;
51284
+ if (!boundSessionId) {
51285
+ throw new MemoryValidationError(
51286
+ "openaiSession requires a sessionId or bound conversationId."
51287
+ );
51288
+ }
49862
51289
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
49863
51290
  return createOpenAISession(
49864
51291
  memory,
49865
- sessionId,
51292
+ boundSessionId,
49866
51293
  maxItems,
49867
51294
  appendMessagesInternal
49868
51295
  );
49869
51296
  },
51297
+ async claudeSessionBinding(conversationId) {
51298
+ const resolvedConversationId = conversationId ?? options.conversationId;
51299
+ if (!resolvedConversationId) {
51300
+ throw new MemoryValidationError(
51301
+ "claudeSessionBinding requires a conversationId or bound conversationId."
51302
+ );
51303
+ }
51304
+ validateConversationId(resolvedConversationId);
51305
+ return wrapStorage(async () => {
51306
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
51307
+ const existing = await store.get(
51308
+ mappingKey,
51309
+ { consistency: "strong" }
51310
+ );
51311
+ if (typeof existing === "string" && existing) {
51312
+ return existing;
51313
+ }
51314
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
51315
+ return String(existing.sessionId || existing.session_id);
51316
+ }
51317
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
51318
+ const binding = {
51319
+ conversationId: resolvedConversationId,
51320
+ sessionId
51321
+ };
51322
+ await store.set(mappingKey, binding);
51323
+ return sessionId;
51324
+ });
51325
+ },
49870
51326
  claudeSessionStore() {
49871
51327
  if (!claudeStoreCache) {
49872
51328
  claudeStoreCache = createClaudeSessionStore(store);
@@ -49874,7 +51330,8 @@ function createAgentMemory(store, options = {}) {
49874
51330
  return claudeStoreCache;
49875
51331
  },
49876
51332
  langgraphCheckpointer,
49877
- langgraphStore
51333
+ langgraphStore,
51334
+ state
49878
51335
  };
49879
51336
  return memory;
49880
51337
  }
@@ -50555,6 +52012,7 @@ function createAgentRuntime(options) {
50555
52012
  env,
50556
52013
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
50557
52014
  runId: run_id,
52015
+ conversationId: conversation_id,
50558
52016
  maxMessagesPerConversation: (_a = defaults == null ? void 0 : defaults.memoryQuota) == null ? void 0 : _a.maxMessagesPerConversation
50559
52017
  }),
50560
52018
  agents: {
@@ -63735,6 +65193,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
63735
65193
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
63736
65194
  var LANGGRAPH_SERDE_VERSION = 1;
63737
65195
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
65196
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
65197
+ var STATE_PREFIX = "state";
65198
+ var MAX_STATE_KEY_LENGTH = 256;
63738
65199
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
63739
65200
  var VALID_ROLES = /* @__PURE__ */ new Set([
63740
65201
  "user",
@@ -63781,6 +65242,15 @@ var MemoryStorageError = class extends Error {
63781
65242
  this.cause = cause;
63782
65243
  }
63783
65244
  };
65245
+ var MemoryCorruptError = class extends Error {
65246
+ code = "MemoryCorruptError";
65247
+ cause;
65248
+ constructor(message, cause) {
65249
+ super(message);
65250
+ this.name = "MemoryCorruptError";
65251
+ this.cause = cause;
65252
+ }
65253
+ };
63784
65254
  var dynamicImport = new Function(
63785
65255
  "specifier",
63786
65256
  "return import(specifier);"
@@ -63788,7 +65258,7 @@ var dynamicImport = new Function(
63788
65258
  var langchainLoadPromise;
63789
65259
  var langchainMessagesPromise;
63790
65260
  function isMemoryError(error51) {
63791
- return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError;
65261
+ return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError || error51 instanceof MemoryCorruptError;
63792
65262
  }
63793
65263
  async function wrapStorage(operation) {
63794
65264
  try {
@@ -63956,10 +65426,17 @@ async function reviveLangGraphJsonValue(value) {
63956
65426
  return revived;
63957
65427
  }
63958
65428
  async function deserializeLangGraphJson(value) {
63959
- if (isLangGraphSerializedJson(value)) {
63960
- return reviveLangGraphJsonValue(JSON.parse(value.data));
65429
+ try {
65430
+ if (isLangGraphSerializedJson(value)) {
65431
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
65432
+ }
65433
+ return reviveLangGraphJsonValue(value);
65434
+ } catch (error51) {
65435
+ throw new MemoryCorruptError(
65436
+ "LangGraph persisted state is corrupt or incompatible.",
65437
+ error51
65438
+ );
63961
65439
  }
63962
- return reviveLangGraphJsonValue(value);
63963
65440
  }
63964
65441
  function normalizeStoreLimit(value, fallback) {
63965
65442
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -64071,6 +65548,115 @@ function validateMessageId(messageId) {
64071
65548
  throw new MemoryValidationError("messageId is required.");
64072
65549
  }
64073
65550
  }
65551
+ function validateStateKey(key) {
65552
+ if (typeof key !== "string" || key.length === 0) {
65553
+ throw new MemoryValidationError("state key is required.");
65554
+ }
65555
+ if (key.length > MAX_STATE_KEY_LENGTH) {
65556
+ throw new MemoryValidationError(
65557
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
65558
+ );
65559
+ }
65560
+ }
65561
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
65562
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
65563
+ return;
65564
+ }
65565
+ if (typeof value === "number") {
65566
+ if (Number.isFinite(value))
65567
+ return;
65568
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
65569
+ }
65570
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
65571
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
65572
+ }
65573
+ if (typeof value !== "object") {
65574
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
65575
+ }
65576
+ if (seen.has(value)) {
65577
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
65578
+ }
65579
+ seen.add(value);
65580
+ if (Array.isArray(value)) {
65581
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
65582
+ } else if (isPlainObject(value)) {
65583
+ for (const [key, item] of Object.entries(value)) {
65584
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
65585
+ }
65586
+ } else {
65587
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
65588
+ }
65589
+ seen.delete(value);
65590
+ }
65591
+ function stateConversationPrefix(conversationId) {
65592
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
65593
+ }
65594
+ function createAgentStateStore(store, boundConversationId) {
65595
+ const requireConversation = () => {
65596
+ if (!boundConversationId) {
65597
+ throw new MemoryValidationError(
65598
+ "State operations require a bound conversationId."
65599
+ );
65600
+ }
65601
+ validateConversationId(boundConversationId);
65602
+ return boundConversationId;
65603
+ };
65604
+ return {
65605
+ async get(key) {
65606
+ validateStateKey(key);
65607
+ const conversationId = requireConversation();
65608
+ return wrapStorage(async () => {
65609
+ const raw = await store.get(
65610
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
65611
+ { consistency: "strong" }
65612
+ );
65613
+ if (raw === null)
65614
+ return null;
65615
+ if (typeof raw !== "string") {
65616
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
65617
+ }
65618
+ try {
65619
+ return JSON.parse(raw);
65620
+ } catch (error51) {
65621
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error51);
65622
+ }
65623
+ });
65624
+ },
65625
+ async set(key, value) {
65626
+ validateStateKey(key);
65627
+ const conversationId = requireConversation();
65628
+ assertStateSerializable(value);
65629
+ let serialized;
65630
+ try {
65631
+ serialized = JSON.stringify(value);
65632
+ } catch (error51) {
65633
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error51)}\`);
65634
+ }
65635
+ await wrapStorage(
65636
+ () => store.set(
65637
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
65638
+ serialized
65639
+ )
65640
+ );
65641
+ },
65642
+ async delete(key) {
65643
+ validateStateKey(key);
65644
+ const conversationId = requireConversation();
65645
+ await wrapStorage(
65646
+ () => store.delete(
65647
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
65648
+ )
65649
+ );
65650
+ }
65651
+ };
65652
+ }
65653
+ async function deleteAgentState(store, conversationId) {
65654
+ const listed = await store.list({
65655
+ prefix: stateConversationPrefix(conversationId),
65656
+ consistency: "strong"
65657
+ });
65658
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
65659
+ }
64074
65660
  function validateUserId(userId) {
64075
65661
  if (userId === void 0) {
64076
65662
  return;
@@ -64203,6 +65789,9 @@ function cursorSortKey(cursor) {
64203
65789
  const payload = decodeConversationCursor(cursor);
64204
65790
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
64205
65791
  }
65792
+ function cursorListCursor(cursor) {
65793
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
65794
+ }
64206
65795
  function indexSortKey(key, prefix) {
64207
65796
  return key.slice(prefix.length);
64208
65797
  }
@@ -64370,6 +65959,51 @@ function claudeSessionBase(projectKey, sessionId) {
64370
65959
  function claudeProjectPrefix(projectKey) {
64371
65960
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
64372
65961
  }
65962
+ function claudeSessionMappingKey(conversationId) {
65963
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
65964
+ }
65965
+ function normalizeClaudeUuid(value) {
65966
+ const trimmed = value.trim().toLowerCase();
65967
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
65968
+ }
65969
+ function claudeSessionIdFromKey(key) {
65970
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
65971
+ if (!key.startsWith(prefix)) {
65972
+ return null;
65973
+ }
65974
+ const segments = key.slice(prefix.length).split("/");
65975
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
65976
+ }
65977
+ async function deleteClaudeSessionForConversation(store, conversationId) {
65978
+ const mappingKey = claudeSessionMappingKey(conversationId);
65979
+ const mapping = await store.get(mappingKey, {
65980
+ consistency: "strong"
65981
+ });
65982
+ let sessionId = null;
65983
+ if (typeof mapping === "string") {
65984
+ sessionId = mapping;
65985
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
65986
+ sessionId = mapping.sessionId;
65987
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
65988
+ sessionId = mapping.session_id;
65989
+ }
65990
+ if (!sessionId) {
65991
+ sessionId = normalizeClaudeUuid(conversationId);
65992
+ }
65993
+ await store.delete(mappingKey);
65994
+ if (!sessionId) {
65995
+ return;
65996
+ }
65997
+ const listed = await store.list({
65998
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
65999
+ consistency: "strong"
66000
+ });
66001
+ for (const key of listed.keys) {
66002
+ if (claudeSessionIdFromKey(key) === sessionId) {
66003
+ await store.delete(key);
66004
+ }
66005
+ }
66006
+ }
64373
66007
  function claudePartsPrefix(key) {
64374
66008
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
64375
66009
  if (key.subpath) {
@@ -64407,7 +66041,9 @@ function createClaudeSessionStore(store) {
64407
66041
  consistency: "strong"
64408
66042
  });
64409
66043
  if (typeof raw !== "string") {
64410
- continue;
66044
+ throw new MemoryCorruptError(
66045
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
66046
+ );
64411
66047
  }
64412
66048
  for (const line of raw.split("\\n")) {
64413
66049
  const trimmed = line.trim();
@@ -64416,7 +66052,11 @@ function createClaudeSessionStore(store) {
64416
66052
  }
64417
66053
  try {
64418
66054
  entries.push(JSON.parse(trimmed));
64419
- } catch {
66055
+ } catch (error51) {
66056
+ throw new MemoryCorruptError(
66057
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
66058
+ error51
66059
+ );
64420
66060
  }
64421
66061
  }
64422
66062
  }
@@ -64542,8 +66182,70 @@ async function listConversationsByUser(store, userId, options) {
64542
66182
  });
64543
66183
  }
64544
66184
  async function listConversationsFromIndex(store, options) {
66185
+ if (!options.before) {
66186
+ const fast = await listConversationsFromIndexFast(store, options);
66187
+ if (fast)
66188
+ return fast;
66189
+ }
64545
66190
  return listConversationsFromIndexFull(store, options);
64546
66191
  }
66192
+ async function listConversationsFromIndexFast(store, options) {
66193
+ var _a3, _b;
66194
+ let listCursor = cursorListCursor(options.after);
66195
+ if (options.after && !listCursor) {
66196
+ return null;
66197
+ }
66198
+ const pageItems = [];
66199
+ const seen = /* @__PURE__ */ new Set();
66200
+ let lastCursor;
66201
+ while (pageItems.length < options.limit) {
66202
+ const listed = await store.list({
66203
+ prefix: options.prefix,
66204
+ cursor: listCursor,
66205
+ limit: options.limit - pageItems.length,
66206
+ paginate: false,
66207
+ consistency: "strong"
66208
+ });
66209
+ lastCursor = listed.cursor;
66210
+ if (!listed.keys.length) {
66211
+ break;
66212
+ }
66213
+ const indexItems = [...listed.keys].sort(
66214
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
66215
+ ).map((key) => {
66216
+ const conversationId = options.conversationIdFromKey(key);
66217
+ if (!conversationId || seen.has(conversationId)) {
66218
+ return null;
66219
+ }
66220
+ seen.add(conversationId);
66221
+ return {
66222
+ key,
66223
+ sortKey: indexSortKey(key, options.prefix),
66224
+ conversationId
66225
+ };
66226
+ }).filter((item) => item !== null);
66227
+ const metas = await Promise.all(
66228
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
66229
+ );
66230
+ for (let i = 0; i < indexItems.length; i++) {
66231
+ const meta3 = metas[i];
66232
+ if (meta3) {
66233
+ pageItems.push({ indexItem: indexItems[i], meta: meta3 });
66234
+ }
66235
+ }
66236
+ if (!listed.cursor) {
66237
+ break;
66238
+ }
66239
+ listCursor = listed.cursor;
66240
+ }
66241
+ const firstItem = (_a3 = pageItems[0]) == null ? void 0 : _a3.indexItem;
66242
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
66243
+ return {
66244
+ items: pageItems.map((item) => item.meta),
66245
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
66246
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
66247
+ };
66248
+ }
64547
66249
  async function listConversationsFromIndexFull(store, options) {
64548
66250
  var _a3, _b;
64549
66251
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -64980,6 +66682,7 @@ function createAgentMemory(store, options = {}) {
64980
66682
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
64981
66683
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
64982
66684
  const langgraphStore = createLangGraphStore(store);
66685
+ const state = createAgentStateStore(store, options.conversationId);
64983
66686
  let claudeStoreCache = null;
64984
66687
  let lastMessageCreatedAt = 0;
64985
66688
  const appendMessagesInternal = async (inputs) => {
@@ -65265,8 +66968,13 @@ function createAgentMemory(store, options = {}) {
65265
66968
  listMessageKeys(store, input.conversationId)
65266
66969
  ]);
65267
66970
  if (!meta3) {
66971
+ if (options.conversationId === input.conversationId) {
66972
+ await deleteAgentState(store, input.conversationId);
66973
+ }
66974
+ await deleteClaudeSessionForConversation(store, input.conversationId);
66975
+ await langgraphCheckpointer.deleteThread(input.conversationId);
65268
66976
  throw new MemoryNotFoundError(
65269
- "Conversation not found by updateConversation."
66977
+ "Conversation not found by deleteConversation."
65270
66978
  );
65271
66979
  }
65272
66980
  const deleteOps = [];
@@ -65283,6 +66991,11 @@ function createAgentMemory(store, options = {}) {
65283
66991
  deleteOps.push(store.delete(metaKey(input.conversationId)));
65284
66992
  deleteOps.push(store.delete(conversationIndexKey(meta3)));
65285
66993
  await Promise.all(deleteOps);
66994
+ if (options.conversationId === input.conversationId) {
66995
+ await deleteAgentState(store, input.conversationId);
66996
+ }
66997
+ await deleteClaudeSessionForConversation(store, input.conversationId);
66998
+ await langgraphCheckpointer.deleteThread(input.conversationId);
65286
66999
  });
65287
67000
  },
65288
67001
  async updateConversation(input) {
@@ -65318,14 +67031,49 @@ function createAgentMemory(store, options = {}) {
65318
67031
  }));
65319
67032
  },
65320
67033
  openaiSession(sessionId, sessionOptions = {}) {
67034
+ const boundSessionId = sessionId ?? options.conversationId;
67035
+ if (!boundSessionId) {
67036
+ throw new MemoryValidationError(
67037
+ "openaiSession requires a sessionId or bound conversationId."
67038
+ );
67039
+ }
65321
67040
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
65322
67041
  return createOpenAISession(
65323
67042
  memory,
65324
- sessionId,
67043
+ boundSessionId,
65325
67044
  maxItems,
65326
67045
  appendMessagesInternal
65327
67046
  );
65328
67047
  },
67048
+ async claudeSessionBinding(conversationId) {
67049
+ const resolvedConversationId = conversationId ?? options.conversationId;
67050
+ if (!resolvedConversationId) {
67051
+ throw new MemoryValidationError(
67052
+ "claudeSessionBinding requires a conversationId or bound conversationId."
67053
+ );
67054
+ }
67055
+ validateConversationId(resolvedConversationId);
67056
+ return wrapStorage(async () => {
67057
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
67058
+ const existing = await store.get(
67059
+ mappingKey,
67060
+ { consistency: "strong" }
67061
+ );
67062
+ if (typeof existing === "string" && existing) {
67063
+ return existing;
67064
+ }
67065
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
67066
+ return String(existing.sessionId || existing.session_id);
67067
+ }
67068
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
67069
+ const binding = {
67070
+ conversationId: resolvedConversationId,
67071
+ sessionId
67072
+ };
67073
+ await store.set(mappingKey, binding);
67074
+ return sessionId;
67075
+ });
67076
+ },
65329
67077
  claudeSessionStore() {
65330
67078
  if (!claudeStoreCache) {
65331
67079
  claudeStoreCache = createClaudeSessionStore(store);
@@ -65333,7 +67081,8 @@ function createAgentMemory(store, options = {}) {
65333
67081
  return claudeStoreCache;
65334
67082
  },
65335
67083
  langgraphCheckpointer,
65336
- langgraphStore
67084
+ langgraphStore,
67085
+ state
65337
67086
  };
65338
67087
  return memory;
65339
67088
  }
@@ -66014,6 +67763,7 @@ function createAgentRuntime(options) {
66014
67763
  env,
66015
67764
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
66016
67765
  runId: run_id,
67766
+ conversationId: conversation_id,
66017
67767
  maxMessagesPerConversation: (_a3 = defaults2 == null ? void 0 : defaults2.memoryQuota) == null ? void 0 : _a3.maxMessagesPerConversation
66018
67768
  }),
66019
67769
  agents: {