{"version":3,"file":"externals/@servicenow/sn-ai-engagement-experience/index.min.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAMAA,EAAOC,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA6FX,OA3FAA,EAAKC,SAAW,WACd,OAAOC,KAAKC,IAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GA4B5B,OA1BIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAGvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAGnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,OAG5EC,GAAWN,EAAuBK,GAE9BE,IACFD,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGTD,EAAK,KACPC,GAAW,KAGNA,CACT,GAAGI,KAAK,GACV,EAGAT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,CAAC,EAE9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIC,EAAKjB,KAAKgB,GAAG,GAEP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAGF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQH,OAAQY,IAAM,CAC1C,IAAIhB,EAAO,GAAGG,OAAOI,EAAQS,IAEzBP,GAAUI,EAAuBb,EAAK,WAIrB,IAAVW,SACc,IAAZX,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGI,OAAS,EAAI,IAAID,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKW,GAOVH,IACGR,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKQ,GAHVR,EAAK,GAAKQ,GAOVE,IACGV,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKU,GAHVV,EAAK,GAAK,GAAGG,OAAOO,IAOxBd,EAAKqB,KAAKjB,GACZ,CACF,EAEOJ,CACT,C,UCnGAH,EAAOC,QAAU,SAAUY,GACzB,OAAOA,EAAE,EACX,C,4ECDIY,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,inKAAonK,KAE7pK,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,8tBAAmuB,KAE5wB,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,oiDAAuiD,KAEhlD,S,2ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,8iHAAmjH,KAE5lH,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,4kKAAylK,KAEloK,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,sqBAAyqB,KAEltB,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,4gCAA6gC,KAEtjC,S,0ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,41CAA+1C,KAEx4C,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,slBAAulB,KAEhoB,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,uxJAA0xJ,KAEn0J,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,09FAA69F,KAEtgG,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,4pBAA+pB,KAExsB,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,yxGAA4xG,KAEr0G,S,2ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,6yEAAgzE,KAEz1E,S,4ECJIG,E,MAA0B,GAA4B,KAE1DA,EAAwBD,KAAK,CAACxB,EAAOsB,GAAI,GAAI,KAE7C,S,gBCNQ,IAAII,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,IAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,cCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,GAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,eCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,eCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,IAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,gBCT5B,IAAIsB,EAAS,EAAQ,KAEjBA,GAAUA,EAAOC,aACjBD,EAASA,EAAOE,SAIhB5B,EAAOC,QADW,iBAAXyB,EACUA,EAEAA,EAAOtB,U,UCVpCJ,EAAOC,QAAU4B;AAAAA,OAAO,yD;SCAxB,SAASC,IACP,OAAO9B,EAAOC,QAAU6B,EAAWC,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAClF,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUzB,OAAQwB,IAAK,CACzC,IAAIE,EAAID,UAAUD,GAClB,IAAK,IAAIG,KAAKD,GAAG,CAAG,GAAEE,eAAeC,KAAKH,EAAGC,KAAOJ,EAAEI,GAAKD,EAAEC,GAC/D,CACA,OAAOJ,CACT,EAAGlC,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,QAAS6B,EAASW,MAAM,KAAML,UACxG,CACApC,EAAOC,QAAU6B,EAAU9B,EAAOC,QAAQ0B,YAAa,EAAM3B,EAAOC,QAAiB,QAAID,EAAOC,O,GCR5FyC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBzB,IAAjB0B,EACH,OAAOA,EAAa5C,QAGrB,IAAID,EAAS0C,EAAyBE,GAAY,CACjDtB,GAAIsB,EAEJ3C,QAAS,CAAC,GAOX,OAHA6C,EAAoBF,GAAU5C,EAAQA,EAAOC,QAAS0C,GAG/C3C,EAAOC,OACf,CCrBA0C,EAAoBT,EAAKlC,IACxB,IAAI+C,EAAS/C,GAAUA,EAAO2B,WAC7B,IAAO3B,EAAiB,QACxB,IAAM,EAEP,OADA2C,EAAoBK,EAAED,EAAQ,CAAEE,EAAGF,IAC5BA,GCLRJ,EAAoBK,EAAI,CAAC/C,EAASiD,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEnD,EAASkD,IAC5EpB,OAAOsB,eAAepD,EAASkD,EAAK,CAAEG,YAAY,EAAMC,IAAKL,EAAWC,MCJ3ER,EAAoBS,EAAI,CAACI,EAAKC,IAAU1B,OAAO2B,UAAUnB,eAAeC,KAAKgB,EAAKC,GCClFd,EAAoBL,EAAKrC,IACH,oBAAX0D,QAA0BA,OAAOC,aAC1C7B,OAAOsB,eAAepD,EAAS0D,OAAOC,YAAa,CAAEC,MAAO,WAE7D9B,OAAOsB,eAAepD,EAAS,aAAc,CAAE4D,OAAO,K,gBCHvD,MAAM,EAFEC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1BA,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAYC,EAAuFrC,SAAWqC,EAAuFtC,WAGpM,OAAIqC,EACHC,EAAgG,QAAEC,YAInGD,EAAuFC,aAAeD,EAAgG,SAAKA,EAAgG,QAAEC,aAClT,oBAAyB,KAC3B,MAAMF,EAAYC,EAAuFrC,SAAWqC,EAAuFtC,WAGpM,OAAIqC,EACHC,EAAgG,QAAEE,oBAInGF,EAAuFE,qBAAuBF,EAAgG,SAAKA,EAAgG,QAAEE,qBAC1T,sBAA2B,KAC7B,MAAMH,EAAYC,EAAuFrC,SAAWqC,EAAuFtC,WAGpM,OAAIqC,EACHC,EAAgG,QAAEG,sBAInGH,EAAuFG,uBAAyBH,EAAgG,SAAKA,EAAgG,QAAEG,yB,YC7BnU,MAAM,EAFEN,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,iBAAsB,KAC1D,MAAMC,EAAYK,EAA8FzC,SAAWyC,EAA8F1C,WAGlN,OAAIqC,EACHK,EAAuG,QAAEC,iBAI1GD,EAA8FC,kBAAoBD,EAAuG,SAAKA,EAAuG,QAAEC,oBCTnV,MAAM,EAFER,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYO,EAA2H3C,SAAW2C,EAA2H5C,WACnR,OAAIqC,EACIO,EAAoI,SAAKA,EAAoI,QAAW,QAAIA,EAAoI,QAAW,QAAIA,EAAoI,QAChjBP,EACHO,EAAoI,QAAW,QAE/IA,EAAoI,QAAKA,EAAoI,QAAW,QAAIA,EAAoI,QAAW,QAAIA,EAAoI,QAAKA,KCPrkB,MAAM,EAFET,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYQ,EAA6H5C,SAAW4C,EAA6H7C,WACvR,OAAIqC,EACIQ,EAAsI,SAAKA,EAAsI,QAAW,QAAIA,EAAsI,QAAW,QAAIA,EAAsI,QACxjBR,EACHQ,EAAsI,QAAW,QAEjJA,EAAsI,QAAKA,EAAsI,QAAW,QAAIA,EAAsI,QAAW,QAAIA,EAAsI,QAAKA,KCP7kB,MAAM,EAFEV,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,EAAO,KAC3C,MAAMC,EAAYS,EAAiF7C,SAAW6C,EAAiF9C,WAGxL,OAAIqC,EACHS,EAA0F,QAAEpC,EAI7FoC,EAAiFpC,GAAKoC,EAA0F,SAAKA,EAA0F,QAAEpC,KCRhRqC,EACZ,+CACYC,GACZ,6CACYC,GACZ,2CAGYC,GAA6B,6BAC7BC,GAA6B,6BAC7BC,GAA0B,0BAC1BC,GAA0B,0BAE1BC,GAAgB,gBAChBC,GAAmB,mBACnBC,GAAwB,wBAExBC,GACM,oCADNA,GAED,2BAFCA,GAGJ,wBAIIC,GAA4B,CAAC,mBAAoB,kBACjDC,GAAgC,gCAEhCC,GAA8B,8BAC9BC,GAAoB,oBACpBC,GAAgC,gCAChCC,GACZ,qCACYC,GACZ,qCACYC,GACZ,kCACYC,GAA2B,2BAC3BC,GAA8B,8BAC9BC,GACZ,wCACYC,GACZ,qCACYC,GACZ,wCAGYC,IAAuB7D,EAAAA,EAAAA,GAAE,CACrC8D,KAAM,8BACNC,QAAS,yBCjDGC,GACQ,qBAIRC,GAA6B,6BAC7BC,GAA6B,6BAC7BC,GAA0B,2BCKjC,uBAACC,GAAsB,2BAAEC,IAA8BxC,EAAAA,YAOvDyC,IAAiBrC,EAAAA,EAAAA,kBARY,6BAQiC,CACnEsC,OAAQ,MACRC,YAAa,CAAC,MAAO,aAAc,gBACnCC,OAAO,EACPC,kBAAmBR,GACnBS,gBAAiBR,KAGZS,IAAkB3C,EAAAA,EAAAA,kBAZvB,gEAY2D,CAC3DsC,OAAQ,MACRM,WAAY,CAAC,OAAQ,KAAM,kBAC3BJ,OAAO,EACPC,kBAAmB,kCACnBC,gBAAiB,iCAGZG,IAAsB7C,EAAAA,EAAAA,kBAlBE,wCAkBsC,CACnEsC,OAAQ,MACRM,WAAY,CAAC,MACbJ,OAAO,EACPC,kBAAmB,kCACnBC,gBAAiB,iCAUZI,GAAqBC,IAC1B,MAAMC,EAAUC,OAAOC,WAAWC,MAAMC,aAAaJ,QACrD,IAAKA,EACJ,OAAOD,EAIR,MAAMM,EAAkBN,EAAIO,SAAS,KACrC,IAAIC,EAAa,GAAGR,IAAMM,EAAkB,IAAM,cAAcL,IAEhE,MAAMQ,EAAYP,OAAOC,WAAWC,MAAMC,aAAaK,sBAIvD,OAHID,IACHD,GAAc,cAAcC,KAEtBD,GAER,IACC,CAACpB,IAAsBuB,GAA0B,IAAxB,SAACC,EAAQ,WAAEC,GAAWF,EAC9C,MAAM,eAACG,GAAkBD,EAErBC,GACHF,EAAS,iCAAkC,CAC1CG,gBAAiBD,GAGpB,EACA,CAACzB,IAA0B2B,GAA6B,IAA3B,OAACC,EAAM,MAAEC,EAAK,SAAEN,GAASI,EACrD,MACCG,SAAS,KAACC,EAAI,MAAE5E,EAAK,cAAE6E,IACpBJ,GAEHJ,YAAY,QACXS,EACAC,kBAAkB,YAACC,EAAW,cAAEC,GAAc,SAC9CC,EAAQ,eACRZ,IAEEI,EAEmD,IAAAS,EAAvD,GAAa,qBAATP,SAA+B5E,GAAAA,EAAOgF,cAErCA,IACCC,EACHb,EAAS,uCAAwC,CAChDgB,MAAOJ,IAGRZ,EAAS,kCAAmC,CAC3CiB,QAASL,KD9FwB,gBCmGnChF,aAAK,EAALA,EAAOgF,cAAP,MACAhF,GAAsB,QAAjBmF,EAALnF,EAAOsF,uBAAe,IAAAH,GAAtBA,EAAwBI,KACvB,CACD,MAAMC,EA/DcC,MAAM,IAAAC,EAAAC,EAC7B,MAAMC,EAAiB,QAATF,EAAGhC,cAAM,IAAAgC,GAAY,QAAZA,EAANA,EAAQ/B,kBAAU,IAAA+B,OAAA,EAAlBA,EAAoBE,SACrC,OAAKA,EAGQ,QAAbD,EAAOjC,cAAM,IAAAiC,GAAY,QAAZA,EAANA,EAAQhC,kBAAU,IAAAgC,OAAA,EAAlBA,EAAoBE,kBAAkBD,GAAUJ,aAF/C,MA6DJC,IAAqB,mCACtBrB,EAAS3B,GAA4B,CACpCe,IAAKxD,EAAMsF,gBAAgBC,IAC3BO,WAAYZ,GAAY1C,GACxBgD,gBAEF,CAkBD,GAdU,uBAATZ,GACU,KAAV5E,GACAA,IAAU6E,GAGNC,GACHV,EAAS,gCAAiC,CACzC2B,KAAM,QACNtI,GAAIqH,EACJR,mBAKU,eAATM,EAAuB,CAC1B,MAAM,aAACoB,GAAgBhG,EACnBgG,GACH5B,EAAS,oCAAqC,CAC7C3G,GAAIuI,GAGP,CACD,EACA,kBAAC,CAAoBC,GAA6B,IAA3B,OAACxB,EAAM,SAAEL,EAAQ,MAAEM,GAAMuB,EAC/C,MACCtB,SAAS,QAACG,IACPL,GACE,eAACH,GAAkBI,EAAML,WAC/BD,EAAS,gCAAiC,CACzC2B,KAAM,QACNtI,GAAIqH,EACJR,kBAEF,EACA,kCAAuChB,GACvC,8BAAmCF,GACnC,gCAAqC8C,UAK/B,IALsC,OAC3CzB,EAAM,YACN0B,EAAW,SACX/B,EAAQ,MACRM,GACA0B,EACA,MACCzB,SACC9G,QAAQ,OAACwI,EAAM,cAAEC,KAEf7B,GAEE,YAACO,EAAW,cAAEC,EAAa,SAAEsB,EAAQ,cAAEC,GAAiBH,EAC9D,IAAKE,EACJ,OAED,MACClC,YAAY,eAACC,EAAc,mBAAEmC,EAAkB,WAAEC,IAC9ChC,EACJ2B,EAAOM,SAAW,CAACrC,iBAAgBsC,gBAAiBH,GACpDN,EAAY,CACXnB,YAAaA,EACbC,cAAeA,EACfK,gBAAiBe,EAAOf,kBAGrBL,EACHb,EAAS,uCAAwC,CAChDgB,MAAOJ,IAGRZ,EAAS,kCAAmC,CAC3CiB,QAASL,IAIX,IAAI6B,EAAY,CAAC,EAKf,IAAAC,EAAAC,EAAAC,EAAAC,EAFiB,eAAlBX,IACAI,aAAU,EAAVA,EAAYV,gBAAiBO,IAE7BM,EAAY,CACXK,aAAYjJ,EAAA,GACRoI,EAAM,CACTf,gBAAerH,EAAA,GACY,QADZ6I,EACVT,EAAOf,uBAAe,IAAAwB,EAAAA,EAAI,CAAC,EACA,QADCC,EAC5BL,aAAU,EAAVA,EAAYpB,uBAAe,IAAAyB,EAAAA,EAAI,CAAC,GAKrCI,cAAeT,EAAWjJ,GAC1B2J,WAA4B,QAAlBJ,EAAEN,EAAWW,aAAK,IAAAL,EAAAA,EAAIX,EAAOe,WACvCE,eAAe,EACfC,WAA2B,QAAjBN,EAAEP,EAAWc,YAAI,IAAAP,EAAAA,EAAIZ,EAAOkB,aAEvCxB,KAAM,QACN0B,OAAQ,KAINnD,GACHF,EAAS7C,GAAmC,CAC3CoD,QAAO1G,EAAA,CACNqG,iBACA4C,aAAcb,EACdE,WACAC,gBACAT,KAAM,UACN0B,OAAQ,UACRb,gBAAiBH,GACdI,MAKP,4BAAC,CAA8Ba,GAAY,IAAV,OAACjD,GAAOiD,EACxC,MACC/C,SACCgD,OAAO,QAACpF,KAENkC,EAEJmD,QAAQD,MAAM,+BAAgCpF,EAC/C,EACA,CAACE,IAA6BK,GAC9B,CAACJ,IAA6BmF,IAA8C,IAA7C,OAACpD,EAAM,YAAE0B,EAAW,WAAE9B,EAAU,MAAEK,GAAMmD,EACtE,MACClD,SACC9G,QAAQ,IAAC2F,EAAG,mBAAEsE,KAEZrD,EAEJ,IAAKjB,EACJ,OAED,IAAI8B,EAAerH,EAAA,GAAOyG,EAAMY,iBAEhCA,EAAerH,EAAA,GACXqH,EAAe,CAClBC,IACCuC,GACAzD,EAAWa,WAAa1C,GACrBe,GAAkBC,GAClBA,IAGL2C,EAAY,CACXb,qBAGF,CAAC3C,IAA0BoF,IAAc,IAAb,OAACtD,GAAOsD,EACnC,MACCpD,SACCgD,OAAO,QAACpF,KAENkC,EAEJmD,QAAQD,MAAM,4BAA6BpF,IAE5C,iCAAqCyF,EAAAA,EAAAA,SAA4B,CAChE9E,kBAAmB,4CACnBC,gBAAiB,2CAElB,sCAA0C8E,EAAAA,EAAAA,SAA8B,CACvE/E,kBAAmB,iDACnBC,gBAAiB,gDAElB,0CAA+C,CAC9C+E,OAAQC,IAA2B,IAA1B,YAAChC,EAAW,OAAE1B,GAAO0D,EAC7B,MAAM,QAAC9C,IAAWZ,aAAM,EAANA,EAAQE,UAAW,CAAC,EACtCwB,EAAY,CACXiC,iBAAiB,EACjBnD,eAAe,EACfI,QAASA,EACTL,YAAaK,KAGfgD,iBAAiB,GAElB,uCAA4C,CAC3CH,OAAQI,IAAmB,IAAlB,YAACnC,GAAYmC,EACrBnC,EAAY,CAACiC,iBAAiB,EAAOnD,eAAe,KAErDoD,iBAAiB,GAElB,+CAAoD,CACnDH,OAAQK,IAA2B,IAA1B,YAACpC,EAAW,OAAE1B,GAAO8D,EAC7B,MAAM,qBAACC,IAAwB/D,aAAM,EAANA,EAAQE,UAAW,CAAC,EACnDwB,EAAY,CACXiC,iBAAiB,EACjBnD,eAAe,EACfI,QAASmD,KAGXH,iBAAiB,GAElB,4CAAiD,CAChDH,OAAQO,IAAmB,IAAlB,YAACtC,GAAYsC,EACrBtC,EAAY,CAACiC,iBAAiB,EAAOnD,eAAe,KAErDoD,iBAAiB,I,YC3TnB,MAAM,GAFEpI,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,SAAc,KAClD,MAAMC,EAAYuI,EAAoG3K,SAAW2K,EAAoG5K,WAG9N,OAAIqC,EACHuI,EAA6G,QAAEC,SAIhHD,EAAoGC,UAAYD,EAA6G,SAAKA,EAA6G,QAAEC,UACtV,cAAmB,KACrB,MAAMxI,EAAYuI,EAAoG3K,SAAW2K,EAAoG5K,WAG9N,OAAIqC,EACHuI,EAA6G,QAAEE,cAIhHF,EAAoGE,eAAiBF,EAA6G,SAAKA,EAA6G,QAAEE,eAC3V,UAAe,KACjB,MAAMzI,EAAYuI,EAAoG3K,SAAW2K,EAAoG5K,WAG9N,OAAIqC,EACHuI,EAA6G,QAAEG,UAIhHH,EAAoGG,WAAaH,EAA6G,SAAKA,EAA6G,QAAEG,WACvV,mCAAwC,KAC1C,MAAM1I,EAAYuI,EAAoG3K,SAAW2K,EAAoG5K,WAG9N,OAAIqC,EACHuI,EAA6G,QAAEI,mCAIhHJ,EAAoGI,oCAAsCJ,EAA6G,SAAKA,EAA6G,QAAEI,oCAChX,QAAa,KACf,MAAM3I,EAAYuI,EAAoG3K,SAAW2K,EAAoG5K,WACrO,OAAIqC,EACIuI,EAA6G,SAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QACpdvI,EACHuI,EAA6G,QAAW,QAExHA,EAA6G,QAAKA,EAA6G,QAAW,QAAIA,EAA6G,QAAW,QAAIA,EAA6G,QAAKA,MC1CzepI,EAAAA,EAAAA,qBAAoB,eAAgB,CACnCyI,KCPoBrE,IACpB,MACCL,YAAY,iBAACU,EAAgB,aAAEiE,GAAa,YAC5ChE,EAAW,gBACXoD,EAAe,cACfnD,EAAa,QACbI,GACGX,EAEJ,IAAIuE,EAAS,KACb,MAAM,SACLtC,EAAW,CAAC,EAAC,eACbuC,EAAiB,CAAC,EAAC,wBACnBC,EAA0B,CAAC,EAAC,gBAC5B7D,EAAkB,CAAC,EAAC,eACpB8D,GACGrE,GAAoB,CAAC,EACnBsE,EAAKpL,EAAA,CACV0I,WACAyC,iBACA9J,IAAK,GAAGqH,EAASrC,kBAAkBqC,EAAS2C,mBAAmB3C,EAASC,mBACrEsC,EACA5D,EACAZ,EAAMY,gBACN6D,GAGEI,EAAWlE,EAcjB,OAXC4D,EADGhE,GACM2D,EAAAA,GAAAA,eAACW,EAAQtL,EAAA,CAACuL,UAAU,yBAA4BH,IAC/CrE,GAAeoD,GAChBQ,EAAAA,GAAAA,eAAc5D,EAAW/G,EAAA,GAAMoL,KAGvCT,EAAAA,GAAAA,eAAA,OAAKY,UAAU,gBACdZ,EAAAA,GAAAA,eAAA,qBAMFA,EAAAA,GAAAA,eAAA,OACCa,MAAO,CACN,iBAAkBT,EAClB,oBAAoB,KAGrBJ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,eAAeP,KDxChC5E,WAAY,CACXa,SAAU,CACTa,KAAM,SACNhI,QAAS,sBAEVgH,iBAAkB,CACjBgB,KAAM,SACNhI,QAAS,CAAC,GAEX2L,SAAU,CACT3D,KAAM,UACNhI,SAAS,GAEV+G,QAAS,CACRiB,KAAM,SACNhI,QAAS,IAEV0I,mBAAoB,CACnBV,KAAM,SACNhI,QAAS,IAEV2I,WAAY,CACXX,KAAM,SACNhI,QAAS,CAAC,GAEXiL,aAAc,CACbjD,KAAM,UACNhI,SAAS,GAEV4L,UAAW,CAAC,EACZrF,eAAgB,CAAC,EACjB8E,eAAgB,CAAC,GAElBQ,OAAM,GACNC,gBAAeA,KACP,CACN7E,YAAa,GACboD,iBAAiB,EACjBnD,eAAe,EACfI,QAAS,KAGXyE,eAAgBC,KEnDT9J,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,G,aCDnC,MAAM+J,GAA4B,4BAC5BC,GAA6B,6BAC7BC,GAAqC,4BACrCC,GAAqB,CACjCC,UAAW,CACV3C,OAAQ,YACRD,KAAM,uBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,cACxD8H,MAAO,YAERC,QAAS,CACR7C,OAAQ,YACRD,KAAM,uBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,YACxD8H,MAAO,YAERE,OAAQ,CACP9C,OAAQ,SACRD,KAAM,uBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,WACxD8H,MAAO,YAERG,UAAW,CACV/C,OAAQ,SACRD,KAAM,uBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,cACxD8H,MAAO,YAERI,WAAY,CACXhD,OAAQ,SACRD,KAAM,uBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,eACxD8H,MAAO,YAER1C,MAAO,CACNF,OAAQ,QACRD,KAAM,uBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,UACxD8H,MAAO,YAER,cAAe,CACd5C,OAAQ,cACRD,KAAM,iBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,gBACxD8H,MAAO,QAERK,QAAS,CACRjD,OAAQ,UACRD,KAAM,iBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,YACxD8H,MAAO,QAERM,OAAQ,CACPlD,OAAQ,SACRD,KAAM,iBACNH,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,WACxD8H,MAAO,UClDT/J,EAAAA,EAAAA,qBAAoB,mCAAoC,CACvDsJ,OAAM,GACNgB,SAAUC,GAAAA,QACV9B,KAAMA,CAACrE,EAAKP,KAAA,IAAE,SAACC,GAASD,EAAA,OACvByE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2CAA2CsB,KAAK,YAC9DlC,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,QAAMY,UAAU,cACdhL,EAAAA,EAAAA,GAAE,CACF8D,KAAM,8BACNC,QAAS,6BAGXqG,EAAAA,GAAAA,eAAA,UACEpK,EAAAA,EAAAA,GAAE,CACF8D,KAAM,8BACNC,QACC,oEAIJqG,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBACdZ,EAAAA,GAAAA,eAAA,cACC,WAAWtK,IACVA,EAAE+J,kBACFjE,EAAS6F,KAEVc,QAAQ,YACRC,KAAK,OAEJxM,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,iBCtBvD,SAAS0I,KAAa,IAAAvF,EAAAC,EAAAuF,EACrB,GAAU,QAANxF,EAAAhC,cAAM,IAAAgC,GAANA,EAAQyF,YAAoC,IAAvBzH,OAAOyH,YAE/B,MAAO,mCAGR,MAAMvF,EAAiB,QAATD,EAAGjC,cAAM,IAAAiC,GAAY,QAAZA,EAANA,EAAQhC,kBAAU,IAAAgC,OAAA,EAAlBA,EAAoBC,SACrC,OAAKA,EAGQ,QAAbsF,EAAOxH,cAAM,IAAAwH,GAAY,QAAZA,EAANA,EAAQvH,kBAAU,IAAAuH,OAAA,EAAlBA,EAAoBrF,kBAAkBD,GAAUwF,iBAF/C,IAGT,CACA,SAAgBC,IACf,MAAM,MAAC3G,EAAK,SAAEN,EAAQ,YAAE+B,GAAekF,GAEtChH,YAAY,mBACXiH,EAAkB,UAClBC,EAAS,gBACTC,EAAe,SACf9B,EAAQ,eACR+B,EAAc,SACdC,EAAQ,QACRC,EAAO,WACPC,EAAU,UACVC,EAAS,SACT3G,EAAQ,0BACR4G,GACA,mBACDC,EAAkB,WAClBC,EAAU,kBACVC,EAAiB,eACjBC,EAAc,0BACdC,EAAyB,aACzBC,EAAY,WACZ1F,EAAU,gBACV2F,EAAe,uBACfC,EAAsB,wBACtBC,EAAuB,0BACvBC,EAAyB,4BACzBC,EAA2B,eAC3BC,GACGhI,EAyCEiI,EAAgB,CACrBd,UAAWE,aAAkB,EAAlBA,EAAoBF,UAC/BG,WAAYC,EAIZW,qBACCZ,IAAeN,EAAWK,aAAkB,EAAlBA,EAAoBa,qBAAuB,MAGlEC,eAAenN,IAAI,yCACvB,sCAGD,MAAMsJ,GAAgB0C,IAAaC,IAAYC,EAEzCkB,EACLpD,GAAY8C,GACX5D,EAAAA,GAAAA,eAAA,uCAAA3K,EAAA,CACCqB,IAAK,QAAQoN,IACbK,MA3DW,CACb,CACCC,SAAU,eACVC,UAAW,QACXC,YAAa,QACbC,YAAY,EACZC,SAAU,cAsDT,2BAlD6BC,IAA2B,IAAAC,EAC1D,IAAIC,EAAeF,EAAuBE,kBAGrBjQ,IAAjBiQ,IACHA,GACCxB,aAAkB,EAAlBA,EAAoBzH,kBACpByH,aAAkB,EAAlBA,EAAoByB,wBAGtB,MAAMC,EAAUxP,EAAA,GACZoP,EAAsB,CACzBK,UAAWzC,MACqB,QADTqC,EACpB5J,OAAOiK,8BAAsB,IAAAL,OAAA,EAA7BA,EAA+B7B,eAC/BA,EAAc,CACjB8B,iBAUD,OANIA,WACIE,EAAWG,+BACXH,EAAWI,wBACXJ,EAAWK,2BAGZL,GA0BLjC,gBAAiBA,EACjBmB,cAAeA,EACfb,0BAA2BA,EAC3BiC,qBAAsBzC,EACtB,cAAanH,IAAW,IAAV,IAAC6J,GAAI7J,EAClBgC,EAAY,CAAC8H,wBAAyBD,IAClCvB,IACHuB,EAAI5J,SAAS,iDAAkD,CAC9DE,eAAgB,OAEjB6B,EAAY,CAACsG,6BAA6B,MAG5CL,aAAcA,EACd8B,WACCvC,EACG,QACAD,EACC,SACAE,EACC,WACA,aAEFL,IAEJ3C,EAAAA,GAAAA,eAAA,uBAAqBkC,KAAK,aAAarN,GAAG,WAExC,KAEC0Q,GAAe3P,EAAAA,EAAAA,GAAE,CACtB8D,KAAM,8BACNC,QAAS,yBAEJ6G,GAAiBP,EAAAA,GAAAA,aAEjBuF,ECrI+BC,EACrCC,EACA/B,KAGA,MAAM9E,EACL6G,GAAgBA,EAAaC,QAAQ,aAAe,EACjDhC,EACApC,GAAmBmE,GACvB,OAAO7G,SAAAA,EAAQD,KACZC,EACA,CACAA,OAAQ,GACRD,KAAM,GACNH,MAAO,KDuHYgH,CACrBtC,aAAkB,EAAlBA,EAAoBtE,OACpB8E,GAGKiC,EC5J+B,eAErCzC,EAAkBxN,UAAAzB,OAAA,EAAAyB,UAAA,QAAAjB,EAAA,OADHiB,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,IAIhBkQ,OACClB,GACAA,EAAajJ,gBAAkByH,EAAmBzH,gBAEnD7H,IAAI0H,IAAA,IAAAuK,EAAA,IAAC,SAACnI,EAAQ,eAAEjC,EAAc,kBAAEqK,EAAiB,aAAEzH,GAAa/C,EAAA,MAAM,CACtE1G,GAAIkR,EACJtH,MAAOH,aAAY,EAAZA,EAAcE,WACrBI,KAAMN,aAAY,EAAZA,EAAcK,WACpBX,gBAAiBM,SAAsB,QAAVwH,EAAZxH,EAAcP,gBAAQ,IAAA+H,OAAA,EAAtBA,EAAwB9H,gBACzCtC,iBACAiC,aACE,CD4IwBqI,CAC3BvC,EACAN,GAKK8C,EAHoBL,EAAoB1R,OAAS,GAItD8L,EAAAA,GAAAA,eAAA,eACCkG,OAAQxC,EACR,mBACA,iBAAgB,CAAC7O,GAAI,4BACrBsR,UAAW,CAAC,CAACC,OAAQ,cAAerS,QAAS,eAE7CiM,EAAAA,GAAAA,eAAA,gBACCqG,MAAI,EACJzH,MAAMuE,aAAkB,EAAlBA,EAAoBxE,aAAc,iBACxC2H,cAAe,CAACnD,EAAmB4C,mBACnC5D,QAAQ,WACR,iBAAgB,CAACtN,GAAI,6BACrB0R,MAAOX,EACPxD,KAAK,KACLF,KAAK,UACL,cAAa,CACZsE,QAAS,CACR,cAAc5Q,EAAAA,EAAAA,GAAE,CACf8D,KAAM,8BACNC,QAAS,yBAGX8M,MAAO,CACN,cAAc7Q,EAAAA,EAAAA,GAAE,CACf8D,KAAM,8BACNC,QAAS,mCAKbqG,EAAAA,GAAAA,eAAA,oCAAkCkC,KAAK,UAAU,YAAU,aAG5DlC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,UACdZ,EAAAA,GAAAA,eAAA,YAAUpB,MAAMuE,aAAkB,EAAlBA,EAAoBxE,aAAc,oBAClDqB,EAAAA,GAAAA,eAAA,YAAOmD,aAAkB,EAAlBA,EAAoB3E,aAIvBkI,GACL1G,EAAAA,GAAAA,eAAA,OAAKY,UAAU,qBACbuC,EAAmBF,WACnBjD,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACRC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iBACbqF,EACA9C,SAAAA,EAAoBtE,QACpBmB,EAAAA,GAAAA,eAAA,yBACCvB,MAAO+G,aAAa,EAAbA,EAAe/G,MACtBgD,MAAO+D,aAAa,EAAbA,EAAe/D,MACtB,iBAAmC/M,KAAxB8Q,aAAa,EAAbA,EAAe5G,MAC1BA,KAAM4G,aAAa,EAAbA,EAAe5G,KACrB+H,eAAgBnB,aAAa,EAAbA,EAAe/G,MAC/BtB,KAAK,OAEH,OAEL6C,EAAAA,GAAAA,eAAA,OAAKY,UAAU,sBAAsBgG,IAAKpG,KAE1CR,EAAAA,GAAAA,eAAA,qBACCqG,MAAM,EACNzH,KAAK,uCACL+H,eAAgBpB,EAChBsB,WAAY,CACXC,OAAQ,CACP,aAAcvB,IAGhBnD,KAAK,KACL,WAAW2E,IACVA,EAAItH,kBACJjE,EAAShD,GAAe,CAAC4K,YAAY,QAIrC,MAIA3F,EAAMpI,EAAA,IACP8N,aAAkB,EAAlBA,EAAoB7E,eAAgB,CAAC,EAAC,CAC1CiC,wBAAyB4C,aAAkB,EAAlBA,EAAoB5C,wBAC7CC,mBAGKwG,EAAkB1D,GACvBtD,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,KACN+C,EAA6B,KAAlB4D,GACb1G,EAAAA,GAAAA,eAAA,gBACC,YAAW1D,EACX,aAAW,EACX,WAAUR,EAAMI,QAChB,wBAAuBJ,EAAM+B,mBAC7B,kBAAiBsF,EAAmBzH,eACpC,cAAaoC,EACb3B,iBAAkBsB,EAClB2C,aAAcA,KAGb,MAGE,MAAC6G,GAASnL,EAAMoL,UAAUC,OAAO/E,KACjCgF,EAAkBtE,EAAW,EAAImE,EAAQ,IAAM,EAAI,EAUzD,OATI1D,IAA8B6D,IACjC7J,EAAY,CAACgG,0BAA2B6D,IAGhB,IAApBA,GAAyBnE,GAC5BzH,EAAShD,GAAe,CAAC4K,YAAY,MAKtCpD,EAAAA,GAAAA,eAAA,OAAKY,UAAW,iBACfZ,EAAAA,GAAAA,eAAA,OACCa,MAAO,CACN,iBAAiB,EACjB,iBAAkBT,EAClB,cAAe0C,IAAaM,EAC5B,YAAiC,IAApBgE,GAAyBhE,IAAeN,KAGtD9C,EAAAA,GAAAA,eAAA,OACCa,MAAO,CACN,eAAe,EACf,iBAAkBT,EAClB,qBAA0C,IAApBgH,IAGtBlD,IAEFlE,EAAAA,GAAAA,eAAA,OACCa,MAAO,CACN,aAAa,EACb,iBAAkBT,EAClB,qBAA0C,IAApBgH,IAGtBJ,IAKL,EEnTD,MAAM,GAFE3P,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAY8P,EAA8GlS,SAAWkS,EAA8GnS,WAGlP,OAAIqC,EACH8P,EAAuH,QAAEC,QAI1HD,EAA8GC,SAAWD,EAAuH,SAAKA,EAAuH,QAAEC,SACnX,UAAe,KACjB,MAAM/P,EAAY8P,EAA8GlS,SAAWkS,EAA8GnS,WAGlP,OAAIqC,EACH8P,EAAuH,QAAEE,UAI1HF,EAA8GE,WAAaF,EAAuH,SAAKA,EAAuH,QAAEE,WACrX,8BAAmC,KACrC,MAAMhQ,EAAY8P,EAA8GlS,SAAWkS,EAA8GnS,WAGlP,OAAIqC,EACH8P,EAAuH,QAAEG,8BAI1HH,EAA8GG,+BAAiCH,EAAuH,SAAKA,EAAuH,QAAEG,kCC5BzYxN,uBAAsB,0BAAEyN,IAA0BhQ,EAAAA,YACnDiQ,GAAoB,oBACpBC,GAAiB,IAAIC,QAErBC,GAAkCA,CACvCC,EACAtL,EACAuL,EACAC,KAEKxL,GAAUuL,GAGfD,EAAiB,CAChBtL,QACAuL,YACAC,gBAIF,IACC,CAAChO,IAAsBuB,GAAwC,IAAtC,WAACE,EAAU,iBAAEqM,EAAgB,KAAEG,GAAK1M,EAC5D,MAAM,MAACiB,EAAK,UAAEuL,EAAS,WAAEC,GAAcvM,EACjCyM,KAAsB1L,IAASuL,GASrC,GAPAF,GACCC,EACAtL,EACAuL,EACAC,IAGIE,EAAkB,CACtB,MAAMC,GAAcX,EAAAA,GAAAA,+BACnB,eACChL,MAAO4L,EACPC,MAAOC,EACPC,eAAgBC,GAChB7S,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OACLkS,GACCC,EACAM,EACAE,EACAE,EACA,GAEHb,GAAec,IAAIR,EAAME,EAC1B,CACD,EAEA,CAACV,IAAsB7L,GAAU,IAAR,KAACqM,GAAKrM,EAC9B,MAAM8M,EAAQf,GAAe7Q,IAAImR,GAC7BS,GACHA,IAEDf,GAAegB,OAAOV,EACvB,EAEA,CAACP,IAAiBrK,GAIf,IAHFxB,QAAQ,QAACE,GAAQ,YAEjBwB,GACAF,EACA,MAAM,aAACuL,GAAgB7M,EACvBwB,EAAY,CAACsL,cAAe,CAACD,IAC9B,GCpEOvR,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,G,cCA1C,MAAM,GAFEA,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYuR,EAA0G3T,SAAW2T,EAA0G5T,WACjP,OAAIqC,EACIuR,EAAmH,SAAKA,EAAmH,QAAW,QAAIA,EAAmH,QAAW,QAAIA,EAAmH,QAC5evR,EACHuR,EAAmH,QAAW,QAE9HA,EAAmH,QAAKA,EAAmH,QAAW,QAAIA,EAAmH,QAAW,QAAIA,EAAmH,QAAKA,KCPjgB,MAAM,GAFEzR,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,mBAAwB,KAC5D,MAAMC,EAAYwR,EAAuG5T,SAAW4T,EAAuG7T,WAGpO,OAAIqC,EACHwR,EAAgH,QAAEC,mBAInHD,EAAuGC,oBAAsBD,EAAgH,SAAKA,EAAgH,QAAEC,oBACzW,sBAA2B,KAC7B,MAAMzR,EAAYwR,EAAuG5T,SAAW4T,EAAuG7T,WAGpO,OAAIqC,EACHwR,EAAgH,QAAEE,sBAInHF,EAAuGE,uBAAyBF,EAAgH,SAAKA,EAAgH,QAAEE,uBAC5W,QAAa,KACf,MAAM1R,EAAYwR,EAAuG5T,SAAW4T,EAAuG7T,WAC3O,OAAIqC,EACIwR,EAAgH,SAAKA,EAAgH,QAAW,QAAIA,EAAgH,QAAW,QAAIA,EAAgH,QAChexR,EACHwR,EAAgH,QAAW,QAE3HA,EAAgH,QAAKA,EAAgH,QAAW,QAAIA,EAAgH,QAAW,QAAIA,EAAgH,QAAKA,KC7B7e1R,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,ICAjBzB,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,eAEe/D,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,cDNV,MCQauP,IAAatT,EAAAA,EAAAA,GAAE,CAC3B8D,KAAM,8BACNC,QAAS,eAEGwP,IAAavT,EAAAA,EAAAA,GAAE,CAC3B8D,KAAM,8BACNC,QAAS,eAGGyP,GAAiB,CAC7BC,aAAazT,EAAAA,EAAAA,GAAE,CACd8D,KAAM,8BACNC,QAAS,mCAEV2P,iBAAiB1T,EAAAA,EAAAA,GAAE,CAClB8D,KAAM,8BACNC,QAAS,kCAEV4P,QAAQ3T,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,gBACzD6P,WAAW5T,EAAAA,EAAAA,GAAE,CACZ8D,KAAM,8BACNC,QAAS,0BC7BE8P,GACF,WADEA,GAEF,WAFEA,GAGJ,SAGIC,GAAoB,CAChC,CAACD,IAAqB,CACrBE,WAAW,EACXC,SAAS,GAEV,CAACH,IAAqB,CACrBE,WAAW,EACXC,SAAS,GAEV,CAACH,IAAmB,CACnBE,WAAW,EACXC,SAAS,IAeEC,GACC,cADDA,GAIK,kBAKLC,GAED,YAGCC,GAAiB,CAC7BC,cAAe,gBACfC,uBAAwB,yBACxBC,uBAAwB,yBACxBX,OAAQ,SACRC,UAAW,YACXW,YAAa,cACbC,UAAW,YACXC,WAAY,cAGAC,GAAkB,CAC9B,CAACb,IAAmB,WACpB,CAACA,IAAqB,aACtB,CAACA,IAAqB,cAGVc,GAAsB,CAClC,CAACR,GAAeI,aAAc,gBAC9B,CAACJ,GAAeK,WAAY,cAC5B,CAACL,GAAeR,QAAS,WACzB,CAACQ,GAAeP,WAAY,cAC5B,CAACO,GAAeC,eAAgB,kBAChC,CAACD,GAAeE,wBAAyB,2BACzC,CAACF,GAAeG,wBAAyB,2BACzC,CAACH,GAAeM,YAAa,gBAQjBG,KALqB5U,EAAAA,EAAAA,GAAE,CACnC8D,KAAM,8BACNC,QAAS,iBAGe/D,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,eAGG8Q,IAAsB7U,EAAAA,EAAAA,GAAE,CACpC8D,KAAM,8BACNC,QAAS,wBAEG+Q,IAAuB9U,EAAAA,EAAAA,GAAE,CACrC8D,KAAM,8BACNC,QACC,uFAEWgR,IAAmC/U,EAAAA,EAAAA,GAAE,CACjD8D,KAAM,8BACNC,QAAS,WAGGiR,GAA8B,CAC1C,CACCzI,QAAS,UACTtN,GAAI,SACJ4J,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,kBACxDkR,gBAAiB,6BAElB,CACC1I,QAAS,YACTtN,GAAI,aACJ4J,MAAOkM,GACPE,gBAAiB,8BAINC,GACe,4BADfA,GAEQ,qBAFRA,GAGe,4BAHfA,GAIY,yBAGZC,GACO,oBADPA,GAEQ,qBAFRA,GAGI,iBAIJC,GACkB,+BADlBA,GAEc,kCAFdA,GAGe,4BAGfC,GACiB,8BAOjBC,GACS,sBAGTC,GACW,wBADXA,GAEY,yBAGZC,GAA4B,IAAIC,IAAI,CAChDtB,GAAeE,uBACfF,GAAeG,uBACfH,GAAeI,cAGHmB,GAAyB,kCC3JzBC,KCAoB3V,EAAAA,EAAAA,GAAE,CAClC8D,KAAM,8BACNC,QAAS,qBACT6R,QAAS,oEAG8D5V,EAAAA,EAAAA,GAAE,CACzE8D,KAAM,8BACNC,QAAS,6DACT6R,QACC,yGAGqB5V,EAAAA,EAAAA,GAAE,CACxB8D,KAAM,8BACNC,QAAS,YACT6R,QACC,kGAGyB5V,EAAAA,EAAAA,GAAE,CAC5B8D,KAAM,8BACNC,QAAS,cACT6R,QAAS,oDAGwB5V,EAAAA,EAAAA,GAAE,CACnC8D,KAAM,8BACNC,QAAS,qBACT6R,QAAS,iEAGkB5V,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,eACT6R,QAAS,uEAGuB5V,EAAAA,EAAAA,GAAE,CAClC8D,KAAM,8BACNC,QAAS,oBACT6R,QAAS,uEAG2D5V,EAAAA,EAAAA,GAAE,CACtE8D,KAAM,8BACNC,QAAS,yDACT6R,QACC,oFAGkB5V,EAAAA,EAAAA,GAAE,CACrB8D,KAAM,8BACNC,QAAS,OACT6R,QACC,yEAGoB5V,EAAAA,EAAAA,GAAE,CACvB8D,KAAM,8BACNC,QAAS,SACT6R,QAAS,mEAGyB5V,EAAAA,EAAAA,GAAE,CACpC8D,KAAM,8BACNC,QAAS,yBACT6R,QACC,4EAGmB5V,EAAAA,EAAAA,GAAE,CACtB8D,KAAM,8BACNC,QAAS,QACT6R,QAAS,mDAGqB5V,EAAAA,EAAAA,GAAE,CAChC8D,KAAM,8BACNC,QAAS,mBACT6R,QACC,yEAG6B5V,EAAAA,EAAAA,GAAE,CAChC8D,KAAM,8BACNC,QAAS,mBACT6R,QACC,sFAGqB5V,EAAAA,EAAAA,GAAE,CACxB8D,KAAM,8BACNC,QAAS,UACT6R,QAAS,2CAGsB5V,EAAAA,EAAAA,GAAE,CACjC8D,KAAM,8BACNC,QAAS,mBACT6R,QACC,gFAGiC5V,EAAAA,EAAAA,GAAE,CACpC8D,KAAM,8BACNC,QAAS,sBACT6R,QAAS,uEAGU5V,EAAAA,EAAAA,GAAE,CACrB8D,KAAM,8BACNC,QAAS,OACT6R,QAAS,kEAGiC5V,EAAAA,EAAAA,GAAE,CAC5C8D,KAAM,8BACNC,QAAS,8BACT6R,QAAS,6DAGqB5V,EAAAA,EAAAA,GAAE,CAChC8D,KAAM,8BACNC,QAAS,kBACT6R,QAAS,wEAGgD5V,EAAAA,EAAAA,GAAE,CAC3D8D,KAAM,8BACNC,QAAS,uCACT6R,QAAS,iEAGkB5V,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,eACT6R,QACC,yEAGwB5V,EAAAA,EAAAA,GAAE,CAC3B8D,KAAM,8BACNC,QAAS,aACT6R,QAAS,4DAGa5V,EAAAA,EAAAA,GAAE,CACxB8D,KAAM,8BACNC,QAAS,UACT6R,QAAS,sEAGyB5V,EAAAA,EAAAA,GAAE,CACpC8D,KAAM,8BACNC,QAAS,sBACT6R,QAAS,6DAGoB5V,EAAAA,EAAAA,GAAE,CAC/B8D,KAAM,8BACNC,QAAS,iBACT6R,QAAS,2DAGkB5V,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,eACT6R,QAAS,gEAG4B5V,EAAAA,EAAAA,GAAE,CACvC8D,KAAM,8BACNC,QAAS,yBACT6R,QAAS,uEAG0B5V,EAAAA,EAAAA,GAAE,CACrC8D,KAAM,8BACNC,QAAS,wBACT6R,QACC,8EAGwB5V,EAAAA,EAAAA,GAAE,CAC3B8D,KAAM,8BACNC,QAAS,kBACT6R,QAAS,gDAGoD5V,EAAAA,EAAAA,GAAE,CAC/D8D,KAAM,8BACNC,QAAS,uDACT6R,QAAS,4DAGiC5V,EAAAA,EAAAA,GAAE,CAC5C8D,KAAM,8BACNC,QAAS,mCACT6R,QACC,uEAG8D5V,EAAAA,EAAAA,GAAE,CACjE8D,KAAM,8BACNC,QAAS,yDACT6R,QACC,6EAGyE5V,EAAAA,EAAAA,GAAE,CAC5E8D,KAAM,8BACNC,QAAS,+DACT6R,QACC,0EAG6C5V,EAAAA,EAAAA,GAAE,CAChD8D,KAAM,8BACNC,QAAS,kCACT6R,QACC,0EAG0B5V,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,eACT6R,QACC,yEAGwC5V,EAAAA,EAAAA,GAAE,CAC3C8D,KAAM,8BACNC,QAAS,6BACT6R,QAAS,gEAGkD5V,EAAAA,EAAAA,GAAE,CAC7D8D,KAAM,8BACNC,QAAS,+CACT6R,QACC,iFAGoB5V,EAAAA,EAAAA,GAAE,CACvB8D,KAAM,8BACNC,QAAS,SACT6R,QACC,gFAG6B5V,EAAAA,EAAAA,GAAE,CAChC8D,KAAM,8BACNC,QAAS,kBACT6R,QACC,iFAG2B5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,gBACT6R,QAAS,4CAGc5V,EAAAA,EAAAA,GAAE,CACzB8D,KAAM,8BACNC,QAAS,WACT6R,QAAS,2DAGe5V,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,YACT6R,QACC,+EAGoB5V,EAAAA,EAAAA,GAAE,CACvB8D,KAAM,8BACNC,QAAS,SACT6R,QACC,8EAG2B5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,gBACT6R,QAAS,yDAG4B5V,EAAAA,EAAAA,GAAE,CACvC8D,KAAM,8BACNC,QAAS,yBACT6R,QAAS,kEAGmB5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,gBACT6R,QAAS,yDAGsB5V,EAAAA,EAAAA,GAAE,CACjC8D,KAAM,8BACNC,QAAS,mBACT6R,QAAS,iEAGoB5V,EAAAA,EAAAA,GAAE,CAC/B8D,KAAM,8BACNC,QAAS,iBACT6R,QAAS,iEAGkB5V,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,eACT6R,QAAS,uEAGgB5V,EAAAA,EAAAA,GAAE,CAC3B8D,KAAM,8BACNC,QAAS,aACT6R,QAAS,0DAGmB5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,iBACT6R,QAAS,uEAGmB5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,iBACT6R,QACC,oFAGmB5V,EAAAA,EAAAA,GAAE,CACtB8D,KAAM,8BACNC,QAAS,QACT6R,QAAS,iEAGmB5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,gBACT6R,QAAS,yDAGwB5V,EAAAA,EAAAA,GAAE,CACnC8D,KAAM,8BACNC,QAAS,sBACT6R,QAAS,kEAGmB5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,iBACT6R,QAAS,uEAGmB5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,iBACT6R,QACC,oFAID5V,EAAAA,EAAAA,GAAE,CACD8D,KAAM,8BACNC,QACC,qFACD6R,QAAS,qEAG2B5V,EAAAA,EAAAA,GAAE,CACvC8D,KAAM,8BACNC,QAAS,yBACT6R,QACC,2EAG8B5V,EAAAA,EAAAA,GAAE,CACjC8D,KAAM,8BACNC,QAAS,mBACT6R,QAAS,8DAGmB5V,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,gBACT6R,QACC,+ED3Y4BC,GAC7BA,IAAe1B,GAAeG,wBAC9BuB,IAAe1B,GAAeE,wBAO/B,IAAIyB,IAA6B,EAC1B,MAAMC,GAA0BC,IACtCF,GAA6BG,QAAQD,IAEzBE,GAAkB,WAC1BJ,IAEH1M,QAAQ+M,OAAIpW,UAEd,EA+BaqW,GAAiBA,CAACC,EAASC,KACvC,MAAMC,EAAMC,MAAMC,QAAQJ,GAAWA,EAAU,GACzCK,EAAMF,MAAMC,QAAQH,GAAYA,EAAW,GACjD,OAAmB,IAAfI,EAAIpY,OACAiY,EAEDG,EAAIpY,QAAUiY,EAAIjY,OAASoY,EAAMH,GAOnCI,GAAuB,IAAIlB,IAAI,CACpCtB,GAAeK,UACfL,GAAeR,OACfQ,GAAeP,YAUHgD,GAAqBA,CAACP,EAASC,EAAUO,IACjDA,IAAe3C,GACXoC,EAEJA,IAAanC,GAAeI,aAAeoB,GAAcU,IAGzDV,GAAcW,IAAaK,GAAqBG,IAAIT,GAFhDA,EAKDC,EAGKS,GAAiB,WAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACzC,MAAMC,EAAgB,QAChBC,EAAc,mCAEpB,OACW,QAAVP,EAAA9R,OAAOsS,WAAG,IAAAR,GAAM,QAANA,EAAVA,EAAYS,YAAI,IAAAT,OAAA,EAAhBA,EAAkB5Q,QAASkR,IACjB,QAAVL,EAAA/R,OAAOsS,WAAG,IAAAP,OAAA,EAAVA,EAAYS,aAAcJ,IAChB,QAAVJ,EAAAhS,OAAOsS,WAAG,IAAAN,GAAM,QAANA,EAAVA,EAAYO,YAAI,IAAAP,OAAA,EAAhBA,EAAkBS,UAAWJ,IACnB,QAAVJ,EAAAjS,OAAOsS,WAAG,IAAAL,OAAA,EAAVA,EAAYS,WAAYL,GACU,WAAjB,QAAjBH,EAAAlS,OAAOC,kBAAU,IAAAiS,OAAA,EAAjBA,EAAmBS,cACgC,KAAlC,QAAjBR,EAAAnS,OAAOC,kBAAU,IAAAkS,GAAS,QAATA,EAAjBA,EAAmBS,eAAO,IAAAT,GAAQ,QAARA,EAA1BA,EAA4BU,cAAM,IAAAV,OAAA,EAAlCA,EAAoCQ,WAKtC,EE3FaG,IAAY3N,EAAAA,GAAAA,aAEnB4N,GAAiBC,GAASA,EAAKC,YAAcD,EAAKE,YAiC3CC,GAAcA,CAC1BC,EACAC,EACAxE,EACAyE,EACAC,EACA5C,EACA6C,EACAxS,EACAN,KAEA,GAAI0S,GAAc,EACjB,OAGD,MAAMK,EACL9C,IAAe1B,GAAeR,QAC9BkC,IAAe1B,GAAeP,UAEzBgF,GACLxO,EAAAA,GAAAA,eAAA,OACCa,MAAO,CACN4N,MAAM,EACNN,OAAO,EACP,eAAgBxE,IAGhBwE,EAAMta,IAAI,CAAC6a,EAAMC,KACjB,MAAMC,EACW,cAAhBF,EAAK7P,QACL/C,IAAUiO,GAAeC,iBACvB0E,EAAKG,SACFC,EAAUH,EAAQT,EAAa,EAC/Ba,EACLR,GAAuBI,IAAUT,EAAa,EAC/C,IAAIc,EAEJ,GAAID,EAEFC,EADGvD,IAAe1B,GAAeP,WAEhCxJ,EAAAA,GAAAA,eAAA,YACCY,UAAU,kBACVhC,KAAK,+BACLwD,KAAK,QAKNpC,EAAAA,GAAAA,eAAA,YACCY,UAAU,kBACVhC,KAAK,uBACLwD,KAAK,YAIF,GAAIwM,EAAiB,CAC3B,MAAMhQ,EACL2M,GAAcE,IAAekD,IAAUR,EAAMja,OAAS,EACnD,uBACA,uBACJ8a,GAAYhP,EAAAA,GAAAA,eAAA,YAAUY,UAAU,YAAYhC,KAAMA,EAAMwD,KAAK,MAC9D,MACC4M,GAAYhP,EAAAA,GAAAA,eAAA,cAAYY,UAAU,cAAcwB,KAAK,OAGtD,OACCpC,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACRC,EAAAA,GAAAA,eAAA,OACCtJ,IAAKiY,EACL9N,MAAO,CACN6N,MAAM,EACN,SAAUK,KAGX/O,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iBACboO,EACAF,IAAW9O,EAAAA,GAAAA,eAAA,OAAKY,UAAU,eAE5BZ,EAAAA,GAAAA,eAAA,OACCY,UAAU,aACV,qBACA,eAAc8N,EAAKjQ,OAASiQ,EAAKO,UACjC,cAAa1T,IAAW,IAAV,IAAC6J,GAAI7J,EACdsS,GAAczI,IACjB5J,EAASwN,GAAAA,mBAAoB,CAAC5C,OAAQhB,KAGxC,eAAcxJ,IAAW,IAAV,IAACwJ,GAAIxJ,EACnBJ,EAASyN,GAAAA,sBAAuB,CAAC7C,OAAQhB,MAGzCsJ,EAAKjQ,OAASiQ,EAAKO,UACnBF,IACA/O,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBA5HUsO,EAACzD,EAAY0D,KAC9C,GAAI1D,IAAe1B,GAAeP,UACjC,OAAOJ,GAAeI,UAGvB,GAAIiC,IAAe1B,GAAeR,OACjC,OAAQ4F,GACP,KAAKtF,GACJ,OAAOT,GAAeC,YACvB,KAAKQ,GACJ,OAAOT,GAAeE,gBACvB,QACC,OAAOF,GAAeG,OAIzB,MAAO,IA6GG2F,CACAzD,EACA4C,aAAW,EAAXA,EAAac,oBASrBnP,EAAAA,GAAAA,eAAA,OAAK4G,IAAKgH,MAIZ,OACC5N,EAAAA,GAAAA,eAAA,WACEkO,EAAa,IACblO,EAAAA,GAAAA,eAAA,iBACC,gBAAe,EACf,eAAc,CAACoP,SAAU,SACzB,mBACAxO,UAAU,oBAEVZ,EAAAA,GAAAA,eAAA,sBACCqP,OAAQ,CACP5Q,MAAOkL,EAAYT,GAAaC,GAChC/G,KAAM,KACNkN,OAAQ,QAETC,UAAW5F,IAEX3J,EAAAA,GAAAA,eAAA,OAAKkC,KAAK,WAAWsM,OAQrBgB,GAAmBnS,IAMnB,IANoB,gBACzBoS,EAAe,WACfhE,EAAU,UACV9B,EAAS,SACT+F,EAAQ,SACRlU,GACA6B,EACA,IAAKoS,IAAqB9F,GAAa+F,IAAajG,GACnD,OAAO,KAGR,IAAIkG,EAAY,KAEhB,GAAIlE,IAAe1B,GAAeI,YACjCwF,GAAY3P,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,WACvB,KAAImJ,GAAcE,GAGxB,OAAO,KAFPkE,GAAY3P,EAAAA,GAAAA,eAAA,YAAUpB,KAAK,uBAAuBwD,KAAK,MAGxD,CAEA,OACCpC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0BACdZ,EAAAA,GAAAA,eAAA,WAAM2P,IACN3P,EAAAA,GAAAA,eAAA,OACC,qBACA,eAAcyP,EACd,cAAajS,IAAW,IAAV,IAAC4H,GAAI5H,EACdqQ,GAAczI,IACjB5J,EAASwN,GAAAA,mBAAoB,CAAC5C,OAAQhB,KAGxC,eAActG,IAAW,IAAV,IAACsG,GAAItG,EACnBtD,EAASyN,GAAAA,sBAAuB,CAAC7C,OAAQhB,KAE1CxE,UAAU,uBAET6O,KAQQG,GAAwBA,CAAC9T,EAAKmD,KAAiB,IAAf,SAACzD,GAASyD,EACtD,MACCoQ,OAAQQ,EAAa,MACrB1B,EAAK,UACLxE,EAAS,UACTmG,EAAS,SACTJ,EAAQ,gBACRD,EAAe,WACfhE,EAAU,iBACV2C,EAAgB,YAChBC,EAAW,aACXC,GACGxS,EAAML,WACV,IAAKqU,EACJ,OAAO,KAER,MAAM5B,EAAaC,EAAMja,OACnB6b,EACLtE,IAAe1B,GAAeR,SACZ,IAAjB4E,EAAMja,SACNma,aAAW,EAAXA,EAAac,eAAgBtF,IAE/B,OACC7J,EAAAA,GAAAA,eAAA,OAAKY,UAAU,yCACdZ,EAAAA,GAAAA,eAAA,OAAKa,MAAO,CAACmP,KAAK,EAAM,YAAaN,IAAajG,MACjDzJ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,YACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,sBACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,WACdZ,EAAAA,GAAAA,eAAA,OACCa,MAAO,CACN,kBAAkB,KAGnBb,EAAAA,GAAAA,eAAA,OAAKY,UAAU,6BACdZ,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,oBAEX6T,IACA7P,EAAAA,GAAAA,eAAA,OAAKY,UAAU,4BACbiP,IAGH7P,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,gBAEX6T,IAAiB7P,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,sBAE9BgE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBACdZ,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,gBAEX0T,IAAajG,IACbzJ,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,KACPyP,GAAiB,CACjBC,kBACAhE,aACA9B,YACA+F,WACAlU,cAEAwE,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,0BAGbgE,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACPC,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,wBACXwT,GAAiB,CACjBC,kBACAhE,aACA9B,YACA+F,eAKHK,GAAoBL,IAAajG,IArQtCzJ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACdZ,EAAAA,GAAAA,eAAA,oBAAkBiQ,aAAa,QAAQ7N,KAAK,QAC5CpC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BACbwI,GAAeE,kBAoQX2E,GACAC,EACAC,EACAxE,EACAyE,EACAC,EACA5C,EACA6C,EACAxS,EACAN,QC/SF,wBAAC0U,IAA2BzY,EAAAA,aAOlCC,EAAAA,EAAAA,qBAAoB,iBAAkB,CACrCsK,SAAU,CAAC7E,KAAM8E,GAAAA,SACjBxG,WAAY,CACX4T,OAAQ,CAACc,OAAQ,CAAChT,KAAM,WACxBiT,WAAY,CAACD,OAAQ,CAAChT,KAAM,WAC5BgR,MAAO,CAACgC,OAAQ,CAAChT,KAAM,UACvBwM,UAAW,CAACwG,OAAQ,CAAChT,KAAM,YAC3B0B,OAAQ,CAACsR,OAAQ,CAAChT,KAAM,WACxB2S,UAAW,CAACK,OAAQ,CAAChT,KAAM,YAC3BuS,SAAU,CAACS,OAAQ,CAAChT,KAAM,WAC1BsS,gBAAiB,CAACU,OAAQ,CAAChT,KAAM,WACjCsO,WAAY,CAAC0E,OAAQ,CAAChT,KAAM,WAC5BiR,iBAAkB,CAAC+B,OAAQ,CAAChT,KAAM,WAClCkR,YAAa,CAAC8B,OAAQ,CAAChT,KAAM,WAC7BmR,aAAc,CAAC6B,OAAQ,CAAChT,KAAM,YAE/BgD,KAnBYA,CAACrE,EAAKP,KAAA,IAAE,iBAACuM,EAAgB,SAAEtM,GAASD,EAAA,OAChDqU,GAAsB9T,EAAO,CAACgM,mBAAkBtM,cAmBhD0F,eAAgB,CACf,CAACgP,IAA0BtU,IAAa,IAAZ,MAACE,GAAMF,GAC7BE,EAAML,WAAWkO,WAAlB,MAA+BiE,IAAAA,GAAW3B,SAC7C2B,GAAU3B,QAAQoE,eAAe,CAChCC,SAAU,SACVC,MAAO,UACPC,OAAQ,aAIX,kCAAmCnT,IAAgC,IAA/B,OAACxB,EAAM,iBAAEiM,GAAiBzK,EAC7D,MAAM,QAACtB,GAAWF,EAClBiM,EAAiB,CAAC6B,YAAY5N,SAAAA,EAAS3E,WAGzC4J,OAAM,GACNkG,UAAW,CAACuJ,GAAAA,QAAoBC,GAAAA,WC9C1B,MAAMC,GAEmB,gCAFnBA,GAGkB,+BAHlBA,GAIQ,qBAJRA,GAKY,yBALZA,GAMkB,+BANlBA,GAOsB,mCAPtBA,GAcmB,gCAdnBA,GAe0B,uCAf1BA,GAgByB,sCAhBzBA,GAiBuB,oCAjBvBA,GAyCiB,8BAzCjBA,GA0Cc,2BA1CdA,GA2CO,oBA3CPA,GA4CiB,8BA5CjBA,GA6CkB,+BA7ClBA,GA8CsB,mCA9CtBA,GAgDX,2CAhDWA,GAkDK,kBAlDLA,GAmDe,4BAnDfA,GAoDY,yBApDZA,GAqDC,cArDDA,GAsDW,wBAtDXA,GAuDQ,qBAvDRA,GAwDW,wBAxDXA,GAyDmB,gCAzDnBA,GA0De,4BA1DfA,GA2DyB,sCA3DzBA,GA4DuB,oCA5DvBA,GA6DsB,mCA7DtBA,GA+DX,6CA/DWA,GAiEX,2CAjEWA,GAmEX,0CAQWC,KALiBhb,EAAAA,EAAAA,GAAE,CAC/B8D,KAAM,8BACNC,QAAS,+BAIK,yDADFiX,GAEO,yDAFPA,GAGC,wDAHDA,GAIE,wDAwCF5G,KAlBQpU,EAAAA,EAAAA,GAAE,CACrB8D,KAAM,8BACNC,QAAS,8BAEU/D,EAAAA,EAAAA,GAAE,CACrB8D,KAAM,8BACNC,QAAS,0CAIgB/D,EAAAA,EAAAA,GAAE,CAC5B8D,KAAM,8BACNC,QAAS,kCAEmB/D,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,mBAEmB/D,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,mBAaGkX,KALejb,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,iBAGmB,CAC5BmX,QAAQlb,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,iBACzDoX,SAASnb,EAAAA,EAAAA,GAAE,CACV8D,KAAM,8BACNC,QAAS,2BAEVqX,WAAWpb,EAAAA,EAAAA,GAAE,CACZ8D,KAAM,8BACNC,QAAS,4BAIEsX,GAAe,CAC3BxS,OAAO7I,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,qBACxDuX,OAAQ,IACRrS,OAAQ,cACRgQ,UAAU,GAEEsC,GACD,WADCA,GAEC,WAEDC,IAAQxb,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,UACzD0X,IAAWzb,EAAAA,EAAAA,GAAE,CACzB8D,KAAM,8BACNC,QAAS,aC/JG2X,GACN,cADMA,GAED,SAGCC,GACD,YADCA,GAED,YAFCA,GAGC,cAHDA,GAIH,UAGGC,GAAwB,CACpC,CAACzH,GAAeP,WAAY+H,GAC5B,CAACxH,GAAeK,WAAYmH,GAC5B,CAACxH,GAAeR,QAASgI,GACzB,CAACxH,GAAeI,aAAcoH,GAC9B,CAACxH,GAAeE,wBAAyBsH,GACzC,CAACxH,GAAeG,wBAAyBqH,GACzC,CAACxH,GAAeC,eAAgBuH,ICnBjC,MAAM,GAFEla,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,SAAc,KAClD,MAAMC,EAAYka,EAAwGtc,SAAWsc,EAAwGvc,WAGtO,OAAIqC,EACHka,EAAiH,QAAEC,SAIpHD,EAAwGC,UAAYD,EAAiH,SAAKA,EAAiH,QAAEC,YCG5VC,GAAuBA,CAACC,EAASC,KAC7C,IAAKD,GAAWE,MAAMF,EAAQG,WAC7B,MAAO,GAER,MAAMC,EAAgBH,IAAU,IAAII,MAAOC,eAC3C,OAAIN,EAAQM,iBAAmBF,EAEvB,CACNG,SAAS,EACTC,iBAAiBV,EAAAA,GAAAA,UAASE,EAASN,KAI7B,CACNa,SAAS,EACTC,iBAAiBV,EAAAA,GAAAA,UAASE,EAASN,MCOzBe,GAAuB5U,IACnC,GACEA,GACAA,EAAOgB,OACPhB,EAAOgE,OACPhE,EAAO0E,SACP1E,EAAOmB,KAIT,OACCoB,EAAAA,GAAAA,eAAA,yBACCY,UAAU,iBACVnC,MAAOhB,EAAOgB,MACdgD,MAAOhE,EAAOgE,MACdU,QAAS1E,EAAO0E,QAChB,eACAvD,KAAMnB,EAAOmB,QAKV0T,GAAmB,SAACtW,EAAMuW,EAAWC,GAAI,IAAEC,EAAQ9c,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,IAAAA,UAAA,GAAQ,OAChEqK,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0BACdZ,EAAAA,GAAAA,eAAA,aAAA3K,EAAA,CACC+M,KAAK,KACL,cAAa,CACZsQ,OAAQ,CACP,aAAc1W,IAGhB2K,eAAgB3K,EAChB,YAAWuW,EACX,YAAWvW,GACNyW,GAAYD,IAASnB,IAAY,CAACsB,MAAO,SAAUC,IAAI,MAE7D5S,EAAAA,GAAAA,eAAA,QAAMY,UAAU,sBACd5E,EAAK,KAAGwW,EAAK,KAEV,EAGMK,GAAiB,SAACC,EAAUC,GAAkC,IAArBN,EAAQ9c,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,IAAAA,UAAA,GAC7D,OAAKmd,GAKJ9S,EAAAA,GAAAA,eAAA,OAAKY,UAAU,sBACb0R,GACAQ,EAASE,SACTF,EAASG,cACT7B,GACAqB,IAEAM,aAAW,EAAXA,EAAaG,cACbZ,GACCS,EAAYG,YACZH,EAAYI,iBACZ9B,GACAoB,IAhBI,IAoBT,EAEaW,GAAmB/E,IAC/B,MAAMgF,ED/DwBC,EAACC,EAAa1B,KAC5C,MAAM,UAAC2B,EAAS,IAAEC,EAAG,cAAEC,EAAa,MAAE5X,GAASyX,EACzCI,EAAgB,IAAI1B,KAAKuB,GAC/B,GAAI1B,MAAM6B,EAAc5B,WACvB,MAAO,GAER,MAAMC,EAAgBH,IAAU,IAAII,MAAOC,eACrC0B,EAAuD,KAApCC,SAASH,EAAe,KAAO,GAClDI,EAAkB,IAAI7B,KAAK0B,EAAc5B,UAAY6B,GAGrDG,EAAiBvC,GAAsB1V,GAG7C,GAAIiY,IAAmBxC,GAAsC,CAC5D,MAAM,gBAACa,EAAe,QAAED,GAAWR,GAClCgC,EACA3B,GAED,IAAIgC,EAAY,GAChB,GAAmB,iBAARP,GAAoBA,EAAItY,SAAS,KAAM,CACjD,MAAO8Y,EAAKC,GAAOT,EAAIU,MAAM,KAAKtgB,IAAIugB,QAErCJ,EADGE,EAAM,GAER,MACAte,EAAAA,EAAAA,GACC,CAAC8D,KAAM,8BAA+BC,QAAS,qBAC/C0a,KAAKH,IAAI,EAAGD,GACZC,GAED,IACSA,EAAM,KAEf,MACAte,EAAAA,EAAAA,GACC,CAAC8D,KAAM,8BAA+BC,QAAS,oBAC/C0a,KAAKH,IAAI,EAAGG,KAAKC,MAAML,EAAM,KAC7BI,KAAKE,KAAKL,EAAM,KAEjB,IAGA,MACAte,EAAAA,EAAAA,GACC,CAAC8D,KAAM,8BAA+BC,QAAS,qBAC/C0a,KAAKH,IAAI,EAAGG,KAAKC,MAAML,EAAM,OAC7BI,KAAKE,KAAKL,EAAM,OAEjB,GAEH,CACA,OAAO/B,GACJvc,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,kBAC/CyY,EAAkB4B,IAElBpe,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,kBAC/CyY,EAAkB4B,EAEtB,CAGA,GAAID,IAAmBxC,GAAkC,CACxD,MAAM,gBAACa,EAAe,QAAED,GAAWR,GAClCmC,EACA9B,GAED,OAAOG,GACJvc,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,kBAC/CyY,IAEAxc,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,kBAC/CyY,EAEJ,CAGA,GAAI2B,IAAmBxC,GAAoC,CAC1D,MAAM,gBAACa,EAAe,QAAED,GAAWR,GAClCmC,EACA9B,GAED,OAAOG,GACJvc,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,kBAC/CyY,IAEAxc,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,kBAC/CyY,EAEJ,CAGA,GAAI2B,IAAmBxC,GAAoC,CAC1D,MAAM,gBAACa,EAAe,QAAED,GAAWR,GAClCmC,EACA9B,GAED,OAAOG,GACJvc,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,oBAC/CyY,IAEAxc,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,oBAC/CyY,EAEJ,GChDqBkB,CAAgBjF,GACrC,MAAwB,KAAjBgF,GACNrT,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oBACdZ,EAAAA,GAAAA,eAAA,YAAOqT,IAEL,M,cC5GE,MAIM1C,GACuB,oCADvBA,GAEM,mBAFNA,GAGO,oBAHPA,GAIQ,qBAJRA,GAKI,iBALJA,GAMU,uBCTV6D,GAAiC,iCAKjCC,GAA0B,0BAW1BC,GAAmB,mBACnBC,GAA0B,0BAE1BC,GAAwB,wBACxBC,GAAqB,qBACrBC,GAAkB,kBAClBC,GAAqB,qBAErBC,GAAyB,yBCfhCC,GAAgB,kBAMhBC,IAAkBrd,EAAAA,EAAAA,kBFfb,wDEe6C,CACvDsC,OAAQ,OACRgb,UAAW,UACXC,QAAS,CACR,eAAgB,oBAEjB9a,kBAAmBqW,KAGpB,IACC3U,KAAMiZ,GACNI,aAAc,CACbC,aAAa,GAEdpU,eAAgB,CAKf,CAACyP,IAA6Btb,EAAA,GAC1B6f,GAAe,CAClBzV,iBAAiB,IAElB,CAACkR,IAAiCpV,IAA6B,IAA5B,YAACgC,EAAW,SAAE/B,GAASD,EACzDgC,EAAY,CACXgY,KAAM,aAAaN,iBACnB7d,OAAO,EACPoe,UAAW,MACXC,cAAc,IAEfja,EAASiZ,GAAyB,CACjCiB,UDdmC,0BCenCC,SAAU,CAACC,UAAW3D,KAAK4D,UAG7B,CAAClF,IAAkC/U,IAAmB,IAAlB,YAAC2B,GAAY3B,EAChD2B,EAAY,CACXgY,KAAM,aAAaN,iBACnB7d,OAAO,EACPoe,UAAW,MACXC,cAAc,KAGhB,CAAC9E,IAA8BtT,IAAwB,IAAvB,OAACxB,EAAM,SAAEL,GAAS6B,EACjD,MAAM,UACLyY,EAAS,eACTpa,EAAc,UACdqa,EAAS,iBACTC,EAAgB,eAChBC,EAAc,YACdC,EAAW,OACXC,GACGta,EAAOE,QAEXP,EAASiZ,GAAyB,CACjCiB,UDrCkC,yBCsClCC,SAAU,CACTQ,SACAC,WAAYN,EACZO,aAAcN,EACdra,iBACA4a,OAAQN,EACRO,SAAUN,EACV5N,MAAO6N,EACPN,UAAW3D,KAAK4D,SAIlBra,EAASmV,IAETnV,EAASmV,GAA+B,CACvC5U,QAAS,CACR+Z,YACApa,iBACA8a,eAAgB,OAChBT,YACAC,mBACAC,iBACAC,cACAC,SACAM,iBAAkB,CAAC,iBAAkB,iBAAkB,mBAQ1D,CAAC9F,IAAiDnT,IAAgB,IAAf,SAAChC,GAASgC,EAC5DhC,EAASiZ,GAAyB,CACjCiB,UDtEoC,2BCuEpCC,SAAU,CAACC,UAAW3D,KAAK4D,UAG7B,CAAClF,IAAoC,CAOpCrR,OAAQR,IAAwB,IAAvB,OAACjD,EAAM,SAAEL,GAASsD,EAC1B,MACC/C,SAAS,MAAC3E,GACVsf,MAAM,OAACC,IACJ9a,EACW,iBAAX8a,IACHnb,EAASmV,IACTnV,EAASiZ,GAAyB,CACjCiB,UD1FgC,yBC2FhCC,SAAU,CAACC,UAAW3D,KAAK4D,WAI9BpW,iBAAiB,KC5GPmX,GAAgBpb,IAC5BA,EACCsP,GACA,CAAC1T,OAAO,GACR,CAACyf,SAAU,CAAChiB,GAAI,8BAsNlB6C,EAAAA,EAAAA,qBAAoB,8BAA+B,CAClDsK,SAAU,CAAC7E,KAAM8E,GAAAA,SACjBxG,WAAY,CACXuM,WAAY,CACXmI,OAAQ,CACPhT,KAAM,WAGR2Z,iBAAkB,CACjB3G,OAAQ,CACPhT,KAAM,WAEPhI,SAAS,GAEV4hB,eAAgB,CACf5G,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACXrE,MAAO,CAAC+F,KAAM,UACdsB,MAAO,CAACtB,KAAM,UACdyB,KAAM,CAACzB,KAAM,UACbsE,MAAO,CAACtE,KAAM,UACdgF,QAAS,CAAChF,KAAM,aAInB2V,SAAU,CACT3C,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACXuX,SAAU,CAAC7V,KAAM,UACjB8V,cAAe,CAAC9V,KAAM,UACtBmZ,OAAQ,CAACnZ,KAAM,aAIlB4V,YAAa,CACZ5C,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACXyX,YAAa,CAAC/V,KAAM,UACpBgW,iBAAkB,CAAChW,KAAM,UACzB6Z,UAAW,CAAC7Z,KAAM,aAIrBsO,WAAY,CACX0E,OAAQ,CACPhT,KAAM,WAGR8Z,kBAAmB,CAClB9G,OAAQ,CACPhT,KAAM,YAGRsV,SAAU,CACTtC,OAAQ,CACPhT,KAAM,YAGR+Z,WAAY,CACX/G,OAAQ,CACPhT,KAAM,WAEPhI,SAAS,GAEVgiB,YAAa,CACZhH,OAAQ,CACPhT,KAAM,WAEPhI,SAAS,GAEViiB,SAAU,CACTjH,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACXC,eAAgB,CAACyU,OAAQ,CAAChT,KAAM,WAChC4K,UAAW,CAACoI,OAAQ,CAAChT,KAAM,WAC3BX,MAAO,CAAC2T,OAAQ,CAAChT,KAAM,WACvBgZ,OAAQ,CAAChG,OAAQ,CAAChT,KAAM,WACxB2Y,UAAW,CAAC3F,OAAQ,CAAChT,KAAM,WAC3Bka,YAAa,CAAClH,OAAQ,CAAChT,KAAM,WAC7BqW,UAAW,CAACrD,OAAQ,CAAChT,KAAM,WAC3B4Y,UAAW,CAAC5F,OAAQ,CAAChT,KAAM,WAC3BsW,IAAK,CAACtD,OAAQ,CAAChT,KAAM,WACrBuW,cAAe,CAACvD,OAAQ,CAAChT,KAAM,WAC/Bma,qBAAsB,CAACnH,OAAQ,CAAChT,KAAM,YACtCiR,iBAAkB,CAAC+B,OAAQ,CAAChT,KAAM,eAKtCgD,KAnNarE,IACb,MACCoL,WACC,mBAAmB,YAACoO,IACpB,qBACDgC,EAAoB,WACpB7b,GACGK,GACE,eACLib,EAAc,SACdjE,EAAQ,kBACRmE,EAAiB,WACjBxL,EAAU,SACV2L,EAAQ,YACRrE,EAAW,SACXN,EAAQ,WACRyE,EAAU,YACVC,GACG1b,EAEE4S,EAAWhZ,EAAA,GAAO+hB,EAAU,CAAAtb,MAAO2P,IACzC,OACCzL,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACbyR,GAAoB0E,GACpBlE,GAAeC,EAAUC,EAAaN,GACtCW,GAAgB/E,KAElBrO,EAAAA,GAAAA,eAAA,OAAKY,UAAU,gCACdZ,EAAAA,GAAAA,eAAA,cACCY,UAAU,YACVhC,KAAK,gBACLH,OAAO7I,EAAAA,EAAAA,GAAE,CACR8D,KAAM,8BACNC,QAAS,2BAEVwI,QAAQ,WACRC,KAAK,KACLiE,MAAI,EACJ,oBAAmB,CAAClJ,KAAM,iBAE3B6C,EAAAA,GAAAA,eAAA,cACCY,UAAU,YACVhC,KAAK,eACLH,OAAO7I,EAAAA,EAAAA,GAAE,CACR8D,KAAM,8BACNC,QAAS,4BAEVwI,QAAQ,WACRC,KAAK,KACLiE,MAAI,EACJ,oBAAmB,CAAClJ,KAAM,oBAG5B6C,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACbqW,IAAsBC,IACtBlX,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,cACCY,UAAU,gBACVhC,KAAK,uBACLH,OAAO7I,EAAAA,EAAAA,GAAE,CACR8D,KAAM,8BACNC,QAAS,kBAEVwI,QAAQ,qBACRC,KAAK,KACL,oBAAmB,CAACjF,KAAM,sBAE3B6C,EAAAA,GAAAA,eAAA,aACC,eACA,iBAAe,UACfkG,OAAQoP,EACR,mBACAlT,KAAK,KACL,eAAcqI,GACd1W,QAAS2W,GACT,iBAAgBE,OAIjBqM,IAAsBxE,IAAa0E,IACpCnX,EAAAA,GAAAA,eAAA,cACCY,UAAU,gBACVnC,MAAO+L,GACPrI,QAAQ,YACRC,KAAK,KACL,oBAAmB,CAACjF,KAAM,iBAI5Bma,GAAwBF,IACxBpX,EAAAA,GAAAA,eAAA,aACC,eACA,iBAAe,mBACfkG,OAAQoR,EACR,mBACAlV,KAAK,OAELpC,EAAAA,GAAAA,eAAA,iCACC+H,UAAWqP,EAASrP,UACpBvL,MAAO4a,EAAS5a,MAChBwL,WAAYvM,EAAWuM,WACvBpB,IAAM2Q,IACDA,GAAMH,EAASjB,QAClBqB,WAAW,KACND,EAAGE,UACNF,EAAGE,SAASL,EAASjB,SAEpB,WAwGVnV,OAAM,GACNE,eAAgB,CACf,CAAC4J,IAAyC,CACzCxL,OAvP8B9B,IAA+B,IAA9B,OAAC3B,EAAM,SAAEL,EAAQ,MAAEM,GAAM0B,EAC1D,MAAM,QAACzB,GAAWF,GACZ,SAACub,EAAQ,WAAEpP,EAAU,iBAAE8O,GAAoBhb,EAAML,WACjD0B,EAAOpB,aAAO,EAAPA,EAASoB,KAEtB,IAAKA,IAASia,EACb,OAGD,MACMM,EAAS,CAAClc,WAAU4b,WAAUO,UADH,YAAf3P,EAC6B8O,oBAE/C,OAAQ3Z,GACP,IAAK,kBAzE6B5B,KAAgB,IAAf,SAACC,GAASD,EAC9CC,EAASuP,IACT6L,GAAapb,IAwEXoc,CAAqBF,GACrB,MAED,IAAK,aAxEwB9b,KAA4C,IAA3C,SAACJ,EAAQ,SAAE4b,EAAQ,iBAAEN,GAAiBlb,EACjEkb,EACHtb,EAAS2P,GAAgD,CACxDiM,aAGD5b,EAASyP,GAAqD,CAC7D4M,OAAQ,CACPxP,MAAO+O,EAASrP,UAChBvL,MAAO4a,EAAS5a,MAChBsb,YAAaV,EAASjB,OACtB/P,OAAQ,MAIXwQ,GAAapb,IA0DXuc,CAAgBL,GAChB,MAED,IAAK,eA1D0Bra,KAAqC,IAApC,SAAC7B,EAAQ,UAAEmc,EAAS,SAAEP,GAAS/Z,EAChEuZ,GAAapb,GACb,MAAM,iBAAC4S,GAAoBgJ,GACrB,eAACY,GAAkB5J,GAAoB,CAAC,EAE9C,IAAI6J,EAAkB,GAEtB,GACCD,GACA5L,MAAMC,QAAQ2L,IACdA,EAAe9jB,OAAS,EACvB,CACD,MAAMgkB,EAAcF,EAAeA,EAAe9jB,OAAS,GAC3D+jB,GAAkBC,aAAW,EAAXA,EAAankB,UAAW,EAC3C,CAEA,MAAM2jB,EAAS,CACdS,sBAAsB,EACtBjV,2BAA2B,EAC3BL,eAAgB,CACfuV,iBAAkBC,KAAKC,UAAU,CAChCC,UAAW,WACXC,QAAS,CACRP,uBAMAN,EACH7c,OAAO2d,KAAKC,OAAOhB,GAIpBlc,EAASwP,GAAsD0M,IAyB7DiB,CAAkBjB,GAClB,MACD,IAAK,aACJlc,EAASwP,MA+NTvL,iBAAiB,GAElB,CAACqL,IAAgDhM,IAI3C,IAJ4C,OACjDjD,EAAM,SACNL,EAAQ,MACRM,EAAQ,CAAC,GACTgD,EACA,MACCrD,YAAY,SAACqX,EAAQ,WAAErH,EAAU,SAAE2L,IAChCtb,GAEHC,SAAUF,QAAQ,GAAChH,GAAM,CAAC,IACvBgH,EAEO,WAAPhH,GACC4W,IAAe1B,GAAeC,eACjCxO,EAASuP,GAAsC,CAC9C+K,UAAWsB,EAAStB,UACpBpa,eAAgB0b,EAAS1b,eACzBqa,UAAWqB,EAASrB,UACpBC,iBAAkBlD,EAASwD,OAC3BL,eAAgBmB,EAAS5a,MACzB0Z,YAAakB,EAASrP,UACtBoO,OAAQiB,EAASjB,SAKT,eAAPthB,GACH2G,EAASuP,KAGX,CAACI,IAAiDlM,IAAmB,IAAlB,YAAC1B,GAAY0B,EAC/D1B,EAAY,CACX+Z,sBAAsB,KAGxB,CAACnM,IAAkDhM,IAAmB,IAAlB,YAAC5B,GAAY4B,EAChE5B,EAAY,CACX+Z,sBAAsB,KAGxB,uBAA0B,CACzBhY,OAAQC,IAAwB,IAAvB,OAAC1D,EAAM,SAAEL,GAAS+D,EAC1B,MACCmX,MAAM,OAACC,EAAM,cAAEiC,IACZ/c,EAEkB,qBAAlB+c,GAAmD,iBAAXjC,GAC3Cnb,EAAS2P,KAGX1L,iBAAiB,IAGnByH,UAAW,CAAC2R,MCzYLxhB,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCA1C,MAAM,GAFEA,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYuhB,EAAoF3jB,SAAW2jB,EAAoF5jB,WACrM,OAAIqC,EACIuhB,EAA6F,SAAKA,EAA6F,QAAW,QAAIA,EAA6F,QAAW,QAAIA,EAA6F,QACpZvhB,EACHuhB,EAA6F,QAAW,QAExGA,EAA6F,QAAKA,EAA6F,QAAW,QAAIA,EAA6F,QAAW,QAAIA,EAA6F,QAAKA,KCPza,MAAM,GAFEzhB,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,OAAY,KAChD,MAAMC,EAAYwhB,EAAkF5jB,SAAW4jB,EAAkF7jB,WAG1L,OAAIqC,EACHwhB,EAA2F,QAAEC,OAI9FD,EAAkFC,QAAUD,EAA2F,SAAKA,EAA2F,QAAEC,QAC9R,SAAc,KAChB,MAAMzhB,EAAYwhB,EAAkF5jB,SAAW4jB,EAAkF7jB,WAG1L,OAAIqC,EACHwhB,EAA2F,QAAEE,SAI9FF,EAAkFE,UAAYF,EAA2F,SAAKA,EAA2F,QAAEE,UAChS,OAAY,KACd,MAAM1hB,EAAYwhB,EAAkF5jB,SAAW4jB,EAAkF7jB,WAG1L,OAAIqC,EACHwhB,EAA2F,QAAEG,OAI9FH,EAAkFG,QAAUH,EAA2F,SAAKA,EAA2F,QAAEG,UC9BxRC,GAEJ,SAFIA,GAGH,UAHGA,GAIN,OAJMA,GAKN,OALMA,GAMF,WANEA,GAOG,UAPHA,GAQC,aAKDC,GACN,aADMA,GAEN,WAFMA,GAGF,sBAEEC,GACN,OADMA,GAEN,OAFMA,GAGF,YAEEC,GAA8B,8BAE9BC,GAAqB,qBACrBC,GAAqB,qBACrBC,GAAyB,yBACzBC,GAAwB,aACxBC,GAAyB,cACzBC,GAAuB,uBACvBC,GAAuB,uBACvBC,GAAe,eACfC,IAAkBnkB,EAAAA,EAAAA,GAAE,CAChC8D,KAAM,8BACNC,QAAS,YAEGqgB,IAAepkB,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,YAQGsgB,KANsBrkB,EAAAA,EAAAA,GAAE,CACpC8D,KAAM,8BACNC,QAAS,kBAIoC,uBACjCugB,GAAkC,uBAGlCC,GAAsB,0BACtBC,GACZ,4CAEYC,IAAmBzkB,EAAAA,EAAAA,GAAE,CACjC8D,KAAM,8BACNC,QAAS,kDAEG2gB,GAA4B,4BAG5BC,GAAwB,CACpC1b,OAAQ,WACRD,KAAM,sBACNyQ,QAAQzZ,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,cACzD5F,SAAS6B,EAAAA,EAAAA,GAAE,CACV8D,KAAM,8BACNC,QACC,sEAEF6gB,kBAAmB,CAClBC,mBAAmB,EACnBC,SAAU,IACVC,WAAW,EACXC,iBAAiB,GAElB/e,OAAQ,CACPsB,KAAM,YAIK0d,IAAcjlB,EAAAA,EAAAA,GAAE,CAC5B8D,KAAM,8BACNC,QAAS,2DAWGmhB,GAA0B,6BAC1BC,GAAwB,wBACxBC,GAAkB,kBAElBC,IAAmBrlB,EAAAA,EAAAA,GAAE,CACjC8D,KAAM,8BACNC,QAAS,qBAEGuhB,IAA2BtlB,EAAAA,EAAAA,GAAE,CACzC8D,KAAM,8BACNC,QAAS,oCC1GGwhB,GAA0BA,CAACC,EAAgBje,KACvD,GAAKie,UAAAA,EAAiBje,GACrB,OAAO,KAER,MAAM,OAACkS,EAAM,QAAEgM,GAAWD,EAAeje,GACzC,MAAO,CACNme,QAASjM,EACT9I,MAAO,CACN,CACCpJ,KAAM,YACN/F,MAAOikB,EAAQxnB,IAAI0H,IAAA,IAAC,IAAC7E,EAAG,MAAEU,GAAMmE,EAAA,MAAM,CACrC1G,GAAI6B,EACJ+H,MAAOrH,EACPmkB,SAAS,MAGX,CAACpe,KAAM,WAAY/F,MAAO,OChBvBokB,GAAc,mBAgBPC,GAAqBC,IACjC,IAAKA,EACJ,OAAOA,EAER,MAAMC,EAAQD,EAAKE,WAAWC,OAAOC,GAAG,KAAM,MAAM3H,MAAM,MACpDlf,EAAS,GACf,IAAK,MAAM8mB,KAAQJ,EAAO,KAAAK,EACzB,MAAMC,EAAoB,QAAhBD,EAAG/mB,EAAOinB,IAAI,UAAE,IAAAF,EAAAA,EAAI,GACxBG,EAASX,GAAYY,KAAKL,GAC1BM,EAAab,GAAYY,KAAKH,GAEhCE,IAAWE,GAAuB,KAATJ,GAC5BhnB,EAAOF,KAAK,KAIRonB,GAAUE,GAAuB,KAATN,GAC5B9mB,EAAOF,KAAK,IAEbE,EAAOF,KAAKgnB,EACb,CACA,OAAO9mB,EAAOd,KAAK,OC9Bd6N,GAAW,IAAIiX,GAAAA,SACrBjX,GAASsa,KAAO,WAAmB,QAAAC,EAAA5mB,UAAAzB,OAANsoB,EAAI,IAAApQ,MAAAmQ,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,GAAA9mB,UAAA8mB,GAEhC,OADaxD,GAAAA,SAAShiB,UAAUqlB,KAAKtmB,MAAMpC,KAAM4oB,GACrCE,QAAQ,KAAM,qBAC3B,EAEA,MAAMC,GAAmB,IAAI3D,GAAAA,OAAO,CAAC4D,QAAQ,EAAM5a,cAE7C6a,GAAiBC,IACtB,IACC,OAAOzE,KAAK0E,MAAMD,EACnB,CAAE,MAAOpnB,GACR,OAAO,IACR,GA8CYsnB,GAAyBA,KACrC,MAAMnH,EAAM,IAAI5D,KAMhB,MAAO,GAJO4J,OAAOhG,EAAIoH,YAAYC,SAAS,EAAG,QACjCrB,OAAOhG,EAAIsH,cAAcD,SAAS,EAAG,QACrCrB,OAAOhG,EAAIuH,cAAcF,SAAS,EAAG,QAkDzCG,GAA2BA,CACvC3N,EACA4N,EACAlC,IAEiB1L,IAAajG,IAO7BzJ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACZ0c,IACDtd,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBACdZ,EAAAA,GAAAA,eAAA,eACCud,iBAAkBpC,GACjBC,EACA,YAEDoC,iBAAkBrC,GACjBC,EACA,gBAKJpb,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACdZ,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,qBApBN,KCtFIyhB,GAAQliB,IAAa,IAAZ,MAACkD,GAAMlD,EAC5B,IAAKkD,EACJ,OAGD,IAAIif,EAAcjf,EDFUkf,MCc5B,OAHCD,ED9B6B,kBAAkBtB,KCuBpC3d,IDJgBkf,ECWAlf,GDPrBmf,GAAAA,QAAAA,SAAmBD,GAFlB,GCGHlf,EAAMtD,SAAS,OAhDWugB,KAC/B,MAAMC,EAAQD,EAAKvH,MAAM,MAAMtO,OAAQkW,GAASA,EAAK8B,QACrD,OACClC,EAAMznB,OAAS,GACfynB,EAAMmC,MAAO/B,IACZ,MAAMgC,EAAUhC,EAAK8B,OAErB,GAAI,2BAA2BzB,KAAK2B,GACnC,OAAO,EAGR,MAAMC,EAAQD,EAAQC,MAAM,0BAC5B,IAAKA,EACJ,OAAO,EAGR,MAAO,CAAEtnB,EAAKU,GAAS4mB,EACvB,OAAQtnB,EAAIyE,SAAS,QAAUzE,EAAIyE,SAAS,OAAS/D,EAAM+D,SAAS,SA+BzC8iB,CAAuBxf,GACzBA,EAzBzB0V,MAAM,MACNtgB,IAAKkoB,IACL,MAAMgC,EAAUhC,EAAK8B,OACrB,IAAKE,EACJ,MAAO,OAGR,MAAMC,EAAQD,EAAQC,MAAM,wBAC5B,GAAIA,EAAO,CACV,MAAO,CAAEtnB,EAAKU,GAAS4mB,EACvB,MAAO,WAAWtnB,aAAG,EAAHA,EAAKmnB,oBAAoBzmB,aAAK,EAALA,EAAOymB,QACnD,CACA,OAAOE,IAEP5pB,KAAK,QDPoBunB,IACtBA,EAGEiB,GAAiBI,MAAMtB,GAAkBC,IAFxC,GCkBQwC,CAAYzf,IAMrByB,EAAAA,GAAAA,oCACN,aAAawd,iBChDFS,GAAoB5iB,IAAuC,IAAtC,QAAC5B,EAAO,gBAAEykB,EAAe,MAAEtiB,GAAMP,EAClE,MAAM,YAAC8iB,EAAc,CAAC,EAAG7hB,MAAO8hB,GAAa3kB,GAAW,CAAC,GACnD,MAACvC,GAASinB,GAAe,CAAC,GACzBjnB,MAAOmnB,EAAU,WAAEC,GAAc1iB,GAAS,CAAC,GAC5C,SAAC4T,EAAQ,eAAE4N,EAAc,eAAElC,IAAkBtf,aAAK,EAALA,EAAOL,aAAc,CAAC,EAEzE,OACCuE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BACbxJ,GAASknB,IAAcF,GACvBpe,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BAA2BxJ,IAE1C4I,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oCACdZ,EAAAA,GAAAA,eAAA,gBACCoC,KAAK,KACLpG,KAAM0d,GACNtiB,MAAOA,EACPqnB,SAAUH,IAAcF,IAAmBhnB,aAAK,EAALA,EAAOlD,QAAS,KAE5D8L,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOub,GACP7X,QAAQ,UACRsc,UAAWF,GAAcC,EACzB,iBAAgB,CAAC,CAAC7E,KAAyB,GAC3C,kBAAiBI,KAEjByE,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEhCib,GAAyB3N,EAAU4N,EAAgBlC,OC3ClD/jB,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCFlCA,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GAA1C,MCIaqnB,GAAwBnjB,IAAA,IAAC,MACrCgL,EAAK,SACLmJ,EAAQ,eACR4N,EAAc,eACdlC,EAAc,WACdoD,GACAjjB,EAAA,OACAyE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mEACb2F,GACAA,EAAMrS,OAAS,GACfqS,EAAM1S,IAAI,CAAC8qB,EAAQhQ,KAClB3O,SAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOkgB,EAAOlgB,MACd0D,SAjBcrO,EAiBM6qB,EAjBmB,SAAf7qB,EAAKsD,MAAmB,UAAY,aAkB5DV,IAAKiY,EACL,iBAAgB,CAAClQ,MAAOkgB,EAAOlgB,MAAOrH,MAAOunB,EAAOvnB,OACpDqnB,SAAUD,KApBI1qB,QAwBjB0qB,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,OAC/Bib,GAAyB3N,EAAU4N,EAAgBlC,KCmFzCwD,GAAwBrjB,IAAuC,IAAAsjB,EAAA,IAAtC,QAACllB,EAAO,gBAAEykB,EAAe,MAAEtiB,GAAMP,EACtE,MAAM,YAAC8iB,EAAc,CAAC,EAAG7hB,MAAO8hB,GAAa3kB,GAAW,CAAC,GACnD,WAACmlB,EAAa,CAAC,EAAC,MAAE1nB,EAAK,OAAE2nB,GAAUV,GAAe,CAAC,GACnD,QAAChD,EAAO,YAAE2D,GAAeF,GAAc,CAAC,GACvC1nB,MAAOmnB,EAAU,WAAEC,GAAc1iB,GAAS,CAAC,GAC5C,SAAC4T,EAAQ,eAAE4N,EAAc,eAAElC,IAAkBtf,aAAK,EAALA,EAAOL,aAAc,CAAC,EAEnE8K,EAAQ8U,EAAQxnB,IAAK8qB,GAAMtpB,EAAA,GAC7BspB,EAAM,CACT9pB,GAAI8pB,EAAOvnB,SAEN6nB,GACL5D,SAAsD,QAA/CwD,EAAPxD,EAAS6D,KAAMprB,IAASA,aAAI,EAAJA,EAAMsD,SAAUykB,OAAOzkB,WAAO,IAAAynB,OAAA,EAAtDA,EAAwDpgB,QAASrH,EAClE,OACC4I,EAAAA,GAAAA,eAAA,OAAKY,UAAU,4BACbxJ,GAASknB,IAAcF,GACvBpe,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BAA2Bqe,GAjHlBE,EAC3B5Y,EACAyY,EACAD,EACAR,EACA7O,EACA4N,EACAlC,EACAoD,IAEIO,IAAW5F,IAEbnZ,EAAAA,GAAAA,eAAC0e,GAAqB,CACrBnY,MAAOA,EACPmJ,SAAUA,EACV4N,eAAgBA,EAChBlC,eAAgBA,EAChBoD,WAAYA,KAGJjY,aAAK,EAALA,EAAOrS,QAAS,EACtB8qB,GAEFhf,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mCACb2F,GACAA,EAAMrS,OAAS,GACfqS,EAAM1S,IAAK8qB,IACV3e,EAAAA,GAAAA,eAAA,gBACCoC,KAAK,KACL3D,MAAOkgB,aAAM,EAANA,EAAQlgB,MACfrH,MAAOunB,aAAM,EAANA,EAAQvnB,UAGlB4I,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOub,GACP7X,QAAQ,UACR,iBAAgB,CAAC,CAAC8X,KAAiC,GACnD,kBAAiBF,GACjB0E,UAAWF,GAAcC,IAEzBA,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEhCib,GAAyB3N,EAAU4N,EAAgBlC,MAMvDpb,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oCACdZ,EAAAA,GAAAA,eAAA,qBAAmBoC,KAAK,KAAKiZ,QAAS9U,EAAO,iBAAgB,CAACA,YAC9DvG,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOub,GACP7X,QAAQ,UACR,iBAAgB,CAAC,CAAC+X,KAAkC,GACpD,kBAAiBH,GACjB0E,UAAWF,GAAcC,IAEzBA,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEhCib,GAAyB3N,EAAU4N,EAAgBlC,MAMvDpb,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oCACdZ,EAAAA,GAAAA,eAAA,gBACCoC,KAAK,KACLmE,MAAOA,EACPnP,MAAOmnB,EACP,iBAAgB,CAAChY,SACjB6Y,OAAQJ,EAAc,QAAU,YAEjChf,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOub,GACP7X,QAAQ,UACR,iBAAgB,CAAC,CAAC+X,KAAmC8E,GACrD,kBAAiBjF,GACjB0E,UAAWF,GAAcC,IAEzBA,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEhCib,GAAyB3N,EAAU4N,EAAgBlC,KAwBpD+D,CACC5Y,EACAyY,EACAD,EACAR,EACA7O,EACA4N,EACAlC,EACAoD,KCrIL,SAASa,GAAiBC,GACzB,MAAM/Y,EAAQ,GAkBd,OAfe,IAAIgZ,WAEAC,gBAAgB,QAAQF,UAAiB,aAGrCG,iBAAiB,MAE7BC,QAASC,IAEnB,MAAMC,EAAWD,EAAGE,YAAYhC,OAC5B+B,GAAyB,OAAbA,GACfrZ,EAAMxR,KAAK6qB,KAINrZ,CACR,CASA,SAASuZ,GAAcnmB,EAASomB,EAAcC,GAE7C,MAAMC,EAAgBtmB,EAAQumB,UAAUF,EAAoBD,GAItDI,EADiB,wCACYC,KAAKH,GAExC,GAAIE,EACH,OAAOA,EAAY,GAAGtC,OAQvB,OAJkBoC,EAChBvD,QAAQ,WAAY,IACpBA,QAAQ,MAAO,KACfmB,QACkB,EACrB,CAOO,SAASwC,GAAkB1mB,GACjC,MAAM1E,EAAS,GAETqrB,EAAY,8BAClB,IAAItC,EACAuC,EAAuB,EAE3B,KAA6C,QAArCvC,EAAQsC,EAAUF,KAAKzmB,KAAoB,CAClD,MAAM6mB,EAAiBxC,EAAMrP,MACvB8R,EAAYzC,EAAM,GAGlB3O,EAASyQ,GAAcnmB,EAAS6mB,EAAgBD,GAGhDha,EAAQ8Y,GAAiBoB,GAG3Bla,EAAMrS,OAAS,GAClBe,EAAOF,KAAK,CACXsa,OAAQA,EACR9I,MAAOA,IAKTga,EAAuBvC,EAAMrP,MAAQqP,EAAM,GAAG9pB,MAC/C,CAEA,OAAOe,CACR,CCjFA,MAAMyrB,GAAuBnlB,IAKvB,IALwB,MAC7BgL,EAAQ,GAAE,UACVoa,EAAS,SACTC,EAAQ,eACRC,EAAiB,GACjBtlB,EACA,IAAKgL,GAA0B,IAAjBA,EAAMrS,OACnB,OAAO,KAqCR,OACC8L,EAAAA,GAAAA,eAAA,OAAKY,UAAU,uBACb2F,EAAM1S,IAAI,CAACC,EAAM6a,KACjB3O,EAAAA,GAAAA,eAAA,OACCtJ,IAAKiY,EACL/N,UAAU,gBACVkgB,UAAU,OACV,eAAeprB,GAzCKqrB,EAACrrB,EAAGiZ,KAC3BjZ,EAAEsrB,aAAaC,QAAQ,aAActS,EAAMhb,YAC3C+B,EAAE0Q,OAAO8a,MAAMC,QAAU,OAuCDJ,CAAgBrrB,EAAGiZ,GACxC,aAAajZ,GArCMA,KACtBA,EAAE0Q,OAAO8a,MAAMC,QAAU,IAoCHC,CAAc1rB,GACjC,cAAcA,GAlCMA,KACvBA,EAAE2rB,kBAiCqBC,CAAe5rB,GACnC,eAAeA,GA/BMA,KAAM,IAAA6rB,EAC9B7rB,EAAE2rB,iBACgC,QAAlCE,EAAA7rB,EAAE0Q,OAAOob,QAAQ,yBAAiB,IAAAD,GAAlCA,EAAoCE,UAAUC,IAAI,cA6B1BC,CAAgBjsB,GACrC,eAAeA,GA3BMA,KAAM,IAAAksB,EAC9BlsB,EAAE2rB,iBACgC,QAAlCO,EAAAlsB,EAAE0Q,OAAOob,QAAQ,yBAAiB,IAAAI,GAAlCA,EAAoCH,UAAUI,OAAO,cAyB7BC,CAAgBpsB,GACrC,UAAUA,GAvBKqsB,EAACrsB,EAAGssB,KAAc,IAAAC,EACpCvsB,EAAE2rB,iBACgC,QAAlCY,EAAAvsB,EAAE0Q,OAAOob,QAAQ,yBAAiB,IAAAS,GAAlCA,EAAoCR,UAAUI,OAAO,aAErD,MAAMK,EAAYrO,SAASne,EAAEsrB,aAAamB,QAAQ,eAE9CD,IAAcF,GAAclQ,MAAMoQ,IACrCvB,EAAUuB,EAAWF,EAAWnB,IAgBdkB,CAAWrsB,EAAGiZ,KAE9B3O,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACdZ,EAAAA,GAAAA,eAAA,YAAUpB,KAAK,oBAAoBwD,KAAK,SAEzCpC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0BACdZ,EAAAA,GAAAA,eAAA,QAAMY,UAAU,uBAAuB9M,KAExCkM,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0BACdZ,EAAAA,GAAAA,eAAA,qBACCoC,KAAK,KACLD,QAAQ,WACRvD,KAAK,gBACL,mBAAiBhJ,EAAAA,EAAAA,GAAE,CAClB8D,KAAM,8BACNC,QAAS,gBAEV,WAAUyoB,IAAMxB,EAASjS,EAAOkS,WC/EhC5mB,2BAA0BA,IAAIxC,EAAAA,YAKrC,IACC,CAACwC,IAA0BsB,GAAyB,IAAvB,OAACM,EAAM,YAAE0B,GAAYhC,EACjD,MAAM,KAACS,EAAI,MAAE5E,EAAK,cAAE6E,GAAiBJ,EAAOE,QAC5C,GAAa,YAATC,GAAsB5E,IAAU6E,EACnC,OAKDsB,EAAY,CAACihB,YAAY,IAEzB,MAAM6D,EAAchC,GAAkBjpB,GAClCirB,EAAYnuB,OAAS,GACxBqJ,EAAY,CACX+kB,aAAcD,EAAYA,EAAYnuB,OAAS,GAAGqS,OAGrD,EAKA,qBAAwB3K,IAA4C,IAA3C,OAACC,EAAM,MAAEC,EAAK,SAAEN,EAAQ,YAAE+B,GAAY3B,EAC9DC,EAAO4D,kBACP,MAAOiX,MAAM,SAACG,EAAW,CAAC,GAAK,CAAC,GAAKhb,EAErC,IAAIymB,EAAexmB,EAAMwmB,aAEzB,IAAKA,EAAc,CAClB,MAAO7mB,YAAY,QAAC9B,GAAW,CAAC,GAAKmC,GAC/B,YAACuiB,EAAc,CAAC,GAAK1kB,GAAW,CAAC,GACjC,WAACmlB,EAAa,CAAC,GAAKT,GAAe,CAAC,EACpC5f,EAAQqgB,aAAU,EAAVA,EAAYrgB,MACpB8jB,GAAYzD,aAAU,EAAVA,EAAYyD,YAAa,GAE3C,GAAIA,EAAUruB,OAAS,EACtBouB,EAAeC,MACT,CAEND,EADoBjC,GAAkB5hB,EAEvC,CACD,CAEA,GAAIoY,EAAS2L,YAAa,CACzB,MAAMC,EF6CF,SAA2BJ,GACjC,IAAKA,GAAsC,IAAvBA,EAAYnuB,OAC/B,MAAO,GAGR,IAAIypB,EAAO,GAuBX,OArBA0E,EAAY3C,QAAQ,CAACgD,EAAS/T,KAEzB+T,EAAQrT,SACXsO,GAAQ,MAAQ+E,EAAQrT,OAAS,UAI9BqT,EAAQnc,OAASmc,EAAQnc,MAAMrS,OAAS,IAC3CypB,GAAQ,SACR+E,EAAQnc,MAAMmZ,QAAS5rB,IACtB6pB,GAAQ,SAAW7pB,EAAO,YAE3B6pB,GAAQ,QAGJhP,EAAQ0T,EAAYnuB,OAAS,IAChCypB,GAAQ,SAKJA,CACR,CE1EuBgF,CAAkBL,GAEtC/kB,EAAY,CAACihB,YAAY,IACzBhjB,EAASsf,GAAyB,CACjCvU,MAAO+b,EACPlrB,OAAOxB,EAAAA,EAAAA,GACN,CACC8D,KAAM,8BACNC,QAAS,oCAEV,CAAC8oB,KAGJ,I,eC3DiC/qB,EAAAA,EAAAA,qBAAoB,uCAAwC,CAC9FyI,KFoFmBA,CAACrE,EAAKF,KAAoB,IAAlB,YAAC2B,GAAY3B,EACxC,MACCH,YAAY,QACX9B,EAAO,gBACPykB,EAAe,SACf1O,EAAQ,eACR4N,EAAc,eACdlC,IAEEtf,GAEE,YAACuiB,EAAc,CAAC,EAAG7hB,MAAO8hB,GAAa3kB,GAAW,CAAC,GACnD,WAACmlB,EAAa,CAAC,EAAC,MAAE1nB,GAASinB,GAAe,CAAC,EAC3C5f,EAAQqgB,aAAU,EAAVA,EAAYrgB,MACpB8jB,GAAYzD,aAAU,EAAVA,EAAYyD,YAAa,GAE3C,IAAID,EAAexmB,EAAMwmB,cAAgBC,EACzC,GAA4B,IAAxBD,EAAapuB,OAAc,CAC9B,MAAMmuB,EAAchC,GAAkB5hB,GAClC4jB,EAAYnuB,OAAS,IACxBouB,EAAeD,EACf9kB,EAAY,CAAC+kB,iBAEf,CAEA,MAAMM,EAAgBA,CAACC,EAAWC,EAASjC,KAC1C,MAAMkC,EAAW,IAAIT,GACfU,EAAcD,EAASlC,GACvBoC,EAAiB,IAAID,EAAYzc,QAGhC2c,GAAaD,EAAeE,OAAON,EAAW,GACrDI,EAAeE,OAAOL,EAAS,EAAGI,GAElCH,EAASlC,GAAexrB,EAAA,GACpB2tB,EAAW,CACdzc,MAAO0c,IAGR1lB,EAAY,CAAC+kB,aAAcS,KAGtBK,EAAeA,CAACC,EAAaxC,KAClC,MAAMkC,EAAW,IAAIT,GACfU,EAAcD,EAASlC,GACvByC,EAAgBN,EAAYzc,MAAMV,OACvC,CAAC0d,EAAG5U,IAAUA,IAAU0U,GAGzBN,EAASlC,GAAexrB,EAAA,GACpB2tB,EAAW,CACdzc,MAAO+c,IAGR/lB,EAAY,CAAC+kB,aAAcS,KAItBS,EADcpsB,GAASknB,IAAcF,EAExChnB,EACCihB,KAAK0E,MAAM3lB,GACXmrB,EACD,GAEH,OACGD,GAAwC,IAAxBA,EAAapuB,QAC7BsvB,GAA4C,IAA1BA,EAAetvB,OAMhCkD,GAASknB,IAAcF,GAEzBpe,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BAA2BnC,IAC1CuB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BACb4iB,GAAkBA,EAAetvB,OAAS,GAC1C8L,EAAAA,GAAAA,eAAA,MAAIY,UAAU,2BACZ4iB,EAAe3vB,IAAI,CAACC,EAAM6a,KAC1B3O,EAAAA,GAAAA,eAAA,MAAItJ,IAAK5C,EAAKe,IAAM8Z,GAAQ7a,EAAK2K,UAInCuB,EAAAA,GAAAA,eAAA,aACEpK,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,iBAUvDqG,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mCACb0hB,EAAazuB,IAAI,CAACC,EAAM6a,KACxB3O,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACRC,EAAAA,GAAAA,eAAA,OAAKtJ,IAAKiY,EAAO/N,UAAU,2BACzB9M,EAAKub,QAENvb,EAAKub,OAAOoU,cAActoB,SAAS,aACnC6E,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BACb9M,EAAKyS,OAASzS,EAAKyS,MAAMrS,OAAS,GAClC8L,EAAAA,GAAAA,eAAA,MAAIY,UAAU,2BACZ9M,EAAKyS,MAAM1S,IAAI,CAAC6a,EAAMgV,KACtB1jB,EAAAA,GAAAA,eAAA,MAAItJ,IAAKgY,EAAK7Z,IAAM6uB,GAAMhV,MAI5B1O,EAAAA,GAAAA,eAAA,YAAM,cAIRA,EAAAA,GAAAA,eAAC0gB,GAAoB,CACpBna,MAAOzS,EAAKyS,MACZoa,UAAWiC,EACXhC,SAAUwC,EACVvC,eAAgBlS,OAKpB3O,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0DAEdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,OAAO7I,EAAAA,EAAAA,GAAE,CACR8D,KAAM,8BACNC,QAAS,YAEVwI,QAAQ,UACRsc,SAAkC,IAAxB6D,EAAapuB,QAAgB4H,EAAM0iB,WAC7C0C,MAAO,CAACyC,UAAW,OACnB,iBAAgB,CAACnB,aAAa,GAC9B,mBAAiB5sB,EAAAA,EAAAA,GAAE,CAClB8D,KAAM,8BACNC,QAAS,6BAGVmC,EAAM0iB,aAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEtCib,GAAyB3N,EAAU4N,EAAgBlC,MA5EhD,MEvJRpa,OAAM,GACNvF,WAAY,CACX9B,QAAS,CACRxE,QAAS,CAAC,EACVgb,OAAQ,CAAChT,KAAM,WAEhBihB,gBAAiB,CAChBjpB,QAAS,GACTgb,OAAQ,CAAChT,KAAM,YAGjB8D,gBAAiBA,KAAA,CAChB2iB,aAAc,KAEf1iB,eAAc,GACd2iB,QAAS,CACR/I,wBAAyB,CACxB3K,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACX8K,MAAO,CACNpJ,KAAM,eC5BJ9F,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GAA1C,MCGMysB,GACI,CACRC,UAAW,wBACXC,MAAO,oBACPC,QAAS,sBACTC,QAAS,sBACTC,UAAW,wBACXC,KAAM,mBACN7a,OAAQ,sBAiCJ8a,IAA+BxsB,EAAAA,EAAAA,kBACpC,iFACA,CACCsC,OAAQ,OACRib,QAAS,CAAC,qCAAqC,GAC/Chb,YAAa,CAAC,SAAU,QAAS,SAAU,0BAC3C+a,UAAW,OACX9a,OAAO,EACPiqB,gBAAiBR,GAAoBG,QACrC3pB,kBAAmBwpB,GAAoBI,QACvC3pB,gBAAiBupB,GAAoBM,OAYjCG,GAA2BA,CAChClc,EACA7L,EACAgoB,EACAC,EACAjpB,KAEA,MAAMkpB,EAAO,IAAIC,SACjBD,EAAKE,OAAO,gBAAiBvc,GAC7Bqc,EAAKE,OAAO,iBAAkBpoB,GAC9BkoB,EAAKE,OAAO,kBAAmB,OAC/BF,EAAKE,OAAO,uBAAwB,QAEhCH,IACHC,EAAKE,OAAO,6BAA8BH,GAC1CC,EAAKE,OAAO,4BAA6BH,IAE1CC,EAAKE,OAAO,OAAQJ,GAEpB,MAAM9M,EAAS,CACd7b,OAAQ,MACRwM,MAAOA,EACPwc,OAAQroB,EACRsoB,uBAAwB,QAGzBtpB,EAASsoB,GAAoBE,MAAK3uB,EAAA,CACjCqvB,QACGhN,KA0BL,IACC,CAACoM,GAAoBC,WAAYxoB,IAAqC,IAApC,OAACM,EAAM,YAAE0B,EAAW,SAAE/B,GAASD,EAChE,MACCQ,SACC2oB,MAAM,UAAC3c,EAAS,MAAEvL,EAAK,MAAEuoB,KAEvBlpB,EACE2oB,EAAOO,EAAM,GAUnBxnB,EAAY,CAACynB,YATA,CACZC,WAAW,EACXC,aAAa,EACblpB,KAAMwoB,EAAKxoB,KACXoG,KAAMoiB,EAAKpiB,KACXtG,MAAO,WACPqB,KAAMqnB,EAAKrnB,KACXqnB,UAGDD,GAAyBxc,EAAWvL,EAAOgoB,EAAM,KAAMhpB,IAGxD,CAACsoB,GAAoBE,OAAK3uB,EAAA,GACtBgvB,GAA4B,CAC/B5kB,iBAAiB,IAElB,CAACqkB,GAAoBM,MAAOxoB,IAA4C,IAAAupB,EAAA,IAA3C,MAACrpB,EAAK,OAAED,EAAM,SAAEL,EAAQ,YAAE+B,GAAY3B,EAClEC,EAAO4D,kBACP,MAAM,KAACilB,GAAQ7oB,EAAOE,QAChBpC,EAAU+qB,GAAQA,EAAK/qB,QAxHXyrB,MAyHlB5pB,EArIwB,oBAqII,CAC3B6pB,cAAe,CACd,CACCloB,KAAM,QACNxD,QAAS,UAAS/D,EAAAA,EAAAA,GACjB,CACC8D,KAAM,8BACNC,QAAS,6BAhIIyrB,EAkIc,QAAlBD,EAACrpB,EAAMkpB,mBAAW,IAAAG,OAAA,EAAjBA,EAAmBnpB,KAjI9BopB,EAGEvJ,OAAOuJ,GACZ1I,QAAQ,KAAM,SACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,UACdA,QAAQ,KAAM,UAPR,IAiIH/iB,EAAU,KAAOA,EAAU,aAE5B2rB,YAAa,WAIhB9pB,EAASsoB,GAAoBva,OAAMlU,EAAA,GAC/BwG,EAAOE,QAAO,CACjByoB,KAAM1oB,EAAMkpB,eAEbznB,EAAY,CAACynB,iBAAatwB,KAE3B,qBAAwB2I,IAA2B,IAA1B,OAACxB,EAAM,YAAE0B,GAAYF,EAC7CxB,EAAO4D,mBAER,0DAA6DjC,IAKvD,IALwD,MAC7D1B,EAAK,SACLN,EAAQ,OACRK,EAAM,YACN0B,GACAC,EACA3B,EAAO4D,kBAEPjE,EAASsoB,GAAoBK,UAAS9uB,EAAA,GAClCwG,EAAOE,QAAO,CACjByoB,KAAM1oB,EAAMkpB,eAEbznB,EAAY,CAACynB,iBAAatwB,KAE3B,CAACovB,GAAoBI,SAAU,CAC9BzkB,iBAAiB,EACjBH,OAAQR,IAA4C,IAA3C,MAAChD,EAAK,SAAEN,EAAQ,OAAEK,EAAM,YAAE0B,GAAYuB,EAE9CtD,EAASsoB,GAAoBK,UAAS9uB,EAAA,GAClCwG,EAAOE,QAAO,CACjByoB,KAAM1oB,EAAMkpB,eAEbznB,EAAY,CAACynB,iBAAatwB,KAE3B6wB,aAAc,CACb,CACCC,MA/JyC/iB,GAE5CA,KAiKA,CAACqhB,GAAoBG,SAAUhlB,IAAkC,IAAjC,MAACnD,EAAK,YAAEyB,EAAW,OAAE1B,GAAOoD,EAC3DpD,EAAO4D,kBACPlC,EAAY,CAACynB,YAAW3vB,EAAA,GAAMyG,EAAMkpB,YAAa,CAAAlpB,MAAO,kB,cCzMzBpE,EAAAA,EAAAA,qBAAoB,qCAAsC,CAC1FyI,KCDmBA,CAACrE,EAAKP,KAA8B,IAA5B,SAACC,EAAQ,YAAE+B,GAAYhC,EAClD,MACCE,YAAY,QAAC9B,EAAO,UAAEoO,EAAS,MAAEvL,GAAM,YACvCwoB,GACGlpB,GACE,YAACuiB,EAAc,CAAC,EAAG7hB,MAAO8hB,GAAa3kB,GAAW,CAAC,GACnD,WAACmlB,EAAa,CAAC,EAAC,MAAE1nB,GAASinB,GAAe,CAAC,GAC3C,MAAC5f,EAAK,mBAAEgnB,EAAkB,SAAEC,GAAY5G,GAAc,CAAC,EAE7D,OAAO/W,GAAavL,GACnBwD,EAAAA,GAAAA,eAAA,2CACCqI,MAAON,EACP,SAAQvL,EACR,gBAAc,EACd,gBAAc,EACdmpB,KAAK,UACL,qBAAmB,KAGpB3lB,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,SAAO4lB,IAAK,aAAappB,MACvB5G,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,aAEnDqG,EAAAA,GAAAA,eAAA,SACCye,SAAUuG,GAAsC,eAAvBA,aAAW,EAAXA,EAAalpB,OACtCjH,GAAI,aAAa2H,IACjBW,KAAK,OACL0oB,SAAUH,EAAW,EACrBI,OAAQL,EACR,YAAY/vB,GACX8F,EAASsoB,GAAoBC,UAAW,CACvCW,KAAM,CAACK,MAAOrvB,EAAE0Q,OAAO2e,OAASrvB,EAAEsrB,aAAa+D,aD7BpD/jB,OAAM,GACNvF,WAAY,CACXe,MAAO,CACN2T,OAAQ,CACPhT,KAAM,WAGR4K,UAAW,CACVoI,OAAQ,CACPhT,KAAM,WAGRxD,QAAS,CACRxE,QAAS,CAAC,EACVgb,OAAQ,CAAEhT,KAAM,WAEjBihB,gBAAiB,CAChBjpB,QAAS,GACTgb,OAAQ,CAAEhT,KAAM,YAGlB8D,gBAAiBA,KAAA,CAChBujB,KAAM,OAEPtjB,eAAc,GACd2iB,QAAS,CACR,wBAAyB,CACxB1T,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACX+oB,KAAM,CACLrnB,KAAM,gBExCJ9F,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GAA1C,MCiBM0uB,GAAmBxqB,IAOnB,IAPoB,OACzBwjB,EAAM,MACN3nB,EAAK,SACLsY,EAAQ,eACR4N,EAAc,eACdlC,EAAc,WACdoD,GACAjjB,EACA,MAAM,OAACyqB,EAAM,OAAEC,GhB0BuBlH,KAAW,IAAAmH,EAAAppB,EAAAqpB,EAAAC,EAAAC,EACjD,MAAMhZ,EAAgD,QAA5C6Y,EAAS,QAATppB,EAAGhC,cAAM,IAAAgC,GAAY,QAAZA,EAANA,EAAQ/B,kBAAU,IAAA+B,GAAS,QAATA,EAAlBA,EAAoB4Q,eAAO,IAAA5Q,GAAQ,QAARA,EAA3BA,EAA6B6Q,cAAM,IAAA7Q,OAAA,EAAnCA,EAAqCuQ,YAAI,IAAA6Y,EAAAA,EAAI,CAAC,EACrDD,EAAuB,QAAjBE,EAAG9Y,aAAI,EAAJA,EAAMiZ,gBAAQ,IAAAH,EAAAA,EAAI,KAC3BI,EAAiC,QAAnBH,EAAG/Y,aAAI,EAAJA,EAAMmZ,kBAAU,IAAAJ,EAAAA,EAAIhN,GACrCqN,EAAyC,QAAvBJ,EAAGhZ,aAAI,EAAJA,EAAMqZ,sBAAc,IAAAL,EAAAA,EAAIjN,GAOnD,MAAO,CAAC6M,SAAQD,OALfjH,IAAW5F,GACRoN,EACAxH,IAAW5F,GACVC,GACAqN,IgBpCoBE,CAAuB5H,GAC1C5hB,EACL4hB,IAAW5F,GACRE,GACA0F,IAAW5F,GACVE,GACAA,GAEL,OAAQ0F,GACP,KAAK5F,GACJ,OACCnZ,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,0BACCgmB,OAAQA,EACRC,OAAQA,KAETjmB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOub,GACP7X,QAAQ,UACRsc,UAAWrnB,GAASonB,EACpB,iBAAgB,CAAC,CAAC7E,KAAyB,GAC3C,kBAAiBI,KAEjByE,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEhCib,GAAyB3N,EAAU4N,EAAgBlC,KAIxD,KAAKjC,GACJ,OACCnZ,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,iBACC4mB,YAAa5J,KACb7f,KAAMA,EACN6oB,OAAQA,EACRC,OAAQA,KAETjmB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOub,GACP7X,QAAQ,UACRsc,UAAWrnB,GAASonB,EACpB,iBAAgB,CAAC,CAAC7E,KAAyB,GAC3C,kBAAiBI,KAEjByE,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEhCib,GAAyB3N,EAAU4N,EAAgBlC,KAIxD,QACC,OACCpb,EAAAA,GAAAA,eAAA,YAECA,EAAAA,GAAAA,eAAA,iBACCimB,OAAQA,EACR9oB,KAAMA,EACN6oB,OAAQA,EACR,iBAAgB,CAACa,UAAU,MAE5B7mB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kCACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOub,GACP7X,QAAQ,UACRsc,UAAWrnB,GAASonB,EACpB,iBAAgB,CAAC,CAAC7E,KAAyB,GAC3C,kBAAiBI,KAEjByE,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAEhCib,GAAyB3N,EAAU4N,EAAgBlC,OAO7C0L,GAAmBlrB,IAAuC,IAAtC,QAACjC,EAAO,gBAAEykB,EAAe,MAAEtiB,GAAMF,EACjE,MAAM,YAACyiB,EAAc,CAAC,EAAG7hB,MAAO8hB,GAAa3kB,GAAW,CAAC,GACnD,MAACvC,EAAK,OAAE2nB,GAAUV,GAAe,CAAC,GAEjCjnB,MAAOmnB,EAAU,WAAEC,GAAc1iB,GAAS,CAAC,GAC5C,SAAC4T,EAAQ,eAAE4N,EAAc,eAAElC,IAAkBtf,aAAK,EAALA,EAAOL,aAAc,CAAC,EAEzE,OACCuE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,4BACbxJ,GAASknB,IAAcF,GACvBpe,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BAA2BxJ,IAE1C4I,EAAAA,GAAAA,eAAC+lB,GAAgB,CAChBhH,OAAQA,EACR3nB,MAAOmnB,EACP7O,SAAUA,EACV4N,eAAgBA,EAChBlC,eAAgBA,EAChBoD,WAAYA,MCnITnnB,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCA1C,MAAM,GAFEA,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYwvB,EAAsF5xB,SAAW4xB,EAAsF7xB,WACzM,OAAIqC,EACIwvB,EAA+F,SAAKA,EAA+F,QAAW,QAAIA,EAA+F,QAAW,QAAIA,EAA+F,QAC5ZxvB,EACHwvB,EAA+F,QAAW,QAE1GA,EAA+F,QAAKA,EAA+F,QAAW,QAAIA,EAA+F,QAAW,QAAIA,EAA+F,QAAKA,GAG1a,UAAe,KACjB,MAAMxvB,EAAYwvB,EAAsF5xB,SAAW4xB,EAAsF7xB,WAGlM,OAAIqC,EACHwvB,EAA+F,QAAEC,UAIlGD,EAAsFC,WAAaD,EAA+F,SAAKA,EAA+F,QAAEC,aCfvSC,GAAeA,CAACxkB,EAAWiT,EAAWwR,EAAezpB,MACjE0pB,EAAAA,GAAAA,SAAM1kB,EAAWiT,EAAWwR,EAAezpB,IAG/B2pB,GAAkB,CAC9BC,MAAO,EACPlqB,KAAM6pB,GAAAA,UAAUM,OAGjB,IACC,CAAC9S,IAAkC/R,IAClC,MACC5G,QACCE,SAAS,UAAC2Z,EAAS,SAAEC,EAAQ,OAAElY,EAAS2pB,KACxC,OACDvrB,GACG4G,EAEJwkB,GAAaxkB,EAAWiT,EAAWC,EAAUlY,GAC7C5B,EAAO4D,oBAMI8nB,GAAa,CACzB,CAAC9S,IAA2BhS,IAC3B,MACC5G,QACCE,SAAS,UAAC2Z,EAAS,SAAEC,EAAQ,OAAElY,EAAS2pB,KACxC,OACDvrB,GACG4G,EAEJwkB,GAAaxkB,EAAWiT,EAAWC,EAAUlY,GAC7C5B,EAAO4D,qBCJFzF,uBAAsB,GAAEC,2BAA0BA,IAAIxC,EAAAA,YAKvD+vB,IAAc3vB,EAAAA,EAAAA,kBvB9BT,wDuB8ByC,CACnDsC,OAAQ,OACRgb,UAAW,OACX9a,OAAO,EACP+a,QAAS,CAAC,EACV9a,kBAAmBsf,GACnBrf,gBAAiBsf,KAUZ4N,GAAsBA,CAACrZ,EAAkBC,EAAamI,KAC3D,MACCR,kBAAkB,OAACM,IAChBlI,GACE,UACL0H,EAAS,QACT4R,EAAO,YACPrQ,EAAW,eACX3b,EAAc,UACdqM,EAAS,UACT4f,EAAS,MACTnrB,GACG6R,EAEEuZ,EAAiB,CACtB5R,iBAAkBM,EAClBP,UAAWsB,EACX3b,iBACAua,eAAgBzZ,EAChB0Z,YAAanO,EACb4f,YACAlR,iBAAkB,CAAC,iBAAkB,iBAAkB,gBAWxD,OARIiR,GACHE,EAAeF,QAAUA,EACzBE,EAAeD,UAAYD,EAAUlrB,IAErCorB,EAAe9R,UAAYA,EAC3B8R,EAAeD,UAAY7R,EAAYtZ,GAGxCnH,EAAA,GACIuyB,EAAc,CACjBpR,oBAIF,GAAAnhB,EAAA,CAOC,CAAC2E,IAAyBuB,IAGpB,IAAAssB,EAAAC,EAAA,IAFLrsB,YAAY,iBAAC2S,EAAgB,YAAEC,GAAY,SAC3C7S,GACAD,EAC8C,KAAb,QAA7BssB,EAAAvyB,OAAOyyB,KAAK3Z,UAAiB,IAAAyZ,OAAA,EAA7BA,EAA+B3zB,SAGnCsH,EAASiZ,GAAyB,CACjCiB,U7BnFkC,wB6BoFlCC,SAAU,CACTS,WAAY/H,aAAW,EAAXA,EAAayH,UACzBO,aAAchI,aAAW,EAAXA,EAAagJ,YAC3B3b,eAAgB2S,aAAW,EAAXA,EAAa3S,eAC7B2M,MAAOgG,aAAW,EAAXA,EAAatG,UACpBwO,SAAUlI,aAAW,EAAXA,EAAa7R,MACvB8Z,OAAQlI,SAAkC,QAAlB0Z,EAAhB1Z,EAAkB4H,wBAAgB,IAAA8R,OAAA,EAAlCA,EAAoCxR,OAC5CqR,UAAWtZ,aAAW,EAAXA,EAAasZ,UACxB/R,UAAW3D,KAAK4D,UAanB,CAAC2D,IAAqB5d,IAAsC,IAApCC,QAAQ,QAACE,GAAQ,YAAEwB,GAAY3B,EACtD,MAAM,KAACI,EAAI,WAAEgsB,GAAcjsB,EACvBC,IAAS0d,IAIbnc,EAAY,CACXnG,MAAO4wB,KAWT,CAACvO,IAAyBpc,IAAsC,IAApCxB,QAAQ,QAACE,GAAQ,YAAEwB,GAAYF,EAC1D,MAAM,KAACrB,EAAI,MAAE5E,GAAS2E,EAClBC,IAAS0d,IAGbnc,EAAY,CACXnG,WAGF,CAACyiB,IAAuBrc,IAAmB,IAAlB,YAACD,GAAYC,EACrCD,EAAY,CACXnG,MAAO,GACPonB,YAAY,KAQd,CAAC1E,IAAe0N,GAahB,CAACjO,IAAqBza,IAMhB,IANiB,OACtBjD,EACAC,OAAO,MAAC1E,GACRqE,YAAY,iBAAC2S,EAAgB,YAAEC,EAAW,UAAEsJ,GAAU,SACtDnc,EAAQ,YACR+B,GACAuB,EACA,MAAO4X,MAAM,SAACG,EAAW,CAAC,GAAK,CAAC,GAAKhb,GAC/B,eAACH,GAAkB2S,EAEzB,IAAIwI,aAAQ,EAARA,EAAU1Z,QAAS6d,GAEtB,OADAnf,EAAO4D,kBACHkY,EAEI7c,OAAO2d,KAAKC,OAAO,CAAChd,mBAErBF,EvBrG8B,kCuBqGK,CAACE,mBAG5C,MAAM,MAAC+C,EAAOrH,MAAO6wB,GAAgBpR,EAOrC,IAAIL,EACJ,GAAI/X,GAASwpB,EACZzR,EAAiByR,MACX,MACNpR,EAASqD,KACTrD,EAASoD,KACTpD,EAAS8C,KAIT,OAFAnD,EAAiBpf,CAGlB,CAEAyE,EAAO4D,kBAEP,MACCuW,kBAAkB,OAACM,IAChBlI,GACE,UAAC0H,EAAS,YAAEuB,EAAW,UAAEtP,EAAS,MAAEvL,GAAS6R,EAC7CsZ,EAAY7R,EAAYtZ,EACxBorB,EAAiB,CACtB9R,YACAE,iBAAkBM,EAClBP,UAAWsB,EACX3b,iBACAua,eAAgBzZ,EAChB0Z,YAAanO,EACb4f,YACAlR,iBAAkB,CAAC,iBAAkB,iBAAkB,gBAkBxD,OAfAjb,EAASiZ,GAAyB,CACjCiB,U7BrNkC,wB6BsNlCC,SAAU,CACTS,WAAYN,EACZO,aAAcgB,EACd3b,iBACA2M,MAAON,EACPwO,SAAU/Z,EACV8Z,SACAqR,YACA/R,UAAW3D,KAAK4D,SAIlBtY,EAAY,CAACihB,YAAY,IAClBhjB,EAASse,GAAc,CAC7B4K,KAAIrvB,EAAA,GACAuyB,EAAc,CACjBpR,sBAYH,CAAC8C,IAA8Bra,IAKzB,IAJLpD,QACCE,SAAS,MAAC3E,EAAQ,KAClB,YACDmG,GACA0B,EACI7H,GACHmG,EAAY,CACXnG,WAKH,CAAC+iB,IAAsBhb,IAMjB,IALLtD,QAAQ,QACPE,EACA2a,MAAM,SAACG,EAAW,CAAC,IACnB,YACDtZ,GACA4B,EACA,GAAI0X,SAAAA,EAAUgQ,SAAU,CACvB,MAAMqB,EAAYnsB,EAAQosB,QAE1B,OAAO5qB,EAAY,CAClBnG,MAFoB,IAAI6a,KAAKiW,GAAWnW,WAI1C,CACA,OAAOxU,EAAY,CAClBnG,MAAO2E,EAAQ3E,SAGjB,CAACgjB,IAAwC7a,IAGnC,IAFL1D,QAAQ,QAACE,GAAQ,YACjBwB,GACAgC,EACIxD,SAAAA,EAAS3E,OACZmG,EAAY,CACXnG,MAAO2E,EAAQ3E,MAAM,MAKxB,CAAC6C,IAA6ByF,IAAsC,IAApC7D,QAAQ,QAACE,GAAQ,YAAEwB,GAAYmC,EAC9D,MAAM,KAAC1D,GAAQD,EAEF,qBAATC,GACHuB,EAAY,CACXnG,MAAO,GACPgxB,gBAAiB,GACjBC,uBAAwB,GACxB7J,YAAY,KAIf,CAAClE,IAA4B3a,IAAsC,IAApC9D,QAAQ,QAACE,GAAQ,YAAEwB,GAAYoC,EAC7D,MACC7L,MAAM,MAACsD,IACJ2E,EACA3E,GACHmG,EAAY,CACXnG,WAIH,CAACwiB,IAAuB/Z,IAA4B,IAA3B,SAACrE,EAAQ,WAAEC,GAAWoE,EAC9CrE,EvB9P+B,oBuB8PH,CAC3BoN,aAAc2R,KAQf,MAAM,eAAC7e,EAAc,WAAE+Q,IAAchR,aAAU,EAAVA,EAAY4S,cAAe,CAAC,EAC7D3S,GAAkB+Q,IAAe3C,IACpCtO,EAAS0P,GAA8C,CAACxP,oBAG1D,CAACof,IAA0BwN,IAKrB,IALsB,OAC3BzsB,EAAM,YACN0B,EACA9B,YAAY,iBAAC2S,EAAgB,YAAEC,GAAY,SAC3C7S,GACA8sB,EACA,MAAM,QAACvsB,GAAWF,GACZ,MAACzE,GAAS2E,EAChBF,EAAO4D,kBAEP,MAAM8oB,EAAiBd,GACtBrZ,EACAC,EACAjX,GAGDmG,EAAY,CAACihB,YAAY,IACzBhjB,EAASse,GAAc,CACtB4K,KAAM6D,IAEPhrB,EAAY,CAACnG,WAGd,CAAC2jB,IAAwByN,IAKnB,IALoB,OACzB3sB,EAAM,YACN0B,EACA9B,YAAY,iBAAC2S,EAAgB,YAAEC,GAAY,SAC3C7S,GACAgtB,EACA,MAAM,QAACzsB,GAAWF,GACXgpB,OAAQ4D,GAAmB1sB,EAClCF,EAAO4D,kBAEP,MAAMrI,GAAQxB,EAAAA,EAAAA,GACb,CACC8D,KAAM,8BACNC,QAAS,oCAEV8uB,GAGKF,EAAiBd,GACtBrZ,EACAC,EACAjX,GAGDmG,EAAY,CAACihB,YAAY,IACzBhjB,EAASse,GAAc,CACtB4K,KAAM6D,IAEPhrB,EAAY,CAACnG,YAEXmwB,KC9YJ7vB,EAAAA,EAAAA,qBAAoB,yBAA0B,CAC7CyI,KC8GoBrE,IACpB,MACCL,YAAY,iBACX2S,EACAC,aAAa,UAACtG,EAAS,MAAEvL,GAAM,aAC/BksB,EAAY,eACZpL,EAAc,MACdqL,EAAK,SACLlW,EAAQ,mBACRmW,EAAkB,SAClBlZ,EAAQ,eACR0L,IAEEtf,GAEE,WAAC0iB,GAAc1iB,GAEf,gBACLsiB,EACAyK,kBAAmBC,EAAa,eAChC9Q,GACG5J,EACEiQ,EAAcyK,aAAa,EAAbA,EAAezK,YAC7BS,EAAaT,aAAW,EAAXA,EAAaS,WAChC,IAAIrgB,EAAQqgB,aAAU,EAAVA,EAAYrgB,MAEnBA,IACJA,EtBpEwCuZ,KACzC,IAAKA,GAA4C,IAA1BA,EAAe9jB,OACrC,OAAO,KAGR,MAAMgkB,EAAcF,EAAeA,EAAe9jB,OAAS,GACrD60B,EAAclM,GAAc3E,aAAW,EAAXA,EAAa8Q,kBACzC,WAAClK,GAAciK,GACf,6BAACE,GAAgCnK,EACjCoK,GACLH,aAAW,EAAXA,EAAaI,oBACbJ,aAAW,EAAXA,EAAah1B,WACbmkB,aAAW,EAAXA,EAAankB,SACd,IAAKk1B,EACJ,OAAOC,EAER,IACC,MAAME,EAAiBvM,GAAcoM,IAC/B,QAACltB,GAAWqtB,EAClB,IAAKrtB,EACJ,OAAOmtB,EAER,IAAK,MAAMp1B,KAAQiI,EAAS,CAC3B,GAAKjI,UAAAA,EAAMC,QACV,SAED,MAAM8rB,EAAc/rB,EAAKC,QAAQmrB,KAC/BmK,GAAsC,UAAtBA,aAAW,EAAXA,EAAalsB,OAE/B,GAAI0iB,SAAAA,EAAazoB,MAChB,OAAOyoB,EAAYzoB,KAErB,CACD,CAAE,MAAO1B,GAERsJ,QAAQsqB,KAAK,gDAAiD5zB,EAC/D,CACA,OAAOwzB,GsB+BEK,CAA0BvR,IAEnC,MAAM+G,EAASV,aAAW,EAAXA,EAAaU,OAEtByK,EACLhL,GAAc9O,IAAajG,IAC1BzJ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACdZ,EAAAA,GAAAA,eAAA,8BAGDA,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACRC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,6BACbme,IAAW5F,GAAyB,MACpCnZ,EAAAA,GAAAA,eAACyd,GAAK,CAAChf,MAAOkqB,EAAQ9N,GAAcpc,MAElCgU,GAAYmW,IA7HSa,EAACjR,EAAS1c,KACtC,MACCgtB,cAAenvB,EAAO,gBACtBykB,EAAe,UACfrW,EAAS,MACTvL,EAAK,MACLmsB,GACGnQ,EACE6F,EAAc1kB,EAAQ0kB,aACtB,OAACU,GAAUV,EAEjB,GAAIsK,EACH,OACC3oB,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAOwc,GACP9Y,QAAQ,YACRvD,KAAK,eACL,oBAAmB,CAACzB,KAAM6d,GAAiB0O,OAAQ1O,IACnD,iBAAgB,CAAC7d,KAAM6d,GAAiB0O,OAAQ1O,IAChD,cAAa,CACZlU,OAAQ,CAAC,aAAcmU,KAExB,kBAAiBC,GACjBgG,MAAO,CAACyI,WAAY,UAKvB,OAAQ5K,GACP,KAAK5F,GACL,KAAKA,GACJ,OACCnZ,EAAAA,GAAAA,eAAC4e,GAAqB,CACrBjlB,QAASA,EACTykB,gBAAiBA,EACjBtiB,MAAOA,IAGV,KAAKqd,GACL,KAAKA,GACL,KAAKA,GACJ,OACCnZ,EAAAA,GAAAA,eAAC8mB,GAAgB,CAChBntB,QAASA,EACTmC,MAAOA,EACPsiB,gBAAiBA,IAGpB,KAAKjF,GACJ,OACCnZ,EAAAA,GAAAA,eAAA,wCACCrG,QAASA,EACTykB,gBAAiBA,IAGpB,KAAKjF,GACJ,OACCnZ,EAAAA,GAAAA,eAAA,sCACC+H,UAAWA,EACXvL,MAAOA,EACP7C,QAASA,EACTykB,gBAAiBA,IAGpB,QACC,OACCpe,EAAAA,GAAAA,eAACme,GAAiB,CACjBxkB,QAASA,EACTykB,gBAAiBA,EACjBtiB,MAAOA,MAwDN2tB,CACC,CAACX,gBAAe1K,kBAAiBrW,YAAWvL,QAAOmsB,SACnD7sB,KAGDwhB,IACDtd,EAAAA,GAAAA,eAAA,OAAKY,UAAU,+BACdZ,EAAAA,GAAAA,eAAA,WAAMqa,IACL3K,IAAajG,KACbzJ,EAAAA,GAAAA,eAAA,eACCud,iBAAkBpC,GACjBC,EACA,YAEDoC,iBAAkBrC,GACjBC,EACA,gBASR,OACCpb,EAAAA,GAAAA,eAAA,OAAKY,UAAW,2BAA2B0J,GAAgBoF,MACzDoZ,IACA9oB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0BACb8nB,GACA1oB,EAAAA,GAAAA,eAAA,YAAUoC,KAAK,KAAKwnB,QAAS,CAACnoB,MAAO,KAAMU,QAAS,YAClDqnB,GAGFA,KD1LLxoB,OAAM,GACNvF,WAAY,CACX2S,iBAAkB,CACjBjR,KAAM,SACNhI,QAAS,CAAC,GAEXkZ,YAAa,CACZlR,KAAM,SACNhI,QAAS,CAAC,GAEXuzB,aAAc,CACbvrB,KAAM,UACNhI,SAAS,GAEVmoB,eAAgB,CACfngB,KAAM,UACNhI,SAAS,GAEVwzB,MAAO,CACNxrB,KAAM,UACNhI,SAAS,GAEVwiB,UAAW,CACVxa,KAAM,UACNhI,SAAS,GAEVsd,SAAU,CACTtV,KAAM,UACNhI,SAAS,GAEVyzB,mBAAoB,CACnBzrB,KAAM,UACNhI,SAAS,GAEVua,SAAU,CACTvS,KAAM,SACNhI,QAAS,IAEVimB,eAAgB,CACfje,KAAM,SACNhI,QAAS,OAGX8L,gBAAiBA,KAAA,CAChB7J,MAAO,GACPonB,YAAY,IAEbtd,eAAcA,KEpDR,MAAM2oB,IAAej0B,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,iBAEGmwB,IAAel0B,EAAAA,EAAAA,GAAE,CAC7B8D,KAAM,8BACNC,QAAS,iBAEGowB,GAA0B,0BAC1BC,IAAWp0B,EAAAA,EAAAA,GAAE,CACzB8D,KAAM,8BACNC,QAAS,kBAMGswB,KAJUr0B,EAAAA,EAAAA,GAAE,CACxB8D,KAAM,8BACNC,QAAS,aAEY/D,EAAAA,EAAAA,GAAE,CACvB8D,KAAM,8BACNC,QAAS,YAGGuwB,IAAgBt0B,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,kBC1BGkjB,GAAiBC,IAC7B,IACC,OAAOzE,KAAK0E,MAAMD,EACnB,CAAE,MAAOpnB,GACR,OAAO,IACR,GCHYq0B,GAA0B,0BAE1BI,GAAgB,WAEhBC,GAEY,yBAFZA,GAIO,oBAGPC,GAIF,WAKEC,GAAS,CACrBC,cAAc30B,EAAAA,EAAAA,GAAE,CACf8D,KAAM,8BACNC,QAAS,iBAEV6wB,cAAc50B,EAAAA,EAAAA,GAAE,CACf8D,KAAM,8BACNC,QAAS,kBCvBL8wB,GAAiB,yBAEjB9N,GAAmB,IAAI3D,GAAAA,OAAO,CAAC4D,QAAQ,IAShC8N,GAA6B32B,GACpCA,EAR0BA,IAC/BA,EAAQ2oB,QACP+N,GACA,CAACzM,EAAO2M,IACP,mFAAmFA,4BAAyCA,mBAOvHC,CACNhN,GAAAA,QAAAA,SAAmBjB,GAAiBI,MAAMtB,GAAkB1nB,MAHrD,GAOI82B,GAAwBA,CAACzlB,EAAK0lB,KAAkB,IAAAC,EAAAC,EAC5D,MAAMC,EAC8D,QADrDF,EACdD,SAAuD,QAA1CE,EAAbF,EAAejlB,OAAQqlB,IAAMA,aAAC,EAADA,EAAG/tB,QAASgtB,WAAc,IAAAa,GAAK,QAALA,EAAvDA,EAA0D,UAAE,IAAAA,OAAA,EAA5DA,EAA8D5zB,aAAK,IAAA2zB,EAAAA,EAAI,GACnEE,EAAU/2B,SAIfkR,SAAAA,EAAKqa,iBAAiB,mCAAmCC,QAASyL,IACjE,MAAM11B,EAAIoe,SAASsX,EAAMC,aAAa,yBAA2B,EAC3DC,EAAWJ,EAAUx1B,GAC3B,IAAK41B,EACJ,OAGD,MAAMC,EAAUC,SAASvrB,cAAc,gCACvCsrB,EAAQE,aAAeH,EACvBC,EAAQX,eAAiBl1B,EAAI,EAC7B01B,EAAMM,YAAYH,OC3CZj0B,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GAA1C,MCgBMq0B,GAAiBA,CAACL,EAAU1c,KACjC,MAAM,GAAC9Z,EAAE,cAAE82B,EAAa,aAAEC,EAAY,KAAEhtB,EAAI,OAAE8qB,EAAM,SAAEmC,EAAQ,SAAEC,GAC/DT,EAED,GAAIQ,EACH,OAAO,KAGR,IAAIE,EAAc,KACdC,EAA2B,CAAC,yBAAyB,GACzD,MAAMC,EAAaH,IAAazB,GAEhC,GAAIzrB,EAAM,CACT,MAAMstB,EAnBuBttB,IAASA,EAAK6kB,cAAc0I,SAAS,QAmBhDC,CAAsBxtB,GAClCytB,EAlByB3C,IAChCA,IAAWU,IACXV,IAAWU,GAgBgBkC,CAAwB5C,GAGjDqC,EADGG,IAAcG,GAEhBrsB,EAAAA,GAAAA,eAAA,2BACCrD,IAAK,IAAIiC,IACT2tB,KAAK32B,EAAAA,EAAAA,GAAE,CACN8D,KAAM,8BACNC,QAAS,kBAEVsN,MAAM,OACNulB,OAAO,UAKRxsB,EAAAA,GAAAA,eAAA,OACCrD,IAAKiC,EACL2tB,KAAK32B,EAAAA,EAAAA,GAAE,CACN8D,KAAM,8BACNC,QAAS,oBAKbqyB,EAAwB32B,EAAA,GACpB22B,EAAwB,CAC3B,YAAaK,GAEf,CAEA,OACCrsB,EAAAA,GAAAA,eAAA,KACCtJ,IAAK7B,GAAM8Z,EACX/N,UAAU,gBACV6rB,KAAMb,EACNxlB,OAAO,WAEPpG,EAAAA,GAAAA,eAAA,aAAW5I,MAAOuX,EAAQ,EAAGlN,MAAM,OAAOU,QAAQ,YAAYC,KAAK,OAClExD,IAAQoB,EAAAA,GAAAA,eAAA,OAAKa,MAAOmrB,GAA2BD,IAChD/rB,EAAAA,GAAAA,eAAA,QAAMY,UAAU,uBAAuB+qB,GACtCM,IAAcjsB,EAAAA,GAAAA,eAAA,YAAUpB,KAAK,0BAA0BwD,KAAK,S,wBCzExD/K,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GAA1C,MCDaq1B,GAAyB,yBA8BzBC,KAzBoB/2B,EAAAA,EAAAA,GAAE,CAClC8D,KAAM,8BACNC,QAAS,eAEe/D,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,eAEe/D,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,eAGoB/D,EAAAA,EAAAA,GAAE,CAC/B8D,KAAM,8BACNC,QAAS,aAIa/D,EAAAA,EAAAA,GAAE,CACvB8D,KAAM,8BACNC,QAAS,0BAIS/D,EAAAA,EAAAA,GAAE,CACrB8D,KAAM,8BACNC,QAAS,WCYVjC,EAAAA,EAAAA,qBAAoB,uCAAwC,CAC3DyI,KAxCarE,IACb,MACCL,YAAY,aAAC+vB,IACV1vB,EAEJ,IAAK0vB,EACJ,OAAO,KAGR,MAAM,OAACnc,EAAM,KAAEzQ,EAAI,cAAE+sB,EAAa,aAAEC,GAAgBJ,EAEpD,OACCxrB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,sBACdZ,EAAAA,GAAAA,eAAA,YACCY,UAAU,gBACVwB,KAAK,KACLwqB,YAAY,OACZC,YAAU,IAEV7sB,EAAAA,GAAAA,eAAA,WACEqP,IACArP,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBACbhC,IAAQoB,EAAAA,GAAAA,eAAA,OAAKrD,IAAKiC,EAAM2tB,IAAKI,MAC9B3sB,EAAAA,GAAAA,eAAA,QAAMY,UAAU,wBAAwByO,KAG1CrP,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBACdZ,EAAAA,GAAAA,eAAA,iBACCvB,MAAOktB,EACPc,KAAMb,EACNkB,aAAW,SAWjB9rB,OAAM,GACNvF,WAAY,CACX+vB,aAAc,CACbruB,KAAM,cC9CTzF,EAAAA,EAAAA,qBAAoB,+BAAgC,CACnDyI,KCDmBA,CAACrE,EAAKP,KAAiB,IAAf,SAACC,GAASD,EACrC,MACCE,YAAY,aAAC+vB,EAAY,eAAEb,GAAe,YAC1CoC,GACGjxB,EAEJ,OAAK0vB,GAKJxrB,EAAAA,GAAAA,eAAA,QAAMY,UAAU,sBACfZ,EAAAA,GAAAA,eAAA,eAAa,mBAAckG,OAAQ6mB,EAAaC,gBAAgB,WAC/DhtB,EAAAA,GAAAA,eAAA,aACCkC,KAAK,UACL9K,MAAOuzB,EACPlpB,MAAM,OACNU,QAAQ,YACRC,KAAK,KACL6qB,SAAS,IACTC,UAAYx3B,IACG,UAAVA,EAAEgB,KAA6B,MAAVhB,EAAEgB,KAC1B8E,EAAS,yBAA0B,CAACpE,OAAQ21B,QAI/C/sB,EAAAA,GAAAA,eAAA,wCACCkC,KAAK,UACLspB,aAAcA,MArBV,MDLR/vB,WAAY,CACX+vB,aAAc,CACbruB,KAAM,UAEPwtB,eAAgB,CACfxtB,KAAM,WAGR8D,gBAAiBA,KAAA,CAChB8rB,aAAa,IAEd7rB,eAAgB,CACf,CAACwrB,IAAyB,CACzBptB,OAAQ/D,IAKF,IAJLM,QACCE,SAAS,MAAC3E,IACV,YACDmG,GACAhC,EACAgC,EAAY,CAACwvB,YAAa31B,KAE3BqI,iBAAiB,OEpBpB/H,EAAAA,EAAAA,qBAAoB,sBAAuB,CAC1CyI,KNqFoBrE,IACpB,MACCL,YAAY,cAACqvB,GAAc,gBAC3BqC,GACGrxB,EAEJ,OAAKgvB,SAAAA,EAAe52B,QAKnB8L,EAAAA,GAAAA,eAAA,OAAKY,UAAU,aACbusB,GA3BwBrC,KAAkB,IAAAC,EAAAC,EAC7C,MAAMC,EAC8D,QADrDF,EACdD,SAAuD,QAA1CE,EAAbF,EAAejlB,OAAQqlB,IAAMA,aAAC,EAADA,EAAG/tB,QAASgtB,WAAc,IAAAa,GAAK,QAALA,EAAvDA,EAA0D,UAAE,IAAAA,OAAA,EAA5DA,EAA8D5zB,aAAK,IAAA2zB,EAAAA,EAAI,GAExE,OAAyB,IAArBE,EAAU/2B,OACN,MAIP8L,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBACbqqB,EAAUp3B,IAAI,CAACw3B,EAAU1c,IAAU+c,GAAeL,EAAU1c,MAiBzCye,CAAmBtC,IACvC9qB,EAAAA,GAAAA,eAAA,mBACCY,UAAU,mBACVuB,QAAQ,WACR1D,MAAO0uB,EAAkB7C,GAAOE,aAAeF,GAAOC,aACtDnoB,KAAK,KACLirB,UAAWF,EAAkB,oBAAsB,iBAX9C,MM3FRnsB,OAAM,GACNvF,WAAY,CACXqvB,cAAe,CACd3tB,KAAM,UAGR8D,gBAAiBA,KAAA,CAChBksB,iBAAiB,IAElBjsB,eAAgB,CACf,CAAC6oB,IAA0B,CAC1BzqB,OAAQ/D,IAA0B,IAAzB,YAACgC,EAAW,MAAEzB,GAAMP,EAC5BgC,EAAY,CAAC4vB,iBAAkBrxB,EAAMqxB,mBAEtC1tB,iBAAiB,MCHpB,MAmCM6tB,GAAgBA,CAAC3zB,EAASgV,EAAO4e,KACtC,MAAM,KAAC/a,EAAI,SAAEgb,GAAY7zB,EACnB8zB,EArCW9zB,KACjB,MAAM,KAAC6Y,GAAQ7Y,EACf,GAAa,cAAT6Y,EAAsB,CACzB,IAAuB,IAAnB7Y,EAAQ+zB,QAAoD,iBAA1B/zB,EAAQg0B,cAC7C,OAAOh0B,EAAQg0B,cAEhB,MAAM5E,EAAclM,GAAcljB,EAAQqvB,iBAE1C,MAAe,gBADAD,aAAW,EAAXA,EAAahK,QAEpBgK,aAAW,EAAXA,EAAa3xB,MAEduC,EAAQ8zB,YAChB,CACA,OAAO9zB,EAAQi0B,cAwBMC,CAASl0B,GACxBm0B,EAAuB,cAATtb,EACdub,EAAap0B,aAAO,EAAPA,EAASq0B,QACtBC,EAAiBF,IAAiC,IAAnBp0B,EAAQ+zB,OACvCQ,EACLJ,GAC2B,OAA3BP,GACA1R,OAAO2R,KAAc3R,OAAO0R,GAE7B,OACCvtB,EAAAA,GAAAA,eAAA,OAAKtJ,IAAKiD,EAAQ6zB,UAAY7e,IAC7B3O,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACbktB,GACA9tB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,6BACbmtB,GACA/tB,EAAAA,GAAAA,eAAA,OACCmuB,UAAWzD,GAA0B+C,GACrC,cAAalyB,IAAA,IAAC,IAAC6J,GAAI7J,EAAA,OAClBsvB,GAAsBzlB,EAAKzL,EAAQq0B,aAIrChuB,EAAAA,GAAAA,eAACyd,GAAK,CAAChf,MAAOgvB,IAEdQ,IACAjuB,EAAAA,GAAAA,eAAA,uBAAqB8qB,cAAenxB,EAAQq0B,YAI9ChuB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0BACdZ,EAAAA,GAAAA,eAAA,WAAMgqB,KACNhqB,EAAAA,GAAAA,eAAA,WAAMrG,EAAQi0B,eA1COj0B,KACP,IAAnBA,EAAQ+zB,QACP1tB,EAAAA,GAAAA,eAAA,2BACCY,UAAU,eACV2F,MAAO,CAAC,CAAC9H,MAAOwrB,GAAQ7yB,MAAO,CAAC+F,KAAM,SAAU/F,MAAO,MACvDgL,KAAK,OAEH,KAsCAgsB,CAAkBz0B,GAClBu0B,IACAluB,EAAAA,GAAAA,eAAA,QAAMY,UAAU,mCACdspB,IA1DkBvwB,KACxB,MAAMiY,EAAU,IAAIK,KAAKtY,EAAQic,YAC3B,gBAACxD,GAAmBT,GAAqBC,GAC/C,MAA2B,KAApBQ,GACNpS,EAAAA,GAAAA,eAAA,OAAKY,UAAU,cACdZ,EAAAA,GAAAA,eAAA,YAAOoS,IAEL,MAsDAgB,CAAgBzZ,OC9FdK,uBAAsB,GAAEC,2BAA0BA,IAAIxC,EAAAA,YAC7D,IACC,CAACuC,IAAsBuB,GAA6B,IAA3B,YAACgC,EAAW,WAAE9B,GAAWF,EACjD,MAAM,iBAAC6S,GAAoB3S,GAErB,eAACuc,GAAkB5J,EACzB7Q,EAAY,CACX8wB,mBAAmBrW,aAAc,EAAdA,EAAgB9jB,QAAS,GAE9C,EACA,CAAC61B,IAAuBnuB,GAAwB,IAAtB,YAAC2B,EAAW,MAAEzB,GAAMF,EAC7C,MAAM,YAAC0yB,EAAW,WAAEC,GAAczyB,EAElCyB,EAAY,CACX+wB,aAAcA,KAGVA,GAAeC,EAAWtiB,SAC9BuL,WAAW,KACN+W,EAAWtiB,SACdsiB,EAAWtiB,QAAQuiB,SAElB,IAEL,EACA,CAACv0B,IAA0BoD,GAA6B,IAA3B,YAACE,EAAW,WAAE9B,GAAW4B,EACrD,MAAM,iBAAC+Q,GAAoB3S,GAErB,eAACuc,GAAkB5J,EACzB7Q,EAAY,CACX8wB,mBAAmBrW,aAAc,EAAdA,EAAgB9jB,QAAS,GAE9C,G,eC7BDwD,EAAAA,EAAAA,qBAAoB,6BAA8B,CACjDyI,KF+GoBrE,IAAU,IAAA2yB,EAAAC,EAAAC,EAC9B,MAAM,kBAACN,EAAiB,WAAE5yB,EAAU,YAAE6yB,EAAW,WAAEC,GAAczyB,GAEhEsS,kBAAkB,eAAC4J,GAAkB,GAAE,aACvC4W,EAAY,uBACZrB,GACG9xB,EAKEozB,EAAsD,QAAzCJ,EXzHS,WAAmB,IAAlBK,EAAQn5B,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,GACxC,IAAKm5B,GAAgC,IAApBA,EAAS56B,OACzB,MAAO,GAGR,MAAMe,EAAS,GACT85B,EAAY,IAAI1jB,IAEtB,IAAK,IAAIjX,EAAI,EAAGA,EAAI06B,EAAS56B,OAAQE,IAAK,CACzC,GAAI26B,EAAUriB,IAAItY,GACjB,SAGD,MAAMuF,EAAUm1B,EAAS16B,GACnB20B,EAAclM,GAAcljB,EAAQqvB,iBACpCgG,EAAWjG,aAAW,EAAXA,EAAakG,iBAExBC,GAA8B,IAAnBv1B,EAAQ+zB,OACnByB,EAAmBD,EAAWv1B,EAAQg0B,cAAgBh0B,EAAQ5F,QAEpE,GAAKi7B,EAoCE,GAAqB,cAAjBr1B,EAAQ6Y,KAAsB,CACxC,MAAM4c,EAAgB/5B,EAAA,GAClBsE,EAAO,CACV8zB,aAAc0B,EACdvB,kBAAcl5B,IAIf,IAAI26B,EAAc,KACdC,GAAa,EACjB,IAAK,IAAIC,EAAIn7B,EAAI,EAAGm7B,EAAIT,EAAS56B,OAAQq7B,IAAK,CAC7C,GAAIR,EAAUriB,IAAI6iB,GACjB,SAGD,MAAMC,EAAcV,EAASS,GACvBE,EAAkB5S,GAAc2S,EAAYxG,iBAGlD,IAFqByG,aAAe,EAAfA,EAAiBR,oBAEjBD,GAAiC,SAArBQ,EAAYhd,KAAiB,CAC7D6c,EAAWh6B,EAAA,GACPm6B,EAAW,CACd/B,kBAAc/4B,EACdk5B,aAAc4B,EAAYz7B,UAE3Bu7B,EAAYC,EACZ,KACD,CACD,CAEIF,GACHp6B,EAAOF,KAAK,CAACq6B,EAAkBC,IAC/BN,EAAUrN,IAAI4N,IAEdr6B,EAAOF,KAAK,CAACq6B,IAEdL,EAAUrN,IAAIttB,EACf,MACCa,EAAOF,KAAK,CAAAM,EAAA,GAEPsE,EAAO,CACV8zB,kBAAc/4B,EACdk5B,aAAcj0B,EAAQ5F,YAGxBg7B,EAAUrN,IAAIttB,OAjFA,KAAAs7B,EACd,MAAMC,EAAgBt6B,EAAA,GAClBsE,EAAO,CACV8zB,aACkB,cAAjB9zB,EAAQ6Y,KAAuB2c,OAAmBz6B,EACnDk5B,aAA+B,SAAjBj0B,EAAQ6Y,KAAkB2c,OAAmBz6B,IAE5D,GAAIq0B,SAAuB,QAAZ2G,EAAX3G,EAAajK,kBAAU,IAAA4Q,GAAvBA,EAAyBzG,6BAC5B,IACC,MAAMG,EAAiBvM,GACtBkM,EAAYjK,WAAWmK,8BAGK,IAAA2G,EAAzBxG,SAAAA,EAAgBrtB,UACdmzB,GACJ9F,EAAertB,QAAQ2jB,QAAS5rB,IAC/B,GAAIA,SAAAA,EAAMC,QAAS,CAClB,MAAM8rB,EAAc/rB,EAAKC,QAAQmrB,KAC/BmK,GAAsC,UAAtBA,aAAW,EAAXA,EAAalsB,OAEd,IAAA0yB,EAAbhQ,IACH8P,EAAiBlC,aAAiC,QAArBoC,EAAGhQ,aAAW,EAAXA,EAAazoB,aAAK,IAAAy4B,EAAAA,EAAI,GAExD,IAGFF,EAAiB3B,QAAmC,QAA5B4B,EAAGxG,EAAertB,QAAQ,UAAE,IAAA6zB,OAAA,EAAzBA,EAA2B77B,QAExD,CAAE,MAAO2B,GAERsJ,QAAQsqB,KAAK,gDAAiD5zB,EAC/D,CAGDT,EAAOF,KAAK,CAAC46B,IACbZ,EAAUrN,IAAIttB,EACf,CA+CD,CAEA,OAAOa,CACR,CWeuB66B,CAAc,IAJT1jB,MAAMC,QAAQ2L,GACtCA,EACA,YAEyD,IAAAyW,OAAA,EAAtCA,EAAwCsB,UAExDC,EAAwBpB,GACE,KAAb,QAAhBF,EAAAG,EAAc,UAAE,IAAAH,OAAA,EAAhBA,EAAkBx6B,SACW,eAAX,QAAnBy6B,EAAAE,EAAc,GAAG,UAAE,IAAAF,OAAA,EAAnBA,EAAqBnc,MACnBqc,EAAcoB,MAAM,GAErBpB,EACH,OACC7uB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACb0tB,IACAtuB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,cACbovB,EAAsBn8B,IAAI,CAACq8B,EAAOvhB,IAtCrBwhB,EAACC,EAAcC,EAAY9C,KAC7CvtB,EAAAA,GAAAA,eAAA,YACC4pB,QAAS,CAACnoB,MAAO,KAAMU,QAAS,WAChCzL,IAAK25B,EACLjuB,KAAK,KACLxB,UAAU,yBAEVZ,EAAAA,GAAAA,eAAA,WACEowB,EAAav8B,IAAI,CAAC8F,EAASgV,IAC3B2e,GAAc3zB,EAASgV,EAAO4e,MA8B5B4C,CAAWD,EAAOvhB,EAAO4e,KAI3Bc,IAAqB2B,aAAqB,EAArBA,EAAuB97B,QAAS,IACrD8L,EAAAA,GAAAA,eAAA,mBACCvB,MAAO6vB,EAAcxE,GAAeD,GACpCznB,KAAK,KACL,aAAW,iBACX,6BE/IJpB,OAAM,GACNvF,WAAY,CACX2S,iBAAkB,CACjBjR,KAAM,SACNhI,QAAS,CAAC,GAEXy5B,aAAc,CACbzxB,KAAM,UACNhI,SAAS,GAKVo4B,uBAAwB,CACvBp4B,QAAS,OAGX8L,gBAAiBA,KAAA,CAChBqtB,aAAa,EACbD,mBAAmB,EACnBE,YAAYtuB,EAAAA,GAAAA,eAEbiB,eAAcA,KC5BR,MAEMovB,GACN,OADMA,GAGK,iBAHLA,GAIM,iBAJNA,GAKI,gBALJA,GAMN,OANMA,GAOC,aAPDA,GAQE,cARFA,GASE,cAGFC,GAA2B,2BAoB3BC,GAAyB,yBAEzBC,GAA6B,6BAC7BC,GAA6B,6BAI7BC,GAAqB,qBACrBC,GAA6B,6BAC7BC,GAA6B,6BAI7BC,GACZ,wCAGYC,GACZ,wCAEYrpB,GAAoB,oBACpBspB,GAAqC,CACjDnyB,OAAQ,WACRD,KAAM,sBACN7K,SAAS6B,EAAAA,EAAAA,GAAE,CACV8D,KAAM,8BACNC,QAAS,oCAEV6gB,kBAAmB,CAClBC,mBAAmB,EACnBC,SAAU,IACVC,WAAW,EACXC,iBAAiB,GAElB/e,OAAQ,CACPsB,KAAM,YAIK8zB,GAA8B,CAC1CpyB,OAAQ,UACRD,KAAM,4BACN7K,SAAS6B,EAAAA,EAAAA,GAAE,CACV8D,KAAM,8BACNC,QAAS,sBAEV6gB,kBAAmB,CAClBC,mBAAmB,EACnBC,SAAU,IACVC,WAAW,EACXC,iBAAiB,GAElB/e,OAAQ,CACPsB,KAAM,YASKmtB,GAAS,CACrB4G,MAAMt7B,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,SACvDw3B,QAAQv7B,EAAAA,EAAAA,GAAE,CACT8D,KAAM,8BACNC,QAAS,wBAEVy3B,gBAAgBx7B,EAAAA,EAAAA,GAAE,CACjB8D,KAAM,8BACNC,QAAS,kBAEV03B,YAAYz7B,EAAAA,EAAAA,GAAE,CACb8D,KAAM,8BACNC,QAAS,yCAEV23B,yBAAyB17B,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,sDAEV43B,WAAW37B,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,cAC5D63B,WAAW57B,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,cAC5D83B,SAAS77B,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,YAC1D+3B,aAAa97B,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,gBAC9Dg4B,kBAAkB/7B,EAAAA,EAAAA,GAAE,CACnB8D,KAAM,8BACNC,QAAS,qBAEVi4B,gBAAgBh8B,EAAAA,EAAAA,GAAE,CACjB8D,KAAM,8BACNC,QAAS,mBAEVk4B,MAAMj8B,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,SACvDm4B,QAAQl8B,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,WACzDo4B,cAAcn8B,EAAAA,EAAAA,GAAE,CACf8D,KAAM,8BACNC,QAAS,YAEVq4B,sBAAsBp8B,EAAAA,EAAAA,GAAE,CACvB8D,KAAM,8BACNC,QAAS,sBAEVs4B,cAAcr8B,EAAAA,EAAAA,GAAE,CACf8D,KAAM,8BACNC,QAAS,kBAIEu4B,GACH,UADGA,GAEN,OAFMA,GAGG,gBAHHA,GAIN,OAJMA,GAMI,iBAEJX,IAAY37B,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,cChIGw4B,GAAmBxU,IAC/B,IAAKA,EACJ,MAAO,GAER,MAAMyU,EAAiBzU,EACrBjB,QAAQ,0BAA2B,QACnCA,QAAQ,eAAgB,MAS1B,OALiBkB,GAAAA,QAAAA,SAAmBwU,EAAgB,CACnDC,aAAc,GACdC,aAAc,GACdC,qBAAqB,IAEN1S,YAAYnD,QAAQ,UAAW,QAAQmB,QAG3C2U,GAAqBA,CAACC,EAAOr7B,EAAOs7B,EAAQC,KACxD,MAAMC,EAAiB,uBAAuBhV,GAAAA,QAAAA,SAAmB6U,YAC3DI,EAAiB,uBAAuBjV,GAAAA,QAAAA,SAAmBxmB,YAC3D07B,EAAkB,wBAAwBlV,GAAAA,QAAAA,SAAmB8U,YACnE,OAAOC,GACJ/8B,EAAAA,EAAAA,GACA,CACC8D,KAAM,8BACNC,QACC,iEAEFi5B,EACAC,GAEAH,GACC98B,EAAAA,EAAAA,GACA,CACC8D,KAAM,8BACNC,QAAS,2BAEVm5B,EACAF,EACAC,IAEAj9B,EAAAA,EAAAA,GACA,CAAC8D,KAAM,8BAA+BC,QAAS,sBAC/Ci5B,EACAC,IAIQE,GAAgBh/B,IAC5B6pB,GAAAA,QAAAA,QAAkB,wBAA0BoV,IAC3C,GAAqB,MAAjBA,EAAKv2B,QAAiB,CACzB,MAAO2I,IAAK6tB,IAAe/yB,EAAAA,GAAAA,oCAC1B,+CACyB8yB,EAAKnT,4CACNmT,EAAKvG,uFAI9BuG,EAAKvH,YAAYwH,EAClB,IAGD,MAAMC,EA1EwBC,EAACp/B,EAASsnB,IACxCtnB,EACG6pB,GAAAA,QAAAA,UAAmB1E,EAAAA,GAAAA,QAAOuC,GAAkB1nB,IAAWsnB,GACvD,GAuEsB8X,CAAgBp/B,EAAS,CACjDq/B,wBAAyB,CACxBC,aAAc,QACdC,mBAAoB,cAItB,OADA1V,GAAAA,QAAAA,WAAqB,yBACdsV,GAgEKK,GAAch2B,GAAiBqJ,IAC3CrJ,EAAY,CAACi2B,QAAS5sB,KAuDV6sB,GAA8BA,CAAC33B,EAAOyB,KAAgB,IAAAm2B,EACrD,QAAbA,EAAA53B,EAAM63B,eAAO,IAAAD,GAAU,QAAVA,EAAbA,EAAeE,gBAAQ,IAAAF,GAAvBA,EAAyBG,aACzBt2B,EAAY,CAACo2B,QAAS,CAACC,SAAU,UCxN3BnsB,uBAAsBA,IAAIhQ,EAAAA,YA6B3Bq8B,GAAsB,0BACtBC,GAA2B,mCAC3BC,GAAiB,qBACjBC,GAAiB,qBACjBC,GAAqB,yBACrBC,GAA6B,iCAC7BC,GAAwB,iCAQxBC,IAAqBx8B,EAAAA,EAAAA,kBFRgB,+BEQ8B,CACxEsC,OAAQ,QACRM,WAAY,CAAC,QAAS,SACtB0a,UAAW,OACX9a,OAAO,EACPC,kBAAmBm2B,GACnBl2B,gBAAiBm2B,KASZ4D,IAAmBz8B,EAAAA,EAAAA,kBFlBxB,uDEkB+D,CAC/DsC,OAAQ,OACRgb,UAAW,UACX9a,OAAO,EACPC,kBAAmBs2B,GACnBr2B,gBAAiBs2B,KAGL3vB,GAAiB,CAC7B,CAACuG,IAAyBlM,IAA0B,IAAzB,MAACO,EAAK,YAAEyB,GAAYhC,EAC9Ck4B,GAA4B33B,EAAOyB,IAEpC,CAACu2B,IAAsB,CACtBx0B,OAAQ1D,IAMF,IALLC,QACCE,SAAS,KAACoB,IACV,MACDrB,EAAK,YACLyB,GACA3B,EACA,GAAIuB,IAASmzB,GAA6B,CACzC,MAAM,SAAC/gB,GAAYzT,EAAM63B,QACzBp2B,EAAY,CAACo2B,QAAS,CAACpkB,UAAWA,IACnC,GAED9P,iBAAiB,GAElB,CAACs0B,IAA2B,CAC3Bz0B,OAAQjC,IAAkC,IAAjC,OAACxB,EAAM,MAAEC,EAAK,YAAEyB,GAAYF,EACpC,MAAM,KAACF,GAAQtB,EAAOE,QAClBoB,IAASmzB,IAAqBx0B,EAAMy4B,eACvCh3B,EAAY,CAACg3B,cAAc,IDyECC,KAC/B,MAAM3e,EAAM5D,KAAK4D,MACXgK,EAAc2U,EAAQC,UACtBC,EAAOA,IACZ,IAAIC,QAASC,IAEZpd,WAAWod,EDxKc,MCwKW3iB,KAAK4D,MAAQA,MAGnD,GAA6B,oBAAlBgf,cAA+B,CACzC,MAAM/gC,EAAO,IAAI+gC,cAAc,CAC9B,aAAc,IAAIC,KAAK,CAACjV,GAAc,CAAC1iB,KAAM,eAC7C,YAAa,IAAI23B,KAAK,CAACN,EAAQrG,WAAY,CAAChxB,KAAM,gBAEnD,OAAO43B,UAAUC,UAAUC,MAAM,CAACnhC,IAAOohC,KAAKR,EAC/C,CAEA,OAAOK,UAAUC,UAAUG,UAAUtV,GAAaqV,KAAKR,ICzFpDU,CAAgBt5B,EAAM03B,SAAS0B,KAAK,KACnC33B,EAAY,CAACg3B,cAAc,QAI9B90B,iBAAiB,GAElB,CAACw0B,IAAiBz2B,IAAsC,IAApC3B,QAAQ,QAACE,GAAQ,YAAEwB,GAAYC,EAClD,MAAM,KAACxB,EAAI,WAAEgsB,GAAcjsB,EACvBC,IAASu0B,IAKbhzB,EAAY,CACX83B,UAAWrN,EACXsN,aAAc,GACdC,eAAgB,EAChBC,aAAc,EACdC,eAAgB,QAGlB,CAACvB,IAAqBp1B,IAAsC,IAApCjD,QAAQ,QAACE,GAAQ,YAAEwB,GAAYuB,EACtD,MAAM,KAAC9C,EAAI,MAAE5E,GAAS2E,EAClBC,IAASu0B,IAGbhzB,EAAY,CAAC83B,UAAWj+B,KAiBzB,CAAC+8B,IAA6Bl1B,IAAsC,IAApCpD,QAAQ,QAACE,GAAQ,YAAEwB,GAAY0B,EAC9D,MAAM,KAACjD,EAAI,UAAE05B,EAAS,eAAEH,EAAc,aAAEC,EAAY,aAAEG,GACrD55B,EACGC,IAASu0B,IAGbhzB,EAAY,CACX+3B,aAAcI,EACdH,iBACAC,eACAC,eAAgBE,KAoBlB,CAAC7E,IAAqC3xB,IAIhC,IAHLtD,QAAQ,QAACE,GAAQ,MACjBD,EAAK,YACLyB,GACA4B,EACA,MAAM,MAAC/H,EAAK,gBAAEw+B,GAAmB75B,EACjC,GACC65B,GACAA,IAAoB7E,GAEpB,OAED,MAAM8E,ED/D0Bz+B,KAChCA,QAAAA,EAAS,IAAIslB,QAAQ,eAAgB,MAAMA,QAAQ,WAAY,IC8D7CoZ,CAAkB1+B,GACpC,IAAKy+B,EACJ,OAGD,MAAM,UAACR,EAAS,eAAEE,EAAc,aAAEC,EAAY,eAAEC,GAAkB35B,EAGlE,KAFqB05B,EAAeD,GAInC,YADAh4B,EAAY,CAAC83B,UAAWQ,IAIzB,MAAME,EDhE2BC,EAClC5+B,EACA6+B,EACAV,EACAC,IAEA,GAAGp+B,EAAM64B,MAAM,EAAGsF,KAAkBU,IAAa7+B,EAAM64B,MAAMuF,KC0D1CQ,CACjBX,EACAQ,EACAN,EACAC,GAEKU,EAAaX,EAAiBM,EAAU3hC,ODrDZiiC,IAACR,EAAcvmB,ECuDjD7R,EAAY,CACX83B,UAAWU,EACXT,aAAc,GACdC,eAAgBW,EAChBV,aAAcU,EACdT,eAAgB,OD5DgCrmB,EC8DZ8mB,GD9DFP,EC8DdF,ID1DtBW,sBAAsB,KACrBT,EAAanH,QACbmH,EAAaU,kBAAkBjnB,EAAUA,MC0D1C,CAAC4kB,IAAiB,CACjB10B,OAAQC,IAAwD,IAAvD,OAAC1D,EAAM,MAAEC,EAAK,WAAEL,EAAU,SAAED,EAAQ,YAAE+B,GAAYgC,EAC1D,MAAOmX,MAAM,SAACG,EAAW,CAAC,GAAK,CAAC,GAAKhb,EAIrC,IACCgb,EAASyZ,MACTzZ,EAASyZ,IAKV,GAAIzZ,EAASyZ,IACZ/yB,EAAY,CACX+4B,WAAW,EACXjB,UAAWlD,GAAgB12B,EAAW1H,SACtCwiC,cAAU7hC,SAKZ,GAAImiB,EAASyZ,IACZ/yB,EAAY,CAAC+4B,WAAW,EAAOjB,UAAW,GAAIkB,cAAU7hC,SAIzD,GAAImiB,EAASyZ,IAA2B,CACvC,MAAM,UAACvoB,EAAS,MAAEvL,EAAK,OAAE2Z,EAAM,QAAEpiB,EAAO,aAAEyiC,GAAgB/6B,EACpDg7B,EAAgBtE,GAAgBp+B,GAChC2iC,EAAc56B,EAAMu5B,WAAaoB,EACjCE,EACL76B,EAAMu5B,UAAUnhC,OAAS,GAAK4H,EAAMu5B,YAAcoB,EAWnD,GATAl5B,EAAY,CAAC+4B,WAAW,EAAO9X,YAAY,EAAM+X,cAAU7hC,IAEvDqT,GAAavL,GAChBhB,EAASg1B,GAAwB,CAChCnoB,MAAON,EACPvL,QACAkoB,KAAM,CAACkS,SAAUF,KAGfvgB,EAAQ,CACX,MAAMpa,EAAU,CAACoa,SAAQ0gB,UAAU,GACjBhrB,QAAQ8qB,GAAgBH,KAEzCz6B,EAAQy6B,aAAeA,EACvBz6B,EAAQ+6B,SAAWL,EACnB16B,EAAQ2xB,OAASgJ,EACjBn5B,EAAY,CAACw5B,iBAAiB,KAE/Bv7B,EAASm1B,GAAoB,CAAC50B,WAC/B,CACD,GAED0D,iBAAiB,GAElB,CAAC20B,IAAwB,CACxB90B,OAAQI,IAAiD,IAAAs3B,EAAA,IAAhD,OAACn7B,EAAM,WAAEJ,EAAU,SAAED,EAAQ,YAAE+B,GAAYmC,EAEnD,IADe7D,SAAe,QAATm7B,EAANn7B,EAAQE,eAAO,IAAAi7B,GAAM,QAANA,EAAfA,EAAiBljC,YAAI,IAAAkjC,OAAA,EAArBA,EAAuBniC,MACvBy7B,GACd,OAGD/yB,EAAY,CAAC05B,aAAa,IAC1Bz7B,EAASkM,GAAmB,CAC3BkB,aAAcqoB,KAGf,MAAM,OAAC9a,GAAU1a,EACb0a,GACH3a,EAASm1B,GAAoB,CAC5B50B,QAAS,CAACoa,SAAQ0gB,UAAU,EAAMI,aAAa,MAIlDx3B,iBAAiB,GAElB,CAAC+wB,IAAyB6D,GAC1B,CAAC5D,IAA6B9wB,IAA6B,IAA5B,SAACnE,EAAQ,YAAE+B,GAAYoC,EACrDpC,EAAY,CAACihB,YAAY,IACzBhjB,EAASkM,GAAmB,CAC3BkB,aAAcooB,MAGhB,CAACN,IAA6B7wB,IAAmB,IAAlB,YAACtC,GAAYsC,EAC3CtC,EAAY,CAACihB,YAAY,KAE1B,CAACmS,IAAqB2D,GAMtB,CAAC1D,IAA6BtI,IAKxB,IALyB,SAC9B9sB,EAAQ,MACRM,EAAK,YACLyB,EAAW,WACX9B,GACA6sB,EACIxsB,EAAMi7B,kBACTx5B,EAAY,CAACw5B,iBAAiB,IAC9Bv7B,EAAS8P,GAAwB,CAChCkrB,aAAc/6B,EAAW+6B,aACzB9I,OAAQ5xB,EAAMu5B,cAIjB,CAACxE,IAA6BrI,IAA0B,IAAzB,MAAC1sB,EAAK,YAAEyB,GAAYirB,EAC9C1sB,EAAMi7B,iBACTx5B,EAAY,CAACw5B,iBAAiB,MC/TzB1/B,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,GCA1C,MAAM,GAFEA,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,SAAc,KAClD,MAAMC,EAAY2/B,EAA2F/hC,SAAW+hC,EAA2FhiC,WAG5M,OAAIqC,EACH2/B,EAAoG,QAAEC,SAIvGD,EAA2FC,UAAYD,EAAoG,SAAKA,EAAoG,QAAEC,UAC3T,QAAa,KACf,MAAM5/B,EAAY2/B,EAA2F/hC,SAAW+hC,EAA2FhiC,WAG5M,OAAIqC,EACH2/B,EAAoG,QAAEE,QAIvGF,EAA2FE,SAAWF,EAAoG,SAAKA,EAAoG,QAAEE,SAC1T,QAAa,KACf,MAAM7/B,EAAY2/B,EAA2F/hC,SAAW+hC,EAA2FhiC,WAG5M,OAAIqC,EACH2/B,EAAoG,QAAEG,QAIvGH,EAA2FG,SAAWH,EAAoG,SAAKA,EAAoG,QAAEG,WCT3TC,GAAgBA,CAACx7B,EAAO/H,EAASwJ,EAAautB,EAAe4C,KAClE1tB,EAAAA,GAAAA,eAAA,OACCa,MAAO,CAAC8yB,SAAS,EAAMpkB,SAAUzT,EAAMyT,UACvC,cAAahU,IAAW,IAAV,IAAC6J,GAAI7J,EJoKoBg8B,EAACnyB,EAAK7H,KAC9C,MAAMi6B,EAAqBpyB,EAAIqyB,kBACzBC,EAAetyB,EAAIuyB,cAAc,qBACjCC,EAAiBxyB,EAAIuyB,cAAc,mBAGnC/D,EAAW,IAAIiE,qBAAsBC,IAC1CA,EAAQpY,QAASqY,IAIZA,EAAMC,eACTJ,EAAenW,UAAUC,IAAI,UAE7BkW,EAAenW,UAAUI,OAAO,cAI7BxG,EAAU,CACf4c,KAAMT,EACNU,WAAY,MACZC,UAAW,IAEZvE,EAASwE,QAAQV,EAAcrc,GAC/B9d,EAAY,CAACo2B,QAAS,CAACC,eI3LrB2D,CAA0BnyB,EAAK7H,GAC/BstB,GAAsBzlB,EAAK0lB,IAE5B,cAAauN,CAACC,EAAOC,KACpB9E,GAA4B33B,EAAOyB,GACnCg7B,OAGDv4B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iBACdZ,EAAAA,GAAAA,eAAA,OACCmuB,UAAWzD,GAA0B32B,GACrC6S,IAAK2sB,GAAWh2B,MAEjByC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,sBACH,IAAX8sB,IAAmB5C,aAAa,EAAbA,EAAe52B,QAAS,IAC3C8L,EAAAA,GAAAA,eAAA,uBAAqB8qB,cAAeA,MAGtC9qB,EAAAA,GAAAA,eAAA,mBACCY,UAAU,mBACVnC,MAAO3C,EAAMyT,SAAW+a,GAAOkH,UAAYlH,GAAOiH,UAClDnvB,KAAK,KACL,oBAAmB,CAACjF,KAAMmzB,OA0GhBkI,GAAgBA,CAAC18B,EAAOyB,KACpC,MAAM,QAAC4E,EAAO,QAAEpO,EAAO,cAAE+2B,EAAa,OAAE4C,GAAU5xB,EAAML,WAExD,OAAQ0G,GACP,KAAK+vB,GACL,KAAKA,GACJ,OAAOoF,GACNx7B,EAAM63B,QACN5/B,EACAwJ,EACAutB,EACA4C,GAEF,KAAKwE,GACJ,MAnHgBuG,EAAC1kC,EAASwJ,KAC5ByC,EAAAA,GAAAA,eAAA,OACCY,UAAU,OACVutB,UAAW4E,GAAah/B,GACxB6S,IAAK2sB,GAAWh2B,KA+GRk7B,CAAW1kC,EAASwJ,GAC5B,KAAK20B,GACJ,MA7GwBwG,EAAA98B,EAAY2B,KAAgB,IAKlDo7B,GALuB,QAACC,GAAQh9B,EAsDpC,OAtCC+8B,EAfiBC,EAAQC,KACzBx7B,IAAA,IAAC,gBAACy7B,GAAgBz7B,EAAA,QAAM+5B,EAAAA,GAAAA,SAAQ0B,MAe/B94B,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,KACP64B,EAAQ/kC,IAAIiL,IAA4C,IAA3C,UAACi6B,EAAS,SAAEC,EAAQ,gBAAEF,GAAgBh6B,EACnD,MAAMm6B,IAAU7B,EAAAA,GAAAA,SAAQ0B,GAClBI,EAAsB1G,GAC3BuG,EACAC,EACA,KACAC,GAGD,OAAKA,GAKJj5B,EAAAA,GAAAA,eAAA,OAAKtJ,IAAKqiC,EAAW5K,UAAW+K,IAC/Bl5B,EAAAA,GAAAA,eAAA,UACE84B,EAAgBjlC,IAAIoL,IAAuB,IAAtB,OAACyzB,EAAM,QAAEkG,GAAQ35B,EACtC,OAAKm4B,EAAAA,GAAAA,SAAQwB,GAUN,KATCA,EAAQ/kC,IAAIsL,IAA2B,IAA1B,UAAC45B,EAAS,SAAEC,GAAS75B,EACxC,MAAMg6B,EAAkB3G,GACvBuG,EACAC,EACAtG,GAED,OAAO1yB,EAAAA,GAAAA,eAAA,MAAItJ,IAAKqiC,EAAW5K,UAAWgL,WAdpCn5B,EAAAA,GAAAA,eAAA,OAAKtJ,IAAKqiC,EAAW5K,UAAW+K,QApB1Cl5B,EAAAA,GAAAA,eAAA,UACE44B,EAAQ/kC,IAAI2J,IAA2B,IAA1B,UAACu7B,EAAS,SAAEC,GAASx7B,EAClC,MAAM27B,EAAkB3G,GAAmBuG,EAAWC,GACtD,OAAOh5B,EAAAA,GAAAA,eAAA,MAAItJ,IAAKqiC,EAAW5K,UAAWgL,QA4CzCn5B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBACdZ,EAAAA,GAAAA,eAAA,OAAK4G,IAAK2sB,GAAWh2B,IAAeo7B,IACpC34B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,4BACb0pB,GAAOgH,2BAmDFoH,CAAmB3kC,EAASwJ,GACpC,KAAK20B,GACJ,MA/CgBkH,EAAA75B,EAAuBhC,KAAW,IAAjC,YAAC87B,EAAW,MAAE9yB,GAAMhH,EAAA,OACvCS,EAAAA,GAAAA,eAAA,OAAKY,UAAU,OAAOgG,IAAK2sB,GAAWh2B,KACrCyC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBAAmBif,YAAawZ,KAC/Cr5B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,cACb2F,EAAM1S,IAAI6L,IAAA,IAAC,OAAC2P,EAAM,OAAEiqB,GAAO55B,EAAA,OAC3BM,EAAAA,GAAAA,eAAA,YAAU,mBACTA,EAAAA,GAAAA,eAAA,mBAAiBsb,QAAS,CAAC7c,MAAO4Q,MAClCrP,EAAAA,GAAAA,eAAA,2BACCY,UAAU,wBACV2F,MAAO+yB,EAAOzlC,IAAI8L,IAAA,IAAC,MAAClB,EAAK,MAAErH,GAAMuI,EAAA,MAAM,CACtClB,QACArH,MAAO,CACN+F,KAAM,SACN/F,YAGFmiC,MAAM,mBACNn3B,KAAK,KACLo3B,SAAO,SAKXx5B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iBACdZ,EAAAA,GAAAA,eAAA,cAAYvB,MAAO8yB,GAAWnvB,KAAK,KAAKD,QAAQ,gBAuBzCi3B,CAAWrlC,EAASwJ,GAC5B,QACC,OAAO,OC3HJk8B,GAAmB79B,IAAA,IAAC,QAACuG,EAAO,WAAEsJ,EAAU,SAAEiuB,EAAQ,SAAE7C,GAASj7B,EAAA,OAClEuG,IAAY+vB,KACC,IAAbwH,IAKCjuB,IAAe1B,GAAeC,eAC7ByB,IAAe1B,GAAeK,YAA0B,IAAbysB,IAOxC8C,GAAkB79B,GACvB+P,QAAQ/P,EAAMm7B,aAAen7B,EAAML,WAAWw7B,aAwBzC2C,GAAaA,CAAC99B,EAAOyB,KAC1B,MAAM,UAAC+4B,EAAS,UAAEjB,EAAS,aAAEC,EAAY,cAAEuE,EAAa,SAAEtD,GAAYz6B,GAChE,UAACiM,EAAS,MAAEvL,GAASV,EAAML,WACjC,OAAI66B,GAEFt2B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,6BACdZ,EAAAA,GAAAA,eAAA,gBACCoC,KAAK,KACL03B,KAAMvD,GNjF2B,EMkFjCwD,YAAU,EACV,wBACA,uBACA/9B,KAAMu0B,GACNn5B,MAAOi+B,EACP,aAAY2E,IAAMz8B,EAAY,CAACs8B,eAAe,IAC9C,cAAaI,KACRn+B,EAAMo+B,mBAAmB9iC,OAG7BmG,EAAY,CAACs8B,eAAe,KAE7B,cAAax8B,IAAA,IAAC,IAAC+H,GAAI/H,EAAA,MAtCQ88B,EAAC/0B,EAAK7H,KACrCia,WAAW,KAAM,IAAA4iB,EAChB,MAAMC,EAAyB,QAAjBD,EAAGh1B,EAAIk1B,kBAAU,IAAAF,OAAA,EAAdA,EAAgBzC,cAAc,YAC/C,IAAK0C,EACJ,OAED,MAAME,EACLC,WAAWC,iBAAiBJ,GAAUE,aNlDS,GMoD1CT,EAAOzlB,KAAKH,INjEkB,EMmEnCG,KAAKE,KAAK8lB,EAASK,aAAeH,IAEnCh9B,EAAY,CAACg5B,SAAUuD,KN/DyB,MMwFrBK,CAAwB/0B,EAAK7H,MAErDyC,EAAAA,GAAAA,eAAA,8BACCkC,KAAK,QACLtB,UAAWi5B,EAAgB,GAAK,SAChC,kBAAiBr9B,EACjB,eAAc64B,EACd,gBAAeC,EACfqF,OAAO,YACP,kBNrEL,mCMsEK,gBAAe5J,GACf,gBAAe,CAAC3uB,KAAM,MACtB,eAAcw4B,KACb,MAAMC,EAAU/+B,EAAMo+B,mBACtBW,EAAQzjC,OAAQ,EAChBogB,WAAW,KACVqjB,EAAQzjC,OAAQ,GACd,WAOF4I,EAAAA,GAAAA,eAAA,OAAKY,UAAU,aAAa43B,GAAc18B,EAAOyB,KAuBnDu9B,GAAqBh/B,IAC1B,MAAM,UAACw6B,EAAS,WAAE9X,EAAU,UAAE6W,GAAav5B,GACrC,QAAC/H,GAAW+H,EAAML,WAExB,GAAIk+B,GAAe79B,GAClB,OAAO,KAGR,IAAK29B,GAAiB39B,EAAML,YAC3B,OAAO,KAGR,MAAMi7B,EAAcJ,EAAYjB,EAAYthC,EAE5C,OACCiM,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACRC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,gCACb01B,GACAt2B,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAO6rB,GAAOwH,OACd3vB,QAAQ,YACR,iBAAgB,CAAC,CAACmuB,KAA0B,MAG7CtwB,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAO6rB,GAAOuH,KACd1vB,QAAQ,YACR,iBAAgB,CAAC,CAACmuB,KAAmB,OAIxCtwB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iCACdZ,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAO6rB,GAAOyH,aACd5vB,QAAQ,UACRsc,UAAWiY,GAAelY,EAC1B,iBAAgB,CAAC,CAAC8R,KAA2B,GAC7C,kBAAiBhG,GAAO0H,wBAGzBxT,IAAcxe,EAAAA,GAAAA,eAAA,cAAYoC,KAAK,QAC9Bk0B,IA/DJt2B,EAAAA,GAAAA,eAAA,gBACCY,UAAU,yBACV2F,MAAO,CAAC,CAAC1R,GAAIy7B,GAA0B7xB,MAAO6rB,GAAO2H,eACrD7S,OAAO,OACPxgB,KAAK,qBACLuD,QAAQ,WACRC,KAAK,KACL,gBACA24B,OAAO,OACP,kBAAiBzQ,GAAO2H,aACxB,cAAa,CACZnrB,OAAQ,CACP,aAAcwjB,GAAO2H,aACrB,gBAAiB,aAuDf+I,GAA6BA,KAClCh7B,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACRC,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAO6rB,GAAOqH,iBACdxvB,QAAQ,YACR,iBAAgB,CAAC,CAACmuB,KAA+B,MAElDtwB,EAAAA,GAAAA,eAAA,cACCoC,KAAK,KACL3D,MAAO6rB,GAAOsH,eACdzvB,QAAQ,UACR,iBAAgB,CAAC,CAACmuB,KAA6B,M,eCrNnC54B,EAAAA,EAAAA,qBAAoB,2BAA4B,CAC9D2d,aAAc,CACbme,QAAS,KACTe,cAAc,EACd0G,SAAU,KACVtH,QAAS,CACRpkB,UAAU,EACVqkB,SAAU,MAEX0C,WAAW,EACXjB,UAAW,GACXC,aAAc,GACdC,eAAgB,EAChBC,aAAc,EACdC,eAAgB,KAChBoE,eAAe,EACfK,mBAAoB,CAAC9iC,OAAO,GAC5BonB,YAAY,EACZuY,iBAAiB,EACjBE,aAAa,GAEd92B,KDyRD,CAAgBrE,EAAK0B,KAAoB,IAAlB,YAACD,GAAYC,EACnC,MAAM,aAACkrB,EAAY,SAAEhZ,GAAY5T,EAAML,WACjCy/B,EAAWxrB,IAAajG,GAExB1V,GACLiM,EAAAA,GAAAA,eAAA,OAAKY,UAAW,4BAA4B0J,GAAgBoF,OAC3D1P,EAAAA,GAAAA,eAAA,OAAKY,UAAU,iBACZs6B,GA/Re3/B,KAAA,IAAC,aAACg5B,EAAc94B,YAAY,YAAC0/B,IAAa5/B,EAAA,OAC9DyE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,gBACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oBAAoBif,YAAasb,KAChDn7B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACdZ,EAAAA,GAAAA,eAAA,uBACCpB,KAAK,gBACLyH,MAAI,EACJjE,KAAK,KACLD,QAAQ,WACR,cAAa,CACZ2E,OAAQ,CACP,aAAcytB,EAAejK,GAAO6G,OAAS7G,GAAO4G,OAGtDkK,SAAU7G,EACV,oBAAmB,CAACp3B,KAAMmzB,IAC1B,kBAAiBiE,EAAejK,GAAO6G,OAAS7G,GAAO4G,UA+QzCmK,CAAav/B,GAC1B89B,GAAW99B,EAAOyB,IA5FDzB,KACrB,MAAM,SAACm/B,EAAQ,aAAE1G,GAAgBz4B,GAC3B,SAAC4T,EAAQ,eAAE4N,EAAc,eAAElC,EAAc,QAAEjZ,GAAWrG,EAAML,WAC5Dy/B,EAAWxrB,IAAajG,GACxB6xB,EAAkBn5B,IAAY+vB,GAC9B3U,EAAmBpC,GAAwBC,EAAgB,YAC3DoC,EAAmBrC,GAAwBC,EAAgB,YAEjE,GAAI8f,EACH,OACCl7B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,gBACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,4BACb06B,GAAmBN,KACnBF,GAAkBh/B,KAEpBkE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACdZ,EAAAA,GAAAA,eAAA,uBACCpB,KAAK,gBACLyH,MAAI,EACJjE,KAAK,KACLD,QAAQ,WACR,cAAa,CACZ2E,OAAQ,CACP,aAAcytB,EAAejK,GAAO6G,OAAS7G,GAAO4G,OAGtDkK,SAAU7G,EACV,oBAAmB,CAACp3B,KAAMmzB,IAC1B,kBAAiBiE,EAAejK,GAAO6G,OAAS7G,GAAO4G,QAExDlxB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBACdZ,EAAAA,GAAAA,eAAA,eACCi7B,SAAUA,EACV1d,iBAAkBA,EAClBC,iBAAkBA,MAGpBxd,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACdZ,EAAAA,GAAAA,eAAA,QAAMhE,KAAK,uBAIZshB,IACDtd,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBAAmB0pB,GAAO+G,cAO9C,MAAMkK,GACJ5B,GAAe79B,KACfw/B,GAAmB7B,GAAiB39B,EAAML,aAE5C,OAAK6hB,GAAkBie,GAErBv7B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,eACb26B,IACAv7B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,uBACb06B,GAAmBN,KACnBF,GAAkBh/B,KAGnBwhB,IACDtd,EAAAA,GAAAA,eAAA,OAAKY,UAAU,+BACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBAAmB0pB,GAAO+G,aACzCrxB,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBACdZ,EAAAA,GAAAA,eAAA,eACCi7B,SAAUA,EACV1d,iBAAkBA,EAClBC,iBAAkBA,OASlB,MAaJge,CAAa1/B,IAIhB,OAAO4sB,GACN1oB,EAAAA,GAAAA,eAAA,YAAUoC,KAAK,KAAKwnB,QAAS,CAACnoB,MAAO,KAAMU,QAAS,YAClDpO,GAGFA,CAED,EC7SAiN,OAAM,GACNE,eAAc,GACdzF,WAAY,CAEX0/B,YAAa,CAAChmC,QAASm1B,GAAO8G,gBAC9BqK,cAAe,CAACtmC,QAAS,IACzB21B,cAAe,CAAC31B,QAAS,MACzBu4B,OAAQ,CAACv4B,SAAS,GAGlBpB,QAAS,CAACoB,QAAS,IAGnBgN,QAAS,CAAChN,QAAS,WACnBuzB,aAAc,CAACvzB,SAAS,GACxBmoB,eAAgB,CAACnoB,SAAS,GAC1Bua,SAAU,CAACva,QAAS,IAGpBimB,eAAgB,CAACjmB,QAAS,MAK1BsW,WAAY,CAACtW,QAAS,IACtBukC,SAAU,CAACvkC,SAAS,GACpB0hC,SAAU,CAAC1hC,SAAS,GACpB4S,UAAW,CAAC5S,QAAS,IACrBqH,MAAO,CAACrH,QAAS,IACjBghB,OAAQ,CAAChhB,QAAS,IAClBqhC,aAAc,CAACrhC,QAAS,IAOxB8hC,YAAa,CAAC9hC,SAAS,MA3DzB,MCsBMumC,GAAqB,CAC1B,CAAC3xB,GAAeI,aAAc,kBAC9B,CAACJ,GAAeE,wBAAyB,uBACzC,CAACF,GAAeG,wBAAyB,uBACzC,CAACH,GAAeR,QAAS,+BACzB,CAACQ,GAAeP,WAAY,+BAC5B,CAACO,GAAeC,eAAgB,uBAChC,CAACD,GAAeK,WAAY,uBAC5B,CAACL,GAAeM,YAAa,gCCnC9B,MAAM,GAFEhT,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,4BAAiC,KACrE,MAAMC,EAAYokC,EAA6FxmC,SAAWwmC,EAA6FzmC,WAGhN,OAAIqC,EACHokC,EAAsG,QAAEC,4BAIzGD,EAA6FC,6BAA+BD,EAAsG,SAAKA,EAAsG,QAAEC,gCCgC1V5hC,uBAAsB,GACtBC,2BAA0B,GAC1BwN,uBAAsBA,IACnBhQ,EAAAA,YAEEokC,G3DtCqB,WAA+B,IAA9BC,EAAGnmC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,MACjC,MAAMomC,EAAQ,IAAIC,IAEZvzB,EAAMA,CAAC/R,EAAKU,KACjB,MAAM6kC,EAAUF,EAAMjlC,IAAIJ,GACtBulC,GACHC,aAAaD,EAAQE,WAEtB,MAAMA,EAAY3kB,WAAW,IAAMukB,EAAMpzB,OAAOjS,GAAMolC,GACtDC,EAAMtzB,IAAI/R,EAAK,CAACU,QAAO+kC,eAcxB,MAAO,CAAC1zB,MAAK3R,IAXAJ,IACZ,MAAM5C,EAAOioC,EAAMjlC,IAAIJ,GACvB,IAAK5C,EACJ,OAED,MAAM,MAACsD,GAAStD,EAGhB,OADA2U,EAAI/R,EAAKU,GACFA,GAIT,C2Dc0BglC,GACbC,IAAexkC,EAAAA,EAAAA,kBAAiB,uBAAwB,CACpEsC,OAAQ,OACRgb,UAAW,OACX7a,kBAAmBqW,GACnBpW,gBAAiBoW,KAGZ2rB,GAAwBA,CAACnmB,EAAQ3a,EAAU+B,KAChD,MAAMg/B,EAAaC,KAAK,QAAQrmB,KAAUuG,QAAQ,KAAM,KACxDlhB,EAASmV,GAA4C,CACpD9K,OAAQ02B,EACRh1B,WAAW,IAGZ,MAAMk1B,EAAcD,KAAK,UAAUrmB,KAAUuG,QAAQ,KAAM,KAC3DlhB,EAASmV,GAAiC,CACzC9K,OAAQ42B,EACRl1B,WAAW,IAGZhK,EAAY,CACXgY,KAAM,oBACNne,MAAO,CAACmlC,EAAYE,GACpBjnB,UAAW7d,EAAAA,sBAAsB+kC,IACjCjnB,cAAc,IAGfja,EAASmV,GAA0B,CAClC5U,QAAS,CACRoa,SACA0B,OAAQ,GACR8kB,cAAe,GACfC,gBAAgB,EAChBC,mBAAmB,MAKhBC,GAAiCA,CAACthC,EAAUM,EAAOyB,OACrCzB,aAAK,EAALA,EAAOihC,oBAAqB,IACpCrd,QAAS7Z,IACnBrK,EAAS,sCAAuC,CAAC+L,WAAW,EAAO1B,aAEpEtI,EAAY,CAACw/B,kBAAmB,GAAIC,oBAAqB,QAGpDC,IAAaplC,EAAAA,EAAAA,kBAAiB+Y,GAA2B,CAC9DzW,OAAQ,OACRgb,UAAW,UACX7a,kBAAmBqW,GACnBpW,gBAAiBoW,KAGZusB,IAAkBrlC,EAAAA,EAAAA,kBAAiB+Y,GAAiC,CACzEzW,OAAQ,OACRgb,UAAW,UACX7a,kBAAmBqW,GACnBpW,gBAAiBoW,KAGZwsB,IAAuBtlC,EAAAA,EAAAA,kBAAiB+Y,GAA4B,CACzEzW,OAAQ,MACRC,YAAa,CAAC,kBACdC,OAAO,EACPiqB,gBAAiB3T,GACjBrW,kBAAmBqW,GACnBpW,gBAAiBoW,KAOZysB,IAAmBxB,EAAAA,GAAAA,6BACxB,4CACA,CACCyB,0BAA2B1sB,KAQvB2sB,IAAiC1B,EAAAA,GAAAA,6BACtC,8BACA,CACCyB,0BAA2B1sB,KAWvB4sB,IAA4B3B,EAAAA,GAAAA,6BACjC,2BACA,CACCyB,0BAA2B1sB,KAQvB6sB,IAAuB3lC,EAAAA,EAAAA,kBAC5B,uDACA,CACCsC,OAAQ,OACRgb,UAAW,UACXC,QAAS,CACR,eAAgB,oBAEjB9a,kBAAmBqW,KAIf6W,IAAc3vB,EAAAA,EAAAA,kBAAiB+Y,GAA4B,CAChEzW,OAAQ,OACRgb,UAAW,OAEX7a,kBAAmBqW,GACnBpW,gBAAiBoW,KAGZkM,GAAiBC,IACtB,IACC,OAAOzE,KAAK0E,MAAMD,EACnB,CAAE,MACD,OAAO,IACR,GAGK2gB,GAAqB3O,GACrBA,SAAAA,EAAUjG,kBAGfxzB,EAAA,GACIy5B,EAAQ,CACXjG,kBAAiBxzB,EAAA,GACby5B,EAASjG,kBAAiB,CAC7BxK,YACmD,iBAA3CyQ,EAASjG,kBAAkBxK,YAC/BxB,GAAciS,EAASjG,kBAAkBxK,aACzCyQ,EAASjG,kBAAkBxK,gBATzByQ,EAcH4O,GAAyBniC,IAQzB,IAR0B,SAC/BmU,EAAQ,UACRiuB,EAAS,SACT9G,EAAQ,OACR1gB,EAAM,eACNza,EAAc,SACdF,EAAQ,YACR+B,GACAhC,EACA,GAAImU,IAAajG,GAChB,OAGD,MAAMm0B,GAEH/G,GAAY8G,IAAc5zB,GAAeK,WAE1CysB,GAAY8G,IAAc5zB,GAAeC,cAE3C,GAAI6sB,GAAY8G,IAAc5zB,GAAeC,cAAe,CAC3D,MAAM6zB,EAAqBhC,GAAkB/kC,IAAI4E,GACjD,IAAKmiC,GAAsBA,EAAmBC,wBAO7C,YADAvgC,EAAY,CAACwgC,sBAAuB,CAAC5nB,SAAQza,oBAG9C,IAAoC,IAAhCmiC,EAAmBnE,SAItB,MAEF,CAEK7C,GAAY8G,IAAc5zB,GAAeC,eAC7CzM,EAAY,CAACwgC,sBAAuB,OAGjCH,GACHpiC,EAASmV,GAAoC,CAC5C5U,QAAS,CACRoa,SACA0gB,eAMJ,SAASmH,GAAcpiC,GAUpB,IAVqB,SACvB8T,EAAQ,SACRlU,EAAQ,YACR+B,EAAW,YACX8Q,EAAW,UACX0H,EAAS,kBACTkB,EAAiB,eACjBF,EAAc,MACdjb,EAAK,WACL2Q,GACA7Q,EACA,MAAM,MAACY,GAAS6R,EAIhB,GAAI7R,GAASA,KAAUV,aAAK,EAALA,EAAOkhC,qBAAqB,CAClDxhC,EAASmV,GAA2C,CACnD9K,OAAQrJ,EACR+K,WAAW,IAGZhK,EAAY,CACXy/B,oBAAqBxgC,EACrBugC,kBAAmB,KAHIjhC,aAAK,EAALA,EAAOihC,oBAAqB,GAGXvgC,IAE1C,CAMA,MAAMyhC,EAAqBxxB,QAAAA,EAAc4B,aAAW,EAAXA,EAAa5B,WAOtDlP,EAAY,WAA8B,IAA5BzB,MAAOoiC,GAAWvoC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnC,MAAMwoC,GAAsBD,aAAU,EAAVA,EAAY7vB,cAAe,CAAC,EAClD5C,EAAae,GAClB2xB,EAAoBriC,MACpBuS,EAAYvS,MACZmiC,GAEDnyB,GAAgB,sCAAuC,CACtDpQ,eAAgB2S,aAAW,EAAXA,EAAa3S,eAC7B0iC,SAAUD,EAAoBriC,MAC9BoQ,SAAUmC,EAAYvS,MACtB2Q,WAAYwxB,EACZhpC,OAAQwW,EACR4yB,eAAgB5yB,IAAe4C,EAAYvS,QAE5C,MAAMwiC,EAAmBjpC,EAAA,GAAOgZ,EAAa,CAAAvS,MAAO2P,KAC9C,eAAC/P,EAAc,MAAEyS,EAAQ,IAAMmwB,GAC/B,OAACnoB,IAAUra,aAAK,EAALA,EAAOL,aAAc,CAAC,EAEjC8iC,SAD+C7pC,IAA9BypC,EAAoBriC,QAEvB2P,IAAe0yB,EAAoBriC,MAEvD,OAiBF,SAAuBuB,GAapB,IAbqB,SACvBqS,EAAQ,SACRlU,EAAQ,YACR6S,EAAW,UACX0H,EAAS,kBACTkB,EAAiB,eACjBF,EAAc,eACdrb,EAAc,WACd+P,EAAU,MACV0C,EAAK,OACLgI,EAAM,gBACNooB,EAAe,oBACfJ,GACA9gC,EACA,GAAIkhC,EAAiB,KAAAC,EACpBhjC,EAASmV,GAA2C,CACnDwF,SACAra,MAAO2P,EACPgzB,cAAeN,EAAoBriC,QAGpC,MAAM4iC,EAAgB,CACrB,CAAC30B,GAAeI,aAAcuK,GAC9B,CAAC3K,GAAeE,wBAAyB0K,GACzC,CAAC5K,GAAeG,wBAAyByK,GACzC,CAAC5K,GAAeC,eAAgB4K,GAChC,CAAC7K,GAAeK,WAAYyK,GAC5B,CAAC9K,GAAeR,QAASuL,GACzB,CAAC/K,GAAeP,WAAYuL,IAEvB4pB,EAAe,CACpBxoB,SACAC,WAAY/H,EAAYyH,UACxBO,aAAchI,EAAYgJ,YAC1B3b,eAAgB2S,EAAY3S,eAC5B2M,MAAOgG,EAAYtG,UACnBwO,SAAUlI,EAAY7R,MACtB8Z,OAA4B,QAAtBkoB,EAAEnwB,EAAYyE,gBAAQ,IAAA0rB,OAAA,EAApBA,EAAsBloB,OAC9Bxa,MAAO2P,EACPgzB,cAAeN,EAAoBriC,MACnC8Z,UAAW3D,KAAK4D,OAEjBra,EAASiZ,GAAyB,CACjCiB,UAAWV,GACXW,SAAUgpB,IAEX,MAAMC,EAAiBF,EAAcjzB,GACjCmzB,GACHpjC,EAASiZ,GAAyB,CACjCiB,UAAWkpB,EACXjpB,SAAUgpB,GAGb,CAEA,MAAM,UAACh1B,EAAS,QAAEC,GAAWF,GAAkBgG,IAAa,CAAC,EAEvDmvB,EAAW,CAChBxwB,cACAywB,mBAAoBl1B,EACpBD,YACAoM,YACAkB,oBACAF,eAAgBA,GAAkB,CAAC,GAGpC,IAAKrb,EAGJ,OADAsD,QAAQsqB,KAAK,yCACN,CAAC,EAMT,GACC5Z,IAAajG,KACZgC,IAAe1B,GAAeC,eAC9ByB,IAAe1B,GAAeK,WAC9B,CACD,MAAM20B,EAAmBlD,GAAkB/kC,IAAI4E,GAC3CqjC,IAAqBA,EAAiBjB,yBACzCe,EAASvwB,aAAe,CAACoW,KAAMqa,EAAkBC,SAAS,GAC1DxjC,EAASmV,GAA+C,CACvDwF,SACAza,iBACA4S,aAAcywB,KAEJA,GAAqBA,EAAiBjB,yBACjDtiC,EAASmV,GAA4C,CAACjV,kBAExD,CAEA,GAAI+P,IAAe1B,GAAeI,YACjC,IAAIgE,aAAK,EAALA,EAAOja,QAAS,EAAG,CACtB,MAAM+qC,EAAe9wB,EAAMta,IAAI,CAAC6a,EAAMC,IAAKtZ,EAAA,GACvCqZ,EAAI,CACP7P,OAAQ8P,IAAUR,EAAMja,OAAS,EAAI,cAAgB,YACrD2a,SAAUF,IAAUR,EAAMja,OAAS,KAEpC2qC,EAASxwB,YAAWhZ,EAAA,GAChBgZ,EAAW,CACdF,MAAO8wB,GAET,MACCJ,EAASxwB,YAAWhZ,EAAA,GAChBgZ,EAAW,CACdF,MAAO,CAAC8C,MAKX,OAAO4tB,CACR,CAlISK,CAAe,CACrBxvB,WACAlU,WACA6S,YAAaiwB,EACbvoB,YACAkB,oBACAF,iBACArb,iBACA+P,aACA0C,QACAgI,SACAooB,kBACAJ,uBAEF,EACD,CAqHA,MAAMgB,GAA2B3hC,IAU3B,IAV4B,YACjC6Q,EAAW,SACXqB,EAAQ,SACRlU,EAAQ,YACR+B,EAAW,UACXwY,EAAS,kBACTkB,EAAiB,eACjBF,EAAc,MACdjb,EAAK,WACL2Q,GACAjP,EACAwgC,GAAe,CACdtuB,WACAlU,WACA+B,cACA8Q,cACA0H,YACAkB,oBACAF,iBACAjb,QACA2Q,eAGGiD,IAAajG,IAChBjO,EACCmV,GACA,CACC5U,QAAS,CACRL,eAAgB2S,EAAY3S,eAC5B0jC,MACC,kEAGH,CAACC,eAAe,KAKnB,GAAAhqC,EAAA,CACC,CAACsb,IAA4C,CAC5CrR,OAAQR,IAAwD,IAAvD,OAACjD,EAAM,YAAE0B,EAAW,MAAEzB,EAAK,WAAEL,EAAU,SAAED,GAASsD,EAC1D,MAAM,eAACkZ,EAAc,UAAE2lB,EAAS,SAAE7O,EAAQ,MAAE3gB,EAAK,MAAEmxB,GAClDzjC,EAAOE,QAAQ2oB,MACV,YAACrW,EAAW,UAAE0H,EAAS,kBAAEkB,EAAiB,eAAEF,GAAkBjb,GAC9D,SAAC4T,GAAYjU,EAEnBqQ,GAAgB,8CAA+C,CAC9DpQ,eAAgB2S,aAAW,EAAXA,EAAa3S,eAC7BiiC,YACA4B,YAAapxB,GAAS,IAAIja,OAC1BsrC,cAAe1Q,EACf2Q,gBAAiBznB,EACjB0nB,aAAcrxB,aAAW,EAAXA,EAAavS,MAC3B2Q,WAAY4B,aAAW,EAAXA,EAAa5B,WACzB6yB,UAmBDtB,GAAe,CACdtuB,WACAlU,WACA+B,cACA8Q,YApBuBhZ,EAAA,GACpBgZ,EAMCF,GAAS,CAACA,MAAOnC,GAAeqC,aAAW,EAAXA,EAAaF,MAAOA,IACpD2gB,GAAY,CAACA,SAAU2O,GAAkB3O,IACzC9W,GAAkB,CACrBA,eAAgB6E,GAAc7E,IAE3B2lB,GAAa,CAAC7hC,MAAO6hC,GACrB2B,GAAS,CAACA,UAQdvpB,YACAkB,oBACAF,iBACAjb,YASH,CAACoP,IAA+CjM,IAA2B,IAA1B,OAACpD,EAAM,YAAE0B,GAAY0B,EACrE,MAAM,eAACvD,GAAkBG,EAAOE,SAAW,CAAC,EAC5CwB,EAAY,WAA8B,IAA5BzB,MAAOoiC,GAAWvoC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnC,MAAMgqC,GAAKzB,aAAU,EAAVA,EAAY7vB,cAAe,CAAC,EACvC,OACCsxB,EAAGlzB,aAAe3C,IAClB61B,EAAGjkC,iBAAmBA,GACtB6P,GAAco0B,EAAG7jC,OAEV,CAACuS,YAAWhZ,EAAA,GAAMsqC,EAAI,CAAA7jC,MAAOiO,GAAeI,eAE7C,CAAC,CACT,IAED,CAACwG,IAAsC,CACtCrR,MAAAA,CAAMH,GAAyB,IAAxB,WAAC1D,EAAU,SAAED,GAAS2D,EAC5B,MAAM,OAACgX,GAAU1a,EACb0a,GACH3a,EAASmV,GAA0B,CAClC5U,QAAS,CACRoa,SACAwmB,cAAe,UAInB,GAED,CAAChsB,IAAgD,CAChDrR,MAAAA,CAAMC,GAAiC,IAAAy3B,EAAA,IAAhC,OAACn7B,EAAM,WAAEJ,EAAU,SAAED,GAAS+D,EACpC,MAAMuc,EAAoB,QAAjBkb,EAAGn7B,EAAOE,eAAO,IAAAi7B,OAAA,EAAdA,EAAgBtS,KACtBkb,EACgB,iBAAd9jB,aAAG,EAAHA,EAAK4I,MAAoB7H,GAAcf,EAAI4I,MAAQ5I,EAM3D,GAAmB,uBALA8jB,aAAW,EAAXA,EAAaC,YAM/B,OAGD,MAAM,OAAC1pB,GAAU1a,EACb0a,GACH3a,EAASmV,GAA0B,CAClC5U,QAAS,CACRoa,SACAwmB,cAAe,UAInB,GAED,CAAC1iC,IAA0ByF,GAMxB,IAN0B,OAC5B7D,EAAM,SACNL,EAAQ,YACR+B,EAAW,WACX9B,EAAU,MACVK,GACA4D,EACA,MAAM,KAAC1D,EAAI,MAAE5E,EAAK,cAAE6E,GAAiBJ,EAAOE,SACtC,SAAC2T,EAAQ,OAAEyG,GAAU1a,GACrB,UAACsa,EAAS,kBAAEkB,EAAiB,eAAEF,EAAc,YAAE1I,GAAevS,EAEvD,aAATE,GACH0hC,GAAuB,CACtBhuB,WACAiuB,UAAWtvB,aAAW,EAAXA,EAAavS,MACxB+6B,SAAUz/B,EACV+e,SACAza,eAAgB2S,aAAW,EAAXA,EAAa3S,eAC7BF,WACA+B,gBAKW,mBAATvB,IAA8Bq7B,EAAAA,GAAAA,SAAQjgC,EAAO6E,IAQpC,gBAATD,IAA2Bq7B,EAAAA,GAAAA,SAAQjgC,EAAO6E,IAC7C+hC,GAAe,CACdtuB,WACAlU,WACA+B,cACA8Q,YAAWhZ,EAAA,GAAM+B,GACjB2e,YACAkB,oBACAF,iBACAjb,UAGW,WAATE,GAAqB5E,IACxB0lC,GAA+BthC,EAAUM,EAAOyB,GAChD++B,GAAsBllC,EAAOoE,EAAU+B,GACvCA,EAAY,CAACwgC,sBAAuB,SAtBpCxgC,EAAY,CACXwZ,eAAgB3f,GAAS,CAAC,GAuB7B,EAEA,CAAC4C,IAAsB2F,GAA8C,IAA5C,SAACnE,EAAQ,WAAEC,EAAU,YAAE8B,EAAW,MAAEzB,GAAM6D,EAClE,MAAM,YACL0O,EAAW,SACXqB,EAAQ,OACRyG,EACAY,eAAgB+oB,EAAkB,SAClCjJ,GACGp7B,GACE,UAACsa,EAAY,GAAE,kBAAEkB,GAAoB,GAASnb,GAAS,CAAC,EAE1DuS,GACH8wB,GAAyB,CACxB9wB,cACAqB,WACAlU,WACA+B,cACAwY,YACAkB,oBACAF,eAAgB+oB,EAChBhkC,UAED4hC,GAAuB,CACtBhuB,WACAiuB,UAAWtvB,EAAYvS,MACvB+6B,WACA1gB,SACAza,eAAgB2S,EAAY3S,eAC5BF,WACA+B,iBAES4Y,GACVmmB,GAAsBnmB,EAAQ3a,EAAU+B,EAE1C,EACA,CAACoT,IAA6C2sB,GAC9C,CAAC3sB,IAAkCysB,GACnC,CAACzsB,IAA4C4sB,GAC7C,CAAC91B,IAAyB5H,IAAoC,IAAnC,SAACrE,EAAQ,MAAEM,EAAK,YAAEyB,GAAYsC,EACxDi9B,GAA+BthC,EAAUM,EAAOyB,GAChDA,EAAY,CAACwgC,sBAAuB,QAErC,CAACptB,IAAwC2X,GAKtC,IAAAyX,EAAA,IALwC,OAC1ClkC,EAAM,MACNC,EAAK,SACLN,EAAQ,YACR+B,GACA+qB,EACA,MAAM,YAACja,GAAevS,GAChB,OAACqa,GAAUra,EAAML,YAChBK,MAAO6hC,GAAatvB,GACrB,SACLygB,EAAQ,iBACR9Y,EAAgB,eAChBgC,EAAc,SACdgoB,EAAQ,WACRC,EAAU,YACVC,IACiB,QAAdH,EAAAlkC,EAAOE,eAAO,IAAAgkC,OAAA,EAAdA,EAAgB9qC,SAAU,CAAC,EACzByhB,EAAO7a,aAAM,EAANA,EAAQ6a,KAEfypB,EAA0Bt0B,QAAQ6K,aAAI,EAAJA,EAAM2oB,eACxCe,EAAiBJ,GAAYC,EAC7BI,EAAgBvkC,EAAMqS,OAAS,GAC/BA,EAAQgyB,EAA0BC,EAAiBC,EAEzD,IAAIpB,EAAe,GAEf7yB,MAAMC,QAAQ8B,KACjB8wB,EAAe9wB,EAAMta,IAAK6a,GAAIrZ,EAAA,GAC1BqZ,EAAI,CACPjQ,MAAOiQ,EAAKjQ,MACZoQ,UAAU,MAIR8uB,IAAc5zB,GAAeI,aAAuC,IAAxB80B,EAAa/qC,QAC5D+qC,EAAalqC,KAAKkc,IAGnB1T,EAAY,CACX8Q,YAAWhZ,EAAA,GACPgZ,EAAW,CACdF,MAAO8wB,EACPnQ,WACA9Y,mBACAkqB,cACAloB,qBAIFxc,EAASmV,GAA0C,CAClDwF,SACAhI,MAAO8wB,EACPnQ,SAAUA,GAAY,CAAC,EACvB9Y,mBACAkqB,cACAloB,kBAEF,EACA,CAACrH,IAA2BssB,GAC5B,CAACtsB,IAAqC6X,IAOhC,IAAA8X,EAAA,IAPiC,OACtCzkC,EAAM,YACN0B,EAAW,iBACXuK,EAAgB,SAChBtM,EAAQ,WACRC,EAAU,MACVK,GACA0sB,EACA,MAAM,OAACvzB,GAAU4G,EAAOE,SAClB,SAAC2T,GAAYjU,GACb,eAACsb,GAAkBjb,EASzB,GANA6P,GAAuB1W,aAAM,EAANA,EAAQsrC,gBAE3BtrC,SAAAA,EAAQmmB,gBACXtT,EAAiB,CAACsT,eAAgBnmB,EAAOmmB,iBAGtCnmB,SAAe,QAATqrC,EAANrrC,EAAQgX,eAAO,IAAAq0B,GAAfA,EAAkB,GAAI,KAAAE,EAAAC,EAAAC,EACzB,MAAMC,EAAO1rC,EAAOgX,QAAQ,IAAM,CAAC,EAC7B20B,GAAY3rC,aAAM,EAANA,EAAQ2rC,YAAa7pB,EAEvCjL,GAAgB,6CAA8C,CAC7DqK,OAAQwqB,EAAKE,OACbl8B,aAAcg8B,EAAKh8B,aACnBm8B,QAASH,SAAa,QAATH,EAAJG,EAAMG,eAAO,IAAAN,OAAA,EAAbA,EAAeppC,MACxB2pC,SAAUJ,EAAK7kC,MACf2Q,WAAYk0B,EAAKl0B,WACjBlB,cAAeo1B,EAAKp1B,cACpBy1B,UAAWllC,SAAkB,QAAb2kC,EAAL3kC,EAAOuS,mBAAW,IAAAoyB,OAAA,EAAlBA,EAAoB3kC,QAGhC,MAAMuS,EAAc,CACnB3S,eAAgBilC,EAAKh8B,cAAgB,GACrC6O,UAAWmtB,EAAKntB,WAAa,GAC7BzL,UAAW44B,EAAK54B,WAAa,GAC7BvL,MAAOmkC,EAAKnkC,OAAS,GACrBsZ,UAAW6qB,EAAKM,SAAW,GAC3B5pB,YAAaspB,EAAKtpB,aAAe,GACjCxY,OAAQ8hC,EAAK9hC,QAAU,GACvB/C,MAAO6kC,SAAa,QAATD,EAAJC,EAAMG,eAAO,IAAAJ,OAAA,EAAbA,EAAetpC,MACtB+X,YAAawxB,aAAI,EAAJA,EAAMxxB,YAGnB1C,WAAYk0B,EAAKl0B,WACjB6yB,MAAOqB,EAAKrB,OAAS,GACrB7rB,IAAKktB,EAAKltB,KAAO,KACjBC,cAAeitB,EAAKjtB,eAAiB,KACrCZ,SAAU,CACTE,SAAU2tB,EAAK3tB,UAAY,GAC3BC,cAAe0tB,EAAK1tB,eAAiB,GACrCqD,OAAQqqB,EAAKrqB,QAAU,IAExBvD,YAAa,CACZG,YAAaytB,EAAKztB,aAAe,GACjCC,iBAAkBwtB,EAAKxtB,kBAAoB,GAC3C6D,UAAW2pB,EAAK3pB,WAAa,IAE9B7I,MAAOwyB,EAAKxyB,OAAS,GACrB2gB,SAAU6R,EAAK7R,UAAY,GAC3B9Y,iBAAkB2qB,EAAK3qB,kBAAoB,CAAC,EAC5CgC,eAAgB2oB,EAAK3oB,gBAAkB,IAGxCmnB,GAAyB,CACxBzvB,WACAlU,WACA+B,cACA8Q,cACA0H,UAAW4qB,EAAK5qB,WAAa,GAC7BkB,kBAAmB0pB,EAAK1pB,oBAAqB,EAC7CF,eAAgB6pB,EAChB9kC,QACA2Q,WAAYk0B,EAAKl0B,YAEnB,GAED,CAACkE,IAAiCusB,GAElC,CAACpyB,IAAgDo2B,IAI3C,IAJ4C,OACjDrlC,EAAM,SACNL,EAAQ,WACRC,GACAylC,EAC4B,kBAAxBrlC,EAAOE,QAAQoB,MAClB3B,EAASmV,GAAuD,CAC/DwF,OAAQ1a,aAAU,EAAVA,EAAY0a,UAKvB,CAACrL,IAA6Cq2B,IAA2B,IAAAC,EAAA,IAA1B,OAACvlC,EAAM,YAAE0B,GAAY4jC,EACnE,MAAM,GAACtsC,GAAMgH,SAAY,QAANulC,EAANvlC,EAAQ6a,YAAI,IAAA0qB,OAAA,EAAZA,EAAcvqB,UACrB,MAACzf,GAASyE,aAAM,EAANA,EAAQE,QAEb,2BAAPlH,GACH0I,EAAY,CAAC8jC,oBAAqBjqC,KAGpC,CAACkU,IAAyBg2B,IAA4C,IAA3C,OAACzlC,EAAM,MAAEC,EAAK,SAAEN,EAAQ,YAAE+B,GAAY+jC,EAChE,MAAM,eAAC5lC,IAAkBI,aAAK,EAALA,EAAOuS,cAAevS,EAAML,YAAc,CAAC,EACpE,IAAKC,EACJ,OAED,MAAM,aAAC86B,EAAY,OAAE9I,IAAU7xB,aAAM,EAANA,EAAQE,UAAW,CAAC,EACnD,GAAIy6B,GAAkC,iBAAX9I,EAAqB,KAAA6T,EAC/C,MAAMC,EAA4B,QAApBD,EAAGzlC,EAAMuS,mBAAW,IAAAkzB,OAAA,EAAjBA,EAAmBvpB,eAChC5L,MAAMC,QAAQm1B,IACjBjkC,EAAY,CACX8Q,YAAWhZ,EAAA,GACPyG,EAAMuS,YAAW,CACpB2J,eAAgBwpB,EAAS3tC,IAAK4tC,IAC7BA,aAAG,EAAHA,EAAKjlC,SAAUg6B,EAAYnhC,EAAA,GACpBosC,EAAK,CAAA9T,cAAeD,EAAQA,QAAQ,IACxC+T,MAKR,CACAjmC,EAASmV,GAA4C,CAACjV,oBAEvD,CAACiV,IAA6CwsB,GAC9C,CAACxsB,IAAmD+wB,IAG9C,IAH+C,MACpD5lC,EAAK,YACLyB,GACAmkC,EACA,MAAM,eAAChmC,IAAkBI,aAAK,EAALA,EAAOuS,cAAevS,EAAML,WACrDogC,GAAkBpzB,IAAI/M,EAAgB,CAACoiC,yBAAyB,IAChEvgC,EAAY,CAAC+Q,aAAc,CAACoW,KAAM,KAAMsa,SAAS,MAElD,CAACruB,IAAoDgxB,IAG/C,IAHgD,MACrD7lC,EAAK,YACLyB,GACAokC,EACA,MAAM,eAACjmC,IAAkBI,aAAK,EAALA,EAAOuS,cAAevS,EAAML,WAC/CsjC,EAAmBlD,GAAkB/kC,IAAI4E,GAC3CqjC,IACHA,EAAiBjB,yBAA0B,GAE5CvgC,EAAY,CACX+Q,aAAc,CAACoW,KAAM,KAAMsa,SAAS,GACpCjB,sBAAuB,QAGzB,CAACptB,IAAiD,CACjDrR,OAAQsiC,IAAwD,IAAAC,EAAAC,EAAA,IAAvD,OAACjmC,EAAM,MAAEC,EAAK,WAAEL,EAAU,YAAE8B,EAAW,SAAE/B,GAASomC,EAC1D,MAAM,eAAClmC,IAAkBI,aAAK,EAALA,EAAOuS,cAAevS,EAAML,YAC/C,OAAC0a,GAAU1a,GAGhBsmC,YAAa5/B,EACb6/B,eAAgBC,EAChBC,sBAAuBvU,EACvBwU,cAAezU,EACf0U,iBAAkBtX,EAClBuX,gBAAiB3I,EACjB4I,gBAAiBzL,EACjB0L,sBAAuB/L,EACvBgM,wBAAyBC,EACzBC,oBAAqBzL,EAAW,MAChCqI,IACwB,QAArBuC,EAAAhmC,EAAOE,QAAQ9G,cAAM,IAAA4sC,OAAA,EAArBA,EAAuBc,WAAY,CAAC,EAElC5uC,EACL25B,GAAmC,iBAAlBC,EACdA,EACAsU,EAGJ,IAAIlD,EAAmB,CACtB58B,UACApO,UACAkuC,kBACAvU,OAAQ7hB,QAAQ6hB,GAChB5C,gBACA4O,WACA7C,WACAL,eACAiM,kBACAxL,cACA6G,yBAAyB,GAErB37B,GAAYpO,GAAYkjC,IAC5B8H,EAAmB,MAEpBlD,GAAkBpzB,IAAI/M,EAAgBqjC,GAEtCvjC,EAASmV,GAA+C,CACvDwF,SACAza,iBACA4S,aAAcywB,IAOf,MAAM,sBAAChB,GAAyBjiC,EAE/BiiC,GACAA,EAAsB5nB,SAAWA,GACjC4nB,EAAsBriC,iBAAmBA,IAGV,KAAf,QAAhBomC,EAAA/C,SAAgB,IAAA+C,OAAA,EAAhBA,EAAkBpI,WAElBl+B,EAASmV,GAAoC,CAC5C5U,QAAS,CAACoa,SAAQ0gB,UAAU,KAI9Bt5B,EAAY,CAACwgC,sBAAuB,OACpCxgC,EAAY,CACXgY,KAAM,eACNne,MAAO,CAACstB,KAAMqa,EAAkBC,SAAS,EAAOM,SAChD9pB,UAAW7d,EAAAA,sBAAsB+kC,IACjCjnB,cAAc,MAQjB,CAACmb,IAA6B,CAC7BtxB,OAAQsjC,IAAmC,IAAlC,MAAC9mC,EAAK,WAAEL,EAAU,SAAED,GAASonC,EACrC,MAAM,eAAClnC,IAAkBI,aAAK,EAALA,EAAOuS,cAAevS,EAAML,WACjDC,GACHF,EAASmV,GAA4C,CAACjV,mBAGvD,MAAM,OAACya,GAAU1a,GAAc,CAAC,EAC5B0a,GACH3a,EAASmV,GAA0B,CAClC5U,QAAS,CAACoa,SAAQwmB,cAAe,YAIpCl9B,iBAAiB,GAElB,+BAAkCojC,IAK5B,IAJLhnC,QACCE,SAAS,OAAC+K,EAAM,WAAEg8B,IAClB,YACDvlC,GACAslC,EACA,GAAKC,EAIL,OACQvlC,EADO,cAAXuJ,EACgB,CAClBm0B,SAAU9pB,IAGO,CAClB8pB,SAAU9pB,MAGZ,8CAAC,CAA8C4xB,GAA6B,IAAAC,EAAAC,EAAA,IAA3B,OAACpnC,EAAM,SAAEL,EAAQ,MAAEM,GAAMinC,EACzE,MACC10B,aAAa,MAACixB,GAAM,SACpBrE,GACGn/B,EACJ,IAAKwjC,EACJ,OAED,IAAI4D,EAAiB,GACrB,MAAM,MAAC38B,EAAQ,IAAM1K,EAAOE,QAE5BwK,EAAMmZ,QAAS5rB,IACd,OAAQA,EAAKqJ,MACZ,IAAK,YAAa,KAAAgmC,EACjB,MAAMC,EAAetvC,SAAW,QAAPqvC,EAAJrvC,EAAMsD,aAAK,IAAA+rC,OAAA,EAAXA,EAAat9B,OAChCw9B,IAAwB,IAAhBA,EAAI9nB,SAEd2nB,GAAkBE,EAAavvC,IAAKO,GAAMA,EAAEqK,OAAOtK,KAAK,MACxD,KACD,CACA,IAAK,WACJ+uC,GAAkB,KAAKpvC,EAAKsD,WAQ/B8rC,GAAiB9L,EAAAA,GAAAA,SAAQ8L,GACtBA,EACA,GAAGA,MAQN1nC,EAASmV,GAA8B,CAAC+T,KAN3B,CACZ4a,QACArE,WACAiI,oBAKD,MAAO70B,YAAasxB,GAAM7jC,EAC1BN,EAASiZ,GAAyB,CACjCiB,UzDn+B+B,qByDo+B/BC,SAAU,CACTQ,OAAwB,QAAlB6sB,EAAElnC,EAAML,kBAAU,IAAAunC,OAAA,EAAhBA,EAAkB7sB,OAC1BC,WAAYupB,aAAE,EAAFA,EAAI7pB,UAChBO,aAAcspB,aAAE,EAAFA,EAAItoB,YAClBioB,QACArE,WACA5yB,MAAOs3B,aAAE,EAAFA,EAAI53B,UACXwO,SAAUopB,aAAE,EAAFA,EAAInjC,MACd8Z,OAAQqpB,SAAY,QAAVsD,EAAFtD,EAAI7sB,gBAAQ,IAAAmwB,OAAA,EAAZA,EAAc3sB,OACtBV,UAAW3D,KAAK4D,QAGnB,EACA,CAAClF,IAA+B0rB,GAChC,CAAC1rB,IAAyC2yB,IAAmB,IAAlB,YAAC/lC,GAAY+lC,EACvD/lC,EAAY,CACX09B,SAAU,QAGZ,CAACtqB,IAAsC4yB,IAAmB,IAAlB,YAAChmC,GAAYgmC,EACpDhmC,EAAY,CACX09B,SAAU,QAGZ,CAACtqB,IAAkCtb,EAAA,GAC/BmoC,GAAoB,CACvB/9B,iBAAiB,IAElB,CAACkR,IAA6C,CAC7CrR,OAAQkkC,IAAwB,IAAvB,SAAChoC,EAAQ,OAAEK,GAAO2nC,EAC1B,MACCznC,SAAS,OAAC9G,IACP4G,EAEJL,EAASwP,GAA0D,CAClEmL,OAAQlhB,aAAM,EAANA,EAAQkhB,OAChB0gB,SAAU5hC,aAAM,EAANA,EAAQ4hC,aAIrB,CAAClmB,IAAyC,CACzCrR,OAAQmkC,IAAgD,IAAAC,EAAA,IAA/C,SAACloC,EAAQ,MAAEM,EAAK,WAAEL,EAAU,YAAE8B,GAAYkmC,EAClDlmC,EAAY,CAAC8jC,qBAAqB,IAClC,MAAMsC,EAAqC,QAAjBD,EAAA5nC,EAAMuS,mBAAW,IAAAq1B,GAAjBA,EAAmB5tB,UAC1Cha,EAAMuS,YACN5S,EAAW4S,aAAe,CAAC,GACxB,UACLyH,EAAS,MACTtZ,EAAK,UACLuL,EAAS,YACTsP,EACAvE,UAAU,OAACwD,GAAU,CAAC,GACnBqtB,EAEC7tB,GAActZ,GAInBhB,EAASmV,GAAkD,CAC1D+T,KAAM,CACLkf,UAAW3xB,KAAK4D,MAAMliB,WACtBqiB,iBAAkBM,EAClButB,kBAAmBxsB,EACnBtB,UAAWja,EAAMia,WAAasB,EAC9BvB,YACAG,eAAgBzZ,EAChB0Z,YAAanO,OAKjB,CAAC4I,IAAgDtb,EAAA,GAC7CmyB,IAEJ,CAAC7W,IAAiDmzB,IAG5C,IAH6C,OAClDjoC,EAAM,iBACNiM,GACAg8B,EACA,MACC/nC,SACC9G,QACCyvB,MACCA,MAAM,gBAAC1mB,OAIPnC,EACCmC,GAGL8J,EAAiB,CAChBqO,OAAQnY,KAGV,CAAC2S,IAAgDozB,IAAc,IAAb,OAACloC,GAAOkoC,EAEzD/kC,QAAQD,MAAM,qBAAsBlD,EAAOE,WAEzCwrB,KCnnCG9f,uBAAsBA,IAAIhQ,EAAAA,YAEpBusC,GACyB,sCADzBA,GAEsB,mCAFtBA,GAGe,4BAHfA,GAIqB,kCAJrBA,GAKiB,8BALjBA,GAMiB,8BAGxBC,GAAuBA,CAACC,EAASzhC,KACtC,MAAM,OAACnD,EAAM,KAAEkd,IAAQof,EAAAA,GAAAA,6BAA4BsI,EAAS,CAC3DC,2BACCH,GACDI,6BACCJ,GACDK,0BACCL,GACDM,+BACCN,GACD3G,0BAA2B2G,KAG5B,MAAO,CAAC1kC,SAAQkd,KAAM,IAAIA,EAAM/Z,KAM3B8hC,GAAkBA,CAACC,EAAYj9B,EAAW/L,KAC/CA,EAASwoC,GAA0D,CAClEQ,aACAj9B,eAIF,IACCvL,KAAM,cACNkF,eAAgB,CACf,iBAAsB,CACrB5B,MAAAA,CAAM/D,GAAyC,IAAxC,YAACgC,EAAW,OAAE1B,EAAM,MAAEC,EAAK,SAAEN,GAASD,EAC5C,MAAM,WAACipC,GAAc3oC,EAAOE,QACtB0oC,EAAkB3oC,EAAM4oC,aAAe,GAC7CH,GAAgBC,GAAY,EAAMhpC,GAC7BipC,EAAgBtpC,SAASqpC,IAC7BjnC,EAAY,CACXmnC,YAAa,IAAID,EAAiBD,IAGrC,EACA/kC,iBAAiB,GAElB,gBAAqB,CACpBH,MAAAA,CAAM1D,GAAiC,IAAhC,MAACE,EAAK,SAAEN,EAAQ,YAAE+B,GAAY3B,EACpCE,EAAM4oC,YAAYhlB,QAASwkB,IAC1BK,GAAgBL,GAAS,EAAO1oC,KAEjC+B,EAAY,CAACmnC,YAAa,IAC3B,EACAjlC,iBAAiB,GAElB,CAACukC,IAA2D,CAC3D1kC,OAAQA,IAAM,KACdimB,aAAc,CACZ/M,IACA,MAAM,QACLzc,EACAA,SAAS,WAACyoC,IACPhsB,EAAQ/V,UAAU5G,OAEtB,OAAK2oC,UAKEzoC,EAAQyoC,WAEfnvC,EAAA,GACImjB,EAAO,CACVmsB,QAAS,CAACV,GAAqBO,EAAYhsB,EAAQ/V,eAR5C+V,IAYV/Y,iBAAiB,K,eC/EpB/H,EAAAA,EAAAA,qBAAoB,qBAAsB,CACzCsK,SAAU,CAAC7E,KAAM8E,GAAAA,SACjBhB,gBAAiBA,KAAA,CAChBoN,YAAa,CAAC,EACdywB,oBAAoB,EACpBn1B,WAAW,EACX+6B,YAAa,GACbp2B,aAAc,CAACoW,KAAM,KAAMsa,SAAS,GACpCjB,sBAAuB,KACvBsD,qBAAqB,EACrBpqB,mBAAmB,EACnBlB,UAAW,GACXgB,eAAgB,CAAC,IAElBtb,WAAY,CACX8a,SAAU,CACTphB,QAAS,IAEVyvC,YAAa,CACZzvC,QAAS,IAEVkZ,YAAa,CACZ8B,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACXC,eAAgB,CAACyU,OAAQ,CAAChT,KAAM,WAChC4K,UAAW,CAACoI,OAAQ,CAAChT,KAAM,WAC3BX,MAAO,CAAC2T,OAAQ,CAAChT,KAAM,WACvB2Y,UAAW,CAAC3F,OAAQ,CAAChT,KAAM,WAC3Bka,YAAa,CAAClH,OAAQ,CAAChT,KAAM,WAC7B0B,OAAQ,CAACsR,OAAQ,CAAChT,KAAM,WACxBrB,MAAO,CAACqU,OAAQ,CAAChT,KAAM,WACvBgS,YAAa,CAACgB,OAAQ,CAAChT,KAAM,WAC7BsW,IAAK,CAACtD,OAAQ,CAAChT,KAAM,WACrBuW,cAAe,CAACvD,OAAQ,CAAChT,KAAM,WAC/B2V,SAAU,CACT3V,KAAM,SACN1B,WAAY,CACXuX,SAAU,CAAC7V,KAAM,UACjB8V,cAAe,CAAC9V,KAAM,UACtBmZ,OAAQ,CAACnZ,KAAM,YAGjBgR,MAAO,CAACgC,OAAQ,CAAChT,KAAM,UACvB2xB,SAAU,CAAC3e,OAAQ,CAAChT,KAAM,WAC1B6Y,iBAAkB,CAAC7F,OAAQ,CAAChT,KAAM,WAClC6a,eAAgB,CAAC7H,OAAQ,CAAChT,KAAM,WAChCqW,UAAW,CAACrD,OAAQ,CAAChT,KAAM,WAC3B0nC,OAAQ,CAAC10B,OAAQ,CAAChT,KAAM,eAI3B4Z,eAAgB,CACf5G,OAAQ,CACPhT,KAAM,SACN1B,WAAY,CACXrE,MAAO,CAAC+F,KAAM,UACdsB,MAAO,CAACtB,KAAM,UACdyB,KAAM,CAACzB,KAAM,UACbsE,MAAO,CAACtE,KAAM,UACdgF,QAAS,CAAChF,KAAM,aAInBgZ,OAAQ,CACPhhB,QAAS,IAEVua,SAAU,CACTva,QAASsU,IAEV6T,eAAgB,CACfnoB,SAAS,GAEV0hC,SAAU,CACT1hC,SAAS,GAEV6S,WAAY,CACX7S,QAAS,IAEV2hB,iBAAkB,CACjB3hB,SAAS,GAEV+hB,WAAY,CACX/hB,SAAS,GAEVgiB,YAAa,CACZhiB,SAAS,GAEVimB,eAAgB,CACfjmB,QAAS,OAGXgL,KJ5DerE,IAAU,IAAAgpC,EAAAC,EACzB,MAAM,YACL12B,EAAW,mBACXywB,EAAkB,UAClBn1B,EAAS,aACT2E,EAAY,oBACZ+yB,EAAmB,kBACnBpqB,EAAiB,UACjBlB,EAAS,eACTgB,GACGjb,EAEJ,IAAKuS,GAAmD,IAApC/Y,OAAOyyB,KAAK1Z,GAAana,OAC5C,OAAO,KAGR,MAAM,YACLmjB,EAAW,MACXlJ,EAAK,SACL2gB,EAAQ,eACR9W,EAAc,iBACdhC,EACAla,MAAO2P,GACJ4C,GACE,SACLqB,EAAQ,eACR4N,EAAc,WACdtV,EAAU,OACVmO,EAAM,iBACNW,EAAgB,WAChBI,EAAU,YACVC,EAAW,eACXiE,GACGtf,EAAML,WAEJkc,EAA2B,YAAf3P,EACZ8K,GAAWzE,aAAW,EAAXA,EAAayE,WAAY,CAAC,EACrCC,GAAc1E,aAAW,EAAXA,EAAa0E,cAAe,CAAC,GAC3C,gBAACqL,EAAe,kBAAEyK,GAAqBiG,QAAAA,EAAY,CAAC,EAEpD1gB,EAAmB,CACxBgQ,kBACAyK,oBACA7Q,iBACAhC,oBAGKgvB,EAA0BA,KAC/B,MAAM5tB,EAAW,CAChBtB,UAAWzH,aAAW,EAAXA,EAAayH,UACxBpa,eAAgB2S,aAAW,EAAXA,EAAa3S,eAC7BqM,UAAWsG,aAAW,EAAXA,EAAatG,UACxBvL,MAAO6R,aAAW,EAAXA,EAAa7R,MACpBuZ,YACAvC,UAAWnF,aAAW,EAAXA,EAAamF,UACxB6D,YAAahJ,aAAW,EAAXA,EAAagJ,YAC1B5D,IAAKpF,aAAW,EAAXA,EAAaoF,IAClBC,cAAerF,aAAW,EAAXA,EAAaqF,cAC5ByC,SACA/H,oBAGD,OACCpO,EAAAA,GAAAA,eAAA,eACC,eACAmG,UAAW,CAAC,CAACC,OAAQ,aAAcrS,QAAS,YAC5C64B,YAAY,QACZ,mBACA1mB,OAAQm7B,EACR,iBAAgB,CAACxsC,GAAI,4BAErBmL,EAAAA,GAAAA,eAAA,qBACCoC,KAAK,KACLiE,MAAI,EACJlE,QAAQ,WACRvD,KAAK,qBACLsD,KAAK,aAENlC,EAAAA,GAAAA,eAAA,+BACCkC,KAAK,UACL6U,eAAgBA,aAAc,EAAdA,EAAiBtL,GACjCA,WAAYA,EACZqH,SAAUA,EACVmE,kBAAmBA,EACnBG,SAAUA,EACVpP,WAAYA,EACZ+K,YAAaA,EACb+D,iBAAkBA,EAClBrE,SAAUpE,aAAW,EAAXA,EAAaoE,SACvByE,WAAYA,EACZC,YAAaA,MAMX/G,EACL3E,IAAe1B,GAAeC,cAlHX,kBAEpB,mEAmHMi2B,GAAa9xB,aAAK,EAALA,EAAOja,QAAS,GAAKia,EAAMA,EAAMja,OAAS,GACvDub,GAAkBwwB,aAAU,EAAVA,EAAYxhC,SAASwhC,aAAU,EAAVA,EAAYhxB,WAEnDY,GACL7P,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,cAASqX,IA6DL4tB,EAAoBA,CAACnE,EAASoE,EAAUC,KAC7C,MAAMN,EAASM,aAAM,EAANA,EAAQN,OACjB3E,EAAciF,aAAM,EAANA,EAAQjF,YACtBvX,EAAQkc,GAAU3E,EACxB,OAAK90B,GAA0BsB,IAAIo0B,IAKlC9gC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oBACbkgC,IAAY/2B,GAAeI,YAAc,MACzCnK,EAAAA,GAAAA,eAAA,0BACCoO,iBAAkB82B,EAClB72B,YAAa82B,EACbzc,aAAchZ,IAAajG,GAC3B6T,eAAgBA,EAChBqL,MAAOA,EACPhR,UAAWA,EACXlF,SAAU0yB,aAAM,EAANA,EAAQ1yB,SAClBmW,mBAAoBuc,aAAM,EAANA,EAAQvc,mBAC5BlZ,SAAUA,EACV0L,eAAgBA,GAEf1L,IAAajG,KACbzJ,EAAAA,GAAAA,eAAA,OAAKkC,KAAK,kBAAkB8iC,QApB1B,MA6BHI,EAAsBC,IAC3B,GACC55B,IAAe1B,GAAeC,eAC9ByB,IAAe1B,GAAeK,WAC9BqB,IAAe1B,GAAeM,WAE9B,OAAO,KAGR,MAAM,KAACqa,EAAO,KAAI,QAAEsa,GAAU,GAAQqG,GAAqB,CAAC,EAG5D,IAAIC,EAAgB,KACpB,GAHoBtG,IAAYta,EAK9B4gB,EADGtG,GAAWtvB,IAAajG,IAE1BzJ,EAAAA,GAAAA,eAAA,uBAAqBY,UAAU,2BAEtBo+B,GAETh/B,EAAAA,GAAAA,eAAA,OAAKY,UAAU,uBACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,uBAAuBiQ,GAAcE,UACpD/Q,EAAAA,GAAAA,eAAA,uBAAqBY,UAAU,6BAKhCZ,EAAAA,GAAAA,eAAA,oCACCY,UAAU,qBACV0a,QAAS,CAAC7c,MAAO,IACjB1K,QAAS8c,GAAcG,UACvBu0B,UAAU,0BAIP,CACN,MAAM,QACLpjC,EAAO,QACPpO,EAAO,cACP+2B,EAAa,SACb4O,EAAQ,aACRlD,EAAY,OACZ9I,EAAM,YACNuJ,EAAW,SACXJ,GACGnS,EACJ4gB,GACCtlC,EAAAA,GAAAA,eAAA,4BACCm7B,YAAanxB,GACb7H,QAASA,EACTpO,QAASA,EACT+2B,cAAeA,EACf4C,OAAQA,EACRgM,SAAUA,EACV7C,SAAUA,EACVI,YAAaA,EACbvO,aAAchZ,IAAajG,GAC3B6T,eAAgBA,EAChB5N,SAAUA,EACV0L,eAAgBA,EAChB3P,WAAYA,EACZ1D,UAAWsG,aAAW,EAAXA,EAAatG,UACxBvL,MAAO6R,aAAW,EAAXA,EAAa7R,MACpB2Z,OAAQA,EACRqgB,aAAcA,GAEb9mB,IAAajG,KACbzJ,EAAAA,GAAAA,eAAA,OAAKkC,KAAK,kBAAkB8iC,KAIhC,CAEA,OACChlC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,mBACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,oBAAoB0kC,KAuChCE,EAA6BA,KAClC,MAAMC,EAAiBh6B,IAAe1B,GAAeC,cAC/C07B,EAAej6B,IAAe1B,GAAeI,YAEnD,OACCnK,EAAAA,GAAAA,eAAA,OAAKY,UAAU,+BACZ6kC,IACDzlC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BAhBa+kC,MAC/B,MAAM/mC,EAAO88B,GAAmBjwB,GAChC,OAAK7M,GAIEoB,EAAAA,GAAAA,eAAA,YAAUY,UAAU,2BAA2BhC,KAAMA,IAHpD,MAcH+mC,GACAl2B,IACAzP,EAAAA,GAAAA,eAAA,QAAMY,UAAU,uBAAuB6O,KAIxCi2B,GAAgBrzB,GAAoB0E,aAAc,EAAdA,EAAiBtL,MAuB1D,OAAIiE,IAAajG,GAlBQm8B,MACxB5lC,EAAAA,GAAAA,eAAA,YACC,iBACAY,UAAW,eAAe2J,GAAoBkB,OAE9CzL,EAAAA,GAAAA,eAAA,OAAKY,UAAU,sBACb4kC,IA3D0BK,MAC7B,MAAMH,EAAej6B,IAAe1B,GAAeI,YAC7C27B,EACLr6B,IAAe1B,GAAeC,eAC9ByB,IAAe1B,GAAeK,WAC9BqB,IAAe1B,GAAeM,YAEzB,KAACqa,EAAO,KAAI,QAAEsa,GAAU,GAAQ1wB,GAAgB,CAAC,EACjDy3B,EAAc/G,IAAYta,EAC1BqI,GACH+Y,IAAwBv6B,GAAcE,IACvCq6B,GAAuBC,EAEzB,OACC/lC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACbmsB,IACA/sB,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,KACP2lC,GAAgBtyB,GAAgB/E,IACjCrO,EAAAA,GAAAA,eAAA,OAAKY,UAAU,qBAAqBokC,QA0CrCa,MAEA13B,aAAK,EAALA,EAAOja,QAAS,IAAK20B,aAAiB,EAAjBA,EAAmBxK,gBACzCre,EAAAA,GAAAA,eAAA,OAAKY,UAAU,uBACbqkC,EAAkBx5B,EAAY2C,EAAkBC,GAChD+2B,EAAmB92B,KAOhBs3B,IAIP5lC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,wBACdZ,EAAAA,GAAAA,eAAA,kBACCqP,OAAQ1F,GAAakG,EACrBO,WAAYA,EACZjC,MAAOuB,IAAajG,GAAqB,GAAK0E,EAC9C2B,UAAWgvB,EACXn1B,UAAW8B,IAAe1B,GAAeI,YACzCuF,SAAUA,EACVjE,WAAYA,EACZgE,gBAAiBA,EACjBrB,iBAAkBA,EAClBC,YAAaA,EACbC,aAAcA,IAjOhBtO,EAAAA,GAAAA,eAACD,GAAAA,SAAQ,MACRC,EAAAA,GAAAA,eAAA,OAAKkC,KAAK,oBAERuJ,IAAe1B,GAAeI,aAC9BuF,IAAajG,KACT4I,GAAoB0E,aAAc,EAAdA,EAAiBtL,MAE3CzL,EAAAA,GAAAA,eAAA,OAAKkC,KAAK,mBAzCU8jC,MACrB,MAAMC,EAAY5uB,GACfzhB,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,oBAAqB,CACtE0d,KAEAzhB,EAAAA,EAAAA,GAAE,CAAC8D,KAAM,8BAA+BC,QAAS,iBAC9CusC,GAActwC,EAAAA,EAAAA,GAAE,CACrB8D,KAAM,8BACNC,QAAS,iBAGV,OAAI+V,IAAajG,GACT,MAIPzJ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,6BACdZ,EAAAA,GAAAA,eAAA,qBACCmC,QAAQ,WACRkE,MAAI,EACJ,oBAAmB,CAAClJ,KAAM,gBAAiBsB,MAAO,kBAClDG,KAAK,sBACL,cAAa,CACZkI,OAAQ,CACP,aAAcm/B,IAGhBt/B,eAAgBu/B,MAcWF,KAC7BhmC,EAAAA,GAAAA,eAAA,OAAKkC,KAAK,cACR2Q,GAAeC,EAAUC,EAAa1E,aAAW,EAAXA,EAAaoE,YAErDzS,EAAAA,GAAAA,eAAA,OACCkC,KAAK,sBACLrB,MAAO,CACN,sBAAsB,EACtB,YAAa6O,IAAajG,KAG1B2J,GAAgB/E,MAmNjBqB,IAAajG,MACZ0E,aAAK,EAALA,EAAOja,QAAS,IAAK20B,aAAiB,EAAjBA,EAAmBxK,gBACxCre,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,OAAKY,UAAU,kBACbqkC,EAAkBx5B,EAAY2C,EAAkBC,GAChD+2B,EAAmB92B,KAErBtO,EAAAA,GAAAA,eAAA,8BACC,oBAAmBoO,EACnBwgB,aAAcrjB,GAAcE,GAC5B8hB,uBACCjf,SAAkB,QAANw2B,EAAZx2B,EAAcoW,YAAI,IAAAogB,GAAlBA,EAAoB7N,aACiB,QADN8N,EAC3Bz2B,EAAaoW,KAAK+d,uBAAe,IAAAsC,EAAAA,EAClC,QAOV,EI3UA7jC,eAAc,GACdilC,WAAY,CACX,+BAAgC,CAC/BpqC,QAAS,CACRoa,OAAQ,GACRra,MAAO,GACP2iC,cAAe,KAGjB,mCAAoC,CACnC1iC,QAAS,CACRoa,OAAQ,GACRza,eAAgB,GAChB4S,aAAc,CAAC,KAIlBtN,OAAM,GACNkG,UAAW,CAACk/B,M,eClHb1uC,EAAAA,EAAAA,qBAAoB,gCAAiC,CACpDsK,SAAU,CAAC7E,KAAM8E,GAAAA,SACjBxG,WAAY,CACXsb,eAAgB,CACf5G,OAAQ,CACPhT,KAAM,WAGRkpC,wBAAyB,CACxBlxC,QAAS,GACTgb,OAAQ,CACPhT,KAAM,QACNoJ,MAAO,CACNpJ,KAAM,SACN1B,WAAY,CACXsa,UAAW,CAAC5Y,KAAM,UAClBrB,MAAO,CAACqB,KAAM,UACdoZ,SAAU,CAACpZ,KAAM,UACjBynC,YAAa,CAACznC,KAAM,UACpBgZ,OAAQ,CAAChZ,KAAM,UACfkR,YAAa,CACZlR,KAAM,SACN1B,WAAY,CACXC,eAAgB,CAACyB,KAAM,UACvB4K,UAAW,CAAC5K,KAAM,UAClBX,MAAO,CAACW,KAAM,UACd2Y,UAAW,CAAC3Y,KAAM,UAClBka,YAAa,CAACla,KAAM,UACpB0B,OAAQ,CAAC1B,KAAM,UACfrB,MAAO,CAACqB,KAAM,UACdgS,YAAa,CAAChS,KAAM,UACpBgR,MAAO,CAAChR,KAAM,QAASoJ,MAAO,CAACpJ,KAAM,WACrCmpC,OAAQ,CAACnpC,KAAM,WACf2V,SAAU,CACT3V,KAAM,SACN1B,WAAY,CACXuX,SAAU,CAAC7V,KAAM,UACjB8V,cAAe,CAAC9V,KAAM,UACtBmZ,OAAQ,CAACnZ,KAAM,mBAUxBgD,KCnDerE,IACf,MAAMib,EAAiBjb,EAAML,WAAWsb,eAClCsvB,EACLvqC,EAAML,WAAW4qC,yBAA2B,GAE7C,GAAKA,EAAwBnyC,OAI7B,OACC8L,EAAAA,GAAAA,eAAA,OAAKY,UAAU,2BACdZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,cACbylC,EAAwBxyC,IAAKotC,GAE3BA,SAAAA,EAAS5yB,aACT4yB,EAAQ5yB,YAAYyH,WACpBmrB,EAAQ5yB,YAAYgJ,aACpB4pB,EAAQ5yB,YAAY3S,gBAMrBsE,EAAAA,GAAAA,eAAA,YACC4pB,QAAS,CAACnoB,MAAO,KAAMU,QAAS,WAChCC,KAAK,KACL,eAAa,EACb1L,IAAKuqC,EAAQ9qB,OACbvV,UAAU,kBAEVZ,EAAAA,GAAAA,eAAA,sBACCuW,SAAU0qB,EAAQ1qB,SAClBquB,YAAa3D,EAAQ2D,YACrBv2B,YAAa4yB,EAAQ5yB,YACrB,UAAS4yB,EAAQ9qB,OACjB,YAAW1M,GACXsN,eAAgBA,KAjBX,OAyBZ,EDQA/V,OAAMA,KErDA,MAAMulC,IAAkB3wC,EAAAA,EAAAA,GAAE,CAChC8D,KAAM,8BACNC,QAAS,gBAOG6sC,KAJwB5wC,EAAAA,EAAAA,GAAE,CACtC8D,KAAM,8BACNC,QAAS,cAE+B/D,EAAAA,EAAAA,GAAE,CAC1C8D,KAAM,8BACNC,QAAS,yBAEG8sC,IAAiB7wC,EAAAA,EAAAA,GAAE,CAC/B8D,KAAM,8BACNC,QAAS,mBAEG+sC,IAAqB9wC,EAAAA,EAAAA,GAAE,CACnC8D,KAAM,8BACNC,QAAS,2BAIGgtC,IAAgB/wC,EAAAA,EAAAA,GAAE,CAC9B8D,KAAM,8BACNC,QAAS,+BAIGitC,GAA0B,0BAC1BC,GACZ,oCACYC,GAAiC,iCACjCC,GACZ,kCACYC,GAA0B,0BAC1BC,GACZ,2CACYC,GAA8B,8BAI9BC,GAA4B,iCAC5BC,GACY,yBADZA,GAEgB,6BAFhBA,GAGQ,qBAHRA,GAIa,0BAJbA,GAKU,sCAGVC,IAAyBzxC,EAAAA,EAAAA,GAAE,CACvC8D,KAAM,8BACNC,QAAS,SAGGgX,GAAe,CAC3B22B,0BAA2B,4BAC3BC,eAAgB,iBAChBC,yBAAyB5xC,EAAAA,EAAAA,GAAE,CAC1B8D,KAAM,8BACNC,QAAS,kBAEV8tC,kBAAkB7xC,EAAAA,EAAAA,GAAE,CACnB8D,KAAM,8BACNC,QAAS,qBAEV+tC,eAAgB,iBAChBC,mBAAoB,sBAGRC,GACH,UADGA,GAEL,QAFKA,GAGH,UAHGA,GAIL,QAMKC,IAAOjyC,EAAAA,EAAAA,GAAE,CACrB8D,KAAM,8BACNC,QAAS,SAEGmuC,IAAQlyC,EAAAA,EAAAA,GAAE,CACtB8D,KAAM,8BACNC,QAAS,U,cCtFV,MAAM,GAFEtC,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,SAAc,KAClD,MAAMC,EAAYwwC,EAAkF5yC,SAAW4yC,EAAkF7yC,WAG1L,OAAIqC,EACHwwC,EAA2F,QAAEC,SAI9FD,EAAkFC,UAAYD,EAA2F,SAAKA,EAA2F,QAAEC,YCXvS,IAAIC,GAAkB,KAEf,MAiBDC,GAA0B,SAACC,GAA2C,IAA3BC,EAAiBzyC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,GAEpE,OAnBgC,SAAC0lB,GAMjC,OALK4sB,KACJA,GAAkB,IAAIjM,KAFoCrmC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,IAG1C9B,IAAI,CAACiI,EAAO6S,IAAU,CAAC7S,EAAO6S,MAG3C,IAAI0M,GAASgtB,KAAK,CAAC7xC,EAAG8xC,KACbL,GAAgBv7B,IAAIlW,EAAE3B,IAClCozC,GAAgBnxC,IAAIN,EAAE3B,IACtB0zC,MACYN,GAAgBv7B,IAAI47B,EAAEzzC,IAClCozC,GAAgBnxC,IAAIwxC,EAAEzzC,IACtB0zC,KAGL,CAIQC,CADcL,EAAet0C,IAAKiI,IAAK,CAAOjH,GAAIiH,KAClBssC,GAAmBv0C,IACxD40C,GAAQA,EAAI5zC,GAEf,EAqBa6zC,GAAc,SAC1BC,GAGI,IAFJR,EAAcxyC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,GACjByyC,EAAiBzyC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,GAEpB,MAAMizC,EACLT,EAAej0C,OAAS,EACrBg0C,GAAwBC,EAAgBC,GACxCA,GAEE,aAACS,GA7BmBF,KAC1B,MAAME,EAAe,IAAI7M,IAezB,OAbA2M,EAAMjpB,QAASihB,IAAS,IAAAmI,EACvB,GAAKnI,UAAAA,EAAMxqB,OACV,OAGD,MAAMra,EAAwB,QAAnBgtC,EAAGnI,EAAKtyB,mBAAW,IAAAy6B,OAAA,EAAhBA,EAAkBhtC,MAC3BA,GAIL+sC,EAAapgC,IAAI3M,EAAO,IAAK+sC,EAAa/xC,IAAIgF,IAAU,GAAK6kC,MAGvD,CAACkI,iBAaeE,CAAkBJ,GAKzC,OAAOC,EAAaI,QAASltC,GAAU+sC,EAAa/xC,IAAIgF,IAAU,GACnE,EAoBa+gB,GAAiBC,IAC7B,IACC,OAAOzE,KAAK0E,MAAMD,EACnB,CAAE,MACD,OAAO,IACR,GCpFKmsB,GAAiB,IAAIrhC,QAErBshC,GAAqB,IAAIC,QAE/B,SAASC,KAA2C,IAA/B7xB,EAAE5hB,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG41B,SAAS8d,gBAClC,IACC,KAAM9xB,aAAc+xB,SACnB,MAAM,IAAIC,MAAM,qBAGjB,MAAMroB,EAAQuZ,iBAAiBljB,GAC/B,IAAK2J,IAAUA,EAAMsoB,SACpB,MAAM,IAAID,MAAM,yBAGjB,MAAME,EAAKjP,WAAWtZ,EAAMsoB,UAC5B,GAAI13B,MAAM23B,GACT,MAAM,IAAIF,MAAM,4BAGjB,OAAOE,CACR,CAAE,MAAOC,GAER,OADA1qC,QAAQsqB,KAAK,+CAAgDogB,GACtD,EACR,CACD,CAEO,SAASC,KACf,OA9B6B,IA6BkBh0C,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAGyzC,KAEnD,CAEe,SAASQ,GACvBpV,EACAqV,GAEC,IAAAC,EAAA,IADDC,EAAgBp0C,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,IAAAA,UAAA,GAEhB,GAtC6B,KAsCzByzC,KACH,OAKD,GAFAS,EAAuB,QAAbC,EAAGD,SAAU,IAAAC,EAAAA,EAAIH,MAEtBnV,EAAQ8F,WACZ,OAGD,MAAM0P,EAAOxV,EAAQyV,YACrB,IAAIC,EAAajB,GAAenyC,IAAIkzC,GAC/BE,IACJA,EAAa,IAAIf,QACjBF,GAAexgC,IAAIuhC,EAAME,IAG1B,MAAMC,EACL,4HAEKC,EAAgB1uB,GACrBA,EAAKvgB,SAAS,2CACdugB,EAAKvgB,SAAS,yCACdugB,EAAKvgB,SAAS,0BAETkvC,EAAuBC,IAC5B,IAAIC,EAAcD,EAalB,OAZAC,EAAcA,EAAY7tB,QACzB,4BACA,CAACsB,EAAO5mB,IACHA,EAAM+D,SAAS,0BACX6iB,EAEJ5mB,EAAMozC,WAAW,QACb,iDAAiDpzC,MAElD4mB,GAGFusB,GAIR,IAAK,MAAME,KAASjW,EAAQ8F,WAAWoQ,oBAAsB,GAC5D,IAAIR,EAAWx9B,IAAI+9B,GAInB,IACC,IAAK,IAAIr2C,EAAI,EAAGA,EAAIq2C,EAAME,SAASz2C,OAAQE,IAAK,CAC/C,MAAMw2C,EAAOH,EAAME,SAASv2C,GAC5B,IAAKw2C,IAASA,EAAKC,QAClB,SAED,GAAIT,EAAaQ,EAAKC,SACrB,SAGD,IAAIC,EAAUF,EAAKC,QACnBC,EAAUF,EAAKC,QAAQnuB,QACtBytB,EACA,CAAC5mB,EAAGwnB,IAAQvQ,WAAWuQ,GAAOlB,EAAa,OAExCE,GAAoBe,EAAQ3vC,SAAS,eACxC2vC,EAAUT,EAAoBS,IAG3BF,EAAKC,UAAYC,IACpBL,EAAMO,WAAW52C,GACjBq2C,EAAMQ,WAAWH,EAAS12C,GAE5B,CACA81C,EAAWxoB,IAAI+oB,EAChB,CAAE,MAAOf,GACR1qC,QAAQsqB,KAAK,+BAAgCogB,EAC9C,CAIDlV,EAAQ8F,WAAW7a,iBAAiB,SAASC,QAASwrB,IACrD,IACC,GAAIhC,GAAmBx8B,IAAIw+B,GAC1B,OAGD,MAAMC,EAAOD,EAAQrrB,YACrB,IAAKsrB,EACJ,OAGDD,EAAQrrB,YAAcsrB,EAAKzuB,QAC1BytB,EACA,CAAC5mB,EAAGwnB,IAAQvQ,WAAWuQ,GAAOlB,EAAa,OAExCE,GAAoBmB,EAAQrrB,YAAY1kB,SAAS,eACpD+vC,EAAQrrB,YAAcwqB,EAAoBa,EAAQrrB,cAEnDqpB,GAAmBxnB,IAAIwpB,EACxB,CAAE,MAAOxB,GACR1qC,QAAQsqB,KAAK,8BAA+BkL,EAAQ/3B,QAASitC,EAC9D,IAIDlV,EAAQ8F,WAAW7a,iBAAiB,KAAKC,QAAS0rB,IAC7CA,EAAM9Q,YACTsP,GAAgBwB,EAAOvB,EAAYE,IAGtC,CCjFA,MACC/vC,uBAAsB,GACtBkW,wBAAuB,GACvBzI,uBAAsB,GACtBxN,2BAA0BA,IACvBxC,EAAAA,YAEE4zC,IAA0BrD,EAAAA,GAAAA,UAAS4B,GAAiB,KASpD0B,GAAqB,IAAItP,IAMzBuP,IAAuB1zC,EAAAA,EAAAA,kBAC5B,wDACA,CACCsC,OAAQ,OACRgb,UAAW,UACX7a,kBAAmBusC,GACnBtsC,gBAAiBusC,KAQb0E,IAAoB3zC,EAAAA,EAAAA,kBAAiB+Y,GAA4B,CACtEzW,OAAQ,OACRgb,UAAW,OACXC,QAAS,CACR,eAAgB,oBAEjB9a,kBACCmxC,GACDlxC,gBACCkxC,KAGIrO,IAAmBxB,EAAAA,GAAAA,6BACxB,4CACA,CACCyB,0BAA2B+J,KAQvBsE,IAA+B9P,EAAAA,GAAAA,6BACpC,8BACA,CACCyB,0BAA2B+J,KAIvB3J,GAAqB3O,GACrBA,SAAAA,EAAUjG,kBAGfxzB,EAAA,GACIy5B,EAAQ,CACXjG,kBAAiBxzB,EAAA,GACby5B,EAASjG,kBAAiB,CAC7BxK,YACmD,iBAA3CyQ,EAASjG,kBAAkBxK,YAC/BxB,GAAciS,EAASjG,kBAAkBxK,aACzCyQ,EAASjG,kBAAkBxK,gBATzByQ,EAoBH6c,GAA4BA,CACjCnwC,EACAopC,EACAgH,EACAruC,KAaA,GAFA/B,EAASorC,GAAyB,CAAC7qC,QATnB,CACf6oC,cACAgH,cACA/zB,OAAQ,GACR8kB,cAAe,QACfC,gBAAgB,EAChBC,mBAAmB,MAKf+O,EACJ,OAGD,MAAMrP,EAAaC,KAAK,uBAAuBoP,KAAelvB,QAC7D,KACA,KAGKmvB,EAAmBrP,KAAK,QAAQoP,KAAelvB,QAAQ,KAAM,KAGnElhB,EAAS4rC,GAAgC,CACxCvhC,OAAQ02B,EACRh1B,WAAW,IAGZ/L,EAAS4rC,GAAqC,CAC7CvhC,OAAQgmC,EACRtkC,WAAW,IAGZhK,EAAY,CACXw/B,kBAAmB,CAACR,EAAYsP,MAI5B/O,GAAiCA,CAACthC,EAAUM,EAAOyB,OACrCzB,aAAK,EAALA,EAAOihC,oBAAqB,IACpCrd,QAAS7Z,IACnBrK,EAAS4rC,GAAkC,CAAC7/B,WAAW,EAAO1B,aAE/DtI,EAAY,CAACw/B,kBAAmB,MAGjC,IAAI+O,GAMJ,SAAAz2C,EAAA,CAKC,CAAC6xC,IAA8B,CAC9B5nC,OAAQ/D,IAAoD,IAAnD,OAACM,EAAM,MAAEC,EAAK,YAAEyB,EAAW,iBAAEuK,GAAiBvM,EACtD,MAAM,OACL4a,EAAM,MACNhI,EAAQ,KAAI,SACZ2gB,EAAQ,iBACR9Y,EAAgB,YAChBkqB,EAAW,eACXloB,GACGnc,EAAOE,SACL,eAACosC,GAAkBrsC,GACnB,eAACiwC,EAAc,kBAAE3D,GAAqBtsC,EAAML,WAE5CuwC,EAAeD,EAAel4C,IAAK8sC,IAAS,IAAAmI,EACjD,GAAInI,EAAKxqB,SAAWA,EACnB,OAAOwqB,EAGR,MAAO7kC,MAAO4jC,GAAgBiB,EAAKtyB,aAAe,CAAC,EACnD,IAAI49B,EAAevM,EACfT,EAA+B,QAAnB6J,EAAGnI,EAAKtyB,mBAAW,IAAAy6B,OAAA,EAAhBA,EAAkB36B,MAcrC,OAZIA,IAEe,IAAjBA,EAAMja,QACN,CAAC6V,GAAeC,cAAeD,GAAeK,WAAWjP,SACxD8wC,KAGDA,EAAeliC,GAAeR,QAE/B01B,EAAe9wB,GAGhB9Y,EAAA,GACIsrC,EAAI,CACPtyB,YAAWhZ,EAAA,GACPsrC,EAAKtyB,YAAW,CACnBvS,MAAOmwC,EACPnd,WACA9Y,mBACAkqB,cACAloB,uBACqBtjB,IAAjBuqC,GAA8B,CAAC9wB,MAAO8wB,QAK7Cn3B,EAAiB,CAChBikC,eAAgBC,IAGjBzuC,EAAY,CACX2uC,cAAexD,GACdsD,EACA7D,EACAC,OAUJ,CAACqD,IAAwD,CACxDnsC,OAAQ1D,IAAoD,IAAAuwC,EAAA,IAAnD,OAACtwC,EAAM,MAAEC,EAAK,YAAEyB,EAAW,iBAAEuK,GAAiBlM,EACtD,MAAM,OAACua,EAAQra,MAAO+iC,GAAYhjC,EAAOE,SACnC,eAACosC,GAAkBrsC,GACnB,eAACiwC,EAAc,kBAAE3D,GAAqBtsC,EAAML,WAE5C2wC,EAAaL,EAAe7sB,KAAMyhB,GAASA,EAAKxqB,SAAWA,GACjE,IAAKi2B,IAAoC,QAAtBD,EAAAC,EAAW/9B,mBAAW,IAAA89B,OAAA,EAAtBA,EAAwBrwC,SAAU+iC,EACpD,OAGD,MAAMmN,EAAeD,EAAel4C,IAAK8sC,GACxCA,EAAKxqB,SAAWA,EAAM9gB,EAAA,GACfsrC,EAAM,CAAAtyB,YAAWhZ,EAAA,GAAMsrC,EAAKtyB,YAAa,CAAAvS,MAAO+iC,MACpD8B,GAGJ74B,EAAiB,CAACikC,eAAgBC,IAClCzuC,EAAY,CACX2uC,cAAexD,GACdsD,EACA7D,EACAC,OASJ,CAACt9B,IAAgD,CAOhDxL,OAAQjC,IAAwD,IAAvD,OAACxB,EAAM,WAAEJ,EAAU,YAAE8B,EAAW,MAAEzB,EAAK,SAAEN,GAAS6B,EAC1D,MAAM,QAACtB,GAAWF,GACZ,eAACwwC,EAAc,WAAErkC,EAAU,UAAED,EAAS,MAAEvL,EAAK,eAAEuvC,GACpDtwC,EACK6f,EAAyB,YAAftT,EAA2B,GAAKqkC,EAEhD,GAAItwC,GAA4B,SAAjBA,EAAQoB,KAAiB,KAAAmvC,EACvC,MAAMC,EAAeR,EAAe7sB,KAClCyhB,GAASA,EAAKxqB,SAAWra,EAAM0wC,eAGhCD,SAAyB,QAAbD,EAAZC,EAAcl+B,mBAAW,IAAAi+B,OAAA,EAAzBA,EAA2BxwC,SAAUiO,GAAeC,eAMpDxO,EAASorC,GAAyB,CACjC7qC,QAAS,CACR6oC,YAAa78B,EACb6jC,YAAapvC,KAIhBe,EAAY,CACXivC,aAAc,KACdC,sBAAsB,EACtBnxB,YAED9f,EAASiZ,GAAyB,CACjCiB,UlEtTyB,iBkEuTzBC,SAAU,CACTQ,OAAQra,EAAM0wC,aACdE,cACgB,YAAf1kC,EAA2B,eAAiB,oBAC7C4N,UAAW3D,KAAK4D,QAGnB,GAEDpW,iBAAiB,GAUlB,CAACkR,GAAa22B,2BAA4B9pC,IAIpC,IAJqC,OAC1C3B,EAAM,SACNL,EAAQ,MACRM,EAAQ,CAAC,GACT0B,EACA,MAAM,aACLgvC,EAAY,cACZN,EACAzwC,YAAY,UAACsM,EAAS,MAAEvL,IACrBV,GAEHC,SAAUF,QAAQ,GAAChH,GAAM,CAAC,IACvBgH,EAEJ,GAAW,WAAPhH,EAAiB,CACpB,MAAM03C,EAAeC,EAClBN,EAAchtB,KAAMyhB,GAASA,EAAKxqB,SAAWq2B,GAC7C,MAEFn+B,aAAa,UACZyH,EAAS,eACTpa,EACAoX,UAAU,OAACwD,GACXxa,MAAO6wC,GACP,UACD52B,EAAS,SACTQ,EAAQ,YACRquB,EAAW,OACXzuB,GACGo2B,EAEAI,IAAc5iC,GAAeC,eAChCxO,EAASmV,GAAa+2B,eAAgB,CACrC5xB,YACApa,iBACAqa,YACAC,iBAAkBM,EAClBL,eAAgBM,GAAY/Z,EAC5B0Z,YAAa0uB,GAAe78B,EAC5BoO,UAGH,CAEW,eAAPthB,GACH2G,EAASmV,GAAag3B,qBAOxB,CAACf,IAA0B2E,GAK3B,CAAC1E,IAAoC,CASpCvnC,OAAQR,IAAmE,IAAlE,OAACjD,EAAM,SAAEL,EAAQ,YAAE+B,EAAW,iBAAEuK,EAAgB,MAAEhM,EAAQ,CAAC,GAAEgD,EACrE,MACC/C,SAAS,OAAC9G,IACP4G,EACE+wC,GAAY33C,aAAM,EAANA,EAAQgX,UAAW,GAC/B20B,GAAY3rC,aAAM,EAANA,EAAQ2rC,YAAa,CAAC,EAClCxlB,GAAiBnmB,aAAM,EAANA,EAAQmmB,iBAAkB,KAGjDzP,GAAuB1W,aAAM,EAANA,EAAQsrC,gBAE/Bz0B,GACC,mCACA8gC,EAAU/4C,IAAKC,IAAI,IAAA+4C,EAAA,MAAM,CACxB12B,OAAQriB,EAAK+sC,OACbl8B,aAAc7Q,EAAK6Q,aACnBm8B,QAAShtC,SAAa,QAAT+4C,EAAJ/4C,EAAMgtC,eAAO,IAAA+L,OAAA,EAAbA,EAAez1C,MACxB2pC,SAAUjtC,EAAKgI,MACf2Q,WAAY3Y,EAAK2Y,WACjBlB,cAAezX,EAAKyX,cACpBg0B,YAAazrC,EAAKqa,OAAS,IAAIja,WAIjC,MAAM,eACL44C,EAAiB,GAAE,eACnB3E,EAAiB,GAAE,aACnBqE,EAAY,oBACZO,EAAmB,kBACnBC,GACGlxC,EACJ,IAAI,eAACib,EAAc,kBAAEqxB,EAAiB,sBAAE6E,GACvCnxC,EAAML,WACP,MAAMyxC,EAAyBpxC,EAAML,WAAWswC,eF1YVoB,ME4YtCp2B,EAAiBA,GAAkB6pB,EACnCqM,EACCA,IF9YqCE,EE8Yap2B,EF7YrDzhB,OAAOgkC,OAAO6T,GACZtnC,OAAQ/J,IAAoC,IAA1BA,EAAMsxC,iBACxBv5C,IAAKiI,GAAUA,EAAM1E,QE4YrBgxC,EACCA,GFrZiC+E,IACpC73C,OAAOgkC,OAAO6T,GACZ9E,KAAK,CAAC7xC,EAAG8xC,IAAM9xC,EAAE62C,MAAQ/E,EAAE+E,OAC3Bx5C,IAAKiI,GAAUA,EAAM1E,OEkZCk2C,CAAqBv2B,GAE3C,IAAIw2B,EAAsB,KAC1B,MAAM5E,EAAQiE,EAAU/4C,IAAKC,IAAS,IAAA05C,EAAAC,EAAAC,EACrC,MAAMC,EAAeT,aAAsB,EAAtBA,EAAwBhuB,KAC3CyhB,GAASA,EAAKxqB,SAAWriB,EAAK+sC,QAE1B1C,GAAsBwP,aAAY,EAAZA,EAAct/B,cAAe,CAAC,EAGxDs/B,GACAJ,IACDR,GACCP,GAEG14C,EAAK85C,qBAAuB95C,EAAK+wC,SACpC0I,EAAsBz5C,EAAK+sC,QAO7B,MAAMgN,EACL/5C,EAAK2Y,aAAe3C,GACjBwhC,GAAmBx0C,IAAIhD,EAAK+sC,aAC5BnsC,EACEo5C,EAAoBD,QAAAA,EAAmB1P,EAAoBriC,MAC3DiyC,EAAkBvhC,GACvBshC,EACAh6C,SAAa,QAAT05C,EAAJ15C,EAAMgtC,eAAO,IAAA0M,OAAA,EAAbA,EAAep2C,MACftD,EAAK2Y,YAYN,OAVAX,GAAgB,oCAAqC,CACpDqK,OAAQriB,EAAK+sC,OACbzC,SAAUD,EAAoBriC,MAC9B+xC,kBACA3hC,SAAUpY,SAAa,QAAT25C,EAAJ35C,EAAMgtC,eAAO,IAAA2M,OAAA,EAAbA,EAAer2C,MACzBqV,WAAY3Y,EAAK2Y,WACjBxX,OAAQ84C,EACR1P,eAAgB0P,KAAoBj6C,SAAa,QAAT45C,EAAJ55C,EAAMgtC,eAAO,IAAA4M,OAAA,EAAbA,EAAet2C,SAG7C,CACN2e,UAAWjiB,EAAKiiB,WAAa,GAC7BQ,SAAUziB,EAAK0I,OAAS,GACxBooC,YAAa9wC,EAAKiU,WAAa,GAC/BoO,OAAQriB,EAAK+sC,QAAU,GACvB5pB,kBAAmBnjB,EAAKmjB,oBAAqB,EAC7C5I,YAAa,CACZ3S,eAAgB5H,EAAK6Q,cAAgB,GACrC6O,UAAW1f,EAAK0f,WAAa,GAC7BzL,UAAWjU,EAAKiU,WAAa,GAC7BvL,MAAO1I,EAAK0I,OAAS,GACrBsZ,UAAWhiB,EAAKmtC,SAAW,GAC3BvZ,QAAS5zB,EAAK4zB,QACdrQ,YAAavjB,EAAKujB,aAAe,GACjCxY,OAAQ/K,EAAK+K,QAAU,GACvB/C,MAAOiyC,EAGPthC,WAAY3Y,EAAK2Y,WACjB0C,YAAarb,aAAI,EAAJA,EAAMqb,YACnBmwB,MAAOxrC,EAAKwrC,OAAS,GACrBnxB,MAAOgwB,EAAoBhwB,OAASra,EAAKqa,OAAS,GAClD2gB,SAAUqP,EAAoBrP,UAAY,GAC1C9W,eAAgBmmB,EAAoBnmB,gBAAkB,GACtDhC,iBAAkBmoB,EAAoBnoB,kBAAoB,CAAC,EAC3DvC,IAAK3f,EAAK2f,KAAO,KACjBC,cAAe5f,EAAK4f,eAAiB,KACrCjB,SAAU3e,EAAK2e,WAAY,EAC3BmW,mBAAoB90B,EAAK80B,qBAAsB,EAC/C9V,SAAU,CACTE,SAAUlf,EAAKkf,UAAY,GAC3BC,cAAenf,EAAKmf,eAAiB,GACrCqD,OAAQxiB,EAAKwiB,QAAU,IAExBvD,YAAa,CACZiE,UAAWljB,EAAKkjB,WAAa,GAC7B9D,YAAapf,EAAKof,aAAe,GACjCC,iBAAkBrf,EAAKqf,kBAAoB,IAE5C0xB,OAAQ/wC,EAAK+wC,SAAU,MAKtBkI,GACHpE,EAAMjpB,QAASihB,MACCuM,SAAAA,EAAwBhuB,KACrC8uB,GAAMA,EAAE73B,SAAWwqB,EAAKxqB,UAGzB3a,EAASiZ,GAAyB,CACjCiB,UlE5iByB,mBkE6iBzBC,SAAU,CACTQ,OAAQwqB,EAAKxqB,OACbC,WACCuqB,EAAKtyB,YAAYyH,WAAa6qB,EAAKtyB,YAAYqZ,QAChDrR,aAAcsqB,EAAK5qB,UACnB1N,MAAOs4B,EAAKtyB,YAAYtG,UACxBwO,SAAUoqB,EAAKtyB,YAAY7R,MAC3ByxC,cAAetN,EAAKtyB,YAAYoE,SAC7B,aACA,SACHmD,UAAW3D,KAAK4D,WAOrB/N,EAAgBzS,EAAC,CAChB02C,eAAgBpD,EAChB5xB,iBACAqxB,oBACA6E,yBACI7xB,GAAkB,CAACA,oBAGxB7d,EAAY,CACXuvC,eAC2B,IAA1BA,EAAe54C,OACZoB,OAAOgkC,OAAOviB,GACbsxB,KAAK,CAAC7xC,EAAG8xC,IAAM9xC,EAAE62C,MAAQ/E,EAAE+E,OAC3Bx5C,IAAIoL,IAAA,IAAC,MAACR,EAAK,MAAErH,GAAM6H,EAAA,MAAM,CAACR,QAAO5J,GAAIuC,KACtC01C,EACJ3E,eAC2B,IAA1B2E,EAAe54C,OAAe+4C,EAAwB9E,EACvD+D,cAAexD,GACdC,EAC0B,IAA1BmE,EAAe54C,OAAe+4C,EAAwB9E,EACtDC,GAED8F,aACCvF,EAAMz0C,OAAS,EAAI0zC,GAAwBA,GAC5CmF,qBAAqB,IAGlBC,GAAqBR,IAAiBQ,GACzCzvC,EAAY,CACXivC,aAAc,KACdC,sBAAsB,EACtBnxB,QAAS,GACT0xB,kBAAmB,OAIjBO,GACH/xC,EAASyrC,GAA0C,CAClD9wB,OAAQo3B,MASZ,CAACzG,IAAiC,CAMjCxnC,OAAQH,IAAmB,IAAlB,YAAC5B,GAAY4B,EACrB5B,EAAY,CACX2uC,cAAe,GACf/D,eAAgB,GAChB+F,aAActG,OAQjB,CAAC5tC,IAAyB,CAQzBsF,OAAQC,IAA+C,IAA9C,KAAC0I,EAAI,WAAExM,EAAU,SAAED,EAAQ,YAAE+B,GAAYgC,EACjD,MAAM,UAACwI,EAAS,MAAEvL,EAAK,eAAE6vC,EAAc,eAAEN,EAAc,WAAE/jC,GACxDvM,EAED,GAAmB,YAAfuM,EAA0B,CAC7B,MAAM+hC,GAAmB,EACzBsB,GAAwBpjC,EAAM0hC,KAAuBI,EACtD,CAEA,IAAKvtC,IAAUuL,EACd,OAiBD,GAbAxK,EAAY,CAAC+d,QADkB,YAAftT,EAA2B,GAAKqkC,EAC1BrkC,eAEtBxM,EAASiZ,GAAyB,CACjCiB,UlE/nBqC,4BkEgoBrCC,SAAU,CACTtN,MAAON,EACPwO,SAAU/Z,EACVkwC,cACgB,YAAf1kC,EAA2B,eAAiB,oBAC7C4N,UAAW3D,KAAK4D,SAIJ,OAAVrZ,EAAgB,CACnB,IAAIuvC,aAAc,EAAdA,EAAgB73C,QAAS,EAI5B,YAHAsH,EAASqrC,GAAmC,CAC3C5xC,OAAQ,CAACgX,QAAS8/B,KAIpBxuC,EAAY,CAAC2wC,aAActG,KAC3B+D,GAA0BnwC,EAAUuM,EAAWvL,EAAOe,EACvD,CAEAuuC,IAAsBvkC,EAAAA,GAAAA,WAAU,CAC/B4mC,YJ5mB0B,0BI6mB1B31B,QAAS,CACR3c,OAAQ,YACR8a,OAAQ,UAETy3B,SAAW1pB,IACV,MAAMvO,EAASuO,EAAKvO,OACpB3a,EAASyrC,GAA0C,CAAC9wB,OAAQA,QAI/D1W,iBAAiB,GAElB,CAACyQ,IAAuBxQ,GAA8C,IAA5C,KAACuI,EAAMxM,YAAY,WAACuM,GAAW,SAAExM,GAASkE,EACnE,GAAmB,YAAfsI,EAA0B,CAC7B,MAAM+hC,GAAmB,EACzBsB,GAAwBpjC,EAAM0hC,KAAuBI,EACtD,CACAvuC,EJrqBD,qDIsqBA,EACA,CAACvB,IAA6B,CAC7BqF,OAAQK,IAOF,IAPG,OACR9D,EAAM,SACNL,EAAQ,iBACRsM,EAAgB,WAChBrM,EAAU,YACV8B,EAAW,MACXzB,GACA6D,EACA,MAAM,KAAC3D,EAAI,MAAE5E,EAAK,cAAE6E,GAAiBJ,EAAOE,SACtC,UAACgM,GAAatM,EJ5oBD,UI+oBPO,GACX+L,GACU,OAAV3Q,GACAA,IAAU6E,IAEV6gC,GAA+BthC,EAAUM,EAAOyB,GAChDuK,EAAiB,CAChBtL,MAAOpF,IAGRu0C,GAA0BnwC,EAAUuM,EAAW3Q,EAAOmG,KAGxDkC,iBAAiB,GAOlB,CAACgI,IAAyB5H,IAAoC,IAAnC,SAACrE,EAAQ,MAAEM,EAAK,YAAEyB,GAAYsC,EACxDi9B,GAA+BthC,EAAUM,EAAOyB,GAChDuuC,MAMD,CAAC1E,IAAiChK,GAKlC,CAACgK,IAAsCsE,GAQvC,CAACtE,IAAqC9e,IAA+B,IAA9B,OAACzsB,EAAM,SAAEL,EAAQ,MAAEM,GAAMwsB,EAC/D,MAAM,UAACvgB,EAAS,MAAEvL,GAASV,EAAML,YAC1BopB,OAAQ2R,GAAgB36B,EAAOE,QAAQ2oB,KAE1C8R,GACHh7B,EAASorC,GAAyB,CACjC7qC,QAAS,CACR6oC,YAAa78B,EACb6jC,YAAapvC,EACbmgC,cAAe,YAMnB,CAACyK,IAAyC5e,IAKpC,IALqC,OAC1C3sB,EAAM,MACNC,EAAK,iBACLgM,EAAgB,YAChBvK,GACAirB,EACA,MAAM,eAAC2f,EAAc,kBAAEC,GAAqBtsC,GACtC,eAACkc,EAAc,UAAE2lB,EAAS,SAAE7O,EAAQ,MAAE3gB,EAAK,OAAEgI,EAAM,MAAEmpB,GAC1DzjC,EAAOE,QAAQ2oB,MACV,eAACqnB,GAAkBjwC,EAAML,WAc/B,GAZAqQ,GAAgB,6CAA8C,CAC7DqK,SACAwnB,YACA4B,YAAapxB,GAAS,IAAIja,OAC1BsrC,cAAe1Q,EACf2Q,gBAAiBznB,EACjBsnB,UAMG3B,EAAW,CACd,MAAM0Q,EAAU7hC,GACf8+B,GAAmBx0C,IAAIqf,GACvBwnB,EACA7zB,IAEDwhC,GAAmB7iC,IAAI0N,EAAQk4B,GAC/BviC,GAAgB,oCAAqC,CACpDqK,SACAwnB,YACA0Q,WAEF,CAEA,MAAMrC,EAAeD,EAAel4C,IAAK8sC,IAAS,IAAA2N,EAAAC,EAAAC,EAAAC,EACjD,GAAI9N,EAAKxqB,SAAWA,EACnB,OAAOwqB,EAGR,MAAMoN,EAAkBpQ,EACrBnxB,GACgB,QADE8hC,EAClB3N,EAAKtyB,mBAAW,IAAAigC,OAAA,EAAhBA,EAAkBxyC,MAClB6hC,EACgB,QADP4Q,EACT5N,EAAKtyB,mBAAW,IAAAkgC,OAAA,EAAhBA,EAAkB9hC,YAEF,QADhB+hC,EACA7N,EAAKtyB,mBAAW,IAAAmgC,OAAA,EAAhBA,EAAkB1yC,MACN,IAAA4yC,EAAAC,EAAXhR,GACH7xB,GAAgB,8CAA+C,CAC9DqK,SACAioB,SAA0B,QAAlBsQ,EAAE/N,EAAKtyB,mBAAW,IAAAqgC,OAAA,EAAhBA,EAAkB5yC,MAC5BoQ,SAAUyxB,EACVlxB,WAA4B,QAAlBkiC,EAAEhO,EAAKtyB,mBAAW,IAAAsgC,OAAA,EAAhBA,EAAkBliC,WAC9BxX,OAAQ84C,EACR1P,eAAgB0P,IAAoBpQ,IAItC,OAAAtoC,EAAA,GACIsrC,EAAI,CACPtyB,YAAWhZ,EAAA,GACPsrC,EAAKtyB,YAKJF,GAAS,CACZA,MAAOnC,GAA+B,QAAjByiC,EAAC9N,EAAKtyB,mBAAW,IAAAogC,OAAA,EAAhBA,EAAkBtgC,MAAOA,IAE5C2gB,GAAY,CAACA,SAAU2O,GAAkB3O,IACzC9W,GAAkB,CACrBA,eAAgB6E,GAAc7E,IAK3B2lB,GAAa,CAAC7hC,MAAOiyC,GACrBzO,GAAS,CAACA,cAKjBx3B,EAAiB,CAACikC,eAAgBC,IAClCzuC,EAAY,CACX2uC,cAAexD,GACdsD,EACA7D,EACAC,MAQH,CAACl9B,IAA+Cg2B,IAK1C,IAL2C,OAChDrlC,EAAM,MACNC,EAAK,iBACLgM,EAAgB,YAChBvK,GACA2jC,EACA,MAAM,eAACxlC,GAAkBG,EAAOE,SAAW,CAAC,GACtC,eAACosC,EAAc,kBAAEC,GAAqBtsC,GACtC,eAACiwC,EAAiB,IAAMjwC,EAAML,WAIpCswC,EAAersB,QAASihB,IACvB,MAAMhB,EAAKgB,EAAKtyB,aAAe,CAAC,EAE/BsxB,EAAGlzB,aAAe3C,IAClB61B,EAAGjkC,iBAAmBA,IAEtB4vC,GAAmB3iC,OAAOg4B,EAAKxqB,QAC/BrK,GAAgB,wCAAyC,CACxDqK,OAAQwqB,EAAKxqB,OACbza,sBAKH,IAAIkzC,GAAU,EACd,MAAM5C,EAAeD,EAAel4C,IAAK8sC,IACxC,MAAMhB,EAAKgB,EAAKtyB,aAAe,CAAC,EAChC,OACCsxB,EAAGlzB,aAAe3C,IAClB61B,EAAGjkC,iBAAmBA,GACtB6P,GAAco0B,EAAG7jC,QAEjB8yC,GAAU,EACVv5C,EAAA,GACIsrC,EAAI,CACPtyB,YAAWhZ,EAAA,GAAMsqC,EAAI,CAAA7jC,MAAOiO,GAAeI,iBAGtCw2B,IAGHiO,IAIL9mC,EAAiB,CAACikC,eAAgBC,IAClCzuC,EAAY,CACX2uC,cAAexD,GACdsD,EACA7D,EACAC,OAQH,CAACnB,IAA2C,CAQ3C3nC,OAAQ6hC,IAA4C,IAAA0N,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAA3C,OAACrzC,EAAM,YAAE0B,EAAW,MAAEzB,EAAK,SAAEN,GAAS2lC,EAC9C,MAAM,eAAC4K,GAAkBjwC,EAAML,YACzB,OAAC0a,GAAUta,EAAOE,QAElBwwC,EAAeR,EAAe7sB,KAClCyhB,GAASA,EAAKxqB,SAAWA,GAIrBwnB,EAAY4O,SAAyB,QAAbsC,EAAZtC,EAAcl+B,mBAAW,IAAAwgC,OAAA,EAAzBA,EAA2B/yC,MACvC2wC,EAAuB,CAC5B1iC,GAAeK,UACfL,GAAeC,eACd7O,SAASwiC,GAEXpgC,EAAY,CACXivC,aAAcr2B,EACds2B,uBACAnxB,QAASixB,EAAal+B,YAAYgJ,cAGnC,MAAM83B,EAAiB,CACtBh5B,SACAC,YACCm2B,SAAyB,QAAbuC,EAAZvC,EAAcl+B,mBAAW,IAAAygC,OAAA,EAAzBA,EAA2Bh5B,aAC3By2B,SAAyB,QAAbwC,EAAZxC,EAAcl+B,mBAAW,IAAA0gC,OAAA,EAAzBA,EAA2BrnB,SAC5BrR,aAAck2B,SAAyB,QAAbyC,EAAZzC,EAAcl+B,mBAAW,IAAA2gC,OAAA,EAAzBA,EAA2B33B,YACzChP,MAAOkkC,SAAyB,QAAb0C,EAAZ1C,EAAcl+B,mBAAW,IAAA4gC,OAAA,EAAzBA,EAA2BlnC,UAClCwO,SAAUg2B,SAAyB,QAAb2C,EAAZ3C,EAAcl+B,mBAAW,IAAA6gC,OAAA,EAAzBA,EAA2B1yC,MACrCmhC,YACA/nB,UAAW3D,KAAK4D,OAEjBra,EAASiZ,GAAyB,CACjCiB,UlEn7ByB,gBkEo7BzBC,SAAUw5B,IAEX3zC,EAASiZ,GAAyB,CACjCiB,UlE/8B2B,kBkEg9B3BC,SAAUw5B,MAQb,CAACnI,IAA0B,CAO1B1nC,OAAQgiC,IAA2B,IAAAtK,EAAA,IAA1B,OAACn7B,EAAM,YAAE0B,GAAY+jC,EAG7B/jC,EAAY,CACX2I,OAHcrK,SAAe,QAATm7B,EAANn7B,EAAQE,eAAO,IAAAi7B,OAAA,EAAfA,EAAiB5/B,UAWlC,CAAC2vC,IAAkC,CAClCznC,OAAQoiC,IAAuC,IAAAN,EAAArB,EAAA,IAAtC,OAAClkC,EAAM,WAAEJ,EAAU,YAAE8B,GAAYmkC,EACzC,MAAM,eAACqK,EAAiB,GAAE,kBAAE3D,GAAqB3sC,EAC3C2zC,EAAevzC,SAAY,QAANulC,EAANvlC,EAAQ6a,YAAI,IAAA0qB,GAAU,QAAVA,EAAZA,EAAcvqB,gBAAQ,IAAAuqB,OAAA,EAAtBA,EAAwBgO,aACvCjH,EAAiBtsC,SAAe,QAATkkC,EAANlkC,EAAQE,eAAO,IAAAgkC,OAAA,EAAfA,EAAiB3oC,MAExC,IAAKg4C,GAAiC,UAAjBA,EACpB,OAED,MAAMlD,EAAgBxD,GACrBqD,EACA5D,EACAC,GAID7qC,EAAY,CACX4qC,iBACA+D,gBACAgC,aALehC,EAAch4C,OAAS,EAAI,UAAY,QAMtDgS,QAAQ,KAGVzG,iBAAiB,GAElB,CAAC0nC,IAA4B,CAC5B7nC,OAAQqiC,IAAwD,IAAA0N,EAAA,IAAvD,OAACxzC,EAAM,SAAEL,EAAQ,YAAE+B,EAAW,MAAEzB,EAAK,WAAEL,GAAWkmC,EAC1D,MAAM2N,EAASzzC,SAAe,QAATwzC,EAANxzC,EAAQE,eAAO,IAAAszC,GAAM,QAANA,EAAfA,EAAiBv7C,YAAI,IAAAu7C,OAAA,EAArBA,EAAuBx6C,GAEtC,GAAe,yBAAXy6C,EACH9zC,EAAS,0BACH,GAAe,yBAAX8zC,EACV/xC,EAAY,CACXkvC,sBAAsB,IAEvBjxC,EAASiZ,GAAyB,CACjCiB,UlE9+BiC,yBkE++BjCC,SAAU,CACTQ,OAAQra,EAAM0wC,aACd52B,UAAW3D,KAAK4D,cAGZ,GAAe,eAAXy5B,EAAyB,KAAA9Q,EACnC,MAAM,eAACuN,GAAkBtwC,EACnB8wC,EAAezwC,EAAM0wC,aACxBT,EAAe7sB,KAAM8uB,GAAMA,EAAE73B,SAAWra,EAAM0wC,cAC9C,KACGn+B,EAAck+B,aAAY,EAAZA,EAAcl+B,YAClC,GAAKA,UAAAA,EAAayH,WAAcy2B,UAAAA,EAAch2B,SAC7C,OAED/a,EACCiwC,GACA,CACC/mB,KAAM,CACLkf,UAAW3xB,KAAK4D,MAAMliB,WACtBqiB,iBAAsC,QAAtBwoB,EAAEnwB,EAAYyE,gBAAQ,IAAA0rB,OAAA,EAApBA,EAAsBloB,OACxCutB,kBAAmBx1B,EAAYgJ,YAC/BtB,UAAWw2B,EAAax2B,WAAa1H,EAAYgJ,YACjDvB,UAAWzH,EAAYyH,UACvBG,eAAgBs2B,EAAah2B,SAC7BL,YAAaq2B,EAAa3H,cAI9B,GAEDnlC,iBAAiB,GAElB,CAACgsC,IACAD,GACD,CAACC,IAAoE7J,IAG/D,IAHgE,MACrE9lC,EAAK,YACLyB,GACAqkC,EAKArkC,EAAY,CACXyvC,kBAAmBlxC,EAAM0wC,gBAG3B,CAACf,IAAmE7I,IAE9D,IAF+D,OACpE/mC,GACA+mC,EAEA5jC,QAAQD,MAAM,qBAAsBlD,EAAOE,WAEzCwrB,GAAU,CACb,CAACvc,IAA2D,CAC3D1L,OAAQujC,IAA+B,IAAA0M,EAAA,IAA9B,SAAC/zC,EAAQ,MAAEM,EAAK,OAAED,GAAOgnC,EACjC,MAAM,OAAC1sB,EAAM,SAAE0gB,GAAYh7B,EAAOE,SAC5B,UAACgM,EAAS,MAAEvL,EAAK,eAAEuvC,GAAkBjwC,EAAML,YAC3C,aAAC+wC,GAAgB1wC,EAEvB,GAAIqa,IAAWq2B,EACd,OAGD,MAAM7L,EAAOoL,EAAe7sB,KAAM8uB,GAAMA,EAAE73B,SAAWA,GAChDwqB,IAKA9J,IAA4B,QAAhB0Y,EAAA5O,EAAKtyB,mBAAW,IAAAkhC,OAAA,EAAhBA,EAAkBzzC,SAAUiO,GAAeK,WAC3D5O,EAASorC,GAAyB,CACjC7qC,QAAS,CACR6oC,YAAa78B,EACb6jC,YAAapvC,EACbmgC,cAAe,iBCnmCd3iC,uBAAsBA,IAAIvC,EAAAA,YAE3B+3C,GAAWA,CAAC1zC,EAAOpF,IAAQoF,EAAMoL,UAAUuoC,iBAAiB/4C,GAOlE,IACCsF,KAAM,mBACNiF,gBAAiBA,KAChB,MAAMyuC,EAAa,CAAC,EAKpB,OAJAA,EAAWC,QAAU,IAAIhb,QACvBC,GAAa8a,EAAW9a,QAAUA,GAG7B,CACN8a,eAGFxuC,eAAgB,CACf,CAAClH,IAAyBuB,IAA6B,IAA5B,KAAC0M,EAAI,MAAEnM,EAAK,SAAEN,GAASD,EACjD,MAAMm0C,EAAaF,GAAS1zC,EAAO,cACnCmM,EAAKwP,SAAYtB,IAChBu5B,EAAWC,QAAQza,KAAK,IACvB15B,EAASyrC,GAA0C,CAClD9wB,cAKJ,CAAC0wB,IAAoC,CACpCvnC,MAAAA,CAAM1D,GAAU,IAAAg0C,EAAA,IAAT,MAAC9zC,GAAMF,EACgB,QAA7Bg0C,EAAAJ,GAAS1zC,EAAO,qBAAa,IAAA8zC,GAA7BA,EAA+Bhb,SAChC,EACAn1B,iBAAiB,MClCpB/H,EAAAA,EAAAA,qBAAoB,gCAAiC,CACpDyI,KCuBoBrE,IAAU,IAAAwwC,EAAAuC,EAC9B,MACC3nC,WACC,mBAAmB,YAACoO,IACpB,eACD6yB,EAAc,cACd+D,EAAa,aACbM,EAAY,QACZlxB,EAAO,eACPwxB,EAAc,aACdoB,EAAY,OACZhoC,EAAM,WACN8B,EAAU,qBACVykC,GACG3wC,GACE,eAACib,EAAc,eAAEg1B,EAAc,eAAE3wB,GAAkBtf,EAAML,WAEzD8wC,EAAeC,EAClBT,EAAe7sB,KAAMyhB,GAASA,EAAKxqB,SAAWq2B,GAC9C,KAEG/5B,EAAW85B,SAAyB,QAAbD,EAAZC,EAAcl+B,mBAAW,IAAAi+B,OAAA,EAAzBA,EAA2B75B,SAEtCo9B,EAAgB,CACrB,CAACh7C,GAAI,uBAAwB4J,MAAOkS,GAAa62B,0BAG5CsI,EAAc,CACnB,CAACj7C,GAAI,uBAAwB4J,MAAOgoC,OAC/Bh0B,EAAoD,GAAzC,CAAC,CAAC5d,GAAI,aAAc4J,MAAO+L,MAGtCulC,EAAyB,YAAf/nC,EAEVgoC,GACJzD,GACwB,IAAzBL,EAAch4C,QACdg6C,IAAiBtG,IACA,UAAjBsG,EAyDD,OACCluC,EAAAA,GAAAA,eAAA,OAAKY,UAAW,gCAA+BmvC,EAAU,UAAY,MACpE/vC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,4BACb2rC,IACAvsC,EAAAA,GAAAA,eAAA,qBACCpB,KAAK,wBACLyH,MAAI,EACJlE,QAAQ,WACR,kBAAiB0lC,GACjB,cAAa,CACZ/gC,OAAQ,CACP,aAAcugC,KAGhB,oBAAmB,CAAClqC,KAAM,OAAQsB,MAAO,UAG1C6c,IACAtb,EAAAA,GAAAA,eAAA,OAAKY,UAAU,8BACZ2rC,IACDvsC,EAAAA,GAAAA,eAAA,YACCY,UAAU,iCACVhC,KAAK,kBACLwD,KAAK,QAGPpC,EAAAA,GAAAA,eAAA,eACCvB,MAAO6c,EACP+L,MAAM,IACNllB,QAAQ,mBACR,uBAIFoqC,aAAY,EAAZA,EAAct1B,qBACdjX,EAAAA,GAAAA,eAAA,gBACCuG,MAAOspC,EACPzwB,OAAO,OACPxgB,KAAK,qBACLuD,QAAQ,YACRC,KAAK,KACLiE,MAAI,EACJ,gBACA,kBAAiBsK,GAAa82B,iBAC9B,cAAa,CACZ3gC,OAAQ,CACP,aAAc6J,GAAa82B,iBAC3B,gBAAiB,SAGnB1M,OAAO,OACP,iBAAe,QAGhBwR,IACAA,SAAyB,QAAbsC,EAAZtC,EAAcl+B,mBAAW,IAAAwgC,OAAA,EAAzBA,EAA2B/yC,SAAUiO,GAAeK,YACnDpK,EAAAA,GAAAA,eAAA,gBACCuG,MAAOupC,EACP1wB,OAAO,OACPxgB,KAAK,qBACLuD,QAAQ,YACRC,KAAK,KACLiE,MAAI,EACJ,gBACA,kBAAiBogC,GACjB,cAAa,CACZ3/B,OAAQ,CACP,aAAc2/B,GACd,gBAAiB,SAGnB1L,OAAO,OACP,iBAAe,MACf,iBAAgB,CAACqU,aAAc,qBAGlCpvC,EAAAA,GAAAA,eAAA,aACC,eACA,iBAAe,UACfkG,OAAQoP,EACR,mBACAlT,KAAK,KACL,eAAcqI,GACd1W,QAAS2W,GACT,iBAAgBE,OAGhB2hC,GAAgBO,EAAe54C,OAAS,IACzC8L,EAAAA,GAAAA,eAAA,OACCY,UAAW,8BAA6BovC,EAAe,WAAa,MAEpEhwC,EAAAA,GAAAA,eAAA,gBACCY,UAAU,oCACV2F,MAAOumC,EACP,iBAAgB3E,EAChB/oB,OAAO,QACPwH,YAAakhB,GACb3lC,QAAQ,YACR+D,OAAQA,EACR,mBACA,iBAAgB,CAACkpC,aAAc,aAIlCpvC,EAAAA,GAAAA,eAAA,OAAKY,UAAU,0BA9JK,UAAjBstC,GAEFluC,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,oBAAkBiQ,aPjDW,cOiDuB7N,KAAK,QACzDpC,EAAAA,GAAAA,eAAA,oCACCsb,QAAS,CAAC7c,MAAOkoC,GAAetf,MAAO,KACvCke,UAAU,uBAMVgH,GAEFvsC,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,sBACC,YAAWusC,EAAal+B,YAAY7R,MACpC,eAAc+vC,EAAal+B,YAAYtG,UACvC,eAAcwkC,EAAal+B,YAC3B,YAAW5E,GACX,UAAS8iC,EAAap2B,OACtB,mBAAkBY,EAClB8f,SAAU4V,EACVzkC,WAAYA,EACZoT,eAAgBA,KAMhB8wB,EAAch4C,OAAS,GAEzB8L,EAAAA,GAAAA,eAAA,iCACC+W,eAAgBA,EAChBsvB,wBAAyB6F,IAKxBgC,IAAiBtG,IACb5nC,EAAAA,GAAAA,eAAA,cAAY,oBAAevB,MAAO+nC,MAIzCxmC,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,oBAAkBiQ,aPjGiB,gBOiGsB7N,KAAK,QAC9DpC,EAAAA,GAAAA,eAAA,oCACCsb,QAAS,CAAC7c,MAAOioC,GAAoBrf,MAAO,KAC5Cke,UAAU,0BD/GdvkC,OAAM,GACNvF,WAAY,CACXuM,WAAY,CACXmI,OAAQ,CACPhT,KAAM,WAGR4K,UAAW,CACVoI,OAAQ,CACPhT,KAAM,WAGRX,MAAO,CACN2T,OAAQ,CACPhT,KAAM,WAGRkvC,eAAgB,CACfl3C,QAASoxC,GACTp2B,OAAQ,CACPhT,KAAM,WAGR4uC,eAAgB,CACf52C,QAAS,GACTgb,OAAQ,CACPhT,KAAM,UAGR4Z,eAAgB,CACf5G,OAAQ,CACPhT,KAAM,WAGRirC,kBAAmB,CAClBj4B,OAAQ,CACPhT,KAAM,UAGR8vC,sBAAuB,CACtB98B,OAAQ,CACPhT,KAAM,UAGRie,eAAgB,CACfjmB,QAAS,KACTgb,OAAQ,CACPhT,KAAM,YAIT+D,eAAc,GACdD,gBAAeA,KACP,CACNirC,cAAe,GACf/D,eAAgB,GAChB2E,eAAgB,GAChBN,aAAc,KACdC,sBAAsB,EACtBnxB,QAAS,GACT4yB,aAAc,GACdhoC,QAAQ,EACR8B,WAAY,GACZ+0B,kBAAmB,GACnBgQ,qBAAqB,IAGvB7lC,UAAW,CAACk/B,GAAavtB,GAAgB42B,ME9ElCp4C,KAAO,IAAIC,EAAI,CAAC,EAAGpB,EAAoBK,EAAEe,EAAGD,IAEf,CAAE,CAAG,G,eCG1CK,EAAAA,EAAAA,qBAAoB,iCAAkC,CACrD+D,WAAY,CACXe,MAAO,CACN2T,OAAQ,CACPhT,KAAM,WAGR4K,UAAW,CACVoI,OAAQ,CACPhT,KAAM,WAGR6K,WAAY,CACXmI,OAAQ,CACPhT,KAAM,YAITgD,KCrBoBrE,IACpB,MAAM,cAAC+M,EAAa,WAAEpN,GAAcK,GAC9B,MAACU,EAAK,UAAEuL,EAAS,WAAEC,GAAcvM,EAEvC,OACCuE,EAAAA,GAAAA,eAAA,OAAKY,UAAU,4CACbpE,GAASuL,IACT/H,EAAAA,GAAAA,eAAA,iCACCxD,MAAOA,EACPuL,UAAWA,EACXC,WAAYA,KAGba,aAAa,EAAbA,EAAe3U,QAAS,IAAK8L,EAAAA,GAAAA,eAAA,kBAAgBuG,MAAOsC,MDSvD7H,OAAM,GACNC,gBAAiBA,KAAA,CAChB4H,cAAe,KAEhB3H,eAAgB+uC,K,cE1BjB,MAAM,GAFE54C,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,oBAAyB,KAC7D,MAAMC,EAAY24C,EAAsF/6C,SAAW+6C,EAAsFh7C,WAGlM,OAAIqC,EACH24C,EAA+F,QAAEC,oBAIlGD,EAAsFC,qBAAuBD,EAA+F,SAAKA,EAA+F,QAAEC,uBCT9T,MAAM,GAFE94C,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,YAAiB,KACrD,MAAMC,EAAY64C,EAA+Fj7C,SAAWi7C,EAA+Fl7C,WAGpN,OAAIqC,EACH64C,EAAwG,QAAEC,YAI3GD,EAA+FC,aAAeD,EAAwG,SAAKA,EAAwG,QAAEC,eCajV,MAAMC,GAAe11C,IACpB,IACC,MAAM21C,EAAY,IAAIC,IAAI51C,EAAKE,OAAO0J,SAASmS,QAC/C,OAAO45B,EAAU9jB,KAAK/P,QAAQ6zB,EAAU55B,OAAQ,GACjD,CAAE,MAAO5X,GAER,OADAC,QAAQD,MAAM,qBAAsBA,GAC7BnE,CACR,GAGY61C,GAAgB,WAAiD,IAAhD,cAACC,EAAa,WAAEC,EAAU,UAAEC,GAAUj7C,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEvE,MAAMoG,EAAU,CACf80C,cAAe,CACdr4B,QAAS,CACRjQ,eAAgB,yBAChBgN,KAAM,cAEPu7B,MAAO,UACPp5B,OAAQ,CACPtR,OAAQkqC,GAAYM,MAgBvB,OAVIF,GAAiBC,IACpB50C,EAAQg1C,QAAU,SAClBh1C,EAAQ8b,OAAS,CAChBxP,MAAOqoC,EACPl0C,MAAOm0C,EACPvqC,OAAQ,GAAGsqC,eAA2BC,KAEvC50C,EAAQ80C,cAAcn5B,OAAOtR,OAAS,GAAGsqC,eAA2BC,KAG9D50C,CACR,GCNCmU,wBAAuB,GACvBjW,2BAA0B,GAC1BwN,uBAAsB,uBACtBupC,IACGv5C,EAAAA,YAGJ,IAAIw5C,GAA6B,KAGjC,MA4DaC,GAA0B31C,IAA+B,IAAAy7B,EAAA,IAA9B,OAACn7B,EAAM,MAAEC,EAAK,SAAEN,GAASD,EAEhE,MAAM41C,GA7D6B,OAA/BF,KACHA,GAGa,QAHaG,EAGzB,QAHyBC,GAAGhB,EAAAA,GAAAA,aAC5B,uCACA,aACA,IAAAgB,OAAA,EAH4BA,EAG1Bl9B,MAAM,YAAI,IAAAi9B,EAAAA,EAAI,CAAC,OAEZH,IAPyBK,IACSF,EAAAC,EA+DzC,MAAME,GAAS11C,SAAe,QAATm7B,EAANn7B,EAAQE,eAAO,IAAAi7B,GAAO,QAAPA,EAAfA,EAAiBwa,aAAK,IAAAxa,OAAA,EAAtBA,EAAwBua,SAAU,CAAC,GAC5C,cAACb,EAAa,WAAEC,EAAU,UAAEC,GAAaW,GACzC,WAAC91C,GAAcK,GAAS,CAAC,EAS/B,GAA4B,uBAAxBL,EAAWa,SAAmC,CACjD,GAAIo0C,GAAiBC,EACpBn1C,EACC1C,GACA23C,GAAc,CAACC,gBAAeC,oBAEzB,KAAIC,EA8BV,OADA5xC,QAAQD,MAAM,0CAA2ClD,EAAOE,UACzD,EA5DuB60C,KAChC,IACC,MAAM,SAACa,GAAY,IAAIjB,IAAII,EAAW91C,OAAO0J,SAASmS,QACtD,OAAO86B,EAAStlB,SAAS,qBAC1B,CAAE,MACD,OAAO,CACR,GA0BGulB,CAAwBd,IACU,IAAjCO,EAAsBj9C,QACO,MAA7Bi9C,EAAsB,IACvBA,EAAsBtY,KAjEK+X,IAAee,IAC7C,IACC,MACMF,EADS,IAAIjB,IAAII,EAAW91C,OAAO0J,SAASmS,QAC1B86B,SAClBG,EAAiBD,EAAEnH,WAAW,KAAOmH,EAAI,IAAMA,EAErD,GAAIF,EAASt2C,SAAS,SAAWy2C,EAAez2C,SAAS,OAAQ,CAChE,MAAM02C,EAAgBJ,EAASzzB,MAAM,iBACrC,GAAI6zB,GAAiBA,EAAc,IAE9BD,IADaC,EAAc,GAE9B,OAAO,CAGV,MAAO,GAAIJ,IAAaG,EACvB,OAAO,EAER,OAAO,CACR,CAAE,MAAOl8C,GACR,OAAO,CACR,GA6C8Bo8C,CAAsBlB,KDvJvBh2C,KAC7B,IAIC,OAFkB,IAAI41C,IAAI51C,EAAKE,OAAO0J,SAASmS,QAE9BA,SAAW7b,OAAO0J,SAASmS,MAC7C,CAAE,MAAO5X,GAGR,OADAC,QAAQD,MAAM,qBAAsBA,IAC7B,CACR,GC8IGgzC,CAAcnB,GAGdp1C,EAASzC,GAAmB,CAC3Bi5C,SAAU,CACTp3C,IAAKg2C,MAIPT,EAAAA,GAAAA,qBAAoBS,GAClB1b,KAAMn5B,IACFA,GDtJH,SACNA,GAEC,IAAAe,EAAAm1C,EAAA,IADDh1C,EAAiBtH,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,IAAS,QAANmH,EAAAhC,cAAM,IAAAgC,GAAY,QAAZA,EAANA,EAAQ/B,kBAAU,IAAA+B,OAAA,EAAlBA,EAAoBG,oBAAqB,CAAC,EAE9D,QAAKlB,UAAAA,EAAS+0C,QAAU7zC,IAIfA,EAAkBlB,SAAgB,QAATk2C,EAAPl2C,EAASyc,eAAO,IAAAy5B,OAAA,EAAhBA,EAAkB18B,MAC9C,CC6IqB28B,CAAsBn2C,GACpCP,EAASzC,GAAmBgD,GAE5BP,EAAS1C,GAA6B23C,GAAc,CAACG,iBAGtDuB,MAAM,KACN32C,EAAS1C,GAA6B23C,GAAc,CAACG,gBAOzD,CACA,OAAO,CACR,CACA,OAAO,GAGFwB,IAA+BxW,EAAAA,GAAAA,6BACpC,6BACA,CACCwI,6BAA8B,6BAC9BC,0BAA2B,0BAC3BhH,0BAA2B,oCAC3BiH,+BAAgC,iCAI5B+N,IAA0Bx6C,EAAAA,EAAAA,kBpHxLK,yBoHwLmC,CACvEsC,OAAQ,MACRE,OAAO,EACPC,kBAAmBjC,GACnBkC,gBAAiBjC,KAsBZg6C,GAA8BzsC,GAAW22B,KAAK32B,GAAQ6W,QAAQ,KAAM,KAEpE61B,IAAyB16C,EAAAA,EAAAA,kBAC9B,gCACA,CACCsC,OAAQ,MACRC,YAAa,CAAC,mBACdE,kBAAmB,iCACnBC,gBAAiB,gCAIbi4C,IAA2B36C,EAAAA,EAAAA,kBAChC,uCACA,CACCsC,OAAQ,MACRC,YAAa,CAAC,gBAAiB,gBAC/BE,kBAAmBpB,GACnBqB,gBAAiBpB,KAIbs5C,IAA4B56C,EAAAA,EAAAA,kBACjC,uCACA,CACCsC,OAAQ,OACRC,YAAa,CAAC,gBAAiB,eAAgB,kBAC/CE,kBAAmBd,GACnBe,gBAAiBhB,KAMbm5C,IAAsB76C,EAAAA,EAAAA,kBAFE,gCAEsC,CACnEsC,OAAQ,OACRgb,UAAW,UACX9a,OAAO,EACPC,kBAAmB3B,GACnB4B,gBAAiB5B,KAGZ0yC,IAA0BrD,EAAAA,GAAAA,UAAS4B,GAAiB,KAEpD+I,GAAwBA,CAACC,EAAcn0C,KAC5C,GAAIm0C,SAAAA,EAAc/9C,IAAMiG,OAAO+3C,iBAAkB,CAChD,MAAMC,EAAWF,EAAa/9C,GACxBk+C,EAAY,qBAAqBD,IACvCh4C,OAAO+3C,iBAAiBG,oBAAoBF,EAAU,CACrDG,aAAcx0C,EACdoI,WAAY,CACXqsC,OAAQ,CACP1gC,KAAM,SACN,aAAc/T,EACd,kBAAmBs0C,KAIvB,GAGD,GAAA19C,EAAA,CACC,CAAC6a,IAAuBtU,GAA+C,IAA7C,KAACqM,EAAMxM,YAAY,sBAAC03C,IAAuBv3C,EAChEu3C,GACH9H,GAAwBpjC,EAAM0hC,KAEhC,EACA,CAAC1vC,IAA0BoD,GAcxB,IAAA+1C,EAAA,IAbFv3C,QACCE,SAAS,KAACC,EAAI,MAAE5E,EAAK,cAAE6E,IAExBH,OAAO,wBACNuJ,EAAuB,kBACvBguC,EAAiB,eACjBvvC,EAAc,mBACdX,EAAkB,WAClBC,GAED3H,YAAY,0BAACyH,EAAyB,aAAE0vC,GAAa,SACrDp3C,EAAQ,YACR+B,GACAF,EAKA,GAJa,oBAATrB,GAA8B5E,IAAU6E,GAC3C02C,GAAsBC,EAAcx7C,GAGxB,qBAAT4E,EAA6B,CAChC,MAAM4Z,EAAYxe,EAAMwe,UAEa,IAAA09B,EAArC,IAD0Br3C,aAAa,EAAbA,EAAe2Z,aACfA,EACzB,GAAIxe,SAAAA,EAAO+gB,qBACVk7B,EAAkBj8C,QACZ,GAAIA,SAAc,QAATk8C,EAALl8C,EAAOohB,eAAO,IAAA86B,GAAdA,EAAgBC,MAAO,KAAAC,EAAAC,EACjCl2C,EAAY,CACXiG,aAAc,CACbtH,QAAS9E,SAAc,QAATo8C,EAALp8C,EAAOohB,eAAO,IAAAg7B,OAAA,EAAdA,EAAgBD,MACzB77B,OAAQtgB,SAAc,QAATq8C,EAALr8C,EAAOohB,eAAO,IAAAi7B,OAAA,EAAdA,EAAgBC,YACxB99B,cAGH,CAEF,CAIU,aAAT5Z,IACU,IAAV5E,IACkB,IAAlB6E,GACAmH,GAEA5H,EAAShD,GAAe,CAAC4K,YAAY,IAK5B,yBAATpH,GACA5E,GACU,qBAAVA,IAEAiO,SAAAA,EAAyB7J,SACxB,iDACA,CAACE,eAA0B,+BAAVtE,EAAyC,KAAOA,KAIlE8L,GACS,oBAATlH,GADAkH,MAEA9L,GAAa,QAARg8C,EAALh8C,EAAOygB,cAAM,IAAAu7B,GAAbA,EAAe52C,OAEfhB,EAASpC,IAGA,8BAAT4C,IACkB,IAAlBC,IACU,IAAV7E,GAEAmG,EAAY,CACXuG,eAAgBA,EAAiB,EACjCX,mBAAkB9N,EAAA,GACd8N,EAAkB,CACrBzH,eAAgB,KAChBkJ,sBAAuB,QAI3B,EACA,CAAC6C,IAAyB,CACzBnI,OAAQ9B,IAAuB,IAAtB,MAAC1B,EAAK,SAAEN,GAASgC,EACzB,MAAM,mBAAC2F,EAAkB,eAAEG,GAAkBxH,EAC7C,GAAIqH,SAAAA,EAAoBzH,gBAAkB4H,EAAgB,CACzD,MAAMqwC,EACL,oBAAqBxwC,aAAkB,EAAlBA,EAAoBzH,gBAC1CF,EAAS,iCAAkC,CAC1C6M,MAAO,0BACPxC,OAAQysC,GAA2BqB,GACnCpsC,WAAW,GAEb,GAED9H,iBAAiB,GAElB,CAACuxC,IAAsBlyC,IAAgD,IAAA80C,EAAAlvC,EAAAmvC,EAAAC,EAAA,IAA/C,SAACt4C,EAAQ,YAAE+B,EAAW,MAAEzB,EAAK,WAAEL,GAAWqD,EAC7DrD,EAAWs4C,iBAA0C,QAA3BH,EAAIn4C,EAAWm3C,oBAAY,IAAAgB,GAAvBA,EAAyB/+C,IAC1D89C,GACCl3C,EAAWm3C,aACXn3C,EAAWs4C,iBAITj4C,EAAMwH,gBACT9H,EAASpD,IAGV,MAAMi7C,EAAqBh4B,IAAY,IAAA24B,EACtCl5C,OAAOiK,uBAAuBlC,eAAcxN,EAAA,GACxB,QADwB2+C,EACvC34B,EAAQ7C,eAAO,IAAAw7B,EAAAA,EAAI,CAAC,GAGrB34B,EAAQlD,uBACXrd,OAAOiK,uBAAuBkvC,4BAA6B,EAC3D12C,EAAY0B,IAAa,IAAZ,MAACnD,GAAMmD,EACnB,MAAM,wBAACoG,GAA2BvJ,EAClCuJ,SAAAA,EAAyB8S,2BAqB5B,GAfArd,OAAOiK,uBAAyBjK,OAAOiK,wBAA0B,CAAC,EAClEjK,OAAOiK,uBAAuBmvC,KACM,QADFxvC,EACJ,QADImvC,EACjC/4C,OAAOiK,8BAAsB,IAAA8uC,OAAA,EAA7BA,EAA+BK,YAAI,IAAAxvC,EAAAA,EAAI2uC,EAGxC91C,EAAY,CAAC81C,2BAEmC3+C,KAA5C+G,SAA4B,QAAlBq4C,EAAVr4C,EAAY04C,wBAAgB,IAAAL,OAAA,EAA5BA,EAA8Bl+B,aAC7Bna,EAAW04C,iBAAiBh8B,uBAC/B1c,EAAW04C,iBAAiB37B,QAAQ47B,gCAAiC,EACrE34C,EAAW04C,iBAAiB37B,QAAQvT,kBAAmB,EACvDxJ,EAAW04C,iBAAiB37B,QAAQ67B,mBAAoB,GAEzDhB,EAAkB53C,EAAW04C,mBAE1B14C,EAAWmH,iBAAmBnH,EAAWyH,0BAA2B,KAAAoxC,EACvE,MAAMC,EAAwC,QAA7BD,EAAG74C,EAAWmH,uBAAe,IAAA0xC,OAAA,EAA1BA,EAA4Bz8B,QACjC08B,aAAW,EAAXA,EAAa/3C,OAE3BhB,EAASpC,IAETmE,EAAY,CACXqG,2BAA2B,GAG9B,MACCrG,EAAY,CACXqG,2BAA2B,KAI9B,CAACxK,IAA2B+F,IAA4B,IAAAq1C,EAAA,IAA3B,SAACh5C,EAAQ,WAAEC,GAAW0D,EAClD,MAAMo1C,EAAwC,QAA7BC,EAAG/4C,EAAWmH,uBAAe,IAAA4xC,OAAA,EAA1BA,EAA4B38B,OAC1C6a,EAAS6hB,aAAW,EAAXA,EAAa/3C,MACtB6L,EAAQksC,aAAW,EAAXA,EAAalsC,MACvBqqB,GAAUrqB,GACb7M,EAASvC,GAAoC,CAC5Cw7C,cAAe/hB,EACfgiB,aAAcrsC,KAIjB,CAAChP,IAA8BkG,IAAoC,IAAAo1C,EAAA,IAAnC,SAACn5C,EAAQ,WAAEC,EAAU,OAAEI,GAAO0D,EAC7D,MAAM,eAAC7D,GAAkBG,aAAM,EAANA,EAAQE,QAC3Bw4C,EAAwC,QAA7BI,EAAGl5C,EAAWmH,uBAAe,IAAA+xC,OAAA,EAA1BA,EAA4B98B,OAC1C6a,EAAS6hB,aAAW,EAAXA,EAAa/3C,MACtB6L,EAAQksC,aAAW,EAAXA,EAAalsC,MACvBqqB,GAAUrqB,GAAS3M,GACtBF,EAASlC,GAAuC,CAC/Cm7C,cAAe/hB,EACfgiB,aAAcrsC,EACd3M,oBAIH,CAACpC,IAAwCm5C,GACzC,CAACl5C,IAAqC,KACrCyF,QAAQ+M,IAAI,0CAEb,CAACvS,IAAwC,KACxCwF,QAAQ+M,IAAI,iCAEb,CAAC9S,IAAqCu5C,GACtC,CAACr5C,IAAkCuG,IAAmB,IAAlB,YAACnC,GAAYmC,EAChDnC,EAAY,CACXqG,2BAA2B,KAG7B,CAAC1K,IAAqCyG,IAKhC,IAAAi1C,EAAAC,EAAAC,EAAA,IALiC,OACtCj5C,EAAM,MACNC,EAAK,iBACLgM,EAAgB,YAChBvK,GACAoC,EACA,MAAM,QAAC5D,GAAWF,GACZ,wBAACwJ,GAA2BvJ,EAC5BH,EAAkBI,SAAe,QAAR64C,EAAP74C,EAAS9G,cAAM,IAAA2/C,OAAA,EAAfA,EAAiBj5C,gBAInCkH,EAA8C,QAAhCgyC,EAAG/5C,OAAOiK,8BAAsB,IAAA8vC,OAAA,EAA7BA,EAA+BhyC,eAChDkyC,GACwB,QAA7BD,EAAAh6C,OAAOiK,8BAAsB,IAAA+vC,OAAA,EAA7BA,EAA+Bb,8BAC/BpxC,aAAc,EAAdA,EAAgBuV,oBAChBvV,aAAc,EAAdA,EAAgBqC,2BAEjB,IAAIxJ,EAAiB,KACjBC,GAAmBA,EAAgBzH,OAAS,GAC/CwH,EAAiBC,EAAgB,GAC5Bo5C,GAEJjtC,EAAiB,CAChBktC,qBAAsBt5C,MAInBq5C,IACA1vC,EAEHyC,EAAiB,CAChBktC,qBAAsB,+BAIvBz3C,EAAY,CACXsG,6BAA6B,KAKhCtG,EAAY,CACX03C,iCAAiC,KAG9Bn5C,EAAM8H,2BACVrG,EAAWlI,EAAC,CACXuO,2BAA2B,GACvBlI,EACD,CACAyH,mBAAkB9N,EAAA,GACdyG,EAAMqH,mBAAkB,CAC3ByB,sBAAuBlJ,KAGxB,CAAC,KAIP,CAACtD,IAA6Bi6C,GAC9B,CAACh6C,IAjV+BoK,IAChC,MAAM,OAAC5G,EAAM,YAAE0B,GAAekF,GAE7B1G,SAAS,OAAC9G,IACP4G,EAEJ0B,EAAY,CACX23C,SAAUjgD,KA2UX,CAACqD,IAvU4BmK,IAC7B,MAAM,OAAC5G,GAAU4G,GAEhB1G,SAAS,MAACgD,IACPlD,EACJmD,QAAQD,MAAM,iCAAkCA,IAmUhD,+BAAoCqzC,GACpC,2BAAgC,CAC/B9yC,OAAQO,IAAc,IAAb,OAAChE,GAAOgE,EAChBb,QAAQm2C,MAAMt5C,IAEf4D,iBAAiB,GAElB,wBAA6B,CAC5BH,OAAQA,KACPN,QAAQD,MAAM,qBAEfU,iBAAiB,GAElB,6BAAkC,CACjCH,OAAQgpB,IAAc,IAAb,OAACzsB,GAAOysB,EAChB,MAAM,QAACvsB,GAAWF,EAClBmD,QAAQm2C,MAAM,wBAAyBp5C,IAExC0D,iBAAiB,GAElB,kCAAuC,CACtCH,OAAQkpB,IAAkC,IAAA4sB,EAAAC,EAAA,IAAjC,OAACx5C,EAAM,MAAEC,EAAK,YAAEyB,GAAYirB,EACpC,MACCzsB,SAAS,KAAC2oB,IACP7oB,GACE,OAAC62B,EAAM,OAAE7N,GAAUH,EACzB1lB,QAAQm2C,MAAM,qCACd,MAAM,mBACLhyC,EAAkB,gBAClBM,EAAe,wBACf6xC,EAAuB,wBACvBjwC,GACGvJ,EACJ,IAAIwC,EAAmC,QAAvB82C,EAAG1iB,EAAO6iB,qBAAa,IAAAH,OAAA,EAApBA,EAAsBh+C,MAErCsE,EAAuC,QAAzB25C,EAAG3iB,EAAO8iB,uBAAe,IAAAH,OAAA,EAAtBA,EAAwBj+C,MAE7C,IAAI,IAAAq+C,EAAAC,EACCp3C,IACHA,EAAe+Z,KAAK0E,MAAMze,IAGb,QAAdm3C,EAAA/5C,SAAc,IAAA+5C,IAAd/5C,EAA+B,QAAjBg6C,EAAKp3C,SAAY,IAAAo3C,GAAU,QAAVA,EAAZA,EAAc33C,gBAAQ,IAAA23C,OAAA,EAAtBA,EAAwBh6C,eAC5C,CAAE,MAAOqD,GAMR,YALAC,QAAQD,MACP,mGACkDrD,IAClDqD,EAGF,CAGA,MAAM42C,EAAwBj6C,EAE3BA,IAAkByH,aAAkB,EAAlBA,EAAoBzH,gBADtCmpB,IAAU1hB,aAAkB,EAAlBA,EAAoB4C,mBAG3B6vC,EAAyBnyC,EAE/B,GACiB,UAAhBihB,EAAK7oB,QACc,WAAnB6oB,EAAKlP,WACLmgC,EACC,KAAAE,EAAAC,EAAAC,EAAAC,EAAAC,EACD,MAAMt4C,EAA2B,QAAnBk4C,EAAGnjB,EAAOwjB,iBAAS,IAAAL,OAAA,EAAhBA,EAAkBz+C,MAC7BwG,GACgB,QAArBk4C,EAAApjB,EAAOyjB,sBAAc,IAAAL,OAAA,EAArBA,EAAuB1+C,SAAqB,QAAhB2+C,EAAIz3C,SAAY,IAAAy3C,OAAA,EAAZA,EAAcn4C,eAEzCw4C,EAAmB/gD,EAAA,GACrB8N,EAAkB,CACrB4C,kBAAmB8e,EACnBlnB,WACAa,WAAY2E,EAAmB3E,YAAcF,EAAaE,WAC1DG,WAAYwE,EAAmBxE,YAAcL,EAAaK,WAC1DL,eACAV,gBACAqF,WAAW,EACXG,YAAY,EACZvE,OAAQ6zB,SAAc,QAARsjB,EAANtjB,EAAQ7zB,cAAM,IAAAm3C,OAAA,EAAdA,EAAgB5+C,QAEzBw+C,EAAuB7gD,KAAKqhD,GAC5B74C,EAAWlI,EAAC,CACXoO,gBAAiBmyC,GACbN,IACHc,aAAmB,EAAnBA,EAAqBrwC,oBAAqB,CAC1C5C,mBAAoBizC,KAMN,QAAhBH,EAAI33C,SAAY,IAAA23C,GAAZA,EAAcv3C,gBACjB2G,SAAAA,EAAyB7J,SAAS,mBAAoB,CACrD4H,YAAY,EACZvO,GAAIgwB,EACJ9oB,QAAS,CACRgK,kBAAmB8e,KAIvB,CAEA,GAAuB,WAAnBH,EAAKlP,UAAwB,KAAA6gC,EAChC,IAAIC,EAAyBnzC,EAC7B,MAAMozC,EAAyBX,EAAuB/hD,IAAKkD,IACrB,IAAAy/C,EAArC,OAAIz/C,EAAIgP,mBAAqB8e,GAC5ByxB,EAAsBjhD,EAAA,GAAO0B,EAAK,CAAA8H,OAAQ6zB,SAAc,QAAR8jB,EAAN9jB,EAAQ7zB,cAAM,IAAA23C,OAAA,EAAdA,EAAgBp/C,QACnDk/C,GAEDv/C,IAERwG,EAAWlI,EAAC,CACXoO,gBAAiB8yC,GACbjB,IACmB,QADIe,EAC1BC,SAAsB,IAAAD,OAAA,EAAtBA,EAAwBtwC,oBAAqB,CAC7C5C,mBAAoBmzC,IAGvB,GAED72C,iBAAiB,GAElB,0CAA6C,CAC5CH,OAAQ4hC,IAQF,IAAAuV,EAAAC,EAAA,IARG,OACR76C,EAAM,QACN2c,EAAO,MACP1c,EAAK,YACLyB,EAAW,iBACXuK,EAAgB,SAChBtM,EAAQ,WACRC,GACAylC,EACA,MACCnlC,SAAS,mBAAC46C,IACP96C,GACE,0BAACqH,GAA6BzH,EAC9Bm7C,EAAcp+B,EAAQm+B,GACtBj7C,EAAiBk7C,SAAoB,QAATH,EAAXG,EAAalpC,eAAO,IAAA+oC,OAAA,EAApBA,EAAsB/6C,eACvCm7C,EACLD,SAAoB,QAATF,EAAXE,EAAalpC,eAAO,IAAAgpC,OAAA,EAApBA,EAAsBG,wBACjB,mBACL1zC,EAAkB,eAClBG,EAAc,gCACd2xC,GACGn5C,EAEJ,IAAIqH,aAAkB,EAAlBA,EAAoBzH,kBAAmBA,EAAgB,CAC1D,MAAMo7C,EAAuB,CAC5Bp7C,iBACAuH,WAAW,EACXzE,WAAY,GACZG,WAAY,GACZo4C,WAAY,GACZ3zC,YAAY,GAGT1H,GAAkB4H,GACrB9H,EAAS,iCAAkC,CAC1CG,gBAAiBD,IAIlBA,GACAwH,IACC+xC,GAAmC4B,KAEpCt5C,EAAY,CACX03C,iCAAiC,IAElCz5C,EAASnC,GAA6B,CAACqC,oBAGxC6B,EAAY,CACX4F,mBAAoB2zC,EACpBj5C,mBAAoB,GACpB3B,QAAS,GACTkH,YAAY,IAGboU,WAAW,KACVja,EAAY,CACX8F,mBAAmB,KAElB,KAIHyE,EAAiB,CAChBktC,qBAAsB,oBAExB,CAGA,GAAI7xC,SAAAA,EAAoBzH,gBAAkB4H,EAAgB,CACzD,MAAMqwC,EACL,oBAAqBxwC,aAAkB,EAAlBA,EAAoBzH,gBAC1CF,EAAS,iCAAkC,CAC1C6M,MAAO,0BACPxC,OAAQysC,GAA2BqB,GACnCpsC,WAAW,GAEb,CAGA,GAAIjE,EAAgB,CAEnB9H,EAAS,iCAAkC,CAC1C6M,MAAO,0BACPxC,OAAQysC,GAHa,mBAAqB52C,GAI1C6L,WAAW,GAEb,CAEAzM,OAAOiK,uBAAuBlC,eAAiB,CAAC,EAChD/H,OAAOiK,uBAAuBkvC,4BAA6B,IAG7D,+BAAoC1B,GAEpC,gCAAoCpb,EAAAA,GAAAA,UACnCgK,IAAkC,IAAjC,OAACtlC,EAAM,MAAEC,EAAK,YAAEyB,GAAY4jC,EAC5B,MACCplC,SAAS,OAAC9G,IACP4G,GACE,mBAACsH,EAAkB,qBAAE6zC,GAAwBl7C,EAE7CJ,EAAiByH,aAAkB,EAAlBA,EAAoBzH,eACrCu7C,EAA2B5hD,EAAA,GAAO2hD,GAExC,GAAmC,IAA/B1hD,OAAOyyB,KAAK9yB,GAAQf,SAAiBwH,EAExC,YADA6B,EAAY,CAAC6F,YAAY,IAI1B,MAAM8zC,EAAyBjiD,EAAOyG,GAEtC,IACE0Q,MAAMC,QAAQ6qC,IACmB,IAAlCA,EAAuBhjD,OAGvB,YADAqJ,EAAY,CAAC6F,YAAY,IAI1B,MAAM+zC,EAAsB,GAC5B,IAAK,MAAMzyB,KAAQwyB,EAAwB,CAC1C,MACChB,UAAWv4C,EACX43C,cAAej3C,EACf63C,eAAgBv4C,EAChBinB,OAAQ9e,EACRqxC,yBAA0BC,EAAqB,OAC/Cx4C,GACG6lB,GAAQ,CAAC,EAGb,IACE/mB,IACAW,GACoC,IAArChJ,OAAOyyB,KAAKzpB,GAAcpK,OACzB,CACD8K,QAAQD,MACP,wCAAwCrD,KAEzC,QACD,CAEA,IAAI47C,EACJ,IACCA,EAAej/B,KAAK0E,MAAMze,EAC3B,CAAE,MAAOS,GACRC,QAAQD,MACP,iDAAiDrD,IACjDqD,GAED,QACD,CAEA,MAAMw4C,EAAqB,CAC1B55C,WACAjC,iBACAkC,gBACAU,aAAcg5C,EACdvxC,oBACAlH,SACAoE,WAAW,GAKe,IAAAu0C,EAAAC,EAAAC,EAA3B,GAHAP,EAAoBpiD,KAAKwiD,GAGrBF,EACwC,QAA3CG,EAAAP,EAA4Bv7C,UAAe,IAAA87C,IAA3CP,EAA4Bv7C,GAAoB,CAAC,GACS,QAA1Dg8C,GAAAD,EAAAR,EAA4Bv7C,IAAgBkC,UAAc,IAAA85C,IAA1DD,EAA4C75C,GAAmB,CAAC,GAChEq5C,EAA4Bv7C,GAAgBkC,GAC3Cy5C,IACG,CAEN,CAGA,MAAMM,EACLR,EAAoBA,EAAoBjjD,OAAS,GAElDqJ,EAAY,CACXkG,gBAAiB0zC,EACjBh0C,mBAAkB9N,EAAA,GACd8N,EACAw0C,EAAyB,CAC5B10C,WAAW,IAEZ+zC,qBAAsBC,KAGxB,KAED,4BAAiC3V,IAAc,IAAb,OAACzlC,GAAOylC,EACzCtiC,QAAQD,MAAM,mCAAmClD,aAAM,EAANA,EAAQE,UAAW,CAAC,IAEtE,CAACxD,IAA0BmpC,IAAkC,IAAAkW,EAAA,IAAjC,YAACr6C,EAAW,OAAE1B,EAAM,MAAEC,GAAM4lC,EACvD,MACC3lC,SAAS,gBAAC87C,EAAe,mBAAEh6C,EAAkB,WAAEi6C,EAAU,QAAEC,IACxDl8C,GAEE,mBAACsH,EAAkB,qBAAE6zC,GAAwBl7C,EAC7CJ,EAAiByH,aAAkB,EAAlBA,EAAoBzH,eAG1Cs7C,SAAsC,QAAlBY,EAApBZ,EAAuBt7C,UAAe,IAAAk8C,GAAmB,QAAnBA,EAAtCA,EAAyCC,UAAgB,IAAAD,GAAzDA,EACC/5C,IAKEk6C,GAAWn/C,GAA0BuC,SAAS28C,IACjDv6C,EAAY,CACXrB,QAAS27C,EACTh6C,wBAIH,CAACrF,IAAiBiK,IACjB,MAAM,YACLlF,EACA9B,YAAY,aACXm3C,EAAY,WACZoF,EAAU,eACVC,EAAc,SACdn1C,EAAQ,SACRxG,GACA,MACDR,EAAK,SACLN,EACAK,QACCE,SAAS,WAACqH,EAAU,YAAE80C,KAEpBz1C,EACE01C,EAAiB/0C,QAAAA,GAAetH,EAAMsH,WAE5C,GAAI+0C,EACH38C,EAAS4F,SAEgB1M,KAArBk+C,aAAY,EAAZA,EAAc/9C,MAEbiO,EACHhI,OAAO+3C,iBAAiBuF,YAAYxF,EAAa/9C,IAAI,GAC3CmjD,EAAW/wC,MAAQ,KAAOixC,IACpC36C,EAAY,CACX86C,oBAAqB,CACpBL,aACAC,oBAGFn9C,OAAO+3C,iBAAiByF,cAAc1F,EAAa/9C,GAAI,CAACoS,MAAO,aAG3D,QACevS,KAArBk+C,aAAY,EAAZA,EAAc/9C,MACbiO,GACoB,MAArBk1C,EAAW/wC,OACXnL,EAAMu8C,oBACL,KAAAE,EAED,MAAMC,EAAmD,QAAtCD,EAAGz9C,OAAO+3C,iBAAiB4F,mBAAW,IAAAF,OAAA,EAAnCA,EAAqCr5B,KACzDw5B,GAAQA,EAAI7jD,KAAO+9C,EAAa/9C,IAGlC,GAAI2jD,EAAe,CAClB,MAAOR,WAAYW,EAAUV,eAAgBW,GAC5C98C,EAAMu8C,oBAEPG,EAAcK,UAAUr9C,SAAS,gCAA+BnG,EAAA,CAC/D4R,MAAO0xC,EAAS1xC,MAChBulB,OAAQmsB,EAASnsB,QACdosB,GAEL,CAGAr7C,EAAY,CACX86C,oBAAqB,MAEvB,CAmBoB,IAAAS,EAAAC,EAAAC,EAAAC,EAAAC,GAjBpB37C,EAAY,CACX6F,WAAY+0C,IAQb3gC,WACC,IACCja,EAAY,CACX8F,kBAAmB80C,IAErBA,EAAiB,EAAI,KAGlBA,IACH38C,EAASgZ,GAAgC,CACxCkB,UAAW,aACXC,SAAU,CACTwjC,QAASvG,aAAY,EAAZA,EAAc/9C,GACvBukD,UAAWpB,aAAU,EAAVA,EAAY/wC,MACvBvL,eAAwC,QAA1Bo9C,EAAEh9C,EAAMqH,0BAAkB,IAAA21C,OAAA,EAAxBA,EAA0Bp9C,eAC1CQ,QAASJ,EAAMI,QACf2B,mBAAoB/B,EAAM+B,mBAC1BF,SAAkC,QAA1Bo7C,EAAEj9C,EAAMqH,0BAAkB,IAAA41C,OAAA,EAAxBA,EAA0Bp7C,SACpCoI,kBAA2C,QAA1BizC,EAAEl9C,EAAMqH,0BAAkB,IAAA61C,OAAA,EAAxBA,EAA0BjzC,kBAC7CsxC,sBACyB,QADJ4B,EACpBn9C,EAAMqH,0BAAkB,IAAA81C,OAAA,EAAxBA,EAA0B5B,sBAC3BN,WAAoC,QAA1BmC,EAAEp9C,EAAMqH,0BAAkB,IAAA+1C,OAAA,EAAxBA,EAA0BnC,WACtCz6C,SAAUA,MAKd,CAAC7D,IAAmBkpC,IAAwB,IAAvB,SAACnmC,EAAQ,OAAEK,GAAO8lC,EACtC,MACC5lC,SAAS,QACRG,EAAO,WACPkH,EAAU,MACV3E,EAAK,KACLG,EAAI,GAC0C/J,EAC9CkH,SAAS,kBAACgK,KAERlK,EAMJL,EAAS,4BAA6B,CACrCU,UACAkH,aACAi2C,iBALkD3kD,IAAtBqR,EAKQA,EAAoB,KACxD/B,qBAAsBnP,EACtB4J,QACAG,UAGF,0BAA+BgjC,IAA4C,IAA3C,YAACrkC,EAAW,OAAE1B,EAAM,MAAEC,EAAK,SAAEN,GAASomC,EACrE,MACC7lC,SAAS,WAACqH,EAAU,YAAEi2C,EAAW,qBAAEr1C,EAAoB,MAAEvF,EAAK,KAAEG,IAC7D/C,GACE,mBAACsH,EAAkB,gBAAEM,GAAmB3H,EACxCJ,EAAiByH,aAAkB,EAAlBA,EAAoBzH,eACrC49C,EAA4B71C,EAAgByb,KAChDva,GACAA,EAAajJ,iBAAmBA,GACf,OAAhB29C,GACE10C,EAAaoB,oBAAsBszC,GAIpCC,IACH/7C,EAAY,CACX6F,aACAkyC,wBAAyBgE,aAAyB,EAAzBA,EAA2BvzC,kBACpD5C,mBAAkB9N,EAAA,GACdikD,EAAyB,CAC5Br2C,WAAW,EACXe,uBACAxF,WAAYC,QAAAA,EAAS66C,EAA0B96C,WAC/CG,WAAYC,QAAAA,EAAQ06C,EAA0B36C,eAIhDnD,EAAShD,GAAe,CAAC4K,aAAY80C,aAAa,MAGpD,CAACv/C,IAA6B,CAC7B2G,OAAQsjC,IAAkC,IAAjC,OAAC/mC,EAAM,YAAE0B,EAAW,MAAEzB,GAAM8mC,EACpC,MACC7mC,SAAS,OAAC9G,IACP4G,EACJmD,QAAQm2C,MAAMx8C,GAA4B1D,GAE1C,MAAM,QACLiH,EAAO,mBACP2B,EAAkB,mBAClBsF,EAAkB,qBAClB6zC,GACGl7C,EACEJ,EAAiByH,aAAkB,EAAlBA,EAAoBzH,eAErC69C,EAAoBvC,EAAqBt7C,IAAmB,CAAC,EACnEs7C,EAAqBt7C,GAAkB69C,EAEvC,MAAMC,EAAaD,EAAkBr9C,IAAY,CAAC,EAClDq9C,EAAkBr9C,GAAWs9C,EAExBA,EAAW37C,KACf27C,EAAW37C,IAAsB,EACjCN,EAAY,CACXy5C,2BAIHv3C,iBAAiB,GAElB,CAAC9G,IAA0B,CAC1B2G,OAAQujC,IAAc,IAAb,OAAChnC,GAAOgnC,EAChB,MACC9mC,SACCgD,OAAO,QAACpF,KAENkC,EACJmD,QAAQD,MAAM,yBAA0BpF,IAEzC8F,iBAAiB,GAElB,CAAC9G,IAAoC+5C,GACrC,CAACz6C,GAA+C,CAC/CqH,OAAQyjC,IAIF,IAHLlnC,QAASE,QAASwE,EAA0B,CAAC,GAAE,YAC/ChD,EACAzB,OAAO,mBAACqH,EAAqB,CAAC,IAC9B4/B,EACAxlC,EAAY,CACX4F,mBAAkB9N,EAAA,GACd8N,EAAkB,CACrB5C,wBAAuBlL,EAAA,GAClB8N,EAAmB5C,yBAA2B,CAAC,EAChDA,QAKPd,iBAAiB,GAElB,CAACvH,IAA6C,CAC7CoH,OAAQgkC,IAAqD,IAApD,YAAC/lC,EAAazB,OAAO,mBAACqH,EAAqB,CAAC,IAAGmgC,EACvD,MAAMmW,EAAuBpkD,EAAA,GAAO8N,GAChCs2C,EAAwBl5C,iCACpBk5C,EAAwBl5C,wBAC/BhD,EAAY,CACX4F,mBAAoBs2C,MAIvBh6C,iBAAiB,GAElB,CAAC/G,IAAwB,CACxB4G,OAAQikC,IAYF,IAXL1nC,QACCE,SAAS,aACRqB,EAAY,GACZvI,EAAKuI,EAAY,MACjBqB,EAAK,gBACL/B,EAAe,KACfkC,IAGF9C,OAAO,mBAACqH,EAAkB,gBAAEM,EAAe,wBAAE4B,GAAwB,YACrE9H,GACAgmC,EACA,MAAMmW,EAAoBj2C,EAAgByb,KACxCy6B,GACAA,EAAKj+C,kBAAmByH,aAAkB,EAAlBA,EAAoBzH,kBAC3Ci+C,EAAK5zC,oBAAsBlR,GAI3B8kD,EAAKr7C,aAAaC,gBAAkB1J,IAGhB,IAAA+kD,EAAnBF,EAC+B,QAAlCE,EAAIF,EAAkBp7C,oBAAY,IAAAs7C,GAA9BA,EAAgCl7C,gBACnC2G,SAAAA,EAAyB7J,SAAS,mBAAoB,CACrD4H,YAAY,EACZvO,GAAI6kD,EAAkB3zC,kBACtBhK,QAAS,CACRgK,kBAAmB2zC,EAAkB3zC,sBAQzCxI,EAAY,CACXO,WAAY,CACXjJ,KACA4J,QACAG,OACAxB,eACAV,sBAIH+C,iBAAiB,GAElB,CAAC5G,IAAgC2qC,IAA2B,IAA1B,OAAC3nC,EAAM,YAAE0B,GAAYimC,EACtD,MACCznC,SAAS,qBAACi7C,IACPn7C,EACJ0B,EAAY,CACXy5C,0BAIF,0BAA6BvT,IAAwB,IAAvB,OAAC5nC,EAAM,SAAEL,GAASioC,EAC/C,MAAM,GAAC5uC,GAAMgH,EAAO6a,KAAKG,SACd,8BAAPhiB,GACH2G,EAAS6F,KAGX,yBAA4ByiC,IAAwB,IAAvB,OAACjoC,EAAM,SAAEL,GAASsoC,EAC9C,MAAM,GAACjvC,GAAMgH,EAAO6a,KAAKG,UACnB,MAACzf,GAASyE,EAAOE,QAEZ,6BAAPlH,IACW,IAAVuC,GACHoE,EAAS6F,KAIZ,4BAA+B0iC,IAAwB,IAAvB,OAACloC,EAAM,SAAEL,GAASuoC,EACjD,MAAM,GAAClvC,GAAMgH,EAAO6a,KAAKG,SAEzB,GAAW,8BAAPhiB,EAAoC,CACvC,MAAM,KAACf,GAAQ+H,EAAOE,QAEtBP,EAAS,4BAA6B,CACrC4H,YAAY,EACZi2C,YAAavlD,EAAKe,GAClBmP,qBAAsBlQ,EAAKe,IAE7B,GAED,0BAA6BglD,IAA4B,IAAAC,EAAA,IAA3B,WAACr+C,EAAU,SAAED,GAASq+C,EACnD,MAAM,gBAACj3C,EAAe,0BAAEM,GAA6BzH,GACtCmH,SAAuB,QAARk3C,EAAfl3C,EAAiBiV,cAAM,IAAAiiC,OAAA,EAAvBA,EAAyBt9C,QAC1B0G,GACb1H,EAASpC,KAGX,CAACgI,IAA4B24C,IAGvB,IAFLj+C,OAAO,gBAAC2H,EAAe,mBAAEN,GAAmB,YAC5C5F,GACAw8C,EACA,MAAMC,EAAoBv2C,EAAgBvP,OAAS,EAE7C+lD,EAAeC,aAAaC,QACjC74C,MAEkC24C,EAChC5hC,KAAK0E,MAAMk9B,GACX,IACuD9+C,SACzDgI,aAAkB,EAAlBA,EAAoBzH,iBAGUs+C,GAC9BxiC,WAAW,KACV4e,sBAAsB,KACrB74B,EAAY,CACXmG,wBAAwB,OAGxB,MAIL,CAACrC,IAA6B+4C,IAGxB,IAFLt+C,OAAO,mBAACqH,GAAmB,YAC3B5F,GACA68C,EACA,MAAM1+C,EAAiByH,aAAkB,EAAlBA,EAAoBzH,eACrCu+C,EAAeC,aAAaC,QACjC74C,IAEK+4C,EAA6BJ,EAChC5hC,KAAK0E,MAAMk9B,GACX,GAGFv+C,IACC2+C,EAA2Bl/C,SAASO,IAErC2+C,EAA2BtlD,KAAK2G,GAGjCw+C,aAAaI,QACZh5C,GACA+W,KAAKC,UAAU+hC,IAGhB98C,EAAY,CACXmG,wBAAwB,KAG1B,CAAC1K,IAAgCuhD,IAAkC,IAAjC,OAAC1+C,EAAM,YAAE0B,EAAW,MAAEzB,GAAMy+C,EAC7D,MACCx+C,SAAS,mBAACy+C,EAAkB,wBAAE72C,IAC3B9H,GAEE,mBAACsH,EAAkB,gBAAEM,GAAmB3H,EACxC2+C,EAA0Bh3C,EAAgB5P,IAAKkD,GAChDA,EAAIgP,oBAAqB5C,aAAkB,EAAlBA,EAAoB4C,mBAChD1Q,EAAA,GACI0B,EAAG,CACN8H,OAAQ,GAAG27C,KAAsB72C,aAAuB,EAAvBA,EAAyB9E,WAGrD9H,GAEFu/C,EAAsBjhD,EAAA,GACxB8N,EAAkB,CACrBtE,OAAQ,GAAG27C,KAAsB72C,aAAuB,EAAvBA,EAAyB9E,WAE3DtB,EAAY,CACXoG,0BACAF,gBAAiBg3C,EACjBt3C,mBAAoBmzC,KAGtB,CAACn+C,IAA2C,CAC3CsH,iBAAiB,EACjBH,OAAQo7C,IAAwB,IAAvB,iBAAC5yC,GAAiB4yC,EAC1B5yC,EAAiB,CAACjF,eAAgB,CAAC,OAGlC83C,IAGSC,GAAgB,CAC5B,CACCC,OAAQ,CpH9uC+B,6BoH+uCvCv7C,OAASmD,IACeyuC,GAAwB,CAC9Cr1C,OAAQ4G,EAAU5G,OAClBC,MAAO2G,EAAU3G,MACjBN,SAAUiH,EAAUjH,YAIpBiH,EAAU5G,OAAOwlB,kBAGnB5hB,iBAAiB,GAElB,CACCo7C,OAAQ,CpH3uC8B,4BoH4uCtCv7C,OAAQw7C,IAA0B,IAAA/a,EAAA,IAAzB,OAAClkC,EAAM,WAAEJ,GAAWq/C,EAC5B,MAAMr8C,EAAsB,QAAjBshC,EAAGlkC,EAAOE,eAAO,IAAAgkC,OAAA,EAAdA,EAAgBthC,MAC1BA,GACHk0C,GAAsBl3C,EAAWm3C,aAAcn0C,IAGjDgB,iBAAiB,IC/xCnB,MAAM,GAFEpI,KAAO,IAAIC,EAAI,CAAC,EAAgC,OAA7BpB,EAAoBK,EAAEe,EAAGD,GAAWC,GAE1B,CAAE,CAAE,QAAa,KACjD,MAAMC,EAAYwjD,EAAsG5lD,SAAW4lD,EAAsG7lD,WACzO,OAAIqC,EACIwjD,EAA+G,SAAKA,EAA+G,QAAW,QAAIA,EAA+G,QAAW,QAAIA,EAA+G,QAC5dxjD,EACHwjD,EAA+G,QAAW,QAE1HA,EAA+G,QAAKA,EAA+G,QAAW,QAAIA,EAA+G,QAAW,QAAIA,EAA+G,QAAKA,MCUjfrjD,EAAAA,EAAAA,qBAAoB,8BAA+B,CAClDsK,SAAU,CACT7E,KAAM8E,GAAAA,QACN9B,KCQF,CAAgBrE,EAAKP,KAAgD,IAA9C,SAACC,EAAQ,iBAAEsM,EAAgB,YAAEvK,GAAYhC,EAC/D,MAAM,aAACq3C,EAAY,aAAEoI,GAAgBl/C,EAAML,WAErCw/C,EACLD,EAAaE,cAAgBtI,EAAa/9C,IAC1CmmD,EAAaG,YAAcvI,EAAa/9C,GACnCkO,EAAU6vC,EAAa7vC,QAC7B,IACC,OACC/C,EAAAA,GAAAA,eAAA,OACCa,MAAO,CACN,wBAAwB,EACxBu6C,WAAW,EACXC,KAAMt4C,EACNu4C,OAAQL,GAETr6C,UAAU,mCAEVZ,EAAAA,GAAAA,eAAA,OAAKY,UAAU,WAzCO26C,EAACzzC,EAAkBtM,EAAU+B,EAAazB,KACnE,MACCL,YAAY,SAACqF,IACVhF,EAEJ,OAAIgF,GAEFd,EAAAA,GAAAA,eAACw7C,GAAsB,CACtBhgD,SAAUA,EACVM,MAAOA,EACPgM,iBAAkBA,EAClBvK,YAAaA,KAKdyC,EAAAA,GAAAA,eAAA,YACCA,EAAAA,GAAAA,eAAA,yCAyBEu7C,CAAkBzzC,EAAkBtM,EAAU+B,EAAazB,IAIhE,CAAE,MAAOpG,GAER,OADAsJ,QAAQD,MAAM,uBAAwBrJ,IAErCsK,EAAAA,GAAAA,eAAA,QAAMY,UAAU,UACfZ,EAAAA,GAAAA,eAAA,UAAKvG,KACLuG,EAAAA,GAAAA,eAAA,UAAKtK,EAAEiE,UACPqG,EAAAA,GAAAA,eAAA,SAAItK,EAAE+lD,QACNz7C,EAAAA,GAAAA,eAAA,SAAIqY,KAAKC,UAAUxc,IAGtB,CACA,GDxCAkF,OAAM,GACNvF,WAAY,CACXiH,mBAAoB,CACnBvN,QAAS,CAAC,EACVgb,OAAQ,CACPhT,KAAM,WAGRyF,gBAAiB,CAChBzN,QAAS,CAAC,EACVgb,OAAQ,CAAChT,KAAM,WAEhB0F,eAAgB,CACf1N,QAAS,CAAC,EACVgb,OAAQ,CAAChT,KAAM,WAEhB63C,qBAAsB,CACrB7/C,QAAS,GACTgb,OAAQ,CACPhT,KAAM,WAGRjB,QAAS,CACR/G,QAAS,GACTgb,OAAQ,CACPhT,KAAM,WAGRu2C,YAAa,CACZv+C,QAAS,CAAC,EACVgb,OAAQ,CAAChT,KAAM,WAEhBwF,UAAW,CACVxN,QAAS,CAAC,EACVgb,OAAQ,CAAChT,KAAM,WAEhBg3C,iBAAkB,CACjBh/C,QAAS,KACTgb,OAAQ,CAAChT,KAAM,WAEhBb,SAAU,CACTnH,QAAS,qBACTgb,OAAQ,CAAChT,KAAM,WAEhBg2C,sBAAuB,CACtBh+C,SAAS,EACTgb,OAAQ,CAAChT,KAAM,YAEhBu+C,eAAgB,CACfvmD,SAAS,EACTgb,OAAQ,CAAChT,KAAM,YAEhB+F,0BAA2B,CAC1B/N,SAAS,EACTgb,OAAQ,CAAChT,KAAM,YAEhB42C,gBAAiB,CAChB5+C,QAAS,kBACTgb,OAAQ,CAAChT,KAAM,YAGjB8D,gBAAiB1F,IAEX,IAAAqR,EAAA,IADLnR,YAAY,QAACS,EAAS84C,qBAAsBt5C,EAAc,eAAEggD,IAC5DngD,EACA,MAAMogD,EAAuC,QAAb/uC,EAAG9R,OAAOsS,WAAG,IAAAR,OAAA,EAAVA,EAAYgvC,yBAE/C,IAAIt4C,GAAiB,EAoBrB,OAjBCA,GADGo4C,IAM+B,MAA9BC,EAtFA,SAA4BE,GAAoC,IAAtBC,EAAYnmD,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,IAAAA,UAAA,GAC5D,MAAMomD,GAAgB1L,EAAAA,GAAAA,aAAYwL,EAAcC,GAChD,OACmB,IAAlBC,GAAqE,SAA3CA,EAAcpoD,WAAW8vB,aAErD,CAoFKu4B,CtH3EJ,sCsH2EkE,IAC9DrvC,KAG8C,YAA3CgvC,GAA4BhoD,YAC/BgZ,MAII,CACNxJ,mBAAoB,CACnBzH,iBACAuH,WAAW,EACXzE,WAAY,GACZG,WAAY,GACZo4C,WAAY,GACZ3zC,YAAY,GAEb64C,iBAAkB,GAClB3G,wBAAyB,GACzB7xC,gBAAiB,GACjByxC,SAAU,CAAC,EACX8B,qBAAsB,CAAC,EACvB3xC,wBAAyB,KACzB62C,iBAAkB,CACjB,CACCxgD,eAAgB,UAChBQ,UACA2C,OAAQ,UACRs9C,MAAO,KAGT74C,iBAEAC,0BAA2B,EAC3BG,wBAAwB,EACxB20C,oBAAqB,KACrBv0C,eAAgB,IAGlB5C,eAAgB2iB,GAChB+2B,cAAeA,GACf1zC,UAAW,CAAC,CAACoJ,SAAU8rC,GAAAA,SAAiB,CAAC9rC,SE/I1C,CACCtU,KAAM,kBACNP,WAAY,CACXqF,SAAU,CACT3L,SAAS,EACTgb,OAAQ,CACPhT,KAAM,YAGR2F,SAAU,CACT3N,SAAS,EACTgb,OAAQ,CACPhT,KAAM,YAGR4F,QAAS,CACR5N,SAAS,EACTgb,OAAQ,CACPhT,KAAM,YAGR6F,WAAY,CACX7N,SAAS,EACTgb,OAAQ,CACPhT,KAAM,YAGR66C,WAAY,CACX7iD,QAAS,CACR8R,MAAO,IACPulB,OAAQ,KAETrc,OAAQ,CACPhT,KAAM,WAGRy1C,aAAc,CACbz9C,QAAS,CAAC,EACVgb,OAAQ,CAAChT,KAAM,WAEhB69C,aAAc,CACb7lD,QAAS,CACR+lD,YAAa,KACbC,UAAW,KACXkB,eAAgB,MAEjBlsC,OAAQ,CAAChT,KAAM,WAEhB86C,eAAgB,CACf9iD,QAAS,CACRmnD,IAAK,KACLC,OAAQ,KACRC,KAAM,KACNC,MAAO,MAERtsC,OAAQ,CACPhT,KAAM,iBCxDH,MCAMu/C,GAAwB,yCACxBC,GAAqB,6BACrBC,GAAmB,oCACnBC,GAAiB,2BCAvB7iD,uBAAsB,GAAEyN,uBAAsBA,IAAIhQ,EAAAA,YASzD,IAAIqlD,GACAC,GACAjR,GAEJ,MAAMkR,GAAmBC,GFhBQ,SAChCC,GAGI,IAFJjlB,EAAItiC,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG41B,SAAS9c,KAChB0uC,EAAYxnD,UAAAzB,OAAA,QAAAQ,IAAAiB,UAAA,GAAAA,UAAA,GAAG,KAEf,MAAMynD,EAAQ,CAACnlB,GACf,KAAOmlB,EAAMlpD,OAAS,GAAG,CACxB,MAAMooD,EAAMc,EAAMC,QACZC,EAAWhB,EAAI78B,iBAAiB,IAAI09B,KAAgBD,MAC1D,IAAK,IAAI9oD,EAAI,EAAGA,EAAIkpD,EAASppD,OAAQE,IACpC,GAAIkpD,EAASlpD,GAAGg3B,aAAa+xB,KAAkBD,EAC9C,OAAOI,EAASlpD,GAIlB,GAAIkoD,aAAehT,QAAS,CAC3B,MAAMiU,EAAYjB,EAAIhiB,WAClBijB,GACHH,EAAMroD,KAAKwoD,EAEb,CACA,MAAMC,EAAclB,EAAI78B,iBAAiB,KACzC,IAAK,IAAIrrB,EAAI,EAAGA,EAAIopD,EAAYtpD,OAAQE,IAAK,CAC5C,MAAMqpD,EAASD,EAAYppD,GAAGkmC,WAC1BmjB,GACHL,EAAMroD,KAAK0oD,EAEb,CACD,CACD,CEZsBC,CACpBT,EACAniD,OAAOywB,SAAS9c,KAChB,eAMF,IACC,CAACzU,IAAyB,CACzBsF,OAAQ/D,IAAyC,IAAxC,WAACE,EAAU,SAAED,EAAQ,YAAE+B,GAAYhC,EAC3CuhD,IAAiCv1C,EAAAA,GAAAA,WAAU,CAC1C4mC,YAAa0O,GACbrkC,QAAS,CACR3c,OAAQ,0BAETuyC,SAAW1pB,GAASlpB,EAASohD,GAAkB,CAACzmC,OAAQuO,EAAKvO,WAG9D4mC,IAAsBx1C,EAAAA,GAAAA,WAAU,CAC/B4mC,YAAa0O,GACbrkC,QAAS,CACR3c,OAAQ,YAETuyC,SAAW1pB,GAASlpB,EAASkhD,GAAuB,CAAC,KAGtD5Q,IAAsBvkC,EAAAA,GAAAA,WAAU,CAC/B4mC,YAAa0O,GACbrkC,QAAS,CACR3c,OAAQ,aAETuyC,SAAW1pB,GAASlpB,EAASmhD,GAAoB,CAACxmC,OAAQuO,EAAKvO,WAGhE,MAAM,SAAC8mC,GAAYxhD,EAEnB8B,EAAY,CACX0/C,cAGFx9C,iBAAiB,GAElB,CAACgI,IAAyB,CACzBnI,OAAQ1D,IAAQ,MAALA,EACVkhD,KACAC,KACAjR,MAEDrsC,iBAAiB,GAElB,CAACm9C,IAAmB,CACnBt9C,OAAQjC,IAA+B,IAA9B,OAACxB,EAAM,SAAEL,EAAQ,MAAEM,GAAMuB,EACjC,MAAM8Y,EAASta,EAAOE,QAAQoa,OAE9B,IAAKA,EAKJ,YAJAnX,QAAQD,MACP,sDACAlD,GAKF,MAAM,SAACohD,GAAYnhD,EAEb6hD,EAAeX,GAAgBC,GACjCU,IAAiBA,EAAa/8C,UAAUzF,SAAS,gBACpDwiD,EAAaC,QAGdpiD,EAASmhD,GAAoB,CAACxmC,aAGhC,CAACumC,IAAwBl/C,IAAa,IAAZ,MAAC1B,GAAM0B,EAChC,MAAM,SAACy/C,GAAYnhD,EAEb6hD,EAAeX,GAAgBC,GACjCU,IAAiBA,EAAa/8C,UAAUzF,SAAS,gBACpDwiD,EAAaC,SAGf,CAACjB,IAAqB,CACrBr9C,OAAQR,IAA2B,IAA1B,OAACjD,EAAM,YAAE0B,GAAYuB,EAC7B,MAAMqX,EAASta,EAAOE,QAAQoa,OAEzBA,IAOL7O,EAAAA,GAAAA,SAAQ,CACP6mC,YAAa,0BACb31B,QAAS,CACR3c,OAAQ,YACR8a,OAAQ,UAET+N,KAAM,CAACvO,YAGR5Y,EAAY,CACX4Y,OAAQA,KAhBRnX,QAAQD,MACP,sDACAlD,OCvGLnE,EAAAA,EAAAA,qBAAoB,6BAA8B,CACjD+D,WAAY,CACXwhD,SAAU,CACT9/C,KAAM,UAEPgZ,OAAQ,CACPhZ,KAAM,WAGR8D,gBAAiBA,KAAA,CAChBg8C,SAAU,GACV9mC,OAAQ,KAETjV,eAAcA,KCffpG,OAAO+iD,oDAAoDrqD,EAAAA;AAAA,oBAAAA","sources":["webpack:///css-loader/6.7.1/dist/runtime/api.js","webpack:///css-loader/6.7.1/dist/runtime/noSourceMaps.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-review-card/styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-status-card-list/styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/status-card-popover.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-stepper/_now-ai-vertical-stepper.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/now-canvas-ai/styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-citation/_styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-processes-template/styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-reasoning/_styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/_styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/EditableListControl/_styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/screens/canvas-selection/sn-canvas-selection-info-popover.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-conversation-transcript/_styles.scss","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-experience/styles.scss","webpack:///./src/now-ai-agent-review-card/styles.scss?3a5e","webpack:///./src/now-ai-agent-status-card-list/styles.scss?6836","webpack:///./src/now-ai-status-card/status-card-popover.scss?092e","webpack:///./src/now-ai-status-card/styles.scss?1bc2","webpack:///./src/now-ai-stepper/_now-ai-vertical-stepper.scss?d754","webpack:///./src/now-canvas-ai/styles.scss?6c37","webpack:///./src/sn-agentic-citation/_styles.scss?9797","webpack:///./src/sn-agentic-processes-template/styles.scss?dd4a","webpack:///./src/sn-agentic-reasoning/_styles.scss?5fe1","webpack:///./src/sn-agentic-supervision/_styles.scss?a0e4","webpack:///./src/sn-agentic-supervision/controls/EditableListControl/_styles.scss?e37d","webpack:///./src/sn-canvas-experience/screens/canvas-selection/sn-canvas-selection-info-popover.scss?1687","webpack:///./src/sn-canvas-experience/styles.scss?e8d9","webpack:///./src/sn-conversation-transcript/_styles.scss?6c5e","webpack:///./src/sn-interactive-view-experience/styles.scss?482f","webpack:///external import \"/uxasset/externals/now-assist-self-service/index.jsdbx\"","webpack:///@babel/runtime/7.25.7/helpers/extends.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///external module \"/uxasset/externals/@servicenow/ui-core/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-http/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-component-loader/27.0.1-uxfdefects.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/uxf-effect-macroponent-loader/27.0.1-uxfdefects.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-translate/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-canvas-ai/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-canvas-ai/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-renderer-snabbdom/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/now-canvas-ai/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-canvas-ai/view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-button/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-icon/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-highlighted-value/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-popover/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-dropdown/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/screens/canvas-selection/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/screens/canvas-selection/sn-canvas-selection-info-popover.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/screens/canvasExperience.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/screens/canvas-selection/utils.js","webpack:///external module \"/uxasset/externals/@servicenow/ai-engagement-library/27.10.19/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-experience/actionHandlers.js","webpack:///external module \"/uxasset/externals/@servicenow/now-heading/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-card/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-template-message/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-illustration/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-modal/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-flyout-menu/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-loader/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-label-value/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-truncation/29.1.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/behavior-tooltip/29.1.0/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-accordion/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-stepper/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/utils/agent-card-constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/utils/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/utils/lit_translations.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-stepper/utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-stepper/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/utils/date-time-constants.js","webpack:///external module \"/uxasset/externals/@servicenow/library-date-time/27.8.0/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/utils/date-time-utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/helper.js","webpack:///@servicenow/sn-ai-engagement-experience/src/behaviors/cancel-workflow/src/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/metrics/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/behaviors/cancel-workflow/src/cancel-workflow.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/status-card-popover-content.js","webpack:///external module \"/uxasset/externals/@servicenow/now-textarea/index.jsdbx\"","webpack:///external module \"/uxasset/externals/dompurify/3.2.6/index.jsdbx\"","webpack:///external module \"/uxasset/externals/marked/16.2.1/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/utils/feedback-utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/utils/markdown.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/partials/Label.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/partials/InputTextRenderer.js","webpack:///external module \"/uxasset/externals/@servicenow/now-radio-buttons/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@servicenow/now-checkbox/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/partials/BooleanPickerRenderer.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/partials/PickerControlRenderer.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/EditableListControl/utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/EditableListControl/view.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/EditableListControl/actionHandlers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/EditableListControl/index.js","webpack:///external module \"/uxasset/externals/@servicenow/now-record-common/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/FileUploadControl/actionHandlers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/FileUploadControl/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/controls/FileUploadControl/view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-date-time/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/partials/DateTimeRenderer.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-feedback/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/ux-metrics/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/metrics/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/actionHandlers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-supervision/view.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-conversation-transcript/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-conversation-transcript/utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-citation/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-citation/utils.js","webpack:///external module \"/uxasset/externals/@servicenow/now-badge/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-citation/view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-text-link/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-reasoning/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-reasoning/agentic-reasoning-popover-content.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-reasoning/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-reasoning/view.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-citation/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-conversation-transcript/view.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-conversation-transcript/actionHandlers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-conversation-transcript/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-review-card/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-review-card/utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-review-card/actionHandlers.js","webpack:///external module \"/uxasset/externals/@devsnc/sn-wwna/index.jsdbx\"","webpack:///external module \"/uxasset/externals/@devsnc/snowdash/28.0.1/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-review-card/variants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-review-card/view.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-review-card/now-ai-agent-review-card.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/view.js","webpack:///external module \"/uxasset/externals/@servicenow/ui-effect-amb/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/actionHandlers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/behaviors/amb-behavior.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-status-card/now-ai-status-card.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-status-card-list/now-ai-agent-status-card-list.js","webpack:///@servicenow/sn-ai-engagement-experience/src/now-ai-agent-status-card-list/view.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-processes-template/constants.js","webpack:///external module \"/uxasset/externals/lodash/4.18.1/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-processes-template/utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/utilities/adjustRemValues.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-processes-template/actionHandlers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-processes-template/open-plan-behavior.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-processes-template/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-agentic-processes-template/view.js","webpack:///external module \"/uxasset/externals/@servicenow/now-alert/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-experience/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-experience/view.js","webpack:///external module \"/uxasset/externals/sn-ux-core/27.0.1/index.jsdbx\"","webpack:///external module \"/uxasset/externals/sn-uxpage-presource/26.0.0/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/utilities/navigation-helpers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/actions.js","webpack:///external module \"/uxasset/externals/@servicenow/behavior-resize/27.8.0/index.jsdbx\"","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/view.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-canvas-experience/behaviors/sn-window-behavior.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-router/utils.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-router/constants.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-router/actionHandlers.js","webpack:///@servicenow/sn-ai-engagement-experience/src/sn-interactive-view-router/index.js","webpack:///@servicenow/sn-ai-engagement-experience/src/__imaginary__/entry-wrapper.js"],"sourcesContent":["\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = \"\";\n      var needLayer = typeof item[5] !== \"undefined\";\n\n      if (item[4]) {\n        content += \"@supports (\".concat(item[4], \") {\");\n      }\n\n      if (item[2]) {\n        content += \"@media \".concat(item[2], \" {\");\n      }\n\n      if (needLayer) {\n        content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n      }\n\n      content += cssWithMappingToString(item);\n\n      if (needLayer) {\n        content += \"}\";\n      }\n\n      if (item[2]) {\n        content += \"}\";\n      }\n\n      if (item[4]) {\n        content += \"}\";\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n\n\n  list.i = function i(modules, media, dedupe, supports, layer) {\n    if (typeof modules === \"string\") {\n      modules = [[null, modules, undefined]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var k = 0; k < this.length; k++) {\n        var id = this[k][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _k = 0; _k < modules.length; _k++) {\n      var item = [].concat(modules[_k]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        continue;\n      }\n\n      if (typeof layer !== \"undefined\") {\n        if (typeof item[5] === \"undefined\") {\n          item[5] = layer;\n        } else {\n          item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n          item[5] = layer;\n        }\n      }\n\n      if (media) {\n        if (!item[2]) {\n          item[2] = media;\n        } else {\n          item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n          item[2] = media;\n        }\n      }\n\n      if (supports) {\n        if (!item[4]) {\n          item[4] = \"\".concat(supports);\n        } else {\n          item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n          item[4] = supports;\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n  return i[1];\n};","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}.now-ai-agent-review-card{display:flex;flex-direction:column;overflow:hidden}.now-ai-agent-review-card .card-content{align-items:stretch;display:flex;flex-direction:column;gap:calc(.75rem*var(--na-ss-rem-multiplier));padding-bottom:calc(1rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-header{align-items:center;display:flex;justify-content:space-between}.now-ai-agent-review-card .card-header-title{font-size:calc(1rem*var(--na-ss-rem-multiplier));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-ai-agent-review-card .card-header-actions{align-items:center;display:flex;gap:calc(.25rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-footer{display:flex;flex-direction:column}.now-ai-agent-review-card .card-footer .card-footer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:calc(.25rem*var(--na-ss-rem-multiplier));margin-block-end:calc(1rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-footer .card-footer-actions>.card-action-button-container{flex:1 1 auto;min-width:calc(8.25rem*var(--na-ss-rem-multiplier));width:auto}.now-ai-agent-review-card .card-footer .card-footer-actions>.card-action-button-container now-button{width:100%}.now-ai-agent-review-card .card-footer .card-footer-actions .card-ignore-draft-menu{--now-popover--border-radius:calc(0.25rem*var(--na-ss-rem-multiplier));--now-popover--border-color:var(--now-color--neutral-2);--now-popover--background-color:var(--now-color_background--primary)}.now-ai-agent-review-card .card-footer .card-footer-disclaimer-row{align-items:center;border-top:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));display:flex;justify-content:space-between}.now-ai-agent-review-card .card-footer .card-disclaimer{color:var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81));font-size:calc(.75rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-footer .card-feedback{flex-shrink:0}.now-ai-agent-review-card.--inline{padding-block-start:calc(1rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card.--inline .card-content{padding-block-end:0}.now-ai-agent-review-card.--inline .textual-body{margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card.--inline .card-footer{border:none;display:block}.now-ai-agent-review-card.--inline .card-footer .card-footer-actions{align-items:center;display:flex;flex-wrap:nowrap;justify-content:space-between;width:100%}.now-ai-agent-review-card.--inline .card-footer .card-footer-actions-left{align-items:center;display:flex}.now-ai-agent-review-card.--inline .card-footer .card-footer-actions-right{align-items:center;display:flex;gap:calc(.25rem*var(--na-ss-rem-multiplier));margin-inline-start:auto}.now-ai-agent-review-card.--inline .card-footer .card-footer-disclaimer{padding-block-start:calc(1rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-body-edit now-textarea{display:block}.now-ai-agent-review-card .card-body sn-now-assist-context-menu.hidden{display:none}.now-ai-agent-review-card .card-body ul{margin-block:0;margin-inline:calc(1rem*var(--na-ss-rem-multiplier));padding-inline-start:calc(1rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-body .textual .textual-body{max-height:10lh;overflow:hidden}.now-ai-agent-review-card .card-body .textual .textual-body div:first-child :first-child{margin-block-start:0;padding-block-start:0}.now-ai-agent-review-card .card-body .textual .textual-body div:first-child :last-child{margin-block-end:0;padding-block-end:0}.now-ai-agent-review-card .card-body .textual .show-more-anchor{padding:1px 1px 0 0;visibility:hidden}.now-ai-agent-review-card .card-body .textual now-button-bare.hidden{display:none}.now-ai-agent-review-card .card-body .textual.expanded .textual-body{max-height:unset}.now-ai-agent-review-card .card-body .textual.expanded now-button-bare{display:unset}.now-ai-agent-review-card .card-body .link p:first-child{margin-block-start:0}.now-ai-agent-review-card .card-body .link p:last-child{margin-block-end:0}.now-ai-agent-review-card .card-body .field-changes,.now-ai-agent-review-card .card-body .field-changes>div:first-child{display:flex;flex-direction:column;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-body .field-changes-disclaimer{color:var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81));font-size:calc(.75rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-body .field-changes .value{color:var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28));font-weight:700}.now-ai-agent-review-card .card-body .list,.now-ai-agent-review-card .card-body .list .list-items{display:flex;flex-direction:column;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-body .list now-label-value-stacked{padding-block-start:calc(.75rem*var(--na-ss-rem-multiplier))}.now-ai-agent-review-card .card-body .list .list-actions now-button{width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{font-family:var(--now-container--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:calc(1rem*var(--na-ss-rem-multiplier))}.status-cards-container{container-name:cards-container;container-type:inline-size;width:100%}.cards-list{display:grid;gap:calc(.75rem*var(--na-ss-rem-multiplier));grid-template-columns:1fr;width:100%}.cards-wrapper{height:100%;min-width:0}@container cards-container (min-width: 600px){.cards-list{grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr))}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1)}.status-card-popover-container .status-card-popover-content,.status-card-popover-container .status-card-popover-footer,.status-card-popover-container .status-card-popover-header{padding:calc(1rem*var(--na-ss-rem-multiplier))}.status-card-popover-container .status-card-popover-header{border-block-end:1px solid RGB(var(--now-actionable--secondary-ai--border-color,var(--now-color--secondary-brand-11,125,229,107)))}.status-card-popover-container .status-card-popover-header .status-message{padding-block-end:calc(.75rem*var(--na-ss-rem-multiplier))}.status-card-popover-container .status-card-popover-content{display:flex;flex-direction:column}.status-card-popover-container .status-card-popover-footer .cancel-button{align-items:flex-end;display:flex;justify-content:flex-end}.status-card-popover-container .supervised-by-content{margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.supervised-by-content{align-items:center;display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.supervised-content{display:flex;flex-direction:column;gap:calc(.75rem*var(--na-ss-rem-multiplier))}.supervised-by-text{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.supervised-by-name{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1);font-family:var(--now-container--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:calc(1rem*var(--na-ss-rem-multiplier))}.chevron-button-container{display:flex;justify-content:flex-end}.supervised-time{display:flex;font-size:calc(.75rem*var(--na-ss-rem-multiplier))}.supervised-by-content{align-items:center;display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.supervised-content{display:flex;flex-direction:column;gap:calc(.75rem*var(--na-ss-rem-multiplier))}.created-on{align-items:center;display:flex;font-size:calc(.75rem*var(--na-ss-rem-multiplier));font-weight:400}.created-on,.supervised-by-text,.supervised-time{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.supervised-by-name{color:RGB(var(--now-color_text--secondary,var(--now-color--neutral-15,44,53,55)))}.card-container,.review-wrapper,.step-eta-container:not(.-overview){margin-block-end:calc(.75rem*var(--na-ss-rem-multiplier))}.review-skeleton-loader{margin-block-start:calc(1rem*var(--na-ss-rem-multiplier))}.review-empty-state{border-color:RGB(var(--now-color_border--secondary,var(--now-color--neutral-5,172,180,181)));border-radius:var(--now-container--border-radius,0);border-style:solid;border-width:var(--now-container--border-width,1px);padding-block-end:calc(1.5rem*var(--na-ss-rem-multiplier));padding-block-start:calc(1rem*var(--na-ss-rem-multiplier));padding-inline:calc(1rem*var(--na-ss-rem-multiplier))}.review-empty-state .review-loader-label{font-size:calc(.75rem*var(--na-ss-rem-multiplier));font-weight:700}.status-card-wrapper{height:100%}.inline-card{--now-card--border-radius:10px;--now-card--border-width:0;--now-card--border-color:var(--now-color_background--secondary);--now-card--background-color:var(--now-color_background--secondary);container-name:status-card;container-type:inline-size}.inline-card.--in-progress .inline-card-heading-icon{color:RGB(var(--now-color--primary-1,30,133,109))}.inline-card.--completed .inline-card-heading-icon,.inline-card.--review-output .inline-card-heading-icon{color:RGB(var(--now-color_alert--positive-2,37,131,43))}.inline-card.--cancelled,.inline-card.--failed{--now-card-header_heading--title--font-weight:normal;--now-card-header_heading--primary--color:var(--now-color_alert--critical-2)}.inline-card.--cancelled .inline-card-heading-icon,.inline-card.--failed .inline-card-heading-icon{color:RGB(var(--now-color_alert--critical-2,200,60,54))}.inline-card .inline-card-header{align-items:center;display:flex;justify-content:space-between}.inline-card .inline-card-header-content{align-items:center;display:flex;gap:calc(.75rem*var(--na-ss-rem-multiplier))}.inline-card .inline-card-latest-step{align-items:center;display:flex;gap:calc(.25rem*var(--na-ss-rem-multiplier))}.inline-card .inline-card-heading{font-size:calc(.75rem*var(--na-ss-rem-multiplier));font-weight:700}.inline-card .inline-card-metadata{align-items:center;display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier));margin-inline-start:auto}.inline-card .inline-card-content .review-wrapper{margin-block-end:0}@container status-card (min-width: 480px){.inline-card .inline-card-content,.inline-card .inline-card-header{padding-inline-start:calc(.5rem*var(--na-ss-rem-multiplier))}.inline-card .inline-card-content{padding-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{font-family:var(--now-container--font-family,var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif));font-size:calc(1rem*var(--na-ss-rem-multiplier))}.stepper-container{align-items:flex-start;display:flex;justify-content:space-between;margin:calc(.5rem*var(--na-ss-rem-multiplier)) calc(1rem*var(--na-ss-rem-multiplier))}.steps-accordion{margin-block-end:calc(.75rem*var(--na-ss-rem-multiplier))}.box{display:flex;flex-direction:column;padding-block:calc(.5rem*var(--na-ss-rem-multiplier));padding-inline:calc(.5rem*var(--na-ss-rem-multiplier));position:relative;width:100%}.box:after{content:\\\"\\\";inline-size:calc(.25rem*var(--na-ss-rem-multiplier));inset-block:0;inset-inline-start:0;position:absolute}.box-icon-animation{display:block;width:calc(var(--now-scale-space--xl, 1)*1.5rem*var(--na-ss-rem-multiplier))}.message{flex-grow:1;padding-inline-start:calc(.75rem*var(--na-ss-rem-multiplier))}.user-container{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));margin-top:calc(.5rem*var(--na-ss-rem-multiplier))}.latest-step-container{align-items:center;display:flex;flex-direction:row;gap:calc(.25rem*var(--na-ss-rem-multiplier));margin-block-end:calc(.25rem*var(--na-ss-rem-multiplier));min-width:0}.latest-step-content{line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.latest-step-content:after{content:\\\"\\\";display:block}.now-ai-vertical-stepper .review-button{margin-inline-start:auto}.header{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.header-message{flex-grow:1;line-height:1.25;max-height:calc(1rem*var(--na-ss-rem-multiplier)*1.25*2);overflow:hidden}.header-message.is-expanded{max-height:none}.header-message now-icon{color:RGB(var(--now-color--primary-1,30,133,109));margin-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.header-message now-animation{display:inline-block;margin-inline-end:calc(.25rem*var(--na-ss-rem-multiplier))}.user-container{font-size:calc(.75rem*var(--na-ss-rem-multiplier));font-weight:400}.body{overflow:auto}.steps{block-size:0;display:none}.steps.is-expanded{block-size:auto;display:flex}.steps{flex-direction:column;margin-block-start:calc(.25rem*var(--na-ss-rem-multiplier));margin-inline-start:calc(.75rem*var(--na-ss-rem-multiplier));padding-block:calc(.25rem*var(--na-ss-rem-multiplier));padding-inline-start:calc(1rem*var(--na-ss-rem-multiplier))}.step{align-items:flex-start;display:flex;flex-direction:row;position:relative}.step-progress{display:flex;flex-direction:column;height:100%;position:absolute}.step-icon{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)))}.step-icon,.step-loader{margin-inline-end:calc(.25rem*var(--na-ss-rem-multiplier))}.step-loader{block-size:calc(1rem*var(--na-ss-rem-multiplier));display:inline-block;inline-size:calc(1rem*var(--na-ss-rem-multiplier))}.step-gap{display:flex;flex-grow:1;padding-bottom:calc(.125rem*var(--na-ss-rem-multiplier))}.step-gap:before{border-inline-start:1px solid RGB(var(--now-color_divider--primary,var(--now-color--neutral-7,135,147,148)));content:\\\"\\\";margin-inline-start:calc(.25rem*var(--na-ss-rem-multiplier)*2);width:calc(.125rem*var(--na-ss-rem-multiplier))}.step-label{margin-inline-start:calc(1rem*var(--na-ss-rem-multiplier) + .25rem*var(--na-ss-rem-multiplier));margin-bottom:calc(.5rem*var(--na-ss-rem-multiplier) + .125rem*var(--na-ss-rem-multiplier)*2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-label:after{content:\\\"\\\";display:block}.step.-error{color:RGB(var(--now-color_alert--critical-3,160,48,43))}.step-sub-label{font-size:calc(.75rem*var(--na-ss-rem-multiplier))}.engagement-stepper{margin-inline:0}.engagement-stepper .box{border:none;padding:0}.engagement-stepper .box .message{padding-inline-start:0}.engagement-stepper .box .message-container{padding-inline-start:calc(2rem*var(--na-ss-rem-multiplier))}.engagement-stepper .box.-overview{background-color:RGB(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));padding-block:calc(.5rem*var(--na-ss-rem-multiplier))}.engagement-stepper .box.-overview .message-container{padding-inline-start:0}.engagement-stepper .header-wrapper{flex-grow:1}.engagement-stepper .status-message-container:not(:empty)+.header-message-container{margin-block-start:calc(.5rem*var(--na-ss-rem-multiplier))}.engagement-stepper .header,.engagement-stepper .user-container{margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.engagement-stepper .header-message-container{margin-block-end:calc(.25rem*var(--na-ss-rem-multiplier))}.engagement-stepper .steps{margin-inline:0;padding-block-end:calc(.75rem*var(--na-ss-rem-multiplier));padding-inline:calc(1.5rem*var(--na-ss-rem-multiplier)) 0}.planning-failed-container{align-items:center;display:flex;flex-direction:column;margin-block:calc(1rem*var(--na-ss-rem-multiplier))}.planning-failed-container .planning-failed-message{margin-block-start:calc(.5rem*var(--na-ss-rem-multiplier))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{block-size:100%;display:block}.canvas-container{align-content:stretch;block-size:100%;display:flex;gap:calc(.75rem*var(--na-ss-rem-multiplier));overflow:hidden}.canvas-container>.right-panel{flex-grow:1;overflow:auto;position:relative}.empty-panel{align-items:center;block-size:100%;border-radius:calc(.5rem*var(--na-ss-rem-multiplier));display:flex;gap:calc(2rem*var(--na-ss-rem-multiplier));justify-content:center;padding:calc(2rem*var(--na-ss-rem-multiplier))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".citations{margin-block:calc(.5rem*var(--na-ss-rem-multiplier))}.citations-list{display:flex;flex-direction:column;gap:calc(.25rem*var(--na-ss-rem-multiplier));margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.citations a{align-items:center;color:RGB(var(--now-color--link-2));display:flex;padding-block:calc(.25rem*var(--na-ss-rem-multiplier));text-decoration:none}.citations a .sources-citation-icon,.citations a img{block-size:calc(1rem*var(--na-ss-rem-multiplier));inline-size:calc(1rem*var(--na-ss-rem-multiplier))}.citations a .sources-citation-icon{justify-content:center;margin-inline-end:calc(.25rem*var(--na-ss-rem-multiplier));margin-inline-start:calc(.75rem*var(--na-ss-rem-multiplier))}.citations a .sources-citation-icon.logo-icon{background-color:RGB(var(--now-color--neutral-0));border-radius:calc(.125rem*var(--na-ss-rem-multiplier))}.citations a .sources-citation-icon.logo-icon img{margin-block-end:calc(.25rem*var(--na-ss-rem-multiplier))}.citations a:hover .citations-link-text{text-decoration:underline}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1)}.agentic-processes-container{padding-block:calc(1rem*var(--na-ss-rem-multiplier));padding-inline:calc(1.5rem*var(--na-ss-rem-multiplier))}.agentic-processes-header{align-items:center;display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier));justify-content:flex-start;margin-block-end:calc(.75rem*var(--na-ss-rem-multiplier))}.agentic-processes-header now-dropdown{margin-inline-start:auto}.agentic-processes-heading{align-items:center;display:flex}.agentic-processes-heading-icon{color:RGB(var(--now-color--secondary-1,1,119,142));padding-inline-end:calc(.5rem*var(--na-ss-rem-multiplier))}.agentic-processes-controls{margin-block-end:calc(1rem*var(--na-ss-rem-multiplier))}.agentic-processes-controls.--empty{margin-block-end:calc(2.5rem*var(--na-ss-rem-multiplier))}.agentic-processes-states-dropdown{margin-inline-end:calc(.75rem*var(--na-ss-rem-multiplier))}.agentic-processes-container.classic{padding-block:calc(.75rem*var(--na-ss-rem-multiplier));padding-inline:calc(1rem*var(--na-ss-rem-multiplier))}.agentic-processes-container.classic .agentic-processes-header{margin-block-end:0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1)}.popover-container{--now-card--border-width:0;--now-card--border-radius:0}.citation-card{max-width:calc(15rem*var(--na-ss-rem-multiplier));overflow:hidden}.citation-header{align-items:center;color:var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81));display:flex;gap:calc(.25rem*var(--na-ss-rem-multiplier));margin-block-end:calc(.5rem*var(--na-ss-rem-multiplier))}.citation-header img{block-size:calc(.75rem*var(--na-ss-rem-multiplier));flex-shrink:0;inline-size:calc(.75rem*var(--na-ss-rem-multiplier))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1)}.agent-supervision-cards,.agent-supervision-input,.agent-supervision-input-actions{display:flex;flex-direction:column;gap:calc(1rem*var(--na-ss-rem-multiplier))}.supervision-button-container{align-items:center;container-name:supervision-button;container-type:inline-size;display:flex;gap:calc(.75rem*var(--na-ss-rem-multiplier));width:100%}.supervision-button-container now-button{min-width:calc(8.25rem*var(--na-ss-rem-multiplier));width:100%}@container supervision-button (min-width: 320px){.supervision-button-container now-button{max-width:max-content;min-width:calc(8.25rem*var(--na-ss-rem-multiplier))}}.agent-supervision-cards.--inline{padding-block-start:calc(1rem*var(--na-ss-rem-multiplier))}.agent-supervision-cards.--inline .supervision-button-container{container-type:normal;width:auto}.agent-supervision-cards.--inline .supervision-actions-container{align-items:center;display:flex;flex-wrap:wrap;gap:calc(.75rem*var(--na-ss-rem-multiplier))}.agent-supervision-cards.--inline .agent-supervision-actions{align-items:center;display:flex;margin-inline-start:auto}.agent-supervision-cards.--inline .agent-supervision-actions .card-feedback{flex-shrink:0}.agent-supervision-cards.--inline .agent-supervision-feedback{border:0}.agent-supervision-boolean-actions{container-name:agent-supervision-boolean;container-type:inline-size;display:flex;flex-wrap:wrap;gap:calc(1rem*var(--na-ss-rem-multiplier))}.agent-supervision-boolean-actions .supervision-button-container{flex:1 1 auto;min-width:calc(8.25rem*var(--na-ss-rem-multiplier));width:auto}@container agent-supervision-boolean (min-width: 600px){.agent-supervision-boolean-actions .supervision-button-container{container-type:normal;flex:none;width:-moz-fit-content;width:fit-content}}.agent-supervision-value{background-color:RGBA(var(--now-color--primary-0,221,237,233),var(--now-opacity--most,.8));border-radius:calc(.5rem*var(--na-ss-rem-multiplier));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));max-inline-size:-moz-fit-content;max-inline-size:fit-content;padding:calc(.5rem*var(--na-ss-rem-multiplier))}.agent-supervision-feedback{align-items:center;border-top:var(--now-container--border-width,1px) solid RGB(var(--now-color_divider--tertiary,var(--now-color--neutral-3,209,214,214)));display:flex;font-size:calc(.75rem*var(--na-ss-rem-multiplier));justify-content:space-between;padding-inline-end:calc(.25rem*var(--na-ss-rem-multiplier));padding-inline-start:calc(.25rem*var(--na-ss-rem-multiplier))}.agent-supervision-card,.agent-supervision-editable-list{display:flex;flex-direction:column}.agent-supervision-editable-list{gap:calc(1rem*var(--na-ss-rem-multiplier))}.editable-list-container{display:flex;flex-direction:column;gap:calc(.75rem*var(--na-ss-rem-multiplier))}.selected-items-list{flex-direction:column;margin-bottom:calc(.75rem*var(--na-ss-rem-multiplier))}.selected-item,.selected-items-list{display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.selected-item{align-items:flex-start;background-color:RGB(var(--now-color--neutral-0,255,255,255));border:1px solid RGB(var(--now-color--neutral-4,216,224,225));border-radius:calc(.25rem*var(--na-ss-rem-multiplier));cursor:grab;padding:calc(.75rem*var(--na-ss-rem-multiplier));transition:all .2s ease}.selected-item:hover{background-color:RGB(var(--now-color--neutral-1,248,249,250));box-shadow:0 2px 4px rgba(0,0,0,.1)}.selected-item:active{cursor:grabbing;opacity:.8}.selected-item-drag-handle{align-items:center;color:RGB(var(--now-color--neutral-10,134,154,159));cursor:grab;display:flex;flex-shrink:0}.selected-item-content{display:flex;flex:1;gap:calc(.5rem*var(--na-ss-rem-multiplier));min-width:0}.selected-item-number{color:RGB(var(--now-color--neutral-14,68,88,94));flex-shrink:0;font-weight:600}.selected-item-label{word-wrap:break-word;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1;font-size:calc(1rem*var(--na-ss-rem-multiplier));line-height:1.5;white-space:normal}.selected-item-actions{align-items:flex-start;display:flex;flex-shrink:0}.editable-list-add-section{align-items:center;display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.editable-list-completed{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style-type:disc;margin:0;padding-inline-start:calc(1rem*var(--na-ss-rem-multiplier))}.editable-list-completed li{padding:calc(.25rem*var(--na-ss-rem-multiplier)) 0}.agent-supervision-content{padding-bottom:calc(1rem*var(--na-ss-rem-multiplier))}.agent-supervision-picker{margin-block-start:calc(.75rem*var(--na-ss-rem-multiplier))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:1}.agent-supervision-editable-list{display:flex;flex-direction:column;gap:calc(1rem*var(--na-ss-rem-multiplier))}.agent-supervision-label{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));font-size:calc(1rem*var(--na-ss-rem-multiplier));font-weight:600}.agent-supervision-input-actions{display:flex;flex-direction:column;gap:calc(1rem*var(--na-ss-rem-multiplier))}.agent-supervision-value{background-color:RGBA(var(--now-color--primary-0,221,237,233),var(--now-opacity--most,.8));border-radius:calc(.5rem*var(--na-ss-rem-multiplier));color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));max-inline-size:-moz-fit-content;max-inline-size:fit-content;padding:calc(.5rem*var(--na-ss-rem-multiplier))}.editable-list-container{display:flex;flex-direction:column;gap:calc(.75rem*var(--na-ss-rem-multiplier))}.editable-list-container .supervision-button-container{container-name:supervision-button;container-type:inline-size;width:100%}.editable-list-container .supervision-button-container now-button{min-width:calc(8.25rem*var(--na-ss-rem-multiplier));width:100%}@container supervision-button (min-width: 320px){.editable-list-container .supervision-button-container now-button{max-width:max-content;min-width:calc(8.25rem*var(--na-ss-rem-multiplier))}}.selected-items-list{flex-direction:column;margin-bottom:calc(.75rem*var(--na-ss-rem-multiplier))}.selected-item,.selected-items-list{display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.selected-item{align-items:center;border:1px solid RGB(var(--now-color--neutral-4,216,224,225));border-radius:calc(.25rem*var(--na-ss-rem-multiplier));cursor:grab;padding:calc(.75rem*var(--na-ss-rem-multiplier));transition:all .2s ease}.selected-item:hover{background-color:RGB(var(--now-color--neutral-1,248,249,250));box-shadow:0 2px 4px rgba(0,0,0,.1)}.selected-item:active{cursor:grabbing;opacity:.8}.selected-item-drag-handle{align-items:center;color:RGB(var(--now-color--neutral-10,134,154,159));cursor:grab;display:flex;flex-shrink:0}.selected-item-content{display:flex;flex:1;gap:calc(.5rem*var(--na-ss-rem-multiplier));min-width:0}.selected-item-number{color:RGB(var(--now-color--neutral-14,68,88,94));flex-shrink:0;font-weight:600}.selected-item-label{word-wrap:break-word;color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));flex:1;font-size:calc(1rem*var(--na-ss-rem-multiplier));line-height:1.5;white-space:normal}.selected-item-actions{align-items:flex-start;display:flex;flex-shrink:0}.editable-list-completed{color:RGB(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));list-style-type:disc;margin:0;padding-inline-start:calc(1rem*var(--na-ss-rem-multiplier))}.editable-list-completed li{padding:calc(.25rem*var(--na-ss-rem-multiplier)) 0}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:1}:host .sn-canvas-selection-info-popover-content{display:flex;flex-direction:column;gap:calc(1rem*var(--na-ss-rem-multiplier));max-width:274px;padding:calc(.75rem*var(--na-ss-rem-multiplier))}:host .sn-canvas-selection-info-popover-content .title-row{font-size:calc(1rem*var(--na-ss-rem-multiplier));font-weight:600}:host .sn-canvas-selection-info-popover-content .footer-actions{display:flex;justify-content:flex-end;width:100%}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--transition-timing:300ms;--transition-curve:cubic-bezier(0.4,0,1,1);--transition-timing-delay:50ms;display:block;height:100%;margin:0;padding:0}.sn-canvas-experience{display:flex;height:100%}.sn-canvas-experience sn-component-now-assist-self-service{--input_field_text_color:var(--now-input--color)}.sn-canvas-experience sn-canvas-ai{block-size:calc(100% - 48px);padding:calc(1rem*var(--na-ss-rem-multiplier))}.content,.parent-panel{display:flex;width:100%}.parent-panel{container:parent-panel/inline-size;flex-direction:column;font-size:calc(1rem*var(--na-ss-rem-multiplier))}.parent-panel .content-panel{display:grid;grid-template-columns:100% 0;grid-template-rows:100%;height:100%;overflow:hidden;transition:var(--transition-timing) var(--transition-curve) var(--transition-timing-delay) all}.parent-panel .content-panel.full-page-mode{margin-top:1px}@container parent-panel (min-width: 820px){.parent-panel .content-panel{column-gap:1px;grid-template-columns:420px 1fr}.parent-panel .content-panel:not(.full-page-mode){padding-block-end:calc(1rem*var(--na-ss-rem-multiplier));padding-inline:calc(1rem*var(--na-ss-rem-multiplier))}}@container parent-panel (min-width: 1142px){.parent-panel .content-panel{grid-template-columns:420px 1fr}}.parent-panel .content-panel.hide-canvas{grid-template-columns:100% 0}.parent-panel .content-panel.hide-canvas .start-panel{width:100%}.parent-panel .content-panel.hide-canvas .end-panel{opacity:0;overflow:hidden}.parent-panel .content-panel.hide-nass{grid-template-columns:0 100%}.parent-panel .content-panel .end-panel{background-color:rgb(var(--now-color_background--primary,var(--now-color--neutral-0,255,255,255)));border-end-end-radius:calc(.75rem*var(--na-ss-rem-multiplier));min-width:0;opacity:1;transition:var(--transition-timing) var(--transition-curve) var(--transition-timing-delay) opacity}.parent-panel .content-panel .end-panel:not(.full-page-mode){border-start-end-radius:calc(.75rem*var(--na-ss-rem-multiplier));box-shadow:inset 0 0 1px 0 hsla(199,7%,55%,.25)}.parent-panel .content-panel .end-panel .sub-header-canvas{align-items:center;display:flex;height:48px;justify-content:space-between;padding:calc(.5rem*var(--na-ss-rem-multiplier)) calc(.5rem*var(--na-ss-rem-multiplier)) calc(.5rem*var(--na-ss-rem-multiplier)) calc(.75rem*var(--na-ss-rem-multiplier));text-align:right}.parent-panel .content-panel .end-panel .sub-header-canvas .canvas-header{align-items:center;display:flex;gap:calc(.5rem*var(--na-ss-rem-multiplier));justify-content:space-between}.parent-panel .content-panel .end-panel .sub-header-canvas .canvas-header .label{align-items:center;color:rgb(var(--now-color_text--primary,var(--now-color--neutral-18,22,27,28)));display:flex;font-size:calc(.75rem*var(--na-ss-rem-multiplier));font-weight:600;gap:calc(.5rem*var(--na-ss-rem-multiplier))}.parent-panel .content-panel .end-panel .sub-header-canvas .canvas-slot-content{margin-inline-start:auto}.parent-panel .content-panel .end-panel.small-screen-panel{border-radius:calc(.75rem*var(--na-ss-rem-multiplier)) calc(.75rem*var(--na-ss-rem-multiplier)) 0 0;box-shadow:inset 0 .5px 1px 0 hsla(199,7%,55%,.25)}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":host{box-sizing:border-box;font-family:var(--now-font-family,\\\"Source Sans Pro\\\",Arial,sans-serif);line-height:var(--now-line-height,1.25)}:host([hidden]){display:none}*,:after,:before{box-sizing:border-box}:host{--na-ss-rem-multiplier:var(--classicsponlydonotuse--rem-multipy,1);font-size:calc(1rem*var(--na-ss-rem-multiplier))}.chat-transcript-container{display:flex;flex-direction:column;gap:calc(.75rem*var(--na-ss-rem-multiplier));height:100%;padding:calc(.75rem*var(--na-ss-rem-multiplier)) 0}.chat-transcript-card,.chat-transcript-container{margin:calc(.75rem*var(--na-ss-rem-multiplier)) 0}.chat-message-content{-webkit-hyphens:auto;hyphens:auto;margin:calc(1rem*var(--na-ss-rem-multiplier)) 0;overflow-wrap:break-word;white-space:normal;word-break:normal}.chat-message-content p{line-height:1.5;margin:0 0 1em 0;max-width:100%;overflow-wrap:break-word;white-space:normal;word-break:break-word}.chat-message-content p:last-child{margin-bottom:0}.chat-message-content a,.chat-message-content fragment,.chat-message-content fragment p{max-width:100%;overflow-wrap:break-word;white-space:normal;word-break:normal}.chat-message-decision{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-radius:calc(.5rem*var(--na-ss-rem-multiplier));display:flex;flex-direction:column;gap:calc(.75rem*var(--na-ss-rem-multiplier));padding:calc(.75rem*var(--na-ss-rem-multiplier))}.show-history{display:block}.history-text{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));font-size:calc(.75rem*var(--na-ss-rem-multiplier))}.history-text:focus{outline:none}.timestamp{color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));display:flex;font-size:calc(.75rem*var(--na-ss-rem-multiplier));margin-top:calc(.5rem*var(--na-ss-rem-multiplier))}.edited-label{display:flex}.chat-message-ignore-draft-label,.edited-label{background-color:RGB(var(--now-color_background--secondary,var(--now-color--neutral-1,246,247,247)));border-radius:calc(.5rem*var(--na-ss-rem-multiplier));color:RGB(var(--now-color_text--tertiary,var(--now-color--neutral-12,66,80,81)));margin-top:calc(.5rem*var(--na-ss-rem-multiplier));padding:calc(.75rem*var(--na-ss-rem-multiplier))}.chat-message-ignore-draft-label{display:block;font-size:calc(.75rem*var(--na-ss-rem-multiplier))}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./status-card-popover.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_now-ai-vertical-stepper.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./sn-canvas-selection-info-popover.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./_styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","\n        var result = require(\"!!../../node_modules/.pnpm/css-loader@6.7.1_webpack@5.95.0_@swc+core@1.15.11_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[2].use[1]!../../node_modules/.pnpm/postcss-loader@7.0.1_postcss@8.4.31_webpack@5.95.0_@swc+core@1.15.11_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[2].use[2]!../../node_modules/.pnpm/resolve-url-loader@5.0.0/node_modules/resolve-url-loader/index.js??ruleSet[1].rules[2].use[3]!../../node_modules/.pnpm/sass-loader@13.0.2_sass@1.53.0_webpack@5.95.0_@swc+core@1.15.11_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[2].use[4]!./styles.scss\");\n\n        if (result && result.__esModule) {\n            result = result.default;\n        }\n\n        if (typeof result === \"string\") {\n            module.exports = result;\n        } else {\n            module.exports = result.toString();\n        }\n    ","module.exports = import(\"/uxasset/externals/now-assist-self-service/index.jsdbx\");;","function _extends() {\n  return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// 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\tid: moduleId,\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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\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};","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"actionTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t\t} else if ('actionTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.actionTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].actionTypes;\n\t\t\t\t}, [\"createCustomElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t\t} else if ('createCustomElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.createCustomElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].createCustomElement;\n\t\t\t\t}, [\"declarativeOperations\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.__esModule\n\t\t\t\t\tif (cjsModule && 'declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t\t} else if ('declarativeOperations' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__.declarativeOperations || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__[\"default\"].declarativeOperations;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createHttpEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.__esModule\n\t\t\t\t\tif (cjsModule && 'createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t\t} else if ('createHttpEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__.createHttpEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__[\"default\"].createHttpEffect;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"t\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.__esModule\n\t\t\t\t\tif (cjsModule && 't' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t\t} else if ('t' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__.t || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__[\"default\"].t;\n\t\t\t\t} });","import {t} from 'sn-translate';\nexport const NOW_ASSIST_SELF_SERVICE_SKILL_EXECUTION_COMPLETED =\n\t'NOW_ASSIST_SELF_SERVICE#SKILL_EXECUTION_COMPLETED';\nexport const NOW_ASSIST_SELF_SERVICE_PASS_PROPS_TO_CANVAS =\n\t'NOW_ASSIST_SELF_SERVICE#PASS_PROPS_TO_CANVAS';\nexport const NOW_ASSIST_SELF_SERVICE_RESET_CANVAS_PROPS =\n\t'NOW_ASSIST_SELF_SERVICE#RESET_CANVAS_PROPS';\nexport const NOW_ASSIST_SELF_SERVICE_NEW_CHAT_CLICKED =\n\t'NOW_ASSIST_SELF_SERVICE#NEW_CHAT_CLICKED';\nexport const CANVAS_SKILL_API_PATH = '/api/now/canvas/skills';\n\nexport const CANVAS_SKILL_MAP_REQUESTED = 'CANVAS_SKILL_MAP_REQUESTED';\nexport const CANVAS_SKILL_MAP_SUCCEEDED = 'CANVAS_SKILL_MAP_SUCCEEDED';\nexport const CANVAS_SKILL_MAP_FAILED = 'CANVAS_SKILL_MAP_FAILED';\nexport const SKILL_EXECUTION_STARTED = 'SKILL_EXECUTION_STARTED';\nexport const SKILL_EXECUTION_COMPLETED = 'SKILL_EXECUTION_COMPLETED';\nexport const TOGGLE_CANVAS = 'TOGGLE_CANVAS';\nexport const CANVAS_REQUESTED = 'CANVAS_REQUESTED';\nexport const LOAD_CANVAS_REQUESTED = 'LOAD_CANVAS_REQUESTED';\n\nexport const CANVAS_EXECUTION = {\n\tINSERT_OR_UPDATE: 'INSERT_OR_UPDATE_CANVAS_EXECUTION',\n\tSUCCEEDED: 'EXECUTE_CANVAS_SUCCEEDED',\n\tFAILED: 'EXECUTE_CANVAS_FAILED',\n};\nexport const ENABLE_ENGAGEMENT_EXPERIENCE_SYS_PROPERTY =\n\t'com.glide.interactive_view.enabled';\nexport const ALLOWED_SKILL_TABLE_NAMES = ['sys_gen_ai_skill', 'sn_aia_usecase'];\nexport const CANVAS_EXECUTION_CACHE_UPDATE = 'CANVAS_EXECUTION_CACHE_UPDATE';\nexport const AIEL_NAVIGATION_REQUESTED = 'AIEL_NAVIGATION_REQUESTED';\nexport const GLOBAL_NAVIGATION_REQUESTED = 'GLOBAL_NAVIGATION_REQUESTED';\nexport const NAV_ITEM_SELECTED = 'NAV_ITEM_SELECTED';\nexport const SET_INTERACTIVE_CANVAS_STATUS = 'SET_INTERACTIVE_CANVAS_STATUS';\nexport const GET_CONTEXT_CONVERSATION_REQUESTED =\n\t'GET_CONTEXT_CONVERSATION_REQUESTED';\nexport const GET_CONTEXT_CONVERSATION_SUCCEEDED =\n\t'GET_CONTEXT_CONVERSATION_SUCCEEDED';\nexport const GET_CONTEXT_CONVERSATION_FAILED =\n\t'GET_CONTEXT_CONVERSATION_FAILED';\nexport const GET_CONTEXT_CONVERSATION = 'GET_CONTEXT_CONVERSATION';\nexport const UPDATE_CONTEXT_CONVERSATION = 'UPDATE_CONTEXT_CONVERSATION';\nexport const UPDATE_CONTEXT_CONVERSATION_REQUESTED =\n\t'UPDATE_CONTEXT_CONVERSATION_REQUESTED';\nexport const UPDATE_CONTEXT_CONVERSATION_FAILED =\n\t'UPDATE_CONTEXT_CONVERSATION_FAILED';\nexport const UPDATE_CONTEXT_CONVERSATION_SUCCEEDED =\n\t'UPDATE_CONTEXT_CONVERSATION_SUCCEEDED';\nexport const UPDATE_DIALOG_ARIA_LABEL = 'UPDATE_DIALOG_ARIA_LABEL';\n\nexport const ERROR_RENDERING_VIEW = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Error rendering view',\n});\n","// Component constants\n\nexport const HOST_TYPE = {\n\tUNIFIED_NAVIGATION: 'unified-navigation',\n\tPORTAL: 'portal',\n};\nexport const NOW_IFRAME_COMPONENT_ID = 'now-iframe';\nexport const FETCH_IFRAME_URL_REQUESTED = 'FETCH_IFRAME_URL_REQUESTED';\nexport const FETCH_IFRAME_URL_SUCCEEDED = 'FETCH_IFRAME_URL_SUCCEEDED';\nexport const FETCH_IFRAME_URL_FAILED = 'FETCH_IFRAME_URL_FAILED';\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport createComponentLoaderEffect from '@devsnc/uxf-effect-component-loader';\nimport createMacroponentLoaderEffect from '@devsnc/uxf-effect-macroponent-loader';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {CANVAS_EXECUTION} from '../sn-canvas-experience/constants';\nimport {\n\tFETCH_IFRAME_URL_FAILED,\n\tFETCH_IFRAME_URL_SUCCEEDED,\n\tFETCH_IFRAME_URL_REQUESTED,\n\tNOW_IFRAME_COMPONENT_ID,\n\tHOST_TYPE,\n} from './constants';\n\nconst GET_UPDATED_URL_FOR_IFRAME = '/api/now/canvas/iframe-url';\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nconst GET_CANVAS_CONFIG =\n\t'/api/now/canvas/config/:type/:id/conversation/:conversationId';\n\nconst GET_CANVAS_DEFINITION = '/api/now/canvas/config/definition/:id';\n\nconst fetchIframeUrl = createHttpEffect(GET_UPDATED_URL_FOR_IFRAME, {\n\tmethod: 'GET',\n\tqueryParams: ['url', 'portalType', 'experienceId'],\n\tbatch: false,\n\tsuccessActionType: FETCH_IFRAME_URL_SUCCEEDED,\n\terrorActionType: FETCH_IFRAME_URL_FAILED,\n});\n\nconst getCanvasConfig = createHttpEffect(GET_CANVAS_CONFIG, {\n\tmethod: 'GET',\n\tpathParams: ['type', 'id', 'conversationId'],\n\tbatch: false,\n\tsuccessActionType: 'CANVAS_CONFIG_FETCHED_SUCCEEDED',\n\terrorActionType: 'CANVAS_CONFIG_FETCHED_FAILED',\n});\n\nconst getCanvasDefinition = createHttpEffect(GET_CANVAS_DEFINITION, {\n\tmethod: 'GET',\n\tpathParams: ['id'],\n\tbatch: false,\n\tsuccessActionType: 'CANVAS_CONFIG_FETCHED_SUCCEEDED',\n\terrorActionType: 'CANVAS_CONFIG_FETCHED_FAILED',\n});\n\nconst getExperienceId = () => {\n\tconst siteName = window?.ux_globals?.siteName;\n\tif (!siteName) {\n\t\treturn null;\n\t}\n\treturn window?.ux_globals?.experienceConfigs[siteName].experienceId;\n};\nconst updateThemeParams = (url) => {\n\tconst themeId = window.ux_globals.theme.themeOptions.themeId;\n\tif (!themeId) {\n\t\treturn url;\n\t}\n\n\t// check if url has `?` already otherwise add it\n\tconst hasQuestionMark = url.includes('?');\n\tlet updatedUrl = `${url}${hasQuestionMark ? '&' : '?'}themeId=${themeId}`;\n\n\tconst variantId = window.ux_globals.theme.themeOptions.userPreferenceVariant;\n\tif (variantId) {\n\t\tupdatedUrl += `&variantId=${variantId}`;\n\t}\n\treturn updatedUrl;\n};\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({dispatch, properties}) {\n\t\tconst {conversationId} = properties;\n\n\t\tif (conversationId) {\n\t\t\tdispatch('FETCH_CANVAS_RUNTIME_REQUESTED', {\n\t\t\t\tconversationIds: conversationId,\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({action, state, dispatch}) {\n\t\tconst {\n\t\t\tpayload: {name, value, previousValue},\n\t\t} = action;\n\t\tconst {\n\t\t\tproperties: {\n\t\t\t\tskillId,\n\t\t\t\tadditionalConfig: {componentId, isMacroponent},\n\t\t\t\thostType,\n\t\t\t\tconversationId,\n\t\t\t},\n\t\t} = state;\n\n\t\tif (name === 'additionalConfig' && value?.componentId) {\n\t\t\t//when user switch between conversations/new tool executed, load the respective existing canvas config\n\t\t\tif (componentId) {\n\t\t\t\tif (isMacroponent) {\n\t\t\t\t\tdispatch('CANVAS_MACROCOMPONENT_LOAD_REQUESTED', {\n\t\t\t\t\t\tsysId: componentId,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tdispatch('CANVAS_COMPONENT_LOAD_REQUESTED', {\n\t\t\t\t\t\ttagName: componentId,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\tvalue?.componentId === NOW_IFRAME_COMPONENT_ID &&\n\t\t\t\tvalue?.additionalProps?.src\n\t\t\t) {\n\t\t\t\tconst experienceId =\n\t\t\t\t\tgetExperienceId() || 'a84adaf4c700201072b211d4d8c260b7';\n\t\t\t\tdispatch(FETCH_IFRAME_URL_REQUESTED, {\n\t\t\t\t\turl: value.additionalProps.src,\n\t\t\t\t\tportalType: hostType || HOST_TYPE.UNIFIED_NAVIGATION,\n\t\t\t\t\texperienceId,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tname === 'aiaExecutionPlanId' &&\n\t\t\tvalue !== '' &&\n\t\t\tvalue !== previousValue\n\t\t) {\n\t\t\t// when a new skill is triggered, fetch the canvas config for the skill\n\t\t\tif (skillId) {\n\t\t\t\tdispatch('FETCH_CANVAS_CONFIG_REQUESTED', {\n\t\t\t\t\ttype: 'skill',\n\t\t\t\t\tid: skillId,\n\t\t\t\t\tconversationId,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (name === 'loadCanvas') {\n\t\t\tconst {definitionId} = value;\n\t\t\tif (definitionId) {\n\t\t\t\tdispatch('FETCH_CANVAS_DEFINITION_REQUESTED', {\n\t\t\t\t\tid: definitionId,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t['GET_SKILL_CONFIGID']({action, dispatch, state}) {\n\t\tconst {\n\t\t\tpayload: {skillId},\n\t\t} = action;\n\t\tconst {conversationId} = state.properties;\n\t\tdispatch('FETCH_CANVAS_CONFIG_REQUESTED', {\n\t\t\ttype: 'skill',\n\t\t\tid: skillId,\n\t\t\tconversationId,\n\t\t});\n\t},\n\t['FETCH_CANVAS_DEFINITION_REQUESTED']: getCanvasDefinition,\n\t['FETCH_CANVAS_CONFIG_REQUESTED']: getCanvasConfig,\n\t['CANVAS_CONFIG_FETCHED_SUCCEEDED']: async ({\n\t\taction,\n\t\tupdateState,\n\t\tdispatch,\n\t\tstate,\n\t}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\tresult: {config, requesterType},\n\t\t\t},\n\t\t} = action;\n\n\t\tconst {componentId, isMacroponent, canvasId, relatedRecord} = config;\n\t\tif (!canvasId) {\n\t\t\treturn;\n\t\t}\n\t\tconst {\n\t\t\tproperties: {conversationId, aiaExecutionPlanId, loadCanvas},\n\t\t} = state;\n\t\tconfig.metaData = {conversationId, executionPlanId: aiaExecutionPlanId};\n\t\tupdateState({\n\t\t\tcomponentId: componentId,\n\t\t\tisMacroponent: isMacroponent,\n\t\t\tadditionalProps: config.additionalProps,\n\t\t});\n\n\t\tif (isMacroponent) {\n\t\t\tdispatch('CANVAS_MACROCOMPONENT_LOAD_REQUESTED', {\n\t\t\t\tsysId: componentId,\n\t\t\t});\n\t\t} else {\n\t\t\tdispatch('CANVAS_COMPONENT_LOAD_REQUESTED', {\n\t\t\t\ttagName: componentId,\n\t\t\t});\n\t\t}\n\n\t\tlet overrides = {};\n\t\t// Canvas from current load request\n\t\tif (\n\t\t\trequesterType === 'definition' &&\n\t\t\tloadCanvas?.definitionId === canvasId\n\t\t) {\n\t\t\toverrides = {\n\t\t\t\tcanvasConfig: {\n\t\t\t\t\t...config,\n\t\t\t\t\tadditionalProps: {\n\t\t\t\t\t\t...(config.additionalProps ?? {}),\n\t\t\t\t\t\t...(loadCanvas?.additionalProps ?? {}),\n\t\t\t\t\t},\n\t\t\t\t\t// Since we don't know the execution id at the time, and neither\n\t\t\t\t\t// will the caller once its created, we can keep track of the\n\t\t\t\t\t// passed-in id and use that to match against an execution later on\n\t\t\t\t\tmanuallySetId: loadCanvas.id,\n\t\t\t\t\tcanvasName: loadCanvas.label ?? config.canvasName,\n\t\t\t\t\tloadImmediate: true,\n\t\t\t\t\tcanvasIcon: loadCanvas.icon ?? config.canvasIcon,\n\t\t\t\t},\n\t\t\t\ttype: 'topic',\n\t\t\t\tstatus: '',\n\t\t\t};\n\t\t}\n\n\t\tif (conversationId) {\n\t\t\tdispatch(CANVAS_EXECUTION.INSERT_OR_UPDATE, {\n\t\t\t\tpayload: {\n\t\t\t\t\tconversationId,\n\t\t\t\t\tcanvasConfig: config,\n\t\t\t\t\tcanvasId,\n\t\t\t\t\trelatedRecord,\n\t\t\t\t\ttype: 'usecase',\n\t\t\t\t\tstatus: 'success',\n\t\t\t\t\texecutionPlanId: aiaExecutionPlanId,\n\t\t\t\t\t...overrides,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t},\n\t['CANVAS_CONFIG_FETCHED_FAILED']({action}) {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\terror: {message},\n\t\t\t},\n\t\t} = action;\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error fetching canvas config', message);\n\t},\n\t[FETCH_IFRAME_URL_REQUESTED]: fetchIframeUrl,\n\t[FETCH_IFRAME_URL_SUCCEEDED]: ({action, updateState, properties, state}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\tresult: {url, isServicePortalURL},\n\t\t\t},\n\t\t} = action;\n\n\t\tif (!url) {\n\t\t\treturn;\n\t\t}\n\t\tlet additionalProps = {...state.additionalProps};\n\n\t\tadditionalProps = {\n\t\t\t...additionalProps,\n\t\t\tsrc:\n\t\t\t\tisServicePortalURL &&\n\t\t\t\tproperties.hostType === HOST_TYPE.UNIFIED_NAVIGATION\n\t\t\t\t\t? updateThemeParams(url)\n\t\t\t\t\t: url,\n\t\t};\n\n\t\tupdateState({\n\t\t\tadditionalProps,\n\t\t});\n\t},\n\t[FETCH_IFRAME_URL_FAILED]: ({action}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\terror: {message},\n\t\t\t},\n\t\t} = action;\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Error fetching iframe URL', message);\n\t},\n\t['CANVAS_COMPONENT_LOAD_REQUESTED']: createComponentLoaderEffect({\n\t\tsuccessActionType: 'CANVAS_COMPONENT_LOAD_REQUESTED_COMPLETED',\n\t\terrorActionType: 'CANVAS_COMPONENT_LOAD_REQUESTED_FAILED',\n\t}),\n\t['CANVAS_MACROCOMPONENT_LOAD_REQUESTED']: createMacroponentLoaderEffect({\n\t\tsuccessActionType: 'CANVAS_MACROCOMPONENT_LOAD_REQUESTED_COMPLETED',\n\t\terrorActionType: 'CANVAS_MACROCOMPONENT_LOAD_REQUESTED_FAILED',\n\t}),\n\t['CANVAS_COMPONENT_LOAD_REQUESTED_COMPLETED']: {\n\t\teffect: ({updateState, action}) => {\n\t\t\tconst {tagName} = action?.payload || {};\n\t\t\tupdateState({\n\t\t\t\tcomponentLoaded: true,\n\t\t\t\tisMacroponent: false,\n\t\t\t\ttagName: tagName,\n\t\t\t\tcomponentId: tagName,\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['CANVAS_COMPONENT_LOAD_REQUESTED_FAILED']: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({componentLoaded: false, isMacroponent: false});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['CANVAS_MACROCOMPONENT_LOAD_REQUESTED_COMPLETED']: {\n\t\teffect: ({updateState, action}) => {\n\t\t\tconst {customElementTagName} = action?.payload || {};\n\t\t\tupdateState({\n\t\t\t\tcomponentLoaded: true,\n\t\t\t\tisMacroponent: true,\n\t\t\t\ttagName: customElementTagName,\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['CANVAS_MACROCOMPONENT_LOAD_REQUESTED_FAILED']: {\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({componentLoaded: false, isMacroponent: false});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Fragment\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t\t} else if ('Fragment' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.Fragment || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].Fragment;\n\t\t\t\t}, [\"createElement\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t\t} else if ('createElement' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createElement || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createElement;\n\t\t\t\t}, [\"createRef\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t\t} else if ('createRef' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.createRef || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].createRef;\n\t\t\t\t}, [\"dangerouslyCreateElementFromString\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t\t} else if ('dangerouslyCreateElementFromString' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.dangerouslyCreateElementFromString || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"].dangerouslyCreateElementFromString;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__[\"default\"][\"default\"];\n\t\t\t\t} });","import {createCustomElement} from '@servicenow/ui-core';\nimport canvasActionsHandlers from './actionHandlers.js';\n\nimport styles from './styles.scss';\n\nimport {view} from './view.js';\n\ncreateCustomElement('sn-canvas-ai', {\n\tview,\n\tproperties: {\n\t\thostType: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'unified-navigation',\n\t\t},\n\t\tadditionalConfig: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {},\n\t\t},\n\t\tshowChat: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tskillId: {\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t},\n\t\taiaExecutionPlanId: {\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t},\n\t\tloadCanvas: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {},\n\t\t},\n\t\tfullPageMode: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tutterance: {},\n\t\tconversationId: {},\n\t\tcanvasHoistRef: {},\n\t},\n\tstyles,\n\tsetInitialState() {\n\t\treturn {\n\t\t\tcomponentId: '',\n\t\t\tcomponentLoaded: false,\n\t\t\tisMacroponent: false,\n\t\t\ttagName: '',\n\t\t};\n\t},\n\tactionHandlers: canvasActionsHandlers,\n});\n","import {createElement} from '@servicenow/ui-renderer-snabbdom';\nexport const view = (state) => {\n\tconst {\n\t\tproperties: {additionalConfig, fullPageMode},\n\t\tcomponentId,\n\t\tcomponentLoaded,\n\t\tisMacroponent,\n\t\ttagName,\n\t} = state;\n\n\tlet canvas = null;\n\tconst {\n\t\tmetaData = {},\n\t\tcomponentProps = {},\n\t\tadditionalPropsFromNass = {},\n\t\tadditionalProps = {},\n\t\tcanvasHoistRef,\n\t} = additionalConfig || {};\n\tconst props = {\n\t\tmetaData,\n\t\tcanvasHoistRef,\n\t\tkey: `${metaData.conversationId}-${metaData.executionTaskId}-${metaData.executionPlanId}`,\n\t\t...componentProps,\n\t\t...additionalProps,\n\t\t...state.additionalProps,\n\t\t...additionalPropsFromNass,\n\t};\n\n\tconst TAG_NAME = tagName;\n\n\tif (isMacroponent) {\n\t\tcanvas = <TAG_NAME className=\"macroponent-container\" {...props} />;\n\t} else if (componentId && componentLoaded) {\n\t\tcanvas = createElement(componentId, {...props});\n\t} else {\n\t\tcanvas = (\n\t\t\t<div className=\"empty-panel\">\n\t\t\t\t<now-loader />\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t'full-page-mode': fullPageMode,\n\t\t\t\t'canvas-container': true,\n\t\t\t}}\n\t\t>\n\t\t\t<div className=\"right-panel\">{canvas}</div>\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {t} from 'sn-translate';\nexport const OPEN_MULTI_CANVAS_POPOVER = 'OPEN_MULTI_CANVAS_POPOVER';\nexport const CLOSE_MULTI_CANVAS_POPOVER = 'CLOSE_MULTI_CANVAS_POPOVER';\nexport const MULTI_CANVAS_INFO_POPOVER_SEEN_KEY = 'canvasSwitcherPopoverSeen';\nexport const CANVAS_VIEW_STATUS = {\n\tcompleted: {\n\t\tstatus: 'completed',\n\t\ticon: 'check-circle-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Completed'}),\n\t\tcolor: 'positive',\n\t},\n\tsuccess: {\n\t\tstatus: 'completed',\n\t\ticon: 'check-circle-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Success'}),\n\t\tcolor: 'positive',\n\t},\n\tfailed: {\n\t\tstatus: 'failed',\n\t\ticon: 'circle-close-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Failed'}),\n\t\tcolor: 'critical',\n\t},\n\tcancelled: {\n\t\tstatus: 'failed',\n\t\ticon: 'circle-close-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Cancelled'}),\n\t\tcolor: 'critical',\n\t},\n\tterminated: {\n\t\tstatus: 'failed',\n\t\ticon: 'circle-close-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Terminated'}),\n\t\tcolor: 'critical',\n\t},\n\terror: {\n\t\tstatus: 'error',\n\t\ticon: 'circle-close-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Error'}),\n\t\tcolor: 'critical',\n\t},\n\t'in progress': {\n\t\tstatus: 'in-progress',\n\t\ticon: 'loader-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'In Progress'}),\n\t\tcolor: 'info',\n\t},\n\tongoing: {\n\t\tstatus: 'ongoing',\n\t\ticon: 'loader-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Ongoing'}),\n\t\tcolor: 'info',\n\t},\n\tqueued: {\n\t\tstatus: 'queued',\n\t\ticon: 'loader-outline',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Queued'}),\n\t\tcolor: 'info',\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport styles from './sn-canvas-selection-info-popover.scss';\nimport {t} from 'sn-translate';\nimport '@servicenow/now-button';\nimport {CLOSE_MULTI_CANVAS_POPOVER} from './constants.js';\n\ncreateCustomElement('sn-canvas-selection-info-popover', {\n\tstyles,\n\trenderer: snabbdom,\n\tview: (state, {dispatch}) => (\n\t\t<div className=\"sn-canvas-selection-info-popover-content\" slot=\"content\">\n\t\t\t<div>\n\t\t\t\t<span className=\"title-row\">\n\t\t\t\t\t{t({\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage: 'Switch between content',\n\t\t\t\t\t})}\n\t\t\t\t</span>\n\t\t\t\t<p>\n\t\t\t\t\t{t({\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t'Move between different tabs of content related to your chat.',\n\t\t\t\t\t})}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div className=\"footer-actions\">\n\t\t\t\t<now-button\n\t\t\t\t\ton-click={(e) => {\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tdispatch(CLOSE_MULTI_CANVAS_POPOVER);\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t>\n\t\t\t\t\t{t({code: 'sn-ai-engagement-experience', message: 'Got it'})}\n\t\t\t\t</now-button>\n\t\t\t</div>\n\t\t</div>\n\t),\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-popover';\nimport '@servicenow/now-dropdown';\nimport '../..';\nimport './canvas-selection/sn-canvas-selection-info-popover.js';\nimport {TOGGLE_CANVAS} from '../constants';\n\nimport {\n\tgetCanvasDropdownItems,\n\tgetCurrentCanvasStatus,\n} from './canvas-selection/utils.js';\nimport {Fragment, createRef} from '@servicenow/ui-renderer-snabbdom';\nimport {t} from 'sn-translate';\n\nfunction getUxAppId() {\n\tif (window?.isPolaris && window.isPolaris() === false) {\n\t\t// return sys_id of `Unified Navigation app shell` for core UI pages\n\t\treturn 'c86a62e2c7022010099a308dc7c26022';\n\t}\n\n\tconst siteName = window?.ux_globals?.siteName;\n\tif (!siteName) {\n\t\treturn null;\n\t}\n\treturn window?.ux_globals?.experienceConfigs[siteName].parentAppShellId;\n}\nexport default (coeffects) => {\n\tconst {state, dispatch, updateState} = coeffects;\n\tconst {\n\t\tproperties: {\n\t\t\tnapShortcutCommand,\n\t\t\tnassProps,\n\t\t\tselectedContent,\n\t\t\tshowChat,\n\t\t\tsessionContext,\n\t\t\tisDocked,\n\t\t\tisModal,\n\t\t\tisFloating,\n\t\t\thasCanvas,\n\t\t\thostType,\n\t\t\tswitchContextConversation,\n\t\t},\n\t\tactiveConversation,\n\t\tshowCanvas,\n\t\tshowCanvasForNASS,\n\t\tisCanvasActive,\n\t\tpreviouslyAvailablePanels,\n\t\tskillRequest,\n\t\tloadCanvas,\n\t\tconversationMap,\n\t\tshowMultiCanvasPopover,\n\t\tcanvasInteractiveStatus,\n\t\tcontextConversationLoaded,\n\t\tpendingForceNewConversation,\n\t\tnassRemountKey,\n\t} = state;\n\n\tconst icons = [\n\t\t{\n\t\t\ticonName: 'chat-outline',\n\t\t\tsectionId: 'Chats',\n\t\t\tsectionName: 'Chats',\n\t\t\topensPanel: true,\n\t\t\tlocation: 'Beginning',\n\t\t},\n\t];\n\n\tconst sessionContextStrategy = (originalSessionContext) => {\n\t\tlet conversation = originalSessionContext.conversation;\n\n\t\t// new conversation is explicitly null, so only pass the others when it's undefined\n\t\tif (conversation === undefined) {\n\t\t\tconversation =\n\t\t\t\tactiveConversation?.conversationId ||\n\t\t\t\tactiveConversation?.contextConversationId;\n\t\t}\n\n\t\tconst newContext = {\n\t\t\t...originalSessionContext,\n\t\t\tux_app_id: getUxAppId(),\n\t\t\t...window.nowAssistDynamicWindow?.sessionContext,\n\t\t\t...sessionContext,\n\t\t\tconversation,\n\t\t};\n\n\t\t// remove the originalSessionContext's is_initial_conversation when it's not\n\t\tif (conversation) {\n\t\t\tdelete newContext.is_initial_conversation;\n\t\t\tdelete newContext.load_active_only;\n\t\t\tdelete newContext.transferred_search_result;\n\t\t}\n\n\t\treturn newContext;\n\t};\n\n\t// canvasContext is used to pass information into the NASS component regarding the canvas' current state\n\tconst canvasContext = {\n\t\thasCanvas: activeConversation?.hasCanvas,\n\t\tshowCanvas: showCanvasForNASS,\n\n\t\t// The activeCanvasUniqueId is either the canvasExecutionId or a unique identifier for doc intel\n\t\t// Send null for hide case\n\t\tactiveCanvasUniqueId:\n\t\t\tshowCanvas && !isDocked ? activeConversation?.activeCanvasUniqueId : null,\n\t};\n\n\tif (!customElements.get('sn-component-now-assist-self-service')) {\n\t\timport('now-assist-self-service');\n\t}\n\n\tconst fullPageMode = !isDocked && !isModal && !isFloating;\n\n\tconst napComponent =\n\t\tshowChat && contextConversationLoaded ? (\n\t\t\t<sn-component-now-assist-self-service\n\t\t\t\tkey={`nass-${nassRemountKey}`}\n\t\t\t\ticons={icons}\n\t\t\t\tsession-context-strategy={sessionContextStrategy}\n\t\t\t\tselectedContent={selectedContent}\n\t\t\t\tcanvasContext={canvasContext}\n\t\t\t\tswitchContextConversation={switchContextConversation}\n\t\t\t\tvoiceShortcutCommand={napShortcutCommand}\n\t\t\t\thook-insert={({elm}) => {\n\t\t\t\t\tupdateState({selfServiceComponentRef: elm});\n\t\t\t\t\tif (pendingForceNewConversation) {\n\t\t\t\t\t\telm.dispatch('NOW_ASSIST_SELF_SERVICE#OPEN_NASS_CONVERSATION', {\n\t\t\t\t\t\t\tconversationId: null,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tupdateState({pendingForceNewConversation: false});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tskillRequest={skillRequest}\n\t\t\t\twindowMode={\n\t\t\t\t\tisModal\n\t\t\t\t\t\t? 'modal'\n\t\t\t\t\t\t: isDocked\n\t\t\t\t\t\t\t? 'docked'\n\t\t\t\t\t\t\t: isFloating\n\t\t\t\t\t\t\t\t? 'floating'\n\t\t\t\t\t\t\t\t: 'full-page'\n\t\t\t\t}\n\t\t\t\t{...nassProps}\n\t\t\t>\n\t\t\t\t<sn-nass-panel-chats slot=\"left-panel\" id=\"chats\"></sn-nass-panel-chats>\n\t\t\t</sn-component-now-assist-self-service>\n\t\t) : null;\n\n\tconst tooltipLabel = t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Collapse canvas view',\n\t});\n\tconst canvasHoistRef = createRef();\n\n\tconst currentStatus = getCurrentCanvasStatus(\n\t\tactiveConversation?.status,\n\t\tcanvasInteractiveStatus,\n\t);\n\n\tconst canvasDropdownItems = getCanvasDropdownItems(\n\t\tconversationMap,\n\t\tactiveConversation,\n\t);\n\tconst hasMultipleCanvas = canvasDropdownItems.length > 1;\n\n\t// Canvas selection Component\n\tconst multiCanvasSelectionComponent = hasMultipleCanvas ? (\n\t\t<now-popover\n\t\t\topened={showMultiCanvasPopover}\n\t\t\tmanage-opened\n\t\t\tappend-to-meta={{id: 'canvas-selection-popover'}}\n\t\t\tpositions={[{target: 'bottom-left', content: 'top-left'}]}\n\t\t>\n\t\t\t<now-dropdown\n\t\t\t\tbare\n\t\t\t\ticon={activeConversation?.canvasIcon || 'window-outline'}\n\t\t\t\tselectedItems={[activeConversation.canvasExecutionId]}\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tappend-to-meta={{id: 'canvas-selection-dropdown'}}\n\t\t\t\titems={canvasDropdownItems}\n\t\t\t\tsize=\"sm\"\n\t\t\t\tslot=\"trigger\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\ttrigger: {\n\t\t\t\t\t\t'aria-label': t({\n\t\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\t\tmessage: 'Current canvas view',\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t\tpanel: {\n\t\t\t\t\t\t'aria-label': t({\n\t\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\t\tmessage: 'Canvas Selection Dropdown',\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<sn-canvas-selection-info-popover slot=\"content\" aria-live=\"polite\" />\n\t\t</now-popover>\n\t) : (\n\t\t<div className=\"label\">\n\t\t\t<now-icon icon={activeConversation?.canvasIcon || 'window-outline'} />\n\t\t\t<span>{activeConversation?.canvasName}</span>\n\t\t</div>\n\t);\n\n\tconst canvasSubHeader = (\n\t\t<div className=\"sub-header-canvas\">\n\t\t\t{activeConversation.hasCanvas ? (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div className=\"canvas-header\">\n\t\t\t\t\t\t{multiCanvasSelectionComponent}\n\t\t\t\t\t\t{activeConversation?.status ? (\n\t\t\t\t\t\t\t<now-highlighted-value\n\t\t\t\t\t\t\t\tlabel={currentStatus?.label}\n\t\t\t\t\t\t\t\tcolor={currentStatus?.color}\n\t\t\t\t\t\t\t\tshow-icon={currentStatus?.icon !== undefined}\n\t\t\t\t\t\t\t\ticon={currentStatus?.icon}\n\t\t\t\t\t\t\t\ttooltipContent={currentStatus?.label}\n\t\t\t\t\t\t\t\ttype=\"md\"\n\t\t\t\t\t\t\t></now-highlighted-value>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"canvas-slot-content\" ref={canvasHoistRef}></div>\n\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\tbare={true}\n\t\t\t\t\t\ticon=\"panel-display-right-collapse-outline\"\n\t\t\t\t\t\ttooltipContent={tooltipLabel}\n\t\t\t\t\t\tconfigAria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': tooltipLabel,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\ton-click={(evt) => {\n\t\t\t\t\t\t\tevt.stopPropagation();\n\t\t\t\t\t\t\tdispatch(TOGGLE_CANVAS, {showCanvas: false});\n\t\t\t\t\t\t}}\n\t\t\t\t\t></now-button-iconic>\n\t\t\t\t</Fragment>\n\t\t\t) : null}\n\t\t</div>\n\t);\n\n\tconst config = {\n\t\t...(activeConversation?.canvasConfig || {}),\n\t\tadditionalPropsFromNass: activeConversation?.additionalPropsFromNass,\n\t\tcanvasHoistRef,\n\t};\n\t// Canvas Component\n\tconst canvasComponent = isCanvasActive ? (\n\t\t<Fragment>\n\t\t\t{!isDocked ? canvasSubHeader : null}\n\t\t\t<sn-canvas-ai\n\t\t\t\thost-type={hostType}\n\t\t\t\tshow-chat={true}\n\t\t\t\tskill-id={state.skillId}\n\t\t\t\taia-execution-plan-id={state.aiaExecutionPlanId}\n\t\t\t\tconversation-id={activeConversation.conversationId}\n\t\t\t\tload-canvas={loadCanvas}\n\t\t\t\tadditionalConfig={config}\n\t\t\t\tfullPageMode={fullPageMode}\n\t\t\t></sn-canvas-ai>\n\t\t</Fragment>\n\t) : null;\n\n\t// Utilize sn-window width to determine available panels\n\tconst {width} = state.behaviors.resize.size;\n\tconst availablePanels = isDocked ? 1 : width > 820 ? 2 : 1;\n\tif (previouslyAvailablePanels !== availablePanels) {\n\t\tupdateState({previouslyAvailablePanels: availablePanels});\n\n\t\t// If we go from 2 available panels to 1, hide the canvas (if there is one)\n\t\tif (availablePanels === 1 && hasCanvas) {\n\t\t\tdispatch(TOGGLE_CANVAS, {showCanvas: false});\n\t\t}\n\t}\n\n\treturn (\n\t\t<div className={`parent-panel`}>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'content-panel': true,\n\t\t\t\t\t'full-page-mode': fullPageMode,\n\t\t\t\t\t'hide-canvas': isDocked || !showCanvas,\n\t\t\t\t\t'hide-nass': availablePanels === 1 && showCanvas && !isDocked,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'start-panel': true,\n\t\t\t\t\t\t'full-page-mode': fullPageMode,\n\t\t\t\t\t\t'small-screen-panel': availablePanels === 1,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{napComponent}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'end-panel': true,\n\t\t\t\t\t\t'full-page-mode': fullPageMode,\n\t\t\t\t\t\t'small-screen-panel': availablePanels === 1,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{canvasComponent}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import {CANVAS_VIEW_STATUS} from './constants';\n\nexport const getCanvasDropdownItems = (\n\tconversationMap = [],\n\tactiveConversation,\n) =>\n\tconversationMap\n\t\t.filter(\n\t\t\t(conversation) =>\n\t\t\t\tconversation.conversationId == activeConversation.conversationId,\n\t\t)\n\t\t.map(({canvasId, conversationId, canvasExecutionId, canvasConfig}) => ({\n\t\t\tid: canvasExecutionId,\n\t\t\tlabel: canvasConfig?.canvasName,\n\t\t\ticon: canvasConfig?.canvasIcon,\n\t\t\texecutionPlanId: canvasConfig?.metaData?.executionPlanId,\n\t\t\tconversationId,\n\t\t\tcanvasId,\n\t\t}));\n\nexport const getCurrentCanvasStatus = (\n\tactiveStatus,\n\tcanvasInteractiveStatus,\n) => {\n\t//activeStatus can be EXTERNAL e.g  child components can send their own 'status' of execution to interactive view.\n\tconst status =\n\t\tactiveStatus && activeStatus.indexOf('EXTERNAL') > -1\n\t\t\t? canvasInteractiveStatus\n\t\t\t: CANVAS_VIEW_STATUS[activeStatus];\n\treturn status?.icon\n\t\t? status\n\t\t: {\n\t\t\t\tstatus: '',\n\t\t\t\ticon: '',\n\t\t\t\tlabel: '',\n\t\t\t};\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"publish\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.__esModule\n\t\t\t\t\tif (cjsModule && 'publish' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"].publish;\n\t\t\t\t\t} else if ('publish' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.publish || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"].publish;\n\t\t\t\t}, [\"subscribe\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.__esModule\n\t\t\t\t\tif (cjsModule && 'subscribe' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"].subscribe;\n\t\t\t\t\t} else if ('subscribe' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.subscribe || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"].subscribe;\n\t\t\t\t}, [\"subscribeToPageContextUpdates\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.__esModule\n\t\t\t\t\tif (cjsModule && 'subscribeToPageContextUpdates' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"].subscribeToPageContextUpdates;\n\t\t\t\t\t} else if ('subscribeToPageContextUpdates' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__.subscribeToPageContextUpdates || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__[\"default\"].subscribeToPageContextUpdates;\n\t\t\t\t} });","import {actionTypes} from '@servicenow/ui-core';\nimport {subscribeToPageContextUpdates} from '@servicenow/ai-engagement-library';\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED} = actionTypes;\nconst ADD_ALERT_MESSAGE = 'ADD_ALERT_MESSAGE';\nconst componentsHost = new WeakMap();\n\nconst updatePropertiesFromPageContext = (\n\tupdateProperties,\n\tsysId,\n\ttableName,\n\texperience,\n) => {\n\tif (!sysId || !tableName) {\n\t\treturn;\n\t}\n\tupdateProperties({\n\t\tsysId,\n\t\ttableName,\n\t\texperience,\n\t});\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({properties, updateProperties, host}) {\n\t\tconst {sysId, tableName, experience} = properties;\n\t\tconst hasExplicitProps = !!(sysId && tableName);\n\n\t\tupdatePropertiesFromPageContext(\n\t\t\tupdateProperties,\n\t\t\tsysId,\n\t\t\ttableName,\n\t\t\texperience,\n\t\t);\n\n\t\tif (!hasExplicitProps) {\n\t\t\tconst unsubscribe = subscribeToPageContextUpdates(\n\t\t\t\t({\n\t\t\t\t\tsysId: ctxSysId,\n\t\t\t\t\ttable: ctxTable,\n\t\t\t\t\texperienceName: ctxExperienceName,\n\t\t\t\t} = {}) =>\n\t\t\t\t\tupdatePropertiesFromPageContext(\n\t\t\t\t\t\tupdateProperties,\n\t\t\t\t\t\tctxSysId,\n\t\t\t\t\t\tctxTable,\n\t\t\t\t\t\tctxExperienceName,\n\t\t\t\t\t),\n\t\t\t);\n\t\t\tcomponentsHost.set(host, unsubscribe);\n\t\t}\n\t},\n\n\t[COMPONENT_DISCONNECTED]({host}) {\n\t\tconst unsub = componentsHost.get(host);\n\t\tif (unsub) {\n\t\t\tunsub();\n\t\t}\n\t\tcomponentsHost.delete(host);\n\t},\n\n\t[ADD_ALERT_MESSAGE]({\n\t\taction: {payload},\n\n\t\tupdateState,\n\t}) {\n\t\tconst {alertMessage} = payload;\n\t\tupdateState({alertMessages: [alertMessage]});\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"TOOLTIP_ADD_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_ADD_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.TOOLTIP_ADD_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"].TOOLTIP_ADD_TARGET;\n\t\t\t\t}, [\"TOOLTIP_REMOVE_TARGET\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.__esModule\n\t\t\t\t\tif (cjsModule && 'TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t\t} else if ('TOOLTIP_REMOVE_TARGET' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.TOOLTIP_REMOVE_TARGET || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"].TOOLTIP_REMOVE_TARGET;\n\t\t\t\t}, [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {t} from 'sn-translate';\n\nexport const SHOW_MORE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show more',\n});\nexport const SHOW_LESS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show less',\n});\nexport const SHOW_STEPS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show steps',\n});\nexport const HIDE_STEPS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Hide steps',\n});\n\nexport const ERROR_MESSAGES = {\n\tNO_ACTIVITY: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Timed out due to missing input',\n\t}),\n\tPLANNING_FAILED: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Unable to start this activity',\n\t}),\n\tFAILED: t({code: 'sn-ai-engagement-experience', message: 'Step failed'}),\n\tCANCELLED: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Activity was stopped',\n\t}),\n};\n","import {t} from 'sn-translate';\n\nexport const CARD_TYPE = {\n\tOVERVIEW: 'Overview',\n\tDETAILED: 'Detailed',\n\tINLINE: 'Inline',\n};\n\nexport const CARD_TYPE_CONFIGS = {\n\t[CARD_TYPE.DETAILED]: {\n\t\tcollapsed: false,\n\t\tvisible: true,\n\t},\n\t[CARD_TYPE.OVERVIEW]: {\n\t\tcollapsed: true,\n\t\tvisible: true,\n\t},\n\t[CARD_TYPE.INLINE]: {\n\t\tcollapsed: true,\n\t\tvisible: true,\n\t},\n};\n\nexport const CARD_STATUS = {\n\tREQUESTED: 'requested',\n\tIN_PROGRESS: 'in_progress',\n\tCOMPLETED: 'completed',\n\tERROR: 'error',\n\tREQUIRED_INPUT: 'required_input',\n\tWRAP_UP: 'wrap_up',\n\tABANDONED: 'abandoned',\n\tTERMINATED: 'terminated',\n};\n\nexport const STATE_REASONS = {\n\tNO_ACTIVITY: 'no_activity',\n\tUSER_EXITED: 'user_exited',\n\tLIVE_AGENT_REQUESTED: 'live_agent_requested',\n\tPLANNING_FAILED: 'planning_failed',\n};\n\n// Conversation provenance. Mirrors the server-side PROVENANCE constant so client and\n// server agree; used to gate off-glide-only client behavior.\nexport const PROVENANCE = {\n\tGLIDE: 'glide',\n\tOFF_GLIDE: 'off_glide',\n};\n\nexport const CARD_UI_STATES = {\n\tREVIEW_OUTPUT: 'review_output',\n\tINPUT_NEEDED_FULFILLER: 'input_needed_fulfiller',\n\tINPUT_NEEDED_REQUESTER: 'input_needed_requester',\n\tFAILED: 'failed',\n\tCANCELLED: 'cancelled',\n\tIN_PROGRESS: 'in_progress',\n\tCOMPLETED: 'completed',\n\tINCOMPLETE: 'incomplete',\n};\n\nexport const CARD_TYPE_CLASS = {\n\t[CARD_TYPE.INLINE]: '--inline',\n\t[CARD_TYPE.DETAILED]: '--detailed',\n\t[CARD_TYPE.OVERVIEW]: '--overview',\n};\n\nexport const CARD_UI_STATE_CLASS = {\n\t[CARD_UI_STATES.IN_PROGRESS]: '--in-progress',\n\t[CARD_UI_STATES.COMPLETED]: '--completed',\n\t[CARD_UI_STATES.FAILED]: '--failed',\n\t[CARD_UI_STATES.CANCELLED]: '--cancelled',\n\t[CARD_UI_STATES.REVIEW_OUTPUT]: '--review-output',\n\t[CARD_UI_STATES.INPUT_NEEDED_FULFILLER]: '--input-needed-fulfiller',\n\t[CARD_UI_STATES.INPUT_NEEDED_REQUESTER]: '--input-needed-requester',\n\t[CARD_UI_STATES.INCOMPLETE]: '--incomplete',\n};\n\nexport const NO_RESULTS_MESSAGE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Nothing yet',\n});\n\nexport const RUN_AGAIN = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Run again',\n});\n\nexport const CANCEL_MODAL_HEADER = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Stop this activity?',\n});\nexport const CANCEL_MODAL_CONTENT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage:\n\t\t\"This will stop the activity. Any steps that have been completed won't be affected.\",\n});\nexport const CANCEL_MODAL_CANCEL_BUTTON_LABEL = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Cancel',\n});\n\nexport const CANCEL_MODAL_FOOTER_ACTIONS = [\n\t{\n\t\tvariant: 'primary',\n\t\tid: 'cancel',\n\t\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Stop activity'}),\n\t\tclickActionType: 'AI_AGENT_CANCEL_EXECUTION',\n\t},\n\t{\n\t\tvariant: 'secondary',\n\t\tid: 'not-cancel',\n\t\tlabel: CANCEL_MODAL_CANCEL_BUTTON_LABEL,\n\t\tclickActionType: 'AI_AGENT_CANCEL_EXECUTION',\n\t},\n];\n\nexport const NOW_UI_ACTION_TYPES = {\n\tNOW_BUTTON_ICONIC_CLICKED: 'NOW_BUTTON_ICONIC#CLICKED',\n\tNOW_BUTTON_CLICKED: 'NOW_BUTTON#CLICKED',\n\tAI_AGENT_CANCEL_EXECUTION: 'AI_AGENT_CANCEL_EXECUTION',\n\tNOW_POPOVER_OPENED_SET: 'NOW_POPOVER#OPENED_SET',\n};\n\nexport const BEHAVIOR_ACTION_TYPES = {\n\tOPEN_CANCEL_MODAL: 'OPEN_CANCEL_MODAL',\n\tCLOSE_CANCEL_MODAL: 'CLOSE_CANCEL_MODAL',\n\tCONFIRM_CANCEL: 'CONFIRM_CANCEL',\n\tCANCEL_WORKFLOW: 'CANCEL_WORKFLOW',\n};\n\nexport const AI_STATUS_CARD_ACTION_TYPES = {\n\tAI_STATUS_CARD_PLAN_REVIEWED: 'AI_STATUS_CARD#PLAN_REVIEWED',\n\tAI_ENGAGEMENT_EXPERIENCE: 'AI_ENGAGEMENT_LAUNCH_EXPERIENCE',\n\tAI_STATUS_CARD_REGENERATE: 'AI_STATUS_CARD#REGENERATE',\n};\n\nexport const NAVIGATION_ACTION_TYPES = {\n\tGLOBAL_NAVIGATION_REQUESTED: 'GLOBAL_NAVIGATION_REQUESTED',\n};\n\n// Dispatched by sn-agentic-supervision after a supervised reply is posted. Bubbles to\n// the ancestor cards (now-ai-status-card + sn-agentic-processes-template) so they can\n// release the off-glide input latch — moving `current` off input_needed lets the\n// subsequent authoritative in_progress (live or reload) through reconcileCardState.\nexport const SUPERVISION_ACTION_TYPES = {\n\tSUPERVISION_REPLIED: 'SUPERVISION_REPLIED',\n};\n\nexport const VIEW_STEPS_MODAL_ACTIONS = {\n\tOPEN_VIEW_STEPS_MODAL: 'OPEN_VIEW_STEPS_MODAL',\n\tCLOSE_VIEW_STEPS_MODAL: 'CLOSE_VIEW_STEPS_MODAL',\n};\n\nexport const RENDER_SUPERVISION_STATES = new Set([\n\tCARD_UI_STATES.INPUT_NEEDED_FULFILLER,\n\tCARD_UI_STATES.INPUT_NEEDED_REQUESTER,\n\tCARD_UI_STATES.IN_PROGRESS,\n]);\n\nexport const REVIEW_CARD_EDIT_SAVED = 'AI_AGENT_REVIEW_CARD#EDIT_SAVED';\n","import {CARD_UI_STATES, PROVENANCE} from './agent-card-constants';\nimport * as litTranslations from './lit_translations';\n\nexport const isInputNeeded = (cardStatus) =>\n\tcardStatus === CARD_UI_STATES.INPUT_NEEDED_REQUESTER ||\n\tcardStatus === CARD_UI_STATES.INPUT_NEEDED_FULFILLER;\n\n// Client-side agentic debug logging, gated on the same server switch as the backend\n// [AGENTIC_PROC] logs (`com.glide.agentic_processing_logging_enabled`). The current-runs /\n// get-usecase responses carry `loggingEnabled`; the card handlers push it here on every\n// fetch so the AMB/live log sites (which have no server context) can honor the same flag.\n// Off by default, so production is silent unless the property is explicitly turned on.\nlet agenticDebugLoggingEnabled = false;\nexport const setAgenticDebugLogging = (enabled) => {\n\tagenticDebugLoggingEnabled = Boolean(enabled);\n};\nexport const agenticDebugLog = (...args) => {\n\tif (agenticDebugLoggingEnabled) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(...args);\n\t}\n};\n\n/**\n * Reconcile an incoming live steps snapshot with what's already displayed so the\n * stepper never regresses when snapshots arrive out of order.\n *\n * Off-glide streams many progressive snapshots of the same workflow widget, and\n * the platform processes those events on concurrent threads, so publishes can\n * arrive non-monotonically (observed count order: 2,1,2,3,2,4,4,3,3). The stepper\n * renders by position, so applying each snapshot wholesale made steps appear,\n * vanish, and reappear (the \"flash\").\n *\n * The rule is purely count-based — it does NOT look at step labels (localized,\n * not always English, and can change between snapshots) or stepIds (whose scheme\n * differs between the live-event and DB-derived paths). Within a single run the\n * step list only ever grows, so \"never accept a shorter snapshot\" removes the flash:\n *   - incoming empty            -> keep current\n *   - incoming length >= current -> take incoming (growth / newest wins)\n *   - incoming shorter          -> keep current (stale partial: don't shrink)\n *\n * Provenance-agnostic and shared by every live-steps consumer (now-ai-status-card\n * and sn-agentic-processes-template) so the client does not diverge on-glide vs\n * off-glide. Safe for on-glide (its snapshots only grow, so the shorter-branch\n * never fires) and for the overview card (latestStep = last of steps, which stays\n * the most-progressed). Genuine resets/new plans come through the bootstrap/reload\n * paths, which set steps directly and do not use this reconcile.\n *\n * @param {Array} current  currently displayed steps\n * @param {Array} incoming newly published steps snapshot\n * @returns {Array} reconciled steps\n */\nexport const reconcileSteps = (current, incoming) => {\n\tconst cur = Array.isArray(current) ? current : [];\n\tconst inc = Array.isArray(incoming) ? incoming : [];\n\tif (inc.length === 0) {\n\t\treturn cur;\n\t}\n\treturn inc.length >= cur.length ? inc : cur;\n};\n\n// States a run cannot leave on its own once reached. Off-glide replays webhook events\n// out of order, so a stale event/reload arriving after the run has finished must not\n// resurrect an earlier prompt over a final state. (A genuine re-run creates a new plan\n// with a new planId, which bootstraps fresh and never goes through this reconcile.)\nconst TERMINAL_CARD_STATES = new Set([\n\tCARD_UI_STATES.COMPLETED,\n\tCARD_UI_STATES.FAILED,\n\tCARD_UI_STATES.CANCELLED,\n]);\n\n// Off-glide-only anti-regression for the input latch. Fails safe: missing/undefined\n// provenance (and glide) always take incoming unchanged. Two guards, both off-glide:\n//   1. Input latch: a trailing in_progress (live event or commit-lag `current-runs`\n//      read) must not clobber a live-pushed input_needed prompt.\n//   2. Terminal anti-regression: a stale, out-of-order input_needed must not resurrect\n//      a prompt on a run that already reached a final state — otherwise the supervision\n//      widget re-appears and the completed stepper vanishes after the run is done.\nexport const reconcileCardState = (current, incoming, provenance) => {\n\tif (provenance !== PROVENANCE.OFF_GLIDE) {\n\t\treturn incoming;\n\t}\n\tif (incoming === CARD_UI_STATES.IN_PROGRESS && isInputNeeded(current)) {\n\t\treturn current;\n\t}\n\tif (isInputNeeded(incoming) && TERMINAL_CARD_STATES.has(current)) {\n\t\treturn current;\n\t}\n\treturn incoming;\n};\n\nexport const isUserLoggedIn = function () {\n\tconst guestUserName = 'guest';\n\tconst guestUserId = '5136503cc611227c0183e96598c4f706';\n\n\tif (\n\t\twindow.NOW?.user?.name === guestUserName ||\n\t\twindow.NOW?.user_name === guestUserName ||\n\t\twindow.NOW?.user?.userID === guestUserId ||\n\t\twindow.NOW?.user_id === guestUserId ||\n\t\twindow.ux_globals?.isLoggedIn === 'false' ||\n\t\twindow.ux_globals?.session?.output?.isLoggedIn === false\n\t) {\n\t\treturn false;\n\t}\n\treturn true;\n};\n","// Note that this file exists for the localization scan to find strings that are currently used in Lit In-Product-Experience app. These are not used in runtime.\nimport {t} from 'sn-translate';\n\nexport const N0_ITEMS_SELECTED = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: '{0} items selected',\n\tcomment: 'Count of selected filter items; {0} is replaced with the count',\n});\n\nexport const N0_WORKFLOW_NEEDS_YOUR_INPUT_WITHIN_24_HOURS_TO_CONTINUE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: '{0} workflow needs your input within 24 hours to continue.',\n\tcomment:\n\t\t'Notification body when a workflow is waiting for user input; {0} is replaced with the workflow name',\n});\n\nexport const N0_MORE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: '+{0} more',\n\tcomment:\n\t\t'Overflow count of additional users in the presence component; {0} is replaced with the count',\n});\n\nexport const AI_ACTIVITY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'AI Activity',\n\tcomment: 'Aria-label for the supervision region landmark',\n});\n\nexport const AI_EXECUTION_STEPS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'AI Execution Steps',\n\tcomment: 'Aria-label for the AI execution steps region in the stepper',\n});\n\nexport const AI_WORKFLOWS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'AI Workflows',\n\tcomment: 'Heading label for the AI workflows list in the processes template',\n});\n\nexport const ASSIGNMENT_GROUPS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Assignment groups',\n\tcomment: 'Label for the assignment groups section in the presence component',\n});\n\nexport const AT_LEAST_ONE_AI_ACTIVITY_IS_PAUSED_AND_REQUIRES_INPUT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'At least one AI activity is paused and requires input.',\n\tcomment:\n\t\t'Presence status message when one or more activities are waiting for user input',\n});\n\nexport const BACK = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Back',\n\tcomment:\n\t\t'Aria-label for the back navigation button in the processes template',\n});\n\nexport const CANCEL = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Cancel',\n\tcomment: 'Dismiss button label for the stop activity confirmation modal',\n});\n\nexport const CHECKING_FOR_OUTPUT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Checking for output...',\n\tcomment:\n\t\t'Loading state message in the review card while output is being fetched',\n});\n\nexport const CLOSE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Close',\n\tcomment: 'Aria-label for the close (X) button on modals',\n});\n\nexport const COMPLETED_AT_N0 = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Completed at {0}',\n\tcomment:\n\t\t'Timestamp for activities completed today; {0} is the formatted time',\n});\n\nexport const COMPLETED_ON_N0 = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Completed on {0}',\n\tcomment:\n\t\t'Timestamp for activities completed on a previous date; {0} is the formatted date',\n});\n\nexport const CONFIRM = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Confirm',\n\tcomment: 'Button label to confirm a user action',\n});\n\nexport const CONTINUE_IN_CHAT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Continue in chat',\n\tcomment:\n\t\t'Button label to open the chat to continue an activity requiring user input',\n});\n\nexport const COPIED_TO_CLIPBOARD = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Copied to clipboard',\n\tcomment: 'Success message shown after the output is copied to the clipboard',\n});\n\nexport const COPY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Copy',\n\tcomment: 'Button label to copy the review card output to the clipboard',\n});\n\nexport const FAILED_TO_COPY_TO_CLIPBOARD = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Failed to copy to clipboard',\n\tcomment: 'Error message shown when copying to the clipboard fails',\n});\n\nexport const FILTER_BY_STATE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Filter by state',\n\tcomment: 'Aria-label for the state filter dropdown in the processes template',\n});\n\nexport const GENERATED_BY_NOW_ASSIST_CHECK_FOR_ACCURACY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Generated by AI. Check for accuracy.',\n\tcomment: 'Disclaimer shown on AI-generated content in the status card',\n});\n\nexport const HIDE_HISTORY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Hide history',\n\tcomment:\n\t\t'Button label to collapse the conversation history in the transcript',\n});\n\nexport const HIDE_STEPS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Hide steps',\n\tcomment: 'Button label to collapse the steps list in the stepper',\n});\n\nexport const HISTORY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'History',\n\tcomment: 'Aria-label for the conversation history region in the transcript',\n});\n\nexport const LOADING_AI_ACTIVITY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Loading AI activity',\n\tcomment: 'Loading state message while workflows are being fetched',\n});\n\nexport const MARK_AS_UNREAD = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Mark as unread',\n\tcomment: 'Dropdown menu item label to mark a workflow as unread',\n});\n\nexport const MORE_OPTIONS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'More options',\n\tcomment: 'Aria-label for the ellipsis menu button on the status card',\n});\n\nexport const NO_AI_ACTIVITY_RUNNING = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'No AI activity running',\n\tcomment: 'Empty state message when there are no active workflows to display',\n});\n\nexport const NOTHING_NEEDS_REVIEW = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Nothing needs review.',\n\tcomment:\n\t\t'Empty state message in the review card when there is no output to review',\n});\n\nexport const NOW_ASSIST = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'ServiceNow Otto',\n\tcomment: 'Display name for the AI presence indicator',\n});\n\nexport const NOW_ASSIST_IS_CURRENTLY_WORKING_ON_THIS_RECORD = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'ServiceNow Otto is currently working on this record.',\n\tcomment: 'Presence status message when AI is actively processing',\n});\n\nexport const NOW_ASSIST_NEEDS_YOUR_INPUT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'ServiceNow Otto needs your input',\n\tcomment:\n\t\t'Title of the notification shown when AI is waiting for user input',\n});\n\nexport const NOW_ASSIST_WAITING_FOR_YOUR_RESPONSE_IN_THE_CHAT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'ServiceNow Otto waiting for your response in the chat.',\n\tcomment:\n\t\t'Status message shown when AI is waiting for the user to respond in chat',\n});\n\nexport const ONE_OR_MORE_AI_ACTIVITIES_ARE_COMPLETE_AND_READY_FOR_REVIEW = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'One or more AI activities are complete and ready for review.',\n\tcomment:\n\t\t'Presence status message when activities have output ready for review',\n});\n\nexport const OPEN_CHAT_TO_CONTINUE_THIS_TASK = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Open chat to continue this task',\n\tcomment:\n\t\t'Tooltip for the continue-in-chat button in the supervision component',\n});\n\nexport const OPEN_DETAILS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Open details',\n\tcomment:\n\t\t'Aria-label for the chevron button that opens the detailed card view',\n});\n\nexport const PROCESS_FAILED_TO_INITIATE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Process failed to initiate',\n\tcomment: 'Error state message when a workflow process fails to start',\n});\n\nexport const PROVIDE_FEEDBACK_FOR_THE_AI_GENERATED_OUTPUT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Provide feedback for the AI-generated output',\n\tcomment:\n\t\t'Link label to open the feedback form for AI-generated output in supervision',\n});\n\nexport const REVIEW = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Review',\n\tcomment:\n\t\t'Button label in the pending-input notification to navigate to the activity',\n});\n\nexport const REVIEW_ACTIVITY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Review activity',\n\tcomment:\n\t\t'Button label to navigate to the activity review from the presence component',\n});\n\nexport const REVIEW_OUTPUT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Review output',\n\tcomment: 'Header label for the agent review card',\n});\n\nexport const REVIEWER = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Reviewer',\n\tcomment: 'Label for the reviewer role in the presence component',\n});\n\nexport const RUN_AGAIN = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Run again',\n\tcomment:\n\t\t'Dropdown menu item label to restart an activity in the processes template',\n});\n\nexport const SELECT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Select',\n\tcomment:\n\t\t'Default placeholder label for single-select picker inputs in supervision',\n});\n\nexport const SELECT_A_DATE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Select a date',\n\tcomment: 'Aria-label for the date picker input in supervision',\n});\n\nexport const SELECT_A_DATE_AND_TIME = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Select a date and time',\n\tcomment: 'Aria-label for the date-and-time picker input in supervision',\n});\n\nexport const SELECT_A_TIME = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Select a time',\n\tcomment: 'Aria-label for the time picker input in supervision',\n});\n\nexport const SELECT_AN_OPTION = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Select an option',\n\tcomment: 'Aria-label for a single-option select picker in supervision',\n});\n\nexport const SELECT_OPTIONS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Select options',\n\tcomment: 'Aria-label for the multi-select picker group in supervision',\n});\n\nexport const SHOW_HISTORY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show history',\n\tcomment: 'Button label to expand the conversation history in the transcript',\n});\n\nexport const SHOW_STEPS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show steps',\n\tcomment: 'Button label to expand the steps list in the stepper',\n});\n\nexport const STARTED_AT_N0 = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Started at {0}',\n\tcomment: 'Timestamp for activities started today; {0} is the formatted time',\n});\n\nexport const STARTED_ON_N0 = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Started on {0}',\n\tcomment:\n\t\t'Timestamp for activities started on a previous date; {0} is the formatted date',\n});\n\nexport const STATE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'State',\n\tcomment: 'Label for the state filter column in the processes template',\n});\n\nexport const STOP_ACTIVITY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Stop activity',\n\tcomment: 'Dropdown menu item label to stop a running workflow',\n});\n\nexport const STOP_THIS_ACTIVITY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Stop this activity?',\n\tcomment: 'Header of the confirmation modal for stopping an AI activity',\n});\n\nexport const STOPPED_AT_N0 = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Stopped at {0}',\n\tcomment: 'Timestamp for activities stopped today; {0} is the formatted time',\n});\n\nexport const STOPPED_ON_N0 = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Stopped on {0}',\n\tcomment:\n\t\t'Timestamp for activities stopped on a previous date; {0} is the formatted date',\n});\n\nexport const THIS_WILL_STOP_THE_ACTIVITY_ANY_STEPS_THAT_HAVE_BEEN_COMPLETED_WON_T_BE_AFFECTED =\n\tt({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage:\n\t\t\t\"This will stop the activity. Any steps that have been completed won't be affected.\",\n\t\tcomment: 'Body text of the confirmation modal for stopping an AI activity',\n\t});\n\nexport const VIEW_STEPS_AND_HISTORY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'View steps and history',\n\tcomment:\n\t\t'Popover menu item to open the steps and history view on a status card',\n});\n\nexport const WORKFLOW_OPTIONS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Workflow Options',\n\tcomment: 'Aria-label for the workflow options dropdown menu button',\n});\n\nexport const YOUR_RESPONSE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Your response',\n\tcomment:\n\t\t'Label prefix for the user response messages in the conversation transcript',\n});\n","import {createRef, Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-accordion';\nimport {\n\tTOOLTIP_ADD_TARGET,\n\tTOOLTIP_REMOVE_TARGET,\n} from '@servicenow/behavior-tooltip';\nimport {SHOW_STEPS, HIDE_STEPS, ERROR_MESSAGES} from './constants';\nimport {\n\tCARD_UI_STATES,\n\tCARD_TYPE,\n\tSTATE_REASONS,\n} from '../utils/agent-card-constants';\nimport {isInputNeeded} from '../utils';\nexport const scrollRef = createRef();\n\nconst isOverflowing = (elem) => elem.scrollWidth > elem.offsetWidth;\n\nconst getFailedStepErrorMessage = (cardStatus, stateReason) => {\n\tif (cardStatus === CARD_UI_STATES.CANCELLED) {\n\t\treturn ERROR_MESSAGES.CANCELLED;\n\t}\n\n\tif (cardStatus === CARD_UI_STATES.FAILED) {\n\t\tswitch (stateReason) {\n\t\t\tcase STATE_REASONS.NO_ACTIVITY:\n\t\t\t\treturn ERROR_MESSAGES.NO_ACTIVITY;\n\t\t\tcase STATE_REASONS.PLANNING_FAILED:\n\t\t\t\treturn ERROR_MESSAGES.PLANNING_FAILED;\n\t\t\tdefault:\n\t\t\t\treturn ERROR_MESSAGES.FAILED;\n\t\t}\n\t}\n\n\treturn '';\n};\n\nexport const renderPlanningFailed = () => (\n\t<div className=\"planning-failed-container\">\n\t\t<now-illustration illustration=\"error\" size=\"md\" />\n\t\t<div className=\"planning-failed-message\">\n\t\t\t{ERROR_MESSAGES.PLANNING_FAILED}\n\t\t</div>\n\t</div>\n);\n\n/**\n * This util function is specific to engagement experience\n */\nexport const renderSteps = (\n\ttotalSteps,\n\tsteps,\n\tcollapsed,\n\tconversationData,\n\tusecaseData,\n\tcardStatus,\n\toutputReview,\n\tstate,\n\tdispatch,\n) => {\n\tif (totalSteps <= 0) {\n\t\treturn;\n\t}\n\n\tconst isFailedOrCancelled =\n\t\tcardStatus === CARD_UI_STATES.FAILED ||\n\t\tcardStatus === CARD_UI_STATES.CANCELLED;\n\n\tconst stepsContent = (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\tbody: true,\n\t\t\t\tsteps: true,\n\t\t\t\t'is-expanded': !collapsed,\n\t\t\t}}\n\t\t>\n\t\t\t{steps.map((step, index) => {\n\t\t\t\tconst isStepCompleted =\n\t\t\t\t\tstep.status === 'COMPLETED' ||\n\t\t\t\t\tstate === CARD_UI_STATES.REVIEW_OUTPUT ||\n\t\t\t\t\t!!step.complete;\n\t\t\t\tconst showGap = index < totalSteps - 1;\n\t\t\t\tconst showLastStepError =\n\t\t\t\t\tisFailedOrCancelled && index === totalSteps - 1;\n\t\t\t\tlet indicator;\n\n\t\t\t\tif (showLastStepError) {\n\t\t\t\t\tif (cardStatus === CARD_UI_STATES.CANCELLED) {\n\t\t\t\t\t\tindicator = (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclassName=\"step-icon-error\"\n\t\t\t\t\t\t\t\ticon=\"triangle-exclamation-outline\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tindicator = (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclassName=\"step-icon-error\"\n\t\t\t\t\t\t\t\ticon=\"circle-close-outline\"\n\t\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else if (isStepCompleted) {\n\t\t\t\t\tconst icon =\n\t\t\t\t\t\tisInputNeeded(cardStatus) && index === steps.length - 1\n\t\t\t\t\t\t\t? 'circle-pause-outline'\n\t\t\t\t\t\t\t: 'circle-check-outline';\n\t\t\t\t\tindicator = <now-icon className=\"step-icon\" icon={icon} size=\"md\" />;\n\t\t\t\t} else {\n\t\t\t\t\tindicator = <now-loader className=\"step-loader\" size=\"md\" />;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\tstep: true,\n\t\t\t\t\t\t\t\t'-error': showLastStepError,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"step-progress\">\n\t\t\t\t\t\t\t\t{indicator}\n\t\t\t\t\t\t\t\t{showGap && <div className=\"step-gap\"></div>}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"step-label\"\n\t\t\t\t\t\t\t\tdata-truncation\n\t\t\t\t\t\t\t\tdata-tooltip={step.label || step.stepTitle}\n\t\t\t\t\t\t\t\thook-update={({elm}) => {\n\t\t\t\t\t\t\t\t\tif (isOverflowing(elm)) {\n\t\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{step.label || step.stepTitle}\n\t\t\t\t\t\t\t\t{showLastStepError && (\n\t\t\t\t\t\t\t\t\t<div className=\"step-sub-label\">\n\t\t\t\t\t\t\t\t\t\t{getFailedStepErrorMessage(\n\t\t\t\t\t\t\t\t\t\t\tcardStatus,\n\t\t\t\t\t\t\t\t\t\t\tusecaseData?.stateReason,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t\t<div ref={scrollRef}></div>\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<div>\n\t\t\t{totalSteps > 0 && (\n\t\t\t\t<now-accordion\n\t\t\t\t\theading-level={3}\n\t\t\t\t\ttrigger-icon={{position: 'start'}}\n\t\t\t\t\thide-dividers\n\t\t\t\t\tclassName=\"steps-accordion\"\n\t\t\t\t>\n\t\t\t\t\t<now-accordion-item\n\t\t\t\t\t\theader={{\n\t\t\t\t\t\t\tlabel: collapsed ? SHOW_STEPS : HIDE_STEPS,\n\t\t\t\t\t\t\tsize: 'sm',\n\t\t\t\t\t\t\tweight: 'bold',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\texpanded={!collapsed}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div slot=\"content\">{stepsContent}</div>\n\t\t\t\t\t</now-accordion-item>\n\t\t\t\t</now-accordion>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nconst renderLatestStep = ({\n\tlatestStepLabel,\n\tcardStatus,\n\tcollapsed,\n\tcardType,\n\tdispatch,\n}) => {\n\tif (!latestStepLabel || (!collapsed && cardType === CARD_TYPE.DETAILED)) {\n\t\treturn null;\n\t}\n\n\tlet stateIcon = null;\n\n\tif (cardStatus === CARD_UI_STATES.IN_PROGRESS) {\n\t\tstateIcon = <now-loader size=\"md\" />;\n\t} else if (isInputNeeded(cardStatus)) {\n\t\tstateIcon = <now-icon icon=\"circle-pause-outline\" size=\"md\"></now-icon>;\n\t} else {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"latest-step-container\">\n\t\t\t<div>{stateIcon}</div>\n\t\t\t<div\n\t\t\t\tdata-truncation\n\t\t\t\tdata-tooltip={latestStepLabel}\n\t\t\t\thook-update={({elm}) => {\n\t\t\t\t\tif (isOverflowing(elm)) {\n\t\t\t\t\t\tdispatch(TOOLTIP_ADD_TARGET, {target: elm});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\thook-destroy={({elm}) => {\n\t\t\t\t\tdispatch(TOOLTIP_REMOVE_TARGET, {target: elm});\n\t\t\t\t}}\n\t\t\t\tclassName=\"latest-step-content\"\n\t\t\t>\n\t\t\t\t{latestStepLabel}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n/**\n * This util function is specific to engagement experience\n */\nexport const engagementStepperView = (state, {dispatch}) => {\n\tconst {\n\t\theader: headerMessage,\n\t\tsteps,\n\t\tcollapsed,\n\t\tisVisible,\n\t\tcardType,\n\t\tlatestStepLabel,\n\t\tcardStatus,\n\t\tconversationData,\n\t\tusecaseData,\n\t\toutputReview,\n\t} = state.properties;\n\tif (!isVisible) {\n\t\treturn null; // Do not render anything if isVisible is false\n\t}\n\tconst totalSteps = steps.length;\n\tconst isPlanningFailed =\n\t\tcardStatus === CARD_UI_STATES.FAILED &&\n\t\t(steps.length === 0 ||\n\t\t\tusecaseData?.stateReason === STATE_REASONS.PLANNING_FAILED);\n\n\treturn (\n\t\t<div className=\"stepper-container engagement-stepper\">\n\t\t\t<div class={{box: true, '-overview': cardType === CARD_TYPE.OVERVIEW}}>\n\t\t\t\t<div className=\"message\">\n\t\t\t\t\t<div className=\"message-container\">\n\t\t\t\t\t\t<div className=\"header\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t'header-wrapper': true,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"status-message-container\">\n\t\t\t\t\t\t\t\t\t<slot name=\"status-message\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{headerMessage && (\n\t\t\t\t\t\t\t\t\t<div className=\"header-message-container\">\n\t\t\t\t\t\t\t\t\t\t{headerMessage}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<slot name=\"created-on\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{headerMessage && <slot name=\"stepper-actions\" />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"user-container\">\n\t\t\t\t\t\t\t<slot name=\"supervised\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{cardType === CARD_TYPE.OVERVIEW ? (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{renderLatestStep({\n\t\t\t\t\t\t\t\t\tlatestStepLabel,\n\t\t\t\t\t\t\t\t\tcardStatus,\n\t\t\t\t\t\t\t\t\tcollapsed,\n\t\t\t\t\t\t\t\t\tcardType,\n\t\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t{<slot name=\"supervised-step-eta\" />}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{<slot name=\"supervised-step-eta\" />}\n\t\t\t\t\t\t\t\t{renderLatestStep({\n\t\t\t\t\t\t\t\t\tlatestStepLabel,\n\t\t\t\t\t\t\t\t\tcardStatus,\n\t\t\t\t\t\t\t\t\tcollapsed,\n\t\t\t\t\t\t\t\t\tcardType,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{isPlanningFailed && cardType === CARD_TYPE.DETAILED\n\t\t\t\t\t\t? renderPlanningFailed()\n\t\t\t\t\t\t: renderSteps(\n\t\t\t\t\t\t\t\ttotalSteps,\n\t\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\t\tcollapsed,\n\t\t\t\t\t\t\t\tconversationData,\n\t\t\t\t\t\t\t\tusecaseData,\n\t\t\t\t\t\t\t\tcardStatus,\n\t\t\t\t\t\t\t\toutputReview,\n\t\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\t\tdispatch,\n\t\t\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import {createCustomElement, actionTypes} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-loader';\nimport styles from './_now-ai-vertical-stepper.scss';\nimport truncationBehavior from '@servicenow/behavior-truncation';\nimport tooltipBehavior from '@servicenow/behavior-tooltip';\n\nconst {COMPONENT_TREE_RENDERED} = actionTypes;\n\nimport {scrollRef, engagementStepperView} from './utils';\n\nconst view = (state, {updateProperties, dispatch}) =>\n\tengagementStepperView(state, {updateProperties, dispatch});\n\ncreateCustomElement('now-ai-stepper', {\n\trenderer: {type: snabbdom},\n\tproperties: {\n\t\theader: {schema: {type: 'string'}},\n\t\theaderIcon: {schema: {type: 'string'}},\n\t\tsteps: {schema: {type: 'array'}},\n\t\tcollapsed: {schema: {type: 'boolean'}},\n\t\tstatus: {schema: {type: 'string'}},\n\t\tisVisible: {schema: {type: 'boolean'}},\n\t\tcardType: {schema: {type: 'string'}},\n\t\tlatestStepLabel: {schema: {type: 'string'}},\n\t\tcardStatus: {schema: {type: 'string'}},\n\t\tconversationData: {schema: {type: 'object'}},\n\t\tusecaseData: {schema: {type: 'object'}},\n\t\toutputReview: {schema: {type: 'object'}},\n\t},\n\tview,\n\tactionHandlers: {\n\t\t[COMPONENT_TREE_RENDERED]: ({state}) => {\n\t\t\tif (!state.properties.collapsed && scrollRef?.current) {\n\t\t\t\tscrollRef.current.scrollIntoView({\n\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\tblock: 'nearest',\n\t\t\t\t\tinline: 'nearest',\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t'NOW_ACCORDION_ITEM#EXPANDED_SET': ({action, updateProperties}) => {\n\t\t\tconst {payload} = action;\n\t\t\tupdateProperties({collapsed: !payload?.value});\n\t\t},\n\t},\n\tstyles,\n\tbehaviors: [truncationBehavior, tooltipBehavior],\n});\n","import {t} from 'sn-translate';\n\nexport const ACTION_TYPES = {\n\t// AMB action types for conversation updates\n\tCONVERSATION_UPDATE_SUBSCRIBE: 'CONVERSATION_UPDATE_SUBSCRIBE',\n\tCONVERSATION_UPDATE_RECEIVED: 'CONVERSATION_UPDATE_RECEIVED',\n\tSUBSCRIBE_TO_PLANS: 'SUBSCRIBE_TO_PLANS',\n\tEXECUTION_PLAN_UPDATED: 'EXECUTION_PLAN_UPDATED',\n\tSUBSCRIBE_TO_ACTIVITY_STREAM: 'SUBSCRIBE_TO_ACTIVITY_STREAM',\n\tACTIVITY_STREAM_MESSAGE_RECEIVED: 'ACTIVITY_STREAM_MESSAGE_RECEIVED',\n\tAI_AGENT_EXECUTION_REQUESTED_EVENT: 'AI_AGENT_EXECUTION_REQUESTED_EVENT',\n\tAI_AGENT_EXECUTION_REQUESTED: 'AI_AGENT_EXECUTION_REQUESTED',\n\tAI_AGENT_EXECUTION_STARTED: 'AI_AGENT_EXECUTION_STARTED',\n\tAI_AGENT_EXECUTION_COMPLETED: 'AI_AGENT_EXECUTION_COMPLETED',\n\tAI_AGENT_USE_CASE_TRIGGER_SUCCESS: 'AI_AGENT_USE_CASE_TRIGGER_SUCCESS',\n\tAI_AGENT_USE_CASE_TRIGGER_FAILED: 'AI_AGENT_USE_CASE_TRIGGER_FAILED',\n\tAI_AGENT_USECASE_GET_ACTIVITY: 'AI_AGENT_USECASE_GET_ACTIVITY',\n\tAI_AGENT_USECASE_GET_ACTIVITY_FAILED: 'AI_AGENT_USECASE_GET_ACTIVITY_FAILED',\n\tAI_AGENT_USECASE_GET_ACTIVITY_START: 'AI_AGENT_USECASE_GET_ACTIVITY_START',\n\tAI_AGENT_USECASE_ACTIVITY_SUCCESS: 'AI_AGENT_USECASE_ACTIVITY_SUCCESS',\n\tTRIGGER_USE_CASE: 'TRIGGER_USE_CASE',\n\tSET_SUBSCRIPTION: 'SET_SUBSCRIPTION',\n\tUNSUBSCRIBE_AMB: 'UNSUBSCRIBE_AMB',\n\tAI_AGENT_LISTEN_REQUESTED_EVENT: 'AI_AGENT_LISTEN_REQUESTED_EVENT',\n\tAI_AGENT_LISTEN_REQUESTED: 'AI_AGENT_LISTEN_REQUESTED',\n\tAI_AGENT_LISTEN_STARTED: 'AI_AGENT_LISTEN_STARTED',\n\tAI_AGENT_LISTEN_COMPLETED: 'AI_AGENT_LISTEN_COMPLETED',\n\tAI_AGENT_USE_CASE_LISTEN_SUCCESS: 'AI_AGENT_USE_CASE_LISTEN_SUCCESS',\n\tAI_AGENT_USE_CASE_LISTEN_FAILED: 'AI_AGENT_USE_CASE_LISTEN_FAILED',\n\tLISTEN_USE_CASE: 'LISTEN_USE_CASE',\n\tAI_AGENT_SHOW_HIDE_REVIEW: 'AI_AGENT_SHOW_HIDE_REVIEW',\n\tAI_AGENT_SHOW_REVIEW_MODAL: 'AI_AGENT_SHOW_REVIEW_MODAL',\n\tBUTTON_CLICKED: 'NOW_BUTTON#CLICKED',\n\tAI_AGENT_EXECUTION_IN_PROGRESS: 'AI_AGENT_EXECUTION_IN_PROGRESS',\n\tAI_AGENT_GET_CURRENT_STATUS: 'AI_AGENT_GET_CURRENT_STATUS',\n\tAI_AGENT_USE_CASE_GET_CURRENT_STATUS_SUCCESS:\n\t\t'AI_AGENT_USE_CASE_GET_CURRENT_STATUS_SUCCESS',\n\tAI_AGENT_USE_CASE_GET_CURRENT_STATUS_FAILED:\n\t\t'AI_AGENT_USE_CASE_GET_CURRENT_STATUS_FAILED',\n\tAI_AGENT_USE_CASE_GET_PREVIOUS_MESSAGES_SUCCESS:\n\t\t'AI_AGENT_USE_CASE_GET_PREVIOUS_MESSAGES_SUCCESS',\n\tAI_AGENT_USE_CASE_GET_PREVIOUS_MESSAGES_FAILED:\n\t\t'AI_AGENT_USE_CASE_GET_PREVIOUS_MESSAGES_FAILED',\n\tGET_PLAN_MESSAGES_SUCCEEDED: 'GET_PLAN_MESSAGES_SUCCEEDED',\n\tGET_PLAN_MESSAGES_FAILED: 'GET_PLAN_MESSAGES_FAILED',\n\tGET_PLAN_MESSAGES: 'GET_PLAN_MESSAGES',\n\tAI_STATUS_CARD_PLAN_UPDATED: 'AI_STATUS_CARD#PLAN_UPDATED',\n\tAI_STATUS_CARD_STATE_UPDATED: 'AI_STATUS_CARD#STATE_UPDATED',\n\tAI_STATUS_CARD_OUTPUT_REVIEW_SET: 'AI_STATUS_CARD#OUTPUT_REVIEW_SET',\n\tAI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT:\n\t\t'AI_AGENT_STATUS_CARD#CUSTOM_EXPAND_EVENT',\n\tPRIVATE_SYNC_MESSAGE: 'PRIVATE#SYNC_MESSAGE',\n\tSUBMIT_FEEDBACK: 'SUBMIT_FEEDBACK',\n\tSUBMIT_FEEDBACK_SUCCEEDED: 'SUBMIT_FEEDBACK_SUCCEEDED',\n\tSUBMIT_FEEDBACK_FAILED: 'SUBMIT_FEEDBACK_FAILED',\n\tGET_USECASE: 'GET_USECASE',\n\tGET_USECASE_SUCCEEDED: 'GET_USECASE_SUCCEEDED',\n\tGET_USECASE_FAILED: 'GET_USECASE_FAILED',\n\tMARK_PLAN_AS_REVIEWED: 'MARK_PLAN_AS_REVIEWED',\n\tMARK_PLAN_AS_REVIEWED_SUCCESS: 'MARK_PLAN_AS_REVIEWED_SUCCESS',\n\tAI_STATUS_CARD_REGENERATE: 'AI_STATUS_CARD#REGENERATE',\n\tAI_STATUS_CARD_REGENERATE_REQUESTED: 'AI_STATUS_CARD#REGENERATE_REQUESTED',\n\tAI_STATUS_CARD_REGENERATE_SUCCESS: 'AI_STATUS_CARD#REGENERATE_SUCCESS',\n\tAI_STATUS_CARD_REGENERATE_FAILED: 'AI_STATUS_CARD#REGENERATE_FAILED',\n\tAI_STATUS_CARD_REGENERATE_SILENT_REQUESTED:\n\t\t'AI_STATUS_CARD#REGENERATE_SILENT_REQUESTED',\n\tAI_STATUS_CARD_REGENERATE_SILENT_SUCCESS:\n\t\t'AI_STATUS_CARD#REGENERATE_SILENT_SUCCESS',\n\tAI_STATUS_CARD_REGENERATE_SILENT_FAILED:\n\t\t'AI_STATUS_CARD#REGENERATE_SILENT_FAILED',\n};\n\nexport const REVIEW_MESSAGE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Please check for accuracy.',\n});\n\nexport const API_ENDPOINTS = {\n\tGET_ACTIVITY: '/api/sn_now_canvas_ai/agentic_processing/get_activity',\n\tGET_PLAN_MESSAGES: '/api/sn_now_canvas_ai/agentic_processing/plan-messages',\n\tGET_USECASE: '/api/sn_now_canvas_ai/agentic_processing/current-runs',\n\tPOST_MESSAGE: '/api/sn_now_canvas_ai/agentic_processing/post-message',\n};\n\nexport const TABLE_NAMES = {\n\tEXECUTION_PLAN: 'sn_aia_execution_plan',\n\tCS_MESSAGE: 'sys_cs_message',\n};\n\nexport const MESSAGE_TYPES = {\n\tPROCESSING: 'ProcessingMessage',\n};\n\nexport const MESSAGE_STATUS = {\n\tDELIVERED: 'delivered',\n};\n\nexport const REVIEW_FEEDBACK = {\n\tACCEPTED: 'accepted',\n\tREJECTED: 'rejected',\n};\n\nexport const MODAL_DEFAULTS = {\n\tMODAL_HEADER_LABEL: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Proposed resolution plan',\n\t}),\n\tMODAL_FOOTER_LABEL: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Generated by AI. Check for accuracy.',\n\t}),\n};\n\nexport const ETA_MESSAGE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: '12 minutes total (estimated)',\n});\nexport const SUPERVISED_BY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Supervised by',\n});\nexport const REVIEW_OUTPUT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Review output',\n});\n\nexport const EXPECTED_DATA_TYPE = {\n\tInputText: 'InputText',\n\tDynamicLoaderRichControl: 'DynamicLoaderRichControl',\n};\n\nexport const NEEDS_REVIEW = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Needs review',\n});\n\nexport const OUTPUT_REVIEW = {\n\tHEADER: t({code: 'sn-ai-engagement-experience', message: 'Final output'}),\n\tLOADING: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Checking for output...',\n\t}),\n\tNO_OUTPUT: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Nothing needs review.',\n\t}),\n};\n\nexport const INITIAL_STEP = {\n\tlabel: t({code: 'sn-ai-engagement-experience', message: 'Workflow started'}),\n\tstepId: '0',\n\tstatus: 'IN_PROGRESS',\n\tcomplete: false,\n};\nexport const FEEDBACK_BUTTONS = {\n\tTHUMBS_UP: 'Accepted',\n\tTHUMBS_DOWN: 'Rejected',\n};\nexport const OWNER = t({code: 'sn-ai-engagement-experience', message: 'Owner'});\nexport const REVIEWER = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Reviewer',\n});\n","import {CARD_UI_STATES} from './agent-card-constants.js';\n\nexport const DATE_TIME_FORMATS = {\n\tDATE: 'MMM d, yyyy',\n\tTIME_12HR: 'h:mm a',\n};\n\nexport const CARD_UI_TIMESTAMP_STATES = {\n\tCANCELLED: 'cancelled',\n\tCOMPLETED: 'completed',\n\tIN_PROGRESS: 'in_progress',\n\tSTOPPED: 'stopped',\n};\n\nexport const CARD_UI_TIMESTAMP_MAP = {\n\t[CARD_UI_STATES.CANCELLED]: CARD_UI_TIMESTAMP_STATES.CANCELLED,\n\t[CARD_UI_STATES.COMPLETED]: CARD_UI_TIMESTAMP_STATES.COMPLETED,\n\t[CARD_UI_STATES.FAILED]: CARD_UI_TIMESTAMP_STATES.STOPPED,\n\t[CARD_UI_STATES.IN_PROGRESS]: CARD_UI_TIMESTAMP_STATES.IN_PROGRESS,\n\t[CARD_UI_STATES.INPUT_NEEDED_FULFILLER]: CARD_UI_TIMESTAMP_STATES.IN_PROGRESS,\n\t[CARD_UI_STATES.INPUT_NEEDED_REQUESTER]: CARD_UI_TIMESTAMP_STATES.IN_PROGRESS,\n\t[CARD_UI_STATES.REVIEW_OUTPUT]: CARD_UI_TIMESTAMP_STATES.COMPLETED,\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"formatTZ\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__.__esModule\n\t\t\t\t\tif (cjsModule && 'formatTZ' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"].formatTZ;\n\t\t\t\t\t} else if ('formatTZ' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__.formatTZ || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__[\"default\"].formatTZ;\n\t\t\t\t} });","import {t} from 'sn-translate';\nimport {\n\tCARD_UI_TIMESTAMP_STATES,\n\tCARD_UI_TIMESTAMP_MAP,\n\tDATE_TIME_FORMATS,\n} from './date-time-constants.js';\nimport {formatTZ} from '@servicenow/library-date-time';\n\n/**\n * Given a date object, generate a short format string (e.g., Nov 12, 2025 or 2:14 PM)\n * @param dateObj\n * @param nowStr\n * @returns {*}\n */\nexport const getFormattedDateTime = (dateObj, nowStr) => {\n\tif (!dateObj || isNaN(dateObj.getTime())) {\n\t\treturn '';\n\t}\n\tconst nowDateString = nowStr || new Date().toDateString();\n\tif (dateObj.toDateString() === nowDateString) {\n\t\t// Today\n\t\treturn {\n\t\t\tisToday: true,\n\t\t\tformattedString: formatTZ(dateObj, DATE_TIME_FORMATS.TIME_12HR),\n\t\t};\n\t} else {\n\t\t// Before today\n\t\treturn {\n\t\t\tisToday: false,\n\t\t\tformattedString: formatTZ(dateObj, DATE_TIME_FORMATS.DATE),\n\t\t};\n\t}\n};\n\n/**\n * Generates a timing string based on the use case data and current time\n * @param useCaseData\n * @param nowStr - optional current time for testing\n * @returns {*}\n */\nexport const getTimingString = (useCaseData, nowStr) => {\n\tconst {createdOn, eta, executionTime, state} = useCaseData;\n\tconst createdOnDate = new Date(createdOn);\n\tif (isNaN(createdOnDate.getTime())) {\n\t\treturn '';\n\t}\n\tconst nowDateString = nowStr || new Date().toDateString();\n\tconst executionTimeMS = (parseInt(executionTime, 10) || 0) * 1000;\n\tconst completedOnDate = new Date(createdOnDate.getTime() + executionTimeMS);\n\n\t// Map card status to timestamp state\n\tconst timestampState = CARD_UI_TIMESTAMP_MAP[state];\n\n\t// In Progress\n\tif (timestampState === CARD_UI_TIMESTAMP_STATES.IN_PROGRESS) {\n\t\tconst {formattedString, isToday} = getFormattedDateTime(\n\t\t\tcreatedOnDate,\n\t\t\tnowDateString,\n\t\t);\n\t\tlet etaString = '';\n\t\tif (typeof eta === 'string' && eta.includes('-')) {\n\t\t\tconst [min, max] = eta.split('-').map(Number);\n\t\t\tif (max < 60) {\n\t\t\t\tetaString =\n\t\t\t\t\t' (' +\n\t\t\t\t\tt(\n\t\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'est. {0}-{1} mins'},\n\t\t\t\t\t\tMath.max(1, min),\n\t\t\t\t\t\tmax,\n\t\t\t\t\t) +\n\t\t\t\t\t')';\n\t\t\t} else if (max < 1440) {\n\t\t\t\tetaString =\n\t\t\t\t\t' (' +\n\t\t\t\t\tt(\n\t\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'est. {0}-{1} hrs'},\n\t\t\t\t\t\tMath.max(1, Math.floor(min / 60)),\n\t\t\t\t\t\tMath.ceil(max / 60),\n\t\t\t\t\t) +\n\t\t\t\t\t')';\n\t\t\t} else {\n\t\t\t\tetaString =\n\t\t\t\t\t' (' +\n\t\t\t\t\tt(\n\t\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'est. {0}-{1} days'},\n\t\t\t\t\t\tMath.max(1, Math.floor(min / 1440)),\n\t\t\t\t\t\tMath.ceil(max / 1440),\n\t\t\t\t\t) +\n\t\t\t\t\t')';\n\t\t\t}\n\t\t}\n\t\treturn isToday\n\t\t\t? t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Started at {0}'},\n\t\t\t\t\tformattedString + etaString,\n\t\t\t\t)\n\t\t\t: t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Started on {0}'},\n\t\t\t\t\tformattedString + etaString,\n\t\t\t\t);\n\t}\n\n\t// Stopped\n\tif (timestampState === CARD_UI_TIMESTAMP_STATES.STOPPED) {\n\t\tconst {formattedString, isToday} = getFormattedDateTime(\n\t\t\tcompletedOnDate,\n\t\t\tnowDateString,\n\t\t);\n\t\treturn isToday\n\t\t\t? t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Stopped at {0}'},\n\t\t\t\t\tformattedString,\n\t\t\t\t)\n\t\t\t: t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Stopped on {0}'},\n\t\t\t\t\tformattedString,\n\t\t\t\t);\n\t}\n\n\t// Cancelled\n\tif (timestampState === CARD_UI_TIMESTAMP_STATES.CANCELLED) {\n\t\tconst {formattedString, isToday} = getFormattedDateTime(\n\t\t\tcompletedOnDate,\n\t\t\tnowDateString,\n\t\t);\n\t\treturn isToday\n\t\t\t? t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Stopped at {0}'},\n\t\t\t\t\tformattedString,\n\t\t\t\t)\n\t\t\t: t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Stopped on {0}'},\n\t\t\t\t\tformattedString,\n\t\t\t\t);\n\t}\n\n\t// Completed\n\tif (timestampState === CARD_UI_TIMESTAMP_STATES.COMPLETED) {\n\t\tconst {formattedString, isToday} = getFormattedDateTime(\n\t\t\tcompletedOnDate,\n\t\t\tnowDateString,\n\t\t);\n\t\treturn isToday\n\t\t\t? t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Completed at {0}'},\n\t\t\t\t\tformattedString,\n\t\t\t\t)\n\t\t\t: t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: 'Completed on {0}'},\n\t\t\t\t\tformattedString,\n\t\t\t\t);\n\t}\n};\n","import {OWNER, REVIEWER} from './constants';\nimport {getTimingString} from '../utils/date-time-utils.js';\n\n/**\n * Creates a cache where each entry expires after a specified time-to-live (TTL)\n * Default TTL is set to 12 hours\n * TTL is reset when the entry is accessed\n * @param {number} ttl - Time-to-live in milliseconds\n * @returns {Object} - Cache object with set and get methods\n */\nexport const createCache = (ttl = 12 * 60 * 60 * 1000) => {\n\tconst store = new Map();\n\n\tconst set = (key, value) => {\n\t\tconst oldItem = store.get(key);\n\t\tif (oldItem) {\n\t\t\tclearTimeout(oldItem.timeoutId);\n\t\t}\n\t\tconst timeoutId = setTimeout(() => store.delete(key), ttl);\n\t\tstore.set(key, {value, timeoutId});\n\t};\n\n\tconst get = (key) => {\n\t\tconst item = store.get(key);\n\t\tif (!item) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst {value} = item;\n\t\t// Refresh the entry by setting it again\n\t\tset(key, value);\n\t\treturn value;\n\t};\n\n\treturn {set, get};\n};\n\nexport const renderStatusMessage = (config) => {\n\tif (\n\t\t!config ||\n\t\t!config.label ||\n\t\t!config.color ||\n\t\t!config.variant ||\n\t\t!config.icon\n\t) {\n\t\treturn;\n\t}\n\treturn (\n\t\t<now-highlighted-value\n\t\t\tclassName=\"status-message\"\n\t\t\tlabel={config.label}\n\t\t\tcolor={config.color}\n\t\t\tvariant={config.variant}\n\t\t\tshow-icon\n\t\t\ticon={config.icon}\n\t\t/>\n\t);\n};\n\nconst renderPersonInfo = (name, avatarUrl, role, isWorker = false) => (\n\t<div className=\"supervised-by-content\">\n\t\t<now-avatar\n\t\t\tsize=\"xs\"\n\t\t\tconfig-aria={{\n\t\t\t\tavatar: {\n\t\t\t\t\t'aria-label': name,\n\t\t\t\t},\n\t\t\t}}\n\t\t\ttooltipContent={name}\n\t\t\timage-src={avatarUrl}\n\t\t\tuser-name={name}\n\t\t\t{...(isWorker && role !== REVIEWER && {shape: 'square', ai: true})}\n\t\t/>\n\t\t<span className=\"supervised-by-name\">\n\t\t\t{name} ({role})\n\t\t</span>\n\t</div>\n);\n\nexport const renderUserInfo = (userInfo, managerInfo, isWorker = false) => {\n\tif (!userInfo) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"supervised-content\">\n\t\t\t{renderPersonInfo(\n\t\t\t\tuserInfo.userName,\n\t\t\t\tuserInfo.userAvatarUrl,\n\t\t\t\tOWNER,\n\t\t\t\tisWorker,\n\t\t\t)}\n\t\t\t{managerInfo?.managerName &&\n\t\t\t\trenderPersonInfo(\n\t\t\t\t\tmanagerInfo.managerName,\n\t\t\t\t\tmanagerInfo.managerAvatarUrl,\n\t\t\t\t\tREVIEWER,\n\t\t\t\t\tisWorker,\n\t\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const renderTimingDiv = (usecaseData) => {\n\tconst timingString = getTimingString(usecaseData);\n\treturn timingString !== '' ? (\n\t\t<div className=\"supervised-time\">\n\t\t\t<span>{timingString}</span>\n\t\t</div>\n\t) : null;\n};\n","export const APIS = {\n\tPOST_API: '/api/sn_now_canvas_ai/agentic_processing/post-message',\n};\n\nexport const ACTION_TYPES = {\n\tAI_AGENT_CANCEL_EXECUTION_SUCCESS: 'AI_AGENT_CANCEL_EXECUTION_SUCCESS',\n\tCANCEL_EXECUTION: 'CANCEL_EXECUTION',\n\tOPEN_CANCEL_MODAL: 'OPEN_CANCEL_MODAL',\n\tCLOSE_CANCEL_MODAL: 'CLOSE_CANCEL_MODAL',\n\tCONFIRM_CANCEL: 'CONFIRM_CANCEL',\n\tNOW_MODAL_OPENED_SET: 'NOW_MODAL#OPENED_SET',\n};\n","//\nexport const AIEL_METRIC_TRACKING_REQUESTED = 'AIEL_METRIC_TRACKING_REQUESTED';\nexport const AIEL_APP_CONTEXT_ID = '1de5e143ff202210c5bcffffffffffc9';\n\n// IPE-specific telemetry action — replaces AIEL_METRIC_TRACKING_REQUESTED for all new IPE events.\n// Name will be finalised during infrastructure implementation.\nexport const IPE_TELEMETRY_REQUESTED = 'IPE_TELEMETRY_REQUESTED';\n\n// Workflow Invocation\nexport const WORKFLOW_TRIGGERED = 'workflow_triggered';\nexport const UI_ACTION_IMPRESSION = 'ui_action_impression';\nexport const UI_ACTION_CLICKED = 'ui_action_clicked';\n\n// Lifecycle & Outcomes\nexport const WORKFLOW_CREATED = 'workflow_created';\nexport const WORKFLOW_SURFACED = 'workflow_surfaced';\nexport const WORKFLOW_VIEWED = 'workflow_viewed';\nexport const WORKFLOW_STARTED = 'workflow_started';\nexport const WORKFLOW_INPUT_REQUIRED = 'workflow_input_required';\nexport const WORKFLOW_RESUMED = 'workflow_resumed';\nexport const WORKFLOW_REVIEW_READY = 'workflow_review_ready';\nexport const WORKFLOW_COMPLETED = 'workflow_completed';\nexport const WORKFLOW_FAILED = 'workflow_failed';\nexport const WORKFLOW_CANCELLED = 'workflow_cancelled';\nexport const WORKFLOW_POSTED_TO_ACTIVITY = 'workflow_posted_to_activity';\nexport const WORKFLOW_STATE_CHANGED = 'workflow_state_changed';\n\n// Supervision\nexport const SUPERVISION_REQUESTED = 'supervision_requested';\nexport const SUPERVISION_SUBMITTED = 'supervision_submitted';\nexport const SUPERVISION_ABANDONED = 'supervision_abandoned';\n\n// Cancellation\nexport const CANCEL_MODAL_IMPRESSION = 'cancel_modal_impression';\nexport const CANCEL_MODAL_CONFIRMED = 'cancel_modal_confirmed';\nexport const CANCEL_MODAL_DISMISSED = 'cancel_modal_dismissed';\nexport const CANCEL_EXECUTION_SUCCESS = 'cancel_execution_success';\n\n// Card / Panel Engagement\nexport const ACTIVITY_PANEL_IMPRESSION = 'activity_panel_impression';\nexport const CARD_EXPANDED = 'card_expanded';\nexport const CARD_COLLAPSED = 'card_collapsed';\nexport const DETAIL_VIEW_OPENED = 'detail_view_opened';\nexport const SHOW_HISTORY_CLICKED = 'show_history_clicked';\nexport const SOURCES_CITATIONS_CLICKED = 'sources_citations_clicked';\nexport const REASONING_CLICKED = 'reasoning_clicked';\nexport const PROCESSING_STEPS_CLICKED = 'processing_steps_clicked';\nexport const COPY_OUTPUT_CLICKED = 'copy_output_clicked';\nexport const FEEDBACK_SUBMITTED = 'feedback_submitted';\nexport const MARK_AS_UNREAD_CLICKED = 'mark_as_unread_clicked';\nexport const WORK_NOTE_POST_CLICKED = 'work_note_post_clicked';\n\n// Presence Icon\nexport const PRESENCE_ICON_IMPRESSION = 'presence_icon_impression';\nexport const PRESENCE_ICON_CLICKED = 'presence_icon_clicked';\n\n// Autonomous Workflow\nexport const AUTONOMOUS_WORKFLOW_SURFACED = 'autonomous_workflow_surfaced';\nexport const AUTONOMOUS_WORK_NOTE_ENGAGED = 'autonomous_work_note_engaged';\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {APIS, ACTION_TYPES} from './constants';\nimport {\n\tIPE_TELEMETRY_REQUESTED,\n\tCANCEL_MODAL_IMPRESSION,\n\tCANCEL_MODAL_CONFIRMED,\n\tCANCEL_MODAL_DISMISSED,\n\tCANCEL_EXECUTION_SUCCESS,\n} from '../../../metrics/constants.js';\n\nconst BEHAVIOR_NAME = 'cancel-workflow';\n\n/**\n * HTTP effect for cancelling an execution plan\n * @type {Function} - HTTP effect function that sends a cancellation request\n */\nconst cancelExecution = createHttpEffect(APIS.POST_API, {\n\tmethod: 'POST',\n\tdataParam: 'payload',\n\theaders: {\n\t\t'Content-Type': 'application/json',\n\t},\n\tsuccessActionType: ACTION_TYPES.AI_AGENT_CANCEL_EXECUTION_SUCCESS,\n});\n\nexport default {\n\tname: BEHAVIOR_NAME,\n\tinitialState: {\n\t\topenedModal: false,\n\t},\n\tactionHandlers: {\n\t\t/**\n\t\t * Action handler for executing the cancel execution HTTP effect\n\t\t * @type {Object}\n\t\t */\n\t\t[ACTION_TYPES.CANCEL_EXECUTION]: {\n\t\t\t...cancelExecution,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[ACTION_TYPES.OPEN_CANCEL_MODAL]: ({updateState, dispatch}) => {\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.openedModal`,\n\t\t\t\tvalue: true,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: true,\n\t\t\t});\n\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\teventName: CANCEL_MODAL_IMPRESSION,\n\t\t\t\tmetadata: {timestamp: Date.now()},\n\t\t\t});\n\t\t},\n\t\t[ACTION_TYPES.CLOSE_CANCEL_MODAL]: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tpath: `behaviors.${BEHAVIOR_NAME}.openedModal`,\n\t\t\t\tvalue: false,\n\t\t\t\toperation: 'set',\n\t\t\t\tshouldRender: true,\n\t\t\t});\n\t\t},\n\t\t[ACTION_TYPES.CONFIRM_CANCEL]: ({action, dispatch}) => {\n\t\t\tconst {\n\t\t\t\tusecaseId,\n\t\t\t\tconversationId,\n\t\t\t\tobjective,\n\t\t\t\tconversationUser,\n\t\t\t\ttargetRecordId,\n\t\t\t\ttargetTable,\n\t\t\t\tplanId,\n\t\t\t} = action.payload;\n\n\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\teventName: CANCEL_MODAL_CONFIRMED,\n\t\t\t\tmetadata: {\n\t\t\t\t\tplanId,\n\t\t\t\t\tworkflowId: usecaseId,\n\t\t\t\t\tworkflowName: objective,\n\t\t\t\t\tconversationId,\n\t\t\t\t\tuserId: conversationUser,\n\t\t\t\t\trecordId: targetRecordId,\n\t\t\t\t\ttable: targetTable,\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tdispatch(ACTION_TYPES.CLOSE_CANCEL_MODAL);\n\n\t\t\tdispatch(ACTION_TYPES.CANCEL_EXECUTION, {\n\t\t\t\tpayload: {\n\t\t\t\t\tusecaseId,\n\t\t\t\t\tconversationId,\n\t\t\t\t\tinboundMessage: 'stop',\n\t\t\t\t\tobjective,\n\t\t\t\t\tconversationUser,\n\t\t\t\t\ttargetRecordId,\n\t\t\t\t\ttargetTable,\n\t\t\t\t\tplanId,\n\t\t\t\t\tadditionalFields: ['conversationId', 'targetRecordId', 'targetTable'],\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t * Handles modal open/close events\n\t\t * @type {Object}\n\t\t */\n\t\t[ACTION_TYPES.AI_AGENT_CANCEL_EXECUTION_SUCCESS]: ({dispatch}) => {\n\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\teventName: CANCEL_EXECUTION_SUCCESS,\n\t\t\t\tmetadata: {timestamp: Date.now()},\n\t\t\t});\n\t\t},\n\t\t[ACTION_TYPES.NOW_MODAL_OPENED_SET]: {\n\t\t\t/**\n\t\t\t * Updates state when modal open state changes\n\t\t\t * @param {Object} params - Parameters object\n\t\t\t * @param {Object} params.action - Action object containing payload with opened state\n\t\t\t * @param {Function} params.updateState - Function to update component state\n\t\t\t */\n\t\t\teffect: ({action, dispatch}) => {\n\t\t\t\tconst {\n\t\t\t\t\tpayload: {value},\n\t\t\t\t\tmeta: {origin},\n\t\t\t\t} = action;\n\t\t\t\tif (origin === 'close-button') {\n\t\t\t\t\tdispatch(ACTION_TYPES.CLOSE_CANCEL_MODAL);\n\t\t\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\t\t\teventName: CANCEL_MODAL_DISMISSED,\n\t\t\t\t\t\tmetadata: {timestamp: Date.now()},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-modal';\nimport {t} from 'sn-translate';\nimport {renderUserInfo, renderStatusMessage, renderTimingDiv} from './helper';\nimport styles from './status-card-popover.scss';\nimport {\n\tCARD_UI_STATES,\n\tCANCEL_MODAL_HEADER,\n\tCANCEL_MODAL_CONTENT,\n\tCANCEL_MODAL_FOOTER_ACTIONS,\n\tNOW_UI_ACTION_TYPES,\n\tBEHAVIOR_ACTION_TYPES,\n\tAI_STATUS_CARD_ACTION_TYPES,\n\tNAVIGATION_ACTION_TYPES,\n\tVIEW_STEPS_MODAL_ACTIONS,\n\tRUN_AGAIN,\n} from '../utils/agent-card-constants';\nimport cancelWorkflow from '../behaviors/cancel-workflow';\n\nexport const closePopover = (dispatch) => {\n\tdispatch(\n\t\tNOW_UI_ACTION_TYPES.NOW_POPOVER_OPENED_SET,\n\t\t{value: false},\n\t\t{appended: {id: 'inline-ai-card-popover'}},\n\t);\n};\n\nexport const handleCancelWorkflow = ({dispatch}) => {\n\tdispatch(BEHAVIOR_ACTION_TYPES.OPEN_CANCEL_MODAL);\n\tclosePopover(dispatch);\n};\n\nexport const handleViewSteps = ({dispatch, planData, viewStepsInModal}) => {\n\tif (viewStepsInModal) {\n\t\tdispatch(VIEW_STEPS_MODAL_ACTIONS.OPEN_VIEW_STEPS_MODAL, {\n\t\t\tplanData,\n\t\t});\n\t} else {\n\t\tdispatch(NAVIGATION_ACTION_TYPES.GLOBAL_NAVIGATION_REQUESTED, {\n\t\t\tfields: {\n\t\t\t\ttable: planData.tableName,\n\t\t\t\tsysId: planData.sysId,\n\t\t\t\tagenticPlan: planData.planId,\n\t\t\t\ttarget: '',\n\t\t\t},\n\t\t});\n\t}\n\tclosePopover(dispatch);\n};\n\nexport const handleAskFollowup = ({dispatch, isClassic, planData}) => {\n\tclosePopover(dispatch);\n\tconst {conversationData} = planData;\n\tconst {transcriptData} = conversationData || {};\n\n\tlet transferMessage = '';\n\n\tif (\n\t\ttranscriptData &&\n\t\tArray.isArray(transcriptData) &&\n\t\ttranscriptData.length > 0\n\t) {\n\t\tconst lastMessage = transcriptData[transcriptData.length - 1];\n\t\ttransferMessage = lastMessage?.content || '';\n\t}\n\n\tconst params = {\n\t\tforceNewConversation: true,\n\t\tswitchContextConversation: true,\n\t\tsessionContext: {\n\t\t\ttransfer_context: JSON.stringify({\n\t\t\t\tintention: 'followup',\n\t\t\t\tcontext: {\n\t\t\t\t\ttransferMessage,\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\t};\n\n\tif (isClassic) {\n\t\twindow.aiex.launch(params);\n\t\treturn;\n\t}\n\n\tdispatch(AI_STATUS_CARD_ACTION_TYPES.AI_ENGAGEMENT_EXPERIENCE, params);\n};\n\nexport const handleButtonClick = ({action, dispatch, state}) => {\n\tconst {payload} = action;\n\tconst {planData, experience, viewStepsInModal} = state.properties;\n\tconst type = payload?.type;\n\n\tif (!type || !planData) {\n\t\treturn;\n\t}\n\n\tconst isClassic = experience === 'Core UI';\n\tconst params = {dispatch, planData, isClassic, viewStepsInModal};\n\n\tswitch (type) {\n\t\tcase 'cancel-workflow':\n\t\t\thandleCancelWorkflow(params);\n\t\t\tbreak;\n\n\t\tcase 'view-steps':\n\t\t\thandleViewSteps(params);\n\t\t\tbreak;\n\n\t\tcase 'ask-followup':\n\t\t\thandleAskFollowup(params);\n\t\t\tbreak;\n\t\tcase 'regenerate':\n\t\t\tdispatch(AI_STATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_REGENERATE);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nconst view = (state) => {\n\tconst {\n\t\tbehaviors: {\n\t\t\t'cancel-workflow': {openedModal},\n\t\t},\n\t\tviewStepsModalOpened,\n\t\tproperties,\n\t} = state;\n\tconst {\n\t\tstateLabelData,\n\t\tuserInfo,\n\t\tisCancelSupported,\n\t\tcardStatus,\n\t\tplanData,\n\t\tmanagerInfo,\n\t\tisWorker,\n\t\thideCancel,\n\t\thideRestart,\n\t} = properties;\n\n\tconst usecaseData = {...planData, state: cardStatus};\n\treturn (\n\t\t<div className=\"status-card-popover-container\">\n\t\t\t<div className=\"status-card-popover-header\">\n\t\t\t\t{renderStatusMessage(stateLabelData)}\n\t\t\t\t{renderUserInfo(userInfo, managerInfo, isWorker)}\n\t\t\t\t{renderTimingDiv(usecaseData)}\n\t\t\t</div>\n\t\t\t<div className=\"status-card-popover-content\">\n\t\t\t\t<now-button\n\t\t\t\t\tclassName=\"menu-item\"\n\t\t\t\t\ticon=\"clock-outline\"\n\t\t\t\t\tlabel={t({\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage: 'View steps and history',\n\t\t\t\t\t})}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tbare\n\t\t\t\t\tappend-to-payload={{type: 'view-steps'}}\n\t\t\t\t/>\n\t\t\t\t<now-button\n\t\t\t\t\tclassName=\"menu-item\"\n\t\t\t\t\ticon=\"chat-outline\"\n\t\t\t\t\tlabel={t({\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage: 'Ask a followup question',\n\t\t\t\t\t})}\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\tbare\n\t\t\t\t\tappend-to-payload={{type: 'ask-followup'}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"status-card-popover-footer\">\n\t\t\t\t{isCancelSupported && !hideCancel && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tclassName=\"cancel-button\"\n\t\t\t\t\t\t\ticon=\"circle-close-outline\"\n\t\t\t\t\t\t\tlabel={t({\n\t\t\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\t\t\tmessage: 'Stop activity',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tvariant=\"secondary-negative\"\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tappend-to-payload={{type: 'cancel-workflow'}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<now-modal\n\t\t\t\t\t\t\tnow-hoist\n\t\t\t\t\t\t\tcomponent-name=\"hoisted\"\n\t\t\t\t\t\t\topened={openedModal}\n\t\t\t\t\t\t\tmanage-opened\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\theader-label={CANCEL_MODAL_HEADER}\n\t\t\t\t\t\t\tcontent={CANCEL_MODAL_CONTENT}\n\t\t\t\t\t\t\tfooter-actions={CANCEL_MODAL_FOOTER_ACTIONS}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!isCancelSupported && !isWorker && !hideRestart && (\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tclassName=\"cancel-button\"\n\t\t\t\t\t\tlabel={RUN_AGAIN}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\tappend-to-payload={{type: 'regenerate'}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{viewStepsModalOpened && planData && (\n\t\t\t\t<now-modal\n\t\t\t\t\tnow-hoist\n\t\t\t\t\tcomponent-name=\"view-steps-modal\"\n\t\t\t\t\topened={viewStepsModalOpened}\n\t\t\t\t\tmanage-opened\n\t\t\t\t\tsize=\"lg\"\n\t\t\t\t>\n\t\t\t\t\t<sn-agentic-processes-template\n\t\t\t\t\t\ttableName={planData.tableName}\n\t\t\t\t\t\tsysId={planData.sysId}\n\t\t\t\t\t\texperience={properties.experience}\n\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\tif (el && planData.planId) {\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\tif (el.openPlan) {\n\t\t\t\t\t\t\t\t\t\tel.openPlan(planData.planId);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}, 200);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</now-modal>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('status-card-popover-content', {\n\trenderer: {type: snabbdom},\n\tproperties: {\n\t\texperience: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tviewStepsInModal: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tstateLabelData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\tcolor: {type: 'string'},\n\t\t\t\t\tvariant: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tuserInfo: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tuserName: {type: 'string'},\n\t\t\t\t\tuserAvatarUrl: {type: 'string'},\n\t\t\t\t\tuserId: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tmanagerInfo: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tmanagerName: {type: 'string'},\n\t\t\t\t\tmanagerAvatarUrl: {type: 'string'},\n\t\t\t\t\tmanagerId: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcardStatus: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tisCancelSupported: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tisWorker: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\thideCancel: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\thideRestart: {\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tdefault: false,\n\t\t},\n\t\tplanData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tconversationId: {schema: {type: 'string'}},\n\t\t\t\t\ttableName: {schema: {type: 'string'}},\n\t\t\t\t\tsysId: {schema: {type: 'string'}},\n\t\t\t\t\tplanId: {schema: {type: 'string'}},\n\t\t\t\t\tusecaseId: {schema: {type: 'string'}},\n\t\t\t\t\tusecaseName: {schema: {type: 'string'}},\n\t\t\t\t\tcreatedOn: {schema: {type: 'string'}},\n\t\t\t\t\tobjective: {schema: {type: 'string'}},\n\t\t\t\t\teta: {schema: {type: 'string'}},\n\t\t\t\t\texecutionTime: {schema: {type: 'string'}},\n\t\t\t\t\tviewStepsModalOpened: {schema: {type: 'boolean'}},\n\t\t\t\t\tconversationData: {schema: {type: 'object'}},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tview,\n\tstyles,\n\tactionHandlers: {\n\t\t[NOW_UI_ACTION_TYPES.NOW_BUTTON_CLICKED]: {\n\t\t\teffect: handleButtonClick,\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[NOW_UI_ACTION_TYPES.AI_AGENT_CANCEL_EXECUTION]: ({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tstate = {},\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tproperties: {userInfo, cardStatus, planData},\n\t\t\t} = state;\n\t\t\tconst {\n\t\t\t\tpayload: {action: {id} = {}},\n\t\t\t} = action;\n\n\t\t\tif (id === 'cancel') {\n\t\t\t\tif (cardStatus !== CARD_UI_STATES.REVIEW_OUTPUT) {\n\t\t\t\t\tdispatch(BEHAVIOR_ACTION_TYPES.CONFIRM_CANCEL, {\n\t\t\t\t\t\tusecaseId: planData.usecaseId,\n\t\t\t\t\t\tconversationId: planData.conversationId,\n\t\t\t\t\t\tobjective: planData.objective,\n\t\t\t\t\t\tconversationUser: userInfo.userId,\n\t\t\t\t\t\ttargetRecordId: planData.sysId,\n\t\t\t\t\t\ttargetTable: planData.tableName,\n\t\t\t\t\t\tplanId: planData.planId,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (id === 'not-cancel') {\n\t\t\t\tdispatch(BEHAVIOR_ACTION_TYPES.CLOSE_CANCEL_MODAL);\n\t\t\t}\n\t\t},\n\t\t[VIEW_STEPS_MODAL_ACTIONS.OPEN_VIEW_STEPS_MODAL]: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tviewStepsModalOpened: true,\n\t\t\t});\n\t\t},\n\t\t[VIEW_STEPS_MODAL_ACTIONS.CLOSE_VIEW_STEPS_MODAL]: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tviewStepsModalOpened: false,\n\t\t\t});\n\t\t},\n\t\t['NOW_MODAL#OPENED_SET']: {\n\t\t\teffect: ({action, dispatch}) => {\n\t\t\t\tconst {\n\t\t\t\t\tmeta: {origin, componentName},\n\t\t\t\t} = action;\n\n\t\t\t\tif (componentName === 'view-steps-modal' && origin === 'close-button') {\n\t\t\t\t\tdispatch(VIEW_STEPS_MODAL_ACTIONS.CLOSE_VIEW_STEPS_MODAL);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n\tbehaviors: [cancelWorkflow],\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__[\"default\"][\"default\"];\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"Marked\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.__esModule\n\t\t\t\t\tif (cjsModule && 'Marked' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"].Marked;\n\t\t\t\t\t} else if ('Marked' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.Marked || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"].Marked;\n\t\t\t\t}, [\"Renderer\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.__esModule\n\t\t\t\t\tif (cjsModule && 'Renderer' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"].Renderer;\n\t\t\t\t\t} else if ('Renderer' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.Renderer || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"].Renderer;\n\t\t\t\t}, [\"marked\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.__esModule\n\t\t\t\t\tif (cjsModule && 'marked' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"].marked;\n\t\t\t\t\t} else if ('marked' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__.marked || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__[\"default\"].marked;\n\t\t\t\t} });","import {t} from 'sn-translate';\nexport const UI_TYPES = {\n\tINPUT_TEXT: 'InputText',\n\tPICKER: 'Picker',\n\tBOOLEAN: 'Boolean',\n\tDATE: 'Date',\n\tTIME: 'Time',\n\tDATETIME: 'DateTime',\n\tEDITABLE_LIST: 'Planner',\n\tFILE_UPLOAD: 'FileUpload',\n};\nexport const APIS = {\n\tPOST_API: '/api/sn_now_canvas_ai/agentic_processing/post-message',\n};\nexport const DATE_FORMATS = {\n\tDATE: 'yyyy-MM-dd',\n\tTIME: 'HH:mm:ss',\n\tDATETIME: 'yyyy-MM-dd HH:mm:ss',\n};\nexport const DATE_TYPES = {\n\tDATE: 'date',\n\tTIME: 'time',\n\tDATETIME: 'date-time',\n};\nexport const NOW_RADIO_BUTTONS_VALUE_SET = 'NOW_RADIO_BUTTONS#VALUE_SET';\nexport const NOW_INPUT_ENTER_PRESSED = 'NOW_INPUT#ENTER_KEYDOWN';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\nexport const NOW_TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\nexport const SEND_INPUT_IDENTIFIER = 'SEND_INPUT';\nexport const SEND_BUTTON_IDENTIFIER = 'SEND_BUTTON';\nexport const POST_MESSAGE_SUCCESS = 'POST_MESSAGE_SUCCESS';\nexport const POST_MESSAGE_FAILURE = 'POST_MESSAGE_FAILURE';\nexport const POST_MESSAGE = 'POST_MESSAGE';\nexport const TOOLTIP_CONTENT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Confirm',\n});\nexport const BUTTON_LABEL = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Confirm',\n});\nexport const REVIEW_NEEDED_LABEL = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Review needed',\n});\nexport const GET_MESSAGES_SUCCESS = 'GET_MESSAGES_SUCCESS';\nexport const GET_MESSAGES_FAILURE = 'GET_MESSAGES_FAILURE';\nexport const MULTI_PICKER_BUTTON_IDENTIFIER = 'MULTI_PICKER_BUTTON';\nexport const SINGLE_PICKER_BUTTON_IDENTIFIER = 'SINGLE_PICKER_BUTTON';\nexport const PILL_SELECTED = 'NOW_PILL#SELECTED_SET';\nexport const GET_MESSAGES = 'GET_MESSAGES';\nexport const DATE_TIME_VALUE_SET = 'NOW_DATE_TIME#VALUE_SET';\nexport const DATE_TIME_CALENDER_SELECTED_ITEMS_SET =\n\t'NOW_DATE_TIME_CALENDAR#SELECTED_ITEMS_SET';\n\nexport const FEEDBACK_CONTENT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Provide feedback for the AI- generated output',\n});\nexport const NOW_DROPDOWN_ITEM_CLICKED = 'NOW_DROPDOWN#ITEM_CLICKED';\nexport const NOW_DROPDOWN_SELECTED_ITEMS_SET =\n\t'NOW_DROPDOWN#SELECTED_ITEMS_SET';\nexport const DEFAULT_ALERT_MESSAGE = {\n\tstatus: 'positive',\n\ticon: 'info-circle-outline',\n\theader: t({code: 'sn-ai-engagement-experience', message: 'Confirmed'}),\n\tcontent: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage:\n\t\t\t'ServiceNow Otto will continue processing. Check back for updates.',\n\t}),\n\tautoDismissConfig: {\n\t\tenableAutoDismiss: true,\n\t\tduration: 5000,\n\t\tshowTimer: true,\n\t\thideProgressBar: true,\n\t},\n\taction: {\n\t\ttype: 'dismiss',\n\t},\n};\nexport const ADD_ALERT_MESSAGE = 'ADD_ALERT_MESSAGE';\nexport const NAP_MESSAGE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'ServiceNow Otto waiting for your response in the chat.',\n});\n// EditableList constants\nexport const EDITABLE_LIST_INPUT_IDENTIFIER = 'EDITABLE_LIST_INPUT';\nexport const EDITABLE_LIST_ADD_BUTTON_IDENTIFIER = 'EDITABLE_LIST_ADD_BUTTON';\nexport const EDITABLE_LIST_CONFIRM_BUTTON_IDENTIFIER =\n\t'EDITABLE_LIST_CONFIRM_BUTTON';\nexport const NOW_INPUT_VALUE_SET = 'NOW_INPUT#VALUE_SET';\nexport const SN_EDITABLE_LIST_ITEM_DELETED = 'SN_EDITABLE_LIST#ITEM_DELETED';\nexport const SN_EDITABLE_LIST_ITEMS_REORDERED =\n\t'SN_EDITABLE_LIST#ITEMS_REORDERED';\nexport const EDITABLE_LIST_CONFIRMED = 'SN_EDITABLE_LIST#CONFIRMED';\nexport const FILE_UPLOAD_SUCCEEDED = 'FILE_UPLOAD#SUCCEEDED';\nexport const MOVETO_NAP_CHAT = 'MOVETO_NAP_CHAT';\nexport const AI_ENGAGEMENT_EXPERIENCE = 'AI_ENGAGEMENT_LAUNCH_EXPERIENCE';\nexport const CONTINUE_IN_CHAT = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Continue in chat',\n});\nexport const CONTINUE_IN_CHAT_TOOLTIP = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Open chat to continue this task',\n});\n","export const buildFeedbackFromConfig = (feedbackConfig, type) => {\n\tif (!feedbackConfig?.[type]) {\n\t\treturn null;\n\t}\n\tconst {header, options} = feedbackConfig[type];\n\treturn {\n\t\theading: header,\n\t\titems: [\n\t\t\t{\n\t\t\t\ttype: 'checklist',\n\t\t\t\tvalue: options.map(({key, value}) => ({\n\t\t\t\t\tid: key,\n\t\t\t\t\tlabel: value,\n\t\t\t\t\tchecked: false,\n\t\t\t\t})),\n\t\t\t},\n\t\t\t{type: 'textarea', value: ''},\n\t\t],\n\t};\n};\n","const LIST_MARKER = /^([-*] +|\\d+\\. )/;\n\n/**\n * Inserts a blank line before the first item of each list sequence so `marked`\n * starts a list after a paragraph, and a blank line after the last item before\n * a following paragraph so that trailing text closes the list instead of being\n * absorbed as a lazy continuation of the last item. Does NOT insert between\n * consecutive items — that would create a loose list whose list items get\n * wrapped in paragraph tags, breaking inside-positioned markers onto their own\n * line.\n *\n * Also normalizes any literal `\\n` (backslash-n characters) that arrived as\n * text into real newlines before processing.\n * @param {string} text - The markdown text to normalize\n * @returns {string} The normalized markdown text\n */\nexport const normalizeMarkdown = (text) => {\n\tif (!text) {\n\t\treturn text;\n\t}\n\tconst lines = text.replaceAll(String.raw`\\n`, '\\n').split('\\n');\n\tconst result = [];\n\tfor (const line of lines) {\n\t\tconst prev = result.at(-1) ?? '';\n\t\tconst isItem = LIST_MARKER.test(line);\n\t\tconst prevIsItem = LIST_MARKER.test(prev);\n\t\t// Entering a list from a paragraph.\n\t\tif (isItem && !prevIsItem && prev !== '') {\n\t\t\tresult.push('');\n\t\t}\n\t\t// Leaving a list into a paragraph: without a blank line `marked` treats\n\t\t// the line as a lazy continuation of the previous item.\n\t\tif (!isItem && prevIsItem && line !== '') {\n\t\t\tresult.push('');\n\t\t}\n\t\tresult.push(line);\n\t}\n\treturn result.join('\\n');\n};\n","import DOMPurify from 'dompurify';\nimport {Marked, Renderer} from 'marked';\nimport {DATE_FORMATS, UI_TYPES} from './constants';\nimport {CARD_TYPE} from '../utils/agent-card-constants';\nimport {buildFeedbackFromConfig} from '../utils/feedback-utils';\nimport {normalizeMarkdown} from '../utils/markdown';\n\nconst renderer = new Renderer();\nrenderer.link = function (...args) {\n\tconst link = Renderer.prototype.link.apply(this, args);\n\treturn link.replace('<a', '<a target=\"_blank\"');\n};\n\nconst markdownRenderer = new Marked({breaks: true, renderer});\n\nconst safeJsonParse = (jsonString) => {\n\ttry {\n\t\treturn JSON.parse(jsonString);\n\t} catch (e) {\n\t\treturn null;\n\t}\n};\n/**\n * Checks if a string contains HTML\n * @param {string} str - The string to check\n * @returns {boolean} True if the string contains HTML, false otherwise\n */\nexport const isHTML = (str) => /<[a-z][\\s\\S]*>/i.test(str);\n\n/**\n * Converts Markdown text to HTML\n * @param {string} text - The Markdown text to convert\n * @returns {string} The converted HTML or empty string if input is falsy\n */\nexport const addMarkdown = (text) => {\n\tif (!text) {\n\t\treturn '';\n\t}\n\treturn markdownRenderer.parse(normalizeMarkdown(text));\n};\n\n/**\n * Sanitizes HTML to prevent XSS attacks\n * @param {string} html - The HTML to sanitize\n * @returns {string} The sanitized HTML or empty string if input is falsy\n */\nexport const sanitizeHTML = (html) => {\n\tif (!html) {\n\t\treturn '';\n\t}\n\treturn DOMPurify.sanitize(html);\n};\n\nexport const getUserLocaleAndFormat = (uiType) => {\n\tconst user = window?.ux_globals?.session?.output?.user ?? {};\n\tconst locale = user?.language ?? 'en';\n\tconst userDateFormat = user?.dateFormat ?? DATE_FORMATS.DATE;\n\tconst userDateTimeFormat = user?.dateTimeFormat ?? DATE_FORMATS.DATETIME;\n\tconst format =\n\t\tuiType === UI_TYPES.DATE\n\t\t\t? userDateFormat\n\t\t\t: uiType === UI_TYPES.TIME\n\t\t\t\t? DATE_FORMATS.TIME\n\t\t\t\t: userDateTimeFormat;\n\treturn {locale, format};\n};\nexport const getCurrentTime24Format = () => {\n\tconst now = new Date();\n\n\tconst hours = String(now.getHours()).padStart(2, '0');\n\tconst minutes = String(now.getMinutes()).padStart(2, '0');\n\tconst seconds = String(now.getSeconds()).padStart(2, '0');\n\n\treturn `${hours}:${minutes}:${seconds}`;\n};\nexport const fetchLabelFromLastMessage = (transcriptData) => {\n\tif (!transcriptData || transcriptData.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst lastMessage = transcriptData[transcriptData.length - 1];\n\tconst originalMsg = safeJsonParse(lastMessage?.originalMessage);\n\tconst {uiMetadata} = originalMsg;\n\tconst {rawSynthesizedResultAsString} = uiMetadata;\n\tconst defaultLabel =\n\t\toriginalMsg?.plainTextMessage ||\n\t\toriginalMsg?.content ||\n\t\tlastMessage?.content;\n\tif (!rawSynthesizedResultAsString) {\n\t\treturn defaultLabel;\n\t}\n\ttry {\n\t\tconst rawSynthesized = safeJsonParse(rawSynthesizedResultAsString);\n\t\tconst {payload} = rawSynthesized;\n\t\tif (!payload) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\tfor (const item of payload) {\n\t\t\tif (!item?.content) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst textContent = item.content.find(\n\t\t\t\t(contentItem) => contentItem?.type === 'text',\n\t\t\t);\n\t\t\tif (textContent?.value) {\n\t\t\t\treturn textContent.value;\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('Failed to parse rawSynthesizedResultAsString:', e);\n\t}\n\treturn defaultLabel;\n};\n\n/**\n * Renders feedback and custom actions for inline supervision cards\n * @param {string} cardType - The type of card (Inline, Overview, Detailed)\n * @param {boolean} hideDisclaimer - Whether to hide the disclaimer/feedback\n * @returns {JSX.Element|null} The feedback and actions JSX or null\n */\nexport const renderSupervisionActions = (\n\tcardType,\n\thideDisclaimer,\n\tfeedbackConfig,\n) => {\n\tconst isInline = cardType === CARD_TYPE.INLINE;\n\n\tif (!isInline) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"agent-supervision-actions\">\n\t\t\t{!hideDisclaimer && (\n\t\t\t\t<div className=\"card-feedback\">\n\t\t\t\t\t<sn-feedback\n\t\t\t\t\t\tpositiveFeedback={buildFeedbackFromConfig(\n\t\t\t\t\t\t\tfeedbackConfig,\n\t\t\t\t\t\t\t'positive',\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tnegativeFeedback={buildFeedbackFromConfig(\n\t\t\t\t\t\t\tfeedbackConfig,\n\t\t\t\t\t\t\t'negative',\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"card-custom-actions\">\n\t\t\t\t<slot name=\"footer-actions\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import {addMarkdown, isHTML, sanitizeHTML} from '../utils';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nconst isSimpleKeyValueFormat = (text) => {\n\tconst lines = text.split('\\n').filter((line) => line.trim());\n\treturn (\n\t\tlines.length > 0 &&\n\t\tlines.every((line) => {\n\t\t\tconst trimmed = line.trim();\n\n\t\t\tif (/^(\\d+\\.|[-*+]|\\*\\*|##|#)/.test(trimmed)) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst match = trimmed.match(/^([^:\\n]+)\\s*:\\s*(.+)$/);\n\t\t\tif (!match) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst [, key, value] = match;\n\t\t\treturn !key.includes('**') && !key.includes('[') && !value.includes('](');\n\t\t})\n\t);\n};\n\nconst formatText = (text) =>\n\ttext\n\t\t.split('\\n')\n\t\t.map((line) => {\n\t\t\tconst trimmed = line.trim();\n\t\t\tif (!trimmed) {\n\t\t\t\treturn '<br>';\n\t\t\t}\n\n\t\t\tconst match = trimmed.match(/^([^:]+)\\s*:\\s*(.+)$/);\n\t\t\tif (match) {\n\t\t\t\tconst [, key, value] = match;\n\t\t\t\treturn `<strong>${key?.trim()}:</strong> ${value?.trim()}`;\n\t\t\t}\n\t\t\treturn trimmed;\n\t\t})\n\t\t.join('<br>');\n\nexport const Label = ({label}) => {\n\tif (!label) {\n\t\treturn;\n\t}\n\n\tlet parsedLabel = label;\n\n\tif (!isHTML(label)) {\n\t\tif (label.includes('\\n') && isSimpleKeyValueFormat(label)) {\n\t\t\tparsedLabel = formatText(label);\n\t\t} else {\n\t\t\tparsedLabel = addMarkdown(label);\n\t\t}\n\t} else {\n\t\tparsedLabel = sanitizeHTML(label);\n\t}\n\n\treturn dangerouslyCreateElementFromString(\n\t\t`<Fragment>${parsedLabel}</Fragment>`,\n\t);\n};\n","import '@servicenow/now-button';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-loader';\n\nimport {Label} from './Label';\n\nimport {\n\tSEND_INPUT_IDENTIFIER,\n\tSEND_BUTTON_IDENTIFIER,\n\tTOOLTIP_CONTENT,\n\tBUTTON_LABEL,\n} from '../constants';\nimport {renderSupervisionActions} from '../utils';\nexport const InputTextRenderer = ({message, activeMessageId, state}) => {\n\tconst {richControl = {}, sysId: messageId} = message || {};\n\tconst {value} = richControl || {};\n\tconst {value: stateValue, submitting} = state || {};\n\tconst {cardType, hideDisclaimer, feedbackConfig} = state?.properties || {};\n\n\treturn (\n\t\t<div className=\"agent-supervision-input\">\n\t\t\t{value || messageId !== activeMessageId ? (\n\t\t\t\t<div className=\"agent-supervision-value\">{value}</div>\n\t\t\t) : (\n\t\t\t\t<div className=\"agent-supervision-input-actions\">\n\t\t\t\t\t<now-textarea\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tname={SEND_INPUT_IDENTIFIER}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisabled={messageId !== activeMessageId || value?.length > 0}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"supervision-actions-container\">\n\t\t\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tdisabled={!stateValue || submitting}\n\t\t\t\t\t\t\t\tappend-to-meta={{[SEND_BUTTON_IDENTIFIER]: true}}\n\t\t\t\t\t\t\t\ttooltip-content={TOOLTIP_CONTENT}\n\t\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-button';\nimport '@servicenow/now-loader';\nimport {renderSupervisionActions} from '../utils';\n\nconst getVariant = (item) => (item.value === 'true' ? 'primary' : 'secondary');\n\nexport const BooleanPickerRenderer = ({\n\titems,\n\tcardType,\n\thideDisclaimer,\n\tfeedbackConfig,\n\tsubmitting,\n}) => (\n\t<div className=\"agent-supervision-boolean-actions supervision-actions-container\">\n\t\t{items &&\n\t\t\titems.length > 0 &&\n\t\t\titems.map((option, index) => (\n\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabel={option.label}\n\t\t\t\t\t\tvariant={getVariant(option)}\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tappend-to-meta={{label: option.label, value: option.value}}\n\t\t\t\t\t\tdisabled={submitting}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t))}\n\t\t{submitting && <now-loader size=\"md\" />}\n\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t</div>\n);\n","import '@servicenow/now-radio-buttons';\nimport '@servicenow/now-checkbox';\nimport '@servicenow/now-button';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-loader';\nimport {BooleanPickerRenderer} from './BooleanPickerRenderer';\nimport {\n\tBUTTON_LABEL,\n\tMULTI_PICKER_BUTTON_IDENTIFIER,\n\tSINGLE_PICKER_BUTTON_IDENTIFIER,\n\tTOOLTIP_CONTENT,\n\tUI_TYPES,\n} from '../constants';\nimport {renderSupervisionActions} from '../utils';\n\nconst renderPickerControl = (\n\titems,\n\tmultiSelect,\n\tuiType,\n\tstateValue,\n\tcardType,\n\thideDisclaimer,\n\tfeedbackConfig,\n\tsubmitting,\n) => {\n\tif (uiType === UI_TYPES.BOOLEAN) {\n\t\treturn (\n\t\t\t<BooleanPickerRenderer\n\t\t\t\titems={items}\n\t\t\t\tcardType={cardType}\n\t\t\t\thideDisclaimer={hideDisclaimer}\n\t\t\t\tfeedbackConfig={feedbackConfig}\n\t\t\t\tsubmitting={submitting}\n\t\t\t/>\n\t\t);\n\t} else if (items?.length < 7) {\n\t\tif (multiSelect) {\n\t\t\treturn (\n\t\t\t\t<div className=\"agent-supervision-input-actions\">\n\t\t\t\t\t{items &&\n\t\t\t\t\t\titems.length > 0 &&\n\t\t\t\t\t\titems.map((option) => (\n\t\t\t\t\t\t\t<now-checkbox\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tlabel={option?.label}\n\t\t\t\t\t\t\t\tvalue={option?.value}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t<div className=\"supervision-actions-container\">\n\t\t\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tappend-to-meta={{[MULTI_PICKER_BUTTON_IDENTIFIER]: true}}\n\t\t\t\t\t\t\t\ttooltip-content={TOOLTIP_CONTENT}\n\t\t\t\t\t\t\t\tdisabled={!stateValue || submitting}\n\t\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"agent-supervision-input-actions\">\n\t\t\t\t<now-radio-buttons size=\"sm\" options={items} append-to-meta={{items}} />\n\t\t\t\t<div className=\"supervision-actions-container\">\n\t\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tappend-to-meta={{[SINGLE_PICKER_BUTTON_IDENTIFIER]: true}}\n\t\t\t\t\t\t\ttooltip-content={TOOLTIP_CONTENT}\n\t\t\t\t\t\t\tdisabled={!stateValue || submitting}\n\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t\t\t</div>\n\t\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"agent-supervision-input-actions\">\n\t\t\t<now-dropdown\n\t\t\t\tsize=\"sm\"\n\t\t\t\titems={items}\n\t\t\t\tvalue={stateValue}\n\t\t\t\tappend-to-meta={{items}}\n\t\t\t\tselect={multiSelect ? 'multi' : 'single'}\n\t\t\t/>\n\t\t\t<div className=\"supervision-actions-container\">\n\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tappend-to-meta={{[SINGLE_PICKER_BUTTON_IDENTIFIER]: !multiSelect}}\n\t\t\t\t\t\ttooltip-content={TOOLTIP_CONTENT}\n\t\t\t\t\t\tdisabled={!stateValue || submitting}\n\t\t\t\t\t></now-button>\n\t\t\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t\t</div>\n\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport const PickerControlRenderer = ({message, activeMessageId, state}) => {\n\tconst {richControl = {}, sysId: messageId} = message || {};\n\tconst {uiMetadata = {}, value, uiType} = richControl || {};\n\tconst {options, multiSelect} = uiMetadata || {};\n\tconst {value: stateValue, submitting} = state || {};\n\tconst {cardType, hideDisclaimer, feedbackConfig} = state?.properties || {};\n\n\tconst items = options.map((option) => ({\n\t\t...option,\n\t\tid: option.value,\n\t}));\n\tconst pickerValue =\n\t\toptions?.find((item) => item?.value === String(value))?.label || value;\n\treturn (\n\t\t<div className=\"agent-supervision-picker\">\n\t\t\t{value || messageId !== activeMessageId ? (\n\t\t\t\t<div className=\"agent-supervision-value\">{pickerValue}</div>\n\t\t\t) : (\n\t\t\t\trenderPickerControl(\n\t\t\t\t\titems,\n\t\t\t\t\tmultiSelect,\n\t\t\t\t\tuiType,\n\t\t\t\t\tstateValue,\n\t\t\t\t\tcardType,\n\t\t\t\t\thideDisclaimer,\n\t\t\t\t\tfeedbackConfig,\n\t\t\t\t\tsubmitting,\n\t\t\t\t)\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","/**\n * Extracts list items from a single <ul> or <ol> block\n * @param {string} ulBlock - The HTML string containing a <ul> or <ol> tag\n * @returns {Array<string>} Array of strings extracted from <li> tags\n */\nfunction extractListItems(ulBlock) {\n\tconst items = [];\n\n\t// Create a DOMParser instance\n\tconst parser = new DOMParser();\n\t// Wrap the block in a container to ensure valid HTML\n\tconst doc = parser.parseFromString(`<div>${ulBlock}</div>`, 'text/html');\n\n\t// Get all <li> elements\n\tconst liElements = doc.querySelectorAll('li');\n\n\tliElements.forEach((li) => {\n\t\t// Get the text content and trim whitespace\n\t\tconst itemText = li.textContent.trim();\n\t\tif (itemText && itemText !== '\\n') {\n\t\t\titems.push(itemText);\n\t\t}\n\t});\n\n\treturn items;\n}\n\n/**\n * Finds the header text that precedes a <ul> or <ol> tag\n * @param {string} message - The HTML message string\n * @param {number} ulStartIndex - The start index of the <ul> or <ol> tag\n * @param {number} previousUlEndIndex - The end index of the previous <ul> or <ol> tag (or 0 for first)\n * @returns {string} The header text\n */\nfunction extractHeader(message, ulStartIndex, previousUlEndIndex) {\n\t// Extract text between previous ul and current ul\n\tconst headerSection = message.substring(previousUlEndIndex, ulStartIndex);\n\n\t// Look for text in <b> tags or other common header tags\n\tconst headerTagRegex = /<(b|strong|h[1-6])[^>]*>(.*?)<\\/\\1>/gi;\n\tconst headerMatch = headerTagRegex.exec(headerSection);\n\n\tif (headerMatch) {\n\t\treturn headerMatch[2].trim();\n\t}\n\n\t// If no header tag found, extract plain text and clean it\n\tconst plainText = headerSection\n\t\t.replace(/<[^>]+>/g, '')\n\t\t.replace(/\\n/g, ' ')\n\t\t.trim();\n\treturn plainText || '';\n}\n\n/**\n * Parses an HTML message and extracts all <ul> or <ol> blocks with their headers and list items\n * @param {string} message - The HTML message string\n * @returns {Array<Object>} Array of objects, each containing {header: string, items: Array<string>}\n */\nexport function parseMessageLists(message) {\n\tconst result = [];\n\t// Updated regex to match both <ul> and <ol> tags\n\tconst listRegex = /<(ul|ol)[^>]*>(.*?)<\\/\\1>/gs;\n\tlet match;\n\tlet previousListEndIndex = 0;\n\n\twhile ((match = listRegex.exec(message)) !== null) {\n\t\tconst listStartIndex = match.index;\n\t\tconst listBlock = match[2]; // match[2] contains the content between tags\n\n\t\t// Extract header for this list block\n\t\tconst header = extractHeader(message, listStartIndex, previousListEndIndex);\n\n\t\t// Extract list items from this list block\n\t\tconst items = extractListItems(listBlock);\n\n\t\t// Add to result if there are items\n\t\tif (items.length > 0) {\n\t\t\tresult.push({\n\t\t\t\theader: header,\n\t\t\t\titems: items,\n\t\t\t});\n\t\t}\n\n\t\t// Update previous list end index\n\t\tpreviousListEndIndex = match.index + match[0].length;\n\t}\n\n\treturn result;\n}\n\n/**\n * Converts parsed list objects back into HTML format\n * @param {Array<Object>} parsedLists - Array of objects with {header: string, items: Array<string>}\n * @returns {string} HTML string with headers and <ul><li> tags\n */\nexport function convertToHtmlList(parsedLists) {\n\tif (!parsedLists || parsedLists.length === 0) {\n\t\treturn '';\n\t}\n\n\tlet html = '';\n\n\tparsedLists.forEach((listObj, index) => {\n\t\t// Add header if it exists\n\t\tif (listObj.header) {\n\t\t\thtml += '<b>' + listObj.header + '</b>\\n';\n\t\t}\n\n\t\t// Add the list items\n\t\tif (listObj.items && listObj.items.length > 0) {\n\t\t\thtml += '<ul>\\n';\n\t\t\tlistObj.items.forEach((item) => {\n\t\t\t\thtml += '  <li>' + item + '</li>\\n';\n\t\t\t});\n\t\t\thtml += '</ul>';\n\n\t\t\t// Add newline between lists (except for the last one)\n\t\t\tif (index < parsedLists.length - 1) {\n\t\t\t\thtml += '\\n';\n\t\t\t}\n\t\t}\n\t});\n\n\treturn html;\n}\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-loader';\nimport {t} from 'sn-translate';\nimport {parseMessageLists} from './utils';\nimport {renderSupervisionActions} from '../../utils';\n\nconst ReorderableItemsList = ({\n\titems = [],\n\tonReorder,\n\tonRemove,\n\titemGroupIndex = 0,\n}) => {\n\tif (!items || items.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst handleDragStart = (e, index) => {\n\t\te.dataTransfer.setData('text/plain', index.toString());\n\t\te.target.style.opacity = '0.5';\n\t};\n\n\tconst handleDragEnd = (e) => {\n\t\te.target.style.opacity = '';\n\t};\n\n\tconst handleDragOver = (e) => {\n\t\te.preventDefault();\n\t};\n\n\tconst handleDragEnter = (e) => {\n\t\te.preventDefault();\n\t\te.target.closest('.selected-item')?.classList.add('drag-over');\n\t};\n\n\tconst handleDragLeave = (e) => {\n\t\te.preventDefault();\n\t\te.target.closest('.selected-item')?.classList.remove('drag-over');\n\t};\n\n\tconst handleDrop = (e, dropIndex) => {\n\t\te.preventDefault();\n\t\te.target.closest('.selected-item')?.classList.remove('drag-over');\n\n\t\tconst dragIndex = parseInt(e.dataTransfer.getData('text/plain'));\n\n\t\tif (dragIndex !== dropIndex && !isNaN(dragIndex)) {\n\t\t\tonReorder(dragIndex, dropIndex, itemGroupIndex);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"selected-items-list\">\n\t\t\t{items.map((item, index) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclassName=\"selected-item\"\n\t\t\t\t\tdraggable=\"true\"\n\t\t\t\t\ton-dragstart={(e) => handleDragStart(e, index)}\n\t\t\t\t\ton-dragend={(e) => handleDragEnd(e)}\n\t\t\t\t\ton-dragover={(e) => handleDragOver(e)}\n\t\t\t\t\ton-dragenter={(e) => handleDragEnter(e)}\n\t\t\t\t\ton-dragleave={(e) => handleDragLeave(e)}\n\t\t\t\t\ton-drop={(e) => handleDrop(e, index)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"selected-item-drag-handle\">\n\t\t\t\t\t\t<now-icon icon=\"drag-dots-outline\" size=\"md\"></now-icon>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"selected-item-content\">\n\t\t\t\t\t\t<span className=\"selected-item-label\">{item}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"selected-item-actions\">\n\t\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\ticon=\"close-outline\"\n\t\t\t\t\t\t\ttooltip-content={t({\n\t\t\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\t\t\tmessage: 'Remove item',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\ton-click={() => onRemove(index, itemGroupIndex)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport const view = (state, {updateState}) => {\n\tconst {\n\t\tproperties: {\n\t\t\tmessage,\n\t\t\tactiveMessageId,\n\t\t\tcardType,\n\t\t\thideDisclaimer,\n\t\t\tfeedbackConfig,\n\t\t},\n\t} = state;\n\n\tconst {richControl = {}, sysId: messageId} = message || {};\n\tconst {uiMetadata = {}, value} = richControl || {};\n\tconst label = uiMetadata?.label;\n\tconst listItems = uiMetadata?.listItems || [];\n\n\tlet displayItems = state.displayItems || listItems;\n\tif (displayItems.length === 0) {\n\t\tconst parsedLists = parseMessageLists(label);\n\t\tif (parsedLists.length > 0) {\n\t\t\tdisplayItems = parsedLists;\n\t\t\tupdateState({displayItems});\n\t\t}\n\t}\n\n\tconst handleReorder = (fromIndex, toIndex, itemGroupIndex) => {\n\t\tconst newItems = [...displayItems];\n\t\tconst targetGroup = newItems[itemGroupIndex];\n\t\tconst reorderedItems = [...targetGroup.items];\n\n\t\t// Move item from fromIndex to toIndex\n\t\tconst [movedItem] = reorderedItems.splice(fromIndex, 1);\n\t\treorderedItems.splice(toIndex, 0, movedItem);\n\n\t\tnewItems[itemGroupIndex] = {\n\t\t\t...targetGroup,\n\t\t\titems: reorderedItems,\n\t\t};\n\n\t\tupdateState({displayItems: newItems});\n\t};\n\n\tconst handleRemove = (removeIndex, itemGroupIndex) => {\n\t\tconst newItems = [...displayItems];\n\t\tconst targetGroup = newItems[itemGroupIndex];\n\t\tconst filteredItems = targetGroup.items.filter(\n\t\t\t(_, index) => index !== removeIndex,\n\t\t);\n\n\t\tnewItems[itemGroupIndex] = {\n\t\t\t...targetGroup,\n\t\t\titems: filteredItems,\n\t\t};\n\n\t\tupdateState({displayItems: newItems});\n\t};\n\n\tconst isCompleted = value || messageId !== activeMessageId;\n\tconst completedItems = isCompleted\n\t\t? value\n\t\t\t? JSON.parse(value)\n\t\t\t: listItems\n\t\t: [];\n\n\tif (\n\t\t(!displayItems || displayItems.length === 0) &&\n\t\t(!completedItems || completedItems.length === 0)\n\t) {\n\t\treturn null;\n\t}\n\n\t// If the message has a value or is not active, show the completed list\n\tif (value || messageId !== activeMessageId) {\n\t\treturn (\n\t\t\t<div className=\"agent-supervision-editable-list\">\n\t\t\t\t<div className=\"agent-supervision-label\">{label}</div>\n\t\t\t\t<div className=\"agent-supervision-value\">\n\t\t\t\t\t{completedItems && completedItems.length > 0 ? (\n\t\t\t\t\t\t<ul className=\"editable-list-completed\">\n\t\t\t\t\t\t\t{completedItems.map((item, index) => (\n\t\t\t\t\t\t\t\t<li key={item.id || index}>{item.label}</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{t({code: 'sn-ai-engagement-experience', message: 'No items'})}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Active state - show editable list\n\treturn (\n\t\t<div className=\"agent-supervision-editable-list\">\n\t\t\t{displayItems.map((item, index) => (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<div key={index} className=\"agent-supervision-label\">\n\t\t\t\t\t\t{item.header}\n\t\t\t\t\t</div>\n\t\t\t\t\t{item.header.toLowerCase().includes('complete') ? (\n\t\t\t\t\t\t<div className=\"agent-supervision-value\">\n\t\t\t\t\t\t\t{item.items && item.items.length > 0 ? (\n\t\t\t\t\t\t\t\t<ul className=\"editable-list-completed\">\n\t\t\t\t\t\t\t\t\t{item.items.map((step, idx) => (\n\t\t\t\t\t\t\t\t\t\t<li key={step.id || idx}>{step}</li>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span>No items</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ReorderableItemsList\n\t\t\t\t\t\t\titems={item.items}\n\t\t\t\t\t\t\tonReorder={handleReorder}\n\t\t\t\t\t\t\tonRemove={handleRemove}\n\t\t\t\t\t\t\titemGroupIndex={index}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Fragment>\n\t\t\t))}\n\t\t\t<div className=\"agent-supervision-input-actions\">\n\t\t\t\t<div className=\"editable-list-container supervision-actions-container\">\n\t\t\t\t\t{/* Confirm button */}\n\t\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tlabel={t({\n\t\t\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\t\t\tmessage: 'Confirm',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={displayItems.length === 0 || state.submitting}\n\t\t\t\t\t\t\tstyle={{marginTop: '8px'}}\n\t\t\t\t\t\t\tappend-to-meta={{confirmList: true}}\n\t\t\t\t\t\t\ttooltip-content={t({\n\t\t\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\t\t\tmessage: 'Confirm your selection',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{state.submitting && <now-loader size=\"md\" />}\n\t\t\t\t\t</div>\n\t\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nconst {COMPONENT_PROPERTY_CHANGED} = actionTypes;\n\nimport {parseMessageLists, convertToHtmlList} from './utils';\nimport {EDITABLE_LIST_CONFIRMED} from '../../constants';\n\nexport default {\n\t[COMPONENT_PROPERTY_CHANGED]({action, updateState}) {\n\t\tconst {name, value, previousValue} = action.payload;\n\t\tif (name !== 'message' || value === previousValue) {\n\t\t\treturn;\n\t\t}\n\n\t\t// A new message resets the in-flight state so the confirm button is\n\t\t// usable again for the next message.\n\t\tupdateState({submitting: false});\n\n\t\tconst parsedLists = parseMessageLists(value);\n\t\tif (parsedLists.length > 0) {\n\t\t\tupdateState({\n\t\t\t\tdisplayItems: parsedLists[parsedLists.length - 1].items,\n\t\t\t});\n\t\t}\n\t},\n\n\t/**\n\t * Handles button clicks (Remove, Confirm)\n\t */\n\t['NOW_BUTTON#CLICKED']: ({action, state, dispatch, updateState}) => {\n\t\taction.stopPropagation();\n\t\tconst {meta: {appended = {}} = {}} = action;\n\n\t\tlet displayItems = state.displayItems;\n\n\t\tif (!displayItems) {\n\t\t\tconst {properties: {message} = {}} = state;\n\t\t\tconst {richControl = {}} = message || {};\n\t\t\tconst {uiMetadata = {}} = richControl || {};\n\t\t\tconst label = uiMetadata?.label;\n\t\t\tconst listItems = uiMetadata?.listItems || [];\n\n\t\t\tif (listItems.length > 0) {\n\t\t\t\tdisplayItems = listItems;\n\t\t\t} else {\n\t\t\t\tconst parsedLists = parseMessageLists(label);\n\t\t\t\tdisplayItems = parsedLists;\n\t\t\t}\n\t\t}\n\n\t\tif (appended.confirmList) {\n\t\t\tconst itemsString = convertToHtmlList(displayItems);\n\n\t\t\tupdateState({submitting: true});\n\t\t\tdispatch(EDITABLE_LIST_CONFIRMED, {\n\t\t\t\titems: displayItems,\n\t\t\t\tvalue: t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage: 'Use following edited steps : {0}',\n\t\t\t\t\t},\n\t\t\t\t\t[itemsString],\n\t\t\t\t),\n\t\t\t});\n\t\t}\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {view} from './view';\nimport actionHandlers from './actionHandlers.js';\nimport styles from './_styles.scss';\n\nexport const EditableListControl = createCustomElement('sn-agentic-supervision-editable-list', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tmessage: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tactiveMessageId: {\n\t\t\tdefault: '',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n\tsetInitialState: () => ({\n\t\tupdatedItems: [],\n\t}), \n\tactionHandlers,\n\tactions: {\n\t\tEDITABLE_LIST_CONFIRMED: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\titems: {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {t} from 'sn-translate';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\n\n// FILE_UPLOAD action constants\nconst FILE_UPLOAD = {\n\tACTIONS: {\n\t\tREQUESTED: 'FILE_UPLOAD#REQUESTED',\n\t\tSTART: 'FILE_UPLOAD#START',\n\t\tSTARTED: 'FILE_UPLOAD#STARTED',\n\t\tSUCCESS: 'FILE_UPLOAD#SUCCESS',\n\t\tSUCCEEDED: 'FILE_UPLOAD#SUCCEEDED',\n\t\tFAIL: 'FILE_UPLOAD#FAIL',\n\t\tFAILED: 'FILE_UPLOAD#FAILED',\n\t},\n};\n\n// ADD_NOTIFICATIONS constant\nconst ADD_NOTIFICATIONS = 'ADD_NOTIFICATIONS';\n\n// Helper function to get file from FormData\nconst getFileFromFormData = (action) => {\n\tconst formData = action?.payload?.data;\n\tif (formData instanceof FormData) {\n\t\treturn formData.get('file');\n\t}\n\treturn null;\n};\n\n// Helper function to encode HTML\nconst htmlEncode = (str) => {\n\tif (!str) {\n\t\treturn '';\n\t}\n\treturn String(str)\n\t\t.replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;')\n\t\t.replace(/'/g, '&#039;');\n};\n\n// Interceptor for checking errors on upload\nconst createCheckErrorOnUploadInterceptor = (coeffects) =>\n\t// Implement error checking logic here\n\tcoeffects;\nconst createUploadAttachmentEffect = createHttpEffect(\n\t'/angular.do?sysparm_type=ngk_attachments&sysparm_verbose_session_message=false',\n\t{\n\t\tmethod: 'POST',\n\t\theaders: {'X-WantSessionNotificationMessages': true},\n\t\tqueryParams: ['action', 'table', 'sys_id', 'load_attachment_record'],\n\t\tdataParam: 'data',\n\t\tbatch: false,\n\t\tstartActionType: FILE_UPLOAD.ACTIONS.STARTED,\n\t\tsuccessActionType: FILE_UPLOAD.ACTIONS.SUCCESS,\n\t\terrorActionType: FILE_UPLOAD.ACTIONS.FAIL,\n\t},\n);\n\n/**\n * Uploads a new attachment (REST httpEffect)\n * @param table\n * @param sysId\n * @param file\n * @param cryptoModuleId\n * @param dispatch\n */\nconst uploadAttachmentToServer = (\n\ttable,\n\tsysId,\n\tfile,\n\tcryptoModuleId,\n\tdispatch,\n) => {\n\tconst data = new FormData();\n\tdata.append('sysparm_table', table);\n\tdata.append('sysparm_sys_id', sysId);\n\tdata.append('sysparm_nostack', 'yes');\n\tdata.append('attachments_modified', 'true');\n\t// if cryptoModuleId is a valid Id then add the below attributes to form\n\tif (cryptoModuleId) {\n\t\tdata.append('sysparm_encryption_context', cryptoModuleId); // If there are no encryption modules available or none is selected, cryptoModuleId is 'none'\n\t\tdata.append('default_encryption_module', cryptoModuleId);\n\t}\n\tdata.append('file', file);\n\n\tconst params = {\n\t\taction: 'add',\n\t\ttable: table,\n\t\tsys_id: sysId,\n\t\tload_attachment_record: 'true',\n\t};\n\n\tdispatch(FILE_UPLOAD.ACTIONS.START, {\n\t\tdata,\n\t\t...params,\n\t});\n};\n\n/**\n * Uploads a new attachment (REST datasource)\n * @param e\n */\nconst uploadAttachments = (e, updateState, state, dispatch) => {\n\tconst {\n\t\tdata: {cryptoModuleSelected},\n\t\tproperties: {tableName, sysId},\n\t} = state;\n\tconst files = [...(e.target.files || e.dataTransfer.files)];\n\tuploadAttachmentToServer(\n\t\ttableName,\n\t\tsysId,\n\t\tfiles[0],\n\t\tcryptoModuleSelected,\n\t\tdispatch,\n\t);\n\te.target.value = null;\n};\n\n//ATTACHMENT_UPLOAD_SAVE#START\n\nexport default {\n\t[FILE_UPLOAD.ACTIONS.REQUESTED]: ({action, updateState, dispatch}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\tdata: {tableName, sysId, files},\n\t\t\t},\n\t\t} = action;\n\t\tconst file = files[0];\n\t\tconst item = {\n\t\t\tcanDelete: false,\n\t\t\tcanEditName: false,\n\t\t\tname: file.name,\n\t\t\tsize: file.size,\n\t\t\tstate: 'starting',\n\t\t\ttype: file.type,\n\t\t\tfile,\n\t\t};\n\t\tupdateState({loadingItem: item});\n\t\tuploadAttachmentToServer(tableName, sysId, file, null, dispatch);\n\t},\n\n\t[FILE_UPLOAD.ACTIONS.START]: {\n\t\t...createUploadAttachmentEffect,\n\t\tstopPropagation: true,\n\t},\n\t[FILE_UPLOAD.ACTIONS.FAIL]: ({state, action, dispatch, updateState}) => {\n\t\taction.stopPropagation();\n\t\tconst {data} = action.payload;\n\t\tconst message = data && data.message;\n\t\tdispatch(ADD_NOTIFICATIONS, {\n\t\t\tnotifications: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\tmessage: `<span>${t(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\t\tmessage: `Error uploading '{0}'{1}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\thtmlEncode(state.loadingItem?.name),\n\t\t\t\t\t\tmessage ? ': ' + message : '',\n\t\t\t\t\t)}</span>`,\n\t\t\t\t\tcontentType: 'html',\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\t\tdispatch(FILE_UPLOAD.ACTIONS.FAILED, {\n\t\t\t...action.payload,\n\t\t\tfile: state.loadingItem,\n\t\t});\n\t\tupdateState({loadingItem: undefined});\n\t},\n\t['NOW_BUTTON#CLICKED']: ({action, updateState}) => {\n\t\taction.stopPropagation();\n\t},\n\t['NOW_RECORD_COMMON_ATTACHMENT_CONNECTED#UPLOAD_SUCCEEDED']: ({\n\t\tstate,\n\t\tdispatch,\n\t\taction,\n\t\tupdateState,\n\t}) => {\n\t\taction.stopPropagation();\n\t\t//const file = getFileFromFormData(action);\n\t\tdispatch(FILE_UPLOAD.ACTIONS.SUCCEEDED, {\n\t\t\t...action.payload,\n\t\t\tfile: state.loadingItem,\n\t\t});\n\t\tupdateState({loadingItem: undefined});\n\t},\n\t[FILE_UPLOAD.ACTIONS.SUCCESS]: {\n\t\tstopPropagation: true,\n\t\teffect: ({state, dispatch, action, updateState}) => {\n\t\t\t//const file = getFileFromFormData(action);\n\t\t\tdispatch(FILE_UPLOAD.ACTIONS.SUCCEEDED, {\n\t\t\t\t...action.payload,\n\t\t\t\tfile: state.loadingItem,\n\t\t\t});\n\t\t\tupdateState({loadingItem: undefined});\n\t\t},\n\t\tinterceptors: [\n\t\t\t{\n\t\t\t\tafter: createCheckErrorOnUploadInterceptor,\n\t\t\t},\n\t\t],\n\t},\n\t[FILE_UPLOAD.ACTIONS.STARTED]: ({state, updateState, action}) => {\n\t\taction.stopPropagation();\n\t\tupdateState({loadingItem: {...state.loadingItem, state: 'uploading'}});\n\t},\n};\n\n// Export constants for use in other modules\nexport {FILE_UPLOAD};\n","import { createCustomElement } from '@servicenow/ui-core';\nimport { view } from './view';\nimport actionHandlers from './actionHandlers.js';\nimport styles from '../../_styles.scss';\n\n\n\nexport const FileUploadControl = createCustomElement('sn-agentic-supervision-file-upload', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tsysId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\ttableName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmessage: {\n\t\t\tdefault: {},\n\t\t\tschema: { type: 'object' },\n\t\t},\n\t\tactiveMessageId: {\n\t\t\tdefault: '',\n\t\t\tschema: { type: 'string' },\n\t\t},\n\t},\n\tsetInitialState: () => ({\n\t\tfile: null,\n\t}),\n\tactionHandlers,\n\tactions: {\n\t\t\"FILE_UPLOAD#SUCCEEDED\": {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tfile: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-record-common';\nimport {t} from 'sn-translate';\n//import '@servicenow/now-record-common-attachments-connected';\nimport {FILE_UPLOAD} from './actionHandlers';\n\nexport const view = (state, {dispatch, updateState}) => {\n\tconst {\n\t\tproperties: {message, tableName, sysId},\n\t\tloadingItem,\n\t} = state;\n\tconst {richControl = {}, sysId: messageId} = message || {};\n\tconst {uiMetadata = {}, value} = richControl || {};\n\tconst {label, sanitizedFileTypes, maxFiles} = uiMetadata || {};\n\n\treturn tableName && sysId ? (\n\t\t<now-record-common-attachments-connected\n\t\t\ttable={tableName}\n\t\t\tsys-id={sysId}\n\t\t\tis-read-only={false}\n\t\t\tclassic-form={false}\n\t\t\tmode=\"compact\"\n\t\t\trefresh-requested={true}\n\t\t/>\n\t) : (\n\t\t<div>\n\t\t\t<label for={`fileInput_${sysId}`}>\n\t\t\t\t{t({code: 'sn-ai-engagement-experience', message: 'Upload'})}\n\t\t\t</label>\n\t\t\t<input\n\t\t\t\tdisabled={loadingItem && loadingItem?.state === 'uploading'}\n\t\t\t\tid={`fileInput_${sysId}`}\n\t\t\t\ttype=\"file\"\n\t\t\t\tmultiple={maxFiles > 1}\n\t\t\t\taccept={sanitizedFileTypes}\n\t\t\t\ton-change={(e) =>\n\t\t\t\t\tdispatch(FILE_UPLOAD.ACTIONS.REQUESTED, {\n\t\t\t\t\t\tdata: {files: e.target.files || e.dataTransfer.files},\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-date-time';\nimport '@servicenow/now-loader';\nimport {\n\tUI_TYPES,\n\tSEND_BUTTON_IDENTIFIER,\n\tBUTTON_LABEL,\n\tTOOLTIP_CONTENT,\n\tDATE_FORMATS,\n\tTIME_PLACEHOLDER,\n\tDATE_TYPES,\n} from '../constants';\nimport {Label} from './Label';\nimport {\n\tgetUserLocaleAndFormat,\n\tgetCurrentTime24Format,\n\trenderSupervisionActions,\n} from '../utils';\n\n//TODO: Get the Timezone, locale and format from the server.\nconst RenderDateOrTime = ({\n\tuiType,\n\tvalue,\n\tcardType,\n\thideDisclaimer,\n\tfeedbackConfig,\n\tsubmitting,\n}) => {\n\tconst {format, locale} = getUserLocaleAndFormat(uiType);\n\tconst type =\n\t\tuiType === UI_TYPES.DATE\n\t\t\t? DATE_TYPES.DATE\n\t\t\t: uiType === UI_TYPES.TIME\n\t\t\t\t? DATE_TYPES.TIME\n\t\t\t\t: DATE_TYPES.DATETIME;\n\n\tswitch (uiType) {\n\t\tcase UI_TYPES.DATE:\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<now-date-time-calendar\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t></now-date-time-calendar>\n\t\t\t\t\t<div className=\"supervision-actions-container\">\n\t\t\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tdisabled={!value || submitting}\n\t\t\t\t\t\t\t\tappend-to-meta={{[SEND_BUTTON_IDENTIFIER]: true}}\n\t\t\t\t\t\t\t\ttooltip-content={TOOLTIP_CONTENT}\n\t\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\tcase UI_TYPES.TIME:\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<now-date-time\n\t\t\t\t\t\tplaceholder={getCurrentTime24Format()}\n\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t></now-date-time>\n\t\t\t\t\t<div className=\"supervision-actions-container\">\n\t\t\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tdisabled={!value || submitting}\n\t\t\t\t\t\t\t\tappend-to-meta={{[SEND_BUTTON_IDENTIFIER]: true}}\n\t\t\t\t\t\t\t\ttooltip-content={TOOLTIP_CONTENT}\n\t\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t{/* see DEF0736124 for wrong helper message  */}\n\t\t\t\t\t<now-date-time\n\t\t\t\t\t\tlocale={locale}\n\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\tformat={format}\n\t\t\t\t\t\tappend-to-meta={{dateTime: true}}\n\t\t\t\t\t></now-date-time>\n\t\t\t\t\t<div className=\"supervision-actions-container\">\n\t\t\t\t\t\t<div className=\"supervision-button-container\">\n\t\t\t\t\t\t\t<now-button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tlabel={BUTTON_LABEL}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tdisabled={!value || submitting}\n\t\t\t\t\t\t\t\tappend-to-meta={{[SEND_BUTTON_IDENTIFIER]: true}}\n\t\t\t\t\t\t\t\ttooltip-content={TOOLTIP_CONTENT}\n\t\t\t\t\t\t\t></now-button>\n\t\t\t\t\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{renderSupervisionActions(cardType, hideDisclaimer, feedbackConfig)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t}\n};\n\nexport const DateTimeRenderer = ({message, activeMessageId, state}) => {\n\tconst {richControl = {}, sysId: messageId} = message || {};\n\tconst {value, uiType} = richControl || {};\n\n\tconst {value: stateValue, submitting} = state || {};\n\tconst {cardType, hideDisclaimer, feedbackConfig} = state?.properties || {};\n\n\treturn (\n\t\t<div className=\"agent-supervision-picker\">\n\t\t\t{value || messageId !== activeMessageId ? (\n\t\t\t\t<div className=\"agent-supervision-value\">{value}</div>\n\t\t\t) : (\n\t\t\t\t<RenderDateOrTime\n\t\t\t\t\tuiType={uiType}\n\t\t\t\t\tvalue={stateValue}\n\t\t\t\t\tcardType={cardType}\n\t\t\t\t\thideDisclaimer={hideDisclaimer}\n\t\t\t\t\tfeedbackConfig={feedbackConfig}\n\t\t\t\t\tsubmitting={submitting}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"];\n\t\t\t\t}, [\"markTypes\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.__esModule\n\t\t\t\t\tif (cjsModule && 'markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t\t} else if ('markTypes' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__.markTypes || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__[\"default\"].markTypes;\n\t\t\t\t} });","import track, {markTypes} from '@devsnc/ux-metrics';\nimport {\n\tAIEL_METRIC_TRACKING_REQUESTED,\n\tIPE_TELEMETRY_REQUESTED,\n} from './constants';\n\nexport const emitTracking = (coeffects, eventName, eventMetadata, config) => {\n\ttrack(coeffects, eventName, eventMetadata, config);\n};\n\nexport const telemetryConfig = {\n\tlevel: 4,\n\ttype: markTypes.usage,\n};\n\nexport default {\n\t[AIEL_METRIC_TRACKING_REQUESTED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: {eventName, metadata, config = telemetryConfig},\n\t\t\t},\n\t\t\taction,\n\t\t} = coeffects;\n\n\t\temitTracking(coeffects, eventName, metadata, config);\n\t\taction.stopPropagation();\n\t},\n};\n\n// Separate handler for all new IPE-specific telemetry events.\n// Transport will be replaced with the final implementation during infrastructure work.\nexport const ipeMetrics = {\n\t[IPE_TELEMETRY_REQUESTED]: (coeffects) => {\n\t\tconst {\n\t\t\taction: {\n\t\t\t\tpayload: {eventName, metadata, config = telemetryConfig},\n\t\t\t},\n\t\t\taction,\n\t\t} = coeffects;\n\n\t\temitTracking(coeffects, eventName, metadata, config);\n\t\taction.stopPropagation();\n\t},\n};\n","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {actionTypes} from '@servicenow/ui-core';\nimport {\n\tIPE_TELEMETRY_REQUESTED,\n\tSUPERVISION_REQUESTED,\n\tSUPERVISION_SUBMITTED,\n} from '../metrics/constants.js';\nimport {ipeMetrics} from '../metrics/index.js';\nimport {t} from 'sn-translate';\nimport {\n\tSEND_INPUT_IDENTIFIER,\n\tNOW_BUTTON_CLICKED,\n\tSEND_BUTTON_IDENTIFIER,\n\tAPIS,\n\tPOST_MESSAGE_SUCCESS,\n\tPOST_MESSAGE_FAILURE,\n\tPOST_MESSAGE,\n\tNOW_TEXTAREA_INPUT,\n\tNOW_TEXTAREA_VALUE_SET,\n\tNOW_RADIO_BUTTONS_VALUE_SET,\n\tPILL_SELECTED,\n\tSINGLE_PICKER_BUTTON_IDENTIFIER,\n\tMULTI_PICKER_BUTTON_IDENTIFIER,\n\tDATE_TIME_CALENDER_SELECTED_ITEMS_SET,\n\tDATE_TIME_VALUE_SET,\n\tNOW_DROPDOWN_ITEM_CLICKED,\n\tDEFAULT_ALERT_MESSAGE,\n\tADD_ALERT_MESSAGE,\n\tEDITABLE_LIST_CONFIRMED,\n\tFILE_UPLOAD_SUCCEEDED,\n\tMOVETO_NAP_CHAT,\n\tAI_ENGAGEMENT_EXPERIENCE,\n} from './constants';\nimport {\n\tSUPERVISION_ACTION_TYPES,\n\tPROVENANCE,\n} from '../utils/agent-card-constants';\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED} = actionTypes;\n/**\n * Creates an HTTP effect for posting messages\n * @type {Function}\n */\nconst postMessage = createHttpEffect(APIS.POST_API, {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\tbatch: false,\n\theaders: {},\n\tsuccessActionType: POST_MESSAGE_SUCCESS,\n\terrorActionType: POST_MESSAGE_FAILURE,\n});\n\n/**\n * Helper function to build the message payload from conversation and usecase data\n * @param {Object} conversationData - Conversation data containing user information\n * @param {Object} usecaseData - Usecase data containing record and session information\n * @param {string} inboundMessage - The message to be sent\n * @returns {Object} The complete payload for POST_MESSAGE dispatch\n */\nconst buildMessagePayload = (conversationData, usecaseData, inboundMessage) => {\n\tconst {\n\t\tconversationUser: {userId},\n\t} = conversationData;\n\tconst {\n\t\tusecaseId,\n\t\tagentId,\n\t\tusecaseName,\n\t\tconversationId,\n\t\ttableName,\n\t\tsessionId,\n\t\tsysId,\n\t} = usecaseData;\n\n\tconst defaultPayload = {\n\t\tconversationUser: userId,\n\t\tobjective: usecaseName,\n\t\tconversationId,\n\t\ttargetRecordId: sysId,\n\t\ttargetTable: tableName,\n\t\tsessionId,\n\t\tadditionalFields: ['conversationId', 'targetRecordId', 'targetTable'],\n\t};\n\n\tif (agentId) {\n\t\tdefaultPayload.agentId = agentId;\n\t\tdefaultPayload.sessionId = agentId + sysId;\n\t} else {\n\t\tdefaultPayload.usecaseId = usecaseId;\n\t\tdefaultPayload.sessionId = usecaseId + sysId;\n\t}\n\n\treturn {\n\t\t...defaultPayload,\n\t\tinboundMessage,\n\t};\n};\n\nexport default {\n\t/**\n\t * @param {Object} options - The handler options\n\t * @param {Function} options.dispatch - Dispatch function to trigger actions\n\t * @param {Object} options.properties - Component properties\n\t * @param {string} options.properties.conversationData - ID of the conversation to monitor\n\t */\n\t[COMPONENT_BOOTSTRAPPED]: ({\n\t\tproperties: {conversationData, usecaseData},\n\t\tdispatch,\n\t}) => {\n\t\tif (Object.keys(conversationData)?.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\teventName: SUPERVISION_REQUESTED,\n\t\t\tmetadata: {\n\t\t\t\tworkflowId: usecaseData?.usecaseId,\n\t\t\t\tworkflowName: usecaseData?.usecaseName,\n\t\t\t\tconversationId: usecaseData?.conversationId,\n\t\t\t\ttable: usecaseData?.tableName,\n\t\t\t\trecordId: usecaseData?.sysId,\n\t\t\t\tuserId: conversationData?.conversationUser?.userId,\n\t\t\t\tsessionId: usecaseData?.sessionId,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t},\n\t\t});\n\t},\n\n\t/**\n\t * @param {Object} options - The handler options\n\t * @param {Object} options.action - The triggered action\n\t * @param {Object} options.action.payload - Action payload\n\t * @param {string} options.action.payload.name - Field identifier\n\t * @param {string} options.action.payload.fieldValue - Current field value\n\t * @param {Function} options.updateState - Function to update component state\n\t */\n\t[NOW_TEXTAREA_INPUT]: ({action: {payload}, updateState}) => {\n\t\tconst {name, fieldValue} = payload;\n\t\tif (name !== SEND_INPUT_IDENTIFIER) {\n\t\t\treturn;\n\t\t}\n\n\t\tupdateState({\n\t\t\tvalue: fieldValue,\n\t\t});\n\t},\n\t/**\n\t * @param {Object} options - The handler options\n\t * @param {Object} options.action - The triggered action\n\t * @param {Object} options.action.payload - Action payload\n\t * @param {string} options.action.payload.name - Field identifier\n\t * @param {string} options.action.payload.value - New field value\n\t * @param {Function} options.updateState - Function to update component state\n\t */\n\t[NOW_TEXTAREA_VALUE_SET]: ({action: {payload}, updateState}) => {\n\t\tconst {name, value} = payload;\n\t\tif (name !== SEND_INPUT_IDENTIFIER) {\n\t\t\treturn;\n\t\t}\n\t\tupdateState({\n\t\t\tvalue,\n\t\t});\n\t},\n\t[POST_MESSAGE_FAILURE]: ({updateState}) => {\n\t\tupdateState({\n\t\t\tvalue: '',\n\t\t\tsubmitting: false,\n\t\t});\n\t},\n\n\t/**\n\t * Handler for POST_MESSAGE action\n\t * @param {Object} options - The handler options\n\t */\n\t[POST_MESSAGE]: postMessage,\n\n\t/**\n\t * @param {Object} options - The handler options\n\t * @param {Object} options.action - The triggered action\n\t * @param {Object} options.action.meta - Action metadata\n\t * @param {Object} options.action.meta.appended - Map of appended button identifiers\n\t * @param {Object} options.state - Current component state\n\t * @param {string} options.state.typedValue - Current input value\n\t * @param {Object} options.properties - Component properties\n\t * @param {string} options.properties.conversationId - ID of the conversation\n\t * @param {Function} options.dispatch - Dispatch function to trigger actions\n\t */\n\t[NOW_BUTTON_CLICKED]: ({\n\t\taction,\n\t\tstate: {value},\n\t\tproperties: {conversationData, usecaseData, isClassic},\n\t\tdispatch,\n\t\tupdateState,\n\t}) => {\n\t\tconst {meta: {appended = {}} = {}} = action;\n\t\tconst {conversationId} = usecaseData;\n\n\t\tif (appended?.type === MOVETO_NAP_CHAT) {\n\t\t\taction.stopPropagation();\n\t\t\tif (isClassic) {\n\t\t\t\t// Core UI: Open Now Assist panel via UI16 mechanism\n\t\t\t\treturn window.aiex.launch({conversationId});\n\t\t\t}\n\t\t\treturn dispatch(AI_ENGAGEMENT_EXPERIENCE, {conversationId});\n\t\t}\n\n\t\tconst {label, value: clickedValue} = appended;\n\n\t\t// Resolve the inbound message from the supervision control that fired the\n\t\t// click. now-button clicks that don't carry a known supervision identifier\n\t\t// (e.g. the sn-feedback submit button, whose generic NOW_BUTTON#CLICKED\n\t\t// bubbles up to this parent handler) must be ignored so we neither post a\n\t\t// spurious message nor swallow the event before the feedback flow handles it.\n\t\tlet inboundMessage;\n\t\tif (label && clickedValue) {\n\t\t\tinboundMessage = clickedValue;\n\t\t} else if (\n\t\t\tappended[SINGLE_PICKER_BUTTON_IDENTIFIER] ||\n\t\t\tappended[MULTI_PICKER_BUTTON_IDENTIFIER] ||\n\t\t\tappended[SEND_BUTTON_IDENTIFIER]\n\t\t) {\n\t\t\tinboundMessage = value;\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\taction.stopPropagation();\n\n\t\tconst {\n\t\t\tconversationUser: {userId},\n\t\t} = conversationData;\n\t\tconst {usecaseId, usecaseName, tableName, sysId} = usecaseData;\n\t\tconst sessionId = usecaseId + sysId;\n\t\tconst defaultPayload = {\n\t\t\tusecaseId,\n\t\t\tconversationUser: userId,\n\t\t\tobjective: usecaseName,\n\t\t\tconversationId,\n\t\t\ttargetRecordId: sysId,\n\t\t\ttargetTable: tableName,\n\t\t\tsessionId,\n\t\t\tadditionalFields: ['conversationId', 'targetRecordId', 'targetTable'],\n\t\t};\n\n\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\teventName: SUPERVISION_SUBMITTED,\n\t\t\tmetadata: {\n\t\t\t\tworkflowId: usecaseId,\n\t\t\t\tworkflowName: usecaseName,\n\t\t\t\tconversationId,\n\t\t\t\ttable: tableName,\n\t\t\t\trecordId: sysId,\n\t\t\t\tuserId,\n\t\t\t\tsessionId,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t},\n\t\t});\n\n\t\tupdateState({submitting: true});\n\t\treturn dispatch(POST_MESSAGE, {\n\t\t\tdata: {\n\t\t\t\t...defaultPayload,\n\t\t\t\tinboundMessage,\n\t\t\t},\n\t\t});\n\t},\n\n\t/**\n\t * Handles when radio button values are set\n\t * @param {Object} options - The handler options\n\t * @param {Object} options.action - The triggered action\n\t * @param {Object} options.action.payload - Action payload with the selected value\n\t * @param {Function} options.updateState - Function to update component state\n\t */\n\t[NOW_RADIO_BUTTONS_VALUE_SET]: ({\n\t\taction: {\n\t\t\tpayload: {value = ''},\n\t\t},\n\t\tupdateState,\n\t}) => {\n\t\tif (value) {\n\t\t\tupdateState({\n\t\t\t\tvalue,\n\t\t\t});\n\t\t}\n\t},\n\n\t[DATE_TIME_VALUE_SET]: ({\n\t\taction: {\n\t\t\tpayload,\n\t\t\tmeta: {appended = {}},\n\t\t},\n\t\tupdateState,\n\t}) => {\n\t\tif (appended?.dateTime) {\n\t\t\tconst isoString = payload.isoDate;\n\t\t\tconst milliseconds = new Date(isoString).getTime();\n\t\t\treturn updateState({\n\t\t\t\tvalue: milliseconds,\n\t\t\t});\n\t\t}\n\t\treturn updateState({\n\t\t\tvalue: payload.value,\n\t\t});\n\t},\n\t[DATE_TIME_CALENDER_SELECTED_ITEMS_SET]: ({\n\t\taction: {payload},\n\t\tupdateState,\n\t}) => {\n\t\tif (payload?.value) {\n\t\t\tupdateState({\n\t\t\t\tvalue: payload.value[0],\n\t\t\t});\n\t\t}\n\t},\n\n\t[COMPONENT_PROPERTY_CHANGED]: ({action: {payload}, updateState}) => {\n\t\tconst {name} = payload;\n\t\t//reset the value whenever a new message is added.\n\t\tif (name === 'conversationData') {\n\t\t\tupdateState({\n\t\t\t\tvalue: '',\n\t\t\t\tselectedOptions: [],\n\t\t\t\teditableListInputValue: '',\n\t\t\t\tsubmitting: false,\n\t\t\t});\n\t\t}\n\t},\n\t[NOW_DROPDOWN_ITEM_CLICKED]: ({action: {payload}, updateState}) => {\n\t\tconst {\n\t\t\titem: {value},\n\t\t} = payload;\n\t\tif (value) {\n\t\t\tupdateState({\n\t\t\t\tvalue,\n\t\t\t});\n\t\t}\n\t},\n\t[POST_MESSAGE_SUCCESS]: ({dispatch, properties}) => {\n\t\tdispatch(ADD_ALERT_MESSAGE, {\n\t\t\talertMessage: DEFAULT_ALERT_MESSAGE,\n\t\t});\n\t\t// Release the off-glide input latch on the ancestor cards. Bubbles up to\n\t\t// now-ai-status-card and sn-agentic-processes-template, which optimistically move\n\t\t// this conversation off input_needed so the following authoritative in_progress\n\t\t// isn't suppressed. Off-glide only at the source (provenance rides on usecaseData);\n\t\t// on-glide is DB-authoritative and has no latch, so we don't even emit the event.\n\t\t// The ancestor handlers re-check provenance too (defense in depth).\n\t\tconst {conversationId, provenance} = properties?.usecaseData || {};\n\t\tif (conversationId && provenance === PROVENANCE.OFF_GLIDE) {\n\t\t\tdispatch(SUPERVISION_ACTION_TYPES.SUPERVISION_REPLIED, {conversationId});\n\t\t}\n\t},\n\t[EDITABLE_LIST_CONFIRMED]: ({\n\t\taction,\n\t\tupdateState,\n\t\tproperties: {conversationData, usecaseData},\n\t\tdispatch,\n\t}) => {\n\t\tconst {payload} = action;\n\t\tconst {value} = payload;\n\t\taction.stopPropagation();\n\n\t\tconst messagePayload = buildMessagePayload(\n\t\t\tconversationData,\n\t\t\tusecaseData,\n\t\t\tvalue,\n\t\t);\n\n\t\tupdateState({submitting: true});\n\t\tdispatch(POST_MESSAGE, {\n\t\t\tdata: messagePayload,\n\t\t});\n\t\tupdateState({value});\n\t},\n\n\t[FILE_UPLOAD_SUCCEEDED]: ({\n\t\taction,\n\t\tupdateState,\n\t\tproperties: {conversationData, usecaseData},\n\t\tdispatch,\n\t}) => {\n\t\tconst {payload} = action;\n\t\tconst {sys_id: attachmentSysId} = payload;\n\t\taction.stopPropagation();\n\n\t\tconst value = t(\n\t\t\t{\n\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\tmessage: 'Use attachment with sys_id : {0}',\n\t\t\t},\n\t\t\tattachmentSysId,\n\t\t);\n\n\t\tconst messagePayload = buildMessagePayload(\n\t\t\tconversationData,\n\t\t\tusecaseData,\n\t\t\tvalue,\n\t\t);\n\n\t\tupdateState({submitting: true});\n\t\tdispatch(POST_MESSAGE, {\n\t\t\tdata: messagePayload,\n\t\t});\n\t\tupdateState({value});\n\t},\n\t...ipeMetrics,\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {view} from './view';\nimport actionHandlers from './actionHandlers.js';\nimport styles from './_styles.scss';\n\ncreateCustomElement('sn-agentic-supervision', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tconversationData: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {},\n\t\t},\n\t\tusecaseData: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {},\n\t\t},\n\t\trenderAsCard: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\thideDisclaimer: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tisNAP: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tisClassic: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tisWorker: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tisWorkerSupervised: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcardType: {\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t},\n\t\tfeedbackConfig: {\n\t\t\ttype: 'object',\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tsetInitialState: () => ({\n\t\tvalue: '',\n\t\tsubmitting: false,\n\t}),\n\tactionHandlers,\n});\n","import '@servicenow/now-loader';\nimport '@servicenow/now-card';\nimport '@servicenow/now-button';\nimport {InputTextRenderer} from './partials/InputTextRenderer';\nimport '@servicenow/now-highlighted-value';\nimport {PickerControlRenderer} from './partials/PickerControlRenderer';\nimport './controls/EditableListControl';\nimport './controls/FileUploadControl';\nimport {DateTimeRenderer} from './partials/DateTimeRenderer';\nimport '@devsnc/sn-feedback';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-illustration';\nimport {Label} from './partials/Label';\nimport {\n\tUI_TYPES,\n\tREVIEW_NEEDED_LABEL,\n\tFEEDBACK_CONTENT,\n\tNO_RESULTS_MESSAGE,\n\tNAP_MESSAGE,\n\tMOVETO_NAP_CHAT,\n\tCONTINUE_IN_CHAT,\n\tCONTINUE_IN_CHAT_TOOLTIP,\n} from './constants';\nimport {CARD_TYPE, CARD_TYPE_CLASS} from '../utils/agent-card-constants';\nimport {buildFeedbackFromConfig} from '../utils/feedback-utils';\nimport {fetchLabelFromLastMessage} from './utils';\nimport {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\n/**\n * @param {Object} message - The message object to render\n * @param {string} activeMessageId - ID of the currently active message\n * @returns {JSX.Element} The appropriate renderer component\n */\nconst getRenderableMessage = (context, state) => {\n\tconst {\n\t\tactiveMessage: message,\n\t\tactiveMessageId,\n\t\ttableName,\n\t\tsysId,\n\t\tisNAP,\n\t} = context;\n\tconst richControl = message.richControl;\n\tconst {uiType} = richControl;\n\n\tif (isNAP) {\n\t\treturn (\n\t\t\t<now-button\n\t\t\t\tsize=\"md\"\n\t\t\t\tlabel={CONTINUE_IN_CHAT}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\ticon=\"chat-outline\"\n\t\t\t\tappend-to-payload={{type: MOVETO_NAP_CHAT, source: MOVETO_NAP_CHAT}}\n\t\t\t\tappend-to-meta={{type: MOVETO_NAP_CHAT, source: MOVETO_NAP_CHAT}}\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {'aria-label': CONTINUE_IN_CHAT},\n\t\t\t\t}}\n\t\t\t\ttooltip-content={CONTINUE_IN_CHAT_TOOLTIP}\n\t\t\t\tstyle={{inlineSize: '100%'}}\n\t\t\t/>\n\t\t);\n\t}\n\n\tswitch (uiType) {\n\t\tcase UI_TYPES.PICKER:\n\t\tcase UI_TYPES.BOOLEAN:\n\t\t\treturn (\n\t\t\t\t<PickerControlRenderer\n\t\t\t\t\tmessage={message}\n\t\t\t\t\tactiveMessageId={activeMessageId}\n\t\t\t\t\tstate={state}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase UI_TYPES.DATE:\n\t\tcase UI_TYPES.TIME:\n\t\tcase UI_TYPES.DATETIME:\n\t\t\treturn (\n\t\t\t\t<DateTimeRenderer\n\t\t\t\t\tmessage={message}\n\t\t\t\t\tstate={state}\n\t\t\t\t\tactiveMessageId={activeMessageId}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase UI_TYPES.EDITABLE_LIST:\n\t\t\treturn (\n\t\t\t\t<sn-agentic-supervision-editable-list\n\t\t\t\t\tmessage={message}\n\t\t\t\t\tactiveMessageId={activeMessageId}\n\t\t\t\t/>\n\t\t\t);\n\t\tcase UI_TYPES.FILE_UPLOAD: // Added case to handle FILE_UPLOAD UI type\n\t\t\treturn (\n\t\t\t\t<sn-agentic-supervision-file-upload\n\t\t\t\t\ttableName={tableName}\n\t\t\t\t\tsysId={sysId}\n\t\t\t\t\tmessage={message}\n\t\t\t\t\tactiveMessageId={activeMessageId}\n\t\t\t\t/>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<InputTextRenderer\n\t\t\t\t\tmessage={message}\n\t\t\t\t\tactiveMessageId={activeMessageId}\n\t\t\t\t\tstate={state}\n\t\t\t\t/>\n\t\t\t);\n\t}\n};\n\n/**\n * Main view component that renders agent supervision cards\n * @param {Object} state - Component state\n * @param {Array} state.messages - List of messages to display\n * @param {string} state.activeMessageId - ID of the currently active message\n * @returns {JSX.Element} The rendered component\n */\nexport const view = (state) => {\n\tconst {\n\t\tproperties: {\n\t\t\tconversationData,\n\t\t\tusecaseData: {tableName, sysId},\n\t\t\trenderAsCard,\n\t\t\thideDisclaimer,\n\t\t\tisNAP,\n\t\t\tisWorker,\n\t\t\tisWorkerSupervised,\n\t\t\tcardType,\n\t\t\tfeedbackConfig,\n\t\t},\n\t} = state;\n\n\tconst {submitting} = state;\n\n\tconst {\n\t\tactiveMessageId,\n\t\textractedMessages: activeMessage,\n\t\ttranscriptData,\n\t} = conversationData;\n\tconst richControl = activeMessage?.richControl;\n\tconst uiMetadata = richControl?.uiMetadata;\n\tlet label = uiMetadata?.label;\n\t// we should not be doing this rather WFs should be updated to have the label. Unfortunately, we don't have control over that.\n\tif (!label) {\n\t\tlabel = fetchLabelFromLastMessage(transcriptData);\n\t}\n\tconst uiType = richControl?.uiType;\n\n\tconst supervisionContent =\n\t\tsubmitting && cardType === CARD_TYPE.INLINE ? (\n\t\t\t<div className=\"agent-supervision-content\">\n\t\t\t\t<now-loader-skeleton />\n\t\t\t</div>\n\t\t) : (\n\t\t\t<Fragment>\n\t\t\t\t<div className=\"agent-supervision-content\">\n\t\t\t\t\t{uiType === UI_TYPES.EDITABLE_LIST ? null : (\n\t\t\t\t\t\t<Label label={isNAP ? NAP_MESSAGE : label} />\n\t\t\t\t\t)}\n\t\t\t\t\t{(!isWorker || isWorkerSupervised) &&\n\t\t\t\t\t\tgetRenderableMessage(\n\t\t\t\t\t\t\t{activeMessage, activeMessageId, tableName, sysId, isNAP},\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{!hideDisclaimer && (\n\t\t\t\t\t<div className=\"agent-supervision-feedback\">\n\t\t\t\t\t\t<div>{FEEDBACK_CONTENT}</div>\n\t\t\t\t\t\t{cardType !== CARD_TYPE.INLINE && (\n\t\t\t\t\t\t\t<sn-feedback\n\t\t\t\t\t\t\t\tpositiveFeedback={buildFeedbackFromConfig(\n\t\t\t\t\t\t\t\t\tfeedbackConfig,\n\t\t\t\t\t\t\t\t\t'positive',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tnegativeFeedback={buildFeedbackFromConfig(\n\t\t\t\t\t\t\t\t\tfeedbackConfig,\n\t\t\t\t\t\t\t\t\t'negative',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Fragment>\n\t\t);\n\n\treturn (\n\t\t<div className={`agent-supervision-cards ${CARD_TYPE_CLASS[cardType]}`}>\n\t\t\t{activeMessage && (\n\t\t\t\t<div className=\"agent-supervision-card\">\n\t\t\t\t\t{renderAsCard ? (\n\t\t\t\t\t\t<now-card size=\"sm\" sidebar={{color: 'ai', variant: 'primary'}}>\n\t\t\t\t\t\t\t{supervisionContent}\n\t\t\t\t\t\t</now-card>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tsupervisionContent\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import {t} from 'sn-translate';\n\nexport const SHOW_HISTORY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show history',\n});\nexport const HIDE_HISTORY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Hide history',\n});\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const DECISION = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Your response',\n});\nexport const HISTORY = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'History',\n});\nexport const EDITED = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Edited',\n});\n\nexport const DRAFT_IGNORED = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Draft ignored',\n});\n","export const safeJsonParse = (jsonString) => {\n\ttry {\n\t\treturn JSON.parse(jsonString);\n\t} catch (e) {\n\t\treturn null;\n\t}\n};\n\nexport const groupMessages = (messages = []) => {\n\tif (!messages || messages.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst result = [];\n\tconst processed = new Set();\n\n\tfor (let i = 0; i < messages.length; i++) {\n\t\tif (processed.has(i)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst message = messages[i];\n\t\tconst originalMsg = safeJsonParse(message.originalMessage);\n\t\tconst uniqueId = originalMsg?.uniqueIdentifier;\n\n\t\tconst isEdited = message.edited === true;\n\t\tconst effectiveContent = isEdited ? message.editedContent : message.content;\n\n\t\tif (!uniqueId) {\n\t\t\tconst processedMessage = {\n\t\t\t\t...message,\n\t\t\t\tdisplayLabel:\n\t\t\t\t\tmessage.role === 'assistant' ? effectiveContent : undefined,\n\t\t\t\tdisplayValue: message.role === 'user' ? effectiveContent : undefined,\n\t\t\t};\n\t\t\tif (originalMsg?.uiMetadata?.rawSynthesizedResultAsString) {\n\t\t\t\ttry {\n\t\t\t\t\tconst rawSynthesized = safeJsonParse(\n\t\t\t\t\t\toriginalMsg.uiMetadata.rawSynthesizedResultAsString,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (rawSynthesized?.payload) {\n\t\t\t\t\t\tif (!isEdited) {\n\t\t\t\t\t\t\trawSynthesized.payload.forEach((item) => {\n\t\t\t\t\t\t\t\tif (item?.content) {\n\t\t\t\t\t\t\t\t\tconst textContent = item.content.find(\n\t\t\t\t\t\t\t\t\t\t(contentItem) => contentItem?.type === 'text',\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tif (textContent) {\n\t\t\t\t\t\t\t\t\t\tprocessedMessage.displayLabel = textContent?.value ?? '';\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprocessedMessage.sources = rawSynthesized.payload[0]?.content;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn('Failed to parse rawSynthesizedResultAsString:', e);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresult.push([processedMessage]);\n\t\t\tprocessed.add(i);\n\t\t} else if (message.role === 'assistant') {\n\t\t\tconst assistantMessage = {\n\t\t\t\t...message,\n\t\t\t\tdisplayLabel: effectiveContent,\n\t\t\t\tdisplayValue: undefined,\n\t\t\t};\n\n\t\t\t// finds the next user message with same uniqueIdentifier\n\t\t\tlet userMessage = null;\n\t\t\tlet userIndex = -1;\n\t\t\tfor (let j = i + 1; j < messages.length; j++) {\n\t\t\t\tif (processed.has(j)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst nextMessage = messages[j];\n\t\t\t\tconst nextOriginalMsg = safeJsonParse(nextMessage.originalMessage);\n\t\t\t\tconst nextUniqueId = nextOriginalMsg?.uniqueIdentifier;\n\n\t\t\t\tif (nextUniqueId === uniqueId && nextMessage.role === 'user') {\n\t\t\t\t\tuserMessage = {\n\t\t\t\t\t\t...nextMessage,\n\t\t\t\t\t\tdisplayLabel: undefined,\n\t\t\t\t\t\tdisplayValue: nextMessage.content,\n\t\t\t\t\t};\n\t\t\t\t\tuserIndex = j;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (userMessage) {\n\t\t\t\tresult.push([assistantMessage, userMessage]);\n\t\t\t\tprocessed.add(userIndex);\n\t\t\t} else {\n\t\t\t\tresult.push([assistantMessage]);\n\t\t\t}\n\t\t\tprocessed.add(i);\n\t\t} else {\n\t\t\tresult.push([\n\t\t\t\t{\n\t\t\t\t\t...message,\n\t\t\t\t\tdisplayLabel: undefined,\n\t\t\t\t\tdisplayValue: message.content,\n\t\t\t\t},\n\t\t\t]);\n\t\t\tprocessed.add(i);\n\t\t}\n\t}\n\n\treturn result;\n};\n","import {t} from 'sn-translate';\n\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\n\nexport const CITATION_TYPE = 'citation';\n\nexport const CITATION_SOURCE = {\n\tINTERNAL: 'internal', // KB\n\tINTERNAL_ACTION_RESULT: 'internal_action_result', // Action Result\n\tATTACHMENT: 'attachment', // Attachment\n\tEXTERNAL_DOCUMENT: 'external_document', // External Content\n};\n\nexport const CITATION_CATEGORY = {\n\tKB: 'kb',\n\tPERSON: 'person',\n\tACTION: 'action',\n\tEXTERNAL: 'external',\n\tKG: 'kg',\n\tLIST: 'list',\n};\n\nexport const LABELS = {\n\tSHOW_SOURCES: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Show sources',\n\t}),\n\tHIDE_SOURCES: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Hide sources',\n\t}),\n};\n","import DOMPurify from 'dompurify';\nimport {Marked} from 'marked';\n\nimport {CITATION_TYPE} from './constants';\nimport {normalizeMarkdown} from '../utils/markdown';\n\nconst CITATION_REGEX = /\\u200b\\[(\\d+)\\]\\u200b/g;\n\nconst markdownRenderer = new Marked({breaks: true});\n\nconst processCitationMarkers = (content) =>\n\tcontent.replace(\n\t\tCITATION_REGEX,\n\t\t(match, citationNumber) =>\n\t\t\t`<now-badge color=\"gray\" variant=\"secondary\" size=\"sm\" round tabindex=\"0\" value=\"${citationNumber}\" data-citation-number=\"${citationNumber}\"></now-badge>`,\n\t);\n\nexport const markSanitizeWithCitations = (content) => {\n\tif (!content) {\n\t\treturn '';\n\t}\n\treturn processCitationMarkers(\n\t\tDOMPurify.sanitize(markdownRenderer.parse(normalizeMarkdown(content))),\n\t);\n};\n\nexport const replaceCitationBadges = (elm, citationsData) => {\n\tconst citations =\n\t\tcitationsData?.filter((c) => c?.type === CITATION_TYPE)?.[0]?.value ?? [];\n\tif (!citations.length) {\n\t\treturn;\n\t}\n\n\telm?.querySelectorAll('now-badge[data-citation-number]').forEach((badge) => {\n\t\tconst n = parseInt(badge.getAttribute('data-citation-number')) - 1;\n\t\tconst citation = citations[n];\n\t\tif (!citation) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst popover = document.createElement('sn-agentic-reasoning-popover');\n\t\tpopover.citationData = citation;\n\t\tpopover.citationNumber = n + 1;\n\t\tbadge.replaceWith(popover);\n\t});\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import '@servicenow/now-button';\nimport '@servicenow/now-badge';\nimport '@servicenow/now-illustration';\nimport {t} from 'sn-translate';\n\nimport {\n\tCITATION_CATEGORY,\n\tCITATION_SOURCE,\n\tCITATION_TYPE,\n\tLABELS,\n} from './constants';\n\nconst isSourceIconSVGFormat = (icon) => icon.toLowerCase().endsWith('.svg');\n\nconst isSourceIconCompanyLogo = (source) =>\n\tsource === CITATION_SOURCE.INTERNAL_ACTION_RESULT ||\n\tsource === CITATION_SOURCE.EXTERNAL_DOCUMENT;\n\nconst renderCitation = (citation, index) => {\n\tconst {id, citationLabel, citationHref, icon, source, cardName, category} =\n\t\tcitation;\n\n\tif (cardName) {\n\t\treturn null;\n\t}\n\n\tlet iconElement = null;\n\tlet sourcesCitationIconClass = {'sources-citation-icon': true};\n\tconst isExternal = category === CITATION_CATEGORY.EXTERNAL;\n\n\tif (icon) {\n\t\tconst isIconSVG = isSourceIconSVGFormat(icon);\n\t\tconst isCompanyLogoIcon = isSourceIconCompanyLogo(source);\n\n\t\tif (isIconSVG && !isCompanyLogoIcon) {\n\t\t\ticonElement = (\n\t\t\t\t<now-illustration-custom\n\t\t\t\t\tsrc={`/${icon}`}\n\t\t\t\t\talt={t({\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage: 'citation-icon',\n\t\t\t\t\t})}\n\t\t\t\t\twidth=\"16px\"\n\t\t\t\t\theight=\"16px\"\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\ticonElement = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={icon}\n\t\t\t\t\talt={t({\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage: 'citation-icon',\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\tsourcesCitationIconClass = {\n\t\t\t...sourcesCitationIconClass,\n\t\t\t'logo-icon': isCompanyLogoIcon,\n\t\t};\n\t}\n\n\treturn (\n\t\t<a\n\t\t\tkey={id || index}\n\t\t\tclassName=\"citation-item\"\n\t\t\thref={citationHref}\n\t\t\ttarget=\"_blank\"\n\t\t>\n\t\t\t<now-badge value={index + 1} color=\"gray\" variant=\"secondary\" size=\"sm\" />\n\t\t\t{icon && <div class={sourcesCitationIconClass}>{iconElement}</div>}\n\t\t\t<span className=\"citations-link-text\">{citationLabel}</span>\n\t\t\t{isExternal && <now-icon icon=\"open-link-right-outline\" size=\"sm\" />}\n\t\t</a>\n\t);\n};\n\nconst renderCitationList = (citationsData) => {\n\tconst citations =\n\t\tcitationsData?.filter((c) => c?.type === CITATION_TYPE)?.[0]?.value ?? [];\n\n\tif (citations.length === 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"citations-list\">\n\t\t\t{citations.map((citation, index) => renderCitation(citation, index))}\n\t\t</div>\n\t);\n};\n\nexport const view = (state) => {\n\tconst {\n\t\tproperties: {citationsData},\n\t\tsourcesExpanded,\n\t} = state;\n\n\tif (!citationsData?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"citations\">\n\t\t\t{sourcesExpanded && renderCitationList(citationsData)}\n\t\t\t<now-button-bare\n\t\t\t\tclassName=\"citations-button\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tlabel={sourcesExpanded ? LABELS.HIDE_SOURCES : LABELS.SHOW_SOURCES}\n\t\t\t\tsize=\"sm\"\n\t\t\t\ticonStart={sourcesExpanded ? 'eye-slash-outline' : 'eye-outline'}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {t} from 'sn-translate';\nexport const NOW_POPOVER_OPENED_SET = 'NOW_POPOVER#OPENED_SET';\nexport const NOW_BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nexport const NOW_BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nexport const TOGGLE_SHOW_ALL = 'TOGGLE_SHOW_ALL';\n\nexport const REASONING_HEADING = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Reasoning',\n});\nexport const SHOW_LESS = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show less',\n});\nexport const SHOW_MORE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show more',\n});\nexport const CITATION_TYPE = 'citation';\nexport const SOURCE_HEADING = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Sources',\n});\n\nexport const LABELS = {\n\tADDITIONAL_RESOURCES: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Additional Resources',\n\t}),\n};\n\nexport const ICON = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Icon',\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport styles from './_styles.scss';\nimport '@servicenow/now-text-link';\nimport '@servicenow/now-illustration';\nimport {ICON} from './constants';\n\nconst view = (state) => {\n\tconst {\n\t\tproperties: {citationData},\n\t} = state;\n\n\tif (!citationData) {\n\t\treturn null;\n\t}\n\n\tconst {header, icon, citationLabel, citationHref} = citationData;\n\n\treturn (\n\t\t<div className=\"popover-container\">\n\t\t\t<now-card\n\t\t\t\tclassName=\"citation-card\"\n\t\t\t\tsize=\"lg\"\n\t\t\t\tinteraction=\"none\"\n\t\t\t\thideShadow\n\t\t\t>\n\t\t\t\t<div>\n\t\t\t\t\t{header && (\n\t\t\t\t\t\t<div className=\"citation-header\">\n\t\t\t\t\t\t\t{icon && <img src={icon} alt={ICON} />}\n\t\t\t\t\t\t\t<span className=\"citation-header-text\">{header}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"citation-link\">\n\t\t\t\t\t\t<now-text-link\n\t\t\t\t\t\t\tlabel={citationLabel}\n\t\t\t\t\t\t\thref={citationHref}\n\t\t\t\t\t\t\topensWindow\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</now-card>\n\t\t</div>\n\t);\n};\n\ncreateCustomElement('sn-agentic-reasoning-popover-content', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcitationData: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {view} from './view';\nimport {NOW_POPOVER_OPENED_SET} from './constants';\n\ncreateCustomElement('sn-agentic-reasoning-popover', {\n\tview,\n\tproperties: {\n\t\tcitationData: {\n\t\t\ttype: 'object',\n\t\t},\n\t\tcitationNumber: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsetInitialState: () => ({\n\t\tshowPopover: false,\n\t}),\n\tactionHandlers: {\n\t\t[NOW_POPOVER_OPENED_SET]: {\n\t\t\teffect: ({\n\t\t\t\taction: {\n\t\t\t\t\tpayload: {value},\n\t\t\t\t},\n\t\t\t\tupdateState,\n\t\t\t}) => {\n\t\t\t\tupdateState({showPopover: value});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n});\n","import '@servicenow/now-popover';\nimport '@servicenow/now-badge';\nimport './agentic-reasoning-popover-content';\n\nexport const view = (state, {dispatch}) => {\n\tconst {\n\t\tproperties: {citationData, citationNumber},\n\t\tshowPopover,\n\t} = state;\n\n\tif (!citationData) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<span className=\"popover-container\">\n\t\t\t<now-popover manage-opened opened={showPopover} interactionType=\"dialog\">\n\t\t\t\t<now-badge\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t\tvalue={citationNumber}\n\t\t\t\t\tcolor=\"gray\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\tonkeydown={(e) => {\n\t\t\t\t\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\t\t\t\t\tdispatch('NOW_POPOVER#OPENED_SET', {value: !showPopover});\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<sn-agentic-reasoning-popover-content\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tcitationData={citationData}\n\t\t\t\t/>\n\t\t\t</now-popover>\n\t\t</span>\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {view} from './view';\nimport styles from './_styles.scss';\nimport '../sn-agentic-reasoning';\n\nimport {NOW_BUTTON_BARE_CLICKED} from './constants';\n\ncreateCustomElement('sn-agentic-citation', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tcitationsData: {\n\t\t\ttype: 'array',\n\t\t},\n\t},\n\tsetInitialState: () => ({\n\t\tsourcesExpanded: false,\n\t}),\n\tactionHandlers: {\n\t\t[NOW_BUTTON_BARE_CLICKED]: {\n\t\t\teffect: ({updateState, state}) => {\n\t\t\t\tupdateState({sourcesExpanded: !state.sourcesExpanded});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-card';\nimport '@servicenow/now-label-value';\nimport {\n\tSHOW_HISTORY,\n\tHIDE_HISTORY,\n\tDECISION,\n\tHISTORY,\n\tEDITED,\n\tDRAFT_IGNORED,\n} from './constants';\nimport {groupMessages, safeJsonParse} from './utils';\nimport {Label} from '../sn-agentic-supervision/partials/Label';\nimport {getFormattedDateTime} from '../utils/date-time-utils.js';\nimport {\n\tmarkSanitizeWithCitations,\n\treplaceCitationBadges,\n} from '../sn-agentic-citation/utils';\nimport '../sn-agentic-citation';\n\nconst getLabel = (message) => {\n\tconst {role} = message;\n\tif (role === 'assistant') {\n\t\tif (message.edited === true && typeof message.editedContent === 'string') {\n\t\t\treturn message.editedContent;\n\t\t}\n\t\tconst originalMsg = safeJsonParse(message.originalMessage);\n\t\tconst uiType = originalMsg?.uiType;\n\t\tif (uiType === 'OutputHtml') {\n\t\t\treturn originalMsg?.value;\n\t\t}\n\t\treturn message.displayLabel;\n\t}\n\treturn message.displayValue;\n};\n\nconst renderTimingDiv = (message) => {\n\tconst dateObj = new Date(message.timestamp);\n\tconst {formattedString} = getFormattedDateTime(dateObj);\n\treturn formattedString !== '' ? (\n\t\t<div className=\"timestamp\">\n\t\t\t<span>{formattedString}</span>\n\t\t</div>\n\t) : null;\n};\n\nconst renderEditedLabel = (message) =>\n\tmessage.edited === true ? (\n\t\t<now-label-value-stacked\n\t\t\tclassName=\"edited-label\"\n\t\t\titems={[{label: EDITED, value: {type: 'string', value: ''}}]}\n\t\t\tsize=\"md\"\n\t\t/>\n\t) : null;\n\nconst renderMessage = (message, index, ignoredMessageSequence) => {\n\tconst {role, sequence} = message;\n\tconst displayLabel = getLabel(message);\n\tconst isAssistant = role === 'assistant';\n\tconst hasSources = message?.sources;\n\tconst showSourceList = hasSources && message.edited !== true;\n\tconst isIgnoredDraft =\n\t\tisAssistant &&\n\t\tignoredMessageSequence !== null &&\n\t\tString(sequence) === String(ignoredMessageSequence);\n\n\treturn (\n\t\t<div key={message.sequence || index}>\n\t\t\t<div className=\"chat-message-content\">\n\t\t\t\t{isAssistant ? (\n\t\t\t\t\t<div className=\"chat-message-with-sources\">\n\t\t\t\t\t\t{hasSources ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tinnerHTML={markSanitizeWithCitations(displayLabel)}\n\t\t\t\t\t\t\t\thook-insert={({elm}) =>\n\t\t\t\t\t\t\t\t\treplaceCitationBadges(elm, message.sources)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Label label={displayLabel} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{showSourceList && (\n\t\t\t\t\t\t\t<sn-agentic-citation citationsData={message.sources} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"chat-message-decision\">\n\t\t\t\t\t\t<div>{DECISION}</div>\n\t\t\t\t\t\t<div>{message.displayValue}</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{renderEditedLabel(message)}\n\t\t\t\t{isIgnoredDraft && (\n\t\t\t\t\t<span className=\"chat-message-ignore-draft-label\">\n\t\t\t\t\t\t{DRAFT_IGNORED}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{renderTimingDiv(message)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst renderCard = (messageGroup, groupIndex, ignoredMessageSequence) => (\n\t<now-card\n\t\tsidebar={{color: 'ai', variant: 'primary'}}\n\t\tkey={groupIndex}\n\t\tsize=\"sm\"\n\t\tclassName=\"chat-transcript-card\"\n\t>\n\t\t<div>\n\t\t\t{messageGroup.map((message, index) =>\n\t\t\t\trenderMessage(message, index, ignoredMessageSequence),\n\t\t\t)}\n\t\t</div>\n\t</now-card>\n);\n\nexport const view = (state) => {\n\tconst {showHistoryButton, properties, showHistory, historyRef} = state;\n\tconst {\n\t\tconversationData: {transcriptData} = [],\n\t\tisReviewMode,\n\t\tignoredMessageSequence,\n\t} = properties;\n\tconst safeTranscriptData = Array.isArray(transcriptData)\n\t\t? transcriptData\n\t\t: [];\n\n\tconst messageGroups = groupMessages([...safeTranscriptData])?.reverse();\n\t// Take out the first group if it is just the assistant's message and isReviewMode is true\n\tconst filteredMessageGroups = isReviewMode\n\t\t? messageGroups[0]?.length === 1 &&\n\t\t\tmessageGroups[0][0]?.role === 'assistant'\n\t\t\t? messageGroups.slice(1)\n\t\t\t: messageGroups\n\t\t: messageGroups;\n\treturn (\n\t\t<div className=\"transcript-container\">\n\t\t\t{showHistory && (\n\t\t\t\t<div className=\"transcript\">\n\t\t\t\t\t{filteredMessageGroups.map((group, index) =>\n\t\t\t\t\t\trenderCard(group, index, ignoredMessageSequence),\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{showHistoryButton && filteredMessageGroups?.length > 0 && (\n\t\t\t\t<now-button-bare\n\t\t\t\t\tlabel={showHistory ? HIDE_HISTORY : SHOW_HISTORY}\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ticon-start=\"change-outline\"\n\t\t\t\t\tshow-inline-padding\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {NOW_BUTTON_BARE_CLICKED} from './constants';\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_PROPERTY_CHANGED} = actionTypes;\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]({updateState, properties}) {\n\t\tconst {conversationData} = properties;\n\n\t\tconst {transcriptData} = conversationData;\n\t\tupdateState({\n\t\t\tshowHistoryButton: transcriptData?.length > 0,\n\t\t});\n\t},\n\t[NOW_BUTTON_BARE_CLICKED]({updateState, state}) {\n\t\tconst {showHistory, historyRef} = state;\n\n\t\tupdateState({\n\t\t\tshowHistory: !showHistory,\n\t\t});\n\n\t\tif (!showHistory && historyRef.current) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (historyRef.current) {\n\t\t\t\t\thistoryRef.current.focus();\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({updateState, properties}) {\n\t\tconst {conversationData} = properties;\n\n\t\tconst {transcriptData} = conversationData;\n\t\tupdateState({\n\t\t\tshowHistoryButton: transcriptData?.length > 0,\n\t\t});\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {view} from './view';\nimport actionHandlers from './actionHandlers.js';\nimport styles from './_styles.scss';\nimport {createRef} from '@servicenow/ui-renderer-snabbdom';\n\ncreateCustomElement('sn-conversation-transcript', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\tconversationData: {\n\t\t\ttype: 'object',\n\t\t\tdefault: {},\n\t\t},\n\t\tisReviewMode: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\t// Sequence number of the sys_cs_message whose draft was ignored, if\n\t\t// any - flags the matching card in history with the \"Draft ignored\"\n\t\t// chip once expanded.\n\t\tignoredMessageSequence: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tsetInitialState: () => ({\n\t\tshowHistory: false,\n\t\tshowHistoryButton: false,\n\t\thistoryRef: createRef(),\n\t}),\n\tactionHandlers,\n});\n","import {t} from 'sn-translate';\n\nexport const COPY_TIMEOUT = 1500;\n\nexport const ACTION_TYPE = {\n\tCOPY: 'copy',\n\tFEEDBACK: 'feedback',\n\tTOGGLE_EXPANDED: 'toggleExpanded',\n\tREVIEW_WORK_NOTE: 'reviewWorkNote',\n\tDRAFT_RESPONSE: 'draftResponse',\n\tEDIT: 'edit',\n\tCANCEL_EDIT: 'cancelEdit',\n\tCONFIRM_EDIT: 'confirmEdit',\n\tIGNORE_DRAFT: 'ignoreDraft',\n};\n\nexport const EDIT_TEXTAREA_IDENTIFIER = 'REVIEW_OUTPUT_EDIT_INPUT';\n// Floor for the edit textarea's autoresize.\nexport const EDIT_TEXTAREA_MIN_ROWS = 8;\n// Delay (ms) before measuring the textarea's grown height once editing\n// starts, so the box doesn't shrink smaller than it started once the\n// library's own mount-time autoresize settles. That autoresize typically\n// finishes within a couple of animation frames (~30ms at 60fps); 100ms\n// leaves headroom for slower devices.\nexport const EDIT_TEXTAREA_HEIGHT_MEASURE_DELAY = 100;\n// getComputedStyle(...).lineHeight returns the string 'normal' (parses to\n// NaN) whenever the textarea doesn't have an explicit line-height set, so a\n// fallback is required. A fallback of 1px would divide the measured\n// offsetHeight by ~1, inflating the row count into the hundreds - this is a\n// realistic pixel line-height for the now-textarea sm/md text sizes this\n// card uses instead.\nexport const EDIT_TEXTAREA_FALLBACK_LINE_HEIGHT = 20;\n\n// Direct Table API write - the actual mechanism that lands the reviewed final\n// output in the record's Activity stream (mirrors sn-agentic-supervision's\n// POST_COMMENT_TABLE_API - post-message-only flows don't reliably write).\nexport const POST_COMMENT_TABLE_API = 'POST_COMMENT_TABLE_API';\nexport const POST_COMMENT_TABLE_ENDPOINT = '/api/now/table/:table/:sysId';\nexport const POST_COMMENT_TABLE_SUCCESS = 'POST_COMMENT_TABLE_SUCCESS';\nexport const POST_COMMENT_TABLE_FAILURE = 'POST_COMMENT_TABLE_FAILURE';\n\nexport const UPDATE_PLAN_ENDPOINT =\n\t'/api/sn_now_canvas_ai/agentic_processing/update-plan';\nexport const MARK_PLAN_REVIEWED = 'MARK_PLAN_REVIEWED';\nexport const MARK_PLAN_REVIEWED_SUCCESS = 'MARK_PLAN_REVIEWED_SUCCESS';\nexport const MARK_PLAN_REVIEWED_FAILURE = 'MARK_PLAN_REVIEWED_FAILURE';\n\n// Inline NACM (Now Assist Context Menu) refine on the editable review-output\n// draft.\nexport const NACM_INSERT_RECOMMENDATION_CLICKED =\n\t'SN_NACM#INSERT_RECOMMENDATION_CLICKED';\nexport const NACM_DRAFT_REFINE_SKILL_CONFIG_ID =\n\t'e08e3d93ffae8310e98fffffffffff63';\nexport const NACM_DRAFT_REFINE_COMPONENT_KEY =\n\t'now_ai_agent_review_card_draft_refine';\n\nexport const ADD_ALERT_MESSAGE = 'ADD_ALERT_MESSAGE';\nexport const POST_COMMENT_SUCCESS_ALERT_MESSAGE = {\n\tstatus: 'positive',\n\ticon: 'info-circle-outline',\n\tcontent: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Comment was successfully posted',\n\t}),\n\tautoDismissConfig: {\n\t\tenableAutoDismiss: true,\n\t\tduration: 5000,\n\t\tshowTimer: true,\n\t\thideProgressBar: true,\n\t},\n\taction: {\n\t\ttype: 'dismiss',\n\t},\n};\n\nexport const DRAFT_IGNORED_ALERT_MESSAGE = {\n\tstatus: 'warning',\n\ticon: 'exclamation-triangle-fill',\n\tcontent: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Draft was ignored',\n\t}),\n\tautoDismissConfig: {\n\t\tenableAutoDismiss: true,\n\t\tduration: 5000,\n\t\tshowTimer: true,\n\t\thideProgressBar: true,\n\t},\n\taction: {\n\t\ttype: 'dismiss',\n\t},\n};\n\nexport const FEEDBACK_TYPE = {\n\tPOSITIVE: 'positive',\n\tNEGATIVE: 'negative',\n};\n\nexport const LABELS = {\n\tCOPY: t({code: 'sn-ai-engagement-experience', message: 'Copy'}),\n\tCOPIED: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Copied to clipboard',\n\t}),\n\tDEFAULT_HEADER: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Review output',\n\t}),\n\tDISCLAIMER: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Generated by AI. Check for accuracy.',\n\t}),\n\tFIELD_CHANGE_DISCLAIMER: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'These values were directly updated in the record.',\n\t}),\n\tSHOW_MORE: t({code: 'sn-ai-engagement-experience', message: 'Show more'}),\n\tSHOW_LESS: t({code: 'sn-ai-engagement-experience', message: 'Show less'}),\n\tHELPFUL: t({code: 'sn-ai-engagement-experience', message: 'Helpful'}),\n\tNOT_HELPFUL: t({code: 'sn-ai-engagement-experience', message: 'Not Helpful'}),\n\tREVIEW_WORK_NOTE: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Review work note',\n\t}),\n\tDRAFT_RESPONSE: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Draft response',\n\t}),\n\tEDIT: t({code: 'sn-ai-engagement-experience', message: 'Edit'}),\n\tCANCEL: t({code: 'sn-ai-engagement-experience', message: 'Cancel'}),\n\tPOST_COMMENT: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Post it',\n\t}),\n\tPOST_COMMENT_TOOLTIP: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Post this comment',\n\t}),\n\tIGNORE_DRAFT: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Ignore draft',\n\t}),\n};\n\nexport const VARIANT_TYPE = {\n\tTEXTUAL: 'textual',\n\tLINK: 'link',\n\tFIELD_CHANGES: 'field-changes',\n\tLIST: 'list',\n\tMULTIPLE_OUTPUT: 'multiple-output',\n\tACTION_SUMMARY: 'action-summary',\n};\nexport const SHOW_MORE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Show more',\n});\n","import {t} from 'sn-translate';\nimport {dangerouslyCreateElementFromString} from '@servicenow/ui-renderer-snabbdom';\n\nimport DOMPurify from 'dompurify';\nimport {marked} from 'marked';\n\nimport {COPY_TIMEOUT} from './constants';\nimport {normalizeMarkdown} from '../utils/markdown';\n\n/*\n * ===============================================================\n * Output review content utils\n * ===============================================================\n */\n\nexport const markAndSanitize = (content, options) =>\n\tcontent\n\t\t? DOMPurify.sanitize(marked(normalizeMarkdown(content)), options)\n\t\t: '';\n\n/**\n * Converts the review card's HTML content into plain, readable text for\n * editing - `content` here is real HTML (h3/p/ol/li), not markdown, so\n * dropping it straight into a textarea would show literal tags. Block-level\n * tags become line breaks; everything else is stripped.\n */\nexport const htmlToPlainText = (html) => {\n\tif (!html) {\n\t\treturn '';\n\t}\n\tconst withLineBreaks = html\n\t\t.replace(/<\\/(h[1-6]|p|li|div)>/gi, '\\n\\n')\n\t\t.replace(/<br\\s*\\/?>/gi, '\\n');\n\t// RETURN_DOM_FRAGMENT + textContent (rather than the default sanitized-string\n\t// output) is required here so entities decode to their literal characters -\n\t// the default string output re-escapes them (e.g. \"&amp;\" stays \"&amp;\").\n\tconst fragment = DOMPurify.sanitize(withLineBreaks, {\n\t\tALLOWED_TAGS: [],\n\t\tALLOWED_ATTR: [],\n\t\tRETURN_DOM_FRAGMENT: true,\n\t});\n\treturn fragment.textContent.replace(/\\n{3,}/g, '\\n\\n').trim();\n};\n\nexport const getFieldChangeText = (field, value, record, impactful) => {\n\tconst sanitizedField = `<span class=\"field\">${DOMPurify.sanitize(field)}</span>`;\n\tconst sanitizedValue = `<span class=\"value\">${DOMPurify.sanitize(value)}</span>`;\n\tconst sanitizedRecord = `<span class=\"record\">${DOMPurify.sanitize(record)}</span>`;\n\treturn impactful\n\t\t? t(\n\t\t\t\t{\n\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\tmessage:\n\t\t\t\t\t\t'{0} changed to {1}. It has impacted following related records',\n\t\t\t\t},\n\t\t\t\tsanitizedField,\n\t\t\t\tsanitizedValue,\n\t\t\t)\n\t\t: record\n\t\t\t? t(\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\t\t\t\tmessage: '{0}: {1} changed to {2}',\n\t\t\t\t\t},\n\t\t\t\t\tsanitizedRecord,\n\t\t\t\t\tsanitizedField,\n\t\t\t\t\tsanitizedValue,\n\t\t\t\t)\n\t\t\t: t(\n\t\t\t\t\t{code: 'sn-ai-engagement-experience', message: '{0} changed to {1}'},\n\t\t\t\t\tsanitizedField,\n\t\t\t\t\tsanitizedValue,\n\t\t\t\t);\n};\n\nexport const replaceLinks = (content) => {\n\tDOMPurify.addHook('afterSanitizeElements', (node) => {\n\t\tif (node.tagName === 'A') {\n\t\t\tconst {elm: nowTextLink} = dangerouslyCreateElementFromString(\n\t\t\t\t`<now-text-link \n                    label=\"${node.textContent}\" \n                    href=\"${node.href}\" \n                    icon-end=\"open-link-right-outline\" \n                />`,\n\t\t\t);\n\t\t\tnode.replaceWith(nowTextLink);\n\t\t}\n\t});\n\n\tconst sanitizedContent = markAndSanitize(content, {\n\t\tCUSTOM_ELEMENT_HANDLING: {\n\t\t\ttagNameCheck: /^now-/,\n\t\t\tattributeNameCheck: /icon-end/,\n\t\t},\n\t});\n\tDOMPurify.removeHook('afterSanitizeElements');\n\treturn sanitizedContent;\n};\n\n/*\n * ===============================================================\n * Now Assist Context Menu (NACM)\n * ===============================================================\n */\n\n/**\n * NACM composes its recommendation in a rich-text editor, so the value handed\n * back on Insert carries `<br>` wherever the model produced a newline, and\n * potentially other inline markup. The edit textarea is plain text, so those\n * tags would render literally - convert `<br>` back to real line breaks first,\n * then strip any other tags NACM's rich-text output may carry.\n * @param {string} value - The recommendation text from NACM\n * @returns {string} The value with `<br>` tags restored to newlines and any\n * other HTML tags removed\n */\nexport const sanitizeNACMValue = (value) =>\n\t(value ?? '').replace(/<br\\s*\\/?>/gi, '\\n').replace(/<[^>]*>/g, '');\n\n/**\n * Splices refined text into the tracked selection range rather than\n * replacing the whole draft.\n * @param {string} value - The current textarea value\n * @param {string} insertText - The sanitized recommendation text\n * @param {number} selectionStart - Start of the tracked selection\n * @param {number} selectionEnd - End of the tracked selection\n * @returns {string} The value with the selection replaced by insertText\n */\nexport const spliceIntoSelection = (\n\tvalue,\n\tinsertText,\n\tselectionStart,\n\tselectionEnd,\n) =>\n\t`${value.slice(0, selectionStart)}${insertText}${value.slice(selectionEnd)}`;\n\n/**\n * Places the caret on the native textarea after a splice insert. Deferred to\n * the next frame because the state update that changes `editValue` hasn't\n * reached the DOM yet - setting selection immediately would apply to the\n * stale value and be overwritten by the re-render.\n * @param {HTMLTextAreaElement} fieldElement - The native textarea, captured\n * off a prior NOW_TEXTAREA#SELECTION_CHANGED payload\n * @param {number} position - Caret index to restore\n */\nexport const restoreCaretPosition = (fieldElement, position) => {\n\tif (!fieldElement) {\n\t\treturn;\n\t}\n\trequestAnimationFrame(() => {\n\t\tfieldElement.focus();\n\t\tfieldElement.setSelectionRange(position, position);\n\t});\n};\n\n/*\n * ===============================================================\n * Copying content\n * ===============================================================\n */\n\nexport const setCopyRef = (updateState) => (ref) => {\n\tupdateState({copyRef: ref});\n};\n\nexport const copyToClipboard = (element) => {\n\tconst now = Date.now();\n\tconst textContent = element.innerText;\n\tconst wait = () =>\n\t\tnew Promise((resolve) => {\n\t\t\t// We want to wait at least COPY_TIMEOUT ms\n\t\t\tsetTimeout(resolve, COPY_TIMEOUT - (Date.now() - now));\n\t\t});\n\n\tif (typeof ClipboardItem !== 'undefined') {\n\t\tconst item = new ClipboardItem({\n\t\t\t'text/plain': new Blob([textContent], {type: 'text/plain'}),\n\t\t\t'text/html': new Blob([element.innerHTML], {type: 'text/html'}),\n\t\t});\n\t\treturn navigator.clipboard.write([item]).then(wait);\n\t}\n\n\treturn navigator.clipboard.writeText(textContent).then(wait);\n};\n\n/*\n * ===============================================================\n * Intersection observer\n * ===============================================================\n */\nexport const setupIntersectionObserver = (elm, updateState) => {\n\tconst containerReference = elm.firstElementChild;\n\tconst endReference = elm.querySelector('.show-more-anchor');\n\tconst showMoreButton = elm.querySelector('now-button-bare');\n\n\t// Setup intersection observer. If the end reference is visible within the container, hide the button.\n\tconst observer = new IntersectionObserver((entries) => {\n\t\tentries.forEach((entry) => {\n\t\t\t// If everything is shown, hide the button.\n\t\t\t// Except if isExpanded is true, because in this case we would always want to show\n\t\t\t// the \"show less\" button.\n\t\t\tif (entry.isIntersecting) {\n\t\t\t\tshowMoreButton.classList.add('hidden');\n\t\t\t} else {\n\t\t\t\tshowMoreButton.classList.remove('hidden');\n\t\t\t}\n\t\t});\n\t});\n\tconst options = {\n\t\troot: containerReference,\n\t\trootMargin: '0px',\n\t\tthreshold: 0.1,\n\t};\n\tobserver.observe(endReference, options);\n\tupdateState({textual: {observer}});\n};\n\nexport const cleanupIntersectionObserver = (state, updateState) => {\n\tstate.textual?.observer?.disconnect();\n\tupdateState({textual: {observer: null}});\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nconst {COMPONENT_DISCONNECTED} = actionTypes;\n\nimport {\n\tACTION_TYPE,\n\tEDIT_TEXTAREA_IDENTIFIER,\n\tPOST_COMMENT_TABLE_API,\n\tPOST_COMMENT_TABLE_ENDPOINT,\n\tPOST_COMMENT_TABLE_SUCCESS,\n\tPOST_COMMENT_TABLE_FAILURE,\n\tPOST_COMMENT_SUCCESS_ALERT_MESSAGE,\n\tDRAFT_IGNORED_ALERT_MESSAGE,\n\tADD_ALERT_MESSAGE,\n\tUPDATE_PLAN_ENDPOINT,\n\tMARK_PLAN_REVIEWED,\n\tMARK_PLAN_REVIEWED_SUCCESS,\n\tMARK_PLAN_REVIEWED_FAILURE,\n\tNACM_INSERT_RECOMMENDATION_CLICKED,\n\tNACM_DRAFT_REFINE_COMPONENT_KEY,\n} from './constants';\nimport {REVIEW_CARD_EDIT_SAVED} from '../utils/agent-card-constants';\nimport {\n\tcleanupIntersectionObserver,\n\tcopyToClipboard,\n\thtmlToPlainText,\n\trestoreCaretPosition,\n\tsanitizeNACMValue,\n\tspliceIntoSelection,\n} from './utils';\n\nconst BUTTON_BARE_CLICKED = 'NOW_BUTTON_BARE#CLICKED';\nconst BUTTON_STATEFUL_SELECTED = 'NOW_BUTTON_STATEFUL#SELECTED_SET';\nconst BUTTON_CLICKED = 'NOW_BUTTON#CLICKED';\nconst TEXTAREA_INPUT = 'NOW_TEXTAREA#INPUT';\nconst TEXTAREA_VALUE_SET = 'NOW_TEXTAREA#VALUE_SET';\nconst TEXTAREA_SELECTION_CHANGED = 'NOW_TEXTAREA#SELECTION_CHANGED';\nconst DROPDOWN_LIST_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\n\n/**\n * Direct Table API write to the target record's `comments` field - mirrors\n * sn-agentic-supervision's approach, since post-message-only flows don't\n * reliably land a comment in the Activity stream.\n * @type {Function}\n */\nconst postCommentToTable = createHttpEffect(POST_COMMENT_TABLE_ENDPOINT, {\n\tmethod: 'PATCH',\n\tpathParams: ['table', 'sysId'],\n\tdataParam: 'data',\n\tbatch: false,\n\tsuccessActionType: POST_COMMENT_TABLE_SUCCESS,\n\terrorActionType: POST_COMMENT_TABLE_FAILURE,\n});\n\n/**\n * Marks the execution plan as reviewed, moving cardStatus from REVIEW_OUTPUT\n * to COMPLETED. now-ai-status-card's existing execution-plan AMB\n * subscription picks up the resulting state change and refreshes on its own.\n * @type {Function}\n */\nconst markPlanReviewed = createHttpEffect(UPDATE_PLAN_ENDPOINT, {\n\tmethod: 'POST',\n\tdataParam: 'payload',\n\tbatch: false,\n\tsuccessActionType: MARK_PLAN_REVIEWED_SUCCESS,\n\terrorActionType: MARK_PLAN_REVIEWED_FAILURE,\n});\n\nexport const actionHandlers = {\n\t[COMPONENT_DISCONNECTED]: ({state, updateState}) => {\n\t\tcleanupIntersectionObserver(state, updateState);\n\t},\n\t[BUTTON_BARE_CLICKED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {type},\n\t\t\t},\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tif (type === ACTION_TYPE.TOGGLE_EXPANDED) {\n\t\t\t\tconst {expanded} = state.textual;\n\t\t\t\tupdateState({textual: {expanded: !expanded}});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[BUTTON_STATEFUL_SELECTED]: {\n\t\teffect: ({action, state, updateState}) => {\n\t\t\tconst {type} = action.payload;\n\t\t\tif (type === ACTION_TYPE.COPY && !state.copyInFlight) {\n\t\t\t\tupdateState({copyInFlight: true});\n\t\t\t\tcopyToClipboard(state.copyRef).then(() => {\n\t\t\t\t\tupdateState({copyInFlight: false});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[TEXTAREA_INPUT]: ({action: {payload}, updateState}) => {\n\t\tconst {name, fieldValue} = payload;\n\t\tif (name !== EDIT_TEXTAREA_IDENTIFIER) {\n\t\t\treturn;\n\t\t}\n\t\t// Typing invalidates whatever range was last tracked - stale start/end\n\t\t// indexes would splice a NACM insert into the wrong place.\n\t\tupdateState({\n\t\t\teditValue: fieldValue,\n\t\t\tselectedText: '',\n\t\t\tselectionStart: 0,\n\t\t\tselectionEnd: 0,\n\t\t\tselectionField: null,\n\t\t});\n\t},\n\t[TEXTAREA_VALUE_SET]: ({action: {payload}, updateState}) => {\n\t\tconst {name, value} = payload;\n\t\tif (name !== EDIT_TEXTAREA_IDENTIFIER) {\n\t\t\treturn;\n\t\t}\n\t\tupdateState({editValue: value});\n\t},\n\t/**\n\t * Tracks the textarea's current selection so a NACM insert can splice into\n\t * it instead of replacing the whole draft. `fieldElement` is the native\n\t * textarea handed to us directly in the payload - kept around only long\n\t * enough to restore the caret after a splice-based insert.\n\t * @param {Object} options - The handler options\n\t * @param {Object} options.action - The triggered action\n\t * @param {Object} options.action.payload - Action payload\n\t * @param {string} options.action.payload.name - Field name the selection came from\n\t * @param {string} options.action.payload.selection - Currently selected text\n\t * @param {number} options.action.payload.selectionStart - Selection start index\n\t * @param {number} options.action.payload.selectionEnd - Selection end index\n\t * @param {HTMLTextAreaElement} options.action.payload.fieldElement - The native textarea\n\t * @param {Function} options.updateState - Function to update component state\n\t */\n\t[TEXTAREA_SELECTION_CHANGED]: ({action: {payload}, updateState}) => {\n\t\tconst {name, selection, selectionStart, selectionEnd, fieldElement} =\n\t\t\tpayload;\n\t\tif (name !== EDIT_TEXTAREA_IDENTIFIER) {\n\t\t\treturn;\n\t\t}\n\t\tupdateState({\n\t\t\tselectedText: selection,\n\t\t\tselectionStart,\n\t\t\tselectionEnd,\n\t\t\tselectionField: fieldElement,\n\t\t});\n\t},\n\t/**\n\t * NACM's Insert button was clicked on the editable review-output draft -\n\t * apply the refined text in place of what the reviewer was editing, same\n\t * state field the textarea itself writes to.\n\t *\n\t * Note the id lives on `wwnaComponentId`, not `componentKey`: the context\n\t * menu renames it for its MENU / REFINE / CTA / RENDERED events but\n\t * forwards the insert payload untouched. Only enforced when present, so a\n\t * payload without it still inserts rather than silently doing nothing.\n\t * @param {Object} options - The handler options\n\t * @param {Object} options.action - The triggered action\n\t * @param {Object} options.action.payload - Action payload\n\t * @param {string} options.action.payload.value - The refined recommendation text\n\t * @param {string} options.action.payload.wwnaComponentId - Id of the NACM that raised it\n\t * @param {Object} options.state - Current component state\n\t * @param {Function} options.updateState - Function to update component state\n\t */\n\t[NACM_INSERT_RECOMMENDATION_CLICKED]: ({\n\t\taction: {payload},\n\t\tstate,\n\t\tupdateState,\n\t}) => {\n\t\tconst {value, wwnaComponentId} = payload;\n\t\tif (\n\t\t\twwnaComponentId &&\n\t\t\twwnaComponentId !== NACM_DRAFT_REFINE_COMPONENT_KEY\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst sanitized = sanitizeNACMValue(value);\n\t\tif (!sanitized) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst {editValue, selectionStart, selectionEnd, selectionField} = state;\n\t\tconst hasSelection = selectionEnd > selectionStart;\n\n\t\tif (!hasSelection) {\n\t\t\tupdateState({editValue: sanitized});\n\t\t\treturn;\n\t\t}\n\n\t\tconst nextValue = spliceIntoSelection(\n\t\t\teditValue,\n\t\t\tsanitized,\n\t\t\tselectionStart,\n\t\t\tselectionEnd,\n\t\t);\n\t\tconst nextCursor = selectionStart + sanitized.length;\n\n\t\tupdateState({\n\t\t\teditValue: nextValue,\n\t\t\tselectedText: '',\n\t\t\tselectionStart: nextCursor,\n\t\t\tselectionEnd: nextCursor,\n\t\t\tselectionField: null,\n\t\t});\n\t\trestoreCaretPosition(selectionField, nextCursor);\n\t},\n\t[BUTTON_CLICKED]: {\n\t\teffect: ({action, state, properties, dispatch, updateState}) => {\n\t\t\tconst {meta: {appended = {}} = {}} = action;\n\n\t\t\t// Visual placeholders only - navigating to the work note or opening\n\t\t\t// the draft-response flow isn't wired up yet.\n\t\t\tif (\n\t\t\t\tappended[ACTION_TYPE.REVIEW_WORK_NOTE] ||\n\t\t\t\tappended[ACTION_TYPE.DRAFT_RESPONSE]\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (appended[ACTION_TYPE.EDIT]) {\n\t\t\t\tupdateState({\n\t\t\t\t\tisEditing: true,\n\t\t\t\t\teditValue: htmlToPlainText(properties.content),\n\t\t\t\t\teditRows: undefined,\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (appended[ACTION_TYPE.CANCEL_EDIT]) {\n\t\t\t\tupdateState({isEditing: false, editValue: '', editRows: undefined});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (appended[ACTION_TYPE.CONFIRM_EDIT]) {\n\t\t\t\tconst {tableName, sysId, planId, content, messageSysId} = properties;\n\t\t\t\tconst originalPlain = htmlToPlainText(content);\n\t\t\t\tconst commentText = state.editValue || originalPlain;\n\t\t\t\tconst isCorrection =\n\t\t\t\t\tstate.editValue.length > 0 && state.editValue !== originalPlain;\n\n\t\t\t\tupdateState({isEditing: false, submitting: true, editRows: undefined});\n\n\t\t\t\tif (tableName && sysId) {\n\t\t\t\t\tdispatch(POST_COMMENT_TABLE_API, {\n\t\t\t\t\t\ttable: tableName,\n\t\t\t\t\t\tsysId,\n\t\t\t\t\t\tdata: {comments: commentText},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (planId) {\n\t\t\t\t\tconst payload = {planId, reviewed: true};\n\t\t\t\t\tconst wasEdited = Boolean(isCorrection && messageSysId);\n\t\t\t\t\tif (wasEdited) {\n\t\t\t\t\t\tpayload.messageSysId = messageSysId;\n\t\t\t\t\t\tpayload.original = originalPlain;\n\t\t\t\t\t\tpayload.edited = commentText;\n\t\t\t\t\t\tupdateState({pendingEditSave: true});\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(MARK_PLAN_REVIEWED, {payload});\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[DROPDOWN_LIST_CLICKED]: {\n\t\teffect: ({action, properties, dispatch, updateState}) => {\n\t\t\tconst itemId = action?.payload?.item?.id;\n\t\t\tif (itemId !== ACTION_TYPE.IGNORE_DRAFT) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateState({ignoreDraft: true});\n\t\t\tdispatch(ADD_ALERT_MESSAGE, {\n\t\t\t\talertMessage: DRAFT_IGNORED_ALERT_MESSAGE,\n\t\t\t});\n\n\t\t\tconst {planId} = properties;\n\t\t\tif (planId) {\n\t\t\t\tdispatch(MARK_PLAN_REVIEWED, {\n\t\t\t\t\tpayload: {planId, reviewed: true, ignoreDraft: true},\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[POST_COMMENT_TABLE_API]: postCommentToTable,\n\t[POST_COMMENT_TABLE_SUCCESS]: ({dispatch, updateState}) => {\n\t\tupdateState({submitting: false});\n\t\tdispatch(ADD_ALERT_MESSAGE, {\n\t\t\talertMessage: POST_COMMENT_SUCCESS_ALERT_MESSAGE,\n\t\t});\n\t},\n\t[POST_COMMENT_TABLE_FAILURE]: ({updateState}) => {\n\t\tupdateState({submitting: false});\n\t},\n\t[MARK_PLAN_REVIEWED]: markPlanReviewed,\n\t// Bubbles up so the parent (now-ai-status-card) can invalidate its\n\t// outputReview cache and re-fetch get_activity, which now substitutes\n\t// the supervisor's edited text server-side. Keeps in-session and\n\t// reload flows on the same code path (single source of truth).\n\t// Only needed when the review actually included an edit.\n\t[MARK_PLAN_REVIEWED_SUCCESS]: ({\n\t\tdispatch,\n\t\tstate,\n\t\tupdateState,\n\t\tproperties,\n\t}) => {\n\t\tif (state.pendingEditSave) {\n\t\t\tupdateState({pendingEditSave: false});\n\t\t\tdispatch(REVIEW_CARD_EDIT_SAVED, {\n\t\t\t\tmessageSysId: properties.messageSysId,\n\t\t\t\tedited: state.editValue,\n\t\t\t});\n\t\t}\n\t},\n\t[MARK_PLAN_REVIEWED_FAILURE]: ({state, updateState}) => {\n\t\tif (state.pendingEditSave) {\n\t\t\tupdateState({pendingEditSave: false});\n\t\t}\n\t},\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"debounce\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.__esModule\n\t\t\t\t\tif (cjsModule && 'debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].debounce;\n\t\t\t\t\t} else if ('debounce' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.debounce || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].debounce;\n\t\t\t\t}, [\"isEmpty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].isEmpty;\n\t\t\t\t\t} else if ('isEmpty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.isEmpty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].isEmpty;\n\t\t\t\t}, [\"isEqual\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.__esModule\n\t\t\t\t\tif (cjsModule && 'isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].isEqual;\n\t\t\t\t\t} else if ('isEqual' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__.isEqual || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__[\"default\"].isEqual;\n\t\t\t\t} });","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\nimport {isEmpty} from '@devsnc/snowdash';\n\nimport '@servicenow/now-card';\nimport '@servicenow/now-button';\nimport '@servicenow/now-label-value';\n\nimport {ACTION_TYPE, LABELS, SHOW_MORE, VARIANT_TYPE} from './constants';\nimport {\n\tcleanupIntersectionObserver,\n\tgetFieldChangeText,\n\tmarkAndSanitize,\n\treplaceLinks,\n\tsetCopyRef,\n\tsetupIntersectionObserver,\n} from './utils';\nimport {\n\tmarkSanitizeWithCitations,\n\treplaceCitationBadges,\n} from '../sn-agentic-citation/utils';\nimport '../sn-agentic-citation';\n\nconst renderTextual = (state, content, updateState, citationsData, edited) => (\n\t<div\n\t\tclass={{textual: true, expanded: state.expanded}}\n\t\thook-insert={({elm}) => {\n\t\t\tsetupIntersectionObserver(elm, updateState);\n\t\t\treplaceCitationBadges(elm, citationsData);\n\t\t}}\n\t\thook-remove={(vnode, removeCallback) => {\n\t\t\tcleanupIntersectionObserver(state, updateState);\n\t\t\tremoveCallback();\n\t\t}}\n\t>\n\t\t<div className=\"textual-body\">\n\t\t\t<div\n\t\t\t\tinnerHTML={markSanitizeWithCitations(content)}\n\t\t\t\tref={setCopyRef(updateState)}\n\t\t\t/>\n\t\t\t<div className=\"show-more-anchor\" />\n\t\t\t{edited !== true && citationsData?.length > 0 && (\n\t\t\t\t<sn-agentic-citation citationsData={citationsData} />\n\t\t\t)}\n\t\t</div>\n\t\t<now-button-bare\n\t\t\tclassName=\"show-more-button\"\n\t\t\tlabel={state.expanded ? LABELS.SHOW_LESS : LABELS.SHOW_MORE}\n\t\t\tsize=\"sm\"\n\t\t\tappend-to-payload={{type: ACTION_TYPE.TOGGLE_EXPANDED}}\n\t\t/>\n\t</div>\n);\n\nconst renderLink = (content, updateState) => (\n\t<div\n\t\tclassName=\"link\"\n\t\tinnerHTML={replaceLinks(content)}\n\t\tref={setCopyRef(updateState)}\n\t/>\n);\n\nconst renderFieldChanges = ({changes}, updateState) => {\n\tconst hasNested = changes.some(\n\t\t({impactedRecords}) => !isEmpty(impactedRecords),\n\t);\n\n\tlet changeContent;\n\tif (!hasNested) {\n\t\tchangeContent = (\n\t\t\t<ul>\n\t\t\t\t{changes.map(({fieldName, newValue}) => {\n\t\t\t\t\tconst fieldChangeText = getFieldChangeText(fieldName, newValue);\n\t\t\t\t\treturn <li key={fieldName} innerHTML={fieldChangeText} />;\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t} else {\n\t\tchangeContent = (\n\t\t\t<Fragment>\n\t\t\t\t{changes.map(({fieldName, newValue, impactedRecords}) => {\n\t\t\t\t\tconst nested = !isEmpty(impactedRecords);\n\t\t\t\t\tconst rootFieldChangeText = getFieldChangeText(\n\t\t\t\t\t\tfieldName,\n\t\t\t\t\t\tnewValue,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\tnested,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (!nested) {\n\t\t\t\t\t\treturn <div key={fieldName} innerHTML={rootFieldChangeText} />;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={fieldName} innerHTML={rootFieldChangeText}>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{impactedRecords.map(({record, changes}) => {\n\t\t\t\t\t\t\t\t\tif (!isEmpty(changes)) {\n\t\t\t\t\t\t\t\t\t\treturn changes.map(({fieldName, newValue}) => {\n\t\t\t\t\t\t\t\t\t\t\tconst fieldChangeText = getFieldChangeText(\n\t\t\t\t\t\t\t\t\t\t\t\tfieldName,\n\t\t\t\t\t\t\t\t\t\t\t\tnewValue,\n\t\t\t\t\t\t\t\t\t\t\t\trecord,\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\treturn <li key={fieldName} innerHTML={fieldChangeText} />;\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</Fragment>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"field-changes\">\n\t\t\t<div ref={setCopyRef(updateState)}>{changeContent}</div>\n\t\t\t<div className=\"field-changes-disclaimer\">\n\t\t\t\t{LABELS.FIELD_CHANGE_DISCLAIMER}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nconst renderList = ({description, items}, updateState) => (\n\t<div className=\"list\" ref={setCopyRef(updateState)}>\n\t\t<div className=\"list-description\" textContent={description} />\n\t\t<div className=\"list-items\">\n\t\t\t{items.map(({header, values}) => (\n\t\t\t\t<now-card hide-shadow>\n\t\t\t\t\t<now-card-header heading={{label: header}} />\n\t\t\t\t\t<now-label-value-stacked\n\t\t\t\t\t\tclassName=\"now-m-block-start--xs\"\n\t\t\t\t\t\titems={values.map(({label, value}) => ({\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}))}\n\t\t\t\t\t\talign=\"horizontal-equal\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\twrapped\n\t\t\t\t\t/>\n\t\t\t\t</now-card>\n\t\t\t))}\n\t\t</div>\n\t\t<div className=\"list-actions\">\n\t\t\t<now-button label={SHOW_MORE} size=\"sm\" variant=\"tertiary\" />\n\t\t</div>\n\t</div>\n);\n\nexport const renderVariant = (state, updateState) => {\n\tconst {variant, content, citationsData, edited} = state.properties;\n\n\tswitch (variant) {\n\t\tcase VARIANT_TYPE.TEXTUAL:\n\t\tcase VARIANT_TYPE.ACTION_SUMMARY:\n\t\t\treturn renderTextual(\n\t\t\t\tstate.textual,\n\t\t\t\tcontent,\n\t\t\t\tupdateState,\n\t\t\t\tcitationsData,\n\t\t\t\tedited,\n\t\t\t);\n\t\tcase VARIANT_TYPE.LINK:\n\t\t\treturn renderLink(content, updateState);\n\t\tcase VARIANT_TYPE.FIELD_CHANGES:\n\t\t\treturn renderFieldChanges(content, updateState);\n\t\tcase VARIANT_TYPE.LIST:\n\t\t\treturn renderList(content, updateState);\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-card';\nimport '@servicenow/now-button';\nimport '@servicenow/now-textarea';\nimport '@servicenow/now-loader';\nimport '@servicenow/now-dropdown';\nimport '@devsnc/sn-feedback';\nimport '@devsnc/sn-wwna';\n\nimport {renderVariant} from './variants';\nimport {\n\tACTION_TYPE,\n\tEDIT_TEXTAREA_FALLBACK_LINE_HEIGHT,\n\tEDIT_TEXTAREA_HEIGHT_MEASURE_DELAY,\n\tEDIT_TEXTAREA_IDENTIFIER,\n\tEDIT_TEXTAREA_MIN_ROWS,\n\tLABELS,\n\tVARIANT_TYPE,\n\tNACM_DRAFT_REFINE_SKILL_CONFIG_ID,\n\tNACM_DRAFT_REFINE_COMPONENT_KEY,\n} from './constants';\nimport {buildFeedbackFromConfig} from '../utils/feedback-utils';\nimport {\n\tCARD_TYPE,\n\tCARD_TYPE_CLASS,\n\tCARD_UI_STATES,\n} from '../utils/agent-card-constants';\n\nconst renderHeader = ({copyInFlight, properties: {headerLabel}}) => (\n\t<div className=\"card-header\">\n\t\t<div className=\"card-header-title\" textContent={headerLabel} />\n\t\t<div className=\"card-header-actions\">\n\t\t\t<now-button-stateful\n\t\t\t\ticon=\"clone-outline\"\n\t\t\t\tbare\n\t\t\t\tsize=\"md\"\n\t\t\t\tvariant=\"tertiary\"\n\t\t\t\tconfig-aria={{\n\t\t\t\t\tbutton: {\n\t\t\t\t\t\t'aria-label': copyInFlight ? LABELS.COPIED : LABELS.COPY,\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\tselected={copyInFlight}\n\t\t\t\tappend-to-payload={{type: ACTION_TYPE.COPY}}\n\t\t\t\ttooltip-content={copyInFlight ? LABELS.COPIED : LABELS.COPY}\n\t\t\t/>\n\t\t</div>\n\t</div>\n);\n\nconst isEditableOutput = ({variant, cardStatus, editable, reviewed}) =>\n\tvariant === VARIANT_TYPE.TEXTUAL &&\n\teditable !== false &&\n\t// Show edit/post-it actions while awaiting review, and also once\n\t// auto-completed by staleness (reviewed=false) so the draft can still\n\t// be acted on. An explicitly-reviewed COMPLETED card (reviewed=true)\n\t// hides them.\n\t(cardStatus === CARD_UI_STATES.REVIEW_OUTPUT ||\n\t\t(cardStatus === CARD_UI_STATES.COMPLETED && reviewed !== true));\n\n// Ignoring doesn't post a comment to the target record (unlike \"Yes, post\n// it\"), so cardStatus may never move off REVIEW_OUTPUT on its own - checked\n// independently of isEditableOutput so Edit/Post stay hidden regardless.\n// state.ignoreDraft is the local optimistic flag (instant on click);\n// state.properties.ignoreDraft is the persisted value (survives a reload).\nconst isDraftIgnored = (state) =>\n\tBoolean(state.ignoreDraft || state.properties.ignoreDraft);\n\n// now-textarea's autoresize only tracks current content, so it shrinks\n// back down to `rows` as soon as the draft is emptied. Measuring the\n// height it grows to for the starting content and feeding that back in\n// as `rows` gives it a floor that persists for the rest of the edit\n// session, so clearing the text doesn't collapse the box.\nconst measureEditTextareaRows = (elm, updateState) => {\n\tsetTimeout(() => {\n\t\tconst textarea = elm.shadowRoot?.querySelector('textarea');\n\t\tif (!textarea) {\n\t\t\treturn;\n\t\t}\n\t\tconst lineHeight =\n\t\t\tparseFloat(getComputedStyle(textarea).lineHeight) ||\n\t\t\tEDIT_TEXTAREA_FALLBACK_LINE_HEIGHT;\n\t\tconst rows = Math.max(\n\t\t\tEDIT_TEXTAREA_MIN_ROWS,\n\t\t\tMath.ceil(textarea.offsetHeight / lineHeight),\n\t\t);\n\t\tupdateState({editRows: rows});\n\t}, EDIT_TEXTAREA_HEIGHT_MEASURE_DELAY);\n};\n\nconst renderBody = (state, updateState) => {\n\tconst {isEditing, editValue, selectedText, isNacmVisible, editRows} = state;\n\tconst {tableName, sysId} = state.properties;\n\tif (isEditing) {\n\t\treturn (\n\t\t\t<div className=\"card-body card-body-edit\">\n\t\t\t\t<now-textarea\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\trows={editRows || EDIT_TEXTAREA_MIN_ROWS}\n\t\t\t\t\tautoresize\n\t\t\t\t\tdisable-max-height\n\t\t\t\t\tenable-caret-slot\n\t\t\t\t\tname={EDIT_TEXTAREA_IDENTIFIER}\n\t\t\t\t\tvalue={editValue}\n\t\t\t\t\ton-focusin={() => updateState({isNacmVisible: true})}\n\t\t\t\t\ton-focusout={() => {\n\t\t\t\t\t\tif (state.skipBlurForNacmRef.value) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdateState({isNacmVisible: false});\n\t\t\t\t\t}}\n\t\t\t\t\thook-insert={({elm}) => measureEditTextareaRows(elm, updateState)}\n\t\t\t\t>\n\t\t\t\t\t<sn-now-assist-context-menu\n\t\t\t\t\t\tslot=\"caret\"\n\t\t\t\t\t\tclassName={isNacmVisible ? '' : 'hidden'}\n\t\t\t\t\t\tdocument-sys-id={sysId}\n\t\t\t\t\t\tdrafted-text={editValue}\n\t\t\t\t\t\tselected-text={selectedText}\n\t\t\t\t\t\tcaller=\"workspace\"\n\t\t\t\t\t\tskill-config-id={NACM_DRAFT_REFINE_SKILL_CONFIG_ID}\n\t\t\t\t\t\tcomponent-key={NACM_DRAFT_REFINE_COMPONENT_KEY}\n\t\t\t\t\t\ttrigger-props={{size: 'sm'}}\n\t\t\t\t\t\ton-mousedown={() => {\n\t\t\t\t\t\t\tconst skipRef = state.skipBlurForNacmRef;\n\t\t\t\t\t\t\tskipRef.value = true;\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tskipRef.value = false;\n\t\t\t\t\t\t\t}, 200);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</now-textarea>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn <div className=\"card-body\">{renderVariant(state, updateState)}</div>;\n};\n\nconst renderIgnoreDraftMenu = () => (\n\t<now-dropdown\n\t\tclassName=\"card-ignore-draft-menu\"\n\t\titems={[{id: ACTION_TYPE.IGNORE_DRAFT, label: LABELS.IGNORE_DRAFT}]}\n\t\tselect=\"none\"\n\t\ticon=\"ellipsis-v-outline\"\n\t\tvariant=\"tertiary\"\n\t\tsize=\"sm\"\n\t\thide-caret\n\t\tsearch=\"none\"\n\t\ttooltip-content={LABELS.IGNORE_DRAFT}\n\t\tconfig-aria={{\n\t\t\tbutton: {\n\t\t\t\t'aria-label': LABELS.IGNORE_DRAFT,\n\t\t\t\t'aria-haspopup': 'true',\n\t\t\t},\n\t\t}}\n\t/>\n);\n\nconst renderEditActions = (state) => {\n\tconst {isEditing, submitting, editValue} = state;\n\tconst {content} = state.properties;\n\n\tif (isDraftIgnored(state)) {\n\t\treturn null;\n\t}\n\n\tif (!isEditableOutput(state.properties)) {\n\t\treturn null;\n\t}\n\n\tconst commentText = isEditing ? editValue : content;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"card-action-button-container\">\n\t\t\t\t{isEditing ? (\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabel={LABELS.CANCEL}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tappend-to-meta={{[ACTION_TYPE.CANCEL_EDIT]: true}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<now-button\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tlabel={LABELS.EDIT}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tappend-to-meta={{[ACTION_TYPE.EDIT]: true}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div className=\"card-action-button-container\">\n\t\t\t\t<now-button\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tlabel={LABELS.POST_COMMENT}\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={!commentText || submitting}\n\t\t\t\t\tappend-to-meta={{[ACTION_TYPE.CONFIRM_EDIT]: true}}\n\t\t\t\t\ttooltip-content={LABELS.POST_COMMENT_TOOLTIP}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{submitting && <now-loader size=\"md\" />}\n\t\t\t{!isEditing && renderIgnoreDraftMenu()}\n\t\t</Fragment>\n\t);\n};\n\nconst renderActionSummaryButtons = () => (\n\t<Fragment>\n\t\t<now-button\n\t\t\tsize=\"sm\"\n\t\t\tlabel={LABELS.REVIEW_WORK_NOTE}\n\t\t\tvariant=\"secondary\"\n\t\t\tappend-to-meta={{[ACTION_TYPE.REVIEW_WORK_NOTE]: true}}\n\t\t/>\n\t\t<now-button\n\t\t\tsize=\"sm\"\n\t\t\tlabel={LABELS.DRAFT_RESPONSE}\n\t\t\tvariant=\"primary\"\n\t\t\tappend-to-meta={{[ACTION_TYPE.DRAFT_RESPONSE]: true}}\n\t\t/>\n\t</Fragment>\n);\n\nconst renderFooter = (state) => {\n\tconst {feedback, copyInFlight} = state;\n\tconst {cardType, hideDisclaimer, feedbackConfig, variant} = state.properties;\n\tconst isInline = cardType === CARD_TYPE.INLINE;\n\tconst isActionSummary = variant === VARIANT_TYPE.ACTION_SUMMARY;\n\tconst positiveFeedback = buildFeedbackFromConfig(feedbackConfig, 'positive');\n\tconst negativeFeedback = buildFeedbackFromConfig(feedbackConfig, 'negative');\n\n\tif (isInline) {\n\t\treturn (\n\t\t\t<div className=\"card-footer\">\n\t\t\t\t<div className=\"card-footer-actions\">\n\t\t\t\t\t<div className=\"card-footer-actions-left\">\n\t\t\t\t\t\t{isActionSummary && renderActionSummaryButtons()}\n\t\t\t\t\t\t{renderEditActions(state)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"card-footer-actions-right\">\n\t\t\t\t\t\t<now-button-stateful\n\t\t\t\t\t\t\ticon=\"clone-outline\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\tsize=\"md\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': copyInFlight ? LABELS.COPIED : LABELS.COPY,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tselected={copyInFlight}\n\t\t\t\t\t\t\tappend-to-payload={{type: ACTION_TYPE.COPY}}\n\t\t\t\t\t\t\ttooltip-content={copyInFlight ? LABELS.COPIED : LABELS.COPY}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"card-feedback\">\n\t\t\t\t\t\t\t<sn-feedback\n\t\t\t\t\t\t\t\tfeedback={feedback}\n\t\t\t\t\t\t\t\tpositiveFeedback={positiveFeedback}\n\t\t\t\t\t\t\t\tnegativeFeedback={negativeFeedback}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"card-custom-actions\">\n\t\t\t\t\t\t\t<slot name=\"footer-actions\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{!hideDisclaimer && (\n\t\t\t\t\t<div className=\"card-footer-disclaimer\">\n\t\t\t\t\t\t<div className=\"card-disclaimer\">{LABELS.DISCLAIMER}</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst hasFooterActions =\n\t\t!isDraftIgnored(state) &&\n\t\t(isActionSummary || isEditableOutput(state.properties));\n\n\tif (!hideDisclaimer || hasFooterActions) {\n\t\treturn (\n\t\t\t<div className=\"card-footer\">\n\t\t\t\t{hasFooterActions && (\n\t\t\t\t\t<div className=\"card-footer-actions\">\n\t\t\t\t\t\t{isActionSummary && renderActionSummaryButtons()}\n\t\t\t\t\t\t{renderEditActions(state)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!hideDisclaimer && (\n\t\t\t\t\t<div className=\"card-footer-disclaimer-row\">\n\t\t\t\t\t\t<div className=\"card-disclaimer\">{LABELS.DISCLAIMER}</div>\n\t\t\t\t\t\t<div className=\"card-feedback\">\n\t\t\t\t\t\t\t<sn-feedback\n\t\t\t\t\t\t\t\tfeedback={feedback}\n\t\t\t\t\t\t\t\tpositiveFeedback={positiveFeedback}\n\t\t\t\t\t\t\t\tnegativeFeedback={negativeFeedback}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn null;\n};\n\nexport default (state, {updateState}) => {\n\tconst {renderAsCard, cardType} = state.properties;\n\tconst isInline = cardType === CARD_TYPE.INLINE;\n\n\tconst content = (\n\t\t<div className={`now-ai-agent-review-card ${CARD_TYPE_CLASS[cardType]}`}>\n\t\t\t<div className=\"card-content\">\n\t\t\t\t{!isInline && renderHeader(state)}\n\t\t\t\t{renderBody(state, updateState)}\n\t\t\t</div>\n\t\t\t{renderFooter(state)}\n\t\t</div>\n\t);\n\n\treturn renderAsCard ? (\n\t\t<now-card size=\"sm\" sidebar={{color: 'ai', variant: 'primary'}}>\n\t\t\t{content}\n\t\t</now-card>\n\t) : (\n\t\tcontent\n\t);\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {actionHandlers} from './actionHandlers';\n\nimport {LABELS} from './constants';\nimport view from './view';\nimport styles from './styles.scss';\n\nexport default createCustomElement('now-ai-agent-review-card', {\n\tinitialState: {\n\t\tcopyRef: null,\n\t\tcopyInFlight: false,\n\t\tfeedback: null,\n\t\ttextual: {\n\t\t\texpanded: false,\n\t\t\tobserver: null,\n\t\t},\n\t\tisEditing: false,\n\t\teditValue: '',\n\t\tselectedText: '',\n\t\tselectionStart: 0,\n\t\tselectionEnd: 0,\n\t\tselectionField: null,\n\t\tisNacmVisible: false,\n\t\tskipBlurForNacmRef: {value: false},\n\t\tsubmitting: false,\n\t\tpendingEditSave: false,\n\t\tignoreDraft: false,\n\t},\n\tview,\n\tstyles,\n\tactionHandlers,\n\tproperties: {\n\t\t// Header properties\n\t\theaderLabel: {default: LABELS.DEFAULT_HEADER},\n\t\treasoningData: {default: ''},\n\t\tcitationsData: {default: null},\n\t\tedited: {default: false},\n\n\t\t// Body properties\n\t\tcontent: {default: ''},\n\n\t\t// Styling properties\n\t\tvariant: {default: 'textual'},\n\t\trenderAsCard: {default: false},\n\t\thideDisclaimer: {default: false},\n\t\tcardType: {default: ''},\n\n\t\t// Feedback configuration from current-runs API\n\t\tfeedbackConfig: {default: null},\n\n\t\t// Edit/review properties - only used while cardStatus is REVIEW_OUTPUT\n\t\t// (see CARD_UI_STATES), the one moment between the AI finishing and the\n\t\t// output being marked reviewed.\n\t\tcardStatus: {default: ''},\n\t\teditable: {default: true},\n\t\treviewed: {default: false},\n\t\ttableName: {default: ''},\n\t\tsysId: {default: ''},\n\t\tplanId: {default: ''},\n\t\tmessageSysId: {default: ''},\n\n\t\t// Persisted outcome of the ignore-draft action - keeps Edit/Post\n\t\t// hidden after a reload, once the local optimistic state is gone.\n\t\t// Ignoring doesn't post a comment to the target record (unlike the\n\t\t// \"Post it\" flow), so cardStatus may never move off\n\t\t// REVIEW_OUTPUT on its own - this can't rely on isEditableOutput alone.\n\t\tignoreDraft: {default: false},\n\t},\n});\n","import {Fragment} from '@servicenow/ui-renderer-snabbdom';\n\nimport '@servicenow/now-button';\nimport '@servicenow/now-label-value';\nimport '@servicenow/now-highlighted-value';\nimport '@servicenow/now-card';\nimport '@servicenow/now-popover';\nimport {t} from 'sn-translate';\nimport '../now-ai-stepper';\nimport './status-card-popover-content';\nimport {REVIEW_OUTPUT, OUTPUT_REVIEW} from './constants';\nimport {\n\tCARD_UI_STATES,\n\tCARD_TYPE,\n\tCARD_UI_STATE_CLASS,\n\tRENDER_SUPERVISION_STATES,\n} from '../utils/agent-card-constants';\nimport {renderStatusMessage, renderUserInfo, renderTimingDiv} from './helper';\nimport {isInputNeeded} from '../utils';\nimport '../sn-agentic-supervision';\nimport '../sn-conversation-transcript';\nimport '../now-ai-agent-review-card';\n\nconst SPARKLE_ICON = 'ai-sparkle-fill';\nconst SPARKLE_ANIMATION =\n\t'/images/@servicenow/now-animation/interactive-sparkle/index.json';\nconst LOADING_ANIMATION =\n\t'/images/@servicenow/now-loader/custom-default-spinner-lg-254x80/index.json';\n\nconst INLINE_HEADER_ICON = {\n\t[CARD_UI_STATES.IN_PROGRESS]: 'ai-sparkle-fill',\n\t[CARD_UI_STATES.INPUT_NEEDED_FULFILLER]: 'circle-pause-outline',\n\t[CARD_UI_STATES.INPUT_NEEDED_REQUESTER]: 'circle-pause-outline',\n\t[CARD_UI_STATES.FAILED]: 'triangle-exclamation-outline',\n\t[CARD_UI_STATES.CANCELLED]: 'triangle-exclamation-outline',\n\t[CARD_UI_STATES.REVIEW_OUTPUT]: 'circle-check-outline',\n\t[CARD_UI_STATES.COMPLETED]: 'circle-check-outline',\n\t[CARD_UI_STATES.INCOMPLETE]: 'triangle-exclamation-outline',\n};\n\nexport default (state) => {\n\tconst {\n\t\tusecaseData,\n\t\tisComponentVisible,\n\t\tcollapsed,\n\t\toutputReview,\n\t\tinlinePopoverOpened,\n\t\tisCancelSupported,\n\t\tobjective,\n\t\tstateLabelData,\n\t} = state;\n\n\tif (!usecaseData || Object.keys(usecaseData).length === 0) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tusecaseName,\n\t\tsteps,\n\t\tmessages,\n\t\ttranscriptData,\n\t\tconversationUser,\n\t\tstate: cardStatus,\n\t} = usecaseData;\n\tconst {\n\t\tcardType,\n\t\thideDisclaimer,\n\t\texperience,\n\t\tplanId,\n\t\tviewStepsInModal,\n\t\thideCancel,\n\t\thideRestart,\n\t\tfeedbackConfig,\n\t} = state.properties;\n\n\tconst isClassic = experience === 'Core UI';\n\tconst userInfo = usecaseData?.userInfo || {};\n\tconst managerInfo = usecaseData?.managerInfo || {};\n\tconst {activeMessageId, extractedMessages} = messages ?? {};\n\n\tconst conversationData = {\n\t\tactiveMessageId,\n\t\textractedMessages,\n\t\ttranscriptData,\n\t\tconversationUser,\n\t};\n\n\tconst renderStatusCardPopover = () => {\n\t\tconst planData = {\n\t\t\tusecaseId: usecaseData?.usecaseId,\n\t\t\tconversationId: usecaseData?.conversationId,\n\t\t\ttableName: usecaseData?.tableName,\n\t\t\tsysId: usecaseData?.sysId,\n\t\t\tobjective,\n\t\t\tcreatedOn: usecaseData?.createdOn,\n\t\t\tusecaseName: usecaseData?.usecaseName,\n\t\t\teta: usecaseData?.eta,\n\t\t\texecutionTime: usecaseData?.executionTime,\n\t\t\tplanId,\n\t\t\tconversationData,\n\t\t};\n\n\t\treturn (\n\t\t\t<now-popover\n\t\t\t\thide-tail\n\t\t\t\tpositions={[{target: 'bottom-end', content: 'top-end'}]}\n\t\t\t\tinteraction=\"combo\"\n\t\t\t\tmanage-opened\n\t\t\t\topened={inlinePopoverOpened}\n\t\t\t\tappend-to-meta={{id: 'inline-ai-card-popover'}}\n\t\t\t>\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tbare\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\ticon=\"ellipsis-v-outline\"\n\t\t\t\t\tslot=\"trigger\"\n\t\t\t\t/>\n\t\t\t\t<status-card-popover-content\n\t\t\t\t\tslot=\"content\"\n\t\t\t\t\tstateLabelData={stateLabelData?.[cardStatus]}\n\t\t\t\t\tcardStatus={cardStatus}\n\t\t\t\t\tuserInfo={userInfo}\n\t\t\t\t\tisCancelSupported={isCancelSupported}\n\t\t\t\t\tplanData={planData}\n\t\t\t\t\texperience={experience}\n\t\t\t\t\tmanagerInfo={managerInfo}\n\t\t\t\t\tviewStepsInModal={viewStepsInModal}\n\t\t\t\t\tisWorker={usecaseData?.isWorker}\n\t\t\t\t\thideCancel={hideCancel}\n\t\t\t\t\thideRestart={hideRestart}\n\t\t\t\t/>\n\t\t\t</now-popover>\n\t\t);\n\t};\n\n\tconst headerIcon =\n\t\tcardStatus === CARD_UI_STATES.REVIEW_OUTPUT\n\t\t\t? SPARKLE_ICON\n\t\t\t: SPARKLE_ANIMATION;\n\tconst latestStep = steps?.length > 0 && steps[steps.length - 1];\n\tconst latestStepLabel = latestStep?.label || latestStep?.stepTitle;\n\n\tconst headerMessage = (\n\t\t<div>\n\t\t\t<strong>{usecaseName}</strong>\n\t\t</div>\n\t);\n\n\tconst renderChevron = () => {\n\t\tconst ariaLabel = usecaseName\n\t\t\t? t({code: 'sn-ai-engagement-experience', message: 'Open {0} details'}, [\n\t\t\t\t\tusecaseName,\n\t\t\t\t])\n\t\t\t: t({code: 'sn-ai-engagement-experience', message: 'Open details'});\n\t\tconst tooltipText = t({\n\t\t\tcode: 'sn-ai-engagement-experience',\n\t\t\tmessage: 'Open details',\n\t\t});\n\n\t\tif (cardType !== CARD_TYPE.OVERVIEW) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"chevron-button-container\">\n\t\t\t\t<now-button-iconic\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tbare\n\t\t\t\t\tappend-to-payload={{type: 'expandStepper', label: 'Expand Stepper'}}\n\t\t\t\t\ticon=\"chevron-end-outline\"\n\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t'aria-label': ariaLabel,\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\ttooltipContent={tooltipText}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t};\n\n\tconst overviewContent = () => (\n\t\t<Fragment>\n\t\t\t<div slot=\"status-message\">\n\t\t\t\t{!(\n\t\t\t\t\tcardStatus === CARD_UI_STATES.IN_PROGRESS &&\n\t\t\t\t\tcardType === CARD_TYPE.OVERVIEW\n\t\t\t\t) && renderStatusMessage(stateLabelData?.[cardStatus])}\n\t\t\t</div>\n\t\t\t<div slot=\"stepper-actions\">{renderChevron()}</div>\n\t\t\t<div slot=\"supervised\">\n\t\t\t\t{renderUserInfo(userInfo, managerInfo, usecaseData?.isWorker)}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tslot=\"supervised-step-eta\"\n\t\t\t\tclass={{\n\t\t\t\t\t'step-eta-container': true,\n\t\t\t\t\t'-overview': cardType === CARD_TYPE.OVERVIEW,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{renderTimingDiv(usecaseData)}\n\t\t\t</div>\n\t\t</Fragment>\n\t);\n\n\tconst renderSupervision = (uiState, convData, ucData) => {\n\t\tconst isMine = ucData?.isMine;\n\t\tconst isWebClient = ucData?.isWebClient;\n\t\tconst isNAP = isMine && isWebClient;\n\t\tif (!RENDER_SUPERVISION_STATES.has(uiState)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"review-wrapper\">\n\t\t\t\t<div className=\"review-container\">\n\t\t\t\t\t{uiState === CARD_UI_STATES.IN_PROGRESS ? null : (\n\t\t\t\t\t\t<sn-agentic-supervision\n\t\t\t\t\t\t\tconversationData={convData}\n\t\t\t\t\t\t\tusecaseData={ucData}\n\t\t\t\t\t\t\trenderAsCard={cardType === CARD_TYPE.DETAILED}\n\t\t\t\t\t\t\thideDisclaimer={hideDisclaimer}\n\t\t\t\t\t\t\tisNAP={isNAP}\n\t\t\t\t\t\t\tisClassic={isClassic}\n\t\t\t\t\t\t\tisWorker={ucData?.isWorker}\n\t\t\t\t\t\t\tisWorkerSupervised={ucData?.isWorkerSupervised}\n\t\t\t\t\t\t\tcardType={cardType}\n\t\t\t\t\t\t\tfeedbackConfig={feedbackConfig}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cardType === CARD_TYPE.INLINE && (\n\t\t\t\t\t\t\t\t<div slot=\"footer-actions\">{renderStatusCardPopover()}</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</sn-agentic-supervision>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\tconst renderOutputReview = (outputReviewState) => {\n\t\tif (\n\t\t\tcardStatus !== CARD_UI_STATES.REVIEW_OUTPUT &&\n\t\t\tcardStatus !== CARD_UI_STATES.COMPLETED &&\n\t\t\tcardStatus !== CARD_UI_STATES.INCOMPLETE\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst {data = null, loading = true} = outputReviewState || {};\n\t\tconst renderEmpty = loading || !data;\n\n\t\tlet reviewContent = null;\n\t\tif (renderEmpty) {\n\t\t\tif (loading && cardType === CARD_TYPE.INLINE) {\n\t\t\t\treviewContent = (\n\t\t\t\t\t<now-loader-skeleton className=\"review-skeleton-loader\" />\n\t\t\t\t);\n\t\t\t} else if (loading) {\n\t\t\t\treviewContent = (\n\t\t\t\t\t<div className=\"review-empty-state\">\n\t\t\t\t\t\t<div className=\"review-loader-label\">{OUTPUT_REVIEW.LOADING}</div>\n\t\t\t\t\t\t<now-loader-skeleton className=\"review-skeleton-loader\" />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treviewContent = (\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\tclassName=\"review-empty-state\"\n\t\t\t\t\t\theading={{label: ''}}\n\t\t\t\t\t\tcontent={OUTPUT_REVIEW.NO_OUTPUT}\n\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst {\n\t\t\t\tvariant,\n\t\t\t\tcontent,\n\t\t\t\tcitationsData,\n\t\t\t\teditable,\n\t\t\t\tmessageSysId,\n\t\t\t\tedited,\n\t\t\t\tignoreDraft,\n\t\t\t\treviewed,\n\t\t\t} = data;\n\t\t\treviewContent = (\n\t\t\t\t<now-ai-agent-review-card\n\t\t\t\t\theaderLabel={REVIEW_OUTPUT}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\tcontent={content}\n\t\t\t\t\tcitationsData={citationsData}\n\t\t\t\t\tedited={edited}\n\t\t\t\t\teditable={editable}\n\t\t\t\t\treviewed={reviewed}\n\t\t\t\t\tignoreDraft={ignoreDraft}\n\t\t\t\t\trenderAsCard={cardType === CARD_TYPE.DETAILED}\n\t\t\t\t\thideDisclaimer={hideDisclaimer}\n\t\t\t\t\tcardType={cardType}\n\t\t\t\t\tfeedbackConfig={feedbackConfig}\n\t\t\t\t\tcardStatus={cardStatus}\n\t\t\t\t\ttableName={usecaseData?.tableName}\n\t\t\t\t\tsysId={usecaseData?.sysId}\n\t\t\t\t\tplanId={planId}\n\t\t\t\t\tmessageSysId={messageSysId}\n\t\t\t\t>\n\t\t\t\t\t{cardType === CARD_TYPE.INLINE && (\n\t\t\t\t\t\t<div slot=\"footer-actions\">{renderStatusCardPopover()}</div>\n\t\t\t\t\t)}\n\t\t\t\t</now-ai-agent-review-card>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"review-wrapper\">\n\t\t\t\t<div className=\"review-container\">{reviewContent}</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\tconst getInlineCardMetadata = () => {\n\t\tconst isInProgress = cardStatus === CARD_UI_STATES.IN_PROGRESS;\n\t\tconst isReviewOrCompleted =\n\t\t\tcardStatus === CARD_UI_STATES.REVIEW_OUTPUT ||\n\t\t\tcardStatus === CARD_UI_STATES.COMPLETED ||\n\t\t\tcardStatus === CARD_UI_STATES.INCOMPLETE;\n\n\t\tconst {data = null, loading = true} = outputReview || {};\n\t\tconst renderEmpty = loading || !data;\n\t\tconst showPopover =\n\t\t\t(!isReviewOrCompleted && !isInputNeeded(cardStatus)) ||\n\t\t\t(isReviewOrCompleted && renderEmpty);\n\n\t\treturn (\n\t\t\t<div className=\"inline-card-metadata\">\n\t\t\t\t{showPopover && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t{isInProgress && renderTimingDiv(usecaseData)}\n\t\t\t\t\t\t<div className=\"popover-container\">{renderStatusCardPopover()}</div>\n\t\t\t\t\t</Fragment>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\tconst getInlineCardHeaderIcon = () => {\n\t\tconst icon = INLINE_HEADER_ICON[cardStatus];\n\t\tif (!icon) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <now-icon className=\"inline-card-heading-icon\" icon={icon} />;\n\t};\n\n\tconst getInlineCardHeaderContent = () => {\n\t\tconst isReviewOutput = cardStatus === CARD_UI_STATES.REVIEW_OUTPUT;\n\t\tconst isInProgress = cardStatus === CARD_UI_STATES.IN_PROGRESS;\n\n\t\treturn (\n\t\t\t<div className=\"inline-card-header-content\">\n\t\t\t\t{!isReviewOutput && (\n\t\t\t\t\t<div className=\"inline-card-latest-step\">\n\t\t\t\t\t\t{getInlineCardHeaderIcon()}\n\t\t\t\t\t\t{latestStepLabel && (\n\t\t\t\t\t\t\t<span className=\"inline-card-heading\">{latestStepLabel}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!isInProgress && renderStatusMessage(stateLabelData?.[cardStatus])}\n\t\t\t</div>\n\t\t);\n\t};\n\n\tconst renderInlineView = () => (\n\t\t<now-card\n\t\t\thide-shadow\n\t\t\tclassName={`inline-card ${CARD_UI_STATE_CLASS[cardStatus]}`}\n\t\t>\n\t\t\t<div className=\"inline-card-header\">\n\t\t\t\t{getInlineCardHeaderContent()}\n\t\t\t\t{getInlineCardMetadata()}\n\t\t\t</div>\n\t\t\t{(steps?.length > 0 || extractedMessages?.richControl) && (\n\t\t\t\t<div className=\"inline-card-content\">\n\t\t\t\t\t{renderSupervision(cardStatus, conversationData, usecaseData)}\n\t\t\t\t\t{renderOutputReview(outputReview)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</now-card>\n\t);\n\n\tif (cardType === CARD_TYPE.INLINE) {\n\t\treturn renderInlineView();\n\t}\n\n\treturn (\n\t\t<div className=\"status-card-wrapper\">\n\t\t\t<now-ai-stepper\n\t\t\t\theader={collapsed && headerMessage}\n\t\t\t\theaderIcon={headerIcon}\n\t\t\t\tsteps={cardType === CARD_TYPE.OVERVIEW ? [] : steps}\n\t\t\t\tisVisible={isComponentVisible}\n\t\t\t\tcollapsed={cardStatus !== CARD_UI_STATES.IN_PROGRESS}\n\t\t\t\tcardType={cardType}\n\t\t\t\tcardStatus={cardStatus}\n\t\t\t\tlatestStepLabel={latestStepLabel}\n\t\t\t\tconversationData={conversationData}\n\t\t\t\tusecaseData={usecaseData}\n\t\t\t\toutputReview={outputReview}\n\t\t\t>\n\t\t\t\t{overviewContent()}\n\t\t\t</now-ai-stepper>\n\t\t\t{cardType === CARD_TYPE.DETAILED &&\n\t\t\t\t(steps?.length > 0 || extractedMessages?.richControl) && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"card-container\">\n\t\t\t\t\t\t\t{renderSupervision(cardStatus, conversationData, usecaseData)}\n\t\t\t\t\t\t\t{renderOutputReview(outputReview)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<sn-conversation-transcript\n\t\t\t\t\t\t\tconversation-data={conversationData}\n\t\t\t\t\t\t\tisReviewMode={isInputNeeded(cardStatus)}\n\t\t\t\t\t\t\tignoredMessageSequence={\n\t\t\t\t\t\t\t\toutputReview?.data?.ignoreDraft\n\t\t\t\t\t\t\t\t\t? (outputReview.data.messageSequence ?? null)\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"createAmbSubscriptionEffect\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.__esModule\n\t\t\t\t\tif (cjsModule && 'createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t\t} else if ('createAmbSubscriptionEffect' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__.createAmbSubscriptionEffect || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__[\"default\"].createAmbSubscriptionEffect;\n\t\t\t\t} });","import {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {actionTypes, declarativeOperations} from '@servicenow/ui-core';\nimport {isEqual, isEmpty} from '@devsnc/snowdash';\nimport {\n\tIPE_TELEMETRY_REQUESTED,\n\tWORKFLOW_STATE_CHANGED,\n\tWORKFLOW_STARTED,\n\tWORKFLOW_INPUT_REQUIRED,\n\tWORKFLOW_REVIEW_READY,\n\tWORKFLOW_COMPLETED,\n\tWORKFLOW_FAILED,\n\tWORKFLOW_CANCELLED,\n\tFEEDBACK_SUBMITTED,\n} from '../metrics/constants.js';\nimport {ipeMetrics} from '../metrics/index.js';\nimport {\n\tACTION_TYPES,\n\tAPI_ENDPOINTS,\n\tFEEDBACK_BUTTONS,\n\tINITIAL_STEP,\n} from './constants';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {createCache} from './helper';\nimport {\n\tCARD_UI_STATES,\n\tCARD_TYPE,\n\tCARD_TYPE_CONFIGS,\n\tNOW_UI_ACTION_TYPES,\n\tAI_STATUS_CARD_ACTION_TYPES,\n\tREVIEW_CARD_EDIT_SAVED,\n\tSUPERVISION_ACTION_TYPES,\n\tPROVENANCE,\n} from '../utils/agent-card-constants';\nimport {MARK_PLAN_REVIEWED_SUCCESS} from '../now-ai-agent-review-card/constants';\nimport {\n\treconcileSteps,\n\treconcileCardState,\n\tisInputNeeded,\n\tsetAgenticDebugLogging,\n\tagenticDebugLog,\n} from '../utils';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n} = actionTypes;\n\nconst outputReviewCache = createCache();\nexport const sendFeedback = createHttpEffect('/api/now/v1/feedback', {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\tsuccessActionType: ACTION_TYPES.SUBMIT_FEEDBACK_SUCCEEDED,\n\terrorActionType: ACTION_TYPES.SUBMIT_FEEDBACK_FAILED,\n});\n\nconst subscribeAndFetchPlan = (planId, dispatch, updateState) => {\n\tconst planFilter = btoa(`plan=${planId}`).replace(/=/g, '-');\n\tdispatch(ACTION_TYPES.CONVERSATION_UPDATE_SUBSCRIBE, {\n\t\tfilter: planFilter,\n\t\tsubscribe: true,\n\t});\n\n\tconst sysIdFilter = btoa(`sys_id=${planId}`).replace(/=/g, '-');\n\tdispatch(ACTION_TYPES.SUBSCRIBE_TO_PLANS, {\n\t\tfilter: sysIdFilter,\n\t\tsubscribe: true,\n\t});\n\n\tupdateState({\n\t\tpath: 'ambChannelFilters',\n\t\tvalue: [planFilter, sysIdFilter],\n\t\toperation: declarativeOperations.SET,\n\t\tshouldRender: false,\n\t});\n\n\tdispatch(ACTION_TYPES.GET_USECASE, {\n\t\tpayload: {\n\t\t\tplanId,\n\t\t\tfields: '',\n\t\t\texcludeFields: '',\n\t\t\tgetUILabelData: true,\n\t\t\tgetFeedbackConfig: true,\n\t\t},\n\t});\n};\n\nconst unsubscribeAndClearAmbChannels = (dispatch, state, updateState) => {\n\tconst ambFilters = state?.ambChannelFilters || [];\n\tambFilters.forEach((filter) => {\n\t\tdispatch('RECORD_WATCHER_SUBSCRIPTION_CHANGED', {subscribe: false, filter});\n\t});\n\tupdateState({ambChannelFilters: [], activityStreamSysId: null});\n};\n\nconst getUsecase = createHttpEffect(API_ENDPOINTS.GET_USECASE, {\n\tmethod: 'POST',\n\tdataParam: 'payload',\n\tsuccessActionType: ACTION_TYPES.GET_USECASE_SUCCEEDED,\n\terrorActionType: ACTION_TYPES.GET_USECASE_FAILED,\n});\n\nconst getPlanMessages = createHttpEffect(API_ENDPOINTS.GET_PLAN_MESSAGES, {\n\tmethod: 'POST',\n\tdataParam: 'payload',\n\tsuccessActionType: ACTION_TYPES.GET_PLAN_MESSAGES_SUCCEEDED,\n\terrorActionType: ACTION_TYPES.GET_PLAN_MESSAGES_FAILED,\n});\n\nconst getExecutionActivity = createHttpEffect(API_ENDPOINTS.GET_ACTIVITY, {\n\tmethod: 'GET',\n\tqueryParams: ['conversationId'],\n\tbatch: false,\n\tstartActionType: ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY_START,\n\tsuccessActionType: ACTION_TYPES.AI_AGENT_USECASE_ACTIVITY_SUCCESS,\n\terrorActionType: ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY_FAILED,\n});\n\n/**\n * AMB subscription effect for listening to execution plan changes\n * @type {Function} - AMB effect function that subscribes to execution plan updates\n */\nconst subscribeToPlans = createAmbSubscriptionEffect(\n\t`/rw/default/sn_aia_execution_plan/:filter`,\n\t{\n\t\tmessageReceivedActionType: ACTION_TYPES.EXECUTION_PLAN_UPDATED,\n\t},\n);\n\n/**\n * AMB subscription effect for listening to conversation updates\n * @type {Function} - AMB effect function that subscribes to real-time conversation updates\n */\nconst subscribeToConversationUpdates = createAmbSubscriptionEffect(\n\t`/agentic_processing/:filter`,\n\t{\n\t\tmessageReceivedActionType: ACTION_TYPES.CONVERSATION_UPDATE_RECEIVED,\n\t},\n);\n\n/**\n * AMB subscription effect for listening to the target record's Activity\n * stream (comments/work notes and field changes), confirming when a posted\n * message has actually landed rather than just assuming success from the\n * post-message HTTP response.\n * @type {Function} - AMB effect function that subscribes to activity stream events\n */\nconst subscribeToActivityStream = createAmbSubscriptionEffect(\n\t`/activity/events/:filter`,\n\t{\n\t\tmessageReceivedActionType: ACTION_TYPES.ACTIVITY_STREAM_MESSAGE_RECEIVED,\n\t},\n);\n\n/**\n * HTTP effect for marking an execution plan as reviewed\n * @type {Function} - HTTP effect function that marks a plan as reviewed\n */\nconst postPlanReviewStatus = createHttpEffect(\n\t'/api/sn_now_canvas_ai/agentic_processing/update-plan',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t},\n\t\tsuccessActionType: ACTION_TYPES.MARK_PLAN_AS_REVIEWED_SUCCESS,\n\t},\n);\n\nconst postMessage = createHttpEffect(API_ENDPOINTS.POST_MESSAGE, {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\n\tsuccessActionType: ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SUCCESS,\n\terrorActionType: ACTION_TYPES.AI_STATUS_CARD_REGENERATE_FAILED,\n});\n\nconst safeJsonParse = (jsonString) => {\n\ttry {\n\t\treturn JSON.parse(jsonString);\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst transformMessages = (messages) => {\n\tif (!messages?.extractedMessages) {\n\t\treturn messages;\n\t}\n\treturn {\n\t\t...messages,\n\t\textractedMessages: {\n\t\t\t...messages.extractedMessages,\n\t\t\trichControl:\n\t\t\t\ttypeof messages.extractedMessages.richControl === 'string'\n\t\t\t\t\t? safeJsonParse(messages.extractedMessages.richControl)\n\t\t\t\t\t: messages.extractedMessages.richControl,\n\t\t},\n\t};\n};\n\nconst handlePlanReviewChange = ({\n\tcardType,\n\tcardState,\n\treviewed,\n\tplanId,\n\tconversationId,\n\tdispatch,\n\tupdateState,\n}) => {\n\tif (cardType !== CARD_TYPE.DETAILED) {\n\t\treturn;\n\t}\n\n\tconst shouldDispatch =\n\t\t// Can mark as unread only if COMPLETED\n\t\t(!reviewed && cardState === CARD_UI_STATES.COMPLETED) ||\n\t\t// Can mark as read only if REVIEW_OUTPUT\n\t\t(reviewed && cardState === CARD_UI_STATES.REVIEW_OUTPUT);\n\n\tif (reviewed && cardState === CARD_UI_STATES.REVIEW_OUTPUT) {\n\t\tconst cachedOutputReview = outputReviewCache.get(conversationId);\n\t\tif (!cachedOutputReview || cachedOutputReview.reviewRequestInProgress) {\n\t\t\t// Editable status isn't known yet (e.g. right when a card is\n\t\t\t// opened, before the output review fetch resolves). Defer the\n\t\t\t// decision instead of silently completing an editable draft -\n\t\t\t// see AI_AGENT_USECASE_ACTIVITY_SUCCESS, which resolves this once\n\t\t\t// the data loads.\n\t\t\tupdateState({pendingReviewedIntent: {planId, conversationId}});\n\t\t\treturn;\n\t\t}\n\t\tif (cachedOutputReview.editable !== false) {\n\t\t\t// Editable/textual draft output - opening/closing the card must\n\t\t\t// never silently mark it reviewed. Only an explicit action (e.g.\n\t\t\t// Post-it) can complete it.\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (!reviewed && cardState === CARD_UI_STATES.REVIEW_OUTPUT) {\n\t\tupdateState({pendingReviewedIntent: null});\n\t}\n\n\tif (shouldDispatch) {\n\t\tdispatch(ACTION_TYPES.MARK_PLAN_AS_REVIEWED, {\n\t\t\tpayload: {\n\t\t\t\tplanId,\n\t\t\t\treviewed,\n\t\t\t},\n\t\t});\n\t}\n};\n\nfunction setupCardState({\n\tcardType,\n\tdispatch,\n\tupdateState,\n\tusecaseData,\n\tobjective,\n\tisCancelSupported,\n\tstateLabelData,\n\tstate,\n\tprovenance,\n}) {\n\tconst {sysId} = usecaseData;\n\n\t// Subscribe to the target record's Activity stream once, so we can\n\t// confirm a posted comment actually landed rather than assuming success.\n\tif (sysId && sysId !== state?.activityStreamSysId) {\n\t\tdispatch(ACTION_TYPES.SUBSCRIBE_TO_ACTIVITY_STREAM, {\n\t\t\tfilter: sysId,\n\t\t\tsubscribe: true,\n\t\t});\n\t\tconst existingFilters = state?.ambChannelFilters || [];\n\t\tupdateState({\n\t\t\tactivityStreamSysId: sysId,\n\t\t\tambChannelFilters: [...existingFilters, sysId],\n\t\t});\n\t}\n\n\t// Provenance is persisted on usecaseData at reload (GET_USECASE_SUCCEEDED) and\n\t// carried forward on every live update, so the live path (which doesn't thread the\n\t// param) still latches. Fall back to it when the caller doesn't pass one. Off-glide\n\t// gates the latch; glide / missing provenance is a passthrough (zero regression).\n\tconst resolvedProvenance = provenance ?? usecaseData?.provenance;\n\n\t// Functional form: reads the freshest state at flush time so the off-glide\n\t// reconciliation below compares against what's truly displayed, not a stale\n\t// handler-entry snapshot. For on-glide (and missing provenance) reconcileCardState\n\t// is a no-op, so `cardStatus` always equals the incoming usecaseData.state, exactly\n\t// as before this change.\n\tupdateState(({state: freshState} = {}) => {\n\t\tconst previousUsecaseData = freshState?.usecaseData || {};\n\t\tconst cardStatus = reconcileCardState(\n\t\t\tpreviousUsecaseData.state,\n\t\t\tusecaseData.state,\n\t\t\tresolvedProvenance,\n\t\t);\n\t\tagenticDebugLog('[AIEX-DBG] setupCardState RECONCILE', {\n\t\t\tconversationId: usecaseData?.conversationId,\n\t\t\tprevious: previousUsecaseData.state,\n\t\t\tincoming: usecaseData.state,\n\t\t\tprovenance: resolvedProvenance,\n\t\t\tresult: cardStatus,\n\t\t\tclobberBlocked: cardStatus !== usecaseData.state,\n\t\t});\n\t\tconst resolvedUsecaseData = {...usecaseData, state: cardStatus};\n\t\tconst {conversationId, steps = []} = resolvedUsecaseData;\n\t\tconst {planId} = state?.properties || {};\n\t\tconst isInitialState = previousUsecaseData.state === undefined;\n\t\tconst hasStateChanged =\n\t\t\t!isInitialState && cardStatus !== previousUsecaseData.state;\n\n\t\treturn buildCardState({\n\t\t\tcardType,\n\t\t\tdispatch,\n\t\t\tusecaseData: resolvedUsecaseData,\n\t\t\tobjective,\n\t\t\tisCancelSupported,\n\t\t\tstateLabelData,\n\t\t\tconversationId,\n\t\t\tcardStatus,\n\t\t\tsteps,\n\t\t\tplanId,\n\t\t\thasStateChanged,\n\t\t\tpreviousUsecaseData,\n\t\t});\n\t});\n}\n\nfunction buildCardState({\n\tcardType,\n\tdispatch,\n\tusecaseData,\n\tobjective,\n\tisCancelSupported,\n\tstateLabelData,\n\tconversationId,\n\tcardStatus,\n\tsteps,\n\tplanId,\n\thasStateChanged,\n\tpreviousUsecaseData,\n}) {\n\tif (hasStateChanged) {\n\t\tdispatch(ACTION_TYPES.AI_STATUS_CARD_STATE_UPDATED, {\n\t\t\tplanId,\n\t\t\tstate: cardStatus,\n\t\t\tpreviousState: previousUsecaseData.state,\n\t\t});\n\n\t\tconst stateEventMap = {\n\t\t\t[CARD_UI_STATES.IN_PROGRESS]: WORKFLOW_STARTED,\n\t\t\t[CARD_UI_STATES.INPUT_NEEDED_FULFILLER]: WORKFLOW_INPUT_REQUIRED,\n\t\t\t[CARD_UI_STATES.INPUT_NEEDED_REQUESTER]: WORKFLOW_INPUT_REQUIRED,\n\t\t\t[CARD_UI_STATES.REVIEW_OUTPUT]: WORKFLOW_REVIEW_READY,\n\t\t\t[CARD_UI_STATES.COMPLETED]: WORKFLOW_COMPLETED,\n\t\t\t[CARD_UI_STATES.FAILED]: WORKFLOW_FAILED,\n\t\t\t[CARD_UI_STATES.CANCELLED]: WORKFLOW_CANCELLED,\n\t\t};\n\t\tconst baseMetadata = {\n\t\t\tplanId,\n\t\t\tworkflowId: usecaseData.usecaseId,\n\t\t\tworkflowName: usecaseData.usecaseName,\n\t\t\tconversationId: usecaseData.conversationId,\n\t\t\ttable: usecaseData.tableName,\n\t\t\trecordId: usecaseData.sysId,\n\t\t\tuserId: usecaseData.userInfo?.userId,\n\t\t\tstate: cardStatus,\n\t\t\tpreviousState: previousUsecaseData.state,\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\teventName: WORKFLOW_STATE_CHANGED,\n\t\t\tmetadata: baseMetadata,\n\t\t});\n\t\tconst lifecycleEvent = stateEventMap[cardStatus];\n\t\tif (lifecycleEvent) {\n\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\teventName: lifecycleEvent,\n\t\t\t\tmetadata: baseMetadata,\n\t\t\t});\n\t\t}\n\t}\n\n\tconst {collapsed, visible} = CARD_TYPE_CONFIGS[cardType] || {};\n\n\tconst newState = {\n\t\tusecaseData,\n\t\tisComponentVisible: visible,\n\t\tcollapsed,\n\t\tobjective,\n\t\tisCancelSupported,\n\t\tstateLabelData: stateLabelData || {},\n\t};\n\n\tif (!conversationId) {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.warn('Missing conversationId in usecaseData');\n\t\treturn {};\n\t}\n\n\t// We need to check this both on bootstrap and property changed\n\t// If the card is detailed and the card status is review output, we need to get the output review\n\t// either from the cache or call the API\n\tif (\n\t\tcardType !== CARD_TYPE.OVERVIEW &&\n\t\t(cardStatus === CARD_UI_STATES.REVIEW_OUTPUT ||\n\t\t\tcardStatus === CARD_UI_STATES.COMPLETED)\n\t) {\n\t\tconst outputReviewData = outputReviewCache.get(conversationId);\n\t\tif (outputReviewData && !outputReviewData.reviewRequestInProgress) {\n\t\t\tnewState.outputReview = {data: outputReviewData, loading: false};\n\t\t\tdispatch(ACTION_TYPES.AI_STATUS_CARD_OUTPUT_REVIEW_SET, {\n\t\t\t\tplanId,\n\t\t\t\tconversationId,\n\t\t\t\toutputReview: outputReviewData,\n\t\t\t});\n\t\t} else if (!outputReviewData || !outputReviewData.reviewRequestInProgress) {\n\t\t\tdispatch(ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY, {conversationId});\n\t\t}\n\t}\n\n\tif (cardStatus === CARD_UI_STATES.IN_PROGRESS) {\n\t\tif (steps?.length > 0) {\n\t\t\tconst updatedSteps = steps.map((step, index) => ({\n\t\t\t\t...step,\n\t\t\t\tstatus: index === steps.length - 1 ? 'IN_PROGRESS' : 'COMPLETED',\n\t\t\t\tcomplete: index !== steps.length - 1,\n\t\t\t}));\n\t\t\tnewState.usecaseData = {\n\t\t\t\t...usecaseData,\n\t\t\t\tsteps: updatedSteps,\n\t\t\t};\n\t\t} else {\n\t\t\tnewState.usecaseData = {\n\t\t\t\t...usecaseData,\n\t\t\t\tsteps: [INITIAL_STEP],\n\t\t\t};\n\t\t}\n\t}\n\n\treturn newState;\n}\n\nconst setupCardStateAndActions = ({\n\tusecaseData,\n\tcardType,\n\tdispatch,\n\tupdateState,\n\tobjective,\n\tisCancelSupported,\n\tstateLabelData,\n\tstate,\n\tprovenance,\n}) => {\n\tsetupCardState({\n\t\tcardType,\n\t\tdispatch,\n\t\tupdateState,\n\t\tusecaseData,\n\t\tobjective,\n\t\tisCancelSupported,\n\t\tstateLabelData,\n\t\tstate,\n\t\tprovenance,\n\t});\n\n\tif (cardType !== CARD_TYPE.OVERVIEW) {\n\t\tdispatch(\n\t\t\tACTION_TYPES.GET_PLAN_MESSAGES,\n\t\t\t{\n\t\t\t\tpayload: {\n\t\t\t\t\tconversationId: usecaseData.conversationId,\n\t\t\t\t\tquery:\n\t\t\t\t\t\t'messages,allSteps,conversationUser,transcriptData,isWebClient',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{fromBootstrap: true},\n\t\t);\n\t}\n};\n\nexport default {\n\t[ACTION_TYPES.CONVERSATION_UPDATE_RECEIVED]: {\n\t\teffect: ({action, updateState, state, properties, dispatch}) => {\n\t\t\tconst {transcriptData, cardState, messages, steps, logId} =\n\t\t\t\taction.payload.data;\n\t\t\tconst {usecaseData, objective, isCancelSupported, stateLabelData} = state;\n\t\t\tconst {cardType} = properties;\n\n\t\t\tagenticDebugLog('[AIEX-DBG] AMB conversation_update RECEIVED', {\n\t\t\t\tconversationId: usecaseData?.conversationId,\n\t\t\t\tcardState,\n\t\t\t\tstepsCount: (steps || []).length,\n\t\t\t\thasMessages: !!messages,\n\t\t\t\thasTranscript: !!transcriptData,\n\t\t\t\tcurrentState: usecaseData?.state,\n\t\t\t\tprovenance: usecaseData?.provenance,\n\t\t\t\tlogId,\n\t\t\t});\n\n\t\t\tconst updatedUsecaseData = {\n\t\t\t\t...usecaseData,\n\t\t\t\t// Anti-shrink reconcile: off-glide streams progressive step snapshots\n\t\t\t\t// that can arrive out of order (count bounces), so applying each one\n\t\t\t\t// wholesale flashed the stepper. reconcileSteps never accepts a shorter\n\t\t\t\t// snapshot. No-op for on-glide (snapshots only grow) and for the overview\n\t\t\t\t// card (latestStep = last of steps, which stays the most-progressed).\n\t\t\t\t...(steps && {steps: reconcileSteps(usecaseData?.steps, steps)}),\n\t\t\t\t...(messages && {messages: transformMessages(messages)}),\n\t\t\t\t...(transcriptData && {\n\t\t\t\t\ttranscriptData: safeJsonParse(transcriptData),\n\t\t\t\t}),\n\t\t\t\t...(cardState && {state: cardState}),\n\t\t\t\t...(logId && {logId}),\n\t\t\t};\n\n\t\t\tsetupCardState({\n\t\t\t\tcardType,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tusecaseData: updatedUsecaseData,\n\t\t\t\tobjective,\n\t\t\t\tisCancelSupported,\n\t\t\t\tstateLabelData,\n\t\t\t\tstate,\n\t\t\t});\n\t\t},\n\t},\n\t// Released by a bubbled reply from sn-agentic-supervision. Off-glide only: move the\n\t// card off input_needed so the subsequent authoritative in_progress (live event or\n\t// reload) passes the latch instead of being suppressed by it. Functional updater so\n\t// we read the freshest usecaseData at flush time. No-op for on-glide (provenance\n\t// gate) or when the reply is for a different conversation / the card isn't waiting.\n\t[SUPERVISION_ACTION_TYPES.SUPERVISION_REPLIED]: ({action, updateState}) => {\n\t\tconst {conversationId} = action.payload || {};\n\t\tupdateState(({state: freshState} = {}) => {\n\t\t\tconst ud = freshState?.usecaseData || {};\n\t\t\tif (\n\t\t\t\tud.provenance === PROVENANCE.OFF_GLIDE &&\n\t\t\t\tud.conversationId === conversationId &&\n\t\t\t\tisInputNeeded(ud.state)\n\t\t\t) {\n\t\t\t\treturn {usecaseData: {...ud, state: CARD_UI_STATES.IN_PROGRESS}};\n\t\t\t}\n\t\t\treturn {};\n\t\t});\n\t},\n\t[ACTION_TYPES.EXECUTION_PLAN_UPDATED]: {\n\t\teffect({properties, dispatch}) {\n\t\t\tconst {planId} = properties;\n\t\t\tif (planId) {\n\t\t\t\tdispatch(ACTION_TYPES.GET_USECASE, {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tplanId,\n\t\t\t\t\t\texcludeFields: 'state',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\t[ACTION_TYPES.ACTIVITY_STREAM_MESSAGE_RECEIVED]: {\n\t\teffect({action, properties, dispatch}) {\n\t\t\tconst raw = action.payload?.data;\n\t\t\tconst messageData =\n\t\t\t\ttypeof raw?.data === 'string' ? safeJsonParse(raw.data) : raw;\n\t\t\tconst eventTable = messageData?.eventTable;\n\n\t\t\t// Only a real comment/work-note post confirms the reviewer's\n\t\t\t// message landed - other activity (e.g. field audits) doesn't\n\t\t\t// affect whether there's still something to review.\n\t\t\tif (eventTable !== 'sys_journal_field') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {planId} = properties;\n\t\t\tif (planId) {\n\t\t\t\tdispatch(ACTION_TYPES.GET_USECASE, {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tplanId,\n\t\t\t\t\t\texcludeFields: 'state',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\taction,\n\t\tdispatch,\n\t\tupdateState,\n\t\tproperties,\n\t\tstate,\n\t}) {\n\t\tconst {name, value, previousValue} = action.payload;\n\t\tconst {cardType, planId} = properties;\n\t\tconst {objective, isCancelSupported, stateLabelData, usecaseData} = state;\n\n\t\tif (name === 'reviewed') {\n\t\t\thandlePlanReviewChange({\n\t\t\t\tcardType,\n\t\t\t\tcardState: usecaseData?.state,\n\t\t\t\treviewed: value,\n\t\t\t\tplanId,\n\t\t\t\tconversationId: usecaseData?.conversationId,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t});\n\t\t}\n\n\t\t// Handle stateLabelData property changes\n\t\tif (name === 'stateLabelData' && !isEqual(value, previousValue)) {\n\t\t\tupdateState({\n\t\t\t\tstateLabelData: value || {},\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\t// Handle usecaseData property changes\n\t\tif (name === 'usecaseData' && !isEqual(value, previousValue)) {\n\t\t\tsetupCardState({\n\t\t\t\tcardType,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tusecaseData: {...value},\n\t\t\t\tobjective,\n\t\t\t\tisCancelSupported,\n\t\t\t\tstateLabelData,\n\t\t\t\tstate,\n\t\t\t});\n\t\t}\n\t\tif (name === 'planId' && value) {\n\t\t\tunsubscribeAndClearAmbChannels(dispatch, state, updateState);\n\t\t\tsubscribeAndFetchPlan(value, dispatch, updateState);\n\t\t\tupdateState({pendingReviewedIntent: null});\n\t\t}\n\t},\n\n\t[COMPONENT_BOOTSTRAPPED]({dispatch, properties, updateState, state}) {\n\t\tconst {\n\t\t\tusecaseData,\n\t\t\tcardType,\n\t\t\tplanId,\n\t\t\tstateLabelData: propStateLabelData,\n\t\t\treviewed,\n\t\t} = properties;\n\t\tconst {objective = '', isCancelSupported = false} = state || {};\n\n\t\tif (usecaseData) {\n\t\t\tsetupCardStateAndActions({\n\t\t\t\tusecaseData,\n\t\t\t\tcardType,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tobjective,\n\t\t\t\tisCancelSupported,\n\t\t\t\tstateLabelData: propStateLabelData,\n\t\t\t\tstate,\n\t\t\t});\n\t\t\thandlePlanReviewChange({\n\t\t\t\tcardType,\n\t\t\t\tcardState: usecaseData.state,\n\t\t\t\treviewed,\n\t\t\t\tplanId,\n\t\t\t\tconversationId: usecaseData.conversationId,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t});\n\t\t} else if (planId) {\n\t\t\tsubscribeAndFetchPlan(planId, dispatch, updateState);\n\t\t}\n\t},\n\t[ACTION_TYPES.CONVERSATION_UPDATE_SUBSCRIBE]: subscribeToConversationUpdates,\n\t[ACTION_TYPES.SUBSCRIBE_TO_PLANS]: subscribeToPlans,\n\t[ACTION_TYPES.SUBSCRIBE_TO_ACTIVITY_STREAM]: subscribeToActivityStream,\n\t[COMPONENT_DISCONNECTED]: ({dispatch, state, updateState}) => {\n\t\tunsubscribeAndClearAmbChannels(dispatch, state, updateState);\n\t\tupdateState({pendingReviewedIntent: null});\n\t},\n\t[ACTION_TYPES.GET_PLAN_MESSAGES_SUCCEEDED]({\n\t\taction,\n\t\tstate,\n\t\tdispatch,\n\t\tupdateState,\n\t}) {\n\t\tconst {usecaseData} = state;\n\t\tconst {planId} = state.properties;\n\t\tconst {state: cardState} = usecaseData;\n\t\tconst {\n\t\t\tmessages,\n\t\t\tconversationUser,\n\t\t\ttranscriptData,\n\t\t\tallSteps,\n\t\t\tlatestStep,\n\t\t\tisWebClient,\n\t\t} = action.payload?.result || {};\n\t\tconst meta = action?.meta;\n\n\t\tconst shouldUseBootstrapSteps = Boolean(meta?.fromBootstrap);\n\t\tconst bootstrapSteps = allSteps || latestStep;\n\t\tconst existingSteps = state.steps || [];\n\t\tconst steps = shouldUseBootstrapSteps ? bootstrapSteps : existingSteps;\n\n\t\tlet updatedSteps = [];\n\n\t\tif (Array.isArray(steps)) {\n\t\t\tupdatedSteps = steps.map((step) => ({\n\t\t\t\t...step,\n\t\t\t\tlabel: step.label,\n\t\t\t\tcomplete: true,\n\t\t\t}));\n\t\t}\n\n\t\tif (cardState === CARD_UI_STATES.IN_PROGRESS && updatedSteps.length === 0) {\n\t\t\tupdatedSteps.push(INITIAL_STEP);\n\t\t}\n\n\t\tupdateState({\n\t\t\tusecaseData: {\n\t\t\t\t...usecaseData,\n\t\t\t\tsteps: updatedSteps,\n\t\t\t\tmessages,\n\t\t\t\tconversationUser,\n\t\t\t\tisWebClient,\n\t\t\t\ttranscriptData,\n\t\t\t},\n\t\t});\n\n\t\tdispatch(ACTION_TYPES.AI_STATUS_CARD_PLAN_UPDATED, {\n\t\t\tplanId,\n\t\t\tsteps: updatedSteps,\n\t\t\tmessages: messages || {},\n\t\t\tconversationUser,\n\t\t\tisWebClient,\n\t\t\ttranscriptData,\n\t\t});\n\t},\n\t[ACTION_TYPES.GET_USECASE]: getUsecase,\n\t[ACTION_TYPES.GET_USECASE_SUCCEEDED]: ({\n\t\taction,\n\t\tupdateState,\n\t\tupdateProperties,\n\t\tdispatch,\n\t\tproperties,\n\t\tstate,\n\t}) => {\n\t\tconst {result} = action.payload;\n\t\tconst {cardType} = properties;\n\t\tconst {stateLabelData} = state;\n\n\t\t// Sync client debug logging with the backend [AGENTIC_PROC] switch.\n\t\tsetAgenticDebugLogging(result?.loggingEnabled);\n\n\t\tif (result?.feedbackConfig) {\n\t\t\tupdateProperties({feedbackConfig: result.feedbackConfig});\n\t\t}\n\n\t\tif (result?.current?.[0]) {\n\t\t\tconst plan = result.current[0] || {};\n\t\t\tconst labelData = result?.labelData || stateLabelData;\n\n\t\t\tagenticDebugLog('[AIEX-DBG] get-usecase RECEIVED (detailed)', {\n\t\t\t\tplanId: plan.planID,\n\t\t\t\tconversation: plan.conversation,\n\t\t\t\tuiState: plan?.uiState?.value,\n\t\t\t\trawState: plan.state,\n\t\t\t\tprovenance: plan.provenance,\n\t\t\t\tisInputNeeded: plan.isInputNeeded,\n\t\t\t\tprevState: state?.usecaseData?.state,\n\t\t\t});\n\n\t\t\tconst usecaseData = {\n\t\t\t\tconversationId: plan.conversation || '',\n\t\t\t\tcreatedOn: plan.createdOn || '',\n\t\t\t\ttableName: plan.tableName || '',\n\t\t\t\tsysId: plan.sysId || '',\n\t\t\t\tusecaseId: plan.usecase || '',\n\t\t\t\tusecaseName: plan.usecaseName || '',\n\t\t\t\tstatus: plan.status || '',\n\t\t\t\tstate: plan?.uiState?.value,\n\t\t\t\tstateReason: plan?.stateReason,\n\t\t\t\t// Persist so the live path (CONVERSATION_UPDATE_RECEIVED) and the reply\n\t\t\t\t// handler (SUPERVISION_REPLIED) can gate the off-glide input latch.\n\t\t\t\tprovenance: plan.provenance,\n\t\t\t\tlogId: plan.logId || '',\n\t\t\t\teta: plan.eta || null,\n\t\t\t\texecutionTime: plan.executionTime || null,\n\t\t\t\tuserInfo: {\n\t\t\t\t\tuserName: plan.userName || '',\n\t\t\t\t\tuserAvatarUrl: plan.userAvatarUrl || '',\n\t\t\t\t\tuserId: plan.userId || '',\n\t\t\t\t},\n\t\t\t\tmanagerInfo: {\n\t\t\t\t\tmanagerName: plan.managerName || '',\n\t\t\t\t\tmanagerAvatarUrl: plan.managerAvatarUrl || '',\n\t\t\t\t\tmanagerId: plan.managerId || '',\n\t\t\t\t},\n\t\t\t\tsteps: plan.steps || [],\n\t\t\t\tmessages: plan.messages || [],\n\t\t\t\tconversationUser: plan.conversationUser || {},\n\t\t\t\ttranscriptData: plan.transcriptData || [],\n\t\t\t};\n\n\t\t\tsetupCardStateAndActions({\n\t\t\t\tcardType,\n\t\t\t\tdispatch,\n\t\t\t\tupdateState,\n\t\t\t\tusecaseData,\n\t\t\t\tobjective: plan.objective || '',\n\t\t\t\tisCancelSupported: plan.isCancelSupported || false,\n\t\t\t\tstateLabelData: labelData,\n\t\t\t\tstate,\n\t\t\t\tprovenance: plan.provenance,\n\t\t\t});\n\t\t}\n\t},\n\t[ACTION_TYPES.GET_PLAN_MESSAGES]: getPlanMessages,\n\n\t[NOW_UI_ACTION_TYPES.NOW_BUTTON_ICONIC_CLICKED]: ({\n\t\taction,\n\t\tdispatch,\n\t\tproperties,\n\t}) => {\n\t\tif (action.payload.type === 'expandStepper') {\n\t\t\tdispatch(ACTION_TYPES.AI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT, {\n\t\t\t\tplanId: properties?.planId,\n\t\t\t});\n\t\t}\n\t},\n\n\t[NOW_UI_ACTION_TYPES.NOW_POPOVER_OPENED_SET]: ({action, updateState}) => {\n\t\tconst {id} = action?.meta?.appended;\n\t\tconst {value} = action?.payload;\n\n\t\tif (id === 'inline-ai-card-popover') {\n\t\t\tupdateState({inlinePopoverOpened: value});\n\t\t}\n\t},\n\t[REVIEW_CARD_EDIT_SAVED]: ({action, state, dispatch, updateState}) => {\n\t\tconst {conversationId} = state?.usecaseData || state.properties || {};\n\t\tif (!conversationId) {\n\t\t\treturn;\n\t\t}\n\t\tconst {messageSysId, edited} = action?.payload || {};\n\t\tif (messageSysId && typeof edited === 'string') {\n\t\t\tconst existing = state.usecaseData?.transcriptData;\n\t\t\tif (Array.isArray(existing)) {\n\t\t\t\tupdateState({\n\t\t\t\t\tusecaseData: {\n\t\t\t\t\t\t...state.usecaseData,\n\t\t\t\t\t\ttranscriptData: existing.map((msg) =>\n\t\t\t\t\t\t\tmsg?.sysId === messageSysId\n\t\t\t\t\t\t\t\t? {...msg, editedContent: edited, edited: true}\n\t\t\t\t\t\t\t\t: msg,\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tdispatch(ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY, {conversationId});\n\t},\n\t[ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY]: getExecutionActivity,\n\t[ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY_START]: ({\n\t\tstate,\n\t\tupdateState,\n\t}) => {\n\t\tconst {conversationId} = state?.usecaseData || state.properties;\n\t\toutputReviewCache.set(conversationId, {reviewRequestInProgress: true});\n\t\tupdateState({outputReview: {data: null, loading: true}});\n\t},\n\t[ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY_FAILED]: ({\n\t\tstate,\n\t\tupdateState,\n\t}) => {\n\t\tconst {conversationId} = state?.usecaseData || state.properties;\n\t\tconst outputReviewData = outputReviewCache.get(conversationId);\n\t\tif (outputReviewData) {\n\t\t\toutputReviewData.reviewRequestInProgress = false;\n\t\t}\n\t\tupdateState({\n\t\t\toutputReview: {data: null, loading: false},\n\t\t\tpendingReviewedIntent: null,\n\t\t});\n\t},\n\t[ACTION_TYPES.AI_AGENT_USECASE_ACTIVITY_SUCCESS]: {\n\t\teffect: ({action, state, properties, updateState, dispatch}) => {\n\t\t\tconst {conversationId} = state?.usecaseData || state.properties;\n\t\t\tconst {planId} = properties;\n\n\t\t\tconst {\n\t\t\t\toutput_type: variant,\n\t\t\t\toutput_content: originalContent,\n\t\t\t\toutput_content_edited: editedContent,\n\t\t\t\toutput_edited: edited,\n\t\t\t\toutput_citations: citationsData,\n\t\t\t\toutput_editable: editable,\n\t\t\t\toutput_reviewed: reviewed,\n\t\t\t\toutput_message_sys_id: messageSysId,\n\t\t\t\toutput_message_sequence: messageSequence,\n\t\t\t\toutput_ignore_draft: ignoreDraft,\n\t\t\t\tlogId,\n\t\t\t} = action.payload.result?.response || {};\n\n\t\t\tconst content =\n\t\t\t\tedited && typeof editedContent === 'string'\n\t\t\t\t\t? editedContent\n\t\t\t\t\t: originalContent;\n\n\t\t\t// TODO: reasoning and citations\n\t\t\tlet outputReviewData = {\n\t\t\t\tvariant,\n\t\t\t\tcontent,\n\t\t\t\toriginalContent,\n\t\t\t\tedited: Boolean(edited),\n\t\t\t\tcitationsData,\n\t\t\t\teditable,\n\t\t\t\treviewed,\n\t\t\t\tmessageSysId,\n\t\t\t\tmessageSequence,\n\t\t\t\tignoreDraft,\n\t\t\t\treviewRequestInProgress: false,\n\t\t\t};\n\t\t\tif (!variant && !content && !ignoreDraft) {\n\t\t\t\toutputReviewData = null;\n\t\t\t}\n\t\t\toutputReviewCache.set(conversationId, outputReviewData);\n\n\t\t\tdispatch(ACTION_TYPES.AI_STATUS_CARD_OUTPUT_REVIEW_SET, {\n\t\t\t\tplanId,\n\t\t\t\tconversationId,\n\t\t\t\toutputReview: outputReviewData,\n\t\t\t});\n\n\t\t\t// Resolve a click-out reviewed intent that was deferred while\n\t\t\t// editable status was unknown (see handlePlanReviewChange). Only\n\t\t\t// non-editable output completes the plan here - editable drafts\n\t\t\t// still require an explicit action (e.g. Post-it).\n\t\t\tconst {pendingReviewedIntent} = state;\n\t\t\tconst isPendingIntentForCurrentPlan =\n\t\t\t\tpendingReviewedIntent &&\n\t\t\t\tpendingReviewedIntent.planId === planId &&\n\t\t\t\tpendingReviewedIntent.conversationId === conversationId;\n\t\t\tif (\n\t\t\t\tisPendingIntentForCurrentPlan &&\n\t\t\t\toutputReviewData?.editable === false\n\t\t\t) {\n\t\t\t\tdispatch(ACTION_TYPES.MARK_PLAN_AS_REVIEWED, {\n\t\t\t\t\tpayload: {planId, reviewed: true},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateState({pendingReviewedIntent: null});\n\t\t\tupdateState({\n\t\t\t\tpath: 'outputReview',\n\t\t\t\tvalue: {data: outputReviewData, loading: false, logId},\n\t\t\t\toperation: declarativeOperations.SET,\n\t\t\t\tshouldRender: true,\n\t\t\t});\n\t\t},\n\t},\n\t// now-ai-agent-review-card marks a plan reviewed/ignore-drafted via its own\n\t// direct POST to update-plan; this bubbles up so the cached outputReview\n\t// (holding ignoreDraft) gets refetched instead of serving a stale,\n\t// pre-action snapshot on a same-session revisit.\n\t[MARK_PLAN_REVIEWED_SUCCESS]: {\n\t\teffect: ({state, properties, dispatch}) => {\n\t\t\tconst {conversationId} = state?.usecaseData || state.properties;\n\t\t\tif (conversationId) {\n\t\t\t\tdispatch(ACTION_TYPES.AI_AGENT_USECASE_GET_ACTIVITY, {conversationId});\n\t\t\t}\n\n\t\t\tconst {planId} = properties || {};\n\t\t\tif (planId) {\n\t\t\t\tdispatch(ACTION_TYPES.GET_USECASE, {\n\t\t\t\t\tpayload: {planId, excludeFields: 'state'},\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['SN_FEEDBACK#FEEDBACK_CLICKED']: ({\n\t\taction: {\n\t\t\tpayload: {button, isSelected},\n\t\t},\n\t\tupdateState,\n\t}) => {\n\t\tif (!isSelected) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (button === 'THUMBS_UP') {\n\t\t\treturn updateState({\n\t\t\t\tfeedback: FEEDBACK_BUTTONS.THUMBS_UP,\n\t\t\t});\n\t\t}\n\t\treturn updateState({\n\t\t\tfeedback: FEEDBACK_BUTTONS.THUMBS_DOWN,\n\t\t});\n\t},\n\t['SN_FEEDBACK#GRANULAR_FEEDBACK_SUBMIT_CLICKED']({action, dispatch, state}) {\n\t\tconst {\n\t\t\tusecaseData: {logId},\n\t\t\tfeedback,\n\t\t} = state;\n\t\tif (!logId) {\n\t\t\treturn;\n\t\t}\n\t\tlet additionalData = '';\n\t\tconst {items = []} = action.payload;\n\n\t\titems.forEach((item) => {\n\t\t\tswitch (item.type) {\n\t\t\t\tcase 'checklist': {\n\t\t\t\t\tconst checkedItems = item?.value?.filter(\n\t\t\t\t\t\t(val) => val.checked === true,\n\t\t\t\t\t);\n\t\t\t\t\tadditionalData += checkedItems.map((i) => i.label).join('\\n');\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'textarea': {\n\t\t\t\t\tadditionalData += `\\n${item.value}`;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\tadditionalData = isEmpty(additionalData)\n\t\t\t? additionalData\n\t\t\t: `${additionalData}\\n`;\n\n\t\tconst data = {\n\t\t\tlogId,\n\t\t\tfeedback,\n\t\t\tadditionalData,\n\t\t};\n\n\t\tdispatch(ACTION_TYPES.SUBMIT_FEEDBACK, {data});\n\n\t\tconst {usecaseData: ud} = state;\n\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\teventName: FEEDBACK_SUBMITTED,\n\t\t\tmetadata: {\n\t\t\t\tplanId: state.properties?.planId,\n\t\t\t\tworkflowId: ud?.usecaseId,\n\t\t\t\tworkflowName: ud?.usecaseName,\n\t\t\t\tlogId,\n\t\t\t\tfeedback,\n\t\t\t\ttable: ud?.tableName,\n\t\t\t\trecordId: ud?.sysId,\n\t\t\t\tuserId: ud?.userInfo?.userId,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t},\n\t\t});\n\t},\n\t[ACTION_TYPES.SUBMIT_FEEDBACK]: sendFeedback,\n\t[ACTION_TYPES.SUBMIT_FEEDBACK_SUCCEEDED]: ({updateState}) => {\n\t\tupdateState({\n\t\t\tfeedback: null,\n\t\t});\n\t},\n\t[ACTION_TYPES.SUBMIT_FEEDBACK_FAILED]: ({updateState}) => {\n\t\tupdateState({\n\t\t\tfeedback: null,\n\t\t});\n\t},\n\t[ACTION_TYPES.MARK_PLAN_AS_REVIEWED]: {\n\t\t...postPlanReviewStatus,\n\t\tstopPropagation: true,\n\t},\n\t[ACTION_TYPES.MARK_PLAN_AS_REVIEWED_SUCCESS]: {\n\t\teffect: ({dispatch, action}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {result},\n\t\t\t} = action;\n\n\t\t\tdispatch(AI_STATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_PLAN_REVIEWED, {\n\t\t\t\tplanId: result?.planId,\n\t\t\t\treviewed: result?.reviewed,\n\t\t\t});\n\t\t},\n\t},\n\t[ACTION_TYPES.AI_STATUS_CARD_REGENERATE]: {\n\t\teffect: ({dispatch, state, properties, updateState}) => {\n\t\t\tupdateState({inlinePopoverOpened: false});\n\t\t\tconst usecaseDataSource = state.usecaseData?.usecaseId\n\t\t\t\t? state.usecaseData\n\t\t\t\t: properties.usecaseData || {};\n\t\t\tconst {\n\t\t\t\tusecaseId,\n\t\t\t\tsysId,\n\t\t\t\ttableName,\n\t\t\t\tusecaseName,\n\t\t\t\tuserInfo: {userId} = {},\n\t\t\t} = usecaseDataSource;\n\n\t\t\tif (!usecaseId || !sysId) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdispatch(ACTION_TYPES.AI_STATUS_CARD_REGENERATE_REQUESTED, {\n\t\t\t\tdata: {\n\t\t\t\t\trequestId: Date.now().toString(),\n\t\t\t\t\tconversationUser: userId,\n\t\t\t\t\tconversationLabel: usecaseName,\n\t\t\t\t\tobjective: state.objective || usecaseName,\n\t\t\t\t\tusecaseId,\n\t\t\t\t\ttargetRecordId: sysId,\n\t\t\t\t\ttargetTable: tableName,\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t},\n\t[ACTION_TYPES.AI_STATUS_CARD_REGENERATE_REQUESTED]: {\n\t\t...postMessage,\n\t},\n\t[ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SUCCESS]: ({\n\t\taction,\n\t\tupdateProperties,\n\t}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\tresult: {\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tdata: {executionPlanId},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t} = action;\n\t\tif (!executionPlanId) {\n\t\t\treturn;\n\t\t}\n\t\tupdateProperties({\n\t\t\tplanId: executionPlanId,\n\t\t});\n\t},\n\t[ACTION_TYPES.AI_STATUS_CARD_REGENERATE_FAILED]: ({action}) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Regenerate failed:', action.payload);\n\t},\n\t...ipeMetrics,\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\n\nconst {COMPONENT_DISCONNECTED} = actionTypes;\n\nexport const RECORD_WATCH_ACTIONS = {\n\tRECORD_WATCHER_SUBSCRIPTION_CHANGED: 'RECORD_WATCHER_SUBSCRIPTION_CHANGED',\n\tRECORD_WATCHER_SUBSCRIBE_STARTED: 'RECORD_WATCHER_SUBSCRIBE_STARTED',\n\tRECORD_WATCHER_SUBSCRIBED: 'RECORD_WATCHER_SUBSCRIBED',\n\tRECORD_WATCHER_SUBSCRIBE_FAILED: 'RECORD_WATCHER_SUBSCRIBE_FAILED',\n\tRECORD_WATCHER_UNSUBSCRIBED: 'RECORD_WATCHER_UNSUBSCRIBED',\n\tRECORD_WATCHER_ITEM_CHANGED: 'RECORD_WATCHER_ITEM_CHANGED',\n};\n\nconst recordWatcherHandler = (channel, coeffects) => {\n\tconst {effect, args} = createAmbSubscriptionEffect(channel, {\n\t\tsubscribeStartedActionType:\n\t\t\tRECORD_WATCH_ACTIONS.RECORD_WATCHER_SUBSCRIBE_STARTED,\n\t\tsubscribeSucceededActionType:\n\t\t\tRECORD_WATCH_ACTIONS.RECORD_WATCHER_SUBSCRIBED,\n\t\tsubscribeFailedActionType:\n\t\t\tRECORD_WATCH_ACTIONS.RECORD_WATCHER_SUBSCRIBE_FAILED,\n\t\tunsubscribeSucceededActionType:\n\t\t\tRECORD_WATCH_ACTIONS.RECORD_WATCHER_UNSUBSCRIBED,\n\t\tmessageReceivedActionType: RECORD_WATCH_ACTIONS.RECORD_WATCHER_ITEM_CHANGED,\n\t});\n\n\treturn {effect, args: [...args, coeffects]};\n};\n\n/**\n * Dispatches an event to trigger updat of subscription\n */\nconst setSubscription = (ambChannel, subscribe, dispatch) => {\n\tdispatch(RECORD_WATCH_ACTIONS.RECORD_WATCHER_SUBSCRIPTION_CHANGED, {\n\t\tambChannel,\n\t\tsubscribe,\n\t});\n};\n\nexport default {\n\tname: 'ambBehavior',\n\tactionHandlers: {\n\t\t['SET_SUBSCRIPTION']: {\n\t\t\teffect({updateState, action, state, dispatch}) {\n\t\t\t\tconst {ambChannel} = action.payload;\n\t\t\t\tconst currentChannels = state.ambChannels || [];\n\t\t\t\tsetSubscription(ambChannel, true, dispatch);\n\t\t\t\tif (!currentChannels.includes(ambChannel)) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tambChannels: [...currentChannels, ambChannel],\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t['UNSUBSCRIBE_AMB']: {\n\t\t\teffect({state, dispatch, updateState}) {\n\t\t\t\tstate.ambChannels.forEach((channel) => {\n\t\t\t\t\tsetSubscription(channel, false, dispatch);\n\t\t\t\t});\n\t\t\t\tupdateState({ambChannels: []});\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t\t[RECORD_WATCH_ACTIONS.RECORD_WATCHER_SUBSCRIPTION_CHANGED]: {\n\t\t\teffect: () => null,\n\t\t\tinterceptors: [\n\t\t\t\t(context) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tpayload,\n\t\t\t\t\t\tpayload: {ambChannel},\n\t\t\t\t\t} = context.coeffects.action;\n\n\t\t\t\t\tif (!ambChannel) {\n\t\t\t\t\t\treturn context;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove amb channel from payload since it is not needed for amb subsription effect\n\t\t\t\t\tdelete payload.ambChannel;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\teffects: [recordWatcherHandler(ambChannel, context.coeffects)],\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t],\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view.js';\nimport actionHandlers from './actionHandlers.js';\nimport ambBehavior from '../behaviors/amb-behavior.js';\nimport styles from './styles.scss';\nimport {CARD_TYPE} from '../utils/agent-card-constants';\n\ncreateCustomElement('now-ai-status-card', {\n\trenderer: {type: snabbdom},\n\tsetInitialState: () => ({\n\t\tusecaseData: {},\n\t\tisComponentVisible: false,\n\t\tcollapsed: true,\n\t\tambChannels: [],\n\t\toutputReview: {data: null, loading: true},\n\t\tpendingReviewedIntent: null,\n\t\tinlinePopoverOpened: false,\n\t\tisCancelSupported: false,\n\t\tobjective: '',\n\t\tstateLabelData: {},\n\t}),\n\tproperties: {\n\t\trecordId: {\n\t\t\tdefault: '',\n\t\t},\n\t\trecordTable: {\n\t\t\tdefault: '',\n\t\t},\n\t\tusecaseData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tconversationId: {schema: {type: 'string'}},\n\t\t\t\t\ttableName: {schema: {type: 'string'}},\n\t\t\t\t\tsysId: {schema: {type: 'string'}},\n\t\t\t\t\tusecaseId: {schema: {type: 'string'}},\n\t\t\t\t\tusecaseName: {schema: {type: 'string'}},\n\t\t\t\t\tstatus: {schema: {type: 'string'}},\n\t\t\t\t\tstate: {schema: {type: 'string'}},\n\t\t\t\t\tstateReason: {schema: {type: 'string'}},\n\t\t\t\t\teta: {schema: {type: 'string'}},\n\t\t\t\t\texecutionTime: {schema: {type: 'string'}},\n\t\t\t\t\tuserInfo: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\tuserName: {type: 'string'},\n\t\t\t\t\t\t\tuserAvatarUrl: {type: 'string'},\n\t\t\t\t\t\t\tuserId: {type: 'string'},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tsteps: {schema: {type: 'array'}},\n\t\t\t\t\tmessages: {schema: {type: 'object'}},\n\t\t\t\t\tconversationUser: {schema: {type: 'object'}},\n\t\t\t\t\ttranscriptData: {schema: {type: 'object'}},\n\t\t\t\t\tcreatedOn: {schema: {type: 'string'}},\n\t\t\t\t\tisMine: {schema: {type: 'boolean'}},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tstateLabelData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t\tproperties: {\n\t\t\t\t\tvalue: {type: 'string'},\n\t\t\t\t\tlabel: {type: 'string'},\n\t\t\t\t\ticon: {type: 'string'},\n\t\t\t\t\tcolor: {type: 'string'},\n\t\t\t\t\tvariant: {type: 'string'},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tplanId: {\n\t\t\tdefault: '',\n\t\t},\n\t\tcardType: {\n\t\t\tdefault: CARD_TYPE.OVERVIEW,\n\t\t},\n\t\thideDisclaimer: {\n\t\t\tdefault: false,\n\t\t},\n\t\treviewed: {\n\t\t\tdefault: false,\n\t\t},\n\t\texperience: {\n\t\t\tdefault: '',\n\t\t},\n\t\tviewStepsInModal: {\n\t\t\tdefault: false,\n\t\t},\n\t\thideCancel: {\n\t\t\tdefault: false,\n\t\t},\n\t\thideRestart: {\n\t\t\tdefault: false,\n\t\t},\n\t\tfeedbackConfig: {\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tview,\n\tactionHandlers,\n\tdispatches: {\n\t\t'AI_STATUS_CARD#STATE_UPDATED': {\n\t\t\tpayload: {\n\t\t\t\tplanId: '',\n\t\t\t\tstate: '',\n\t\t\t\tpreviousState: '',\n\t\t\t},\n\t\t},\n\t\t'AI_STATUS_CARD#OUTPUT_REVIEW_SET': {\n\t\t\tpayload: {\n\t\t\t\tplanId: '',\n\t\t\t\tconversationId: '',\n\t\t\t\toutputReview: {},\n\t\t\t},\n\t\t},\n\t},\n\tstyles,\n\tbehaviors: [ambBehavior],\n});\n","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view';\nimport styles from './styles.scss';\n\ncreateCustomElement('now-ai-agent-status-card-list', {\n\trenderer: {type: snabbdom},\n\tproperties: {\n\t\tstateLabelData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tagenticworkflowsDetails: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t\titems: {\n\t\t\t\t\ttype: 'object',\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tobjective: {type: 'string'},\n\t\t\t\t\t\tstate: {type: 'string'},\n\t\t\t\t\t\trecordId: {type: 'string'},\n\t\t\t\t\t\trecordTable: {type: 'string'},\n\t\t\t\t\t\tplanId: {type: 'string'},\n\t\t\t\t\t\tusecaseData: {\n\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\tconversationId: {type: 'string'},\n\t\t\t\t\t\t\t\ttableName: {type: 'string'},\n\t\t\t\t\t\t\t\tsysId: {type: 'string'},\n\t\t\t\t\t\t\t\tusecaseId: {type: 'string'},\n\t\t\t\t\t\t\t\tusecaseName: {type: 'string'},\n\t\t\t\t\t\t\t\tstatus: {type: 'string'},\n\t\t\t\t\t\t\t\tstate: {type: 'string'},\n\t\t\t\t\t\t\t\tstateReason: {type: 'string'},\n\t\t\t\t\t\t\t\tsteps: {type: 'array', items: {type: 'object'}},\n\t\t\t\t\t\t\t\treview: {type: 'boolean'},\n\t\t\t\t\t\t\t\tuserInfo: {\n\t\t\t\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t\t\t\tuserName: {type: 'string'},\n\t\t\t\t\t\t\t\t\t\tuserAvatarUrl: {type: 'string'},\n\t\t\t\t\t\t\t\t\t\tuserId: {type: 'string'},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tview,\n\tstyles,\n});\n","import {CARD_TYPE} from '../utils/agent-card-constants';\n\nexport default (state) => {\n\tconst stateLabelData = state.properties.stateLabelData;\n\tconst agenticworkflowsDetails =\n\t\tstate.properties.agenticworkflowsDetails || [];\n\n\tif (!agenticworkflowsDetails.length) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<div className=\"status-cards-container\">\n\t\t\t<div className=\"cards-list\">\n\t\t\t\t{agenticworkflowsDetails.map((usecase) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t!usecase?.usecaseData ||\n\t\t\t\t\t\t!usecase.usecaseData.usecaseId ||\n\t\t\t\t\t\t!usecase.usecaseData.usecaseName ||\n\t\t\t\t\t\t!usecase.usecaseData.conversationId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<now-card\n\t\t\t\t\t\t\tsidebar={{color: 'ai', variant: 'primary'}}\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\thide-shadow={true}\n\t\t\t\t\t\t\tkey={usecase.planId}\n\t\t\t\t\t\t\tclassName=\"cards-wrapper\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<now-ai-status-card\n\t\t\t\t\t\t\t\trecordId={usecase.recordId}\n\t\t\t\t\t\t\t\trecordTable={usecase.recordTable}\n\t\t\t\t\t\t\t\tusecaseData={usecase.usecaseData}\n\t\t\t\t\t\t\t\tplan-id={usecase.planId}\n\t\t\t\t\t\t\t\tcard-type={CARD_TYPE.OVERVIEW}\n\t\t\t\t\t\t\t\tstateLabelData={stateLabelData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</now-card>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n","import {t} from 'sn-translate';\nexport const DEFAULT_HEADING = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'AI Activity',\n});\nexport const EVERYONE_OPTION = 'everyone';\nexport const EVERYONE_OPTION_LABEL = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Everyone',\n});\nexport const WORKFLOWS_LOADING_MESSAGE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Loading AI activity',\n});\nexport const MARK_AS_UNREAD = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Mark as unread',\n});\nexport const NO_RESULTS_MESSAGE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'No AI activity running',\n});\nexport const NO_RESULTS_ILLUSTRATION = 'no-activities';\n\nexport const ERROR_MESSAGE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Process failed to initiate',\n});\nexport const ERROR_ILLUSTRATION = 'interrupted';\n\nexport const GET_USECASE_CURRENT_RUN = 'GET_USECASE_CURRENT_RUN';\nexport const GET_USECASE_CURRENT_RUN_SUCCEEDED =\n\t'GET_USECASE_CURRENT_RUN_SUCCEEDED';\nexport const GET_USECASE_CURRENT_RUN_FAILED = 'GET_USECASE_CURRENT_RUN_FAILED';\nexport const NOW_DROPDOWN_SELECTED_ITEMS_SET =\n\t'NOW_DROPDOWN#SELECTED_ITEMS_SET';\nexport const NOW_DROPDOWN_OPENED_SET = 'NOW_DROPDOWN#OPENED_SET';\nexport const AI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT =\n\t'AI_AGENT_STATUS_CARD#CUSTOM_EXPAND_EVENT';\nexport const AI_STATUS_CARD_PLAN_UPDATED = 'AI_STATUS_CARD#PLAN_UPDATED';\nexport const AGENTIC_PROCESSES_TEMPLATE_COMPONENT_TREE_RENDERED =\n\t'AGENTIC_PROCESSES_TEMPLATE#COMPONENT_TREE_RENDERED';\n\nexport const NOW_DROPDOWN_LIST_CLICKED = 'NOW_DROPDOWN_LIST#ITEM_CLICKED';\nexport const AMB_ACTIONS = {\n\tEXECUTION_PLAN_UPDATED: 'EXECUTION_PLAN_UPDATED',\n\tAGENTIC_PROCESSING_UPDATED: 'AGENTIC_PROCESSING_UPDATED',\n\tSUBSCRIBE_TO_PLANS: 'SUBSCRIBE_TO_PLANS',\n\tSUBSCRIBE_TO_PROCESSING: 'SUBSCRIBE_TO_PROCESSING',\n\tSUBSCRIPTION_CHANGED: 'RECORD_WATCHER_SUBSCRIPTION_CHANGED',\n};\n\nexport const BACK_BUTTON_ARIA_LABEL = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Back',\n});\n\nexport const ACTION_TYPES = {\n\tAI_AGENT_CANCEL_EXECUTION: 'AI_AGENT_CANCEL_EXECUTION',\n\tEXECUTION_PLAN: 'EXECUTION_PLAN',\n\tCANCEL_WORKFLOW_MESSAGE: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Stop activity',\n\t}),\n\tWORKFLOW_OPTIONS: t({\n\t\tcode: 'sn-ai-engagement-experience',\n\t\tmessage: 'Workflow Options',\n\t}),\n\tCONFIRM_CANCEL: 'CONFIRM_CANCEL',\n\tCLOSE_CANCEL_MODAL: 'CLOSE_CANCEL_MODAL',\n};\n\nexport const MESSAGE_STATE = {\n\tLOADING: 'LOADING',\n\tERROR: 'ERROR',\n\tSUCCESS: 'SUCCESS',\n\tEMPTY: 'EMPTY',\n};\nexport const SYS_ID = 'sysId';\n\nexport const ROUTER_CHANNEL = 'INTERACTIVE_VIEW_ROUTER';\n\nexport const BACK = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'Back',\n});\nexport const STATE = t({\n\tcode: 'sn-ai-engagement-experience',\n\tmessage: 'State',\n});\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"throttle\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__.__esModule\n\t\t\t\t\tif (cjsModule && 'throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"].throttle;\n\t\t\t\t\t} else if ('throttle' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__.throttle || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__[\"default\"].throttle;\n\t\t\t\t} });","let stateDisplayMap = null;\n\nexport const sortStatesOptions = (options, stateDisplayOrder = []) => {\n\tif (!stateDisplayMap) {\n\t\tstateDisplayMap = new Map(\n\t\t\tstateDisplayOrder.map((state, index) => [state, index]),\n\t\t);\n\t}\n\treturn [...options].sort((a, b) => {\n\t\tconst indexA = stateDisplayMap.has(a.id)\n\t\t\t? stateDisplayMap.get(a.id)\n\t\t\t: Infinity;\n\t\tconst indexB = stateDisplayMap.has(b.id)\n\t\t\t? stateDisplayMap.get(b.id)\n\t\t\t: Infinity;\n\t\treturn indexA - indexB;\n\t});\n};\n\nconst getSortedSelectedStates = (selectedStates, stateDisplayOrder = []) => {\n\tconst stateOptions = selectedStates.map((state) => ({id: state}));\n\treturn sortStatesOptions(stateOptions, stateDisplayOrder).map(\n\t\t(opt) => opt.id,\n\t);\n};\n\nconst groupPlansByState = (plans) => {\n\tconst plansByState = new Map();\n\n\tplans.forEach((plan) => {\n\t\tif (!plan?.planId) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst state = plan.usecaseData?.state;\n\t\tif (!state) {\n\t\t\treturn;\n\t\t}\n\n\t\tplansByState.set(state, [...(plansByState.get(state) || []), plan]);\n\t});\n\n\treturn {plansByState};\n};\n\nexport const filterPlans = (\n\tplans,\n\tselectedStates = [],\n\tstateDisplayOrder = [],\n) => {\n\tconst sortedStates =\n\t\tselectedStates.length > 0\n\t\t\t? getSortedSelectedStates(selectedStates, stateDisplayOrder)\n\t\t\t: stateDisplayOrder;\n\n\tconst {plansByState} = groupPlansByState(plans);\n\n\t//if we have following selected states [\"in_progress\", \"input_needed_fulfiller\", \"input_needed_requester\", \"review_output\"]\n\t//then we should show plans in that exact order.\n\n\treturn sortedStates.flatMap((state) => plansByState.get(state) || []);\n};\n\nexport const getAvailableStates = (stateLabelData) =>\n\tObject.values(stateLabelData)\n\t\t.sort((a, b) => a.order - b.order)\n\t\t.map(({label, value}) => ({\n\t\t\tlabel,\n\t\t\tid: value,\n\t\t}));\n\nexport const getStateDisplayOrder = (cardStateConfig) =>\n\tObject.values(cardStateConfig)\n\t\t.sort((a, b) => a.order - b.order)\n\t\t.map((state) => state.value);\n\nexport const getDefaultSelectedStates = (cardStateConfig) =>\n\tObject.values(cardStateConfig)\n\t\t.filter((state) => state.defaultSelected === true)\n\t\t.map((state) => state.value);\n\nexport const safeJsonParse = (jsonString) => {\n\ttry {\n\t\treturn JSON.parse(jsonString);\n\t} catch {\n\t\treturn null;\n\t}\n};\n","const TARGET_BASE_FONT_SIZE = 16;\n// cache for custom element -> set of sheets\nconst processedByDef = new WeakMap();\n// cache for original style text -> updated style text\nconst processedStyleTags = new WeakSet();\n\nfunction getFontSize(el = document.documentElement) {\n\ttry {\n\t\tif (!(el instanceof Element)) {\n\t\t\tthrow new Error('Not a DOM element');\n\t\t}\n\n\t\tconst style = getComputedStyle(el);\n\t\tif (!style || !style.fontSize) {\n\t\t\tthrow new Error('No computed font-size');\n\t\t}\n\n\t\tconst px = parseFloat(style.fontSize);\n\t\tif (isNaN(px)) {\n\t\t\tthrow new Error('fontSize is not a number');\n\t\t}\n\n\t\treturn px;\n\t} catch (err) {\n\t\tconsole.warn('Could not get font size, defaulting to 16px:', err);\n\t\treturn 16;\n\t}\n}\n\nexport function calculateMultiplier(pageFontSize = getFontSize()) {\n\treturn TARGET_BASE_FONT_SIZE / pageFontSize;\n}\n\nexport default function adjustRemValues(\n\telement,\n\tmultiplier,\n\tfontSizeOverride = false,\n) {\n\tif (getFontSize() === TARGET_BASE_FONT_SIZE) {\n\t\treturn;\n\t}\n\n\tmultiplier = multiplier ?? calculateMultiplier();\n\n\tif (!element.shadowRoot) {\n\t\treturn;\n\t}\n\n\tconst ctor = element.constructor;\n\tlet seenSheets = processedByDef.get(ctor);\n\tif (!seenSheets) {\n\t\tseenSheets = new WeakSet();\n\t\tprocessedByDef.set(ctor, seenSheets);\n\t}\n\n\tconst remRegex =\n\t\t/([\\d.]+)rem(?![^)]*(--classicformonlydonotuse--rem-multipy|--na-ss-rem-multiplier|--classicsponlydonotuse--rem-multipy))/g;\n\n\tconst shouldIgnore = (text) =>\n\t\ttext.includes('--classicformonlydonotuse--rem-multipy') ||\n\t\ttext.includes('--classicsponlydonotuse--rem-multipy') ||\n\t\ttext.includes('--na-ss-rem-multiplier');\n\n\tconst rewriteFontSizeRule = (ruleText) => {\n\t\tlet newRuleText = ruleText;\n\t\tnewRuleText = newRuleText.replace(\n\t\t\t/font-size\\s*:\\s*([^;]+);/g,\n\t\t\t(match, value) => {\n\t\t\t\tif (value.includes('--na-ss-rem-multiplier')) {\n\t\t\t\t\treturn match;\n\t\t\t\t}\n\t\t\t\tif (value.startsWith('var(')) {\n\t\t\t\t\treturn `font-size: calc(var(--na-ss-rem-multiplier) * ${value});`;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t},\n\t\t);\n\t\treturn newRuleText;\n\t};\n\n\t// go through each of the stylesheets and modify if they haven't been\n\tfor (const sheet of element.shadowRoot.adoptedStyleSheets || []) {\n\t\tif (seenSheets.has(sheet)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\ttry {\n\t\t\tfor (let i = 0; i < sheet.cssRules.length; i++) {\n\t\t\t\tconst rule = sheet.cssRules[i];\n\t\t\t\tif (!rule || !rule.cssText) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (shouldIgnore(rule.cssText)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet updated = rule.cssText;\n\t\t\t\tupdated = rule.cssText.replace(\n\t\t\t\t\tremRegex,\n\t\t\t\t\t(_, num) => parseFloat(num) * multiplier + 'rem',\n\t\t\t\t);\n\t\t\t\tif (fontSizeOverride && updated.includes('font-size')) {\n\t\t\t\t\tupdated = rewriteFontSizeRule(updated);\n\t\t\t\t}\n\n\t\t\t\tif (rule.cssText !== updated) {\n\t\t\t\t\tsheet.deleteRule(i);\n\t\t\t\t\tsheet.insertRule(updated, i);\n\t\t\t\t}\n\t\t\t}\n\t\t\tseenSheets.add(sheet);\n\t\t} catch (err) {\n\t\t\tconsole.warn('Failed to modify stylesheet:', err);\n\t\t}\n\t}\n\n\t// go through each of the <style> elements and modify if they haven't been\n\telement.shadowRoot.querySelectorAll('style').forEach((styleEl) => {\n\t\ttry {\n\t\t\tif (processedStyleTags.has(styleEl)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst orig = styleEl.textContent;\n\t\t\tif (!orig) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstyleEl.textContent = orig.replace(\n\t\t\t\tremRegex,\n\t\t\t\t(_, num) => parseFloat(num) * multiplier + 'rem',\n\t\t\t);\n\t\t\tif (fontSizeOverride && styleEl.textContent.includes('font-size')) {\n\t\t\t\tstyleEl.textContent = rewriteFontSizeRule(styleEl.textContent);\n\t\t\t}\n\t\t\tprocessedStyleTags.add(styleEl);\n\t\t} catch (err) {\n\t\t\tconsole.warn('Error processing <style> in', element.tagName, err);\n\t\t}\n\t});\n\n\t// go through each of the child elements with shadow roots and recurse\n\telement.shadowRoot.querySelectorAll('*').forEach((child) => {\n\t\tif (child.shadowRoot) {\n\t\t\tadjustRemValues(child, multiplier, fontSizeOverride);\n\t\t}\n\t});\n}\n","/**\n * @file Action handlers for the agentic processes template component\n * @description This file contains action handlers, effects, and utility functions\n * for managing execution plans, state filtering, and AMB subscriptions\n */\n\nimport {actionTypes} from '@servicenow/ui-core';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport throttle from 'lodash/throttle';\nimport {\n\tACTION_TYPES,\n\tSYS_ID,\n\tGET_USECASE_CURRENT_RUN,\n\tGET_USECASE_CURRENT_RUN_SUCCEEDED,\n\tGET_USECASE_CURRENT_RUN_FAILED,\n\tNOW_DROPDOWN_SELECTED_ITEMS_SET,\n\tNOW_DROPDOWN_OPENED_SET,\n\tAI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT,\n\tAI_STATUS_CARD_PLAN_UPDATED,\n\tAGENTIC_PROCESSES_TEMPLATE_COMPONENT_TREE_RENDERED,\n\tNOW_DROPDOWN_LIST_CLICKED,\n\tAMB_ACTIONS,\n\tROUTER_CHANNEL,\n\tMESSAGE_STATE,\n} from './constants.js';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {\n\tfilterPlans,\n\tgetStateDisplayOrder,\n\tgetDefaultSelectedStates,\n\tsafeJsonParse,\n} from './utils.js';\nimport adjustRemValues, {\n\tcalculateMultiplier,\n} from '../sn-canvas-experience/utilities/adjustRemValues.js';\nimport {\n\tCARD_UI_STATES,\n\tNOW_UI_ACTION_TYPES,\n\tAI_STATUS_CARD_ACTION_TYPES,\n\tSUPERVISION_ACTION_TYPES,\n\tPROVENANCE,\n} from '../utils/agent-card-constants.js';\nimport {\n\treconcileSteps,\n\treconcileCardState,\n\tisInputNeeded,\n\tsetAgenticDebugLogging,\n\tagenticDebugLog,\n} from '../utils';\nimport {\n\tACTION_TYPES as STATUS_CARD_ACTION_TYPES,\n\tAPI_ENDPOINTS,\n} from '../now-ai-status-card/constants.js';\n\nimport {subscribe} from '@servicenow/ai-engagement-library';\nimport {\n\tIPE_TELEMETRY_REQUESTED,\n\tACTIVITY_PANEL_IMPRESSION,\n\tWORKFLOW_CREATED,\n\tWORKFLOW_VIEWED,\n\tCARD_EXPANDED,\n\tCARD_COLLAPSED,\n\tMARK_AS_UNREAD_CLICKED,\n} from '../metrics/constants.js';\nimport {ipeMetrics} from '../metrics/index.js';\n\nconst {\n\tCOMPONENT_BOOTSTRAPPED,\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_PROPERTY_CHANGED,\n} = actionTypes;\n\nconst throttleAdjustRemValues = throttle(adjustRemValues, 200);\n\n// Off-glide only: AMB is the reliable source of truth for cardState, but a live event can\n// arrive before the plan exists in `executionPlans` (new plan, before its first current-runs)\n// — the live handler then has no row to apply it to and the prompt is lost, after which a\n// commit-lagged current-runs adds the plan as `in_progress`. This map remembers the latest\n// *latched* live cardState per planId so current-runs can seed its reconcile from it and not\n// regress a live-known input_needed. Only read for off-glide plans (see current-runs); the\n// write is harmless for on-glide since it's never read there. Released on SUPERVISION_REPLIED.\nconst liveCardStateCache = new Map();\n\n/**\n * HTTP effect for fetching current usecase runs\n * @type {Function} - HTTP effect function that fetches current runs for specified record\n */\nconst getUsecaseCurrentRun = createHttpEffect(\n\t'/api/sn_now_canvas_ai/agentic_processing/current-runs',\n\t{\n\t\tmethod: 'POST',\n\t\tdataParam: 'payload',\n\t\tsuccessActionType: GET_USECASE_CURRENT_RUN_SUCCEEDED,\n\t\terrorActionType: GET_USECASE_CURRENT_RUN_FAILED,\n\t},\n);\n\n/**\n * AMB subscription effect for listening to execution plan changes\n * @type {Function} - AMB effect function that subscribes to execution plan updates\n */\nconst postMessageSilent = createHttpEffect(API_ENDPOINTS.POST_MESSAGE, {\n\tmethod: 'POST',\n\tdataParam: 'data',\n\theaders: {\n\t\t'Content-Type': 'application/json',\n\t},\n\tsuccessActionType:\n\t\tSTATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SILENT_SUCCESS,\n\terrorActionType:\n\t\tSTATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SILENT_FAILED,\n});\n\nconst subscribeToPlans = createAmbSubscriptionEffect(\n\t`/rw/default/sn_aia_execution_plan/:filter`,\n\t{\n\t\tmessageReceivedActionType: AMB_ACTIONS.EXECUTION_PLAN_UPDATED,\n\t},\n);\n\n/**\n * AMB subscription effect for listening to agentic processing channel\n * @type {Function} - AMB effect function that subscribes to agentic processing updates\n */\nconst subscribeToAgenticProcessing = createAmbSubscriptionEffect(\n\t`/agentic_processing/:filter`,\n\t{\n\t\tmessageReceivedActionType: AMB_ACTIONS.AGENTIC_PROCESSING_UPDATED,\n\t},\n);\n\nconst transformMessages = (messages) => {\n\tif (!messages?.extractedMessages) {\n\t\treturn messages;\n\t}\n\treturn {\n\t\t...messages,\n\t\textractedMessages: {\n\t\t\t...messages.extractedMessages,\n\t\t\trichControl:\n\t\t\t\ttypeof messages.extractedMessages.richControl === 'string'\n\t\t\t\t\t? safeJsonParse(messages.extractedMessages.richControl)\n\t\t\t\t\t: messages.extractedMessages.richControl,\n\t\t},\n\t};\n};\n\n/**\n *\n * @param {*} dispatch\n * @param {*} recordTable\n * @param {*} recordSysId\n */\nconst dispatchFetchAndSubscribe = (\n\tdispatch,\n\trecordTable,\n\trecordSysId,\n\tupdateState,\n) => {\n\tconst payload = {\n\t\trecordTable,\n\t\trecordSysId,\n\t\tfields: '',\n\t\texcludeFields: 'state',\n\t\tgetUILabelData: true,\n\t\tgetFeedbackConfig: true,\n\t};\n\n\tdispatch(GET_USECASE_CURRENT_RUN, {payload});\n\n\tif (!recordSysId) {\n\t\treturn;\n\t}\n\n\tconst planFilter = btoa(`related_task_record=${recordSysId}`).replace(\n\t\t/=/g,\n\t\t'-',\n\t);\n\n\tconst processingFilter = btoa(`task=${recordSysId}`).replace(/=/g, '-');\n\t// subscribe to execution_plan amb channel\n\n\tdispatch(AMB_ACTIONS.SUBSCRIBE_TO_PLANS, {\n\t\tfilter: planFilter,\n\t\tsubscribe: true,\n\t});\n\t// subscribe to agentic_processing amb channel\n\tdispatch(AMB_ACTIONS.SUBSCRIBE_TO_PROCESSING, {\n\t\tfilter: processingFilter,\n\t\tsubscribe: true,\n\t});\n\n\tupdateState({\n\t\tambChannelFilters: [planFilter, processingFilter],\n\t});\n};\n\nconst unsubscribeAndClearAmbChannels = (dispatch, state, updateState) => {\n\tconst ambFilters = state?.ambChannelFilters || [];\n\tambFilters.forEach((filter) => {\n\t\tdispatch(AMB_ACTIONS.SUBSCRIPTION_CHANGED, {subscribe: false, filter});\n\t});\n\tupdateState({ambChannelFilters: []});\n};\n\nlet unsubscribeOpenCard;\n\n/**\n * Action handlers for the component\n * @type {Object.<string, Object>} Map of action types to their handlers\n */\nexport default {\n\t/**\n\t * Handles status card status update events\n\t * @type {Object}\n\t */\n\t[AI_STATUS_CARD_PLAN_UPDATED]: {\n\t\teffect: ({action, state, updateState, updateProperties}) => {\n\t\t\tconst {\n\t\t\t\tplanId,\n\t\t\t\tsteps = null,\n\t\t\t\tmessages,\n\t\t\t\tconversationUser,\n\t\t\t\tisWebClient,\n\t\t\t\ttranscriptData,\n\t\t\t} = action.payload;\n\t\t\tconst {selectedStates} = state;\n\t\t\tconst {executionPlans, stateDisplayOrder} = state.properties;\n\n\t\t\tconst updatedPlans = executionPlans.map((plan) => {\n\t\t\t\tif (plan.planId !== planId) {\n\t\t\t\t\treturn plan;\n\t\t\t\t}\n\n\t\t\t\tconst {state: currentState} = plan.usecaseData || {};\n\t\t\t\tlet updatedState = currentState;\n\t\t\t\tlet updatedSteps = plan.usecaseData?.steps;\n\n\t\t\t\tif (steps) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tsteps.length === 0 &&\n\t\t\t\t\t\t[CARD_UI_STATES.REVIEW_OUTPUT, CARD_UI_STATES.COMPLETED].includes(\n\t\t\t\t\t\t\tupdatedState,\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdatedState = CARD_UI_STATES.FAILED;\n\t\t\t\t\t}\n\t\t\t\t\tupdatedSteps = steps;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\t...plan,\n\t\t\t\t\tusecaseData: {\n\t\t\t\t\t\t...plan.usecaseData,\n\t\t\t\t\t\tstate: updatedState,\n\t\t\t\t\t\tmessages,\n\t\t\t\t\t\tconversationUser,\n\t\t\t\t\t\tisWebClient,\n\t\t\t\t\t\ttranscriptData,\n\t\t\t\t\t\t...(updatedSteps !== undefined && {steps: updatedSteps}),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tupdateProperties({\n\t\t\t\texecutionPlans: updatedPlans,\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tfilteredPlans: filterPlans(\n\t\t\t\t\tupdatedPlans,\n\t\t\t\t\tselectedStates,\n\t\t\t\t\tstateDisplayOrder,\n\t\t\t\t),\n\t\t\t});\n\t\t},\n\t},\n\t/**\n\t * Keeps our own executionPlans copy of a plan's status in sync with what\n\t * the child card just computed (e.g. after an ignore-draft/review action),\n\t * @type {Object}\n\t */\n\t[STATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_STATE_UPDATED]: {\n\t\teffect: ({action, state, updateState, updateProperties}) => {\n\t\t\tconst {planId, state: newState} = action.payload;\n\t\t\tconst {selectedStates} = state;\n\t\t\tconst {executionPlans, stateDisplayOrder} = state.properties;\n\n\t\t\tconst targetPlan = executionPlans.find((plan) => plan.planId === planId);\n\t\t\tif (!targetPlan || targetPlan.usecaseData?.state === newState) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst updatedPlans = executionPlans.map((plan) =>\n\t\t\t\tplan.planId === planId\n\t\t\t\t\t? {...plan, usecaseData: {...plan.usecaseData, state: newState}}\n\t\t\t\t\t: plan,\n\t\t\t);\n\n\t\t\tupdateProperties({executionPlans: updatedPlans});\n\t\t\tupdateState({\n\t\t\t\tfilteredPlans: filterPlans(\n\t\t\t\t\tupdatedPlans,\n\t\t\t\t\tselectedStates,\n\t\t\t\t\tstateDisplayOrder,\n\t\t\t\t),\n\t\t\t});\n\t\t},\n\t},\n\t/**\n\t * Handles iconic button click events\n\t * @type {Object}\n\t */\n\t[NOW_UI_ACTION_TYPES.NOW_BUTTON_ICONIC_CLICKED]: {\n\t\t/**\n\t\t * Updates state when a back button is clicked\n\t\t * @param {Object} params - Parameters object\n\t\t * @param {Object} params.action - Action object containing payload\n\t\t * @param {Function} params.updateState - Function to update component state\n\t\t */\n\t\teffect: ({action, properties, updateState, state, dispatch}) => {\n\t\t\tconst {payload} = action;\n\t\t\tconst {defaultHeading, experience, tableName, sysId, executionPlans} =\n\t\t\t\tproperties;\n\t\t\tconst heading = experience === 'Core UI' ? '' : defaultHeading;\n\n\t\t\tif (payload && payload.type === 'back') {\n\t\t\t\tconst selectedPlan = executionPlans.find(\n\t\t\t\t\t(plan) => plan.planId === state.selectedCard,\n\t\t\t\t);\n\t\t\t\tconst wasInReview =\n\t\t\t\t\tselectedPlan?.usecaseData?.state === CARD_UI_STATES.REVIEW_OUTPUT;\n\n\t\t\t\t// Refresh data when navigating back from a review_output state\n\t\t\t\t// This ensures the list shows the correct state since\n\t\t\t\t// review_output -> completed state transitions happen in the detail view\n\t\t\t\tif (wasInReview) {\n\t\t\t\t\tdispatch(GET_USECASE_CURRENT_RUN, {\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\trecordTable: tableName,\n\t\t\t\t\t\t\trecordSysId: sysId,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tupdateState({\n\t\t\t\t\tselectedCard: null,\n\t\t\t\t\tselectedCardReviewed: false,\n\t\t\t\t\theading,\n\t\t\t\t});\n\t\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\t\teventName: CARD_COLLAPSED,\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tplanId: state.selectedCard,\n\t\t\t\t\t\tinterfaceType:\n\t\t\t\t\t\t\texperience === 'Core UI' ? 'Classic UI16' : 'Seismic Workspace',\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t/**\n\t * Handles cancel execution action\n\t * @param {Object} params - Parameters object\n\t * @param {Object} params.action - Action object containing payload\n\t * @param {Function} params.dispatch - Function to dispatch actions\n\t * @param {Function} params.updateState - Function to update component state\n\t * @param {Object} params.state - Current component state\n\t */\n\t[ACTION_TYPES.AI_AGENT_CANCEL_EXECUTION]: ({\n\t\taction,\n\t\tdispatch,\n\t\tstate = {},\n\t}) => {\n\t\tconst {\n\t\t\tselectedCard,\n\t\t\tfilteredPlans,\n\t\t\tproperties: {tableName, sysId},\n\t\t} = state;\n\t\tconst {\n\t\t\tpayload: {action: {id} = {}},\n\t\t} = action;\n\n\t\tif (id === 'cancel') {\n\t\t\tconst selectedPlan = selectedCard\n\t\t\t\t? filteredPlans.find((plan) => plan.planId === selectedCard)\n\t\t\t\t: null;\n\t\t\tconst {\n\t\t\t\tusecaseData: {\n\t\t\t\t\tusecaseId,\n\t\t\t\t\tconversationId,\n\t\t\t\t\tuserInfo: {userId},\n\t\t\t\t\tstate: planState,\n\t\t\t\t},\n\t\t\t\tobjective,\n\t\t\t\trecordId,\n\t\t\t\trecordTable,\n\t\t\t\tplanId,\n\t\t\t} = selectedPlan;\n\n\t\t\tif (planState !== CARD_UI_STATES.REVIEW_OUTPUT) {\n\t\t\t\tdispatch(ACTION_TYPES.CONFIRM_CANCEL, {\n\t\t\t\t\tusecaseId,\n\t\t\t\t\tconversationId,\n\t\t\t\t\tobjective,\n\t\t\t\t\tconversationUser: userId,\n\t\t\t\t\ttargetRecordId: recordId || sysId,\n\t\t\t\t\ttargetTable: recordTable || tableName,\n\t\t\t\t\tplanId,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (id === 'not-cancel') {\n\t\t\tdispatch(ACTION_TYPES.CLOSE_CANCEL_MODAL);\n\t\t}\n\t},\n\t/**\n\t * Action handler for fetching current usecase runs\n\t * @type {Function}\n\t */\n\t[GET_USECASE_CURRENT_RUN]: getUsecaseCurrentRun,\n\t/**\n\t * Handles successful usecase current run fetch\n\t * @type {Object}\n\t */\n\t[GET_USECASE_CURRENT_RUN_SUCCEEDED]: {\n\t\t/**\n\t\t * Processes successful response and updates state with execution plans\n\t\t * @param {Object} params - Parameters object\n\t\t * @param {Object} params.action - Action object containing payload with result\n\t\t * @param {Function} params.updateState - Function to update component state\n\t\t * @param {Function} params.updateProperties - Function to update component properties\n\t\t * @param {Object} params.state - Current component state\n\t\t */\n\t\teffect: ({action, dispatch, updateState, updateProperties, state = {}}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {result},\n\t\t\t} = action;\n\t\t\tconst dataArray = result?.current || [];\n\t\t\tconst labelData = result?.labelData || {};\n\t\t\tconst feedbackConfig = result?.feedbackConfig || null;\n\n\t\t\t// Sync client debug logging with the backend [AGENTIC_PROC] switch.\n\t\t\tsetAgenticDebugLogging(result?.loggingEnabled);\n\n\t\t\tagenticDebugLog(\n\t\t\t\t'[AIEX-DBG] current-runs RECEIVED',\n\t\t\t\tdataArray.map((item) => ({\n\t\t\t\t\tplanId: item.planID,\n\t\t\t\t\tconversation: item.conversation,\n\t\t\t\t\tuiState: item?.uiState?.value,\n\t\t\t\t\trawState: item.state,\n\t\t\t\t\tprovenance: item.provenance,\n\t\t\t\t\tisInputNeeded: item.isInputNeeded,\n\t\t\t\t\tstepsCount: (item.steps || []).length,\n\t\t\t\t})),\n\t\t\t);\n\n\t\t\tconst {\n\t\t\t\tpossibleStates = [],\n\t\t\t\tselectedStates = [],\n\t\t\t\tselectedCard,\n\t\t\t\tfirstFetchCompleted,\n\t\t\t\tregeneratedPlanId,\n\t\t\t} = state;\n\t\t\tlet {stateLabelData, stateDisplayOrder, defaultSelectedStates} =\n\t\t\t\tstate.properties;\n\t\t\tconst previousExecutionPlans = state.properties.executionPlans;\n\n\t\t\tstateLabelData = stateLabelData || labelData;\n\t\t\tdefaultSelectedStates =\n\t\t\t\tdefaultSelectedStates || getDefaultSelectedStates(stateLabelData);\n\t\t\tstateDisplayOrder =\n\t\t\t\tstateDisplayOrder || getStateDisplayOrder(stateLabelData);\n\n\t\t\tlet autoDrilldownPlanId = null;\n\t\t\tconst plans = dataArray.map((item) => {\n\t\t\t\tconst previousPlan = previousExecutionPlans?.find(\n\t\t\t\t\t(plan) => plan.planId === item.planID,\n\t\t\t\t);\n\t\t\t\tconst previousUsecaseData = previousPlan?.usecaseData || {};\n\n\t\t\t\tif (\n\t\t\t\t\t!previousPlan && //if the plan wasn't present in the previous list and it's yours - then autodrilldown.\n\t\t\t\t\t!autoDrilldownPlanId && //we process plans in sequence from first updated, so once found, stop looking.\n\t\t\t\t\tfirstFetchCompleted && //first fetch, we don't autodrilldown\n\t\t\t\t\t!selectedCard //if a card is already drilled down, don't autodrilldown\n\t\t\t\t) {\n\t\t\t\t\tif (item.shouldAutoDrilldown && item.isMine) {\n\t\t\t\t\t\tautoDrilldownPlanId = item.planID;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Off-glide only: seed the baseline from the live cache so a commit-lagged\n\t\t\t\t// current-runs (in_progress) can't regress a live-known input_needed that\n\t\t\t\t// arrived before this plan was in the list. On-glide ignores the cache.\n\t\t\t\tconst cachedLiveState =\n\t\t\t\t\titem.provenance === PROVENANCE.OFF_GLIDE\n\t\t\t\t\t\t? liveCardStateCache.get(item.planID)\n\t\t\t\t\t\t: undefined;\n\t\t\t\tconst reconcileBaseline = cachedLiveState ?? previousUsecaseData.state;\n\t\t\t\tconst reconciledState = reconcileCardState(\n\t\t\t\t\treconcileBaseline,\n\t\t\t\t\titem?.uiState?.value,\n\t\t\t\t\titem.provenance,\n\t\t\t\t);\n\t\t\t\tagenticDebugLog('[AIEX-DBG] current-runs RECONCILE', {\n\t\t\t\t\tplanId: item.planID,\n\t\t\t\t\tprevious: previousUsecaseData.state,\n\t\t\t\t\tcachedLiveState,\n\t\t\t\t\tincoming: item?.uiState?.value,\n\t\t\t\t\tprovenance: item.provenance,\n\t\t\t\t\tresult: reconciledState,\n\t\t\t\t\tclobberBlocked: reconciledState !== item?.uiState?.value,\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\tobjective: item.objective || '',\n\t\t\t\t\trecordId: item.sysId || '',\n\t\t\t\t\trecordTable: item.tableName || '',\n\t\t\t\t\tplanId: item.planID || '',\n\t\t\t\t\tisCancelSupported: item.isCancelSupported || false,\n\t\t\t\t\tusecaseData: {\n\t\t\t\t\t\tconversationId: item.conversation || '',\n\t\t\t\t\t\tcreatedOn: item.createdOn || '',\n\t\t\t\t\t\ttableName: item.tableName || '',\n\t\t\t\t\t\tsysId: item.sysId || '',\n\t\t\t\t\t\tusecaseId: item.usecase || '',\n\t\t\t\t\t\tagentId: item.agentId,\n\t\t\t\t\t\tusecaseName: item.usecaseName || '',\n\t\t\t\t\t\tstatus: item.status || '',\n\t\t\t\t\t\tstate: reconciledState,\n\t\t\t\t\t\t// Persist so the live path (AGENTIC_PROCESSING_UPDATED) and the\n\t\t\t\t\t\t// reply handler (SUPERVISION_REPLIED) can gate the off-glide latch.\n\t\t\t\t\t\tprovenance: item.provenance,\n\t\t\t\t\t\tstateReason: item?.stateReason,\n\t\t\t\t\t\tlogId: item.logId || '',\n\t\t\t\t\t\tsteps: previousUsecaseData.steps || item.steps || [], //we only fetch latest step so don't overwrite\n\t\t\t\t\t\tmessages: previousUsecaseData.messages || [], //we don't fetch this\n\t\t\t\t\t\ttranscriptData: previousUsecaseData.transcriptData || [], //we don't fetch this\n\t\t\t\t\t\tconversationUser: previousUsecaseData.conversationUser || {}, //we don't fetch this\n\t\t\t\t\t\teta: item.eta || null,\n\t\t\t\t\t\texecutionTime: item.executionTime || null,\n\t\t\t\t\t\tisWorker: item.isWorker || false,\n\t\t\t\t\t\tisWorkerSupervised: item.isWorkerSupervised || false,\n\t\t\t\t\t\tuserInfo: {\n\t\t\t\t\t\t\tuserName: item.userName || '',\n\t\t\t\t\t\t\tuserAvatarUrl: item.userAvatarUrl || '',\n\t\t\t\t\t\t\tuserId: item.userId || '',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmanagerInfo: {\n\t\t\t\t\t\t\tmanagerId: item.managerId || '',\n\t\t\t\t\t\t\tmanagerName: item.managerName || '',\n\t\t\t\t\t\t\tmanagerAvatarUrl: item.managerAvatarUrl || '',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisMine: item.isMine || false,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tif (firstFetchCompleted) {\n\t\t\t\tplans.forEach((plan) => {\n\t\t\t\t\tconst isNew = !previousExecutionPlans?.find(\n\t\t\t\t\t\t(p) => p.planId === plan.planId,\n\t\t\t\t\t);\n\t\t\t\t\tif (isNew) {\n\t\t\t\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\t\t\t\teventName: WORKFLOW_CREATED,\n\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\tplanId: plan.planId,\n\t\t\t\t\t\t\t\tworkflowId:\n\t\t\t\t\t\t\t\t\tplan.usecaseData.usecaseId || plan.usecaseData.agentId,\n\t\t\t\t\t\t\t\tworkflowName: plan.objective,\n\t\t\t\t\t\t\t\ttable: plan.usecaseData.tableName,\n\t\t\t\t\t\t\t\trecordId: plan.usecaseData.sysId,\n\t\t\t\t\t\t\t\ttriggerSource: plan.usecaseData.isWorker\n\t\t\t\t\t\t\t\t\t? 'autonomous'\n\t\t\t\t\t\t\t\t\t: 'manual',\n\t\t\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tupdateProperties({\n\t\t\t\texecutionPlans: plans,\n\t\t\t\tstateLabelData,\n\t\t\t\tstateDisplayOrder,\n\t\t\t\tdefaultSelectedStates,\n\t\t\t\t...(feedbackConfig && {feedbackConfig}),\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tpossibleStates:\n\t\t\t\t\tpossibleStates.length === 0\n\t\t\t\t\t\t? Object.values(stateLabelData)\n\t\t\t\t\t\t\t\t.sort((a, b) => a.order - b.order)\n\t\t\t\t\t\t\t\t.map(({label, value}) => ({label, id: value}))\n\t\t\t\t\t\t: possibleStates,\n\t\t\t\tselectedStates:\n\t\t\t\t\tpossibleStates.length === 0 ? defaultSelectedStates : selectedStates,\n\t\t\t\tfilteredPlans: filterPlans(\n\t\t\t\t\tplans,\n\t\t\t\t\tpossibleStates.length === 0 ? defaultSelectedStates : selectedStates,\n\t\t\t\t\tstateDisplayOrder,\n\t\t\t\t),\n\t\t\t\tmessageState:\n\t\t\t\t\tplans.length > 0 ? MESSAGE_STATE.SUCCESS : MESSAGE_STATE.EMPTY,\n\t\t\t\tfirstFetchCompleted: true,\n\t\t\t});\n\n\t\t\tif (regeneratedPlanId && selectedCard === regeneratedPlanId) {\n\t\t\t\tupdateState({\n\t\t\t\t\tselectedCard: null,\n\t\t\t\t\tselectedCardReviewed: false,\n\t\t\t\t\theading: '',\n\t\t\t\t\tregeneratedPlanId: null,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (autoDrilldownPlanId) {\n\t\t\t\tdispatch(AI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT, {\n\t\t\t\t\tplanId: autoDrilldownPlanId,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n\t/**\n\t * Handles failed usecase current run fetch\n\t * @type {Object}\n\t */\n\t[GET_USECASE_CURRENT_RUN_FAILED]: {\n\t\t/**\n\t\t * Updates state to reflect error condition\n\t\t * @param {Object} params - Parameters object\n\t\t * @param {Function} params.updateState - Function to update component state\n\t\t */\n\t\teffect: ({updateState}) => {\n\t\t\tupdateState({\n\t\t\t\tfilteredPlans: [],\n\t\t\t\tselectedStates: [],\n\t\t\t\tmessageState: MESSAGE_STATE.ERROR,\n\t\t\t});\n\t\t},\n\t},\n\t/**\n\t * Handles component bootstrap lifecycle event\n\t * @type {Object}\n\t */\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\t/**\n\t\t * Initializes component by fetching execution plans and setting up AMB subscription\n\t\t * @param {Object} params - Parameters object\n\t\t * @param {Object} params.properties - Component properties\n\t\t * @param {Function} params.dispatch - Function to dispatch actions\n\t\t * @param {Function} params.updateState - Function to update component state\n\t\t */\n\t\teffect: ({host, properties, dispatch, updateState}) => {\n\t\t\tconst {tableName, sysId, defaultHeading, executionPlans, experience} =\n\t\t\t\tproperties;\n\n\t\t\tif (experience === 'Core UI') {\n\t\t\t\tconst fontSizeOverride = true;\n\t\t\t\tthrottleAdjustRemValues(host, calculateMultiplier(), fontSizeOverride);\n\t\t\t}\n\n\t\t\tif (!sysId || !tableName) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst heading = experience === 'Core UI' ? '' : defaultHeading;\n\t\t\tupdateState({heading, experience});\n\n\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\teventName: ACTIVITY_PANEL_IMPRESSION,\n\t\t\t\tmetadata: {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\trecordId: sysId,\n\t\t\t\t\tinterfaceType:\n\t\t\t\t\t\texperience === 'Core UI' ? 'Classic UI16' : 'Seismic Workspace',\n\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tif (sysId !== '-1') {\n\t\t\t\tif (executionPlans?.length > 0) {\n\t\t\t\t\tdispatch(GET_USECASE_CURRENT_RUN_SUCCEEDED, {\n\t\t\t\t\t\tresult: {current: executionPlans},\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tupdateState({messageState: MESSAGE_STATE.LOADING});\n\t\t\t\tdispatchFetchAndSubscribe(dispatch, tableName, sysId, updateState);\n\t\t\t}\n\n\t\t\tunsubscribeOpenCard = subscribe({\n\t\t\t\tchannelName: ROUTER_CHANNEL,\n\t\t\t\tcontext: {\n\t\t\t\t\taction: 'open_card',\n\t\t\t\t\torigin: 'router',\n\t\t\t\t},\n\t\t\t\tcallback: (data) => {\n\t\t\t\t\tconst planId = data.planId;\n\t\t\t\t\tdispatch(AI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT, {planId: planId});\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\tstopPropagation: false,\n\t},\n\t[COMPONENT_TREE_RENDERED]({host, properties: {experience}, dispatch}) {\n\t\tif (experience === 'Core UI') {\n\t\t\tconst fontSizeOverride = true;\n\t\t\tthrottleAdjustRemValues(host, calculateMultiplier(), fontSizeOverride);\n\t\t}\n\t\tdispatch(AGENTIC_PROCESSES_TEMPLATE_COMPONENT_TREE_RENDERED);\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]: {\n\t\teffect: ({\n\t\t\taction,\n\t\t\tdispatch,\n\t\t\tupdateProperties,\n\t\t\tproperties,\n\t\t\tupdateState,\n\t\t\tstate,\n\t\t}) => {\n\t\t\tconst {name, value, previousValue} = action.payload;\n\t\t\tconst {tableName} = properties;\n\n\t\t\tif (\n\t\t\t\tSYS_ID === name &&\n\t\t\t\ttableName &&\n\t\t\t\tvalue !== '-1' &&\n\t\t\t\tvalue !== previousValue\n\t\t\t) {\n\t\t\t\tunsubscribeAndClearAmbChannels(dispatch, state, updateState);\n\t\t\t\tupdateProperties({\n\t\t\t\t\tsysId: value,\n\t\t\t\t});\n\n\t\t\t\tdispatchFetchAndSubscribe(dispatch, tableName, value, updateState);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t/**\n\t * Handles component disconnected lifecycle event\n\t * @param {Object} params - Parameters object\n\t * @param {Function} params.dispatch - Function to dispatch actions\n\t */\n\t[COMPONENT_DISCONNECTED]: ({dispatch, state, updateState}) => {\n\t\tunsubscribeAndClearAmbChannels(dispatch, state, updateState);\n\t\tunsubscribeOpenCard();\n\t},\n\t/**\n\t * Action handler for setting up AMB subscription\n\t * @type {Function}\n\t */\n\t[AMB_ACTIONS.SUBSCRIBE_TO_PLANS]: subscribeToPlans,\n\t/**\n\t * Action handler for setting up AMB subscription\n\t * @type {Function}\n\t */\n\t[AMB_ACTIONS.SUBSCRIBE_TO_PROCESSING]: subscribeToAgenticProcessing,\n\t/**\n\t * Handles AMB message received events\n\t * @param {Object} params - Parameters object\n\t * @param {Object} params.action - Action object containing payload\n\t * @param {Function} params.dispatch - Function to dispatch actions\n\t * @param {Object} params.state - Current component state\n\t */\n\t[AMB_ACTIONS.EXECUTION_PLAN_UPDATED]: ({action, dispatch, state}) => {\n\t\tconst {tableName, sysId} = state.properties;\n\t\tconst {sys_id: messageSysId} = action.payload.data;\n\t\t// we cannot completely get rid of this due to initial cardState computation\n\t\tif (messageSysId) {\n\t\t\tdispatch(GET_USECASE_CURRENT_RUN, {\n\t\t\t\tpayload: {\n\t\t\t\t\trecordTable: tableName,\n\t\t\t\t\trecordSysId: sysId,\n\t\t\t\t\texcludeFields: 'state',\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t},\n\n\t[AMB_ACTIONS.AGENTIC_PROCESSING_UPDATED]: ({\n\t\taction,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState,\n\t}) => {\n\t\tconst {selectedStates, stateDisplayOrder} = state;\n\t\tconst {transcriptData, cardState, messages, steps, planId, logId} =\n\t\t\taction.payload.data;\n\t\tconst {executionPlans} = state.properties;\n\n\t\tagenticDebugLog('[AIEX-DBG] AMB agentic_processing RECEIVED', {\n\t\t\tplanId,\n\t\t\tcardState,\n\t\t\tstepsCount: (steps || []).length,\n\t\t\thasMessages: !!messages,\n\t\t\thasTranscript: !!transcriptData,\n\t\t\tlogId,\n\t\t});\n\n\t\t// Remember the latest live cardState (latched) even if the plan isn't in the list\n\t\t// yet, so a live input_needed that arrives before the first current-runs isn't lost.\n\t\t// Read back (off-glide only) as the reconcile baseline in current-runs.\n\t\tif (cardState) {\n\t\t\tconst latched = reconcileCardState(\n\t\t\t\tliveCardStateCache.get(planId),\n\t\t\t\tcardState,\n\t\t\t\tPROVENANCE.OFF_GLIDE,\n\t\t\t);\n\t\t\tliveCardStateCache.set(planId, latched);\n\t\t\tagenticDebugLog('[AIEX-DBG] liveCardStateCache SET', {\n\t\t\t\tplanId,\n\t\t\t\tcardState,\n\t\t\t\tlatched,\n\t\t\t});\n\t\t}\n\n\t\tconst updatedPlans = executionPlans.map((plan) => {\n\t\t\tif (plan.planId !== planId) {\n\t\t\t\treturn plan;\n\t\t\t}\n\n\t\t\tconst reconciledState = cardState\n\t\t\t\t? reconcileCardState(\n\t\t\t\t\t\tplan.usecaseData?.state,\n\t\t\t\t\t\tcardState,\n\t\t\t\t\t\tplan.usecaseData?.provenance,\n\t\t\t\t\t)\n\t\t\t\t: plan.usecaseData?.state;\n\t\t\tif (cardState) {\n\t\t\t\tagenticDebugLog('[AIEX-DBG] AMB agentic_processing RECONCILE', {\n\t\t\t\t\tplanId,\n\t\t\t\t\tprevious: plan.usecaseData?.state,\n\t\t\t\t\tincoming: cardState,\n\t\t\t\t\tprovenance: plan.usecaseData?.provenance,\n\t\t\t\t\tresult: reconciledState,\n\t\t\t\t\tclobberBlocked: reconciledState !== cardState,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...plan,\n\t\t\t\tusecaseData: {\n\t\t\t\t\t...plan.usecaseData,\n\t\t\t\t\t// Anti-shrink reconcile (shared with now-ai-status-card): off-glide\n\t\t\t\t\t// streams out-of-order progressive step snapshots, so applying each\n\t\t\t\t\t// wholesale flashed the stepper. Never accept a shorter snapshot.\n\t\t\t\t\t// No-op for on-glide (snapshots only grow) and for the overview card.\n\t\t\t\t\t...(steps && {\n\t\t\t\t\t\tsteps: reconcileSteps(plan.usecaseData?.steps, steps),\n\t\t\t\t\t}),\n\t\t\t\t\t...(messages && {messages: transformMessages(messages)}), //amb processor is stringifying stuff, so we need to parse the raw payload.\n\t\t\t\t\t...(transcriptData && {\n\t\t\t\t\t\ttranscriptData: safeJsonParse(transcriptData),\n\t\t\t\t\t}),\n\t\t\t\t\t// Off-glide input latch: a trailing in_progress must not clobber a\n\t\t\t\t\t// pending input_needed. Provenance persisted from reload gates it;\n\t\t\t\t\t// on-glide / missing provenance is a passthrough (zero regression).\n\t\t\t\t\t...(cardState && {state: reconciledState}),\n\t\t\t\t\t...(logId && {logId}),\n\t\t\t\t},\n\t\t\t};\n\t\t});\n\n\t\tupdateProperties({executionPlans: updatedPlans});\n\t\tupdateState({\n\t\t\tfilteredPlans: filterPlans(\n\t\t\t\tupdatedPlans,\n\t\t\t\tselectedStates,\n\t\t\t\tstateDisplayOrder,\n\t\t\t),\n\t\t});\n\t},\n\t// Released by a bubbled reply from sn-agentic-supervision (nested inside the drilled-in\n\t// now-ai-status-card). Off-glide only: move the matching plan off input_needed so the\n\t// subsequent authoritative in_progress (live event or reload) passes the latch. No-op\n\t// for on-glide (provenance gate) or when no plan matches / is waiting on this reply.\n\t[SUPERVISION_ACTION_TYPES.SUPERVISION_REPLIED]: ({\n\t\taction,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState,\n\t}) => {\n\t\tconst {conversationId} = action.payload || {};\n\t\tconst {selectedStates, stateDisplayOrder} = state;\n\t\tconst {executionPlans = []} = state.properties;\n\n\t\t// Release the live cache for this conversation's plan so a later current-runs can't\n\t\t// re-seed the (now answered) input_needed from the cache.\n\t\texecutionPlans.forEach((plan) => {\n\t\t\tconst ud = plan.usecaseData || {};\n\t\t\tif (\n\t\t\t\tud.provenance === PROVENANCE.OFF_GLIDE &&\n\t\t\t\tud.conversationId === conversationId\n\t\t\t) {\n\t\t\t\tliveCardStateCache.delete(plan.planId);\n\t\t\t\tagenticDebugLog('[AIEX-DBG] liveCardStateCache RELEASE', {\n\t\t\t\t\tplanId: plan.planId,\n\t\t\t\t\tconversationId,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tlet changed = false;\n\t\tconst updatedPlans = executionPlans.map((plan) => {\n\t\t\tconst ud = plan.usecaseData || {};\n\t\t\tif (\n\t\t\t\tud.provenance === PROVENANCE.OFF_GLIDE &&\n\t\t\t\tud.conversationId === conversationId &&\n\t\t\t\tisInputNeeded(ud.state)\n\t\t\t) {\n\t\t\t\tchanged = true;\n\t\t\t\treturn {\n\t\t\t\t\t...plan,\n\t\t\t\t\tusecaseData: {...ud, state: CARD_UI_STATES.IN_PROGRESS},\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn plan;\n\t\t});\n\n\t\tif (!changed) {\n\t\t\treturn;\n\t\t}\n\n\t\tupdateProperties({executionPlans: updatedPlans});\n\t\tupdateState({\n\t\t\tfilteredPlans: filterPlans(\n\t\t\t\tupdatedPlans,\n\t\t\t\tselectedStates,\n\t\t\t\tstateDisplayOrder,\n\t\t\t),\n\t\t});\n\t},\n\t/**\n\t * Handles status card expansion events\n\t * @type {Object}\n\t */\n\t[AI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT]: {\n\t\t/**\n\t\t * Updates state when a card is expanded to show its details\n\t\t * @param {Object} params - Parameters object\n\t\t * @param {Object} params.action - Action object containing payload\n\t\t * @param {Function} params.updateState - Function to update component state\n\t\t * @param {Object} params.state - Current component state\n\t\t */\n\t\teffect: ({action, updateState, state, dispatch}) => {\n\t\t\tconst {executionPlans} = state.properties;\n\t\t\tconst {planId} = action.payload;\n\n\t\t\tconst selectedPlan = executionPlans.find(\n\t\t\t\t(plan) => plan.planId === planId,\n\t\t\t);\n\n\t\t\t// Set card as reviewed if it's in either completed or review_output state\n\t\t\tconst cardState = selectedPlan?.usecaseData?.state;\n\t\t\tconst selectedCardReviewed = [\n\t\t\t\tCARD_UI_STATES.COMPLETED,\n\t\t\t\tCARD_UI_STATES.REVIEW_OUTPUT,\n\t\t\t].includes(cardState);\n\n\t\t\tupdateState({\n\t\t\t\tselectedCard: planId,\n\t\t\t\tselectedCardReviewed,\n\t\t\t\theading: selectedPlan.usecaseData.usecaseName,\n\t\t\t});\n\n\t\t\tconst expandMetadata = {\n\t\t\t\tplanId,\n\t\t\t\tworkflowId:\n\t\t\t\t\tselectedPlan?.usecaseData?.usecaseId ||\n\t\t\t\t\tselectedPlan?.usecaseData?.agentId,\n\t\t\t\tworkflowName: selectedPlan?.usecaseData?.usecaseName,\n\t\t\t\ttable: selectedPlan?.usecaseData?.tableName,\n\t\t\t\trecordId: selectedPlan?.usecaseData?.sysId,\n\t\t\t\tcardState,\n\t\t\t\ttimestamp: Date.now(),\n\t\t\t};\n\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\teventName: CARD_EXPANDED,\n\t\t\t\tmetadata: expandMetadata,\n\t\t\t});\n\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\teventName: WORKFLOW_VIEWED,\n\t\t\t\tmetadata: expandMetadata,\n\t\t\t});\n\t\t},\n\t},\n\t/**\n\t * Handles dropdown open state change events\n\t * @type {Object}\n\t */\n\t[NOW_DROPDOWN_OPENED_SET]: {\n\t\t/**\n\t\t * Updates state when dropdown open state changes\n\t\t * @param {Object} params - Parameters object\n\t\t * @param {Object} params.action - Action object containing payload\n\t\t * @param {Function} params.updateState - Function to update component state\n\t\t */\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst isOpen = action?.payload?.value;\n\n\t\t\tupdateState({\n\t\t\t\topened: isOpen,\n\t\t\t});\n\t\t},\n\t},\n\t/**\n\t * Handles dropdown item selection events\n\t * @type {Object}\n\t */\n\t[NOW_DROPDOWN_SELECTED_ITEMS_SET]: {\n\t\teffect: ({action, properties, updateState}) => {\n\t\t\tconst {executionPlans = [], stateDisplayOrder} = properties;\n\t\t\tconst dropdownName = action?.meta?.appended?.dropdownName;\n\t\t\tconst selectedStates = action?.payload?.value;\n\n\t\t\tif (!dropdownName || dropdownName !== 'state') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst filteredPlans = filterPlans(\n\t\t\t\texecutionPlans,\n\t\t\t\tselectedStates,\n\t\t\t\tstateDisplayOrder,\n\t\t\t);\n\t\t\tconst message = filteredPlans.length > 0 ? 'SUCCESS' : 'EMPTY';\n\n\t\t\tupdateState({\n\t\t\t\tselectedStates,\n\t\t\t\tfilteredPlans,\n\t\t\t\tmessageState: message,\n\t\t\t\topened: false,\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[NOW_DROPDOWN_LIST_CLICKED]: {\n\t\teffect: ({action, dispatch, updateState, state, properties}) => {\n\t\t\tconst itemId = action?.payload?.item?.id;\n\n\t\t\tif (itemId === 'workflow-item-cancel') {\n\t\t\t\tdispatch('OPEN_CANCEL_MODAL');\n\t\t\t} else if (itemId === 'workflow-item-unread') {\n\t\t\t\tupdateState({\n\t\t\t\t\tselectedCardReviewed: false,\n\t\t\t\t});\n\t\t\t\tdispatch(IPE_TELEMETRY_REQUESTED, {\n\t\t\t\t\teventName: MARK_AS_UNREAD_CLICKED,\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tplanId: state.selectedCard,\n\t\t\t\t\t\ttimestamp: Date.now(),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} else if (itemId === 'regenerate') {\n\t\t\t\tconst {executionPlans} = properties;\n\t\t\t\tconst selectedPlan = state.selectedCard\n\t\t\t\t\t? executionPlans.find((p) => p.planId === state.selectedCard)\n\t\t\t\t\t: null;\n\t\t\t\tconst usecaseData = selectedPlan?.usecaseData;\n\t\t\t\tif (!usecaseData?.usecaseId || !selectedPlan?.recordId) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdispatch(\n\t\t\t\t\tSTATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SILENT_REQUESTED,\n\t\t\t\t\t{\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\trequestId: Date.now().toString(),\n\t\t\t\t\t\t\tconversationUser: usecaseData.userInfo?.userId,\n\t\t\t\t\t\t\tconversationLabel: usecaseData.usecaseName,\n\t\t\t\t\t\t\tobjective: selectedPlan.objective || usecaseData.usecaseName,\n\t\t\t\t\t\t\tusecaseId: usecaseData.usecaseId,\n\t\t\t\t\t\t\ttargetRecordId: selectedPlan.recordId,\n\t\t\t\t\t\t\ttargetTable: selectedPlan.recordTable,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[STATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SILENT_REQUESTED]:\n\t\tpostMessageSilent,\n\t[STATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SILENT_SUCCESS]: ({\n\t\tstate,\n\t\tupdateState,\n\t}) => {\n\t\t// Store the current (old) plan ID so that when the next GET_USECASE_CURRENT_RUN_SUCCEEDED\n\t\t// arrives with fresh plan data, we can collapse the drilldown view for the regenerated plan.\n\t\t// The new plan will have a different planId, so tracking the old one lets us identify\n\t\t// which card was drilled down at the time of regeneration.\n\t\tupdateState({\n\t\t\tregeneratedPlanId: state.selectedCard,\n\t\t});\n\t},\n\t[STATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_REGENERATE_SILENT_FAILED]: ({\n\t\taction,\n\t}) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error('Regenerate failed:', action.payload);\n\t},\n\t...ipeMetrics,\n\t[AI_STATUS_CARD_ACTION_TYPES.AI_STATUS_CARD_PLAN_REVIEWED]: {\n\t\teffect: ({dispatch, state, action}) => {\n\t\t\tconst {planId, reviewed} = action.payload;\n\t\t\tconst {tableName, sysId, executionPlans} = state.properties;\n\t\t\tconst {selectedCard} = state;\n\n\t\t\tif (planId !== selectedCard) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst plan = executionPlans.find((p) => p.planId === planId);\n\t\t\tif (!plan) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only refresh if transitioning from completed to review output\n\t\t\tif (!reviewed && plan.usecaseData?.state === CARD_UI_STATES.COMPLETED) {\n\t\t\t\tdispatch(GET_USECASE_CURRENT_RUN, {\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\trecordTable: tableName,\n\t\t\t\t\t\trecordSysId: sysId,\n\t\t\t\t\t\texcludeFields: 'state',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t},\n};\n","import {actionTypes} from '@servicenow/ui-core';\n\nimport {\n\tAI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT,\n\tGET_USECASE_CURRENT_RUN_SUCCEEDED,\n} from './constants.js';\n\nconst {COMPONENT_BOOTSTRAPPED} = actionTypes;\n\nconst getState = (state, key) => state.behaviors.openPlanBehavior[key];\n\n/**\n * Creating this behavior so that we don't mess with the already complex action\n * handlers in the main component. Additionally, this behavior's main purpose\n * is self contained so that if necessary, its easier to remove.\n */\nexport default {\n\tname: 'openPlanBehavior',\n\tsetInitialState: () => {\n\t\tconst firstFetch = {};\n\t\tfirstFetch.promise = new Promise(\n\t\t\t(resolve) => (firstFetch.resolve = resolve),\n\t\t);\n\n\t\treturn {\n\t\t\tfirstFetch,\n\t\t};\n\t},\n\tactionHandlers: {\n\t\t[COMPONENT_BOOTSTRAPPED]: ({host, state, dispatch}) => {\n\t\t\tconst firstFetch = getState(state, 'firstFetch');\n\t\t\thost.openPlan = (planId) => {\n\t\t\t\tfirstFetch.promise.then(() =>\n\t\t\t\t\tdispatch(AI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT, {\n\t\t\t\t\t\tplanId,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\t[GET_USECASE_CURRENT_RUN_SUCCEEDED]: {\n\t\t\teffect({state}) {\n\t\t\t\tgetState(state, 'firstFetch')?.resolve();\n\t\t\t},\n\t\t\tstopPropagation: true,\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport {view} from './view.js';\nimport styles from './styles.scss';\nimport {DEFAULT_HEADING} from './constants.js';\nimport actionHandlers from './actionHandlers.js';\nimport openPlanBehavior from './open-plan-behavior.js';\nimport ambBehavior from '../behaviors/amb-behavior.js';\nimport cancelWorkflow from '../behaviors/cancel-workflow';\n\ncreateCustomElement('sn-agentic-processes-template', {\n\tview,\n\tstyles,\n\tproperties: {\n\t\texperience: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\ttableName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsysId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tdefaultHeading: {\n\t\t\tdefault: DEFAULT_HEADING,\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\texecutionPlans: {\n\t\t\tdefault: [],\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\tstateLabelData: {\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tstateDisplayOrder: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\tdefaultSelectedStates: {\n\t\t\tschema: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t},\n\t\tfeedbackConfig: {\n\t\t\tdefault: null,\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n\tactionHandlers,\n\tsetInitialState() {\n\t\treturn {\n\t\t\tfilteredPlans: [],\n\t\t\tselectedStates: [],\n\t\t\tpossibleStates: [],\n\t\t\tselectedCard: null,\n\t\t\tselectedCardReviewed: false,\n\t\t\theading: '',\n\t\t\tmessageState: '',\n\t\t\topened: false,\n\t\t\texperience: '',\n\t\t\tambChannelFilters: [],\n\t\t\tfirstFetchCompleted: false,\n\t\t};\n\t},\n\tbehaviors: [ambBehavior, cancelWorkflow, openPlanBehavior],\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-dropdown';\nimport '@servicenow/now-heading';\nimport '@servicenow/now-card';\nimport '@servicenow/now-template-message';\nimport '@servicenow/now-illustration';\nimport '@servicenow/now-modal';\nimport '@servicenow/now-flyout-menu';\nimport '@servicenow/now-loader';\nimport '../now-ai-status-card';\nimport '../now-ai-agent-status-card-list';\nimport {\n\tACTION_TYPES,\n\tBACK,\n\tBACK_BUTTON_ARIA_LABEL,\n\tERROR_ILLUSTRATION,\n\tERROR_MESSAGE,\n\tMARK_AS_UNREAD,\n\tMESSAGE_STATE,\n\tNO_RESULTS_ILLUSTRATION,\n\tNO_RESULTS_MESSAGE,\n\tSTATE,\n\tWORKFLOWS_LOADING_MESSAGE,\n} from './constants.js';\nimport {\n\tCARD_TYPE,\n\tCANCEL_MODAL_HEADER,\n\tCANCEL_MODAL_CONTENT,\n\tCANCEL_MODAL_FOOTER_ACTIONS,\n\tCARD_UI_STATES,\n\tRUN_AGAIN,\n} from '../utils/agent-card-constants';\n\nexport const view = (state) => {\n\tconst {\n\t\tbehaviors: {\n\t\t\t'cancel-workflow': {openedModal},\n\t\t},\n\t\tselectedStates,\n\t\tfilteredPlans,\n\t\tselectedCard,\n\t\theading,\n\t\tpossibleStates,\n\t\tmessageState,\n\t\topened,\n\t\texperience,\n\t\tselectedCardReviewed,\n\t} = state;\n\tconst {stateLabelData, executionPlans, feedbackConfig} = state.properties;\n\n\tconst selectedPlan = selectedCard\n\t\t? executionPlans.find((plan) => plan.planId === selectedCard)\n\t\t: null;\n\n\tconst isWorker = selectedPlan?.usecaseData?.isWorker;\n\n\tconst workflowItems = [\n\t\t{id: 'workflow-item-cancel', label: ACTION_TYPES.CANCEL_WORKFLOW_MESSAGE},\n\t];\n\n\tconst unreadItems = [\n\t\t{id: 'workflow-item-unread', label: MARK_AS_UNREAD},\n\t\t...(!isWorker ? [{id: 'regenerate', label: RUN_AGAIN}] : []),\n\t];\n\n\tconst classic = experience === 'Core UI';\n\n\tconst isEmptyState =\n\t\t!selectedPlan &&\n\t\tfilteredPlans.length === 0 &&\n\t\tmessageState !== MESSAGE_STATE.LOADING &&\n\t\tmessageState !== 'ERROR';\n\n\tconst renderContent = () => {\n\t\tif (messageState === 'ERROR') {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<now-illustration illustration={ERROR_ILLUSTRATION} size=\"md\" />\n\t\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\t\theading={{label: ERROR_MESSAGE, level: '3'}}\n\t\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (selectedPlan) {\n\t\t\treturn (\n\t\t\t\t<div>\n\t\t\t\t\t<now-ai-status-card\n\t\t\t\t\t\trecord-id={selectedPlan.usecaseData.sysId}\n\t\t\t\t\t\trecord-table={selectedPlan.usecaseData.tableName}\n\t\t\t\t\t\tusecase-data={selectedPlan.usecaseData}\n\t\t\t\t\t\tcard-type={CARD_TYPE.DETAILED}\n\t\t\t\t\t\tplan-id={selectedPlan.planId}\n\t\t\t\t\t\tstate-label-data={stateLabelData}\n\t\t\t\t\t\treviewed={selectedCardReviewed}\n\t\t\t\t\t\texperience={experience}\n\t\t\t\t\t\tfeedbackConfig={feedbackConfig}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (filteredPlans.length > 0) {\n\t\t\treturn (\n\t\t\t\t<now-ai-agent-status-card-list\n\t\t\t\t\tstateLabelData={stateLabelData}\n\t\t\t\t\tagenticworkflowsDetails={filteredPlans}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (messageState === MESSAGE_STATE.LOADING) {\n\t\t\treturn <now-loader announce-label label={WORKFLOWS_LOADING_MESSAGE} />;\n\t\t}\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<now-illustration illustration={NO_RESULTS_ILLUSTRATION} size=\"md\" />\n\t\t\t\t<now-template-message-empty-state\n\t\t\t\t\theading={{label: NO_RESULTS_MESSAGE, level: '3'}}\n\t\t\t\t\talignment=\"vertical-centered\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className={`agentic-processes-container ${classic ? 'classic' : ''}`}>\n\t\t\t<div className=\"agentic-processes-header\">\n\t\t\t\t{selectedPlan && (\n\t\t\t\t\t<now-button-iconic\n\t\t\t\t\t\ticon=\"chevron-start-outline\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\ttooltip-content={BACK}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': BACK_BUTTON_ARIA_LABEL,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tappend-to-payload={{type: 'back', label: 'Back'}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{heading && (\n\t\t\t\t\t<div className=\"agentic-processes-heading\">\n\t\t\t\t\t\t{!selectedPlan && (\n\t\t\t\t\t\t\t<now-icon\n\t\t\t\t\t\t\t\tclassName=\"agentic-processes-heading-icon\"\n\t\t\t\t\t\t\t\ticon=\"ai-sparkle-fill\"\n\t\t\t\t\t\t\t\tsize=\"lg\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<now-heading\n\t\t\t\t\t\t\tlabel={heading}\n\t\t\t\t\t\t\tlevel=\"2\"\n\t\t\t\t\t\t\tvariant=\"header-secondary\"\n\t\t\t\t\t\t\thas-no-margin\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{selectedPlan?.isCancelSupported && (\n\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\titems={workflowItems}\n\t\t\t\t\t\tselect=\"none\"\n\t\t\t\t\t\ticon=\"ellipsis-v-outline\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\tbare\n\t\t\t\t\t\thide-caret\n\t\t\t\t\t\ttooltip-content={ACTION_TYPES.WORKFLOW_OPTIONS}\n\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t'aria-label': ACTION_TYPES.WORKFLOW_OPTIONS,\n\t\t\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsearch=\"none\"\n\t\t\t\t\t\tlabel-position=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{selectedPlan &&\n\t\t\t\t\tselectedPlan?.usecaseData?.state === CARD_UI_STATES.COMPLETED && (\n\t\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\t\titems={unreadItems}\n\t\t\t\t\t\t\tselect=\"none\"\n\t\t\t\t\t\t\ticon=\"ellipsis-v-outline\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tbare\n\t\t\t\t\t\t\thide-caret\n\t\t\t\t\t\t\ttooltip-content={MARK_AS_UNREAD}\n\t\t\t\t\t\t\tconfig-aria={{\n\t\t\t\t\t\t\t\tbutton: {\n\t\t\t\t\t\t\t\t\t'aria-label': MARK_AS_UNREAD,\n\t\t\t\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tsearch=\"none\"\n\t\t\t\t\t\t\tlabel-position=\"top\"\n\t\t\t\t\t\t\tappend-to-meta={{dropdownName: 'mark-as-unread'}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t<now-modal\n\t\t\t\t\tnow-hoist\n\t\t\t\t\tcomponent-name=\"hoisted\"\n\t\t\t\t\topened={openedModal}\n\t\t\t\t\tmanage-opened\n\t\t\t\t\tsize=\"md\"\n\t\t\t\t\theader-label={CANCEL_MODAL_HEADER}\n\t\t\t\t\tcontent={CANCEL_MODAL_CONTENT}\n\t\t\t\t\tfooter-actions={CANCEL_MODAL_FOOTER_ACTIONS}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{!selectedPlan && possibleStates.length > 0 && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`agentic-processes-controls${isEmptyState ? ' --empty' : ''}`}\n\t\t\t\t>\n\t\t\t\t\t<now-dropdown\n\t\t\t\t\t\tclassName=\"agentic-processes-states-dropdown\"\n\t\t\t\t\t\titems={possibleStates}\n\t\t\t\t\t\tselected-items={selectedStates}\n\t\t\t\t\t\tselect=\"multi\"\n\t\t\t\t\t\tplaceholder={STATE}\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\topened={opened}\n\t\t\t\t\t\tmanage-opened\n\t\t\t\t\t\tappend-to-meta={{dropdownName: 'state'}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"agentic-processes-list\">{renderContent()}</div>\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({  });","import {createCustomElement} from '@servicenow/ui-core';\nimport interactiveViewActionHandlers from './actionHandlers.js';\nimport {view} from './view.js';\nimport styles from './styles.scss';\n\ncreateCustomElement('sn-interactive-view-experience', {\n\tproperties: {\n\t\tsysId: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\ttableName: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\texperience: {\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t},\n\tview,\n\tstyles,\n\tsetInitialState: () => ({\n\t\talertMessages: [],\n\t}),\n\tactionHandlers: interactiveViewActionHandlers,\n});\n","import '../sn-agentic-processes-template';\nimport '@servicenow/now-alert';\nexport const view = (state) => {\n\tconst {alertMessages, properties} = state;\n\tconst {sysId, tableName, experience} = properties;\n\t// Main component structure\n\treturn (\n\t\t<div className=\"sn-interactive-view-experience-container\">\n\t\t\t{sysId && tableName && (\n\t\t\t\t<sn-agentic-processes-template\n\t\t\t\t\tsysId={sysId}\n\t\t\t\t\ttableName={tableName}\n\t\t\t\t\texperience={experience}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{alertMessages?.length > 0 && <now-alert-list items={alertMessages} />}\n\t\t</div>\n\t);\n};\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"convertUrlToPayload\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.__esModule\n\t\t\t\t\tif (cjsModule && 'convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].convertUrlToPayload;\n\t\t\t\t\t} else if ('convertUrlToPayload' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__.convertUrlToPayload || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__[\"default\"].convertUrlToPayload;\n\t\t\t\t} });","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"getProperty\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.__esModule\n\t\t\t\t\tif (cjsModule && 'getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t\t} else if ('getProperty' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__.getProperty || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__[\"default\"].getProperty;\n\t\t\t\t} });","export const isExternalURL = (url) => {\n\ttry {\n\t\t// Use window.location.origin as the base for relative URLs\n\t\tconst parsedURL = new URL(url, window.location.origin);\n\t\t// Compare the origin of the parsed URL with the current window's origin\n\t\treturn parsedURL.origin !== window.location.origin;\n\t} catch (error) {\n\t\t// if URL is invalid consider it invalid\n\t\tconsole.error('Error parsing URL:', error);\n\t\treturn false;\n\t}\n};\n\nexport function isSupportedExperience(\n\tpayload,\n\texperienceConfigs = window?.ux_globals?.experienceConfigs || {},\n) {\n\tif (!payload?.route || !experienceConfigs) {\n\t\treturn false;\n\t}\n\n\treturn !!experienceConfigs[payload?.context?.path];\n}\n\nconst stripOrigin = (url) => {\n\ttry {\n\t\tconst parsedURL = new URL(url, window.location.origin);\n\t\treturn parsedURL.href.replace(parsedURL.origin, '');\n\t} catch (error) {\n\t\tconsole.error('Error parsing URL:', error);\n\t\treturn url; // Return the original URL if parsing fails\n\t}\n};\n\nexport const createPayload = ({documentTable, documentId, targetUrl} = {}) => {\n\t// Create the base payload object\n\tconst payload = {\n\t\tfallbackRoute: {\n\t\t\tcontext: {\n\t\t\t\texperienceName: 'Unified Navigation App', //at some point this experience name will not be hardcoded\n\t\t\t\tpath: 'now/nav/ui',\n\t\t\t},\n\t\t\troute: 'classic',\n\t\t\tparams: {\n\t\t\t\ttarget: stripOrigin(targetUrl),\n\t\t\t},\n\t\t},\n\t};\n\n\t// Conditionally add the feature and fields if documentTable and documentId are provided\n\tif (documentTable && documentId) {\n\t\tpayload.feature = 'record';\n\t\tpayload.fields = {\n\t\t\ttable: documentTable,\n\t\t\tsysId: documentId,\n\t\t\ttarget: `${documentTable}.do?sys_id=${documentId}`,\n\t\t};\n\t\tpayload.fallbackRoute.params.target = `${documentTable}.do?sys_id=${documentId}`;\n\t}\n\n\treturn payload;\n};\n","import {actionTypes} from '@servicenow/ui-core';\nimport {convertUrlToPayload} from 'sn-ux-core';\nimport {getProperty} from 'sn-uxpage-presource';\nimport {createAmbSubscriptionEffect} from '@servicenow/ui-effect-amb';\nimport {createHttpEffect} from '@servicenow/ui-effect-http';\nimport {debounce} from '@devsnc/snowdash';\nimport throttle from 'lodash/throttle';\nimport {\n\tCANVAS_SKILL_API_PATH,\n\tCANVAS_SKILL_MAP_FAILED,\n\tCANVAS_SKILL_MAP_REQUESTED,\n\tCANVAS_SKILL_MAP_SUCCEEDED,\n\tSKILL_EXECUTION_STARTED,\n\tCANVAS_EXECUTION,\n\tTOGGLE_CANVAS,\n\tALLOWED_SKILL_TABLE_NAMES,\n\tCANVAS_REQUESTED,\n\tNOW_ASSIST_SELF_SERVICE_PASS_PROPS_TO_CANVAS,\n\tNOW_ASSIST_SELF_SERVICE_RESET_CANVAS_PROPS,\n\tNOW_ASSIST_SELF_SERVICE_NEW_CHAT_CLICKED,\n\tLOAD_CANVAS_REQUESTED,\n\tCANVAS_EXECUTION_CACHE_UPDATE,\n\tAIEL_NAVIGATION_REQUESTED,\n\tGLOBAL_NAVIGATION_REQUESTED,\n\tNAV_ITEM_SELECTED,\n\tSET_INTERACTIVE_CANVAS_STATUS,\n\tGET_CONTEXT_CONVERSATION_REQUESTED,\n\tGET_CONTEXT_CONVERSATION_SUCCEEDED,\n\tGET_CONTEXT_CONVERSATION_FAILED,\n\tGET_CONTEXT_CONVERSATION,\n\tUPDATE_CONTEXT_CONVERSATION,\n\tUPDATE_CONTEXT_CONVERSATION_REQUESTED,\n\tUPDATE_CONTEXT_CONVERSATION_FAILED,\n\tUPDATE_CONTEXT_CONVERSATION_SUCCEEDED,\n\tUPDATE_DIALOG_ARIA_LABEL,\n} from './constants.js';\n\nimport {\n\tCLOSE_MULTI_CANVAS_POPOVER,\n\tMULTI_CANVAS_INFO_POPOVER_SEEN_KEY,\n\tOPEN_MULTI_CANVAS_POPOVER,\n} from './screens/canvas-selection/constants.js';\n\nimport {\n\tcreatePayload,\n\tisExternalURL,\n\tisSupportedExperience,\n} from './utilities/navigation-helpers.js';\nimport adjustRemValues, {\n\tcalculateMultiplier,\n} from './utilities/adjustRemValues.js';\nimport {AIEL_METRIC_TRACKING_REQUESTED} from '../metrics/constants.js';\nimport metrics from '../metrics/index.js';\n\nconst {\n\tCOMPONENT_TREE_RENDERED,\n\tCOMPONENT_PROPERTY_CHANGED,\n\tCOMPONENT_DISCONNECTED,\n\tCOMPONENT_CONNECTED,\n} = actionTypes;\n\n// Memoization cache for getExternallyOpenedLinks\nlet externallyOpenedLinksCache = null;\n\n// Memoized function to get externallyOpenedLinks\nconst getExternallyOpenedLinks = () => {\n\tif (externallyOpenedLinksCache === null) {\n\t\texternallyOpenedLinksCache = getProperty(\n\t\t\t'glide.aiex.external_links.allow_list',\n\t\t\t'sp',\n\t\t)?.split(',') ?? ['sp'];\n\t}\n\treturn externallyOpenedLinksCache;\n};\n\n// For testing purposes - allows tests to reset the cache\nexport const resetExternallyOpenedLinksCache = () => {\n\texternallyOpenedLinksCache = null;\n};\n\n/**\n * Determines if a URL should be opened externally based on configured patterns\n * @param {string} targetUrl - The URL to check\n * @param {string} u - The pattern from externallyOpenedLinks to match against\n * @returns {boolean} - True if the URL should be opened externally\n */\nconst urlIsExternallyOpened = (targetUrl) => (u) => {\n\ttry {\n\t\tconst urlObj = new URL(targetUrl, window.location.origin);\n\t\tconst pathname = urlObj.pathname;\n\t\tconst patternToCheck = u.startsWith('/') ? u : '/' + u;\n\n\t\tif (pathname.includes('.do') && !patternToCheck.includes('.do')) {\n\t\t\tconst basePathMatch = pathname.match(/(.+?)(?:\\.do)/);\n\t\t\tif (basePathMatch && basePathMatch[1]) {\n\t\t\t\tconst basePath = basePathMatch[1]; // e.g., \"/now/hi\" from \"/now/hi.do\" pathname\n\t\t\t\tif (patternToCheck === basePath) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (pathname === patternToCheck) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\n/**\n * sys_attachment.do serves the raw attachment file (download/stream), not a\n * navigable record page. Routing it through in-platform navigation leaves a\n * blank surface, so it must always open in a new tab. (DEF0813869)\n * @param {string} targetUrl - The URL to check\n * @returns {boolean} - True if the URL is an attachment download endpoint\n */\nconst isAttachmentDownloadUrl = (targetUrl) => {\n\ttry {\n\t\tconst {pathname} = new URL(targetUrl, window.location.origin);\n\t\treturn pathname.endsWith('/sys_attachment.do');\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nexport const handleNavigationRequest = ({action, state, dispatch}) => {\n\t// Get the memoized externallyOpenedLinks\n\tconst externallyOpenedLinks = getExternallyOpenedLinks();\n\n\tconst detail = action?.payload?.event?.detail || {};\n\tconst {documentTable, documentId, targetUrl} = detail;\n\tconst {properties} = state || {};\n\n\t// Cases:\n\t// 1. documentTable and documentId then navigate to record\n\t// 2. if targetUrl is external, just do open new tab\n\t// 3. targetUrl then try to convert to payload\n\t// 4. If payload exists, then navigate\n\t// 5. Else, check if the targetUrl should be loaded in same tab or not\n\n\tif (properties.hostType === 'unified-navigation') {\n\t\tif (documentTable && documentId) {\n\t\t\tdispatch(\n\t\t\t\tGLOBAL_NAVIGATION_REQUESTED,\n\t\t\t\tcreatePayload({documentTable, documentId}),\n\t\t\t);\n\t\t} else if (targetUrl) {\n\t\t\tconst shouldOpenExternally =\n\t\t\t\tisAttachmentDownloadUrl(targetUrl) ||\n\t\t\t\t(externallyOpenedLinks.length === 1 &&\n\t\t\t\t\texternallyOpenedLinks[0] === '*') ||\n\t\t\t\texternallyOpenedLinks.some(urlIsExternallyOpened(targetUrl)) ||\n\t\t\t\tisExternalURL(targetUrl);\n\n\t\t\tif (shouldOpenExternally) {\n\t\t\t\tdispatch(NAV_ITEM_SELECTED, {\n\t\t\t\t\texternal: {\n\t\t\t\t\t\turl: targetUrl,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconvertUrlToPayload(targetUrl)\n\t\t\t\t\t.then((payload) => {\n\t\t\t\t\t\tif (payload && isSupportedExperience(payload)) {\n\t\t\t\t\t\t\tdispatch(NAV_ITEM_SELECTED, payload);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, createPayload({targetUrl}));\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tdispatch(GLOBAL_NAVIGATION_REQUESTED, createPayload({targetUrl}));\n\t\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\t// invalid payload\n\t\t\tconsole.error('Invalid payload for navigation request:', action.payload);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nconst subscribeNotificationsEffect = createAmbSubscriptionEffect(\n\t'/rw/default/:table/:filter',\n\t{\n\t\tsubscribeSucceededActionType: 'CANVAS_SUBSCRIBE_SUCCEEDED',\n\t\tsubscribeFailedActionType: 'CANVAS_SUBSCRIBE_FAILED',\n\t\tmessageReceivedActionType: 'CANVAS_SUBSCRIBE_MESSAGE_RECEIVED',\n\t\tunsubscribeSucceededActionType: 'CANVAS_UNSUBSCRIBE_SUCCEEDED',\n\t},\n);\n\nconst canvasSkillMapRequested = createHttpEffect(CANVAS_SKILL_API_PATH, {\n\tmethod: 'GET',\n\tbatch: false,\n\tsuccessActionType: CANVAS_SKILL_MAP_SUCCEEDED,\n\terrorActionType: CANVAS_SKILL_MAP_FAILED,\n});\n\nconst canvasSkillMapSucceeded = (coeffects) => {\n\tconst {action, updateState} = coeffects;\n\tconst {\n\t\tpayload: {result},\n\t} = action;\n\n\tupdateState({\n\t\tskillMap: result,\n\t});\n};\n\nconst canvasSkillMapFailed = (coeffects) => {\n\tconst {action} = coeffects;\n\tconst {\n\t\tpayload: {error},\n\t} = action;\n\tconsole.error('Failed to fetch canvas skills ', error);\n};\n\nconst buildAmbSubscriptionFilter = (filter) => btoa(filter).replace(/=/g, '-');\n\nconst fetchCanvasRuntimeData = createHttpEffect(\n\t'/api/now/canvas/conversations',\n\t{\n\t\tmethod: 'GET',\n\t\tqueryParams: ['conversationIds'],\n\t\tsuccessActionType: 'FETCH_CANVAS_RUNTIME_SUCCEEDED',\n\t\terrorActionType: 'FETCH_CANVAS_RUNTIME_FAILED',\n\t},\n);\n\nconst fetchConversationContext = createHttpEffect(\n\t'/api/now/canvas/conversation/context',\n\t{\n\t\tmethod: 'GET',\n\t\tqueryParams: ['contextRecord', 'contextTable'],\n\t\tsuccessActionType: GET_CONTEXT_CONVERSATION_SUCCEEDED,\n\t\terrorActionType: GET_CONTEXT_CONVERSATION_FAILED,\n\t},\n);\n\nconst updateConversationContext = createHttpEffect(\n\t'/api/now/canvas/conversation/context',\n\t{\n\t\tmethod: 'POST',\n\t\tqueryParams: ['contextRecord', 'contextTable', 'conversationId'],\n\t\tsuccessActionType: UPDATE_CONTEXT_CONVERSATION_SUCCEEDED,\n\t\terrorActionType: UPDATE_CONTEXT_CONVERSATION_FAILED,\n\t},\n);\n\nconst EXECUTE_CANVAS_RECORD = '/api/now/canvas/executecanvas';\n\nconst executeCanvasRecord = createHttpEffect(EXECUTE_CANVAS_RECORD, {\n\tmethod: 'POST',\n\tdataParam: 'payload',\n\tbatch: false,\n\tsuccessActionType: CANVAS_EXECUTION.SUCCEEDED,\n\terrorActionType: CANVAS_EXECUTION.FAILED,\n});\n\nconst throttleAdjustRemValues = throttle(adjustRemValues, 500);\n\nconst updateDialogAriaLabel = (windowConfig, label) => {\n\tif (windowConfig?.id && window.nowWindowManager) {\n\t\tconst windowId = windowConfig.id;\n\t\tconst headingId = `sn-window-heading-${windowId}`;\n\t\twindow.nowWindowManager.setWindowProperties(windowId, {\n\t\t\theadingLabel: label,\n\t\t\tconfigAria: {\n\t\t\t\tdialog: {\n\t\t\t\t\trole: 'dialog',\n\t\t\t\t\t'aria-label': label,\n\t\t\t\t\t'aria-labelledby': headingId,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n};\n\nexport default {\n\t[COMPONENT_TREE_RENDERED]({host, properties: {remAdjustmentRequired}}) {\n\t\tif (remAdjustmentRequired) {\n\t\t\tthrottleAdjustRemValues(host, calculateMultiplier());\n\t\t}\n\t},\n\t[COMPONENT_PROPERTY_CHANGED]({\n\t\taction: {\n\t\t\tpayload: {name, value, previousValue},\n\t\t},\n\t\tstate: {\n\t\t\tselfServiceComponentRef,\n\t\t\tdynamicWindowOpen,\n\t\t\tnassRemountKey,\n\t\t\tactiveConversation,\n\t\t\tshowCanvas,\n\t\t},\n\t\tproperties: {switchContextConversation, windowConfig},\n\t\tdispatch,\n\t\tupdateState,\n\t}) {\n\t\tif (name === 'dialogAriaLabel' && value !== previousValue) {\n\t\t\tupdateDialogAriaLabel(windowConfig, value);\n\t\t}\n\n\t\tif (name === 'nowAssistOptions') {\n\t\t\tconst timestamp = value.timestamp;\n\t\t\tconst previousTimestamp = previousValue?.timestamp;\n\t\t\tif (previousTimestamp !== timestamp) {\n\t\t\t\tif (value?.forceNewConversation) {\n\t\t\t\t\tdynamicWindowOpen(value);\n\t\t\t\t} else if (value?.context?.skill) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tskillRequest: {\n\t\t\t\t\t\t\tskillId: value?.context?.skill,\n\t\t\t\t\t\t\tparams: value?.context?.skillParams,\n\t\t\t\t\t\t\ttimestamp,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Reset showCanvas when window is docked to fix org chart link state\n\t\tif (\n\t\t\tname === 'isDocked' &&\n\t\t\tvalue === true &&\n\t\t\tpreviousValue === false &&\n\t\t\tshowCanvas\n\t\t) {\n\t\t\tdispatch(TOGGLE_CANVAS, {showCanvas: false});\n\t\t}\n\n\t\t// dispatch action from NASS when a new conversation id is requested\n\t\tif (\n\t\t\tname === 'activeConversationId' &&\n\t\t\tvalue &&\n\t\t\tvalue !== 'request-complete'\n\t\t) {\n\t\t\tselfServiceComponentRef?.dispatch(\n\t\t\t\t'NOW_ASSIST_SELF_SERVICE#OPEN_NASS_CONVERSATION',\n\t\t\t\t{conversationId: value === 'new-conversation-requested' ? null : value},\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\tswitchContextConversation &&\n\t\t\tname === 'selectedContent' &&\n\t\t\tvalue?.fields?.sysId\n\t\t) {\n\t\t\tdispatch(GET_CONTEXT_CONVERSATION);\n\t\t}\n\t\tif (\n\t\t\tname === 'switchContextConversation' &&\n\t\t\tpreviousValue === true &&\n\t\t\tvalue === false\n\t\t) {\n\t\t\tupdateState({\n\t\t\t\tnassRemountKey: nassRemountKey + 1,\n\t\t\t\tactiveConversation: {\n\t\t\t\t\t...activeConversation,\n\t\t\t\t\tconversationId: null,\n\t\t\t\t\tcontextConversationId: null,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: ({state, dispatch}) => {\n\t\t\tconst {activeConversation, isCanvasActive} = state;\n\t\t\tif (activeConversation?.conversationId && isCanvasActive) {\n\t\t\t\tconst unSubscribeFilter =\n\t\t\t\t\t`conversation_id=` + activeConversation?.conversationId;\n\t\t\t\tdispatch('CANVAS_AMB_SUBSCRIBE_REQUESTED', {\n\t\t\t\t\ttable: 'sn_now_canvas_execution',\n\t\t\t\t\tfilter: buildAmbSubscriptionFilter(unSubscribeFilter),\n\t\t\t\t\tsubscribe: false,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[COMPONENT_CONNECTED]: ({dispatch, updateState, state, properties}) => {\n\t\tif (properties.dialogAriaLabel && properties.windowConfig?.id) {\n\t\t\tupdateDialogAriaLabel(\n\t\t\t\tproperties.windowConfig,\n\t\t\t\tproperties.dialogAriaLabel,\n\t\t\t);\n\t\t}\n\n\t\tif (state.isCanvasActive) {\n\t\t\tdispatch(CANVAS_SKILL_MAP_REQUESTED);\n\t\t}\n\n\t\tconst dynamicWindowOpen = (options) => {\n\t\t\twindow.nowAssistDynamicWindow.sessionContext = {\n\t\t\t\t...(options.context ?? {}),\n\t\t\t};\n\n\t\t\tif (options.forceNewConversation) {\n\t\t\t\twindow.nowAssistDynamicWindow.shouldForceNewConversation = true;\n\t\t\t\tupdateState(({state}) => {\n\t\t\t\t\tconst {selfServiceComponentRef} = state;\n\t\t\t\t\tselfServiceComponentRef?.forceNewConversation();\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\t// If it exists already, don't override it\n\t\twindow.nowAssistDynamicWindow = window.nowAssistDynamicWindow || {};\n\t\twindow.nowAssistDynamicWindow.open =\n\t\t\twindow.nowAssistDynamicWindow?.open ?? dynamicWindowOpen;\n\n\t\t// Our personal reference to use internally\n\t\tupdateState({dynamicWindowOpen});\n\n\t\tif (properties?.nowAssistOptions?.timestamp !== undefined) {\n\t\t\tif (properties.nowAssistOptions.forceNewConversation) {\n\t\t\t\tproperties.nowAssistOptions.context.start_conversation_immediately = true;\n\t\t\t\tproperties.nowAssistOptions.context.load_active_only = false;\n\t\t\t\tproperties.nowAssistOptions.context.skip_load_history = true;\n\t\t\t}\n\t\t\tdynamicWindowOpen(properties.nowAssistOptions);\n\t\t}\n\t\tif (properties.selectedContent && properties.switchContextConversation) {\n\t\t\tconst contextData = properties.selectedContent?.fields;\n\t\t\tconst record = contextData?.sysId;\n\t\t\tif (record) {\n\t\t\t\tdispatch(GET_CONTEXT_CONVERSATION);\n\t\t\t} else {\n\t\t\t\tupdateState({\n\t\t\t\t\tcontextConversationLoaded: true,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\tcontextConversationLoaded: true,\n\t\t\t});\n\t\t}\n\t},\n\t[GET_CONTEXT_CONVERSATION]: ({dispatch, properties}) => {\n\t\tconst contextData = properties.selectedContent?.fields;\n\t\tconst record = contextData?.sysId;\n\t\tconst table = contextData?.table;\n\t\tif (record && table) {\n\t\t\tdispatch(GET_CONTEXT_CONVERSATION_REQUESTED, {\n\t\t\t\tcontextRecord: record,\n\t\t\t\tcontextTable: table,\n\t\t\t});\n\t\t}\n\t},\n\t[UPDATE_CONTEXT_CONVERSATION]: ({dispatch, properties, action}) => {\n\t\tconst {conversationId} = action?.payload;\n\t\tconst contextData = properties.selectedContent?.fields;\n\t\tconst record = contextData?.sysId;\n\t\tconst table = contextData?.table;\n\t\tif (record && table && conversationId) {\n\t\t\tdispatch(UPDATE_CONTEXT_CONVERSATION_REQUESTED, {\n\t\t\t\tcontextRecord: record,\n\t\t\t\tcontextTable: table,\n\t\t\t\tconversationId,\n\t\t\t});\n\t\t}\n\t},\n\t[UPDATE_CONTEXT_CONVERSATION_REQUESTED]: updateConversationContext,\n\t[UPDATE_CONTEXT_CONVERSATION_FAILED]: () => {\n\t\tconsole.log('Failed to update context conversation');\n\t},\n\t[UPDATE_CONTEXT_CONVERSATION_SUCCEEDED]: () => {\n\t\tconsole.log('Context conversation updated');\n\t},\n\t[GET_CONTEXT_CONVERSATION_REQUESTED]: fetchConversationContext,\n\t[GET_CONTEXT_CONVERSATION_FAILED]: ({updateState}) => {\n\t\tupdateState({\n\t\t\tcontextConversationLoaded: true,\n\t\t});\n\t},\n\t[GET_CONTEXT_CONVERSATION_SUCCEEDED]: ({\n\t\taction,\n\t\tstate,\n\t\tupdateProperties,\n\t\tupdateState,\n\t}) => {\n\t\tconst {payload} = action;\n\t\tconst {selfServiceComponentRef} = state;\n\t\tconst conversationIds = payload?.result?.conversationIds;\n\n\t\t// Skip conversation override if forceNewConversation is active or transfer context is present\n\t\t// This prevents conflict between switchContextConversation and forceNewConversation/transfer flows\n\t\tconst sessionContext = window.nowAssistDynamicWindow?.sessionContext;\n\t\tconst shouldSkipConversationOverride =\n\t\t\twindow.nowAssistDynamicWindow?.shouldForceNewConversation ||\n\t\t\tsessionContext?.transfer_context ||\n\t\t\tsessionContext?.transferred_search_result;\n\n\t\tlet conversationId = null;\n\t\tif (conversationIds && conversationIds.length > 0) {\n\t\t\tconversationId = conversationIds[0];\n\t\t\tif (!shouldSkipConversationOverride) {\n\t\t\t\t// Request the fetched conversation to be loaded on NASS\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactiveConversationId: conversationId,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tif (!shouldSkipConversationOverride) {\n\t\t\t\tif (selfServiceComponentRef) {\n\t\t\t\t\t// Request a new conversation to be loaded on NASS when NASS is connected\n\t\t\t\t\tupdateProperties({\n\t\t\t\t\t\tactiveConversationId: 'new-conversation-requested',\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// Request a new conversation to be loaded on NASS when NASS connects later\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpendingForceNewConversation: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Set state to update context conversation when NASS loads new conversation.\n\t\t\tupdateState({\n\t\t\t\tshouldUpdateContextConversation: true,\n\t\t\t});\n\t\t}\n\t\tif (!state.contextConversationLoaded) {\n\t\t\tupdateState({\n\t\t\t\tcontextConversationLoaded: true,\n\t\t\t\t...(conversationId\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tactiveConversation: {\n\t\t\t\t\t\t\t\t...state.activeConversation,\n\t\t\t\t\t\t\t\tcontextConversationId: conversationId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t: {}),\n\t\t\t});\n\t\t}\n\t},\n\t[CANVAS_SKILL_MAP_REQUESTED]: canvasSkillMapRequested,\n\t[CANVAS_SKILL_MAP_SUCCEEDED]: canvasSkillMapSucceeded,\n\t[CANVAS_SKILL_MAP_FAILED]: canvasSkillMapFailed,\n\t['CANVAS_AMB_SUBSCRIBE_REQUESTED']: subscribeNotificationsEffect,\n\t['CANVAS_SUBSCRIBE_SUCCEEDED']: {\n\t\teffect: ({action}) => {\n\t\t\tconsole.debug(action);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['CANVAS_SUBSCRIBE_FAILED']: {\n\t\teffect: () => {\n\t\t\tconsole.error('SUBSCRIBE_FAILED');\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['CANVAS_UNSUBSCRIBE_SUCCEEDED']: {\n\t\teffect: ({action}) => {\n\t\t\tconst {payload} = action;\n\t\t\tconsole.debug('UNSUBSCRIBE_SUCCEEDED', payload);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['CANVAS_SUBSCRIBE_MESSAGE_RECEIVED']: {\n\t\teffect: ({action, state, updateState}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {data},\n\t\t\t} = action;\n\t\t\tconst {record, sys_id} = data;\n\t\t\tconsole.debug('CANVAS_SUBSCRIBE_MESSAGE_RECEIVED');\n\t\t\tconst {\n\t\t\t\tactiveConversation,\n\t\t\t\tconversationMap,\n\t\t\t\tactiveCanvasExecutionId,\n\t\t\t\tselfServiceComponentRef,\n\t\t\t} = state;\n\t\t\tlet canvasConfig = record.canvas_config?.value;\n\n\t\t\tlet conversationId = record.conversation_id?.value;\n\n\t\t\ttry {\n\t\t\t\tif (canvasConfig) {\n\t\t\t\t\tcanvasConfig = JSON.parse(canvasConfig);\n\t\t\t\t}\n\n\t\t\t\tconversationId ??= canvasConfig?.metaData?.conversationId;\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t`CANVAS_SUBSCRIBE_MESSAGE_RECEIVED:\n\t\t\t\t\t\t\tFailed to parse canvasConfig for conversation ${conversationId}`,\n\t\t\t\t\terror,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// AMB subscription for agent tool ,in case of AMB shows only changed record field value , then check with sys_id of record also.\n\t\t\tconst isActiveConversation = !conversationId\n\t\t\t\t? sys_id == activeConversation?.canvasExecutionId\n\t\t\t\t: conversationId == activeConversation?.conversationId;\n\n\t\t\tconst updatedConversationMap = conversationMap;\n\n\t\t\tif (\n\t\t\t\tdata.action === 'entry' &&\n\t\t\t\tdata.operation === 'insert' &&\n\t\t\t\tisActiveConversation\n\t\t\t) {\n\t\t\t\tconst canvasId = record.canvas_id?.value;\n\t\t\t\tconst relatedRecord =\n\t\t\t\t\trecord.related_record?.value || canvasConfig?.relatedRecord;\n\n\t\t\t\tconst updatedConversation = {\n\t\t\t\t\t...activeConversation,\n\t\t\t\t\tcanvasExecutionId: sys_id,\n\t\t\t\t\tcanvasId,\n\t\t\t\t\tcanvasName: activeConversation.canvasName || canvasConfig.canvasName,\n\t\t\t\t\tcanvasIcon: activeConversation.canvasIcon || canvasConfig.canvasIcon,\n\t\t\t\t\tcanvasConfig,\n\t\t\t\t\trelatedRecord,\n\t\t\t\t\thasCanvas: true,\n\t\t\t\t\tshowCanvas: false,\n\t\t\t\t\tstatus: record?.status?.value,\n\t\t\t\t};\n\t\t\t\tupdatedConversationMap.push(updatedConversation);\n\t\t\t\tupdateState({\n\t\t\t\t\tconversationMap: updatedConversationMap,\n\t\t\t\t\t...(activeCanvasExecutionId ==\n\t\t\t\t\t\tupdatedConversation?.canvasExecutionId && {\n\t\t\t\t\t\tactiveConversation: updatedConversation,\n\t\t\t\t\t}),\n\t\t\t\t});\n\n\t\t\t\t// Temporarily using selfServiceComponentRef to dispatch CANVAS_REQUESTED action so that\n\t\t\t\t// NASS knows that a canvas is present and there should be a toggle on their end.\n\t\t\t\tif (canvasConfig?.loadImmediate) {\n\t\t\t\t\tselfServiceComponentRef?.dispatch('CANVAS_REQUESTED', {\n\t\t\t\t\t\tshowCanvas: true,\n\t\t\t\t\t\tid: sys_id,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tcanvasExecutionId: sys_id,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (data.operation === 'update') {\n\t\t\t\tlet updatedConversationObj = activeConversation;\n\t\t\t\tconst updateConversationdMap = updatedConversationMap.map((obj) => {\n\t\t\t\t\tif (obj.canvasExecutionId == sys_id) {\n\t\t\t\t\t\tupdatedConversationObj = {...obj, status: record?.status?.value};\n\t\t\t\t\t\treturn updatedConversationObj;\n\t\t\t\t\t}\n\t\t\t\t\treturn obj;\n\t\t\t\t});\n\t\t\t\tupdateState({\n\t\t\t\t\tconversationMap: updateConversationdMap,\n\t\t\t\t\t...(activeCanvasExecutionId ==\n\t\t\t\t\t\tupdatedConversationObj?.canvasExecutionId && {\n\t\t\t\t\t\tactiveConversation: updatedConversationObj,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t['NOW_ASSIST_SELF_SERVICE#SESSION_CHANGED']: {\n\t\teffect: ({\n\t\t\taction,\n\t\t\tcontext,\n\t\t\tstate,\n\t\t\tupdateState,\n\t\t\tupdateProperties,\n\t\t\tdispatch,\n\t\t\tproperties,\n\t\t}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {nassSessionContext},\n\t\t\t} = action;\n\t\t\tconst {switchContextConversation} = properties;\n\t\t\tconst nassSession = context[nassSessionContext];\n\t\t\tconst conversationId = nassSession?.session?.conversationId;\n\t\t\tconst newConversationCreated =\n\t\t\t\tnassSession?.session?.newConversationCreated;\n\t\t\tconst {\n\t\t\t\tactiveConversation,\n\t\t\t\tisCanvasActive,\n\t\t\t\tshouldUpdateContextConversation,\n\t\t\t} = state;\n\n\t\t\tif (activeConversation?.conversationId !== conversationId) {\n\t\t\t\tconst baseConversationData = {\n\t\t\t\t\tconversationId,\n\t\t\t\t\thasCanvas: false,\n\t\t\t\t\tcanvasName: '',\n\t\t\t\t\tcanvasIcon: '',\n\t\t\t\t\tcanvasType: '',\n\t\t\t\t\tshowCanvas: false,\n\t\t\t\t};\n\n\t\t\t\tif (conversationId && isCanvasActive) {\n\t\t\t\t\tdispatch('FETCH_CANVAS_RUNTIME_REQUESTED', {\n\t\t\t\t\t\tconversationIds: conversationId,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\tconversationId &&\n\t\t\t\t\tswitchContextConversation &&\n\t\t\t\t\t(shouldUpdateContextConversation || newConversationCreated)\n\t\t\t\t) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tshouldUpdateContextConversation: false,\n\t\t\t\t\t});\n\t\t\t\t\tdispatch(UPDATE_CONTEXT_CONVERSATION, {conversationId});\n\t\t\t\t}\n\n\t\t\t\tupdateState({\n\t\t\t\t\tactiveConversation: baseConversationData,\n\t\t\t\t\taiaExecutionPlanId: '',\n\t\t\t\t\tskillId: '',\n\t\t\t\t\tshowCanvas: false,\n\t\t\t\t});\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tshowCanvasForNASS: false,\n\t\t\t\t\t});\n\t\t\t\t}, 200);\n\n\t\t\t\t// updates the property to this value so that if the same conversation is requested\n\t\t\t\t// after switching from that conversation, it will detect a property change\n\t\t\t\tupdateProperties({\n\t\t\t\t\tactiveConversationId: 'request-complete',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Unsubscribe for active conversationId\n\t\t\tif (activeConversation?.conversationId && isCanvasActive) {\n\t\t\t\tconst unSubscribeFilter =\n\t\t\t\t\t`conversation_id=` + activeConversation?.conversationId;\n\t\t\t\tdispatch('CANVAS_AMB_SUBSCRIBE_REQUESTED', {\n\t\t\t\t\ttable: 'sn_now_canvas_execution',\n\t\t\t\t\tfilter: buildAmbSubscriptionFilter(unSubscribeFilter),\n\t\t\t\t\tsubscribe: false,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Subscribe for new conversationId\n\t\t\tif (isCanvasActive) {\n\t\t\t\tconst ambToolfilter = `conversation_id=` + conversationId;\n\t\t\t\tdispatch('CANVAS_AMB_SUBSCRIBE_REQUESTED', {\n\t\t\t\t\ttable: 'sn_now_canvas_execution',\n\t\t\t\t\tfilter: buildAmbSubscriptionFilter(ambToolfilter),\n\t\t\t\t\tsubscribe: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\twindow.nowAssistDynamicWindow.sessionContext = {};\n\t\t\twindow.nowAssistDynamicWindow.shouldForceNewConversation = false;\n\t\t},\n\t},\n\t['FETCH_CANVAS_RUNTIME_REQUESTED']: fetchCanvasRuntimeData,\n\t//debounce\tneed to be removed ,after DEF0699364 Fix\n\t['FETCH_CANVAS_RUNTIME_SUCCEEDED']: debounce(\n\t\t({action, state, updateState}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {result},\n\t\t\t} = action;\n\t\t\tconst {activeConversation, canvasExecutionCache} = state;\n\n\t\t\tconst conversationId = activeConversation?.conversationId;\n\t\t\tconst updatedCanvasExecutionCache = {...canvasExecutionCache};\n\n\t\t\tif (Object.keys(result).length === 0 || !conversationId) {\n\t\t\t\tupdateState({showCanvas: false});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentExecutionRecord = result[conversationId];\n\n\t\t\tif (\n\t\t\t\t!Array.isArray(currentExecutionRecord) ||\n\t\t\t\tcurrentExecutionRecord.length === 0\n\t\t\t) {\n\t\t\t\tupdateState({showCanvas: false});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst currentConversation = [];\n\t\t\tfor (const data of currentExecutionRecord) {\n\t\t\t\tconst {\n\t\t\t\t\tcanvas_id: canvasId,\n\t\t\t\t\tcanvas_config: canvasConfig,\n\t\t\t\t\trelated_record: relatedRecord,\n\t\t\t\t\tsys_id: canvasExecutionId,\n\t\t\t\t\tcanvas_execution_plan_id: canvasExecutionPlanId,\n\t\t\t\t\tstatus,\n\t\t\t\t} = data || {};\n\n\t\t\t\t// Fallback for missing data\n\t\t\t\tif (\n\t\t\t\t\t!canvasId ||\n\t\t\t\t\t!canvasConfig ||\n\t\t\t\t\tObject.keys(canvasConfig).length === 0\n\t\t\t\t) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Canvas data missing for conversation ${conversationId}`,\n\t\t\t\t\t);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet parsedConfig;\n\t\t\t\ttry {\n\t\t\t\t\tparsedConfig = JSON.parse(canvasConfig);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\t`Failed to parse canvasConfig for conversation ${conversationId}`,\n\t\t\t\t\t\terror,\n\t\t\t\t\t);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst conversationConfig = {\n\t\t\t\t\tcanvasId,\n\t\t\t\t\tconversationId,\n\t\t\t\t\trelatedRecord,\n\t\t\t\t\tcanvasConfig: parsedConfig,\n\t\t\t\t\tcanvasExecutionId,\n\t\t\t\t\tstatus,\n\t\t\t\t\thasCanvas: true,\n\t\t\t\t};\n\t\t\t\tcurrentConversation.push(conversationConfig);\n\n\t\t\t\t// update canvasExecutionCache\t,need to be removed ,after DEF0699364 Fix\n\t\t\t\tif (canvasExecutionPlanId) {\n\t\t\t\t\tupdatedCanvasExecutionCache[conversationId] ??= {};\n\t\t\t\t\tupdatedCanvasExecutionCache[conversationId][relatedRecord] ??= {};\n\t\t\t\t\tupdatedCanvasExecutionCache[conversationId][relatedRecord][\n\t\t\t\t\t\tcanvasExecutionPlanId\n\t\t\t\t\t] = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Pull canvas details for active conversation if they exist\n\t\t\tconst currentActiveConversation =\n\t\t\t\tcurrentConversation[currentConversation.length - 1];\n\n\t\t\tupdateState({\n\t\t\t\tconversationMap: currentConversation,\n\t\t\t\tactiveConversation: {\n\t\t\t\t\t...activeConversation,\n\t\t\t\t\t...currentActiveConversation,\n\t\t\t\t\thasCanvas: true,\n\t\t\t\t},\n\t\t\t\tcanvasExecutionCache: updatedCanvasExecutionCache,\n\t\t\t});\n\t\t},\n\t\t800,\n\t),\n\t['FETCH_CANVAS_RUNTIME_FAILED']: ({action}) => {\n\t\tconsole.error('Failed to fetch canvas runtime:', action?.payload || {});\n\t},\n\t[SKILL_EXECUTION_STARTED]: ({updateState, action, state}) => {\n\t\tconst {\n\t\t\tpayload: {skillDocumentId, aiaExecutionPlanId, skillTable, agentic},\n\t\t} = action;\n\n\t\tconst {activeConversation, canvasExecutionCache} = state;\n\t\tconst conversationId = activeConversation?.conversationId;\n\t\t//need to  remove below condition,after DEF0699364 Fix\n\t\tif (\n\t\t\tcanvasExecutionCache?.[conversationId]?.[skillDocumentId]?.[\n\t\t\t\taiaExecutionPlanId\n\t\t\t]\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif (agentic && ALLOWED_SKILL_TABLE_NAMES.includes(skillTable)) {\n\t\t\tupdateState({\n\t\t\t\tskillId: skillDocumentId,\n\t\t\t\taiaExecutionPlanId,\n\t\t\t});\n\t\t}\n\t},\n\t[TOGGLE_CANVAS]: (coeffects) => {\n\t\tconst {\n\t\t\tupdateState,\n\t\t\tproperties: {\n\t\t\t\twindowConfig,\n\t\t\t\tdialogSize,\n\t\t\t\tdialogLocation,\n\t\t\t\tisDocked,\n\t\t\t\thostType,\n\t\t\t},\n\t\t\tstate,\n\t\t\tdispatch,\n\t\t\taction: {\n\t\t\t\tpayload: {showCanvas, changeWidth},\n\t\t\t},\n\t\t} = coeffects;\n\t\tconst willShowCanvas = showCanvas ?? !state.showCanvas;\n\n\t\tif (willShowCanvas) {\n\t\t\tdispatch(OPEN_MULTI_CANVAS_POPOVER);\n\n\t\t\tif (windowConfig?.id !== undefined) {\n\t\t\t\t// Only toggle modal for canvas when it's pinned. Otherwise, just increase the window size\n\t\t\t\tif (isDocked) {\n\t\t\t\t\twindow.nowWindowManager.toggleModal(windowConfig.id, true);\n\t\t\t\t} else if (dialogSize.width < 820 && changeWidth) {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tpreviousWindowState: {\n\t\t\t\t\t\t\tdialogSize,\n\t\t\t\t\t\t\tdialogLocation,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\twindow.nowWindowManager.setWindowSize(windowConfig.id, {width: 830});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\n\t\t\twindowConfig?.id !== undefined &&\n\t\t\t!isDocked &&\n\t\t\tdialogSize.width === 830 &&\n\t\t\tstate.previousWindowState\n\t\t) {\n\t\t\t// Restore both size and location by dispatching directly to the window\n\t\t\tconst currentWindow = window.nowWindowManager.windowsList?.find(\n\t\t\t\t(win) => win.id === windowConfig.id,\n\t\t\t);\n\n\t\t\tif (currentWindow) {\n\t\t\t\tconst {dialogSize: prevSize, dialogLocation: prevLocation} =\n\t\t\t\t\tstate.previousWindowState;\n\t\t\t\t// Dispatch UPDATE_FLOATING_MENU_LOCATION to restore size and position\n\t\t\t\tcurrentWindow.component.dispatch('UPDATE_FLOATING_MENU_LOCATION', {\n\t\t\t\t\twidth: prevSize.width,\n\t\t\t\t\theight: prevSize.height,\n\t\t\t\t\t...prevLocation,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Clear stored state after restoring\n\t\t\tupdateState({\n\t\t\t\tpreviousWindowState: null,\n\t\t\t});\n\t\t}\n\n\t\tupdateState({\n\t\t\tshowCanvas: willShowCanvas,\n\t\t});\n\n\t\t// this setTimeout is important because the property that gets passed to NASS will determine\n\t\t// the reflow breakpoints, when the canvas is closing the breakpoints in NASS change before the\n\t\t// transition is done, and the styles cause a flicker. This will delay the passing of the property\n\t\t// long enough for the transition to give enough width for NASS to keep the same style while the\n\t\t// transition takes place\n\t\tsetTimeout(\n\t\t\t() =>\n\t\t\t\tupdateState({\n\t\t\t\t\tshowCanvasForNASS: willShowCanvas,\n\t\t\t\t}),\n\t\t\twillShowCanvas ? 0 : 200,\n\t\t);\n\t\t// adding telemetry for modal open\n\t\tif (willShowCanvas) {\n\t\t\tdispatch(AIEL_METRIC_TRACKING_REQUESTED, {\n\t\t\t\teventName: 'modal_open',\n\t\t\t\tmetadata: {\n\t\t\t\t\tmodalId: windowConfig?.id,\n\t\t\t\t\tmodalSize: dialogSize?.width,\n\t\t\t\t\tconversationId: state.activeConversation?.conversationId,\n\t\t\t\t\tskillId: state.skillId,\n\t\t\t\t\taiaExecutionPlanId: state.aiaExecutionPlanId,\n\t\t\t\t\tcanvasId: state.activeConversation?.canvasId,\n\t\t\t\t\tcanvasExecutionId: state.activeConversation?.canvasExecutionId,\n\t\t\t\t\tcanvasExecutionPlanId:\n\t\t\t\t\t\tstate.activeConversation?.canvasExecutionPlanId,\n\t\t\t\t\tcanvasType: state.activeConversation?.canvasType,\n\t\t\t\t\thostType: hostType,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t},\n\t[CANVAS_REQUESTED]: ({dispatch, action}) => {\n\t\tconst {\n\t\t\tpayload: {\n\t\t\t\tskillId,\n\t\t\t\tshowCanvas,\n\t\t\t\tlabel,\n\t\t\t\ticon,\n\t\t\t\t/* either a unique id or canvasExecutionId */ id,\n\t\t\t\tpayload: {canvasExecutionId},\n\t\t\t},\n\t\t} = action;\n\n\t\t// canvasExecutionId is not always guaranteed, so we need to check if it was passed\n\t\t// into the agenticExecutionCompleted payload\n\t\tconst hasCanvasExecutionId = canvasExecutionId !== undefined;\n\n\t\tdispatch('CANVAS_VISIBILITY_TOGGLED', {\n\t\t\tskillId,\n\t\t\tshowCanvas,\n\t\t\texecutionId: hasCanvasExecutionId ? canvasExecutionId : null,\n\t\t\tactiveCanvasUniqueId: id,\n\t\t\tlabel,\n\t\t\ticon,\n\t\t});\n\t},\n\t['CANVAS_VISIBILITY_TOGGLED']: ({updateState, action, state, dispatch}) => {\n\t\tconst {\n\t\t\tpayload: {showCanvas, executionId, activeCanvasUniqueId, label, icon},\n\t\t} = action;\n\t\tconst {activeConversation, conversationMap} = state;\n\t\tconst conversationId = activeConversation?.conversationId;\n\t\tconst updatedActiveConversation = conversationMap.find(\n\t\t\t(conversation) =>\n\t\t\t\tconversation.conversationId === conversationId &&\n\t\t\t\t(executionId !== null\n\t\t\t\t\t? conversation.canvasExecutionId === executionId\n\t\t\t\t\t: false),\n\t\t);\n\n\t\tif (updatedActiveConversation) {\n\t\t\tupdateState({\n\t\t\t\tshowCanvas,\n\t\t\t\tactiveCanvasExecutionId: updatedActiveConversation?.canvasExecutionId,\n\t\t\t\tactiveConversation: {\n\t\t\t\t\t...updatedActiveConversation,\n\t\t\t\t\thasCanvas: true,\n\t\t\t\t\tactiveCanvasUniqueId,\n\t\t\t\t\tcanvasName: label ?? updatedActiveConversation.canvasName,\n\t\t\t\t\tcanvasIcon: icon ?? updatedActiveConversation.canvasIcon,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tdispatch(TOGGLE_CANVAS, {showCanvas, changeWidth: true});\n\t\t}\n\t},\n\t[CANVAS_EXECUTION.SUCCEEDED]: {\n\t\teffect: ({action, updateState, state}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {result},\n\t\t\t} = action;\n\t\t\tconsole.debug(CANVAS_EXECUTION.SUCCEEDED, result);\n\n\t\t\tconst {\n\t\t\t\tskillId,\n\t\t\t\taiaExecutionPlanId,\n\t\t\t\tactiveConversation,\n\t\t\t\tcanvasExecutionCache,\n\t\t\t} = state;\n\t\t\tconst conversationId = activeConversation?.conversationId;\n\t\t\t// store the executionPlanId in cache\n\t\t\tconst conversationCache = canvasExecutionCache[conversationId] || {};\n\t\t\tcanvasExecutionCache[conversationId] = conversationCache;\n\n\t\t\tconst skillCache = conversationCache[skillId] || {};\n\t\t\tconversationCache[skillId] = skillCache;\n\n\t\t\tif (!skillCache[aiaExecutionPlanId]) {\n\t\t\t\tskillCache[aiaExecutionPlanId] = true;\n\t\t\t\tupdateState({\n\t\t\t\t\tcanvasExecutionCache,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[CANVAS_EXECUTION.FAILED]: {\n\t\teffect: ({action}) => {\n\t\t\tconst {\n\t\t\t\tpayload: {\n\t\t\t\t\terror: {message},\n\t\t\t\t},\n\t\t\t} = action;\n\t\t\tconsole.error('Error executing canvas', message);\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[CANVAS_EXECUTION.INSERT_OR_UPDATE]: executeCanvasRecord,\n\t[NOW_ASSIST_SELF_SERVICE_PASS_PROPS_TO_CANVAS]: {\n\t\teffect: ({\n\t\t\taction: {payload: additionalPropsFromNass = {}},\n\t\t\tupdateState,\n\t\t\tstate: {activeConversation = {}},\n\t\t}) => {\n\t\t\tupdateState({\n\t\t\t\tactiveConversation: {\n\t\t\t\t\t...activeConversation,\n\t\t\t\t\tadditionalPropsFromNass: {\n\t\t\t\t\t\t...(activeConversation.additionalPropsFromNass || {}),\n\t\t\t\t\t\t...additionalPropsFromNass,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[NOW_ASSIST_SELF_SERVICE_RESET_CANVAS_PROPS]: {\n\t\teffect: ({updateState, state: {activeConversation = {}}}) => {\n\t\t\tconst resetActiveConversation = {...activeConversation};\n\t\t\tif (resetActiveConversation.additionalPropsFromNass) {\n\t\t\t\tdelete resetActiveConversation.additionalPropsFromNass;\n\t\t\t\tupdateState({\n\t\t\t\t\tactiveConversation: resetActiveConversation,\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[LOAD_CANVAS_REQUESTED]: {\n\t\teffect: ({\n\t\t\taction: {\n\t\t\t\tpayload: {\n\t\t\t\t\tdefinitionId,\n\t\t\t\t\tid = definitionId,\n\t\t\t\t\tlabel,\n\t\t\t\t\tadditionalProps,\n\t\t\t\t\ticon,\n\t\t\t\t},\n\t\t\t},\n\t\t\tstate: {activeConversation, conversationMap, selfServiceComponentRef},\n\t\t\tupdateState,\n\t\t}) => {\n\t\t\tconst existingExecution = conversationMap.find(\n\t\t\t\t(conv) =>\n\t\t\t\t\tconv.conversationId === activeConversation?.conversationId &&\n\t\t\t\t\t(conv.canvasExecutionId === id ||\n\t\t\t\t\t\t// so that the caller can open an existing execution without\n\t\t\t\t\t\t// needing to know the execution id, we can keep track of the\n\t\t\t\t\t\t// passed-in id and use that to match against an execution\n\t\t\t\t\t\tconv.canvasConfig.manuallySetId === id),\n\t\t\t);\n\n\t\t\tif (existingExecution) {\n\t\t\t\tif (existingExecution.canvasConfig?.loadImmediate) {\n\t\t\t\t\tselfServiceComponentRef?.dispatch('CANVAS_REQUESTED', {\n\t\t\t\t\t\tshowCanvas: true,\n\t\t\t\t\t\tid: existingExecution.canvasExecutionId,\n\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\tcanvasExecutionId: existingExecution.canvasExecutionId,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateState({\n\t\t\t\tloadCanvas: {\n\t\t\t\t\tid,\n\t\t\t\t\tlabel,\n\t\t\t\t\ticon,\n\t\t\t\t\tdefinitionId,\n\t\t\t\t\tadditionalProps,\n\t\t\t\t},\n\t\t\t});\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t[CANVAS_EXECUTION_CACHE_UPDATE]: ({action, updateState}) => {\n\t\tconst {\n\t\t\tpayload: {canvasExecutionCache},\n\t\t} = action;\n\t\tupdateState({\n\t\t\tcanvasExecutionCache,\n\t\t});\n\t},\n\n\t['NOW_DROPDOWN#OPENED_SET']: ({action, dispatch}) => {\n\t\tconst {id} = action.meta.appended;\n\t\tif (id === 'canvas-selection-dropdown') {\n\t\t\tdispatch(CLOSE_MULTI_CANVAS_POPOVER);\n\t\t}\n\t},\n\t['NOW_POPOVER#OPENED_SET']: ({action, dispatch}) => {\n\t\tconst {id} = action.meta.appended;\n\t\tconst {value} = action.payload;\n\n\t\tif (id === 'canvas-selection-popover') {\n\t\t\tif (value === false) {\n\t\t\t\tdispatch(CLOSE_MULTI_CANVAS_POPOVER);\n\t\t\t}\n\t\t}\n\t},\n\t['NOW_DROPDOWN#ITEM_CLICKED']: ({action, dispatch}) => {\n\t\tconst {id} = action.meta.appended;\n\n\t\tif (id === 'canvas-selection-dropdown') {\n\t\t\tconst {item} = action.payload;\n\n\t\t\tdispatch('CANVAS_VISIBILITY_TOGGLED', {\n\t\t\t\tshowCanvas: true,\n\t\t\t\texecutionId: item.id,\n\t\t\t\tactiveCanvasUniqueId: item.id,\n\t\t\t});\n\t\t}\n\t},\n\t['SN_WINDOW#WINDOW_OPENED']: ({properties, dispatch}) => {\n\t\tconst {selectedContent, switchContextConversation} = properties;\n\t\tconst sys_id = selectedContent?.fields?.sysId;\n\t\tif (sys_id && switchContextConversation) {\n\t\t\tdispatch(GET_CONTEXT_CONVERSATION);\n\t\t}\n\t},\n\t[OPEN_MULTI_CANVAS_POPOVER]: ({\n\t\tstate: {conversationMap, activeConversation},\n\t\tupdateState,\n\t}) => {\n\t\tconst hasMultipleCanvas = conversationMap.length > 1;\n\n\t\tconst seenKeysJSON = localStorage.getItem(\n\t\t\tMULTI_CANVAS_INFO_POPOVER_SEEN_KEY,\n\t\t);\n\t\tconst multiCanvasPopoverSeenKeys = seenKeysJSON\n\t\t\t? JSON.parse(seenKeysJSON)\n\t\t\t: [];\n\t\tconst seenMultiCanvasPopover = multiCanvasPopoverSeenKeys.includes(\n\t\t\tactiveConversation?.conversationId,\n\t\t);\n\n\t\tif (!seenMultiCanvasPopover && hasMultipleCanvas) {\n\t\t\tsetTimeout(() => {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tupdateState({\n\t\t\t\t\t\tshowMultiCanvasPopover: true,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}, 1000);\n\t\t}\n\t},\n\n\t[CLOSE_MULTI_CANVAS_POPOVER]: ({\n\t\tstate: {activeConversation},\n\t\tupdateState,\n\t}) => {\n\t\tconst conversationId = activeConversation?.conversationId;\n\t\tconst seenKeysJSON = localStorage.getItem(\n\t\t\tMULTI_CANVAS_INFO_POPOVER_SEEN_KEY,\n\t\t);\n\t\tconst multiCanvasPopoverSeenKeys = seenKeysJSON\n\t\t\t? JSON.parse(seenKeysJSON)\n\t\t\t: [];\n\n\t\tif (\n\t\t\tconversationId &&\n\t\t\t!multiCanvasPopoverSeenKeys.includes(conversationId)\n\t\t) {\n\t\t\tmultiCanvasPopoverSeenKeys.push(conversationId);\n\t\t}\n\n\t\tlocalStorage.setItem(\n\t\t\tMULTI_CANVAS_INFO_POPOVER_SEEN_KEY,\n\t\t\tJSON.stringify(multiCanvasPopoverSeenKeys),\n\t\t);\n\n\t\tupdateState({\n\t\t\tshowMultiCanvasPopover: false,\n\t\t});\n\t},\n\t[SET_INTERACTIVE_CANVAS_STATUS]: ({action, updateState, state}) => {\n\t\tconst {\n\t\t\tpayload: {activeCanvasStatus, canvasInteractiveStatus},\n\t\t} = action;\n\t\t//SET_INTERACTIVE_CANVAS_STATUS can be used to update the status of the active conversation from a child component\n\t\tconst {activeConversation, conversationMap} = state;\n\t\tconst updatedConversationdMap = conversationMap.map((obj) => {\n\t\t\tif (obj.canvasExecutionId == activeConversation?.canvasExecutionId) {\n\t\t\t\treturn {\n\t\t\t\t\t...obj,\n\t\t\t\t\tstatus: `${activeCanvasStatus}#${canvasInteractiveStatus?.status}`,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn obj;\n\t\t});\n\t\tconst updatedConversationObj = {\n\t\t\t...activeConversation,\n\t\t\tstatus: `${activeCanvasStatus}#${canvasInteractiveStatus?.status}`,\n\t\t};\n\t\tupdateState({\n\t\t\tcanvasInteractiveStatus,\n\t\t\tconversationMap: updatedConversationdMap,\n\t\t\tactiveConversation: updatedConversationObj,\n\t\t});\n\t},\n\t[NOW_ASSIST_SELF_SERVICE_NEW_CHAT_CLICKED]: {\n\t\tstopPropagation: true,\n\t\teffect: ({updateProperties}) => {\n\t\t\tupdateProperties({sessionContext: {}});\n\t\t},\n\t},\n\t...metrics,\n};\n\nexport const eventHandlers = [\n\t{\n\t\tevents: [AIEL_NAVIGATION_REQUESTED],\n\t\teffect: (coeffects) => {\n\t\t\tconst preventDefault = handleNavigationRequest({\n\t\t\t\taction: coeffects.action,\n\t\t\t\tstate: coeffects.state,\n\t\t\t\tdispatch: coeffects.dispatch,\n\t\t\t});\n\n\t\t\tif (preventDefault) {\n\t\t\t\tcoeffects.action.preventDefault();\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n\t{\n\t\tevents: [UPDATE_DIALOG_ARIA_LABEL],\n\t\teffect: ({action, properties}) => {\n\t\t\tconst label = action.payload?.label;\n\t\t\tif (label) {\n\t\t\t\tupdateDialogAriaLabel(properties.windowConfig, label);\n\t\t\t}\n\t\t},\n\t\tstopPropagation: true,\n\t},\n];\n","var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }\nvar y = x => () => x\nconst __WEBPACK_NAMESPACE_OBJECT__ = x({ [\"default\"]: () => {\n\t\t\t\t\tconst cjsModule = __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__.default && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__.__esModule\n\t\t\t\t\tif (cjsModule && 'default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"];\n\t\t\t\t\t} else if (cjsModule)  {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"][\"default\"];\n\t\t\t\t\t} else if ('default' === 'default') {\n\t\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"] ? (__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"][\"default\"] ? __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"][\"default\"] : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"]) : __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__;\n\t\t\t\t\t}\n\t\t\t\t\treturn __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"] || __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"] && __WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__[\"default\"][\"default\"];\n\t\t\t\t} });","import {createCustomElement} from '@servicenow/ui-core';\nimport snabbdom from '@servicenow/ui-renderer-snabbdom';\nimport view from './view.js';\nimport styles from './styles.scss';\nimport actions, {eventHandlers} from './actions.js';\nimport {ENABLE_ENGAGEMENT_EXPERIENCE_SYS_PROPERTY} from './constants.js';\nimport {getProperty} from 'sn-uxpage-presource';\n\nimport resizeBehavior from '@servicenow/behavior-resize';\nimport windowBehavior from './behaviors/sn-window-behavior.js';\nimport {isUserLoggedIn} from '../utils/index.js';\n\nexport function getBooleanProperty(propertyName, defaultValue = false) {\n\tconst propertyValue = getProperty(propertyName, defaultValue);\n\treturn (\n\t\tpropertyValue === true || propertyValue.toString().toLowerCase() === 'true'\n\t);\n}\n\ncreateCustomElement('sn-ai-engagement-experience', {\n\trenderer: {\n\t\ttype: snabbdom,\n\t\tview,\n\t},\n\tstyles,\n\tproperties: {\n\t\tnapShortcutCommand: {\n\t\t\tdefault: {},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tselectedContent: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tsessionContext: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tactiveConversationId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tskillId: {\n\t\t\tdefault: '',\n\t\t\tschema: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tskillParams: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tnassProps: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tnowAssistOptions: {\n\t\t\tdefault: null,\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\thostType: {\n\t\t\tdefault: 'unified-navigation',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t\tremAdjustmentRequired: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tisChatOnlyMode: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tswitchContextConversation: {\n\t\t\tdefault: false,\n\t\t\tschema: {type: 'boolean'},\n\t\t},\n\t\tdialogAriaLabel: {\n\t\t\tdefault: 'ServiceNow Otto',\n\t\t\tschema: {type: 'string'},\n\t\t},\n\t},\n\tsetInitialState: ({\n\t\tproperties: {skillId, activeConversationId: conversationId, isChatOnlyMode},\n\t}) => {\n\t\tconst canvasActiveWindowProperty = window.NOW?.interactive_view_enabled;\n\n\t\tlet isCanvasActive = true;\n\n\t\tif (isChatOnlyMode) {\n\t\t\tisCanvasActive = false;\n\t\t} else {\n\t\t\t// Check for window property first. If it's defined, then it is guaranteed\n\t\t\t// a boolean and source of truth. We can't default the getBooleanProperty call\n\t\t\t// first since it will always default in the Portal case and we won't know the real value.\n\t\t\tif (canvasActiveWindowProperty == null) {\n\t\t\t\t// platform case where window property is not defined\n\t\t\t\tisCanvasActive =\n\t\t\t\t\tgetBooleanProperty(ENABLE_ENGAGEMENT_EXPERIENCE_SYS_PROPERTY, true) &&\n\t\t\t\t\tisUserLoggedIn();\n\t\t\t} else {\n\t\t\t\tisCanvasActive =\n\t\t\t\t\t(!!canvasActiveWindowProperty).toString() === 'true' &&\n\t\t\t\t\tisUserLoggedIn();\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tactiveConversation: {\n\t\t\t\tconversationId,\n\t\t\t\thasCanvas: false,\n\t\t\t\tcanvasName: '',\n\t\t\t\tcanvasIcon: '',\n\t\t\t\tcanvasType: '',\n\t\t\t\tshowCanvas: false,\n\t\t\t},\n\t\t\tactiveCanvasName: '',\n\t\t\tactiveCanvasExecutionId: '',\n\t\t\tconversationMap: [],\n\t\t\tskillMap: {},\n\t\t\tcanvasExecutionCache: {},\n\t\t\tselfServiceComponentRef: null,\n\t\t\tconversationList: [\n\t\t\t\t{\n\t\t\t\t\tconversationId: 'loading',\n\t\t\t\t\tskillId,\n\t\t\t\t\tstatus: 'loading',\n\t\t\t\t\ttitle: '',\n\t\t\t\t},\n\t\t\t],\n\t\t\tisCanvasActive,\n\t\t\t// State variable used to determine the canvas behavior when smaller breakpoints are reached\n\t\t\tpreviouslyAvailablePanels: 2,\n\t\t\tshowMultiCanvasPopover: false,\n\t\t\tpreviousWindowState: null,\n\t\t\tnassRemountKey: 0,\n\t\t};\n\t},\n\tactionHandlers: actions,\n\teventHandlers: eventHandlers,\n\tbehaviors: [{behavior: resizeBehavior}, {behavior: windowBehavior}],\n});\n","import '@servicenow/now-button';\nimport '@servicenow/now-icon';\nimport '@servicenow/now-highlighted-value';\nimport CanvasExperienceScreen from './screens/canvasExperience';\nimport '../sn-interactive-view-experience';\nimport {ERROR_RENDERING_VIEW} from './constants';\n\nconst conditionalRender = (updateProperties, dispatch, updateState, state) => {\n\tconst {\n\t\tproperties: {showChat},\n\t} = state;\n\n\tif (showChat) {\n\t\treturn (\n\t\t\t<CanvasExperienceScreen\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tstate={state}\n\t\t\t\tupdateProperties={updateProperties}\n\t\t\t\tupdateState={updateState}\n\t\t\t/>\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<sn-interactive-view-experience />\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nexport default (state, {dispatch, updateProperties, updateState}) => {\n\tconst {windowConfig, windowsState} = state.properties;\n\n\tconst isWindowDocked =\n\t\twindowsState.startDockId === windowConfig.id ||\n\t\twindowsState.endDockId === windowConfig.id;\n\tconst isModal = windowConfig.isModal;\n\ttry {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'sn-canvas-experience': true,\n\t\t\t\t\tcontainer: true,\n\t\t\t\t\tfull: isModal,\n\t\t\t\t\tdocked: isWindowDocked,\n\t\t\t\t}}\n\t\t\t\tclassName=\"sn-canvas-experience container\"\n\t\t\t>\n\t\t\t\t<div className=\"content\">\n\t\t\t\t\t{conditionalRender(updateProperties, dispatch, updateState, state)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t} catch (e) {\n\t\tconsole.error('Error rendering view', e);\n\t\treturn (\n\t\t\t<span className=\"error\">\n\t\t\t\t<h2>{ERROR_RENDERING_VIEW}</h2>\n\t\t\t\t<h3>{e.message}</h3>\n\t\t\t\t<p>{e.stack}</p>\n\t\t\t\t<p>{JSON.stringify(state)}</p>\n\t\t\t</span>\n\t\t);\n\t}\n};\n","export default {\n\tname: 'window-behavior',\n\tproperties: {\n\t\tshowChat: {\n\t\t\tdefault: true,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tisDocked: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tisModal: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tisFloating: {\n\t\t\tdefault: false,\n\t\t\tschema: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tdialogSize: {\n\t\t\tdefault: {\n\t\t\t\twidth: 640,\n\t\t\t\theight: 480,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\twindowConfig: {\n\t\t\tdefault: {},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\twindowsState: {\n\t\t\tdefault: {\n\t\t\t\tstartDockId: null,\n\t\t\t\tendDockId: null,\n\t\t\t\tactiveWindowId: null,\n\t\t\t},\n\t\t\tschema: {type: 'object'},\n\t\t},\n\t\tdialogLocation: {\n\t\t\tdefault: {\n\t\t\t\ttop: null,\n\t\t\t\tbottom: null,\n\t\t\t\tleft: null,\n\t\t\t\tright: null,\n\t\t\t},\n\t\t\tschema: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t},\n};\n","export const deepSearchElement = (\n\tselector,\n\troot = document.body,\n\tselectorType = 'id',\n) => {\n\tconst queue = [root];\n\twhile (queue.length > 0) {\n\t\tconst top = queue.shift();\n\t\tconst elements = top.querySelectorAll(`[${selectorType}=${selector}]`);\n\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\tif (elements[i].getAttribute(selectorType) === selector) {\n\t\t\t\treturn elements[i];\n\t\t\t}\n\t\t}\n\n\t\tif (top instanceof Element) {\n\t\t\tconst topShadow = top.shadowRoot;\n\t\t\tif (topShadow) {\n\t\t\t\tqueue.push(topShadow);\n\t\t\t}\n\t\t}\n\t\tconst allSearched = top.querySelectorAll('*');\n\t\tfor (let i = 0; i < allSearched.length; i++) {\n\t\t\tconst shadow = allSearched[i].shadowRoot;\n\t\t\tif (shadow) {\n\t\t\t\tqueue.push(shadow);\n\t\t\t}\n\t\t}\n\t}\n};\n","export const NAVIGATE_TO_COMPONENT = 'INTERACTIVE_VIEW#NAVIGATE_TO_COMPONENT';\nexport const OPEN_SELECTED_CARD = 'INTERACTIVE_VIEW#OPEN_CARD';\nexport const NAVIGATE_TO_CARD = 'INTERACTIVE_VIEW#NAVIGATE_TO_CARD';\nexport const ROUTER_CHANNEL = 'INTERACTIVE_VIEW_ROUTER';\n","import {actionTypes} from '@servicenow/ui-core';\nimport {subscribe, publish} from '@servicenow/ai-engagement-library';\n\nconst {COMPONENT_BOOTSTRAPPED, COMPONENT_DISCONNECTED} = actionTypes;\nimport {deepSearchElement} from './utils';\nimport {\n\tNAVIGATE_TO_COMPONENT,\n\tNAVIGATE_TO_CARD,\n\tOPEN_SELECTED_CARD,\n\tROUTER_CHANNEL,\n} from './constants';\n\nlet unsubscribeNavigateAndOpenCard;\nlet unsubscribeNavigate;\nlet unsubscribeOpenCard;\n\nconst getTargetButton = (targetID) => {\n\tconst targetButton = deepSearchElement(\n\t\ttargetID,\n\t\twindow.document.body,\n\t\t'data-itemid',\n\t);\n\n\treturn targetButton;\n};\n\nexport default {\n\t[COMPONENT_BOOTSTRAPPED]: {\n\t\teffect: ({properties, dispatch, updateState}) => {\n\t\t\tunsubscribeNavigateAndOpenCard = subscribe({\n\t\t\t\tchannelName: ROUTER_CHANNEL,\n\t\t\t\tcontext: {\n\t\t\t\t\taction: 'navigate_and_open_card',\n\t\t\t\t},\n\t\t\t\tcallback: (data) => dispatch(NAVIGATE_TO_CARD, {planId: data.planId}),\n\t\t\t});\n\n\t\t\tunsubscribeNavigate = subscribe({\n\t\t\t\tchannelName: ROUTER_CHANNEL,\n\t\t\t\tcontext: {\n\t\t\t\t\taction: 'navigate',\n\t\t\t\t},\n\t\t\t\tcallback: (data) => dispatch(NAVIGATE_TO_COMPONENT, {}),\n\t\t\t});\n\n\t\t\tunsubscribeOpenCard = subscribe({\n\t\t\t\tchannelName: ROUTER_CHANNEL,\n\t\t\t\tcontext: {\n\t\t\t\t\taction: 'open_card',\n\t\t\t\t},\n\t\t\t\tcallback: (data) => dispatch(OPEN_SELECTED_CARD, {planId: data.planId}),\n\t\t\t});\n\n\t\t\tconst {targetID} = properties;\n\n\t\t\tupdateState({\n\t\t\t\ttargetID,\n\t\t\t});\n\t\t},\n\t\tstopPropagation: false,\n\t},\n\t[COMPONENT_DISCONNECTED]: {\n\t\teffect: ({}) => {\n\t\t\tunsubscribeNavigateAndOpenCard();\n\t\t\tunsubscribeNavigate();\n\t\t\tunsubscribeOpenCard();\n\t\t},\n\t\tstopPropagation: false,\n\t},\n\t[NAVIGATE_TO_CARD]: {\n\t\teffect: ({action, dispatch, state}) => {\n\t\t\tconst planId = action.payload.planId;\n\n\t\t\tif (!planId) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t'Interactive View Router: No planId found in action:',\n\t\t\t\t\taction,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {targetID} = state;\n\n\t\t\tconst targetButton = getTargetButton(targetID);\n\t\t\tif (targetButton && !targetButton.className.includes('is-selected')) {\n\t\t\t\ttargetButton.click();\n\t\t\t}\n\n\t\t\tdispatch(OPEN_SELECTED_CARD, {planId});\n\t\t},\n\t},\n\t[NAVIGATE_TO_COMPONENT]: ({state}) => {\n\t\tconst {targetID} = state;\n\n\t\tconst targetButton = getTargetButton(targetID);\n\t\tif (targetButton && !targetButton.className.includes('is-selected')) {\n\t\t\ttargetButton.click();\n\t\t}\n\t},\n\t[OPEN_SELECTED_CARD]: {\n\t\teffect: ({action, updateState}) => {\n\t\t\tconst planId = action.payload.planId;\n\n\t\t\tif (!planId) {\n\t\t\t\tconsole.error(\n\t\t\t\t\t'Interactive View Router: No planId found in action:',\n\t\t\t\t\taction,\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpublish({\n\t\t\t\tchannelName: 'INTERACTIVE_VIEW_ROUTER',\n\t\t\t\tcontext: {\n\t\t\t\t\taction: 'open_card',\n\t\t\t\t\torigin: 'router',\n\t\t\t\t},\n\t\t\t\tdata: {planId},\n\t\t\t});\n\n\t\t\tupdateState({\n\t\t\t\tplanId: planId,\n\t\t\t});\n\t\t},\n\t},\n};\n","import {createCustomElement} from '@servicenow/ui-core';\nimport actionHandlers from './actionHandlers';\n\ncreateCustomElement('sn-interactive-view-router', {\n\tproperties: {\n\t\ttargetID: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tplanId: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsetInitialState: () => ({\n\t\ttargetID: '',\n\t\tplanId: '',\n\t}),\n\tactionHandlers,\n});\n","import * as exports from '../index.js';\nwindow.__TECTONIC__$servicenow_sn_ai_engagement_experience=exports;\nexport * from '../index.js';\n\n"],"names":["module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","___CSS_LOADER_EXPORT___","result","__esModule","default","import","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","d","a","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","Symbol","toStringTag","value","y","x","cjsModule","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_core_index_jsdbx_65e0859f__","actionTypes","createCustomElement","declarativeOperations","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_http_index_jsdbx_efdee9e7__","createHttpEffect","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_component_loader_27_0_1_uxfdefects_1_index_jsdbx_82c08f61__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_uxf_effect_macroponent_loader_27_0_1_uxfdefects_1_index_jsdbx_5a7d9935__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_translate_index_jsdbx_813c3733__","NOW_ASSIST_SELF_SERVICE_PASS_PROPS_TO_CANVAS","NOW_ASSIST_SELF_SERVICE_RESET_CANVAS_PROPS","NOW_ASSIST_SELF_SERVICE_NEW_CHAT_CLICKED","CANVAS_SKILL_MAP_REQUESTED","CANVAS_SKILL_MAP_SUCCEEDED","CANVAS_SKILL_MAP_FAILED","SKILL_EXECUTION_STARTED","TOGGLE_CANVAS","CANVAS_REQUESTED","LOAD_CANVAS_REQUESTED","CANVAS_EXECUTION","ALLOWED_SKILL_TABLE_NAMES","CANVAS_EXECUTION_CACHE_UPDATE","GLOBAL_NAVIGATION_REQUESTED","NAV_ITEM_SELECTED","SET_INTERACTIVE_CANVAS_STATUS","GET_CONTEXT_CONVERSATION_REQUESTED","GET_CONTEXT_CONVERSATION_SUCCEEDED","GET_CONTEXT_CONVERSATION_FAILED","GET_CONTEXT_CONVERSATION","UPDATE_CONTEXT_CONVERSATION","UPDATE_CONTEXT_CONVERSATION_REQUESTED","UPDATE_CONTEXT_CONVERSATION_FAILED","UPDATE_CONTEXT_CONVERSATION_SUCCEEDED","ERROR_RENDERING_VIEW","code","message","HOST_TYPE","FETCH_IFRAME_URL_REQUESTED","FETCH_IFRAME_URL_SUCCEEDED","FETCH_IFRAME_URL_FAILED","COMPONENT_BOOTSTRAPPED","COMPONENT_PROPERTY_CHANGED","fetchIframeUrl","method","queryParams","batch","successActionType","errorActionType","getCanvasConfig","pathParams","getCanvasDefinition","updateThemeParams","url","themeId","window","ux_globals","theme","themeOptions","hasQuestionMark","includes","updatedUrl","variantId","userPreferenceVariant","_ref","dispatch","properties","conversationId","conversationIds","_ref2","action","state","payload","name","previousValue","skillId","additionalConfig","componentId","isMacroponent","hostType","_value$additionalProp","sysId","tagName","additionalProps","src","experienceId","getExperienceId","_window","_window2","siteName","experienceConfigs","portalType","type","definitionId","_ref3","async","updateState","_ref4","config","requesterType","canvasId","relatedRecord","aiaExecutionPlanId","loadCanvas","metaData","executionPlanId","overrides","_config$additionalPro","_loadCanvas$additiona","_loadCanvas$label","_loadCanvas$icon","canvasConfig","manuallySetId","canvasName","label","loadImmediate","canvasIcon","icon","status","_ref5","error","console","_ref6","isServicePortalURL","_ref7","createComponentLoaderEffect","createMacroponentLoaderEffect","effect","_ref8","componentLoaded","stopPropagation","_ref9","_ref0","customElementTagName","_ref1","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_renderer_snabbdom_index_jsdbx_9af105b3__","Fragment","createElement","createRef","dangerouslyCreateElementFromString","view","fullPageMode","canvas","componentProps","additionalPropsFromNass","canvasHoistRef","props","executionTaskId","TAG_NAME","className","class","showChat","utterance","styles","setInitialState","actionHandlers","canvasActionsHandlers","OPEN_MULTI_CANVAS_POPOVER","CLOSE_MULTI_CANVAS_POPOVER","MULTI_CANVAS_INFO_POPOVER_SEEN_KEY","CANVAS_VIEW_STATUS","completed","color","success","failed","cancelled","terminated","ongoing","queued","renderer","snabbdom","slot","variant","size","getUxAppId","_window3","isPolaris","parentAppShellId","coeffects","napShortcutCommand","nassProps","selectedContent","sessionContext","isDocked","isModal","isFloating","hasCanvas","switchContextConversation","activeConversation","showCanvas","showCanvasForNASS","isCanvasActive","previouslyAvailablePanels","skillRequest","conversationMap","showMultiCanvasPopover","canvasInteractiveStatus","contextConversationLoaded","pendingForceNewConversation","nassRemountKey","canvasContext","activeCanvasUniqueId","customElements","napComponent","icons","iconName","sectionId","sectionName","opensPanel","location","originalSessionContext","_window$nowAssistDyna","conversation","contextConversationId","newContext","ux_app_id","nowAssistDynamicWindow","is_initial_conversation","load_active_only","transferred_search_result","voiceShortcutCommand","elm","selfServiceComponentRef","windowMode","tooltipLabel","currentStatus","getCurrentCanvasStatus","activeStatus","indexOf","canvasDropdownItems","filter","_canvasConfig$metaDat","canvasExecutionId","getCanvasDropdownItems","multiCanvasSelectionComponent","opened","positions","target","bare","selectedItems","items","trigger","panel","canvasSubHeader","tooltipContent","ref","configAria","button","evt","canvasComponent","width","behaviors","resize","availablePanels","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ai_engagement_library_27_10_19_index_jsdbx_fae2b646__","publish","subscribe","subscribeToPageContextUpdates","COMPONENT_DISCONNECTED","ADD_ALERT_MESSAGE","componentsHost","WeakMap","updatePropertiesFromPageContext","updateProperties","tableName","experience","host","hasExplicitProps","unsubscribe","ctxSysId","table","ctxTable","experienceName","ctxExperienceName","set","unsub","delete","alertMessage","alertMessages","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_truncation_29_1_0_index_jsdbx_d3185e15__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_tooltip_29_1_0_index_jsdbx_c627a67c__","TOOLTIP_ADD_TARGET","TOOLTIP_REMOVE_TARGET","SHOW_STEPS","HIDE_STEPS","ERROR_MESSAGES","NO_ACTIVITY","PLANNING_FAILED","FAILED","CANCELLED","CARD_TYPE","CARD_TYPE_CONFIGS","collapsed","visible","STATE_REASONS","PROVENANCE","CARD_UI_STATES","REVIEW_OUTPUT","INPUT_NEEDED_FULFILLER","INPUT_NEEDED_REQUESTER","IN_PROGRESS","COMPLETED","INCOMPLETE","CARD_TYPE_CLASS","CARD_UI_STATE_CLASS","RUN_AGAIN","CANCEL_MODAL_HEADER","CANCEL_MODAL_CONTENT","CANCEL_MODAL_CANCEL_BUTTON_LABEL","CANCEL_MODAL_FOOTER_ACTIONS","clickActionType","NOW_UI_ACTION_TYPES","BEHAVIOR_ACTION_TYPES","AI_STATUS_CARD_ACTION_TYPES","NAVIGATION_ACTION_TYPES","SUPERVISION_ACTION_TYPES","VIEW_STEPS_MODAL_ACTIONS","RENDER_SUPERVISION_STATES","Set","REVIEW_CARD_EDIT_SAVED","isInputNeeded","comment","cardStatus","agenticDebugLoggingEnabled","setAgenticDebugLogging","enabled","Boolean","agenticDebugLog","log","reconcileSteps","current","incoming","cur","Array","isArray","inc","TERMINAL_CARD_STATES","reconcileCardState","provenance","has","isUserLoggedIn","_window$NOW","_window$NOW2","_window$NOW3","_window$NOW4","_window$ux_globals","_window$ux_globals2","guestUserName","guestUserId","NOW","user","user_name","userID","user_id","isLoggedIn","session","output","scrollRef","isOverflowing","elem","scrollWidth","offsetWidth","renderSteps","totalSteps","steps","conversationData","usecaseData","outputReview","isFailedOrCancelled","stepsContent","body","step","index","isStepCompleted","complete","showGap","showLastStepError","indicator","stepTitle","getFailedStepErrorMessage","stateReason","position","header","weight","expanded","renderLatestStep","latestStepLabel","cardType","stateIcon","engagementStepperView","headerMessage","isVisible","isPlanningFailed","box","illustration","COMPONENT_TREE_RENDERED","schema","headerIcon","scrollIntoView","behavior","block","inline","truncationBehavior","tooltipBehavior","ACTION_TYPES","API_ENDPOINTS","OUTPUT_REVIEW","HEADER","LOADING","NO_OUTPUT","INITIAL_STEP","stepId","FEEDBACK_BUTTONS","OWNER","REVIEWER","DATE_TIME_FORMATS","CARD_UI_TIMESTAMP_STATES","CARD_UI_TIMESTAMP_MAP","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_library_date_time_27_8_0_index_jsdbx_64931f33__","formatTZ","getFormattedDateTime","dateObj","nowStr","isNaN","getTime","nowDateString","Date","toDateString","isToday","formattedString","renderStatusMessage","renderPersonInfo","avatarUrl","role","isWorker","avatar","shape","ai","renderUserInfo","userInfo","managerInfo","userName","userAvatarUrl","managerName","managerAvatarUrl","renderTimingDiv","timingString","getTimingString","useCaseData","createdOn","eta","executionTime","createdOnDate","executionTimeMS","parseInt","completedOnDate","timestampState","etaString","min","max","split","Number","Math","floor","ceil","AIEL_METRIC_TRACKING_REQUESTED","IPE_TELEMETRY_REQUESTED","WORKFLOW_STARTED","WORKFLOW_INPUT_REQUIRED","WORKFLOW_REVIEW_READY","WORKFLOW_COMPLETED","WORKFLOW_FAILED","WORKFLOW_CANCELLED","WORKFLOW_STATE_CHANGED","BEHAVIOR_NAME","cancelExecution","dataParam","headers","initialState","openedModal","path","operation","shouldRender","eventName","metadata","timestamp","now","usecaseId","objective","conversationUser","targetRecordId","targetTable","planId","workflowId","workflowName","userId","recordId","inboundMessage","additionalFields","meta","origin","closePopover","appended","viewStepsInModal","stateLabelData","managerId","isCancelSupported","hideCancel","hideRestart","planData","usecaseName","viewStepsModalOpened","el","setTimeout","openPlan","params","isClassic","handleCancelWorkflow","fields","agenticPlan","handleViewSteps","transcriptData","transferMessage","lastMessage","forceNewConversation","transfer_context","JSON","stringify","intention","context","aiex","launch","handleAskFollowup","componentName","cancelWorkflow","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_dompurify_3_2_6_index_jsdbx_9acc4154__","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_marked_16_2_1_index_jsdbx_75f9247f__","Marked","Renderer","marked","UI_TYPES","DATE_FORMATS","DATE_TYPES","NOW_RADIO_BUTTONS_VALUE_SET","NOW_BUTTON_CLICKED","NOW_TEXTAREA_INPUT","NOW_TEXTAREA_VALUE_SET","SEND_INPUT_IDENTIFIER","SEND_BUTTON_IDENTIFIER","POST_MESSAGE_SUCCESS","POST_MESSAGE_FAILURE","POST_MESSAGE","TOOLTIP_CONTENT","BUTTON_LABEL","MULTI_PICKER_BUTTON_IDENTIFIER","SINGLE_PICKER_BUTTON_IDENTIFIER","DATE_TIME_VALUE_SET","DATE_TIME_CALENDER_SELECTED_ITEMS_SET","FEEDBACK_CONTENT","NOW_DROPDOWN_ITEM_CLICKED","DEFAULT_ALERT_MESSAGE","autoDismissConfig","enableAutoDismiss","duration","showTimer","hideProgressBar","NAP_MESSAGE","EDITABLE_LIST_CONFIRMED","FILE_UPLOAD_SUCCEEDED","MOVETO_NAP_CHAT","CONTINUE_IN_CHAT","CONTINUE_IN_CHAT_TOOLTIP","buildFeedbackFromConfig","feedbackConfig","options","heading","checked","LIST_MARKER","normalizeMarkdown","text","lines","replaceAll","String","raw","line","_result$at","prev","at","isItem","test","prevIsItem","link","_len","args","_key","replace","markdownRenderer","breaks","safeJsonParse","jsonString","parse","getCurrentTime24Format","getHours","padStart","getMinutes","getSeconds","renderSupervisionActions","hideDisclaimer","positiveFeedback","negativeFeedback","Label","parsedLabel","html","DOMPurify","trim","every","trimmed","match","isSimpleKeyValueFormat","addMarkdown","InputTextRenderer","activeMessageId","richControl","messageId","stateValue","submitting","disabled","BooleanPickerRenderer","option","PickerControlRenderer","_options$find","uiMetadata","uiType","multiSelect","pickerValue","find","renderPickerControl","select","extractListItems","ulBlock","DOMParser","parseFromString","querySelectorAll","forEach","li","itemText","textContent","extractHeader","ulStartIndex","previousUlEndIndex","headerSection","substring","headerMatch","exec","parseMessageLists","listRegex","previousListEndIndex","listStartIndex","listBlock","ReorderableItemsList","onReorder","onRemove","itemGroupIndex","draggable","handleDragStart","dataTransfer","setData","style","opacity","handleDragEnd","preventDefault","handleDragOver","_e$target$closest","closest","classList","add","handleDragEnter","_e$target$closest2","remove","handleDragLeave","handleDrop","dropIndex","_e$target$closest3","dragIndex","getData","on-click","parsedLists","displayItems","listItems","confirmList","itemsString","listObj","convertToHtmlList","handleReorder","fromIndex","toIndex","newItems","targetGroup","reorderedItems","movedItem","splice","handleRemove","removeIndex","filteredItems","_","completedItems","toLowerCase","idx","marginTop","updatedItems","actions","FILE_UPLOAD","REQUESTED","START","STARTED","SUCCESS","SUCCEEDED","FAIL","createUploadAttachmentEffect","startActionType","uploadAttachmentToServer","file","cryptoModuleId","data","FormData","append","sys_id","load_attachment_record","files","loadingItem","canDelete","canEditName","_state$loadingItem","str","notifications","contentType","interceptors","after","sanitizedFileTypes","maxFiles","mode","for","multiple","accept","RenderDateOrTime","format","locale","_window$ux_globals$se","_user$language","_user$dateFormat","_user$dateTimeFormat","language","userDateFormat","dateFormat","userDateTimeFormat","dateTimeFormat","getUserLocaleAndFormat","placeholder","dateTime","DateTimeRenderer","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_ux_metrics_index_jsdbx_eca31ced__","markTypes","emitTracking","eventMetadata","track","telemetryConfig","level","usage","ipeMetrics","postMessage","buildMessagePayload","agentId","sessionId","defaultPayload","_Object$keys","_conversationData$con","keys","fieldValue","clickedValue","isoString","isoDate","selectedOptions","editableListInputValue","_ref10","messagePayload","_ref11","attachmentSysId","renderAsCard","isNAP","isWorkerSupervised","extractedMessages","activeMessage","originalMsg","originalMessage","rawSynthesizedResultAsString","defaultLabel","plainTextMessage","rawSynthesized","contentItem","warn","fetchLabelFromLastMessage","supervisionContent","getRenderableMessage","source","inlineSize","sidebar","SHOW_HISTORY","HIDE_HISTORY","NOW_BUTTON_BARE_CLICKED","DECISION","EDITED","DRAFT_IGNORED","CITATION_TYPE","CITATION_SOURCE","CITATION_CATEGORY","LABELS","SHOW_SOURCES","HIDE_SOURCES","CITATION_REGEX","markSanitizeWithCitations","citationNumber","processCitationMarkers","replaceCitationBadges","citationsData","_citationsData$filter","_citationsData$filter2","citations","c","badge","getAttribute","citation","popover","document","citationData","replaceWith","renderCitation","citationLabel","citationHref","cardName","category","iconElement","sourcesCitationIconClass","isExternal","isIconSVG","endsWith","isSourceIconSVGFormat","isCompanyLogoIcon","isSourceIconCompanyLogo","alt","height","href","NOW_POPOVER_OPENED_SET","ICON","interaction","hideShadow","opensWindow","showPopover","interactionType","tabindex","onkeydown","sourcesExpanded","renderCitationList","iconStart","renderMessage","ignoredMessageSequence","sequence","displayLabel","edited","editedContent","displayValue","getLabel","isAssistant","hasSources","sources","showSourceList","isIgnoredDraft","innerHTML","renderEditedLabel","showHistoryButton","showHistory","historyRef","focus","_groupMessages","_messageGroups$","_messageGroups$0$","isReviewMode","messageGroups","messages","processed","uniqueId","uniqueIdentifier","isEdited","effectiveContent","assistantMessage","userMessage","userIndex","j","nextMessage","nextOriginalMsg","_originalMsg$uiMetada","processedMessage","_rawSynthesized$paylo","_textContent$value","groupMessages","reverse","filteredMessageGroups","slice","group","renderCard","messageGroup","groupIndex","ACTION_TYPE","EDIT_TEXTAREA_IDENTIFIER","POST_COMMENT_TABLE_API","POST_COMMENT_TABLE_SUCCESS","POST_COMMENT_TABLE_FAILURE","MARK_PLAN_REVIEWED","MARK_PLAN_REVIEWED_SUCCESS","MARK_PLAN_REVIEWED_FAILURE","NACM_INSERT_RECOMMENDATION_CLICKED","NACM_DRAFT_REFINE_COMPONENT_KEY","POST_COMMENT_SUCCESS_ALERT_MESSAGE","DRAFT_IGNORED_ALERT_MESSAGE","COPY","COPIED","DEFAULT_HEADER","DISCLAIMER","FIELD_CHANGE_DISCLAIMER","SHOW_MORE","SHOW_LESS","HELPFUL","NOT_HELPFUL","REVIEW_WORK_NOTE","DRAFT_RESPONSE","EDIT","CANCEL","POST_COMMENT","POST_COMMENT_TOOLTIP","IGNORE_DRAFT","VARIANT_TYPE","htmlToPlainText","withLineBreaks","ALLOWED_TAGS","ALLOWED_ATTR","RETURN_DOM_FRAGMENT","getFieldChangeText","field","record","impactful","sanitizedField","sanitizedValue","sanitizedRecord","replaceLinks","node","nowTextLink","sanitizedContent","markAndSanitize","CUSTOM_ELEMENT_HANDLING","tagNameCheck","attributeNameCheck","setCopyRef","copyRef","cleanupIntersectionObserver","_state$textual","textual","observer","disconnect","BUTTON_BARE_CLICKED","BUTTON_STATEFUL_SELECTED","BUTTON_CLICKED","TEXTAREA_INPUT","TEXTAREA_VALUE_SET","TEXTAREA_SELECTION_CHANGED","DROPDOWN_LIST_CLICKED","postCommentToTable","markPlanReviewed","copyInFlight","element","innerText","wait","Promise","resolve","ClipboardItem","Blob","navigator","clipboard","write","then","writeText","copyToClipboard","editValue","selectedText","selectionStart","selectionEnd","selectionField","selection","fieldElement","wwnaComponentId","sanitized","sanitizeNACMValue","nextValue","spliceIntoSelection","insertText","nextCursor","restoreCaretPosition","requestAnimationFrame","setSelectionRange","isEditing","editRows","messageSysId","originalPlain","commentText","isCorrection","comments","reviewed","original","pendingEditSave","_action$payload","ignoreDraft","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_devsnc_snowdash_28_0_1_index_jsdbx_3791c335__","debounce","isEmpty","isEqual","renderTextual","setupIntersectionObserver","containerReference","firstElementChild","endReference","querySelector","showMoreButton","IntersectionObserver","entries","entry","isIntersecting","root","rootMargin","threshold","observe","hook-remove","vnode","removeCallback","renderVariant","renderLink","renderFieldChanges","changeContent","changes","some","impactedRecords","fieldName","newValue","nested","rootFieldChangeText","fieldChangeText","renderList","description","values","align","wrapped","isEditableOutput","editable","isDraftIgnored","renderBody","isNacmVisible","rows","autoresize","on-focusin","on-focusout","skipBlurForNacmRef","measureEditTextareaRows","_elm$shadowRoot","textarea","shadowRoot","lineHeight","parseFloat","getComputedStyle","offsetHeight","caller","on-mousedown","skipRef","renderEditActions","search","renderActionSummaryButtons","feedback","isInline","headerLabel","selected","renderHeader","isActionSummary","hasFooterActions","renderFooter","reasoningData","INLINE_HEADER_ICON","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_ui_effect_amb_index_jsdbx_c4604411__","createAmbSubscriptionEffect","outputReviewCache","ttl","store","Map","oldItem","clearTimeout","timeoutId","createCache","sendFeedback","subscribeAndFetchPlan","planFilter","btoa","sysIdFilter","SET","excludeFields","getUILabelData","getFeedbackConfig","unsubscribeAndClearAmbChannels","ambChannelFilters","activityStreamSysId","getUsecase","getPlanMessages","getExecutionActivity","subscribeToPlans","messageReceivedActionType","subscribeToConversationUpdates","subscribeToActivityStream","postPlanReviewStatus","transformMessages","handlePlanReviewChange","cardState","shouldDispatch","cachedOutputReview","reviewRequestInProgress","pendingReviewedIntent","setupCardState","resolvedProvenance","freshState","previousUsecaseData","previous","clobberBlocked","resolvedUsecaseData","hasStateChanged","_usecaseData$userInfo","previousState","stateEventMap","baseMetadata","lifecycleEvent","newState","isComponentVisible","outputReviewData","loading","updatedSteps","buildCardState","setupCardStateAndActions","query","fromBootstrap","logId","stepsCount","hasMessages","hasTranscript","currentState","ud","messageData","eventTable","propStateLabelData","_action$payload2","allSteps","latestStep","isWebClient","shouldUseBootstrapSteps","bootstrapSteps","existingSteps","_result$current","loggingEnabled","_plan$uiState","_state$usecaseData","_plan$uiState2","plan","labelData","planID","uiState","rawState","prevState","usecase","_ref12","_ref13","_action$meta","inlinePopoverOpened","_ref14","_state$usecaseData2","existing","msg","_ref15","_ref16","_ref17","_action$payload$resul","_outputReviewData","output_type","output_content","originalContent","output_content_edited","output_edited","output_citations","output_editable","output_reviewed","output_message_sys_id","output_message_sequence","messageSequence","output_ignore_draft","response","_ref18","_ref19","isSelected","_ref20","_state$properties","_ud$userInfo","additionalData","_item$value","checkedItems","val","_ref21","_ref22","_ref23","_ref24","_state$usecaseData3","usecaseDataSource","requestId","conversationLabel","_ref25","_ref26","RECORD_WATCH_ACTIONS","recordWatcherHandler","channel","subscribeStartedActionType","subscribeSucceededActionType","subscribeFailedActionType","unsubscribeSucceededActionType","setSubscription","ambChannel","currentChannels","ambChannels","effects","recordTable","isMine","_outputReview$data","_outputReview$data$me","renderStatusCardPopover","renderSupervision","convData","ucData","renderOutputReview","outputReviewState","reviewContent","alignment","getInlineCardHeaderContent","isReviewOutput","isInProgress","getInlineCardHeaderIcon","renderInlineView","getInlineCardMetadata","isReviewOrCompleted","renderEmpty","renderChevron","ariaLabel","tooltipText","dispatches","ambBehavior","agenticworkflowsDetails","review","DEFAULT_HEADING","WORKFLOWS_LOADING_MESSAGE","MARK_AS_UNREAD","NO_RESULTS_MESSAGE","ERROR_MESSAGE","GET_USECASE_CURRENT_RUN","GET_USECASE_CURRENT_RUN_SUCCEEDED","GET_USECASE_CURRENT_RUN_FAILED","NOW_DROPDOWN_SELECTED_ITEMS_SET","NOW_DROPDOWN_OPENED_SET","AI_AGENT_STATUS_CARD_CUSTOM_EXPAND_EVENT","AI_STATUS_CARD_PLAN_UPDATED","NOW_DROPDOWN_LIST_CLICKED","AMB_ACTIONS","BACK_BUTTON_ARIA_LABEL","AI_AGENT_CANCEL_EXECUTION","EXECUTION_PLAN","CANCEL_WORKFLOW_MESSAGE","WORKFLOW_OPTIONS","CONFIRM_CANCEL","CLOSE_CANCEL_MODAL","MESSAGE_STATE","BACK","STATE","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_lodash_4_18_1_index_jsdbx_ecd79508__","throttle","stateDisplayMap","getSortedSelectedStates","selectedStates","stateDisplayOrder","sort","b","Infinity","sortStatesOptions","opt","filterPlans","plans","sortedStates","plansByState","_plan$usecaseData","groupPlansByState","flatMap","processedByDef","processedStyleTags","WeakSet","getFontSize","documentElement","Element","Error","fontSize","px","err","calculateMultiplier","adjustRemValues","multiplier","_multiplier","fontSizeOverride","ctor","constructor","seenSheets","remRegex","shouldIgnore","rewriteFontSizeRule","ruleText","newRuleText","startsWith","sheet","adoptedStyleSheets","cssRules","rule","cssText","updated","num","deleteRule","insertRule","styleEl","orig","child","throttleAdjustRemValues","liveCardStateCache","getUsecaseCurrentRun","postMessageSilent","STATUS_CARD_ACTION_TYPES","subscribeToAgenticProcessing","dispatchFetchAndSubscribe","recordSysId","processingFilter","unsubscribeOpenCard","executionPlans","updatedPlans","updatedState","filteredPlans","_targetPlan$usecaseDa","targetPlan","defaultHeading","_selectedPlan$usecase","selectedPlan","selectedCard","selectedCardReviewed","interfaceType","planState","dataArray","_item$uiState","possibleStates","firstFetchCompleted","regeneratedPlanId","defaultSelectedStates","previousExecutionPlans","cardStateConfig","defaultSelected","order","getStateDisplayOrder","autoDrilldownPlanId","_item$uiState2","_item$uiState3","_item$uiState4","previousPlan","shouldAutoDrilldown","cachedLiveState","reconcileBaseline","reconciledState","p","triggerSource","messageState","channelName","callback","latched","_plan$usecaseData2","_plan$usecaseData3","_plan$usecaseData4","_plan$usecaseData7","_plan$usecaseData5","_plan$usecaseData6","changed","_selectedPlan$usecase2","_selectedPlan$usecase3","_selectedPlan$usecase4","_selectedPlan$usecase5","_selectedPlan$usecase6","_selectedPlan$usecase7","expandMetadata","dropdownName","_action$payload3","itemId","_plan$usecaseData8","getState","openPlanBehavior","firstFetch","promise","_getState","workflowItems","unreadItems","classic","isEmptyState","interactiveViewActionHandlers","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_ux_core_27_0_1_index_jsdbx_2c07967e__","convertUrlToPayload","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_sn_uxpage_presource_26_0_0_index_jsdbx_30963244__","getProperty","stripOrigin","parsedURL","URL","createPayload","documentTable","documentId","targetUrl","fallbackRoute","route","feature","COMPONENT_CONNECTED","externallyOpenedLinksCache","handleNavigationRequest","externallyOpenedLinks","_getProperty$split","_getProperty","getExternallyOpenedLinks","detail","event","pathname","isAttachmentDownloadUrl","u","patternToCheck","basePathMatch","urlIsExternallyOpened","isExternalURL","external","_payload$context","isSupportedExperience","catch","subscribeNotificationsEffect","canvasSkillMapRequested","buildAmbSubscriptionFilter","fetchCanvasRuntimeData","fetchConversationContext","updateConversationContext","executeCanvasRecord","updateDialogAriaLabel","windowConfig","nowWindowManager","windowId","headingId","setWindowProperties","headingLabel","dialog","remAdjustmentRequired","_value$fields","dynamicWindowOpen","_value$context","skill","_value$context2","_value$context3","skillParams","unSubscribeFilter","_properties$windowCon","_window$nowAssistDyna2","_properties$nowAssist","dialogAriaLabel","_options$context","shouldForceNewConversation","open","nowAssistOptions","start_conversation_immediately","skip_load_history","_properties$selectedC","contextData","_properties$selectedC2","contextRecord","contextTable","_properties$selectedC3","_payload$result","_window$nowAssistDyna3","_window$nowAssistDyna4","shouldSkipConversationOverride","activeConversationId","shouldUpdateContextConversation","skillMap","debug","_record$canvas_config","_record$conversation_","activeCanvasExecutionId","canvas_config","conversation_id","_conversationId","_canvasConfig","isActiveConversation","updatedConversationMap","_record$canvas_id","_record$related_recor","_canvasConfig2","_record$status","_canvasConfig3","canvas_id","related_record","updatedConversation","_updatedConversationO","updatedConversationObj","updateConversationdMap","_record$status2","_nassSession$session","_nassSession$session2","nassSessionContext","nassSession","newConversationCreated","baseConversationData","canvasType","canvasExecutionCache","updatedCanvasExecutionCache","currentExecutionRecord","currentConversation","canvas_execution_plan_id","canvasExecutionPlanId","parsedConfig","conversationConfig","_updatedCanvasExecuti","_updatedCanvasExecuti2","_updatedCanvasExecuti3","currentActiveConversation","_canvasExecutionCache","skillDocumentId","skillTable","agentic","dialogSize","dialogLocation","changeWidth","willShowCanvas","toggleModal","previousWindowState","setWindowSize","_window$nowWindowMana","currentWindow","windowsList","win","prevSize","prevLocation","component","_state$activeConversa","_state$activeConversa2","_state$activeConversa3","_state$activeConversa4","_state$activeConversa5","modalId","modalSize","executionId","updatedActiveConversation","conversationCache","skillCache","resetActiveConversation","existingExecution","conv","_existingExecution$ca","_ref27","_selectedContent$fiel","_ref28","hasMultipleCanvas","seenKeysJSON","localStorage","getItem","_ref29","multiCanvasPopoverSeenKeys","setItem","_ref30","activeCanvasStatus","updatedConversationdMap","_ref31","metrics","eventHandlers","events","_ref32","__WEBPACK_EXTERNAL_MODULE__uxasset_externals_servicenow_behavior_resize_27_8_0_index_jsdbx_31f02016__","windowsState","isWindowDocked","startDockId","endDockId","container","full","docked","conditionalRender","CanvasExperienceScreen","stack","isChatOnlyMode","canvasActiveWindowProperty","interactive_view_enabled","propertyName","defaultValue","propertyValue","getBooleanProperty","activeCanvasName","conversationList","title","resizeBehavior","activeWindowId","top","bottom","left","right","NAVIGATE_TO_COMPONENT","OPEN_SELECTED_CARD","NAVIGATE_TO_CARD","ROUTER_CHANNEL","unsubscribeNavigateAndOpenCard","unsubscribeNavigate","getTargetButton","targetID","selector","selectorType","queue","shift","elements","topShadow","allSearched","shadow","deepSearchElement","targetButton","click","__TECTONIC__$servicenow_sn_ai_engagement_experience"]}