ttp-agent-sdk 2.0.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-widget.js","mappings":";CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAqB,YAAID,IAEzBD,EAAkB,YAAIC,GACvB,CATD,CASGK,KAAM,I,wCCNPH,EAAOD,QAAU,EAAjB,I,kBCQEK,EAAqBC,OAAOC,IAAI,8BAEpC,SAASC,EAAQC,EAAMC,EAAQC,GAC7B,IAAIC,EAAM,KAGV,QAFA,IAAWD,IAAaC,EAAM,GAAKD,QACnC,IAAWD,EAAOE,MAAQA,EAAM,GAAKF,EAAOE,KACxC,QAASF,EAEX,IAAK,IAAIG,KADTF,EAAW,CAAC,EACSD,EACnB,QAAUG,IAAaF,EAASE,GAAYH,EAAOG,SAChDF,EAAWD,EAElB,OADAA,EAASC,EAASG,IACX,CACLC,SAAUV,EACVI,KAAMA,EACNG,IAAKA,EACLE,SAAK,IAAWJ,EAASA,EAAS,KAClCM,MAAOL,EAEX,CAlBwBL,OAAOC,IAAI,kBAoBnCP,EAAQiB,IAAMT,EACdR,EAAQkB,KAAOV,C,gBC9BbP,EAAOD,QAAU,EAAjB,I,cCQuBM,OAAOC,IAAI,8BACdD,OAAOC,IAAI,gBACTD,OAAOC,IAAI,kBACRD,OAAOC,IAAI,qBACdD,OAAOC,IAAI,kBACXD,OAAOC,IAAI,kBACZD,OAAOC,IAAI,iBACPD,OAAOC,IAAI,qBACdD,OAAOC,IAAI,kBACfD,OAAOC,IAAI,cACXD,OAAOC,IAAI,cACPD,OAAOC,IAAI,kBACTD,OAAOa,S,IAQ7BC,EAAuB,CACvBC,UAAW,WACT,OAAO,CACT,EACAC,mBAAoB,WAAa,EACjCC,oBAAqB,WAAa,EAClCC,gBAAiB,WAAa,GAEhCC,EAASC,OAAOD,OAChBE,EAAc,CAAC,EACjB,SAASC,EAAUZ,EAAOa,EAASC,GACjC1B,KAAKY,MAAQA,EACbZ,KAAKyB,QAAUA,EACfzB,KAAK2B,KAAOJ,EACZvB,KAAK0B,QAAUA,GAAWV,CAC5B,CAgBA,SAASY,IAAkB,CAE3B,SAASC,EAAcjB,EAAOa,EAASC,GACrC1B,KAAKY,MAAQA,EACbZ,KAAKyB,QAAUA,EACfzB,KAAK2B,KAAOJ,EACZvB,KAAK0B,QAAUA,GAAWV,CAC5B,CAtBAQ,EAAUM,UAAUC,iBAAmB,CAAC,EACxCP,EAAUM,UAAUE,SAAW,SAAUC,EAAcC,GACrD,GACE,iBAAoBD,GACpB,mBAAsBA,GACtB,MAAQA,EAER,MAAME,MACJ,0GAEJnC,KAAK0B,QAAQN,gBAAgBpB,KAAMiC,EAAcC,EAAU,WAC7D,EACAV,EAAUM,UAAUM,YAAc,SAAUF,GAC1ClC,KAAK0B,QAAQR,mBAAmBlB,KAAMkC,EAAU,cAClD,EAEAN,EAAeE,UAAYN,EAAUM,UAOrC,IAAIO,EAA0BR,EAAcC,UAAY,IAAIF,EAC5DS,EAAuBC,YAAcT,EACrCR,EAAOgB,EAAwBb,EAAUM,WACzCO,EAAuBE,sBAAuB,EAC5BC,MAAMC,QAExB,IAAIC,EAAuB,CAAEC,EAAG,KAAMC,EAAG,KAAMC,EAAG,KAAMC,EAAG,MACxCxB,OAAOQ,UAAUiB,eA8MhC,mBAAsBC,aAClBA,YAkNRpD,EAAQqD,UAAY,SAAUC,EAAQC,GACpC,OAAOT,EAAqBC,EAAEM,UAAUC,EAAQC,EAClD,EAyBAvD,EAAQwD,OAAS,SAAUC,GACzB,OAAOX,EAAqBC,EAAES,OAAOC,EACvC,EACAzD,EAAQ0D,SAAW,SAAUC,GAC3B,OAAOb,EAAqBC,EAAEW,SAASC,EACzC,C,GC7gBIC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAa/D,QAGrB,IAAIC,EAAS2D,EAAyBE,GAAY,CAGjD9D,QAAS,CAAC,GAOX,OAHAiE,EAAoBH,GAAU7D,EAAQA,EAAOD,QAAS6D,GAG/C5D,EAAOD,OACf,CCrBA6D,EAAoBK,EAAI,CAAClE,EAASmE,KACjC,IAAI,IAAIvD,KAAOuD,EACXN,EAAoBO,EAAED,EAAYvD,KAASiD,EAAoBO,EAAEpE,EAASY,IAC5Ec,OAAO2C,eAAerE,EAASY,EAAK,CAAE0D,YAAY,EAAMC,IAAKJ,EAAWvD,MCJ3EiD,EAAoBO,EAAI,CAACI,EAAKC,IAAU/C,OAAOQ,UAAUiB,eAAeuB,KAAKF,EAAKC,GCClFZ,EAAoBc,EAAK3E,IACH,oBAAXM,QAA0BA,OAAOsE,aAC1ClD,OAAO2C,eAAerE,EAASM,OAAOsE,YAAa,CAAEC,MAAO,WAE7DnD,OAAO2C,eAAerE,EAAS,aAAc,CAAE6E,OAAO,K,m6BCLvD,IAGqBC,EAAY,WAK/B,O,EAJA,SAAAA,K,4FAAcC,CAAA,KAAAD,GACZ1E,KAAK4E,OAAS,CAAC,CACjB,E,EAEA,EAAApE,IAAA,KAAAiE,MAGA,SAAGI,EAAO3C,GACHlC,KAAK4E,OAAOC,KACf7E,KAAK4E,OAAOC,GAAS,IAEvB7E,KAAK4E,OAAOC,GAAOC,KAAK5C,EAC1B,GAEA,CAAA1B,IAAA,MAAAiE,MAGA,SAAII,EAAO3C,GACJlC,KAAK4E,OAAOC,KAEjB7E,KAAK4E,OAAOC,GAAS7E,KAAK4E,OAAOC,GAAOE,OAAO,SAAAC,GAAE,OAAIA,IAAO9C,CAAQ,GACtE,GAEA,CAAA1B,IAAA,OAAAiE,MAGA,SAAKI,GAAgB,QAAAI,EAAAC,UAAAC,OAANC,EAAI,IAAA5C,MAAAyC,EAAA,EAAAA,EAAA,KAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJD,EAAIC,EAAA,GAAAH,UAAAG,GACZrF,KAAK4E,OAAOC,IAEjB7E,KAAK4E,OAAOC,GAAOS,QAAQ,SAAApD,GACzB,IACEA,EAAQqD,WAAC,EAAGH,EACd,CAAE,MAAOI,GACPC,QAAQD,MAAM,+BAADE,OAAgCb,EAAK,KAAKW,EACzD,CACF,EACF,GAEA,CAAAhF,IAAA,qBAAAiE,MAGA,SAAmBI,GACbA,SACK7E,KAAK4E,OAAOC,GAEnB7E,KAAK4E,OAAS,CAAC,CAEnB,I,gFAAC,CAhD8B,G,w3DCFjC,IAAAe,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAyKA,QAF2B,IAnKH,SAAAgD,GACtB,SAAAC,IAAc,IAAAC,EAI0B,OAT1C,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKgBhC,CAAA,KAAAiE,IACZC,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAL,IACKM,YAAc,IAAIC,IACvBN,EAAKO,iBAAmB,IAAID,IAC5BN,EAAKQ,oBAAsB,IAAIC,IAAOT,CACxC,CAEA,OAZF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAYE4D,CAAAX,EAAAD,GAZFhD,EAYEiD,EAZFrE,EAYE,EAAA/D,IAAA,gBAAAiE,OAZFoB,EAYEuB,IAAAE,EAGA,SAAAkC,EAAoBC,GAAG,IAAAC,EAAAC,EAAAC,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,GAAA,OAAa,IAE9B7F,KAAKkJ,YAAYY,IAAIL,GAAM,CAAFI,EAAAhE,EAAA,QAGkG,OAFvH6D,EAAqB1J,KAAKkJ,YAAY/E,IAAIsF,GAChDzJ,KAAKoJ,iBAAiBW,IAAIN,GAAMzJ,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,GAAK,GACvEhE,QAAQuE,IAAI,0DAADtE,OAA2D+D,EAAG,MAAA/D,OAAK1F,KAAKoJ,iBAAiBjF,IAAIsF,GAAI,kBAAiBI,EAAArD,EAAA,EACtHkD,GAAkB,WAIvB1J,KAAKqJ,sBAAuBrJ,KAAKqJ,oBAAoBS,IAAIL,GAAI,CAAAI,EAAAhE,EAAA,QAE/D,OADAJ,QAAQuE,IAAI,+DAADtE,OAAgE+D,EAAG,iBAC9EI,EAAArD,EAAA,EACO,IAAImB,QAAQ,SAACC,GAClB,IAAMqC,EAAkB,WACtB,GAAIL,EAAKV,YAAYY,IAAIL,GAAM,CAC7B,IAAMC,EAAqBE,EAAKV,YAAY/E,IAAIsF,GAChDG,EAAKR,iBAAiBW,IAAIN,GAAMG,EAAKR,iBAAiBjF,IAAIsF,IAAQ,GAAK,GACvEhE,QAAQuE,IAAI,iEAADtE,OAAkE+D,EAAG,MAAA/D,OAAKkE,EAAKR,iBAAiBjF,IAAIsF,GAAI,kBACnH7B,EAAQ8B,EACV,MACEQ,WAAWD,EAAiB,GAEhC,EACAA,GACF,IAAE,OAiCD,OA7BHxE,QAAQuE,IAAI,sDAADtE,OAAuD+D,IAClEzJ,KAAKqJ,oBAAoBc,IAAIV,GACvBE,EAAa,IAAIS,UAAUX,GACjCzJ,KAAKkJ,YAAYa,IAAIN,EAAKE,GAC1B3J,KAAKoJ,iBAAiBW,IAAIN,EAAK,GAG/BE,EAAWU,iBAAiB,OAAQ,SAACxF,GACnCY,QAAQuE,IAAI,gDAADtE,OAAiD+D,IAC5DG,EAAKP,oBAAoBiB,OAAOb,GAChCG,EAAKW,KAAK,OAAQ1F,EAAO4E,EAC3B,GAEAE,EAAWU,iBAAiB,QAAS,SAACxF,GACpCY,QAAQuE,IAAI,gDAADtE,OAAiD+D,EAAG,YAAA/D,OAAWb,EAAM2F,KAAI,MACpFZ,EAAKP,oBAAoBiB,OAAOb,GAChCG,EAAKV,YAAYoB,OAAOb,GACxBG,EAAKR,iBAAiBkB,OAAOb,GAC7BG,EAAKW,KAAK,QAAS1F,EAAO4E,EAC5B,GAEAE,EAAWU,iBAAiB,QAAS,SAACxF,GACpCY,QAAQuE,IAAI,+CAADtE,OAAgD+D,GAAO5E,GAClE+E,EAAKP,oBAAoBiB,OAAOb,GAChCG,EAAKW,KAAK,QAAS1F,EAAO4E,EAC5B,GAEAE,EAAWU,iBAAiB,UAAW,SAACxF,GACtC+E,EAAKW,KAAK,UAAW1F,EAAO4E,EAC9B,GAAGI,EAAArD,EAAA,EAEImD,GAAU,EAAAH,EAAA,QA/DnBiB,EAZF,eAAA7E,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MA4EG,SA7DkBE,GAAA,OAAAH,EAAAlF,MAAC,KAADL,UAAA,IA+DnB,CAAA1E,IAAA,oBAAAiE,MAGA,SAAkBgF,GAChB,GAAKzJ,KAAKkJ,YAAYY,IAAIL,GAA1B,CAKA,IAAMoB,EAAe7K,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,EACjDqB,EAAWC,KAAKC,IAAI,EAAGH,EAAe,GAM5C,GALA7K,KAAKoJ,iBAAiBW,IAAIN,EAAKqB,GAE/BrF,QAAQuE,IAAI,kDAADtE,OAAmD+D,EAAG,MAAA/D,OAAKoF,EAAQ,4BAG7D,IAAbA,EAAgB,CAClB,IAAMnB,EAAa3J,KAAKkJ,YAAY/E,IAAIsF,GACpCE,GAAcA,EAAWsB,aAAeb,UAAUc,OACpDzF,QAAQuE,IAAI,iDAADtE,OAAkD+D,EAAG,2BAChEE,EAAWwB,MAAM,IAAM,wBAEzBnL,KAAKkJ,YAAYoB,OAAOb,GACxBzJ,KAAKoJ,iBAAiBkB,OAAOb,EAC/B,CAjBA,MAFEhE,QAAQuE,IAAI,2EAADtE,OAA4E+D,GAoB3F,GAEA,CAAAjJ,IAAA,aAAAiE,MAGA,SAAWgF,GACT,GAAIzJ,KAAKkJ,YAAYY,IAAIL,GAAM,CAC7B,IAAME,EAAa3J,KAAKkJ,YAAY/E,IAAIsF,GACpCE,GAAcA,EAAWsB,aAAeb,UAAUc,OACpDzF,QAAQuE,IAAI,uDAADtE,OAAwD+D,IACnEE,EAAWwB,MAAM,IAAM,gBAEzBnL,KAAKkJ,YAAYoB,OAAOb,GACxBzJ,KAAKoJ,iBAAiBkB,OAAOb,EAC/B,CACF,GAEA,CAAAjJ,IAAA,sBAAAiE,MAGA,SAAoBgF,GAClB,OAAKzJ,KAAKkJ,YAAYY,IAAIL,GAKnB,CACL2B,QAAQ,EACRH,WAHiBjL,KAAKkJ,YAAY/E,IAAIsF,GAGfwB,WACvBI,YAAarL,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,GAPxC,CAAE2B,QAAQ,EAAOH,WAAY,KAAMI,YAAa,EAS3D,GAEA,CAAA7K,IAAA,oBAAAiE,MAGA,WACE,IAC0D6G,EADpDC,EAAS,CAAC,EAAEC,EAAAC,EACczL,KAAKkJ,YAAYwC,WAAS,IAA1D,IAAAF,EAAAG,MAAAL,EAAAE,EAAA3F,KAAAe,MAA4D,KAAAgF,EAAAC,EAAAP,EAAA7G,MAAA,GAAhDgF,EAAGmC,EAAA,GAAEjC,EAAUiC,EAAA,GACzBL,EAAO9B,GAAO,CACZwB,WAAYtB,EAAWsB,WACvBI,YAAarL,KAAKoJ,iBAAiBjF,IAAIsF,IAAQ,EAEnD,CAAC,OAAAqC,GAAAN,EAAA7F,EAAAmG,EAAA,SAAAN,EAAArF,GAAA,CACD,OAAOoF,CACT,GAEA,CAAA/K,IAAA,WAAAiE,MAGA,WACEgB,QAAQuE,IAAI,mDAAmD,IACL+B,EADKC,EAAAP,EAC/BzL,KAAKkJ,YAAYwC,WAAS,IAA1D,IAAAM,EAAAL,MAAAI,EAAAC,EAAAnG,KAAAe,MAA4D,KAAAqF,EAAAJ,EAAAE,EAAAtH,MAAA,GAA3CkF,GAAFsC,EAAA,GAAYA,EAAA,IACrBtC,GAAcA,EAAWsB,aAAeb,UAAUc,MACpDvB,EAAWwB,MAAM,IAAM,YAE3B,CAAC,OAAAW,GAAAE,EAAArG,EAAAmG,EAAA,SAAAE,EAAA7F,GAAA,CACDnG,KAAKkJ,YAAYgD,QACjBlM,KAAKoJ,iBAAiB8C,QACtBlM,KAAKqJ,oBAAoB6C,OAC3B,IAnKF3H,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAsB,EAYE4E,CAuJC,CA/JqB,CAAS/F,I,mPCJjC,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAGyD,IAEpCwG,EAAkB,SAAAxD,GACrC,SAAAwD,EAAY7L,GAAQ,IAAAuI,EAKO,OAX7B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAMsBhC,CAAA,KAAAwH,IAClBtD,EAPJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAOIsD,CAAA,KAAAkD,IACK7L,OAASA,EACduI,EAAKuD,GAAK,KACVvD,EAAKwD,aAAc,EACnBxD,EAAKyD,aAAe,KAAKzD,CAC3B,CAEA,OAdF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAcE4D,CAAA4C,EAAAxD,GAdFhD,EAcEwG,EAdF5H,EAcE,EAAA/D,IAAA,UAAAiE,OAdFoB,EAcEuB,IAAAE,EAGA,SAAAkC,IAAA,IAAAI,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,EAAA,OAAAgE,EAAArD,EAAA,EACS,IAAImB,QAAQ,SAACC,EAAS2E,GAC3B,IACE3C,EAAK0C,aAAeE,KAAKC,MAAQ,IAAM1B,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,GAC5EnH,QAAQuE,IAAI,gDAADtE,OAAiDkE,EAAK0C,aAAY,SAAA5G,OAAQkE,EAAKtJ,OAAOuM,eAGjGC,EAAmBC,cAAcnD,EAAKtJ,OAAOuM,aAAcjD,EAAKtJ,QAC7DuH,KAAK,SAAC8B,GACLC,EAAKwC,GAAKzC,EACVlE,QAAQuE,IAAI,yCAADtE,OAA0CkE,EAAK0C,eAG1D1C,EAAKoD,sBAGDrD,EAAWsB,aAAeb,UAAUc,OACtCtB,EAAKyC,aAAc,EACnBzC,EAAKW,KAAK,aACV3C,IAEJ,GACCqF,MAAM,SAACzH,GACNC,QAAQD,MAAM,4CAADE,OAA6CkE,EAAK0C,cAAgB9G,GAC/E+G,EAAO/G,EACT,EAEJ,CAAE,MAAOA,GACPC,QAAQD,MAAM,2CAADE,OAA4CkE,EAAK0C,cAAgB9G,GAC9E+G,EAAO/G,EACT,CACF,GAAE,EAAAgE,EAAA,GAlCJ0D,EAdF,eAAAtH,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MAiDG,WAhCY,OAAAwC,EAAA3H,MAAC,KAADL,UAAA,IAkCb,CAAA1E,IAAA,sBAAAiE,MAGA,WAAsB,IAAA0I,EAAA,KACpB,GAAKnN,KAAKoM,GAAV,CAGA,IAAMgB,EAAa,SAACvI,EAAO4E,GACrBA,IAAQ0D,EAAK7M,OAAOuM,eACtBpH,QAAQuE,IAAI,4CAADtE,OAA6CyH,EAAKb,eAC7Da,EAAKd,aAAc,EACnBc,EAAK5C,KAAK,aAEd,EAEM8C,EAAc,SAACxI,EAAO4E,GACtBA,IAAQ0D,EAAK7M,OAAOuM,eACtBpH,QAAQuE,IAAI,4CAADtE,OAA6CyH,EAAKb,aAAY,YAAA5G,OAAWb,EAAM2F,KAAI,MAC9F2C,EAAKd,aAAc,EACnBc,EAAK5C,KAAK,eAAgB1F,GAE9B,EAEMyI,EAAc,SAACzI,EAAO4E,GACtBA,IAAQ0D,EAAK7M,OAAOuM,eACtBpH,QAAQuE,IAAI,2CAADtE,OAA4CyH,EAAKb,cAAgBzH,GAC5EsI,EAAK5C,KAAK,QAAS1F,GAEvB,EAEM0I,EAAgB,SAAC1I,EAAO4E,GACxBA,IAAQ0D,EAAK7M,OAAOuM,cACtBM,EAAKI,cAAc1I,EAEvB,EAGAiI,EAAmBU,GAAG,OAAQJ,GAC9BN,EAAmBU,GAAG,QAASH,GAC/BP,EAAmBU,GAAG,QAASF,GAC/BR,EAAmBU,GAAG,UAAWD,GAGjCvN,KAAKyN,cAAgB,CACnBC,KAAMN,EACNjC,MAAOkC,EACP7H,MAAO8H,EACPK,QAASJ,EA3CS,CA6CtB,GAEA,CAAA/M,IAAA,aAAAiE,MAGA,WACEgB,QAAQuE,IAAI,wCAADtE,OAAyC1F,KAAKsM,eAGrDtM,KAAKyN,gBACPX,EAAmBc,IAAI,OAAQ5N,KAAKyN,cAAcC,MAClDZ,EAAmBc,IAAI,QAAS5N,KAAKyN,cAActC,OACnD2B,EAAmBc,IAAI,QAAS5N,KAAKyN,cAAcjI,OACnDsH,EAAmBc,IAAI,UAAW5N,KAAKyN,cAAcE,UAInD3N,KAAKM,OAAOuM,eACdpH,QAAQuE,IAAI,+CAADtE,OAAgD1F,KAAKsM,aAAY,oBAC5EQ,EAAmBe,kBAAkB7N,KAAKM,OAAOuM,eAGnD7M,KAAKoM,GAAK,KACVpM,KAAKqM,aAAc,CACrB,GAEA,CAAA7L,IAAA,cAAAiE,MAGA,SAAYkJ,GACV,IAAK3N,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKC,KAAKC,UAAUL,GAC9B,GAEA,CAAAnN,IAAA,aAAAiE,MAGA,SAAWwJ,GACT,IAAKjO,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKG,EACf,GAEA,CAAAzN,IAAA,gBAAAiE,MAGA,SAAcI,GAAO,IAAAqJ,EAAA,KAEnB,GAAIrJ,EAAMoJ,gBAAgBE,YACxBnO,KAAKuK,KAAK,cAAe1F,EAAMoJ,WAE1B,GAAIpJ,EAAMoJ,gBAAgBG,KAC/BvJ,EAAMoJ,KAAKI,cAAcxG,KAAK,SAAAwG,GAC5BH,EAAK3D,KAAK,cAAe8D,EAC3B,GAAGpB,MAAM,SAAAnB,GACPrG,QAAQD,MAAM,+DAAgEsG,EAChF,QAKF,IACE,IAAM6B,EAAUI,KAAKO,MAAMzJ,EAAMoJ,MAGf,iBAAdN,EAAQ/H,GAAsC,iBAAd+H,EAAQ/H,GAC1C5F,KAAKuK,KAAK,UAAWoD,GAIL,iBAAdA,EAAQ/H,GACV5F,KAAKuK,KAAK,cAAeoD,GAG3B3N,KAAKuK,KAAK,UAAWoD,EACvB,CAAE,MAAOnI,GACPxF,KAAKuK,KAAK,QAAS/E,EACrB,CACF,GAEA,CAAAhF,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClBpB,WAAYjL,KAAKoM,GAAKpM,KAAKoM,GAAGnB,WAAa,KAC3CqB,aAActM,KAAKsM,aAEvB,IAlMF1G,EAoME,EAAApF,IAAA,qBAAAiE,MAGA,WACE,OAAOqI,EAAmByB,mBAC5B,GAEA,CAAA/N,IAAA,sBAAAiE,MAGA,WACEqI,EAAmB0B,UACrB,IAhNFjK,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,EAAAnC,EAAAC,GAAAtE,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAqB,EAAAC,EAcEqH,CAkMC,CA3MoC,CAASxI,G,mPCLhD,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,EAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA5C,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAE6C,IAExB+I,EAAa,SAAA/F,GAChC,SAAA+F,EAAYpO,GAAQ,IAAAuI,EAMO,OAX7B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKsBhC,CAAA,KAAA+J,IAClB7F,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAyF,IACKpO,OAASA,EACduI,EAAK8F,aAAe,KACpB9F,EAAK+F,iBAAmB,KACxB/F,EAAKgG,YAAc,KACnBhG,EAAKiG,aAAc,EAAMjG,CAC3B,CAEA,OAdF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAcE4D,CAAAmF,EAAA/F,GAdFhD,EAcE+I,EAdFnK,EAcE,EAAA/D,IAAA,QAAAiE,OAAAsK,EAAAN,EAAArH,IAAAE,EAGA,SAAAkC,IAAA,IAAAwF,EAAApF,EAAA,YAAAxC,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,cAAAgE,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAG6BoJ,UAAUC,aAAaC,aAAa,CAC3DC,MAAO,CACLC,WAAYrP,KAAKM,OAAO+O,WACxBC,aAAc,EACdC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,KAEnB,OAOF,GAfAzP,KAAK6O,YAAWhF,EAAAtD,EAWhBvG,KAAK2O,aAAe,IAAKe,OAAOC,cAAgBD,OAAOE,oBAAoB,CACzEP,WAAYrP,KAAKM,OAAO+O,aAIM,cAA5BrP,KAAK2O,aAAakB,MAAqB,CAAAhG,EAAAhE,EAAA,eAAAgE,EAAAhE,EAAA,EACnC7F,KAAK2O,aAAamB,SAAQ,cAAAjG,EAAAhE,EAAA,EAI5B7F,KAAK2O,aAAaoB,aAAaC,UAAU,uBAAsB,OAGrEhQ,KAAK4O,iBAAmB,IAAIqB,iBAAiBjQ,KAAK2O,aAAc,mBAGjD3O,KAAK2O,aAAauB,wBAAwBlQ,KAAK6O,aACvDsB,QAAQnQ,KAAK4O,kBAGpB5O,KAAK4O,iBAAiBwB,KAAKC,UAAY,SAACxL,GACtC,IAAAyL,EAAuBzL,EAAMoJ,KAArB5N,EAAIiQ,EAAJjQ,KAAM4N,EAAIqC,EAAJrC,KAED,mBAAT5N,GACFuJ,EAAKW,KAAK,YAAa0D,EAE3B,EAGAjO,KAAK4O,iBAAiBwB,KAAKG,YAAY,CACrClQ,KAAM,qBACN4N,KAAM,CAAEuC,SAAS,KAGnBxQ,KAAK8O,aAAc,EACnB9O,KAAKuK,KAAK,oBAAoBV,EAAAhE,EAAA,eAGJ,MAHIgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAG9BvG,KAAKuK,KAAK,QAAOyE,GAASA,EAAA,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,iBAG7B,WAvDU,OAAAuF,EAAAxJ,MAAC,KAADL,UAAA,IAyDX,CAAA1E,IAAA,OAAAiE,OAAAgM,EAAAhC,EAAArH,IAAAE,EAGA,SAAAoJ,IAAA,IAAAC,EAAA,OAAAvJ,IAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAAxK,EAAAwK,EAAA/K,GAAA,UACO7F,KAAK8O,YAAa,CAAF8B,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,aAAAoK,EAAAxK,EAAA,GAMfpG,KAAK4O,iBAAkB,CAAFgC,EAAA/K,EAAA,QACmC,OAA1D7F,KAAK4O,iBAAiBwB,KAAKG,YAAY,CAAElQ,KAAM,UAAWuQ,EAAA/K,EAAA,EACpD,IAAI8B,QAAQ,SAAAC,GAAO,OAAIsC,WAAWtC,EAAS,IAAI,GAAC,OAOvD,GAHG5H,KAAK6O,cACP7O,KAAK6O,YAAYgC,YAAYvL,QAAQ,SAAAwL,GAAK,OAAIA,EAAMC,MAAM,GAC1D/Q,KAAK6O,YAAc,OAGjB7O,KAAK2O,cAA4C,WAA5B3O,KAAK2O,aAAakB,MAAkB,CAAAe,EAAA/K,EAAA,eAAA+K,EAAA/K,EAAA,EACrD7F,KAAK2O,aAAaxD,QAAO,OAC/BnL,KAAK2O,aAAe,KAAK,OAG3B3O,KAAK4O,iBAAmB,KACxB5O,KAAK8O,aAAc,EACnB9O,KAAKuK,KAAK,oBAAoBqG,EAAA/K,EAAA,eAGJ,MAHI+K,EAAAxK,EAAA,EAAAuK,EAAAC,EAAArK,EAG9BvG,KAAKuK,KAAK,QAAOoG,GAASA,EAAA,cAAAC,EAAApK,EAAA,KAAAkK,EAAA,iBAG7B,WA/BS,OAAAD,EAAAlL,MAAC,KAADL,UAAA,IAiCV,CAAA1E,IAAA,YAAAiE,MAGA,WACE,MAAO,CACLqK,YAAa9O,KAAK8O,YAClBkC,kBAAmBhR,KAAK2O,aAAe3O,KAAK2O,aAAakB,MAAQ,SAErE,GAEA,CAAArP,IAAA,UAAAiE,MAGA,WACEzE,KAAK+Q,MACP,IA7HFxM,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EA0EEkM,EA5DA1B,CA+GC,CAzH+B,CAASrK,G,mPCJ3C,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,EAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,EAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,EAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,EAAAD,EAAA,cAAAc,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAA/C,EAAA,qBAAAkC,EAAAD,GAAAC,EAAAD,EAAAjC,EAAA,aAAAkC,EAAAD,EAAAJ,EAAA,yBAAAK,EAAAD,EAAA,oDAAAmB,EAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,EAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,EAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,EAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,EAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,EAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,EAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,EAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,EAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,IAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,EAAA,mBAAAxC,CAAA,cAAA6C,EAAA7C,GAAA,OAAA6C,EAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,EAAA7C,EAAA,UAAA8C,EAAA9C,EAAAD,GAAA,OAAA+C,EAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,EAAA9C,EAAAD,EAAA,CAE6C,IAExBsL,EAAW,SAAAtI,GAC9B,SAAAsI,EAAY3Q,GAAQ,IAAAuI,EAOQ,OAZ9B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAKsBhC,CAAA,KAAAsM,IAClBpI,EANJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,EAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,IAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,EAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAMIsD,CAAA,KAAAgI,IACK3Q,OAASA,EACduI,EAAK8F,aAAe,KACpB9F,EAAKqI,WAAa,GAClBrI,EAAKsI,WAAY,EACjBtI,EAAKuI,mBAAoB,EACzBvI,EAAKwI,cAAgB,KAAKxI,CAC5B,CAEA,OAfF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,EAAA9C,EAAAD,EAAA,CAeE4D,CAAA0H,EAAAtI,GAfFhD,EAeEsL,EAfF1M,EAeE,EAAA/D,IAAA,YAAAiE,MAGA,SAAU6M,GAAW,IAAA1H,EAAA,KACnB,IACE,IAAM2H,EAAYvR,KAAKwR,gBAAgBF,GACvCtR,KAAKkR,WAAWpM,KAAKyM,GAGhBvR,KAAKmR,WAAcnR,KAAKoR,mBAC3BlH,WAAW,kBAAMN,EAAK6H,cAAc,EAAE,GAE1C,CAAE,MAAOjM,GACPxF,KAAKuK,KAAK,gBAAiB/E,EAC7B,CACF,GAEA,CAAAhF,IAAA,kBAAAiE,MAGA,SAAgB4J,GACd,IAAMqD,EAAa,IAAIC,WAAWtD,GAGlC,GAAIqD,EAAWvM,QAAU,EAAG,CAE1B,GAAsB,KAAlBuM,EAAW,IAAiC,KAAlBA,EAAW,IACnB,KAAlBA,EAAW,IAAiC,KAAlBA,EAAW,GACvC,OAAO,IAAItD,KAAK,CAACC,GAAc,CAAEhO,KAAM,cAIzC,GAAsB,MAAlBqR,EAAW,MAA0C,KAA1BA,EAAW,IACxC,OAAO,IAAItD,KAAK,CAACC,GAAc,CAAEhO,KAAM,eAIzC,GAAsB,KAAlBqR,EAAW,IAAiC,MAAlBA,EAAW,IACnB,MAAlBA,EAAW,IAAiC,KAAlBA,EAAW,GACvC,OAAO,IAAItD,KAAK,CAACC,GAAc,CAAEhO,KAAM,aAE3C,CAGA,OAAO,IAAI+N,KAAK,CAACC,GAAc,CAAEhO,KAAM,aACzC,GAEA,CAAAG,IAAA,eAAAiE,OA9DFoB,EA8DEuB,IAAAE,EAGA,SAAAkC,IAAA,IAAA+H,EAAA5C,EAAAN,EAAAuD,EAAAC,EAAA7C,EAAA7B,EAAA,YAAA/F,IAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,WAEM7F,KAAKoR,oBAAqBpR,KAAKmR,WAAwC,IAA3BnR,KAAKkR,WAAW/L,OAAY,CAAA0E,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,UAMnC,GAFzCxG,KAAKoR,mBAAoB,EAEnBG,EAAYvR,KAAKkR,WAAWY,QAClB,CAAFjI,EAAAhE,EAAA,QACmB,OAA/B7F,KAAKoR,mBAAoB,EAAMvH,EAAArD,EAAA,UAe/B,GAf+BqD,EAAAzD,EAAA,EAK/BpG,KAAKmR,WAAY,EACjBnR,KAAKuK,KAAK,mBAGLvK,KAAK2O,eACR3O,KAAK2O,aAAe,IAAKe,OAAOC,cAAgBD,OAAOE,qBAM9B,eAHrBjB,EAAe3O,KAAK2O,cAGTkB,MAAqB,CAAAhG,EAAAhE,EAAA,eAAAgE,EAAAhE,EAAA,EAC9B8I,EAAamB,SAAQ,cAAAjG,EAAAhE,EAAA,EAIH0L,EAAUlD,cAAa,OAAhC,OAAXA,EAAWxE,EAAAtD,EAAAsD,EAAAhE,EAAG,EACM8I,EAAaoD,gBAAgB1D,GAAY,OAA7DuD,EAAW/H,EAAAtD,GAEXsL,EAASlD,EAAaqD,sBACrBC,OAASL,EAChBC,EAAO1B,QAAQxB,EAAauD,aAE5BlS,KAAKqR,cAAgBQ,EAGrBA,EAAOM,QAAU,WACfhF,EAAKgE,WAAY,EACjBhE,EAAKiE,mBAAoB,EACzBjE,EAAKkE,cAAgB,KACrBlE,EAAK5C,KAAK,mBAGN4C,EAAK+D,WAAW/L,OAAS,GAC3B+E,WAAW,kBAAMiD,EAAKsE,cAAc,EAAE,IAE1C,EAGAI,EAAOO,QAAQvI,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAGfvG,KAAKmR,WAAY,EACjBnR,KAAKoR,mBAAoB,EACzBpR,KAAKqR,cAAgB,KACrBrR,KAAKuK,KAAK,gBAAeyE,GAGrBhP,KAAKkR,WAAW/L,OAAS,GAC3B+E,WAAW,kBAAMiD,EAAKsE,cAAc,EAAE,KACvC,cAAA5H,EAAArD,EAAA,KAAAgD,EAAA,gBApEL6I,EA9DF,eAAAzM,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,EAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MAoIG,WAnEiB,OAAA2H,EAAA9M,MAAC,KAADL,UAAA,IAqElB,CAAA1E,IAAA,OAAAiE,MAGA,WACEzE,KAAKsS,eACP,GAEA,CAAA9R,IAAA,gBAAAiE,MAGA,WACE,GAAIzE,KAAKqR,cAAe,CACtB,IACErR,KAAKqR,cAAcN,MACrB,CAAE,MAAOvL,GACP,CAEFxF,KAAKqR,cAAgB,IACvB,CAEArR,KAAKmR,WAAY,EACjBnR,KAAKoR,mBAAoB,EACzBpR,KAAKkR,WAAa,GAClBlR,KAAKuK,KAAK,kBACZ,GAEA,CAAA/J,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL0M,UAAWnR,KAAKmR,UAChBC,kBAAmBpR,KAAKoR,kBACxBmB,YAAavS,KAAKkR,WAAW/L,OAC7B6L,kBAAmBhR,KAAK2O,aAAe3O,KAAK2O,aAAakB,MAAQ,SAErE,GAEA,CAAArP,IAAA,UAAAiE,MAGA,WACEzE,KAAK+Q,OAED/Q,KAAK2O,cAA4C,WAA5B3O,KAAK2O,aAAakB,QACzC7P,KAAK2O,aAAaxD,QAClBnL,KAAK2O,aAAe,KAExB,IAtLFpK,GAAAuD,EAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAsB,EA8DEwM,CAwHC,CAlL6B,CAAS3N,G,oPCJzC,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,GAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA8H,GAAA7M,EAAApB,GAAA,IAAAqB,EAAAtE,OAAAmR,KAAA9M,GAAA,GAAArE,OAAAoR,sBAAA,KAAA1O,EAAA1C,OAAAoR,sBAAA/M,GAAApB,IAAAP,EAAAA,EAAAe,OAAA,SAAAR,GAAA,OAAAjD,OAAAqR,yBAAAhN,EAAApB,GAAAL,UAAA,IAAA0B,EAAAd,KAAAS,MAAAK,EAAA5B,EAAA,QAAA4B,CAAA,UAAAgN,GAAAjN,GAAA,QAAApB,EAAA,EAAAA,EAAAW,UAAAC,OAAAZ,IAAA,KAAAqB,EAAA,MAAAV,UAAAX,GAAAW,UAAAX,GAAA,GAAAA,EAAA,EAAAiO,GAAAlR,OAAAsE,IAAA,GAAAN,QAAA,SAAAf,GAAAsO,GAAAlN,EAAApB,EAAAqB,EAAArB,GAAA,GAAAjD,OAAAwR,0BAAAxR,OAAAyR,iBAAApN,EAAArE,OAAAwR,0BAAAlN,IAAA4M,GAAAlR,OAAAsE,IAAAN,QAAA,SAAAf,GAAAjD,OAAA2C,eAAA0B,EAAApB,EAAAjD,OAAAqR,yBAAA/M,EAAArB,GAAA,UAAAoB,CAAA,UAAAkN,GAAAlN,EAAApB,EAAAqB,GAAA,OAAArB,EAAAwD,GAAAxD,MAAAoB,EAAArE,OAAA2C,eAAA0B,EAAApB,EAAA,CAAAE,MAAAmB,EAAA1B,YAAA,EAAAsD,cAAA,EAAAC,UAAA,IAAA9B,EAAApB,GAAAqB,EAAAD,CAAA,UAAAmC,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,EAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,EAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,EAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,KAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,GAAA,mBAAAxC,CAAA,cAAA6C,GAAA7C,GAAA,OAAA6C,GAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,GAAA7C,EAAA,UAAA8C,GAAA9C,EAAAD,GAAA,OAAA+C,GAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,GAAA9C,EAAAD,EAAA,CAM2C,IAEtBqN,GAAQ,SAAArK,GAC3B,SAAAqK,IAAyB,IAAAnK,EAAbvI,EAAM4E,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,EA8BM,OAvC9B,SAAAsB,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCASyBhC,CAAA,KAAAqO,IACrBnK,EAVJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,GAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,EAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,KAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,GAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAUIsD,CAAA,KAAA+J,IAGK1S,OAAMsS,GAAA,CACT/F,aAAcvM,EAAOuM,cAAgB,mCACrCoG,QAAS3S,EAAO2S,QAChBC,MAAO5S,EAAO4S,MACdC,MAAO7S,EAAO6S,MACdC,MAAO9S,EAAO8S,OAAS,UACvBC,SAAU/S,EAAO+S,UAAY,KAC7BhE,WAAY/O,EAAO+O,YAAc,MAC9B/O,GAILuI,EAAKwD,aAAc,EACnBxD,EAAKiG,aAAc,EACnBjG,EAAKsI,WAAY,EACjBtI,EAAKyK,aAAc,EAGnBzK,EAAK0K,iBAAmB,IAAIpH,EAAkByG,GAAAA,GAAC,CAAC,EAC3C/J,EAAKvI,QAAM,IACdkT,eAA6C,IAA9B3K,EAAKvI,OAAOkT,iBAE7B3K,EAAK4K,cAAgB,IAAI/E,EAAc7F,EAAKvI,QAC5CuI,EAAK6K,YAAc,IAAIzC,EAAYpI,EAAKvI,QAGxCuI,EAAK8K,qBAAqB9K,CAC5B,CAEA,OA1CF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,GAAA9C,EAAAD,EAAA,CA0CE4D,CAAAyJ,EAAArK,GA1CFhD,EA0CEqN,EA1CFzO,EA0CE,EAAA/D,IAAA,qBAAAiE,MAGA,WAAqB,IAAAmF,EAAA,KAEnB5J,KAAKuT,iBAAiB/F,GAAG,YAAa,WACpC5D,EAAKyC,aAAc,EACnBzC,EAAKgK,mBACLhK,EAAKW,KAAK,YACZ,GAEAvK,KAAKuT,iBAAiB/F,GAAG,eAAgB,WACvC5D,EAAKyC,aAAc,EACnBzC,EAAKW,KAAK,eACZ,GAEAvK,KAAKuT,iBAAiB/F,GAAG,QAAS,SAAChI,GACjCoE,EAAKW,KAAK,QAAS/E,EACrB,GAEAxF,KAAKuT,iBAAiB/F,GAAG,UAAW,SAACG,GACnC/D,EAAKW,KAAK,UAAWoD,EACvB,GAEA3N,KAAKuT,iBAAiB/F,GAAG,cAAe,SAAC8D,GACvC1H,EAAK8J,YAAYG,UAAUvC,EAC7B,GAEAtR,KAAKuT,iBAAiB/F,GAAG,UAAW,SAACG,GACnC/D,EAAKW,KAAK,UAAWoD,EACvB,GAEA3N,KAAKuT,iBAAiB/F,GAAG,cAAe,SAACG,GACvC/D,EAAKW,KAAK,cAAeoD,GAEzB/D,EAAK8J,YAAYpB,eACnB,GAGAtS,KAAKyT,cAAcjG,GAAG,mBAAoB,WACxC5D,EAAKkF,aAAc,EACnBlF,EAAKW,KAAK,mBACZ,GAEAvK,KAAKyT,cAAcjG,GAAG,mBAAoB,WACxC5D,EAAKkF,aAAc,EACnBlF,EAAKW,KAAK,mBACZ,GAEAvK,KAAKyT,cAAcjG,GAAG,YAAa,SAAC8D,GAC9B1H,EAAKyC,aACPzC,EAAK2J,iBAAiBO,WAAWxC,EAErC,GAGAtR,KAAK0T,YAAYlG,GAAG,kBAAmB,WACrC5D,EAAKuH,WAAY,EACjBvH,EAAKW,KAAK,kBACZ,GAEAvK,KAAK0T,YAAYlG,GAAG,kBAAmB,WACrC5D,EAAKuH,WAAY,EACjBvH,EAAKW,KAAK,kBACZ,GAEAvK,KAAK0T,YAAYlG,GAAG,gBAAiB,SAAChI,GACpCoE,EAAKW,KAAK,gBAAiB/E,EAC7B,EACF,GAEA,CAAAhF,IAAA,UAAAiE,OAAAyI,EAAAuB,GAAArH,KAAAE,EAGA,SAAAkC,IAAA,IAAAuK,EAAA/E,EAAA,OAAA5H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,WACM7F,KAAKsT,YAAa,CAAFzJ,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,GACX,GAAK,OASsC,OATtCqD,EAAAzD,EAAA,EAKN2N,EAAQ/T,KAAKgU,oBACnBvO,QAAQuE,IAAI,iCAAkC+J,GAG9C/T,KAAKuT,iBAAiBjT,OAAOuM,aAAekH,EAAMlK,EAAAhE,EAAA,EAE5C7F,KAAKuT,iBAAiBpD,UAAS,cAAAtG,EAAArD,EAAA,GAC9B,GAAI,OAEe,OAFfqD,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAEXvG,KAAKuK,KAAK,QAAOyE,GAASnF,EAAArD,EAAA,GACnB,GAAK,EAAAgD,EAAA,iBAEf,WAnBY,OAAA0D,EAAA3H,MAAC,KAADL,UAAA,IAqBb,CAAA1E,IAAA,oBAAAiE,MAGA,WACE,IAAIgF,EAAMzJ,KAAKM,OAAOuM,aAChBoH,EAAS,IAAIC,gBAwBnB,GArBIlU,KAAKM,OAAO2S,UACdgB,EAAOE,OAAO,UAAWnU,KAAKM,OAAO2S,SACrCxN,QAAQuE,IAAI,mCAAoChK,KAAKM,OAAO2S,UAI1DjT,KAAKM,OAAO4S,QACde,EAAOE,OAAO,QAASnU,KAAKM,OAAO4S,OACnCzN,QAAQuE,IAAI,iCAAkChK,KAAKM,OAAO4S,QAIxDlT,KAAKM,OAAO8S,OAA+B,YAAtBpT,KAAKM,OAAO8S,OACnCa,EAAOE,OAAO,QAASnU,KAAKM,OAAO8S,OAGjCpT,KAAKM,OAAO+S,UAAqC,OAAzBrT,KAAKM,OAAO+S,UACtCY,EAAOE,OAAO,WAAYnU,KAAKM,OAAO+S,UAIpCY,EAAOtH,WAAY,CACrB,IAAMyH,EAAY3K,EAAI4K,SAAS,KAAO,IAAM,IAC5C5K,GAAO2K,EAAYH,EAAOtH,UAC5B,CAEA,OAAOlD,CACT,GAEA,CAAAjJ,IAAA,aAAAiE,MAGA,WACMzE,KAAKsT,YACP7N,QAAQuE,IAAI,0DAGdvE,QAAQuE,IAAI,iDACZhK,KAAKsU,gBACLtU,KAAKuT,iBAAiBgB,aACxB,GAEA,CAAA/T,IAAA,4BAAAiE,MAGA,WACMzE,KAAKsT,aAGTtT,KAAKuT,iBAAiBiB,2BACxB,GAEA,CAAAhU,IAAA,YAAAiE,OAAAgQ,EAAAhG,GAAArH,KAAAE,EAGA,SAAAoJ,IAAA,OAAAtJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAA/K,GAAA,WACM7F,KAAKsT,YAAa,CAAF1C,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,GACX,GAAK,OAImB,OADjCxG,KAAKuU,aACLvU,KAAKwU,4BAA4B5D,EAAA/K,EAAA,EACpB7F,KAAKmQ,UAAS,cAAAS,EAAApK,EAAA,EAAAoK,EAAArK,GAAA,EAAAmK,EAAA,SAC5B,WARc,OAAA+D,EAAAlP,MAAC,KAADL,UAAA,IAUf,CAAA1E,IAAA,iBAAAiE,OAAAiQ,EAAAjG,GAAArH,KAAAE,EAGA,SAAAqN,IAAA,IAAAhE,EAAA,OAAAvJ,KAAAC,EAAA,SAAAuN,GAAA,cAAAA,EAAAxO,EAAAwO,EAAA/O,GAAA,UACO7F,KAAKqM,YAAa,CAAFuI,EAAA/O,EAAA,cACb,IAAI1D,MAAM,iCAAgC,OAYhD,OAZgDyS,EAAAxO,EAAA,EAKhDpG,KAAKuT,iBAAiBsB,YAAY,CAChCjP,EAAG,wBACHuN,MAAOnT,KAAK8U,gBACZ1B,MAAOpT,KAAKM,OAAO8S,MACnBC,SAAUrT,KAAKM,OAAO+S,WAGxBuB,EAAA/O,EAAA,EACM7F,KAAKyT,cAAcrB,QAAO,cAAAwC,EAAApO,EAAA,GACzB,GAAI,OAEe,OAFfoO,EAAAxO,EAAA,EAAAuK,EAAAiE,EAAArO,EAEXvG,KAAKuK,KAAK,QAAOoG,GAASiE,EAAApO,EAAA,GACnB,GAAK,EAAAmO,EAAA,iBAEf,WArBmB,OAAAD,EAAAnP,MAAC,KAADL,UAAA,IAuBpB,CAAA1E,IAAA,gBAAAiE,OAAAsQ,EAAAtG,GAAArH,KAAAE,EAGA,SAAA0N,IAAA,IAAAC,EAAA,OAAA7N,KAAAC,EAAA,SAAA6N,GAAA,cAAAA,EAAA9O,EAAA8O,EAAArP,GAAA,UACO7F,KAAK8O,YAAa,CAAFoG,EAAArP,EAAA,eAAAqP,EAAA1O,EAAA,UAWnB,OAXmB0O,EAAA9O,EAAA,EAMnBpG,KAAKuT,iBAAiBsB,YAAY,CAChCjP,EAAG,uBACHuN,MAAOnT,KAAK8U,kBAGdI,EAAArP,EAAA,EACM7F,KAAKyT,cAAc1C,OAAM,OAGE,OAAjC/Q,KAAK0T,YAAYpB,gBAAgB4C,EAAA1O,EAAA,GAE1B,GAAI,OAEe,OAFf0O,EAAA9O,EAAA,EAAA6O,EAAAC,EAAA3O,EAEXvG,KAAKuK,KAAK,QAAO0K,GAASC,EAAA1O,EAAA,GACnB,GAAK,EAAAwO,EAAA,iBAEf,WAvBkB,OAAAD,EAAAxP,MAAC,KAADL,UAAA,IAyBnB,CAAA1E,IAAA,kBAAAiE,OAAA0Q,EAAA1G,GAAArH,KAAAE,EAGA,SAAA8N,IAAA,OAAAhO,KAAAC,EAAA,SAAAgO,GAAA,cAAAA,EAAAxP,GAAA,WACM7F,KAAK8O,YAAa,CAAFuG,EAAAxP,EAAA,eAAAwP,EAAAxP,EAAA,EACL7F,KAAKsU,gBAAe,OAEC,cAAAe,EAAA7O,EAAA,EAAA6O,EAAA9O,GAFD,cAAA8O,EAAAxP,EAAA,EAEpB7F,KAAKsV,iBAAgB,cAAAD,EAAA7O,EAAA,KAAA4O,EAAA,SAErC,WANoB,OAAAD,EAAA5P,MAAC,KAADL,UAAA,IAQrB,CAAA1E,IAAA,oBAAAiE,MAGA,WACEzE,KAAK0T,YAAYpB,eACnB,GAEA,CAAA9R,IAAA,gBAAAiE,OAAA8Q,EAAA9G,GAAArH,KAAAE,EAGA,SAAAkO,IAAA,OAAApO,KAAAC,EAAA,SAAAoO,GAAA,cAAAA,EAAA5P,GAAA,OAIE,GAFA7F,KAAK0V,oBAGA1V,KAAK8O,YAAa,CAAF2G,EAAA5P,EAAA,eAAA4P,EAAA5P,EAAA,EACb7F,KAAKsV,iBAAgB,cAAAG,EAAAjP,EAAA,KAAAgP,EAAA,SAE9B,WARkB,OAAAD,EAAAhQ,MAAC,KAADL,UAAA,IAUnB,CAAA1E,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClByC,YAAa9O,KAAK8O,YAClBqC,UAAWnR,KAAKmR,UAEpB,GAEA,CAAA3Q,IAAA,eAAAiE,MAGA,SAAakR,GACX3V,KAAKM,OAAMsS,GAAAA,GAAA,GAAQ5S,KAAKM,QAAWqV,EACrC,GAEA,CAAAnV,IAAA,gBAAAiE,MAGA,WACE,MAAO,OAASsG,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,GAAK,IAAMJ,KAAKC,KACvE,GAEA,CAAAjM,IAAA,mBAAAiE,MAGA,WACE,GAAKzE,KAAKqM,YAAV,CAKA,IAAMuJ,EAAe,CACnBhQ,EAAG,SAID5F,KAAKM,OAAO4S,OACd0C,EAAa1C,MAAQlT,KAAKM,OAAO4S,MACjCzN,QAAQuE,IAAI,0EACHhK,KAAKM,OAAO6S,OAErByC,EAAazC,MAAQnT,KAAKM,OAAO6S,MACjC1N,QAAQuE,IAAI,0EAGZ4L,EAAazC,MAAQnT,KAAK8U,gBAC1BrP,QAAQuE,IAAI,wEAMVhK,KAAKM,OAAO4S,MACdzN,QAAQuE,IAAI,6CAA8ChK,KAAKM,OAAO4S,OAC7DlT,KAAKM,OAAO6S,MACrB1N,QAAQuE,IAAI,iCAAkChK,KAAKM,OAAO6S,OAE1D1N,QAAQuE,IAAI,oCAAqC4L,EAAazC,OAGhE,IACEnT,KAAKuT,iBAAiBsB,YAAYe,GAClCnQ,QAAQuE,IAAI,gCAAiC4L,EAC/C,CAAE,MAAOpQ,GACPC,QAAQD,MAAM,0CAA2CA,GACzDxF,KAAKuK,KAAK,QAAS/E,EACrB,CArCA,MAFEC,QAAQoQ,KAAK,sDAwCjB,GAEA,CAAArV,IAAA,UAAAiE,MAGA,WACMzE,KAAKsT,YACP7N,QAAQuE,IAAI,uDAIdvE,QAAQuE,IAAI,8CAGZhK,KAAKuU,aAELvU,KAAKsT,aAAc,EACnBtT,KAAKyT,cAAcqC,UACnB9V,KAAK0T,YAAYoC,UACjB9V,KAAK+V,qBAELtQ,QAAQuE,IAAI,6CACd,IAnYFzF,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EA0REgR,EAlBAJ,EA5BAJ,EA1BAL,EAbAD,EApFAvH,CAkRC,CA3X0B,CAASxI,G,2qBC4EtC,SAF0B,IAhFH,WAKrB,O,EAJA,SAAAsR,K,4FAAcrR,CAAA,KAAAqR,GACZhW,KAAKkJ,YAAc,IAAIC,GACzB,G,EAEA,EAAA3I,IAAA,qBAAAiE,MAGA,SAAmBgF,EAAK6C,GACtB,IAAKtM,KAAKkJ,YAAYY,IAAIL,GAOxB,OANAzJ,KAAKkJ,YAAYa,IAAIN,EAAK,CACxB6C,aAAAA,EACA2J,UAAWzJ,KAAKC,MAChByJ,MAAO,IAETzQ,QAAQuE,IAAI,+CAADtE,OAAgD4G,EAAY,SAAA5G,OAAQ+D,KACxE,EAGT,IAAM0M,EAAWnW,KAAKkJ,YAAY/E,IAAIsF,GAChC2M,EAA0B5J,KAAKC,MAAQ0J,EAASF,UAGtD,OAAIG,EAA0B,KAC5BpW,KAAKkJ,YAAYa,IAAIN,EAAK,CACxB6C,aAAAA,EACA2J,UAAWzJ,KAAKC,MAChByJ,MAAO,IAETzQ,QAAQuE,IAAI,gDAADtE,OAAiD4G,EAAY,SAAA5G,OAAQ+D,EAAG,yBAAA/D,OAAwB0Q,EAAuB,aAC3H,IAITD,EAASD,QACTzQ,QAAQuE,IAAI,4CAADtE,OAA6C4G,EAAY,SAAA5G,OAAQ+D,EAAG,MAAA/D,OAAKyQ,EAASD,MAAK,iBAAAxQ,OAAgB0Q,EAAuB,SAClI,EACT,GAEA,CAAA5V,IAAA,uBAAAiE,MAGA,SAAqBgF,EAAK6C,GACxB,IAAM6J,EAAWnW,KAAKkJ,YAAY/E,IAAIsF,GAClC0M,GAAYA,EAAS7J,eAAiBA,IACxCtM,KAAKkJ,YAAYoB,OAAOb,GACxBhE,QAAQuE,IAAI,iDAADtE,OAAkD4G,EAAY,SAAA5G,OAAQ+D,IAErF,GAEA,CAAAjJ,IAAA,sBAAAiE,MAGA,SAAoBgF,GAClB,IAAM0M,EAAWnW,KAAKkJ,YAAY/E,IAAIsF,GACtC,OAAK0M,GAI2B3J,KAAKC,MAAQ0J,EAASF,UACrB,GACnC,GAEA,CAAAzV,IAAA,oBAAAiE,MAGA,SAAkBgF,GAChB,OAAOzJ,KAAKkJ,YAAY/E,IAAIsF,EAC9B,GAEA,CAAAjJ,IAAA,WAAAiE,MAGA,WACEzE,KAAKkJ,YAAYgD,QACjBzG,QAAQuE,IAAI,gDACd,M,8EAAC,CA5EoB,I,uPCFvB,IAAArE,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA8D,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,YAAAsC,KAAA,QAAAxC,GAAAyC,QAAAvG,UAAAwG,QAAAhE,KAAAiE,QAAAC,UAAAH,QAAA,wBAAAzC,GAAA,QAAAwC,GAAA,mBAAAxC,CAAA,cAAA6C,GAAA7C,GAAA,OAAA6C,GAAAnH,OAAA2F,eAAA3F,OAAA0F,eAAAP,OAAA,SAAAb,GAAA,OAAAA,EAAAsB,WAAA5F,OAAA0F,eAAApB,EAAA,EAAA6C,GAAA7C,EAAA,UAAA8C,GAAA9C,EAAAD,GAAA,OAAA+C,GAAApH,OAAA2F,eAAA3F,OAAA2F,eAAAR,OAAA,SAAAb,EAAAD,GAAA,OAAAC,EAAAsB,UAAAvB,EAAAC,CAAA,EAAA8C,GAAA9C,EAAAD,EAAA,CAGuD,IAElC0Q,GAAgB,SAAA1N,GACnC,SAAA0N,EAAY/V,GAAQ,IAAAuI,EASQ,OAf9B,SAAArC,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAMsBhC,CAAA,KAAA0R,IAClBxN,EAPJ,SAAAjD,EAAA5B,EAAA2B,GAAA,OAAA3B,EAAAyE,GAAAzE,GAAA,SAAA4B,EAAAD,GAAA,GAAAA,IAAA,UAAAqC,GAAArC,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAgB,UAAA,4EAAAhB,GAAA,YAAAA,EAAA,UAAAmD,eAAA,oEAAAnD,CAAA,CAAAoD,CAAAnD,EAAA,CAAAoD,CAAApD,EAAAwC,KAAAG,QAAAC,UAAAxE,EAAA2B,GAAA,GAAA8C,GAAA7C,GAAAtD,aAAA0B,EAAAuB,MAAAK,EAAAD,GAAA,CAOIsD,CAAA,KAAAoN,IACK/V,OAASA,EACduI,EAAKuD,GAAK,KACVvD,EAAKwD,aAAc,EACnBxD,EAAKyN,kBAAoB,EACzBzN,EAAK0N,sBAAgD,IAAzBjW,EAAOkT,cAA0B,EAAI,EACjE3K,EAAK2N,gBAAiB,EACtB3N,EAAK4N,cAAe,EACpB5N,EAAKyD,aAAe,KAAMzD,CAC5B,CAEA,OAlBF,SAAAjD,EAAAD,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAgB,UAAA,sDAAAf,EAAA9D,UAAAR,OAAA4B,OAAAyC,GAAAA,EAAA7D,UAAA,CAAAQ,YAAA,CAAAmC,MAAAmB,EAAA6B,UAAA,EAAAD,cAAA,KAAAlG,OAAA2C,eAAA2B,EAAA,aAAA6B,UAAA,IAAA9B,GAAA+C,GAAA9C,EAAAD,EAAA,CAkBE4D,CAAA8M,EAAA1N,GAlBFhD,EAkBE0Q,EAlBF9R,EAkBE,EAAA/D,IAAA,UAAAiE,OAlBFoB,EAkBEuB,KAAAE,EAGA,SAAAkC,IAAA,IAAAI,EAAA,YAAAxC,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAhE,EAAA,OAAAgE,EAAArD,EAAA,EACS,IAAImB,QAAQ,SAACC,EAAS2E,GAC3B,IAEE,GAAI3C,EAAKwC,KAAOxC,EAAKwC,GAAGnB,aAAeb,UAAUsM,YAAc9M,EAAKwC,GAAGnB,aAAeb,UAAUc,MAE9F,YADAtD,IAKF,GAAIgC,EAAK4M,eAEP,YADA5O,IAKF,GAAIgC,EAAK6M,aAEP,YADA7O,IAKF,IAAK+O,GAAkBC,oBAAoBhN,EAAKtJ,OAAOuM,cAGrD,OAFApH,QAAQuE,IAAI,iEAADtE,OAAkEkE,EAAKtJ,OAAOuM,oBACzFjF,IAQF,GAJAgC,EAAK6M,cAAe,EACpB7M,EAAK0C,aAAeE,KAAKC,MAAQ,IAAM1B,KAAK2B,SAASC,SAAS,IAAIC,OAAO,EAAG,IAGvE+J,GAAkBE,mBAAmBjN,EAAKtJ,OAAOuM,aAAcjD,EAAK0C,cAIvE,OAHA7G,QAAQuE,IAAI,2DAADtE,OAA4DkE,EAAK0C,eAC5E1C,EAAK6M,cAAe,OACpB7O,IAIFnC,QAAQuE,IAAI,oDAADtE,OAAqDkE,EAAK0C,eACrE1C,EAAKwC,GAAK,IAAIhC,UAAUR,EAAKtJ,OAAOuM,cAEpCjD,EAAKwC,GAAG0K,OAAS,WACfrR,QAAQuE,IAAI,8CAADtE,OAA+CkE,EAAK0C,eAC/D1C,EAAKyC,aAAc,EACnBzC,EAAK0M,kBAAoB,EACzB1M,EAAK4M,gBAAiB,EACtB5M,EAAK6M,cAAe,EACpB7M,EAAKW,KAAK,aACV3C,GACF,EAEAgC,EAAKwC,GAAGiE,UAAY,SAACxL,GACnB+E,EAAK2D,cAAc1I,EACrB,EAEA+E,EAAKwC,GAAG2K,QAAU,SAAClS,GACjBY,QAAQuE,IAAI,0CAADtE,OAA2CkE,EAAK0C,aAAY,YAAA5G,OAAWb,EAAM2F,KAAI,MAC5FZ,EAAKyC,aAAc,EACnBzC,EAAK6M,cAAe,EACpB7M,EAAKW,KAAK,eAAgB1F,GAGP,MAAfA,EAAM2F,MAAiBZ,EAAK0M,kBAAoB1M,EAAK2M,uBAAyB3M,EAAK4M,iBACrF5M,EAAK4M,gBAAiB,EACtB5M,EAAK0M,oBACL7Q,QAAQuE,IAAI,gDAADtE,OAAiDkE,EAAK0M,kBAAiB,KAAA5Q,OAAIkE,EAAK2M,uBAC3FrM,WAAW,WACTN,EAAK4M,gBAAiB,EACtB5M,EAAKuG,UAAUlD,MAAM,WACnB,EAEJ,EAAG,IAAOrD,EAAK0M,mBAEnB,EAEA1M,EAAKwC,GAAG4K,QAAU,SAACxR,GACjBC,QAAQuE,IAAI,yCAADtE,OAA0CkE,EAAK0C,cAAgB9G,GAC1EoE,EAAK6M,cAAe,EACpB7M,EAAKW,KAAK,QAAS/E,GACnB+G,EAAO/G,EACT,CAEF,CAAE,MAAOA,GACPC,QAAQuE,IAAI,0CAADtE,OAA2CkE,EAAK0C,cAAgB9G,GAC3EoE,EAAK6M,cAAe,EACpBlK,EAAO/G,EACT,CACF,GAAE,EAAAgE,EAAA,GA3FJ0D,EAlBF,eAAAtH,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,MA8GG,WAzFY,OAAAwC,EAAA3H,MAAC,KAADL,UAAA,IA2Fb,CAAA1E,IAAA,aAAAiE,MAGA,WAEEzE,KAAKwW,gBAAiB,EACtBxW,KAAKsW,kBAAoBtW,KAAKuW,qBAG1BvW,KAAKsM,cACPqK,GAAkBM,qBAAqBjX,KAAKM,OAAOuM,aAAc7M,KAAKsM,cAGpEtM,KAAKoM,IAAMpM,KAAKoM,GAAGnB,aAAeb,UAAUc,MAC9ClL,KAAKoM,GAAGjB,MAAM,IAAM,0BAEtBnL,KAAKoM,GAAK,KACVpM,KAAKqM,aAAc,EACnBrM,KAAKyW,cAAe,CACtB,GAEA,CAAAjW,IAAA,4BAAAiE,MAGA,WACEzE,KAAKsW,kBAAoB,EACzBtW,KAAKwW,gBAAiB,CACxB,GAEA,CAAAhW,IAAA,cAAAiE,MAUA,SAAYkJ,GACV,IAAK3N,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKC,KAAKC,UAAUL,GAC9B,GAEA,CAAAnN,IAAA,aAAAiE,MAGA,SAAWwJ,GACT,IAAKjO,KAAKqM,cAAgBrM,KAAKoM,GAC7B,MAAM,IAAIjK,MAAM,2BAGlBnC,KAAKoM,GAAG0B,KAAKG,EACf,GAEA,CAAAzN,IAAA,gBAAAiE,MAGA,SAAcI,GAAO,IAAAsI,EAAA,KAEnB,GAAItI,EAAMoJ,gBAAgBE,YACxBnO,KAAKuK,KAAK,cAAe1F,EAAMoJ,WAE1B,GAAIpJ,EAAMoJ,gBAAgBG,KAC/BvJ,EAAMoJ,KAAKI,cAAcxG,KAAK,SAAAwG,GAC5BlB,EAAK5C,KAAK,cAAe8D,EAC3B,GAAGpB,MAAM,SAAAnB,GACPqB,EAAK5C,KAAK,QAASuB,EACrB,QAKF,IACE,IAAM6B,EAAUI,KAAKO,MAAMzJ,EAAMoJ,MAGf,iBAAdN,EAAQ/H,GAAsC,iBAAd+H,EAAQ/H,GAC1C5F,KAAKuK,KAAK,UAAWoD,GAIL,iBAAdA,EAAQ/H,GACV5F,KAAKuK,KAAK,cAAeoD,GAG3B3N,KAAKuK,KAAK,UAAWoD,EACvB,CAAE,MAAOnI,GACPxF,KAAKuK,KAAK,QAAS/E,EACrB,CACF,GAEA,CAAAhF,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClBpB,WAAYjL,KAAKoM,GAAKpM,KAAKoM,GAAGnB,WAAab,UAAU8M,OAEzD,IAvNFtR,EAuNG,EAAApF,IAAA,sBAAAiE,MAvED,WACEkS,GAAkBnI,UACpB,IAlJFjK,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,GAAAnC,EAAAC,GAAAtE,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAAAqB,EAAAC,EAkBEqH,CAgIC,CA7IkC,CAASxI,G,0tCCL9C,IAAAiB,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAA6H,GAAAtH,EAAAoB,GAAA,gBAAApB,GAAA,GAAA/B,MAAAC,QAAA8B,GAAA,OAAAA,CAAA,CAAA4S,CAAA5S,IAAA,SAAAA,EAAAmC,GAAA,IAAAd,EAAA,MAAArB,EAAA,yBAAArE,QAAAqE,EAAArE,OAAAa,WAAAwD,EAAA,uBAAAqB,EAAA,KAAAD,EAAAE,EAAAC,EAAAG,EAAAO,EAAA,GAAAL,GAAA,EAAAnC,GAAA,SAAA8B,GAAAF,EAAAA,EAAAtB,KAAAC,IAAA6S,KAAA,IAAA1Q,EAAA,IAAApF,OAAAsE,KAAAA,EAAA,OAAAO,GAAA,cAAAA,GAAAR,EAAAG,EAAAxB,KAAAsB,IAAAgB,QAAAJ,EAAA1B,KAAAa,EAAAlB,OAAA+B,EAAArB,SAAAuB,GAAAP,GAAA,UAAA5B,GAAAP,GAAA,EAAA6B,EAAAtB,CAAA,iBAAA4B,GAAA,MAAAP,EAAAiB,SAAAZ,EAAAL,EAAAiB,SAAAvF,OAAA2E,KAAAA,GAAA,kBAAAjC,EAAA,MAAA6B,CAAA,SAAAW,CAAA,EAAA6Q,CAAA9S,EAAAoB,IAAA,SAAApB,EAAAiC,GAAA,GAAAjC,EAAA,qBAAAA,EAAA,OAAA+S,GAAA/S,EAAAiC,GAAA,IAAAZ,EAAA,GAAA+G,SAAArI,KAAAC,GAAAgT,MAAA,uBAAA3R,GAAArB,EAAAjC,cAAAsD,EAAArB,EAAAjC,YAAAkV,MAAA,QAAA5R,GAAA,QAAAA,EAAApD,MAAAiV,KAAAlT,GAAA,cAAAqB,GAAA,2CAAA8R,KAAA9R,GAAA0R,GAAA/S,EAAAiC,QAAA,GAAAmR,CAAApT,EAAAoB,IAAA,qBAAAgB,UAAA,6IAAAiR,EAAA,UAAAN,GAAA/S,EAAAiC,IAAA,MAAAA,GAAAA,EAAAjC,EAAAY,UAAAqB,EAAAjC,EAAAY,QAAA,QAAAQ,EAAA,EAAAE,EAAArD,MAAAgE,GAAAb,EAAAa,EAAAb,IAAAE,EAAAF,GAAApB,EAAAoB,GAAA,OAAAE,CAAA,CAiKA,SA5JoB,SAAHgS,GAmBX,IAlBJhL,EAAYgL,EAAZhL,aACAoG,EAAO4E,EAAP5E,QAAO6E,EAAAD,EACPzE,MAAAA,OAAK,IAAA0E,EAAG,UAASA,EAAAC,EAAAF,EACjBxE,SAAAA,OAAQ,IAAA0E,EAAG,KAAIA,EAAAC,EAAAH,EACfrE,cAAAA,OAAa,IAAAwE,GAAOA,EACpBC,EAAWJ,EAAXI,YACAC,EAAcL,EAAdK,eACAC,EAAkBN,EAAlBM,mBACAC,EAAkBP,EAAlBO,mBACAC,EAAiBR,EAAjBQ,kBACAC,EAAiBT,EAAjBS,kBACAC,EAAOV,EAAPU,QACAC,EAASX,EAATW,UACAC,EAASZ,EAATY,UACAC,EAAab,EAAba,cAAaC,EAAAd,EACbe,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EAAAE,EAAAhB,EACdiB,MAAAA,OAAK,IAAAD,EAAG,CAAC,EAACA,EACVE,EAAQlB,EAARkB,SAEqDC,EAAAnN,IAAfvI,EAAAA,GAAAA,WAAS,GAAM,GAA9C+I,EAAW2M,EAAA,GAAEC,EAAcD,EAAA,GACmBE,EAAArN,IAAfvI,EAAAA,GAAAA,WAAS,GAAM,GAA9CwL,EAAWoK,EAAA,GAAEC,EAAcD,EAAA,GACeE,EAAAvN,IAAfvI,EAAAA,GAAAA,WAAS,GAAM,GAA/B+V,GAAFD,EAAA,GAAcA,EAAA,IAC0CE,EAAAzN,IAAxBvI,EAAAA,GAAAA,UAAS,gBAAe,GAA/CiW,GAAFD,EAAA,GAAqBA,EAAA,IAEtCE,GAAcpW,EAAAA,GAAAA,QAAO,OAG3BH,EAAAA,GAAAA,WAAU,WACRwC,QAAQuE,IAAI,mDAADtE,OAAoDmH,IAG3D2M,EAAYC,UACdhU,QAAQuE,IAAI,0DACZwP,EAAYC,QAAQ3D,UACpB0D,EAAYC,QAAU,MAGxB,IAAMC,EAAW,IAAI1G,GAAS,CAC5BnG,aAAAA,EACAoG,QAAAA,EACAG,MAAAA,EACAC,SAAAA,EACAG,cAAAA,IA0DF,OAtDAkG,EAASlM,GAAG,YAAa,WACvByL,GAAe,GACfM,EAAoB,aACpBtB,SAAAA,GACF,GAEAyB,EAASlM,GAAG,eAAgB,WAC1ByL,GAAe,GACfM,EAAoB,gBACpBrB,SAAAA,GACF,GAEAwB,EAASlM,GAAG,mBAAoB,WAC9B2L,GAAe,GACfhB,SAAAA,GACF,GAEAuB,EAASlM,GAAG,mBAAoB,WAC9B2L,GAAe,GACff,SAAAA,GACF,GAEAsB,EAASlM,GAAG,kBAAmB,WAC7B6L,GAAa,GACbhB,SAAAA,GACF,GAEAqB,EAASlM,GAAG,kBAAmB,WAC7B6L,GAAa,GACbf,SAAAA,GACF,GAEAoB,EAASlM,GAAG,QAAS,SAAChI,GACpB+S,SAAAA,EAAU/S,EACZ,GAEAkU,EAASlM,GAAG,UAAW,SAACG,GACtB6K,SAAAA,EAAY7K,EACd,GAEA+L,EAASlM,GAAG,UAAW,SAACG,GACtB8K,SAAAA,EAAY9K,EACd,GAEA+L,EAASlM,GAAG,cAAe,SAACG,GAC1B+K,SAAAA,EAAgB/K,EAClB,GAEA6L,EAAYC,QAAUC,EAGtBA,EAASvJ,UAGF,WACL1K,QAAQuE,IAAI,sDAADtE,OAAuDmH,IAC9D2M,EAAYC,UACdD,EAAYC,QAAQ3D,UACpB0D,EAAYC,QAAU,KAE1B,CACF,EAAG,CAAC5M,EAAcoG,EAASG,EAAOC,IAGlC,IAAMsG,EAAW,eApHnB9T,EAoHmB+T,GApHnB/T,EAoHmBuB,KAAAE,EAAG,SAAAkC,IAAA,IAAAwF,EAAA,OAAA5H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,UACb2T,EAAYC,QAAS,CAAF5P,EAAAhE,EAAA,eAAAgE,EAAArD,EAAA,iBAAAqD,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAGhB2T,EAAYC,QAAQI,kBAAiB,OAAAhQ,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAE3Cd,QAAQD,MAAM,4BAA2BwJ,GAAS,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,gBA1HxD,eAAA5D,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,OA4HG,kBARgB,OAAAkP,EAAArU,MAAA,KAAAL,UAAA,KAWX4U,GACJC,EAAAA,GAAAA,MAAA,OAAKjB,MAAO,CAAEkB,QAAS,OAAQC,WAAY,SAAUC,IAAK,OAAQnB,SAAA,EAChEoB,EAAAA,GAAAA,KAAA,OAAKrB,MAAO,CAAEsB,SAAU,QAASrB,SAC9BjK,EAAc,KAAO,QAExBqL,EAAAA,GAAAA,KAAA,OAAApB,SACGjK,EAAc,iBAAmB,uBAKxC,OACEqL,EAAAA,GAAAA,KAAA,UACEvB,UAAS,gBAAAlT,OAAkBoJ,EAAc,YAAc,GAAE,KAAApJ,OAAIkT,GAC7DE,MAAKlG,GAAA,CACHyH,QAAS,YACTC,OAAQ,OACRC,aAAc,MACdC,gBAAiB1L,EAAc,UAAY,UAC3C2L,MAAO,QACPC,OAAQ,UACRN,SAAU,OACVO,WAAY,MACZC,WAAY,iBACT9B,GAEL+B,QAASlB,EACTmB,UAAWzO,EAAY0M,SAEtBA,GAAYe,GAGnB,E,uPC/JA,IAAAnU,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,GAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA8H,GAAA7M,EAAApB,GAAA,IAAAqB,EAAAtE,OAAAmR,KAAA9M,GAAA,GAAArE,OAAAoR,sBAAA,KAAA1O,EAAA1C,OAAAoR,sBAAA/M,GAAApB,IAAAP,EAAAA,EAAAe,OAAA,SAAAR,GAAA,OAAAjD,OAAAqR,yBAAAhN,EAAApB,GAAAL,UAAA,IAAA0B,EAAAd,KAAAS,MAAAK,EAAA5B,EAAA,QAAA4B,CAAA,UAAAiN,GAAAlN,EAAApB,EAAAqB,GAAA,OAAArB,EAAAwD,GAAAxD,MAAAoB,EAAArE,OAAA2C,eAAA0B,EAAApB,EAAA,CAAAE,MAAAmB,EAAA1B,YAAA,EAAAsD,cAAA,EAAAC,UAAA,IAAA9B,EAAApB,GAAAqB,EAAAD,CAAA,UAAAmC,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAA+D,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,GAE2C,IAEtBiV,GAAW,WA6B9B,OAjCFpV,EAKE,SAAAoV,IAA0B,IAAdC,EAAO9V,UAAAC,OAAA,QAAAvB,IAAAsB,UAAA,GAAAA,UAAA,GAAG,CAAC,GALzB,SAAAsB,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,qCAK0BhC,CAAA,KAAAoW,GACtB/a,KAAKgb,QANT,SAAArV,GAAA,QAAApB,EAAA,EAAAA,EAAAW,UAAAC,OAAAZ,IAAA,KAAAqB,EAAA,MAAAV,UAAAX,GAAAW,UAAAX,GAAA,GAAAA,EAAA,EAAAiO,GAAAlR,OAAAsE,IAAA,GAAAN,QAAA,SAAAf,GAAAsO,GAAAlN,EAAApB,EAAAqB,EAAArB,GAAA,GAAAjD,OAAAwR,0BAAAxR,OAAAyR,iBAAApN,EAAArE,OAAAwR,0BAAAlN,IAAA4M,GAAAlR,OAAAsE,IAAAN,QAAA,SAAAf,GAAAjD,OAAA2C,eAAA0B,EAAApB,EAAAjD,OAAAqR,yBAAA/M,EAAArB,GAAA,UAAAoB,CAAA,CAMgBiN,CAAA,CACV/F,aAAcmO,EAAQnO,cAAgB,mCACtCoG,QAAS+H,EAAQ/H,QACjBG,MAAO4H,EAAQ5H,OAAS,UACxBC,SAAU2H,EAAQ3H,UAAY,KAC9B4H,UAAWD,EAAQC,WAAaC,SAASC,KACzCC,WAAYJ,EAAQI,YAAc,kBAClCC,YAAaL,EAAQK,aAAe,gBACjCL,GAGLhb,KAAKqM,aAAc,EACnBrM,KAAK8O,aAAc,EACnB9O,KAAKmR,WAAY,EAEjBnR,KAAK0Z,SAAW,IAAI1G,GAAS,CAC3BnG,aAAc7M,KAAKgb,QAAQnO,aAC3BoG,QAASjT,KAAKgb,QAAQ/H,QACtBG,MAAOpT,KAAKgb,QAAQ5H,MACpBC,SAAUrT,KAAKgb,QAAQ3H,WAGzBrT,KAAKgN,sBACLhN,KAAKsb,eACLtb,KAAKmQ,SACP,EA/BF5L,EAiCE,EAAA/D,IAAA,sBAAAiE,MAGA,WAAsB,IAAAoE,EAAA,KACpB7I,KAAK0Z,SAASlM,GAAG,YAAa,WAAM,IAAA+N,EAAAC,EAClC3S,EAAKwD,aAAc,EACnBxD,EAAK4S,eACmB,QAAxBF,GAAAC,EAAA3S,EAAKmS,SAAQ/C,mBAAW,IAAAsD,GAAxBA,EAAAjX,KAAAkX,EACF,GAEAxb,KAAK0Z,SAASlM,GAAG,eAAgB,WAAM,IAAAkO,EAAAC,EACrC9S,EAAKwD,aAAc,EACnBxD,EAAK4S,eACsB,QAA3BC,GAAAC,EAAA9S,EAAKmS,SAAQ9C,sBAAc,IAAAwD,GAA3BA,EAAApX,KAAAqX,EACF,GAEA3b,KAAK0Z,SAASlM,GAAG,mBAAoB,WAAM,IAAAoO,EAAAC,EACzChT,EAAKiG,aAAc,EACnBjG,EAAK4S,eAC0B,QAA/BG,GAAAC,EAAAhT,EAAKmS,SAAQ7C,0BAAkB,IAAAyD,GAA/BA,EAAAtX,KAAAuX,EACF,GAEA7b,KAAK0Z,SAASlM,GAAG,mBAAoB,WAAM,IAAAsO,EAAAC,EACzClT,EAAKiG,aAAc,EACnBjG,EAAK4S,eAC0B,QAA/BK,GAAAC,EAAAlT,EAAKmS,SAAQ5C,0BAAkB,IAAA0D,GAA/BA,EAAAxX,KAAAyX,EACF,GAEA/b,KAAK0Z,SAASlM,GAAG,kBAAmB,WAAM,IAAAwO,EAAAC,EACxCpT,EAAKsI,WAAY,EACa,QAA9B6K,GAAAC,EAAApT,EAAKmS,SAAQ3C,yBAAiB,IAAA2D,GAA9BA,EAAA1X,KAAA2X,EACF,GAEAjc,KAAK0Z,SAASlM,GAAG,kBAAmB,WAAM,IAAA0O,EAAAC,EACxCtT,EAAKsI,WAAY,EACa,QAA9B+K,GAAAC,EAAAtT,EAAKmS,SAAQ1C,yBAAiB,IAAA4D,GAA9BA,EAAA5X,KAAA6X,EACF,GAEAnc,KAAK0Z,SAASlM,GAAG,QAAS,SAAChI,GAAU,IAAA4W,EAAAC,EACf,QAApBD,GAAAC,EAAAxT,EAAKmS,SAAQzC,eAAO,IAAA6D,GAApBA,EAAA9X,KAAA+X,EAAuB7W,EACzB,GAEAxF,KAAK0Z,SAASlM,GAAG,UAAW,SAACG,GAAY,IAAA2O,EAAAC,EACjB,QAAtBD,GAAAC,EAAA1T,EAAKmS,SAAQxC,iBAAS,IAAA8D,GAAtBA,EAAAhY,KAAAiY,EAAyB5O,EAC3B,GAEA3N,KAAK0Z,SAASlM,GAAG,UAAW,SAACG,GAAY,IAAA6O,EAAAC,EACjB,QAAtBD,GAAAC,EAAA5T,EAAKmS,SAAQvC,iBAAS,IAAA+D,GAAtBA,EAAAlY,KAAAmY,EAAyB9O,EAC3B,GAEA3N,KAAK0Z,SAASlM,GAAG,cAAe,SAACG,GAAY,IAAA+O,EAAAC,EACjB,QAA1BD,GAAAC,EAAA9T,EAAKmS,SAAQtC,qBAAa,IAAAgE,GAA1BA,EAAApY,KAAAqY,EAA6BhP,EAC/B,EACF,GAEA,CAAAnN,IAAA,eAAAiE,MAGA,WAAe,IAAAmF,EAAA,KACb5J,KAAK4c,OAAS1B,SAAS2B,cAAc,UACrC7c,KAAK4c,OAAOhE,UAAY5Y,KAAKgb,QAAQK,YACrCrb,KAAK4c,OAAO9D,MAAMgE,QAAU,yTAe5B9c,KAAK4c,OAAOvS,iBAAiB,QAAS,kBAAMT,EAAKiQ,iBAAiB,GAClE7Z,KAAKgb,QAAQC,UAAU8B,YAAY/c,KAAK4c,QAExC5c,KAAKyb,cACP,GAEA,CAAAjb,IAAA,eAAAiE,MAGA,WACE,GAAKzE,KAAK4c,OAAV,CAEA,IAAMI,EAAOhd,KAAK8O,YAAc,KAAO,KACjCmO,EAAOjd,KAAK8O,YAAc,iBAAmB,kBAEnD9O,KAAK4c,OAAOM,UAAY,0CAAHxX,OACcsX,EAAI,yBAAAtX,OAC7BuX,EAAI,iBAGdjd,KAAK4c,OAAO9B,UAAY9a,KAAKqM,YAC7BrM,KAAK4c,OAAO9D,MAAM0B,gBAAkBxa,KAAK8O,YAAc,UACrB9O,KAAKqM,YAAc,UAAY,SAZzC,CAa1B,GAEA,CAAA7L,IAAA,UAAAiE,OAAAyI,EAAAuB,GAAArH,KAAAE,EAGA,SAAAkC,IAAA,IAAAwF,EAAA,OAAA5H,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,cAAAgE,EAAAzD,EAAA,EAAAyD,EAAAhE,EAAA,EAEU7F,KAAK0Z,SAASvJ,UAAS,OAAAtG,EAAAhE,EAAA,eAAAgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAE7Bd,QAAQD,MAAM,qBAAoBwJ,GAAS,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,iBAE9C,WANY,OAAA0D,EAAA3H,MAAC,KAADL,UAAA,IAQb,CAAA1E,IAAA,kBAAAiE,OAAA0Q,EAAA1G,GAAArH,KAAAE,EAGA,SAAAoJ,IAAA,IAAAC,EAAA,OAAAvJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAAxK,EAAAwK,EAAA/K,GAAA,UACO7F,KAAK0Z,SAAU,CAAF9I,EAAA/K,EAAA,eAAA+K,EAAApK,EAAA,iBAAAoK,EAAAxK,EAAA,EAAAwK,EAAA/K,EAAA,EAGV7F,KAAK0Z,SAASG,kBAAiB,OAAAjJ,EAAA/K,EAAA,eAAA+K,EAAAxK,EAAA,EAAAuK,EAAAC,EAAArK,EAErCd,QAAQD,MAAM,4BAA2BmL,GAAS,cAAAC,EAAApK,EAAA,KAAAkK,EAAA,iBAErD,WARoB,OAAAyE,EAAA5P,MAAC,KAADL,UAAA,IAUrB,CAAA1E,IAAA,YAAAiE,MAGA,WACE,MAAO,CACL4H,YAAarM,KAAKqM,YAClByC,YAAa9O,KAAK8O,YAClBqC,UAAWnR,KAAKmR,UAEpB,GAEA,CAAA3Q,IAAA,eAAAiE,MAGA,SAAakR,GACX3V,KAAK0Z,SAASyD,aAAaxH,EAC7B,GAEA,CAAAnV,IAAA,UAAAiE,MAGA,WACMzE,KAAK4c,QAAU5c,KAAK4c,OAAOQ,YAC7Bpd,KAAK4c,OAAOQ,WAAWC,YAAYrd,KAAK4c,QAGtC5c,KAAK0Z,UACP1Z,KAAK0Z,SAAS5D,SAElB,IA3LFvR,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAjD,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,EAAA,IAAAA,EAAApB,EAiJE4Q,EAXAjI,CAqDC,CAvL6B,G,uPCJhC,IAAAvH,EAAAC,EAAArB,EAAA,mBAAArE,OAAAA,OAAA,GAAA2F,EAAAtB,EAAAxD,UAAA,aAAAiD,EAAAO,EAAAC,aAAA,yBAAAsB,EAAAvB,EAAAsB,EAAA7B,EAAA8B,GAAA,IAAAC,EAAAF,GAAAA,EAAA/D,qBAAAkE,EAAAH,EAAAG,EAAAC,EAAA3E,OAAA4B,OAAA6C,EAAAjE,WAAA,OAAAoE,GAAAD,EAAA,mBAAA1B,EAAAsB,EAAA7B,GAAA,IAAA8B,EAAAC,EAAAE,EAAAE,EAAA,EAAAC,EAAApC,GAAA,GAAAqC,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAP,EAAA,EAAAU,EAAAZ,EAAAa,EAAA1C,EAAAqC,EAAArC,EAAA2C,KAAAd,EAAA,GAAA7B,EAAA,SAAA8B,EAAArB,GAAA,OAAAuB,EAAAF,EAAAG,EAAA,EAAAE,EAAAN,EAAAW,EAAAT,EAAAtB,EAAAiC,CAAA,YAAA1C,EAAAS,EAAAsB,GAAA,IAAAE,EAAAxB,EAAA0B,EAAAJ,EAAAD,EAAA,GAAAS,GAAAF,IAAAnC,GAAA4B,EAAAQ,EAAAjB,OAAAS,IAAA,KAAA5B,EAAA8B,EAAAM,EAAAR,GAAA9B,EAAAwC,EAAAF,EAAAM,EAAAZ,EAAA,GAAAvB,EAAA,GAAAP,EAAA0C,IAAAb,KAAAI,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAH,GAAAG,EAAA,IAAAhC,KAAAE,EAAAO,EAAA,GAAAT,EAAAgC,EAAA,KAAAC,EAAA,EAAAO,EAAAC,EAAAV,EAAAS,EAAAT,EAAAC,EAAA,IAAAhC,EAAA4C,IAAA1C,EAAAO,EAAA,GAAAuB,EAAA,GAAAD,GAAAA,EAAAa,KAAAZ,EAAA,GAAAvB,EAAAuB,EAAA,GAAAD,EAAAS,EAAAT,EAAAa,EAAAX,EAAA,OAAA/B,GAAAO,EAAA,SAAAiC,EAAA,MAAAH,GAAA,EAAAR,CAAA,iBAAA7B,EAAAoC,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAtC,EAAAsC,EAAAM,GAAAX,EAAAK,EAAAH,EAAAS,GAAAd,EAAAG,EAAA,EAAAJ,EAAAM,KAAAI,GAAA,CAAAP,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAO,EAAAT,GAAA,GAAA/B,EAAAiC,EAAAE,IAAAK,EAAAT,EAAAI,EAAAK,EAAAC,EAAAN,GAAA,OAAAE,EAAA,EAAAL,EAAA,IAAAC,IAAA/B,EAAA,QAAA4B,EAAAE,EAAA9B,GAAA,MAAA4B,EAAAA,EAAAtB,KAAAwB,EAAAG,IAAA,MAAAU,UAAA,wCAAAf,EAAAgB,KAAA,OAAAhB,EAAAK,EAAAL,EAAAnB,MAAAsB,EAAA,IAAAA,EAAA,YAAAA,IAAAH,EAAAE,EAAAe,SAAAjB,EAAAtB,KAAAwB,GAAAC,EAAA,IAAAE,EAAAU,UAAA,oCAAA3C,EAAA,YAAA+B,EAAA,GAAAD,EAAAH,CAAA,UAAAC,GAAAS,EAAAC,EAAAT,EAAA,GAAAI,EAAA1B,EAAAD,KAAAuB,EAAAS,MAAAE,EAAA,YAAAZ,GAAAE,EAAAH,EAAAI,EAAA,EAAAE,EAAAL,CAAA,SAAAO,EAAA,UAAA1B,MAAAmB,EAAAgB,KAAAP,EAAA,GAAA9B,EAAAP,EAAA8B,IAAA,GAAAG,CAAA,KAAAO,EAAA,YAAAR,IAAA,UAAAc,IAAA,UAAAC,IAAA,CAAAnB,EAAAtE,OAAA0F,eAAA,IAAAjB,EAAA,GAAAF,GAAAD,EAAAA,EAAA,GAAAC,QAAAK,GAAAN,EAAA,GAAAC,EAAA,yBAAAD,GAAAK,EAAAc,EAAAjF,UAAAkE,EAAAlE,UAAAR,OAAA4B,OAAA6C,GAAA,SAAAI,EAAAR,GAAA,OAAArE,OAAA2F,eAAA3F,OAAA2F,eAAAtB,EAAAoB,IAAApB,EAAAuB,UAAAH,EAAAb,GAAAP,EAAA3B,EAAA,sBAAA2B,EAAA7D,UAAAR,OAAA4B,OAAA+C,GAAAN,CAAA,QAAAmB,EAAAhF,UAAAiF,EAAAb,GAAAD,EAAA,cAAAc,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAA/C,EAAA,qBAAAkC,GAAAD,GAAAC,GAAAD,EAAAjC,EAAA,aAAAkC,GAAAD,EAAAJ,EAAA,yBAAAK,GAAAD,EAAA,oDAAAmB,GAAA,kBAAAC,EAAAvB,EAAAwB,EAAAnB,EAAA,cAAAD,GAAAP,EAAApB,EAAAsB,EAAAD,GAAA,IAAAE,EAAAxE,OAAA2C,eAAA,IAAA6B,EAAA,gBAAAH,GAAAG,EAAA,EAAAI,GAAA,SAAAP,EAAApB,EAAAsB,EAAAD,GAAA,SAAA5B,EAAAO,EAAAsB,GAAAK,GAAAP,EAAApB,EAAA,SAAAoB,GAAA,YAAA4B,QAAAhD,EAAAsB,EAAAF,EAAA,GAAApB,EAAAuB,EAAAA,EAAAH,EAAApB,EAAA,CAAAE,MAAAoB,EAAA3B,YAAA0B,EAAA4B,cAAA5B,EAAA6B,UAAA7B,IAAAD,EAAApB,GAAAsB,GAAA7B,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAkC,GAAAP,EAAApB,EAAAsB,EAAAD,EAAA,UAAA8B,GAAA7B,EAAAD,EAAAD,EAAApB,EAAAP,EAAAwC,EAAAT,GAAA,QAAAD,EAAAD,EAAAW,GAAAT,GAAAE,EAAAH,EAAArB,KAAA,OAAAoB,GAAA,YAAAF,EAAAE,EAAA,CAAAC,EAAAc,KAAAhB,EAAAK,GAAA0B,QAAAC,QAAA3B,GAAA4B,KAAAtD,EAAAP,EAAA,UAAAyK,GAAA5I,GAAA,sBAAAD,EAAA,KAAAD,EAAAT,UAAA,WAAAyC,QAAA,SAAApD,EAAAP,GAAA,IAAAwC,EAAAX,EAAAN,MAAAK,EAAAD,GAAA,SAAA+E,EAAA7E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,OAAA9E,EAAA,UAAA8E,EAAA9E,GAAA6B,GAAAlB,EAAAjC,EAAAP,EAAA0G,EAAAC,EAAA,QAAA9E,EAAA,CAAA6E,OAAA,eAAA/F,GAAA6B,EAAAX,GAAA,KAAAW,aAAAX,GAAA,UAAAc,UAAA,8CAAAmB,GAAAnC,EAAApB,GAAA,QAAAqB,EAAA,EAAAA,EAAArB,EAAAY,OAAAS,IAAA,KAAA5B,EAAAO,EAAAqB,GAAA5B,EAAAE,WAAAF,EAAAE,aAAA,EAAAF,EAAAwD,cAAA,YAAAxD,IAAAA,EAAAyD,UAAA,GAAAnG,OAAA2C,eAAA0B,EAAAoC,GAAA/D,EAAAxD,KAAAwD,EAAA,WAAAsZ,GAAA3X,EAAApB,EAAAqB,GAAA,OAAArB,GAAAuD,GAAAnC,EAAA7D,UAAAyC,GAAAqB,GAAAkC,GAAAnC,EAAAC,GAAAtE,OAAA2C,eAAA0B,EAAA,aAAA8B,UAAA,IAAA9B,CAAA,UAAAoC,GAAAnC,GAAA,IAAAE,EAAA,SAAAF,GAAA,aAAAoC,GAAApC,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAA1F,OAAA+H,aAAA,YAAAtC,EAAA,KAAAG,EAAAH,EAAArB,KAAAsB,EAAArB,UAAA,aAAAyD,GAAAlC,GAAA,OAAAA,EAAA,UAAAa,UAAA,uDAAAuB,OAAAtC,EAAA,CAAAuC,CAAAvC,GAAA,gBAAAoC,GAAAlC,GAAAA,EAAAA,EAAA,GAQO,IAAMyX,GAAQ,WAalB,OAAAD,GAZD,SAAAC,EAAYjd,GAAQqE,GAAA,KAAA4Y,GAClBvd,KAAKM,OAASA,EACdN,KAAK0Z,SAAW,KAChB1Z,KAAKqM,aAAc,EACnBrM,KAAKwd,aAAc,EAGnBxd,KAAKiY,YAAc,WAAO,EAC1BjY,KAAKkY,eAAiB,WAAO,EAC7BlY,KAAKuY,QAAU,SAAC/S,GAAK,OAAKC,QAAQD,MAAM,aAAcA,EAAM,EAC5DxF,KAAKyd,aAAe,SAACR,GAAU,EAC/Bjd,KAAK0d,gBAAkB,SAACC,GAAa,CACvC,EAAC,EAAAnd,IAAA,UAAAiE,OAAAyI,EAAAuB,GAAArH,KAAAE,EAED,SAAAkC,EAAcoU,GAAS,IAAA5O,EAAAnG,EAAA,YAAAzB,KAAAC,EAAA,SAAAwC,GAAA,cAAAA,EAAAzD,EAAAyD,EAAAhE,GAAA,UAAAgE,EAAAzD,EAAA,EAEdwX,EAAW,CAAF/T,EAAAhE,EAAA,cACN,IAAI1D,MAAM,yBAAwB,OA4C1C,OAxCAnC,KAAK0Z,SAAW,IAAI1G,GAAS,CAC3BnG,aAAc+Q,EACdpK,eAAe,IAIjBxT,KAAK0Z,SAASlM,GAAG,YAAa,WAC5B3E,EAAKwD,aAAc,EACnBxD,EAAKoP,aACP,GAEAjY,KAAK0Z,SAASlM,GAAG,eAAgB,WAC/B3E,EAAKwD,aAAc,EACnBxD,EAAKqP,gBACP,GAEAlY,KAAK0Z,SAASlM,GAAG,QAAS,SAAChI,GACzBqD,EAAK0P,QAAQ/S,EACf,GAEAxF,KAAK0Z,SAASlM,GAAG,UAAW,SAACG,GAC3B9E,EAAKgV,uBAAuBlQ,EAC9B,GAEA3N,KAAK0Z,SAASlM,GAAG,mBAAoB,WACnC3E,EAAK2U,aAAc,CACrB,GAEAxd,KAAK0Z,SAASlM,GAAG,mBAAoB,WACnC3E,EAAK2U,aAAc,CACrB,GAEAxd,KAAK0Z,SAASlM,GAAG,kBAAmB,WAClC3E,EAAK6U,iBAAgB,EACvB,GAEA1d,KAAK0Z,SAASlM,GAAG,kBAAmB,WAClC3E,EAAK6U,iBAAgB,EACvB,GAEA7T,EAAAhE,EAAA,EACM7F,KAAK0Z,SAASvJ,UAAS,OAAAtG,EAAAhE,EAAA,eAGT,MAHSgE,EAAAzD,EAAA,EAAA4I,EAAAnF,EAAAtD,EAG7BvG,KAAKuY,QAAOvJ,GAAQA,EAAA,cAAAnF,EAAArD,EAAA,KAAAgD,EAAA,iBAGvB,SAtDYoB,GAAA,OAAAsC,EAAA3H,MAAC,KAADL,UAAA,KAAA1E,IAAA,yBAAAiE,MAwDb,SAAuBkJ,GAErB,OAAQA,EAAQtN,MACd,IAAK,YACHoF,QAAQuE,IAAI,gCACZ,MAEF,IAAK,kBACHhK,KAAKyd,aAAa9P,EAAQmQ,oBAAsBnQ,EAAQsP,MACxD,MAEF,IAAK,iBAIL,IAAK,WAIL,IAAK,eAEH,MAEF,IAAK,QACHjd,KAAKuY,QAAQ,IAAIpW,MAAMwL,EAAQA,UAGrC,GAAC,CAAAnN,IAAA,iBAAAiE,OAAAsZ,EAAAtP,GAAArH,KAAAE,EAED,SAAAoJ,IAAA,OAAAtJ,KAAAC,EAAA,SAAAuJ,GAAA,cAAAA,EAAA/K,GAAA,WACM7F,KAAK0Z,SAAU,CAAF9I,EAAA/K,EAAA,eAAA+K,EAAA/K,EAAA,EACT7F,KAAK0Z,SAASpE,iBAAgB,cAAA1E,EAAApK,EAAA,KAAAkK,EAAA,SAEvC,WAJmB,OAAAqN,EAAAxY,MAAC,KAADL,UAAA,KAAA1E,IAAA,gBAAAiE,MAMpB,WACMzE,KAAK0Z,UACP1Z,KAAK0Z,SAASpF,eAElB,GAAC,CAAA9T,IAAA,kBAAAiE,MAED,SAAgBuZ,GACVhe,KAAK0Z,UAAY1Z,KAAKqM,aAExBrM,KAAK0Z,SAASnG,iBAAiBsB,YAAY,CACzCjP,EAAG,mBACHoY,UAAAA,GAGN,GAAC,CAAAxd,IAAA,aAAAiE,MAED,WACMzE,KAAK0Z,WACP1Z,KAAK0Z,SAAS5D,UACd9V,KAAK0Z,SAAW,MAElB1Z,KAAKqM,aAAc,EACnBrM,KAAKwd,aAAc,CACrB,KA/BC,IAAAO,EArFA7Q,CAoHA,CAjIkB,GAwIR+Q,GAAW,WAYrB,OAAAX,GAXD,SAAAW,EAAY3d,GAAQqE,GAAA,KAAAsZ,GAClBje,KAAKM,OAASA,EACdN,KAAKke,IAAM,IAAIX,GACfvd,KAAKme,QAAS,EACdne,KAAKoe,UAAW,EAEhBpe,KAAKqe,SAAW/d,EAAO+d,UAAY,eACnCre,KAAKse,aAAehe,EAAOge,cAAgB,UAE3Cte,KAAK2T,qBACL3T,KAAKue,cACP,EAAC,EAAA/d,IAAA,qBAAAiE,MAED,WAAqB,IAAAmF,EAAA,KACnB5J,KAAKke,IAAIjG,YAAc,WACrBrO,EAAK4U,aAAa,YACpB,EAEAxe,KAAKke,IAAIhG,eAAiB,WACxBtO,EAAK4U,aAAa,gBAClB5U,EAAKwU,UAAW,CAClB,EAEApe,KAAKke,IAAI3F,QAAU,SAAC/S,GAClBoE,EAAK6U,UAAUjZ,EAAMmI,QACvB,EAEA3N,KAAKke,IAAIT,aAAe,SAACR,GACvBrT,EAAK8U,WAAW,OAAQzB,EAC1B,EAEAjd,KAAKke,IAAIR,gBAAkB,SAACC,GACtBA,EACF/T,EAAK+U,oBAEL/U,EAAKgV,mBAET,CACF,GAAC,CAAApe,IAAA,eAAAiE,MAED,WAAe,IAAA0I,EAAA,KACP0R,EAAS3D,SAAS2B,cAAc,OACtCgC,EAAOC,GAAK,eACZD,EAAO3B,UAAY,mFAAHxX,OAIR1F,KAAKqe,SAAShK,SAAS,UAAY,gBAAkB,aAAY,gBAAA3O,OACjE1F,KAAKqe,SAAShK,SAAS,SAAW,eAAiB,cAAa,+QAAA3O,OASpD1F,KAAKse,aAAY,+kBAAA5Y,OAwB7B1F,KAAKqe,SAAShK,SAAS,SAAW,YAAc,WAAU,0XAAA3O,OAe9C1F,KAAKse,aAAY,kuCAAA5Y,OAqDjB1F,KAAKse,aAAY,m2DAgErCpD,SAASC,KAAK4B,YAAY8B,GAE1B3D,SAAS6D,eAAe,gBAAgBC,QAAU,kBAAM7R,EAAK8R,aAAa,EAC1E/D,SAAS6D,eAAe,eAAeC,QAAU,kBAAM7R,EAAK8R,aAAa,EACzE/D,SAAS6D,eAAe,oBAAoBC,QAAU,kBAAM7R,EAAK+R,aAAa,CAChF,GAAC,CAAA1e,IAAA,cAAAiE,MAED,WACEzE,KAAKme,QAAUne,KAAKme,OACNjD,SAAS6D,eAAe,eAChCI,UAAUC,OAAO,OACzB,GAAC,CAAA5e,IAAA,cAAAiE,OAAA4a,EAAA5Q,GAAArH,KAAAE,EAED,SAAAqN,IAAA,IAAAiJ,EAAAjN,EAAA,OAAAvJ,KAAAC,EAAA,SAAAuN,GAAA,cAAAA,EAAAxO,EAAAwO,EAAA/O,GAAA,UACO7F,KAAKoe,SAAU,CAAFxJ,EAAA/O,EAAA,eAAA+O,EAAAxO,EAAA,EAAAwO,EAAA/O,EAAA,EAEU7F,KAAKsf,eAAc,OAA5B,OAAT1B,EAAShJ,EAAArO,EAAAqO,EAAA/O,EAAG,EACZ7F,KAAKke,IAAI/N,QAAQyN,GAAU,cAAAhJ,EAAA/O,EAAA,EAC3B7F,KAAKke,IAAIqB,iBAAgB,OAC/Bvf,KAAKoe,UAAW,EAChBlD,SAAS6D,eAAe,oBAAoBI,UAAUhV,IAAI,UAC1DnK,KAAK0e,WAAW,SAAU,gBAAgB9J,EAAA/O,EAAA,eAAA+O,EAAAxO,EAAA,EAAAuK,EAAAiE,EAAArO,EAE1Cd,QAAQD,MAAM,mBAAkBmL,GAChC3Q,KAAKye,UAAU9N,EAAMhD,SAAS,OAAAiH,EAAA/O,EAAA,eAGhC7F,KAAKke,IAAIsB,gBACTxf,KAAKke,IAAI3J,aACTvU,KAAKoe,UAAW,EAChBlD,SAAS6D,eAAe,oBAAoBI,UAAUM,OAAO,UAAU,cAAA7K,EAAApO,EAAA,KAAAmO,EAAA,iBAE1E,WAnBgB,OAAA0K,EAAA9Z,MAAC,KAADL,UAAA,KAAA1E,IAAA,eAAAiE,OAAAib,EAAAjR,GAAArH,KAAAE,EAqBjB,SAAA0N,IAAA,IAAA2K,EAAA1R,EAAA1C,EAAA,OAAAnE,KAAAC,EAAA,SAAA6N,GAAA,cAAAA,EAAArP,GAAA,UAC2C,iBAA9B7F,KAAKM,OAAOsf,cAA0B,CAAA1K,EAAArP,EAAA,eAAAqP,EAAArP,EAAA,EACxBga,MAAM7f,KAAKM,OAAOsf,cAAe,CACtDE,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElB5E,KAAMpN,KAAKC,UAAU,CACnBiF,QAASjT,KAAKM,OAAO2S,QACrB+K,UAAWhe,KAAKM,OAAO0d,WAAa,CAAC,MAEvC,OATY,IAAR2B,EAAQzK,EAAA3O,GAWAyZ,GAAI,CAAF9K,EAAArP,EAAA,cACR,IAAI1D,MAAM,8BAADuD,OAA+Bia,EAASM,aAAa,cAAA/K,EAAArP,EAAA,EAGnD8Z,EAASO,OAAM,OAAxB,OAAJjS,EAAIiH,EAAA3O,EAAA2O,EAAA1O,EAAA,EACHyH,EAAK2P,WAAa3P,EAAK8F,OAAS9F,EAAKxE,KAAG,UAEH,mBAA9BzJ,KAAKM,OAAOsf,cAA4B,CAAA1K,EAAArP,EAAA,eAAAqP,EAAArP,EAAA,EACjC7F,KAAKM,OAAOsf,cAAc,CAC7C3M,QAASjT,KAAKM,OAAO2S,QACrB+K,UAAWhe,KAAKM,OAAO0d,WAAa,CAAC,IACrC,OAHU,OAANzS,EAAM2J,EAAA3O,EAAA2O,EAAA1O,EAAA,EAKa,iBAAX+E,EAAsBA,EAAUA,EAAOqS,WAAarS,EAAOwI,OAASxI,EAAO9B,KAAI,aAGvF,IAAItH,MAAM,sDAAqD,cAAA+S,EAAA1O,EAAA,KAAAwO,EAAA,SAExE,WA/BiB,OAAA0K,EAAAna,MAAC,KAADL,UAAA,KAAA1E,IAAA,aAAAiE,MAiClB,SAAWpE,EAAM4c,GACf,IAAMkD,EAAWjF,SAAS6D,eAAe,kBACnCpR,EAAUuN,SAAS2B,cAAc,OACvClP,EAAQiL,UAAY,WAAHlT,OAAcrF,GAC/BsN,EAAQyS,YAAcnD,EACtBkD,EAASpD,YAAYpP,GACrBwS,EAASE,UAAYF,EAASG,YAChC,GAAC,CAAA9f,IAAA,oBAAAiE,MAED,WACE,IAAM0b,EAAWjF,SAAS6D,eAAe,kBACnCwB,EAAWrF,SAAS2B,cAAc,OACxC0D,EAAS3H,UAAY,+BACrB2H,EAASzB,GAAK,qBACdyB,EAASH,YAAc,uBACvBD,EAASpD,YAAYwD,GACrBJ,EAASE,UAAYF,EAASG,YAChC,GAAC,CAAA9f,IAAA,oBAAAiE,MAED,WACE,IAAM8b,EAAWrF,SAAS6D,eAAe,sBACrCwB,GAAUA,EAASd,QACzB,GAAC,CAAAjf,IAAA,YAAAiE,MAED,SAAUkJ,GACR,IAAMwS,EAAWjF,SAAS6D,eAAe,kBACnCvZ,EAAQ0V,SAAS2B,cAAc,OACrCrX,EAAMoT,UAAY,gBAClBpT,EAAM4a,YAAczS,EACpBwS,EAASpD,YAAYvX,EACvB,GAAC,CAAAhF,IAAA,eAAAiE,MAED,SAAa+b,GACX/a,QAAQuE,IAAI,iBAAkBwW,EAChC,KAxFiB,IAAAd,EAFhBL,CA0FA,CA3TqB,GC/GXoB,GAAU,QAiBvB,UACEzN,SAAAA,GACAqD,iBAAAA,GACAlK,mBAAAA,EACAuC,cAAAA,EACAuC,YAAAA,EACAvM,aAAAA,EACAqW,YAAAA,GACA2F,mBAAAA,GACAnD,SAAAA,GACAU,YAAAA,GACAwC,QAAAA,I","sources":["webpack://TTPAgentSDK/webpack/universalModuleDefinition","webpack://TTPAgentSDK/./node_modules/react/index.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react-jsx-runtime.production.js","webpack://TTPAgentSDK/./node_modules/react/jsx-runtime.js","webpack://TTPAgentSDK/./node_modules/react/cjs/react.production.js","webpack://TTPAgentSDK/webpack/bootstrap","webpack://TTPAgentSDK/webpack/runtime/define property getters","webpack://TTPAgentSDK/webpack/runtime/hasOwnProperty shorthand","webpack://TTPAgentSDK/webpack/runtime/make namespace object","webpack://TTPAgentSDK/./src/core/EventEmitter.js","webpack://TTPAgentSDK/./src/core/WebSocketSingleton.js","webpack://TTPAgentSDK/./src/core/WebSocketManagerV2.js","webpack://TTPAgentSDK/./src/core/AudioRecorder.js","webpack://TTPAgentSDK/./src/core/AudioPlayer.js","webpack://TTPAgentSDK/./src/core/VoiceSDK.js","webpack://TTPAgentSDK/./src/core/ConnectionManager.js","webpack://TTPAgentSDK/./src/core/WebSocketManager.js","webpack://TTPAgentSDK/./src/react/VoiceButton.jsx","webpack://TTPAgentSDK/./src/vanilla/VoiceButton.js","webpack://TTPAgentSDK/./src/legacy/AgentSDK.js","webpack://TTPAgentSDK/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TTPAgentSDK\"] = factory();\n\telse\n\t\troot[\"TTPAgentSDK\"] = factory();\n})(this, () => {\nreturn ","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * EventEmitter - Simple event system for the VoiceSDK\n */\nexport default class EventEmitter {\n constructor() {\n this.events = {};\n }\n \n /**\n * Add event listener\n */\n on(event, callback) {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(callback);\n }\n \n /**\n * Remove event listener\n */\n off(event, callback) {\n if (!this.events[event]) return;\n \n this.events[event] = this.events[event].filter(cb => cb !== callback);\n }\n \n /**\n * Emit event\n */\n emit(event, ...args) {\n if (!this.events[event]) return;\n \n this.events[event].forEach(callback => {\n try {\n callback(...args);\n } catch (error) {\n console.error(`Error in event listener for ${event}:`, error);\n }\n });\n }\n \n /**\n * Remove all listeners for an event\n */\n removeAllListeners(event) {\n if (event) {\n delete this.events[event];\n } else {\n this.events = {};\n }\n }\n}\n","/**\n * WebSocketSingleton - Ensures only one WebSocket connection per URL exists\n */\nimport EventEmitter from './EventEmitter.js';\n\nclass WebSocketSingleton extends EventEmitter {\n constructor() {\n super();\n this.connections = new Map(); // Map of URL -> WebSocket instance\n this.connectionCounts = new Map(); // Map of URL -> number of subscribers\n this.creatingConnections = new Set(); // Set of URLs currently being created\n }\n \n /**\n * Get or create a WebSocket connection\n */\n async getConnection(url, config = {}) {\n // If connection already exists, just return it\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n console.log(`🔌 WebSocketSingleton: Reusing existing connection for ${url} (${this.connectionCounts.get(url)} subscribers)`);\n return existingConnection;\n }\n \n // Check if we're already in the process of creating a connection\n if (this.creatingConnections && this.creatingConnections.has(url)) {\n console.log(`🔌 WebSocketSingleton: Connection already being created for ${url}, waiting...`);\n // Wait for the existing creation to complete\n return new Promise((resolve) => {\n const checkConnection = () => {\n if (this.connections.has(url)) {\n const existingConnection = this.connections.get(url);\n this.connectionCounts.set(url, (this.connectionCounts.get(url) || 0) + 1);\n console.log(`🔌 WebSocketSingleton: Got existing connection after wait for ${url} (${this.connectionCounts.get(url)} subscribers)`);\n resolve(existingConnection);\n } else {\n setTimeout(checkConnection, 50);\n }\n };\n checkConnection();\n });\n }\n \n // Create new connection\n console.log(`🔌 WebSocketSingleton: Creating new connection for ${url}`);\n this.creatingConnections.add(url);\n const connection = new WebSocket(url);\n this.connections.set(url, connection);\n this.connectionCounts.set(url, 1);\n \n // Set up event forwarding\n connection.addEventListener('open', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection opened for ${url}`);\n this.creatingConnections.delete(url);\n this.emit('open', event, url);\n });\n \n connection.addEventListener('close', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection closed for ${url} (Code: ${event.code})`);\n this.creatingConnections.delete(url);\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n this.emit('close', event, url);\n });\n \n connection.addEventListener('error', (event) => {\n console.log(`🔌 WebSocketSingleton: Connection error for ${url}`, event);\n this.creatingConnections.delete(url);\n this.emit('error', event, url);\n });\n \n connection.addEventListener('message', (event) => {\n this.emit('message', event, url);\n });\n \n return connection;\n }\n \n /**\n * Release a connection (decrement subscriber count)\n */\n releaseConnection(url) {\n if (!this.connections.has(url)) {\n console.log(`🔌 WebSocketSingleton: Attempted to release non-existent connection for ${url}`);\n return;\n }\n \n const currentCount = this.connectionCounts.get(url) || 0;\n const newCount = Math.max(0, currentCount - 1);\n this.connectionCounts.set(url, newCount);\n \n console.log(`🔌 WebSocketSingleton: Released connection for ${url} (${newCount} subscribers remaining)`);\n \n // If no more subscribers, close the connection\n if (newCount === 0) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n console.log(`🔌 WebSocketSingleton: Closing connection for ${url} (no more subscribers)`);\n connection.close(1000, 'No more subscribers');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Force close a connection\n */\n forceClose(url) {\n if (this.connections.has(url)) {\n const connection = this.connections.get(url);\n if (connection && connection.readyState === WebSocket.OPEN) {\n console.log(`🔌 WebSocketSingleton: Force closing connection for ${url}`);\n connection.close(1000, 'Force close');\n }\n this.connections.delete(url);\n this.connectionCounts.delete(url);\n }\n }\n \n /**\n * Get connection status\n */\n getConnectionStatus(url) {\n if (!this.connections.has(url)) {\n return { exists: false, readyState: null, subscribers: 0 };\n }\n \n const connection = this.connections.get(url);\n return {\n exists: true,\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n \n /**\n * Get all active connections\n */\n getAllConnections() {\n const result = {};\n for (const [url, connection] of this.connections.entries()) {\n result[url] = {\n readyState: connection.readyState,\n subscribers: this.connectionCounts.get(url) || 0\n };\n }\n return result;\n }\n \n /**\n * Clear all connections (for testing)\n */\n clearAll() {\n console.log(`🔌 WebSocketSingleton: Clearing all connections`);\n for (const [url, connection] of this.connections.entries()) {\n if (connection && connection.readyState === WebSocket.OPEN) {\n connection.close(1000, 'Clear all');\n }\n }\n this.connections.clear();\n this.connectionCounts.clear();\n this.creatingConnections.clear();\n }\n}\n\n// Global singleton instance\nconst webSocketSingleton = new WebSocketSingleton();\n\nexport default webSocketSingleton;\n","/**\n * WebSocketManagerV2 - Uses singleton pattern to prevent multiple connections\n */\nimport EventEmitter from './EventEmitter.js';\nimport webSocketSingleton from './WebSocketSingleton.js';\n\nexport default class WebSocketManagerV2 extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.connectionId = null;\n }\n \n /**\n * Connect to WebSocket using singleton\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n console.log(`🔌 WebSocketManagerV2: Requesting connection ${this.connectionId} for ${this.config.websocketUrl}`);\n \n // Get connection from singleton\n webSocketSingleton.getConnection(this.config.websocketUrl, this.config)\n .then((connection) => {\n this.ws = connection;\n console.log(`🔌 WebSocketManagerV2: Got connection ${this.connectionId}`);\n \n // Set up event listeners\n this.setupEventListeners();\n \n // If already connected, resolve immediately\n if (connection.readyState === WebSocket.OPEN) {\n this.isConnected = true;\n this.emit('connected');\n resolve();\n }\n })\n .catch((error) => {\n console.error(`🔌 WebSocketManagerV2: Connection failed ${this.connectionId}`, error);\n reject(error);\n });\n \n } catch (error) {\n console.error(`🔌 WebSocketManagerV2: Connection error ${this.connectionId}`, error);\n reject(error);\n }\n });\n }\n \n /**\n * Set up event listeners\n */\n setupEventListeners() {\n if (!this.ws) return;\n \n // Use singleton's event forwarding\n const handleOpen = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection opened ${this.connectionId}`);\n this.isConnected = true;\n this.emit('connected');\n }\n };\n \n const handleClose = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection closed ${this.connectionId} (Code: ${event.code})`);\n this.isConnected = false;\n this.emit('disconnected', event);\n }\n };\n \n const handleError = (event, url) => {\n if (url === this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Connection error ${this.connectionId}`, event);\n this.emit('error', event);\n }\n };\n \n const handleMessage = (event, url) => {\n if (url === this.config.websocketUrl) {\n this.handleMessage(event);\n }\n };\n \n // Add event listeners\n webSocketSingleton.on('open', handleOpen);\n webSocketSingleton.on('close', handleClose);\n webSocketSingleton.on('error', handleError);\n webSocketSingleton.on('message', handleMessage);\n \n // Store handlers for cleanup\n this.eventHandlers = {\n open: handleOpen,\n close: handleClose,\n error: handleError,\n message: handleMessage\n };\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n console.log(`🔌 WebSocketManagerV2: Disconnecting ${this.connectionId}`);\n \n // Remove event listeners\n if (this.eventHandlers) {\n webSocketSingleton.off('open', this.eventHandlers.open);\n webSocketSingleton.off('close', this.eventHandlers.close);\n webSocketSingleton.off('error', this.eventHandlers.error);\n webSocketSingleton.off('message', this.eventHandlers.message);\n }\n \n // Release connection from singleton\n if (this.config.websocketUrl) {\n console.log(`🔌 WebSocketManagerV2: Releasing connection ${this.connectionId} from singleton`);\n webSocketSingleton.releaseConnection(this.config.websocketUrl);\n }\n \n this.ws = null;\n this.isConnected = false;\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(JSON.stringify(message));\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(data);\n }\n \n /**\n * Handle incoming messages\n */\n handleMessage(event) {\n // Check if it's binary data\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n console.error('🔌 WebSocketManagerV2: Error converting Blob to ArrayBuffer:', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : null,\n connectionId: this.connectionId\n };\n }\n \n /**\n * Get singleton status (for debugging)\n */\n static getSingletonStatus() {\n return webSocketSingleton.getAllConnections();\n }\n \n /**\n * Clear all singleton connections (for testing)\n */\n static clearAllConnections() {\n webSocketSingleton.clearAll();\n }\n}\n","/**\n * AudioRecorder - Handles audio recording using AudioWorklet\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioRecorder extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioWorkletNode = null;\n this.mediaStream = null;\n this.isRecording = false;\n }\n \n /**\n * Start audio recording\n */\n async start() {\n try {\n // Get user media\n this.mediaStream = await navigator.mediaDevices.getUserMedia({\n audio: {\n sampleRate: this.config.sampleRate,\n channelCount: 1,\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true\n }\n });\n \n // Create AudioContext\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)({\n sampleRate: this.config.sampleRate\n });\n \n // Resume AudioContext if suspended\n if (this.audioContext.state === 'suspended') {\n await this.audioContext.resume();\n }\n \n // Load AudioWorklet module\n await this.audioContext.audioWorklet.addModule('/audio-processor.js');\n \n // Create AudioWorklet node\n this.audioWorkletNode = new AudioWorkletNode(this.audioContext, 'audio-processor');\n \n // Create media stream source\n const source = this.audioContext.createMediaStreamSource(this.mediaStream);\n source.connect(this.audioWorkletNode);\n \n // Handle messages from AudioWorklet\n this.audioWorkletNode.port.onmessage = (event) => {\n const { type, data } = event.data;\n \n if (type === 'pcm_audio_data') {\n this.emit('audioData', data);\n }\n };\n \n // Enable continuous mode\n this.audioWorkletNode.port.postMessage({\n type: 'setForceContinuous',\n data: { enabled: true }\n });\n \n this.isRecording = true;\n this.emit('recordingStarted');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Stop audio recording\n */\n async stop() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Flush any remaining audio data\n if (this.audioWorkletNode) {\n this.audioWorkletNode.port.postMessage({ type: 'flush' });\n await new Promise(resolve => setTimeout(resolve, 100));\n }\n \n // Disconnect and cleanup\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n await this.audioContext.close();\n this.audioContext = null;\n }\n \n this.audioWorkletNode = null;\n this.isRecording = false;\n this.emit('recordingStopped');\n \n } catch (error) {\n this.emit('error', error);\n throw error;\n }\n }\n \n /**\n * Get recording status\n */\n getStatus() {\n return {\n isRecording: this.isRecording,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n }\n}\n","/**\n * AudioPlayer - Handles audio playback with queue system\n */\nimport EventEmitter from './EventEmitter.js';\n\nexport default class AudioPlayer extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.audioContext = null;\n this.audioQueue = [];\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n }\n \n /**\n * Add audio data to playback queue\n */\n playAudio(audioData) {\n try {\n const audioBlob = this.createAudioBlob(audioData);\n this.audioQueue.push(audioBlob);\n \n // Process queue if not already playing or processing\n if (!this.isPlaying && !this.isProcessingQueue) {\n setTimeout(() => this.processQueue(), 50);\n }\n } catch (error) {\n this.emit('playbackError', error);\n }\n }\n \n /**\n * Create audio blob from ArrayBuffer\n */\n createAudioBlob(arrayBuffer) {\n const uint8Array = new Uint8Array(arrayBuffer);\n \n // Detect audio format\n if (uint8Array.length >= 4) {\n // WAV header (RIFF)\n if (uint8Array[0] === 0x52 && uint8Array[1] === 0x49 && \n uint8Array[2] === 0x46 && uint8Array[3] === 0x46) {\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n // MP3 header\n if (uint8Array[0] === 0xFF && (uint8Array[1] & 0xE0) === 0xE0) {\n return new Blob([arrayBuffer], { type: 'audio/mpeg' });\n }\n \n // OGG header\n if (uint8Array[0] === 0x4F && uint8Array[1] === 0x67 && \n uint8Array[2] === 0x67 && uint8Array[3] === 0x53) {\n return new Blob([arrayBuffer], { type: 'audio/ogg' });\n }\n }\n \n // Default to WAV format\n return new Blob([arrayBuffer], { type: 'audio/wav' });\n }\n \n /**\n * Process audio queue\n */\n async processQueue() {\n // Prevent multiple simultaneous queue processing\n if (this.isProcessingQueue || this.isPlaying || this.audioQueue.length === 0) {\n return;\n }\n \n this.isProcessingQueue = true;\n \n const audioBlob = this.audioQueue.shift();\n if (!audioBlob) {\n this.isProcessingQueue = false;\n return;\n }\n \n try {\n this.isPlaying = true;\n this.emit('playbackStarted');\n \n // Create AudioContext if not exists\n if (!this.audioContext) {\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)();\n }\n \n const audioContext = this.audioContext;\n \n // Resume AudioContext if suspended\n if (audioContext.state === 'suspended') {\n await audioContext.resume();\n }\n \n // Create audio source from blob\n const arrayBuffer = await audioBlob.arrayBuffer();\n const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);\n \n const source = audioContext.createBufferSource();\n source.buffer = audioBuffer;\n source.connect(audioContext.destination);\n \n this.currentSource = source;\n \n // Handle audio end\n source.onended = () => {\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n this.emit('playbackStopped');\n \n // Process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n setTimeout(() => this.processQueue(), 100);\n }\n };\n \n // Start playback\n source.start();\n \n } catch (error) {\n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.currentSource = null;\n this.emit('playbackError', error);\n \n // Try to process next audio in queue if there are more items\n if (this.audioQueue.length > 0) {\n setTimeout(() => this.processQueue(), 100);\n }\n }\n }\n \n /**\n * Stop current playback and clear queue\n */\n stop() {\n this.stopImmediate();\n }\n \n /**\n * Stop current playback immediately and clear queue\n */\n stopImmediate() {\n if (this.currentSource) {\n try {\n this.currentSource.stop();\n } catch (error) {\n // Ignore errors when stopping\n }\n this.currentSource = null;\n }\n \n this.isPlaying = false;\n this.isProcessingQueue = false;\n this.audioQueue = [];\n this.emit('playbackStopped');\n }\n \n /**\n * Get playback status\n */\n getStatus() {\n return {\n isPlaying: this.isPlaying,\n isProcessingQueue: this.isProcessingQueue,\n queueLength: this.audioQueue.length,\n audioContextState: this.audioContext ? this.audioContext.state : 'closed'\n };\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n this.stop();\n \n if (this.audioContext && this.audioContext.state !== 'closed') {\n this.audioContext.close();\n this.audioContext = null;\n }\n }\n}\n","/**\n * VoiceSDK - Core voice interaction SDK\n * Handles WebSocket connection, audio recording, and audio playback\n */\nimport EventEmitter from './EventEmitter.js';\nimport WebSocketManagerV2 from './WebSocketManagerV2.js';\nimport AudioRecorder from './AudioRecorder.js';\nimport AudioPlayer from './AudioPlayer.js';\n\nexport default class VoiceSDK extends EventEmitter {\n constructor(config = {}) {\n super();\n \n // Configuration\n this.config = {\n websocketUrl: config.websocketUrl || 'wss://speech.bidme.co.il/ws/conv',\n agentId: config.agentId, // Optional - for direct agent access (unsecured method)\n appId: config.appId, // User's app ID for authentication\n ttpId: config.ttpId, // Optional - custom TTP ID (fallback if appId not provided)\n voice: config.voice || 'default',\n language: config.language || 'en',\n sampleRate: config.sampleRate || 16000,\n ...config\n };\n \n // State\n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n this.isDestroyed = false;\n \n // Components\n this.webSocketManager = new WebSocketManagerV2({\n ...this.config,\n autoReconnect: this.config.autoReconnect !== false // Default to true unless explicitly disabled\n });\n this.audioRecorder = new AudioRecorder(this.config);\n this.audioPlayer = new AudioPlayer(this.config);\n \n // Bind event handlers\n this.setupEventHandlers();\n }\n \n /**\n * Setup event handlers for all components\n */\n setupEventHandlers() {\n // WebSocket events\n this.webSocketManager.on('connected', () => {\n this.isConnected = true;\n this.sendHelloMessage();\n this.emit('connected');\n });\n \n this.webSocketManager.on('disconnected', () => {\n this.isConnected = false;\n this.emit('disconnected');\n });\n \n this.webSocketManager.on('error', (error) => {\n this.emit('error', error);\n });\n \n this.webSocketManager.on('message', (message) => {\n this.emit('message', message);\n });\n \n this.webSocketManager.on('binaryAudio', (audioData) => {\n this.audioPlayer.playAudio(audioData);\n });\n \n this.webSocketManager.on('bargeIn', (message) => {\n this.emit('bargeIn', message);\n });\n \n this.webSocketManager.on('stopPlaying', (message) => {\n this.emit('stopPlaying', message);\n // Immediately stop all audio playback\n this.audioPlayer.stopImmediate();\n });\n \n // Audio recorder events\n this.audioRecorder.on('recordingStarted', () => {\n this.isRecording = true;\n this.emit('recordingStarted');\n });\n \n this.audioRecorder.on('recordingStopped', () => {\n this.isRecording = false;\n this.emit('recordingStopped');\n });\n \n this.audioRecorder.on('audioData', (audioData) => {\n if (this.isConnected) {\n this.webSocketManager.sendBinary(audioData);\n }\n });\n \n // Audio player events\n this.audioPlayer.on('playbackStarted', () => {\n this.isPlaying = true;\n this.emit('playbackStarted');\n });\n \n this.audioPlayer.on('playbackStopped', () => {\n this.isPlaying = false;\n this.emit('playbackStopped');\n });\n \n this.audioPlayer.on('playbackError', (error) => {\n this.emit('playbackError', error);\n });\n }\n \n /**\n * Connect to the voice server\n */\n async connect() {\n if (this.isDestroyed) {\n return false; // Prevent connect after destroy\n }\n \n try {\n // Build WebSocket URL with query parameters if needed\n const wsUrl = this.buildWebSocketUrl();\n console.log('VoiceSDK: Using WebSocket URL:', wsUrl);\n \n // Update the WebSocket manager with the URL that includes query parameters\n this.webSocketManager.config.websocketUrl = wsUrl;\n \n await this.webSocketManager.connect();\n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n\n /**\n * Build WebSocket URL with query parameters for authentication\n */\n buildWebSocketUrl() {\n let url = this.config.websocketUrl;\n const params = new URLSearchParams();\n \n // Add agentId as query parameter if provided\n if (this.config.agentId) {\n params.append('agentId', this.config.agentId);\n console.log('VoiceSDK: Adding agentId to URL:', this.config.agentId);\n }\n \n // Add appId as query parameter if provided\n if (this.config.appId) {\n params.append('appId', this.config.appId);\n console.log('VoiceSDK: Adding appId to URL:', this.config.appId);\n }\n \n // Add other parameters if needed\n if (this.config.voice && this.config.voice !== 'default') {\n params.append('voice', this.config.voice);\n }\n \n if (this.config.language && this.config.language !== 'en') {\n params.append('language', this.config.language);\n }\n \n // Append query parameters to URL if any exist\n if (params.toString()) {\n const separator = url.includes('?') ? '&' : '?';\n url += separator + params.toString();\n }\n \n return url;\n }\n \n /**\n * Disconnect from the voice server\n */\n disconnect() {\n if (this.isDestroyed) {\n console.log(`🎙️ VoiceSDK: Disconnect called but already destroyed`);\n return; // Prevent disconnect after destroy\n }\n console.log(`🎙️ VoiceSDK: Disconnecting from voice server`);\n this.stopRecording();\n this.webSocketManager.disconnect();\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n if (this.isDestroyed) {\n return;\n }\n this.webSocketManager.resetReconnectionAttempts();\n }\n \n /**\n * Manually reconnect to the voice server\n */\n async reconnect() {\n if (this.isDestroyed) {\n return false;\n }\n \n this.disconnect();\n this.resetReconnectionAttempts();\n return await this.connect();\n }\n \n /**\n * Start voice recording and streaming\n */\n async startRecording() {\n if (!this.isConnected) {\n throw new Error('Not connected to voice server');\n }\n \n try {\n // Send start continuous mode message\n this.webSocketManager.sendMessage({\n t: 'start_continuous_mode',\n ttpId: this.generateTtpId(),\n voice: this.config.voice,\n language: this.config.language\n });\n \n // Start audio recording\n await this.audioRecorder.start();\n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Stop voice recording and streaming\n */\n async stopRecording() {\n if (!this.isRecording) {\n return;\n }\n \n try {\n // Send stop continuous mode message\n this.webSocketManager.sendMessage({\n t: 'stop_continuous_mode',\n ttpId: this.generateTtpId()\n });\n \n // Stop audio recording\n await this.audioRecorder.stop();\n \n // Stop audio playback immediately when stopping recording\n this.audioPlayer.stopImmediate();\n \n return true;\n } catch (error) {\n this.emit('error', error);\n return false;\n }\n }\n \n /**\n * Toggle recording state\n */\n async toggleRecording() {\n if (this.isRecording) {\n return await this.stopRecording();\n } else {\n return await this.startRecording();\n }\n }\n \n /**\n * Stop audio playback immediately (for barge-in scenarios)\n */\n stopAudioPlayback() {\n this.audioPlayer.stopImmediate();\n }\n \n /**\n * Handle barge-in (user starts speaking while audio is playing)\n */\n async handleBargeIn() {\n // Stop current audio playback immediately\n this.stopAudioPlayback();\n \n // If not already recording, start recording\n if (!this.isRecording) {\n await this.startRecording();\n }\n }\n \n /**\n * Get current connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.config = { ...this.config, ...newConfig };\n }\n \n /**\n * Generate unique TTP ID\n */\n generateTtpId() {\n return 'sdk_' + Math.random().toString(36).substr(2, 9) + '_' + Date.now();\n }\n\n /**\n * Send hello message with appropriate authentication\n */\n sendHelloMessage() {\n if (!this.isConnected) {\n console.warn('VoiceSDK: Cannot send hello message - not connected');\n return;\n }\n\n const helloMessage = {\n t: \"hello\"\n };\n\n // Use app ID for authentication (preferred method)\n if (this.config.appId) {\n helloMessage.appId = this.config.appId;\n console.log('VoiceSDK: Sending hello message with appId (app-based authentication)');\n } else if (this.config.ttpId) {\n // Fallback to custom TTP ID if app ID not provided\n helloMessage.ttpId = this.config.ttpId;\n console.log('VoiceSDK: Sending hello message with custom TTP ID (fallback method)');\n } else {\n // Generate TTP ID as last resort\n helloMessage.ttpId = this.generateTtpId();\n console.log('VoiceSDK: Sending hello message with generated TTP ID (last resort)');\n }\n\n // Note: agentId is now sent as query parameter in WebSocket URL, not in hello message\n\n // Log authentication method for debugging\n if (this.config.appId) {\n console.log('VoiceSDK: Using app ID for authentication:', this.config.appId);\n } else if (this.config.ttpId) {\n console.log('VoiceSDK: Using custom TTP ID:', this.config.ttpId);\n } else {\n console.log('VoiceSDK: Using generated TTP ID:', helloMessage.ttpId);\n }\n\n try {\n this.webSocketManager.sendMessage(helloMessage);\n console.log('VoiceSDK: Hello message sent:', helloMessage);\n } catch (error) {\n console.error('VoiceSDK: Failed to send hello message:', error);\n this.emit('error', error);\n }\n }\n \n /**\n * Cleanup resources\n */\n destroy() {\n if (this.isDestroyed) {\n console.log(`🎙️ VoiceSDK: Destroy called but already destroyed`);\n return; // Prevent multiple destroy calls\n }\n \n console.log(`🎙️ VoiceSDK: Destroying VoiceSDK instance`);\n \n // Disconnect first, before setting isDestroyed\n this.disconnect();\n \n this.isDestroyed = true;\n this.audioRecorder.destroy();\n this.audioPlayer.destroy();\n this.removeAllListeners();\n \n console.log(`🎙️ VoiceSDK: VoiceSDK instance destroyed`);\n }\n}\n","/**\n * ConnectionManager - Global connection manager to prevent multiple connections to the same URL\n */\nclass ConnectionManager {\n constructor() {\n this.connections = new Map(); // Map of URL -> connection info\n }\n \n /**\n * Register a connection attempt\n */\n registerConnection(url, connectionId) {\n if (!this.connections.has(url)) {\n this.connections.set(url, {\n connectionId,\n timestamp: Date.now(),\n count: 1\n });\n console.log(`🔌 ConnectionManager: Registered connection ${connectionId} for ${url}`);\n return true;\n }\n \n const existing = this.connections.get(url);\n const timeSinceLastConnection = Date.now() - existing.timestamp;\n \n // If it's been more than 30 seconds since the last connection, allow it\n if (timeSinceLastConnection > 30000) {\n this.connections.set(url, {\n connectionId,\n timestamp: Date.now(),\n count: 1\n });\n console.log(`🔌 ConnectionManager: Allowed new connection ${connectionId} for ${url} (old connection was ${timeSinceLastConnection}ms ago)`);\n return true;\n }\n \n // Otherwise, prevent the connection\n existing.count++;\n console.log(`🔌 ConnectionManager: Blocked connection ${connectionId} for ${url} (${existing.count} attempts in ${timeSinceLastConnection}ms)`);\n return false;\n }\n \n /**\n * Unregister a connection\n */\n unregisterConnection(url, connectionId) {\n const existing = this.connections.get(url);\n if (existing && existing.connectionId === connectionId) {\n this.connections.delete(url);\n console.log(`🔌 ConnectionManager: Unregistered connection ${connectionId} for ${url}`);\n }\n }\n \n /**\n * Check if a connection is allowed\n */\n isConnectionAllowed(url) {\n const existing = this.connections.get(url);\n if (!existing) {\n return true;\n }\n \n const timeSinceLastConnection = Date.now() - existing.timestamp;\n return timeSinceLastConnection > 30000; // Allow if more than 30 seconds ago\n }\n \n /**\n * Get connection info\n */\n getConnectionInfo(url) {\n return this.connections.get(url);\n }\n \n /**\n * Clear all connections (useful for testing)\n */\n clearAll() {\n this.connections.clear();\n console.log('🔌 ConnectionManager: Cleared all connections');\n }\n}\n\n// Global instance\nconst connectionManager = new ConnectionManager();\n\nexport default connectionManager;\n","/**\n * WebSocketManager - Handles WebSocket connection and message routing\n */\nimport EventEmitter from './EventEmitter.js';\nimport connectionManager from './ConnectionManager.js';\n\nexport default class WebSocketManager extends EventEmitter {\n constructor(config) {\n super();\n this.config = config;\n this.ws = null;\n this.isConnected = false;\n this.reconnectAttempts = 0;\n this.maxReconnectAttempts = config.autoReconnect !== false ? 3 : 0; // Disable auto-reconnect if explicitly set to false\n this.isReconnecting = false;\n this.isConnecting = false; // Track if we're currently trying to connect\n this.connectionId = null; // Unique ID for this connection attempt\n }\n \n /**\n * Connect to WebSocket\n */\n async connect() {\n return new Promise((resolve, reject) => {\n try {\n // Prevent multiple connections\n if (this.ws && (this.ws.readyState === WebSocket.CONNECTING || this.ws.readyState === WebSocket.OPEN)) {\n resolve();\n return;\n }\n \n // Prevent connection if already reconnecting\n if (this.isReconnecting) {\n resolve();\n return;\n }\n \n // Prevent connection if already connecting\n if (this.isConnecting) {\n resolve();\n return;\n }\n \n // Check if connection is allowed by global manager\n if (!connectionManager.isConnectionAllowed(this.config.websocketUrl)) {\n console.log(`🔌 WebSocketManager: Connection blocked by global manager for ${this.config.websocketUrl}`);\n resolve();\n return;\n }\n \n this.isConnecting = true;\n this.connectionId = Date.now() + '_' + Math.random().toString(36).substr(2, 9);\n \n // Register with global connection manager\n if (!connectionManager.registerConnection(this.config.websocketUrl, this.connectionId)) {\n console.log(`🔌 WebSocketManager: Connection registration failed for ${this.connectionId}`);\n this.isConnecting = false;\n resolve();\n return;\n }\n \n console.log(`🔌 WebSocketManager: Starting connection attempt ${this.connectionId}`);\n this.ws = new WebSocket(this.config.websocketUrl);\n \n this.ws.onopen = () => {\n console.log(`🔌 WebSocketManager: Connection successful ${this.connectionId}`);\n this.isConnected = true;\n this.reconnectAttempts = 0;\n this.isReconnecting = false;\n this.isConnecting = false;\n this.emit('connected');\n resolve();\n };\n \n this.ws.onmessage = (event) => {\n this.handleMessage(event);\n };\n \n this.ws.onclose = (event) => {\n console.log(`🔌 WebSocketManager: Connection closed ${this.connectionId} (Code: ${event.code})`);\n this.isConnected = false;\n this.isConnecting = false;\n this.emit('disconnected', event);\n \n // Attempt reconnection if not intentional and not already reconnecting\n if (event.code !== 1000 && this.reconnectAttempts < this.maxReconnectAttempts && !this.isReconnecting) {\n this.isReconnecting = true;\n this.reconnectAttempts++;\n console.log(`🔌 WebSocketManager: Attempting reconnection ${this.reconnectAttempts}/${this.maxReconnectAttempts}`);\n setTimeout(() => {\n this.isReconnecting = false;\n this.connect().catch(() => {\n // Ignore reconnection errors to prevent infinite loops\n });\n }, 1000 * this.reconnectAttempts);\n }\n };\n \n this.ws.onerror = (error) => {\n console.log(`🔌 WebSocketManager: Connection error ${this.connectionId}`, error);\n this.isConnecting = false;\n this.emit('error', error);\n reject(error);\n };\n \n } catch (error) {\n console.log(`🔌 WebSocketManager: Connection failed ${this.connectionId}`, error);\n this.isConnecting = false;\n reject(error);\n }\n });\n }\n \n /**\n * Disconnect from WebSocket\n */\n disconnect() {\n // Stop any reconnection attempts\n this.isReconnecting = false;\n this.reconnectAttempts = this.maxReconnectAttempts; // Prevent reconnection\n \n // Unregister from global connection manager\n if (this.connectionId) {\n connectionManager.unregisterConnection(this.config.websocketUrl, this.connectionId);\n }\n \n if (this.ws && this.ws.readyState === WebSocket.OPEN) {\n this.ws.close(1000, 'Intentional disconnect');\n }\n this.ws = null;\n this.isConnected = false;\n this.isConnecting = false;\n }\n \n /**\n * Reset reconnection attempts (useful for manual reconnection)\n */\n resetReconnectionAttempts() {\n this.reconnectAttempts = 0;\n this.isReconnecting = false;\n }\n \n /**\n * Clear all global connections (useful for testing)\n */\n static clearAllConnections() {\n connectionManager.clearAll();\n }\n \n /**\n * Send JSON message\n */\n sendMessage(message) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(JSON.stringify(message));\n }\n \n /**\n * Send binary data\n */\n sendBinary(data) {\n if (!this.isConnected || !this.ws) {\n throw new Error('WebSocket not connected');\n }\n \n this.ws.send(data);\n }\n \n /**\n * Handle incoming WebSocket messages\n */\n handleMessage(event) {\n // Check if it's binary data first\n if (event.data instanceof ArrayBuffer) {\n this.emit('binaryAudio', event.data);\n return;\n } else if (event.data instanceof Blob) {\n event.data.arrayBuffer().then(arrayBuffer => {\n this.emit('binaryAudio', arrayBuffer);\n }).catch(err => {\n this.emit('error', err);\n });\n return;\n }\n \n // Handle JSON messages\n try {\n const message = JSON.parse(event.data);\n \n // Handle barge-in related messages\n if (message.t === 'barge_in_ack' || message.t === 'stop_sending') {\n this.emit('bargeIn', message);\n }\n \n // Handle stop playing message\n if (message.t === 'stop_playing') {\n this.emit('stopPlaying', message);\n }\n \n this.emit('message', message);\n } catch (error) {\n this.emit('error', error);\n }\n }\n \n /**\n * Get connection status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n readyState: this.ws ? this.ws.readyState : WebSocket.CLOSED\n };\n }\n}\n","/**\n * VoiceButton - React component for voice interaction\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nconst VoiceButton = ({ \n websocketUrl,\n agentId, // Optional - for direct agent access (unsecured method)\n voice = 'default',\n language = 'en',\n autoReconnect = true,\n onConnected,\n onDisconnected,\n onRecordingStarted,\n onRecordingStopped,\n onPlaybackStarted,\n onPlaybackStopped,\n onError,\n onMessage,\n onBargeIn,\n onStopPlaying,\n className = '',\n style = {},\n children\n}) => {\n const [isConnected, setIsConnected] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [isPlaying, setIsPlaying] = useState(false);\n const [connectionStatus, setConnectionStatus] = useState('Disconnected');\n \n const voiceSDKRef = useRef(null);\n \n // Initialize VoiceSDK\n useEffect(() => {\n console.log(`🎙️ VoiceButton: Creating VoiceSDK instance for ${websocketUrl}`);\n \n // Clean up existing instance if any\n if (voiceSDKRef.current) {\n console.log(`🎙️ VoiceButton: Destroying existing VoiceSDK instance`);\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n \n const voiceSDK = new VoiceSDK({\n websocketUrl,\n agentId, // Pass through agentId if provided\n voice,\n language,\n autoReconnect\n });\n \n // Setup event listeners\n voiceSDK.on('connected', () => {\n setIsConnected(true);\n setConnectionStatus('Connected');\n onConnected?.();\n });\n \n voiceSDK.on('disconnected', () => {\n setIsConnected(false);\n setConnectionStatus('Disconnected');\n onDisconnected?.();\n });\n \n voiceSDK.on('recordingStarted', () => {\n setIsRecording(true);\n onRecordingStarted?.();\n });\n \n voiceSDK.on('recordingStopped', () => {\n setIsRecording(false);\n onRecordingStopped?.();\n });\n \n voiceSDK.on('playbackStarted', () => {\n setIsPlaying(true);\n onPlaybackStarted?.();\n });\n \n voiceSDK.on('playbackStopped', () => {\n setIsPlaying(false);\n onPlaybackStopped?.();\n });\n \n voiceSDK.on('error', (error) => {\n onError?.(error);\n });\n \n voiceSDK.on('message', (message) => {\n onMessage?.(message);\n });\n \n voiceSDK.on('bargeIn', (message) => {\n onBargeIn?.(message);\n });\n \n voiceSDK.on('stopPlaying', (message) => {\n onStopPlaying?.(message);\n });\n \n voiceSDKRef.current = voiceSDK;\n \n // Auto-connect\n voiceSDK.connect();\n \n // Cleanup on unmount\n return () => {\n console.log(`🎙️ VoiceButton: Cleaning up VoiceSDK instance for ${websocketUrl}`);\n if (voiceSDKRef.current) {\n voiceSDKRef.current.destroy();\n voiceSDKRef.current = null;\n }\n };\n }, [websocketUrl, agentId, voice, language]);\n \n // Handle button click\n const handleClick = async () => {\n if (!voiceSDKRef.current) return;\n \n try {\n await voiceSDKRef.current.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n };\n \n // Default button content\n const defaultContent = (\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\n <div style={{ fontSize: '20px' }}>\n {isRecording ? '🔴' : '🎤'}\n </div>\n <div>\n {isRecording ? 'Stop Listening' : 'Start Listening'}\n </div>\n </div>\n );\n \n return (\n <button\n className={`voice-button ${isRecording ? 'recording' : ''} ${className}`}\n style={{\n padding: '12px 24px',\n border: 'none',\n borderRadius: '8px',\n backgroundColor: isRecording ? '#dc3545' : '#007bff',\n color: 'white',\n cursor: 'pointer',\n fontSize: '16px',\n fontWeight: '500',\n transition: 'all 0.2s ease',\n ...style\n }}\n onClick={handleClick}\n disabled={!isConnected}\n >\n {children || defaultContent}\n </button>\n );\n};\n\nexport default VoiceButton;\n","/**\n * VoiceButton - Vanilla JavaScript voice button\n */\nimport VoiceSDK from '../core/VoiceSDK.js';\n\nexport default class VoiceButton {\n constructor(options = {}) {\n this.options = {\n websocketUrl: options.websocketUrl || 'wss://speech.bidme.co.il/ws/conv',\n agentId: options.agentId, // Optional - for direct agent access (unsecured method)\n voice: options.voice || 'default',\n language: options.language || 'en',\n container: options.container || document.body,\n buttonText: options.buttonText || 'Start Listening',\n buttonClass: options.buttonClass || 'voice-button',\n ...options\n };\n \n this.isConnected = false;\n this.isRecording = false;\n this.isPlaying = false;\n \n this.voiceSDK = new VoiceSDK({\n websocketUrl: this.options.websocketUrl,\n agentId: this.options.agentId, // Pass through agentId if provided\n voice: this.options.voice,\n language: this.options.language\n });\n \n this.setupEventListeners();\n this.createButton();\n this.connect();\n }\n \n /**\n * Setup event listeners\n */\n setupEventListeners() {\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.updateButton();\n this.options.onConnected?.();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.updateButton();\n this.options.onDisconnected?.();\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isRecording = true;\n this.updateButton();\n this.options.onRecordingStarted?.();\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isRecording = false;\n this.updateButton();\n this.options.onRecordingStopped?.();\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.isPlaying = true;\n this.options.onPlaybackStarted?.();\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.isPlaying = false;\n this.options.onPlaybackStopped?.();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.options.onError?.(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.options.onMessage?.(message);\n });\n \n this.voiceSDK.on('bargeIn', (message) => {\n this.options.onBargeIn?.(message);\n });\n \n this.voiceSDK.on('stopPlaying', (message) => {\n this.options.onStopPlaying?.(message);\n });\n }\n \n /**\n * Create the button element\n */\n createButton() {\n this.button = document.createElement('button');\n this.button.className = this.options.buttonClass;\n this.button.style.cssText = `\n padding: 12px 24px;\n border: none;\n border-radius: 8px;\n background-color: #6c757d;\n color: white;\n cursor: pointer;\n font-size: 16px;\n font-weight: 500;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n `;\n \n this.button.addEventListener('click', () => this.toggleRecording());\n this.options.container.appendChild(this.button);\n \n this.updateButton();\n }\n \n /**\n * Update button appearance and state\n */\n updateButton() {\n if (!this.button) return;\n \n const icon = this.isRecording ? '🔴' : '🎤';\n const text = this.isRecording ? 'Stop Listening' : 'Start Listening';\n \n this.button.innerHTML = `\n <span style=\"font-size: 20px;\">${icon}</span>\n <span>${text}</span>\n `;\n \n this.button.disabled = !this.isConnected;\n this.button.style.backgroundColor = this.isRecording ? '#dc3545' : \n this.isConnected ? '#007bff' : '#6c757d';\n }\n \n /**\n * Connect to voice server\n */\n async connect() {\n try {\n await this.voiceSDK.connect();\n } catch (error) {\n console.error('Failed to connect:', error);\n }\n }\n \n /**\n * Toggle recording\n */\n async toggleRecording() {\n if (!this.voiceSDK) return;\n \n try {\n await this.voiceSDK.toggleRecording();\n } catch (error) {\n console.error('Error toggling recording:', error);\n }\n }\n \n /**\n * Get current status\n */\n getStatus() {\n return {\n isConnected: this.isConnected,\n isRecording: this.isRecording,\n isPlaying: this.isPlaying\n };\n }\n \n /**\n * Update configuration\n */\n updateConfig(newConfig) {\n this.voiceSDK.updateConfig(newConfig);\n }\n \n /**\n * Destroy the button and cleanup\n */\n destroy() {\n if (this.button && this.button.parentNode) {\n this.button.parentNode.removeChild(this.button);\n }\n \n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n }\n }\n}\n","/**\n * Legacy AgentSDK - Backward Compatibility Layer\n * \n * This maintains the original AgentSDK API while using the new VoiceSDK internally.\n * This ensures existing integrations continue to work without changes.\n */\n\nimport { VoiceSDK } from '../index.js';\n\nexport class AgentSDK {\n constructor(config) {\n this.config = config;\n this.voiceSDK = null;\n this.isConnected = false;\n this.isListening = false;\n \n // Legacy callback properties\n this.onConnected = () => {};\n this.onDisconnected = () => {};\n this.onError = (error) => console.error('SDK Error:', error);\n this.onTranscript = (text) => {};\n this.onAgentSpeaking = (isStart) => {};\n }\n\n async connect(signedUrl) {\n try {\n if (!signedUrl) {\n throw new Error('signedUrl is required');\n }\n \n // Create VoiceSDK instance\n this.voiceSDK = new VoiceSDK({\n websocketUrl: signedUrl,\n autoReconnect: false\n });\n \n // Set up event handlers to map to legacy callbacks\n this.voiceSDK.on('connected', () => {\n this.isConnected = true;\n this.onConnected();\n });\n \n this.voiceSDK.on('disconnected', () => {\n this.isConnected = false;\n this.onDisconnected();\n });\n \n this.voiceSDK.on('error', (error) => {\n this.onError(error);\n });\n \n this.voiceSDK.on('message', (message) => {\n this.handleWebSocketMessage(message);\n });\n \n this.voiceSDK.on('recordingStarted', () => {\n this.isListening = true;\n });\n \n this.voiceSDK.on('recordingStopped', () => {\n this.isListening = false;\n });\n \n this.voiceSDK.on('playbackStarted', () => {\n this.onAgentSpeaking(true);\n });\n \n this.voiceSDK.on('playbackStopped', () => {\n this.onAgentSpeaking(false);\n });\n \n // Connect using VoiceSDK\n await this.voiceSDK.connect();\n \n } catch (error) {\n this.onError(error);\n throw error;\n }\n }\n\n handleWebSocketMessage(message) {\n // Map new message format to legacy format\n switch (message.type) {\n case 'connected':\n console.log('Session started successfully');\n break;\n \n case 'user_transcript':\n this.onTranscript(message.user_transcription || message.text);\n break;\n \n case 'agent_response':\n // Handle agent text response\n break;\n \n case 'barge_in':\n // Handle barge-in\n break;\n \n case 'stop_playing':\n // Handle stop playing\n break;\n \n case 'error':\n this.onError(new Error(message.message));\n break;\n }\n }\n\n async startListening() {\n if (this.voiceSDK) {\n await this.voiceSDK.startRecording();\n }\n }\n\n stopListening() {\n if (this.voiceSDK) {\n this.voiceSDK.stopRecording();\n }\n }\n\n updateVariables(variables) {\n if (this.voiceSDK && this.isConnected) {\n // Send variables update message\n this.voiceSDK.webSocketManager.sendMessage({\n t: 'update_variables',\n variables\n });\n }\n }\n\n disconnect() {\n if (this.voiceSDK) {\n this.voiceSDK.destroy();\n this.voiceSDK = null;\n }\n this.isConnected = false;\n this.isListening = false;\n }\n}\n\n// ============================================\n// WIDGET - Pre-built UI using the SDK\n// ============================================\n\nexport class AgentWidget {\n constructor(config) {\n this.config = config;\n this.sdk = new AgentSDK();\n this.isOpen = false;\n this.isActive = false;\n \n this.position = config.position || 'bottom-right';\n this.primaryColor = config.primaryColor || '#4F46E5';\n \n this.setupEventHandlers();\n this.createWidget();\n }\n\n setupEventHandlers() {\n this.sdk.onConnected = () => {\n this.updateStatus('connected');\n };\n\n this.sdk.onDisconnected = () => {\n this.updateStatus('disconnected');\n this.isActive = false;\n };\n\n this.sdk.onError = (error) => {\n this.showError(error.message);\n };\n\n this.sdk.onTranscript = (text) => {\n this.addMessage('user', text);\n };\n\n this.sdk.onAgentSpeaking = (isStart) => {\n if (isStart) {\n this.showAgentThinking();\n } else {\n this.hideAgentThinking();\n }\n };\n }\n\n createWidget() {\n const widget = document.createElement('div');\n widget.id = 'agent-widget';\n widget.innerHTML = `\n <style>\n #agent-widget {\n position: fixed;\n ${this.position.includes('bottom') ? 'bottom: 20px;' : 'top: 20px;'}\n ${this.position.includes('right') ? 'right: 20px;' : 'left: 20px;'}\n z-index: 9999;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n }\n \n #agent-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n background: ${this.primaryColor};\n border: none;\n cursor: pointer;\n box-shadow: 0 4px 12px rgba(0,0,0,0.15);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 0.2s;\n }\n \n #agent-button:hover {\n transform: scale(1.1);\n }\n \n #agent-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n #agent-panel {\n display: none;\n position: absolute;\n bottom: 80px;\n ${this.position.includes('right') ? 'right: 0;' : 'left: 0;'}\n width: 350px;\n height: 500px;\n background: white;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0,0,0,0.2);\n flex-direction: column;\n overflow: hidden;\n }\n \n #agent-panel.open {\n display: flex;\n }\n \n #agent-header {\n background: ${this.primaryColor};\n color: white;\n padding: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n \n #agent-close {\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n font-size: 24px;\n }\n \n #agent-messages {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n \n .message {\n padding: 12px;\n border-radius: 8px;\n max-width: 80%;\n }\n \n .message.user {\n background: #E5E7EB;\n align-self: flex-end;\n }\n \n .message.agent {\n background: #F3F4F6;\n align-self: flex-start;\n }\n \n #agent-controls {\n padding: 16px;\n border-top: 1px solid #E5E7EB;\n display: flex;\n justify-content: center;\n }\n \n #agent-mic-button {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: none;\n background: ${this.primaryColor};\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n }\n \n #agent-mic-button.active {\n background: #EF4444;\n animation: pulse 1.5s infinite;\n }\n \n #agent-mic-button svg {\n width: 28px;\n height: 28px;\n fill: white;\n }\n \n @keyframes pulse {\n 0%, 100% { transform: scale(1); }\n 50% { transform: scale(1.05); }\n }\n \n .agent-thinking {\n font-style: italic;\n color: #6B7280;\n }\n \n .error-message {\n background: #FEE2E2;\n color: #991B1B;\n padding: 12px;\n border-radius: 8px;\n margin: 8px;\n }\n </style>\n \n <button id=\"agent-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n \n <div id=\"agent-panel\">\n <div id=\"agent-header\">\n <h3 style=\"margin: 0;\">Voice Assistant</h3>\n <button id=\"agent-close\">&times;</button>\n </div>\n \n <div id=\"agent-messages\"></div>\n \n <div id=\"agent-controls\">\n <button id=\"agent-mic-button\">\n <svg viewBox=\"0 0 24 24\">\n <path d=\"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z\"/>\n <path d=\"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z\"/>\n </svg>\n </button>\n </div>\n </div>\n `;\n \n document.body.appendChild(widget);\n \n document.getElementById('agent-button').onclick = () => this.togglePanel();\n document.getElementById('agent-close').onclick = () => this.togglePanel();\n document.getElementById('agent-mic-button').onclick = () => this.toggleVoice();\n }\n\n togglePanel() {\n this.isOpen = !this.isOpen;\n const panel = document.getElementById('agent-panel');\n panel.classList.toggle('open');\n }\n\n async toggleVoice() {\n if (!this.isActive) {\n try {\n const signedUrl = await this.getSignedUrl();\n await this.sdk.connect(signedUrl);\n await this.sdk.startListening();\n this.isActive = true;\n document.getElementById('agent-mic-button').classList.add('active');\n this.addMessage('system', 'Listening...');\n } catch (error) {\n console.error('Failed to start:', error);\n this.showError(error.message);\n }\n } else {\n this.sdk.stopListening();\n this.sdk.disconnect();\n this.isActive = false;\n document.getElementById('agent-mic-button').classList.remove('active');\n }\n }\n\n async getSignedUrl() {\n if (typeof this.config.getSessionUrl === 'string') {\n const response = await fetch(this.config.getSessionUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n })\n });\n\n if (!response.ok) {\n throw new Error(`Failed to get session URL: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.signedUrl || data.wsUrl || data.url;\n }\n else if (typeof this.config.getSessionUrl === 'function') {\n const result = await this.config.getSessionUrl({\n agentId: this.config.agentId,\n variables: this.config.variables || {}\n });\n \n return typeof result === 'string' ? result : (result.signedUrl || result.wsUrl || result.url);\n }\n else {\n throw new Error('getSessionUrl is required (URL string or function)');\n }\n }\n\n addMessage(type, text) {\n const messages = document.getElementById('agent-messages');\n const message = document.createElement('div');\n message.className = `message ${type}`;\n message.textContent = text;\n messages.appendChild(message);\n messages.scrollTop = messages.scrollHeight;\n }\n\n showAgentThinking() {\n const messages = document.getElementById('agent-messages');\n const thinking = document.createElement('div');\n thinking.className = 'message agent agent-thinking';\n thinking.id = 'thinking-indicator';\n thinking.textContent = 'Agent is speaking...';\n messages.appendChild(thinking);\n messages.scrollTop = messages.scrollHeight;\n }\n\n hideAgentThinking() {\n const thinking = document.getElementById('thinking-indicator');\n if (thinking) thinking.remove();\n }\n\n showError(message) {\n const messages = document.getElementById('agent-messages');\n const error = document.createElement('div');\n error.className = 'error-message';\n error.textContent = message;\n messages.appendChild(error);\n }\n\n updateStatus(status) {\n console.log('Widget status:', status);\n }\n}\n","/**\n * TTP Agent SDK - Main Entry Point\n * \n * A comprehensive SDK for voice interaction with AI agents.\n * Provides real-time audio recording, WebSocket communication, and audio playback.\n * \n * Features:\n * - 🎤 Real-time Audio Recording with AudioWorklet\n * - 🔄 WebSocket Communication with authentication\n * - 🔊 Audio Playback with queue management\n * - ⚛️ React Components\n * - 🌐 Vanilla JavaScript Components\n * - 🎯 Event-driven architecture\n * - 🔒 Multiple authentication methods\n */\n\n// Core SDK\nimport VoiceSDK from './core/VoiceSDK.js';\nimport WebSocketManager from './core/WebSocketManager.js';\nimport WebSocketManagerV2 from './core/WebSocketManagerV2.js';\nimport AudioRecorder from './core/AudioRecorder.js';\nimport AudioPlayer from './core/AudioPlayer.js';\nimport EventEmitter from './core/EventEmitter.js';\n\n// React components\nimport VoiceButton from './react/VoiceButton.jsx';\n\n// Vanilla JavaScript components\nimport VanillaVoiceButton from './vanilla/VoiceButton.js';\n\n// Legacy AgentSDK (for backward compatibility)\nimport { AgentSDK, AgentWidget } from './legacy/AgentSDK.js';\n\n// Version\nexport const VERSION = '2.0.0';\n\n// Named exports\nexport {\n VoiceSDK,\n WebSocketManager,\n WebSocketManagerV2,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget\n};\n\n// Default export for convenience\nexport default {\n VoiceSDK,\n WebSocketManager,\n WebSocketManagerV2,\n AudioRecorder,\n AudioPlayer,\n EventEmitter,\n VoiceButton,\n VanillaVoiceButton,\n AgentSDK,\n AgentWidget,\n VERSION\n};\n"],"names":["root","factory","exports","module","define","amd","this","REACT_ELEMENT_TYPE","Symbol","for","jsxProd","type","config","maybeKey","key","propName","ref","$$typeof","props","jsx","jsxs","iterator","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","assign","Object","emptyObject","Component","context","updater","refs","ComponentDummy","PureComponent","prototype","isReactComponent","setState","partialState","callback","Error","forceUpdate","pureComponentPrototype","constructor","isPureReactComponent","Array","isArray","ReactSharedInternals","H","A","T","S","hasOwnProperty","reportError","useEffect","create","deps","useRef","initialValue","useState","initialState","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","call","r","toStringTag","value","EventEmitter","_classCallCheck","events","event","push","filter","cb","_len","arguments","length","args","_key","forEach","apply","error","console","concat","e","t","n","i","c","Generator","u","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","done","return","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","_invoke","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","_toPrimitive","_isNativeReflectConstruct","Boolean","valueOf","Reflect","construct","_getPrototypeOf","_setPrototypeOf","_EventEmitter","WebSocketSingleton","_this","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_callSuper","connections","Map","connectionCounts","creatingConnections","Set","_inherits","_callee","url","existingConnection","connection","_this2","_context","has","set","log","checkConnection","setTimeout","add","WebSocket","addEventListener","delete","emit","code","_getConnection","_next","_throw","_x","currentCount","newCount","Math","max","readyState","OPEN","close","exists","subscribers","_step","result","_iterator","_createForOfIteratorHelper","entries","s","_step$value","_slicedToArray","err","_step2","_iterator2","_step2$value","clear","WebSocketManagerV2","ws","isConnected","connectionId","reject","Date","now","random","toString","substr","websocketUrl","webSocketSingleton","getConnection","setupEventListeners","catch","_connect","_this3","handleOpen","handleClose","handleError","handleMessage","on","eventHandlers","open","message","off","releaseConnection","send","JSON","stringify","data","_this4","ArrayBuffer","Blob","arrayBuffer","parse","getAllConnections","clearAll","_asyncToGenerator","AudioRecorder","audioContext","audioWorkletNode","mediaStream","isRecording","_start","_t","navigator","mediaDevices","getUserMedia","audio","sampleRate","channelCount","echoCancellation","noiseSuppression","autoGainControl","window","AudioContext","webkitAudioContext","state","resume","audioWorklet","addModule","AudioWorkletNode","createMediaStreamSource","connect","port","onmessage","_event$data","postMessage","enabled","_stop","_callee2","_t2","_context2","getTracks","track","stop","audioContextState","AudioPlayer","audioQueue","isPlaying","isProcessingQueue","currentSource","audioData","audioBlob","createAudioBlob","processQueue","uint8Array","Uint8Array","audioBuffer","source","shift","decodeAudioData","createBufferSource","buffer","destination","onended","start","_processQueue","stopImmediate","queueLength","ownKeys","keys","getOwnPropertySymbols","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","VoiceSDK","agentId","appId","ttpId","voice","language","isDestroyed","webSocketManager","autoReconnect","audioRecorder","audioPlayer","setupEventHandlers","sendHelloMessage","playAudio","sendBinary","wsUrl","buildWebSocketUrl","params","URLSearchParams","append","separator","includes","stopRecording","disconnect","resetReconnectionAttempts","_reconnect","_startRecording","_callee3","_context3","sendMessage","generateTtpId","_stopRecording","_callee4","_t3","_context4","_toggleRecording","_callee5","_context5","startRecording","_handleBargeIn","_callee6","_context6","stopAudioPlayback","newConfig","helloMessage","warn","destroy","removeAllListeners","ConnectionManager","timestamp","count","existing","timeSinceLastConnection","WebSocketManager","reconnectAttempts","maxReconnectAttempts","isReconnecting","isConnecting","CONNECTING","connectionManager","isConnectionAllowed","registerConnection","onopen","onclose","onerror","unregisterConnection","CLOSED","_arrayWithHoles","next","_iterableToArrayLimit","_arrayLikeToArray","slice","name","from","test","_unsupportedIterableToArray","_nonIterableRest","_ref","_ref$voice","_ref$language","_ref$autoReconnect","onConnected","onDisconnected","onRecordingStarted","onRecordingStopped","onPlaybackStarted","onPlaybackStopped","onError","onMessage","onBargeIn","onStopPlaying","_ref$className","className","_ref$style","style","children","_useState2","setIsConnected","_useState4","setIsRecording","_useState6","setIsPlaying","_useState8","setConnectionStatus","voiceSDKRef","current","voiceSDK","handleClick","_ref2","toggleRecording","defaultContent","_jsxs","display","alignItems","gap","_jsx","fontSize","padding","border","borderRadius","backgroundColor","color","cursor","fontWeight","transition","onClick","disabled","VoiceButton","options","container","document","body","buttonText","buttonClass","createButton","_this$options$onConne","_this$options","updateButton","_this$options$onDisco","_this$options2","_this$options$onRecor","_this$options3","_this$options$onRecor2","_this$options4","_this$options$onPlayb","_this$options5","_this$options$onPlayb2","_this$options6","_this$options$onError","_this$options7","_this$options$onMessa","_this$options8","_this$options$onBarge","_this$options9","_this$options$onStopP","_this$options0","button","createElement","cssText","appendChild","icon","text","innerHTML","updateConfig","parentNode","removeChild","_createClass","AgentSDK","isListening","onTranscript","onAgentSpeaking","isStart","signedUrl","handleWebSocketMessage","user_transcription","_startListening","variables","AgentWidget","sdk","isOpen","isActive","position","primaryColor","createWidget","updateStatus","showError","addMessage","showAgentThinking","hideAgentThinking","widget","id","getElementById","onclick","togglePanel","toggleVoice","classList","toggle","_toggleVoice","getSignedUrl","startListening","stopListening","remove","_getSignedUrl","response","getSessionUrl","fetch","method","headers","ok","statusText","json","messages","textContent","scrollTop","scrollHeight","thinking","status","VERSION","VanillaVoiceButton"],"sourceRoot":""}