{"version":3,"file":"js/app-14b93d5818afd0d1302b.js","mappings":";kFAAA,IAAIA,EAAM,CACT,8DAA+D,KAC/D,8EAA+E,KAC/E,oEAAqE,KACrE,wEAAyE,KACzE,0EAA2E,KAC3E,0DAA2D,KAC3D,qDAAsD,KACtD,iEAAkE,KAClE,iEAAkE,IAClE,iDAAkD,KAClD,+DAAgE,KAChE,6DAA8D,KAC9D,iEAAkE,KAClE,6DAA8D,KAC9D,4DAA6D,KAC7D,4EAA6E,KAC7E,kEAAmE,KACnE,sEAAuE,KACvE,wEAAyE,KACzE,wDAAyD,KACzD,mDAAoD,KACpD,+DAAgE,KAChE,+DAAgE,IAChE,+CAAgD,KAChD,6DAA8D,KAC9D,2DAA4D,KAC5D,+DAAgE,KAChE,2DAA4D,MAI7D,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,EAC5B,CACA,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,CACP,CACA,OAAOP,EAAIE,EACZ,CACAD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,EACpB,EACAC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK,83CChDuE,IAAAY,EAAA,SAAAC,GAAA,SAAAD,IAAA,mGAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,WAMxF,6RANwFC,CAAAL,EAAAC,KAAAD,IAmFzF,EAAAM,IAAA,UAAAC,IA/EA,WACE,MAAO,CAAC,cAAe,YAAa,kBACtC,OANyF,EAAAD,IAAA,aAAAE,MAQzF,WACEC,KAAKC,QAAUD,KAAKE,KAAKJ,IAAI,WAAaK,KAAKC,MAAMJ,KAAKE,KAAKJ,IAAI,YAAc,CAAC,EAElFE,KAAKK,sBACFL,KAAKC,QAAQK,UACdN,KAAKO,eAAeP,KAAKC,QAAQK,UAEhCN,KAAKC,QAAQO,WACdR,KAAKS,iBAET,GAAC,CAAAZ,IAAA,sBAAAE,MAED,WACEC,KAAKU,QAAQC,iBAAiB,KAAKC,SAAQ,SAASC,GAC9CA,EAAKC,OAASC,OAAOC,SAASF,OAChCD,EAAKI,OAAS,SAElB,GACF,GAAC,CAAApB,IAAA,kBAAAE,MAED,WAAkB,IAADmB,EAAA,KACfH,OAAOI,iBAAiB,UAAU,YAC7BC,EAAAA,EAAAA,IAAaF,EAAKG,wBACnBH,EAAKI,gBAAgBC,UAAUC,OAAO,UACtCN,EAAKI,gBAAgBC,UAAUE,IAAI,WAAY,YAE/CP,EAAKI,gBAAgBC,UAAUC,OAAO,WAAY,UAClDN,EAAKI,gBAAgBC,UAAUE,IAAI,UAEvC,GACF,GAAC,CAAA5B,IAAA,iBAAAE,MAED,SAAeE,GAAS,IAADyB,EAAA,KAEjBC,EAAQ,CAAC,EAYbZ,OAAOI,iBAAiB,UAAU,WAChC,IAAIS,EAAa,EAGbC,GAFkBd,OAAOe,cAAgBC,SAASC,iBAAmBD,SAASE,KAAKC,YAAcH,SAASE,MAAME,YACjGpB,OAAOqB,cAAgBL,SAASC,iBAAmBD,SAASE,MAAMI,cAEjFC,EAAaZ,EAAKa,kBAAkBC,UAExCZ,GADAA,EAAaa,KAAKC,OAAOb,EAAeS,IAAcK,EAAAA,EAAAA,IAAiBjB,EAAKa,mBAAqB,MACvE,EAAI,EAAIX,EAAa,IAAM,IAAMA,EAExDF,EAAKzB,QAAQO,YACdkB,EAAKJ,gBAAgBsB,MAAMC,MAAQjB,EAAa,KAG/CA,EAAa,IAAM,GAA2D,MAAtDD,EAAM,cAADmB,OAAe7C,EAAQ8C,MAAK,KAAAD,OAAIlB,OAC9DoB,EAAAA,EAAAA,IAAY,cAAc,GAADF,OAAK7C,EAAQ8C,MAAK,gBAAAD,OAAelB,IAC1DD,EAAM,cAADmB,OAAe7C,EAAQ8C,MAAK,KAAAD,OAAIlB,IAAgB,EAEzD,GACF,oFAlECrC,CAAA,CANwF,CAE9D0D,EAAAA,8xBCAxBC,EAAAA,GAAQC,UACXD,EAAAA,GAAQE,KAAKC,kDAA6B,CACxCC,SAAUD,CAAAA,EAAYE,mBAI1B,MACO,SAAAC,GAAoD,IAAjDC,EAAKD,EAALC,MAAOC,EAAMF,EAANE,OAAMC,EAAAH,EAAEI,WAAAA,OAAU,IAAAD,EAAG,CAAC,EAACA,EAAAE,EAAAL,EAAEM,QAAAA,OAAO,IAAAD,EAAG,CAAC,EAACA,EAClD,GAAKJ,EAAL,CAKIC,GACFR,EAAAA,GAAQa,SAASL,GAGnB,IAAMM,iWAAeC,CAAA,GAAQL,GAEzBE,EAAQI,UACVF,EAAgBG,QAAU,CACxBC,QAASN,EAAQI,UAIjBJ,EAAQO,YACVL,EAAgBK,UAAYP,EAAQO,WAGtC,IACEnB,EAAAA,GAAQoB,QAAQb,EAAOO,EACzB,CAAE,MAAOO,GACPC,QAAQD,MAAM,mBAAoBA,EACpC,CAtBA,MAFEC,QAAQD,MAAM,uDAyBlB,eCpCFE,EAAA,kBAAA1F,CAAA,MAAA2F,EAAA3F,EAAA,GAAA4F,EAAAxF,OAAAyF,UAAAC,EAAAF,EAAAG,eAAAhG,EAAAK,OAAA4F,gBAAA,SAAAL,EAAA3F,EAAA4F,GAAAD,EAAA3F,GAAA4F,EAAA5E,KAAA,EAAAiF,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAd,EAAA3F,EAAA4F,GAAA,OAAAxF,OAAA4F,eAAAL,EAAA3F,EAAA,CAAAgB,MAAA4E,EAAAc,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAjB,EAAA3F,EAAA,KAAAyG,EAAA,aAAAd,GAAAc,EAAA,SAAAd,EAAA3F,EAAA4F,GAAA,OAAAD,EAAA3F,GAAA4F,CAAA,WAAAiB,EAAAlB,EAAA3F,EAAA4F,EAAAE,GAAA,IAAAG,EAAAjG,GAAAA,EAAA6F,qBAAAiB,EAAA9G,EAAA8G,EAAAX,EAAA/F,OAAA2G,OAAAd,EAAAJ,WAAAQ,EAAA,IAAAW,EAAAlB,GAAA,WAAA/F,EAAAoG,EAAA,WAAAnF,MAAAiG,EAAAtB,EAAAC,EAAAS,KAAAF,CAAA,UAAAe,EAAAvB,EAAA3F,EAAA4F,GAAA,WAAAuB,KAAA,SAAAC,IAAAzB,EAAA0B,KAAArH,EAAA4F,GAAA,OAAAD,GAAA,OAAAwB,KAAA,QAAAC,IAAAzB,EAAA,EAAA3F,EAAA6G,KAAAA,EAAA,IAAAS,EAAA,iBAAAC,EAAA,iBAAAC,EAAA,YAAAC,EAAA,YAAAC,EAAA,YAAAZ,IAAA,UAAAa,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAApB,EAAAoB,EAAA1B,GAAA,8BAAA2B,EAAA1H,OAAA2H,eAAAC,EAAAF,GAAAA,EAAAA,EAAAG,EAAA,MAAAD,GAAAA,IAAApC,GAAAE,EAAAuB,KAAAW,EAAA7B,KAAA0B,EAAAG,GAAA,IAAAE,EAAAN,EAAA/B,UAAAiB,EAAAjB,UAAAzF,OAAA2G,OAAAc,GAAA,SAAAM,EAAAxC,GAAA,0BAAA9D,SAAA,SAAA7B,GAAAyG,EAAAd,EAAA3F,GAAA,SAAA2F,GAAA,YAAAyC,QAAApI,EAAA2F,EAAA,gBAAA0C,EAAA1C,EAAA3F,GAAA,SAAAsI,EAAA1C,EAAA7F,EAAAkG,EAAAE,GAAA,IAAAE,EAAAa,EAAAvB,EAAAC,GAAAD,EAAA5F,GAAA,aAAAsG,EAAAc,KAAA,KAAAZ,EAAAF,EAAAe,IAAAE,EAAAf,EAAAvF,MAAA,OAAAsG,GAAA,iBAAAA,GAAAxB,EAAAuB,KAAAC,EAAA,WAAAtH,EAAAK,QAAAiH,EAAAiB,SAAAC,MAAA,SAAA7C,GAAA2C,EAAA,OAAA3C,EAAAM,EAAAE,EAAA,aAAAR,GAAA2C,EAAA,QAAA3C,EAAAM,EAAAE,EAAA,IAAAnG,EAAAK,QAAAiH,GAAAkB,MAAA,SAAA7C,GAAAY,EAAAvF,MAAA2E,EAAAM,EAAAM,EAAA,aAAAZ,GAAA,OAAA2C,EAAA,QAAA3C,EAAAM,EAAAE,EAAA,IAAAA,EAAAE,EAAAe,IAAA,KAAAxB,EAAA7F,EAAA,gBAAAiB,MAAA,SAAA2E,EAAAG,GAAA,SAAA2C,IAAA,WAAAzI,GAAA,SAAAA,EAAA4F,GAAA0C,EAAA3C,EAAAG,EAAA9F,EAAA4F,EAAA,WAAAA,EAAAA,EAAAA,EAAA4C,KAAAC,EAAAA,GAAAA,GAAA,aAAAxB,EAAAjH,EAAA4F,EAAAE,GAAA,IAAA/F,EAAAuH,EAAA,gBAAArB,EAAAE,GAAA,GAAApG,IAAAyH,EAAA,UAAAvH,MAAA,mCAAAF,IAAA0H,EAAA,cAAAxB,EAAA,MAAAE,EAAA,OAAAnF,MAAA2E,EAAA+C,MAAA,OAAA5C,EAAA6C,OAAA1C,EAAAH,EAAAsB,IAAAjB,IAAA,KAAAE,EAAAP,EAAA8C,SAAA,GAAAvC,EAAA,KAAAE,EAAAsC,EAAAxC,EAAAP,GAAA,GAAAS,EAAA,IAAAA,IAAAmB,EAAA,gBAAAnB,CAAA,cAAAT,EAAA6C,OAAA7C,EAAAgD,KAAAhD,EAAAiD,MAAAjD,EAAAsB,SAAA,aAAAtB,EAAA6C,OAAA,IAAA5I,IAAAuH,EAAA,MAAAvH,EAAA0H,EAAA3B,EAAAsB,IAAAtB,EAAAkD,kBAAAlD,EAAAsB,IAAA,gBAAAtB,EAAA6C,QAAA7C,EAAAmD,OAAA,SAAAnD,EAAAsB,KAAArH,EAAAyH,EAAA,IAAAK,EAAAX,EAAAlH,EAAA4F,EAAAE,GAAA,cAAA+B,EAAAV,KAAA,IAAApH,EAAA+F,EAAA4C,KAAAjB,EAAAF,EAAAM,EAAAT,MAAAM,EAAA,gBAAA1G,MAAA6G,EAAAT,IAAAsB,KAAA5C,EAAA4C,KAAA,WAAAb,EAAAV,OAAApH,EAAA0H,EAAA3B,EAAA6C,OAAA,QAAA7C,EAAAsB,IAAAS,EAAAT,IAAA,YAAAyB,EAAA7I,EAAA4F,GAAA,IAAAE,EAAAF,EAAA+C,OAAA5I,EAAAC,EAAAoG,SAAAN,GAAA,GAAA/F,IAAA4F,EAAA,OAAAC,EAAAgD,SAAA,eAAA9C,GAAA9F,EAAAoG,SAAA,SAAAR,EAAA+C,OAAA,SAAA/C,EAAAwB,IAAAzB,EAAAkD,EAAA7I,EAAA4F,GAAA,UAAAA,EAAA+C,SAAA,WAAA7C,IAAAF,EAAA+C,OAAA,QAAA/C,EAAAwB,IAAA,IAAA8B,UAAA,oCAAApD,EAAA,aAAA4B,EAAA,IAAAzB,EAAAiB,EAAAnH,EAAAC,EAAAoG,SAAAR,EAAAwB,KAAA,aAAAnB,EAAAkB,KAAA,OAAAvB,EAAA+C,OAAA,QAAA/C,EAAAwB,IAAAnB,EAAAmB,IAAAxB,EAAAgD,SAAA,KAAAlB,EAAA,IAAAvB,EAAAF,EAAAmB,IAAA,OAAAjB,EAAAA,EAAAuC,MAAA9C,EAAA5F,EAAAmJ,YAAAhD,EAAAnF,MAAA4E,EAAAwD,KAAApJ,EAAAqJ,QAAA,WAAAzD,EAAA+C,SAAA/C,EAAA+C,OAAA,OAAA/C,EAAAwB,IAAAzB,GAAAC,EAAAgD,SAAA,KAAAlB,GAAAvB,GAAAP,EAAA+C,OAAA,QAAA/C,EAAAwB,IAAA,IAAA8B,UAAA,oCAAAtD,EAAAgD,SAAA,KAAAlB,EAAA,UAAA4B,EAAA3D,GAAA,IAAA3F,EAAA,CAAAuJ,OAAA5D,EAAA,SAAAA,IAAA3F,EAAAwJ,SAAA7D,EAAA,SAAAA,IAAA3F,EAAAyJ,WAAA9D,EAAA,GAAA3F,EAAA0J,SAAA/D,EAAA,SAAAgE,WAAAC,KAAA5J,EAAA,UAAA6J,EAAAlE,GAAA,IAAA3F,EAAA2F,EAAA9C,YAAA,GAAA7C,EAAAmH,KAAA,gBAAAnH,EAAAoH,IAAAzB,EAAA9C,WAAA7C,CAAA,UAAAgH,EAAArB,GAAA,KAAAgE,WAAA,EAAAJ,OAAA,SAAA5D,EAAA9D,QAAAyH,EAAA,WAAAQ,OAAA,YAAA7B,EAAAjI,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAA4F,EAAA5F,EAAAmG,GAAA,GAAAP,EAAA,OAAAA,EAAAyB,KAAArH,GAAA,sBAAAA,EAAAoJ,KAAA,OAAApJ,EAAA,IAAA+J,MAAA/J,EAAAgK,QAAA,KAAAjK,GAAA,EAAAkG,EAAA,SAAAmD,IAAA,OAAArJ,EAAAC,EAAAgK,QAAA,GAAAlE,EAAAuB,KAAArH,EAAAD,GAAA,OAAAqJ,EAAApI,MAAAhB,EAAAD,GAAAqJ,EAAAV,MAAA,EAAAU,EAAA,OAAAA,EAAApI,MAAA2E,EAAAyD,EAAAV,MAAA,EAAAU,CAAA,SAAAnD,EAAAmD,KAAAnD,CAAA,YAAAiD,iBAAAlJ,EAAA,2BAAA2H,EAAA9B,UAAA+B,EAAA7H,EAAAmI,EAAA,eAAAlH,MAAA4G,EAAAjB,cAAA,IAAA5G,EAAA6H,EAAA,eAAA5G,MAAA2G,EAAAhB,cAAA,IAAAgB,EAAAsC,YAAAxD,EAAAmB,EAAArB,EAAA,qBAAAvG,EAAAkK,oBAAA,SAAAvE,GAAA,IAAA3F,EAAA,mBAAA2F,GAAAA,EAAAwE,YAAA,QAAAnK,IAAAA,IAAA2H,GAAA,uBAAA3H,EAAAiK,aAAAjK,EAAAoK,MAAA,EAAApK,EAAAqK,KAAA,SAAA1E,GAAA,OAAAvF,OAAAkK,eAAAlK,OAAAkK,eAAA3E,EAAAiC,IAAAjC,EAAA4E,UAAA3C,EAAAnB,EAAAd,EAAAY,EAAA,sBAAAZ,EAAAE,UAAAzF,OAAA2G,OAAAmB,GAAAvC,CAAA,EAAA3F,EAAAwK,MAAA,SAAA7E,GAAA,OAAA4C,QAAA5C,EAAA,EAAAwC,EAAAE,EAAAxC,WAAAY,EAAA4B,EAAAxC,UAAAQ,GAAA,0BAAArG,EAAAqI,cAAAA,EAAArI,EAAAyK,MAAA,SAAA9E,EAAAC,EAAAE,EAAA/F,EAAAkG,QAAA,IAAAA,IAAAA,EAAAyE,SAAA,IAAAvE,EAAA,IAAAkC,EAAAxB,EAAAlB,EAAAC,EAAAE,EAAA/F,GAAAkG,GAAA,OAAAjG,EAAAkK,oBAAAtE,GAAAO,EAAAA,EAAAiD,OAAAZ,MAAA,SAAA7C,GAAA,OAAAA,EAAA+C,KAAA/C,EAAA3E,MAAAmF,EAAAiD,MAAA,KAAAjB,EAAAD,GAAAzB,EAAAyB,EAAA3B,EAAA,aAAAE,EAAAyB,EAAA/B,GAAA,0BAAAM,EAAAyB,EAAA,qDAAAlI,EAAAG,KAAA,SAAAwF,GAAA,IAAA3F,EAAAI,OAAAuF,GAAAC,EAAA,WAAAE,KAAA9F,EAAA4F,EAAAgE,KAAA9D,GAAA,OAAAF,EAAA+E,UAAA,SAAAvB,IAAA,KAAAxD,EAAAoE,QAAA,KAAArE,EAAAC,EAAAgF,MAAA,GAAAjF,KAAA3F,EAAA,OAAAoJ,EAAApI,MAAA2E,EAAAyD,EAAAV,MAAA,EAAAU,CAAA,QAAAA,EAAAV,MAAA,EAAAU,CAAA,GAAApJ,EAAAiI,OAAAA,EAAAjB,EAAAnB,UAAA,CAAAsE,YAAAnD,EAAA8C,MAAA,SAAA9J,GAAA,QAAA6K,KAAA,OAAAzB,KAAA,OAAAN,KAAA,KAAAC,MAAApD,EAAA,KAAA+C,MAAA,OAAAE,SAAA,UAAAD,OAAA,YAAAvB,IAAAzB,EAAA,KAAAgE,WAAA9H,QAAAgI,IAAA7J,EAAA,QAAA4F,KAAA,WAAAA,EAAAkF,OAAA,IAAAhF,EAAAuB,KAAA,KAAAzB,KAAAmE,OAAAnE,EAAAmF,MAAA,WAAAnF,GAAAD,EAAA,EAAAqF,KAAA,gBAAAtC,MAAA,MAAA/C,EAAA,KAAAgE,WAAA,GAAA9G,WAAA,aAAA8C,EAAAwB,KAAA,MAAAxB,EAAAyB,IAAA,YAAA6D,IAAA,EAAAjC,kBAAA,SAAAhJ,GAAA,QAAA0I,KAAA,MAAA1I,EAAA,IAAA4F,EAAA,cAAAsF,EAAApF,EAAA/F,GAAA,OAAAoG,EAAAgB,KAAA,QAAAhB,EAAAiB,IAAApH,EAAA4F,EAAAwD,KAAAtD,EAAA/F,IAAA6F,EAAA+C,OAAA,OAAA/C,EAAAwB,IAAAzB,KAAA5F,CAAA,SAAAA,EAAA,KAAA4J,WAAAK,OAAA,EAAAjK,GAAA,IAAAA,EAAA,KAAAkG,EAAA,KAAA0D,WAAA5J,GAAAoG,EAAAF,EAAApD,WAAA,YAAAoD,EAAAsD,OAAA,OAAA2B,EAAA,UAAAjF,EAAAsD,QAAA,KAAAsB,KAAA,KAAAxE,EAAAP,EAAAuB,KAAApB,EAAA,YAAAM,EAAAT,EAAAuB,KAAApB,EAAA,iBAAAI,GAAAE,EAAA,SAAAsE,KAAA5E,EAAAuD,SAAA,OAAA0B,EAAAjF,EAAAuD,UAAA,WAAAqB,KAAA5E,EAAAwD,WAAA,OAAAyB,EAAAjF,EAAAwD,WAAA,SAAApD,GAAA,QAAAwE,KAAA5E,EAAAuD,SAAA,OAAA0B,EAAAjF,EAAAuD,UAAA,YAAAjD,EAAA,UAAAtG,MAAA,kDAAA4K,KAAA5E,EAAAwD,WAAA,OAAAyB,EAAAjF,EAAAwD,WAAA,KAAAR,OAAA,SAAAtD,EAAA3F,GAAA,QAAA4F,EAAA,KAAA+D,WAAAK,OAAA,EAAApE,GAAA,IAAAA,EAAA,KAAA7F,EAAA,KAAA4J,WAAA/D,GAAA,GAAA7F,EAAAwJ,QAAA,KAAAsB,MAAA/E,EAAAuB,KAAAtH,EAAA,oBAAA8K,KAAA9K,EAAA0J,WAAA,KAAAxD,EAAAlG,EAAA,OAAAkG,IAAA,UAAAN,GAAA,aAAAA,IAAAM,EAAAsD,QAAAvJ,GAAAA,GAAAiG,EAAAwD,aAAAxD,EAAA,UAAAE,EAAAF,EAAAA,EAAApD,WAAA,UAAAsD,EAAAgB,KAAAxB,EAAAQ,EAAAiB,IAAApH,EAAAiG,GAAA,KAAA0C,OAAA,YAAAS,KAAAnD,EAAAwD,WAAA/B,GAAA,KAAAyD,SAAAhF,EAAA,EAAAgF,SAAA,SAAAxF,EAAA3F,GAAA,aAAA2F,EAAAwB,KAAA,MAAAxB,EAAAyB,IAAA,gBAAAzB,EAAAwB,MAAA,aAAAxB,EAAAwB,KAAA,KAAAiC,KAAAzD,EAAAyB,IAAA,WAAAzB,EAAAwB,MAAA,KAAA8D,KAAA,KAAA7D,IAAAzB,EAAAyB,IAAA,KAAAuB,OAAA,cAAAS,KAAA,kBAAAzD,EAAAwB,MAAAnH,IAAA,KAAAoJ,KAAApJ,GAAA0H,CAAA,EAAA0D,OAAA,SAAAzF,GAAA,QAAA3F,EAAA,KAAA2J,WAAAK,OAAA,EAAAhK,GAAA,IAAAA,EAAA,KAAA4F,EAAA,KAAA+D,WAAA3J,GAAA,GAAA4F,EAAA6D,aAAA9D,EAAA,YAAAwF,SAAAvF,EAAA/C,WAAA+C,EAAA8D,UAAAG,EAAAjE,GAAA8B,CAAA,kBAAA/B,GAAA,QAAA3F,EAAA,KAAA2J,WAAAK,OAAA,EAAAhK,GAAA,IAAAA,EAAA,KAAA4F,EAAA,KAAA+D,WAAA3J,GAAA,GAAA4F,EAAA2D,SAAA5D,EAAA,KAAAG,EAAAF,EAAA/C,WAAA,aAAAiD,EAAAqB,KAAA,KAAApH,EAAA+F,EAAAsB,IAAAyC,EAAAjE,EAAA,QAAA7F,CAAA,YAAAE,MAAA,0BAAAoL,cAAA,SAAArL,EAAA4F,EAAAE,GAAA,YAAA8C,SAAA,CAAAxC,SAAA6B,EAAAjI,GAAAmJ,WAAAvD,EAAAyD,QAAAvD,GAAA,cAAA6C,SAAA,KAAAvB,IAAAzB,GAAA+B,CAAA,GAAA1H,CAAA,UAAAsL,EAAAC,EAAAlL,EAAAmL,EAAAC,EAAAC,EAAA5K,EAAAsG,GAAA,QAAAuE,EAAAJ,EAAAzK,GAAAsG,GAAApG,EAAA2K,EAAA3K,KAAA,OAAAwE,GAAA,YAAAgG,EAAAhG,EAAA,CAAAmG,EAAAjD,KAAArI,EAAAW,GAAA0J,QAAArK,QAAAW,GAAAwH,KAAAiD,EAAAC,EAAA,UAAAE,EAAAC,GAAA,sBAAAC,EAAA,KAAAC,EAAAnL,UAAA,WAAA8J,SAAA,SAAArK,EAAAmL,GAAA,IAAAD,EAAAM,EAAAG,MAAAF,EAAAC,GAAA,SAAAN,EAAAzK,GAAAsK,EAAAC,EAAAlL,EAAAmL,EAAAC,EAAAC,EAAA,OAAA1K,EAAA,UAAA0K,EAAAO,GAAAX,EAAAC,EAAAlL,EAAAmL,EAAAC,EAAAC,EAAA,QAAAO,EAAA,CAAAR,OAAAS,EAAA,cAAAC,EAAAjK,EAAAkK,GAAA,QAAAnG,EAAA,EAAAA,EAAAmG,EAAApC,OAAA/D,IAAA,KAAAoG,EAAAD,EAAAnG,GAAAoG,EAAA3F,WAAA2F,EAAA3F,aAAA,EAAA2F,EAAA1F,cAAA,YAAA0F,IAAAA,EAAAzF,UAAA,GAAAxG,OAAA4F,eAAA9D,EAAAoK,EAAAD,EAAAvL,KAAAuL,EAAA,WAAAC,EAAA3G,GAAA,IAAAM,EAAA,SAAAN,EAAAC,GAAA,oBAAAD,IAAAA,EAAA,OAAAA,EAAA,IAAA3F,EAAA2F,EAAAO,OAAAqG,aAAA,YAAAvM,EAAA,KAAAiG,EAAAjG,EAAAqH,KAAA1B,EAAAC,GAAA,+BAAAK,EAAA,OAAAA,EAAA,UAAAiD,UAAA,kEAAAtD,EAAA4G,OAAAC,QAAA9G,EAAA,CAAA+G,CAAA/G,EAAA,iCAAAM,EAAAA,EAAAuG,OAAAvG,EAAA,UAAAtF,EAAAgF,EAAA5F,EAAAC,GAAA,OAAAD,EAAA4M,EAAA5M,GAAA,SAAA+L,EAAAzE,GAAA,GAAAA,IAAA,kBAAAA,GAAA,oBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAA6B,UAAA,4EAAA4C,GAAA,YAAAA,EAAA,UAAAc,eAAA,oEAAAd,CAAA,CAAAe,CAAAf,EAAA,CAAAgB,CAAAnH,EAAAoH,IAAAC,QAAAC,UAAAlN,EAAAC,GAAA,GAAA2M,EAAAhH,GAAAwE,aAAApK,EAAAiM,MAAArG,EAAA3F,GAAA,UAAA+M,IAAA,QAAApH,GAAAuH,QAAArH,UAAAsH,QAAA9F,KAAA2F,QAAAC,UAAAC,QAAA,0BAAAvH,GAAA,QAAAoH,EAAA,mBAAApH,CAAA,cAAAgH,EAAA5M,GAAA,OAAA4M,EAAAvM,OAAAkK,eAAAlK,OAAA2H,eAAAqF,OAAA,SAAArN,GAAA,OAAAA,EAAAwK,WAAAnK,OAAA2H,eAAAhI,EAAA,EAAA4M,EAAA5M,EAAA,UAAAsN,EAAAtN,EAAA8H,GAAA,OAAAwF,EAAAjN,OAAAkK,eAAAlK,OAAAkK,eAAA8C,OAAA,SAAArN,EAAA8H,GAAA,OAAA9H,EAAAwK,UAAA1C,EAAA9H,CAAA,EAAAsN,EAAAtN,EAAA8H,EAAA,CAGyD,IAAArH,EAAA,SAAAC,GAAA,SAAAD,IAAA,OAHzD,SAAA8M,EAAAC,GAAA,KAAAD,aAAAC,GAAA,UAAArE,UAAA,qCAGyDxI,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,CAHzD,IAAA2M,EAAAC,EAAAC,EAuOGC,EAjDAC,EA9KA,OARH,SAAAC,EAAAC,GAAA,uBAAAA,GAAA,OAAAA,EAAA,UAAA3E,UAAA,sDAAA0E,EAAA/H,UAAAzF,OAAA2G,OAAA8G,GAAAA,EAAAhI,UAAA,CAAAsE,YAAA,CAAAnJ,MAAA4M,EAAAhH,UAAA,EAAAD,cAAA,KAAAvG,OAAA4F,eAAA4H,EAAA,aAAAhH,UAAA,IAAAiH,GAAAR,EAAAO,EAAAC,EAAA,CAGyDhN,CAAAL,EAAAC,GAHzD8M,EAGyD/M,EAHzDgN,EAGyD,EAAA1M,IAAA,UAAAE,MAOvD,WACA,GAAC,CAAAF,IAAA,aAAAE,MAED,WAAc,IAADmB,EAAA,KAEP2L,EAAW,CACbC,OAAQ,CAAErG,EAAG,KAGf,SAASsG,EAAKC,EAAeC,IAC3BC,EAAAA,EAAAA,GAAS/N,OAAOgO,OAAO,CAAC,EAAGN,EAAUI,EAAM,CACzCG,cAAe3K,KAAKC,MAPZ,IAO0BsK,KAEtC,CAEA,GAAIjM,OAAOC,SAASqM,SAASC,WAAW,WA4BtC,OA3BAP,EAAK,IAAM,CACTQ,OAAQ,GACRC,cAAe,KAEjBT,EAAK,GAAK,CACRQ,OAAQ,KAEVR,EAAK,IAAM,CACTQ,OAAQ,IACRE,MAAO,IACPC,OAAQ,KAEVX,EAAK,GAAK,CACRQ,OAAQ,IACRC,cAAe,GACfC,MAAO,IACPC,OAAQ,MAEVX,EAAK,GAAK,CACRQ,OAAQ,IACRC,cAAe,KAGjBzL,SAAS4L,eAAe,uBAAuB/K,MAAMgL,QAAU,OAC/D7L,SAAS4L,eAAe,kCAAkC/K,MAAMgL,QAAU,YAC1E7L,SAAS4L,eAAe,mBAAmB/K,MAAMgL,QAAU,SAK7D,IAAMC,EAAW9L,SAAS+L,cAAc,0BAA0B/N,MAC5DgO,EAAgBhM,SAAS+L,cAAc,+BAA+B/N,MAG5E,OAFwBgC,SAAS+L,cAAc,iCAAiC/N,OAEzEiO,EAAAA,EAAAA,GAAM,CACXtG,OAAQ,MACRuG,IAAKC,IAAIC,QAAO,oDAAArL,OAAuD+K,EAAQ,mBAAA/K,OAAkBiL,GACjGK,QAAS,CAAC,OAAU,4BACnB7G,MAAK,SAAA8G,GAC0C,SAA5CnN,EAAKR,QAAQ4N,QAAQC,oBAAkCC,aAAaC,QAAQ,6BAAD3L,OAA8B+K,MAC3GW,aAAaE,QAAQ,6BAAD5L,OAA8B+K,IAAY,GAC9D9M,OAAOC,SAAS2N,UAElB5B,EAAK,IAAM,CACTQ,OAAQ,GACRC,cAAe,KAEjBT,EAAK,GAAK,CACRQ,OAAQ,KAEVR,EAAK,IAAM,CACTQ,OAAQ,IACRE,MAAO,IACPC,OAAQ,KAEVX,EAAK,GAAK,CACRQ,OAAQ,IACRC,cAAe,GACfC,MAAO,IACPC,OAAQ,MAEVX,EAAK,GAAK,CACRQ,OAAQ,IACRC,cAAe,KAGjB,IAAMoB,EAAa7M,SAAS+L,cAAc,4BAA4B/N,MAChE8O,EAAW,IAAIC,KAAKT,EAAYnO,KAAK2O,UAE3C9M,SAAS4L,eAAe,uBAAuB/K,MAAMgL,QAAU,OAC/D7L,SAAS4L,eAAe,uBAAuB/K,MAAMgL,QAAU,QAE3DS,EAAYnO,KAAK6O,YACnBhN,SAAS4L,eAAe,8BAA8B/K,MAAMgL,QAAU,QAEtE7L,SAAS4L,eAAe,6BAA6B/K,MAAMgL,QAAU,QAGvE7L,SAAS4L,eAAe,gCAAgCqB,UAAYX,EAAYnO,KAAK+O,gBACrFlN,SAAS4L,eAAe,yBAAyBqB,UAAYH,EAASK,mBAAmBN,GACzF7M,SAAS4L,eAAe,4BAA4BqB,UAAYX,EAAYnO,KAAKiP,YAAYP,GAC7F7M,SAAS4L,eAAe,kCAAkCqB,UAAYX,EAAYnO,KAAKkP,kBAAkBR,IAAe,KACxH7M,SAAS4L,eAAe,oBAAoB0B,KAAOhB,EAAYnO,KAAKoP,gBACpEvN,SAAS4L,eAAe,oBAAoBqB,UAAYX,EAAYnO,KAAKoP,gBACzEvN,SAAS4L,eAAe,eAAeW,QAAQjK,UAAYgK,EAAYnO,KAAKmE,UAC5E,IAAMkL,EAAcxN,SAAS4L,eAAe,4BACxC4B,IACFA,EAAYC,IAAMnB,EAAYnO,KAAKuP,SAEjCpB,EAAYnO,KAAKwD,SACnB3B,SAAS4L,eAAe,eAAeW,QAAQ5K,OAAS2K,EAAYnO,KAAKwD,QAE3E3B,SAAS4L,eAAe,gCAAgC0B,KAAI,0EAAAvM,OAA6EuL,EAAYnO,KAAKiP,YAAYP,GAAW,uCAAA9L,OAAsC+L,EAASa,cAAa,gBAAA5M,OAAe+L,EAASc,WAAW,EAAC,aAAA7M,OAAYuL,EAAYnO,KAAKoP,gBAAe,YAAAxM,OAAWuL,EAAYnO,KAAK0P,eAErV7O,OAAO8O,MAAQ9O,OAAO8J,MACxB3J,EAAK4O,qBAAqBjC,EAAU,SAGxC,IAAE,OAAO,SAAAtJ,GAIP,GAHIxD,OAAO8O,MAAQ9O,OAAO8J,MACxB3J,EAAK4O,qBAAqBjC,EAAU,UAER,MAA1BtJ,EAAMwL,SAASC,OAIjB,MAAMzL,EAHNxC,SAAS4L,eAAe,uBAAuB/K,MAAMgL,QAAU,OAC/D7L,SAAS4L,eAAe,sBAAsB/K,MAAMgL,QAAU,OAIlE,GACF,GAAC,CAAA/N,IAAA,wBAAAE,MAED,SAAsB0D,GACpBA,EAAMwM,iBAEN,IAAMpC,EAAW9L,SAAS+L,cAAc,0BAA0B/N,MAC5DgO,EAAgBhM,SAAS+L,cAAc,+BAA+B/N,MACtEkP,EAAkBjP,KAAKkQ,WAAWnO,SAAS+L,cAAc,iCAAiC/N,OAEhG,OAAOiO,EAAAA,EAAAA,GAAM,CACXtG,OAAQ,QACRuG,IAAKC,IAAIC,QAAU,oCACnBjO,KAAM,CACJ2N,SAAAA,EACAE,cAAAA,EACAkB,gBAAiBA,GAEnBb,QAAS,CAAC,OAAU,4BAErB7G,MAAK,WACJxF,SAAS4L,eAAe,gCAAgCqB,UAAYC,CACtE,GACF,GAAC,CAAApP,IAAA,mBAAAE,MAED,SAAiB0D,GACfA,EAAMwM,iBAEN,IAAMpC,EAAW9L,SAAS+L,cAAc,0BAA0B/N,MAC5DgO,EAAgBhM,SAAS+L,cAAc,+BAA+B/N,MAE5E,OAAOiO,EAAAA,EAAAA,GAAM,CACXtG,OAAQ,OACRuG,IAAKC,IAAIC,QAAU,8BACnBjO,KAAM,CACJ2N,SAAAA,EACAE,cAAAA,GAEFK,QAAS,CAAC,OAAU,4BAErB7G,MAAK,WACJ,IAAM4I,EAAapP,OAAOC,SAASqO,KAC/BtO,OAAO8J,OAAS9J,OAAO8O,IAI3B9O,OAAOC,SAASoP,QAAQD,EAAWE,UAAU,EAAGF,EAAWpH,OAAS,KAHlEhI,OAAOC,SAASoP,QAAQD,EAAWC,QAAQ,gBAAiB,IAIhE,GACF,GAAC,CAAAvQ,IAAA,sBAAAE,OAAA2M,EAAA/B,EAAAlG,IAAA2E,MAED,SAAAkH,EAA0B7M,GAAK,IAAAsK,EAAAwC,EAAA1C,EAAAnK,EAAA8M,EAAAC,EAAAC,EAAA,OAAAjM,IAAAmB,MAAA,SAAA+K,GAAA,cAAAA,EAAA/G,KAAA+G,EAAAxI,MAAA,OAC7B1E,EAAMwM,iBAEAlC,EAAgBhM,SAAS+L,cAAc,+BAA+B/N,MAC1DgC,SAAS4L,eAAe,eAAeW,QAAQjK,UAC3DkM,EAAaxO,SAAS4L,eAAe,4BAA4BqB,UACjEnB,EAAW9L,SAAS+L,cAAc,0BAA0B/N,MAC5D2D,EAAS3B,SAAS4L,eAAe,eAAeW,QAAQ5K,QAE1D8M,EAAgB,CAAC,GAED,GADhB9M,GAGoB,eAAiBqK,EAGzC6C,EAAgB,CACdnN,MAAO,uCACPC,OAAQ8M,EAAkB,GAC1B5M,WAAY,CACViK,SAAAA,EACA0C,WAAAA,KAIEE,EAAU1O,SAAS4L,eAAe,eAAekD,WAAU,IAC3DH,EAAcD,EAAQ3C,cAAc,8BAC9B0B,KAAO,OAAQ,IAAIV,MAAOgC,UAEtCC,MAAML,EAAYlB,KAAKjI,KAAI,eAAA/D,EAAAmH,EAAAlG,IAAA2E,MAAC,SAAA4H,EAAOjB,GAAQ,IAAA9P,EAAAC,EAAA+Q,EAAA,OAAAxM,IAAAmB,MAAA,SAAAsL,GAAA,cAAAA,EAAAtH,KAAAsH,EAAA/I,MAAA,OAMxC,OALKlI,EAAU,CACdkR,OAAQ,EACRC,SAAU,kBACVC,MAAO,CAAEnL,KAAM,MAAOoL,QAAS,GAC/BC,YAAa,CAAEC,MAAO,IACvBN,EAAA/I,KAAA,EAEkB4H,EAAS0B,OAAO,KAAD,EAA5BvR,EAAIgR,EAAArJ,MACJoJ,EAAS,IAAIS,YACZC,cAAczR,GACrB+Q,EAAOW,OAAS,WACd,IAAMC,EAAYZ,EAAOa,OAGzB,OAFApB,EAAYlB,IAAMqC,EAEXE,MAAWC,IAAI/R,GAASgS,KAAKxB,GAASyB,UAAU,iBAAiBC,MAC1E,EAAE,wBAAAjB,EAAAnH,OAAA,GAAAiH,EAAA,KACH,gBAAAoB,GAAA,OAAA5O,EAAAuH,MAAA,KAAApL,UAAA,EAjB0B,IAiBzB,yBAAAgR,EAAA5G,OAAA,GAAAuG,EAAA,KACH,SAAA+B,GAAA,OAAA3F,EAAA3B,MAAA,KAAApL,UAAA,KAAAE,IAAA,eAAAE,OAAA0M,EAAA9B,EAAAlG,IAAA2E,MAED,SAAAkJ,EAAmB7O,GAAK,OAAAgB,IAAAmB,MAAA,SAAA2M,GAAA,cAAAA,EAAA3I,KAAA2I,EAAApK,MAAA,OACtB1E,EAAMwM,iBACNlP,OAAOC,SAASqO,KAAO5L,EAAM+O,WAAWlE,QAAQmE,gBAAkB,QAAUjE,aAAaC,QAAQ,OAAO,wBAAA8D,EAAAxI,OAAA,GAAAuI,EAAA,KACzG,SAAAI,GAAA,OAAAjG,EAAA1B,MAAA,KAAApL,UAAA,KAAAE,IAAA,uBAAAE,MAED,SAAqB8N,EAAU8E,GAC7B,IAAIC,EAAY7R,OAAOyN,aAAaC,QAAQ,aAAeZ,GAC3D,GAAI+E,EAAW,CAEb,IAAIC,EAAU,CACZC,oBAFFF,EAAYzS,KAAKC,MAAMwS,IAESE,mBAC9BC,aAAcH,EAAUG,aACxBC,YAAaJ,EAAUI,YACvBC,cAAeL,EAAUK,cACzBN,cAAeA,GAEjB5R,OAAOmS,OAAOC,YAAYN,EAAS,KACnC9R,OAAOyN,aAAa4E,WAAW,aAAevF,EAChD,CACF,GAAC,CAAAhO,IAAA,aAAAE,MAED,SAAWsT,GACT,OAAOA,EAAIjD,QAAQ,cAAc,SAAUkD,GACzC,OAAQA,GACN,IAAK,IACH,MAAO,QACT,IAAK,IACH,MAAO,OACT,IAAK,IACH,MAAO,OACT,IAAK,IACH,MAAO,SACT,IAAK,KACH,MAAO,QACT,IAAK,IACH,MAAO,SACT,QACE,OAAOA,EAEb,GACF,IAjRF9G,EAiRG,EAAA3M,IAAA,UAAAC,IA1QD,WACA,IARFyM,GAAArB,EAAAoB,EAAA1H,UAAA2H,GAAAC,GAAAtB,EAAAoB,EAAAE,GAAArN,OAAA4F,eAAAuH,EAAA,aAAA3G,UAAA,IAQGpG,CAAA,CALsD,CAE5B0D,EAAAA,63CCLJ,IAAA1D,EAAA,SAAAC,GAAA,SAAAD,IAAA,mGAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,WAKtB,6RALsBC,CAAAL,EAAAC,KAAAD,IAkCtB,EAAAM,IAAA,UAAAC,IA9BD,WACA,OALuB,EAAAD,IAAA,UAAAE,MAOvB,WACA,GAAC,CAAAF,IAAA,aAAAE,MAED,WACA,GAAC,CAAAF,IAAA,mBAAAE,MAED,SAAiB0D,GACfA,EAAMwM,iBAEN,IAAMiD,EAASzP,EAAM+O,WAAWe,cAC1B1F,EAAWqF,EAAOpF,cAAc,0BAA0B/N,MAC1DgO,EAAgBmF,EAAOpF,cAAc,+BAA+B/N,MACpEyT,EAAeN,EAAOpF,cAAc,8BAA8B/N,MAClE0T,EAASP,EAAOpF,cAAc,wBAAwB/N,MAE5D,OAAOiO,EAAAA,EAAAA,GAAM,CACXtG,OAAQ,OACRuG,IAAKC,IAAIC,QAAU,8BACnBjO,KAAM,CACJ2N,SAAAA,EACAE,cAAAA,GAEFK,QAAS,CAAC,OAAU,4BAErB7G,MAAK,WACJxG,OAAOC,SAAS0S,SAASC,SAAS,cAAgB5S,OAAOC,SAAS0S,SAASC,SAAS,iBAAmB5S,OAAOC,SAAS2N,SAAW5N,OAAOC,SAASqO,KAAO,IAAMoE,EAAS,YAAcD,CACxL,GACF,oFA7BCjU,CAAA,CALsB,CAEI0D,EAAAA,q2CCHkB,IAAA1D,EAAA,SAAAC,GAAA,SAAAD,IAAA,mGAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,WAGtB,6RAHsBC,CAAAL,EAAAC,KAAAD,IAKjC,EAAAM,IAAA,UAAAC,IAFZ,WAAsB,OAHuB,EAAAD,IAAA,aAAAE,MAI7C,WAAa,GAAC,CAAAF,IAAA,UAAAE,MACd,WAAW,oFAFYR,CAAA,CAHsB,SAElB0D,qxECEQ,IAAA1D,EAAA,SAAAC,GAAA,SAAAD,IAAA,mGAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,WAiblC,6RAjbkCC,CAAAL,EAAAC,KAAAD,IAAA,EAAAM,IAAA,aAAAE,MAOnC,WAAc,IAAD6T,EAAAC,EAAAC,EAAA5S,EAAA,KACXlB,KAAK+T,KAAO/T,KAAKU,QACjBV,KAAKgU,SAAWjS,SAAS+L,cAAc,mBAEvC9N,KAAKiU,aAAcC,EAAAA,EAAAA,IAASlU,KAAK+T,KAAKzF,QAAQ6F,SAC9CnU,KAAKoU,YAAaF,EAAAA,EAAAA,IAASlU,KAAK+T,KAAKzF,QAAQ+F,UAC7CrU,KAAKsU,SAAWtU,KAAK+T,KAAKzF,QAAQgG,SAClCtU,KAAKuU,SAAWvU,KAAK+T,KAAKzF,QAAQT,SAClC7N,KAAKwU,SAAUN,EAAAA,EAAAA,IAASlU,KAAK+T,KAAKzF,QAAQkG,SAC1CxU,KAAKyU,WAAazU,KAAK+T,KAAKzF,QAAQmG,WAEpCzU,KAAK0U,mBAAkD,QAA7Bd,EAAA5T,KAAK+T,KAAKzF,QAAQqG,mBAAW,IAAAf,OAAA,EAA7BA,EAA+B7K,SAAU,EACnE/I,KAAK4U,sBAAwD,QAAhCf,EAAA7T,KAAK+T,KAAKzF,QAAQuG,sBAAc,IAAAhB,OAAA,EAAhCA,EAAkC9K,SAAU,EACzE/I,KAAK8U,oBAAoD,QAA9BhB,EAAA9T,KAAK+T,KAAKzF,QAAQyG,oBAAY,IAAAjB,OAAA,EAA9BA,EAAgC/K,SAAU,EAElE/I,KAAKoU,YACNpU,KAAKgV,gBAEHhV,KAAKsU,UAAYtU,KAAKiV,uBACxBC,EAAIlV,KAAK+T,KAAKpT,iBAAiB,iCAAiCnC,KAAI,SAAA2W,GAAK,OAAIjU,EAAKkU,yBAAyBD,EAAM,IAE/GnV,KAAKwU,SAAWzS,SAAS+L,cAAc,mGACzC9N,KAAKqV,cAET,GAAC,CAAAxV,IAAA,aAAAE,MAED,SAAW0D,GAAO,IAAD/B,EAAA,KACc,WAA1B+B,EAAMxC,OAAOqU,UAAmD,SAA1B7R,EAAMxC,OAAOqU,UACpD7R,EAAMwM,iBAGR,IAEIsF,EAFAC,EAAgB,EAChBC,EAAYzV,KAAK+T,KAAK2B,aAAa,UAEnC3U,OAAO8J,OAAS9J,OAAO8O,MACzB4F,EAAYA,EAAUrF,QAAQ,YAAa,iBAAmB,QAAUrP,OAAOyN,aAAaC,QAAQ,OACpG8G,EAAQpV,KAAKC,MAAMW,OAAOyN,aAAaC,QAAQ,aAAezO,KAAKuU,YAAc,CAAEoB,MAAO,EAAGC,QAAS,EAAG5F,OAAQ,YAGnHhC,EAAAA,EAAM6H,KAAKJ,EAAW,IAAIK,SAAS9V,KAAK+T,MAAOgC,EAAAA,IAAkBxO,MAAK,SAAAwI,GAEpE,GAAGrO,EAAKuS,YAAY,CAClB,IAAM+B,EAAWjG,EAAS7P,KAAK+V,SAASC,MAAMC,QAAQC,OAChDC,EAASC,MAAMrE,KAAKvQ,EAAKqS,KAAKpT,iBAAiB,kBAAkBnC,KAAI,SAACwG,GAAC,OAAKuR,SAASvR,EAAEjF,MAAO,GAAG,IAAEqW,OAErGrV,OAAO8J,OAAS9J,OAAO8O,MACzB0F,EAAMI,OAAS,EACfJ,EAAMvF,OAAS,WAGdgG,EAASQ,OAAOH,IACjBb,EAAgB9T,EAAKkT,qBACrBlT,EAAK+U,aAAa,WACd1V,OAAO8J,OAAS9J,OAAO8O,MACzB0F,EAAMK,SAAW,KAGnBJ,EAAgB9T,EAAKoT,mBACrBpT,EAAK+U,aAAa,cAGI,eAApB/U,EAAK+S,WACPuB,EAASpV,SAAQ,SAACjC,GAChB+C,EAAKqS,KAAKjG,cAAc,yBAADhL,OAA0BpB,EAAKqS,KAAKzF,QAAQoI,WAAU,OAAA5T,OAAMnE,EAAE,OAAM4C,UAAUE,IAAI,UAC3G,IAEA4U,EAAOzV,SAAQ,SAACjC,GACVqX,EAASrC,SAAShV,GACpB+C,EAAKqS,KAAKjG,cAAc,yBAADhL,OAA0BpB,EAAKqS,KAAKzF,QAAQoI,WAAU,OAAA5T,OAAMnE,EAAE,OAAM4C,UAAUE,IAAI,WAEzGC,EAAKqS,KAAKjG,cAAc,yBAADhL,OAA0BpB,EAAKqS,KAAKzF,QAAQoI,WAAU,OAAA5T,OAAMnE,EAAE,OAAM4C,UAAUE,IAAI,YAE7G,GAEJ,MACMsO,EAAS7P,KAA4B,wBACvCsV,EAAgB9T,EAAKgT,kBACrBhT,EAAK+U,aAAa,YAGlB1V,OAAO8J,OAAS9J,OAAO8O,KACzB9O,OAAOyN,aAAaE,QAAQ,aAAehN,EAAK6S,SAAUpU,KAAKwW,UAAUpB,GAE7E,IAAE,OACK,SAAChR,GACHA,EAAMwL,SAAS7P,KAAK0W,sBACrBzX,OAAO6H,OAAOzC,EAAMwL,SAAS7P,KAAK0W,sBAAsBhW,SAAQ,SAAAiS,GAC9D2C,EAAgB3C,EAAQ9J,OACxBrH,EAAK+U,aAAa,UAAW5D,EAC/B,GAEJ,IAAE,SACO,WACPnR,EAAKmV,mBAAmBrB,EAAe9T,EAAKuS,YAC9C,GACF,GAAC,CAAApU,IAAA,qBAAAE,MAED,SAAmB0D,GACjB,IAAM0R,EAAQ1R,EAAMxC,OACpBjB,KAAKoV,yBAAyBD,EAChC,GAAC,CAAAtV,IAAA,aAAAE,MAED,SAAW0D,GACT,IAAMqT,EAAWrT,EAAMxC,OACjB8V,EAAaR,SAASO,EAASpB,aAAa,YAAa,IACzDsB,EAAaF,EAAS/W,MAAMgJ,OAE/BiO,EAAa,GACXA,GAAcD,IAAcD,EAAS/W,MAAQ+W,EAAS/W,MAAMsQ,UAAU,EAAG0G,IAC5E/W,KAAKiX,qBAAqBjI,UAAS,KAAAlM,OAAQgU,EAAS/W,MAAMgJ,OAAM,KAAAjG,OAAIiU,EAAU,MAE9E/W,KAAKiX,qBAAqBjI,UAAY,IAE1C,GAAC,CAAAnP,IAAA,eAAAE,MAED,WACEC,KAAK+T,KAAKzF,QAAQ+F,UAAW,EAC7BrU,KAAK+T,KAAKmD,OAAS,IACnBZ,MAAMrE,KAAKjS,KAAK+T,KAAKpT,iBAAiB,iBAAiBnC,KAAI,SAAA2W,GAAK,OAAIA,EAAMgC,aAAa,WAAY,WAAW,GAChH,GAAC,CAAAtX,IAAA,qBAAAE,MAED,SAAmByV,EAAevB,GAChC,IAAIxQ,EAAQ,IAAI2T,YAAY,cAC5B3T,EAAM+R,cAAgBA,EACtB/R,EAAMwQ,YAAcA,EACpBjU,KAAKgU,SAASqD,cAAc5T,EAC9B,GAAC,CAAA5D,IAAA,2BAAAE,MAED,SAAyBoV,GACvB,IAAMA,EAAMpV,MAAMgJ,OAAS/I,KAAKsX,uBAAyBtX,KAAKuX,qBAChE,GAAC,CAAA1X,IAAA,uBAAAE,MAED,WACEC,KAAKwX,mBAAmBjW,UAAUE,IAAI,iBACtCzB,KAAKwX,mBAAmBnD,SAAW,UACrC,GAAC,CAAAxU,IAAA,sBAAAE,MAED,WACEC,KAAKwX,mBAAmBjW,UAAUC,OAAO,iBACzCxB,KAAKwX,mBAAmBC,gBAAgB,WAC1C,GAAC,CAAA5X,IAAA,eAAAE,MAED,SAAamG,EAAMjE,GACjB,IAAMkJ,EAAQnL,KAAK0X,cAAcxR,GACjClG,KAAK2X,yBAAyBC,UAAY,GAE1C,IAAMC,EAAY9V,SAAS+V,cAAc,QACzCD,EAAUV,aAAa,QAAShM,EAAM0M,UAAUE,QAChD/X,KAAK2X,yBAAyBK,YAAYH,GAC1C7X,KAAKiY,aAAaJ,EAAW1M,EAAM0M,UAAU1O,KAAMgC,EAAM0M,UAAUK,OAEnE,IAAMC,EAAOpW,SAAS+V,cAAc,SACjC7V,GAAQkJ,EAAMgN,KAAKlW,QACpBkW,EAAKP,UAAY3V,GAAQkJ,EAAMgN,KAAKlW,MACnCkJ,EAAMgN,KAAKJ,QACZI,EAAKhB,aAAa,QAAShM,EAAMgN,KAAKJ,QACxC/X,KAAK2X,yBAAyBK,YAAYG,EAC5C,GAAC,CAAAtY,IAAA,eAAAE,MAED,SAAaqY,EAAWjP,EAAM+O,GAC5B,QAAO,KAADpV,OAAgCqG,EAAI,UAAS5B,MAAK,SAAA8Q,GACtD,IAAMvN,EAAO,CACXsN,UAAWA,EACXE,cAAeD,EAAI,QACnBE,SAAU,MACVC,MAAM,EACNC,UAAU,GAENpM,EAAWqM,IAAAA,cAAqB5N,GACnCoN,GACD7L,EAASsM,SAAST,EACtB,GACF,GAAC,CAAArY,IAAA,cAAAE,MAED,SAAYmG,GACV,OAAOlG,KAAKkG,EAAO,gBACrB,GAAC,CAAArG,IAAA,yBAAAE,MAED,SAAuBmG,GACrBlG,KAAKkG,EAAO,iBAAiB3E,UAAUE,IAAI,UACxCzB,KAAKkG,EAAO,iBAAiB4H,cAAc,kBAC5C9N,KAAKkG,EAAO,iBAAiB4H,cAAc,iBAAiB8K,YAAYC,YAAY,EAExF,GAAC,CAAAhZ,IAAA,eAAAE,MAED,WAAe,IAAD+Y,EAAA,KACNC,EAAa/Y,KAAK+T,KAAKpT,iBAAiB,+BACxCqY,EAAchZ,KAAK+T,KAAKpT,iBAAiB,gCAE/C6N,aAAaE,QAAQ,YAAavO,KAAKwW,UAAU,KAEjDoC,EAAWnY,SAAQ,SAAAqY,GACjBA,EAAK9X,iBAAiB,UAAU,SAACsC,GAC/B,IAAIyV,EAAoB,KAClBC,EAAYhZ,KAAKC,MAAMoO,aAAaC,QAAQ,cAC5C2K,EAAiBD,EAAUE,WAAU,SAAAC,GAAQ,OAAIA,EAASC,UAAY9V,EAAMxC,OAAOtC,EAAE,IAC3F,IAAK8E,EAAMxC,OAAOuY,SAAWJ,GAAkB,EAAG,CAChD,IAAMK,EAAaX,EAAK/E,KAAKjG,cAAc,oCAADhL,OAAqCqW,EAAUC,GAAgBM,SAAQ,OAC7GD,IACFA,EAAWD,SAAU,EACrBzX,SAAS+L,cAAc,2BAADhL,OAA4BW,EAAMxC,OAAOtC,GAAE,OAAM6C,UAEzE2X,EAAUQ,OAAOP,EAAgB,EACnC,CACAL,EAAWnY,SAAQ,SAAAgZ,GACbA,EAAMJ,UAAYL,EAAUU,MAAK,SAAAP,GAAQ,OAAIA,EAASC,UAAYK,EAAMjb,EAAE,MAC5Eua,EAAoBU,EAExB,IACIV,GACFC,EAAUvY,SAAQ,SAAC0Y,EAAUQ,GACtBR,EAASI,WACCZ,EAAK/E,KAAKjG,cAAc,mCAADhL,OAAoCwW,EAASC,QAAO,OACnFC,SAAU,EACfL,EAAUQ,OAAOG,EAAO,GAE5B,IACKX,EAAUU,MAAK,SAAAP,GAAQ,OAAIA,EAASC,UAAYL,EAAkBva,EAAE,KACvEwa,EAAUxQ,KAAK,CAAE4Q,QAASL,EAAkBva,GAAIib,MAAOd,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeoW,EAAkBva,GAAE,OAAMiZ,YAEzHoB,EAAYpY,SAAQ,SAAAmZ,GAClB,IAAKZ,EAAUU,MAAK,SAAAP,GAAQ,OAAIA,EAASI,WAAaK,EAAOpb,EAAE,IAAG,CAChEob,EAAOtC,gBAAgB,YACvB,IAAMmC,EAAQd,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeiX,EAAOpb,GAAE,OAC7Dib,EAAMrY,UAAUC,OAAO,eACvBoY,EAAMrY,UAAUC,OAAO,mBACvBoY,EAAMrY,UAAUE,IAAI,mBACpBmY,EAAMrY,UAAUE,IAAI,sBACtB,CACF,KAEAuX,EAAYpY,SAAQ,SAAAmZ,GAClB,IAAKA,EAAOP,QAAS,CACnBO,EAAO5C,aAAa,WAAY,YAChC,IAAMyC,EAAQd,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeiX,EAAOpb,GAAE,OAC7Dib,EAAMrY,UAAUC,OAAO,mBACvBoY,EAAMrY,UAAUC,OAAO,uBACvBoY,EAAMrY,UAAUE,IAAI,eACpBmY,EAAMrY,UAAUE,IAAI,kBACtB,CACF,IAEF+M,aAAaE,QAAQ,YAAavO,KAAKwW,UAAUwC,GACnD,GACF,IAEAH,EAAYpY,SAAQ,SAAAqY,GAClBA,EAAK9B,aAAa,WAAY,YAC9B,IAAMyC,EAAQd,EAAK/E,KAAKjG,cAAc,cAADhL,OAAemW,EAAKta,GAAE,OAC3Dib,EAAMrY,UAAUC,OAAO,mBACvBoY,EAAMrY,UAAUC,OAAO,uBACvBoY,EAAMrY,UAAUE,IAAI,eACpBmY,EAAMrY,UAAUE,IAAI,mBACpBwX,EAAK9X,iBAAiB,UAAU,SAACsC,GAC/B,IAAIuW,EAAqB,KACnBb,EAAYhZ,KAAKC,MAAMoO,aAAaC,QAAQ,cAC5C2K,EAAiBD,EAAUE,WAAU,SAAAC,GAAQ,OAAIA,EAASI,WAAajW,EAAMxC,OAAOtC,EAAE,IAC5F,IAAK8E,EAAMxC,OAAOuY,SAAWJ,GAAkB,EAAG,CAC9BN,EAAK/E,KAAKjG,cAAc,mCAADhL,OAAoCqW,EAAUC,GAAgBG,QAAO,OACpGC,SAAU,EACpBzX,SAAS+L,cAAc,4BAADhL,OAA6BW,EAAMxC,OAAOtC,GAAE,OAAM6C,SACxE2X,EAAUQ,OAAOP,EAAgB,GACjC3V,EAAMxC,OAAOkW,aAAa,WAAY,YACtC,IAAMyC,EAAQd,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeW,EAAMxC,OAAOtC,GAAE,OACnEib,EAAMrY,UAAUC,OAAO,mBACvBoY,EAAMrY,UAAUC,OAAO,uBACvBoY,EAAMrY,UAAUE,IAAI,eACpBmY,EAAMrY,UAAUE,IAAI,kBACtB,CACAuX,EAAYpY,SAAQ,SAAAmZ,GACdA,EAAOP,UAAYL,EAAUU,MAAK,SAAAP,GAAQ,OAAIA,EAASI,WAAaK,EAAOpb,EAAE,MAC/Eqb,EAAqBD,EAEzB,IACIC,IACFb,EAAUvY,SAAQ,SAAC0Y,EAAUQ,GAC3B,IAAKR,EAASI,SAAU,CACtBP,EAAUW,GAAOJ,SAAWM,EAAmBrb,GAC/Cwa,EAAUW,GAAOC,OAASjB,EAAK/E,KAAKjG,cAAc,cAADhL,OAAekX,EAAmBrb,GAAE,OAAMiZ,UAE3F,IAAMqC,EAAenB,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeqW,EAAUW,GAAOP,QAAO,OAC7EW,EAAgBpB,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeqW,EAAUW,GAAOJ,SAAQ,OACrFZ,EAAKqB,cAAcF,EAAcC,EAAe,MAAOpB,EAAK/E,KAC9D,CACF,IACAiF,EAAYpY,SAAQ,SAAAmZ,GAClB,IAAMK,EAAgBjB,EAAUE,WAAU,SAAAC,GAAQ,OAAIA,EAASI,WAAaK,EAAOpb,EAAE,IACrF,GAAIqb,EAAmBrb,KAAOob,EAAOpb,KAAyB,IAAnByb,EAAsB,CAC/DL,EAAO5C,aAAa,WAAY,YAChC,IAAMyC,EAAQd,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeiX,EAAOpb,GAAE,OAC7Dib,EAAMrY,UAAUC,OAAO,mBACvBoY,EAAMrY,UAAUC,OAAO,uBACvBoY,EAAMrY,UAAUE,IAAI,eACpBmY,EAAMrY,UAAUE,IAAI,kBACtB,CACF,KAEF+M,aAAaE,QAAQ,YAAavO,KAAKwW,UAAUwC,GACnD,GACF,IAEAnZ,KAAKqa,2BAA2BlZ,iBAAiB,SAAS,SAACsC,GAAW,IAAD6W,EACnE7W,EAAMwM,iBAEN,IAEIsF,EAFAC,EAAgB,EAChBC,EAAYqD,EAAK/E,KAAK2B,aAAa,UAEnC3U,OAAO8J,OAAS9J,OAAO8O,MACzB4F,EAAYA,EAAUrF,QAAQ,YAAa,iBAAmB,QAAUrP,OAAOyN,aAAaC,QAAQ,OACpG8G,EAAQpV,KAAKC,MAAMW,OAAOyN,aAAaC,QAAQ,aAAeqK,EAAKvE,YAAc,CAAEoB,MAAO,EAAGC,QAAS,EAAG5F,OAAQ,YAGnH,IAAMmJ,EAAYhZ,KAAKC,MAAMoO,aAAaC,QAAQ,cAC5C8L,EAAY,IAAIzE,SACtByE,EAAUC,OAAO,6BAA8B1B,EAAK/E,KAAKzF,QAAQoI,YACjE6D,EAAUC,OAAO,yBAA0B1B,EAAK/E,KAAK0G,QAAQ,MAAMnM,QAAQoM,QAC3EvB,EAAUvY,SAAQ,SAAA0Y,GAChBiB,EAAUC,OAAO,SAAUra,KAAKwW,UAAU,CAAEiD,MAAON,EAASM,MAAOG,OAAQT,EAASS,SACtF,IAEA,IAAM3L,EAAU2H,EAAAA,GAAiB3H,QACjCA,EAAQ,gBAAmE,QAApDkM,EAAGvY,SAAS+L,cAAc,kCAA0B,IAAAwM,OAAA,EAAjDA,EAAmD5E,aAAa,WAE1F1H,EAAAA,EAAM6H,KAAKJ,EAAW8E,EAAW,CAAEnM,QAAAA,IAAW7G,MAAK,SAAAwI,GACjD,GAAI+I,EAAK7E,YAAY,CACnB,IAAM+B,EAAWjG,EAAS7P,KAAK+V,SAASC,MAAMC,QAAQC,MAAK,SAAClR,EAAGyV,GAAC,OAAKzV,EAAE0U,MAAMgB,cAAcD,EAAEf,MAAM,IAC7FvD,EAAS8C,EAAU3a,KAAI,SAAA8a,GAAQ,MAAK,CAAEM,MAAON,EAASM,MAAOG,OAAQT,EAASS,OAAQ,IAAG3D,MAAK,SAAClR,EAAGyV,GAAC,OAAKzV,EAAE0U,MAAMgB,cAAcD,EAAEf,MAAM,IAExI7Y,OAAO8J,OAAS9J,OAAO8O,MACzB0F,EAAMI,OAAS,EACfJ,EAAMvF,OAAS,WAGd7P,KAAKwW,UAAUX,KAAc7V,KAAKwW,UAAUN,IAC7Cb,EAAgBsD,EAAKlE,qBACrBkE,EAAKrC,aAAa,WACd1V,OAAO8J,OAAS9J,OAAO8O,MACzB0F,EAAMK,SAAW,KAGnBJ,EAAgBsD,EAAKhE,mBACrBgE,EAAKrC,aAAa,cAGpB0C,EAAUvY,SAAQ,SAAC0Y,EAAUQ,GAC3B,IAAMe,EAAiB7E,EAAS6D,MAAK,SAAAiB,GAAgB,OAAIA,EAAiBlB,QAAUN,EAASM,KAAK,IAC5FmB,EAAYjC,EAAK/E,KAAKjG,cAAc,mCAADhL,OAAoCwW,EAASC,QAAO,OACvFE,EAAaX,EAAK/E,KAAKjG,cAAc,oCAADhL,OAAqCwW,EAASI,SAAQ,OAC1FsB,EAAalC,EAAK/E,KAAKjG,cAAc,cAADhL,OAAeiY,EAAUpc,GAAE,OAC/Dsc,EAAcnC,EAAK/E,KAAKjG,cAAc,cAADhL,OAAe2W,EAAW9a,GAAE,OACnEkc,EAAed,SAAWkB,EAAYrD,WACxCoD,EAAWpY,MAAMsY,gBAAkB,UACnCF,EAAWpY,MAAMuY,YAAc,UAC/BF,EAAYrY,MAAMsY,gBAAkB,UACpCD,EAAYrY,MAAMuY,YAAc,YAEhCH,EAAWpY,MAAMsY,gBAAkB,UACnCF,EAAWpY,MAAMuY,YAAc,UAC/BF,EAAYrY,MAAMsY,gBAAkB,UACpCD,EAAYrY,MAAMuY,YAAc,UAEpC,GACF,MACMpL,EAAS7P,KAA4B,wBACvCsV,EAAgBsD,EAAKpE,kBACrBoE,EAAKrC,aAAa,YAGlB1V,OAAO8J,OAAS9J,OAAO8O,KACzB9O,OAAOyN,aAAaE,QAAQ,aAAeoK,EAAKvE,SAAUpU,KAAKwW,UAAUpB,GAE7E,IAAE,OACK,SAAChR,GACHA,EAAMwL,SAAS7P,KAAK0W,sBACrBzX,OAAO6H,OAAOzC,EAAMwL,SAAS7P,KAAK0W,sBAAsBhW,SAAQ,SAAAiS,GAC9D2C,EAAgB3C,EAAQ9J,OACxB+P,EAAKrC,aAAa,UAAW5D,EAC/B,GAEJ,IAAE,SACO,WACPrE,aAAaE,QAAQ,YAAavO,KAAKwW,UAAU,KACjD5U,SAASpB,iBAAiB,2BAA2BC,SAAQ,SAAAwa,GAAG,OAAIA,EAAI5Z,QAAQ,IAChFsX,EAAKjC,mBAAmBrB,EAAesD,EAAK7E,YAC9C,GACF,GACF,GAAC,CAAApU,IAAA,gBAAAE,MAED,SAAcsb,EAAcC,EAAeC,GAAwC,IAA3BnD,EAASzY,UAAAoJ,OAAA,QAAAkC,IAAAtL,UAAA,GAAAA,UAAA,GAAGoC,SAASE,KAC1C,KAA7BmW,EAAUxV,MAAM4Y,WAClBpD,EAAUxV,MAAM4Y,SAAW,YAG7B,IAAMJ,EAAMrZ,SAAS0Z,gBAAgB,6BAA8B,OACnEL,EAAI9M,QAAQ+M,aAAeA,EAAa3F,aAAa6F,GACrDH,EAAI9M,QAAQgN,cAAgBA,EAAc5F,aAAa6F,GACvDH,EAAIxY,MAAM4Y,SAAW,WACrBJ,EAAIxY,MAAMiN,IAAM,IAChBuL,EAAIxY,MAAM8Y,KAAO,IACjBN,EAAIxY,MAAMC,MAAQ,OAClBuY,EAAIxY,MAAM+Y,OAAS,OACnBP,EAAIxY,MAAMgZ,cAAgB,OAE1B,IAAMC,EAAO9Z,SAAS0Z,gBAAgB,6BAA8B,QAE9DK,EAAqB,WACzB,IAAMC,EAAgB3D,EAAU4D,wBAC1BC,EAAYZ,EAAaW,wBACzBE,EAAaZ,EAAcU,wBAEjCH,EAAK1E,aAAa,KAAM8E,EAAUE,MAAQJ,EAAcL,MACxDG,EAAK1E,aAAa,KAAM8E,EAAUpM,IAAMoM,EAAUN,OAAO,EAAII,EAAclM,KAC3EgM,EAAK1E,aAAa,KAAM+E,EAAWR,KAAOK,EAAcL,MACxDG,EAAK1E,aAAa,KAAM+E,EAAWrM,IAAMqM,EAAWP,OAAO,EAAII,EAAclM,IAC/E,EAEAgM,EAAK1E,aAAa,SAAU,WAC5B0E,EAAK1E,aAAa,eAAgB,KAElCiE,EAAIpD,YAAY6D,GAChBzD,EAAUJ,YAAYoD,GAEtBU,IAEA/a,OAAOI,iBAAiB,SAAU2a,GAClC/a,OAAOI,iBAAiB,SAAU2a,EACpC,qFAACvc,CAAA,CAjbkC,CAER0D,EAAAA,IAAUmZ,EAAA7c,EAAA,SAErB,CAAE8c,SAAUld,SAAQid,EAAA7c,EAAA,UACnB,CAAC,iBAAkB,qBAAsB,eAAgB,ipECN9C,IAAAA,EAAA,SAAAC,GAAA,SAAAD,IAAA,mGAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,WAM3B,6RAN2BC,CAAAL,EAAAC,KAAAD,IAgX3B,EAAAM,IAAA,UAAAC,IA5WD,WACE,MAAO,CAAC,WAAY,yBAA0B,yBAA0B,sBAAuB,wBAAyB,iBAAkB,cAAe,cAAe,sBAC1K,OAN4B,EAAAD,IAAA,aAAAE,MAQ5B,WACEC,KAAKsc,qBAAuB,IAC5Btc,KAAKuc,oBAAsB,IAC3Bvc,KAAKwc,WAAY,CACnB,GAAC,CAAA3c,IAAA,UAAAE,MAED,WACEC,KAAKyc,QAAU,CAAC,EACZzc,KAAKU,QAAQ4N,QAAQoO,iBAGvB1c,KAAK2c,eAAepb,UAAUC,OAAO,gBACrCxB,KAAK2c,eAAepb,UAAUC,OAAO,mBACrC8U,MAAMrE,KAAKjS,KAAK2c,eAAeC,YAAYpe,KAAI,SAAA4G,GAAC,OAAIA,EAAE7D,UAAUE,IAAI,OAAO,KAJ3EzB,KAAK6c,iBAMP7c,KAAK8c,6BACP,GAAC,CAAAjd,IAAA,8BAAAE,MAED,WACE,IAAMoY,EAAOnY,KAAKE,KAAKJ,IAAI,kBACrBid,EAAG7H,EAAOnT,SAASpB,iBAAiB,MACpCqc,EAAU9H,EAAOlV,KAAKU,QAAQC,iBAAiB,MAC/Csc,EAAUF,EAAIG,QAAO,SAAAhY,GAAC,OAA+B,IAA3B8X,EAAWG,QAAQjY,EAAS,IACtDkY,EAAc,SAACre,GACfse,QAAQlF,IAAQpZ,EAAEkR,gBACxB,EACAgN,EAAQze,KAAI,SAAA0G,GAAC,OAAIA,EAAE/D,iBAAiB,QAASic,EAAY,GAC3D,GAAC,CAAAvd,IAAA,oBAAAE,MAED,SAAkB0D,GAKhB,GAJIA,GAAyC,oBAAzBA,EAAMwM,iBACxBxM,EAAMwM,iBACNxM,EAAM6Z,4BAEJtd,KAAKwc,UAAW,CAClBxc,KAAKwc,WAAY,EACjB,IAAMe,EAAwBvd,KAAKwd,4BACnC,GAAGD,EAAsBE,KACvB,GAAI1c,OAAO8J,OAAS9J,OAAO8O,IAAK,CAC9B,IAAM5B,EAAMjO,KAAKE,KAAKJ,IAAI,oBAAoBsQ,QAAQ,YAAa,iBACnErO,SAASf,SAASqO,KAAOpB,EAAM,QAAUO,aAAaC,QAAQ,MAChE,MACE1M,SAASf,SAASqO,KAAOrP,KAAKE,KAAKJ,IAAI,wBAEpC,CACL,IAAM4d,EAA0B3b,SAAS+L,cAAc,gBAAgBQ,QAAQoP,wBAC3EH,EAAsB/B,UAAYkC,IACpC3b,SAAS+L,cAAc,gBAAgBQ,QAAQoP,wBAA0BH,EAAsB/B,SAAW,GAE5Gxb,KAAKgU,SAAS2J,GAAG,IACnB,CACF,CACF,GAAC,CAAA9d,IAAA,oBAAAE,MAED,SAAkB0D,GAChBA,EAAMwM,iBACNjQ,KAAKgU,SAAS2J,GAAG,IACnB,GAAC,CAAA9d,IAAA,WAAAE,MAED,SAAS0D,GACPA,EAAMwM,iBACN,IAAM2N,EAAQ5d,KAAK2c,eAAe7O,cAAc,kBAADhL,OAAmBW,EAAMxC,OAAOqN,QAAQoM,OAAM,OAC7F1a,KAAKgU,SAAS2J,GAAG,IAAD7a,OAAK8a,EAAMtP,QAAQuP,eACrC,GAAC,CAAAhe,IAAA,kBAAAE,MAED,WAAkB,IAADmB,EAAA,KACflB,KAAK2c,eAAexb,iBAAiB,cAAc,SAACsC,GAClD,IAAMqa,EAAiB5c,EAAKsc,4BAC5B,GAAIzc,OAAO8J,OAAS9J,OAAO8O,IAAK,CAC9B,IAAI+C,EAAY7R,OAAOyN,aAAaC,QAAQ,aAAeqP,EAAeC,WACtE/K,EAAc,KACdgL,EAAiB,EACjBC,EAAe,EACflL,EAAe,EACfmL,EAAmB,EACnBjL,EAAgB,EAEpB,GAAIL,EAAW,CAEboL,GADApL,EAAYzS,KAAKC,MAAMwS,IACIgD,QAE3B7C,GADAkL,EAAerL,EAAU+C,OACK,EAAIlT,KAAK0b,MAAOH,EAAiBC,EAAgB,KAAO,GACtFC,EAAmBtL,EAAUsL,oBAE3BjL,EAAgBxQ,KAAK0b,QAAO,IAAIrP,MAAOgC,UAAYoN,GAAoB,MAGzE,IAAIpL,EAAsB,IAAO5R,EAAK8S,SAASjL,QAAY7H,EAAK8S,SAAS8F,MAAQ,GAE9EgE,EAAeL,OAChBzK,GAAc,IAAIlE,MAAOsP,cACzBtL,EAAqB,IACrBtE,aAAa4E,WAAW,aAAe0K,EAAeC,YAGxD,IAAMlL,EAAU,CACdC,mBAAAA,EACAC,aAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAN,cAAe,WAGE,MAAfK,EACFjS,OAAOmS,OAAOC,YAAYN,EAAS,MAEnCD,EAAUK,cAAgBA,EAC1BL,EAAUE,mBAAqBA,EAC/BF,EAAUG,aAAeA,EACzBH,EAAUI,YAAcA,EACxBxE,aAAaE,QAAQ,aAAeoP,EAAeC,UAAW5d,KAAKwW,UAAU/D,IAEjF,CACF,CAEA,GAAI1R,EAAKsb,UAAW,CAClBtb,EAAKsb,WAAY,EACjB,IAAM6B,EAAkB5a,EAAMwQ,YAAc/S,EAAKob,qBAAuBpb,EAAKqb,oBAC7E+B,YAAW,WACT,GAAGR,EAAeL,KAChB,GAAI1c,OAAO8J,OAAS9J,OAAO8O,IAAK,CAC9B,IAAM5B,EAAM/M,EAAKhB,KAAKJ,IAAI,oBAAoBsQ,QAAQ,YAAa,iBACnErO,SAASf,SAASqO,KAAOpB,EAAM,QAAUO,aAAaC,QAAQ,MAChE,MACE1M,SAASf,SAASqO,KAAOnO,EAAKhB,KAAKJ,IAAI,wBAEpC,CACL,IAAM4d,EAA0B3b,SAAS+L,cAAc,gBAAgBQ,QAAQoP,wBAC3EI,EAAetC,UAAYkC,IAC7B3b,SAAS+L,cAAc,gBAAgBQ,QAAQoP,wBAA0BI,EAAetC,SAAW,GAErGta,EAAK8S,SAAS2J,GAAG,IACnB,CACF,GAAGU,EAAwC,GAAtB5a,EAAM+R,cAC7B,CACF,IACAxV,KAAK2c,eAAexb,iBAAiB,cAAc,WAAQD,EAAK8S,SAAS2J,GAAG,IAAK,GACnF,GAAC,CAAA9d,IAAA,iBAAAE,MAED,WAcE,GAbAC,KAAKgU,SAAW,IAAIuK,EAAAA,GAAOve,KAAK2c,eAAgB,CAC9C6B,KAAM,SACNC,QAAQ,EACRC,WAAW,EACXC,YAAY,EACZzG,MAAO,IACP0G,QAAQ,EACRC,MAAM,EACNC,eAAgB,4EAChBC,MAAO,6BAET/e,KAAKgU,SAASgL,QAEVje,OAAO8J,OAAS9J,OAAO8O,IAAK,CAC9B,IAAMrB,EAAezN,OAAOyN,aACtB+O,EAAwBvd,KAAKwd,4BACnCxd,KAAKuU,SAAWgJ,EAAsBQ,UAEjCvP,EAAaC,QAAQ,aAAezO,KAAKuU,WAC5C/F,EAAaE,QAAQ,aAAe1O,KAAKuU,SAAUpU,KAAKwW,UAAU,CAAEf,QAAS,EAAGD,MAAO,EAAGuI,kBAAkB,IAAIpP,MAAOgC,UAAWd,OAAQ,YAE9I,CAEAhQ,KAAKif,wBACLjf,KAAKkf,6BACLlf,KAAKmf,oBACLnf,KAAKof,kBACLpf,KAAKgU,SAASqL,GAAG,QAASrf,KAAKmf,kBAAkBhT,KAAKnM,MACxD,GAAC,CAAAH,IAAA,wBAAAE,MAED,WAAyB,IAAD2B,EAAA,KACtBK,SAASZ,iBAAiB,eAAe,SAACpC,GACxC2C,EAAK4d,4BAA8B5d,EAAK4d,6BAA+B,CAAC,EACxE5d,EAAK4d,4BAA4BvgB,EAAEwgB,OAAOC,YAAczgB,EAAEwgB,OAAOE,OAAO9gB,IAAMI,EAAEwgB,OAAOE,OAEvF,IAAMC,EAAgB3gB,EAAEwgB,OAAOE,OAGzBE,GAFe5gB,EAAEwgB,OAAOC,WAAWpP,QAAQ,QAAS,IAEnC,SAACwP,GAEtB,GADuBle,EAAKib,eAAe7O,cAAc,kBAADhL,OAAmB8c,EAAY,OAAMtR,QAAQwP,eAClFL,KACjB,GAAI1c,OAAO8J,OAAS9J,OAAO8O,IAAK,CAC9B,IAAM5B,EAAMvM,EAAKxB,KAAKJ,IAAI,oBAAoBsQ,QAAQ,YAAa,iBACnErO,SAASf,SAASqO,KAAOpB,EAAM,QAAUO,aAAaC,QAAQ,MAChE,MACE1M,SAASf,SAASqO,KAAO3N,EAAKxB,KAAKJ,IAAI,yBAGzCwe,YAAW,WACTvc,SAAS+L,cAAc,kBAADhL,OAAmB8c,EAAY,mFAAkFre,UAAUC,OAAO,SAC1J,GAAG,KACHE,EAAKme,mBAET,GAEAH,EAAcve,iBAAiB,SAAS,SAACpC,GAAO,IAAD+gB,EACNC,EADMC,ooBAAAC,CACb,QADaH,EACvB/gB,EAAEmhB,gBAAQ,IAAAJ,OAAA,EAAVA,EAAYK,OAAK,IAAvC,IAAAH,EAAAxZ,MAAAuZ,EAAAC,EAAAnb,KAAA4C,MAAyC,CAAC,IAA/B2Y,EAAOL,EAAAhgB,MAChB,GAAIqgB,EAAQlgB,KAAM,CAAC,IAADmgB,EACVngB,EAAOC,KAAKC,MAAMggB,EAAQlgB,OACxB,OAAJA,QAAI,IAAJA,GAAU,QAANmgB,EAAJngB,EAAMA,YAAI,IAAAmgB,OAAA,EAAVA,EAAYC,UAAW,MACzBX,EAAeD,EAAcnM,cAAcjF,QAAQoM,OAEvD,CACF,CAAC,OAAA1P,GAAAgV,EAAAjhB,EAAAiM,EAAA,SAAAgV,EAAAzZ,GAAA,CACH,GACF,GACF,GAAC,CAAA1G,IAAA,oBAAAE,MAED,WACE,IACMwgB,EADUxe,SAAS+L,cAAc,gBACRQ,QAAQkS,MACvCxgB,KAAKygB,0BACLzgB,KAAK0gB,iBACiB,SAAnBH,GACDvgB,KAAK2gB,iBAEP3gB,KAAK4gB,sBACL5gB,KAAK6gB,8BACL7gB,KAAK8gB,oBACL9gB,KAAKwc,WAAY,CACnB,GAAC,CAAA3c,IAAA,8BAAAE,MAED,WACA,GAAC,CAAAF,IAAA,sBAAAE,MAED,WACE,IAAM+d,EAAiB9d,KAAKwd,4BACtBuD,EAAuB,QAAAje,OAAWgb,EAAenf,IAGpDqB,KAAKghB,aACNhhB,KAAKghB,YAAYC,QAKhBjhB,KAAKsf,6BAA+Btf,KAAKsf,4BAA4ByB,KACtE/gB,KAAKghB,YAAchhB,KAAKsf,4BAA4ByB,GAExD,GAAC,CAAAlhB,IAAA,6BAAAE,MAED,WAA6B,IAAD+Y,EAAA,KACpB7K,EAAM,IAAIiT,IAAInf,SAASf,UACvBmgB,EAAS,IAAIC,gBAAgBnT,EAAIoT,OAAOvX,MAAM,IAC9CyT,EAAwBvd,KAAKwd,4BAEnC,GAA4B,MAAzB2D,EAAOrhB,IAAI,YAAwE,MAAlDyd,EAAsB+D,yBAAiC,CACzF,IAAM1D,EAAQ5d,KAAK2c,eAAe7O,cAAc,kBAADhL,OAAmBya,EAAsB+D,0BAA4BH,EAAOrhB,IAAI,WAAU,OACzIE,KAAKgU,SAAS2J,GAAG,IAAD7a,OAAK8a,EAAMtP,QAAQuP,gBACnC7d,KAAK8gB,mBACP,CACA/f,OAAOwgB,WAAa,SAAC9d,GAChBA,EAAM+d,OAASjL,SAAS9S,EAAM+d,MAAMC,WAAY,KAAO,GACxD3I,EAAK9E,SAAS2J,GAAG,IAAD7a,OAAKW,EAAM+d,MAAMC,YAErC,CACF,GAAC,CAAA5hB,IAAA,iBAAAE,MAED,WACE,IAAMkO,EAAM,IAAIiT,IAAIngB,OAAOC,UACrBmgB,EAAS,IAAIC,gBAAgBnT,EAAIoT,OAAOvX,MAAM,IAQpD,GAN2B,IAAxB9J,KAAKgU,SAAS8F,MACfqH,EAAM,OAAQ,WAEdA,EAAOnP,IAAI,UAAWhS,KAAKwd,4BAA4B7e,IAGtDoC,OAAO2gB,QAAQF,OAAUzgB,OAAO2gB,QAAQF,MAAMC,YAAczhB,KAAKgU,SAAS8F,MAAO,CAClF,IAAM6H,EAAKR,EAAOS,WACZ5gB,EAAWD,OAAOC,SAAS6gB,SAAW,KAAO9gB,OAAOC,SAASF,KAAOC,OAAOC,SAAS0S,UAAYiO,EAAG5Y,OAAS,EAAC,IAAAjG,OAAOqe,EAAOS,YAAe,IAChJ7gB,OAAO2gB,QAAQI,UAAU,CAAEL,WAAYzhB,KAAKgU,SAAS8F,OAAS,GAAI9Y,EACpE,CACF,GAAC,CAAAnB,IAAA,0BAAAE,MAED,WACKC,KAAK+hB,uBACN/hB,KAAKgiB,kBAAkBhT,UAAYhP,KAAKwd,4BAA4ByE,SAGtEjiB,KAAKkiB,4BAA4BlT,UAAS,GAAAlM,OAAM9C,KAAKgU,SAAS8F,MAAQ,EAAC,KAAAhX,OAAI9C,KAAKgU,SAASjL,QACzF/I,KAAKmiB,0BAA0Bvf,MAAMC,MAAK,GAAAC,OAAM9C,KAAKoiB,mBAAkB,IACzE,GAAC,CAAAviB,IAAA,yBAAAE,MAED,WACE,IAAMoV,EAAQnV,KAAKqiB,mBAAmB1hB,iBAAiB,+BAA+B,GACnFwU,GAASmN,OAAOzf,MAAQ,MAAOyb,YAAW,kBAAMnJ,EAAMoN,OAAO,GAAE,KACpE,GAAC,CAAA1iB,IAAA,iBAAAE,MAED,WACE,IAAMwd,EAAwBvd,KAAKwd,4BACnC,GAAGxd,KAAKwd,4BAA4BC,KAAK,CACvC,IAAM+E,EAAoB,cACtBxiB,KAAKyc,QAAQ+F,MACfxf,EAAAA,EAAAA,IAAY,WAAYwf,EAAsB,CAAEC,cAAelF,EAAsB/B,WACrFxb,KAAKyc,QAAQ+F,GAAwB,EAEzC,CACA,IAAME,EAAkB,YAAA5f,OAAeya,EAAsBQ,UAAS,WAAAjb,OAAUya,EAAsB5e,IAClGqB,KAAKyc,QAAQiG,MACf1f,EAAAA,EAAAA,IAAY,WAAY0f,EAAoB,CAAED,cAAelF,EAAsB/B,WACnFxb,KAAKyc,QAAQiG,GAAsB,EAEvC,GAAC,CAAA7iB,IAAA,kBAAAE,MAED,WACE,IAAM6C,EAAQ5C,KAAK2c,eAAejH,aAAa,SACzCiN,EAAS,kCACZ/f,EAAMggB,MAAMD,IACb3iB,KAAK2c,eAAexF,aAAa,QAASvU,EAAMwN,QAAQuS,EAAQ,qBAEpE,GAAC,CAAA9iB,IAAA,mBAAAE,MAED,WAAqB,OAAQ,KAAOC,KAAKgU,SAASjL,OAAS,GAAO/I,KAAKgU,SAAS8F,KAAO,GAAC,CAAAja,IAAA,4BAAAE,MAExF,WAA8B,OAAOI,KAAKC,MAAMJ,KAAKqiB,mBAAmB/T,QAAQwP,eAAgB,GAAC,CAAAje,IAAA,mBAAAE,MAEjG,WAAoB,OAAOC,KAAK2c,eAAe7O,cAAc,yBAA2B9N,KAAKgU,SAAS8F,MAAQ,KAAM,GAAC,CAAAja,IAAA,oBAAAE,MAErH,WACE,IAIwCua,EAEjCuI,EAIuDC,EAEvDC,EAXDrF,EADU3b,SAAS+L,cAAc,gBACCQ,QAAQoP,wBAC1CH,EAAwBvd,KAAKwd,4BAE/BD,EAAsB/B,SAAW,EACqC,QAAxElB,EAAAvY,SAAS+L,cAAc,yDAAiD,IAAAwM,GAAxEA,EAA0E/Y,UAAUC,OAAO,UAEnB,QAAxEqhB,EAAA9gB,SAAS+L,cAAc,yDAAiD,IAAA+U,GAAxEA,EAA0EthB,UAAUE,IAAI,UAGtF8b,EAAsB/B,SAAWkC,EACiC,QAApEoF,EAAA/gB,SAAS+L,cAAc,qDAA6C,IAAAgV,GAApEA,EAAsEvhB,UAAUC,OAAO,UAEnB,QAApEuhB,EAAAhhB,SAAS+L,cAAc,qDAA6C,IAAAiV,GAApEA,EAAsExhB,UAAUE,IAAI,UAGtFM,SAASpB,iBAAiB,oBAAoBC,SAAQ,SAAAqhB,GACpDA,EAAQ1gB,UAAUC,OAAO,iBACzBygB,EAAQ1gB,UAAUC,OAAO,aACrBygB,EAAQe,cAAgBzF,EAAsB0E,UAChDA,EAAQ1gB,UAAUE,IAAI,iBACtBwgB,EAAQ1gB,UAAUE,IAAI,aAE1B,GACF,GAAC,CAAA5B,IAAA,2BAAAE,MAED,SAAyBkjB,GACvBA,EAAGrgB,MAAMsgB,UAAY,GACrB,IAAIC,EAAKpiB,OAAOqiB,iBAAiBH,EAAI,MACrC,GAAGE,EAAG,CAOJ,IAAInc,GANJmc,EAAKA,EAAGE,iBAAiB,sBACvBF,EAAGE,iBAAiB,mBACpBF,EAAGE,iBAAiB,kBACpBF,EAAGE,iBAAiB,iBACpBF,EAAGE,iBAAiB,eAAgB,GAEtBjT,QAAQ,kBAAkB,IAAIkT,MAAM,KACpD,IAAI,IAAMvc,KAAKC,EAAUA,EAAOD,GAAKA,EAAI,EAAItE,KAAK8gB,KAAKvc,EAAOD,IAAMC,EAAOD,GAC3Ekc,EAAGrgB,MAAMsgB,UAAY,UAAYlc,EAAOwc,OAAS,GACnD,CACF,oFA1WCjkB,CAAA,CAN2B,CAED0D,EAAAA,uFCF7BwgB,EAAAA,MAAAA,KAYA,IAAMC,EAAcC,EAAAA,GAAYC,QAChCF,EAAYG,SAAS,UAAWC,EAAAA,IAChCJ,EAAYG,SAAS,YAAaE,EAAAA,IAClCL,EAAYG,SAAS,SAAUG,EAAAA,IAE/B,IAAMlgB,EAAU2f,EAAAA,MACVQ,EAAaR,EAAAA,MACnBC,EAAYQ,MAAKC,EAAAA,EAAAA,IAAuBrgB,GAAShB,QAAOqhB,EAAAA,EAAAA,IAAuBF,KAE/EliB,SAASZ,iBAAiB,sBAAsB,WAC9CuiB,EAAYU,YAAYxjB,SAAQ,SAAAyjB,GACK,oBAAxBA,EAAWC,UACpBD,EAAWC,UAEf,GACF","sources":["webpack://app/./app/components/ sync (shared%7Capp).+_controller\\.js$","webpack://app/./app/components/app/article_reader/article_reader_component_controller.js","webpack://app/./app/javascript/javascripts/analytics.js","webpack://app/./app/components/app/certificate_completion/certificate_completion_component_controller.js","webpack://app/./app/components/app/reset_progression/reset_progression_component_controller.js","webpack://app/./app/components/app/survey_content_step/survey_content_step_component_controller.js","webpack://app/./app/components/app/survey_question_step/survey_question_step_component_controller.js","webpack://app/./app/components/app/survey_steps/survey_steps_component_controller.js","webpack://app/./app/javascript/packs/app.js"],"sourcesContent":["var map = {\n\t\"./app/article_reader/article_reader_component_controller.js\": 9346,\n\t\"./app/certificate_completion/certificate_completion_component_controller.js\": 2379,\n\t\"./app/reset_progression/reset_progression_component_controller.js\": 4724,\n\t\"./app/survey_content_step/survey_content_step_component_controller.js\": 5684,\n\t\"./app/survey_question_step/survey_question_step_component_controller.js\": 2398,\n\t\"./app/survey_steps/survey_steps_component_controller.js\": 2050,\n\t\"./shared/carousel/carousel_component_controller.js\": 7138,\n\t\"./shared/clipboard_copy/clipboard_copy_component_controller.js\": 4886,\n\t\"./shared/input_pin_code/input_pin_code_component_controller.js\": 882,\n\t\"./shared/lottie/lottie_component_controller.js\": 6712,\n\t\"./shared/pdf_converter/pdf_converter_component_controller.js\": 3656,\n\t\"./shared/progress_bar/progress_bar_component_controller.js\": 8288,\n\t\"./shared/tabbed_content/tabbed_content_component_controller.js\": 5142,\n\t\"./shared/video_player/video_player_component_controller.js\": 9776,\n\t\"app/article_reader/article_reader_component_controller.js\": 9346,\n\t\"app/certificate_completion/certificate_completion_component_controller.js\": 2379,\n\t\"app/reset_progression/reset_progression_component_controller.js\": 4724,\n\t\"app/survey_content_step/survey_content_step_component_controller.js\": 5684,\n\t\"app/survey_question_step/survey_question_step_component_controller.js\": 2398,\n\t\"app/survey_steps/survey_steps_component_controller.js\": 2050,\n\t\"shared/carousel/carousel_component_controller.js\": 7138,\n\t\"shared/clipboard_copy/clipboard_copy_component_controller.js\": 4886,\n\t\"shared/input_pin_code/input_pin_code_component_controller.js\": 882,\n\t\"shared/lottie/lottie_component_controller.js\": 6712,\n\t\"shared/pdf_converter/pdf_converter_component_controller.js\": 3656,\n\t\"shared/progress_bar/progress_bar_component_controller.js\": 8288,\n\t\"shared/tabbed_content/tabbed_content_component_controller.js\": 5142,\n\t\"shared/video_player/video_player_component_controller.js\": 9776\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8244;","import { Controller } from \"@hotwired/stimulus\"\nimport { isInViewport, trackAction, getElementHeight } from '@javascript/javascripts/utils'\n\nexport default class extends Controller {\n\n static get targets() {\n return ['articleBody', 'indicator', 'indicatorHolder']\n }\n\n initialize() {\n this.options = this.data.get('options') ? JSON.parse(this.data.get('options')) : {}\n\n this.handleExternalLinks();\n if(this.options.tracking){\n this.handleTracking(this.options.tracking)\n }\n if(this.options.indicator){\n this.handleIndicator()\n }\n }\n\n handleExternalLinks(){\n this.element.querySelectorAll('a').forEach(function(link) {\n if (link.host !== window.location.host) {\n link.target = \"_blank\"\n }\n })\n }\n\n handleIndicator(){\n window.addEventListener('scroll', () => {\n if(isInViewport(this.indicatorHolderTarget)){\n this.indicatorTarget.classList.remove('sticky')\n this.indicatorTarget.classList.add('absolute', 'hidden')\n } else {\n this.indicatorTarget.classList.remove('absolute', 'hidden')\n this.indicatorTarget.classList.add('sticky')\n }\n });\n }\n\n handleTracking(options){\n // let indicator = wrapper.querySelector('[data-reading-indicator]');\n let cache = {};\n\n const isVisible = (elem) => {\n var bounding = elem.getBoundingClientRect();\n return (\n bounding.top >= 0 &&\n bounding.left >= 0 &&\n bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n bounding.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n }\n\n window.addEventListener('scroll', () => {\n let completion = 0;\n let documentHeight = (window.pageYOffset || (document.documentElement || document.body.parentNode || document.body).scrollTop);\n let windowHeight = window.innerHeight || (document.documentElement || document.body).clientHeight;\n let windowBottom = (documentHeight) + windowHeight;\n let elementTop = this.articleBodyTarget.offsetTop;\n completion = Math.floor((windowBottom - elementTop) / getElementHeight(this.articleBodyTarget) * 100);\n completion = completion < 0 ? 0 : completion > 100 ? 100 : completion;\n\n if(this.options.indicator){\n this.indicatorTarget.style.width = completion + '%';\n }\n\n if(completion % 25 == 0 && cache[`completion_${options.scope}_${completion}`] == null){\n trackAction('articleview', `${options.scope}/completion/${completion}`)\n cache[`completion_${options.scope}_${completion}`] = 1;\n }\n });\n }\n\n // connect() {\n // console.log('coucou coucou');\n // console.log(playaTarget)\n //\n //\n // // console.log(document.querySelectorAll('[data-video-player]'))\n\n // // console.log(document.getElementById('foo'))\n //\n // }\n}\n","import posthog from 'posthog-js'\r\n\r\n\r\nif (!posthog.__loaded) {\r\n posthog.init(process.env.POSTHOG_API_KEY, {\r\n api_host: process.env.POSTHOG_API_HOST,\r\n });\r\n}\r\n\r\nexport default {\r\n track({ event, userId, properties = {}, context = {} }) {\r\n if (!event) {\r\n console.error('Analytics error: Event name is required for tracking');\r\n return;\r\n }\r\n\r\n if (userId) {\r\n posthog.identify(userId);\r\n }\r\n \r\n const eventProperties = { ...properties };\r\n \r\n if (context.groupId) {\r\n eventProperties.$groups = {\r\n account: context.groupId\r\n };\r\n }\r\n \r\n if (context.accountId) {\r\n eventProperties.accountId = context.accountId;\r\n }\r\n \r\n try {\r\n posthog.capture(event, eventProperties);\r\n } catch (error) {\r\n console.error('Analytics error:', error);\r\n }\r\n },\r\n \r\n identify(userId, traits = {}) {\r\n if (!userId) {\r\n console.error('Analytics error: User ID is required for identification');\r\n return;\r\n }\r\n \r\n try {\r\n posthog.identify(userId, traits);\r\n } catch (error) {\r\n console.error('Analytics error:', error);\r\n }\r\n },\r\n \r\n group(groupId, traits = {}) {\r\n if (!groupId) {\r\n console.error('Analytics error: Group ID is required for grouping');\r\n return;\r\n }\r\n \r\n try {\r\n posthog.group('account', groupId, traits);\r\n } catch (error) {\r\n console.error('Analytics error:', error);\r\n }\r\n }\r\n}","import { Controller } from \"@hotwired/stimulus\"\nimport axios from 'axios'\nimport confetti from 'canvas-confetti'\nimport html2pdf from 'html2pdf.js'\nimport analytics from '@javascript/javascripts/analytics'\n\nexport default class extends Controller {\n\n static get targets() {\n }\n\n connect(){\n }\n\n initialize() {\n var count = 200;\n var defaults = {\n origin: { y: 0.7 }\n };\n\n function fire(particleRatio, opts) {\n confetti(Object.assign({}, defaults, opts, {\n particleCount: Math.floor(count * particleRatio)\n }));\n }\n\n if (window.location.hostname.startsWith('preview')) {\n fire(0.25, {\n spread: 26,\n startVelocity: 55,\n });\n fire(0.2, {\n spread: 60,\n });\n fire(0.35, {\n spread: 100,\n decay: 0.91,\n scalar: 0.8\n });\n fire(0.1, {\n spread: 120,\n startVelocity: 25,\n decay: 0.92,\n scalar: 1.2\n });\n fire(0.1, {\n spread: 120,\n startVelocity: 45,\n });\n\n document.getElementById(\"loading-certificate\").style.display = \"none\";\n document.getElementById(\"certificate-survey-description\").style.display = \"none\";\n document.getElementById(\"display-preview\").style.display = \"block\";\n\n return;\n }\n\n const surveyId = document.querySelector('input[name=\"surveyId\"]').value;\n const participantId = document.querySelector('input[name=\"participantId\"]').value;\n const participantName = document.querySelector('input[name=\"participantName\"]').value;\n\n return axios({\n method: 'get',\n url: Env.api_url + `/app-ruby/get-participation-certificate?surveyId=${surveyId}&participantId=${participantId}`,\n headers: {'accept': 'application/javascript'}\n }).then(certificate => {\n if (this.element.dataset.isEvaluationSurvey === 'true' && !localStorage.getItem(`reloadAfterGetCertificate-${surveyId}`)) {\n localStorage.setItem(`reloadAfterGetCertificate-${surveyId}`, true)\n window.location.reload()\n }\n fire(0.25, {\n spread: 26,\n startVelocity: 55,\n });\n fire(0.2, {\n spread: 60,\n });\n fire(0.35, {\n spread: 100,\n decay: 0.91,\n scalar: 0.8\n });\n fire(0.1, {\n spread: 120,\n startVelocity: 25,\n decay: 0.92,\n scalar: 1.2\n });\n fire(0.1, {\n spread: 120,\n startVelocity: 45,\n });\n\n const i18nLocale = document.querySelector('input[name=\"i18nLocale\"]').value;\n const issuedOn = new Date(certificate.data.issuedOn);\n\n document.getElementById(\"loading-certificate\").style.display = \"none\";\n document.getElementById(\"display-certificate\").style.display = \"block\";\n\n if (certificate.data.isCertified) {\n document.getElementById(\"certificate-of-achievement\").style.display = \"block\";\n } else {\n document.getElementById(\"certificate-of-completion\").style.display = \"block\";\n }\n\n document.getElementById(\"certificate-participant-name\").innerHTML = certificate.data.participantName;\n document.getElementById(\"certificate-issued-on\").innerHTML = issuedOn.toLocaleDateString(i18nLocale);\n document.getElementById(\"certificate-survey-title\").innerHTML = certificate.data.surveyTitle[i18nLocale];\n document.getElementById(\"certificate-survey-description\").innerHTML = certificate.data.surveyDescription[i18nLocale] || null;\n document.getElementById(\"certificate-link\").href = certificate.data.certificateLink;\n document.getElementById(\"certificate-link\").innerHTML = certificate.data.certificateLink;\n document.getElementById(\"certificate\").dataset.accountId = certificate.data.accountId;\n const accountLogo = document.getElementById(\"certificate-account-logo\");\n if (accountLogo) {\n accountLogo.src = certificate.data.logoUrl;\n }\n if (certificate.data.userId) {\n document.getElementById(\"certificate\").dataset.userId = certificate.data.userId;\n }\n document.getElementById(\"linkedin-add-to-profile-link\").href = `https://www.linkedin.com/profile/add?startTask=CERTIFICATION_NAME&name=${certificate.data.surveyTitle[i18nLocale]}&organizationId=55036572&issueYear=${issuedOn.getFullYear()}&issueMonth=${issuedOn.getMonth()+1}&certUrl=${certificate.data.certificateLink}&certId=${certificate.data.certificateId}`\n\n if (window.top !== window.self) { \n this.sendQuizStatsMessage(surveyId, 'passed')\n }\n\n }).catch(error => {\n if (window.top !== window.self) { \n this.sendQuizStatsMessage(surveyId, 'failed')\n }\n if (error.response.status === 422) {\n document.getElementById(\"loading-certificate\").style.display = \"none\";\n document.getElementById(\"failed-certificate\").style.display = \"block\";\n } else {\n throw error;\n }\n });\n }\n\n updateCertificateName(event) {\n event.preventDefault();\n\n const surveyId = document.querySelector('input[name=\"surveyId\"]').value;\n const participantId = document.querySelector('input[name=\"participantId\"]').value;\n const participantName = this.escapeHTML(document.querySelector('input[name=\"participantName\"]').value);\n\n return axios({\n method: 'patch',\n url: Env.api_url + \"/app-ruby/update-certificate-name\",\n data: {\n surveyId,\n participantId,\n participantName: participantName\n },\n headers: {'accept': 'application/javascript'}\n })\n .then(() => {\n document.getElementById(\"certificate-participant-name\").innerHTML = participantName;\n });\n }\n\n resetProgression(event) {\n event.preventDefault();\n\n const surveyId = document.querySelector('input[name=\"surveyId\"]').value;\n const participantId = document.querySelector('input[name=\"participantId\"]').value;\n\n return axios({\n method: 'post',\n url: Env.api_url + \"/app-ruby/reset-progression\",\n data: {\n surveyId,\n participantId,\n },\n headers: {'accept': 'application/javascript'}\n })\n .then(() => {\n const currentUrl = window.location.href;\n if (window.self !== window.top) {\n window.location.replace(currentUrl.replace('/confirmation', ''));\n return;\n }\n window.location.replace(currentUrl.substring(0, currentUrl.length - 13));\n });\n }\n\n async downloadCertificate(event) {\n event.preventDefault();\n\n const participantId = document.querySelector('input[name=\"participantId\"]').value;\n const accountId = document.getElementById(\"certificate\").dataset.accountId;\n const surveyName = document.getElementById(\"certificate-survey-title\").innerHTML;\n const surveyId = document.querySelector('input[name=\"surveyId\"]').value;\n const userId = document.getElementById(\"certificate\").dataset.userId;\n\n let trackedEntity = {};\n if (userId) {\n trackedEntity['id'] = userId;\n } else {\n trackedEntity[\"id\"] = \"participant-\" + participantId;\n }\n\n analytics.track({\n event: 'Participant downloaded a certificate',\n userId: trackedEntity[\"id\"],\n properties: {\n surveyId,\n surveyName\n }\n });\n\n const content = document.getElementById(\"certificate\").cloneNode(true);\n const logoElement = content.querySelector(\"#certificate-account-logo\");\n logoElement.src += \"?t=\" + new Date().getTime();\n\n fetch(logoElement.src).then(async (response) => {\n const options = {\n margin: 1,\n filename: 'certificate.pdf',\n image: { type: 'png', quality: 1 },\n html2canvas: { scale: 2 }\n };\n\n const data = await response.blob();\n const reader = new FileReader();\n reader.readAsDataURL(data);\n reader.onload = () => {\n const imageData = reader.result;\n logoElement.src = imageData;\n\n return html2pdf().set(options).from(content).outputPdf('datauristring').save();\n };\n })\n }\n\n async reviewSurvey(event) {\n event.preventDefault();\n window.location.href = event.srcElement.dataset.reviewSurveyUrl + '&jwt=' + localStorage.getItem('jwt');\n }\n\n sendQuizStatsMessage(surveyId, successStatus) {\n let quizStats = window.localStorage.getItem('quizStats-' + surveyId);\n if (quizStats) {\n quizStats = JSON.parse(quizStats);\n let message = {\n progressionPercent: quizStats.progressionPercent,\n scorePercent: quizStats.scorePercent,\n completedAt: quizStats.completedAt,\n sessTimeSpent: quizStats.sessTimeSpent,\n successStatus: successStatus\n };\n window.parent.postMessage(message, '*')\n window.localStorage.removeItem('quizStats-' + surveyId);\n }\n }\n\n escapeHTML(str) {\n return str.replace(/[&<>\"'\\/]/g, function (char) {\n switch (char) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n case '\\\\':\n return ''';\n case '/':\n return '/';\n default:\n return char;\n }\n })\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\nimport axios from 'axios'\n\nexport default class extends Controller {\n\n static get targets() {\n }\n\n connect(){\n }\n\n initialize() {\n }\n\n resetProgression(event) {\n event.preventDefault();\n\n const parent = event.srcElement.parentElement;\n const surveyId = parent.querySelector('input[name=\"surveyId\"]').value;\n const participantId = parent.querySelector('input[name=\"participantId\"]').value;\n const surveyHashId = parent.querySelector('input[name=\"surveyHashId\"]').value;\n const locale = parent.querySelector('input[name=\"locale\"]').value;\n\n return axios({\n method: 'post',\n url: Env.api_url + \"/app-ruby/reset-progression\",\n data: {\n surveyId,\n participantId,\n },\n headers: {'accept': 'application/javascript'}\n })\n .then(() => {\n window.location.pathname.includes('/surveys') && !window.location.pathname.includes('/confirmation') ? window.location.reload() : window.location.href = '/' + locale + '/surveys/' + surveyHashId;\n })\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static get targets() {}\n initialize(){}\n connect() {}\n}\n","import './survey_question_step_component.css'\nimport { Controller } from \"@hotwired/stimulus\"\nimport { jsRequestHeaders, isTruthy, isFalsy } from '@javascript/javascripts/utils'\nimport axios from 'axios'\nimport lottie from 'lottie-web-light'\n\nexport default class extends Controller {\n\n static values = { messages: Object }\n static targets = ['charsCountHint', 'messagePlaceholder', 'submitButton', 'submitMatchingButton']\n\n initialize() {\n this.form = this.element;\n this.carousel = document.querySelector('[data-carousel]')\n\n this.isQuizzMode = isTruthy(this.form.dataset.isQuizz)\n this.isDisabled = isTruthy(this.form.dataset.disabled)\n this.lastStep = this.form.dataset.lastStep\n this.surveyID = this.form.dataset.surveyId\n this.isNodes = isTruthy(this.form.dataset.isNodes)\n this.surveyType = this.form.dataset.surveyType\n\n this.nextMessageLength = this.form.dataset.nextMessage?.length || 0\n this.successMessageLength = this.form.dataset.successMessage?.length || 0\n this.errorMessageLength = this.form.dataset.errorMessage?.length || 0\n\n if(this.isDisabled){\n this._disableForm();\n }\n if(!this.lastStep && this.hasSubmitButtonTarget){\n [...this.form.querySelectorAll('input[type=\"text\"], textarea')].map(input => this._handleSubmitButtonState(input))\n }\n if (this.isNodes && document.querySelector('[data-app--survey-question-step--survey-question-step-component-target=\"submitMatchingButton\"]')) {\n this._handleNodes()\n }\n }\n\n submitForm(event){\n if(event.target.nodeName === 'BUTTON' || event.target.nodeName === 'FORM'){\n event.preventDefault();\n }\n\n let messageLength = 0;\n let attribute = this.form.getAttribute('action');\n let stats;\n if (window.self !== window.top) {\n attribute = attribute.replace('/surveys/', '/lms/surveys/') + '?jwt=' + window.localStorage.getItem('jwt')\n stats = JSON.parse(window.localStorage.getItem('quizStats-' + this.surveyID)) || { total: 0, correct: 0, status: 'unknown' }\n }\n\n axios.post(attribute, new FormData(this.form), jsRequestHeaders).then(response => {\n\n if(this.isQuizzMode){\n const expected = response.data.question.quizz.answers.sort()\n const actual = Array.from(this.form.querySelectorAll('input:checked')).map((i) => parseInt(i.value, 10)).sort()\n \n if (window.self !== window.top) {\n stats.total += 1\n stats.status = 'unknown'\n }\n\n if(expected.equals(actual)){\n messageLength = this.successMessageLength\n this._showMessage('correct')\n if (window.self !== window.top) {\n stats.correct += 1\n }\n } else {\n messageLength = this.errorMessageLength\n this._showMessage('incorrect')\n }\n\n if (this.surveyType !== 'evaluation') {\n expected.forEach((id) => {\n this.form.querySelector(`.choices label[for=\"q_${this.form.dataset.questionId}_c_${id}\"]`).classList.add('correct')\n })\n } else {\n actual.forEach((id) => {\n if (expected.includes(id)) {\n this.form.querySelector(`.choices label[for=\"q_${this.form.dataset.questionId}_c_${id}\"]`).classList.add('correct')\n } else {\n this.form.querySelector(`.choices label[for=\"q_${this.form.dataset.questionId}_c_${id}\"]`).classList.add('incorrect')\n }\n })\n }\n } else {\n if(!response.data['participation_skipped']){\n messageLength = this.nextMessageLength\n this._showMessage('success')\n }\n }\n if (window.self !== window.top) {\n window.localStorage.setItem('quizStats-' + this.surveyID, JSON.stringify(stats))\n }\n })\n .catch((error) => {\n if(error.response.data.participation_errors){\n Object.values(error.response.data.participation_errors).forEach(message => {\n messageLength = message.length\n this._showMessage('warning', message)\n })\n }\n })\n .finally(() => {\n this._carouselSlideNext(messageLength, this.isQuizzMode)\n });\n }\n\n toggleSubmitButton(event){\n const input = event.target;\n this._handleSubmitButtonState(input)\n }\n\n countChars(event){\n const textarea = event.target;\n const charsLimit = parseInt(textarea.getAttribute('data-ccl'), 10);\n const charsCount = textarea.value.length\n\n if(charsCount > 0){\n if(charsCount >= charsLimit) { textarea.value = textarea.value.substring(0, charsLimit) }\n this.charsCountHintTarget.innerHTML = ` (${textarea.value.length}/${charsLimit})`\n } else {\n this.charsCountHintTarget.innerHTML = null\n }\n }\n\n _disableForm(){\n this.form.dataset.disabled = true\n this.form.action = \"#\"\n Array.from(this.form.querySelectorAll('input,select')).map(input => input.setAttribute('disabled', 'disabled'))\n }\n\n _carouselSlideNext(messageLength, isQuizzMode){\n let event = new CustomEvent('slide-next')\n event.messageLength = messageLength\n event.isQuizzMode = isQuizzMode\n this.carousel.dispatchEvent(event)\n }\n\n _handleSubmitButtonState(input){\n 0 === input.value.length ? this._disableSubmitButton() : this._enableSubmitButton()\n }\n\n _disableSubmitButton(){\n this.submitButtonTarget.classList.add('btn--disabled')\n this.submitButtonTarget.disabled = 'disabled'\n }\n\n _enableSubmitButton(){\n this.submitButtonTarget.classList.remove('btn--disabled')\n this.submitButtonTarget.removeAttribute('disabled')\n }\n\n _showMessage(type, body){\n const props = this.messagesValue[type]\n this.messagePlaceholderTarget.innerText = ''\n\n const animation = document.createElement('span')\n animation.setAttribute('class', props.animation.styles)\n this.messagePlaceholderTarget.appendChild(animation)\n this._buildLottie(animation, props.animation.name, props.animation.speed)\n\n const text = document.createElement('span')\n if(body || props.text.body)\n text.innerText = body || props.text.body\n if(props.text.styles)\n text.setAttribute('class', props.text.styles)\n this.messagePlaceholderTarget.appendChild(text)\n }\n\n _buildLottie(container, name, speed){\n import(`@vendor/javascripts/lotties/${name}.json`).then(json => {\n const args = {\n container: container,\n animationData: json.default,\n renderer: 'svg',\n loop: false,\n autoplay: true\n }\n const instance = lottie.loadAnimation(args);\n if(speed)\n instance.setSpeed(speed)\n })\n }\n\n _getMessage(type){\n return this[type + 'MessageTarget']\n }\n\n _resetMessageAnimation(type){\n this[type + 'MessageTarget'].classList.add('hidden')\n if(this[type + 'MessageTarget'].querySelector('lottie-player')){\n this[type + 'MessageTarget'].querySelector('lottie-player').getLottie().goToAndPlay(0)\n }\n }\n\n _handleNodes(){\n const nodesLabel = this.form.querySelectorAll('input[name=\"nodes_label[]\"]');\n const nodesAnswer = this.form.querySelectorAll('input[name=\"nodes_answer[]\"]');\n\n localStorage.setItem('matchings', JSON.stringify([]))\n\n nodesLabel.forEach(node => {\n node.addEventListener('change', (event) => {\n let selectedNodeLabel = null\n const matchings = JSON.parse(localStorage.getItem('matchings'))\n const matchingsIndex = matchings.findIndex(matching => matching.labelID === event.target.id)\n if (!event.target.checked && matchingsIndex > -1) {\n const nodeAnswer = this.form.querySelector(`input[name=\"nodes_answer[]\"][id=\"${matchings[matchingsIndex].answerID}\"]`)\n if (nodeAnswer) {\n nodeAnswer.checked = false\n document.querySelector(`svg[data-first-element=\"${event.target.id}\"]`).remove()\n }\n matchings.splice(matchingsIndex, 1)\n }\n nodesLabel.forEach(label => {\n if (label.checked && !matchings.find(matching => matching.labelID === label.id)) {\n selectedNodeLabel = label\n }\n })\n if (selectedNodeLabel) {\n matchings.forEach((matching, index) => {\n if (!matching.answerID) {\n const node = this.form.querySelector(`input[name=\"nodes_label[]\"][id=\"${matching.labelID}\"]`)\n node.checked = false\n matchings.splice(index, 1)\n }\n })\n if (!matchings.find(matching => matching.labelID === selectedNodeLabel.id)) {\n matchings.push({ labelID: selectedNodeLabel.id, label: this.form.querySelector(`label[for=\"${selectedNodeLabel.id}\"]`).innerText })\n }\n nodesAnswer.forEach(answer => {\n if (!matchings.find(matching => matching.answerID === answer.id)) {\n answer.removeAttribute('disabled')\n const label = this.form.querySelector(`label[for=\"${answer.id}\"]`)\n label.classList.remove('bg-gray-400')\n label.classList.remove('border-gray-400')\n label.classList.add('bg-theme-indigo')\n label.classList.add('border-theme-indigo')\n }\n })\n } else {\n nodesAnswer.forEach(answer => {\n if (!answer.checked) {\n answer.setAttribute('disabled', 'disabled')\n const label = this.form.querySelector(`label[for=\"${answer.id}\"]`)\n label.classList.remove('bg-theme-indigo')\n label.classList.remove('border-theme-indigo')\n label.classList.add('bg-gray-400')\n label.classList.add('border-gray-400')\n }\n })\n }\n localStorage.setItem('matchings', JSON.stringify(matchings))\n })\n })\n\n nodesAnswer.forEach(node => {\n node.setAttribute('disabled', 'disabled')\n const label = this.form.querySelector(`label[for=\"${node.id}\"]`)\n label.classList.remove('bg-theme-indigo')\n label.classList.remove('border-theme-indigo')\n label.classList.add('bg-gray-400')\n label.classList.add('border-gray-400')\n node.addEventListener('change', (event) => {\n let selectedNodeAnswer = null\n const matchings = JSON.parse(localStorage.getItem('matchings'))\n const matchingsIndex = matchings.findIndex(matching => matching.answerID === event.target.id)\n if (!event.target.checked && matchingsIndex > -1) {\n const nodeLabel = this.form.querySelector(`input[name=\"nodes_label[]\"][id=\"${matchings[matchingsIndex].labelID}\"]`)\n nodeLabel.checked = false\n document.querySelector(`svg[data-second-element=\"${event.target.id}\"]`).remove()\n matchings.splice(matchingsIndex, 1)\n event.target.setAttribute('disabled', 'disabled')\n const label = this.form.querySelector(`label[for=\"${event.target.id}\"]`)\n label.classList.remove('bg-theme-indigo')\n label.classList.remove('border-theme-indigo')\n label.classList.add('bg-gray-400')\n label.classList.add('border-gray-400')\n }\n nodesAnswer.forEach(answer => {\n if (answer.checked && !matchings.find(matching => matching.answerID === answer.id)) {\n selectedNodeAnswer = answer\n }\n })\n if (selectedNodeAnswer) { \n matchings.forEach((matching, index) => {\n if (!matching.answerID) {\n matchings[index].answerID = selectedNodeAnswer.id\n matchings[index].answer = this.form.querySelector(`label[for=\"${selectedNodeAnswer.id}\"]`).innerText\n\n const labelElement = this.form.querySelector(`label[for=\"${matchings[index].labelID}\"]`)\n const answerElement = this.form.querySelector(`label[for=\"${matchings[index].answerID}\"]`)\n this.connectByLine(labelElement, answerElement, 'for', this.form)\n }\n })\n nodesAnswer.forEach(answer => {\n const matchingIndex = matchings.findIndex(matching => matching.answerID === answer.id)\n if (selectedNodeAnswer.id !== answer.id && matchingIndex === -1) {\n answer.setAttribute('disabled', 'disabled')\n const label = this.form.querySelector(`label[for=\"${answer.id}\"]`)\n label.classList.remove('bg-theme-indigo')\n label.classList.remove('border-theme-indigo')\n label.classList.add('bg-gray-400')\n label.classList.add('border-gray-400')\n }\n })\n }\n localStorage.setItem('matchings', JSON.stringify(matchings))\n })\n })\n\n this.submitMatchingButtonTarget.addEventListener('click', (event) => {\n event.preventDefault()\n\n let messageLength = 0;\n let attribute = this.form.getAttribute('action');\n let stats;\n if (window.self !== window.top) {\n attribute = attribute.replace('/surveys/', '/lms/surveys/') + '?jwt=' + window.localStorage.getItem('jwt')\n stats = JSON.parse(window.localStorage.getItem('quizStats-' + this.surveyID)) || { total: 0, correct: 0, status: 'unknown' }\n }\n\n const matchings = JSON.parse(localStorage.getItem('matchings'))\n const form_data = new FormData();\n form_data.append('participation[question_id]', this.form.dataset.questionId);\n form_data.append('participation[step_id]', this.form.closest('li').dataset.stepId);\n matchings.forEach(matching => {\n form_data.append('data[]', JSON.stringify({ label: matching.label, answer: matching.answer }));\n })\n\n const headers = jsRequestHeaders.headers;\n headers['x-csrf-token'] = document.querySelector('meta[name=\"csrf-token\"]')?.getAttribute('content');\n\n axios.post(attribute, form_data, { headers }).then(response => {\n if (this.isQuizzMode){\n const expected = response.data.question.quizz.answers.sort((a, b) => a.label.localeCompare(b.label))\n const actual = matchings.map(matching => ({ label: matching.label, answer: matching.answer })).sort((a, b) => a.label.localeCompare(b.label))\n\n if (window.self !== window.top) {\n stats.total += 1\n stats.status = 'unknown'\n }\n\n if(JSON.stringify(expected) === JSON.stringify(actual)){\n messageLength = this.successMessageLength\n this._showMessage('correct')\n if (window.self !== window.top) {\n stats.correct += 1\n }\n } else {\n messageLength = this.errorMessageLength\n this._showMessage('incorrect')\n }\n \n matchings.forEach((matching, index) => {\n const expectedAnswer = expected.find(expectedMatching => expectedMatching.label === matching.label)\n const nodeLabel = this.form.querySelector(`input[name=\"nodes_label[]\"][id=\"${matching.labelID}\"]`)\n const nodeAnswer = this.form.querySelector(`input[name=\"nodes_answer[]\"][id=\"${matching.answerID}\"]`)\n const labelLabel = this.form.querySelector(`label[for=\"${nodeLabel.id}\"]`)\n const labelAnswer = this.form.querySelector(`label[for=\"${nodeAnswer.id}\"]`)\n if (expectedAnswer.answer === labelAnswer.innerText) {\n labelLabel.style.backgroundColor = '#1bc5a9'\n labelLabel.style.borderColor = '#1bc5a9'\n labelAnswer.style.backgroundColor = '#1bc5a9'\n labelAnswer.style.borderColor = '#1bc5a9'\n } else {\n labelLabel.style.backgroundColor = '#ef4444'\n labelLabel.style.borderColor = '#ef4444'\n labelAnswer.style.backgroundColor = '#ef4444'\n labelAnswer.style.borderColor = '#ef4444'\n }\n })\n } else {\n if(!response.data['participation_skipped']){\n messageLength = this.nextMessageLength\n this._showMessage('success')\n }\n }\n if (window.self !== window.top) {\n window.localStorage.setItem('quizStats-' + this.surveyID, JSON.stringify(stats))\n }\n })\n .catch((error) => {\n if(error.response.data.participation_errors){\n Object.values(error.response.data.participation_errors).forEach(message => {\n messageLength = message.length\n this._showMessage('warning', message)\n })\n }\n })\n .finally(() => {\n localStorage.setItem('matchings', JSON.stringify([]))\n document.querySelectorAll(\"svg[data-first-element]\").forEach(svg => svg.remove());\n this._carouselSlideNext(messageLength, this.isQuizzMode)\n });\n })\n }\n\n connectByLine(firstElement, secondElement, idAttribute, container = document.body){ \n if (container.style.position === '') {\n container.style.position = 'relative';\n }\n\n const svg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n svg.dataset.firstElement = firstElement.getAttribute(idAttribute)\n svg.dataset.secondElement = secondElement.getAttribute(idAttribute)\n svg.style.position = \"absolute\";\n svg.style.top = \"0\";\n svg.style.left = \"0\";\n svg.style.width = \"100%\";\n svg.style.height = \"100%\";\n svg.style.pointerEvents = \"none\";\n \n const line = document.createElementNS(\"http://www.w3.org/2000/svg\", \"line\");\n\n const updateLinePosition = () => {\n const containerRect = container.getBoundingClientRect();\n const firstRect = firstElement.getBoundingClientRect();\n const secondRect = secondElement.getBoundingClientRect();\n\n line.setAttribute(\"x1\", firstRect.right - containerRect.left);\n line.setAttribute(\"y1\", firstRect.top + firstRect.height/2 - containerRect.top);\n line.setAttribute(\"x2\", secondRect.left - containerRect.left);\n line.setAttribute(\"y2\", secondRect.top + secondRect.height/2 - containerRect.top);\n }\n\n line.setAttribute(\"stroke\", \"#4F46E5\");\n line.setAttribute(\"stroke-width\", \"2\");\n \n svg.appendChild(line);\n container.appendChild(svg);\n\n updateLinePosition();\n\n window.addEventListener('resize', updateLinePosition);\n window.addEventListener('scroll', updateLinePosition);\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\nimport { jsRequestHeaders, trackAction } from '@javascript/javascripts/utils'\nimport Splide from '@splidejs/splide';\nimport '@splidejs/splide/css';\n\nexport default class extends Controller {\n\n static get targets() {\n return ['carousel', 'carouselPaginationNext', 'carouselPaginationPrev', 'carouselProgressBar', 'carouselProgressSteps', 'carouselLoader', 'surveyTitle', 'stepChapter', 'surveyCategoryTitle']\n }\n\n initialize() {\n this.quizzPaginationDelay = 2000;\n this.pollPaginationDelay = 500;\n this.canGoNext = true;\n }\n\n connect() {\n this.tracked = {}\n if(!this.element.dataset.disableCarousel){\n this._setupCarousel();\n } else {\n this.carouselTarget.classList.remove('max-h-screen')\n this.carouselTarget.classList.remove('overflow-hidden')\n Array.from(this.carouselTarget.childNodes).map(c => c.classList.add('p-16'))\n }\n this._displayLeaveWarningMessage()\n }\n\n _displayLeaveWarningMessage(){\n const text = this.data.get('abandonMessage')\n const all = [...document.querySelectorAll('a')]\n const exceptions = [...this.element.querySelectorAll('a')]\n const exiters = all.filter(a => exceptions.indexOf(a) === -1)\n const preventExit = (e) => {\n if(!confirm(text)){ e.preventDefault() }\n }\n exiters.map(a => a.addEventListener('click', preventExit))\n }\n\n carouselSlideNext(event){\n if (event && typeof event.preventDefault === 'function') {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n if (this.canGoNext) {\n this.canGoNext = false;\n const currentStepAttributes = this._getCurrentStepAttributes()\n if(currentStepAttributes.last){\n if (window.self !== window.top) {\n const url = this.data.get('confirmation-url').replace('/surveys/', '/lms/surveys/')\n document.location.href = url + '?jwt=' + localStorage.getItem('jwt')\n } else {\n document.location.href = this.data.get('confirmation-url')\n } \n } else {\n const lastProgressionPosition = document.querySelector('[data-track]').dataset.lastProgressionPosition;\n if (currentStepAttributes.position == lastProgressionPosition) {\n document.querySelector('[data-track]').dataset.lastProgressionPosition = currentStepAttributes.position + 1;\n }\n this.carousel.go('>');\n }\n }\n }\n\n carouselSlidePrev(event){\n event.preventDefault();\n this.carousel.go('<');\n }\n\n goToStep(event){\n event.preventDefault();\n const slide = this.carouselTarget.querySelector(`[data-step-id=\"${event.target.dataset.stepId}\"]`)\n this.carousel.go(`>${slide.dataset.carouselSlide}`);\n }\n\n _registerEvents(){\n this.carouselTarget.addEventListener('slide-next', (event) => {\n const stepAttributes = this._getCurrentStepAttributes(); \n if (window.self !== window.top) {\n let quizStats = window.localStorage.getItem('quizStats-' + stepAttributes.survey_id);\n let completedAt = null\n let correctAnswers = 0\n let totalAnswers = 0\n let scorePercent = 0\n let startSessionTime = 0\n let sessTimeSpent = 0\n\n if (quizStats) {\n quizStats = JSON.parse(quizStats)\n correctAnswers = quizStats.correct\n totalAnswers = quizStats.total\n scorePercent = totalAnswers > 0 ? Math.round((correctAnswers / totalAnswers) * 100) : 0\n startSessionTime = quizStats.startSessionTime\n if (startSessionTime) {\n sessTimeSpent = Math.round((new Date().getTime() - startSessionTime) / 1000)\n }\n\n let progressionPercent = (100 / (this.carousel.length)) * (this.carousel.index + 1)\n\n if(stepAttributes.last){\n completedAt = new Date().toISOString()\n progressionPercent = 100\n localStorage.removeItem('quizStats-' + stepAttributes.survey_id)\n }\n\n const message = {\n progressionPercent,\n scorePercent,\n completedAt,\n sessTimeSpent,\n successStatus: 'unknown'\n }\n\n if (completedAt == null) {\n window.parent.postMessage(message, '*')\n } else {\n quizStats.sessTimeSpent = sessTimeSpent\n quizStats.progressionPercent = progressionPercent\n quizStats.scorePercent = scorePercent\n quizStats.completedAt = completedAt\n localStorage.setItem('quizStats-' + stepAttributes.survey_id, JSON.stringify(quizStats))\n }\n }\n }\n\n if (this.canGoNext) {\n this.canGoNext = false;\n const paginationDelay = event.isQuizzMode ? this.quizzPaginationDelay : this.pollPaginationDelay;\n setTimeout(() => {\n if(stepAttributes.last){\n if (window.self !== window.top) {\n const url = this.data.get('confirmation-url').replace('/surveys/', '/lms/surveys/')\n document.location.href = url + '?jwt=' + localStorage.getItem('jwt')\n } else {\n document.location.href = this.data.get('confirmation-url')\n }\n } else {\n const lastProgressionPosition = document.querySelector('[data-track]').dataset.lastProgressionPosition;\n if (stepAttributes.position == lastProgressionPosition) {\n document.querySelector('[data-track]').dataset.lastProgressionPosition = stepAttributes.position + 1\n }\n this.carousel.go('>');\n }\n }, paginationDelay + event.messageLength * 20)\n }\n })\n this.carouselTarget.addEventListener('slide-prev', () => { this.carousel.go('<') })\n }\n\n _setupCarousel(){\n this.carousel = new Splide(this.carouselTarget, {\n role: 'region',\n arrows: false,\n trimSpace: false,\n pagination: false,\n speed: 200,\n rewind: false,\n drag: false,\n focusableNodes: 'a, button, textarea, input, select, iframe, media-player, [class^=\"vds-\"]',\n nonce: 'oVyNsBBOgnKX4o3kiJDiAQ=='\n });\n this.carousel.mount()\n\n if (window.self !== window.top) {\n const localStorage = window.localStorage;\n const currentStepAttributes = this._getCurrentStepAttributes();\n this.surveyID = currentStepAttributes.survey_id;\n\n if (!localStorage.getItem('quizStats-' + this.surveyID)) {\n localStorage.setItem('quizStats-' + this.surveyID, JSON.stringify({ correct: 0, total: 0, startSessionTime: new Date().getTime(), status: 'unknown' }));\n }\n }\n\n this._registerVideoPlayers()\n this._handleBrowserHistoryState()\n this._afterSlideChange();\n this._registerEvents();\n this.carousel.on('moved', this._afterSlideChange.bind(this))\n }\n\n _registerVideoPlayers() {\n document.addEventListener('video.ready', (e) => {\n this.loadedVideoPlayerComponents = this.loadedVideoPlayerComponents || {}\n this.loadedVideoPlayerComponents[e.detail.identifier || e.detail.player.id] = e.detail.player\n\n const currentPlayer = e.detail.player\n const playerStepId = e.detail.identifier.replace('step_', '')\n\n const handleVideoEnd = (playerStepId) => {\n const stepAttributes = this.carouselTarget.querySelector(`[data-step-id=\"${playerStepId}\"]`).dataset.stepAttributes\n if (stepAttributes.last) {\n if (window.self !== window.top) {\n const url = this.data.get('confirmation-url').replace('/surveys/', '/lms/surveys/')\n document.location.href = url + '?jwt=' + localStorage.getItem('jwt')\n } else {\n document.location.href = this.data.get('confirmation-url')\n }\n } else {\n setTimeout(() => {\n document.querySelector(`[data-step-id=\"${playerStepId}\"] [data-action=\"app--survey-steps--survey-steps-component#carouselSlideNext\"]`).classList.remove('hidden');\n }, 1000)\n this.carouselSlideNext()\n }\n };\n\n currentPlayer.addEventListener('pause', (e) => {\n for (const trigger of e.triggers?.chain) {\n if (trigger.data) {\n const data = JSON.parse(trigger.data)\n if (data?.data?.percent >= 0.985) {\n handleVideoEnd(currentPlayer.parentElement.dataset.stepId)\n }\n }\n }\n })\n });\n }\n\n _afterSlideChange(){\n const element = document.querySelector('[data-track]');\n const dataTrackValue = element.dataset.track;\n this._updateProgressElements()\n this._updatePageUrl()\n if(dataTrackValue === 'true') {\n this._trackStepView();\n }\n this._handleVideoPlayers();\n this._disableLeaveWarningMessage();\n this._toggleNavigation();\n this.canGoNext = true;\n }\n\n _disableLeaveWarningMessage(){\n }\n\n _handleVideoPlayers(){\n const stepAttributes = this._getCurrentStepAttributes()\n const currentPlayerIdentifier = `step_${stepAttributes.id}`\n\n // when navigating through slides, pause all players by default\n if(this.videoPlayer){\n this.videoPlayer.pause()\n }\n\n\n // when navigating through slides, activate play only current step player\n if(this.loadedVideoPlayerComponents && this.loadedVideoPlayerComponents[currentPlayerIdentifier]){\n this.videoPlayer = this.loadedVideoPlayerComponents[currentPlayerIdentifier]\n }\n }\n\n _handleBrowserHistoryState(){\n const url = new URL(document.location);\n const params = new URLSearchParams(url.search.slice(1));\n const currentStepAttributes = this._getCurrentStepAttributes();\n\n if(params.get('step_id') != null || currentStepAttributes.first_step_to_display_id != null){\n const slide = this.carouselTarget.querySelector(`[data-step-id=\"${currentStepAttributes.first_step_to_display_id || params.get('step_id')}\"]`)\n this.carousel.go(`>${slide.dataset.carouselSlide}`)\n this._toggleNavigation();\n }\n window.onpopstate = (event) => {\n if(event.state && parseInt(event.state.slideIndex, 10) > -1){\n this.carousel.go(`>${event.state.slideIndex}`)\n }\n }\n }\n\n _updatePageUrl(){\n const url = new URL(window.location);\n const params = new URLSearchParams(url.search.slice(1));\n\n if(this.carousel.index === 0){\n params.delete('step_id')\n } else {\n params.set('step_id', this._getCurrentStepAttributes().id)\n }\n\n if(window.history.state && (window.history.state.slideIndex != this.carousel.index)){\n const qs = params.toString()\n const location = window.location.protocol + \"//\" + window.location.host + window.location.pathname + (qs.length > 0 ? `?${params.toString()}` : '');\n window.history.pushState({ slideIndex: this.carousel.index }, '', location);\n }\n }\n\n _updateProgressElements(){\n if(this.hasStepChapterTarget){\n this.stepChapterTarget.innerHTML = this._getCurrentStepAttributes().chapter\n }\n\n this.carouselProgressStepsTarget.innerHTML = `${this.carousel.index + 1}/${this.carousel.length}`\n this.carouselProgressBarTarget.style.width = `${this._computeProgress()}%`\n }\n\n _focusIfInputIsPresent(){\n const input = this._getCurrentSlide().querySelectorAll('input[type=\"text\"],textarea')[0]\n if(input && screen.width > 1200){ setTimeout(() => input.focus(), 1500) }\n }\n\n _trackStepView(){\n const currentStepAttributes = this._getCurrentStepAttributes();\n if(this._getCurrentStepAttributes().last){\n const surveyEndTrackingKey = `surveys/end`\n if(!this.tracked[surveyEndTrackingKey]){\n trackAction('stepview', surveyEndTrackingKey, { step_position: currentStepAttributes.position })\n this.tracked[surveyEndTrackingKey] = 1\n }\n }\n const defaultTrackingKey = `/surveys/${currentStepAttributes.survey_id}/steps/${currentStepAttributes.id}`\n if(!this.tracked[defaultTrackingKey]){\n trackAction('stepview', defaultTrackingKey, { step_position: currentStepAttributes.position })\n this.tracked[defaultTrackingKey] = 1\n }\n }\n\n _fixCarouselCss(){\n const style = this.carouselTarget.getAttribute('style')\n const regexp = /translate3d\\((\\-)?((\\d+)\\.\\d+%)/\n if(style.match(regexp)){\n this.carouselTarget.setAttribute('style', style.replace(regexp, 'translate3d($1$3%'))\n }\n }\n\n _computeProgress (){ return (100 / (this.carousel.length - 1)) * (this.carousel.index) }\n\n _getCurrentStepAttributes (){ return JSON.parse(this._getCurrentSlide().dataset.stepAttributes) }\n\n _getCurrentSlide(){ return this.carouselTarget.querySelector('[data-carousel-slide=\"' + this.carousel.index + '\"]') }\n\n _toggleNavigation() {\n const element = document.querySelector('[data-track]');\n const lastProgressionPosition = element.dataset.lastProgressionPosition;\n const currentStepAttributes = this._getCurrentStepAttributes()\n\n if (currentStepAttributes.position > 1) {\n document.querySelector('button[aria-label=\"Previous\"]:not(.custom-nav)')?.classList.remove('hidden')\n } else {\n document.querySelector('button[aria-label=\"Previous\"]:not(.custom-nav)')?.classList.add('hidden')\n }\n\n if (currentStepAttributes.position < lastProgressionPosition) {\n document.querySelector('button[aria-label=\"Next\"]:not(.custom-nav)')?.classList.remove('hidden')\n } else {\n document.querySelector('button[aria-label=\"Next\"]:not(.custom-nav)')?.classList.add('hidden')\n }\n\n document.querySelectorAll('.summary-chapter').forEach(chapter => {\n chapter.classList.remove('text--primary')\n chapter.classList.remove('font-bold')\n if (chapter.textContent === currentStepAttributes.chapter) {\n chapter.classList.add('text--primary')\n chapter.classList.add('font-bold')\n }\n })\n }\n\n _roundCssTransformMatrix(el){\n el.style.transform = \"\";\n let mx = window.getComputedStyle(el, null);\n if(mx){\n mx = mx.getPropertyValue(\"-webkit-transform\") ||\n mx.getPropertyValue(\"-moz-transform\") ||\n mx.getPropertyValue(\"-ms-transform\") ||\n mx.getPropertyValue(\"-o-transform\") ||\n mx.getPropertyValue(\"transform\") || false;\n\n let values = mx.replace(/ |\\(|\\)|matrix/g,\"\").split(\",\");\n for(const v in values) { values[v] = v > 4 ? Math.ceil(values[v]) : values[v] }\n el.style.transform = \"matrix(\" + values.join() + \")\"\n }\n }\n\n}\n","// import 'core-js/stable'\n// import 'regenerator-runtime/runtime'\n\nrequire('@rails/activestorage').start()\n// require('channels')\n\nimport '@javascript/javascripts/extends'\nimport '@javascript/stylesheets/app.css';\nimport '@javascript/stylesheets/shared/tooltip.css';\n\nimport \"@hotwired/turbo-rails\"\nimport { Application } from \"@hotwired/stimulus\"\nimport { definitionsFromContext } from \"@hotwired/stimulus-webpack-helpers\"\nimport { Popover, Slideover, Toggle } from \"tailwindcss-stimulus-components\"\n\nconst application = Application.start()\napplication.register('popover', Popover)\napplication.register('slideover', Slideover)\napplication.register('toggle', Toggle)\n\nconst context = require.context('../controllers', true, /.js$/)\nconst components = require.context('../../components', true, /(shared|app).+_controller\\.js$/)\napplication.load(definitionsFromContext(context).concat(definitionsFromContext(components)))\n\ndocument.addEventListener('turbo:before-cache', () => {\n application.controllers.forEach(controller => {\n if (typeof controller.teardown === 'function') {\n controller.teardown()\n }\n })\n})"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","_default","_Controller","_classCallCheck","_callSuper","arguments","_inherits","key","get","value","this","options","data","JSON","parse","handleExternalLinks","tracking","handleTracking","indicator","handleIndicator","element","querySelectorAll","forEach","link","host","window","location","target","_this","addEventListener","isInViewport","indicatorHolderTarget","indicatorTarget","classList","remove","add","_this2","cache","completion","windowBottom","pageYOffset","document","documentElement","body","parentNode","scrollTop","innerHeight","clientHeight","elementTop","articleBodyTarget","offsetTop","Math","floor","getElementHeight","style","width","concat","scope","trackAction","Controller","posthog","__loaded","init","process","api_host","POSTHOG_API_HOST","_ref","event","userId","_ref$properties","properties","_ref$context","context","identify","eventProperties","_objectSpread","groupId","$groups","account","accountId","capture","error","console","_regeneratorRuntime","t","r","prototype","n","hasOwnProperty","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","then","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","_asyncToGenerator","fn","self","args","apply","err","undefined","_defineProperties","props","descriptor","_toPropertyKey","toPrimitive","String","Number","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","bind","_setPrototypeOf","instance","Constructor","protoProps","staticProps","_reviewSurvey","_downloadCertificate","subClass","superClass","defaults","origin","fire","particleRatio","opts","confetti","assign","particleCount","hostname","startsWith","spread","startVelocity","decay","scalar","getElementById","display","surveyId","querySelector","participantId","axios","url","Env","api_url","headers","certificate","dataset","isEvaluationSurvey","localStorage","getItem","setItem","reload","i18nLocale","issuedOn","Date","isCertified","innerHTML","participantName","toLocaleDateString","surveyTitle","surveyDescription","href","certificateLink","accountLogo","src","logoUrl","getFullYear","getMonth","certificateId","top","sendQuizStatsMessage","response","status","preventDefault","escapeHTML","currentUrl","replace","substring","_callee2","surveyName","trackedEntity","content","logoElement","_context2","analytics","cloneNode","getTime","fetch","_callee","reader","_context","margin","filename","image","quality","html2canvas","scale","blob","FileReader","readAsDataURL","onload","imageData","result","html2pdf","set","from","outputPdf","save","_x2","_x","_callee3","_context3","srcElement","reviewSurveyUrl","_x3","successStatus","quizStats","message","progressionPercent","scorePercent","completedAt","sessTimeSpent","parent","postMessage","removeItem","str","char","parentElement","surveyHashId","locale","pathname","includes","_this$form$dataset$ne","_this$form$dataset$su","_this$form$dataset$er","form","carousel","isQuizzMode","isTruthy","isQuizz","isDisabled","disabled","lastStep","surveyID","isNodes","surveyType","nextMessageLength","nextMessage","successMessageLength","successMessage","errorMessageLength","errorMessage","_disableForm","hasSubmitButtonTarget","_toConsumableArray","input","_handleSubmitButtonState","_handleNodes","nodeName","stats","messageLength","attribute","getAttribute","total","correct","post","FormData","jsRequestHeaders","expected","question","quizz","answers","sort","actual","Array","parseInt","equals","_showMessage","questionId","stringify","participation_errors","_carouselSlideNext","textarea","charsLimit","charsCount","charsCountHintTarget","action","setAttribute","CustomEvent","dispatchEvent","_disableSubmitButton","_enableSubmitButton","submitButtonTarget","removeAttribute","messagesValue","messagePlaceholderTarget","innerText","animation","createElement","styles","appendChild","_buildLottie","speed","text","container","json","animationData","renderer","loop","autoplay","lottie","setSpeed","getLottie","goToAndPlay","_this3","nodesLabel","nodesAnswer","node","selectedNodeLabel","matchings","matchingsIndex","findIndex","matching","labelID","checked","nodeAnswer","answerID","splice","label","find","index","answer","selectedNodeAnswer","labelElement","answerElement","connectByLine","matchingIndex","submitMatchingButtonTarget","_document$querySelect","form_data","append","closest","stepId","b","localeCompare","expectedAnswer","expectedMatching","nodeLabel","labelLabel","labelAnswer","backgroundColor","borderColor","svg","firstElement","secondElement","idAttribute","position","createElementNS","left","height","pointerEvents","line","updateLinePosition","containerRect","getBoundingClientRect","firstRect","secondRect","right","_defineProperty","messages","quizzPaginationDelay","pollPaginationDelay","canGoNext","tracked","disableCarousel","carouselTarget","childNodes","_setupCarousel","_displayLeaveWarningMessage","all","exceptions","exiters","filter","indexOf","preventExit","confirm","stopImmediatePropagation","currentStepAttributes","_getCurrentStepAttributes","last","lastProgressionPosition","go","slide","carouselSlide","stepAttributes","survey_id","correctAnswers","totalAnswers","startSessionTime","round","toISOString","paginationDelay","setTimeout","Splide","role","arrows","trimSpace","pagination","rewind","drag","focusableNodes","nonce","mount","_registerVideoPlayers","_handleBrowserHistoryState","_afterSlideChange","_registerEvents","on","loadedVideoPlayerComponents","detail","identifier","player","currentPlayer","handleVideoEnd","playerStepId","carouselSlideNext","_e$triggers","_step","_iterator","_createForOfIteratorHelper","triggers","chain","trigger","_data$data","percent","dataTrackValue","track","_updateProgressElements","_updatePageUrl","_trackStepView","_handleVideoPlayers","_disableLeaveWarningMessage","_toggleNavigation","currentPlayerIdentifier","videoPlayer","pause","URL","params","URLSearchParams","search","first_step_to_display_id","onpopstate","state","slideIndex","history","qs","toString","protocol","pushState","hasStepChapterTarget","stepChapterTarget","chapter","carouselProgressStepsTarget","carouselProgressBarTarget","_computeProgress","_getCurrentSlide","screen","focus","surveyEndTrackingKey","step_position","defaultTrackingKey","regexp","match","_document$querySelect2","_document$querySelect3","_document$querySelect4","textContent","el","transform","mx","getComputedStyle","getPropertyValue","split","ceil","join","require","application","Application","start","register","Popover","Slideover","Toggle","components","load","definitionsFromContext","controllers","controller","teardown"],"sourceRoot":""}