{"version":3,"file":"js/application-2cab67a7bf05634471a8.js","mappings":";8nDA8FA,UA/E0D,SAACA,GACzD,IAAuFC,EAAAC,GAAvCC,EAAAA,EAAAA,eAA6BC,GAAU,GAAhFC,EAAgBJ,EAAA,GAAEK,EAAmBL,EAAA,GAG5CM,GAA6DC,EAAAA,EAAAA,gCAA+BH,EAF9E,IAEsGI,EAAAF,EAA5GG,KAAMC,OAAQ,IAAAF,EAAG,GAAEA,EAAEG,EAAOL,EAAPK,QAASC,EAASN,EAATM,UAAWC,EAAOP,EAAPO,SAEjDC,EAAAA,EAAAA,YAAU,WAEHH,GACP,GAAG,CAACP,KAEJU,EAAAA,EAAAA,YAAU,WACPC,OAAeC,EAAEC,WAAWC,KAAKC,SAASC,iBAAiB,oBAC9D,GAAG,CAACrB,EAAMsB,SAEVP,EAAAA,EAAAA,YAAU,WAAO,IAADQ,EACRC,EAAkD,QAA9CD,EAAIH,SAASK,eAAe,0BAAkB,IAAAF,OAAA,EAA3CA,EAAqDG,kBACrDtB,IAAToB,GAA+B,OAATA,IACxBA,EAAKG,mBACLH,EAAKI,qBAET,GAAG,CAACvB,IAqBJ,OACEwB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,wCAEdF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UACEG,GAAG,kBACHC,WAA4B7B,IAArBC,EAA8B,GAAA6B,OAAM7B,QAAqBD,EAChE+B,SAAU,WACR,IAAMC,mIAAgBC,CAAAC,EAAIC,MAAMC,KAAMpB,SAASK,eAAe,mBAAyCgB,UACpGC,QAAO,SAACC,GAAC,OAAKA,EAAEC,QAAQ,IACxBC,KAAI,SAACF,GAAC,OAAKA,EAAEV,KAAK,IAAE,GACvB3B,EAAqBwC,MAAMC,SAASX,SAA4ChC,EAA1B2C,SAASX,GACjE,GAEAP,EAAAA,cAAA,UAAQI,MAAM,KAlCpBJ,EAAAA,cAAAA,EAAAA,SAAA,KACG7B,EAAMsB,MAAMuB,KAAI,SAACG,GAChB,OAA0BA,EAAKC,QA9BxBC,OAAM,SAAAC,GAAM,OAA6B,IAAzBA,EAAOC,aAAmB,IA+BxC,KAGPvB,EAAAA,cAAA,YAAUwB,MAAOL,EAAKM,KAAMC,IAAKP,EAAKM,MACnCN,EAAKC,QAAQP,QAAO,SAAAS,GAAM,OAA6B,IAAzBA,EAAOC,aAAmB,IAAEP,KAAI,SAAAM,GAAM,OACnEtB,EAAAA,cAAA,UAAQI,MAAOkB,EAAOnB,GAAIuB,IAAKJ,EAAOnB,IAAKmB,EAAOG,KAAc,IAIxE,MAyBEzB,EAAAA,cAAA,aAAQE,IAAAA,EAAO,oCAGnBF,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,EAAW6C,OAAQ5C,EAAS6C,aAAW,GACvC,IAApBhD,EAASiD,aAAqCxD,IAArBC,GACxBwB,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,mDAEhBpB,EAASiD,OAAS,GACjB/B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACgC,EAAAA,QAAc,CAAClD,SAAUA,MAMtC,sECtEA,UAZuD,SAAHmD,GAA0D,IAApDL,EAAKK,EAALL,MAAOM,EAAQD,EAARC,SAAUJ,EAAWG,EAAXH,YAAWK,EAAAF,EAAEJ,OAAAA,OAAM,IAAAM,GAAQA,EACpG,OACEnC,EAAAA,cAAAA,EAAAA,SAAA,MACI6B,GACA7B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACoC,EAAAA,QAAO,CAACR,MAAOA,EAAOE,YAAaA,IACnCF,GAASM,GAIpB,sBCpBA,WAOA,WAAY,SAASG,EAAEC,GAAG,OAAOA,EAAEC,MAAM,IAAIC,UAAUC,KAAK,GAAG,CAAC,SAASC,EAAEJ,EAAEK,EAAEC,GAAG,IAAIN,EAAEK,IAAIL,EAAEM,KAAKN,EAAEK,KAAKL,EAAEM,GAAG,MAAMC,MAAMF,EAAG,CAAC,SAASG,EAAER,EAAEK,EAAEC,EAAEG,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,GAAGL,EAAEK,EAAE,IAAIC,EAAEC,EAAEH,EAAE,GAAe,OAAZL,IAAIM,EAAEN,EAAEM,MAAO,kBAAkBA,IAAIG,SAASH,MAAYjB,GAAG,IAAIqB,WAAWJ,EAAEK,QAAQtB,MAAMiB,EAAE,GAAG,EAAEA,IAAIC,GAAE,EAAGD,EAAEM,KAAKC,IAAIP,IAAIjB,IAAIW,EAAEY,KAAKE,IAAI,GAAGzB,GAAGiB,GAAGM,KAAKG,MAAMT,EAAEN,GAAGA,GAAGW,QAAQtB,KAAoB,KAAhBiB,EAAEA,EAAEU,YAAkBC,QAAQ,OAAO5B,EAAEiB,EAAEhB,MAAM,KAAKgB,EAAEjB,EAAE,GAAGM,IAAIU,EAAEV,EAAEN,EAAE,KAAKK,IAAIY,EAAElB,EAAEkB,GAAGY,MAAM,WAAWZ,EAAElB,EAAEkB,EAAEd,KAAKJ,EAAEM,MAAMa,GAAGL,IAAIM,GAAGN,GAAGJ,IAAIU,GAAGV,GAC/eS,GAAGJ,IAAIK,GAAGL,GAAGK,EAAEA,EAAEF,EAAED,EAAEN,IAAIS,GAAGT,GAAGK,IAAII,EAAEJ,EAAEI,EAAEP,IAAWO,EAAC,CAAC,SAASW,EAAE9B,EAAEK,EAAEC,EAAEG,EAAEC,EAAEK,EAAEH,EAAEC,EAAEC,EAAEf,EAAEiB,EAAEC,GAAG,IAAIC,EAAmB,OAAjBlB,EAAE,GAAGgB,IAAIC,EAAED,EAAEC,OAAQA,GAAG,kBAAkBA,KAAWJ,GAAGI,EAAEc,UAAU,EAAElB,EAAEpB,UAAUoB,IAAII,EAAEA,EAAEe,QAAQnB,EAAE,IAAIK,GAAE,GAAIT,GAAGQ,EAAEc,UAAU,EAAEtB,EAAEhB,UAAUgB,IAAIQ,EAAEA,EAAEe,QAAQvB,EAAE,KAAKK,GAAGG,EAAEc,UAAU,EAAEjB,EAAErB,UAAUqB,IAAIG,EAAEA,EAAEe,QAAQlB,EAAE,IAAII,GAAE,GAAIR,GAAGO,EAAEgB,OAAO,EAAEvB,EAAEjB,UAAUiB,IAAIO,EAAEA,EAAEgB,MAAM,GAAG,EAAEvB,EAAEjB,SAASY,IAAIY,EAAEA,EAAEhB,MAAMI,GAAGF,KAAK,KAAKG,IAAIW,EAAEA,EAAEe,QAAQ1B,EAAE,MAAMY,IAAIlB,GAAG,KAAKA,EAAEkC,QAAQlC,EAAEiB,GAAGe,QAAQ,eAAe,KAAKpB,IAAIZ,EAAEY,EAAEZ,MAAU,kBAC5eA,IAAGoB,SAASpB,KAAGA,EAAI,CAA0Y,SAASmC,EAAEnC,EAAEK,EAAEC,GAAG,IAAIG,EAAEC,EAAE,GAAG,IAAID,EAAE,EAAEA,EAAEM,EAAEtB,OAAOgB,GAAG,EAAEC,EAAE0B,KAAKpC,EAAEe,EAAEN,KAAe,OAAVC,EAAE0B,KAAK9B,GAAUD,EAAEgC,MAAM,GAC9f3B,EAAE,CAAiK,IAAIK,EAAE,0FAA0Fd,MAAM,KAAKpD,OAAOyF,MAAlR,SAASC,EAAEvC,GAAG,KAAKwC,gBAAgBD,GAAG,OAAO,IAAIA,EAAEvC,GAAG,kBAAkBA,IAAIA,EADxD,SAAWA,GAAG,IAAIK,EAAEC,EAAEG,EAAEC,EAAE,CAAC,EAAE,IAAIL,EAAE,EAAEA,EAAEU,EAAEtB,OAAOY,GAAG,OAAgB,KAAPI,EAAET,EAATM,EAAES,EAAEV,KAAqBK,EAAEJ,GAAG,aAAaA,GAAGI,EAAE+B,eAAe,SAASnC,GAAG,MAAMI,EAAEgC,UAAS,IAAO,IAAI,aAAapC,EAAE,EAAEG,GAAG,EAAEA,IAAIC,EAAEJ,GAAGG,GAAG,YAAYH,GAAG,YAAYA,GAAG,SAASA,GAAG,SAASA,EAAE,oBAAoBG,IAAIC,EAAEJ,GAAGG,GAAG,kBAAkBA,IAAIC,EAAEJ,GAAGG,GAAkF,OAA/EL,EAAEM,EAAE,OAAO,YAAYN,EAAEM,EAAE,SAAS,YAAYN,EAAEM,EAAE,SAAS,kBAAyBA,CAAC,CAC9UlC,CAAEwB,GAAGwC,KAAKG,GAAG,SAAStC,GAAG,OAAO8B,EAAEnC,EAAEQ,EAAEH,EAAE,EAAEmC,KAAKnE,KAAK,SAASgC,GAAG,OAAO8B,EAAEnC,EAAE8B,EAAEzB,EAAE,EAAE,CAA2H,CAHjS,GAYQuC,EAAO,QAAW,2BAAP,EAajB,WAEE,aAIA,SAASC,EAAYC,EAAQnF,GACzB,IAAIoF,EAAM9F,SAAS+F,cAAc,OAGjC,OAFAC,EAASF,EAAKpF,GACdmF,EAAOI,YAAYH,GACZA,CACX,CAGA,SAASI,EAASC,GACd,OAAOA,EAAM7E,QAAO,SAAS0C,GACzB,OAAQuB,KAAKvB,KAAKuB,KAAKvB,IAAK,EAChC,GAAG,CAAC,EACR,CAGA,SAASoC,EAAUvF,EAAO6E,GACtB,OAAOpB,KAAKG,MAAM5D,EAAQ6E,GAAMA,CACpC,CAGA,SAASW,EAASjG,EAAMkG,GAEpB,IAAIC,EAAOnG,EAAKoG,wBAEZC,EADMrG,EAAKsG,cACGC,gBACdC,EAAaC,IASjB,MAJK,0BAA0BC,KAAKC,UAAUC,aAC1CJ,EAAWrF,EAAI,GAGZ+E,EAAeC,EAAKU,IAAML,EAAWM,EAAIT,EAAQU,UAAcZ,EAAKa,KAAOR,EAAWrF,EAAIkF,EAAQY,UAC7G,CAGA,SAASC,EAAYtD,GACjB,MAAoB,kBAANA,IAAmBtC,MAAOsC,IAAOG,SAAUH,EAC7D,CAGA,SAASuD,EAAcC,EAAS9G,EAAW+G,GACnCA,EAAW,IACXzB,EAASwB,EAAS9G,GAClBgH,YAAW,WACPC,EAAYH,EAAS9G,EACzB,GAAG+G,GAEX,CAGA,SAASG,EAAQ5D,GACb,OAAOM,KAAKuD,IAAIvD,KAAKwD,IAAI9D,EAAG,KAAM,EACtC,CAIA,SAAS+D,EAAU/D,GACf,OAAO7C,MAAM6G,QAAQhE,GAAKA,EAAI,CAACA,EACnC,CAGA,SAASiE,EAAgBC,GAErB,IAAIC,GADJD,EAASE,OAAOF,IACIlF,MAAM,KAC1B,OAAOmF,EAAO3F,OAAS,EAAI2F,EAAO,GAAG3F,OAAS,CAClD,CAGA,SAASwD,EAAWqC,EAAI3H,GACf2H,EAAGC,UACJD,EAAGC,UAAUC,IAAI7H,GAEjB2H,EAAG3H,WAAa,IAAMA,CAE9B,CAGA,SAASiH,EAAcU,EAAI3H,GAClB2H,EAAGC,UACJD,EAAGC,UAAUE,OAAO9H,GAEpB2H,EAAG3H,UAAY2H,EAAG3H,UAAUqE,QAAQ,IAAI0D,OAAO,UAAY/H,EAAUsC,MAAM,KAAKE,KAAK,KAAO,UAAW,MAAO,IAEtH,CAGA,SAASwF,EAAWL,EAAI3H,GACpB,OAAO2H,EAAGC,UAAYD,EAAGC,UAAUK,SAASjI,GAAa,IAAI+H,OAAO,MAAQ/H,EAAY,OAAOoG,KAAKuB,EAAG3H,UAC3G,CAGA,SAASmG,IAEL,IAAI+B,OAA2C5J,IAAvBY,OAAOiJ,YAC3BC,EAAgD,gBAA/B9I,SAAS+I,YAAc,IAI5C,MAAO,CACHxH,EAJIqH,EAAoBhJ,OAAOiJ,YAAcC,EAAe9I,SAAS2G,gBAAgBqC,WAAahJ,SAASiJ,KAAKD,WAKhH9B,EAJI0B,EAAoBhJ,OAAOsJ,YAAcJ,EAAe9I,SAAS2G,gBAAgBwC,UAAYnJ,SAASiJ,KAAKE,UAMvH,CAKA,SAASC,IAIL,OAAOxJ,OAAOmH,UAAUsC,eAAiB,CACjCC,MAAO,cACPC,KAAM,cACNC,IAAK,aACL5J,OAAOmH,UAAU0C,iBAAmB,CAChCH,MAAO,gBACPC,KAAM,gBACNC,IAAK,eACL,CACAF,MAAO,uBACPC,KAAM,sBACNC,IAAK,mBAErB,CAMA,SAASE,EAAgBC,EAAIC,GACzB,OAAQ,KAAOA,EAAKD,EACxB,CAGA,SAASE,EAAiBC,EAAOjJ,GAC7B,OAAgB,IAARA,GAAiBiJ,EAAM,GAAKA,EAAM,GAC9C,CAGA,SAASC,EAAeD,EAAOjJ,GAC3B,OAAOgJ,EAAgBC,EAAOA,EAAM,GAAK,EACrCjJ,EAAQyD,KAAKC,IAAIuF,EAAM,IACvBjJ,EAAQiJ,EAAM,GACtB,CAGA,SAASE,EAAeF,EAAOjJ,GAC3B,OAASA,GAAUiJ,EAAM,GAAKA,EAAM,IAAQ,IAAOA,EAAM,EAC7D,CAKA,SAASG,EAAOpJ,EAAOqJ,GAInB,IAFA,IAAIC,EAAI,EAEAtJ,GAASqJ,EAAIC,IACjBA,GAAK,EAGT,OAAOA,CACX,CAGA,SAASC,EAAaC,EAAMC,EAAMzJ,GAE9B,GAAKA,GAASwJ,EAAKrF,OAAO,GAAG,GACzB,OAAO,IAGX,IAA6BuF,EAAIC,EAAIb,EAAIC,EAArCO,EAAIF,EAAMpJ,EAAOwJ,GAOrB,OALAE,EAAKF,EAAKF,EAAE,GACZK,EAAKH,EAAKF,GACVR,EAAKW,EAAKH,EAAE,GACZP,EAAKU,EAAKH,GAEHR,EAAMI,EAAa,CAACQ,EAAIC,GAAK3J,GAAS6I,EAAeC,EAAIC,EACpE,CAGA,SAASa,EAAeJ,EAAMC,EAAMzJ,GAGhC,GAAKA,GAAS,IACV,OAAOwJ,EAAKrF,OAAO,GAAG,GAG1B,IAAqC2E,EAAjCQ,EAAIF,EAAMpJ,EAAOyJ,GAOrB,OAAON,EAAa,CALfK,EAAKF,EAAE,GACPE,EAAKF,KAIqBtJ,GAH/B8I,EAAKW,EAAKH,EAAE,KAGiCT,EAAeC,EAFvDW,EAAKH,IAGd,CAGA,SAASO,EAAUJ,EAAMK,EAAQC,EAAM/J,GAEnC,GAAe,MAAVA,EACD,OAAOA,EAGX,IAA6BmD,EAAGjB,EAA5BoH,EAAIF,EAAMpJ,EAAOyJ,GAGrB,OAAKM,EAMI/J,GAJLmD,EAAIsG,EAAKH,EAAE,MACXpH,EAAIuH,EAAKH,IAGanG,GAAG,EACdjB,EAGJiB,EAGL2G,EAAOR,EAAE,GAIRG,EAAKH,EAAE,GAAK/D,EACXvF,EAAQyJ,EAAKH,EAAE,GACfQ,EAAOR,EAAE,IALNtJ,CAOf,CAKA,SAASgK,EAAmBC,EAAOjK,EAAOkK,GAEtC,IAAIC,EAQJ,GALsB,kBAAVnK,IACRA,EAAQ,CAACA,IAIoC,mBAA5CoK,OAAOC,UAAUxG,SAASyG,KAAMtK,GACjC,MAAM,IAAIyC,MAAM,+CAapB,IAAMgE,EARF0D,EADW,QAAVF,EACY,EACK,QAAVA,EACK,IAEA1G,WAAY0G,MAIKxD,EAAWzG,EAAM,IAC/C,MAAM,IAAIyC,MAAM,4CAIpByH,EAAKT,KAAKnF,KAAM6F,GAChBD,EAAKV,KAAKlF,KAAMtE,EAAM,IAKhBmK,EAKFD,EAAKJ,OAAOxF,MAAMzD,MAAMb,EAAM,KAAcA,EAAM,IAJ5Ca,MAAOb,EAAM,MACfkK,EAAKJ,OAAO,GAAK9J,EAAM,IAM/BkK,EAAKK,qBAAqBjG,KAAK,EACnC,CAEA,SAASkG,EAAkBC,EAAGvH,EAAGgH,GAG7B,IAAMhH,EACF,OAAO,EAIXgH,EAAKJ,OAAOW,GAAKzB,EAAe,CACxBkB,EAAKV,KAAKiB,GACTP,EAAKV,KAAKiB,EAAE,IACdvH,GAAK2F,EACJqB,EAAKT,KAAKgB,GACVP,EAAKT,KAAKgB,EAAE,IAEpB,IAAIC,GAAcR,EAAKV,KAAKiB,EAAE,GAAKP,EAAKV,KAAKiB,IAAMP,EAAKS,UAAUF,GAC9DG,EAAcnH,KAAKoH,KAAKzG,OAAOsG,EAAWlH,QAAQ,IAAM,GACxDsH,EAAOZ,EAAKV,KAAKiB,GAAMP,EAAKS,UAAUF,GAAKG,EAE/CV,EAAKK,qBAAqBE,GAAKK,CACnC,CAQA,SAASC,EAAWC,EAAOjB,EAAMkB,EAAWC,GAExCxG,KAAK+E,KAAO,GACZ/E,KAAK8E,KAAO,GACZ9E,KAAKoF,OAAS,CAAEoB,IAAc,GAC9BxG,KAAKiG,UAAY,EAAE,GACnBjG,KAAK6F,qBAAuB,GAE5B7F,KAAKqF,KAAOA,EACZrF,KAAKuG,UAAYA,EAEjB,IAAIhB,EAAOkB,EAAU,GAGrB,IAAMlB,KAASe,EACNA,EAAMI,eAAenB,IACtBkB,EAAQ7G,KAAK,CAAC0G,EAAMf,GAAQA,IAapC,IARKkB,EAAQxJ,QAAmC,kBAAlBwJ,EAAQ,GAAG,GACrCA,EAAQE,MAAK,SAASlI,EAAGjB,GAAK,OAAOiB,EAAE,GAAG,GAAKjB,EAAE,GAAG,EAAI,IAExDiJ,EAAQE,MAAK,SAASlI,EAAGjB,GAAK,OAAOiB,EAAE,GAAKjB,EAAE,EAAI,IAKhD+H,EAAQ,EAAGA,EAAQkB,EAAQxJ,OAAQsI,IACrCD,EAAiBmB,EAAQlB,GAAO,GAAIkB,EAAQlB,GAAO,GAAIvF,MAQ3D,IAHAA,KAAKiG,UAAYjG,KAAKoF,OAAO3F,MAAM,GAG7B8F,EAAQ,EAAGA,EAAQvF,KAAKiG,UAAUhJ,OAAQsI,IAC5CO,EAAgBP,EAAOvF,KAAKiG,UAAUV,GAAQvF,KAEtD,CAEAqG,EAASV,UAAUiB,UAAY,SAAWtL,GAEtC,IAAI8K,EAAOpG,KAAKiG,UAAU,GAE1B,GAAKG,GAAU9K,EAAQ8K,EAAQ,IAAO,EAClC,MAAM,IAAIrI,MAAM,0EAGpB,OAA4B,IAArBiC,KAAK+E,KAAK9H,QAAeqH,EAAetE,KAAK8E,KAAMxJ,EAC9D,EAEA+K,EAASV,UAAUd,WAAa,SAAWvJ,GAIvC,OAFAA,EAAQuJ,EAAY7E,KAAK8E,KAAM9E,KAAK+E,KAAMzJ,EAG9C,EAEA+K,EAASV,UAAUT,aAAe,SAAW5J,GAEzC,OAAO4J,EAAclF,KAAK8E,KAAM9E,KAAK+E,KAAMzJ,EAC/C,EAEA+K,EAASV,UAAUR,QAAU,SAAW7J,GAIpC,OAFAA,EAAQ6J,EAAQnF,KAAK+E,KAAM/E,KAAKoF,OAAQpF,KAAKqF,KAAM/J,EAGvD,EAEA+K,EAASV,UAAUkB,eAAiB,SAAWvL,GAE3C,IAAIsJ,EAAIF,EAAKpJ,EAAO0E,KAAK+E,MAEzB,MAAO,CACH+B,WAAY,CAAEC,WAAY/G,KAAK8E,KAAKF,EAAE,GAAIwB,KAAMpG,KAAKiG,UAAUrB,EAAE,GAAIsB,YAAalG,KAAK6F,qBAAqBjB,EAAE,IAC9GoC,SAAU,CAAED,WAAY/G,KAAK8E,KAAKF,EAAE,GAAIwB,KAAMpG,KAAKiG,UAAUrB,EAAE,GAAIsB,YAAalG,KAAK6F,qBAAqBjB,EAAE,IAC5GqC,UAAW,CAAEF,WAAY/G,KAAK8E,KAAKF,EAAE,GAAIwB,KAAMpG,KAAKiG,UAAUrB,EAAE,GAAIsB,YAAalG,KAAK6F,qBAAqBjB,EAAE,IAErH,EAEAyB,EAASV,UAAUuB,kBAAoB,WACnC,IAAIC,EAAenH,KAAKiG,UAAU/J,IAAIwG,GACtC,OAAO3D,KAAKuD,IAAIzC,MAAM,KAAMsH,EAChC,EAGAd,EAASV,UAAUyB,QAAU,SAAW9L,GACpC,OAAO0E,KAAKmF,QAAQnF,KAAK6E,WAAWvJ,GACxC,EAeA,IAAI+L,EAAmB,CAAE,GAAM,SAAU/L,GACrC,YAAiB7B,IAAV6B,GAAuBA,EAAMwD,QAAQ,EAChD,EAAG,KAAQY,QAEX,SAAS4H,EAAWC,EAAQjB,GAExB,IAAMvE,EAAWuE,GACb,MAAM,IAAIvI,MAAM,sCAKpBwJ,EAAOf,WAAaF,CACxB,CAEA,SAASkB,EAAYD,EAAQjB,GAGzB,GAAsB,kBAAVA,GAAsB1K,MAAM6G,QAAQ6D,GAC5C,MAAM,IAAIvI,MAAM,yCAIpB,QAAmBtE,IAAd6M,EAAM/D,UAAmC9I,IAAd6M,EAAMhE,IAClC,MAAM,IAAIvE,MAAM,kDAIpB,GAAKuI,EAAM/D,MAAQ+D,EAAMhE,IACrB,MAAM,IAAIvE,MAAM,wDAGpBwJ,EAAOE,SAAW,IAAIpB,EAASC,EAAOiB,EAAOlC,KAAMkC,EAAOG,IAAKH,EAAOf,WAC1E,CAEA,SAASmB,EAAYJ,EAAQjB,GAMzB,GAJAA,EAAQ9D,EAAQ8D,IAIV1K,MAAM6G,QAAS6D,KAAYA,EAAMrJ,OACnC,MAAM,IAAIc,MAAM,4CAIpBwJ,EAAOK,QAAUtB,EAAMrJ,OAIvBsK,EAAOxD,MAAQuC,CACnB,CAEA,SAASuB,EAAWN,EAAQjB,GAKxB,GAFAiB,EAAOlC,KAAOiB,EAEQ,mBAAVA,EACR,MAAM,IAAIvI,MAAM,+CAExB,CAEA,SAAS+J,EAAcP,EAAQjB,GAK3B,GAFAiB,EAAOQ,QAAUzB,EAEK,mBAAVA,EACR,MAAM,IAAIvI,MAAM,kDAExB,CAEA,SAASiK,EAAwBT,EAAQjB,GAIrC,GAFAiB,EAAOU,kBAAoB3B,EAEL,kBAAVA,EACR,MAAM,IAAIvI,MAAM,2DAExB,CAEA,SAASmK,EAAcX,EAAQjB,GAE3B,IACIP,EADAoC,EAAU,EAAC,GAaf,GATe,UAAV7B,EACDA,EAAQ,EAAC,GAAM,GAGC,UAAVA,IACNA,EAAQ,EAAC,GAAO,KAIL,IAAVA,IAA4B,IAAVA,EAAkB,CAErC,IAAMP,EAAI,EAAGA,EAAIwB,EAAOK,QAAS7B,IAC7BoC,EAAQvI,KAAK0G,GAGjB6B,EAAQvI,MAAK,EACjB,KAGK,KAAMhE,MAAM6G,QAAS6D,KAAYA,EAAMrJ,QAAUqJ,EAAMrJ,SAAWsK,EAAOK,QAAU,EACpF,MAAM,IAAI7J,MAAM,4DAIhBoK,EAAU7B,CACd,CAEAiB,EAAOY,QAAUA,CACrB,CAEA,SAASC,EAAkBb,EAAQjB,GAI/B,OAASA,GACL,IAAK,aACDiB,EAAOc,IAAM,EACb,MACJ,IAAK,WACDd,EAAOc,IAAM,EACb,MACJ,QACI,MAAM,IAAItK,MAAM,gDAE5B,CAEA,SAASuK,EAAaf,EAAQjB,GAE1B,IAAMvE,EAAUuE,GACZ,MAAM,IAAIvI,MAAM,gDAIpB,GAAe,IAAVuI,IAILiB,EAAOgB,OAAShB,EAAOE,SAASb,UAAUN,IAEpCiB,EAAOgB,QACT,MAAM,IAAIxK,MAAM,mEAExB,CAEA,SAASyK,EAAYjB,EAAQjB,GAEzB,IAAMvE,EAAUuE,GACZ,MAAM,IAAIvI,MAAM,+CAKpB,GAFAwJ,EAAOlF,MAAQkF,EAAOE,SAASb,UAAUN,IAEnCiB,EAAOlF,OAASkF,EAAOK,QAAU,EACnC,MAAM,IAAI7J,MAAM,yFAExB,CAEA,SAAS0K,EAAclB,EAAQjB,GAE3B,IAAMvE,EAAUuE,GACZ,MAAM,IAAIvI,MAAM,iDAGpB,GAAe,IAAVuI,EAAL,CAMA,GAFAiB,EAAOmB,QAAUnB,EAAOE,SAASb,UAAUN,IAErCiB,EAAOmB,QACT,MAAM,IAAI3K,MAAM,qEAGpB,GAAKwJ,EAAOmB,QAAU,EAClB,MAAM,IAAI3K,MAAM,2DAGpB,GAAKwJ,EAAOmB,SAAW,GACnB,MAAM,IAAI3K,MAAM,iEAbpB,CAeJ,CAEA,SAAS4K,EAAgBpB,EAAQjB,GAK7B,OAASA,GACL,IAAK,MACDiB,EAAOG,IAAM,EACb,MACJ,IAAK,MACDH,EAAOG,IAAM,EACb,MACJ,QACI,MAAM,IAAI3J,MAAM,sDAE5B,CAEA,SAAS6K,EAAgBrB,EAAQjB,GAG7B,GAAsB,kBAAVA,EACR,MAAM,IAAIvI,MAAM,gEAKpB,IAAI8K,EAAMvC,EAAMlH,QAAQ,QAAU,EAC9B0J,EAAOxC,EAAMlH,QAAQ,SAAW,EAChC2J,EAAQzC,EAAMlH,QAAQ,UAAY,EAClCiG,EAAOiB,EAAMlH,QAAQ,SAAW,EAChC4J,EAAQ1C,EAAMlH,QAAQ,UAAY,EAEtC,GAAK2J,EAAQ,CAET,GAAwB,IAAnBxB,EAAOK,QACR,MAAM,IAAI7J,MAAM,6DAIpBuK,EAAWf,EAAQA,EAAOxD,MAAM,GAAKwD,EAAOxD,MAAM,GACtD,CAEAwD,EAAO0B,OAAS,CACZJ,IAAKA,GAAOxD,EACZyD,KAAMA,EACNC,MAAOA,EACP1D,KAAMA,EACN2D,MAAOA,EAEf,CAEA,SAASE,EAAe3B,EAAQjB,GAE5B,IAAe,IAAVA,EAIA,IAAe,IAAVA,EAAiB,CAEvBiB,EAAO4B,SAAW,GAElB,IAAM,IAAIpD,EAAI,EAAGA,EAAIwB,EAAOK,QAAS7B,IACjCwB,EAAO4B,SAASvJ,MAAK,EAE7B,KAEK,CAID,GAFA2H,EAAO4B,SAAW3G,EAAQ8D,GAErBiB,EAAO4B,SAASlM,SAAWsK,EAAOK,QACnC,MAAM,IAAI7J,MAAM,sDAGpBwJ,EAAO4B,SAASC,SAAQ,SAASC,GAC7B,GAA0B,mBAAdA,IAAiD,kBAAdA,GAAkD,oBAAjBA,EAAUlJ,IACtF,MAAM,IAAIpC,MAAM,gEAExB,GACJ,CACJ,CAEA,SAASuL,EAAa/B,EAAQjB,GAK1B,GAHAiB,EAAOgC,OAASjD,EAGS,oBAAbA,EAAMnG,IAA2C,oBAAfmG,EAAMzK,KAChD,OAAO,EAGX,MAAM,IAAIkC,MAAM,yDACpB,CAEA,SAASyL,EAAgBjC,EAAQjB,GAE7B,QAAe7M,IAAV6M,GAAwC,kBAAVA,IAAgC,IAAVA,EACrD,MAAM,IAAIvI,MAAM,wDAGpBwJ,EAAOkC,UAAYnD,CACvB,CAEA,SAASoD,EAAiBnC,EAAQjB,GAE9B,QAAe7M,IAAV6M,GAAwC,kBAAVA,EAC/B,MAAM,IAAIvI,MAAM,+CAGpB,GAAiC,kBAArBwJ,EAAOkC,UAGf,IAAM,IAAI7M,KAFV2K,EAAOoC,WAAa,CAAC,EAEJrD,EACPA,EAAMI,eAAe9J,KAE3B2K,EAAOoC,WAAW/M,GAAO2K,EAAOkC,UAAYnD,EAAM1J,SAGtD2K,EAAOoC,WAAarD,CAE5B,CAEA,SAASsD,EAAarC,EAAQjB,GAC1B,IAAe,IAAVA,IAA4B,IAAVA,EAGnB,MAAM,IAAIvI,MAAM,oFAFhBwJ,EAAOsC,yBAA2BvD,CAI1C,CAGA,SAASwD,EAAchO,GAMnB,IAAIyL,EAAS,CACTgB,OAAQ,EACRlG,MAAO,EACPqG,QAAS,EACTX,SAAS,EACTE,kBAAmB,IACnBsB,OAAQlC,GAIR0C,EAAQ,CACR,KAAQ,CAAExM,GAAG,EAAOwC,EAAGuH,GACvB,MAAS,CAAE/J,GAAG,EAAMwC,EAAG4H,GACvB,QAAW,CAAEpK,GAAG,EAAMwC,EAAGmI,GACzB,UAAa,CAAE3K,GAAG,EAAMwC,EAAG4I,GAC3B,KAAQ,CAAEpL,GAAG,EAAOwC,EAAG8H,GACvB,QAAW,CAAEtK,GAAG,EAAOwC,EAAG+H,GAC1B,kBAAqB,CAAEvK,GAAG,EAAOwC,EAAGiI,GACpC,MAAS,CAAEzK,GAAG,EAAMwC,EAAGyH,GACvB,YAAe,CAAEjK,GAAG,EAAOwC,EAAGqI,GAC9B,OAAU,CAAE7K,GAAG,EAAOwC,EAAGuI,GACzB,MAAS,CAAE/K,GAAG,EAAOwC,EAAGyI,GACxB,QAAW,CAAEjL,GAAG,EAAOwC,EAAG0I,GAC1B,UAAa,CAAElL,GAAG,EAAMwC,EAAG6I,GAC3B,OAAU,CAAErL,GAAG,EAAOwC,EAAGuJ,GACzB,SAAY,CAAE/L,GAAG,EAAOwC,EAAGmJ,GAC3B,UAAa,CAAE3L,GAAG,EAAOwC,EAAGyJ,GAC5B,WAAc,CAAEjM,GAAG,EAAOwC,EAAG2J,GAC7B,yBAA4B,CAAEnM,GAAG,EAAOwC,EAAG6J,IAG3CI,EAAW,CACX,SAAW,EACX,UAAa,MACb,UAAa,MACb,YAAe,aACf,UAAc,QACd,WAAc,CACV1J,OAAQ,SACR2J,KAAM,OACNC,OAAQ,SACRC,OAAQ,SACRC,gBAAiB,oBACjBC,YAAa,eACbC,YAAa,eACbC,WAAY,aACZC,SAAU,WACVC,WAAY,aACZtC,QAAS,UACTuC,IAAK,MACLC,IAAK,MACLC,UAAW,YACX9B,KAAM,aACND,IAAK,YACLgC,OAAQ,SACRC,QAAS,UACTC,KAAM,OACNC,eAAgB,kBAChBC,aAAc,gBACdC,OAAQ,SACRC,iBAAkB,oBAClBC,eAAgB,kBAChBC,aAAc,gBACdC,YAAa,eACbC,UAAW,aACXjQ,MAAO,QACPkQ,gBAAiB,mBACjBC,cAAe,iBACfC,YAAa,eACbC,WAAY,cACZC,SAAU,aAEd,0BAA4B,GAMhClG,OAAOmG,KAAK9B,GAAOX,SAAQ,SAAUzM,GAGjC,QAAuBlD,IAAlBqC,EAAQa,SAA0ClD,IAAnBuQ,EAASrN,GAAsB,CAE/D,GAAKoN,EAAMpN,GAAMY,EACb,MAAM,IAAIQ,MAAM,gBAAkBpB,EAAO,kBAG7C,OAAO,CACX,CAEAoN,EAAMpN,GAAMoD,EAAGwH,OAA0B9N,IAAlBqC,EAAQa,GAAsBqN,EAASrN,GAAQb,EAAQa,GAClF,IAGA4K,EAAOwD,KAAOjP,EAAQiP,KAEtB,IAAIe,EAAS,CAAC,CAAC,OAAQ,OAAQ,CAAC,QAAS,WAMzC,OAHAvE,EAAOwE,MAAQD,EAAOvE,EAAOG,KAAKH,EAAOc,KACzCd,EAAOyE,aAAeF,EAAOvE,EAAOG,IAAI,EAAE,GAAGH,EAAOc,KAE7Cd,CACX,CAGA,SAAS0E,EAAU3L,EAAQxE,EAASoQ,GAEhC,IAKIC,EACAC,EAGAC,EAIAC,EAbAC,EAAU1I,IAGV2I,EAAelM,EACfmM,EAAkB,GAGlBC,EAAsB,GACtBC,GAAqB,EAErBC,EAAiB9Q,EAAQ2L,SACzBoF,EAAe,GACfC,EAAe,CAAC,EAKpB,SAASC,EAAY9C,EAAM+C,GAEvB,IAAI9C,EAAS7J,EAAU4J,EAAMnO,EAAQ6N,WAAWO,QAC5CC,EAAS9J,EAAU6J,EAAQpO,EAAQ6N,WAAWQ,QAalD,OAZA9J,EAAU8J,EAAQrO,EAAQ6N,WAAWS,iBAErCD,EAAO8C,aAAa,cAAeD,GAEb,IAAjBA,EACDvM,EAAS0J,EAAQrO,EAAQ6N,WAAWU,aAG9B2C,IAAiBlR,EAAQ8L,QAAU,GACzCnH,EAAS0J,EAAQrO,EAAQ6N,WAAWW,aAGjCJ,CACX,CAGA,SAASgD,EAAajD,EAAMjH,GAExB,QAAMA,GAIC3C,EAAU4J,EAAMnO,EAAQ6N,WAAWxB,QAC9C,CAGA,SAASgF,EAAcC,EAAgBnD,GAEnCmC,EAAgB,IAChBC,EAAiB,IAEFzM,KAAKsN,EAAWjD,EAAMmD,EAAe,KAKpD,IAAM,IAAIrH,EAAI,EAAGA,EAAIjK,EAAQ8L,QAAS7B,IAElCqG,EAAcxM,KAAKmN,EAAU9C,EAAMlE,IACnC2G,EAAoB3G,GAAKA,EACzBsG,EAAezM,KAAKsN,EAAWjD,EAAMmD,EAAerH,EAAI,IAEhE,CAGA,SAASsH,EAAY/M,GAGjBG,EAASH,EAAQxE,EAAQ6N,WAAWrJ,QAEf,IAAhBxE,EAAQ4L,IACTjH,EAASH,EAAQxE,EAAQ6N,WAAWe,KAEpCjK,EAASH,EAAQxE,EAAQ6N,WAAWgB,KAGnB,IAAhB7O,EAAQuM,IACT5H,EAASH,EAAQxE,EAAQ6N,WAAWY,YAEpC9J,EAASH,EAAQxE,EAAQ6N,WAAWa,UAGxC2B,EAAa9L,EAAUC,EAAQxE,EAAQ6N,WAAWM,KACtD,CAGA,SAASqD,EAAanD,EAAQ6C,GAE1B,QAAMlR,EAAQqN,SAAS6D,IAIhB3M,EAAU8J,EAAOoD,WAAYzR,EAAQ6N,WAAWmB,QAC3D,CAGA,SAAS3B,IAGL,IAAIqE,EAAOpB,EAAclQ,IAAIoR,GAE7BG,GAAU,UAAU,SAASC,EAAQV,EAAcW,GAE/C,GAAMH,EAAKR,GAAX,CAIA,IAAIY,EAAiBF,EAAOV,IAEY,IAAnClR,EAAQqN,SAAS6D,KAClBY,EAAiB9R,EAAQqN,SAAS6D,GAAc7M,GAAGwN,EAAUX,KAGjEQ,EAAKR,GAAca,UAAY,SAAWD,EAAiB,SAR3D,CASJ,GACJ,CAGA,SAASE,EAAWC,EAAML,EAAQM,GAG9B,GAAc,UAATD,GAA6B,UAATA,EACrB,OAAOnB,EAAe9H,KAG1B,GAAc,UAATiJ,EAAmB,CAGpB,IAAmC/P,EAA/BiQ,EAAW,KAAOP,EAAO,GAAS3H,EAAI,EAI1C,IAHA2H,EAAS,IAGD1P,EAAE+H,IAAIkI,IAAW,KACrBP,EAAO9N,KAAK5B,GAGhB+P,EAAO,WACX,CAEA,MAAc,cAATA,EAGML,EAAOxR,KAAI,SAAUZ,GACxB,OAAOsR,EAAe1H,aAAc8I,EAAUpB,EAAezH,QAAS7J,GAAUA,EACpF,IAGU,WAATyS,EAGIC,EAEMN,EAAOxR,KAAI,SAAUZ,GAGxB,OAAOsR,EAAe1H,aAAc0H,EAAezH,QAASyH,EAAe/H,WAAYvJ,IAC3F,IAKGoS,OAdX,CAgBJ,CAEA,SAASQ,EAAiBC,EAASJ,EAAMK,GAErC,SAASC,EAAc/S,EAAOgT,GAE1B,OAAQhT,EAAQgT,GAAWxP,QAAQ,GAAK,CAC5C,CAEA,IAAIyP,EAAU,CAAC,EACXC,EAAe5B,EAAe9H,KAAK,GACnC2J,EAAc7B,EAAe9H,KAAK8H,EAAe9H,KAAK7H,OAAO,GAC7DyR,GAAc,EACdC,GAAa,EACbC,EAAU,EA6Fd,OA1FAR,EAAQzN,EAAOyN,EAAM3O,QAAQkH,MAAK,SAASlI,EAAGjB,GAAI,OAAOiB,EAAIjB,CAAG,MAGrD,KAAOgR,IACdJ,EAAMS,QAAQL,GACdE,GAAc,GAIbN,EAAMA,EAAMnR,OAAS,KAAOwR,IAC7BL,EAAMxO,KAAK6O,GACXE,GAAa,GAGjBP,EAAMhF,SAAQ,SAAW0F,EAASvJ,GAG9B,IAAIa,EAAML,EAAG3H,EAGT2Q,EAAQC,EAAuBC,EAC/BC,EAAOC,EAAWC,EAHlBC,EAAMP,EACNQ,EAAOlB,EAAM7I,EAAM,GAiBvB,GAXc,UAATwI,IACD3H,EAAOwG,EAAe3G,UAAWV,IAI/Ba,IACFA,EAAOkJ,EAAKD,IAKH,IAARA,QAA0B5V,IAAT6V,EAQtB,IAHAlJ,EAAOrH,KAAKuD,IAAI8D,EAAM,MAGhBL,EAAIsJ,EAAKtJ,GAAKuJ,EAAMvJ,EAAIsI,EAActI,EAAGK,GAAQ,CAkBnD,IAXA8I,GAFAF,GADAD,EAASnC,EAAe/H,WAAYkB,IACX6I,GAEDT,EAOxBiB,EAAWJ,GANXG,EAAYpQ,KAAKG,MAAMgQ,IAUjB9Q,EAAI,EAAGA,GAAK+Q,EAAW/Q,GAAK,EAO9BmQ,GADSK,EAAYxQ,EAAIgR,GACVtQ,QAAQ,IAAM,CAAC,IAAK,GAIvCmQ,EAAQb,EAAMhP,QAAQ2G,IAAM,EAAK,EAAe,UAATgI,EAAmB,EAAI,GAGxDxI,GAASmJ,IACXO,EAAO,GAGJlJ,IAAMuJ,GAAQX,IAEjBJ,EAAQQ,EAAOjQ,QAAQ,IAAM,CAACiH,EAAGkJ,IAIrCL,EAAUG,CACd,CACJ,IAEOR,CACX,CAEA,SAASgB,EAAatB,EAAQuB,EAAYnG,GAEtC,IAAIpH,EAAUxH,SAAS+F,cAAc,OACjCiP,EAAM,GACNC,EAAmB,CACf5T,EAAQ6N,WAAW+B,YACnB5P,EAAQ6N,WAAWgC,WACnB7P,EAAQ6N,WAAWiC,UAEvB+D,EAAoB,CAChB7T,EAAQ6N,WAAW0B,aACnBvP,EAAQ6N,WAAW2B,YACnBxP,EAAQ6N,WAAW4B,WAEvBqE,EAA0B,CACtB9T,EAAQ6N,WAAW6B,gBACnB1P,EAAQ6N,WAAW8B,eAEvBoE,EAA2B,CACvB/T,EAAQ6N,WAAWwB,iBACnBrP,EAAQ6N,WAAWyB,gBAM3B,SAAS0E,EAAYb,EAAMc,GACvB,IAAItR,EAAIsR,IAAWjU,EAAQ6N,WAAWrO,MAElC0U,EAAcvR,EAAIiR,EAAmBC,EAEzC,OAAOI,EAAS,KAHStR,EAAImR,EAA0BC,GAGd/T,EAAQuM,KAAO,IAAM2H,EAAYf,EAC9E,CAEA,SAASgB,EAASnP,EAAQiP,EAAQrC,GAC9B,MAAO,UAAYoC,EAAWpC,EAAO,GAAIqC,GAAU,YAAcjU,EAAQiQ,MAAQ,KAAOjL,EAAS,IACrG,CAEA,SAASoP,EAAYpP,EAAQ4M,GAGzBA,EAAO,GAAMA,EAAO,IAAM8B,EAAcA,EAAW9B,EAAO,GAAIA,EAAO,IAAMA,EAAO,GAGlF+B,GAAO,QAAUQ,EAAQnP,EAAQhF,EAAQ6N,WAAWuB,OAAQwC,GAAU,UAGjEA,EAAO,KACR+B,GAAO,QAAUQ,EAAQnP,EAAQhF,EAAQ6N,WAAWrO,MAAOoS,GAAU,IAAMrE,EAAUlJ,GAAGuN,EAAO,IAAM,SAE7G,CASA,OApCAjN,EAASwB,EAASnG,EAAQ6N,WAAWoB,MACrCtK,EAASwB,EAAyB,IAAhBnG,EAAQuM,IAAYvM,EAAQ6N,WAAWqB,eAAiBlP,EAAQ6N,WAAWsB,cA6B7FvF,OAAOmG,KAAKoC,GAAQ7E,SAAQ,SAAS3K,GACjCyR,EAAUzR,EAAGwP,EAAOxP,GACxB,IAEAwD,EAAQ4L,UAAY4B,EAEbxN,CACX,CAEA,SAAS8I,EAAOoF,GAEZ,IAAIpC,EAAOoC,EAAKpC,KACZI,EAAUgC,EAAKhC,SAAW,EAC1BpS,EAASoU,EAAKpU,SAAU,EAIxBkS,EAASC,EAAgBC,EAASJ,EAD1BD,EAAUC,EAFToC,EAAKzC,SAAU,EACdyC,EAAKnC,UAAW,IAG1BzE,EAAS4G,EAAK5G,QAAU,CAChBpJ,GAAIpB,KAAKG,OAGrB,OAAOsN,EAAa9L,YAAY6O,EAC5BtB,EACAlS,EACAwN,GAER,CAIA,SAAS6G,IACL,IAAIpP,EAAOmL,EAAWlL,wBAAyBoP,EAAM,SAAW,CAAC,QAAS,UAAUvU,EAAQuM,KAC5F,OAAuB,IAAhBvM,EAAQuM,IAAarH,EAAKsP,OAAOnE,EAAWkE,GAASrP,EAAKuP,QAAQpE,EAAWkE,EACxF,CAGA,SAASG,EAAcvH,EAAQhH,EAASwO,EAAU1W,GAK9C,IAAI2W,EAAS,SAAWxS,GAEpB,OAAKsO,EAAamE,aAAa,cAK1BxN,EAASqJ,EAAc1Q,EAAQ6N,WAAWd,SAI/C3K,EAAI0S,EAAS1S,EAAGnE,EAAKsH,gBAQhB4H,IAAWsD,EAAQxI,YAAuBtK,IAAdyE,EAAE2S,SAAyB3S,EAAE2S,QAAU,MAKnE9W,EAAKiP,QAAS9K,EAAE2S,WAIrB3S,EAAE4S,UAAY5S,EAAE6S,OAAQjV,EAAQuM,UAGhCoI,EAAWvS,EAAGnE,GAClB,EAEIiX,EAAU,GAQd,OALA/H,EAAOxL,MAAM,KAAK2L,SAAQ,SAAU6H,GAChChP,EAAQiP,iBAAiBD,EAAWP,GAAQ,GAC5CM,EAAQpR,KAAK,CAACqR,EAAWP,GAC7B,IAEOM,CACX,CAGA,SAASJ,EAAW1S,EAAGmD,GAInBnD,EAAEiT,iBAKF,IAGInV,EACA2F,EAJAyP,EAAoC,IAA5BlT,EAAE+Q,KAAK7P,QAAQ,SACvBiS,EAAoC,IAA5BnT,EAAE+Q,KAAK7P,QAAQ,SACvBkS,EAAwC,IAA9BpT,EAAE+Q,KAAK7P,QAAQ,WAS7B,GAJqC,IAAhClB,EAAE+Q,KAAK7P,QAAQ,eAChBkS,GAAU,GAGTF,EAAQ,CAMT,GAAKlT,EAAEqT,QAAQtU,OAAS,EACpB,OAAO,EAKXjB,EAAIkC,EAAEsT,eAAe,GAAGC,MACxB9P,EAAIzD,EAAEsT,eAAe,GAAGE,KAC5B,CAaA,OAXArQ,EAAaA,GAAcC,KAEtB+P,GAASC,KACVtV,EAAIkC,EAAEyT,QAAUtQ,EAAWrF,EAC3B2F,EAAIzD,EAAE0T,QAAUvQ,EAAWM,GAG/BzD,EAAEmD,WAAaA,EACfnD,EAAE6S,OAAS,CAAC/U,EAAG2F,GACfzD,EAAE2T,OAASR,GAASC,EAEbpT,CACX,CAGA,SAAS4T,EAAwBhB,GAC7B,IACIiB,EAAwB,KADbjB,EAAYhQ,EAAOqL,EAAYrQ,EAAQuM,MAClB+H,IACpC,OAAOtU,EAAQ4L,IAAM,IAAMqK,EAAWA,CAC1C,CAGA,SAASC,EAAmBD,GAExB,IAAIlR,EAAU,IACVmM,GAAe,EAiBnB,OAfAZ,EAAchD,SAAQ,SAASe,EAAQ5E,GAGnC,IAAK4E,EAAOwG,aAAa,YAAzB,CAIA,IAAIsB,EAAMlT,KAAKC,IAAIyN,EAAgBlH,GAASwM,GAEvCE,EAAMpR,IACPmM,EAAezH,EACf1E,EAAUoR,EANd,CAQJ,IAEOjF,CACX,CAIA,SAASkF,EAAcC,EAAQJ,EAAUK,EAAWC,GAEhD,IAAIC,EAAYF,EAAU3S,QAEtBjC,EAAI,EAAE2U,EAAQA,GACdtU,EAAI,CAACsU,GAASA,GAGlBE,EAAgBA,EAAc5S,QAIzB0S,GACDE,EAAc3U,UAIb2U,EAAcpV,OAAS,EAExBoV,EAAcjJ,SAAQ,SAAS4D,EAAcuF,GAEzC,IAAIpS,EAAKqS,EAAoBF,EAAWtF,EAAcsF,EAAUtF,GAAgB+E,EAAUvU,EAAE+U,GAAI1U,EAAE0U,KAGtF,IAAPpS,EACD4R,EAAW,GAEXA,EAAW5R,EAAKmS,EAAUtF,GAC1BsF,EAAUtF,GAAgB7M,EAElC,IAKA3C,EAAIK,EAAI,EAAC,GAGb,IAAI4U,GAAQ,EAGZJ,EAAcjJ,SAAQ,SAAS4D,EAAcuF,GACzCE,EAAQC,GAAU1F,EAAcoF,EAAUpF,GAAgB+E,EAAUvU,EAAE+U,GAAI1U,EAAE0U,KAAOE,CACvF,IAGKA,GACDJ,EAAcjJ,SAAQ,SAAS4D,GAC3B2F,EAAU,SAAU3F,GACpB2F,EAAU,QAAS3F,EACvB,GAER,CAGA,SAAS2F,EAAY1B,EAAWjE,EAAcnE,GAE1CnD,OAAOmG,KAAKiB,GAAc1D,SAAQ,SAAUwJ,GAExC,IAAIC,EAAYD,EAAYnV,MAAM,KAAK,GAElCwT,IAAc4B,GACf/F,EAAa8F,GAAaxJ,SAAQ,SAAUqH,GAExCA,EAAS7K,KAEL0G,EAEAO,EAAa3Q,IAAIJ,EAAQyN,OAAOpJ,IAEhC6M,EAEAH,EAAapN,QAEboJ,IAAO,EAEP4D,EAAgBhN,QAExB,GAER,GACJ,CAIA,SAASqT,EAAgBC,EAAOhZ,GACR,aAAfgZ,EAAM9D,MAAiD,SAA1B8D,EAAMzS,OAAO0S,UAA+C,OAAxBD,EAAME,eACxEC,EAAUH,EAAOhZ,EAEzB,CAGA,SAASoZ,EAAYJ,EAAOhZ,GAOxB,IAAiD,IAA5CyH,UAAU4R,WAAWhU,QAAQ,WAAsC,IAAlB2T,EAAMlC,SAA0C,IAAzB9W,EAAKsZ,gBAC9E,OAAOH,EAASH,EAAOhZ,GAI3B,IAAIuZ,GAAYxX,EAAQ4L,KAAO,EAAI,IAAMqL,EAAMjC,UAAY/W,EAAKwZ,gBAKhErB,EAAYoB,EAAW,EAFI,IAAXA,EAAkBvZ,EAAKqW,SAEHrW,EAAKqY,UAAWrY,EAAKsY,cAC7D,CAGA,SAASa,EAAWH,EAAOhZ,GAGlB4S,IACDvK,EAAYuK,EAAoB7Q,EAAQ6N,WAAWkB,QACnD8B,GAAqB,GAIpBoG,EAAMlB,SACPpX,SAASiJ,KAAKqI,MAAM8F,OAAS,GAC7BpX,SAASiJ,KAAK8P,oBAAoB,cAAe/Y,SAASiJ,KAAK+P,eAInEhZ,SAAS2G,gBAAgBsS,cAActK,SAAQ,SAAUtL,GACrDrD,SAAS2G,gBAAgBoS,oBAAoB1V,EAAE,GAAIA,EAAE,GACzD,IAGAsE,EAAYoK,EAAc1Q,EAAQ6N,WAAWb,MAE7C6K,KAEA5Z,EAAKsY,cAAcjJ,SAAQ,SAAS4D,GAChC2F,EAAU,MAAO3F,GACjB2F,EAAU,SAAU3F,GACpB2F,EAAU,MAAO3F,EACrB,GACJ,CAGA,SAAS4G,EAAab,EAAOhZ,GAEzB,GAAmC,IAA9BA,EAAKsY,cAAcpV,OAAe,CAEnC,IAAIkN,EAASiC,EAAcrS,EAAKsY,cAAc,IAG9C,GAAKlI,EAAOwG,aAAa,YACrB,OAAO,EAKXlQ,EADAkM,EAAqBxC,EAAO/M,SAAS,GACRtB,EAAQ6N,WAAWkB,OACpD,CAGAkI,EAAM5B,iBAGN4B,EAAMc,kBAGN,IAAIC,EAAYtD,EAAYjE,EAAQvI,KAAMvJ,SAAS2G,gBAAiB+R,EAAW,CAC3EI,eAAgBR,EAAMjC,UACtBV,SAAUA,IACV/O,WAAY0R,EAAM1R,WAClBgR,cAAetY,EAAKsY,cACpBgB,gBAAiBN,EAAMlC,QACvBuB,UAAW3F,EAAgBhN,UAG3BsU,EAAWvD,EAAYjE,EAAQtI,IAAKxJ,SAAS2G,gBAAiB8R,EAAU,CACxEb,cAAetY,EAAKsY,gBAGpB2B,EAAWxD,EAAY,WAAY/V,SAAS2G,gBAAiB0R,EAAe,CAC5ET,cAAetY,EAAKsY,gBAOxB,GAJA5X,SAAS2G,gBAAgBsS,cAAgBI,EAAUvY,OAAOwY,EAAUC,GAI/DjB,EAAMlB,OAAS,CAGhBpX,SAASiJ,KAAKqI,MAAM8F,OAASoC,iBAAiBlB,EAAMzS,QAAQuR,OAGvDzF,EAAcnP,OAAS,GACxBwD,EAAS+L,EAAc1Q,EAAQ6N,WAAWb,MAG9C,IAAIjL,EAAI,WACJ,OAAO,CACX,EAEApD,SAASiJ,KAAK+P,aAAe5V,EAG7BpD,SAASiJ,KAAKwN,iBAAiB,cAAerT,GAAG,EACrD,CAEA9D,EAAKsY,cAAcjJ,SAAQ,SAAS4D,GAChC2F,EAAU,QAAS3F,EACvB,GACJ,CAGA,SAASkH,EAAWnB,GAGhBA,EAAMc,kBAEN,IAAI9B,EAAWD,EAAsBiB,EAAMjC,WACvC9D,EAAegF,EAAiBD,GAGpC,IAAsB,IAAjB/E,EACD,OAAO,EAKLlR,EAAQmN,OAAO5D,MACjBrD,EAAYwK,EAAc1Q,EAAQ6N,WAAWd,IAAK/M,EAAQmM,mBAG9DyK,GAAU1F,EAAc+E,GAAU,GAAM,GAExC4B,KAEAhB,EAAU,QAAS3F,GAAc,GACjC2F,EAAU,MAAO3F,GAAc,GAC/B2F,EAAU,SAAU3F,GAAc,GAClC2F,EAAU,SAAU3F,GAAc,GAE7BlR,EAAQmN,OAAO5D,MAChBuO,EAAWb,EAAO,CAAEV,cAAe,CAACrF,IAE5C,CAGA,SAASmH,EAAapB,GAElB,IAAIhB,EAAWD,EAAsBiB,EAAMjC,WAEvC3Q,EAAKyM,EAAezH,QAAQ4M,GAC5BzW,EAAQsR,EAAe1H,aAAa/E,GAExCuF,OAAOmG,KAAKiB,GAAc1D,SAAQ,SAAUwJ,GACnC,UAAYA,EAAYnV,MAAM,KAAK,IACpCqP,EAAa8F,GAAaxJ,SAAQ,SAAUqH,GACxCA,EAAS7K,KAAM0G,EAAYhR,EAC/B,GAER,GACJ,CAGA,SAAS8Y,EAAmBC,GAGlBA,EAAUtL,OAEZqD,EAAchD,SAAQ,SAAUe,EAAQ5E,GAIpCiL,EAAcjE,EAAQxI,MAAOoG,EAAO/M,SAAS,GAAIwW,EAAY,CACzDvB,cAAe,CAAC9M,IAExB,IAIC8O,EAAUxL,KACX2H,EAAajE,EAAQxI,MAAOoI,EAAY+H,EAAU,CAAC,GAIlDG,EAAUrL,OACXwH,EAAajE,EAAQvI,KAAMmI,EAAYgI,EAAY,CAAEnL,OAAO,IAI3DqL,EAAUvL,MAEXuD,EAAejD,SAAQ,SAAUjB,EAAS5C,GAEtC,IAAiB,IAAZ4C,GAA+B,IAAV5C,GAAeA,IAAU8G,EAAepP,OAAS,EAA3E,CAIA,IAAIqX,EAAelI,EAAc7G,EAAQ,GACrCgP,EAAcnI,EAAc7G,GAC5BiP,EAAe,CAACrM,GAEpB1H,EAAS0H,EAASrM,EAAQ6N,WAAWiB,WAMhCyJ,EAAUtL,QACXyL,EAAa5U,KAAK0U,EAAalX,SAAS,IACxCoX,EAAa5U,KAAK2U,EAAYnX,SAAS,KAG3CoX,EAAapL,SAAQ,SAAUqL,GAC3BjE,EAAcjE,EAAQxI,MAAO0Q,EAAab,EAAY,CAClDhM,QAAS,CAAC0M,EAAcC,GACxBlC,cAAe,CAAC9M,EAAQ,EAAGA,IAEnC,GAtBA,CAuBJ,GAER,CAIA,SAASiN,EAAsBkC,EAAW1H,EAAc7M,EAAIwU,EAAcC,GAgDtE,OA5CKxI,EAAcnP,OAAS,IAEnB0X,GAAgB3H,EAAe,IAChC7M,EAAKpB,KAAKuD,IAAInC,EAAIuU,EAAU1H,EAAe,GAAKlR,EAAQyM,SAGvDqM,GAAe5H,EAAeZ,EAAcnP,OAAS,IACtDkD,EAAKpB,KAAKwD,IAAIpC,EAAIuU,EAAU1H,EAAe,GAAKlR,EAAQyM,UAO3D6D,EAAcnP,OAAS,GAAKnB,EAAQuG,QAEhCsS,GAAgB3H,EAAe,IAChC7M,EAAKpB,KAAKwD,IAAIpC,EAAIuU,EAAU1H,EAAe,GAAKlR,EAAQuG,QAGvDuS,GAAe5H,EAAeZ,EAAcnP,OAAS,IACtDkD,EAAKpB,KAAKuD,IAAInC,EAAIuU,EAAU1H,EAAe,GAAKlR,EAAQuG,SAM3DvG,EAAQ4M,UAEa,IAAjBsE,IACD7M,EAAKpB,KAAKuD,IAAInC,EAAIrE,EAAQ4M,UAGzBsE,IAAiBZ,EAAcnP,OAAS,IACzCkD,EAAKpB,KAAKwD,IAAIpC,EAAI,IAAMrE,EAAQ4M,YAOxCvI,EAAKkC,EAHLlC,EAAKyM,EAAezH,QAAQhF,OAMhBuU,EAAU1H,IAIf7M,CACX,CAEA,SAAS0U,EAAQC,GACb,OAAOA,EAAM,GACjB,CAGA,SAASC,EAAuB/H,EAAc7M,GAG1CsM,EAAgBO,GAAgB7M,EAGhC0M,EAAaG,GAAgBJ,EAAe1H,aAAa/E,GAGzD,IAAI6U,EAAc,WACd5I,EAAcY,GAAcjB,MAAMjQ,EAAQiQ,OAAS8I,EAAM1U,GACzD8U,GAAcjI,GACdiI,GAAcjI,EAAe,EACjC,EAMK3S,OAAO6a,uBAAyBpZ,EAAQ+N,yBACzCxP,OAAO6a,sBAAsBF,GAE7BA,GAER,CAEA,SAASrB,KAELjH,EAAoBtD,SAAQ,SAAS4D,GAIjC,IAAItF,EAAO+E,EAAgBO,GAAgB,IAAM,EAAI,EACjDmI,EAAS,GAAK/I,EAAcnP,OAAUyK,EAAMsF,GAChDZ,EAAcY,GAAcoI,WAAW,GAAGrJ,MAAMoJ,OAASA,CAC7D,GACJ,CAGA,SAASzC,GAAY1F,EAAc7M,EAAIwU,EAAcC,GAIjD,OAAY,KAFZzU,EAAKqS,EAAoB/F,EAAiBO,EAAc7M,EAAIwU,EAAcC,MAM1EG,EAAqB/H,EAAc7M,IAE5B,EACX,CAGA,SAAS8U,GAAgB1P,GAGrB,GAAM8G,EAAe9G,GAArB,CAIA,IAAIjH,EAAI,EACJC,EAAI,IAEO,IAAVgH,IACDjH,EAAImO,EAAgBlH,EAAQ,IAG3BA,IAAU8G,EAAepP,OAAS,IACnCsB,EAAIkO,EAAgBlH,IAGxB8G,EAAe9G,GAAOwG,MAAMjQ,EAAQiQ,OAAS8I,EAAMvW,GACnD+N,EAAe9G,GAAOwG,MAAMjQ,EAAQkQ,cAAgB6I,EAAM,IAAMtW,EAdhE,CAeJ,CAGA,SAAS8W,GAAWlV,EAAI6M,GAIR,OAAP7M,IAAsB,IAAPA,IAKD,kBAAPA,IACRA,EAAK0C,OAAO1C,KAOJ,KAJZA,EAAKrE,EAAQyN,OAAO1N,KAAKsE,KAIHhE,MAAMgE,IACxBuS,GAAU1F,EAAcJ,EAAe/H,WAAW1E,IAAK,GAAO,GAEtE,CAGA,SAASmV,GAAWC,EAAOC,GAEvB,IAAI9H,EAASlL,EAAQ+S,GACjBE,OAAgChc,IAAvBgT,EAAgB,GAG7B+I,OAAiC/b,IAAjB+b,KAAsCA,EAEtD9H,EAAOtE,QAAQiM,IAIVvZ,EAAQiM,UAAY0N,GACrBzT,EAAYwK,EAAc1Q,EAAQ6N,WAAWd,IAAK/M,EAAQmM,mBAI9DyE,EAAoBtD,SAAQ,SAAS4D,GACjC0F,GAAU1F,EAAcP,EAAgBO,IAAe,GAAM,EACjE,IAEA2G,KAEAjH,EAAoBtD,SAAQ,SAAS4D,GAEjC2F,EAAU,SAAU3F,GAGU,OAAzBU,EAAOV,IAA0BwI,GAClC7C,EAAU,MAAO3F,EAEzB,GACJ,CAGA,SAAS0I,GAAaF,GAClBF,GAASxZ,EAAQiI,MAAOyR,EAC5B,CAGA,SAASG,KAEL,IAAIjI,EAASb,EAAa3Q,IAAIJ,EAAQyN,OAAOpJ,IAG7C,OAAuB,IAAlBuN,EAAOzQ,OACDyQ,EAAO,GAGXA,CACX,CAGA,SAASkI,KAEL,IAAM,IAAIhZ,KAAOd,EAAQ6N,WACf7N,EAAQ6N,WAAWjD,eAAe9J,IACxCwF,EAAYoK,EAAc1Q,EAAQ6N,WAAW/M,IAGjD,KAAO4P,EAAae,YAChBf,EAAaqJ,YAAYrJ,EAAae,mBAGnCf,EAAasJ,UACxB,CAGA,SAASC,KAIL,OAAOtJ,EAAgBvQ,KAAI,SAAU8Z,EAAUzQ,GAE3C,IAAI0Q,EAAcrJ,EAAe/F,eAAgBmP,GAC7C1a,EAAQuR,EAAatH,GACrB+I,EAAY2H,EAAYjP,SAASZ,KACjC8P,EAAY,MAIG,IAAd5H,GACIhT,EAAQgT,EAAY2H,EAAYhP,UAAUF,aAC3CuH,EAAY2H,EAAYhP,UAAUF,WAAazL,GAOnD4a,EADC5a,EAAQ2a,EAAYjP,SAASD,WAClBkP,EAAYjP,SAASZ,MAGK,IAAhC6P,EAAYnP,WAAWV,MAMjB9K,EAAQ2a,EAAYnP,WAAWZ,YAK7B,MAAb8P,EACD1H,EAAY,KAGO,IAAb0H,IACNE,EAAY,MAIhB,IAAI/O,EAAeyF,EAAe1F,oBAWlC,OARmB,OAAdoH,IAAoC,IAAdA,IACvBA,EAAY5O,OAAO4O,EAAUxP,QAAQqI,KAGtB,OAAd+O,IAAoC,IAAdA,IACvBA,EAAYxW,OAAOwW,EAAUpX,QAAQqI,KAGlC,CAAC+O,EAAW5H,EACvB,GACJ,CAGA,SAASb,GAAY0I,EAAiB1F,GAClC3D,EAAaqJ,GAAmBrJ,EAAaqJ,IAAoB,GACjErJ,EAAaqJ,GAAiBvW,KAAK6Q,GAGI,WAAlC0F,EAAgB1Y,MAAM,KAAK,IAC5B2O,EAAchD,SAAQ,SAAS3K,EAAG8G,GAC9BoN,EAAU,SAAUpN,EACxB,GAER,CAGA,SAAS6Q,GAAcD,GAEnB,IAAIpD,EAAQoD,GAAmBA,EAAgB1Y,MAAM,KAAK,GACtD4Y,EAAYtD,GAASoD,EAAgB5W,UAAUwT,EAAM9V,QAEzDyI,OAAOmG,KAAKiB,GAAc1D,SAAQ,SAAUkN,GAExC,IAAIC,EAASD,EAAK7Y,MAAM,KAAK,GACzB+Y,EAAaF,EAAK/W,UAAUgX,EAAOtZ,QAEhC8V,GAASA,IAAUwD,GAAaF,GAAaA,IAAcG,UACvD1J,EAAawJ,EAE5B,GACJ,CAGA,SAASG,GAAgBC,EAAiBlB,GAKtC,IAAIxX,EAAI2X,KAEJgB,EAAa,CAAC,SAAU,QAAS,UAAW,QAAS,UAAW,OAAQ,OAAQ,UAGpFA,EAAWvN,SAAQ,SAASzM,QACOlD,IAA1Bid,EAAgB/Z,KACjBuP,EAAgBvP,GAAQ+Z,EAAgB/Z,GAEhD,IAEA,IAAIia,EAAa9M,EAAYoC,GAG7ByK,EAAWvN,SAAQ,SAASzM,QACOlD,IAA1Bid,EAAgB/Z,KACjBb,EAAQa,GAAQia,EAAWja,GAEnC,IAIAia,EAAWnP,SAASlB,UAAYqG,EAAerG,UAC/CqG,EAAiBgK,EAAWnP,SAG5B3L,EAAQyM,OAASqO,EAAWrO,OAC5BzM,EAAQuG,MAAQuU,EAAWvU,MAC3BvG,EAAQ4M,QAAUkO,EAAWlO,QAG7B+D,EAAkB,GAClB6I,GAASoB,EAAgB3S,OAAS/F,EAAGwX,EACzC,CAGA,GAAKhJ,EAAasJ,WACd,MAAM,IAAI/X,MAAM,mCAsCpB,OAjCAsP,EAAUb,GACVW,EAAYrR,EAAQqM,QAASgE,GAE7BG,EAAa,CACTsJ,QAASA,GACT1G,MAAO6G,GACPc,GAAIpJ,GACJqJ,IAAKV,GACLW,IAAKpB,GACLqB,IAAK1B,GACL2B,MAAOvB,GAEPwB,cAAe,SAASzY,EAAGjB,EAAGM,GAAKoU,EAAYzT,EAAGjB,EAAGiP,EAAiB3O,EAAI,EAC1EhC,QAASoQ,EACTuK,cAAeA,GACfnW,OAAQkM,EACRzB,KAAMA,GAIVqJ,EAAiBtY,EAAQmN,QAGzBqM,GAASxZ,EAAQiI,OAEZjI,EAAQiP,MACTA,EAAKjP,EAAQiP,MAGZjP,EAAQqN,UACTA,IAGGmD,CAEX,CAIA,SAAS6K,EAAa7W,EAAQ4L,GAE1B,IAAM5L,EAAO0S,SACT,MAAM,IAAIjV,MAAM,qDAGatE,IAA7ByS,EAAgB/C,WAChB+C,EAAgB/C,UAAW,GAI/B,IACIiO,EAAMnL,EAAS3L,EADLwJ,EAAaoC,EAAiB5L,GACR4L,GAIpC,OAFA5L,EAAOwV,WAAasB,EAEbA,CACX,CAGA,MAAO,CACHC,OAAQF,EAGhB,GA/kE0B,mqCC8F1B,WAAeG,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBAzGH,SAACle,IACrBe,EAAAA,EAAAA,YAAU,WACRf,EAAMme,YACR,GAAG,KAEHpd,EAAAA,EAAAA,YAAU,WACR,IAAMqd,EAAQhd,SAASC,iBAAiB,qBACxCL,OAAOC,EAAEod,qBAAqBld,KAAKid,EAAO,CAAC,EAC7C,GAAG,IAEH,IAAME,EAAW,SAAAtc,GACfhC,EAAMue,QAAQhY,KAAK,UAADrE,OAAWF,EAAE,SACjC,EAkBMwc,EAAwB,SAAAxc,GAC5BhC,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OAlBE,SAAA1c,GAClBhC,EAAM2e,YAAY3c,GAAI4c,MAAK,WACzB5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,qCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMme,YACR,IAAE,OAAO,SAAAc,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,CAI0BjB,CAAY3c,EAAG,EACrCiF,OAAO,QAAD/E,OAAUlC,EAAMsB,MAAMoB,QAAO,SAAAM,GAAI,OAAIA,EAAKhB,KAAOA,CAAE,IAAE,GAAGsB,MAC9Duc,OAAQ,SACRC,UAAU,GAEd,EAOA,OACEje,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,kBAEjFF,EAAAA,cAAA,OAAKC,UAAU,oBACbD,EAAAA,cAAA,KAAGC,UAAU,6BAA6Boe,QAXhC,SAACrb,GACfA,EAAEiT,iBACF9X,EAAMue,QAAQhY,KAAK,aACrB,GASQ1E,EAAAA,cAAA,KAAGC,UAAU,wBAAuB,SAGxCD,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,MAAIC,UAAU,0BACZD,EAAAA,cAAA,MAAIC,UAAU,qBAAoBD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,gBACtB,IAAvB/B,EAAMsB,MAAMsC,QACX/B,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,qDAGlB/B,EAAMsB,MAAMuB,KAAI,SAAAG,GACf,OACEnB,EAAAA,cAAA,MAAI0B,IAAKP,EAAKhB,GAAIF,UAAU,mBAC1BD,EAAAA,cAAA,WACEA,EAAAA,cAAA,QAAMC,UAAU,UAAUoe,QAAS,WAAF,OAAQ5B,EAAStb,EAAKhB,GAAG,GAAGgB,EAAKM,MAClEzB,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,gCACVue,MAAOte,IAAAA,EAAO,4BACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACFwG,EAAStb,EAAKhB,GAChB,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,SAEhCD,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,oBACVue,MAAOte,IAAAA,EAAO,8BACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACF0G,EAAsBxb,EAAKhB,GAC7B,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,YAKxC,SAQhB,iiDClGO,IAAMwe,EAAc,SAACC,GAC1B,OAAQA,GACN,KAAKC,EAAAA,OACH,OAAOC,EAAAA,YACT,KAAKC,EAAAA,SACH,OAAOC,EAAAA,cACT,KAAKC,EAAAA,WACH,OAAOC,EAAAA,gBACT,KAAKC,EAAAA,SACH,OAAOC,EAAAA,cACT,QACE,OAAOC,EAAAA,aAEb,EAEaC,EAAkB,SAAAC,GAC7B,IAAKA,IAAYA,EAAQtd,OAAQ,MAAO,GACxC,OAAQsd,GACN,KAAKC,EAAAA,OACL,KAAKC,EAAAA,QACL,KAAKC,EAAAA,UACL,KAAKC,EAAAA,SACL,KAAKC,EAAAA,OACL,KAAKC,EAAAA,SACL,KAAKC,EAAAA,OAIH,MAAO,CAACC,EAAAA,0BAA2BC,EAAAA,wBAAyBC,EAAAA,2BAC9D,KAAKC,EAAAA,SACH,MAAO,CAACC,EAAAA,aAAcC,EAAAA,aACxB,QACE,MAAO,GAEb,EAEaC,EAAqB,SAAAC,GAChC,IAAIC,EAAUngB,IAAAA,EAAO,iCAADG,OAAkC+f,IACtD,OAAQA,GACN,KAAKE,EAAAA,yBACL,KAAKJ,EAAAA,YAOH,OAAOG,EACT,KAAKP,EAAAA,wBAUH,OAREO,GAAO,KAAAhgB,OAASH,IAAAA,EAAO,sCAS3B,KAAK2f,EAAAA,0BAaH,OAXEQ,GAAO,KAAAhgB,OAASH,IAAAA,EAAO,4CAGvBmgB,GAAO,KAAAhgB,OAASH,IAAAA,EAAO,kCAGvBmgB,GAAO,KAAAhgB,OAASH,IAAAA,EAAO,sCAM3B,KAAK+f,EAAAA,aAKL,QACE,OAAOI,EAEb,EAEaE,EAAqB,WAWhC,MAAO,CACLV,EAAAA,0BACAC,EAAAA,wBACAC,EAAAA,0BACAE,EAAAA,aACAC,EAAAA,YAEJ,EAEaM,EAAiB,SAACC,EAAKC,GAClC,IAAM/gB,EAAOJ,SAASK,eAAe6gB,GACjC9gB,EAAKS,OACPsgB,EAAG/gB,EAAKS,MAEZ,EAEaugB,EAAc,SAACC,GAAG,OAAKzhB,OAAO0hB,SAAS,EAAGD,EAAIhN,QAAQkN,UAAY,IAAI,EAEtEC,EAAoB,SAACC,GAChC,MAAmB,kBAARA,GAA4B,OAARA,EACtBA,EAAI9gB,IAAAA,QAEN8gB,CACT,EAEaC,EAAgB,SAAAxhB,GAC3B,IACmDyhB,EAD7CC,EAAS,GAAEC,EAAAC,EACeC,EAAAA,qBAAmB,IAAnD,IAAAF,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAqD,CAAC,IAE5BC,EAFfC,EAAiBP,EAAA9gB,MACpBshB,EAAc,0BAAArhB,OAA6BohB,GAAmBE,EAAAN,EACjD5hB,GAAK,IAAxB,IAAAkiB,EAAAjf,MAAA8e,EAAAG,EAAAre,KAAAie,MAA0B,CAAC,IAAhBpgB,EAAIqgB,EAAAphB,MACb+gB,EAAOzc,KAAK,CAAC,GAADrE,OAAIohB,EAAiB,KAAAphB,OAAIc,EAAKhB,IAAE,GAAAE,OAAOH,IAAAA,EAAOwhB,GAAe,MAAArhB,OAAKc,EAAKM,OACrF,CAAC,OAAA2b,GAAAuE,EAAA3e,EAAAoa,EAAA,SAAAuE,EAAAhf,GAAA,CACH,CAAC,OAAAya,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,KACyCif,EADzCC,EAAAR,EAC2BS,EAAAA,gBAAc,IAA1C,IAAAD,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAA4C,CAAC,IAAlCQ,EAAaH,EAAAxhB,MACtB+gB,EAAOzc,KAAK,CAACqd,EAAe7hB,IAAAA,EAAO,0BAADG,OAA2B0hB,KAC/D,CAAC,OAAA3E,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,CACD,OAAOwe,CACT,EAEaa,EAAwB,SAACC,EAAcxiB,GAAW,IACVyiB,EADSC,EAAAd,EAC5BC,EAAAA,qBAAmB,QAUlDc,EAVkDC,EAAA,WAAG,IAA3CZ,EAAiBS,EAAA9hB,MAC1B,GAAI6hB,EAAa5d,UAAU,EAAGod,EAAkB1f,OAAS,KAAE,GAAA1B,OAAQohB,EAAiB,KAAK,CACvF,IAAMa,EAASphB,SAAS+gB,EAAa5d,UAAUod,EAAkB1f,OAAS,IACpEwgB,EAAS9iB,EAAMoB,QAAO,SAAAM,GAAI,OAAIA,EAAKhB,KAAOmiB,CAAM,IAChDZ,EAAc,0BAAArhB,OAA6BohB,GACjD,OAAsB,IAAlBc,EAAOxgB,OAAc,CAAAe,GAChB0f,EAAAA,EAAAA,kBAAiBd,EAAgBO,IACzC,CAAAnf,EAAA,GAAAzC,QACSmiB,EAAAA,EAAAA,kBAAiBd,EAAgBD,GAAkB,MAAAphB,OAAKkiB,EAAO,GAAG9gB,MAC9E,CACF,EAVA,IAAA0gB,EAAAzf,MAAAwf,EAAAC,EAAA7e,KAAAie,MAAA,GAAAa,EAAAC,IAAA,OAAAD,EAAAtf,CAUC,OAAAsa,GAAA+E,EAAAnf,EAAAoa,EAAA,SAAA+E,EAAAxf,GAAA,CACD,OAAO6f,EAAAA,EAAAA,kBAAiB,0BAADniB,OAA2B4hB,GAAgBA,EACpE,EAEaQ,EAA0B,SAAArC,GACrC,OAAOoC,EAAAA,EAAAA,kBAAiB,4BAADniB,OAA6B+f,GAAkBA,EACxE,EAEasC,EAAmB,SAAArD,GAC9B,OAAOmD,EAAAA,EAAAA,kBAAiB,oBAADniB,OAAqBgf,GAAWA,EACzD,EAEasD,EAAgB,SAAAC,GAC3B,QAAAC,EAAA,EAAAC,EAA4BtY,OAAOgI,OAAOuQ,EAAAA,gBAAeF,EAAAC,EAAA/gB,OAAA8gB,IAAE,CAAtD,IACGG,EADgBF,EAAAD,GACShiB,QAAO,SAAAmiB,GAAQ,OAAIA,EAAS7iB,KAAOyiB,CAAG,IAAE,GACvE,GAAKI,EAEL,OAAOA,EAASxhB,MAAMtB,IAAAA,OACxB,CACA,MAAO,EACT,ylCCrKA,IAwDM+iB,EAA6B,CACjCC,QAAS,OACTC,SAAU,WACVC,WAAY,SACZC,eAAgB,iBAGZC,EAA+B,CACnCJ,QAAS,OACTC,SAAU,WACVC,WAAY,SACZC,eAAgB,iBAGZE,EAAkC,CACtCC,gBAAiB,UACjBC,aAAc,MACdC,MAAO,UACPR,QAAS,eACTS,SAAU,GACVC,WAAY,SACZC,WAAY,IACZC,SAAU,EACVtW,QAAS,2BACTuW,UAAW,UAGPC,EAAkC,CACxC,EAEMC,EAAqB,SAACC,EAAkCC,GAC5D,IAI0DvC,EAJpDwC,GAAiBC,EAAAA,EAAAA,SAAOC,EAAAA,EAAAA,SAAQH,EAAenjB,KAAI,SAAAujB,GAAa,OAAIA,EAAc3jB,OAAO,KAAI,SAC7FugB,EAA0B,GAEhCU,EAAAR,EACoC6C,GAAsB,QAAA7B,EAAA,WAAG,IAAlDmC,EAAqB5C,EAAAxhB,MACxBqkB,EAAgBL,EAAeM,MAAK,SAAAD,GAAa,OAAIA,EAActkB,KAAOqkB,CAAqB,SAC/EjmB,IAAlBkmB,GACFtD,EAAOzc,KAAK+f,EAEhB,EALA,IAAA5C,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAAAc,GAKC,OAAAjF,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,CACD,OAAOwe,CACT,EAEMwD,EAAe,SAACC,EAAkBC,GACtC,IAE4CrD,EAFtCL,EAA0B,GAC1B2D,EAAqBD,EAAahkB,QAAO,SAAAkkB,GAAW,OAAIA,EAAYC,YAAcJ,CAAQ,IAACjD,EAAAN,EACvEyD,GAAkB,IAA5C,IAAAnD,EAAAjf,MAAA8e,EAAAG,EAAAre,KAAAie,MAA8C,CAAC,IAApCwD,EAAWvD,EAAAphB,MACpB+gB,EAAOzc,KAAK,CACVvE,GAAI4kB,EAAY5kB,GAChBC,MAAM,GAADC,OAAK0kB,EAAY5kB,IACtBqB,MAAM,GAADnB,OAAK0kB,EAAYE,cAAa,KAAA5kB,OAAI0kB,EAAYG,WAAU,KAAA7kB,OAAI0kB,EAAYI,UAAS,MAAA9kB,OAAK0kB,EAAYK,WAAU,KACjH1G,KAAMqG,EAAYrG,MAEtB,CAAC,OAAAtB,GAAAuE,EAAA3e,EAAAoa,EAAA,SAAAuE,EAAAhf,GAAA,CACD,OAAOwe,CACT,EAEMkE,EAAmB,SAACxmB,GAAmB,OAC3CmB,EAAAA,cAAA,OACE6Q,MAAOoS,EACP,aAAYpkB,EAAK2C,OAEjBxB,EAAAA,cAAA,YAAOnB,EAAK2C,OACZxB,EAAAA,cAAA,QAAM6Q,MAAO0S,GAAmB1kB,EAAK+B,QAAQmB,QACzC,EAGFujB,EAAoB,SAACzmB,GAAmB,OAC5CmB,EAAAA,cAAA,OAAK6Q,MAAOyS,GACVtjB,EAAAA,cAAA,QAAM6Q,MAAOmT,GAAmBnlB,EAAK2C,OACjC,EAGR,UAlI2C,SAAHS,GAA6E,IAGnFif,EAHY2D,EAAY5iB,EAAZ4iB,aAAcX,EAAsBjiB,EAAtBiiB,uBAAwBqB,EAAyBtjB,EAAzBsjB,0BAC5EpB,EAAkC,GACsC/C,EAAAC,GAA5DmE,EAAAA,EAAAA,MAAKX,EAAa7jB,KAAI,SAAA+jB,GAAW,OAAIA,EAAYC,SAAS,MAC5C,IAAhC,IAAA5D,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAkC,CAAC,IAAxBqD,EAAQ1D,EAAA9gB,MACjB+jB,EAAezf,KAAK,CAClBlD,MAAOojB,EACPhkB,QAAS+jB,EAAaC,EAAUC,IAEpC,CAEA,OAAAzH,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACA,IAIMyhB,EAAiBH,EAAmBC,EAAwBC,GASlE,OACEnkB,EAAAA,cAACylB,EAAAA,GAAM,CACL7kB,QAASujB,EACTkB,iBAAkBA,EAClBC,kBAAmBA,EACnBI,SAAO,EACPC,mBAAmB,EACnB1lB,UAAU,qBACV2lB,aAAcxB,EACdhkB,MAAOgkB,EACP9jB,SAvB4B,SAACulB,GAC/BN,EAA0BM,EAAqB7kB,KAAI,SAAA8kB,GAAmB,OAAIA,EAAoB3lB,EAAE,IAClG,EAsBI4lB,YAAa7lB,IAAAA,EAAO,+DAG1B,4iDC/CwD,IAElD8lB,EAAO,SAAAC,GAAA,SAAAD,IAAA,mGAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,6RAAAC,CAAAL,EAAAC,KAAAD,KAAA,EAAAtkB,IAAA,2BAAAtB,MAEX,SAA0BkmB,GACxB,MAAO,CAAEC,KAAMD,EACjB,GACA,CAAA5kB,IAAA,kBAAAtB,MAEA,SAAiBkmB,GACf,MAAO,CAAEC,KAAMD,EACjB,GAAC,CAAA5kB,IAAA,mBAAAtB,MAED,SAAkBkmB,GAChB,MAAO,CAAEC,KAAMD,EACjB,GAAC,CAAA5kB,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAACwmB,EAAAA,QAAa,CACZC,aAAc3hB,KAAK3G,MAAMsoB,aACzBC,cAAe5hB,KAAK3G,MAAMuoB,cAC1BC,mBAAoB7hB,KAAK8hB,iBACvB,iBAAkB,CAChBC,iBAAiB,EACjBC,aAAc,OACdC,SAAU,mBACVC,OAAQliB,KAAK3G,MAAM8oB,eAEvBC,uBAAwBpiB,KAAK8hB,iBAC3B,sBAAuB,CACrBC,iBAAiB,EACjBC,aAAc,QACdC,SAAU,mBACVC,OAAQliB,KAAK3G,MAAM8oB,eAEvBE,WAAYriB,KAAK8hB,iBACf,QAAS,CACPC,iBAAiB,EACjBC,aAAc,OACdC,SAAU,kBAEdK,YAAatiB,KAAK8hB,iBAChB,SAAU,CACRC,iBAAiB,EACjBC,aAAc,OACdC,SAAU,kBAEdM,kBAAmBviB,KAAK8hB,iBACtB,eAAgB,CACdC,iBAAiB,EACjBC,aAAc,MACdC,SAAU,yBAIpB,+FAAC,CAtDU,CAASO,EAAAA,SAyDtB,WAAeC,EAAAA,EAAAA,aAAYvB,0JCkBrBwB,EAAsB,SAACC,EAAsBC,GACjD,GAAc,OAAVD,EAAgB,MAAO,GAC3B,GAAmB,IAAfC,EAAOC,IAAW,MAAO,eAE7B,IAAMC,GAAOH,EAAQC,EAAOG,MAAQH,EAAOC,IAC3C,OAAOG,EAAAA,EAAAA,gBAAeF,EACxB,EAEA,WAAeL,EAAAA,EAAAA,cAtEqD,SAAHtlB,GAAsE,IAAhE8lB,EAAe9lB,EAAf8lB,gBAAiBC,EAAS/lB,EAAT+lB,UAASC,EAAAhmB,EAAEimB,cAAAA,OAAa,IAAAD,GAAQA,EACtH,GAAkB,MAAbD,GAAwD,IAAlCxd,OAAOmG,KAAKqX,GAAWjmB,OAAc,OAAO/B,EAAAA,cAAAA,EAAAA,SAAA,MAEvE,IAAMmoB,EAA2BJ,EAAgBK,kBAAkBvnB,QAAO,SAAAwnB,GAAc,OAAIA,EAAeC,aAAavmB,OAAS,CAAC,IAC5HwmB,EAAeJ,EAAyBpmB,OAAS,EACjDymB,EAAiBL,EAAyBM,MAAK,SAAAJ,GAAc,OAAgC,OAA5BA,EAAe9K,eAAiDhf,IAA5B8pB,EAAe9K,QAAsB,IAC1ImL,EAAeV,EAAUW,eAE/B,OAAKH,GAAmBD,EAGtBvoB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACZioB,GAAiBloB,EAAAA,cAAA,UAAKE,IAAAA,EAAO,qDAC5BgoB,GAAiBloB,EAAAA,cAAA,UAAKE,IAAAA,EAAO,oDAC/BF,EAAAA,cAAA,SAAOC,UAAU,mCACfD,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,MAAI6Q,MAAO,CAAEiT,SAAU,UAAY5jB,IAAAA,EAAO,iDACzCsK,OAAOmG,KAAKiY,EAAAA,QAAQ5nB,KAAI,SAAAU,GAAG,OAC1B1B,EAAAA,cAAA,MAAI0B,IAAKA,IAAMihB,EAAAA,EAAAA,eAAciG,EAAAA,OAAOlnB,GAA4B,IAAS,MAG/E1B,EAAAA,cAAA,aACG+nB,EAAgBK,kBAAkBpnB,KAAI,SAAAqnB,GAAmB,IAADQ,EAAAC,EACvD,OACE9oB,EAAAA,cAAA,MAAI0B,IAAK2mB,EAAeloB,IACtBH,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,MAAIC,UAAW8oB,IAAW,mBAAmBjB,EAAAA,EAAAA,gBAA4E,QAA9De,EAAiD,QAAjDC,EAACT,EAAe/mB,OAAO0nB,aAAaN,UAAa,IAAAI,OAAA,EAAhDA,EAAkDG,mBAAW,IAAAJ,EAAAA,EAAI,KAAK7oB,EAAAA,cAACkpB,EAAAA,QAAU,CAAC5nB,OAAQ+mB,EAAe/mB,UACpKkJ,OAAOmG,KAAKiY,EAAAA,QAAQ5nB,KAAI,SAAAU,GAAQ,IAADynB,EACxBC,EAAQR,EAAAA,OAAOlnB,GACf2nB,GAAcC,EAAAA,EAAAA,gBAAejB,EAAgBe,GAC7CG,EAAyE,QAAnDJ,EAAGd,EAAe/mB,OAAO0nB,aAAaN,UAAa,IAAAS,EAAAA,EAAI,CACjFK,cAAe,CAAE3B,KAAM,EAAGF,IAAK,GAC/B8B,WAAY,CAAE5B,KAAM,EAAGF,IAAK,GAC5B+B,KAAM,CAAE7B,KAAM,EAAGF,IAAK,GACtBgC,YAAa,CAAE9B,KAAM,EAAGF,IAAK,GAC7BiC,UAAW,CAAE/B,KAAM,EAAGF,IAAK,GAC3BkC,SAAU,CAAEhC,KAAM,EAAGF,IAAK,GAC1BmC,UAAW,CAAEjC,KAAM,EAAGF,IAAK,GAC3BsB,YAAa,GAEf,OACEjpB,EAAAA,cAAA,MACE0B,IAAKA,EACLzB,UAAW8oB,IAAW,kBAAmBvB,EAAoB6B,EAAaE,EAAW7nB,MAEpF2nB,EAGP,KAIR,QA9CmCrpB,EAAAA,cAAAA,EAAAA,SAAA,KAoD/C,wkDChEA,IAiQM+pB,EAAoB,SAACC,EAAIC,GAC7B,OAAKD,EAAG1B,cAAiB2B,EAAG3B,aAErB0B,EAAG1B,aAEH2B,EAAG3B,aAGH,EAFE,GAFC,EAFD,CAOX,EAEA,WAAelM,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBA5QG,SAACle,GAC3B,IAA2B+rB,EAA0B/rB,EAA7CgG,MAASgmB,OAAUD,kBACrBnC,EAAkB5pB,EAAM4pB,gBAW9B,IATA7oB,EAAAA,EAAAA,YAAU,WACRf,EAAMisB,qBAAqBF,GAC3B/rB,EAAMme,YACR,GAAG,KAEHpd,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,SAEwB9rB,IAApBwpB,QAAiDxpB,IAAhBJ,EAAMsB,OAA8C,IAAvBtB,EAAMsB,MAAMsC,OAAc,OAAO/B,EAAAA,cAAAA,EAAAA,SAAA,MAEnG,IAAMqf,GAAUqD,EAAAA,EAAAA,kBAAiBqF,EAAgB1I,SAC3Ce,GAAiBqC,EAAAA,EAAAA,yBAAwBsF,EAAgBuC,iBACzDrI,GAAeD,EAAAA,EAAAA,uBAAsB+F,EAAgBwC,cAAepsB,EAAMsB,OAC1E+qB,EAAYC,IAAO1C,EAAgB2C,YAAYrc,OAAOsc,EAAAA,8BACtDC,EAAc7C,EAAgB8C,aAAeJ,IAAO1C,EAAgB8C,cAAcxc,OAAOsc,EAAAA,8BAAgC,GACzHG,EAAoB/C,EAAgBgD,oBACpCC,EAAYP,IAAO1C,EAAgBkD,YAAY5c,OAAOsc,EAAAA,8BACtDO,EAAUT,IAAO1C,EAAgBkD,YAAcR,MAC/CU,EAAkBjrB,IAAAA,EAAO,uCAADG,OAAwC0nB,EAAgBqD,mBAoBhFC,EAAkC,SAAAlrB,GACtC,IAAMmrB,EAAavD,EAAgBK,kBAAkBvnB,QAAO,SAAAwnB,GAAc,OAAIA,EAAeloB,KAAOA,CAAE,IAAE,GAAGmB,OAAOG,KAClHtD,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OArBY,SAAA1c,GAC5BhC,EAAMotB,sBAAsBprB,GACzB4c,MAAK,WACJ5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,6DACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMisB,qBAAqBF,EAC7B,IAAE,OACK,SAAA9M,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,CAK0BwN,CAAsBprB,EAAG,EAC/CiF,OAAQlF,IAAAA,EAAO,0EAA2E,CAAEoB,OAAQgqB,IACpGtN,OAAQ,SACRC,UAAU,GAEd,EAUMuN,EAAwB,WAC5B,IAAMC,EAT0B,SAAA1D,GAChC,OAAIA,EAAgB8C,aACXD,EAGFJ,CACT,CAGqBkB,CAA0B3D,GAC7C,MAAyC,QAArCA,EAAgBqD,iBACZ,GAAN/qB,OAAUorB,EAAU,iBAEfA,CACT,EAQME,EAAe,SAACtD,GACY,OAA5BA,EAAe9K,UAEnBpf,EAAMue,QAAQhY,KAAK,cAADrE,OAAegoB,EAAe9K,SAASpd,GAAE,SAC7D,EAEA,OACEH,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAC9D3c,KAAMvB,IAAAA,EAAO,0BACbke,KAAM,sBACL,CAAE3c,KAAM+pB,QAEbxrB,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,gEAAiE,CAAEuB,KAAM+pB,SAGzFxrB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,aACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOoqB,IAETxqB,EAAAA,cAAA,SAAO6rB,QAAQ,cAAc3rB,IAAAA,EAAO,uDAEtCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,aACH4T,KAAK,OACL9T,UAAW8oB,IAAW,WAAYmC,GAAW,WAC7CU,UAAQ,EACRxrB,MAAO4qB,IAEThrB,EAAAA,cAAA,SAAO6rB,QAAQ,cAAc3rB,IAAAA,EAAO,wDAGxCF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,UACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOif,IAETrf,EAAAA,cAAA,SAAO6rB,QAAQ,WAAW3rB,IAAAA,EAAO,oDAEnCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,gBACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAO6hB,IAETjiB,EAAAA,cAAA,SAAO6rB,QAAQ,iBAAiB3rB,IAAAA,EAAO,2DAG3CF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,kBACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOggB,IAETpgB,EAAAA,cAAA,SAAO6rB,QAAQ,mBAAmB3rB,IAAAA,EAAO,4DAE3CF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAShB,EACTc,UAAQ,IAEV5rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,mEAKtBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,mBACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAO+qB,IAETnrB,EAAAA,cAAA,SACE6rB,QAAQ,oBACR3rB,IAAAA,EAAO,6DAGV6nB,EAAgB8C,cACf7qB,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,eACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOwqB,IAET5qB,EAAAA,cAAA,SAAO6rB,QAAQ,gBAAgB3rB,IAAAA,EAAO,0DAI5CF,EAAAA,cAAC+rB,EAAAA,QAA2B,CAAChE,gBAAiBA,IAC9C/nB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,MAAIC,UAAU,0BACZD,EAAAA,cAAA,MAAIC,UAAU,qBACZD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,+DAEgC,IAA7C6nB,EAAgBK,kBAAkBrmB,QACjC/B,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,8MAGlBM,CAAAC,EAAIsnB,EAAgBK,mBAAmB3c,MAAK,SAACue,EAAIC,GAAE,OAAKF,EAAkBC,EAAIC,EAAG,IAAEjpB,KAAI,SAAAqnB,GACtF,IAAM2D,EAA0C,OAA5B3D,EAAe9K,SACnC,OACEvd,EAAAA,cAAA,MAAI0B,IAAK2mB,EAAeloB,GAAIF,UAAU,mBACpCD,EAAAA,cAAA,WACEA,EAAAA,cAAA,OACEC,UAAW8oB,IAAW,iBAAkB,CAAE3S,QAAS4V,IACnD3N,QAAS,WAAF,OAAQsN,EAAatD,EAAe,GAE3CroB,EAAAA,cAACkpB,EAAAA,QAAU,CAAC5nB,OAAQ+mB,EAAe/mB,SACnCtB,EAAAA,cAAA,SACGqoB,EAAe4D,WAAWlqB,OAAS,GAAK/B,EAAAA,cAAAA,EAAAA,SAAA,KAAEA,EAAAA,cAAA,QAAMC,UAAU,cAAcC,IAAAA,EAAO,sDAAsD,KAAGuqB,IAAOpC,EAAe4D,YAAY5d,OAAOsc,EAAAA,+BAAqC3qB,EAAAA,cAAA,YACtNqoB,EAAeC,aAAavmB,OAAS,GAlJtC,SAACsmB,GACzB,OACEroB,EAAAA,cAAA,QAAMC,UAAuC,OAA5BooB,EAAe9K,SAAoB,aAAe,aAAcrd,IAAAA,EAAO,wDAAwD,KAAGuqB,IAAOpC,EAAeC,cAAcja,OAAOsc,EAAAA,8BAElM,CA8IqEuB,CAAkB7D,GAC5DA,EAAeC,aAAavmB,QAAU,GACrC/B,EAAAA,cAAA,QAAMC,UAAU,qBAAqBC,IAAAA,EAAO,gEAGjD8rB,GACChsB,EAAAA,cAAA,KACEue,KAAI,cAAAle,OAAgBgoB,EAAe9K,SAASpd,GAAE,SAC9CF,UAAU,gCACVue,MAAOte,IAAAA,EAAO,yDACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACF0V,EAAatD,EACf,GAEAroB,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,SAGlCD,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,oBACVue,MAAOte,IAAAA,EAAO,mEACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACFoV,EAAgChD,EAAeloB,GACjD,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,YAKxC,SAQhB,ihDCvQ8D,IAEzCksB,EAAG,SAAAC,GACtB,SAAAD,EAAahuB,GAAQ,IAADkuB,EAIU,mGAJVnG,CAAA,KAAAiG,GAClBE,EAAAlG,EAAA,KAAAgG,EAAA,CAAMhuB,IACNmuB,EAAAA,WAAWC,OACXF,EAAKG,YAAc,IAAIC,EAAAA,YACvBJ,EAAKK,wBAAuBL,CAC9B,CAAC,4RAAAhG,CAAA8F,EAAAC,KAAAD,KAAA,EAAAzqB,IAAA,oBAAAtB,MAED,WACEusB,IAAAA,cAAoB,OACtB,GAAC,CAAAjrB,IAAA,wBAAAtB,MAED,WACM,kBAAmBkG,WACrBnH,OAAO6W,iBAAiB,QAAQ,WAC9B1P,UAAUsmB,cAAcC,SAAS,qBACnC,GAEJ,GAAC,CAAAnrB,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAAC8sB,EAAAA,oBAAmB,CAACC,OAAQjoB,KAAK0nB,aAChCxsB,EAAAA,cAAA,OAAKC,UAAU,MAAME,GAAG,OACtBH,EAAAA,cAACgtB,EAAAA,QAAS,CAACtQ,QAASA,EAAAA,WAI5B,+FAAC,CA5BqB,CAAS1c,EAAAA,o2CCNF,IAEzBitB,EAAa,SAAAb,GACjB,SAAAa,EAAa9uB,GAAQ,IAADkuB,EAMjB,mGANiBnG,CAAA,KAAA+G,IAClBZ,EAAAlG,EAAA,KAAA8G,EAAA,CAAM9uB,KACD+uB,UAAY,CACf,EAAG,QACH,EAAG,SACH,EAAG,OACJb,CACH,CAAC,4RAAAhG,CAAA4G,EAAAb,KAAAa,KAAA,EAAAvrB,IAAA,SAAAtB,MAED,WAAW,IAAD+sB,EAAA,KACFC,EAAWtoB,KAAK3G,MAAM6e,cAAcoQ,SAC1C,OACEptB,EAAAA,cAAA,OAAKC,UAAU,4BACZmtB,GAAYA,EAASpsB,KAAI,SAACqsB,GAAG,OAC5BrtB,EAAAA,cAACstB,EAAAA,QAAO,CAAC5rB,IAAK2rB,EAAIhN,QAASgN,IAAKA,EAAIhN,QAAS9I,MAAO8V,EAAI9V,MAAOmM,MAAOyJ,EAAKD,UAAUG,EAAItZ,MAAOwZ,cAAeJ,EAAKhvB,MAAM6e,cAAcuQ,eAAiB,IAIjK,+FAAC,CAnBgB,CAASvtB,EAAAA,WAsB5B,WAAeqc,EAAAA,EAAAA,mBAAkB4Q,g4CCzBV,IAEFO,EAAO,SAAApB,GAAA,SAAAoB,IAAA,mGAAAtH,CAAA,KAAAsH,GAAArH,EAAA,KAAAqH,EAAApH,UAAA,6RAAAC,CAAAmH,EAAApB,KAAAoB,IAAA,EAAA9rB,IAAA,UAAAtB,MAC1B,WACE,OAAOb,SAASK,eAAe,YAAYQ,KAC7C,GAAC,CAAAsB,IAAA,SAAAtB,MAED,WAAW,IAADisB,EAAA,KACR,OACErsB,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,OAAKC,UAAU,cACfD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,iCACV4E,KAAK3G,MAAMsvB,OAAUztB,EAAAA,cAAA,SAAI8E,KAAK3G,MAAMsvB,OACrCztB,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,SAAO6rB,QAAQ,YACb7rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,kCAEhBF,EAAAA,cAAA,SACE+T,KAAK,OACL5T,GAAG,WACHutB,WAAS,EACTC,WAAY,SAAC3qB,GAAC,MAAe,UAAVA,EAAEtB,KAAmB2qB,EAAKluB,MAAMyvB,WAAW,CAAEC,gBAAiBxB,EAAKyB,WAAY,KAGtG9tB,EAAAA,cAAA,WACEA,EAAAA,cAAA,UACEG,GAAG,iBACHke,QAAS,WAAF,OAAQgO,EAAKluB,MAAMyvB,WAAW,CAAEC,gBAAiBxB,EAAKyB,WAAY,EACzE7tB,UAAU,sDAETC,IAAAA,EAAO,oCAMpB,gGAAC,CAnCyB,CAASF,EAAAA,wnECiGrC,WAAeqc,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,cA7FL,SAAAppB,GAC1B,IAAqDC,EAAAC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA9CwvB,EAAS3vB,EAAA,GAAE4vB,EAAY5vB,EAAA,GACqB6vB,EAAA5vB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA5C2vB,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GACUG,EAAA/vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/BmB,EAAK2uB,EAAA,GAAEC,EAAQD,EAAA,GAC6BE,EAAAjwB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA5Cgf,EAAQ+Q,EAAA,GAAEC,EAAWD,EAAA,GAkCtBhS,EAAa,WACFkS,IAEZzR,MAAK,SAAA0R,GAASJ,EAASI,EAAI5vB,KAAM,IAAE,OAC7B,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAA0tB,GAAA,IAAAC,EAAAtwB,EAAAqwB,EAAA,GAAEvrB,EAACwrB,EAAA,GAAE7rB,EAAC6rB,EAAA,YAAAtuB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAEMyQ,EAAW,WACf,OAAOI,EAAAA,QAAM/S,IAAI,gBAAiB,CAAEgT,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC1D,EAEMC,EAAe,SAAAC,GACnB,OAAOL,EAAAA,QAAM/S,IAAI,0BAADxb,OAA2B4uB,GAAQ,CAAEJ,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC3E,EAMMG,EAAc,SAAA/uB,GAClB,OAAOyuB,EAAAA,QAAM/S,IAAI,qBAADxb,OAAsBF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACpE,EAEMI,EAAkB,SAAAhvB,GACtB,OAAOyuB,EAAAA,QAAK,OAAQ,qBAADvuB,OAAsBF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACvE,EAEA,OACE/uB,EAAAA,cAACovB,EAAAA,QAAe,CACdC,cAAe,CACbtB,UAAAA,EACAG,SAAAA,EACAoB,eAtEiB,WAAe,IAAdL,EAAI7I,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,EAC7B4H,OAAazvB,GACb4vB,OAAY5vB,GACGywB,EAAaC,GAEzBlS,MAAK,SAAA0R,GACJT,EAAaS,EAAI5vB,KAAKA,MACtBsvB,EAAYM,EAAI5vB,KAAKowB,KACvB,IAAE,OACK,SAAA7R,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAuDMte,MAAAA,EACA6c,WAAAA,EACA6S,gBAAAA,GAEFI,UAAW,CACThS,SAAAA,EACAiS,cA3DgB,SAACrvB,GACrBouB,OAAYhwB,GACG2wB,EAAY/uB,GAExB4c,MAAK,SAAA0R,GAASF,EAAYE,EAAI5vB,KAAM,IAAE,OAChC,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAgDMte,MAAAA,EACA6c,WAAAA,EACA6S,gBAAAA,EACAQ,eA5BiB,SAACxvB,EAAIod,GAC1B,OAAOqR,EAAAA,QAAMgB,MAAM,qBAADvvB,OAAsBF,GAAMod,EAAU,CAAEsR,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAChF,IA8BF,gqCCrCA,UAlDmB,SAAA5wB,IACjBe,EAAAA,EAAAA,YAAU,WACRf,EAAMme,YACR,GAAG,IAEH,IAAMuT,GAAoBC,EAAAA,EAAAA,UAAQ,kBAAMtlB,OAAOgI,OAAOuQ,EAAAA,gBAAgBgN,MAAM,GAAE,IACxEC,GAAaF,EAAAA,EAAAA,UAAQ,WACzB,IAC8B5O,EADxBC,EAAS,GAAEC,EAAAC,EACEljB,EAAMsB,OAAK,IAA9B,IAAA2hB,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAgC,CAAC,IACEK,EADxBzgB,EAAI+f,EAAA9gB,MAAAyhB,EAAAR,EACQlgB,EAAKC,SAAO,IAAjC,IAAAygB,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAAmC,CAAC,IAAzBjgB,EAAMsgB,EAAAxhB,MACf+gB,EAAOzc,KAAK,CACVvE,GAAImB,EAAOnB,GACX8vB,aAAwC,OAAzB3uB,EAAO4uB,cAAyB,GAAK5uB,EAAO4uB,cAC3DzuB,KAAMH,EAAOG,KACbid,KAAMpd,EAAOod,KACb4D,OAAQnhB,EAAKhB,GACbykB,SAAUzjB,EAAKM,MAEnB,CAAC,OAAA2b,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,CACH,CAAC,OAAAya,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACD,OAAOwe,CACT,GAAG,CAAChjB,EAAMsB,QACV,OACEO,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,wBAEjFF,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,0BAGhBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAACmwB,EAAAA,QAAW,CAACtxB,KAAMgxB,EAAmBO,SAAS,4BAA4B3uB,KAAMvB,IAAAA,EAAO,uCACvF8vB,EAAWjuB,OAAS,GAAK/B,EAAAA,cAACmwB,EAAAA,QAAW,CAACtxB,KAAMmxB,EAAYI,SAAS,oBAAoB3uB,KAAMvB,IAAAA,EAAO,+BACnGF,EAAAA,cAACqwB,EAAAA,QAAe,QAGpBrwB,EAAAA,cAACswB,EAAAA,QAAoB,CAACC,OAAQpyB,EAAMqyB,uBACpCxwB,EAAAA,cAACywB,EAAAA,QAAkB,CAACF,OAAQpyB,EAAMuyB,qBAClC1wB,EAAAA,cAAC2wB,EAAAA,QAAc,CAACJ,OAAQpyB,EAAMyyB,mBAKxC,ukCC1BA,UA9BoB,SAAAzyB,GAClB,OACE6B,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACZuK,OAAO8S,QAAQnf,EAAMggB,QAAQnd,KAAI,SAAAiB,GAAmB,IAADyb,EAAArf,EAAA4D,EAAA,GAAhBoI,EAAKqT,EAAA,GAAEmT,EAAGnT,EAAA,GAC5C,OAAIxc,SAASmJ,GAAS,IAAMlM,EAAMggB,OAAOpc,OAErC/B,EAAAA,cAAA,KAAG0B,IAAKmvB,EAAIpvB,KAAM8c,KAAK,KAAKte,UAAU,aAAaoe,QAAS,SAAArb,GAAC,OAAIA,EAAEiT,gBAAgB,GAAG4a,EAAIpvB,MAI5FzB,EAAAA,cAAC8wB,EAAAA,GAAI,CACHpvB,IAAKmvB,EAAIpvB,KACTwD,GAAI4rB,EAAIzS,KACRne,UAAU,cACV4wB,EAAIpvB,KAGV,QAOd,4tCCkJA,WAAe2a,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBAlKC,SAAAle,GACxB,IAAM8wB,EAAO,IAAI8B,gBAAgB5yB,EAAM2c,SAASkW,QAAQnV,IAAI,SAAW,KAEvE3c,EAAAA,EAAAA,YAAU,WACRf,EAAMme,YACR,GAAG,KAEHpd,EAAAA,EAAAA,YAAU,WACRf,EAAMmxB,eAAeL,EACvB,GAAG,CAACA,IAEJ,IAoBMgC,EAA4B,SAAA9wB,GAChChC,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OAlBM,SAAA1c,GACtBhC,EAAMgxB,gBAAgBhvB,GAAI4c,MAAK,WAC7B5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,6CACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMmxB,eAAeL,EACvB,IAAE,OAAO,SAAA7R,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,CAI0BoR,CAAgBhvB,EAAG,EACzCiF,OAAQlF,IAAAA,EAAO,8CACf8d,OAAQ,SACRC,UAAU,GAEd,EAyCA,OACEje,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,sBAEjFF,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,kBAAkB,IAAE/B,EAAM+vB,UAA4C,IAAhC/vB,EAAM+vB,SAASgD,cAAkB,KAAA7wB,OAASH,IAAAA,EAAO,QAAO,KAAAG,OAAIlC,EAAM+vB,SAASgD,oBACxG3yB,IAApBJ,EAAM4vB,WACL/tB,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,SAEDvD,IAApBJ,EAAM4vB,WAAsD,IAA3B5vB,EAAM4vB,UAAUhsB,QAChD/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,oDAEI3B,IAApBJ,EAAM4vB,WAA2B5vB,EAAM4vB,UAAUhsB,OAAS,GACzD/B,EAAAA,cAAA,SAAOC,UAAU,8BACfD,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,4BACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,mCACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,sCACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,gCACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,uCACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,yCACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,mCAGhBF,EAAAA,cAAA,aACG7B,EAAM4vB,UAAU/sB,KAAI,SAAAuc,GACnB,OACEvd,EAAAA,cAAA,MAAI0B,IAAK6b,EAASpd,IAChBH,EAAAA,cAAA,UAAKud,EAASpd,IACdH,EAAAA,cAAA,UAzED,SAAAud,GACrB,OAAOkN,IAAOlN,EAAS4T,WAAW9iB,OAAO+iB,EAAAA,gCAC3C,CAuE6BC,CAAe9T,IACpBvd,EAAAA,cAAA,UAtEE,SAAAud,GACxB,OAAOkN,IAAOlN,EAAS+K,cAAcja,OAAO+iB,EAAAA,gCAC9C,CAoE6BE,CAAkB/T,IACvBvd,EAAAA,cAAA,UAnEH,SAAAud,GACnB,OACEvd,EAAAA,cAACkpB,EAAAA,QAAU,CAAC5nB,OAAQ,CAClBG,KAAM8b,EAASgU,SAAS9vB,KACxByuB,cAAe3S,EAASgU,SAAStB,aACjCvR,KAAMnB,EAASgU,SAAS7S,KACxBve,GAAIod,EAASgU,SAASC,WAI5B,CAyD6BC,CAAalU,IAClBvd,EAAAA,cAAA,UApDG,SAAAud,GACzB,OAAOyE,EAAAA,EAAAA,uBAAsBzE,EAASgU,SAAStP,aAAc9jB,EAAMsB,MACrE,CAkD6BiyB,CAAmBnU,GAAU,IAhDhC,SAAAA,GACxB,OAAOmF,EAAAA,EAAAA,kBAAiBnF,EAASgU,SAASlS,QAC5C,CA8C4DsS,CAAkBpU,IACtDvd,EAAAA,cAAA,UAzDK,SAAAud,GAC3B,OAAOkF,EAAAA,EAAAA,yBAAwBlF,EAASgU,SAASnR,eACnD,CAuD6BwR,CAAqBrU,GA7CrB,SAAAA,GAC3B,OAAIA,EAASgU,SAASM,gBAAkBtU,EAASgU,SAASnR,gBAAkB7C,EAASgU,SAASnR,iBAAmBL,EAAAA,0BACxG/f,EAAAA,cAAA,QAAMC,UAAU,cAAa,MAAIC,IAAAA,EAAO,oCAE1CF,EAAAA,cAAAA,EAAAA,SAAA,KACT,CAwC6D8xB,CAAqBvU,IAC1Dvd,EAAAA,cAAA,UACEA,EAAAA,cAAA,KACEue,KAAI,cAAAle,OAAgBkd,EAASpd,GAAE,SAC/BF,UAAU,gCACVue,MAAOte,IAAAA,EAAO,oCACdme,QAAS,SAAArb,GAhHhB,IAAA7C,EAiHS6C,EAAEiT,iBAjHX9V,EAkHsBod,EAASpd,GAjHlDhC,EAAMue,QAAQhY,KAAK,cAADrE,OAAeF,EAAE,SAkHT,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,YAEhCD,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,oBACVue,MAAOte,IAAAA,EAAO,sCACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACFgb,EAA0B1T,EAASpd,GACrC,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,YAKxC,WAIe1B,IAApBJ,EAAM4vB,WACL/tB,EAAAA,cAAC+xB,EAAAA,QAAU,CACT7D,SAAU/vB,EAAM+vB,SAChBxR,QAASve,EAAMue,cASjC,gGC9JA,UAZyB,SAAAve,GACvB,IAAQ6zB,EAAiB7zB,EAAjB6zB,aACR,OACEhyB,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,eACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,mEACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACuyB,EAAAA,QAAU/nB,OAAAgoB,OAAA,GAAKr0B,EAAW6zB,GAAgB,IAIrE,+mECwJA,WAAe3V,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,cAhKE,SAAAppB,GACjC,IAAmEC,EAAAC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA5Dk0B,EAAgBr0B,EAAA,GAAEs0B,EAAmBt0B,EAAA,GACqC6vB,EAAA5vB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA1Eo0B,EAAuB1E,EAAA,GAAE2E,EAA0B3E,EAAA,GACPG,EAAA/vB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA5C2vB,EAAQE,EAAA,GAAED,EAAWC,EAAA,GACUE,EAAAjwB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/BmB,EAAK6uB,EAAA,GAAED,EAAQC,EAAA,GAC2CuE,EAAAx0B,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA1DwpB,EAAe8K,EAAA,GAAEC,EAAkBD,EAAA,GACGE,EAAA10B,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAtCy0B,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAoFhBzW,EAAa,WACFkS,IAEZzR,MAAK,SAAA0R,GAASJ,EAASI,EAAI5vB,KAAM,IAAE,OAC7B,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAkyB,GAAA,IAAAC,EAAA90B,EAAA60B,EAAA,GAAE/vB,EAACgwB,EAAA,GAAErwB,EAACqwB,EAAA,YAAA9yB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAEMyQ,EAAW,WACf,OAAOI,EAAAA,QAAM/S,IAAI,gBAAiB,CAAEgT,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC1D,EAMMqE,EAA0B,SAAAnE,GAC9B,OAAOL,EAAAA,QAAM/S,IAAI,4CAADxb,OAA6C4uB,GAAQ,CAAEJ,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC7F,EACMsE,EAAiC,SAACC,EAAWC,GACjD,OAAO3E,EAAAA,QAAM/S,IAAI,2DAADxb,OAA4DizB,EAAUE,cAAa,cAAAnzB,OAAakzB,EAAQC,eAAiB,CAAE3E,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACjK,EAEM0E,EAA4B,SAAAxE,GAChC,OAAOL,EAAAA,QAAM/S,IAAI,8CAADxb,OAA+C4uB,GAAQ,CAAEJ,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC/F,EACM2E,EAAmC,SAACJ,EAAWC,GACnD,OAAO3E,EAAAA,QAAM/S,IAAI,6DAADxb,OAA8DizB,EAAUE,cAAa,cAAAnzB,OAAakzB,EAAQC,eAAiB,CAAE3E,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACnK,EAEM4E,EAAqB,SAAAxzB,GACzB,OAAOyuB,EAAAA,QAAM/S,IAAI,6BAADxb,OAA8BF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC5E,EAMA,OACE/uB,EAAAA,cAAC4zB,EAAAA,QAAsB,CACrBvE,cAAe,CACboD,iBAAAA,EACAE,wBAAAA,EACAzE,SAAAA,EACA2F,0BAnI4B,WAAe,IAAd5E,EAAI7I,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,EACxCsM,OAAoBn0B,GACpB4vB,OAAY5vB,GACG60B,EAAwBnE,GAEpClS,MAAK,SAAA0R,GACJiE,EAAoBjE,EAAI5vB,KAAKA,MAC7BsvB,EAAYM,EAAI5vB,KAAKowB,KACvB,IAAE,OACK,SAAA7R,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAoHM+V,iCAlHmC,SAACR,EAAWC,GACnDX,OAA2Br0B,GACZ80B,EAA+BC,EAAWC,GAEtDxW,MAAK,SAAA0R,GACJmE,EAA2BnE,EAAI5vB,KACjC,IAAE,OACK,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAqGMgW,4BAnG8B,WAAe,IAAd9E,EAAI7I,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,EAC1CsM,OAAoBn0B,GACpB4vB,OAAY5vB,GACGk1B,EAA0BxE,GAEtClS,MAAK,SAAA0R,GACJiE,EAAoBjE,EAAI5vB,KAAKA,MAC7BsvB,EAAYM,EAAI5vB,KAAKowB,KACvB,IAAE,OACK,SAAA7R,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAA0tB,GAAA,IAAAC,EAAAtwB,EAAAqwB,EAAA,GAAEvrB,EAACwrB,EAAA,GAAE7rB,EAAC6rB,EAAA,YAAAtuB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAoFMiW,mCAlFqC,SAACV,EAAWC,GACrDX,OAA2Br0B,GACZm1B,EAAiCJ,EAAWC,GAExDxW,MAAK,SAAA0R,GACJmE,EAA2BnE,EAAI5vB,KACjC,IAAE,OACK,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAizB,GAAA,IAAAC,EAAA71B,EAAA41B,EAAA,GAAE9wB,EAAC+wB,EAAA,GAAEpxB,EAACoxB,EAAA,YAAA7zB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAqEMte,MAAAA,EACA6c,WAAAA,EACA0W,MAAAA,EACAC,SAAAA,EACAkB,uBAxCyB,SAAAh0B,GAC7B,OAAOyuB,EAAAA,QAAK,OAAQ,6BAADvuB,OAA8BF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC/E,GAwCIQ,UAAW,CACTxH,gBAAAA,EACAqC,qBA3EuB,SAACjqB,GAC5B2yB,OAAmBv0B,GACJo1B,EAAmBxzB,GAE/B4c,MAAK,SAAA0R,GAASqE,EAAmBrE,EAAI5vB,KAAM,IAAE,OACvC,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAozB,GAAA,IAAAC,EAAAh2B,EAAA+1B,EAAA,GAAEjxB,EAACkxB,EAAA,GAAEvxB,EAACuxB,EAAA,YAAAh0B,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAgEMte,MAAAA,EACA6c,WAAAA,EACAiP,sBAzBwB,SAAAprB,GAC5B,OAAOyuB,EAAAA,QAAK,OAAQ,6BAADvuB,OAA8BF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC/E,IA2BF,mFC5FA,UAtEmB,SAAH9sB,GAA+B,IAAzBisB,EAAQjsB,EAARisB,SAAUxR,EAAOza,EAAPya,QAC9B,IAAKwR,GAAYA,EAASoG,YAAc,EAAG,OAAOt0B,EAAAA,cAAAA,EAAAA,SAAA,MAClD,IAEIu0B,EAAc7zB,MAAMC,KAAKD,MAAMwtB,EAASoG,YAAc,GAAG3jB,QAK7D,GAFA4jB,EAAYC,QAERtG,EAASoG,YAPU,EAOoB,CACzC,IAAMG,EAAiBvG,EAASgD,aAAe,EAKzCwD,EAAaxG,EAASoG,YAAc,EAGpCK,EAAW9wB,KAAKwD,IAAIxD,KAAKuD,IAAIqtB,EAAiB5wB,KAAK+wB,MAAM,KAN5C,GAMoFF,GAEjGG,EAAShxB,KAAKwD,IAAIstB,EAlBH,EAkB+B,EAAGD,GAKjDI,EAAaC,GAAsBF,EAASF,GAElDJ,EAAcA,EAAYhwB,MAAMowB,EAAWG,EAAYD,EACzD,CAEuB,IAAnBN,EAAY,IAAYA,EAAY5gB,QAAQ,GAG5C4gB,EAAYA,EAAYxyB,OAAS,KAAOmsB,EAASoG,aAAeC,EAAY7vB,KAAKwpB,EAASoG,aAE9F,IAAMU,EAAc,SAAChyB,EAAGisB,GACtBjsB,EAAEiT,iBACFyG,EAAQhY,KAAK,GAADrE,OAAIqc,EAAQ5B,SAASma,SAAQ,UAAA50B,OAAS4uB,GACpD,EAGA,OACEjvB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,MAAIC,UAAU,cACZD,EAAAA,cAAA,MAAIC,UAAW8oB,IAAqC,IAA1BmF,EAASgD,cAAsB,eAAgB,CAAEtF,SAAoC,IAA1BsC,EAASgD,eAAuB7S,QAAS,SAACrb,GAAC,OAAKgyB,EAAYhyB,EAAGkrB,EAASgD,aAAe,EAAE,GAC5KlxB,EAAAA,cAAA,QAAMC,UAAU,eAAcD,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,kBAE7Ds0B,EAAYvzB,KAAI,SAAAiuB,GACf,OACEjvB,EAAAA,cAAA,MACE0B,IAAG,cAAArB,OAAgB4uB,GACnBhvB,UAAW8oB,IAAW,eAAgB,CAAEpZ,OAAQsf,IAASf,EAASgD,eAClE7S,QAAS,SAACrb,GAAC,OAAKgyB,EAAYhyB,EAAGisB,EAAK,GAEpCjvB,EAAAA,cAAA,QAAMC,UAAU,eACbgvB,GAIT,IACAjvB,EAAAA,cAAA,MAAIC,UAAW8oB,IAAWmF,EAASgD,eAAiBhD,EAASoG,aAAe,eAAgB,CAAE1I,SAAUsC,EAASgD,eAAiBhD,EAASoG,cAAgBjW,QAAS,SAACrb,GAAC,OAAKgyB,EAAYhyB,EAAGkrB,EAASgD,aAAe,EAAE,GAClNlxB,EAAAA,cAAA,QAAMC,UAAU,eAAcD,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,qBAMxE,skCChBA,UApDmB,SAAC9B,IAClBe,EAAAA,EAAAA,YAAU,WACR,IAAMS,EAAOJ,SAASK,eAAe,uBAADS,OAAwBlC,EAAMmD,OAAOnB,KACzEhB,OAAOC,EAAEC,WAAWC,KAAKK,EAC3B,GAAG,CAACxB,EAAMmD,OAAOnB,KAEjB,IAMM8hB,EAAe9jB,EAAMmD,OAAO2gB,aAAe9jB,EAAMmD,OAAO2gB,aAAe9jB,EAAM8jB,aAC7E7B,EAAiBjiB,EAAMmD,OAAO8e,eAAiBjiB,EAAMmD,OAAO8e,eAAiBjiB,EAAMiiB,eAEzF,OACEpgB,EAAAA,cAAA,OAAKC,UAAU,eATX9B,EAAM+2B,UACDl1B,EAAAA,cAAA,KAAGC,UAAU,4BAA2B,SAE1CD,EAAAA,cAAA,QAAMC,UAAS,QAAAI,OAAUlC,EAAMmD,OAAOod,QAASD,EAAAA,EAAAA,aAAYtgB,EAAMmD,OAAOod,OAQ7E1e,EAAAA,cAAA,QAAMC,UAAU,iBAAgD,OAA/B9B,EAAMmD,OAAO4uB,cAAyB/xB,EAAMmD,OAAO4uB,cAAgB,IAAU,OAC7G/xB,EAAMmD,OAAOG,KACbtD,EAAMg3B,mBACLn1B,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAE,8BAAAE,OAAgClC,EAAMmD,OAAOnB,IAC/CylB,aAAcxF,EACd9f,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,8BAADngB,OAA+BlC,EAAMmD,OAAOnB,IAAMhC,EAAMg3B,kBAAkB,GAEvGh3B,EAAMihB,gBAAgBpe,KAAI,SAAAo0B,GACzB,OACEp1B,EAAAA,cAAA,UAAQ0B,IAAK0zB,EAAiBh1B,MAAOg1B,IAAkB3S,EAAAA,EAAAA,yBAAwB2S,GAEnF,KAGHj3B,EAAMk3B,iBACLr1B,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAE,uBAAAE,OAAyBlC,EAAMmD,OAAOnB,IACxCylB,aAAc3D,EACd3hB,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,uBAADngB,OAAwBlC,EAAMmD,OAAOnB,IAAMhC,EAAMk3B,gBAAgB,IAE9FpU,EAAAA,EAAAA,eAAc9iB,EAAMsB,OAAOuB,KAAI,SAAAiB,GAA0C,IAADyb,EAAArf,EAAA4D,EAAA,GAAvC8f,EAAarE,EAAA,GAAE4X,EAAkB5X,EAAA,GACjE,OACE1d,EAAAA,cAAA,UAAQ0B,IAAKqgB,EAAe3hB,MAAO2hB,GAAgBuT,EAEvD,KAKV,qKCpDAC,EAAA,kBAAAvyB,CAAA,MAAA6B,EAAA7B,EAAA,GAAAX,EAAAmI,OAAAC,UAAAnH,EAAAjB,EAAAmJ,eAAA6L,EAAA7M,OAAAgrB,gBAAA,SAAA3wB,EAAA7B,EAAAX,GAAAwC,EAAA7B,GAAAX,EAAAjC,KAAA,EAAAyK,EAAA,mBAAA4qB,OAAAA,OAAA,GAAAlyB,EAAAsH,EAAA6qB,UAAA,aAAA9yB,EAAAiI,EAAA8qB,eAAA,kBAAAlxB,EAAAoG,EAAA+qB,aAAA,yBAAA1wB,EAAAL,EAAA7B,EAAAX,GAAA,OAAAmI,OAAAgrB,eAAA3wB,EAAA7B,EAAA,CAAA5C,MAAAiC,EAAAwzB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAlxB,EAAA7B,EAAA,KAAAkC,EAAA,aAAAL,GAAAK,EAAA,SAAAL,EAAA7B,EAAAX,GAAA,OAAAwC,EAAA7B,GAAAX,CAAA,WAAA2zB,EAAAnxB,EAAA7B,EAAAX,EAAAiB,GAAA,IAAAuH,EAAA7H,GAAAA,EAAAyH,qBAAAwrB,EAAAjzB,EAAAizB,EAAA1yB,EAAAiH,OAAA2R,OAAAtR,EAAAJ,WAAA7H,EAAA,IAAAszB,EAAA5yB,GAAA,WAAA+T,EAAA9T,EAAA,WAAAnD,MAAA+1B,EAAAtxB,EAAAxC,EAAAO,KAAAW,CAAA,UAAA6yB,EAAAvxB,EAAA7B,EAAAX,GAAA,WAAA0R,KAAA,SAAAsiB,IAAAxxB,EAAA6F,KAAA1H,EAAAX,GAAA,OAAAwC,GAAA,OAAAkP,KAAA,QAAAsiB,IAAAxxB,EAAA,EAAA7B,EAAAgzB,KAAAA,EAAA,IAAA3yB,EAAA,iBAAAD,EAAA,iBAAAT,EAAA,YAAAD,EAAA,YAAA+D,EAAA,YAAAwvB,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAAtzB,EAAA,GAAAiC,EAAAjC,EAAAM,GAAA,8BAAAR,EAAAyH,OAAAgsB,eAAA1zB,EAAAC,GAAAA,EAAAA,EAAAyP,EAAA,MAAA1P,GAAAA,IAAAT,GAAAiB,EAAAoH,KAAA5H,EAAAS,KAAAN,EAAAH,GAAA,IAAAW,EAAA8yB,EAAA9rB,UAAAwrB,EAAAxrB,UAAAD,OAAA2R,OAAAlZ,GAAA,SAAAwzB,EAAA5xB,GAAA,0BAAAqJ,SAAA,SAAAlL,GAAAkC,EAAAL,EAAA7B,GAAA,SAAA6B,GAAA,YAAA6xB,QAAA1zB,EAAA6B,EAAA,gBAAA8xB,EAAA9xB,EAAA7B,GAAA,SAAA4zB,EAAAv0B,EAAAgV,EAAAxM,EAAAtH,GAAA,IAAAX,EAAAwzB,EAAAvxB,EAAAxC,GAAAwC,EAAAwS,GAAA,aAAAzU,EAAAmR,KAAA,KAAAtP,EAAA7B,EAAAyzB,IAAAhzB,EAAAoB,EAAArE,MAAA,OAAAiD,GAAA,iBAAAA,GAAAC,EAAAoH,KAAArH,EAAA,WAAAL,EAAA6zB,QAAAxzB,EAAAyzB,SAAA/Z,MAAA,SAAAlY,GAAA+xB,EAAA,OAAA/xB,EAAAgG,EAAAtH,EAAA,aAAAsB,GAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAP,EAAA6zB,QAAAxzB,GAAA0Z,MAAA,SAAAlY,GAAAJ,EAAArE,MAAAyE,EAAAgG,EAAApG,EAAA,aAAAI,GAAA,OAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAA,EAAAX,EAAAyzB,IAAA,KAAAh0B,EAAAgV,EAAA,gBAAAjX,MAAA,SAAAyE,EAAAvB,GAAA,SAAAyzB,IAAA,WAAA/zB,GAAA,SAAAA,EAAAX,GAAAu0B,EAAA/xB,EAAAvB,EAAAN,EAAAX,EAAA,WAAAA,EAAAA,EAAAA,EAAA0a,KAAAga,EAAAA,GAAAA,GAAA,aAAAZ,EAAAnzB,EAAAX,EAAAiB,GAAA,IAAA+T,EAAAhU,EAAA,gBAAAwH,EAAAtH,GAAA,GAAA8T,IAAA1U,EAAA,MAAAE,MAAA,mCAAAwU,IAAA3U,EAAA,cAAAmI,EAAA,MAAAtH,EAAA,OAAAnD,MAAAyE,EAAA0c,MAAA,OAAAje,EAAAkS,OAAA3K,EAAAvH,EAAA+yB,IAAA9yB,IAAA,KAAAX,EAAAU,EAAA0zB,SAAA,GAAAp0B,EAAA,KAAA6B,EAAAwyB,EAAAr0B,EAAAU,GAAA,GAAAmB,EAAA,IAAAA,IAAAgC,EAAA,gBAAAhC,CAAA,cAAAnB,EAAAkS,OAAAlS,EAAA4zB,KAAA5zB,EAAA6zB,MAAA7zB,EAAA+yB,SAAA,aAAA/yB,EAAAkS,OAAA,IAAA6B,IAAAhU,EAAA,MAAAgU,EAAA3U,EAAAY,EAAA+yB,IAAA/yB,EAAA8zB,kBAAA9zB,EAAA+yB,IAAA,gBAAA/yB,EAAAkS,QAAAlS,EAAA+zB,OAAA,SAAA/zB,EAAA+yB,KAAAhf,EAAA1U,EAAA,IAAAM,EAAAmzB,EAAApzB,EAAAX,EAAAiB,GAAA,cAAAL,EAAA8Q,KAAA,IAAAsD,EAAA/T,EAAAie,KAAA7e,EAAAU,EAAAH,EAAAozB,MAAA5vB,EAAA,gBAAArG,MAAA6C,EAAAozB,IAAA9U,KAAAje,EAAAie,KAAA,WAAAte,EAAA8Q,OAAAsD,EAAA3U,EAAAY,EAAAkS,OAAA,QAAAlS,EAAA+yB,IAAApzB,EAAAozB,IAAA,YAAAY,EAAAj0B,EAAAX,GAAA,IAAAiB,EAAAjB,EAAAmT,OAAA6B,EAAArU,EAAA0yB,SAAApyB,GAAA,GAAA+T,IAAAxS,EAAA,OAAAxC,EAAA20B,SAAA,eAAA1zB,GAAAN,EAAA0yB,SAAA,SAAArzB,EAAAmT,OAAA,SAAAnT,EAAAg0B,IAAAxxB,EAAAoyB,EAAAj0B,EAAAX,GAAA,UAAAA,EAAAmT,SAAA,WAAAlS,IAAAjB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAh0B,EAAA,aAAAmD,EAAA,IAAAoE,EAAAurB,EAAA/e,EAAArU,EAAA0yB,SAAArzB,EAAAg0B,KAAA,aAAAxrB,EAAAkJ,KAAA,OAAA1R,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAAxrB,EAAAwrB,IAAAh0B,EAAA20B,SAAA,KAAAvwB,EAAA,IAAAlD,EAAAsH,EAAAwrB,IAAA,OAAA9yB,EAAAA,EAAAge,MAAAlf,EAAAW,EAAAu0B,YAAAh0B,EAAAnD,MAAAiC,EAAAm1B,KAAAx0B,EAAAy0B,QAAA,WAAAp1B,EAAAmT,SAAAnT,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,GAAAxC,EAAA20B,SAAA,KAAAvwB,GAAAlD,GAAAlB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAj1B,EAAA20B,SAAA,KAAAvwB,EAAA,UAAAixB,EAAA7yB,GAAA,IAAA7B,EAAA,CAAA20B,OAAA9yB,EAAA,SAAAA,IAAA7B,EAAA40B,SAAA/yB,EAAA,SAAAA,IAAA7B,EAAA60B,WAAAhzB,EAAA,GAAA7B,EAAA80B,SAAAjzB,EAAA,SAAAkzB,WAAArzB,KAAA1B,EAAA,UAAAg1B,EAAAnzB,GAAA,IAAA7B,EAAA6B,EAAAozB,YAAA,GAAAj1B,EAAA+Q,KAAA,gBAAA/Q,EAAAqzB,IAAAxxB,EAAAozB,WAAAj1B,CAAA,UAAAkzB,EAAArxB,GAAA,KAAAkzB,WAAA,EAAAJ,OAAA,SAAA9yB,EAAAqJ,QAAAwpB,EAAA,WAAA3b,OAAA,YAAAvJ,EAAAxP,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAX,EAAAW,EAAAO,GAAA,GAAAlB,EAAA,OAAAA,EAAAqI,KAAA1H,GAAA,sBAAAA,EAAAw0B,KAAA,OAAAx0B,EAAA,IAAA/B,MAAA+B,EAAAjB,QAAA,KAAAsV,GAAA,EAAAxM,EAAA,SAAA2sB,IAAA,OAAAngB,EAAArU,EAAAjB,QAAA,GAAAuB,EAAAoH,KAAA1H,EAAAqU,GAAA,OAAAmgB,EAAAp3B,MAAA4C,EAAAqU,GAAAmgB,EAAAjW,MAAA,EAAAiW,EAAA,OAAAA,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,SAAA3sB,EAAA2sB,KAAA3sB,CAAA,YAAAysB,iBAAAt0B,EAAA,2BAAAszB,EAAA7rB,UAAA8rB,EAAAlf,EAAA5T,EAAA,eAAArD,MAAAm2B,EAAAT,cAAA,IAAAze,EAAAkf,EAAA,eAAAn2B,MAAAk2B,EAAAR,cAAA,IAAAQ,EAAA4B,YAAAhzB,EAAAqxB,EAAA9xB,EAAA,qBAAAzB,EAAAm1B,oBAAA,SAAAtzB,GAAA,IAAA7B,EAAA,mBAAA6B,GAAAA,EAAAuzB,YAAA,QAAAp1B,IAAAA,IAAAszB,GAAA,uBAAAtzB,EAAAk1B,aAAAl1B,EAAAvB,MAAA,EAAAuB,EAAAq1B,KAAA,SAAAxzB,GAAA,OAAA2F,OAAA8tB,eAAA9tB,OAAA8tB,eAAAzzB,EAAA0xB,IAAA1xB,EAAA0zB,UAAAhC,EAAArxB,EAAAL,EAAAJ,EAAA,sBAAAI,EAAA4F,UAAAD,OAAA2R,OAAA1Y,GAAAoB,CAAA,EAAA7B,EAAAw1B,MAAA,SAAA3zB,GAAA,OAAAiyB,QAAAjyB,EAAA,EAAA4xB,EAAAE,EAAAlsB,WAAAvF,EAAAyxB,EAAAlsB,UAAA7H,GAAA,0BAAAI,EAAA2zB,cAAAA,EAAA3zB,EAAAy1B,MAAA,SAAA5zB,EAAAxC,EAAAiB,EAAA+T,EAAAxM,QAAA,IAAAA,IAAAA,EAAA6tB,SAAA,IAAAn1B,EAAA,IAAAozB,EAAAX,EAAAnxB,EAAAxC,EAAAiB,EAAA+T,GAAAxM,GAAA,OAAA7H,EAAAm1B,oBAAA91B,GAAAkB,EAAAA,EAAAi0B,OAAAza,MAAA,SAAAlY,GAAA,OAAAA,EAAA0c,KAAA1c,EAAAzE,MAAAmD,EAAAi0B,MAAA,KAAAf,EAAAhzB,GAAAyB,EAAAzB,EAAAgB,EAAA,aAAAS,EAAAzB,EAAAF,GAAA,0BAAA2B,EAAAzB,EAAA,qDAAAT,EAAA2N,KAAA,SAAA9L,GAAA,IAAA7B,EAAAwH,OAAA3F,GAAAxC,EAAA,WAAAiB,KAAAN,EAAAX,EAAAqC,KAAApB,GAAA,OAAAjB,EAAAG,UAAA,SAAAg1B,IAAA,KAAAn1B,EAAAN,QAAA,KAAA8C,EAAAxC,EAAAs2B,MAAA,GAAA9zB,KAAA7B,EAAA,OAAAw0B,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,QAAAA,EAAAjW,MAAA,EAAAiW,CAAA,GAAAx0B,EAAAwP,OAAAA,EAAA0jB,EAAAzrB,UAAA,CAAA2tB,YAAAlC,EAAAna,MAAA,SAAA/Y,GAAA,QAAA41B,KAAA,OAAApB,KAAA,OAAAN,KAAA,KAAAC,MAAAtyB,EAAA,KAAA0c,MAAA,OAAAyV,SAAA,UAAAxhB,OAAA,YAAA6gB,IAAAxxB,EAAA,KAAAkzB,WAAA7pB,QAAA8pB,IAAAh1B,EAAA,QAAAX,KAAA,WAAAA,EAAAw2B,OAAA,IAAAv1B,EAAAoH,KAAA,KAAArI,KAAApB,OAAAoB,EAAAkC,MAAA,WAAAlC,GAAAwC,EAAA,EAAAi0B,KAAA,gBAAAvX,MAAA,MAAA1c,EAAA,KAAAkzB,WAAA,GAAAE,WAAA,aAAApzB,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,YAAA0C,IAAA,EAAA3B,kBAAA,SAAAp0B,GAAA,QAAAue,KAAA,MAAAve,EAAA,IAAAX,EAAA,cAAA4M,EAAA3L,EAAA+T,GAAA,OAAA9T,EAAAwQ,KAAA,QAAAxQ,EAAA8yB,IAAArzB,EAAAX,EAAAm1B,KAAAl0B,EAAA+T,IAAAhV,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,KAAAwS,CAAA,SAAAA,EAAA,KAAA0gB,WAAAh2B,OAAA,EAAAsV,GAAA,IAAAA,EAAA,KAAAxM,EAAA,KAAAktB,WAAA1gB,GAAA9T,EAAAsH,EAAAotB,WAAA,YAAAptB,EAAA8sB,OAAA,OAAA1oB,EAAA,UAAApE,EAAA8sB,QAAA,KAAAiB,KAAA,KAAAh2B,EAAAU,EAAAoH,KAAAG,EAAA,YAAApG,EAAAnB,EAAAoH,KAAAG,EAAA,iBAAAjI,GAAA6B,EAAA,SAAAm0B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,WAAAgB,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,SAAAj1B,GAAA,QAAAg2B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,YAAAnzB,EAAA,MAAA5B,MAAA,kDAAA+1B,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,KAAAR,OAAA,SAAAxyB,EAAA7B,GAAA,QAAAX,EAAA,KAAA01B,WAAAh2B,OAAA,EAAAM,GAAA,IAAAA,EAAA,KAAAgV,EAAA,KAAA0gB,WAAA11B,GAAA,GAAAgV,EAAAsgB,QAAA,KAAAiB,MAAAt1B,EAAAoH,KAAA2M,EAAA,oBAAAuhB,KAAAvhB,EAAAwgB,WAAA,KAAAhtB,EAAAwM,EAAA,OAAAxM,IAAA,UAAAhG,GAAA,aAAAA,IAAAgG,EAAA8sB,QAAA30B,GAAAA,GAAA6H,EAAAgtB,aAAAhtB,EAAA,UAAAtH,EAAAsH,EAAAA,EAAAotB,WAAA,UAAA10B,EAAAwQ,KAAAlP,EAAAtB,EAAA8yB,IAAArzB,EAAA6H,GAAA,KAAA2K,OAAA,YAAAgiB,KAAA3sB,EAAAgtB,WAAApxB,GAAA,KAAAuyB,SAAAz1B,EAAA,EAAAy1B,SAAA,SAAAn0B,EAAA7B,GAAA,aAAA6B,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,gBAAAxxB,EAAAkP,MAAA,aAAAlP,EAAAkP,KAAA,KAAAyjB,KAAA3yB,EAAAwxB,IAAA,WAAAxxB,EAAAkP,MAAA,KAAAglB,KAAA,KAAA1C,IAAAxxB,EAAAwxB,IAAA,KAAA7gB,OAAA,cAAAgiB,KAAA,kBAAA3yB,EAAAkP,MAAA/Q,IAAA,KAAAw0B,KAAAx0B,GAAAyD,CAAA,EAAAwyB,OAAA,SAAAp0B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAw1B,aAAAhzB,EAAA,YAAAm0B,SAAA32B,EAAA41B,WAAA51B,EAAAy1B,UAAAE,EAAA31B,GAAAoE,CAAA,kBAAA5B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAs1B,SAAA9yB,EAAA,KAAAvB,EAAAjB,EAAA41B,WAAA,aAAA30B,EAAAyQ,KAAA,KAAAsD,EAAA/T,EAAA+yB,IAAA2B,EAAA31B,EAAA,QAAAgV,CAAA,QAAAxU,MAAA,0BAAAq2B,cAAA,SAAAl2B,EAAAX,EAAAiB,GAAA,YAAA0zB,SAAA,CAAAtB,SAAAljB,EAAAxP,GAAAu0B,WAAAl1B,EAAAo1B,QAAAn0B,GAAA,cAAAkS,SAAA,KAAA6gB,IAAAxxB,GAAA4B,CAAA,GAAAzD,CAAA,UAAAm2B,EAAA71B,EAAAuB,EAAA7B,EAAAX,EAAAgV,EAAA9T,EAAAX,GAAA,QAAAiI,EAAAvH,EAAAC,GAAAX,GAAA6B,EAAAoG,EAAAzK,KAAA,OAAAkD,GAAA,YAAAN,EAAAM,EAAA,CAAAuH,EAAA0W,KAAA1c,EAAAJ,GAAAi0B,QAAA7B,QAAApyB,GAAAsY,KAAA1a,EAAAgV,EAAA,UAAA+hB,EAAAp2B,EAAAX,GAAA,IAAAwC,EAAA2F,OAAAmG,KAAA3N,GAAA,GAAAwH,OAAA6uB,sBAAA,KAAAhiB,EAAA7M,OAAA6uB,sBAAAr2B,GAAAX,IAAAgV,EAAAA,EAAAxW,QAAA,SAAAwB,GAAA,OAAAmI,OAAA8uB,yBAAAt2B,EAAAX,GAAAwzB,UAAA,KAAAhxB,EAAAH,KAAAC,MAAAE,EAAAwS,EAAA,QAAAxS,CAAA,UAAAiqB,EAAA9rB,GAAA,QAAAX,EAAA,EAAAA,EAAA+jB,UAAArkB,OAAAM,IAAA,KAAAwC,EAAA,MAAAuhB,UAAA/jB,GAAA+jB,UAAA/jB,GAAA,GAAAA,EAAA,EAAA+2B,EAAA5uB,OAAA3F,IAAA,GAAAqJ,SAAA,SAAA7L,GAAAk3B,EAAAv2B,EAAAX,EAAAwC,EAAAxC,GAAA,IAAAmI,OAAAgvB,0BAAAhvB,OAAAivB,iBAAAz2B,EAAAwH,OAAAgvB,0BAAA30B,IAAAu0B,EAAA5uB,OAAA3F,IAAAqJ,SAAA,SAAA7L,GAAAmI,OAAAgrB,eAAAxyB,EAAAX,EAAAmI,OAAA8uB,yBAAAz0B,EAAAxC,GAAA,WAAAW,CAAA,UAAAu2B,EAAAv2B,EAAAX,EAAAwC,GAAA,OAAAxC,EAAAq3B,EAAAr3B,MAAAW,EAAAwH,OAAAgrB,eAAAxyB,EAAAX,EAAA,CAAAjC,MAAAyE,EAAAgxB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAA/yB,EAAAX,GAAAwC,EAAA7B,CAAA,UAAA22B,EAAA32B,EAAAX,GAAA,QAAAwC,EAAA,EAAAA,EAAAxC,EAAAN,OAAA8C,IAAA,KAAAwS,EAAAhV,EAAAwC,GAAAwS,EAAAwe,WAAAxe,EAAAwe,aAAA,EAAAxe,EAAAye,cAAA,YAAAze,IAAAA,EAAA0e,UAAA,GAAAvrB,OAAAgrB,eAAAxyB,EAAA02B,EAAAriB,EAAA3V,KAAA2V,EAAA,WAAAqiB,EAAA70B,GAAA,IAAAgG,EAAA,SAAAhG,EAAAxC,GAAA,oBAAAwC,IAAAA,EAAA,OAAAA,EAAA,IAAA7B,EAAA6B,EAAA4wB,OAAAmE,aAAA,YAAA52B,EAAA,KAAA6H,EAAA7H,EAAA0H,KAAA7F,EAAAxC,GAAA,+BAAAwI,EAAA,OAAAA,EAAA,UAAAysB,UAAA,kEAAAj1B,EAAAsF,OAAAnD,QAAAK,EAAA,CAAAg1B,CAAAh1B,EAAA,iCAAAgG,EAAAA,EAAAA,EAAA,YAAAsb,EAAAthB,EAAAwS,EAAArU,GAAA,OAAAqU,EAAAyiB,EAAAziB,GAAA,SAAAxS,EAAA7B,GAAA,GAAAA,IAAA,iBAAAA,GAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAs0B,UAAA,4EAAAt0B,GAAA,YAAAA,EAAA,UAAA+2B,eAAA,oEAAA/2B,CAAA,CAAAg3B,CAAAn1B,EAAA,CAAAo1B,CAAAp1B,EAAAq1B,IAAAC,QAAAC,UAAA/iB,EAAArU,GAAA,GAAA82B,EAAAj1B,GAAAuzB,aAAA/gB,EAAA1S,MAAAE,EAAA7B,GAAA,UAAAk3B,IAAA,QAAAr1B,GAAAw1B,QAAA5vB,UAAA6vB,QAAA5vB,KAAAyvB,QAAAC,UAAAC,QAAA,0BAAAx1B,GAAA,QAAAq1B,EAAA,mBAAAr1B,CAAA,cAAAi1B,EAAAj1B,GAAA,OAAAi1B,EAAAtvB,OAAA8tB,eAAA9tB,OAAAgsB,eAAApb,OAAA,SAAAvW,GAAA,OAAAA,EAAA0zB,WAAA/tB,OAAAgsB,eAAA3xB,EAAA,EAAAi1B,EAAAj1B,EAAA,UAAA01B,EAAA11B,EAAA7B,GAAA,OAAAu3B,EAAA/vB,OAAA8tB,eAAA9tB,OAAA8tB,eAAAld,OAAA,SAAAvW,EAAA7B,GAAA,OAAA6B,EAAA0zB,UAAAv1B,EAAA6B,CAAA,EAAA01B,EAAA11B,EAAA7B,EAAA,CAA6C,IAExBskB,EAAY,SAAA8E,GAC/B,SAAA9E,EAAanpB,GAAQ,IAADkuB,EAQU,OAXhC,SAAA9oB,EAAAD,GAAA,KAAAC,aAAAD,GAAA,UAAAg0B,UAAA,qCAGsBpR,CAAA,KAAAoB,IAClB+E,EAAAlG,EAAA,KAAAmB,EAAA,CAAMnpB,KACDoZ,MAAQ,CAAC,EACd8U,EAAKmO,KAAO,GAIZnO,EAAKoO,YAAc,IAAIC,WACvBrO,CACF,CAAC,OAZH,SAAAxnB,EAAA7B,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAs0B,UAAA,sDAAAzyB,EAAA4F,UAAAD,OAAA2R,OAAAnZ,GAAAA,EAAAyH,UAAA,CAAA2tB,YAAA,CAAAh4B,MAAAyE,EAAAkxB,UAAA,EAAAD,cAAA,KAAAtrB,OAAAgrB,eAAA3wB,EAAA,aAAAkxB,UAAA,IAAA/yB,GAAAu3B,EAAA11B,EAAA7B,EAAA,CAYGqjB,CAAAiB,EAAA8E,GAZHppB,EAYGskB,EAZHjlB,EAYG,EAAAX,IAAA,mBAAAtB,MAED,SAAkBu6B,EAAUC,GAuB1B,OAAA9L,EAAAA,EAAAA,EAAA,GAtBc,CACZ+L,aAAc/1B,KAAK+1B,aAAazf,KAAKtW,MACrCg2B,aAAch2B,KAAKg2B,aAAa1f,KAAKtW,MACrCi2B,UAAWj2B,KAAKi2B,UAAU3f,KAAKtW,MAC/Bk2B,UAAWl2B,KAAKk2B,UAAU5f,KAAKtW,MAC/Bm2B,UAAWn2B,KAAKm2B,UAAU7f,KAAKtW,MAC/Bo2B,SAAUp2B,KAAKo2B,SAAS9f,KAAKtW,MAC7Bq2B,SAAUr2B,KAAKq2B,SAAS/f,KAAKtW,MAC7Bs2B,cAAet2B,KAAKs2B,cAAchgB,KAAKtW,MACvCu2B,aAAcv2B,KAAKu2B,aAAajgB,KAAKtW,MACrCw2B,gBAAiBx2B,KAAKw2B,gBAAgBlgB,KAAKtW,MAC3Cy2B,YAAaz2B,KAAKy2B,YAAYngB,KAAKtW,MACnC02B,MAAO12B,KAAK02B,MAAMpgB,KAAKtW,MACvBiX,MAAOjX,KAAKiX,MAAMX,KAAKtW,MACvB2oB,MAAQ3oB,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUlN,OAAU,GAC/DjQ,OAAS1Y,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUnd,QAAW,CAAC,EAClE1O,SAAWhK,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAU7rB,UAAa,CAAC,EACtE0D,OAAS1N,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUrU,QAAW,CAAC,EAClEmV,QAAU32B,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUc,SAAY,CAAC,EACpEC,MAAQ52B,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUe,OAAU,EAC/DC,SAAW72B,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUgB,UAAa,IAEjDf,GAAU,IAAED,SAAAA,GACpC,GAAC,CAAAj5B,IAAA,gBAAAtB,MAED,SAAeu6B,EAAUiB,EAAWvb,GAClC,GAAIsa,KAAY71B,KAAKyS,MAAO,CAC1B,IAAMskB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OAC3BskB,EAASlB,GAAUnd,OAAOoe,GAAa,CAACvb,GACxCvb,KAAKg3B,SAASD,EAChB,CACF,GAAC,CAAAn6B,IAAA,cAAAtB,MAED,SAAau6B,GACX,GAAIA,KAAY71B,KAAKyS,MAAO,CAC1B,IAAMskB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OAC3B,IAAK,IAAMwkB,KAASj3B,KAAKyS,MAAMojB,GAAUnd,OACvCqe,EAASlB,GAAUnd,OAAOue,GAAS,GAErCF,EAASlB,GAAUlN,MAAQ,GAC3B3oB,KAAKg3B,SAASD,EAChB,CACF,GAAC,CAAAn6B,IAAA,kBAAAtB,MAED,SAAiBu6B,EAAUiB,GACzB,GAAIjB,KAAY71B,KAAKyS,MAAO,CAC1B,IAAMskB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OAC3BskB,EAASlB,GAAUnd,OAAOoe,GAAa,GACvC92B,KAAKg3B,SAASD,EAChB,CACF,GAAC,CAAAn6B,IAAA,eAAAtB,MAED,SAAcu6B,EAAUta,GACtB,GAAIsa,KAAY71B,KAAKyS,MAAO,CAC1B,IAAMskB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OAC3BskB,EAASlB,GAAUlN,MAAQpN,EAC3Bvb,KAAKg3B,SAASD,EAChB,CACF,GAAC,CAAAn6B,IAAA,QAAAtB,MAED,SAAOu6B,GACL,IAAMkB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OAC3BskB,EAASlB,GAAY,CAAErU,OAAQ,CAAC,EAAG9I,OAAQ,CAAC,EAAG1O,SAAU,CAAC,EAAG2sB,QAAS,CAAC,GACvE32B,KAAKg3B,SAASD,EAChB,GAAC,CAAAn6B,IAAA,QAAAtB,MAED,SAAOu6B,EAAUqB,EAAWjoB,GAAkB,IAADoZ,EAAA,KAAXzM,EAAE0F,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,KAC/ByI,EAAOC,EAAA,CAAK,eAAgB,oBAAuBhqB,KAAK3G,MAAM4wB,wBAG9DkN,EAAiBzxB,OAAOmG,KAAKqrB,GAAWj6B,OAC1Cm6B,EAAmB,EACvB1xB,OAAOmG,KAAKqrB,GAAW9tB,SAAQ,SAAC6Y,IAC9B6H,EAAAA,EAAAA,SAAM,CAAEpZ,OAAQ,MAAO2mB,IAAKhP,EAAKqN,KAAOzT,EAAU8H,QAAAA,IAAW9R,MAAK,SAACQ,GACjE,IAAMse,EAAQ/M,EAAA,GAAQ3B,EAAK5V,OACrB+O,EAAS6G,EAAKiP,mBAAmB7e,EAAS1e,KAAM87B,EAAU5T,GAC1D4T,KAAYkB,IAChBA,EAASlB,GAAY,CAAErU,OAAQ,CAAC,EAAG9I,OAAQ,CAAC,EAAG1O,SAAU,CAAC,EAAG2sB,QAAS,CAAC,IAG5D,YAAT1nB,EACFvJ,OAAOmG,KAAK2V,GAAQpY,SAAQ,SAACxM,GACvBs6B,EAAUjV,GAAUsV,SAAS36B,KAC/Bm6B,EAASlB,GAAU7rB,SAASpN,GAAO4kB,EAAO5kB,GAC1Cm6B,EAASlB,GAAUrU,OAAO5kB,GAAO4kB,EAAO5kB,GAE5C,IACkB,WAATqS,GACTvJ,OAAOmG,KAAK2V,GAAQpY,SAAQ,SAACxM,GACvBs6B,EAAUjV,GAAUsV,SAAS36B,KAC/Bm6B,EAASlB,GAAUc,QAAQ/5B,GAAO4kB,EAAO5kB,GAE7C,IAEFyrB,EAAK2O,SAASD,GAAU,YACtBK,GAAoB,KACKD,GAAkBvb,GACzCA,GAEJ,GACF,IAAE,OAAO,SAACtD,GACRkf,QAAQC,IAAInf,IACZ8e,GAAoB,KACKD,GAAkBvb,GACzCA,GAEJ,GACF,GAGF,GAAC,CAAAhf,IAAA,WAAAtB,MAED,SAAUu6B,GAER,OAAIA,KAAY71B,KAAKyS,OAAS,UAAWzS,KAAKyS,MAAMojB,GAC3C71B,KAAKyS,MAAMojB,GAAUe,MAEvB,CACT,GAAC,CAAAh6B,IAAA,YAAAtB,MAED,SAAWu6B,GACT,IAAMkB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OACrBilB,EAAmB7B,KAAY71B,KAAKyS,OAAS,UAAWzS,KAAKyS,MAAMojB,GACzEkB,EAASlB,GAAUe,MAAQc,EAAmB13B,KAAKyS,MAAMojB,GAAUe,MAAQ,EAC3EG,EAASlB,GAAUe,OAAS,EAC5BG,EAASlB,GAAUnd,OAAS,CAAC,EAC7B1Y,KAAKg3B,SAASD,EAChB,GAAC,CAAAn6B,IAAA,WAAAtB,MAED,SAAUu6B,EAAUe,GAClB,IAAMG,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OACrBojB,KAAY71B,KAAKyS,QACrBskB,EAASlB,GAAY,CAAC,GAExBkB,EAASlB,GAAUe,MAAQA,CAC7B,GAAC,CAAAh6B,IAAA,eAAAtB,MAED,SAAc4C,EAAG23B,EAAUoB,GACzB,IAAMU,EAAWC,KAAKC,UAAS7N,EAAC,CAAC,EAAIhqB,KAAKyS,QAEpCskB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OACrBojB,KAAYkB,IAChBA,EAASlB,GAAY,CAAErU,OAAQ,CAAC,EAAG9I,OAAQ,CAAC,EAAG1O,SAAU,CAAC,EAAG2sB,QAAS,CAAC,IAGnE,WAAYz4B,EAGW,aAAlBA,EAAEoC,OAAO2O,KAClB8nB,EAASlB,GAAUrU,OAAOyV,IAAUF,EAASlB,GAAUrU,OAAOyV,GAE9DF,EAASlB,GAAUrU,OAAOyV,GAAS/4B,EAAEoC,OAAOhF,MAJ5Cy7B,EAASlB,GAAUrU,OAAOyV,GAAS/4B,EAAE45B,oBAOnCf,EAASlB,GAAUnd,SACrBqe,EAASlB,GAAUnd,OAAOue,GAAS,IAIjCU,IAAaC,KAAKC,UAAUd,IAC9B/2B,KAAKg3B,SAASD,EAElB,GAEA,CAAAn6B,IAAA,YAAAtB,MACA,SAAWu6B,GACT,OAAQ71B,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUrU,QAAW,CAAC,CACnE,GAEA,CAAA5kB,IAAA,YAAAtB,MACA,SAAWu6B,GACT,OAAQ71B,KAAKyS,MAAMojB,IAAa71B,KAAKyS,MAAMojB,GAAUnd,QAAW,CAAC,CACnE,GAEA,CAAA9b,IAAA,eAAAtB,OA7LFkD,EA6LEiyB,IAAA8C,MAQA,SAAAwE,EAAoB75B,EAAG23B,EAAUmC,EAAY/V,EAAUgW,EAAeC,EAAaC,GAAc,IAAAzqB,EAAA0qB,EAAAC,EAAAtyB,EAAAwP,EAAAwhB,EAAAn6B,EAAA07B,EAAA,OAAA7H,IAAAS,MAAA,SAAAqH,GAAA,cAAAA,EAAAzE,KAAAyE,EAAA7F,MAAA,OAC7E,GAAlBx0B,EAAEiT,sBAC2B1X,IAAzBuG,KAAKyS,MAAMojB,GAAuB,CAAA0C,EAAA7F,KAAA,eAAA6F,EAAAhG,OAAA,iBAKtC,IAJM7kB,EAASkqB,KAAKY,MAAMZ,KAAKC,UAAU73B,KAAKyS,MAAMojB,KAE9CuC,EAAc1yB,OAAOgI,OAAOxP,EAAEu6B,cAAcC,MAAM38B,QAAO,SAAAwZ,GAAK,MAAqB,YAAjBA,EAAMojB,MAAoB,IAC5FN,EAAiB,GACdtyB,EAAI,EAAGA,EAAIqyB,EAAYn7B,OAAQ8I,IAChCwP,EAAQ6iB,EAAYryB,GACP/F,KAAKyS,MAAMojB,IACX71B,KAAKyS,MAAMojB,GAAUrU,QACrBxhB,KAAKyS,MAAMojB,GAAUrU,OAAOjM,EAAM5Y,OACsB,oBAAjDqD,KAAKyS,MAAMojB,GAAUrU,OAAOjM,EAAM5Y,MAAMsb,KAEhEogB,EAAez4B,KAAKI,KAAKyS,MAAMojB,GAAUrU,OAAOjM,EAAM5Y,OAEtD+Q,EAAO8T,eAAiB9T,EAAO8T,OAAOjM,EAAM5Y,MAIhD,OAAA47B,EAAA7F,KAAA,EACMkB,QAAQgF,IAAIP,GAAgBpgB,MAAK,SAACoE,GACtCA,EAAOjT,SAAQ,SAAA9N,GACboS,EAAO8T,OAAOlmB,EAAM,IAAMA,EAAM,GAAGu9B,SACrC,GACF,IAAE,OAIF,IAAWj8B,KADLm6B,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OACT/E,EAAO8T,OACnBoW,KAAKC,UAAUnqB,EAAO8T,OAAO5kB,MAAUg7B,KAAKC,UAAUnqB,EAAO1D,SAASpN,YACjE8Q,EAAO8T,OAAO5kB,GAGF,GAAvBoD,KAAKg3B,SAASD,QACQt9B,IAAlBiU,EAAO8T,QAA8D,IAAtC9b,OAAOmG,KAAK6B,EAAO8T,QAAQvkB,OAAY,CAAAs7B,EAAA7F,KAAA,gBAAA6F,EAAAhG,OAAA,kBAGpE+F,EAAct4B,KAAK84B,mBAAmBprB,EAAQmoB,GACpD71B,KAAK+4B,cAAcT,EAAaN,EAAY/V,EAAU4T,EAAUoC,EAAeC,GAAY,yBAAAK,EAAAvE,OAAA,GAAA+D,EAAA,SA/C7FiB,EA7LF,eAAAj5B,EAAA,KAAA7B,EAAAojB,UAAA,WAAAsS,SAAA,SAAAr2B,EAAAgV,GAAA,IAAA9T,EAAAD,EAAAqB,MAAAE,EAAA7B,GAAA,SAAA+6B,EAAAz6B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,OAAA16B,EAAA,UAAA06B,EAAA16B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,QAAA16B,EAAA,CAAAy6B,OAAA,OA6OG,SAxCiBE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,OAAAT,EAAAn5B,MAAA,KAAAyhB,UAAA,IA0ClB,CAAA1kB,IAAA,qBAAAtB,MAGA,SAAoBkmB,EAAQqU,GAC1B,OAAOrU,EAASxhB,KAAK,GAADzE,OAAIs6B,EAAQ,eAAcrU,EAAOA,QAAU,CAAC,CAClE,GAAC,CAAA5kB,IAAA,qBAAAtB,MAED,SAAoBmd,EAAUod,EAAU5T,GACtC,OAAOxJ,EAAWzY,KAAK,GAADzE,OAAIs6B,EAAQ,cAAapd,EAAUwJ,GAAY,CAAC,CACxE,GAEA,CAAArlB,IAAA,gBAAAtB,MAEA,SAAeoI,EAAMgN,EAAQuR,EAAU4T,EAAUoC,EAAeC,GAAc,IAADwB,EAAA,KACrE3P,EAAOC,EAAA,CAAK,eAAgB,oBAAuBhqB,KAAK3G,MAAM4wB,yBACpEH,EAAAA,EAAAA,SAAM,CAAEpZ,OAAAA,EAAQ2mB,IAAKr3B,KAAK01B,KAAOzT,EAAU8H,QAAAA,EAAShwB,KAAM2J,IAAQuU,MAAK,SAACQ,GACtE,IAAMse,EAAQ/M,EAAA,GAAQ0P,EAAKjnB,OAC3BskB,EAASlB,GAAS7L,EAAAA,EAAA,GAAQ+M,EAASlB,IAAS,IAAEnd,OAAQ,CAAC,EAAG1O,SAAU,CAAC,EAAG2e,MAAO,KAC/E+Q,EAAK1C,SAASD,GACdkB,EAAcxf,EAChB,IAAE,OAAO,SAACH,GACR,IAAMye,EAAW,CAAC,EAClBA,EAASlB,GAAY6D,EAAKjnB,MAAMojB,IAAa,CAAErU,OAAQ,CAAC,EAAG9I,OAAQ,CAAC,EAAG1O,SAAU,CAAC,EAAG2sB,QAAS,CAAC,GAC/F,IAAMje,EAAMsR,EAAA,GAAQ+M,EAASlB,GAAUnd,QACvCJ,EAAIG,UAAYH,EAAIG,SAAS1e,KAAK2e,QAAUJ,EAAIG,SAAS1e,KAAK2e,OAAOtP,SAAQ,SAAAlL,GAAC,OAAIwH,OAAOmG,KAAK3N,EAAEya,QAAQvP,SAAQ,SAAA/K,GAAOqa,EAAOra,GAAKH,EAAEya,OAAOta,EAAG,GAAE,IACjJ04B,EAASlB,GAAUnd,OAASA,EAC5Bqe,EAASlB,GAAUlN,MAAQrQ,EAAIG,UAAYH,EAAIG,SAAS1e,KAAK4uB,MAC7DuP,EAAY5f,GACZohB,EAAK1C,SAASD,EAChB,GACF,GAAC,CAAAn6B,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAAA,WAAK,6BAET,IAnRFqC,GAAAs3B,EAAA32B,EAAAyH,UAAApI,GAAAwC,GAAA80B,EAAA32B,EAAA6B,GAAA2F,OAAAgrB,eAAAxyB,EAAA,aAAA+yB,UAAA,IAAA/yB,EAAA,IAAAA,EAAAX,EAAAwC,EAAAvB,EA6LEw6B,CAsFC,CAjR8B,CAAS99B,EAAAA,g8ECwS1C,WAAeoc,EAAAA,EAAAA,YAAUmL,EAAAA,EAAAA,cA1RF,SAAAppB,GAAU,IAADsgC,EAAAC,EAAAC,EACoBvgC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA3CsgC,EAAWxgC,EAAA,GAAEygC,EAAczgC,EAAA,GACgB6vB,EAAA5vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA3CwgC,EAAW7Q,EAAA,GAAE8Q,EAAc9Q,EAAA,GACkCG,EAAA/vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA7D0gC,EAAoB5Q,EAAA,GAAE6Q,EAAuB7Q,EAAA,GACWE,EAAAjwB,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAxD4gC,EAAgB5Q,EAAA,GAAE6Q,EAAmB7Q,EAAA,GACUuE,EAAAx0B,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/C8gC,EAAavM,EAAA,GAAEwM,EAAgBxM,EAAA,GACmBE,EAAA10B,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAlDghC,EAAavM,EAAA,GAAEwM,EAAgBxM,EAAA,GACiByM,EAAAnhC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhDmhC,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACMG,EAAAthC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAnCshC,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GACkBG,EAAAzhC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAArCyhC,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GACuBG,EAAA5hC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAA5C4hC,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAC2BG,EAAA/hC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAApD+hC,EAAcD,EAAA,GAAEE,EAAiBF,EAAA,IAExClhC,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,KAMAnrB,EAAAA,EAAAA,YAAU,WACJf,EAAM6pB,UAAU7nB,IAClBggC,EAAchiC,EAAM6pB,UAAUuY,aAElC,GAAG,CAACpiC,EAAM6pB,aAGV9oB,EAAAA,EAAAA,YAAU,WACRigC,EAAoBL,EAAY/8B,OAAS,GAAKi9B,EAAqBj9B,OAAS,GAAK+8B,IAAgBE,GAC7FF,EAAY/8B,OAAS,GAAKi9B,EAAqBj9B,OAAS,GAAK+8B,IAAgBE,EAC/EK,EAAiBn/B,IAAAA,EAAO,4DAExBm/B,EAAiB,GAErB,GAAG,CAACP,EAAaE,KAEjB9/B,EAAAA,EAAAA,YAAU,WACRqgC,GAAiB,EACnB,GAAG,CAACphC,EAAM6pB,YAEV,IAAMwY,EAAS,WACb,MAAM,GAANngC,OAAUogC,iCAAoB,6BAChC,GAmBAvhC,EAAAA,EAAAA,YAAU,WACR0vB,EAAAA,QAAM8R,KAAK,0BAA2B,CAAEC,SAAU,IAAM,CACtD9R,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BACnBhS,MAAK,SAAA0R,GAAQ,IAADmS,EACD,QAAZA,EAAInS,EAAI5vB,YAAI,IAAA+hC,GAARA,EAAUC,UACZP,GAAkB,EAEtB,GACF,GAAG,CAAgB,QAAhB7B,EAACtgC,EAAM6pB,iBAAS,IAAAyW,OAAA,EAAfA,EAAiB8B,eAErB,IAcMO,GAAqB,oDAAAzgC,OAAuDogC,kBAAYM,gBAAe,uCAW7G,OACE/gC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,oBAEjFF,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,UACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,6BAA6B,IAAE/B,EAAM6pB,UAAUgZ,SAG9DhhC,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOG,GAAG,eAAe4T,KAAK,WAAW3T,MAAOw+B,EAAat+B,SAAU,SAAA0C,GAAC,OAAI67B,EAAe77B,EAAEoC,OAAOhF,MAAM,IAC1GJ,EAAAA,cAAA,SAAO6rB,QAAQ,gBAAgB3rB,IAAAA,EAAO,+CAG1CF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOG,GAAG,eAAe4T,KAAK,WAAW3T,MAAO0+B,EAAax+B,SAAU,SAAA0C,GAAC,OAAI+7B,EAAe/7B,EAAEoC,OAAOhF,MAAM,IAC1GJ,EAAAA,cAAA,SAAO6rB,QAAQ,gBAAgB3rB,IAAAA,EAAO,8CAExCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOG,GAAG,uBAAuB4T,KAAK,WAAW3T,MAAO4+B,EAAsB1+B,SAAU,SAAA0C,GAAC,OAAIi8B,EAAwBj8B,EAAEoC,OAAOhF,MAAM,IACpIJ,EAAAA,cAAA,SAAO6rB,QAAQ,wBAAwB3rB,IAAAA,EAAO,qDAE5Ck/B,EAAcr9B,OAAS,GACrB/B,EAAAA,cAAA,QAAMC,UAAU,cAAc,aAAW,QAAQ,eAAa,QAAQ4Q,MAAO,CAAE6S,MAAO,QACnF0b,KAMXp/B,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UACEC,UAAS,gCAAAI,OAAkC6+B,EAAmB,GAAK,mBACnEtT,UAAWsT,EACX7gB,QAxHe,WAC3BlgB,EAAM8iC,iBAAiBrC,EAAaE,EAAaE,EACnD,GAwHe9+B,IAAAA,EAAO,yCAIdF,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,2BAEdF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SAAO+T,KAAK,WAAW+X,QAASoU,EAAY5/B,SA9FrC,SAAC0C,GACxBm9B,EAAcn9B,EAAEoC,OAAO0mB,SACvB3tB,EAAM+iC,aAAa,CAAEX,aAAcv9B,EAAEoC,OAAO0mB,SAC9C,IA4FkB9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,kCAKrBggC,GACClgC,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOG,GAAG,WAAWF,UAAW8oB,IAAW,CAAEoY,QAASjB,GAAcG,IAAmBtsB,KAAK,WAAW3T,MAAOw/B,EAASt/B,SAxFjH,SAAA0C,GACpBs9B,EAA4C,IAA1Bt9B,EAAEoC,OAAOhF,MAAM2B,QACjC89B,EAAW78B,EAAEoC,OAAOhF,MACtB,IAsFgBJ,EAAAA,cAAA,SAAO6rB,QAAQ,YAAY3rB,IAAAA,EAAO,qCAEpCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOG,GAAG,YAAYF,UAAW8oB,IAAW,CAAEoY,QAASjB,GAAcG,IAAmBtsB,KAAK,WAAW3T,MAAO2/B,EAAUz/B,SAAU,SAAA0C,GAAC,OAAIg9B,EAAYh9B,EAAEoC,OAAOhF,MAAM,IACnKJ,EAAAA,cAAA,SAAO6rB,QAAQ,aAAa3rB,IAAAA,EAAO,2CAErCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UAAQ+T,KAAK,SAAS9T,UAAU,+BAA+Boe,QArHzD,WACG,IAAnBuhB,EAAQ79B,QAEZ5D,EAAM+iC,aAAa,CAAEP,SAAUf,GACjC,EAiHuGhU,SAA6B,IAAnBgU,EAAQ79B,QAAgB69B,IAAYG,GAClI7/B,IAAAA,EAAO,oCAMlBF,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,6BAEdF,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,yBAAyB,IAACF,EAAAA,cAAA,WAAMA,EAAAA,cAAA,UAAI,UAC/CA,EAAAA,cAAA,SAAIE,IAAAA,EAAO,yBAAyB,IAACF,EAAAA,cAAA,WAAMA,EAAAA,cAAA,UAAK7B,EAAM6pB,UAAUoZ,WAC9DphC,EAAAA,cAACqhC,EAAAA,EAAe,CACdC,KAAK,WACLrhC,UAAW8oB,IAAW,qBAAsBuW,GAAiB,iBAC7DjhB,QA5IW,WACrBihB,IACJC,GAAiB,GACjBphC,EAAMojC,uBACR,EAyIgB/iB,MAAOte,IAAAA,EAAO,wCAGlBF,EAAAA,cAAA,SAAG,OAAIA,EAAAA,cAAA,WAAMA,EAAAA,cAAA,UAAKwgC,OAEpBxgC,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAQC,UAAU,+BAA+Boe,QAAS,WAAF,OAAQqhB,GAAiBD,EAAa,GAAE,cAC/FA,GACCz/B,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAIA,EAAAA,cAAA,SAAG,qFAAqFA,EAAAA,cAAA,OAAKC,UAAU,mBAAmBuhC,IAAKC,KACnIzhC,EAAAA,cAAA,UAAIA,EAAAA,cAAA,SAAG,iDAA8CA,EAAAA,cAAA,UAAKwgC,MAAkBxgC,EAAAA,cAAA,OAAKC,UAAU,mBAAmBuhC,IAAKE,KACnH1hC,EAAAA,cAAA,UAAIA,EAAAA,cAAA,SAAG,2CAAwCA,EAAAA,cAAA,UAAI,SAAU,oBAAiBA,EAAAA,cAAA,UAAK7B,EAAM6pB,UAAUoZ,WAAe,+BAA+BphC,EAAAA,cAAA,OAAKC,UAAU,mBAAmBuhC,IAAKG,QAKhM3hC,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,6BAA6B,IAACF,EAAAA,cAAC4hC,EAAAA,QAAI,CAACC,KAAM3hC,IAAAA,EAAO,oCAAqC4hC,UAAU,sBAAsB7hC,UAAU,oBAE9ID,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACEA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,qCACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,0BACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,4BACZF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,yBAGhBF,EAAAA,cAAA,cACkB,QAAf0+B,EAAAvgC,EAAM6pB,iBAAS,IAAA0W,OAAA,EAAfA,EAAiBqD,aAAc5jC,EAAM6pB,UAAU+Z,WAAW/gC,KAAI,SAAAghC,GAAQ,OACrEhiC,EAAAA,cAAA,MAAI0B,IAAKsgC,EAAS7hC,IAChBH,EAAAA,cAAA,UAAKgiC,EAASC,YAAcD,EAASC,YAAcjiC,EAAAA,cAAA,UAAKE,IAAAA,EAAO,+BAC/DF,EAAAA,cAAA,UAAKgiC,EAAS/W,WAAaR,IAAOuX,EAAS/W,YAAY5c,OAAOsc,EAAAA,8BAAgC3qB,EAAAA,cAAA,UAAKE,IAAAA,EAAO,sBAC1GF,EAAAA,cAAA,UAAKgiC,EAASE,aAAezX,IAAOuX,EAASE,cAAc7zB,OAAOsc,EAAAA,8BAAgC3qB,EAAAA,cAAA,UAAKE,IAAAA,EAAO,sBAC9GF,EAAAA,cAAA,UACEA,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,kBACVue,MAAOte,IAAAA,EAAO,sBACdme,QAAS,SAAArb,GACPA,EAAEiT,iBAvJM,SAAA+rB,GAChC7jC,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OAAQ1e,EAAMgkC,aAAaH,EAAS7hC,GAAG,EACrDiF,OAAO,eAAD/E,OAAiB2hC,EAASC,aAChCjkB,OAAQ,SACRC,UAAU,GAEd,CAiJ0BmkB,CAA0BJ,EAC5B,GAEAhiC,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,YAG/B,SAIO,QAAhB0+B,EAACxgC,EAAM6pB,iBAAS,IAAA2W,GAAfA,EAAiBoD,aAAoD,IAAtC5jC,EAAM6pB,UAAU+Z,WAAWhgC,SAC3D/B,EAAAA,cAAA,SACEA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,uBAKpBF,EAAAA,cAACqiC,EAAAA,QAAQ,CAACC,YAAankC,EAAMmkC,cACE,SAA9B7B,kBAAY8B,eACXviC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,8CAGhBF,EAAAA,cAAA,OAAKC,UAAU,MAAM4Q,MAAO,CAAE2xB,aAAc,SAC1CxiC,EAAAA,cAAA,OAAKC,UAAU,YACX9B,EAAM6pB,UAAUya,iBAChBziC,EAAAA,cAAA,KAAGC,UAAU,+BAA+Bse,KAAMuiB,GAAuB4B,IAAI,uBAC3E1iC,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,QAAS,IACtCC,IAAAA,EAAO,yCAGX/B,EAAM6pB,UAAUya,iBACfziC,EAAAA,cAAA,UACEC,UAAU,6CACVoe,QAjLY,WAC9BlgB,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OAAQ1e,EAAMwkC,mBAAmB,EAC/Cv9B,OAAQ,gBACR4Y,OAAQ,qBACRC,UAAU,GAEd,EA2KoBpN,MAAO,CAAE6S,MAAO,QAASF,gBAAiB,YAE1CxjB,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,UAAW,IACxCC,IAAAA,EAAO,gDAW9B,6FC5OA,UAzDiB,SAAC/B,GAChB,IAwCMykC,GAAkB7hB,EAAAA,EAAAA,mBAAkB5iB,EAAMqD,OAEhD,OACExB,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,UAAsC,IAA3B6Z,EAAgB7gC,QAAgB,YAAa6e,IAAKziB,EAAM0kC,OAC5F7iC,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,MAAO5qB,EAAM2kC,eAA4BvkC,IAAhBJ,EAAMiC,OAAuBjC,EAAM4kC,YAAc,eAAgB1kB,QAAS,WAAYlgB,EAAM4kC,YAAc5kC,EAAM6kC,eAAc,EAAS,GACzLhjC,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,OAAKC,UAAU,kBAAkB2iC,IAEnC5iC,EAAAA,cAAA,OAAKC,UAAU,cA9BjBD,EAAAA,cAAAA,EAAAA,SAAA,KACG7B,EAAMyC,QAAQI,KAAI,SAAAiiC,GAIjB,MAHsB,kBAAXA,IACTA,EAAS,CAAE7iC,MAAO6iC,EAAQzhC,MAAOyhC,IAGjCjjC,EAAAA,cAAA,KAAG0B,IAAKuhC,EAAO7iC,OACbJ,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL3T,MAAO6iC,EAAO7iC,MACd0rB,aAAyBvtB,IAAhBJ,EAAMiC,OAAuBjC,EAAMiC,MAAMi8B,SAAS,GAADh8B,OAAI4iC,EAAO7iC,QACrEE,SAAU,SAAA0C,GAAC,OA7BL5C,EA6BoB4C,EAAEoC,OAAOhF,MA7BtB0rB,EA6B6B9oB,EAAEoC,OAAO0mB,aA3B9CvtB,KADb2kC,EAAW/kC,EAAMiC,SAEnB8iC,EAAW,IAETpX,IAAYoX,EAAS7G,SAASj8B,GAChC8iC,EAASx+B,KAAKtE,IACJ0rB,GAAWoX,EAAS7G,SAASj8B,KACvC8iC,EAAWA,EAASriC,QAAO,SAAAsiC,GAAM,OAAIA,IAAW/iC,CAAK,KAE/B,IAApB8iC,EAASnhC,SACXmhC,OAAW3kC,QAEbJ,EAAMgc,SAAS+oB,GAbE,IAAC9iC,EAAO0rB,EACrBoX,CA4BmE,IAE7DljC,EAAAA,cAAA,aAAO+gB,EAAAA,EAAAA,mBAAkBkiB,EAAOzhC,SAIxC,OAkBR,kFC7BA,UA1BoB,SAACrD,GACnB,IAAKA,EAAMU,KACT,OAAOmB,EAAAA,cAAAA,EAAAA,SAAA,MAGT,IAEMojC,EADS,IAAIC,EAAAA,OADN,CAAEC,UAAW,MAEHhG,MAAMn/B,EAAMU,MAAM0D,MAAM,SACzCssB,EAAUuU,EAAQ,GAAG7gC,MAAM,KAC3B1D,EAAOukC,EAAQ7+B,MAAM,GAAG9B,KAAK,MACnC,OACEzC,EAAAA,cAACujC,EAAAA,QAAO,CACN1kC,KAAMA,EACNgwB,QAASA,EACTuB,SAAQ,GAAA/vB,OAAKlC,EAAMiyB,SAAQ,QAC3BnwB,UAAU,+CACVmF,OAAO,SACPo+B,mBAAmB,GACnBC,UAAU,KAEVzjC,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClC9B,EAAMsD,KAGb,45CCrBiD,IAE3CiiC,EAAK,SAAAC,GACT,SAAAD,EAAavlC,GAAQ,IAADkuB,EAoCH,mGApCGnG,CAAA,KAAAwd,IAClBrX,EAAAlG,EAAA,KAAAud,EAAA,CAAMvlC,KACDylC,YAAc,CACjB5C,MAAO,CACL6C,UAAW,QACXnI,MAAO,CACLpJ,OAAQ,CAAC,GACTwR,OAAQ,CAAC,EAAG,IAEdC,WAAY,CACVhwB,KAAM,QACNiwB,aAAc,OAGlBC,SAAU,CACRJ,UAAW,QACXnI,MAAO,CACLpJ,OAAQ,CAAC,GACTwR,OAAQ,CAAC,EAAG,IAEdC,WAAY,CACVhwB,KAAM,WACNiwB,aAAc,OAGlBE,YAAa,CACXL,UAAW,QACXnI,MAAO,CACLpJ,OAAQ,CAAC,GACTwR,OAAQ,CAAC,IAEXC,WAAY,CACVhwB,KAAM,UAIZsY,EAAK9U,MAAQ,CAAC,EAAC8U,CACjB,CAAC,4RAAAhG,CAAAqd,EAAAC,KAAAD,KAAA,EAAAhiC,IAAA,oBAAAtB,MAED,WACE0E,KAAK3G,MAAMgmC,UAAU,IACvB,GAAC,CAAAziC,IAAA,gBAAAtB,MAED,SAAemd,GAAW,IAAD4P,EAAA,KACnB,kBAAmB5P,EAASsR,SAC9B/pB,KAAK3G,MAAMuoB,cAAc,CAAED,aAAclJ,EAASsR,QAAQuV,cAAepc,UAAWzK,EAAS1e,OAC7FytB,EAAAA,WAAW+X,YAAYtnB,MAAK,SAAC7c,GAC3BitB,EAAKhvB,MAAM6e,cAActY,KACvBxE,EAAK2E,EACH,kCAEFsoB,EAAKhvB,MAAM6e,cAAchW,SAASiW,MAClCkQ,EAAKhvB,MAAM6e,cAAcE,OAAOC,MAKlChe,OAAOmlC,aAAaC,QAAQC,EAAAA,SAAUA,EAAAA,UACtCrX,EAAKhvB,MAAMue,QAAQhY,KAAK,IAC1B,KAEiD,IAA7CI,KAAK3G,MAAM+8B,SAASp2B,KAAK3G,MAAMw8B,UAKjC71B,KAAK2/B,iBAAiB,6BAEtB3/B,KAAK3G,MAAM88B,UAAUn2B,KAAK3G,MAAMw8B,SAGtC,GAAC,CAAAj5B,IAAA,cAAAtB,MAED,WACE0E,KAAK3G,MAAMg9B,SAASr2B,KAAK3G,MAAMw8B,SAAU,EAC3C,GAAC,CAAAj5B,IAAA,mBAAAtB,MAED,SAAkB27B,EAAO1b,GACvBvb,KAAK3G,MAAMi9B,cAAct2B,KAAK3G,MAAMw8B,SAAUoB,EAAO1b,EACvD,GAAC,CAAA3e,IAAA,cAAAtB,MAED,SAAaqtB,GACPA,EAAMlQ,SAAS1e,KAAK6lC,eACtB5/B,KAAK6/B,iBAA8D,IAA7C7/B,KAAK3G,MAAM+8B,SAASp2B,KAAK3G,MAAMw8B,UAAkB,cAAgB,QAAS,6BAEhG71B,KAAK3G,MAAMm9B,gBAAgBx2B,KAAK3G,MAAMw8B,SAAU,SACC,IAA7C71B,KAAK3G,MAAM+8B,SAASp2B,KAAK3G,MAAMw8B,WACjC71B,KAAK6/B,iBAAiB,cAAe,6BAG3C,GAAC,CAAAjjC,IAAA,SAAAtB,MAED,WAAW,IAADo+B,EAAA,KACR,OACEx+B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,QAAMgkC,aAAa,MACY,SAA5Bl/B,KAAK3G,MAAMsoB,gBAA6B3hB,KAAK3G,MAAMsoB,cAAiBzmB,EAAAA,cAAC4kC,EAAAA,GAAQ,CAAC3/B,GAAG,MACjFH,KAAK3G,MAAMsvB,OAASztB,EAAAA,cAAA,OAAKC,UAAU,OAAMD,EAAAA,cAAA,OAAKC,UAAU,WAAW6E,KAAK3G,MAAMsvB,QAC9E3oB,KAAK+/B,eACN7kC,EAAAA,cAAA,YAAO8E,KAAKggC,aAAa,GAADzkC,OAAIyE,KAAK3G,MAAMw8B,SAAQ,WAAW,CAAEx6B,GAAI,eAAgBF,UAAW,kCACrE,IAArB6E,KAAK3G,MAAMu9B,OAAe17B,EAAAA,cAAA,OAAKC,UAAU,OAAMD,EAAAA,cAAA,OAAKC,UAAU,WAAUD,EAAAA,cAAA,YAAMA,EAAAA,cAAA,UAAQG,GAAG,kBAAkBF,UAAU,+BAA+Boe,QAAS,WAAF,OAAQmgB,EAAKuG,aAAa,GAAE,mBAE1L/kC,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UACwB,IAArB8E,KAAK3G,MAAMu9B,OACV17B,EAAAA,cAAA,UACEA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC3wB,GAAG,wBAAwB8E,GAAG,aACjC/E,IAAAA,EAAO,gCAIQ,IAArB4E,KAAK3G,MAAMu9B,OACV17B,EAAAA,cAAA,UACEA,EAAAA,cAAA,YACGE,IAAAA,EAAO,8BAIQ,IAArB4E,KAAK3G,MAAMu9B,OACV17B,EAAAA,cAAA,UACEA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC3wB,GAAG,UAAU8E,GAAG,WACnB/E,IAAAA,EAAO,4BAS1B,+FAAC,CApIQ,CAAS8kC,EAAAA,SAuIpB,WAAe3oB,EAAAA,EAAAA,mBAAkBqnB,i/CCpIsC,IAElDuB,EAAc,SAAA7Y,GAAA,SAAA6Y,IAAA,mGAAA/e,CAAA,KAAA+e,GAAA9e,EAAA,KAAA8e,EAAA7e,UAAA,6RAAAC,CAAA4e,EAAA7Y,KAAA6Y,KAAA,EAAAvjC,IAAA,SAAAtB,MACjC,WACE,OACEJ,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACklC,EAAAA,QAAgB,KACfllC,EAAAA,cAACmlC,EAAAA,QAAkB,MACnBnlC,EAAAA,cAAColC,EAAAA,QAAa,MACdplC,EAAAA,cAACqlC,EAAAA,QAAe,MAChBrlC,EAAAA,cAACslC,EAAAA,QAAoB,MACrBtlC,EAAAA,cAACulC,EAAAA,QAA0B,MAC3BvlC,EAAAA,cAACwlC,EAAAA,QAAmB,MACpBxlC,EAAAA,cAACylC,EAAAA,QAAwB,MACzBzlC,EAAAA,cAAC0lC,EAAAA,QAAkB,MACnB1lC,EAAAA,cAAC2lC,EAAAA,QAAiB,MAClB3lC,EAAAA,cAAC4lC,EAAAA,QAAwB,MACzB5lC,EAAAA,cAAC6lC,EAAAA,QAAkB,OAI3B,+FAAC,CAnBgC,CAAS7lC,EAAAA,k4DCdrC,IAAM8lC,EAA2Bt7B,OAAOu7B,OAAO,CACpDC,WAAY,aACZC,kBAAkB,EAClBC,mBAAmB,EACnBC,aAAa,IAGFC,EAAkC57B,OAAOu7B,OAAO,CAC3DC,WAAY,mBACZC,kBAAkB,EAClBC,mBAAmB,EACnBG,gBAAgB,EAChBC,cAAe,KAGJlV,EAAkC,mBAClCzG,EAA+B,WAC/B4b,EAAuB,UAGvBC,EAAW,UACXC,EAAe,UACfC,EAAe,UACfC,EAAU,UACVC,EAAQ,UACRC,EAAU,UAEVC,EAAc,UACdC,EAAa,UACbC,EAAa,UACbC,EAAS,UAETC,EAAiB,UACjBC,EAAc,UACdC,EAAiB,UAEjBC,EAAsB,UACtBC,EAAe,OACfC,EAAkB,OAClBC,EAAmB,OAEnBC,EAAc,+BACdC,EAAc,iCAEdC,EAAkB,GAClBC,EAAoB,EACpBC,EAAoB,OAEpBC,EAAiB,KAEjBC,EAA4Bv9B,OAAOu7B,OAAO,CACrDiC,MAAO,CACLn3B,MAAO,CACL6S,MAAO4jB,EACPW,WAAYP,GAEdryB,OAAQ,KAEVmJ,MAAO,CACL3N,MAAO,CACLo3B,WAAYR,EACZ7jB,WAAY,SAGhBskB,SAAU,CACRr3B,MAAO,CACLo3B,WAAYR,EACZ7jB,WAAY,QAGhBukB,YAAa,CACXC,OAAQ,CACNC,OAAQ,CACNC,SAAU,CACRC,QAAS,OAKjBC,OAAQ,CACNC,SAAS,EACTC,MAAO,QACPC,cAAe,UAEjBC,MAAO,CACLC,cAAe,EACfC,cAAehC,EACfiC,UAAWjC,EACXkC,mBAAoBlC,EACpBmC,UAAWnC,EACXoC,UAAW,GAEbC,MAAO,CACLL,cAAehC,EACfiC,UAAWjC,EACXkC,mBAAoBlC,EACpBmC,UAAWnC,EACXoC,UAAW,GAEbE,QAAS,CACPX,SAAS,GAEX74B,QAAS,CACPy5B,YAAY,EACZC,SAAS,GAEXC,OAAQ,CACNC,QAAQ,KAKCC,EAAgB,SAChBC,EAAc,OACdC,EAAc,OAEdC,EAAmBp/B,OAAOu7B,OAAMxM,EAAAA,EAAAA,EAAC,CAC5CsQ,GAAI,WACJC,GAAI,gBACJC,GAAI,yBACJC,GAAI,sBACJC,GAAI,gBACJC,GAAI,gBACJC,GAAI,uBACJC,GAAI,qBACJC,GAAI,gBACJC,GAAI,YACJC,IAAK,sBACLC,IAAK,mBACLC,IAAK,aACLC,IAAK,YACLC,IAAK,oBACLC,IAAK,kBACLC,IAAK,gBACLC,IAAK,qBACLC,IAAK,sBACLC,IAAK,SACLC,IAAK,SACLC,IAAK,SACLC,IAAK,UACJ1B,EAAgB,aAChBC,EAAc,WACdC,EAAc,YAGJyB,EAAiB,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC5DC,EAAc,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,OACxDC,EAAqB,CAAC,OACtBC,EAAc,CAAC,MAAO,MAAO,MAAO,OACpCC,EAAY,CAAC,KAAM,KAAM,OACzBC,EAAY,CAAC,KAAM,kpECjJhC,IAAMC,EAAe1rC,EAAAA,gBAER2rC,EAAa,SAAAvf,GACxB,SAAAuf,EAAaxtC,GAAQ,IAADkuB,EAaS,mGAbTnG,CAAA,KAAAylB,IAClBtf,EAAAlG,EAAA,KAAAwlB,EAAA,CAAMxtC,KAEDytC,aAAe,CAClBC,UAAW,WAAF,OAAS7rC,EAAAA,cAAAA,EAAAA,SAAA,KAAK,EACvB8rC,eAAgB,CAAC,EACjBC,wBAAyB,CAAC,EAC1BC,MAAM,GAER3f,EAAK9U,MAAQ8U,EAAKuf,aAClBvf,EAAK4f,cAAgB,EAErB5f,EAAK6f,MAAQlsC,EAAAA,YACbqsB,EAAK8f,eAAiBxf,EAAAA,QAAKN,CAC7B,CAAC,4RAAAhG,CAAAslB,EAAAvf,KAAAuf,IAAA,EAAAjqC,IAAA,QAAAtB,MAED,WACM0E,KAAKonC,MAAMt4B,OAGjB,GAAC,CAAAlS,IAAA,qBAAAtB,MAED,SAAoBgsC,EAAWC,GAC7BvnC,KAAKwnC,OACP,GAGA,CAAA5qC,IAAA,aAAAtB,MACA,WACEb,SAASiJ,KAAKqI,MAAMsS,SAAW,QAC/B5jB,SAASiJ,KAAKqI,MAAMuE,MAAQ,QAC5B7V,SAASiJ,KAAKqI,MAAMrK,IAAG,IAAAnG,OAAOyE,KAAKmnC,cAAa,KAClD,GAAC,CAAAvqC,IAAA,eAAAtB,MAED,WACE,IAAMmsC,EAAUhtC,SAASiJ,KAAKqI,MAAMrK,IACpCjH,SAASiJ,KAAKqI,MAAMsS,SAAW,GAC/B5jB,SAASiJ,KAAKqI,MAAMrK,IAAM,GAC1BjH,SAASiJ,KAAKqI,MAAMuE,MAAQ,GAC5BjW,OAAO0hB,SAAS,GAA+B,EAA5B3f,SAASqrC,GAAW,KACzC,GAAC,CAAA7qC,IAAA,qBAAAtB,MAED,SAAoByjC,GAAwB,IAAb1lC,EAAKioB,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtCthB,KAAKmnC,cAAgB9sC,OAAOotC,QAC5BznC,KAAKqnC,eAAiBxf,EAAAA,QACtB7nB,KAAKg3B,SAAS,CAAE+P,UAAWhI,EAAWiI,eAAgB3tC,EAAO6tC,MAAM,GAAQlnC,KAAK0nC,WAAWpxB,KAAKtW,MAClG,GAAC,CAAApD,IAAA,8BAAAtB,MAED,WAA0C,IAAbjC,EAAKioB,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpCthB,KAAKmnC,cAAgB9sC,OAAOotC,QAC5BznC,KAAKqnC,eAAiBM,EAAAA,QACtB3nC,KAAKg3B,SAAS,CAAEiQ,wBAAyB5tC,EAAO6tC,MAAM,GAAQlnC,KAAK0nC,WAAWpxB,KAAKtW,MACrF,GAAC,CAAApD,IAAA,aAAAtB,MAED,WACE0E,KAAKmnC,cAAgB9sC,OAAOotC,QAC5BznC,KAAKg3B,SAAQhN,EAAAA,EAAC,CAAC,EAAIhqB,KAAKyS,OAAK,IAAEy0B,MAAM,IAAQlnC,KAAK0nC,WAAWpxB,KAAKtW,MACpE,GAAC,CAAApD,IAAA,aAAAtB,MAED,WACE0E,KAAKg3B,SAASh3B,KAAK8mC,aAAc9mC,KAAK4nC,aAAatxB,KAAKtW,MAC1D,GAEA,CAAApD,IAAA,4BAAAtB,MACA,WACE0E,KAAK4nC,cACP,GAAC,CAAAhrC,IAAA,SAAAtB,MAED,WACE,IAAAusC,EAA4C7nC,KAAKyS,MAAzCs0B,EAASc,EAATd,UAAWC,EAAca,EAAdb,eAAgBE,EAAIW,EAAJX,KACnC,OACEhsC,EAAAA,cAAC0rC,EAAakB,SAAQ,CAACxsC,MAAO,CAC5BysC,kBAAmB/nC,KAAKgoC,mBAAmB1xB,KAAKtW,MAChDknC,KAAMlnC,KAAKioC,WAAW3xB,KAAKtW,MAC3BkoC,KAAMloC,KAAKmoC,WAAW7xB,KAAKtW,MAC3B8X,sBAAuB9X,KAAKooC,4BAA4B9xB,KAAKtW,QAG5DA,KAAK3G,MAAM+D,SACX8pC,GACChsC,EAAAA,cAAA,KAAMmsC,eAAc3hC,OAAAgoB,OAAA,CAClBwZ,KAAMlnC,KAAKyS,MAAMy0B,KACjBprB,IAAK9b,KAAKonC,MAAOiB,QAASroC,KAAKmoC,WAAW7xB,KAAKtW,OAC3CA,KAAKyS,MAAMw0B,yBAEf/rC,EAAAA,cAAC6rC,EAAcC,IAIzB,gGAAC,CA1FuB,CAAS9rC,EAAAA,WA6FtBoc,EAAY,SAAAyvB,GAAS,OAAI,SAAA1tC,GACpC,OACE6B,EAAAA,cAAC0rC,EAAa0B,SAAQ,MACnB,SAACC,GAAO,OAAMrtC,EAAAA,cAAC6rC,EAASrhC,OAAAgoB,OAAA,GAAK6a,EAAalvC,GAAS,GAG1D,CAAC,oGCnFD,UAnBe,SAACA,GAQd,OACE6B,EAAAA,cAAA,OACEC,UAAW8oB,IAAW,OAAQ7oB,IAAAA,QAC9Bme,QAAS,WAAF,OAAQlgB,EAAMmvC,UAA0B,OAAhBptC,IAAAA,OAAuB,KAAO,KAAK,EAClEse,MAVkB,OAAhBte,IAAAA,OACK,oBAEF,4BAQN,OAIL,m5CCb2D,IAErD8sB,EAAS,SAAAugB,GAAA,SAAAvgB,IAAA,mGAAA9G,CAAA,KAAA8G,GAAA7G,EAAA,KAAA6G,EAAA5G,UAAA,6RAAAC,CAAA2G,EAAAugB,KAAAvgB,KAAA,EAAAtrB,IAAA,oBAAAtB,MACb,WACEjB,OAAOC,EAAEouC,KAAKluC,KAAKC,SAASK,eAAe,QAAS,CAAC,EACvD,GAAC,CAAA8B,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAACytC,EAAAA,GAAM,CAAC/wB,QAAS5X,KAAK3G,MAAMue,SAC1B1c,EAAAA,cAAC0tC,EAAAA,EAAe,KACd1tC,EAAAA,cAAC2tC,EAAAA,qBAAoB,KACnB3tC,EAAAA,cAAC4tC,EAAAA,gBAAe,KACd5tC,EAAAA,cAAC6tC,EAAAA,gBAAe,KACd7tC,EAAAA,cAAC2rC,EAAAA,cAAa,KACZ3rC,EAAAA,cAACmyB,EAAAA,GAAK,CAACE,KAAK,IAAIC,OAAQ,SAACn0B,GAAK,OAAK6B,EAAAA,cAAC8tC,EAAAA,QAAY3vC,EAAS,SAQzE,+FAAC,CArBY,CAASsvC,EAAAA,IAwBxB,m8ECjCuB,IAEFM,EAAc,SAAA3hB,GAAA,SAAA2hB,IAAA,mGAAA7nB,CAAA,KAAA6nB,GAAA5nB,EAAA,KAAA4nB,EAAA3nB,UAAA,6RAAAC,CAAA0nB,EAAA3hB,KAAA2hB,IAAA,EAAArsC,IAAA,oBAAAtB,MACjC,WACE,IAAMmc,EAAQhd,SAASC,iBAAiB,IAADa,OAAKyE,KAAK3G,MAAMgC,KACvDhB,OAAOC,EAAEC,WAAWC,KAAKid,EAC3B,GAAC,CAAA7a,IAAA,qBAAAtB,MAED,SAAoBgsC,GAAY,IAAD/f,EAAA,KAEvB2hB,IACJlpC,KAAK3G,MAAMynB,cACXwmB,EAAUxmB,cACVwmB,EAAUxmB,aAAaqoB,OAASnpC,KAAK3G,MAAMynB,aAAaqoB,uIACxDztC,CAAAC,EAAI2rC,EAAUxmB,cAAcvkB,OAAM,SAAAjB,GAAK,OAAIisB,EAAKluB,MAAMynB,aAAayW,SAASj8B,EAAM,KAUpF,KANE0E,KAAK3G,MAAMs9B,SACX2Q,EAAU3Q,SACVjxB,OAAOmG,KAAKy7B,EAAU3Q,SAAS15B,SAAWyI,OAAOmG,KAAK7L,KAAK3G,MAAMs9B,SAAS15B,QAC1EyI,OAAOmG,KAAKy7B,EAAU3Q,SAASp6B,OAAM,SAAAjB,GAAK,OAAIA,KAASisB,EAAKluB,MAAMs9B,OAAO,MAGxDuS,EAAkB,CACnC,IAAMzxB,EAAQhd,SAASC,iBAAiB,IAADa,OAAKyE,KAAK3G,MAAMgC,KACvDhB,OAAOC,EAAEC,WAAWC,KAAKid,EAC3B,CACF,GAAC,CAAA7a,IAAA,SAAAtB,MAED,WAAW,IAAD+sB,EAAA,KACF3P,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAA8GppC,KAAK3G,MAA3G0lC,EAASqK,EAATrK,UAAW9vB,EAAIm6B,EAAJn6B,KAAM6nB,EAASsS,EAATtS,UAAWH,EAAOyS,EAAPzS,QAASd,EAAQuT,EAARvT,SAAU/U,EAAYsoB,EAAZtoB,aAAcuoB,EAAYD,EAAZC,aAAcC,EAASF,EAATE,UAAWC,EAAWH,EAAXG,YACxFC,iWAAUxf,CAAA,GAAQhqB,KAAK3G,cACtBmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAW7S,eACX6S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,YACXu6B,EAAWF,iBACXE,EAAWD,YAKlB,IAAME,EAAY,CAAC,EACfJ,EACFI,EAAUnuC,MAAQ+tC,EAAantC,KAAI,SAAC6vB,GAAG,OAAK3vB,SAAS2vB,EAAI,IAChDjL,IACT2oB,EAAUnuC,MAAQwlB,GAEpB,IAAMzE,EACJnhB,EAAAA,cAAA,OAAKC,UAAU,eACZud,EAAOxc,KAAI,SAACoc,EAAKvS,GAAC,OACjB7K,EAAAA,cAAA,OAAK0B,IAAKmJ,GACPsiB,EAAKhvB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACxC,IAERpd,EAAAA,cAAA,SAAAwK,OAAAgoB,OAAA,CAAQgc,UAAQ,GAAKF,EAAU,CAAEhuC,SAAU,SAAA0C,GAAC,OAAImqB,EAAKhvB,MAAMmC,SAASnB,OAAOC,EAAEC,WAAWovC,YAAYzrC,EAAEoC,QAAQ,GAAMmpC,GACjH9S,KAAgC,kBAAZA,IAAyBA,EAAQz6B,KAAI,SAAC0tC,EAAQ7jC,GAAC,OAClE7K,EAAAA,cAAA,SAAAwK,OAAAgoB,OAAA,CAAQ9wB,IAAKmJ,GAAO6jC,EAAO3K,YACxBsK,GAAeK,EAAO3K,WAAWtiC,MAChC4sC,GAAenuC,IAAAA,EAAO,GAADG,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIquC,EAAO3K,WAAWtiC,MAAQ,CAAEqN,SAAU,CAAC,CAAE6/B,MAAOD,EAAO3K,WAAWtiC,SAC3G,KAGbzB,EAAAA,cAAA,SAAOC,UAAU,WACfD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,OAIxD,OAAIwS,EACKjtB,EAGPnhB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACZkhB,GAIT,gGAAC,CAlFgC,CAASnhB,EAAAA,sGCc5C,UAZuB,SAAA7B,GACrB,IAAQywC,EAAkBzwC,EAAlBywC,cACR,OACE5uC,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,YACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJE,KAAK,YACLC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAAC6uC,EAAAA,QAAQrkC,OAAAgoB,OAAA,GAAKr0B,EAAWywC,GAAiB,IAIpE,6FCEA,UAZsB,SAACzwC,GACrB,IAAQ2wC,EAAoB3wC,EAApB2wC,gBACR,OACE9uC,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,WACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,WACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAAC+uC,EAAAA,QAAUvkC,OAAAgoB,OAAA,GAAKr0B,EAAW2wC,GAAmB,IAIxE,23CCVgD,IAE1CE,EAAY,SAAA5iB,GAChB,SAAA4iB,EAAa7wC,GAAQ,IAADkuB,EAEuD,mGAFvDnG,CAAA,KAAA8oB,IAClB3iB,EAAAlG,EAAA,KAAA6oB,EAAA,CAAM7wC,KACDoZ,MAAQ,CAAE8I,QAASngB,IAAAA,EAAO,0CAA0CmsB,CAC3E,CAAC,4RAAAhG,CAAA2oB,EAAA5iB,KAAA4iB,KAAA,EAAAttC,IAAA,gBAAAtB,MAED,SAAesB,GACb,IAAIutC,GAAY,EACV9kB,EAASrlB,KAAK3G,MAAM2c,SAASkW,OAAO1sB,QAAQ,IAAK,IAAI/B,MAAM,KAOjE,OALA4nB,EAAOjc,SAAQ,SAACghC,EAAKrkC,GACfqkC,IAAQxtC,IACVutC,EAAWpkC,EAAI,EAEnB,IACOokC,GAAY,EAAI9kB,EAAO8kB,GAAY,IAC5C,GAAC,CAAAvtC,IAAA,oBAAAtB,MAED,WAAsB,IAAD+sB,EAAA,KACnBroB,KAAK3G,MAAMuoB,cAAc,CAAED,aAAc,KACzC3hB,KAAK3G,MAAMgmC,UAAU,MAErBvV,EAAAA,EAAAA,SAAM,CAAEuN,IAAI,2CAAD97B,OAA6CyE,KAAKqqC,cAAc,uBAAyB35B,OAAQ,QAASuH,MAAK,SAACqyB,GACzHjiB,EAAKhvB,MAAM6e,cAActY,KACvBxE,IAAAA,EAAO,yCACPitB,EAAKhvB,MAAM6e,cAAchW,SAASiW,MAClCkQ,EAAKhvB,MAAM6e,cAAcE,OAAOC,MAClCgQ,EAAKhvB,MAAMue,QAAQhY,KAAK,IAC1B,IAAE,OAAO,SAAC0Y,GACRkf,QAAQC,IAAI,mDACZD,QAAQC,IAAInf,GACZ+P,EAAK2O,SAAS,CAAEzb,QAASngB,IAAAA,EAAO,sCAClC,GACF,GAAC,CAAAwB,IAAA,SAAAtB,MAED,WACE,IAAQigB,EAAYvb,KAAKyS,MAAjB8I,QACR,OACErgB,EAAAA,cAAA,YACGqgB,EAGP,+FAAC,CA1Ce,CAASrgB,EAAAA,WA6C3B,WAAeqc,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,aAAYynB,w9CChDW,IAElDlB,EAAO,SAAA1hB,GAAA,SAAA0hB,IAAA,mGAAA5nB,CAAA,KAAA4nB,GAAA3nB,EAAA,KAAA2nB,EAAA1nB,UAAA,6RAAAC,CAAAynB,EAAA1hB,KAAA0hB,KAAA,EAAApsC,IAAA,oBAAAtB,MACX,SAAmBivC,GACjB,OAAOA,EAAa,GAAK,QAC3B,GAAC,CAAA3tC,IAAA,SAAAtB,MAED,WACE,IAAMivC,EAAavqC,KAAK3G,MAAMmxC,QAAQC,UAChCC,EAAiB1qC,KAAK2qC,kBAAkBJ,GACxB9vC,SAASC,iBAAiB,QAAQ,GAC1CS,UAAYuvC,EAE1B,IAAME,EAAe1vC,EAAAA,cAAC2vC,EAAAA,QAAY,CAACC,QAAS9qC,KAAK3G,MAAMyxC,QAASP,WAAYA,EAAYv0B,SAAUhW,KAAK3G,MAAM2c,SAAU00B,eAAgB1qC,KAAK0qC,iBAE5I,OAAK/O,kBAAYoP,oBAAsBR,EAC9BK,EAIP1vC,EAAAA,cAAC8vC,EAAAA,GAAM,KACL9vC,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,IACXwR,UAAW,WAET,OADA1kC,OAAO2b,SAASyD,KAAOkiB,kBAAYoP,mBAC5B,IACT,IAGF7vC,EAAAA,cAACmyB,EAAAA,GAAK,CAACE,KAAK,GAAGC,OAAQ,WAAF,OAAQod,CAAY,IAG/C,+FAAC,CA9BU,CAAS1vC,EAAAA,WAiCtB,WAAeunB,EAAAA,EAAAA,cAAYwoB,EAAAA,EAAAA,GAAYjC,6yDCrChC,SAAS9pC,EAAOgsC,GAA4B,IAApBC,EAAa7pB,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,EAC7C,OAAOviB,KAAKG,MAAMgsC,EAAMnsC,KAAAE,IAAG,GAAMksC,IAAcpsC,KAAAE,IAAG,GAAMksC,EAC1D,CAEO,SAASC,EAAe9vC,GAA2B,IAApB6vC,EAAa7pB,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,EAEpD,OAAOpiB,EAAM5D,EADeA,EAAQ,IAAM,GAAK6vC,EAAgB,EAAKA,EAAgBA,EAAgB,EAEtG,CAEO,SAASE,EAA8B39B,GAC5C,IAAM49B,EAAMC,EAAQ79B,GAQd89B,EAAgBD,EANF79B,EAAOxR,KAAI,SAAUZ,GACvC,IAAMmwC,EAAOnwC,EAAQgwC,EAErB,OADgBG,EAAOA,CAEzB,KAKA,OADe1sC,KAAK2sC,KAAKF,EAE3B,CAEO,SAASG,EAAmBC,GACjC,IAAIC,EAAQ,EACZ,IAAK,IAAMjvC,KAAOgvC,EAAcC,GAASD,EAAWhvC,GACpD,IAAMkvC,EAAUD,EAAQD,EAAW3uC,OAC/B8uC,EAAS,EACb,IAAK,IAAMC,KAAQJ,EAAcG,GAAUhtC,KAAKE,IAAKJ,WAAW+sC,EAAWI,IAASF,EAAU,GAE9F,OADiB/sC,KAAK2sC,KAAKK,GAAUH,EAAW3uC,OAAS,GAE3D,CAEO,SAASsuC,EAASxxC,GAMvB,OALYA,EAAKkyC,QAAO,SAAUC,EAAK5wC,GACrC,OAAO4wC,EAAM5wC,CACf,GAAG,GAEevB,EAAKkD,MAEzB,CAEO,IAAMkvC,EAAsB,SAACC,GAClC,OAAO,SAAUpuC,EAAGuH,EAAO3E,GACzB,OAAOyrC,IAAAA,MAAQzrC,EAAO7B,KAAKuD,IAAI,EAAGiD,EAAQ,EAAI6mC,GAAa7mC,EAAQ,EACrE,CACF,EAEa+mC,EAAgB,SAAC1rC,EAAOwrC,GACnC,OAAOC,IAAAA,MAAQzrC,GACZ1E,IAAIiwC,EAAoBC,IACxBlwC,IAAImwC,IAAAA,MACJ/wC,OACL,EAEO,SAASixC,EAAK3rC,EAAO4rC,GAG1B,IAFA,IAAMC,EAAY1tC,KAAK+wB,MAAMlvB,EAAM3D,OAASuvC,GACtCE,EAAO,GACJC,EAAO,EAAGA,EAAOF,EAAWE,IAAQ,CAC3C,IAAMJ,EAAMF,IAAAA,MAAQzrC,EAAO+rC,EAAOH,GAAUG,EAAO,GAAKH,GACxDE,EAAK9sC,KAAK2sC,EACZ,CAGA,GAAI3rC,EAAM3D,OAASuvC,IAAY,EAAG,CAAC,IAADI,EAC1BC,EAAoBR,IAAAA,MAAQzrC,EAAO6rC,EAAYD,IACrDI,EAAAF,EAAKD,EAAY,IAAG7sC,KAAIC,MAAA+sC,mIAAAlxC,CAAAC,EAAIkxC,GAC9B,CAEA,OAAOH,CACT,CAEO,SAASI,EAAelsC,EAAO4rC,GAEpC,OADaD,EAAI3rC,EAAO4rC,GACZtwC,KAAI,SAACqwC,GAAU,OAAQhB,EAAQgB,EAAM,GACnD,CAEO,SAASL,EAAKvnC,GACnB,OAAOA,EAAIsnC,QAAO,SAACxtC,EAAGjB,GAAC,OAAKiB,EAAIjB,CAAC,GAAE,EACrC,CAEO,SAASmD,EAAQgE,GACtB,OAAOA,EAAI5I,QAAO,SAACiC,EAAG+H,EAAGnI,GAAC,OAAKA,EAAEwB,QAAQpB,KAAO+H,CAAC,GACnD,CAkBO,SAASgnC,EAAe9uC,IAE7BA,EAAI,IAAI+uC,KAAKA,KAAKC,IAAIhvC,EAAEivC,cAAejvC,EAAEkvC,WAAYlvC,EAAEmvC,aAGrDC,WAAWpvC,EAAEqvC,aAAe,GAAKrvC,EAAEsvC,aAAe,IAEpD,IAAMC,EAAY,IAAIR,KAAKA,KAAKC,IAAIhvC,EAAEwvC,iBAAkB,EAAG,IAErDC,EAAS3uC,KAAKoH,OAAQlI,EAAIuvC,GAAa,MAAY,GAAK,GAE9D,MAAO,CAACvvC,EAAEwvC,iBAAkBC,EAC9B,CASO,SAASC,EAAcC,EAAQ7zC,GAEpC,IADA,IAAM8zC,EAAY,GAAEtwB,EAAA,SAAAuwB,GAElBD,EAAUjuC,KAAK7F,EAAKgC,QAAO,SAAAkC,GAAC,OAAIA,GAAK2vC,EAAOE,EAAM,IAAM7vC,EAAI2vC,EAAOE,EAAI,IAAE7wC,OAC3E,EAFS6wC,EAAM,EAAGA,EAAMF,EAAO3wC,OAAQ6wC,GAAO,EAACvwB,EAAAuwB,GAG/C,OAAOD,CACT,CAEO,SAASE,EAA2BC,GACzC,IAAMC,EAAa,CAAC,GAKpB,OAJAD,EAAc5kC,SAAQ,SAAApL,GACpBiwC,EAAWruC,KAAKquC,EAAWA,EAAWhxC,OAAS,GAAKe,EACtD,IACAiwC,EAAWve,QACJue,CACT,CAGO,SAASC,EAAoBC,GAClC,IAAMC,EAAe/B,IAAAA,IAAM8B,IAAc,EACzC,OAAOA,EAAUjyC,KAAI,SAAAqC,GAAC,OAAIA,EAAI6vC,EAAe,GAAG,GAClD,kHChIA,UAfmB,SAAA/0C,GACjB,IAAAg1C,EAA6Dh1C,EAArDgG,MAASgmB,OAAUipB,EAAUD,EAAVC,WAAYC,EAAaF,EAAbE,cAMvC,OAJAn0C,EAAAA,EAAAA,YAAU,WACRf,EAAMm1C,aAAaF,EAAYC,EACjC,GAAG,IAGDrzC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SAAG,sBACHA,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,IAG1B,04CCduB,IAEFyxC,EAAiB,SAAAnnB,GAAA,SAAAmnB,IAAA,mGAAArtB,CAAA,KAAAqtB,GAAAptB,EAAA,KAAAotB,EAAAntB,UAAA,6RAAAC,CAAAktB,EAAAnnB,KAAAmnB,KAAA,EAAA7xC,IAAA,SAAAtB,MACpC,WACE,OACEJ,EAAAA,cAAA,OAAKC,UAAU,8BACbD,EAAAA,cAAA,OAAKC,UAAU,4BACbD,EAAAA,cAAA,OAAKC,UAAU,sBACbD,EAAAA,cAAA,OAAKG,GAAG,WACNH,EAAAA,cAAA,OAAKmV,IAAI,cAAclV,UAAU,kBAAkBuhC,IAAKgS,KAE1DxzC,EAAAA,cAAA,OAAK6Q,MAAO,CAAE4iC,WAAY,SACxBzzC,EAAAA,cAAA,SAAIE,IAAAA,EAAO,UAADG,OAAWyE,KAAK3G,MAAMkiB,SAAW,aAAiBrgB,EAAAA,cAAA,WAC5DA,EAAAA,cAAA,SAAGA,EAAAA,cAAA,KAAGue,KAAK,KAAKre,IAAAA,EAAO,kBAAqB,QAMxD,+FAAC,CAjBmC,CAASF,EAAAA,kMCiK/C,WAAeoc,EAAAA,EAAAA,YAAUmL,EAAAA,EAAAA,cAzJV,SAACppB,IACde,EAAAA,EAAAA,YAAU,WACRw0C,EAAiB,oBACjBA,EAAiB,gBACjB,IAAMn3B,EAAQhd,SAASC,iBAAiB,YACxCL,OAAOC,EAAEu0C,QAAQr0C,KAAKid,EAAO,CAAC,EAChC,GAAG,CAACpe,EAAMy1C,qBAEV,IAAqBC,EACfjZ,EAwBAkZ,EAAoB,WACxB,OAAI31C,EAAMmD,OACDnD,EAAM41C,wBAAwB51C,EAAMmD,QAEtCnD,EAAMiiB,cACf,EAEM4zB,EAAe,WACnBz0C,SAASC,iBAAiB,oBAAoB0O,SAAQ,SAAA+lC,GACpDA,EAAQpjC,MAAMqS,QAAU,OACxB+wB,EAAQpjC,MAAM03B,QAAU,CAC1B,IACAhpC,SAASC,iBAAiB,QAAQ0O,SAAQ,SAAA1F,GACxCA,EAAKqI,MAAMqjC,SAAW,IACxB,GACF,EAEMR,EAAmB,SAAAS,GACvB50C,SAASC,iBAAiB20C,GAAOjmC,SAAQ,SAAAvO,GACvCA,EAAKy0C,WAAWz5B,YAAYhb,EAC9B,GACF,EAEM00C,EAAS,WACbL,IACA71C,EAAM8oB,cACR,EAEMqtB,EAAmB,SAAAtxC,GACvBA,EAAEiT,iBACF9X,EAAMye,sBAAsB,CAC1BC,eAAgBw3B,EAChBjvC,OAAQlF,IAAAA,EAAO,uBACf8d,OAAQ,SACRC,UAAU,GAEd,EAEMs2B,EAAa,WACjB,OAAKp2C,EAAMq2C,eAcJx0C,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,IAAIoZ,QAASi2B,GAAmBp0C,IAAAA,EAAO,kBAZvDF,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,SAASoZ,QAAS,WAAF,OAAQ21B,GAAc,GAAG9zC,IAAAA,EAAO,qBAC7DF,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,qBAAqBoZ,QAAS,WAAF,OAAQ21B,GAAc,GAAG9zC,IAAAA,EAAO,4BAEzEF,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,aAAaoZ,QAAS,WAAF,OAAQ21B,GAAc,GAAG9zC,IAAAA,EAAO,oBACjEF,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,kBAAkBoZ,QAAS,WAAF,OAAQ21B,GAAc,GAAG9zC,IAAAA,EAAO,yBACtEF,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,WAAWoZ,QAAS,WAAF,OAAQ21B,GAAc,GAAG9zC,IAAAA,EAAO,sBAC/DF,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,WAAWoZ,QAAS,WAAF,OAAQ21B,GAAc,GAAG9zC,IAAAA,EAAO,kBAC/DF,EAAAA,cAAA,UAAIA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,IAAIoZ,QAASi2B,GAAmBp0C,IAAAA,EAAO,kBAK5D,EAEA,OACEF,EAAAA,cAAAA,EAAAA,SAAA,KACG7B,EAAMy1C,oBACL5zC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,QAAMC,UAAU,cAAa,wBAC7BD,EAAAA,cAAA,KAAGue,KAAK,IAAI,cAAY,cAActe,UAAU,mBAC9CD,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,SAEhCD,EAAAA,cAAA,MAAIG,GAAG,aAAaF,UAAU,8BAC3Bs0C,SAMXv0C,EAAAA,cAAA,MAAIC,UAAU,UAAUE,GAAG,eACxBo0C,OAILp2C,EAAMy1C,oBAAsBz1C,EAAMs2C,wBAClCz0C,EAAAA,cAAA,KAAGC,UAAU,0BAA0Boe,QAASlgB,EAAMs2C,wBAAwB,YAEhFz0C,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,kBACbD,EAAAA,cAAA,OAAKwhC,IAAKgS,EAAMr+B,IAAI,MAEtBnV,EAAAA,cAAA,OAAKC,UAAU,oBACbD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,0BAAgC,OACvCA,IAAAA,EAAO,yBAAyB,OACvCF,EAAAA,cAAA,YAAOE,IAAAA,EAAO,2BAEhBF,EAAAA,cAAA,OAAKC,UAAU,wBACX9B,EAAM8jB,cAAgB9jB,EAAMkhB,SAAWlhB,EAAMiiB,iBAC7CpgB,EAAAA,cAAA,KAAGC,UAAU,yBACV9B,EAAM8jB,cAAgBjiB,EAAAA,cAAA,aAAOgiB,EAAAA,EAAAA,uBAtGtC7jB,EAAMmD,OACDnD,EAAMu2C,sBAAsBv2C,EAAMmD,QAEpCnD,EAAM8jB,aAmGsE9jB,EAAMsB,OAAO,KACnFtB,EAAMkhB,SAAWrf,EAAAA,cAAAA,EAAAA,SAAA,KAAEA,EAAAA,cAAA,aAAO0iB,EAAAA,EAAAA,kBAAiBvkB,EAAMkhB,UAAgBrf,EAAAA,cAAA,YACjE7B,EAAMiiB,gBAAkBpgB,EAAAA,cAAA,aAAOyiB,EAAAA,EAAAA,yBAAwBqxB,MACvD31C,EAAM0zB,gBAAkB1zB,EAAMiiB,gBAAkB0zB,MAAwB/zB,EAAAA,2BAA6B/f,EAAAA,cAAA,YAAM,MAAIE,IAAAA,EAAO,uCAK/HF,EAAAA,cAAC20C,EAAAA,QAAM,CAACrH,UAAWnvC,EAAMmvC,YACxBnvC,EAAMmD,QAAUnD,EAAMmD,OAAOod,OAASk2B,EAAAA,OACrC50C,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,qBAAsB,CAAE8rB,IAAM12C,EAAM8jB,eAAiB9jB,EAAMk3B,mBACnFl3B,EAAM22C,WAAa90C,EAAAA,cAAA,QAAMC,UAAU,QAAQC,IAAAA,EAAO,0DACnDF,EAAAA,cAAA,MAAIC,UAAU,cAAcoe,QAAS,WAAF,OAAQlgB,EAAM22C,WAAa32C,EAAM22C,eAAUv2C,EAAU,IAtI/Es1C,EAuIO11C,EAAMmD,OAtI5Bs5B,EAAa,CAAC,EACdz8B,EAAM8jB,cAAgB9jB,EAAMk3B,kBAC9BuF,EAAa,CACXvF,gBAAiBl3B,EAAMk3B,gBACvBpT,aAAc9jB,EAAM8jB,aACpBxiB,MAAOtB,EAAMsB,QAIfO,EAAAA,cAAA,MAAI0B,IAAKmyC,EAAQ1zC,GAAIF,UAAU,mBAC7BD,EAAAA,cAAA,OAAKC,UAAU,sBACbD,EAAAA,cAACkpB,EAAAA,QAAU1e,OAAAgoB,OAAA,CAAClxB,OAAQuyC,GAAajZ,WAmI3C,4BCnKA,IAAI55B,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,IACR,UAAW,IACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,WAAY,KACZ,cAAe,KACf,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,WAAY,MACZ,cAAe,MACf,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,KACb,eAAgB,KAChB,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,OAIf,SAAS+zC,EAAeC,GACvB,IAAI70C,EAAK80C,EAAsBD,GAC/B,OAAOE,EAAoB/0C,EAC5B,CACA,SAAS80C,EAAsBD,GAC9B,IAAIE,EAAoB79B,EAAErW,EAAKg0C,GAAM,CACpC,IAAIhyC,EAAI,IAAIH,MAAM,uBAAyBmyC,EAAM,KAEjD,MADAhyC,EAAEmyC,KAAO,mBACHnyC,CACP,CACA,OAAOhC,EAAIg0C,EACZ,CACAD,EAAepkC,KAAO,WACrB,OAAOnG,OAAOmG,KAAK3P,EACpB,EACA+zC,EAAele,QAAUoe,EACzBG,EAAOC,QAAUN,EACjBA,EAAe50C,GAAK,osCC7PpB,UAlCiB,SAAChC,GAChB,IAAM0kC,GAAQyS,EAAAA,EAAAA,QAAO,MACjBn3C,EAAM0iB,UACR5Z,YAAW,kBAAM0Z,EAAAA,EAAAA,aAAYkiB,EAAM,GAAE,IAGvC,IAAuDzkC,EAAAC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAhDwkC,EAAU3kC,EAAA,GAAE4kC,EAAa5kC,EAAA,GAEZm3C,EAAsCp3C,EAAlD4kC,WAA6BhvB,EAAqB5V,EAArB4V,KAASyhC,+WAAOC,CAAKt3C,EAAKu3C,GAC3DH,IAAoBxS,GACtBC,GAAc,GAEhB,IAAM2S,EAAc,CAClB5S,WAAAA,EACAC,cAAe,SAAA5iC,GAAK,OAAI4iC,EAAc5iC,EAAM,EAC5CyiC,MAAAA,GAEF,OAAQ9uB,GACN,IAAK,SACH,OAAO/T,EAAAA,cAAC41C,EAAAA,QAAMprC,OAAAgoB,OAAA,GAAKgjB,EAAaG,IAClC,IAAK,QACH,OAAO31C,EAAAA,cAAC61C,EAAAA,QAAKrrC,OAAAgoB,OAAA,GAAKgjB,EAAaG,IACjC,IAAK,WACH,OAAO31C,EAAAA,cAAC81C,EAAAA,QAAQtrC,OAAAgoB,OAAA,GAAKgjB,EAAaG,IACpC,IAAK,YACH,OAAO31C,EAAAA,cAAC+1C,EAAAA,QAASvrC,OAAAgoB,OAAA,GAAKgjB,EAAaG,IACrC,IAAK,UACH,OAAO31C,EAAAA,cAACg2C,EAAAA,QAAOxrC,OAAAgoB,OAAA,GAAKgjB,EAAaG,IACnC,QAEE,OADArZ,QAAQ7O,MAAM,0BAADptB,OAA2B0T,IACjC/T,EAAAA,cAAAA,EAAAA,SAAA,MAEb,gOCvCAu1B,EAAA,kBAAAvyB,CAAA,MAAA6B,EAAA7B,EAAA,GAAAX,EAAAmI,OAAAC,UAAAnH,EAAAjB,EAAAmJ,eAAA6L,EAAA7M,OAAAgrB,gBAAA,SAAA3wB,EAAA7B,EAAAX,GAAAwC,EAAA7B,GAAAX,EAAAjC,KAAA,EAAAyK,EAAA,mBAAA4qB,OAAAA,OAAA,GAAAlyB,EAAAsH,EAAA6qB,UAAA,aAAA9yB,EAAAiI,EAAA8qB,eAAA,kBAAAlxB,EAAAoG,EAAA+qB,aAAA,yBAAA1wB,EAAAL,EAAA7B,EAAAX,GAAA,OAAAmI,OAAAgrB,eAAA3wB,EAAA7B,EAAA,CAAA5C,MAAAiC,EAAAwzB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAlxB,EAAA7B,EAAA,KAAAkC,EAAA,aAAAL,GAAAK,EAAA,SAAAL,EAAA7B,EAAAX,GAAA,OAAAwC,EAAA7B,GAAAX,CAAA,WAAA2zB,EAAAnxB,EAAA7B,EAAAX,EAAAiB,GAAA,IAAAuH,EAAA7H,GAAAA,EAAAyH,qBAAAwrB,EAAAjzB,EAAAizB,EAAA1yB,EAAAiH,OAAA2R,OAAAtR,EAAAJ,WAAA7H,EAAA,IAAAszB,EAAA5yB,GAAA,WAAA+T,EAAA9T,EAAA,WAAAnD,MAAA+1B,EAAAtxB,EAAAxC,EAAAO,KAAAW,CAAA,UAAA6yB,EAAAvxB,EAAA7B,EAAAX,GAAA,WAAA0R,KAAA,SAAAsiB,IAAAxxB,EAAA6F,KAAA1H,EAAAX,GAAA,OAAAwC,GAAA,OAAAkP,KAAA,QAAAsiB,IAAAxxB,EAAA,EAAA7B,EAAAgzB,KAAAA,EAAA,IAAA3yB,EAAA,iBAAAD,EAAA,iBAAAT,EAAA,YAAAD,EAAA,YAAA+D,EAAA,YAAAwvB,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAAtzB,EAAA,GAAAiC,EAAAjC,EAAAM,GAAA,8BAAAR,EAAAyH,OAAAgsB,eAAA1zB,EAAAC,GAAAA,EAAAA,EAAAyP,EAAA,MAAA1P,GAAAA,IAAAT,GAAAiB,EAAAoH,KAAA5H,EAAAS,KAAAN,EAAAH,GAAA,IAAAW,EAAA8yB,EAAA9rB,UAAAwrB,EAAAxrB,UAAAD,OAAA2R,OAAAlZ,GAAA,SAAAwzB,EAAA5xB,GAAA,0BAAAqJ,SAAA,SAAAlL,GAAAkC,EAAAL,EAAA7B,GAAA,SAAA6B,GAAA,YAAA6xB,QAAA1zB,EAAA6B,EAAA,gBAAA8xB,EAAA9xB,EAAA7B,GAAA,SAAA4zB,EAAAv0B,EAAAgV,EAAAxM,EAAAtH,GAAA,IAAAX,EAAAwzB,EAAAvxB,EAAAxC,GAAAwC,EAAAwS,GAAA,aAAAzU,EAAAmR,KAAA,KAAAtP,EAAA7B,EAAAyzB,IAAAhzB,EAAAoB,EAAArE,MAAA,OAAAiD,GAAA,iBAAAA,GAAAC,EAAAoH,KAAArH,EAAA,WAAAL,EAAA6zB,QAAAxzB,EAAAyzB,SAAA/Z,MAAA,SAAAlY,GAAA+xB,EAAA,OAAA/xB,EAAAgG,EAAAtH,EAAA,aAAAsB,GAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAP,EAAA6zB,QAAAxzB,GAAA0Z,MAAA,SAAAlY,GAAAJ,EAAArE,MAAAyE,EAAAgG,EAAApG,EAAA,aAAAI,GAAA,OAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAA,EAAAX,EAAAyzB,IAAA,KAAAh0B,EAAAgV,EAAA,gBAAAjX,MAAA,SAAAyE,EAAAvB,GAAA,SAAAyzB,IAAA,WAAA/zB,GAAA,SAAAA,EAAAX,GAAAu0B,EAAA/xB,EAAAvB,EAAAN,EAAAX,EAAA,WAAAA,EAAAA,EAAAA,EAAA0a,KAAAga,EAAAA,GAAAA,GAAA,aAAAZ,EAAAnzB,EAAAX,EAAAiB,GAAA,IAAA+T,EAAAhU,EAAA,gBAAAwH,EAAAtH,GAAA,GAAA8T,IAAA1U,EAAA,MAAAE,MAAA,mCAAAwU,IAAA3U,EAAA,cAAAmI,EAAA,MAAAtH,EAAA,OAAAnD,MAAAyE,EAAA0c,MAAA,OAAAje,EAAAkS,OAAA3K,EAAAvH,EAAA+yB,IAAA9yB,IAAA,KAAAX,EAAAU,EAAA0zB,SAAA,GAAAp0B,EAAA,KAAA6B,EAAAwyB,EAAAr0B,EAAAU,GAAA,GAAAmB,EAAA,IAAAA,IAAAgC,EAAA,gBAAAhC,CAAA,cAAAnB,EAAAkS,OAAAlS,EAAA4zB,KAAA5zB,EAAA6zB,MAAA7zB,EAAA+yB,SAAA,aAAA/yB,EAAAkS,OAAA,IAAA6B,IAAAhU,EAAA,MAAAgU,EAAA3U,EAAAY,EAAA+yB,IAAA/yB,EAAA8zB,kBAAA9zB,EAAA+yB,IAAA,gBAAA/yB,EAAAkS,QAAAlS,EAAA+zB,OAAA,SAAA/zB,EAAA+yB,KAAAhf,EAAA1U,EAAA,IAAAM,EAAAmzB,EAAApzB,EAAAX,EAAAiB,GAAA,cAAAL,EAAA8Q,KAAA,IAAAsD,EAAA/T,EAAAie,KAAA7e,EAAAU,EAAAH,EAAAozB,MAAA5vB,EAAA,gBAAArG,MAAA6C,EAAAozB,IAAA9U,KAAAje,EAAAie,KAAA,WAAAte,EAAA8Q,OAAAsD,EAAA3U,EAAAY,EAAAkS,OAAA,QAAAlS,EAAA+yB,IAAApzB,EAAAozB,IAAA,YAAAY,EAAAj0B,EAAAX,GAAA,IAAAiB,EAAAjB,EAAAmT,OAAA6B,EAAArU,EAAA0yB,SAAApyB,GAAA,GAAA+T,IAAAxS,EAAA,OAAAxC,EAAA20B,SAAA,eAAA1zB,GAAAN,EAAA0yB,SAAA,SAAArzB,EAAAmT,OAAA,SAAAnT,EAAAg0B,IAAAxxB,EAAAoyB,EAAAj0B,EAAAX,GAAA,UAAAA,EAAAmT,SAAA,WAAAlS,IAAAjB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAh0B,EAAA,aAAAmD,EAAA,IAAAoE,EAAAurB,EAAA/e,EAAArU,EAAA0yB,SAAArzB,EAAAg0B,KAAA,aAAAxrB,EAAAkJ,KAAA,OAAA1R,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAAxrB,EAAAwrB,IAAAh0B,EAAA20B,SAAA,KAAAvwB,EAAA,IAAAlD,EAAAsH,EAAAwrB,IAAA,OAAA9yB,EAAAA,EAAAge,MAAAlf,EAAAW,EAAAu0B,YAAAh0B,EAAAnD,MAAAiC,EAAAm1B,KAAAx0B,EAAAy0B,QAAA,WAAAp1B,EAAAmT,SAAAnT,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,GAAAxC,EAAA20B,SAAA,KAAAvwB,GAAAlD,GAAAlB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAj1B,EAAA20B,SAAA,KAAAvwB,EAAA,UAAAixB,EAAA7yB,GAAA,IAAA7B,EAAA,CAAA20B,OAAA9yB,EAAA,SAAAA,IAAA7B,EAAA40B,SAAA/yB,EAAA,SAAAA,IAAA7B,EAAA60B,WAAAhzB,EAAA,GAAA7B,EAAA80B,SAAAjzB,EAAA,SAAAkzB,WAAArzB,KAAA1B,EAAA,UAAAg1B,EAAAnzB,GAAA,IAAA7B,EAAA6B,EAAAozB,YAAA,GAAAj1B,EAAA+Q,KAAA,gBAAA/Q,EAAAqzB,IAAAxxB,EAAAozB,WAAAj1B,CAAA,UAAAkzB,EAAArxB,GAAA,KAAAkzB,WAAA,EAAAJ,OAAA,SAAA9yB,EAAAqJ,QAAAwpB,EAAA,WAAA3b,OAAA,YAAAvJ,EAAAxP,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAX,EAAAW,EAAAO,GAAA,GAAAlB,EAAA,OAAAA,EAAAqI,KAAA1H,GAAA,sBAAAA,EAAAw0B,KAAA,OAAAx0B,EAAA,IAAA/B,MAAA+B,EAAAjB,QAAA,KAAAsV,GAAA,EAAAxM,EAAA,SAAA2sB,IAAA,OAAAngB,EAAArU,EAAAjB,QAAA,GAAAuB,EAAAoH,KAAA1H,EAAAqU,GAAA,OAAAmgB,EAAAp3B,MAAA4C,EAAAqU,GAAAmgB,EAAAjW,MAAA,EAAAiW,EAAA,OAAAA,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,SAAA3sB,EAAA2sB,KAAA3sB,CAAA,YAAAysB,iBAAAt0B,EAAA,2BAAAszB,EAAA7rB,UAAA8rB,EAAAlf,EAAA5T,EAAA,eAAArD,MAAAm2B,EAAAT,cAAA,IAAAze,EAAAkf,EAAA,eAAAn2B,MAAAk2B,EAAAR,cAAA,IAAAQ,EAAA4B,YAAAhzB,EAAAqxB,EAAA9xB,EAAA,qBAAAzB,EAAAm1B,oBAAA,SAAAtzB,GAAA,IAAA7B,EAAA,mBAAA6B,GAAAA,EAAAuzB,YAAA,QAAAp1B,IAAAA,IAAAszB,GAAA,uBAAAtzB,EAAAk1B,aAAAl1B,EAAAvB,MAAA,EAAAuB,EAAAq1B,KAAA,SAAAxzB,GAAA,OAAA2F,OAAA8tB,eAAA9tB,OAAA8tB,eAAAzzB,EAAA0xB,IAAA1xB,EAAA0zB,UAAAhC,EAAArxB,EAAAL,EAAAJ,EAAA,sBAAAI,EAAA4F,UAAAD,OAAA2R,OAAA1Y,GAAAoB,CAAA,EAAA7B,EAAAw1B,MAAA,SAAA3zB,GAAA,OAAAiyB,QAAAjyB,EAAA,EAAA4xB,EAAAE,EAAAlsB,WAAAvF,EAAAyxB,EAAAlsB,UAAA7H,GAAA,0BAAAI,EAAA2zB,cAAAA,EAAA3zB,EAAAy1B,MAAA,SAAA5zB,EAAAxC,EAAAiB,EAAA+T,EAAAxM,QAAA,IAAAA,IAAAA,EAAA6tB,SAAA,IAAAn1B,EAAA,IAAAozB,EAAAX,EAAAnxB,EAAAxC,EAAAiB,EAAA+T,GAAAxM,GAAA,OAAA7H,EAAAm1B,oBAAA91B,GAAAkB,EAAAA,EAAAi0B,OAAAza,MAAA,SAAAlY,GAAA,OAAAA,EAAA0c,KAAA1c,EAAAzE,MAAAmD,EAAAi0B,MAAA,KAAAf,EAAAhzB,GAAAyB,EAAAzB,EAAAgB,EAAA,aAAAS,EAAAzB,EAAAF,GAAA,0BAAA2B,EAAAzB,EAAA,qDAAAT,EAAA2N,KAAA,SAAA9L,GAAA,IAAA7B,EAAAwH,OAAA3F,GAAAxC,EAAA,WAAAiB,KAAAN,EAAAX,EAAAqC,KAAApB,GAAA,OAAAjB,EAAAG,UAAA,SAAAg1B,IAAA,KAAAn1B,EAAAN,QAAA,KAAA8C,EAAAxC,EAAAs2B,MAAA,GAAA9zB,KAAA7B,EAAA,OAAAw0B,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,QAAAA,EAAAjW,MAAA,EAAAiW,CAAA,GAAAx0B,EAAAwP,OAAAA,EAAA0jB,EAAAzrB,UAAA,CAAA2tB,YAAAlC,EAAAna,MAAA,SAAA/Y,GAAA,QAAA41B,KAAA,OAAApB,KAAA,OAAAN,KAAA,KAAAC,MAAAtyB,EAAA,KAAA0c,MAAA,OAAAyV,SAAA,UAAAxhB,OAAA,YAAA6gB,IAAAxxB,EAAA,KAAAkzB,WAAA7pB,QAAA8pB,IAAAh1B,EAAA,QAAAX,KAAA,WAAAA,EAAAw2B,OAAA,IAAAv1B,EAAAoH,KAAA,KAAArI,KAAApB,OAAAoB,EAAAkC,MAAA,WAAAlC,GAAAwC,EAAA,EAAAi0B,KAAA,gBAAAvX,MAAA,MAAA1c,EAAA,KAAAkzB,WAAA,GAAAE,WAAA,aAAApzB,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,YAAA0C,IAAA,EAAA3B,kBAAA,SAAAp0B,GAAA,QAAAue,KAAA,MAAAve,EAAA,IAAAX,EAAA,cAAA4M,EAAA3L,EAAA+T,GAAA,OAAA9T,EAAAwQ,KAAA,QAAAxQ,EAAA8yB,IAAArzB,EAAAX,EAAAm1B,KAAAl0B,EAAA+T,IAAAhV,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,KAAAwS,CAAA,SAAAA,EAAA,KAAA0gB,WAAAh2B,OAAA,EAAAsV,GAAA,IAAAA,EAAA,KAAAxM,EAAA,KAAAktB,WAAA1gB,GAAA9T,EAAAsH,EAAAotB,WAAA,YAAAptB,EAAA8sB,OAAA,OAAA1oB,EAAA,UAAApE,EAAA8sB,QAAA,KAAAiB,KAAA,KAAAh2B,EAAAU,EAAAoH,KAAAG,EAAA,YAAApG,EAAAnB,EAAAoH,KAAAG,EAAA,iBAAAjI,GAAA6B,EAAA,SAAAm0B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,WAAAgB,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,SAAAj1B,GAAA,QAAAg2B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,YAAAnzB,EAAA,MAAA5B,MAAA,kDAAA+1B,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,KAAAR,OAAA,SAAAxyB,EAAA7B,GAAA,QAAAX,EAAA,KAAA01B,WAAAh2B,OAAA,EAAAM,GAAA,IAAAA,EAAA,KAAAgV,EAAA,KAAA0gB,WAAA11B,GAAA,GAAAgV,EAAAsgB,QAAA,KAAAiB,MAAAt1B,EAAAoH,KAAA2M,EAAA,oBAAAuhB,KAAAvhB,EAAAwgB,WAAA,KAAAhtB,EAAAwM,EAAA,OAAAxM,IAAA,UAAAhG,GAAA,aAAAA,IAAAgG,EAAA8sB,QAAA30B,GAAAA,GAAA6H,EAAAgtB,aAAAhtB,EAAA,UAAAtH,EAAAsH,EAAAA,EAAAotB,WAAA,UAAA10B,EAAAwQ,KAAAlP,EAAAtB,EAAA8yB,IAAArzB,EAAA6H,GAAA,KAAA2K,OAAA,YAAAgiB,KAAA3sB,EAAAgtB,WAAApxB,GAAA,KAAAuyB,SAAAz1B,EAAA,EAAAy1B,SAAA,SAAAn0B,EAAA7B,GAAA,aAAA6B,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,gBAAAxxB,EAAAkP,MAAA,aAAAlP,EAAAkP,KAAA,KAAAyjB,KAAA3yB,EAAAwxB,IAAA,WAAAxxB,EAAAkP,MAAA,KAAAglB,KAAA,KAAA1C,IAAAxxB,EAAAwxB,IAAA,KAAA7gB,OAAA,cAAAgiB,KAAA,kBAAA3yB,EAAAkP,MAAA/Q,IAAA,KAAAw0B,KAAAx0B,GAAAyD,CAAA,EAAAwyB,OAAA,SAAAp0B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAw1B,aAAAhzB,EAAA,YAAAm0B,SAAA32B,EAAA41B,WAAA51B,EAAAy1B,UAAAE,EAAA31B,GAAAoE,CAAA,kBAAA5B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAs1B,SAAA9yB,EAAA,KAAAvB,EAAAjB,EAAA41B,WAAA,aAAA30B,EAAAyQ,KAAA,KAAAsD,EAAA/T,EAAA+yB,IAAA2B,EAAA31B,EAAA,QAAAgV,CAAA,QAAAxU,MAAA,0BAAAq2B,cAAA,SAAAl2B,EAAAX,EAAAiB,GAAA,YAAA0zB,SAAA,CAAAtB,SAAAljB,EAAAxP,GAAAu0B,WAAAl1B,EAAAo1B,QAAAn0B,GAAA,cAAAkS,SAAA,KAAA6gB,IAAAxxB,GAAA4B,CAAA,GAAAzD,CAAA,UAAAm2B,EAAA71B,EAAAuB,EAAA7B,EAAAX,EAAAgV,EAAA9T,EAAAX,GAAA,QAAAiI,EAAAvH,EAAAC,GAAAX,GAAA6B,EAAAoG,EAAAzK,KAAA,OAAAkD,GAAA,YAAAN,EAAAM,EAAA,CAAAuH,EAAA0W,KAAA1c,EAAAJ,GAAAi0B,QAAA7B,QAAApyB,GAAAsY,KAAA1a,EAAAgV,EAAA,UAAA7W,EAAA6B,EAAAkB,EAAAP,GAAA,GAAAO,IAAA7C,MAAA6G,QAAAhE,IAAA,iBAAAA,EAAAxB,OAAA,KAAA0E,EAAAlD,EAAAxB,OAAA,OAAAk0C,EAAA1yC,OAAA,IAAAP,GAAAA,EAAAyD,EAAAzD,EAAAyD,EAAA,QAAApE,EAAAkB,EAAAP,EAAA,UAAAvC,EAAA4B,GAAA,gBAAAA,GAAA,GAAA3B,MAAA6G,QAAAlF,GAAA,OAAA4zC,EAAA5zC,EAAA,CAAA6zC,CAAA7zC,IAAA,SAAAA,GAAA,uBAAAozB,QAAA,MAAApzB,EAAAozB,OAAAC,WAAA,MAAArzB,EAAA,qBAAA3B,MAAAC,KAAA0B,EAAA,CAAA8zC,CAAA9zC,IAAA+zC,EAAA/zC,IAAA,qBAAAi1B,UAAA,wIAAA+e,EAAA,UAAAjd,EAAAp2B,EAAAX,GAAA,IAAAwC,EAAA2F,OAAAmG,KAAA3N,GAAA,GAAAwH,OAAA6uB,sBAAA,KAAAhiB,EAAA7M,OAAA6uB,sBAAAr2B,GAAAX,IAAAgV,EAAAA,EAAAxW,QAAA,SAAAwB,GAAA,OAAAmI,OAAA8uB,yBAAAt2B,EAAAX,GAAAwzB,UAAA,KAAAhxB,EAAAH,KAAAC,MAAAE,EAAAwS,EAAA,QAAAxS,CAAA,UAAAiqB,EAAA9rB,GAAA,QAAAX,EAAA,EAAAA,EAAA+jB,UAAArkB,OAAAM,IAAA,KAAAwC,EAAA,MAAAuhB,UAAA/jB,GAAA+jB,UAAA/jB,GAAA,GAAAA,EAAA,EAAA+2B,EAAA5uB,OAAA3F,IAAA,GAAAqJ,SAAA,SAAA7L,GAAAk3B,EAAAv2B,EAAAX,EAAAwC,EAAAxC,GAAA,IAAAmI,OAAAgvB,0BAAAhvB,OAAAivB,iBAAAz2B,EAAAwH,OAAAgvB,0BAAA30B,IAAAu0B,EAAA5uB,OAAA3F,IAAAqJ,SAAA,SAAA7L,GAAAmI,OAAAgrB,eAAAxyB,EAAAX,EAAAmI,OAAA8uB,yBAAAz0B,EAAAxC,GAAA,WAAAW,CAAA,UAAAu2B,EAAAv2B,EAAAX,EAAAwC,GAAA,OAAAxC,EAAA,SAAAwC,GAAA,IAAAgG,EAAA,SAAAhG,EAAAxC,GAAA,oBAAAwC,IAAAA,EAAA,OAAAA,EAAA,IAAA7B,EAAA6B,EAAA4wB,OAAAmE,aAAA,YAAA52B,EAAA,KAAA6H,EAAA7H,EAAA0H,KAAA7F,EAAAxC,GAAA,+BAAAwI,EAAA,OAAAA,EAAA,UAAAysB,UAAA,kEAAAj1B,EAAAsF,OAAAnD,QAAAK,EAAA,CAAAg1B,CAAAh1B,EAAA,iCAAAgG,EAAAA,EAAAA,EAAA,GAAA6uB,CAAAr3B,MAAAW,EAAAwH,OAAAgrB,eAAAxyB,EAAAX,EAAA,CAAAjC,MAAAyE,EAAAgxB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAA/yB,EAAAX,GAAAwC,EAAA7B,CAAA,UAAA3E,EAAAgE,EAAAW,GAAA,gBAAAX,GAAA,GAAA3B,MAAA6G,QAAAlF,GAAA,OAAAA,CAAA,CAAAi0C,CAAAj0C,IAAA,SAAAA,EAAAe,GAAA,IAAAyB,EAAA,MAAAxC,EAAA,yBAAAozB,QAAApzB,EAAAozB,OAAAC,WAAArzB,EAAA,uBAAAwC,EAAA,KAAA7B,EAAAM,EAAAuH,EAAApG,EAAAlB,EAAA,GAAAZ,GAAA,EAAA0U,GAAA,SAAAxM,GAAAhG,EAAAA,EAAA6F,KAAArI,IAAAm1B,KAAA,IAAAp0B,EAAA,IAAAoH,OAAA3F,KAAAA,EAAA,OAAAlC,GAAA,cAAAA,GAAAK,EAAA6H,EAAAH,KAAA7F,IAAA0c,QAAAhe,EAAAmB,KAAA1B,EAAA5C,OAAAmD,EAAAxB,SAAAqB,GAAAT,GAAA,UAAAN,GAAAgV,GAAA,EAAA/T,EAAAjB,CAAA,iBAAAM,GAAA,MAAAkC,EAAA,SAAAJ,EAAAI,EAAA,SAAA2F,OAAA/F,KAAAA,GAAA,kBAAA4S,EAAA,MAAA/T,CAAA,SAAAC,CAAA,EAAAgzC,CAAAl0C,EAAAW,IAAAozC,EAAA/zC,EAAAW,IAAA,qBAAAs0B,UAAA,6IAAAkf,EAAA,UAAAJ,EAAA/zC,EAAAkB,GAAA,GAAAlB,EAAA,qBAAAA,EAAA,OAAA4zC,EAAA5zC,EAAAkB,GAAA,IAAAsB,EAAA,GAAAZ,SAAAyG,KAAArI,GAAAkC,MAAA,uBAAAM,GAAAxC,EAAA+1B,cAAAvzB,EAAAxC,EAAA+1B,YAAA32B,MAAA,QAAAoD,GAAA,QAAAA,EAAAnE,MAAAC,KAAA0B,GAAA,cAAAwC,GAAA,2CAAAwB,KAAAxB,GAAAoxC,EAAA5zC,EAAAkB,QAAA,YAAA0yC,EAAA5zC,EAAAkB,IAAA,MAAAA,GAAAA,EAAAlB,EAAAN,UAAAwB,EAAAlB,EAAAN,QAAA,QAAAiB,EAAA,EAAAM,EAAA5C,MAAA6C,GAAAP,EAAAO,EAAAP,IAAAM,EAAAN,GAAAX,EAAAW,GAAA,OAAAM,CAAA,CA8VA,WAAeikB,EAAAA,EAAAA,cAAYlL,EAAAA,EAAAA,oBA3UF,SAACle,GAAW,IAADsgC,EAJzBtkB,EAK6B8T,EAAA5vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/BmB,EAAKwuB,EAAA,GAAEI,EAAQJ,EAAA,GAC4CG,EAAA/vB,GAAdC,EAAAA,EAAAA,WAAS,GAAK,GAA3Ds1C,EAAkBxlB,EAAA,GAAEqoB,EAAqBroB,EAAA,GACUE,EAAAjwB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAnDo4C,EAAepoB,EAAA,GAAEqoB,EAAkBroB,EAAA,GACKuE,EAAAx0B,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAxC+C,EAAMuxB,EAAA,GAAEiiB,EAASjiB,EAAA,GACmCE,EAAA10B,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAApD0jB,EAAY8Q,EAAA,GAAEsC,EAAetC,EAAA,GACayM,EAAAnhC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA1C8gB,EAAOmgB,EAAA,GAAEoX,EAAUpX,EAAA,GACqCG,EAAAthC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAxD6hB,EAAcuf,EAAA,GAAExK,EAAiBwK,EAAA,GACMG,EAAAzhC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAvCyvB,EAAS+R,EAAA,GAAE9R,EAAY8R,EAAA,GAC6BG,EAAA5hC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAApDuzB,EAAcoO,EAAA,GAAE4W,EAAiB5W,EAAA,GAC6BG,EAAA/hC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA9D2rB,EAAiBkW,EAAA,GAAE0W,EAAoB1W,EAAA,GAExC2W,GAhBG58B,EAAuB9b,GAAXC,EAAAA,EAAAA,UAAS,GAAE,GAAf,GACV,kBAAM6b,GAAS,SAAA/Z,GAAK,OAAIA,EAAQ,CAAC,GAAC,IAiBzClB,EAAAA,EAAAA,YAAU,WACOsvB,IACRzR,MAAK,SAAA0R,GAASJ,EAASI,EAAI5vB,KAAM,GAC1C,GAAG,KAEHK,EAAAA,EAAAA,YAAU,WAER,OADAC,OAAO63C,eAAiB,kBAAsD,CAAI,EAC3E,WACL73C,OAAO63C,eAAiB,IAC1B,CACF,GAAG,IAEH,IAAMxoB,EAAW,WACf,OAAOI,EAAAA,QAAM/S,IAAI,gBAAiB,CAAEgT,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC1D,EAkBA,IAhBA7vB,EAAAA,EAAAA,YAAU,WAEJuhC,CAYN,GAAG,CAAChhC,KAECtB,EAAM6pB,WAAqD,IAAxCxd,OAAOmG,KAAKxS,EAAM6pB,WAAWjmB,OAAc,OAAO/B,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,IAE9F,IAuCMwrC,EAAS,eA1GjBhqC,EA0GiBrB,GA1GjBqB,EA0GiBiyB,IAAA8C,MAAG,SAAAwE,EAAOoa,GAAS,IAAA1wB,EAAA,OAAAgP,IAAAS,MAAA,SAAAqH,GAAA,cAAAA,EAAAzE,KAAAyE,EAAA7F,MAAA,OAC1BjR,EAAO,CAAE2wB,OAAQD,IACvBroB,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,QACR2mB,IAAK,gBACLt9B,KAAM,CAAE0nB,KAAAA,GACRsI,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BACnBhS,MAAK,SAACo6B,GACP7qB,EAAAA,WAAW+X,YAAYtnB,MAAK,SAACq6B,GAC3BL,GACF,GACF,IAAE,OAAO,SAAA35B,GACPkf,QAAQ7O,MAAM,0BACd6O,QAAQC,IAAInf,EACd,IAAE,wBAAAigB,EAAAvE,OAAA,GAAA+D,EAAA,IAxHN,eAAAh4B,EAAA,KAAA7B,EAAAojB,UAAA,WAAAsS,SAAA,SAAAr2B,EAAAgV,GAAA,IAAA9T,EAAAD,EAAAqB,MAAAE,EAAA7B,GAAA,SAAA+6B,EAAAz6B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,OAAA16B,EAAA,UAAA06B,EAAA16B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,QAAA16B,EAAA,CAAAy6B,OAAA,QAyHG,gBAfcE,GAAA,OAAAh8B,EAAA0C,MAAA,KAAAyhB,UAAA,KAiBTixB,GAAgC,SAACC,EAAS9kC,EAAQkO,GAClD42B,EAAQpiB,WAzDkB,SAACoiB,EAAS9kC,EAAQkO,GAChD,IAAMnD,EAAW,CACf4T,UAAW3e,EAAO+kC,SAClBjvB,aAAc9V,EAAOglC,YACrBjmB,SAAU/e,IAEZoc,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,OACR2mB,IAAK,oBACLt9B,KAAM,CAAE0e,SAAAA,GACRsR,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BACnBhS,MAAK,SAACo6B,GACPnpB,EAAa,GAAD3tB,OAAAG,EAAAC,EAAKstB,GAAS,CAAEvb,KAC5BrU,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,gCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,WAEA5e,IAAzB+4C,EAAQr1B,eACVq1B,EAAQr1B,aAAeA,GAEzBq1B,EAAQpiB,WAAY,EACpB/1B,OAAO0hB,SAAS,EAAG,GACnBi0B,OAAUv2C,GACN+4C,EAAQ54B,OAASk2B,EAAAA,OACnB6B,GAAsB,EAE1B,IAAE,OAAO,SAAAr5B,GACPkf,QAAQ7O,MAAM,4BACdtvB,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,4DACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOa,OAE7Bue,QAAQC,IAAInf,GACRsD,GAAIA,GACV,GACF,CAqBE+2B,CAAwBH,EAAS9kC,EAAQkO,EAC3C,EAyBMg0B,GAAwB,SAAA4C,GAC5B,YAA6B/4C,IAAzB+4C,EAAQr1B,aACHA,EAEFq1B,EAAQr1B,YACjB,EAEM8xB,GAA0B,SAAAuD,GAC9B,YAA+B/4C,IAA3B+4C,EAAQl3B,eACHA,EAEFk3B,EAAQl3B,cACjB,EA2FMs3B,GAAc,SAACC,GACnBx4C,OAAO0hB,SAAS,EAAG,GAnDS,SAAC82B,GAC7B,IAAM5vB,EAAkB,CACtB6vB,iBAAkB,CAChBv4B,QAAAA,EACAiL,gBAAiBlK,EACjBmK,cAAetI,EACf8I,oBAAqB8G,EACrBzwB,QAASs1C,EAAgB71C,QAAO,SAAAg3C,GAAc,OAAKA,EAAe3iB,SAAS,IAAEl0B,KAAI,SAAA62C,GAAc,OAAIA,EAAe13C,EAAE,IACpH0qB,aAAc8sB,IAGlB/oB,EAAAA,QAAM8R,KAAK,4BAA6B3Y,EAAiB,CAAE8G,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BAA4BhS,MAAK,SAAAiE,GAC9G7iB,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,4CACP/B,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOC,MAE7Bhf,EAAMue,QAAQhY,KAAK,sBAADrE,OAAuB2gB,EAAIniB,KAAKsiB,OAAO,GAAG22B,SAAS33C,GAAE,SACzE,IAAE,OAAO,SAAAid,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAA0c,GAAA,IAAA+R,EAAApxB,EAAAqf,EAAA,GAAEva,EAACssB,EAAA,GAAE3sB,EAAC2sB,EAAA,YAAApvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,CA2BEg6B,CAAsBJ,EACxB,EAgEA,OACE33C,EAAAA,cAAA,OAAKC,UAAU,YACbD,EAAAA,cAACg4C,EAAAA,QAAM,CACL/1B,aAAcA,EACd5C,QAASA,EACTe,eAAgBA,EAChB9e,OAAQA,EACRwzC,UAAW,SAAAmD,GAAS,OAAInD,EAAUmD,EAAU,EAC5CrE,mBAAoBA,EACpBa,uBAAwB,WAAQK,OAAUv2C,GAAYk4C,GAAsB,EAAM,EAClF/B,sBAAuB,SAAA4C,GAAO,OAAI5C,GAAsB4C,EAAQ,EAChEvD,wBAAyB,SAAAuD,GAAO,OAAIvD,GAAwBuD,EAAQ,EACpE73C,MAAOA,EACPoyB,eAAgBA,EAChByb,UAAWA,EACXkH,gBAA+B,QAAf/V,EAAAtgC,EAAM6pB,iBAAS,IAAAyW,OAAA,EAAfA,EAAiB8B,gBAAiBphC,OAAOmlC,aAAa4T,QAAQ1T,EAAAA,YAEhFxkC,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,iBACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,cAhFrBD,EAAAA,cAAA,OAAKC,UAAU,iBACbD,EAAAA,cAAA,OAAKC,UAAU,WACZ2zC,GACC5zC,EAAAA,cAACse,EAAAA,QAAO,CAAC65B,OAAQ,WAAF,OAAQ1B,GAAsB,EAAM,EAAE2B,oBAAqBrB,GACxE/2C,EAAAA,cAACq4C,EAAAA,QAAgB,CACf54C,MAAOA,EACPi3C,gBAAiBA,EACjBz0B,aAAcA,EACd7B,eAAgBA,EAChBf,QAASA,EACTi5B,wBAAyB,SAAAhB,GAAO,OA/IV,SAACA,GAC/BZ,EAAgBra,SAASib,GAC3BX,EAAmBD,EAAgB71C,QAAO,SAAA03C,GAAO,OAAIA,IAAYjB,CAAO,KAExEX,EAAmB,GAADt2C,OAAAG,EAAAC,EAAKi2C,GAAe,CAAEY,IAE5C,CAyIkDkB,CAA4BlB,EAAQ,EACxEmB,cAAe,SAAAr3C,GAAO,OAjId,SAACA,GACrB,IAAMs3C,EAAet3C,EAAQP,QAAO,SAAA03C,GAAO,OAAK7B,EAAgBra,SAASkc,EAAQ,IAC7EG,EAAa32C,QACf40C,EAAmB,GAADt2C,OAAAG,EAAAC,EAAKi2C,GAAel2C,EAAAC,EAAKi4C,IAE/C,CA4HwCD,CAAcr3C,EAAQ,EAChDu3C,gBAAiB,SAAAv3C,GAAO,OAzId,SAACA,GACvB,IAAMw3C,EAAqBlC,EAAgB71C,QAAO,SAAA03C,GAAO,OAAKn3C,EAAQi7B,SAASkc,EAAQ,IACnFK,EAAmB72C,SAAW20C,EAAgB30C,QAChD40C,EAAmBiC,EAEvB,CAoI0CD,CAAgBv3C,EAAQ,EACpDi0B,gBAAiB,SAAAtT,GAAa,OAAIsT,EAAgBtT,EAAc,EAChE60B,WAAY,SAAAiC,GACV1jB,OAAkB52B,GAClBq4C,EAAWiC,EACb,EACAz5B,iBAAiBA,EAAAA,EAAAA,iBAAgBC,GACjC8V,kBAAmB,SAAAC,GAAe,OAAID,EAAkBC,EAAgB,EACxEvD,eAAgBA,EAChBglB,kBAAmB,SAAAz2C,GAAK,OAAIy2C,EAAkBz2C,EAAM,EACpD2tB,UAAWA,EACX+qB,6BAnF4D,IAAjE/qB,EAAUltB,QAAO,SAAA0c,GAAQ,OAAIA,EAASmB,OAASk2B,EAAAA,KAAK,IAAE7yC,OAoFjDg3C,uBAAwB,WAAF,OA1FlC55C,OAAO0hB,SAAS,EAAG,GACnBi0B,EAAU,CAAE30C,GAAI,EAAG+vB,cAAe,KAAMzuB,KAAM,QAASid,KAAMk2B,EAAAA,MAAO3yB,aAAc,WAAY+2B,QAAS,SACvGvC,GAAsB,EAwF4C,EACtDwC,OAAQ,WAvDa,IAC3BlxB,EAuDQ5oB,OAAO0hB,SAAS,EAAG,GACnB1hB,OAAOmlC,aAAa4U,WAAW1U,EAAAA,UAC/BiS,GAAsB,GAzD9B1uB,EAAkB,CACtB6vB,iBAAkB,CAChBv4B,QAAAA,EACAiL,gBAAiBlK,EACjBmK,cAAetI,EACf8I,oBAAqB8G,EACrBzwB,QAASs1C,EAAgB11C,KAAI,SAAA62C,GAAc,OAAIA,EAAe13C,EAAE,IAChE0qB,aAAc,EAAC,IAAIinB,MAAOte,eAC1BpI,iBAAkB,wBAGtBwD,EAAAA,QAAM8R,KAAK,4BAA6B3Y,EAAiB,CAAE8G,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BAA4BhS,MAAK,SAAAiE,GAC9G81B,EAAqB91B,EAAIniB,KAAKsiB,OAAO,GAAG22B,SAAS33C,GACnD,IAAE,OAAO,SAAAid,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAA0uB,GAAA,IAAAhB,EAAArwB,EAAAqxB,EAAA,GAAEvsB,EAACurB,EAAA,GAAE5rB,EAAC4rB,EAAA,YAAAruB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GAwCY,EACAo7B,cAAezB,OAInB9D,GACA5zC,EAAAA,cAACo5C,EAAAA,QAAe,CACd1C,gBAAiBA,EACjBz0B,aAAcA,EACd7B,eAAgBA,EAChB8J,kBAAmBA,EACnB7K,QAASA,EACTg6B,0BAA2B,SAAC/B,EAAS9kC,EAAQkO,GAAE,OAAK22B,GAA8BC,EAAS9kC,EAAQkO,EAAG,EACtGo0B,UAAW,SAAAwC,GAAan4C,OAAO0hB,SAAS,EAAG,GAAIi0B,EAAUwC,EAAS,EAClEh2C,OAAQA,EACRg4C,0BAA2B,SAAAhC,GAAO,OAzHT,SAAAA,GACnC,IAAMn2C,EAAO1B,EAAMilB,MAAK,SAAA60B,GAAK,OAAIA,EAAMp5C,KAAOm3C,EAAQ0B,OAAO,IAC7D,OAAK73C,EAIEA,EAAKq4C,4BAHH,EAIX,CAkHkDC,CAA6BnC,EAAQ,EAC3EoC,SAAU,WAAF,OAAQjD,GAAsB,EAAK,EAC3C/B,sBAAuB,SAAA4C,GAAO,OAAI5C,GAAsB4C,EAAQ,EAChEqC,sBAAuB,SAACrC,EAASv1B,GAAa,OAhJ5B,SAACu1B,EAASv1B,GAClCu1B,EAAQpiB,YAGVoiB,EAAQr1B,aADCF,IAAkBE,OACJ1jB,EAEAwjB,EAE3B,CAwI+D43B,CAAsBrC,EAASv1B,EAAc,EAChGgyB,wBAAyB,SAAAuD,GAAO,OAAIvD,GAAwBuD,EAAQ,EACpEsC,wBAAyB,SAACtC,EAASliB,GAAe,OAxI9B,SAACkiB,EAASliB,GACpCkiB,EAAQpiB,YAGVoiB,EAAQl3B,eADCgV,IAAoBhV,OACJ7hB,EAEA62B,EAE7B,CAgImEwkB,CAAwBtC,EAASliB,EAAgB,EACxGvD,eAAgBA,EAChBpyB,MAAOA,OAmCrB,6FChTA,UAzCc,SAACtB,GA2Bb,OACE6B,EAAAA,cAAA,OAAKC,UAAU,UAAU2gB,IAAKziB,EAAM0kC,OAClC7iC,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,MAAO5qB,EAAM2kC,eAA4BvkC,IAAhBJ,EAAMiC,OAAuBjC,EAAM4kC,YAAc,eAAgB1kB,QAAS,WAAYlgB,EAAM4kC,YAAc5kC,EAAM6kC,eAAc,EAAS,GACzLhjC,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,OAAKC,UAAU,mBAAkB8gB,EAAAA,EAAAA,mBAAkB5iB,EAAMqD,SAE3DxB,EAAAA,cAAA,OAAKC,UAAU,cA9BjBD,EAAAA,cAAAA,EAAAA,SAAA,KACG7B,EAAMyC,QAAQI,KAAI,SAAAiiC,GAIjB,MAHsB,kBAAXA,IACTA,EAAS,CAAE7iC,MAAO6iC,EAAQzhC,MAAOyhC,IAGjCjjC,EAAAA,cAAA,KAAG0B,IAAKuhC,EAAO7iC,OACbJ,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAMtD,EAAMgC,GACZ4T,KAAK,QACL3T,MAAO6iC,EAAO7iC,MACd0rB,aAAyBvtB,IAAhBJ,EAAMiC,OAAuBjC,EAAMiC,QAAK,GAAAC,OAAQ4iC,EAAO7iC,OAChEE,SAAU,SAAA0C,GAAC,OAAI7E,EAAMgc,SAASnX,EAAEoC,OAAOhF,MAAM,IAE/CJ,EAAAA,cAAA,aAAO+gB,EAAAA,EAAAA,mBAAkBkiB,EAAOzhC,SAIxC,OAiBR,uEC3BA,UAb2B,SAAArD,GACzB,OACE6B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACmyB,EAAAA,GAAK,CAACC,OAAK,EAACC,KAAK,UAChBryB,EAAAA,cAAC4kC,EAAAA,GAAQ,CAAC3/B,GAAG,OAEfjF,EAAAA,cAACmyB,EAAAA,GAAK,CAACC,OAAK,EAACC,KAAK,WAChBryB,EAAAA,cAAC4kC,EAAAA,GAAQ,CAAC3/B,GAAG,OAIrB,4DCbA,WAAe40C,EAAAA,EAAAA,+tDCAQ,IAEFC,EAAK,SAAA1tB,GAAA,SAAA0tB,IAAA,mGAAA5zB,CAAA,KAAA4zB,GAAA3zB,EAAA,KAAA2zB,EAAA1zB,UAAA,6RAAAC,CAAAyzB,EAAA1tB,KAAA0tB,IAAA,EAAAp4C,IAAA,qBAAAtB,MACxB,SAAoBgsC,EAAWC,EAAW0N,GACxC56C,OAAOC,EAAEirB,kBACX,GAAC,CAAA3oB,IAAA,SAAAtB,MAED,WAAW,IAADisB,EAAA,KACF7O,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAA+DppC,KAAK3G,MAA5D0lC,EAASqK,EAATrK,UAAW9vB,EAAIm6B,EAAJn6B,KAAM6nB,EAASsS,EAATtS,UAAWjB,EAAQuT,EAARvT,SAAUwT,EAAYD,EAAZC,aACxCG,iWAAUxf,CAAA,GAAQhqB,KAAK3G,OAQ7B,cAPOmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,KAEhB/T,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,QAAAwK,OAAAgoB,OAAA,CACE/wB,KAAMm6B,EACNz7B,GAAIy7B,EACJ7nB,KAAMA,EACN3T,MAAO+tC,GAAgB,IACnBG,IAENtuC,EAAAA,cAAA,SAAO6rB,QAAS+P,GACb17B,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,KAE7Cpe,EAAOxc,KAAI,SAAAoc,GAAG,OACbpd,EAAAA,cAAA,QAAMC,UAAU,cAAc,aAAW,QAAQ,eAAa,QAAQyB,IAAK0b,EAAKvM,MAAO,CAAE6S,MAAO,QAC7F2I,EAAKluB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACvC,MAMnB,gGAAC,CAvCuB,CAASpd,EAAAA,ulFCS0B,IACvDg6C,EAAY,SAAA5tB,GAAA,SAAA4tB,IAAA,OAAA9zB,EAAA,KAAA8zB,GAAA7zB,EAAA,KAAA6zB,EAAA5zB,UAAA,QAAAC,EAAA2zB,EAAA5tB,GAAA6tB,EAAAD,EAAA,EAAAt4C,IAAA,oBAAAtB,MAChB,WACE0E,KAAK3G,MAAMyvB,YACb,GAAC,CAAAlsB,IAAA,qBAAAtB,MAED,SAAoBgsC,GAClBtnC,KAAK3G,MAAMyvB,YACb,GAAC,CAAAlsB,IAAA,SAAAtB,MAED,WACE,OAAQJ,EAAAA,cAAAA,EAAAA,SAAA,KACV,IAAC,CAXe,CAASA,EAAAA,WAcrBk6C,EAAS,SAAAC,GACb,SAAAD,IAAgB,IAAD7tB,EAgFZ,OAhFYnG,EAAA,KAAAg0B,IACb7tB,EAAAlG,EAAA,KAAA+zB,IACK3iC,MAAQ,CACX6iC,aAAc,OACdC,aAAc,CAAC,GAEjBhuB,EAAKiuB,aAAe,CAClBjS,OAAQ,CACN/oC,KAAM,SAACnB,GAAK,OAAM6B,EAAAA,cAACg6C,EAAiB77C,EAAS,EAC7Co8C,qBAAsB,SAACp8C,GAAK,OAAM6B,EAAAA,cAACg6C,EAAiB77C,EAAS,EAC7Dq8C,OAAQ,SAACr8C,GAAK,OAAM6B,EAAAA,cAACy6C,EAAAA,QAAWt8C,EAAS,EACzCu8C,cAAe,SAACv8C,GAAK,OAAM6B,EAAAA,cAAC26C,EAAAA,QAAkBx8C,EAAS,EACvDy8C,QAAS,SAACz8C,GAAK,OAAM6B,EAAAA,cAACwtB,EAAAA,QAAYrvB,EAAS,EAC3C08C,eAAgB,SAAC18C,GAAK,OAAM6B,EAAAA,cAAC86C,EAAAA,QAAmB38C,EAAS,EACzD48C,KAAM,SAAC58C,GAAK,OAAM6B,EAAAA,cAAAA,EAAAA,SAAA,KAAK,GAEzBqR,QAAS,CACP/R,KAAM+sB,EAAK2uB,WAAW5/B,KAAIiR,GAC1BkuB,qBAAsBluB,EAAK4uB,2BAA2B7/B,KAAIiR,GAC1DmuB,OAAQnuB,EAAK6uB,aAAa9/B,KAAIiR,GAC9BuuB,QAASvuB,EAAK8uB,cAAc//B,KAAIiR,GAChCquB,cAAeruB,EAAK+uB,oBAAoBhgC,KAAIiR,GAC5CwuB,eAAgBxuB,EAAKgvB,qBAAqBjgC,KAAIiR,GAC9C0uB,KAAM,WAAO,GAEfO,YAAa,CACXh8C,KAAM,CACJ,CACE2F,GAAI,uBACJs2C,UAAW,SAACp9C,GAAK,OAAKA,GAASqM,OAAOmG,KAAKxS,GAAO4D,OAAS,IAAM5D,EAAMq9C,WAAW,GACjF,CACDv2C,GAAI,UACJs2C,UAAW,SAACp9C,GAAK,OAAKA,GAASqM,OAAOmG,KAAKxS,GAAO4D,OAAS,GAAK5D,EAAMq9C,WAAW,GAChF,CACDv2C,GAAI,OACJs2C,UAAW,SAACp9C,GAAK,OAAmC,IAA9BqM,OAAOmG,KAAKxS,GAAO4D,MAAY,IAGzDw4C,qBAAsB,CACpB,CACEt1C,GAAI,SACJs2C,UAAW,SAACp9C,GAAK,OAAKA,GAASqM,OAAOmG,KAAKxS,GAAO4D,OAAS,GAAK5D,EAAMs9C,gBAAgB,GAExF,CACEx2C,GAAI,OACJs2C,UAAW,SAACp9C,GAAK,OAAmC,IAA9BqM,OAAOmG,KAAKxS,GAAO4D,MAAY,IAGzDy4C,OAAQ,CACN,CACEv1C,GAAI,SACJs2C,UAAW,SAACp9C,GAAK,OAAKA,GAASqM,OAAOmG,KAAKxS,GAAO4D,OAAS,GAAqC,IAAhC5D,EAAMu9C,eAAe35C,MAAY,GAChG,CACDkD,GAAI,gBACJs2C,UAAW,SAACp9C,GAAK,OAAKA,GAASqM,OAAOmG,KAAKxS,GAAO4D,OAAS,GAAK5D,EAAMu9C,eAAe35C,OAAS,CAAC,IAGnG24C,cAAe,CACb,CACEz1C,GAAI,OACJs2C,UAAW,SAACp9C,GAAK,OAAK,CAAI,IAG9By8C,QAAS,CACP,CACE31C,GAAI,iBACJs2C,UAAW,SAACp9C,GAAK,OAAKA,GAASqM,OAAOmG,KAAKxS,GAAO4D,OAAS,GAAK5D,EAAMytB,QAAQ,GAEhF,CACE3mB,GAAI,UACJs2C,UAAW,SAACp9C,GAAK,OAAKA,GAASqM,OAAOmG,KAAKxS,GAAO4D,OAAS,IAAM5D,EAAMytB,QAAQ,IAGnFivB,eAAgB,CACd,CACE51C,GAAI,OACJs2C,UAAW,SAACp9C,GAAK,OAAK,CAAI,MAIjCkuB,CACH,CAAC,OAAAhG,EAAA6zB,EAAAC,GAAAF,EAAAC,EAAA,EAAAx4C,IAAA,oBAAAtB,MAED,SAAmBjC,EAAOm9C,GAAmC,IAADnuB,EAAA,KAArB5X,EAAQ6Q,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,WAAO,EACjDu1B,EAAmBL,EAAYz6C,QAAO,SAAC+sB,GAAU,OAAKA,EAAW2tB,UAAUp9C,EAAM,IACvFw9C,EAAiB55C,QAAU+C,KAAKg3B,SAAS,CAAEse,aAAcuB,EAAiB,GAAG12C,GAAIo1C,aAAcl8C,IAAS,WAAQgvB,EAAKhvB,MAAMy9C,iBAAkBrmC,GAAW,GAC1J,GAAC,CAAA7T,IAAA,gBAAAtB,MAED,SAAejC,EAAOm9C,GAAc,IAAD9c,EAAA,MACjC5P,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,OACR3W,KAAM,CAAEgvB,gBAAiB1vB,EAAM0vB,iBAC/BgB,QAAOC,EAAA,CACL,eAAgB,oBACbhqB,KAAK3G,MAAM4wB,wBAEhBoN,IAAK,qCACJpf,MAAK,SAACQ,GACPpf,EAAMytB,UAAW,EACjB4S,EAAKqd,kBAAkB19C,EAAOm9C,EAChC,IAAE,OAAO,WACPn9C,EAAMytB,UAAW,EACjBztB,EAAMsvB,MAAQvtB,IAAAA,EAAO,8BACrBs+B,EAAKqd,kBAAkB19C,EAAOm9C,EAChC,GACF,GAAC,CAAA55C,IAAA,sBAAAtB,MAED,SAAqBjC,EAAOm9C,GAAc,IAADQ,EAAA,KACvCh3C,KAAK+2C,kBAAkB,CAAC,EAAGP,GAAa,kBAAMQ,EAAK39C,MAAM6uC,MAAQ8O,EAAK39C,MAAM6uC,MAAM,GACpF,GAAC,CAAAtrC,IAAA,uBAAAtB,MAED,SAAsBjC,EAAOm9C,GAAc,IAADS,EAAA,KACxCj3C,KAAK+2C,kBAAkB,CAAC,EAAGP,GAAa,kBAAMS,EAAK59C,MAAM6uC,MAAQ+O,EAAK59C,MAAM6uC,MAAM,GACpF,GAAC,CAAAtrC,IAAA,eAAAtB,MAED,SAAcjC,EAAOm9C,GAAc,IAADU,EAAA,MAChCptB,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,OACR3W,KAAM,CAAEgvB,gBAAiB1vB,EAAM0vB,iBAC/BgB,QAAOC,EAAA,CACL,eAAgB,oBACbhqB,KAAK3G,MAAM4wB,wBAEhBoN,IAAK,sCACJpf,MAAK,SAACQ,GACPpf,EAAMu9C,eAAiBn+B,EAAS1e,KAAKo9C,iBACrC99C,EAAMsvB,MAAQ,KACduuB,EAAKH,kBAAkB19C,EAAOm9C,EAChC,IAAE,OAAO,WACPn9C,EAAMu9C,eAAiB,GACvBv9C,EAAMsvB,MAAQvtB,IAAAA,EAAO,8BACrB87C,EAAKH,kBAAkB19C,EAAOm9C,EAChC,GACF,GAAC,CAAA55C,IAAA,6BAAAtB,MAED,SAA4BjC,EAAOm9C,GAAc,IAADY,EAAA,MAC9CttB,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,MACRqZ,QAAOC,EAAA,CACL,eAAgB,oBACbhqB,KAAK3G,MAAM4wB,wBAEhBoN,IAAK,oCACJpf,MAAK,SAACQ,GACPpf,EAAMs9C,iBAAmBl+B,EAAS1e,KAAKs9C,qBACvCD,EAAKL,kBAAkB19C,EAAOm9C,EAChC,IAAE,OAAO,WACPY,EAAKL,kBAAkB,CAAC,EAAGP,GAAa,WACtCY,EAAK/9C,MAAM6e,eAAiBk/B,EAAK/9C,MAAM6e,cAActY,KAAKxE,IAAAA,EAAO,4BAA6Bg8C,EAAK/9C,MAAM6e,cAAchW,SAASiW,MAAOi/B,EAAK/9C,MAAM6e,cAAcE,OAAOa,OACvKm+B,EAAK/9C,MAAM6uC,MAAQkP,EAAK/9C,MAAM6uC,MAChC,GACF,GACF,GAAC,CAAAtrC,IAAA,aAAAtB,MAED,SAAYjC,EAAOm9C,GAAc,IAADc,EAAA,MAC9BxtB,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,MACRqZ,QAAOC,EAAA,CACL,eAAgB,oBACbhqB,KAAK3G,MAAM4wB,wBAEhBoN,IAAK,wCACJpf,MAAK,SAACQ,GACPpf,EAAMq9C,YAAcj+B,EAAS1e,KAAKw9C,uBAClCD,EAAKP,kBAAkB19C,EAAOm9C,EAChC,IAAE,OAAO,WACPc,EAAKP,kBAAkB,CAAC,EAAGP,GAAa,WACtCc,EAAKj+C,MAAM6e,eAAiBo/B,EAAKj+C,MAAM6e,cAActY,KAAKxE,IAAAA,EAAO,mCAAoCk8C,EAAKj+C,MAAM6e,cAAchW,SAASiW,MAAOm/B,EAAKj+C,MAAM6e,cAAcE,OAAOa,OAC9Kq+B,EAAKj+C,MAAM6uC,MAAQoP,EAAKj+C,MAAM6uC,MAChC,GACF,GACF,GAAC,CAAAtrC,IAAA,SAAAtB,MAED,WACE,IAAMg6C,EAAet1C,KAAKw1C,aAAajS,OAAOvjC,KAAKyS,MAAM6iC,cACnDkC,EAAgBx3C,KAAKw1C,aAAajpC,QAAQvM,KAAKyS,MAAM6iC,cACrDmC,EAAqBz3C,KAAKw1C,aAAagB,YAAYx2C,KAAKyS,MAAM6iC,cAC9DC,EAAev1C,KAAKyS,MAAM8iC,aAChC,OAAOD,EAAYtrB,EAAC,CAAElB,WAAY,WAAgB,IAAf/uB,EAAIunB,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAQk2B,EAAaxtB,EAAAA,EAAC,CAAC,EAAIurB,GAAiBx7C,GAAQ09C,EAAoB,GAAMlC,GAC3H,IAAC,CApLY,CAASr6C,EAAAA,WAuLxB,WAAeunB,EAAAA,EAAAA,cAAYnL,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,mBAAkB69B,oIClLvD,UAnBa,SAAC/7C,GACZ,IAAAq+C,EAA8Er+C,EAAtEs+C,OAAAA,OAAM,IAAAD,GAAQA,EAAE1a,EAAsD3jC,EAAtD2jC,UAAWD,EAA2C1jC,EAA3C0jC,KAAI6a,EAAuCv+C,EAArCw+C,aAAAA,OAAY,IAAAD,GAAQA,EAAKlH,+WAAOC,CAAKt3C,EAAKu3C,GACnF,OAAI+G,EAEAz8C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,KAAGC,UAAU,kCAAkC,WAAU4hC,EAAM,WAAUC,GAAW,SAClF6a,GAAgB38C,EAAAA,cAAC48C,EAAAA,QAAcpyC,OAAAgoB,OAAA,CAACryB,GAAI2hC,EAAW+a,OAAO,SAAYrH,KAMxEx1C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACqhC,EAAAA,EAAe,CAACC,KAAK,cAAc,YAAU,OAAO,WAAUO,EAAM,WAAUC,EAAW7hC,UAAU,sBAClG08C,GAAgB38C,EAAAA,cAAC48C,EAAAA,QAAcpyC,OAAAgoB,OAAA,CAACryB,GAAI2hC,EAAW+a,OAAO,SAAYrH,IAG1E,42CC9ByB,IAEJ5T,EAAI,SAAAxV,GACvB,SAAAwV,EAAazjC,GAAQ,IAADkuB,EAGc,mGAHdnG,CAAA,KAAA0b,IAClBvV,EAAAlG,EAAA,KAAAyb,EAAA,CAAMzjC,KACDoZ,MAAQ,CAAEqW,WAAY,UAC3BvB,EAAKhM,QAAUrgB,EAAAA,YAAiBqsB,CAClC,CAAC,4RAAAhG,CAAAub,EAAAxV,KAAAwV,KAAA,EAAAlgC,IAAA,oBAAAtB,MAED,WAAsB,IAAD+sB,EAAA,KACnBlmB,YAAW,WAAQkmB,EAAK2O,SAAS,CAAElO,WAAY,YAAc,GAAG,GAClE,GAAC,CAAAlsB,IAAA,qBAAAtB,MAED,SAAoBgsC,GAAY,IAAD5N,EAAA,KAI7B,GAH8B,WAA1B15B,KAAKyS,MAAMqW,YAA2B9oB,KAAKub,QAAQzM,SAAW9O,KAAK3G,MAAMoZ,MAGpD,SAArBzS,KAAK3G,MAAMoZ,OAAoBzS,KAAK3G,MAAMoZ,QAAU60B,EAAU70B,MAAO,CACvE,IAAM8V,EAAMvoB,KAAK3G,MAAMkvB,IACvBpmB,YAAW,WAAQu3B,EAAKrgC,MAAMovB,cAAcF,EAAKmR,EAAKrgC,MAAM4V,KAAM,GAAG,KACrEjP,KAAKg3B,SAAS,CAAElO,WAAY,aAC9B,CACF,GAAC,CAAAlsB,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAAA,OAAK4gB,IAAK9b,KAAKub,QAASpgB,UAAS,4BAAAI,OAA8ByE,KAAKyS,MAAMqW,WAAU,iBAAAvtB,OAAgByE,KAAK3G,MAAMulB,MAAK,WAClH1jB,EAAAA,cAAA,QAAMC,UAAU,wBAAwB6E,KAAK3G,MAAMkvB,KAGzD,+FAAC,CA5BsB,CAASrtB,EAAAA,o6CCC0C,IAEtE88C,EAAa,SAAAnZ,GACjB,SAAAmZ,EAAa3+C,GAAQ,IAADkuB,EAUjB,mGAViBnG,CAAA,KAAA42B,IAClBzwB,EAAAlG,EAAA,KAAA22B,EAAA,CAAM3+C,KACDoZ,MAAQ,CAAE63B,SAAS,GACxB/iB,EAAKuX,YAAc,CACjB5C,MAAO,CACL6C,UAAW,QACXE,WAAY,CACVhwB,KAAM,UAGXsY,CACH,CAAC,4RAAAhG,CAAAy2B,EAAAnZ,KAAAmZ,KAAA,EAAAp7C,IAAA,oBAAAtB,MAED,WACE0E,KAAK3G,MAAMgmC,UAAU,KACrBr/B,KAAK3G,MAAM6oB,QAAO,EACpB,GAAC,CAAAtlB,IAAA,gBAAAtB,MAED,SAAemd,GACbzY,KAAK3G,MAAM6e,cAActY,KACvBxE,IAAAA,EACE,0CACA,CAAE8gC,MAAOl8B,KAAK3G,MAAM48B,UAAUj2B,KAAK3G,MAAMw8B,UAAUqG,QAErDl8B,KAAK3G,MAAM6e,cAAchW,SAASiW,MAClCnY,KAAK3G,MAAM6e,cAAcE,OAAOC,MAElCrY,KAAKg3B,SAAS,CAAEsT,SAAS,EAAMpO,MAAOl8B,KAAK3G,MAAM48B,UAAUj2B,KAAK3G,MAAMw8B,UAAUqG,OAClF,GAAC,CAAAt/B,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACZ6E,KAAKyS,MAAM63B,SAAYpvC,EAAAA,cAAA,SAAIE,IAAAA,EAAO,4BAA6B,CAAE8gC,MAAOl8B,KAAKyS,MAAMypB,WAGxFhhC,EAAAA,cAAA,YACG8E,KAAK+/B,eACL//B,KAAKggC,aAAa,GAADzkC,OAAIyE,KAAK3G,MAAMw8B,SAAQ,WAAW,CAAEx6B,GAAI,wBAAyBF,UAAW,kCAItG,+FAAC,CA7CgB,CAAS+kC,EAAAA,SAgD5B,WAAe3oB,EAAAA,EAAAA,mBAAkBygC,iFCrCjC,UAbkB,SAAH76C,GAAA,IAAM86C,EAAI96C,EAAJ86C,KAAMC,EAAM/6C,EAAN+6C,OAAM,OAC/Bh9C,EAAAA,cAAAA,EAAAA,SAAA,KAEIA,EAAAA,SAAei9C,QAAQF,GAAM/7C,KAAI,SAAAk8C,GAC/B,IAAAC,EAAgCD,EAAI/+C,MAA5BgC,EAAEg9C,EAAFh9C,GAAIqe,EAAK2+B,EAAL3+B,MAAOoN,EAAQuxB,EAARvxB,SACnB,OACE5rB,EAAAA,cAAA,MAAI0B,IAAG,GAAArB,OAAKF,EAAE,WAAWke,QAAS,WAAF,OAAQ2+B,EAAO78C,EAAG,EAAEF,UAAW8oB,IAAW,aAAc,CAAE6C,SAAAA,KAAa5rB,EAAAA,cAAA,KAAGue,KAAI,IAAAle,OAAMF,IAAOqe,GAE/H,IAED,+mECwFL,WAAenC,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,cA9FT,SAAAppB,GACtB,IAAsCC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/BmB,EAAKrB,EAAA,GAAEiwB,EAAQjwB,EAAA,GACqC6vB,EAAA5vB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAApDsmB,EAAYoJ,EAAA,GAAEmvB,EAAenvB,EAAA,GAE9B3R,EAAa,WACFkS,IAEZzR,MAAK,SAAA0R,GAASJ,EAASI,EAAI5vB,KAAM,IAAE,OAC7B,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EA2BMyQ,EAAW,WACf,OAAOI,EAAAA,QAAM/S,IAAI,gBAAiB,CAAEgT,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC1D,EAEMsuB,EAAkB,WACtB,OAAOzuB,EAAAA,QAAM/S,IAAI,wBAAyB,CAAEgT,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAClE,EAcA,OACE/uB,EAAAA,cAACs9C,EAAAA,QAAW,CACVjuB,cAAe,CACb5vB,MAAAA,EACA6c,WAAAA,EACAQ,YArCc,SAAA3c,GAClB,OAAOyuB,EAAAA,QAAK,OAAQ,iBAADvuB,OAAkBF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACnE,GAqCIQ,UAAW,CACT9vB,MAAAA,EACA6c,WAAAA,EACAihC,WAtCa,SAACp9C,EAAIgB,GACtB,OAAOytB,EAAAA,QAAMgB,MAAM,iBAADvvB,OAAkBF,GAAMgB,EAAM,CAAE0tB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACxE,EAqCMyuB,cAvBgB,SAAAr9C,GACpB,OAAOyuB,EAAAA,QAAK,OAAQ,mBAADvuB,OAAoBF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACrE,GAuBI0uB,SAAU,CACRC,WAtCa,SAAAv8C,GACjB,OAAOytB,EAAAA,QAAM8R,KAAK,gBAAiBv/B,EAAM,CAAE0tB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACjE,GAsCI4uB,eAAgB,CACdl+C,MAAAA,EACA6c,WAAAA,EACAshC,aAvBe,SAAAt8C,GACnB,OAAOstB,EAAAA,QAAM8R,KAAK,kBAAmBp/B,EAAQ,CAAEutB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACrE,GAuBI8uB,gBAAiB,CACfp+C,MAAAA,EACA6c,WAAAA,EACAwhC,kBArEoB,WACTT,IAEZtgC,MAAK,SAAA0R,GAAS2uB,EAAgB3uB,EAAI5vB,KAAM,IAAE,OACpC,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EA2DM8G,aAAAA,EACAk5B,aAlCe,SAAC59C,EAAImB,GACxB,OAAOstB,EAAAA,QAAMgB,MAAM,mBAADvvB,OAAoBF,GAAMmB,EAAQ,CAAEutB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC5E,IAoCF,+DCvEA,UAJwB,SAAA5wB,GACtB,OAAO6B,EAAAA,cAAA,OAAKC,UAAU,OAAO+9C,wBAAyB,CAAEC,QAvBhCC,EAuBwD//C,EAAMU,KAtBlE,kBAATq/C,IACTA,EAAOxhB,KAAKC,UAAUuhB,OAAM3/C,EAAW,KAEzC2/C,EAAOA,EAAK55C,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UACjFA,QAAQ,yGAAyG,SAAUH,GACrI,IAAIg6C,EAAM,SAYV,MAXI,KAAK93C,KAAKlC,GAEVg6C,EADE,KAAK93C,KAAKlC,GACN,MAEA,SAEC,aAAakC,KAAKlC,GAC3Bg6C,EAAM,UACG,OAAO93C,KAAKlC,KACrBg6C,EAAM,QAED,gBAAkBA,EAAM,KAAOh6C,EAAQ,SAChD,QAnBF,IAA0B+5C,CAwB1B,0FCvBO,IAAME,EAAkC,CAAC,cAAe,kBAAmB,gBAAiB,iBAAkB,iBAAkB,iBAAkB,yBAA0B,yBAA0B,yBAA0B,iBAAkB,gBAAiB,gBAAiB,cAAe,cAAe,gBAAiB,cAAe,yoCCoEzV,WAAe/hC,EAAAA,EAAAA,oBAhEC,SAACle,GACf,IAA4CC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAArCsmB,EAAQxmB,EAAA,GAAEigD,EAAWjgD,EAAA,IAE5Bc,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,GAAG,KAEHnrB,EAAAA,EAAAA,YAAU,WACR,IAAMS,EAAOJ,SAASK,eAAe,QACjCD,GAAMA,EAAK2sC,OACjB,GAAG,IAkBH,OACEtsC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,cAAeke,KAAM,UAClG,CAAE3c,KAAMvB,IAAAA,EAAO,qBAEnBF,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,oBAGhBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,OACH4T,KAAK,OACL9T,UAAU,WACVG,MAAOwkB,EACPtkB,SAAU,SAAA0C,GAAC,OAAIq7C,EAAYr7C,EAAEoC,OAAOhF,MAAM,IAE5CJ,EAAAA,cAAA,SAAO6rB,QAAQ,QAAQ3rB,IAAAA,EAAO,yBAEhCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UAAQ+T,KAAK,SAAS9T,UAAU,+BAA+Boe,QAzCxD,WACjBlgB,EAAMu/C,WAAW,CAAEv8C,KAAM,CAAEM,KAAMmjB,KAAc7H,MAAK,WAClD5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,qCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMue,QAAQhY,KAAK,SACrB,IAAE,OAAO,SAAA0Y,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,GA4Be7d,IAAAA,EAAO,mCAQxB,0JC2EA,UAtHmD,SAAC/B,GAAkB,IAADmgD,EAAAC,EACnEC,IAAAA,MAAmBzW,EAAAA,0BACnByW,IAAAA,WAAsBA,IAAAA,OAEtB,IAAMr0B,GAAkB2F,EAAAA,EAAAA,UAAQ,WAC9B,OAAOlH,EAAAA,OAAOzqB,EAAMirB,MACtB,GAAG,CAACjrB,EAAMirB,QAEJgf,GAAStY,EAAAA,EAAAA,UAAQ,WACrB,IAAM2uB,GAAYj5B,EAAAA,EAAAA,MAAKrnB,EAAMU,KAAKmC,KAAI,SAAAuc,GAAQ,OAAIA,EAASgU,SAASC,QAAQ,KAC5E,OAAOktB,EAAAA,EAAAA,SAAQD,EAAUz9C,KAAI,SAAAwwB,GAC3B,IAII3yB,EAJEyC,GAASq9C,EAAAA,EAAAA,YAAWntB,EAAUrzB,EAAMsB,OAC1C,IAAK6B,EACH,OAAO,KAGT,GAAInD,EAAMygD,cAAe,CAEvB//C,GAD0BggD,EAAAA,EAAAA,eAAcrtB,EAAUrzB,EAAMU,KAAMsrB,EAAQhsB,EAAM2gD,aAApEjgD,IAEV,KAAO,CAAC,IAADkgD,EAAAC,EACCC,EAA2E,QAAzDF,EAA0C,QAA1CC,EAAG19C,EAAO0nB,aAAa7qB,EAAMuqB,qBAAa,IAAAs2B,OAAA,EAAvCA,EAA0C7gD,EAAMirB,cAAM,IAAA21B,EAAAA,EAAI,CAAEl3B,KAAM,EAAGF,IAAK,GAErG9oB,GAD0BggD,EAAAA,EAAAA,eAAcrtB,EAAUrzB,EAAMU,KAAMsrB,EAAQhsB,EAAM2gD,YAAaG,EAAWp3B,KAAMo3B,EAAWt3B,KAA7G9oB,IAEV,CACA,MAAO,CACLkV,KAAM,OACNlV,KAAMA,EACNmR,OAAQ,CAAEy4B,SAAS,EAAMyW,OAAQ,GACjC/+C,GAAG,GAADE,OAAKmxB,GACP/vB,KAAMH,EAAOG,KAEjB,IACF,GAAG,CAACtD,EAAMU,KAAMsrB,EAAQhsB,EAAM2gD,YAAa3gD,EAAMsB,MAAOtB,EAAMirB,MAAOjrB,EAAMuqB,aAAcvqB,EAAMygD,gBAE3FO,EAAgC,GAgCpC,OA9BIhhD,EAAM2gD,cACRK,EAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,GAAI,IAENk6C,EAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,IAAK,IAEPk6C,EAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,KAAM,EACNsE,GAAI,IAENk6C,EAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,IAAK,IAEPk6C,EAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,KAAM,EACNsE,GAAI,KAIkB,IAAtBk6C,EAAWp9C,SAAco9C,EAAa,MAGxCn/C,EAAAA,cAACo/C,IAAe,CACdC,WAAYb,IACZ59C,QAAS,CACP4d,MAAO,CACLqjB,KAAM,IAERqG,SAAU,CACRrG,KAAM,IAERmG,MAAO,CACLj0B,KAAM,OACNurC,SAAU,KACVjqC,OAAQ,KAEVmzB,OAAQ,CACNC,SAAS,GAEX74B,QAAS,CACP2vC,SAAS,EACTC,aAAc,GACdC,YAAa,6JAEf7W,MAAO,CACLpqB,MAAO,CACLqjB,KAAM,IAER9tB,KAAM,WAKN2rC,qBAAsB,CACpBC,IAAK,UAGTxW,MAAO,CACL3qB,MAAO,CACLqjB,KAAM3hC,IAAAA,EAAO,mCAADG,OAAoCupC,EAAAA,iBAAiBzf,EAAO,OAE1E9iB,IAAKlJ,EAAM2gD,aAAe,EAAe,QAAdR,EAAIngD,EAAMyhD,YAAI,IAAAtB,EAAAA,EAAI,EAC7Cl3C,IAAKjJ,EAAM2gD,YAAc,EAAe,QAAdP,EAAIpgD,EAAM0hD,YAAI,IAAAtB,EAAAA,EAAI,IAC5CuB,aAAc3hD,EAAM2gD,YACpBiB,WAAY5hD,EAAM2gD,YAClBkB,UAAWb,GAEb/W,OAAQA,IAIhB,6FC7HA,UAZ6B,SAAAjqC,GAC3B,IAAQkxB,EAAkBlxB,EAAlBkxB,cACR,OACErvB,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,kBACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,kBACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACigD,EAAAA,QAAsBz1C,OAAAgoB,OAAA,GAAKr0B,EAAWkxB,GAAiB,IAIlF,0FCeA,UA1BkB,SAAClxB,GAAW,IAAD+hD,EACrBtd,GAAkB7hB,EAAAA,EAAAA,mBAAkB5iB,EAAMqD,OAUhD,OACExB,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,UAAsC,IAA3B6Z,EAAgB7gC,QAAgB,YAAa6e,IAAKziB,EAAM0kC,OAC5F7iC,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,MAAO5qB,EAAM2kC,eAA4BvkC,IAAhBJ,EAAMiC,OAAuBjC,EAAM4kC,YAAc,eAAgB1kB,QAAS,WAAYlgB,EAAM4kC,YAAc5kC,EAAM6kC,eAAc,EAAS,GACzLhjC,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,OAAKC,UAAU,kBAAkB2iC,IAEnC5iC,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOG,GAAIhC,EAAMgC,GAAI4T,KAAK,OAAO3T,MAAkB,QAAb8/C,EAAE/hD,EAAMiC,aAAK,IAAA8/C,EAAAA,EAAI,GAAI5/C,SAAU,SAAA0C,GAf5D,IAAC5C,OACF7B,KADE6B,EAeyE4C,EAAEoC,OAAOhF,QAd/C,IAAxBA,EAAM+/C,OAAOp+C,OACtC5D,EAAMgc,cAAS5b,GAEfJ,EAAMgc,SAAS/Z,EAWuF,SAC3E7B,IAAtBJ,EAAM4nB,aAA6B/lB,EAAAA,cAAA,SAAO6rB,QAAS1tB,EAAMgC,KAAK4gB,EAAAA,EAAAA,mBAAkB5iB,EAAM4nB,gBAKjG,gJC3BAwP,EAAA,kBAAAvyB,CAAA,MAAA6B,EAAA7B,EAAA,GAAAX,EAAAmI,OAAAC,UAAAnH,EAAAjB,EAAAmJ,eAAA6L,EAAA7M,OAAAgrB,gBAAA,SAAA3wB,EAAA7B,EAAAX,GAAAwC,EAAA7B,GAAAX,EAAAjC,KAAA,EAAAyK,EAAA,mBAAA4qB,OAAAA,OAAA,GAAAlyB,EAAAsH,EAAA6qB,UAAA,aAAA9yB,EAAAiI,EAAA8qB,eAAA,kBAAAlxB,EAAAoG,EAAA+qB,aAAA,yBAAA1wB,EAAAL,EAAA7B,EAAAX,GAAA,OAAAmI,OAAAgrB,eAAA3wB,EAAA7B,EAAA,CAAA5C,MAAAiC,EAAAwzB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAlxB,EAAA7B,EAAA,KAAAkC,EAAA,aAAAL,GAAAK,EAAA,SAAAL,EAAA7B,EAAAX,GAAA,OAAAwC,EAAA7B,GAAAX,CAAA,WAAA2zB,EAAAnxB,EAAA7B,EAAAX,EAAAiB,GAAA,IAAAuH,EAAA7H,GAAAA,EAAAyH,qBAAAwrB,EAAAjzB,EAAAizB,EAAA1yB,EAAAiH,OAAA2R,OAAAtR,EAAAJ,WAAA7H,EAAA,IAAAszB,EAAA5yB,GAAA,WAAA+T,EAAA9T,EAAA,WAAAnD,MAAA+1B,EAAAtxB,EAAAxC,EAAAO,KAAAW,CAAA,UAAA6yB,EAAAvxB,EAAA7B,EAAAX,GAAA,WAAA0R,KAAA,SAAAsiB,IAAAxxB,EAAA6F,KAAA1H,EAAAX,GAAA,OAAAwC,GAAA,OAAAkP,KAAA,QAAAsiB,IAAAxxB,EAAA,EAAA7B,EAAAgzB,KAAAA,EAAA,IAAA3yB,EAAA,iBAAAD,EAAA,iBAAAT,EAAA,YAAAD,EAAA,YAAA+D,EAAA,YAAAwvB,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAAtzB,EAAA,GAAAiC,EAAAjC,EAAAM,GAAA,8BAAAR,EAAAyH,OAAAgsB,eAAA1zB,EAAAC,GAAAA,EAAAA,EAAAyP,EAAA,MAAA1P,GAAAA,IAAAT,GAAAiB,EAAAoH,KAAA5H,EAAAS,KAAAN,EAAAH,GAAA,IAAAW,EAAA8yB,EAAA9rB,UAAAwrB,EAAAxrB,UAAAD,OAAA2R,OAAAlZ,GAAA,SAAAwzB,EAAA5xB,GAAA,0BAAAqJ,SAAA,SAAAlL,GAAAkC,EAAAL,EAAA7B,GAAA,SAAA6B,GAAA,YAAA6xB,QAAA1zB,EAAA6B,EAAA,gBAAA8xB,EAAA9xB,EAAA7B,GAAA,SAAA4zB,EAAAv0B,EAAAgV,EAAAxM,EAAAtH,GAAA,IAAAX,EAAAwzB,EAAAvxB,EAAAxC,GAAAwC,EAAAwS,GAAA,aAAAzU,EAAAmR,KAAA,KAAAtP,EAAA7B,EAAAyzB,IAAAhzB,EAAAoB,EAAArE,MAAA,OAAAiD,GAAA,iBAAAA,GAAAC,EAAAoH,KAAArH,EAAA,WAAAL,EAAA6zB,QAAAxzB,EAAAyzB,SAAA/Z,MAAA,SAAAlY,GAAA+xB,EAAA,OAAA/xB,EAAAgG,EAAAtH,EAAA,aAAAsB,GAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAP,EAAA6zB,QAAAxzB,GAAA0Z,MAAA,SAAAlY,GAAAJ,EAAArE,MAAAyE,EAAAgG,EAAApG,EAAA,aAAAI,GAAA,OAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAA,EAAAX,EAAAyzB,IAAA,KAAAh0B,EAAAgV,EAAA,gBAAAjX,MAAA,SAAAyE,EAAAvB,GAAA,SAAAyzB,IAAA,WAAA/zB,GAAA,SAAAA,EAAAX,GAAAu0B,EAAA/xB,EAAAvB,EAAAN,EAAAX,EAAA,WAAAA,EAAAA,EAAAA,EAAA0a,KAAAga,EAAAA,GAAAA,GAAA,aAAAZ,EAAAnzB,EAAAX,EAAAiB,GAAA,IAAA+T,EAAAhU,EAAA,gBAAAwH,EAAAtH,GAAA,GAAA8T,IAAA1U,EAAA,MAAAE,MAAA,mCAAAwU,IAAA3U,EAAA,cAAAmI,EAAA,MAAAtH,EAAA,OAAAnD,MAAAyE,EAAA0c,MAAA,OAAAje,EAAAkS,OAAA3K,EAAAvH,EAAA+yB,IAAA9yB,IAAA,KAAAX,EAAAU,EAAA0zB,SAAA,GAAAp0B,EAAA,KAAA6B,EAAAwyB,EAAAr0B,EAAAU,GAAA,GAAAmB,EAAA,IAAAA,IAAAgC,EAAA,gBAAAhC,CAAA,cAAAnB,EAAAkS,OAAAlS,EAAA4zB,KAAA5zB,EAAA6zB,MAAA7zB,EAAA+yB,SAAA,aAAA/yB,EAAAkS,OAAA,IAAA6B,IAAAhU,EAAA,MAAAgU,EAAA3U,EAAAY,EAAA+yB,IAAA/yB,EAAA8zB,kBAAA9zB,EAAA+yB,IAAA,gBAAA/yB,EAAAkS,QAAAlS,EAAA+zB,OAAA,SAAA/zB,EAAA+yB,KAAAhf,EAAA1U,EAAA,IAAAM,EAAAmzB,EAAApzB,EAAAX,EAAAiB,GAAA,cAAAL,EAAA8Q,KAAA,IAAAsD,EAAA/T,EAAAie,KAAA7e,EAAAU,EAAAH,EAAAozB,MAAA5vB,EAAA,gBAAArG,MAAA6C,EAAAozB,IAAA9U,KAAAje,EAAAie,KAAA,WAAAte,EAAA8Q,OAAAsD,EAAA3U,EAAAY,EAAAkS,OAAA,QAAAlS,EAAA+yB,IAAApzB,EAAAozB,IAAA,YAAAY,EAAAj0B,EAAAX,GAAA,IAAAiB,EAAAjB,EAAAmT,OAAA6B,EAAArU,EAAA0yB,SAAApyB,GAAA,GAAA+T,IAAAxS,EAAA,OAAAxC,EAAA20B,SAAA,eAAA1zB,GAAAN,EAAA0yB,SAAA,SAAArzB,EAAAmT,OAAA,SAAAnT,EAAAg0B,IAAAxxB,EAAAoyB,EAAAj0B,EAAAX,GAAA,UAAAA,EAAAmT,SAAA,WAAAlS,IAAAjB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAh0B,EAAA,aAAAmD,EAAA,IAAAoE,EAAAurB,EAAA/e,EAAArU,EAAA0yB,SAAArzB,EAAAg0B,KAAA,aAAAxrB,EAAAkJ,KAAA,OAAA1R,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAAxrB,EAAAwrB,IAAAh0B,EAAA20B,SAAA,KAAAvwB,EAAA,IAAAlD,EAAAsH,EAAAwrB,IAAA,OAAA9yB,EAAAA,EAAAge,MAAAlf,EAAAW,EAAAu0B,YAAAh0B,EAAAnD,MAAAiC,EAAAm1B,KAAAx0B,EAAAy0B,QAAA,WAAAp1B,EAAAmT,SAAAnT,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,GAAAxC,EAAA20B,SAAA,KAAAvwB,GAAAlD,GAAAlB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAj1B,EAAA20B,SAAA,KAAAvwB,EAAA,UAAAixB,EAAA7yB,GAAA,IAAA7B,EAAA,CAAA20B,OAAA9yB,EAAA,SAAAA,IAAA7B,EAAA40B,SAAA/yB,EAAA,SAAAA,IAAA7B,EAAA60B,WAAAhzB,EAAA,GAAA7B,EAAA80B,SAAAjzB,EAAA,SAAAkzB,WAAArzB,KAAA1B,EAAA,UAAAg1B,EAAAnzB,GAAA,IAAA7B,EAAA6B,EAAAozB,YAAA,GAAAj1B,EAAA+Q,KAAA,gBAAA/Q,EAAAqzB,IAAAxxB,EAAAozB,WAAAj1B,CAAA,UAAAkzB,EAAArxB,GAAA,KAAAkzB,WAAA,EAAAJ,OAAA,SAAA9yB,EAAAqJ,QAAAwpB,EAAA,WAAA3b,OAAA,YAAAvJ,EAAAxP,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAX,EAAAW,EAAAO,GAAA,GAAAlB,EAAA,OAAAA,EAAAqI,KAAA1H,GAAA,sBAAAA,EAAAw0B,KAAA,OAAAx0B,EAAA,IAAA/B,MAAA+B,EAAAjB,QAAA,KAAAsV,GAAA,EAAAxM,EAAA,SAAA2sB,IAAA,OAAAngB,EAAArU,EAAAjB,QAAA,GAAAuB,EAAAoH,KAAA1H,EAAAqU,GAAA,OAAAmgB,EAAAp3B,MAAA4C,EAAAqU,GAAAmgB,EAAAjW,MAAA,EAAAiW,EAAA,OAAAA,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,SAAA3sB,EAAA2sB,KAAA3sB,CAAA,YAAAysB,iBAAAt0B,EAAA,2BAAAszB,EAAA7rB,UAAA8rB,EAAAlf,EAAA5T,EAAA,eAAArD,MAAAm2B,EAAAT,cAAA,IAAAze,EAAAkf,EAAA,eAAAn2B,MAAAk2B,EAAAR,cAAA,IAAAQ,EAAA4B,YAAAhzB,EAAAqxB,EAAA9xB,EAAA,qBAAAzB,EAAAm1B,oBAAA,SAAAtzB,GAAA,IAAA7B,EAAA,mBAAA6B,GAAAA,EAAAuzB,YAAA,QAAAp1B,IAAAA,IAAAszB,GAAA,uBAAAtzB,EAAAk1B,aAAAl1B,EAAAvB,MAAA,EAAAuB,EAAAq1B,KAAA,SAAAxzB,GAAA,OAAA2F,OAAA8tB,eAAA9tB,OAAA8tB,eAAAzzB,EAAA0xB,IAAA1xB,EAAA0zB,UAAAhC,EAAArxB,EAAAL,EAAAJ,EAAA,sBAAAI,EAAA4F,UAAAD,OAAA2R,OAAA1Y,GAAAoB,CAAA,EAAA7B,EAAAw1B,MAAA,SAAA3zB,GAAA,OAAAiyB,QAAAjyB,EAAA,EAAA4xB,EAAAE,EAAAlsB,WAAAvF,EAAAyxB,EAAAlsB,UAAA7H,GAAA,0BAAAI,EAAA2zB,cAAAA,EAAA3zB,EAAAy1B,MAAA,SAAA5zB,EAAAxC,EAAAiB,EAAA+T,EAAAxM,QAAA,IAAAA,IAAAA,EAAA6tB,SAAA,IAAAn1B,EAAA,IAAAozB,EAAAX,EAAAnxB,EAAAxC,EAAAiB,EAAA+T,GAAAxM,GAAA,OAAA7H,EAAAm1B,oBAAA91B,GAAAkB,EAAAA,EAAAi0B,OAAAza,MAAA,SAAAlY,GAAA,OAAAA,EAAA0c,KAAA1c,EAAAzE,MAAAmD,EAAAi0B,MAAA,KAAAf,EAAAhzB,GAAAyB,EAAAzB,EAAAgB,EAAA,aAAAS,EAAAzB,EAAAF,GAAA,0BAAA2B,EAAAzB,EAAA,qDAAAT,EAAA2N,KAAA,SAAA9L,GAAA,IAAA7B,EAAAwH,OAAA3F,GAAAxC,EAAA,WAAAiB,KAAAN,EAAAX,EAAAqC,KAAApB,GAAA,OAAAjB,EAAAG,UAAA,SAAAg1B,IAAA,KAAAn1B,EAAAN,QAAA,KAAA8C,EAAAxC,EAAAs2B,MAAA,GAAA9zB,KAAA7B,EAAA,OAAAw0B,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,QAAAA,EAAAjW,MAAA,EAAAiW,CAAA,GAAAx0B,EAAAwP,OAAAA,EAAA0jB,EAAAzrB,UAAA,CAAA2tB,YAAAlC,EAAAna,MAAA,SAAA/Y,GAAA,QAAA41B,KAAA,OAAApB,KAAA,OAAAN,KAAA,KAAAC,MAAAtyB,EAAA,KAAA0c,MAAA,OAAAyV,SAAA,UAAAxhB,OAAA,YAAA6gB,IAAAxxB,EAAA,KAAAkzB,WAAA7pB,QAAA8pB,IAAAh1B,EAAA,QAAAX,KAAA,WAAAA,EAAAw2B,OAAA,IAAAv1B,EAAAoH,KAAA,KAAArI,KAAApB,OAAAoB,EAAAkC,MAAA,WAAAlC,GAAAwC,EAAA,EAAAi0B,KAAA,gBAAAvX,MAAA,MAAA1c,EAAA,KAAAkzB,WAAA,GAAAE,WAAA,aAAApzB,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,YAAA0C,IAAA,EAAA3B,kBAAA,SAAAp0B,GAAA,QAAAue,KAAA,MAAAve,EAAA,IAAAX,EAAA,cAAA4M,EAAA3L,EAAA+T,GAAA,OAAA9T,EAAAwQ,KAAA,QAAAxQ,EAAA8yB,IAAArzB,EAAAX,EAAAm1B,KAAAl0B,EAAA+T,IAAAhV,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,KAAAwS,CAAA,SAAAA,EAAA,KAAA0gB,WAAAh2B,OAAA,EAAAsV,GAAA,IAAAA,EAAA,KAAAxM,EAAA,KAAAktB,WAAA1gB,GAAA9T,EAAAsH,EAAAotB,WAAA,YAAAptB,EAAA8sB,OAAA,OAAA1oB,EAAA,UAAApE,EAAA8sB,QAAA,KAAAiB,KAAA,KAAAh2B,EAAAU,EAAAoH,KAAAG,EAAA,YAAApG,EAAAnB,EAAAoH,KAAAG,EAAA,iBAAAjI,GAAA6B,EAAA,SAAAm0B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,WAAAgB,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,SAAAj1B,GAAA,QAAAg2B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,YAAAnzB,EAAA,MAAA5B,MAAA,kDAAA+1B,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,KAAAR,OAAA,SAAAxyB,EAAA7B,GAAA,QAAAX,EAAA,KAAA01B,WAAAh2B,OAAA,EAAAM,GAAA,IAAAA,EAAA,KAAAgV,EAAA,KAAA0gB,WAAA11B,GAAA,GAAAgV,EAAAsgB,QAAA,KAAAiB,MAAAt1B,EAAAoH,KAAA2M,EAAA,oBAAAuhB,KAAAvhB,EAAAwgB,WAAA,KAAAhtB,EAAAwM,EAAA,OAAAxM,IAAA,UAAAhG,GAAA,aAAAA,IAAAgG,EAAA8sB,QAAA30B,GAAAA,GAAA6H,EAAAgtB,aAAAhtB,EAAA,UAAAtH,EAAAsH,EAAAA,EAAAotB,WAAA,UAAA10B,EAAAwQ,KAAAlP,EAAAtB,EAAA8yB,IAAArzB,EAAA6H,GAAA,KAAA2K,OAAA,YAAAgiB,KAAA3sB,EAAAgtB,WAAApxB,GAAA,KAAAuyB,SAAAz1B,EAAA,EAAAy1B,SAAA,SAAAn0B,EAAA7B,GAAA,aAAA6B,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,gBAAAxxB,EAAAkP,MAAA,aAAAlP,EAAAkP,KAAA,KAAAyjB,KAAA3yB,EAAAwxB,IAAA,WAAAxxB,EAAAkP,MAAA,KAAAglB,KAAA,KAAA1C,IAAAxxB,EAAAwxB,IAAA,KAAA7gB,OAAA,cAAAgiB,KAAA,kBAAA3yB,EAAAkP,MAAA/Q,IAAA,KAAAw0B,KAAAx0B,GAAAyD,CAAA,EAAAwyB,OAAA,SAAAp0B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAw1B,aAAAhzB,EAAA,YAAAm0B,SAAA32B,EAAA41B,WAAA51B,EAAAy1B,UAAAE,EAAA31B,GAAAoE,CAAA,kBAAA5B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAs1B,SAAA9yB,EAAA,KAAAvB,EAAAjB,EAAA41B,WAAA,aAAA30B,EAAAyQ,KAAA,KAAAsD,EAAA/T,EAAA+yB,IAAA2B,EAAA31B,EAAA,QAAAgV,CAAA,QAAAxU,MAAA,0BAAAq2B,cAAA,SAAAl2B,EAAAX,EAAAiB,GAAA,YAAA0zB,SAAA,CAAAtB,SAAAljB,EAAAxP,GAAAu0B,WAAAl1B,EAAAo1B,QAAAn0B,GAAA,cAAAkS,SAAA,KAAA6gB,IAAAxxB,GAAA4B,CAAA,GAAAzD,CAAA,UAAAm2B,EAAA71B,EAAAuB,EAAA7B,EAAAX,EAAAgV,EAAA9T,EAAAX,GAAA,QAAAiI,EAAAvH,EAAAC,GAAAX,GAAA6B,EAAAoG,EAAAzK,KAAA,OAAAkD,GAAA,YAAAN,EAAAM,EAAA,CAAAuH,EAAA0W,KAAA1c,EAAAJ,GAAAi0B,QAAA7B,QAAApyB,GAAAsY,KAAA1a,EAAAgV,EAAA,CACA,IAMa+oC,QAAUxxB,GAAAA,OANA,CACrBC,QAAS,CACP,mBAAoB,oBAOXwxB,EAAW,eAVxB/8C,EAUwBrB,GAVxBqB,EAUwBiyB,IAAA8C,MAAG,SAAAwE,EAAOV,EAAKtN,GAAO,IAAAyxB,EAAA/iC,EAAAgjC,EAAAC,EAAA/xB,EAAAgyB,EAAAr6B,UAAA,OAAAmP,IAAAS,MAAA,SAAAqH,GAAA,cAAAA,EAAAzE,KAAAyE,EAAA7F,MAAA,OAAE8oB,EAAgBG,EAAA1+C,OAAA,QAAAxD,IAAAkiD,EAAA,GAAAA,EAAA,GAAG,WAAO,EACpEljC,EAAW,GACXgjC,GAAU,EACVC,EAAW,EAAC,WAETD,EAAQ,CAADljB,EAAA7F,KAAA,gBAAA6F,EAAA7F,KAAA,EACM4oB,EAAQ,CACxB5qC,OAAQ,MACR2mB,IAAI,GAAD97B,OAAK87B,EAAG,UAAA97B,OAASmgD,GACpB3xB,QAAAA,IACA,OAJIJ,EAAG4O,EAAAnG,KAKT3Z,EAAWA,EAASld,OAAOouB,EAAI5vB,KAAKA,MACpC0hD,EAAU9xB,EAAI5vB,KAAKowB,KAAKyxB,SACxBF,EAAW/xB,EAAI5vB,KAAKowB,KAAKiC,aAAe,EAExCovB,EAAiB7xB,GAAI4O,EAAA7F,KAAA,uBAAA6F,EAAAhG,OAAA,SAGhB9Z,GAAQ,yBAAA8f,EAAAvE,OAAA,GAAA+D,EAAA,IA5BjB,eAAAh4B,EAAA,KAAA7B,EAAAojB,UAAA,WAAAsS,SAAA,SAAAr2B,EAAAgV,GAAA,IAAA9T,EAAAD,EAAAqB,MAAAE,EAAA7B,GAAA,SAAA+6B,EAAAz6B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,OAAA16B,EAAA,UAAA06B,EAAA16B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,QAAA16B,EAAA,CAAAy6B,OAAA,QA6BC,gBAnBuBE,EAAAC,GAAA,OAAAj8B,EAAA0C,MAAA,KAAAyhB,UAAA,KAqBxB,y+CC7BO,IAAMu6B,EAAuB3gD,EAAAA,gBAE9B4gD,EAAa,SAAAx0B,GACjB,SAAAw0B,EAAaziD,GAAQ,IAADkuB,EAIjB,mGAJiBnG,CAAA,KAAA06B,IAClBv0B,EAAAlG,EAAA,KAAAy6B,EAAA,CAAMziD,KACDoZ,MAAQ,CACXspC,UAAU,GACXx0B,CACH,CAAC,4RAAAhG,CAAAu6B,EAAAx0B,KAAAw0B,KAAA,EAAAl/C,IAAA,oBAAAtB,MAED,SAAmBqtB,EAAOqzB,GAExBh8C,KAAKg3B,SAAS,CAAE+kB,UAAU,IAG1BvkB,QAAQC,IAAI9O,GACZ6O,QAAQC,IAAIukB,EACd,GAAC,CAAAp/C,IAAA,SAAAtB,MAED,WACE,OAAI0E,KAAKyS,MAAMspC,SAEX7gD,EAAAA,cAAA,KAAGC,UAAU,qBACVC,IAAAA,EAAO4E,KAAK3G,MAAMkiB,UAKlBvb,KAAK3G,MAAM+D,QACpB,+FAAC,CA3BgB,CAASlC,EAAAA,WA8Bf+gD,EAAoB,SAAClV,EAAWxrB,GAAO,OAAK,SAAAliB,GACvD,OACE6B,EAAAA,cAAC4gD,EAAa,CAACvgC,QAASA,GAASrgB,EAAAA,cAAC6rC,EAAc1tC,GAEpD,CAAC,2tDCtCsB,IAEF03C,EAAK,SAAAzpB,GACxB,SAAAypB,EAAa13C,GAAQ,IAADkuB,EAIjB,mGAJiBnG,CAAA,KAAA2vB,IAClBxpB,EAAAlG,EAAA,KAAA0vB,EAAA,CAAM13C,KACDoZ,MAAQ,CACXuU,SAAS,GACVO,CACH,CAAC,4RAAAhG,CAAAwvB,EAAAzpB,KAAAypB,IAAA,EAAAn0C,IAAA,SAAAtB,MAED,WAAW,IAAD+sB,EAAA,KACF3P,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAAuFppC,KAAK3G,MAApF0lC,EAASqK,EAATrK,UAAW9vB,EAAIm6B,EAAJn6B,KAAM6nB,EAASsS,EAATtS,UAAWH,EAAOyS,EAAPzS,QAASd,EAAQuT,EAARvT,SAAUwT,EAAYD,EAAZC,aAAc6S,EAAa9S,EAAb8S,cAC/D1S,iWAAUxf,CAAA,GAAQhqB,KAAK3G,cACtBmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAW7S,eACX6S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,KAElB,IAAMktC,EAAa9S,GAAgB6S,EAEnC,OACEhhD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAOC,UAAU,UACfD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,MAEpD57B,EAAAA,cAAA,OAAKC,UAAU,eACZw7B,EAAQz6B,KAAI,SAAC0tC,GAAM,OAClB1uC,EAAAA,cAAA,KAAG0B,IAAKgtC,EAAO3K,WAAWtiC,MACxBzB,EAAAA,cAAA,aACEA,EAAAA,cAAA,QAAAwK,OAAAgoB,OAAA,GAAWkc,EAAO3K,WAAU,CAAEjY,QAAS4iB,EAAO3K,WAAW3jC,QAAU6gD,EAAYx/C,KAAMm6B,EAAW7nB,KAAMA,EAAMzT,SAAU6sB,EAAKhvB,MAAMmC,YACjIN,EAAAA,cAAA,YAAOE,IAAAA,EAAO,GAADG,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,EAAS,KAAAv7B,OAAIquC,EAAO3K,WAAWtiC,SAErE,IAEL+b,EAAOxc,KAAI,SAAAoc,GAAG,OACbpd,EAAAA,cAAA,OAAK0B,IAAK0b,EAAKnd,UAAU,qBACtBktB,EAAKhvB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACxC,MAMlB,gGAAC,CA/CuB,CAASpd,EAAAA,8ECFnCE,IAAAA,eAAsBA,IAAAA,aAAoB,CAAC,GAC3CA,IAAAA,aAAsB,GAAIA,IAAAA,OAAaA,IAAAA,aAAsB,IAAK,CAAC,EAAIw8B,KAAKY,MAAM,yqiCAClFp9B,IAAAA,aAAsB,GAAIA,IAAAA,OAAaA,IAAAA,aAAsB,IAAK,CAAC,EAAIw8B,KAAKY,MAAM,i3oCCD3E,IAAM4jB,EAAsBlhD,EAAAA,gBAEtB2tC,EAAoB,SAAAvhB,GAC/B,SAAAuhB,EAAaxvC,GAAQ,IAADkuB,EAWJ,mGAXInG,CAAA,KAAAynB,IAClBthB,EAAAlG,EAAA,KAAAwnB,EAAA,CAAMxvC,KACDoZ,MAAQ,CACX6V,SAAU,IAGZf,EAAKpP,MAAQ,IACboP,EAAKvO,KAAO,IAEZuO,EAAKlP,KAAO,EACZkP,EAAK80B,QAAU,EACf90B,EAAKtO,MAAQ,EAACsO,CAChB,CAAC,4RAAAhG,CAAAsnB,EAAAvhB,KAAAuhB,KAAA,EAAAjsC,IAAA,OAAAtB,MAED,SAAMigB,EAAS+gC,EAASrtC,GAAO,IAADoZ,EAAA,KAG5B,KAFmBroB,KAAKyS,MAAM6V,SAASvsB,QAAO,SAACwsB,GAAG,OAAKA,EAAIhN,UAAYA,CAAO,IAAEte,OAAS,GAEzF,CAKAkF,YAAW,WACT,IAAM40B,EAAQ/M,EAAA,GAAQ3B,EAAK5V,OAC3BskB,EAASzO,SAAWD,EAAK5V,MAAM6V,SAASpsB,KAAI,SAACqsB,GAAU,OAAOA,EAAIhN,UAAYA,GAAWgN,EAAItZ,OAASA,EAAI+a,EAAAA,EAAA,GAAQzB,GAAG,IAAE9V,MAAO,SAAW8V,CAAI,IAC7IF,EAAK2O,SAASD,EAChB,GAAGulB,GACH,IAAMvlB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OAC3BskB,EAASzO,SAAS1oB,KAAK,CAAE2b,QAAAA,EAAStM,KAAAA,EAAMwD,MAAO,SAC/CzS,KAAKg3B,SAASD,EAVd,CAWF,GAAC,CAAAn6B,IAAA,gBAAAtB,MAED,SAAeigB,EAAStM,GACtB,IAAM8nB,EAAQ/M,EAAA,GAAQhqB,KAAKyS,OAC3BskB,EAASzO,SAAWtoB,KAAKyS,MAAM6V,SAASvsB,QAAO,SAACwsB,GAAG,OAAKA,EAAItZ,OAASA,GAAQsZ,EAAIhN,UAAYA,CAAO,IACpGvb,KAAKg3B,SAASD,EAChB,GAAC,CAAAn6B,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAACkhD,EAAoBtU,SAAQ,CAACxsC,MAAO,CAAE4c,cAAe,CAAEtY,KAAMI,KAAKJ,KAAK0W,KAAKtW,MAAOkC,SAAU,CAAEiW,MAAOnY,KAAKmY,MAAOa,KAAMhZ,KAAKgZ,MAAQZ,OAAQ,CAAEC,KAAMrY,KAAKqY,KAAMgkC,QAASr8C,KAAKq8C,QAASpjC,MAAOjZ,KAAKiZ,OAASqP,SAAUtoB,KAAKyS,MAAM6V,SAAUG,cAAezoB,KAAKyoB,cAAcnS,KAAKtW,SAChRA,KAAK3G,MAAM+D,SAGlB,+FAAC,CA7C8B,CAASlC,EAAAA,WAgD7Bqc,EAAoB,SAAAwvB,GAAS,OAAI,SAAA1tC,GAC5C,OACE6B,EAAAA,cAACkhD,EAAoB9T,SAAQ,MAC1B,SAACC,GAAO,OAAMrtC,EAAAA,cAAC6rC,EAASrhC,OAAAgoB,OAAA,GAAK6a,EAAalvC,GAAS,GAG1D,CAAC,gsECnDM,IAAMqmC,EAAW,UA4BxB,WAAejd,EAAAA,EAAAA,cAzBC,SAACppB,GACf,IAA+CC,EAAAC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAxCuiC,EAAQziC,EAAA,GAAEijD,EAAWjjD,EAAA,GAE5B,IAAKD,EAAM6pB,UAAU7nB,GAAI,OAAOH,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,IAEpD,IAYMw/C,GAAiBniD,OAAOmlC,aAAa4T,QAAQ1T,GACnD,OAAK3D,GAAYygB,GAAiBnjD,EAAM6pB,UAAUuY,aACzCvgC,EAAAA,cAACuhD,EAAAA,QAAY,CAACC,QAAQC,EAAAA,EAAAA,WAdhB,SAAC7hB,GACdhR,EAAAA,QAAM8R,KAAK,0BAA2B,CAAEC,SAAUf,GAAW,CAC3D/Q,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BACnBhS,MAAK,SAAA0R,GAAQ,IAADmS,EACD,QAAZA,EAAInS,EAAI5vB,YAAI,IAAA+hC,GAARA,EAAUC,WACZ1hC,OAAOmlC,aAAaC,QAAQC,EAAUA,GACtC6c,GAAY,GACRljD,EAAMi6C,qBAAqBj6C,EAAMi6C,sBAEzC,GACF,GAjBuB,KAqB4CD,OAAQh6C,EAAMg6C,SAG1Eh6C,EAAM+D,QACf,+uCCIA,WAAema,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,cAAYm6B,EAAAA,EAAAA,IA5BhB,SAAAvjD,GAmB3B,OACE6B,EAAAA,cAAC2hD,EAAAA,QAAgB,CACf3vB,aAAc,CACZshB,aArBe,SAACF,EAAYC,GAChC,OAAOzkB,EAAAA,QAAM/S,IAAI,sBAADxb,OAAuB+yC,EAAU,KAAA/yC,OAAIgzC,IAClDt2B,MAAK,SAAA0R,GACJtwB,EAAMuoB,cAAc,CAClBD,aAAcgI,EAAII,QAAQuV,cAC1Bwd,WAAYnzB,EAAI5vB,KAAKgjD,MAEvB1iD,OAAOmlC,aAAaC,QAAQC,EAAAA,SAAUA,EAAAA,UACtCrmC,EAAMue,QAAQhY,KAAK,IACrB,IAAE,OAAO,SAAA0Y,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,IASF,+4CC/BA,IA2GqBinB,EAAW,SAAA5Y,GAC9B,SAAA4Y,EAAa7mC,GAAQ,IAADkuB,EAGG,mGAHHnG,CAAA,KAAA8e,IAClB3Y,EAAAlG,EAAA,KAAA6e,EAAA,CAAM7mC,KAEDylC,YAAc,CAAC,EAACvX,CACvB,CAEA,4RAAAhG,CAAA2e,EAAA5Y,KAAA4Y,IAAA,EAAAtjC,IAAA,gBAAAtB,MACA,SAAe0hD,GACbxlB,QAAQC,IAAI,mEACd,GAAC,CAAA76B,IAAA,cAAAtB,MAED,SAAa0hD,GACXxlB,QAAQC,IAAI,iEACd,GAAC,CAAA76B,IAAA,iBAAAtB,MAED,WACE,GACD,CAAAsB,IAAA,oBAAAtB,MAED,WACE0E,KAAKi9C,eACP,GAAC,CAAArgD,IAAA,kBAAAtB,MAED,SAAiB4hD,EAAeC,GAC9B,IAAMjmB,EAAY,CAAC,EAOnB,OANAgmB,EAAc9zC,SAAQ,SAACxM,GACfugD,EAAYvgD,KAAQs6B,IACxBA,EAAUimB,EAAYvgD,IAAQ,IAEhCs6B,EAAUimB,EAAYvgD,IAAMgD,KAAKhD,EACnC,IACOs6B,CACT,GAAC,CAAAt6B,IAAA,gBAAAtB,MAED,WAAkB,IAAD+sB,EAAA,KACX80B,EAAc,SAACvgD,GAAG,OAAKyrB,EAAKyW,YAAYliC,GAAKwgD,aAAa,EACxDF,EAAgBx3C,OAAOmG,KAAK7L,KAAK8+B,aAAa/iC,QAAO,SAACa,GAAG,OAAKyrB,EAAKyW,YAAYliC,GAAKwgD,aAAa,IACjGC,EAAuBr9C,KAAKs9C,gBAAgBJ,EAAeC,GAEjEA,EAAc,SAACvgD,GAAG,OAAKyrB,EAAKyW,YAAYliC,GAAKqiC,WAAWtI,OAAO,EAC/D,IAAM4mB,EAAiB73C,OAAOmG,KAAK7L,KAAK8+B,aAAa/iC,QAAO,SAACa,GAAG,OAA0C,oBAApCyrB,EAAKyW,YAAYliC,GAAKmiC,WAAuE,yBAApC1W,EAAKyW,YAAYliC,GAAKmiC,YAA6F,kBAA7C1W,EAAKyW,YAAYliC,GAAKqiC,WAAWtI,OAAoB,IACpP6mB,EAAwBx9C,KAAKs9C,gBAAgBC,EAAgBJ,GAGnEz3C,OAAOmG,KAAKwxC,GAAsBpgD,OAAS,GACzC+C,KAAK3G,MAAMq9B,MAAM12B,KAAK3G,MAAMw8B,SAAUwnB,EAAsB,UAAWr9C,KAAKy9C,eAAennC,KAAKtW,OAElG0F,OAAOmG,KAAK2xC,GAAuBvgD,OAAS,GAC1C+C,KAAK3G,MAAMq9B,MAAM12B,KAAK3G,MAAMw8B,SAAU2nB,EAAuB,SAEjE,GAEA,CAAA5gD,IAAA,gBAAAtB,MACA,SAAesB,GACb,IAAIutC,GAAY,EACV9kB,EAASrlB,KAAK3G,MAAM2c,SAASkW,OAAO1sB,QAAQ,IAAK,IAAI/B,MAAM,QAOjE,OALA4nB,EAAOjc,SAAQ,SAACghC,EAAKrkC,GACfqkC,IAAQxtC,IACVutC,EAAWpkC,EAAI,EAEnB,IACOokC,GAAY,EAAI9kB,EAAO8kB,GAAY,IAC5C,GAEA,CAAAvtC,IAAA,oBAAAtB,MACA,WACE,OAAO0E,KAAK09C,mBAAmB,SACjC,GAEA,CAAA9gD,IAAA,oBAAAtB,MACA,WACE,OAAO0E,KAAK09C,mBAAmB,SACjC,GAEA,CAAA9gD,IAAA,qBAAAtB,MACA,SAAoBsB,GAAM,IAAD88B,EAAA,KACjBikB,EAAS,CAAC,EAWhB,OAVAj4C,OAAOmG,KAAK7L,KAAK8+B,aAAa5iC,KAAI,SAAC+6B,GACjC,OAAOyC,EAAKoF,YAAY7H,GAAOL,MAAQ,CAACK,EAAOyC,EAAKoF,YAAY7H,GAAOL,MAAMh6B,IAAQ,IACvF,IAAGb,QAAO,SAACk7B,GAAK,QAAOA,CAAK,IAAE7tB,SAAQ,SAAC6tB,GACrC,OAAOA,EAAM,GAAG7tB,SAAQ,SAACwtB,GAClB+mB,EAAO/mB,KACV+mB,EAAO/mB,GAAS,IAElB+mB,EAAO/mB,GAAOh3B,KAAKq3B,EAAM,GAC3B,GACF,IACO0mB,CACT,GAAC,CAAA/gD,IAAA,uBAAAtB,MAED,WACE0E,KAAK3G,MAAMo9B,aAAez2B,KAAK3G,MAAMo9B,YAAYz2B,KAAK3G,MAAMw8B,SAC9D,GAEA,CAAAj5B,IAAA,eAAAtB,MAEA,WAAiB,IAAD07C,EAAA,KACd5N,EAAqCppC,KAAK3G,MAAlCqf,EAAM0wB,EAAN1wB,OAAQ1O,EAAQo/B,EAARp/B,SAAU0D,EAAM07B,EAAN17B,OACpBkwC,EAAiB59C,KAAK69C,kBAAkB79C,KAAK3G,MAAM+8B,SAASp2B,KAAK3G,MAAMw8B,WAC7E,OAAOnwB,OAAOmG,KAAK7L,KAAK8+B,aAAa5iC,KAAI,SAAC+6B,GACxC,IAAMnW,EAAemW,KAASjtB,EAAWA,EAASitB,GAAS,KACrDoS,EAAepS,KAASvpB,EAASA,EAAOupB,GAAS,KAIvD,GAA6C,IAAvCvxB,OAAOmG,KAAK+xC,GAAgB3gD,QAAkB2gD,GAAkBA,EAAe5G,EAAK39C,MAAMu9B,SAAWgnB,EAAe5G,EAAK39C,MAAMu9B,OAAOW,SAASN,GACnJ,OAAQ/7B,EAAAA,cAAA,OAAK0B,IAAKq6B,IAGpB,IAAMuS,EAAa,CACjB1S,UAAWG,EACX8H,UAAWiY,EAAKlY,YAAY7H,GAAO8H,UACnCvjC,SAAUw7C,EAAKlY,YAAY7H,GAAOz7B,UAVnB,SAAC0C,GAAC,OAAK84C,EAAK39C,MAAM08B,aAAa73B,EAAG84C,EAAK39C,MAAMw8B,SAAUoB,EAAM,EAW5EpB,SAAUmhB,EAAK39C,MAAMw8B,SACrB9T,gBAAiBi1B,EAAK39C,MAAM0oB,gBAC5BrJ,OAAQA,GAAUA,EAAOue,GACzBnW,aAAAA,EACAuoB,aAAAA,GAEF,OACEnuC,EAAAA,cAAA,OAAKC,UAAU,aAAayB,IAAKq6B,GACQ,eAAtC+f,EAAKlY,YAAY7H,GAAO8H,WAA8BiY,EAAK39C,MAAM08B,aAChE,CAAEz1B,OAAQ,CAAEhF,MAAO07C,EAAK3M,cAAc2M,EAAKlY,YAAY7H,GAAO6mB,WAAc9G,EAAK39C,MAAMw8B,SAAUoB,GAE5D,iBAAtC+f,EAAKlY,YAAY7H,GAAO8H,WAAgC58B,YAAW,WAClE60C,EAAK39C,MAAM08B,aACT,CAAEz1B,OAAQ,CAAEhF,MAAO07C,EAAKlY,YAAY7H,GAAOgI,WAAW+X,EAAKlY,YAAY7H,GAAO6mB,WAAc9G,EAAK39C,MAAMw8B,SAAUoB,EACrH,GAAG,IAAMve,GAAUA,EAAOue,IAAW/7B,EAAAA,cAAA,SAAIwd,EAAOue,IAET,aAAtC+f,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAAC6iD,EAAAA,SAAQr4C,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,IAEjB,WAAtCwN,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAAC8iD,EAAAA,OAAMt4C,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,IAEf,WAAtCwN,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAACylB,EAAAA,OAAMjb,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,EAAU,CAAE7S,QAAUqgB,EAAK39C,MAAMs9B,SAAWqgB,EAAK39C,MAAMs9B,QAAQM,IAAW,MAEzF,oBAAtC+f,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAAC+tC,EAAAA,eAAcvjC,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,EAAU,CAAE7S,QAAUqgB,EAAK39C,MAAMs9B,SAAWqgB,EAAK39C,MAAMs9B,QAAQM,IAAW,MAEjG,UAAtC+f,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAAC61C,EAAAA,MAAKrrC,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,IAEd,UAAtCwN,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAAC85C,EAAAA,MAAKtvC,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,IAEd,UAAtCwN,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAAC+iD,EAAAA,MAAKv4C,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,IAEd,yBAAtCwN,EAAKlY,YAAY7H,GAAO8H,WACvB7jC,EAAAA,cAACgjD,EAAAA,mBAAkBx4C,OAAAgoB,OAAA,GAAKspB,EAAKlY,YAAY7H,GAAOgI,WAAgBuK,EAAU,CAAE7S,QAAUqgB,EAAK39C,MAAMs9B,SAAWqgB,EAAK39C,MAAMs9B,QAAQM,IAAW,MAIlJ,GACF,GAEA,CAAAr6B,IAAA,eAAAtB,MACA,SAAcyhC,EAAM1jC,GAClB,IAAM4mC,EAAc,SAAU/hC,GAC5B8B,KAAK3G,MAAM28B,aAAa93B,EAAG8B,KAAK3G,MAAMw8B,SAAU71B,KAAK3G,MAAM2oB,aAAchiB,KAAK3G,MAAM4oB,SAAUjiB,KAAKi4B,cAAc3hB,KAAKtW,MAAOA,KAAKk4B,YAAY5hB,KAAKtW,MAAOA,KAAKm+C,oBAAoBn+C,KAAK3G,MAAMu9B,OAChM,EAAEtgB,KAAKtW,MACD24C,EAAW/gB,KAAKY,MAAMZ,KAAKC,UAAUx+B,IAE3C,cADOs/C,EAASyF,SAEdljD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,UACbD,EAAAA,cAAA,SAAAwK,OAAAgoB,OAAA,CAAQryB,GAAIhC,EAAM+kD,SAAW/kD,EAAM+kD,SAAW,SAAU7kC,QAAS0mB,EAAa9kC,UAAU,mDAAsDw9C,GAC3Iv9C,IAAAA,EAAO2hC,KAKlB,GAAC,CAAAngC,IAAA,wBAAAtB,MAED,SAAuB+iD,EAAYC,EAAYjlD,GAC7C,IAAM4mC,EAAc,SAAU/hC,GAC5B8B,KAAK3G,MAAM28B,aAAa93B,EAAG8B,KAAK3G,MAAMw8B,SAAU71B,KAAK3G,MAAM2oB,aAAchiB,KAAK3G,MAAM4oB,SAAUjiB,KAAKi4B,cAAc3hB,KAAKtW,MAAOA,KAAKk4B,YAAY5hB,KAAKtW,MAAOA,KAAKm+C,oBAAoBn+C,KAAK3G,MAAMu9B,OAChM,EAAEtgB,KAAKtW,MACDu+C,EAAoB,SAAUrgD,GAC9B7E,EAAMmlD,aACRnlD,EAAMmlD,eAENx+C,KAAK3G,MAAMue,QAAQy7B,QAEvB,EAAE/8B,KAAKtW,MACD24C,EAAW/gB,KAAKY,MAAMZ,KAAKC,UAAUx+B,IAG3C,cAFOs/C,EAAS6F,oBACT7F,EAASyF,SAEdljD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAAwK,OAAAgoB,OAAA,CAAQryB,GAAIhC,EAAM+kD,SAAW/kD,EAAM+kD,SAAW,SAAU7kC,QAAS,SAACrb,GAAQA,EAAEiT,iBAAkB8uB,EAAY/hC,EAAG,EAAG/C,UAAU,gCAAmCw9C,GAC1Jv9C,IAAAA,EAAOijD,IAEVnjD,EAAAA,cAAA,SAAAwK,OAAAgoB,OAAA,CAAQnU,QAAS,SAACrb,GAAQA,EAAEiT,iBAAkBotC,EAAkBrgD,EAAG,EAAG/C,UAAU,mDAAsDw9C,GACnIv9C,IAAAA,EAAOkjD,KAKlB,GAAC,CAAA1hD,IAAA,SAAAtB,MAED,WACE,OAAQJ,EAAAA,cAAA,WAAK,6BACf,gGAAC,CAhN6B,CAASA,EAAAA,8uCCiKzC,WAAeoc,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBAhQQ,SAACle,GAChC,IAAM8wB,EAAO,IAAI8B,gBAAgB5yB,EAAM2c,SAASkW,QAAQnV,IAAI,SAAW,IAChBzd,EAAAC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhDilD,EAAYnlD,EAAA,GAAEolD,EAAeplD,EAAA,IAEpCc,EAAAA,EAAAA,YAAU,WACRf,EAAM41B,4BAA4B9E,EACpC,GAAG,CAACA,KAEJ/vB,EAAAA,EAAAA,YAAU,WACJf,EAAM60B,OAAOywB,GACnB,GAAG,CAACtlD,EAAM60B,SAEV9zB,EAAAA,EAAAA,YAAU,WACR+H,YAAW,WAAQy8C,EAAAA,EAAaC,SAAU,GAAG,IAC/C,GAAG,CAACJ,IAEJ,IAAMK,EAAsB,SAAAzjD,GAC1BhC,EAAMue,QAAQhY,KAAK,sBAADrE,OAAuBF,EAAE,SAC7C,EAkBM0jD,EAAmC,SAAA1jD,GACvChC,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OAlBa,SAAA1c,GAC7BhC,EAAMg2B,uBAAuBh0B,GAAI4c,MAAK,WACpC5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,6DACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAM41B,4BAA4B9E,EACpC,IAAE,OAAO,SAAA7R,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,CAI0BoW,CAAuBh0B,EAAG,EAChDiF,OAAQlF,IAAAA,EAAO,8DACf8d,OAAQ,SACRC,UAAU,GAEd,EAkBMuN,EAAwB,SAAAzD,GAC5B,IAAM0D,EAjB0B,SAAA1D,GAChC,OAAIA,EAAgB8C,aACXJ,IAAO1C,EAAgB8C,cAAcxc,OAAOsc,EAAAA,8BAG9CF,IAAO1C,EAAgB2C,YAAYrc,OAAOsc,EAAAA,6BACnD,CAWqBe,CAA0B3D,GAC7C,GAAyC,QAArCA,EAAgBqD,iBAClB,OACEprB,EAAAA,cAAAA,EAAAA,SAAA,KACGyrB,EAAY,IACbzrB,EAAAA,cAAA,KAAGC,UAAU,8BAA6B,aAIhD,IAAM6jD,EAAqBC,EAAiBh8B,GAC5C,OACE/nB,EAAAA,cAAAA,EAAAA,SAAA,KACGyrB,EAAY,IACZq4B,GAAsB9jD,EAAAA,cAAA,QAAMC,UAAU,kBAAkB6jD,GAG/D,EAEMC,EAAmB,SAAAh8B,GACvB,IAAM4oB,EAAQ5oB,EAAgBK,kBAAkBrmB,OAC1CmzB,EAAYnN,EAAgBK,kBAAkBvnB,QAAO,SAAAwnB,GAAc,OAAIA,EAAeC,YAAY,IAAEvmB,OAC1G,GAAyC,wBAArCgmB,EAAgBqD,kBAAwD,IAAVulB,GAAeA,IAAUzb,EACzF,MAAO,GAET,IAAM8uB,EAAerT,EAAQzb,EACvB+uB,GAAmB/T,EAAAA,EAAAA,eAAc,IAAM8T,EAAerT,EAAO,GACnE,MAAM,GAANtwC,OAAUH,IAAAA,EAAO,6CAA4C,MAAAG,OAAK2jD,EAAY,MAAA3jD,OAAK4jD,EAAgB,KACrG,EAEMryB,EAAuB,SAAA7J,GAC3B,OAAOtF,EAAAA,EAAAA,yBAAwBsF,EAAgBuC,gBACjD,EAEMoH,EAAqB,SAAA3J,GACzB,OAAO/F,EAAAA,EAAAA,uBAAsB+F,EAAgBwC,cAAepsB,EAAMsB,MACpE,EAaMykD,EAAa,SAAAn8B,GACjB,GAAKA,EAAgBK,mBAAkE,IAA7CL,EAAgBK,kBAAkBrmB,OAE5E,MAAM,QAAN1B,OAAe0nB,EAAgBK,kBAAkBpnB,KAAI,SAAAqnB,GAAc,OAAIA,EAAe/mB,OAAOG,IAAI,IAAEgB,KAAK,MAAK,SAC/G,EAkCMghD,EAAoB,WACxB,IAAMU,EAAa15B,IAAOtsB,EAAM60B,OAAOoxB,QAAQ,SAASC,SAClDC,EAAW75B,IAAOtsB,EAAM60B,OAAOuxB,MAAM,SAASF,SACpDlmD,EAAM61B,mCAAmCmwB,EAAYG,EACvD,EAEA,OACEtkD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,MAAIC,UAAU,0BACZD,EAAAA,cAAA,MAAIC,UAAU,qBACZD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,yCAAyC,IAAE/B,EAAM+vB,UAA4C,IAAhC/vB,EAAM+vB,SAASgD,eAAuBqyB,GAAY,KAAAljD,OAASH,IAAAA,EAAO,QAAO,KAAAG,OAAIlC,EAAM+vB,SAASgD,oBACzI3yB,IAA3BJ,EAAMs0B,kBAAkCt0B,EAAMs0B,iBAAiB1wB,OAAS,GACvE/B,EAAAA,cAAA,OAAKC,UAAU,sBAAsBoe,QAAS,WAAF,OAAQmlC,GAAiBD,EAAa,GAC/ErjD,IAAAA,EAAO,wCACPqjD,GAAgBvjD,EAAAA,cAAA,KAAGC,UAAU,oCAAmC,WAC/DsjD,GAAgBvjD,EAAAA,cAAA,KAAGC,UAAU,oCAAmC,sBAI3C1B,IAA3BJ,EAAMs0B,uBAAoEl0B,IAAlCJ,EAAMw0B,0BAC9C3yB,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,SAEMvD,IAA3BJ,EAAMs0B,kBAAoE,IAAlCt0B,EAAMs0B,iBAAiB1wB,QAC9D/B,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,gEAGnBF,EAAAA,cAAA,OAAK6Q,MAAO,CAAEqS,QAASqgC,EAAe,OAAS,QAAUtjD,UAAU,+BACjED,EAAAA,cAACwkD,EAAAA,EAAiB,CAChBC,UA7DQ,SAAA9E,GAChB,QAAsCphD,IAAlCJ,EAAMw0B,wBAAuC,OAAO3yB,EAAAA,cAAAA,EAAAA,SAAA,MAExD,IAAM0kD,EAAYj6B,IAAOk1B,GACnBgF,EAAWl6B,IAAOi6B,EAAUN,QAAQ,OAAOC,UAC3CO,EAASn6B,IAAOi6B,EAAUH,MAAM,OAAOF,UAEvCQ,EAAY1mD,EAAMw0B,wBAAwB9xB,QAAO,SAAAknB,GACrD,IAAM+8B,EAAsBr6B,IAAO1C,EAAgB8C,cAAgB9C,EAAgB2C,YACnF,OAAOo6B,GAAuBH,GAAYG,GAAuBF,CACnE,IACA,OAAyB,IAArBC,EAAU9iD,OAAqB,KAEjC/B,EAAAA,cAAA,OAAKC,UAAU,yBACZ4kD,EAAUtgD,MAAM,EAAG,GAAGvD,KAAI,SAAA+mB,GAAe,OACxC/nB,EAAAA,cAAA,OACEC,UAAU,4BACVyB,IAAKqmB,EAAgB5nB,GACrB,WAAS,4BACT,WAAU+jD,EAAWn8B,GACrB1J,QAAS,WAAF,OAAQlgB,EAAMue,QAAQhY,KAAK,sBAADrE,OAAuB0nB,EAAgB5nB,GAAE,SAAQ,GAnFjE,SAAA4nB,GACzB,OAAIA,EAAgB8C,aACXJ,IAAO1C,EAAgB8C,cAAcxc,OAAO,SAG9Coc,IAAO1C,EAAgB2C,YAAYrc,OAAO,QACnD,CA+EW02C,CAAmBh9B,GAAkB,IACtC/nB,EAAAA,cAAA,QAAMC,UAAU,iBACb2xB,EAAqB7J,GAAiB,KAAG2J,EAAmB3J,IAE3D,IAId,EA+BgC3S,MAAM,OAC5B4vC,cAAe,SAAC1xB,GAAS,OAAKn1B,EAAM80B,SAASK,EAAU,EACvD2xB,aAAc,CACZ7vC,MAAO,OACPC,OAAQ,OACRhI,OAAQ,IACR1G,KAAM,QACNH,IAAK,IACL0+C,MAAO,KAETC,iBAAkB,CAChB3hC,gBAAiB,WAEnB4hC,eAAgB,CACd5hC,gBAAiB,UACjB6hC,YAAa,OAGjBrlD,EAAAA,cAAC48C,EAAAA,QAAc,CAAC38C,UAAU,SAAS48C,OAAO,QAAQ18C,GAAG,4BAA4BmlD,MAAI,KAEvFtlD,EAAAA,cAAA,OAAK6Q,MAAO,CAAEqS,QAASqgC,EAAe,OAAS,eACjBhlD,IAA3BJ,EAAMs0B,kBAAkCt0B,EAAMs0B,iBAAiB1wB,OAAS,GACvE5D,EAAMs0B,iBAAiBzxB,KAAI,SAAA+mB,GACzB,OACE/nB,EAAAA,cAAA,MAAI0B,IAAKqmB,EAAgB5nB,GAAIF,UAAU,mBACrCD,EAAAA,cAAA,WACEA,EAAAA,cAAA,OACEC,UAAU,yBACVoe,QAAS,WAAF,OAAQulC,EAAoB77B,EAAgB5nB,GAAG,GAEtDH,EAAAA,cAAA,QAAMC,UAAU,SAASurB,EAAsBzD,IAC/C/nB,EAAAA,cAAA,SACEA,EAAAA,cAAA,QAAMC,UAAU,cAAcyxB,EAAmB3J,IAAyB,IAC1E/nB,EAAAA,cAAA,QAAMC,UAAU,cA/GZ,SAAA8nB,GACxB,OAAOrF,EAAAA,EAAAA,kBAAiBqF,EAAgB1I,QAC1C,CA6GoDsS,CAAkB5J,IA3GzC,SAAAA,GAC3B,OAAIA,EAAgBgD,qBAAuBhD,EAAgBuC,iBAAmBvC,EAAgBuC,kBAAoBvK,EAAAA,0BACzG/f,EAAAA,cAAA,QAAMC,UAAU,cAAa,MAAIC,IAAAA,EAAO,oCAE1CF,EAAAA,cAAAA,EAAAA,SAAA,KACT,CAuG8B8xB,CAAqB/J,GAAiB/nB,EAAAA,cAAA,WAC9CA,EAAAA,cAAA,QAAMC,UAAU,cAAc2xB,EAAqB7J,MAGvD/nB,EAAAA,cAAA,KACEue,KAAI,sBAAAle,OAAwB0nB,EAAgB5nB,GAAE,SAC9CF,UAAU,gCACVue,MAAOte,IAAAA,EAAO,oDACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACF2tC,EAAoB77B,EAAgB5nB,GACtC,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,SAEhCD,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,oBACVue,MAAOte,IAAAA,EAAO,sDACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACF4tC,EAAiC97B,EAAgB5nB,GACnD,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,YAKxC,MAGND,EAAAA,cAAA,OAAK6Q,MAAO,CAAEqS,QAASqgC,EAAe,OAAS,eACjBhlD,IAA3BJ,EAAMs0B,kBACLzyB,EAAAA,cAAC+xB,EAAAA,QAAU,CACT7D,SAAU/vB,EAAM+vB,SAChBxR,QAASve,EAAMue,WAO3B,u8CCrQuD,IAElC8J,EAAa,SAAA4F,GAChC,SAAA5F,IAAgB,IAAD6F,EAKZ,mGALYnG,CAAA,KAAAM,IACb6F,EAAAlG,EAAA,KAAAK,IACKjP,MAAQ,CACXguC,aAAc,OACdv+C,SAAU,KACXqlB,CACH,CAAC,4RAAAhG,CAAAG,EAAA4F,KAAA5F,IAAA,EAAA9kB,IAAA,YAAAtB,MAED,SAAWmlD,GAA+B,IAAjBv+C,EAAQof,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,GAAAA,UAAA,GAAG,IAClCthB,KAAKg3B,SAAS,CAAEypB,aAAAA,EAAcv+C,SAAAA,GAChC,GAAC,CAAAtF,IAAA,SAAAtB,MAED,WAAW,IAAD+sB,EAAA,KACR+gB,EAAmGppC,KAAK3G,MAAhGwoB,EAAkBunB,EAAlBvnB,mBAAoBO,EAAsBgnB,EAAtBhnB,uBAAwBC,EAAU+mB,EAAV/mB,WAAYC,EAAW8mB,EAAX9mB,YAAaC,EAAiB6mB,EAAjB7mB,kBAC7E,OACErnB,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,WACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,4DAA4DC,OAAQ,SAACn0B,GAAK,OACnF6B,EAAAA,cAACwlD,EAAAA,QAAc,CAAC1qC,SAAU3c,EAAM2c,SAAUyqC,aAAcp4B,EAAK5V,MAAMguC,aAAcv+C,SAAUmmB,EAAK5V,MAAMvQ,SAAUm9B,UAAWhX,EAAKgX,UAAU/oB,KAAK+R,IAC7IntB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,UAAUC,OAAQ,SAACn0B,GAAK,OACjC6B,EAAAA,cAACylD,EAAAA,QAAMj7C,OAAAgoB,OAAA,GACDr0B,EAAWipB,EAAW,CAAE+c,UAAWhX,EAAKgX,UAAU/oB,KAAK+R,GAC3Do4B,aAAcp4B,EAAK5V,MAAMguC,eACzB,IAENvlD,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,gBAAgBC,OAAQ,SAACn0B,GAAK,OACvC6B,EAAAA,cAACgvC,EAAAA,QAAYxkC,OAAAgoB,OAAA,GACPr0B,EAAWkpB,EAAiB,CAAE8c,UAAWhX,EAAKgX,UAAU/oB,KAAK+R,GACjEo4B,aAAcp4B,EAAK5V,MAAMguC,eACzB,IAENvlD,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,YAAYC,OAAQ,SAACn0B,GAAK,OACnC6B,EAAAA,cAAC88C,EAAAA,QAAatyC,OAAAgoB,OAAA,GACRr0B,EAAWwoB,EAAkB,CAAEwd,UAAWhX,EAAKgX,UAAU/oB,KAAK+R,GAClEo4B,aAAcp4B,EAAK5V,MAAMguC,eACzB,IAENvlD,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,iBAAiBC,OAAQ,SAACn0B,GAAK,OACxC6B,EAAAA,cAAC0lD,EAAAA,QAAiBl7C,OAAAgoB,OAAA,GACZr0B,EAAW+oB,EAAsB,CAAEid,UAAWhX,EAAKgX,UAAU/oB,KAAK+R,GACtEo4B,aAAcp4B,EAAK5V,MAAMguC,eACzB,IAENvlD,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,aAAaC,OAAQ,SAACn0B,GAAK,OACpC6B,EAAAA,cAAC0jC,EAAAA,QAAKl5B,OAAAgoB,OAAA,GACAr0B,EACAgpB,EAAU,CACdC,YAAaA,EACbT,mBAAoBA,EACpBD,cAAeyG,EAAKhvB,MAAMuoB,cAC1BD,aAAc0G,EAAKhvB,MAAMsoB,aACzB0d,UAAWhX,EAAKgX,UAAU/oB,KAAK+R,GAC/Bo4B,aAAcp4B,EAAK5V,MAAMguC,eACzB,IAES,IAM3B,gGAAC,CAnE+B,CAASvlD,EAAAA,goECsG3C,UA1GwB,SAAC7B,GACvB,IAAkDC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA3CqnD,EAAWvnD,EAAA,GAAEwnD,EAAcxnD,EAAA,IAElCc,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,IA0EA,OACErqB,EAAAA,cAAAA,EAAAA,SAAA,MACI7B,EAAMmD,QA7Be,WACzB,IAAKnD,EAAMu4C,gBAAgB30C,OAAQ,OAAO/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,+CACzD,IAAM2lD,EA/Ce,SAACzkD,GACtB,IAAKukD,EAAY5jD,OAAQ,OAAOX,EAChC,IAAM0kD,EAAQH,EAAYrhD,QAAQ,IAAK,MACvC,OAAOlD,EAAQP,QAAO,SAAAS,GAAM,MACA,OAAzBA,EAAO4uB,eAA0B5uB,EAAO4uB,cAAc61B,cAAc5hD,MAAM2hD,IAC3ExkD,EAAOG,KAAKwC,WAAW8hD,cAAc5hD,MAAM2hD,EAAM,GAErD,CAwC0BE,CAAe7nD,EAAMu4C,iBAC7C,OACE12C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,mCACZF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAAA,KAAGC,UAAU,yBAAwB,UACrCD,EAAAA,cAAA,SACE+T,KAAK,OAAO5T,GAAG,qBAAqBF,UAAU,eAC9CG,MAAOulD,EACPrlD,SAAU,SAAA0C,GAAC,OAAI4iD,EAAe5iD,EAAEoC,OAAOhF,MAAM2lD,cAAc,IAE7D/lD,EAAAA,cAAA,SAAO6rB,QAAQ,qBAAqB5rB,UAAU,aAAaC,IAAAA,EAAO,oCAGpE2lD,EAAgB9jD,QAAU/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,qDAC1C2lD,EAAgB9jD,OAAS,GACxB/B,EAAAA,cAAA,MAAIC,UAAU,eACX4lD,EAAgB7kD,KAAI,SAAA6yC,GAAO,OAxDjB,SAACyD,EAASvS,GAC7B,OAAIuS,EAAQpiB,UAERl1B,EAAAA,cAAA,MAAI0B,IAAK41C,EAAQn3C,GAAIF,UAAU,6BAC7BD,EAAAA,cAAA,OAAKC,UAAU,sBACbD,EAAAA,cAACkpB,EAAAA,QAAU,CAAC5nB,OAAQg2C,EAASpiB,WAAS,MAM5Cl1B,EAAAA,cAAA,MAAI0B,IAAK41C,EAAQn3C,GAAIF,UAAU,kBAAkBoe,QAAS0mB,GACxD/kC,EAAAA,cAAA,OAAKC,UAAU,sBACbD,EAAAA,cAACkpB,EAAAA,QAAU,CACT5nB,OAAQg2C,EACR73C,MAAOtB,EAAMsB,MACb41B,gBAAiB,SAAAtT,GAAa,OAAI5jB,EAAMw7C,sBAAsBrC,EAASv1B,EAAc,EACrFE,aAAc9jB,EAAM8jB,aACpBkT,kBAAmB,SAAAC,GAAe,OAAIj3B,EAAMy7C,wBAAwBtC,EAASliB,EAAgB,EAC7FhV,eAAgBjiB,EAAMiiB,eACtBhB,iBAAiBmB,EAAAA,EAAAA,yBAK3B,CA+B0C0lC,CAAapS,GAAS,SAAC7wC,GAAC,OA7B9C,SAACA,EAAG6wC,GAClB7wC,EAAEoC,SAAWpC,EAAEoC,OAAOyC,UAAUK,SAAS,oBAAsBlF,EAAEoC,OAAOyC,UAAUK,SAAS,sBAG7FlF,EAAEiT,iBACF9X,EAAM22C,UAAUjB,GAEpB,CAsBuE9O,CAAY/hC,EAAG6wC,EAAQ,GAAC,KAK/F,CAIsBqS,GACjB/nD,EAAMmD,QACLtB,EAAAA,cAACmmD,EAAAA,QAAa,CACZzP,gBAAiBv4C,EAAMu4C,gBACvB4C,0BAA2Bn7C,EAAMm7C,0BAA0Bn7C,EAAMmD,QACjE8kD,cAAe,CACb50B,SAAUrzB,EAAMmD,OAAOnB,GACvB8vB,aAAc9xB,EAAMmD,OAAO4uB,cAC3B5N,OAAQnkB,EAAMmD,OAAO03C,QACrBv3C,KAAMtD,EAAMmD,OAAOG,KACnBid,KAAMvgB,EAAMmD,OAAOod,KACnBmT,eAAgB1zB,EAAMmD,OAAOod,OAASk2B,EAAAA,OAASz2C,EAAM41C,wBAAwB51C,EAAMmD,UAAYye,EAAAA,2BAA6B5hB,EAAM0zB,eAClI5P,aAAc9jB,EAAMu2C,sBAAsBv2C,EAAMmD,QAChD+d,QAASlhB,EAAMkhB,QACfe,eAAgBjiB,EAAM41C,wBAAwB51C,EAAMmD,QACpDi2C,UAAU,IAAIzF,MAAOte,cACrBtJ,kBAAmB/rB,EAAM+rB,mBAE3BmvB,0BAA2B,SAAC7mC,EAAQkO,GAASklC,EAAe,IAAKznD,EAAMk7C,0BAA0Bl7C,EAAMmD,OAAMwtB,EAAAA,EAAA,GAAOtc,GAAM,IAAEglC,aAAa,IAAI1F,MAAOte,gBAAiB9S,EAAI,IAKnL,mMCzGO,SAAS7C,EAAgBqxB,GAC9B,IAAImX,EAAgBnmD,IAAAA,EAAOgvC,EAAK,CAAEpgC,SAAU,CAAC,CAAEuR,QAAS6uB,MAGxD,MAF6B,kBAAlBmX,IAA4BA,EAAgBnX,GAEnB,eAAhCmX,EAAcC,OAAO,EAAG,KAAsD,mBAA9BD,EAAcC,QAAQ,IACjEpX,EAEFmX,CACT,CAEO,SAAS7jC,EAAkB0sB,EAAKqX,GACrC,IAAIF,EAAgBnmD,IAAAA,EAAOgvC,EAAK,CAAEpgC,SAAU,CAAC,CAAEuR,QAASkmC,MAGxD,MAF6B,kBAAlBF,IAA4BA,EAAgBnX,GAEnB,eAAhCmX,EAAcC,OAAO,EAAG,KAAsD,mBAA9BD,EAAcC,QAAQ,IACjEC,EAEFF,CACT,CAEO,SAAS1oC,EAAuB6oC,GACrC,OAAOA,EAAO3tB,OAAO,GAAG4tB,cAAgBD,EAAOjiD,MAAM,GAAGD,QAAQ,KAAM,IACxE,06DCgBA,IAyUMoiD,EAAY,SAACC,GACjB,OAAOA,EAAIC,SACb,EAEMC,EAAa,SAAC3X,GAClB,OAAO,IAAI4C,KAAK5C,GAAK0X,SACvB,EAEMz4C,EAAY,SAAC24C,GACjB,OAAOr8B,IAAOq8B,GAASz4C,OAAO,aAChC,EAEM04C,EAAwB,SAAC7X,GAC7B,OAAOzkB,IAAOykB,EAAK,cAAckV,QAAQ,OAAOC,QAClD,EACM2C,EAAsB,SAAC9X,GAC3B,OAAOzkB,IAAOykB,EAAK,cAAcqV,MAAM,OAAOF,QAChD,EAEav8B,EAAiB,SAACF,GAC7B,OAAIA,GAAO,EAAU,cACjBA,GAAO,EAAU,iBACjB/jB,KAAKC,IAAI8jB,GAAO,KAAe,GAC/BA,EAAM,EAAU,gBACb,EACT,EAEA,WAAeL,EAAAA,EAAAA,cAAYlL,EAAAA,EAAAA,oBApW2C,SAACle,GAAkB,IAADsgC,EAAAC,EAAAuoB,EAAAtoB,EAAAuoB,EAAAC,EAEhFC,GAAUt3B,EAAAA,EAAAA,UAAQ,kBAAMrF,MAAS48B,SAAS,GAAI,UAAUjD,QAAQ,OAAOC,QAAQ,GAAE,IACjFiD,GAAUx3B,EAAAA,EAAAA,UAAQ,kBAAMrF,IAAO,IAAIqnB,MAAQyS,MAAM,OAAOF,QAAQ,GAAE,IAEuJjmD,EAAAC,GAA7LC,EAAAA,EAAAA,UAAsE,QAAjC,QAAfmgC,EAAAtgC,EAAM6pB,iBAAS,IAAAyW,OAAA,EAAfA,EAAiB8oB,4BAAsC98B,IAAO68B,GAASD,SAAwB,QAAhB3oB,EAACvgC,EAAM6pB,iBAAS,IAAA0W,OAAA,EAAfA,EAAiB6oB,2BAA4B,QAAQnD,QAAQ,OAAOC,SAAW+C,GAAQ,GAAxN9zB,EAASl1B,EAAA,GAAEopD,EAAYppD,EAAA,GAC8B6vB,EAAA5vB,GAA9BC,EAAAA,EAAAA,UAAsBgpD,GAAQ,GAArD/zB,EAAOtF,EAAA,GAAEw5B,EAAUx5B,EAAA,GAC0CG,EAAA/vB,GAAtBC,EAAAA,EAAAA,UAAmB,IAAG,GAA7DopD,EAAet5B,EAAA,GAAEu5B,EAAkBv5B,EAAA,GAC8BE,EAAAjwB,GAAtBC,EAAAA,EAAAA,UAAmB,IAAG,GAAjEspD,EAAiBt5B,EAAA,GAAEu5B,EAAoBv5B,EAAA,GACgBuE,EAAAx0B,GAAxBC,EAAAA,EAAAA,WAAkB,GAAM,GAAvDwgD,EAAWjsB,EAAA,GAAEi1B,EAAcj1B,EAAA,GACyEE,EAAA10B,GAAnEC,EAAAA,EAAAA,UAAgD,QAAxC2oD,EAAwB,QAAxBtoB,EAASxgC,EAAM6pB,iBAAS,IAAA2W,OAAA,EAAfA,EAAiBhW,sBAAc,IAAAs+B,EAAAA,EAAI,gBAAe,GAApGv+B,EAAYqK,EAAA,GAAEg1B,EAAeh1B,EAAA,GACkEyM,GAAAnhC,GAA5DC,EAAAA,EAAAA,UAAkD,QAA1C4oD,EAAyB,QAAzBC,EAAUhpD,EAAM6pB,iBAAS,IAAAm/B,OAAA,EAAfA,EAAiBa,uBAAe,IAAAd,GAAAA,GAAU,GAA/FtI,GAAapf,GAAA,GAAEyoB,GAAgBzoB,GAAA,GAEtC0oB,IAAqEC,EAAAA,EAAAA,kCAAiCP,EAA4B,OAATt0B,QAAS,IAATA,EAAAA,EAAa8zB,EAAgB,OAAP7zB,QAAO,IAAPA,EAAAA,EAAW+zB,GAAS,GAAMc,GAAAF,GAAjKrpD,KAAMkvB,QAAS,IAAAq6B,GAAG,GAAEA,GAAErpD,GAAOmpD,GAAPnpD,QAASC,GAASkpD,GAATlpD,UAAWC,GAAOipD,GAAPjpD,QAASwuB,GAAKy6B,GAALz6B,OAE3DvuB,EAAAA,EAAAA,YAAU,WAEHH,IACP,GAAG,CAACu0B,EAAWC,EAASq0B,IAExB,IAAMS,GAAkB,SAACC,GACvBd,EAAac,GAEb,IAAMC,EAAiB99B,IAAc,OAAP8I,QAAO,IAAPA,EAAAA,EAAW+zB,GAAS/W,KAAK9lB,IAAO69B,GAAO,QACjEC,GAAkB,GACpBpqD,EAAM+iC,aAAa,CAAEqmB,2BAA4BgB,GAErD,GAGArpD,EAAAA,EAAAA,YAAU,WACR,IAAMspD,EAAajpD,SAASK,eAAe,eAC3C,GAAkB,MAAd4oD,EAAJ,CAEA,IAAM5nD,EAAU,CAEdyI,MAAO,CACLhC,IAAKw/C,EAAW,QAChBz/C,IAAKy/C,EAAW,SAGlBx4C,OAAQ,CACNpJ,GAAIkJ,EACJxN,KAAM,SAAUP,GACd,OAAQA,CACV,GAGF8K,KAAM,OAGNrC,MAAO,CAACg+C,EAAW,QAASA,EAAW,UAQxC1nD,OAAeyb,WAAWuB,OAAOqsC,EAAY5nD,GAC7C4nD,EAAmB5tC,WAAWe,GAAG,SAAS,SAACnJ,EAAkBvD,GAC7C,IAAXA,EAAgBo5C,GAAgBtB,EAAsBv0C,EAAOvD,KAAgC,IAAXA,EAAgBw4C,EAAWT,EAAoBx0C,EAAOvD,MAC1IqtB,QAAQC,IAAI,0BACZD,QAAQC,IAAIttB,GAEhB,GAjC8B,CAkChC,GAAG,KAEH/P,EAAAA,EAAAA,YAAU,WAAO,IAADupD,EACRC,EAAcnpD,SAASK,eAAe,eAChC,OAAX8oD,QAAW,IAAXA,GAA+B,QAApBD,EAAXC,EAAqB9tC,kBAAU,IAAA6tC,GAAhCA,EAAkCltC,cAAc,CAC9ClS,MAAO,CACLhC,IAAKq/C,EAAUU,GACfhgD,IAAKs/C,EAAUY,IAEjBz+C,MAAO,CAAC69C,EAAmB,OAATpzB,QAAS,IAATA,EAAAA,EAAa8zB,GAAUV,EAAiB,OAAPnzB,QAAO,IAAPA,EAAAA,EAAW+zB,MAC7D,EACL,GAAG,CAACh0B,EAAWC,KAEfr0B,EAAAA,EAAAA,YAAU,WACRwkD,EAAAA,EAAaC,SACf,GAAG,CAAC7E,KAEJ5/C,EAAAA,EAAAA,YAAU,WACR,GAAKD,GAAL,CAEA,IAAMoe,EAAc7S,OAAO8S,QAASmQ,GAAclQ,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAgByC,EAAe9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC7MtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MANT,CAOtB,GAAG,CAAC9e,KAEJ,IA0CuBmC,GA1CjBunD,GAAsB,SAACrmC,GAC3B,GAAIolC,EAAgBrrB,SAAS/Z,GAAS,CAAC,IAADsmC,EACpCjB,EAAmBD,EAAgB7mD,QAAO,SAAAgoD,GAAO,OAAIA,IAAYvmC,CAAM,KACvE,IAAMwmC,EAAuB,GACvBC,EAA+D,QAApDH,EAAGzqD,EAAMsB,MAAMoB,QAAO,SAAAM,GAAI,OAAIA,EAAKhB,KAAOmiB,CAAM,IAAE,UAAE,IAAAsmC,OAAA,EAAjDA,EAAmDxnD,QACvE,IAAK2nD,EAAa,OAAM,IAEgB7nC,EAFhBE,koBAAAC,CAEDumC,GAAiB,QAAAvlC,EAAA,WAAG,IAAhCmP,EAAQtQ,EAAA9gB,MAEjB,GADe2oD,EAAYrkC,MAAK,SAAApjB,GAAM,OAAIA,EAAOnB,KAAOqxB,CAAQ,IACrD,OAAD,EAEVs3B,EAAqBpkD,KAAK8sB,EAC5B,EALA,IAAApQ,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAAc,GAKC,OAAAjF,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACDklD,EAAqBiB,EACvB,MACEnB,EAAmB,GAADtnD,OAAAG,EAAAC,EAAKinD,GAAe,CAAEplC,IAE5C,EAwDwBkzB,IAAY1P,EAAAA,yBAA5BK,yXAAuBsP,CAAK3P,EAAAA,yBAAwB4P,IAE5D,OACE11C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,iBACbD,EAAAA,cAAA,OAAKC,UAAU,QACbD,EAAAA,cAAA,OAAKwhC,IAAKgS,EAAMr+B,IAAI,MAEtBnV,EAAAA,cAAA,KAAGC,UAAU,oBAAoBC,IAAAA,EAAO,8CACxCF,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,cAAiBq1C,GAAO,CAC3Bz0C,SAAUuyB,EACVhzB,SAAU,SAAAgoD,GAAI,OAAID,GAAgBC,EAAO79B,IAAO69B,GAAMlE,QAAQ,OAAOC,SAAWiE,EAAK,EACrFW,cAAc,EACd31B,UAAWA,EACXC,QAASA,EACT6zB,QAASA,EACTE,QAASA,EACT4B,WAAqB,OAAT51B,QAAS,IAATA,EAAAA,EAAa8zB,KAE3BpnD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,YAAeq1C,GAAO,CACzBz0C,SAAUwyB,EACVjzB,SAAU,SAAAgoD,GAAI,OAAIb,EAAWa,EAAO79B,IAAO69B,GAAM/D,MAAM,OAAOF,SAAWiE,EAAK,EAC9Ea,YAAY,EACZ71B,UAAWA,EACXC,QAASA,EACT6zB,QAAkB,OAAT9zB,QAAS,IAATA,EAAAA,EAAa8zB,EACtBE,QAASA,EACT4B,WAAmB,OAAP31B,QAAO,IAAPA,EAAAA,EAAW+zB,MAG3BtnD,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAAA,OAAKG,GAAG,cAAcF,UAAU,iBAElCD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASgzB,EACTx+C,SAAU,SAAA0C,GAAC,OAAI8kD,EAAe9kD,EAAEoC,OAAO0mB,QAAQ,IAEjD9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,wDAGjB4+C,GACC9+C,EAAAA,cAAAA,EAAAA,SAAA,KACGopD,EAAAA,QAAQpoD,KAAI,SAAAqoD,GAAM,OACjBrpD,EAAAA,cAAA,KAAG0B,IAAK2nD,GACNrpD,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,iBACLsS,KAAK,QACL3T,MAAOipD,EACPv9B,QAASpD,IAAiB2gC,EAC1B/oD,SAAU,SAAA0C,GAAC,OAnEJ,SAACqmD,GAC1BtB,EAAgBsB,GAChBlrD,EAAM+iC,aAAa,CAAEvY,eAAgB0gC,GACvC,CAgEmCC,CAAmBtmD,EAAEoC,OAAOhF,MAAgB,IAE7DJ,EAAAA,cAAA,YAAOE,IAAAA,EAAO,+CAADG,OAAgDgpD,MAE7D,IAENrpD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAS8yB,GACTt+C,SAAU,SAAA0C,GAAC,OAzEAumD,EAyEwBvmD,EAAEoC,OAAO0mB,QAxE5Dm8B,GAAiBsB,QACjBprD,EAAM+iC,aAAa,CAAE8mB,gBAAiBuB,IAFZ,IAACA,CAyEyC,IAEtDvpD,EAAAA,cAAA,YACGE,IAAAA,EAAO,wDACP,IACDF,EAAAA,cAAC4hC,EAAAA,QAAI,CACHC,KAAM3hC,IAAAA,EAAO,gEACb4hC,UAAU,mBACV6a,cAAY,QAOxB38C,EAAAA,cAAA,SAAIE,IAAAA,EAAO,+CACXF,EAAAA,cAAA,OAAKC,UAAU,oBACW,IAAvB9B,EAAMsB,MAAMsC,QAAgB/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,8CAC3C/B,EAAMsB,MAAMsC,OAAS,GAAK5D,EAAMsB,MAAMuB,KAAI,SAAAwoD,GAAK,OApI9BroD,EAoIqDqoD,EAlI7ExpD,EAAAA,cAAA,KAAG0B,IAAKP,EAAKhB,IACXH,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAS47B,EAAgBrrB,SAASl7B,EAAKhB,IACvCG,SAAU,WAAF,OAAQqoD,GAAoBxnD,EAAKhB,GAAG,IAE9CH,EAAAA,cAAA,YAAOmB,EAAKM,QATO,IAACN,CAoI2D,MAGjFnB,EAAAA,cAAA,OAAKC,UAAU,kBACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,iDACXF,EAAAA,cAAA,OAAKC,UAAU,mBA1HAmB,IA2HEkjB,EAAAA,EAAAA,SAAQojC,EAAgB1mD,KAAI,SAAAshB,GAAM,OA1GrC,SAACA,GAA8B,IAADmnC,EAClD,OAAwD,QAAjDA,EAAAtrD,EAAMsB,MAAMoB,QAAO,SAAAM,GAAI,OAAIA,EAAKhB,KAAOmiB,CAAM,IAAE,UAAE,IAAAmnC,OAAA,EAAjDA,EAAmDroD,UAAW,EACvE,CAwG+DsoD,CAAcpnC,EAAO,MAvHhFlhB,GAAQqK,MAAK,SAAClI,EAAWjB,GAAS,IAAAqnD,EAAAC,EAAAC,EAAAC,EAAA,OAA+C,QAA1CH,EAA6B,QAA7BC,EAACrmD,EAAEylB,aAAaN,UAAa,IAAAkhC,OAAA,EAA5BA,EAA8B3gC,mBAAW,IAAA0gC,EAAAA,EAAI,IAA+C,QAA9CE,EAAiC,QAAjCC,EAAKxnD,EAAE0mB,aAAaN,UAAa,IAAAohC,OAAA,EAA5BA,EAA8B7gC,mBAAW,IAAA4gC,EAAAA,EAAI,EAAE,IAAE7oD,KAAI,SAAAM,GAAM,IAAAy9C,EAAAC,EAAA,OACpJh/C,EAAAA,cAAA,KACE0B,IAAKJ,EAAOnB,GACZF,UAAW8oB,IAAW,qCAAsCjB,EAA6D,QAA/Ci3B,EAAkC,QAAlCC,EAAC19C,EAAO0nB,aAAaN,UAAa,IAAAs2B,OAAA,EAAjCA,EAAmC/1B,mBAAW,IAAA81B,EAAAA,EAAI,GAAI,CAAEh+C,SAAU6mD,EAAkBvrB,SAAS/6B,EAAOnB,MAC/Kke,QAAS,WAAF,OA/BgBmT,EA+BclwB,EAAOnB,QA9B9CynD,EAAkBvrB,SAAS7K,GAC7Bq2B,EAAqBD,EAAkB/mD,QAAO,SAAAkpD,GAAS,OAAIA,IAAcv4B,CAAQ,KAEjFq2B,EAAqB,GAADxnD,OAAAG,EAAAC,EAAKmnD,GAAiB,CAAEp2B,MAJlB,IAACA,CA+BwB,GAE/CxxB,EAAAA,cAAA,YAAOsB,EAAOG,MACZ,IAVazB,EAAAA,cAAAA,EAAAA,SAAA,QA6HjBA,EAAAA,cAAA,OAAKC,UAAU,+BACbD,EAAAA,cAAA,KAAGC,UAAU,eAAc0iB,EAAAA,EAAAA,eAAc,OACzC3iB,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GAC5D9B,EAAAA,cAACgqD,EAAAA,QAAU,CACT5gC,MAAM,gBAAgBvqB,KAAMkvB,GAAW+wB,YAAaA,EAAar/C,MAAOtB,EAAMsB,MAAOipB,aAAcA,EACnGk2B,cAAeA,OAIrB5+C,EAAAA,cAAA,OAAKC,UAAU,+BACbD,EAAAA,cAAA,KAAGC,UAAU,eAAc0iB,EAAAA,EAAAA,eAAc,OACzC3iB,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GAC5D9B,EAAAA,cAACgqD,EAAAA,QAAU,CACT5gC,MAAM,aAAavqB,KAAMkvB,GAAW+wB,YAAaA,EAAar/C,MAAOtB,EAAMsB,MAC3EipB,aAAcA,EAAck2B,cAAeA,OAIjD5+C,EAAAA,cAAA,OAAKC,UAAU,+BACbD,EAAAA,cAAA,KAAGC,UAAU,eAAc0iB,EAAAA,EAAAA,eAAc,OACzC3iB,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GAC5D9B,EAAAA,cAACgqD,EAAAA,QAAU,CACT5gC,MAAM,OAAOvqB,KAAMkvB,GAAW+wB,YAAaA,EAAar/C,MAAOtB,EAAMsB,MACrEipB,aAAcA,EAAck2B,cAAeA,OAIjD5+C,EAAAA,cAAA,OAAKC,UAAU,+BACbD,EAAAA,cAAA,KAAGC,UAAU,eAAc0iB,EAAAA,EAAAA,eAAc,OACzC3iB,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GAC5D9B,EAAAA,cAACgqD,EAAAA,QAAU,CACT5gC,MAAM,cAAcvqB,KAAMkvB,GAAW+wB,YAAaA,EAAar/C,MAAOtB,EAAMsB,MAC5EipB,aAAcA,EAAck2B,cAAeA,OAIjD5+C,EAAAA,cAAA,OAAKC,UAAU,+BACbD,EAAAA,cAAA,KAAGC,UAAU,eAAc0iB,EAAAA,EAAAA,eAAc,OACzC3iB,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GAC5D9B,EAAAA,cAACgqD,EAAAA,QAAU,CACT5gC,MAAM,YAAYvqB,KAAMkvB,GAAW+wB,YAAaA,EAAar/C,MAAOtB,EAAMsB,MAC1EipB,aAAcA,EAAck2B,cAAeA,OAIjD5+C,EAAAA,cAAA,OAAKC,UAAU,+BACbD,EAAAA,cAAA,KAAGC,UAAU,eAAc0iB,EAAAA,EAAAA,eAAc,OACzC3iB,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GAC5D9B,EAAAA,cAACgqD,EAAAA,QAAU,CACT5gC,MAAM,YAAYvqB,KAAMkvB,GAAW+wB,YAAaA,EAAar/C,MAAOtB,EAAMsB,MAC1EipB,aAAcA,EAAck2B,cAAeA,GAAeiB,KAAM,GAAID,KAAM,MAIhF5/C,EAAAA,cAAA,OAAKC,UAAU,+BACbD,EAAAA,cAAA,KAAGC,UAAU,eAAc0iB,EAAAA,EAAAA,eAAc,OACzC3iB,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GAC5D9B,EAAAA,cAACgqD,EAAAA,QAAU,CACT5gC,MAAM,WAAWvqB,KAAMkvB,GAAW+wB,YAAaA,EAAar/C,MAAOtB,EAAMsB,MACzEipB,aAAcA,EAAck2B,cAAeA,GAAeiB,KAAM,GAAID,KAAM,OAOxF,umCC/VA,WAAer4B,EAAAA,EAAAA,cAAYm6B,EAAAA,EAAAA,IAdA,SAAAvjD,GAKzB,OACE6B,EAAAA,cAACiqD,EAAAA,QAAc,CACbrb,cAAe,CACbsb,iBAPmB,SAAA/U,GACvB,OAAOvmB,EAAAA,QAAM8R,KAAK,uBAAwB,CAAEyU,KAAAA,GAAQ,CAAEtmB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC5E,IASF,yuDChBoC,IAEf8zB,EAAQ,SAAAz2B,GAAA,SAAAy2B,IAAA,mGAAA38B,CAAA,KAAA28B,GAAA18B,EAAA,KAAA08B,EAAAz8B,UAAA,6RAAAC,CAAAw8B,EAAAz2B,KAAAy2B,IAAA,EAAAnhD,IAAA,SAAAtB,MAC3B,WAAW,IAADisB,EAAA,KACF7O,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAAgFppC,KAAK3G,MAA7EgsD,EAAOjc,EAAPic,QAAStmB,EAASqK,EAATrK,UAAWjI,EAASsS,EAATtS,UAAWjB,EAAQuT,EAARvT,SAAUwT,EAAYD,EAAZC,aAAcvoB,EAAYsoB,EAAZtoB,aACzD7R,EAAOjP,KAAK3G,MAAM4V,MAAQ,WAC1Bu6B,iWAAUxf,CAAA,GAAQhqB,KAAK3G,cACtBmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,YACXu6B,EAAW6b,QAElB,IAAIC,EAAcD,EACS,oBAAhBC,IACTA,EAAcA,KAGhB,IAAIC,IAAclc,GAAiBvoB,GAAgC,MAAhBuoB,IAAyB,EAM5E,OAL2B,IAAvBG,EAAWxiB,UACbu+B,GAAY,UAEP/b,EAAWxiB,QAGhB9rB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,WACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,QAAAwK,OAAAgoB,OAAA,CACEze,KAAMA,EACNtS,KAAMm6B,EACNz7B,GAAIy7B,GACA0S,EAAU,CACdxiB,QAASu+B,EACT/pD,SAAU,SAAC0C,GAAC,OAAKqpB,EAAKluB,MAAMmC,SAAS,CAAE8E,OAAQ,CAAE2O,KAAAA,IAAU4mB,EAAUiB,EAAU,KAEjF57B,EAAAA,cAAA,YACGE,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,MAG/Cpe,EAAOxc,KAAI,SAAAoc,GAAG,OACbpd,EAAAA,cAAA,QAAMC,UAAU,cAAc,aAAW,QAAQ,eAAa,QAAQyB,IAAK0b,EAAKvM,MAAO,CAAE6S,MAAO,QAC7F2I,EAAKluB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACvC,IAER+sC,GAAWnqD,EAAAA,cAAC4hC,EAAAA,QAAI,CAACC,KAAMuoB,EAAatoB,UAAS,GAAAzhC,OAAKs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,EAAS,iBAMzG,gGAAC,CAvD0B,CAAS57B,EAAAA,o4ECAoC,IAEpEylD,EAAM,SAAA9hB,GACV,SAAA8hB,EAAatnD,GAAQ,IAADkuB,EAkCjB,mGAlCiBnG,CAAA,KAAAu/B,IAClBp5B,EAAAlG,EAAA,KAAAs/B,EAAA,CAAMtnD,KACDylC,YAAc,CACjB5C,MAAO,CACL6C,UAAW,QACXE,WAAY,CACVhwB,KAAM,UAGVkwB,SAAU,CACRJ,UAAW,QACXE,WAAY,CACVhwB,KAAM,aAGVu2C,iBAAkB,CAChBzmB,UAAW,QACXE,WAAY,CACVhwB,KAAM,aAGVmjC,OAAQ,CACNrT,UAAW,QACX+e,QAAS,SACT7e,WAAY,CACV5jC,GAAI,SACJsB,KAAM,SACNsS,KAAM,QACN0nB,QAAS,CACP,CAAEsI,WAAY,CAAEtiC,KAAM,UAAWrB,MAAO,OACxC,CAAE2jC,WAAY,CAAEtiC,KAAM,QAASrB,MAAO,WAI7CisB,CACH,CAAC,4RAAAhG,CAAAo/B,EAAA9hB,KAAA8hB,KAAA,EAAA/jD,IAAA,oBAAAtB,MAED,WACE0E,KAAK3G,MAAMgmC,UAAU,IACvB,GAAC,CAAAziC,IAAA,gBAAAtB,MAED,SAAemd,GACbzY,KAAK3G,MAAM6e,cAActY,KACvBxE,IAAAA,EACE,iDACA,CAAE8gC,MAAOl8B,KAAK3G,MAAM48B,UAAUj2B,KAAK3G,MAAMw8B,UAAUqG,QAErDl8B,KAAK3G,MAAM6e,cAAchW,SAAS8W,KAClChZ,KAAK3G,MAAM6e,cAAcE,OAAOC,MAElCrY,KAAK3G,MAAMue,QAAQhY,KAAK,IAC1B,GAAC,CAAAhD,IAAA,cAAAtB,MAED,SAAagd,GACX,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KqC,KAAK3G,MAAM6e,cAActY,KACvB2Y,EACAvY,KAAK3G,MAAM6e,cAAchW,SAAS8W,KAClChZ,KAAK3G,MAAM6e,cAAcE,OAAOa,MACpC,GAAC,CAAArc,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAAA,YACG8E,KAAK+/B,eACL//B,KAAKggC,aAAa,GAADzkC,OAAIyE,KAAK3G,MAAMw8B,SAAQ,WAAW,CAClDx6B,GAAI,gBACJF,UAAW,iCAInB,+FAAC,CAxES,CAAS+kC,EAAAA,SA2ErB,WAAe3oB,EAAAA,EAAAA,mBAAkBopC,wsCChFjClwB,EAAA,kBAAAvyB,CAAA,MAAA6B,EAAA7B,EAAA,GAAAX,EAAAmI,OAAAC,UAAAnH,EAAAjB,EAAAmJ,eAAA6L,EAAA7M,OAAAgrB,gBAAA,SAAA3wB,EAAA7B,EAAAX,GAAAwC,EAAA7B,GAAAX,EAAAjC,KAAA,EAAAyK,EAAA,mBAAA4qB,OAAAA,OAAA,GAAAlyB,EAAAsH,EAAA6qB,UAAA,aAAA9yB,EAAAiI,EAAA8qB,eAAA,kBAAAlxB,EAAAoG,EAAA+qB,aAAA,yBAAA1wB,EAAAL,EAAA7B,EAAAX,GAAA,OAAAmI,OAAAgrB,eAAA3wB,EAAA7B,EAAA,CAAA5C,MAAAiC,EAAAwzB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAlxB,EAAA7B,EAAA,KAAAkC,EAAA,aAAAL,GAAAK,EAAA,SAAAL,EAAA7B,EAAAX,GAAA,OAAAwC,EAAA7B,GAAAX,CAAA,WAAA2zB,EAAAnxB,EAAA7B,EAAAX,EAAAiB,GAAA,IAAAuH,EAAA7H,GAAAA,EAAAyH,qBAAAwrB,EAAAjzB,EAAAizB,EAAA1yB,EAAAiH,OAAA2R,OAAAtR,EAAAJ,WAAA7H,EAAA,IAAAszB,EAAA5yB,GAAA,WAAA+T,EAAA9T,EAAA,WAAAnD,MAAA+1B,EAAAtxB,EAAAxC,EAAAO,KAAAW,CAAA,UAAA6yB,EAAAvxB,EAAA7B,EAAAX,GAAA,WAAA0R,KAAA,SAAAsiB,IAAAxxB,EAAA6F,KAAA1H,EAAAX,GAAA,OAAAwC,GAAA,OAAAkP,KAAA,QAAAsiB,IAAAxxB,EAAA,EAAA7B,EAAAgzB,KAAAA,EAAA,IAAA3yB,EAAA,iBAAAD,EAAA,iBAAAT,EAAA,YAAAD,EAAA,YAAA+D,EAAA,YAAAwvB,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAAtzB,EAAA,GAAAiC,EAAAjC,EAAAM,GAAA,8BAAAR,EAAAyH,OAAAgsB,eAAA1zB,EAAAC,GAAAA,EAAAA,EAAAyP,EAAA,MAAA1P,GAAAA,IAAAT,GAAAiB,EAAAoH,KAAA5H,EAAAS,KAAAN,EAAAH,GAAA,IAAAW,EAAA8yB,EAAA9rB,UAAAwrB,EAAAxrB,UAAAD,OAAA2R,OAAAlZ,GAAA,SAAAwzB,EAAA5xB,GAAA,0BAAAqJ,SAAA,SAAAlL,GAAAkC,EAAAL,EAAA7B,GAAA,SAAA6B,GAAA,YAAA6xB,QAAA1zB,EAAA6B,EAAA,gBAAA8xB,EAAA9xB,EAAA7B,GAAA,SAAA4zB,EAAAv0B,EAAAgV,EAAAxM,EAAAtH,GAAA,IAAAX,EAAAwzB,EAAAvxB,EAAAxC,GAAAwC,EAAAwS,GAAA,aAAAzU,EAAAmR,KAAA,KAAAtP,EAAA7B,EAAAyzB,IAAAhzB,EAAAoB,EAAArE,MAAA,OAAAiD,GAAA,iBAAAA,GAAAC,EAAAoH,KAAArH,EAAA,WAAAL,EAAA6zB,QAAAxzB,EAAAyzB,SAAA/Z,MAAA,SAAAlY,GAAA+xB,EAAA,OAAA/xB,EAAAgG,EAAAtH,EAAA,aAAAsB,GAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAP,EAAA6zB,QAAAxzB,GAAA0Z,MAAA,SAAAlY,GAAAJ,EAAArE,MAAAyE,EAAAgG,EAAApG,EAAA,aAAAI,GAAA,OAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAA,EAAAX,EAAAyzB,IAAA,KAAAh0B,EAAAgV,EAAA,gBAAAjX,MAAA,SAAAyE,EAAAvB,GAAA,SAAAyzB,IAAA,WAAA/zB,GAAA,SAAAA,EAAAX,GAAAu0B,EAAA/xB,EAAAvB,EAAAN,EAAAX,EAAA,WAAAA,EAAAA,EAAAA,EAAA0a,KAAAga,EAAAA,GAAAA,GAAA,aAAAZ,EAAAnzB,EAAAX,EAAAiB,GAAA,IAAA+T,EAAAhU,EAAA,gBAAAwH,EAAAtH,GAAA,GAAA8T,IAAA1U,EAAA,MAAAE,MAAA,mCAAAwU,IAAA3U,EAAA,cAAAmI,EAAA,MAAAtH,EAAA,OAAAnD,MAAAyE,EAAA0c,MAAA,OAAAje,EAAAkS,OAAA3K,EAAAvH,EAAA+yB,IAAA9yB,IAAA,KAAAX,EAAAU,EAAA0zB,SAAA,GAAAp0B,EAAA,KAAA6B,EAAAwyB,EAAAr0B,EAAAU,GAAA,GAAAmB,EAAA,IAAAA,IAAAgC,EAAA,gBAAAhC,CAAA,cAAAnB,EAAAkS,OAAAlS,EAAA4zB,KAAA5zB,EAAA6zB,MAAA7zB,EAAA+yB,SAAA,aAAA/yB,EAAAkS,OAAA,IAAA6B,IAAAhU,EAAA,MAAAgU,EAAA3U,EAAAY,EAAA+yB,IAAA/yB,EAAA8zB,kBAAA9zB,EAAA+yB,IAAA,gBAAA/yB,EAAAkS,QAAAlS,EAAA+zB,OAAA,SAAA/zB,EAAA+yB,KAAAhf,EAAA1U,EAAA,IAAAM,EAAAmzB,EAAApzB,EAAAX,EAAAiB,GAAA,cAAAL,EAAA8Q,KAAA,IAAAsD,EAAA/T,EAAAie,KAAA7e,EAAAU,EAAAH,EAAAozB,MAAA5vB,EAAA,gBAAArG,MAAA6C,EAAAozB,IAAA9U,KAAAje,EAAAie,KAAA,WAAAte,EAAA8Q,OAAAsD,EAAA3U,EAAAY,EAAAkS,OAAA,QAAAlS,EAAA+yB,IAAApzB,EAAAozB,IAAA,YAAAY,EAAAj0B,EAAAX,GAAA,IAAAiB,EAAAjB,EAAAmT,OAAA6B,EAAArU,EAAA0yB,SAAApyB,GAAA,GAAA+T,IAAAxS,EAAA,OAAAxC,EAAA20B,SAAA,eAAA1zB,GAAAN,EAAA0yB,SAAA,SAAArzB,EAAAmT,OAAA,SAAAnT,EAAAg0B,IAAAxxB,EAAAoyB,EAAAj0B,EAAAX,GAAA,UAAAA,EAAAmT,SAAA,WAAAlS,IAAAjB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAh0B,EAAA,aAAAmD,EAAA,IAAAoE,EAAAurB,EAAA/e,EAAArU,EAAA0yB,SAAArzB,EAAAg0B,KAAA,aAAAxrB,EAAAkJ,KAAA,OAAA1R,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAAxrB,EAAAwrB,IAAAh0B,EAAA20B,SAAA,KAAAvwB,EAAA,IAAAlD,EAAAsH,EAAAwrB,IAAA,OAAA9yB,EAAAA,EAAAge,MAAAlf,EAAAW,EAAAu0B,YAAAh0B,EAAAnD,MAAAiC,EAAAm1B,KAAAx0B,EAAAy0B,QAAA,WAAAp1B,EAAAmT,SAAAnT,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,GAAAxC,EAAA20B,SAAA,KAAAvwB,GAAAlD,GAAAlB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAj1B,EAAA20B,SAAA,KAAAvwB,EAAA,UAAAixB,EAAA7yB,GAAA,IAAA7B,EAAA,CAAA20B,OAAA9yB,EAAA,SAAAA,IAAA7B,EAAA40B,SAAA/yB,EAAA,SAAAA,IAAA7B,EAAA60B,WAAAhzB,EAAA,GAAA7B,EAAA80B,SAAAjzB,EAAA,SAAAkzB,WAAArzB,KAAA1B,EAAA,UAAAg1B,EAAAnzB,GAAA,IAAA7B,EAAA6B,EAAAozB,YAAA,GAAAj1B,EAAA+Q,KAAA,gBAAA/Q,EAAAqzB,IAAAxxB,EAAAozB,WAAAj1B,CAAA,UAAAkzB,EAAArxB,GAAA,KAAAkzB,WAAA,EAAAJ,OAAA,SAAA9yB,EAAAqJ,QAAAwpB,EAAA,WAAA3b,OAAA,YAAAvJ,EAAAxP,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAX,EAAAW,EAAAO,GAAA,GAAAlB,EAAA,OAAAA,EAAAqI,KAAA1H,GAAA,sBAAAA,EAAAw0B,KAAA,OAAAx0B,EAAA,IAAA/B,MAAA+B,EAAAjB,QAAA,KAAAsV,GAAA,EAAAxM,EAAA,SAAA2sB,IAAA,OAAAngB,EAAArU,EAAAjB,QAAA,GAAAuB,EAAAoH,KAAA1H,EAAAqU,GAAA,OAAAmgB,EAAAp3B,MAAA4C,EAAAqU,GAAAmgB,EAAAjW,MAAA,EAAAiW,EAAA,OAAAA,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,SAAA3sB,EAAA2sB,KAAA3sB,CAAA,YAAAysB,iBAAAt0B,EAAA,2BAAAszB,EAAA7rB,UAAA8rB,EAAAlf,EAAA5T,EAAA,eAAArD,MAAAm2B,EAAAT,cAAA,IAAAze,EAAAkf,EAAA,eAAAn2B,MAAAk2B,EAAAR,cAAA,IAAAQ,EAAA4B,YAAAhzB,EAAAqxB,EAAA9xB,EAAA,qBAAAzB,EAAAm1B,oBAAA,SAAAtzB,GAAA,IAAA7B,EAAA,mBAAA6B,GAAAA,EAAAuzB,YAAA,QAAAp1B,IAAAA,IAAAszB,GAAA,uBAAAtzB,EAAAk1B,aAAAl1B,EAAAvB,MAAA,EAAAuB,EAAAq1B,KAAA,SAAAxzB,GAAA,OAAA2F,OAAA8tB,eAAA9tB,OAAA8tB,eAAAzzB,EAAA0xB,IAAA1xB,EAAA0zB,UAAAhC,EAAArxB,EAAAL,EAAAJ,EAAA,sBAAAI,EAAA4F,UAAAD,OAAA2R,OAAA1Y,GAAAoB,CAAA,EAAA7B,EAAAw1B,MAAA,SAAA3zB,GAAA,OAAAiyB,QAAAjyB,EAAA,EAAA4xB,EAAAE,EAAAlsB,WAAAvF,EAAAyxB,EAAAlsB,UAAA7H,GAAA,0BAAAI,EAAA2zB,cAAAA,EAAA3zB,EAAAy1B,MAAA,SAAA5zB,EAAAxC,EAAAiB,EAAA+T,EAAAxM,QAAA,IAAAA,IAAAA,EAAA6tB,SAAA,IAAAn1B,EAAA,IAAAozB,EAAAX,EAAAnxB,EAAAxC,EAAAiB,EAAA+T,GAAAxM,GAAA,OAAA7H,EAAAm1B,oBAAA91B,GAAAkB,EAAAA,EAAAi0B,OAAAza,MAAA,SAAAlY,GAAA,OAAAA,EAAA0c,KAAA1c,EAAAzE,MAAAmD,EAAAi0B,MAAA,KAAAf,EAAAhzB,GAAAyB,EAAAzB,EAAAgB,EAAA,aAAAS,EAAAzB,EAAAF,GAAA,0BAAA2B,EAAAzB,EAAA,qDAAAT,EAAA2N,KAAA,SAAA9L,GAAA,IAAA7B,EAAAwH,OAAA3F,GAAAxC,EAAA,WAAAiB,KAAAN,EAAAX,EAAAqC,KAAApB,GAAA,OAAAjB,EAAAG,UAAA,SAAAg1B,IAAA,KAAAn1B,EAAAN,QAAA,KAAA8C,EAAAxC,EAAAs2B,MAAA,GAAA9zB,KAAA7B,EAAA,OAAAw0B,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,QAAAA,EAAAjW,MAAA,EAAAiW,CAAA,GAAAx0B,EAAAwP,OAAAA,EAAA0jB,EAAAzrB,UAAA,CAAA2tB,YAAAlC,EAAAna,MAAA,SAAA/Y,GAAA,QAAA41B,KAAA,OAAApB,KAAA,OAAAN,KAAA,KAAAC,MAAAtyB,EAAA,KAAA0c,MAAA,OAAAyV,SAAA,UAAAxhB,OAAA,YAAA6gB,IAAAxxB,EAAA,KAAAkzB,WAAA7pB,QAAA8pB,IAAAh1B,EAAA,QAAAX,KAAA,WAAAA,EAAAw2B,OAAA,IAAAv1B,EAAAoH,KAAA,KAAArI,KAAApB,OAAAoB,EAAAkC,MAAA,WAAAlC,GAAAwC,EAAA,EAAAi0B,KAAA,gBAAAvX,MAAA,MAAA1c,EAAA,KAAAkzB,WAAA,GAAAE,WAAA,aAAApzB,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,YAAA0C,IAAA,EAAA3B,kBAAA,SAAAp0B,GAAA,QAAAue,KAAA,MAAAve,EAAA,IAAAX,EAAA,cAAA4M,EAAA3L,EAAA+T,GAAA,OAAA9T,EAAAwQ,KAAA,QAAAxQ,EAAA8yB,IAAArzB,EAAAX,EAAAm1B,KAAAl0B,EAAA+T,IAAAhV,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,KAAAwS,CAAA,SAAAA,EAAA,KAAA0gB,WAAAh2B,OAAA,EAAAsV,GAAA,IAAAA,EAAA,KAAAxM,EAAA,KAAAktB,WAAA1gB,GAAA9T,EAAAsH,EAAAotB,WAAA,YAAAptB,EAAA8sB,OAAA,OAAA1oB,EAAA,UAAApE,EAAA8sB,QAAA,KAAAiB,KAAA,KAAAh2B,EAAAU,EAAAoH,KAAAG,EAAA,YAAApG,EAAAnB,EAAAoH,KAAAG,EAAA,iBAAAjI,GAAA6B,EAAA,SAAAm0B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,WAAAgB,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,SAAAj1B,GAAA,QAAAg2B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,YAAAnzB,EAAA,MAAA5B,MAAA,kDAAA+1B,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,KAAAR,OAAA,SAAAxyB,EAAA7B,GAAA,QAAAX,EAAA,KAAA01B,WAAAh2B,OAAA,EAAAM,GAAA,IAAAA,EAAA,KAAAgV,EAAA,KAAA0gB,WAAA11B,GAAA,GAAAgV,EAAAsgB,QAAA,KAAAiB,MAAAt1B,EAAAoH,KAAA2M,EAAA,oBAAAuhB,KAAAvhB,EAAAwgB,WAAA,KAAAhtB,EAAAwM,EAAA,OAAAxM,IAAA,UAAAhG,GAAA,aAAAA,IAAAgG,EAAA8sB,QAAA30B,GAAAA,GAAA6H,EAAAgtB,aAAAhtB,EAAA,UAAAtH,EAAAsH,EAAAA,EAAAotB,WAAA,UAAA10B,EAAAwQ,KAAAlP,EAAAtB,EAAA8yB,IAAArzB,EAAA6H,GAAA,KAAA2K,OAAA,YAAAgiB,KAAA3sB,EAAAgtB,WAAApxB,GAAA,KAAAuyB,SAAAz1B,EAAA,EAAAy1B,SAAA,SAAAn0B,EAAA7B,GAAA,aAAA6B,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,gBAAAxxB,EAAAkP,MAAA,aAAAlP,EAAAkP,KAAA,KAAAyjB,KAAA3yB,EAAAwxB,IAAA,WAAAxxB,EAAAkP,MAAA,KAAAglB,KAAA,KAAA1C,IAAAxxB,EAAAwxB,IAAA,KAAA7gB,OAAA,cAAAgiB,KAAA,kBAAA3yB,EAAAkP,MAAA/Q,IAAA,KAAAw0B,KAAAx0B,GAAAyD,CAAA,EAAAwyB,OAAA,SAAAp0B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAw1B,aAAAhzB,EAAA,YAAAm0B,SAAA32B,EAAA41B,WAAA51B,EAAAy1B,UAAAE,EAAA31B,GAAAoE,CAAA,kBAAA5B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAs1B,SAAA9yB,EAAA,KAAAvB,EAAAjB,EAAA41B,WAAA,aAAA30B,EAAAyQ,KAAA,KAAAsD,EAAA/T,EAAA+yB,IAAA2B,EAAA31B,EAAA,QAAAgV,CAAA,QAAAxU,MAAA,0BAAAq2B,cAAA,SAAAl2B,EAAAX,EAAAiB,GAAA,YAAA0zB,SAAA,CAAAtB,SAAAljB,EAAAxP,GAAAu0B,WAAAl1B,EAAAo1B,QAAAn0B,GAAA,cAAAkS,SAAA,KAAA6gB,IAAAxxB,GAAA4B,CAAA,GAAAzD,CAAA,UAAAo2B,EAAAp2B,EAAAX,GAAA,IAAAwC,EAAA2F,OAAAmG,KAAA3N,GAAA,GAAAwH,OAAA6uB,sBAAA,KAAAhiB,EAAA7M,OAAA6uB,sBAAAr2B,GAAAX,IAAAgV,EAAAA,EAAAxW,QAAA,SAAAwB,GAAA,OAAAmI,OAAA8uB,yBAAAt2B,EAAAX,GAAAwzB,UAAA,KAAAhxB,EAAAH,KAAAC,MAAAE,EAAAwS,EAAA,QAAAxS,CAAA,UAAAiqB,EAAA9rB,GAAA,QAAAX,EAAA,EAAAA,EAAA+jB,UAAArkB,OAAAM,IAAA,KAAAwC,EAAA,MAAAuhB,UAAA/jB,GAAA+jB,UAAA/jB,GAAA,GAAAA,EAAA,EAAA+2B,EAAA5uB,OAAA3F,IAAA,GAAAqJ,SAAA,SAAA7L,GAAAk3B,EAAAv2B,EAAAX,EAAAwC,EAAAxC,GAAA,IAAAmI,OAAAgvB,0BAAAhvB,OAAAivB,iBAAAz2B,EAAAwH,OAAAgvB,0BAAA30B,IAAAu0B,EAAA5uB,OAAA3F,IAAAqJ,SAAA,SAAA7L,GAAAmI,OAAAgrB,eAAAxyB,EAAAX,EAAAmI,OAAA8uB,yBAAAz0B,EAAAxC,GAAA,WAAAW,CAAA,UAAAu2B,EAAAv2B,EAAAX,EAAAwC,GAAA,OAAAxC,EAAAq3B,EAAAr3B,MAAAW,EAAAwH,OAAAgrB,eAAAxyB,EAAAX,EAAA,CAAAjC,MAAAyE,EAAAgxB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAA/yB,EAAAX,GAAAwC,EAAA7B,CAAA,UAAAm2B,EAAA71B,EAAAuB,EAAA7B,EAAAX,EAAAgV,EAAA9T,EAAAX,GAAA,QAAAiI,EAAAvH,EAAAC,GAAAX,GAAA6B,EAAAoG,EAAAzK,KAAA,OAAAkD,GAAA,YAAAN,EAAAM,EAAA,CAAAuH,EAAA0W,KAAA1c,EAAAJ,GAAAi0B,QAAA7B,QAAApyB,GAAAsY,KAAA1a,EAAAgV,EAAA,UAAAkzC,EAAAjnD,GAAA,sBAAAuB,EAAA,KAAA7B,EAAAojB,UAAA,WAAAsS,SAAA,SAAAr2B,EAAAgV,GAAA,IAAA9T,EAAAD,EAAAqB,MAAAE,EAAA7B,GAAA,SAAA+6B,EAAAz6B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,OAAA16B,EAAA,UAAA06B,EAAA16B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,QAAA16B,EAAA,CAAAy6B,OAAA,gBAAApE,EAAA32B,EAAAX,GAAA,QAAAwC,EAAA,EAAAA,EAAAxC,EAAAN,OAAA8C,IAAA,KAAAwS,EAAAhV,EAAAwC,GAAAwS,EAAAwe,WAAAxe,EAAAwe,aAAA,EAAAxe,EAAAye,cAAA,YAAAze,IAAAA,EAAA0e,UAAA,GAAAvrB,OAAAgrB,eAAAxyB,EAAA02B,EAAAriB,EAAA3V,KAAA2V,EAAA,WAAAqiB,EAAA70B,GAAA,IAAAgG,EAAA,SAAAhG,EAAAxC,GAAA,oBAAAwC,IAAAA,EAAA,OAAAA,EAAA,IAAA7B,EAAA6B,EAAA4wB,OAAAmE,aAAA,YAAA52B,EAAA,KAAA6H,EAAA7H,EAAA0H,KAAA7F,EAAAxC,GAAA,+BAAAwI,EAAA,OAAAA,EAAA,UAAAysB,UAAA,kEAAAj1B,EAAAsF,OAAAnD,QAAAK,EAAA,CAAAg1B,CAAAh1B,EAAA,iCAAAgG,EAAAA,EAAAA,EAAA,YAAAsb,EAAAthB,EAAAwS,EAAArU,GAAA,OAAAqU,EAAAyiB,EAAAziB,GAAA,SAAAxS,EAAA7B,GAAA,GAAAA,IAAA,iBAAAA,GAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAs0B,UAAA,4EAAAt0B,GAAA,YAAAA,EAAA,UAAA+2B,eAAA,oEAAA/2B,CAAA,CAAAg3B,CAAAn1B,EAAA,CAAAo1B,CAAAp1B,EAAAq1B,IAAAC,QAAAC,UAAA/iB,EAAArU,GAAA,GAAA82B,EAAAj1B,GAAAuzB,aAAA/gB,EAAA1S,MAAAE,EAAA7B,GAAA,UAAAk3B,IAAA,QAAAr1B,GAAAw1B,QAAA5vB,UAAA6vB,QAAA5vB,KAAAyvB,QAAAC,UAAAC,QAAA,0BAAAx1B,GAAA,QAAAq1B,EAAA,mBAAAr1B,CAAA,cAAAi1B,EAAAj1B,GAAA,OAAAi1B,EAAAtvB,OAAA8tB,eAAA9tB,OAAAgsB,eAAApb,OAAA,SAAAvW,GAAA,OAAAA,EAAA0zB,WAAA/tB,OAAAgsB,eAAA3xB,EAAA,EAAAi1B,EAAAj1B,EAAA,UAAA01B,EAAA11B,EAAA7B,GAAA,OAAAu3B,EAAA/vB,OAAA8tB,eAAA9tB,OAAA8tB,eAAAld,OAAA,SAAAvW,EAAA7B,GAAA,OAAA6B,EAAA0zB,UAAAv1B,EAAA6B,CAAA,EAAA01B,EAAA11B,EAAA7B,EAAA,CAGO,IAAMwnD,EAAiBxqD,EAAAA,gBAExByqD,EAAkB,SAAAr+B,GAAA,SAAAq+B,IAAA,OALxB,SAAAlnD,EAAAD,GAAA,KAAAC,aAAAD,GAAA,UAAAg0B,UAAA,qCAKwBpR,CAAA,KAAAukC,GAAAtkC,EAAA,KAAAskC,EAAArkC,UAAA,QALxB,SAAAvhB,EAAA7B,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAs0B,UAAA,sDAAAzyB,EAAA4F,UAAAD,OAAA2R,OAAAnZ,GAAAA,EAAAyH,UAAA,CAAA2tB,YAAA,CAAAh4B,MAAAyE,EAAAkxB,UAAA,EAAAD,cAAA,KAAAtrB,OAAAgrB,eAAA3wB,EAAA,aAAAkxB,UAAA,IAAA/yB,GAAAu3B,EAAA11B,EAAA7B,EAAA,CAKwBqjB,CAAAokC,EAAAr+B,GALxBppB,EAKwBynD,EALxBpoD,EAKwB,EAAAX,IAAA,cAAAtB,MACtB,SAAaiyB,GACX,MAAM,UAANhyB,OAAiBgyB,EACnB,GAAC,CAAA3wB,IAAA,kBAAAtB,OAAAsqD,EAAAH,EAAAh1B,IAAA8C,MAED,SAAAwE,EAAuBrnB,EAAQ6c,GAAI,IAAAxzB,EAAAsrB,EAAAwgC,EAAAlK,EAAAr6B,UAAA,OAAAmP,IAAAS,MAAA,SAAAqH,GAAA,cAAAA,EAAAzE,KAAAyE,EAAA7F,MAAA,OAMhC,OANkC34B,EAAI4hD,EAAA1+C,OAAA,QAAAxD,IAAAkiD,EAAA,GAAAA,EAAA,QAAGliD,EAAyB4rB,EAAMs2B,EAAA1+C,OAAA,QAAAxD,IAAAkiD,EAAA,GAAAA,EAAA,QAAGliD,EAG1EosD,GAD0B,KAFgClK,EAAA1+C,OAAA,QAAAxD,IAAAkiD,EAAA,GAAAA,EAAA,GAAG,CAAC,GAEpDmK,YACEv4B,EAEAvtB,KAAK8lD,YAAYv4B,GAC9BgL,EAAAhG,OAAA,UACMzI,EAAAA,EAAAA,SAAM,CACXpZ,OAAAA,EACA2mB,IAAKwuB,EACL97B,QAAOC,EAAAA,EAAA,GAAOhqB,KAAK3G,MAAM4wB,wBAAsB,IAAE,eAAgB,qBACjElwB,KAAAA,EACAsrB,OAAAA,KACA,wBAAAkT,EAAAvE,OAAA,GAAA+D,EAAA,UACH,SAdoBoB,EAAAC,GAAA,OAAAwsB,EAAA/lD,MAAA,KAAAyhB,UAAA,IAgBrB,CAAA1kB,IAAA,8BAAAtB,OAAAyqD,EAAAN,EAAAh1B,IAAA8C,MAEA,SAAAyyB,EAAmCrM,EAAW51C,EAAOE,GAAG,IAAAozB,EAAA4uB,EAAA3pC,EAAAF,EAAAsQ,EAAA,OAAA+D,IAAAS,MAAA,SAAAg1B,GAAA,cAAAA,EAAApyB,KAAAoyB,EAAAxzB,MAAA,OAClD2E,EAAG,qCAAA97B,OAAwCwI,EAAM2qB,cAAa,SAAAnzB,OAAQ0I,EAAIyqB,eACxEu3B,EAAkBtM,EAAUhzC,OAAM2V,EAAAC,EACjB0pC,GAAe,IAAtC,IAAA3pC,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAWiQ,EAAQtQ,EAAA9gB,MACjB+7B,GAAG,iBAAA97B,OAAqBmxB,EACzB,OAAApU,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,QAAAqoD,EAAA3zB,OAAA,SACMvyB,KAAKmmD,gBAAgB,MAAO9uB,IAAI,wBAAA6uB,EAAAlyB,OAAA,GAAAgyB,EAAA,UACxC,SAPgC3sB,EAAAC,EAAAC,GAAA,OAAAwsB,EAAAlmD,MAAA,KAAAyhB,UAAA,KAAA1kB,IAAA,gCAAAtB,OAAA8qD,EAAAX,EAAAh1B,IAAA8C,MASjC,SAAA8yB,EAAqC1M,EAAW51C,EAAOE,GAAG,IAAAozB,EAAA4uB,EAAAlpC,EAAAD,EAAA4P,EAAA,OAAA+D,IAAAS,MAAA,SAAAo1B,GAAA,cAAAA,EAAAxyB,KAAAwyB,EAAA5zB,MAAA,OACpD2E,EAAG,kCAAA97B,OAAqCwI,EAAM2qB,cAAa,SAAAnzB,OAAQ0I,EAAIyqB,eACrEu3B,EAAkBtM,EAAUhzC,OAAMoW,EAAAR,EACjB0pC,GAAe,IAAtC,IAAAlpC,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAAWiQ,EAAQ5P,EAAAxhB,MACjB+7B,GAAG,iBAAA97B,OAAqBmxB,EACzB,OAAApU,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,QAAAyoD,EAAA/zB,OAAA,SACMvyB,KAAKmmD,gBAAgB,MAAO9uB,IAAI,wBAAAivB,EAAAtyB,OAAA,GAAAqyB,EAAA,UACxC,SAPkC7sB,EAAAC,EAAA8sB,GAAA,OAAAH,EAAAvmD,MAAA,KAAAyhB,UAAA,KAAA1kB,IAAA,oBAAAtB,OAAAkrD,EAAAf,EAAAh1B,IAAA8C,MASnC,SAAAkzB,EAAyB/5B,EAAUrqB,GAAK,OAAAouB,IAAAS,MAAA,SAAAw1B,GAAA,cAAAA,EAAA5yB,KAAA4yB,EAAAh0B,MAAA,cAAAg0B,EAAAn0B,OAAA,SAC/BvyB,KAAKmmD,gBAAgB,MAAM,uCAAD5qD,OAAyCmxB,EAAQ,WAAAnxB,OAAU8G,KAAQ,wBAAAqkD,EAAA1yB,OAAA,GAAAyyB,EAAA,UACrG,SAFsBE,EAAAC,GAAA,OAAAJ,EAAA3mD,MAAA,KAAAyhB,UAAA,KAAA1kB,IAAA,SAAAtB,MAIvB,WACE,OACEJ,EAAAA,cAACwqD,EAAe5d,SAAQ,CAACxsC,MAAO,CAC9BurD,QAAO78B,EAAA,CACLf,UAAW,CACT69B,gBAAiB9mD,KAAK+mD,4BAA4BzwC,KAAKtW,OAEzDgnD,sBAAuB,CACrBzhD,MAAOvF,KAAKinD,8BAA8B3wC,KAAKtW,OAEjDhG,SAAU,CACRktD,eAAgBlnD,KAAKmnD,kBAAkB7wC,KAAKtW,QAE3CA,KAAKyS,SAITzS,KAAK3G,MAAM+D,SAGlB,IAtEFG,GAAAs3B,EAAA32B,EAAAyH,UAAApI,GAAAwC,GAAA80B,EAAA32B,EAAA6B,GAAA2F,OAAAgrB,eAAAxyB,EAAA,aAAA+yB,UAAA,IAAA/yB,EAAA,IAAAA,EAAAX,EAAAwC,EAqCqCymD,EATFJ,EAFjCL,EAlBCH,CA8DA,CAjEqB,CAAS1qD,EAAAA,WAoEpB6tC,GAAkBtmB,EAAAA,EAAAA,aAAYkjC,GAE9ByB,EAAc,SAAArgB,GAAS,OAAI,SAAA1tC,GACtC,OACE6B,EAAAA,cAACwqD,EAAepd,SAAQ,MACrB,SAACC,GAAO,OAAMrtC,EAAAA,cAAC6rC,EAASrhC,OAAAgoB,OAAA,GAAK6a,EAAalvC,GAAS,GAG1D,CAAC,kvECiHD,WAAeke,EAAAA,EAAAA,oBA5LO,SAACle,GACrB,IAAyDC,EAAAC,GAA7BC,EAAAA,EAAAA,UAASH,EAAMioD,eAAc,GAAlD5zC,EAAMpU,EAAA,GAAE+tD,EAAS/tD,EAAA,GAC2B6vB,EAAA5vB,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAA5CykC,EAAU9U,EAAA,GAAE+U,EAAa/U,EAAA,GACwBG,EAAA/vB,GAAdC,EAAAA,EAAAA,WAAS,GAAK,GAAjD8tD,EAAah+B,EAAA,GAAEi+B,EAAgBj+B,EAAA,GAChCk+B,EAAoBvsC,EAAAA,2BAE1B7gB,EAAAA,EAAAA,YAAU,WAAO,IACoEgiB,EADrEE,EAAAC,EACK9hB,SAASC,iBAAiB,wCAAsC,IAAnF,IAAA4hB,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAqF,CAAC,IAA3E5hB,EAAIuhB,EAAA9gB,MACbjB,OAAOC,EAAEmtD,MAAMjtD,KAAKK,GACpBA,EAAKkI,UAAUC,IAAI,cACrB,CAAC,OAAAsV,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACH,GAAG,CAAC6P,IAEJ,IAAMg6C,EAAa,WAAO,IACqC5qC,EADtCC,EAAAR,EACJ9hB,SAASC,iBAAiB,kBAAgB,QAAA6iB,EAAA,WAAG,IAArD1iB,EAAIiiB,EAAAxhB,MACb6G,YAAW,WACTtH,EAAKkR,MAAMwE,OAAS,MACpB1V,EAAKkR,MAAMuE,MAAQ,MACnBzV,EAAKkI,UAAUE,OAAO,SACxB,GAAG,IACL,EANA,IAAA8Z,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAAAc,GAMC,OAAAjF,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,CACH,GAEAzD,EAAAA,EAAAA,YAAU,WAER,OADAK,SAASyW,iBAAiB,WAAYw2C,GAC/B,WACLjtD,SAAS+Y,oBAAoB,WAAYk0C,EAC3C,CACF,GAAG,IAEH,IAAIC,EAAgB1pC,EAAAA,eAAe5kB,EAAMioD,cAAchmC,gBAIvD,GAHIjiB,EAAMioD,cAAcv0B,iBACtB46B,EAAgBA,EAAcpsD,OAAO0iB,EAAAA,eAAeupC,KAElDnuD,EAAMioD,cAAc1nC,OAASk2B,EAAAA,MAAO,CACtC,IAAM8X,EAAoBvuD,EAAMioD,cAAc/mC,UAAYW,EAAAA,SAAW9f,IAAAA,EAAO,+BAAiCA,IAAAA,EAAO,8BACpHusD,EAAgB,GAAE,IACyBjrC,EADzBG,EAAAN,EACIljB,EAAMu4C,iBAAe,IAA3C,IAAA/0B,EAAAjf,MAAA8e,EAAAG,EAAAre,KAAAie,MAA6C,CAAC,IAAnC+1B,EAAO91B,EAAAphB,MAChBqsD,EAAc/nD,KAAK,CACjBqP,KAAM,SACN+uB,UAAU,EACV3iC,GAAG,MAADE,OAAQqsD,EAAgB,KAAArsD,OAAIi3C,EAAQn3C,GAAE,SACxCkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAG,kBAADtsD,OAAoBi3C,EAAQ71C,KAAI,iCAAApB,OAAgCqsD,EAAgB,KAAKE,GAAG,WAADvsD,OAAai3C,EAAQ71C,KAAI,qBAAApB,OAAoBqsD,EAAgB,MAC/JG,SAAU,CAAEF,GAAI,sCAAuCC,GAAI,yCAC3DE,SAAU,CAAEH,GAAI,uCAAwCC,GAAI,+CAC5DG,WAAY,CAAAxzB,EAAA,SAAAl5B,OACDqsD,EAAgB,KAAArsD,OAAIi3C,EAAQn3C,GAAE,aAAS5B,MAGpDkuD,EAAc/nD,KAAK,CACjBqP,KAAM,WACN+uB,UAAU,EACV3iC,GAAG,MAADE,OAAQqsD,EAAgB,KAAArsD,OAAIi3C,EAAQn3C,GAAE,QACxCqB,MAAO,GACPZ,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAG,4BAADtsD,OAA8Bi3C,EAAQ71C,MAAQmrD,GAAG,sBAADvsD,OAAwBi3C,EAAQ71C,UAG7G,CAAC,OAAA2b,GAAAuE,EAAA3e,EAAAoa,EAAA,SAAAuE,EAAAhf,GAAA,CACH,CAGIxE,EAAMm7C,4BACRmT,EAAgBA,EAAc5rD,QAAO,SAAAmiB,GAAQ,OAAKA,EAAS7iB,KAAOhC,EAAMm7C,0BAA0Bjd,SAASrZ,EAAS7iB,GAAG,KAGzH,IA8EM6sD,EA9EAC,EAAkB,SAACC,GACvB,OAAOT,EAAc5rD,QAAO,SAAAmiB,GAAQ,OAAIA,EAAS7iB,KAAO+sD,GAAOC,EAAUnqC,EAAS,GACpF,EAEMoqC,EAAiB,SAAC7R,GAEtB,IADA,IAAIp6B,GAAS,EACb0B,EAAA,EAAAwqC,EAA2B7iD,OAAO8S,QAAQi+B,GAAU14B,EAAAwqC,EAAAtrD,OAAA8gB,IAAE,CAAC,IAAD4M,EAAApxB,EAAAgvD,EAAAxqC,GAAA,GAA1CqqC,EAAGz9B,EAAA,GAAErvB,EAAKqvB,EAAA,GACpBtO,EAASA,SAA4B5iB,IAAhBiU,EAAO06C,IAAsB16C,EAAO06C,KAAS9sD,QAAqB7B,IAAV6B,GAAuBoS,EAAO06C,KAAS9sD,IAAW+sD,EAAUF,EAAgBC,GAC3J,CACA,OAAO/rC,CACT,EAEMgsC,EAAY,SAACnqC,GACjB,IAAKA,EAAS+pC,WACZ,OAAO,EAET,IAC2C7qC,EADvCf,GAAS,EAAKgB,EAAAd,EACM2B,EAAS+pC,YAAU,IAA3C,IAAA5qC,EAAAzf,MAAAwf,EAAAC,EAAA7e,KAAAie,MAA6C,CAAC,IAAnCg6B,EAASr5B,EAAA9hB,MAClB+gB,EAAUA,GAAUisC,EAAe7R,EACrC,CAAC,OAAAn+B,GAAA+E,EAAAnf,EAAAoa,EAAA,SAAA+E,EAAAxf,GAAA,CACD,OAAOwe,CACT,EAEMmsC,EAAiBb,EAAc5rD,QAAO,SAAAmiB,GAAQ,OAAIA,EAAS8f,UAAYqqB,EAAUnqC,EAAS,IAAEhiB,KAAI,SAAAgiB,GAAQ,OAAIA,EAAS7iB,EAAE,IAQvHotD,EAAiB,SAACL,GACtB,MAAO,CACL9sD,MAAOoS,EAAO06C,GACd/yC,SAAU,SAAA/Z,GAAK,OATF,SAAC8sD,EAAK9sD,GACrB,IAAMotD,EAAY9wB,KAAKY,MAAMZ,KAAKC,UAAUnqB,IAC5Cg7C,EAAUN,GAAO9sD,EACjB+rD,EAAUqB,EACZ,CAKuBrzC,CAAS+yC,EAAK9sD,EAAM,EACvC2iC,WAAAA,EAEJ,EAwBM0qB,EAAe,WACnB,OACEztD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UACEqe,QAAS,WAAF,OA3BoB,WACnC,GAAK+tC,EAAL,CACA,IAC0CsB,EADtC10B,GAAW,EAAI20B,EAAAtsC,EACSisC,GAAc,IAA1C,IAAAK,EAAAjrD,MAAAgrD,EAAAC,EAAArqD,KAAAie,MAA4C,CAAC,IAAlCqsC,EAAaF,EAAAttD,WACQ7B,IAA1BiU,EAAOo7C,KACT50B,GAAW,EAEf,CAAC,OAAA5b,GAAAuwC,EAAA3qD,EAAAoa,EAAA,SAAAuwC,EAAAhrD,GAAA,CACD,IAAKq2B,EAQH,OAPA76B,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,2DACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOa,OAE7BilB,GAAc,QACd/7B,YAAW,kBAAM+7B,GAAc,EAAM,GAAE,KAGzCqpB,GAAiB,GACjBluD,EAAMk7C,0BAA0B7mC,GAAQ,kBAAM65C,GAAiB,EAAK,GAlB1C,CAmB5B,CAOyBwB,EAA8B,EAC7C5tD,UAAU,6CACV2rB,UAAWwgC,GAEVlsD,IAAAA,EAAO,gCAKlB,EAsCA,OACEF,EAAAA,cAAAA,EAAAA,SAAA,MApCIgtD,GAA2B,EAE7BhtD,EAAAA,cAAA,OAAKC,UAAU,iBACZwsD,EAAc5rD,QAAO,SAAAmiB,GAAQ,OAAImqC,EAAUnqC,EAAS,IAAEhiB,KAAI,SAAAgiB,GACzD,IAAKA,EAAS7iB,IAAwB,QAAlB6iB,EAASjP,KAG3B,OAFAuoB,QAAQ7O,MAAM,mEACd6O,QAAQ7O,MAAMzK,GACPhjB,EAAAA,cAAAA,EAAAA,SAAA,MAET,IAAKgjB,EAASjP,KAGZ,OAFAuoB,QAAQ7O,MAAM,oEACd6O,QAAQ7O,MAAMzK,GACPhjB,EAAAA,cAAAA,EAAAA,SAAA,MAET,IAAQG,EAAmB6iB,EAAnB7iB,GAAOq1C,+WAAOC,CAAKzyB,EAAQ0yB,GACnC,GAAsB,QAAlB1yB,EAASjP,KAAgB,CAC3B,IAAM+5C,EAAY,CAAC,EAKnB,OAJKd,GAA4BjqB,GAAc/f,EAAS8f,eAAoCvkC,IAAxBiU,EAAOwQ,EAAS7iB,MAClF6sD,GAA2B,EAC3Bc,EAAUjtC,UAAW,GAEhB7gB,EAAAA,cAAC+tD,EAAAA,QAAQvjD,OAAAgoB,OAAA,CAAC9wB,IAAKvB,GAAQotD,EAAeptD,GAASq1C,EAAasY,GACrE,CACA,OAAK9qC,EAASsiC,MAAiC,IAAzBtiC,EAASsiC,KAAKvjD,OAK7B/B,EAAAA,cAACguD,EAAAA,QAAGxjD,OAAAgoB,OAAA,CAAC9wB,IAAKg7B,KAAKC,UAAU3Z,EAASsiC,OAAW9P,KAJlDlZ,QAAQ7O,MAAM,qCACd6O,QAAQ7O,MAAMzK,GACPhjB,EAAAA,cAAAA,EAAAA,SAAA,MAGX,IACCytD,MAUT,qoECxIA,WAAepxC,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,cAjDA,SAAAppB,GAC/B,IAAsCC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/BmB,EAAKrB,EAAA,GAAEiwB,EAAQjwB,EAAA,GAehBowB,EAAW,WACf,OAAOI,EAAAA,QAAM/S,IAAI,gBAAiB,CAAEgT,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC1D,EAmBA,OACE/uB,EAAAA,cAACiuD,EAAAA,QAAoB,CACnB5+B,cAAe,CACb5vB,MAAAA,EACA6c,WAtCa,WACFkS,IAEZzR,MAAK,SAAA0R,GAASJ,EAASI,EAAI5vB,KAAM,IAAE,OAC7B,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EA4BMoR,gBAtBkB,SAAAhvB,GACtB,OAAOyuB,EAAAA,QAAK,OAAQ,qBAADvuB,OAAsBF,GAAM,CAAE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACvE,EAqBMmS,aAnBmB,SAAC3a,GACxBqI,EAAAA,QAAMgB,MAAM,gBAAiB,CAAErJ,KAAAA,GAAQ,CAAEsI,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BAA4BhS,MAAK,SAAAmxC,GAC5F/vD,EAAM6e,cAActY,KAAKxE,IAAAA,EAAO,+BAAgC/B,EAAM6e,cAAchW,SAASiW,MAAO9e,EAAM6e,cAAcE,OAAOC,MAC/Hhf,EAAMy9C,gBACR,IAAE,OAAO,SAAAx+B,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,IAYF,m5CCjDuB,IAEjBynC,EAAc,SAAA7hB,GAClB,SAAA6hB,IAAgB,IAADn5B,EAKZ,mGALYnG,CAAA,KAAAs/B,IACbn5B,EAAAlG,EAAA,KAAAq/B,IACKjuC,MAAQ,CACXhC,SAAU,KACV44C,mBAAmB,GACpB9hC,CACH,CAAC,4RAAAhG,CAAAm/B,EAAA7hB,KAAA6hB,KAAA,EAAA9jD,IAAA,qBAAAtB,MAED,SAAoBgsC,EAAWC,GACzBD,EAAUtxB,SAASma,WAAanwB,KAAK3G,MAAM2c,SAASma,SACtDnwB,KAAKg3B,SAAS,CAAEqyB,mBAAmB,IAEnCrpD,KAAKyS,MAAM42C,mBAAqB/hB,EAAUmZ,eAAiBzgD,KAAK3G,MAAMonD,cAAgBzgD,KAAKspD,sBAE/F,GAEA,CAAA1sD,IAAA,uBAAAtB,MACA,WACE,IAAMiV,EAAS9V,SAASK,eAAe,WAAWyuD,aAE9CvpD,KAAK3G,MAAMonD,eAAiBlwC,GAC9BvQ,KAAK3G,MAAMgmC,UAAU9uB,EAEzB,GAAC,CAAA3T,IAAA,iBAAAtB,MAED,SAAgBjC,GACd2G,KAAKg3B,SAAS,CAAEqyB,mBAAmB,GACrC,GAAC,CAAAzsD,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,qCACbD,EAAAA,cAAA,OAAKC,UAAS,2CAAAI,OAA6CyE,KAAK3G,MAAMmwD,iBAAmB,KACvFtuD,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,KACPjF,EAAAA,cAAA,OAAKC,UAAU,kBAAkBuhC,IAAKgS,EAAMr+B,IAAKjV,IAAAA,EAAO,WAE1DF,EAAAA,cAAA,KAAGC,UAAU,4CAA2C,wBACxDD,EAAAA,cAACuuD,EAAAA,EAAa,CACZpuD,GAAG,UACH6G,SAAUlC,KAAK3G,MAAM6I,SAAUqO,OAAQvQ,KAAK3G,MAAMonD,aAClDiJ,eAAgB1pD,KAAK0pD,eAAepzC,KAAKtW,OAExCA,KAAK3G,MAAM+D,aAO1B,+FAAC,CApDiB,CAAS8iC,EAAAA,SAuD7B,WAAe3oB,EAAAA,EAAAA,mBAAkBmpC,mrCCPjC,WAAeppC,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBA5CM,SAAAle,GAC7B,IAAuEC,EAAAC,GAAjCC,EAAAA,EAAAA,UAAS,yBAAwB,GAAhEmwD,EAAWrwD,EAAA,GAAEswD,EAActwD,EAAA,GAMlC,OAJAc,EAAAA,EAAAA,YAAU,WACRf,EAAMme,YACR,GAAG,IAGDtc,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,2BAEjFF,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,8BACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,0BAGhBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAC2uD,EAAAA,QAAQ,CAACxuD,GAAG,sBAAsB68C,OAAQ,SAAA4R,GAAO,OAAIF,EAAeE,EAAQ,GAC3E5uD,EAAAA,cAAC6uD,EAAAA,IAAG,CAAC1uD,GAAG,wBAAwBqe,MAAOte,IAAAA,EAAO,oDAC3B,0BAAhBuuD,GACCzuD,EAAAA,cAAC8uD,EAAAA,QAA6B,CAACrvD,MAAOtB,EAAMsB,MAAOyhC,aAAc/iC,EAAM+iC,gBAE3ElhC,EAAAA,cAAC6uD,EAAAA,IAAG,CAAC1uD,GAAG,WAAWqe,MAAOte,IAAAA,EAAO,uCACd,aAAhBuuD,GAA8BzuD,EAAAA,cAAC+uD,EAAAA,QAAiB,CAACtvD,MAAOtB,EAAMsB,SAElC,SAA9BghC,kBAAY8B,eACXviC,EAAAA,cAAC6uD,EAAAA,IAAG,CAAC1uD,GAAG,QAAQqe,MAAOte,IAAAA,EAAO,oCACX,UAAhBuuD,GAA2BzuD,EAAAA,cAACgvD,EAAAA,QAAc,CAACvvD,MAAOtB,EAAMsB,SAG7DO,EAAAA,cAAC6uD,EAAAA,IAAG,CAAC1uD,GAAG,WAAWqe,MAAOte,IAAAA,EAAO,uCACd,aAAhBuuD,GAA8BzuD,EAAAA,cAACivD,EAAAA,QAAiB,CAACxvD,MAAOtB,EAAMsB,aAQ/E,2ICjBA,UA5BoB,SAAAtB,GAClB,IAAQkxB,EAAwElxB,EAAxEkxB,cAAeE,EAAyDpxB,EAAzDoxB,UAAWkuB,EAA8Ct/C,EAA9Cs/C,SAAUE,EAAoCx/C,EAApCw/C,eAAgBE,EAAoB1/C,EAApB0/C,gBAC5D,OACE79C,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,SACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,SACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACkvD,EAAAA,QAAa1kD,OAAAgoB,OAAA,GAAKr0B,EAAWkxB,GAAiB,IAEnErvB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,4BACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACmvD,EAAAA,QAAQ3kD,OAAAgoB,OAAA,GAAKr0B,EAAWoxB,GAAa,IAE1DvvB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,aACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACovD,EAAAA,QAAO5kD,OAAAgoB,OAAA,GAAKr0B,EAAWs/C,GAAY,IAExDz9C,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,mCACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACqvD,EAAAA,QAAS7kD,OAAAgoB,OAAA,GAAKr0B,EAAWw/C,GAAkB,IAEhE39C,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,gCACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACsvD,EAAAA,QAAU9kD,OAAAgoB,OAAA,GAAKr0B,EAAW0/C,GAAmB,IAIxE,suDCjCyC,IAEpBkF,EAAK,SAAA32B,GAAA,SAAA22B,IAAA,mGAAA78B,CAAA,KAAA68B,GAAA58B,EAAA,KAAA48B,EAAA38B,UAAA,6RAAAC,CAAA08B,EAAA32B,KAAA22B,IAAA,EAAArhD,IAAA,qBAAAtB,MACxB,SAAoBgsC,EAAWC,EAAW0N,GACxC,IAAA7L,EAAkDppC,KAAK3G,MAA/Cy9B,EAASsS,EAATtS,UAAWuS,EAAYD,EAAZC,aAAcvoB,EAAYsoB,EAAZtoB,aAC3B/mB,EAAOsvC,GAAgBvoB,EACvBhlB,EAAU,CACd/B,KAAMA,EAAOA,EAAKmC,KAAI,SAACrB,GAAI,MAAM,CAAE4vD,KAAK1xC,EAAAA,EAAAA,gBAAele,GAAOS,MAAOT,EAAM,IAAK,GAChF6vD,UAAW1qD,KAAK2qD,aAAar0C,KAAKtW,MAClC4qD,aAAc5qD,KAAK4qD,aAAat0C,KAAKtW,OAEjCnF,EAAOJ,SAASK,eAAeg8B,GACrCz8B,OAAOC,EAAE2jD,MAAMzjD,KAAKK,EAAMiB,EAC5B,GAAC,CAAAc,IAAA,eAAAtB,MAED,SAAc4C,GACZ,IAAM80C,EAAW34C,OAAOC,EAAE2jD,MAAMtU,YAAYlvC,SAASK,eAAekF,KAAK3G,MAAMy9B,YAI/E92B,KAAK3G,MAAMmC,SAAS,CAAE8E,OAAQ,CAAEhF,MAAO03C,EAAS6X,UAAU3uD,KAAI,SAAArB,GAAI,OAAIA,EAAKS,OAAST,EAAK4vD,GAAG,MAC9F,GAAC,CAAA7tD,IAAA,eAAAtB,MAED,SAAc4C,EAAGnE,EAAM0E,EAAGjB,EAAGM,GAC3BkC,KAAK2qD,aAAazsD,GAElB,IAAM80C,EAAW34C,OAAOC,EAAE2jD,MAAMtU,YAAYlvC,SAASK,eAAekF,KAAK3G,MAAMy9B,YAC3Ekc,EAAS6X,UAAU5tD,QAAU,GAC/B+1C,EAAS8X,WAAW9X,EAAS6X,UAAU5tD,OAAS,EAEpD,GAAC,CAAAL,IAAA,UAAAtB,MAED,SAAS4C,GACU7D,OAAOC,EAAE2jD,MAAMtU,YAAYlvC,SAASK,eAAekF,KAAK3G,MAAMy9B,YACtEi0B,QAAQ,CACfN,IAAKvsD,EAAEoC,OAAOhF,QAGhB4C,EAAEoC,OAAOhF,MAAQ,EACnB,GAAC,CAAAsB,IAAA,gBAAAtB,MAED,SAAe4C,GACC,MAAVA,EAAEtB,KAAyC,KAA1BsB,EAAEoC,OAAOhF,MAAM+/C,SAElCn9C,EAAEiT,iBAGFnR,KAAK+qD,QAAQ7sD,IAGD,cAAVA,EAAEtB,KACJ46B,QAAQC,IAAIv5B,GAGA,UAAVA,EAAEtB,KAA6B,MAAVsB,EAAEtB,KAA6B,KAAdsB,EAAE8sD,UAE1C9sD,EAAE+sD,UAEF9oD,YAAW,kBAAMjE,EAAEoC,OAAOknC,OAAO,GAAE,IAEvC,GAAC,CAAA5qC,IAAA,kBAAAtB,MAED,SAAiB4C,GACf8B,KAAK+qD,QAAQ7sD,EACf,GAAC,CAAAtB,IAAA,SAAAtB,MAED,WAAW,IAADisB,EAAA,KACF7O,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpCwyC,EAAiDlrD,KAAK3G,MAA9C0lC,EAASmsB,EAATnsB,UAAW9vB,EAAIi8C,EAAJj8C,KAAM6nB,EAASo0B,EAATp0B,UAAWjB,EAAQq1B,EAARr1B,SAC9B2T,iWAAUxf,CAAA,GAAQhqB,KAAK3G,OAQ7B,cAPOmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,KAEhB/T,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,SAAO6rB,QAAO,GAAAxrB,OAAKu7B,EAAS,UAAU37B,UAAU,UAC7CC,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,KAE9C57B,EAAAA,cAAA,OAAKC,UAAU,QAAQE,GAAIy7B,GACzB57B,EAAAA,cAAA,SAAOG,GAAE,GAAAE,OAAKu7B,EAAS,UAAU37B,UAAU,QAAQgwD,OAAQnrD,KAAKorD,gBAAgB90C,KAAKtW,MAAOqrD,UAAWrrD,KAAKsrD,cAAch1C,KAAKtW,SAEhI0Y,EAAOxc,KAAI,SAAAoc,GAAG,OACbpd,EAAAA,cAAA,QAAMC,UAAU,cAAc,aAAW,QAAQ,eAAa,QAAQyB,IAAK0b,EAAKvM,MAAO,CAAE6S,MAAO,QAC7F2I,EAAKluB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACvC,MAMnB,gGAAC,CA9FuB,CAASpd,EAAAA,q2CCFS,IAEtCqwD,EAAa,SAAAjkC,GAAA,SAAAikC,IAAA,mGAAAnqC,CAAA,KAAAmqC,GAAAlqC,EAAA,KAAAkqC,EAAAjqC,UAAA,6RAAAC,CAAAgqC,EAAAjkC,KAAAikC,KAAA,EAAA3uD,IAAA,4BAAAtB,MAEjB,WACE,IAAK0E,KAAK3G,MAAM+zB,KACd,MAAM,IAAIrvB,MAAM,4CAElBiC,KAAK3G,MAAM0uB,SAAS/nB,KAAK3G,MAAM+zB,KACjC,GACA,CAAAxwB,IAAA,SAAAtB,MAEA,WAAW,IAADisB,EAAA,KACR,OACErsB,EAAAA,cAAC8vC,EAAAA,GAAM,KACJhrC,KAAK3G,MAAM+D,SACZlC,EAAAA,cAACmyB,EAAAA,GAAK,CAACG,OAAQ,WAAF,OAAQtyB,EAAAA,cAACswD,EAAAA,SAAQ,CAACC,cAAelkC,EAAKluB,MAAM+zB,MAAQ,IAGvE,+FAAC,CAjBgB,CAASlyB,EAAAA,WAoB5B,WAAewwD,EAAAA,EAAAA,cAAaH,i3CCrBgD,IAEtE3K,EAAiB,SAAAt5B,GACrB,SAAAs5B,EAAavnD,GAAQ,IAADkuB,EAEF,mGAFEnG,CAAA,KAAAw/B,IAClBr5B,EAAAlG,EAAA,KAAAu/B,EAAA,CAAMvnD,KACDoZ,MAAQ,CAAE,EAAC8U,CAClB,CAAC,4RAAAhG,CAAAq/B,EAAAt5B,KAAAs5B,IAAA,EAAAhkD,IAAA,oBAAAtB,MAED,WACE0E,KAAK3G,MAAM6oB,QAAO,GAClBliB,KAAK3G,MAAMgmC,UAAU,IACvB,GAAC,CAAAziC,IAAA,gBAAAtB,MAED,SAAesB,GACb,IAAIutC,GAAY,EACV9kB,EAASrlB,KAAK3G,MAAM2c,SAASkW,OAAO1sB,QAAQ,IAAK,IAAI/B,MAAM,QAOjE,OALA4nB,EAAOjc,SAAQ,SAACghC,EAAKrkC,GACfqkC,IAAQxtC,IACVutC,EAAWpkC,EAAI,EAEnB,IACOokC,GAAY,EAAI9kB,EAAO8kB,GAAY,IAC5C,GAAC,CAAAvtC,IAAA,eAAAtB,MAED,WAAiB,IAAD+sB,EAAA,KACR8W,EAAW1kC,SAASK,eAAe,YAAYQ,MAC/CqwD,EAAkBlxD,SAASK,eAAe,oBAAoBQ,MAC9DswD,EAAqB5rD,KAAKqqC,cAAc,yBAC9CvgB,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ1Q,KAAK3G,MAAM2oB,aACnBqV,IAAKr3B,KAAK3G,MAAM4oB,SAChBloB,KAAM,CAAE0nB,KAAM,CAAE0d,SAAAA,EAAUqmB,iBAAkBmG,EAAiBE,qBAAsBD,MAClF3zC,MAAK,SAACQ,GACP4P,EAAK4P,cAAcxf,EACrB,IAAE,OAAO,SAACkQ,GACRN,EAAK6P,YAAYvP,EAAMlQ,SAAS1e,KAClC,GACF,GAAC,CAAA6C,IAAA,gBAAAtB,MAED,SAAemd,GACbzY,KAAK3G,MAAM6e,cAActY,KACvBxE,IAAAA,EAAO,0CACP4E,KAAK3G,MAAM6e,cAAchW,SAASiW,MAClCnY,KAAK3G,MAAM6e,cAAcE,OAAOC,MAElCrY,KAAK3G,MAAMue,QAAQhY,KAAK,SAC1B,GAAC,CAAAhD,IAAA,cAAAtB,MAED,SAAamd,GACXzY,KAAK3G,MAAMgmC,UAAU,KACrBr/B,KAAKg3B,SAAS,CAAEte,OAAQD,EAASC,SACjCD,EAASC,QAAUD,EAASC,OAAOmzC,sBAAwB7rD,KAAK3G,MAAM6e,cAActY,KAClFxE,IAAAA,EAAO,2CACP4E,KAAK3G,MAAM6e,cAAchW,SAASiW,MAClCnY,KAAK3G,MAAM6e,cAAcE,OAAOa,MAEpC,GAAC,CAAArc,IAAA,SAAAtB,MAED,WAAW,IAADo+B,EAAA,KACFhhB,EAAS1Y,KAAKyS,MAAMiG,QAAU1Y,KAAKyS,MAAMiG,OAAO,GAAGC,OACzD,OACEzd,EAAAA,cAAA,WACEA,EAAAA,cAAA,YACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,SACEyB,KAAK,WACLtB,GAAG,WACH4T,KAAK,aAEP/T,EAAAA,cAAA,SAAO6rB,QAAQ,YACZ3rB,IAAAA,EAAO,kCAETsd,GAAUA,EAAOymB,UAAYzmB,EAAOymB,SAASjjC,KAAI,SAAAoc,GAAG,OACnDpd,EAAAA,cAAA,QACEC,UAAU,cAAc,aAAW,QAAQ,eAAa,QAAQyB,IAAK0b,EACrEvM,MAAO,CAAE6S,MAAO,QAEftG,EACI,OAKfpd,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,SACEyB,KAAK,mBACLtB,GAAG,mBACH4T,KAAK,aAEP/T,EAAAA,cAAA,SAAO6rB,QAAQ,oBACZ3rB,IAAAA,EAAO,0CAETsd,GAAUA,EAAO8sC,kBAAoB9sC,EAAO8sC,iBAAiBtpD,KAAI,SAAAoc,GAAG,OACnEpd,EAAAA,cAAA,QACEC,UAAU,cAAc,aAAW,QAAQ,eAAa,QAAQyB,IAAK0b,EACrEvM,MAAO,CAAE6S,MAAO,QAEftG,EACI,OAKfpd,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAQqe,QAAS,SAACrb,GAAQA,EAAEiT,iBAAkBuoB,EAAK1D,cAAe,EAAG76B,UAAU,gCAC5EC,IAAAA,EAAO,mCAOtB,gGAAC,CApHoB,CAASF,EAAAA,WAuHhC,WAAeqc,EAAAA,EAAAA,mBAAkBqpC,yGCtGjC,UAhBwB,SAAAvnD,GACtB,IAAQkxB,EAA6BlxB,EAA7BkxB,cAAeE,EAAcpxB,EAAdoxB,UACvB,OACEvvB,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,aACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,aACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAAC4wD,EAAAA,QAAiBpmD,OAAAgoB,OAAA,GAAKr0B,EAAWkxB,GAAiB,IAEvErvB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,oCACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAAC6wD,EAAAA,QAAYrmD,OAAAgoB,OAAA,GAAKr0B,EAAWoxB,GAAa,IAIpE,8uECOA,IAAMuhC,EAAc,aAMdC,EAAa,aACbC,EAAO,OACPC,EAAa,aA0fnB,UAxe0D,SAAC9yD,GAAkB,IAAD8D,EAAAyb,EAAA+R,EACpE23B,GAAUt3B,EAAAA,EAAAA,UAAQ,kBAAMrF,MAAS48B,SAAS,EAAG,QAAQjD,QAAQ,OAAOC,QAAQ,GAAE,IAC9EiD,GAAUx3B,EAAAA,EAAAA,UAAQ,kBAAMrF,IAAO,IAAIqnB,MAAQyS,MAAM,OAAOF,QAAQ,GAAE,IAEnBjmD,EAAAC,GAArBC,EAAAA,EAAAA,UAAgB,MAAK,GAA9C4yD,EAAQ9yD,EAAA,GAAE+yD,EAAW/yD,EAAA,GAC4C6vB,EAAA5vB,GAAtBC,EAAAA,EAAAA,UAAmB,IAAG,GAAjEspD,EAAiB35B,EAAA,GAAE45B,EAAoB55B,EAAA,GACGG,EAAA/vB,GAArBC,EAAAA,EAAAA,UAAiB8yD,KAAI,GAA1CC,EAAMjjC,EAAA,GAAEkjC,EAASljC,EAAA,GACqCE,EAAAjwB,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAAtDg1B,EAAShF,EAAA,GAAEk5B,EAAYl5B,EAAA,GAC2BuE,EAAAx0B,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAAlDi1B,EAAOV,EAAA,GAAE40B,EAAU50B,EAAA,GACoCE,EAAA10B,GAAxBC,EAAAA,EAAAA,WAAkB,GAAM,GAAvDizD,EAAWx+B,EAAA,GAAEy+B,EAAcz+B,EAAA,GACuCyM,EAAAnhC,GAAnBC,EAAAA,EAAAA,UAAiB,GAAE,GAAlEmzD,EAAmBjyB,EAAA,GAAEkyB,EAAsBlyB,EAAA,GACEG,EAAAthC,GAApBC,EAAAA,EAAAA,UAAiB,IAAG,GAA7CqzD,EAAQhyB,EAAA,GAAEiyB,EAAWjyB,EAAA,GAC4CG,EAAAzhC,GAAxBC,EAAAA,EAAAA,WAAkB,GAAM,GAAjEuzD,EAAgB/xB,EAAA,GAAEgyB,GAAmBhyB,EAAA,GAC2BG,GAAA5hC,GAAjCC,EAAAA,EAAAA,UAA4B0yD,GAAK,GAAhElS,GAAW7e,GAAA,GAAE6nB,GAAc7nB,GAAA,GACoBG,GAAA/hC,GAAxBC,EAAAA,EAAAA,UAAqB,IAAG,GAA/CyzD,GAAO3xB,GAAA,GAAE4xB,GAAU5xB,GAAA,GACwC6xB,GAAA5zD,GAAxBC,EAAAA,EAAAA,WAAkB,GAAM,GAA3D4zD,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GAC4BG,GAAA/zD,GAA5BC,EAAAA,EAAAA,UAA0B,GAAE,GAA3D+zD,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GACiCG,GAAAl0D,GAA7BC,EAAAA,EAAAA,UAA0B,IAAG,GAA5Dk0D,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GACmCG,GAAAr0D,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAA9Dq0D,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GAC+BG,GAAAx0D,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAA9Dw0D,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GAEtCrU,IAAAA,MAAmBzW,EAAAA,0BACnByW,IAAAA,WAAsBA,IAAAA,OAEtB,IAAA0J,IAA8DC,EAAAA,EAAAA,kCAAiCP,EAA4B,OAATt0B,QAAS,IAATA,EAAAA,EAAa8zB,EAAgB,OAAP7zB,QAAO,IAAPA,EAAAA,EAAW+zB,GAAS,GAAKc,GAAAF,GAAzJrpD,KAAMkvB,QAAS,IAAAq6B,GAAG,GAAEA,GAAErpD,GAAOmpD,GAAPnpD,QAASC,GAASkpD,GAATlpD,UAAWC,GAAOipD,GAAPjpD,SAElDC,EAAAA,EAAAA,YAAU,WACR,IAEgCgiB,EAF5B8xC,EAAmB,KACnBC,EAAmB,KAAI7xC,EAAAC,EACJ0M,IAAS,IAAhC,IAAA3M,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAkC,CAAC,IAAxBhE,EAAQ2D,EAAA9gB,MACjB,GAAKmd,EAAS+K,aAAd,CACA,IAAM4qC,EAAoBzoC,IAAOlN,EAAS+K,cACrC0qC,EAEME,EAAoBF,IAC7BA,EAAmBE,GAFnBF,EAAmBE,EAIhBD,EAEMC,EAAoBD,IAC7BA,EAAmBC,GAFnBD,EAAmBC,CARe,CAYtC,CAAC,OAAA91C,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACDiwD,GAAiBI,EAAmBA,EAAiB5O,QAAQ,OAAOC,SAAW,MAC/E0O,GAAiBE,EAAmBA,EAAiB1O,MAAM,OAAOF,SAAW,KAC/E,GAAG,CAACt2B,MAEJ7uB,EAAAA,EAAAA,YAAU,WAEHH,IACP,GAAG,CAACu0B,EAAWC,EAASq0B,KAExB1oD,EAAAA,EAAAA,YAAU,WACPC,OAAeC,EAAEC,WAAWC,KAAKC,SAASC,iBAAiB,uBAC3DL,OAAeC,EAAEC,WAAWC,KAAKC,SAASC,iBAAiB,oBAC9D,GAAG,CAACrB,EAAMsB,QAEV,IAAMolC,GAAe,SAACsuB,EAAoB3xD,GACxC,OACExB,EAAAA,cAAA,YAAUwB,MAAOtB,IAAAA,EAAO,4BAADG,OAA6BmB,KACjD2xD,EAAUnyD,KAAI,SAAA+6B,GAAK,OAClB/7B,EAAAA,cAAA,UACEI,MAAO27B,EACPr6B,IAAKq6B,GACL77B,IAAAA,EAAO,mCAADG,OAAoCupC,EAAAA,iBAAiB7N,KACpD,IAIjB,GAEA78B,EAAAA,EAAAA,YAAU,WAAO,IAADQ,EACRC,EAAkD,QAA9CD,EAAIH,SAASK,eAAe,0BAAkB,IAAAF,OAAA,EAA3CA,EAAqDG,aAC9DF,IACFA,EAAKG,mBACLH,EAAKI,qBAET,GAAG,CAAC6nD,IAEJ,IAAMxf,IAAmBtY,EAAAA,EAAAA,UAAQ,WAC/B,IAAIsjC,EAAY,GACVC,EAAsB,GACtBC,EAA6B,CAAC,EACpCvlC,GAAU7f,SAAQ,SAAAqP,GACZ/S,OAAOmG,KAAK4M,EAASgU,UAAU8K,SAAS60B,IAC1CmC,EAAU3uD,KAAK6Y,EAASgU,SAAS2/B,GAErC,IAyDA,IAxDA,IAAMqC,GAAS9iB,EAAAA,EAAAA,mBAAkB4iB,GAC3BG,GAAUnjB,EAAAA,EAAAA,SAAQgjB,GAClBI,EAA8B,GAC9BC,GAAoBhV,EAAAA,EAAAA,SAAQkJ,EAAkB5mD,KAAI,SAAAwwB,GACtD,IAAMlwB,GAASq9C,EAAAA,EAAAA,YAAWntB,EAAUrzB,EAAMsB,OAC1C,IAAK6B,EACH,OAAO,KAET,IAAAqyD,GAA8B9U,EAAAA,EAAAA,eAAcrtB,EAAUzD,GAAW,CAACmjC,GAAWpS,KAAgBiS,GAArFlyD,EAAI80D,EAAJ90D,KAAM+0D,EAAWD,EAAXC,YAGd,GADAR,EAAYvvD,KAAKuD,IAAIgsD,EAAWQ,GAC5B9U,KAAgBmS,EAClB,GAAIsC,EAAS,KAAQ,CAAC,IACQ3xC,EADTC,EAAAR,EACKxiB,GAAI,IAA5B,IAAAgjB,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAA8B,CAAC,IAApBsyC,EAASjyC,EAAAxhB,MAClByzD,EAAUptD,GAAKotD,EAAUptD,EAAI+sD,GAAWD,CAC1C,CAAC,OAAAn2C,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,CACH,KAAO,CAAC,IACsB6e,EADvBG,EAAAN,EACmBxiB,GAAI,IAA5B,IAAA8iB,EAAAjf,MAAA8e,EAAAG,EAAAre,KAAAie,MAA8B,CAAVC,EAAAphB,MACRqG,EAAI,CAChB,CAAC,OAAA2W,GAAAuE,EAAA3e,EAAAoa,EAAA,SAAAuE,EAAAhf,GAAA,CACH,CAEF,IAC4Buf,EAD5BC,EAAAd,EACwBxiB,GAAI,IAA5B,IAAAsjB,EAAAzf,MAAAwf,EAAAC,EAAA7e,KAAAie,MAA8B,CAAC,IAApBsyC,EAAS3xC,EAAA9hB,MAClBqzD,EAAkB/uD,KAAKmvD,EAAUptD,EACnC,CAEA,OAAA2W,GAAA+E,EAAAnf,EAAAoa,EAAA,SAAA+E,EAAAxf,GAAA,CACA,GAAIkvD,EACF,IAAK,IAAIhnD,EAAI,EAAGA,EAAIhM,EAAKkD,OAAQ8I,GAAK,EAAG,CACvC,IAAMipD,EAAarpC,IAAO5rB,EAAKgM,GAAG/J,GAAGuN,OAAOyiD,GACvCwC,EAAaQ,KAAeR,EAAaQ,GAAc,IAC5DR,EAAaQ,GAAYpvD,KAAK7F,EAAKgM,GAAGpE,EACxC,CAIF,GAAIgrD,EAAsB,EAExB,IADA,IAAMsC,GAAuB3iB,EAAAA,EAAAA,eAAcvyC,EAAKmC,KAAI,SAAA6yD,GAAS,OAAIA,EAAUptD,CAAC,IAAGgrD,GACtE5mD,EAAI,EAAGA,EAAIhM,EAAKkD,OAAQ8I,GAAK,EACpChM,EAAKgM,GAAGpE,EAAIstD,EAAqBlpD,GAGrC,MAAO,CACLkJ,KAAM,OACNlV,KAAMA,EACNmR,OAAQ,CAAEy4B,SAAS,GACnBtoC,GAAG,GAADE,OAAKmxB,GACP/vB,KAAMH,EAAOG,KAEjB,KAGMuyD,EAA8B,GAE9BC,EAAkB,OAAP1gC,QAAO,IAAPA,EAAAA,EAAW+zB,EACnBz8C,EAFiB,OAATyoB,QAAS,IAATA,EAAAA,EAAa8zB,EAEPv8C,GAAKopD,EAAUppD,EAAI4f,IAAO5f,GAAG/C,IAAI,EAAG,QAAQu8C,SAAU,CAC3E,IAAM6P,EAAYzpC,IAAO5f,GACM,IAA3BqpD,EAAUC,cACZH,EAAgBtvD,KAAK,CACnBgf,MAAO,UACP/iB,KAAMuzD,EAAU9P,QAAQ,OAAOC,SAC/Bp/C,GAAIivD,EAAU3P,MAAM,OAAOF,UAGjC,CAIA,GAHA2N,GAAWgC,GACX1C,GAAUjhB,EAAAA,EAAAA,SAAQojB,IAClB7B,EAAYwB,GACRvB,EAAkB,CACpB,IAE+BnE,EAFzB0G,EAAgB,GAC8BzG,EAAAtsC,EAAhC7W,OAAOmG,KAAK2iD,GAAc7nD,QACf,IAA/B,IAAAkiD,EAAAjrD,MAAAgrD,EAAAC,EAAArqD,KAAAie,MAAiC,CAAC,IAAvB8yC,EAAK3G,EAAAttD,MACRk0D,EAAU7pC,IAAO4pC,EAAOvD,GAAahpD,IAAI,GAAI,SACnDssD,EAAK1vD,KAAK,CACR5D,EAAGwzD,EAAQjQ,SACX59C,GAAG4pC,EAAAA,EAAAA,SAAQijB,EAAae,IACxBE,eAAgBD,EAAQpd,OAAOh3C,IAAAA,QAAamO,OAAOsc,EAAAA,+BAEvD,CAAC,OAAAvN,GAAAuwC,EAAA3qD,EAAAoa,EAAA,SAAAuwC,EAAAhrD,GAAA,CACD,GAAI8uD,EAAsB,EAExB,IADA,IAAMsC,GAAuB3iB,EAAAA,EAAAA,eAAcgjB,EAAKpzD,KAAI,SAAA6yD,GAAS,OAAIA,EAAUptD,CAAC,IAAGgrD,GACtE5mD,EAAI,EAAGA,EAAIupD,EAAKryD,OAAQ8I,GAAK,EACpCupD,EAAKvpD,GAAGpE,EAAIstD,EAAqBlpD,GAGrC6oD,EAAQhvD,KAAK,CACXqP,KAAM,OACN2P,MAAO,MACP7kB,KAAMu1D,EACNI,UAAW,WACXxkD,OAAQ,CAAEy4B,SAAS,GACnBtoC,GAAI,KACJsB,KAAMvB,IAAAA,EAAO,wCAEjB,CACA,OAAOwzD,CACT,GAAG,CAAC9L,EAAmB2J,EAAaE,EAAqBI,EAAkBX,EAAU59B,EAAWC,EAASurB,GAAa3gD,EAAMsB,MAAOsuB,GAAUhsB,UAkB7I7C,EAAAA,EAAAA,YAAU,WACPC,OAAeC,EAAEirB,kBACpB,GAAG,CAAC6nC,KAEJ,IAAI/S,GAAgC,GAwCpC,OAtCIL,KAAgBkS,IAClB7R,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,GAAI,IAENk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,IAAK,IAEPk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,KAAM,EACNsE,GAAI,IAENk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,IAAK,IAEPk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,KAAM,EACNsE,GAAI,KAIJitD,IAA0C,kBAAjBG,IAAsD,kBAAjBG,IAChErT,GAAWz6C,KAAK,CACdgf,MAAO,0BACP/iB,KAAM0xD,GACNptD,GAAIutD,KAIkB,IAAtBrT,GAAWp9C,SAAco9C,GAAa,MAGxCn/C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UACEG,GAAG,oBACHC,MAAO8wD,EACP5wD,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,oBAAqB2wC,EAAY,GAG/DtsB,GAAauG,EAAAA,eAA2B,YACxCvG,GAAawG,EAAAA,YAAwB,SACrCxG,GAAayG,EAAAA,mBAA+B,iBAC5CzG,GAAa,CAAC4E,EAAAA,cAAeC,EAAAA,YAAaC,EAAAA,aAAc,YACxD9E,GAAa,CAAC,MAAO,UAExB7kC,EAAAA,cAAA,aAAQE,IAAAA,EAAO,oCAEjBF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,cAAiB2lC,EAAAA,yBAAwB,CAAE/kC,SAAUuyB,EAAWhzB,SAAU,SAAAgoD,GAAI,OAAId,EAAac,EAAO79B,IAAO69B,GAAMlE,QAAQ,OAAOC,SAAWiE,EAAK,EACrJW,cAAc,EAAM31B,UAAWA,EAAWC,QAASA,EAAS6zB,QAAsB,OAAbuL,SAAa,IAAbA,GAAAA,GAAiBvL,EAASE,QAAsB,OAAbwL,SAAa,IAAbA,GAAAA,GAAiBxL,EACzH4B,WAAsC,QAA5BjnD,EAAW,OAATqxB,QAAS,IAATA,EAAAA,EAAaq/B,UAAa,IAAA1wD,EAAAA,EAAImlD,KAE5CpnD,EAAAA,cAAA,SACE6rB,QAAQ,aACR5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ2jB,KAChCpzB,IAAAA,EAAO,sCAGXF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,YAAe2lC,EAAAA,yBAAwB,CAAE/kC,SAAUwyB,EAASjzB,SAAU,SAAAgoD,GAAI,OAAIb,EAAWa,EAAO79B,IAAO69B,GAAM/D,MAAM,OAAOF,SAAWiE,EAAK,EAC7Ia,YAAY,EACZ71B,UAAWA,EAAWC,QAASA,EAAS6zB,QAAmC,QAA5B1pC,EAAW,OAAT4V,QAAS,IAATA,EAAAA,EAAaq/B,UAAa,IAAAj1C,EAAAA,EAAI0pC,EAASE,QAAsB,OAAbwL,SAAa,IAAbA,GAAAA,GAAiBxL,EAClH4B,WAAoC,QAA1Bz5B,EAAS,OAAP8D,QAAO,IAAPA,EAAAA,EAAWu/B,UAAa,IAAArjC,EAAAA,EAAI63B,KAE1CtnD,EAAAA,cAAA,SACE6rB,QAAQ,WACR5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ4jB,KAChCrzB,IAAAA,EAAO,oCAGXF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UACEG,GAAG,kBACHC,MAAOwnD,EAAkB5mD,KAAI,SAAAwwB,GAAQ,SAAAnxB,OAAOmxB,EAAQ,IACpDlxB,SAAU,WACR,IAAMm0D,mIAAiBj0D,CAAAC,EAAIC,MAAMC,KAAMpB,SAASK,eAAe,mBAAyCgB,UACrGC,QAAO,SAACC,GAAC,OAAKA,EAAEC,QAAQ,IACxBC,KAAI,SAACF,GAAC,OAAKA,EAAEV,KAAK,IACrBynD,EAAqB4M,EAAezzD,KAAI,SAAAZ,GAAK,OAAIc,SAASd,EAAM,IAClE,EACAouC,UAAU,GA/GhBxuC,EAAAA,cAAAA,EAAAA,SAAA,KACG7B,EAAMsB,MAAMuB,KAAI,SAACG,GAChB,OACEnB,EAAAA,cAAA,YAAUwB,MAAOL,EAAKM,KAAMC,IAAKP,EAAKM,MACnCN,EAAKC,QAAQJ,KAAI,SAAAM,GAAM,OACtBtB,EAAAA,cAAA,UAAQI,MAAOkB,EAAOnB,GAAIuB,IAAKJ,EAAOnB,IAAKmB,EAAOG,KAAc,IAIxE,MA2GEzB,EAAAA,cAAA,aAAQE,IAAAA,EAAO,oCAGnBF,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASylC,EACTjxD,SAAU,SAAA0C,GAAC,OAAIwuD,EAAexuD,EAAEoC,OAAO0mB,QAAQ,IAEjD9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,sCAAsC,KAAGe,MAAMowD,IAAO,IAAAhxD,QAAQ2D,EAAAA,EAAAA,OAAMqtD,EAAQ,GAAE,SAIlGrxD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAS+lC,EACTvxD,SAAU,SAAA0C,GAAC,OAAI8uD,GAAoB9uD,EAAEoC,OAAO0mB,QAAQ,IAEtD9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,gDAIpBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,KAAGC,UAAU,gCACXD,EAAAA,cAAA,QACEC,UAAU,aACVC,IAAAA,EAAO,oDAAoD,KAA2B,IAAxBuxD,EAA4BvxD,IAAAA,EAAO,oDAAsDuxD,GAEzJzxD,EAAAA,cAAA,SACE+T,KAAK,QACL1M,IAAK,EACLD,IAAKuqD,EACLvxD,MAAOqxD,EACPnxD,SAAU,SAAA0C,GAAC,OAAI0uD,EAAuBxwD,SAAS8B,EAAEoC,OAAOhF,OAAO,OAKvEJ,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASomC,GACT5xD,SAAU,SAAA0C,GAAC,OAAImvD,GAAiBnvD,EAAEoC,OAAO0mB,QAAQ,IAEnD9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,6CAIpBF,EAAAA,cAAA,OAAKC,UAAU,yBACZiyD,IACClyD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SACEG,GAAG,gBAAgB4T,KAAK,SAAS3T,MAAOiyD,GACxC/xD,SAAU,SAAA0C,GAAC,OAAIsvD,GAAgBrxD,MAAM0C,WAAWX,EAAEoC,OAAOhF,QAAuC,GAA7BuD,WAAWX,EAAEoC,OAAOhF,OAAY,IAErGJ,EAAAA,cAAA,SAAO6rB,QAAQ,iBAAiB3rB,IAAAA,EAAO,0CAI7CF,EAAAA,cAAA,OAAKC,UAAU,yBACZiyD,IACClyD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SACEG,GAAG,gBAAgB4T,KAAK,SAAS3T,MAAOoyD,GACxClyD,SAAU,SAAA0C,GAAC,OAAIyvD,GAAgBxxD,MAAM0C,WAAWX,EAAEoC,OAAOhF,QAAuC,GAA7BuD,WAAWX,EAAEoC,OAAOhF,OAAY,IAErGJ,EAAAA,cAAA,SAAO6rB,QAAQ,iBAAiB3rB,IAAAA,EAAO,2CAK/CF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,WACLsS,KAAK,QACL+X,QAASgzB,KAAgBkS,EACzB1wD,SAAU,WAAF,OAAQwnD,GAAekJ,EAAK,IAEtChxD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,2CAIpBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,WACLsS,KAAK,QACL+X,QAASgzB,KAAgBmS,EACzB3wD,SAAU,WAAF,OAAQwnD,GAAemJ,EAAW,IAE5CjxD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,iDAIpBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,WACLsS,KAAK,QACL+X,QAASgzB,KAAgBiS,EACzBzwD,SAAU,WAAF,OAAQwnD,GAAeiJ,EAAW,IAE5C/wD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,kDAKtBF,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GACtC,IAArBisB,GAAUhsB,QACT/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,+CAEhB6tB,GAAUhsB,OAAS,GAClB/B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACo/C,IAAe,CACdC,WAAYb,IACZ59C,QAAS,CACP4d,MAAO,CACLqjB,KAAM,kDAERqG,SAAU,CACRrG,KAAMqvB,GAAYhxD,IAAAA,EAAO,mCAADG,OAAoCupC,EAAAA,iBAAiBsnB,MAE/ElpB,MAAO,CACLj0B,KAAM,OACNurC,SAAU,MAEZ9W,OAAQ,CACNC,SAAS,GAEX74B,QAAS,CACP2vC,SAAS,EACTC,aAAc,GACdC,YAAa,6JAEf7W,MAAO,CACLpqB,MAAO,CACLqjB,KAAM,IAER9tB,KAAM,WACN1M,IAAMisB,EAAmBA,EAAUszB,UAAjB,KAClBx/C,IAAMmsB,EAAiBA,EAAQqzB,UAAf,KAChBlH,qBAAsB,CACpBC,IAAK,SAEPK,UAAW+R,IAEb5oB,MAAO,CACL3qB,MAAO,CACLqjB,KAAMqvB,GAAYhxD,IAAAA,EAAO,mCAADG,OAAoCupC,EAAAA,iBAAiBsnB,MAE/E7pD,IAAKy3C,KAAgBkS,EAAO,EAAI,KAChC0D,UAAWnD,GAAe,CAAC,CACzB7tC,MAAO,UACPtO,MAAO,EACPhV,MAAOixD,IAETrR,UAAWb,IAEb/W,OAAQA,MAGZpoC,EAAAA,cAAA,SAAIE,IAAAA,EAAO,iCAMvB,i0DC3hBO,IAAM4hB,EAAiB,CAC5B,QACA,WACA,SACA,oBACA,cACA,iBACA,eACA,aACA,WAGWR,EAAsB,CACjC,WACA,SAGWhC,EAAS,SACTC,EAAU,UACVC,EAAY,YACZC,EAAW,WACXC,EAAS,SACTC,EAAW,WACXC,EAAS,SACTI,EAAW,YAEX20C,EAAW,CACtBr1C,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAI,GAGWH,EAA4B,4BAC5BC,EAA0B,0BAC1BQ,EAA2B,2BAC3BP,EAA4B,4BAC5BE,EAAe,eACfC,EAAc,cAEd00C,EAAuB,CAClC,KACA,CAAEjI,GAAI,gCAAiCC,GAAI,+BAC3C,KACA,CAAED,GAAI,0BAA2BC,GAAI,yBACrC,MACA,CAAED,GAAI,sBAAuBC,GAAI,qBACjC,MACA,CAAED,GAAI,wBAAyBC,GAAI,2BACnC,MACA,CAAED,GAAI,oBAAqBC,GAAI,qBAC/B,MACA,CAAED,GAAI,yBAA0BC,GAAI,0BACpC,MACA,CAAED,GAAI,+BAAgCC,GAAI,gCAC1C,OAGWiI,EAAwB,CACnC,KACA,CAAElI,GAAI,iCAAkCC,GAAI,uBAC5C,KACA,CAAED,GAAI,2BAA4BC,GAAI,iBACtC,MACA,CAAED,GAAI,uBAAwBC,GAAI,oBAClC,MACA,CAAED,GAAI,0BAA2BC,GAAI,qBACrC,MACA,CAAED,GAAI,iBAAkBC,GAAI,YAC5B,MACA,CAAED,GAAI,sBAAuBC,GAAI,iBACjC,MACA,CAAED,GAAI,4BAA6BC,GAAI,uBACvC,OAGWjuC,EAAS,SACTE,EAAW,WACXE,EAAa,aACbE,EAAW,WACX21B,EAAQ,QAERkgB,EAAQ,CAACn2C,EAAQE,EAAUE,EAAYE,GAEvC81C,EAAK,KACLC,EAAK,KACLC,EAAU,CAACF,EAAIC,GAEf71C,EAAe,SACfP,EAAc,KACdM,EAAgB,MAChBJ,EAAgB,MAChBE,EAAkB,MAElBk2C,EAAY,gBACZC,EAAkB,SAElBC,EAAQ,QACRC,EAAY,YACZC,EAAc,cACdC,EAAa,aACbC,EAAS,SAIhBC,EAAkBl8B,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,GACrBqb,EAAQ,CACP,CACE7gC,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CACLmrD,GAAI,4EACJC,GAAI,sDAENC,SAAU,CAAEF,GAAI,sCAAuCC,GAAI,yCAC3DE,SAAU,CAAEH,GAAI,uCAAwCC,GAAI,kDAG/D/sC,EAA4B,CAC3B,CACE9L,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,GACL5F,MAAO,CAAEmrD,GAAI,4BAA6BC,GAAI,yBAC9Ct9C,UAAU,EACVomD,WAAYd,GAEd,CACE7gD,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,gEAAiEC,GAAI,+DAClFC,SAAU,CAAEF,GAAI,sBAAuBC,GAAI,wBAC3CE,SAAU,CAAEH,GAAI,iBAAkBC,GAAI,mBAExC,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,2DAA4DC,GAAI,qDAC7EC,SAAU,CAAEF,GAAI,4BAA6BC,GAAI,wBACjDE,SAAU,CAAEH,GAAI,uBAAwBC,GAAI,wBAE9C,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,iDAAkDC,GAAI,gDACnEC,SAAU,CAAEF,GAAI,oBAAqBC,GAAI,0BACzCE,SAAU,CAAEH,GAAI,gBAAiBC,GAAI,4BAGxC9sC,EAA0B,CACzB,CACE/L,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,GACL5F,MAAO,CAAEmrD,GAAI,oCAAqCC,GAAI,8BACtDt9C,UAAU,EACVomD,WAAYb,GAEd,CACE9gD,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,uCAAwCC,GAAI,mCACzDC,SAAU,CAAEF,GAAI,sCAAuCC,GAAI,wCAC3DE,SAAU,CAAEH,GAAI,uCAAwCC,GAAI,+CAE9D,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,4CAA6CC,GAAI,yDAC9DC,SAAU,CAAEF,GAAI,qBAAsBC,GAAI,cAC1CE,SAAU,CAAEH,GAAI,gBAAiBC,GAAI,gBAGxCtsC,EAA2B,CAC1B,CACEvM,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,GACL5F,MAAO,CAAEmrD,GAAI,oCAAqCC,GAAI,8BACtDt9C,UAAU,EACVomD,WAAYb,KAGf90C,EAA4B,CAC3B,CACEhM,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CAAEmrD,GAAI,uDAAwDC,GAAI,oDACzEhsD,QAAS,CAAC,CAAER,MAAO,KAAMoB,MAAO,CAAEmrD,GAAI,KAAMC,GAAI,QAAW,CAAExsD,MAAO,MAAOoB,MAAO,CAAEmrD,GAAI,MAAOC,GAAI,SAErG,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,iDAAkDC,GAAI,4CACnEC,SAAU,CAAEF,GAAI,gBAAiBC,GAAI,iBACrCE,SAAU,CAAEH,GAAI,gBAAiBC,GAAI,iBACrCG,WAAY,CACV,CAAEliB,IAAK,QAGX,CACE92B,KAAM,WACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CAAEmrD,GAAI,6CAA8CC,GAAI,mCAC/DhsD,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,SAAUC,GAAI,WACvC,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,2CAA4CC,GAAI,qDACzE,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,sCAAuCC,GAAI,yCACpE,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,SAAUC,GAAI,WACvC,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,uBAAwBC,GAAI,kBACrD,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,4BAA6BC,GAAI,4BAC1D,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,aAAcC,GAAI,eAC3C,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,SAAUC,GAAI,WAEzCG,WAAY,CACV,CAAEliB,IAAK,QAGX,CACE92B,KAAM,MACN5T,GAAI,KACJqB,MAAO,CAAEorD,GAAI,oBAAqBD,GAAI,gBACtCrH,KAAM,CACJqH,GAAI,okBACJC,GAAI,0kBAGR,CACE74C,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CAAEmrD,GAAI,gIAAiIC,GAAI,0JAClJhsD,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,yDAA0DC,GAAI,+CACvF,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,6EAA8EC,GAAI,kDAC3G,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,gEAAiEC,GAAI,kDAC9F,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,iEAAkEC,GAAI,oDAGnG,CACE74C,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CAAEmrD,GAAI,8JAA+JC,GAAI,uIAChLhsD,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,4BAA6BC,GAAI,oBAC1D,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,YAAaC,GAAI,sBAC1C,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,QAASC,GAAI,yBACtC,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,OAAQC,GAAI,wBAGzC,CACE74C,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CAAEmrD,GAAI,8IAA4IC,GAAI,iHAC7JhsD,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,uCAAqCC,GAAI,cAClE,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,YAAaC,GAAI,sBAC1C,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,QAASC,GAAI,yBACtC,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,OAAQC,GAAI,wBAGzC,CACE74C,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CAAEmrD,GAAI,oIAAqIC,GAAI,0FACtJhsD,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,mBAAoBC,GAAI,kCACjD,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,YAAaC,GAAI,qBAC1C,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,QAASC,GAAI,yBACtC,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,OAAQC,GAAI,2BAI1C3sC,EAAe,CACd,CACElM,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,KACJkH,IAAK,EACLD,IAAK,GACL5F,MAAO,CAAEmrD,GAAI,4BAA6BC,GAAI,yBAC9Ct9C,UAAU,EACVomD,WAAYd,GAEd,CACE7gD,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,gEAAiEC,GAAI,+DAClFC,SAAU,CAAEF,GAAI,sBAAuBC,GAAI,wBAC3CE,SAAU,CAAEH,GAAI,iBAAkBC,GAAI,mBAExC,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,2DAA4DC,GAAI,qDAC7EC,SAAU,CAAEF,GAAI,4BAA6BC,GAAI,wBACjDE,SAAU,CAAEH,GAAI,uBAAwBC,GAAI,wBAE9C,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,8CAA+CC,GAAI,yDAChEC,SAAU,CAAEF,GAAI,oBAAqBC,GAAI,0BACzCE,SAAU,CAAEH,GAAI,gBAAiBC,GAAI,4BAGxC1sC,EAAc,CACb,CACEnM,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,GACL5F,MAAO,CAAEmrD,GAAI,qCAAsCC,GAAI,2BACvDt9C,UAAU,EACVomD,WAAYb,GAEd,CACE9gD,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,uCAAwCC,GAAI,mCACzDC,SAAU,CAAEF,GAAI,sCAAuCC,GAAI,wCAC3DE,SAAU,CAAEH,GAAI,uCAAwCC,GAAI,+CAE9D,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CAAEmrD,GAAI,yCAA0CC,GAAI,2CAC3DC,SAAU,CAAEF,GAAI,qBAAsBC,GAAI,cAC1CE,SAAU,CAAEH,GAAI,gBAAiBC,GAAI,gBAMzC6I,EAAmB51C,GAA2Bnb,KAC5C,CACEqP,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CACLmrD,GAAI,0CACJC,GAAI,4DAENC,SAAU,CAAEF,GAAI,0BAA2BC,GAAI,6BAC/CE,SAAU,CAAEH,GAAI,sBAAuBC,GAAI,+BAM/C6I,EAAmB51C,GAA2Bnb,KAC5C,CACEqP,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,GACL8D,KAAM,GACN1J,MAAO,CACLmrD,GAAI,sDACJC,GAAI,4CAENC,SAAU,CAAEF,GAAI,QAASC,GAAI,WAC7BE,SAAU,CAAEH,GAAI,SAAUC,GAAI,aAEhC,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CACLmrD,GAAI,2DACJC,GAAI,0CAENC,SAAU,CAAEF,GAAI,qBAAsBC,GAAI,mBAC1CE,SAAU,CAAEH,GAAI,gBAAiBC,GAAI,eAMzC6I,EAAmB51C,GAA2Bnb,KAC5C,CACEqP,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CACLmrD,GAAI,2DACJC,GAAI,yCAENC,SAAU,CAAEF,GAAI,4BAA6BC,GAAI,kBACjDE,SAAU,CAAEH,GAAI,uBAAwBC,GAAI,sBAGhD6I,EAAmB31C,GAAyBpb,KAC1C,CACEqP,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CACLmrD,GAAI,sEACJC,GAAI,wDAENhsD,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,YAAaC,GAAI,eAC1C,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,YAAaC,GAAI,WAC1C,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,UAAWC,GAAI,eAG5C,CACE74C,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,MACJqB,MAAO,CACLmrD,GAAI,gEACJC,GAAI,kFAENhsD,QAAS,CACP,CAAER,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,uBAAwBC,GAAI,0BACrD,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,yBAA0BC,GAAI,0BACvD,CAAExsD,MAAO,EAAGoB,MAAO,CAAEmrD,GAAI,qBAAsBC,GAAI,qBAGvD,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CACLmrD,GAAI,2DACJC,GAAI,yCAENC,SAAU,CAAEF,GAAI,4BAA6BC,GAAI,kBACjDE,SAAU,CAAEH,GAAI,uBAAwBC,GAAI,qBAE9C,CACE74C,KAAM,SACN+uB,UAAU,EACV3iC,GAAI,MACJkH,IAAK,EACLD,IAAK,IACL5F,MAAO,CACLmrD,GAAI,oDACJC,GAAI,6CAENC,SAAU,CAAEF,GAAI,sBAAuBC,GAAI,sBAC3CE,SAAU,CAAEH,GAAI,kBAAmBC,GAAI,kBAkL3C,IAyBM+I,EAAWF,EAAmB11C,GAA2B61C,WAAU,SAAA1yD,GAAC,MAAa,QAATA,EAAE/C,EAAY,IAG5Fs1D,EAAmB11C,GAA2B81C,OAAOF,EAAW,EAAG,EA5B9C,CACnB5hD,KAAM,QACN+uB,UAAU,EACV3iC,GAAI,OACJqB,MAAO,CACLmrD,GAAI,kDACJC,GAAI,uDAENhsD,QAAS,CAAC,CAAER,MAAO,KAAMoB,MAAO,CAAEmrD,GAAI,KAAMC,GAAI,QAAW,CAAExsD,MAAO,MAAOoB,MAAO,CAAEmrD,GAAI,MAAOC,GAAI,QACnGG,WAAY,CACV,CAAEliB,IAAK,SAmBX4qB,EAAmB11C,GAA2B81C,OAAOF,EAAW,EAAG,EAhB9C,CACnB5hD,KAAM,YACN+uB,UAAU,EACV3iC,GAAI,OACJqB,MAAO,CAAEmrD,GAAI,yCAA0CC,GAAI,6CAC3D7mC,YAAa,CAAE4mC,GAAI,OAAQC,GAAI,QAC/BG,WAAY,CACV,CAAE+I,KAAM,SAYP,IAAM/yC,EAAiBvY,OAAOu7B,OAAO0vB,w3CCzsBoB,IAE3C9oC,EAAK,SAAAP,GAAA,SAAAO,IAAA,mGAAAzG,CAAA,KAAAyG,GAAAxG,EAAA,KAAAwG,EAAAvG,UAAA,6RAAAC,CAAAsG,EAAAP,KAAAO,IAAA,EAAAjrB,IAAA,cAAAtB,MACxB,SAAa4C,GAEPA,EAAEoC,SAAWpC,EAAEoC,OAAOO,QAAQ,6BAC5Bb,KAAK3G,MAAM+D,SAAS/D,MAAM43D,aAC5BjxD,KAAK3G,MAAM+D,SAAS/D,MAAM43D,cAE5BjxD,KAAK3G,MAAMgvC,UAEf,GAAC,CAAAzrC,IAAA,SAAAtB,MAED,WAAW,IAADisB,EAAA,KACR,OACErsB,EAAAA,cAAA,OAAKG,GAAG,QAAQF,UAAU,uBAAuB4Q,MAAO,CAAC,EAAGwN,QAASvZ,KAAKigC,YAAY3pB,KAAKtW,OACzF9E,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,gBACbD,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OACEqe,QAAS,WACPgO,EAAKluB,MAAM+D,SAAS/D,MAAM43D,aAAe1pC,EAAKluB,MAAM+D,SAAS/D,MAAM43D,cACnE1pC,EAAKluB,MAAMgvC,SACb,EAAGltC,UAAU,iEAEbD,EAAAA,cAACqhC,EAAAA,EAAe,CAACC,KAAK,QAAQ2M,KAAK,UAIzCjuC,EAAAA,cAAA,OAAKC,UAAU,iBACZ6E,KAAK3G,MAAM+D,aAO1B,gGAAC,CArCuB,CAASlC,EAAAA,ouDCFZ,IAEFg2D,EAAO,SAAA5pC,GAAA,SAAA4pC,IAAA,mGAAA9vC,CAAA,KAAA8vC,GAAA7vC,EAAA,KAAA6vC,EAAA5vC,UAAA,6RAAAC,CAAA2vC,EAAA5pC,KAAA4pC,IAAA,EAAAt0D,IAAA,SAAAtB,MAC1B,WAAW,IAADisB,EAAA,KACF7O,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAAuEppC,KAAK3G,MAApE0lC,EAASqK,EAATrK,UAAWjI,EAASsS,EAATtS,UAAWjB,EAAQuT,EAARvT,SAAU/U,EAAYsoB,EAAZtoB,aAAcuoB,EAAYD,EAAZC,aAChDp6B,EAAOjP,KAAK3G,MAAM4V,MAAQ,OAC1B0pB,EAAS34B,KAAK3G,MAAMs/B,QAAU,UAC9B6Q,iWAAUxf,CAAA,GAAQhqB,KAAK3G,OAU7B,cAROmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,YACXu6B,EAAW7Q,OAEhBz9B,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACfD,EAAAA,cAAA,OAAKC,UAAU,UACbD,EAAAA,cAAA,SAAOC,UAAU,aAAaC,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,KACxEpe,EAAOxc,KAAI,SAAAoc,GAAG,OACbpd,EAAAA,cAAA,OAAK0B,IAAK0b,EAAKvM,MAAO,CAAE6S,MAAO,QAC5B2I,EAAKluB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACxC,IAERpd,EAAAA,cAAA,SAAOC,UAAU,gBACfD,EAAAA,cAAA,QAAAwK,OAAAgoB,OAAA,CACEze,KAAMA,EACNtS,KAAMm6B,EACNz7B,GAAIy7B,EACJ6B,OAAQA,GACJ6Q,IAENtuC,EAAAA,cAAA,OAAKC,UAAU,wBAAwBuhC,IAAK2M,GAAgBvoB,GA3BhD,8BA2B6EzQ,IAAI,OAKvG,gGAAC,CAvCyB,CAASnV,EAAAA,upCC4ErC,WAAeunB,EAAAA,EAAAA,cAxEE,SAAAppB,GACf,IAAkDC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA3C2jC,EAAW7jC,EAAA,GAAE63D,EAAc73D,EAAA,GACmB6vB,EAAA5vB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA9CysB,EAASiD,EAAA,GAAEioC,EAAYjoC,EAAA,GACQG,EAAA/vB,GAAZC,EAAAA,EAAAA,UAAS,CAAC,GAAE,GAA/B63D,EAAK/nC,EAAA,GAAEgoC,EAAQhoC,EAAA,IAEtBlvB,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,IAEA,IAAMgsC,EAAe,SAACr0B,GACpBo0B,EAASp0B,GACTi0B,EAAe,IACfC,OAAa33D,EACf,EAWA,OACEyB,EAAAA,cAAAA,EAAAA,SAAA,MACQ,OAALm2D,QAAK,IAALA,OAAK,EAALA,EAAOA,QACNn2D,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,QACbD,EAAAA,cAAA,OAAKC,UAAU,gBACbD,EAAAA,cAAA,SACGE,IAAAA,EAAO,4BAA4BF,EAAAA,cAAA,WAAMA,EAAAA,cAAA,WAC1CA,EAAAA,cAAA,UAZR,GAANK,OAAUogC,iCAAoB,iBAAApgC,OAAgB81D,EAAMh2D,GAAE,KAAAE,OAAI81D,EAAMA,QAY1Bn2D,EAAAA,cAAA,WAAMA,EAAAA,cAAA,WAC9BA,EAAAA,cAAA,QAAMC,UAAU,uBAAuBC,IAAAA,EAAO,sCAO1DF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,cACH4T,KAAK,OACL9T,UAAU,WACVG,MAAO6hC,EACP3hC,SAAU,SAAA0C,GAAC,OAAIizD,EAAejzD,EAAEoC,OAAOhF,MAAM,IAE/CJ,EAAAA,cAAA,SAAO6rB,QAAQ,eAAe3rB,IAAAA,EAAO,sCAEvCF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,cAAiB2lC,EAAAA,yBAAwB,CAC5C/kC,SAAUiqB,EACV1qB,SAAU,SAAAgoD,GAAI,OAAI4N,EAAa5N,EAAK,EACpClB,QAAS,IAAItV,QAEf9xC,EAAAA,cAAA,SAAO6rB,QAAQ,aAAa5rB,UAAW8oB,IAAW,CAAEpZ,OAAQqb,KAAe9qB,IAAAA,EAAO,qCAEpFF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UAAQ+T,KAAK,SAAS9T,UAAU,+BAA+Boe,QA/CtD,WACf+3C,EAAS,CAAC,GACVj4D,EAAMmkC,YAAY,CAAEg0B,UAAW,CAAEr0B,YAAAA,EAAahX,WAAYD,IAAeqrC,EAC3E,GA6CUr2D,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,OAAQ,IACrCC,IAAAA,EAAO,kCAMpB,k4CC5EuB,IAEFy6C,EAAa,SAAAvuB,GAAA,SAAAuuB,IAAA,mGAAAz0B,CAAA,KAAAy0B,GAAAx0B,EAAA,KAAAw0B,EAAAv0B,UAAA,6RAAAC,CAAAs0B,EAAAvuB,KAAAuuB,KAAA,EAAAj5C,IAAA,SAAAtB,MAChC,WAAW,IAADisB,EAAA,KACR,OACErsB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,KAAGC,UAAU,UAAUC,IAAAA,EAAO,kCAC9BF,EAAAA,cAAA,UACG8E,KAAK3G,MAAMu9C,gBAAkB52C,KAAK3G,MAAMu9C,eAAe16C,KACtD,SAACm0C,EAAM9qC,GAAK,OAAMrK,EAAAA,cAAA,MAAI0B,IAAK2I,EAAOpK,UAAU,UAASD,EAAAA,cAAA,YAAOm1C,GAAiB,KAGjFn1C,EAAAA,cAAA,KAAGC,UAAU,UACXD,EAAAA,cAAA,UACEG,GAAG,wBACHke,QAAS,WAAF,OAAQgO,EAAKluB,MAAMyvB,YAAY,EACtC3tB,UAAU,sDAETC,IAAAA,EAAO,mCAKlB,+FAAC,CArB+B,CAASF,EAAAA,sGCc3C,UAZ6B,SAAA7B,GAC3B,IAAQ6zB,EAAiB7zB,EAAjB6zB,aACR,OACEhyB,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,YACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,0CACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACu2D,EAAAA,QAAc/rD,OAAAgoB,OAAA,GAAKr0B,EAAW6zB,GAAgB,IAIzE,8qECsEA,WAAe3V,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,cA7EP,SAAAppB,GACxB,IAAsCC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/BmB,EAAKrB,EAAA,GAAEiwB,EAAQjwB,EAAA,GAehBowB,EAAW,WACf,OAAOI,EAAAA,QAAM/S,IAAI,gBAAiB,CAAEgT,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC1D,EA6BMynC,EAAe,SAACr1C,GACpBA,EACGpE,MAAK,SAAAmxC,GACJ/vD,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,yCACP/B,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOC,KAC/B,IAAE,OACK,SAAAC,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAEA,OACE/d,EAAAA,cAACy2D,EAAAA,QAAa,CACZ3nB,gBAAiB,CACfrvC,MAAAA,EACA6c,WAjEa,WACFkS,IAEZzR,MAAK,SAAA0R,GAASJ,EAASI,EAAI5vB,KAAM,IAAE,OAC7B,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAuDMyS,qBA7CuB,SAACrG,GAC5B,IAAMhJ,EALmB,SAACgJ,GAC1B,OAAOyE,EAAAA,QAAM8R,KAAK,2BAA4BvW,EAAQ,CAAE0E,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC9E,CAGiB2nC,CAAmBvsC,GAClCqsC,EAAar1C,EACf,EA2CMuP,mBArCqB,SAACvG,GAC1B,IAAMhJ,EALiB,SAACgJ,GACxB,OAAOyE,EAAAA,QAAM8R,KAAK,wCAAyCvW,EAAQ,CAAE0E,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBAC3F,CAGiB4nC,CAAiBxsC,GAChCqsC,EAAar1C,EACf,EAmCMyP,eA7BiB,SAACzG,GACtB,IAAMhJ,EALa,SAACgJ,GACpB,OAAOyE,EAAAA,QAAM8R,KAAK,oCAAqCvW,EAAQ,CAAE0E,QAAOC,EAAA,GAAO3wB,EAAM4wB,yBACvF,CAGiB6nC,CAAazsC,GAC5BqsC,EAAar1C,EACf,IA8BF,qtEChFoC,IAE9B01C,EAAM,SAAAzqC,GAAA,SAAAyqC,IAAA,OAAA3wC,EAAA,KAAA2wC,GAAA1wC,EAAA,KAAA0wC,EAAAzwC,UAAA,QAAAC,EAAAwwC,EAAAzqC,GAAA6tB,EAAA4c,EAAA,EAAAn1D,IAAA,iBAAAtB,MACV,SAAgB02D,GACd,OAAIA,EAASz6B,SAAS,UACbn8B,IAAAA,EAAO42D,GAET52D,IAAAA,EAAO,SAADG,OAAUy2D,GACzB,GAAC,CAAAp1D,IAAA,SAAAtB,MAED,WACE,IAAM22D,EAAajyD,KAAK3G,MAAM44D,UAAa,aAAiB,GACtDC,EAAalyD,KAAK3G,MAAM64D,UAAa,UAAc,GACnDC,EAAYnyD,KAAK3G,MAAM+4D,UAC7B,OACEl3D,EAAAA,cAAA,OAAKqe,QAASvZ,KAAK3G,MAAMkgB,QAASpe,UAAS,GAAAI,OAAK02D,EAAS,KAAA12D,OAAI22D,GAAa,WAAUlyD,KAAKqyD,eAAeryD,KAAK3G,MAAM24D,WACjH92D,EAAAA,cAACi3D,EAAS,CAAC31B,KAAMx8B,KAAK3G,MAAMi5D,eAGlC,IAAC,CAjBS,CAASp3D,EAAAA,WAoBAgjD,EAAkB,SAAA7I,GAAA,SAAA6I,IAAA,OAAA98B,EAAA,KAAA88B,GAAA78B,EAAA,KAAA68B,EAAA58B,UAAA,QAAAC,EAAA28B,EAAA7I,GAAAF,EAAA+I,EAAA,EAAAthD,IAAA,oBAAAtB,MACrC,WACEsjD,EAAAA,EAAaC,SACf,GAAC,CAAAjiD,IAAA,gBAAAtB,MAED,SAAeq7B,EAAS0S,EAAc+oB,GAAY,IAAD7qC,EAAA,KAC/C,OAAOoP,GAAW0S,GAAgB1S,EAAQz6B,KAAI,SAAA0tC,GAC5C,IAAM3tC,EAAWotC,EAAa9R,SAASqS,EAAO3K,WAAW3jC,OACnD02D,EAAWpoB,EAAO3K,WAAWtiC,KAC7B21D,EAAe1oB,EAAO3K,WAAWzC,KACjC5/B,EAAG,GAAArB,OAAMy2D,EAAQ,KAAAz2D,OAAIquC,EAAO3K,WAAW3jC,OAC7C,OACEJ,EAAAA,cAAC62D,EAAM,CACLx4C,QAAS,WAAF,OAAQgO,EAAKgrC,aAAa3oB,EAAO3K,WAAW3jC,MAAO+tC,EAAa,EACvEzsC,IAAKA,EACLq1D,WAAYh2D,EACZq2D,aAAcA,EACdN,SAAUA,EACVI,UAAWA,EACXF,WAAS,GAGf,GACF,GAAC,CAAAt1D,IAAA,eAAAtB,MAED,SAAcwyC,EAAKzE,GACjB,IAAMptC,EAAWL,MAAMC,KAAKwtC,GACtBtjC,EAAI9J,EAASmD,QAAQ0uC,GACvB/nC,GAAK,EACP9J,EAAS80D,OAAOhrD,EAAG,IAEnB9J,EAAS2D,KAAKkuC,GACd7xC,EAAS0K,QAEX3G,KAAK3G,MAAMmC,SAAS,CAAEs8B,kBAAmB,WAAF,OAAQ77B,CAAQ,GACzD,GAAC,CAAAW,IAAA,SAAAtB,MAED,WAAW,IAAD+sB,EAAA,KACF3P,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAA0GppC,KAAK3G,MAAvGgsD,EAAOjc,EAAPic,QAAStmB,EAASqK,EAATrK,UAAW9vB,EAAIm6B,EAAJn6B,KAAM6nB,EAASsS,EAATtS,UAAWH,EAAOyS,EAAPzS,QAASd,EAAQuT,EAARvT,SAAU/U,EAAYsoB,EAAZtoB,aAAcuoB,EAAYD,EAAZC,aAAc+oB,EAAShpB,EAATgpB,UACtF5oB,iWAAUxf,CAAA,GAAQhqB,KAAK3G,cACtBmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAW7S,eACX6S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,KAKlB,IAAMw6B,EAAY,CAAC,EACfJ,EACFI,EAAUnuC,MAAQ+tC,EAAantC,KAAI,SAAC6vB,GAAG,OAAK3vB,SAAS2vB,EAAI,IAChDjL,IACT2oB,EAAUnuC,MAAQwlB,GAGpB,IAAIwkC,EAAcD,EAUlB,MAT2B,oBAAhBC,IACTA,EAAcA,KASdpqD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,eACZud,EAAOxc,KAAI,SAACoc,EAAKvS,GAAC,OACjB7K,EAAAA,cAAA,OAAK0B,IAAKmJ,GACPsiB,EAAKhvB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACxC,IAERpd,EAAAA,cAAA,YACEA,EAAAA,cAAA,SAAOC,UAAU,UACdC,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,KAE7CuuB,GAAWnqD,EAAAA,cAAC4hC,EAAAA,QAAI,CAACC,KAAMuoB,EAAatoB,UAAS,GAAAzhC,OAAKs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,EAAS,eAE/F57B,EAAAA,cAAA,OAAKC,UAAU,wBACZ6E,KAAKwyD,cAAc77B,EAAS0S,EAAc+oB,MAMvD,IAAC,CA5FoC,CAASl3D,EAAAA,g6CCrBsB,IAEjDu3D,EAAe,SAAAnrC,GAAA,SAAAmrC,IAAA,mGAAArxC,CAAA,KAAAqxC,GAAApxC,EAAA,KAAAoxC,EAAAnxC,UAAA,6RAAAC,CAAAkxC,EAAAnrC,KAAAmrC,KAAA,EAAA71D,IAAA,SAAAtB,MAClC,WACE,OACEJ,EAAAA,cAACklC,EAAAA,QAAgB,KACfllC,EAAAA,cAACgmB,EAAAA,QAAO,MACRhmB,EAAAA,cAACslC,EAAAA,QAAoB,MACrBtlC,EAAAA,cAAC4lC,EAAAA,QAAwB,MAG/B,+FAAC,CATiC,CAAS5lC,EAAAA,u1BC6C7C,UA7C+B,SAAHiC,GAA0F,IAApFq3C,EAAyBr3C,EAAzBq3C,0BAA2Bke,EAA4Bv1D,EAA5Bu1D,6BAA8BC,EAAmBx1D,EAAnBw1D,oBACnFC,EAAkB,SAAAC,GACtB,IAAIC,EAEFA,EADEte,EAA0Bjd,SAASs7B,GACNre,EAA0Bz4C,QAAO,SAAA+hB,GAAG,OAAIA,IAAQ+0C,CAAU,IAE7D,GAAAt3D,wIAAAG,CAAAC,EAAO64C,GAAyB,CAAEqe,IAEhEH,EAA6BI,GAC7BH,EAAoB,CAAEje,4BAA6Boe,GACrD,EASA,OACE53D,EAAAA,cAAAA,EAAAA,SAAA,MACGugB,EAAAA,EAAAA,sBAAqBvf,KAAI,SAAAof,GAAc,OACtCpgB,EAAAA,cAAA,OAAKC,UAAU,MAAMyB,IAAK0e,GACxBpgB,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,WAAK2d,EAAAA,EAAAA,wBAAsB8E,EAAAA,EAAAA,yBAAwBrC,KACnDpgB,EAAAA,cAAA,SAAGA,EAAAA,cAAA,WAAKmgB,EAAAA,EAAAA,oBAAmBC,KAC1B2C,EAAAA,eAAe3C,GAAgBvf,QAAO,SAAAmiB,GAAQ,OAAIA,EAAS7iB,EAAE,IAAEa,KAAI,SAAAgiB,GAAQ,OAC1EhjB,EAAAA,cAAA,KAAG0B,IAAKshB,EAAS7iB,IACfH,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,SAAUwtB,EAA0Bjd,SAASrZ,EAAS7iB,IACtDG,SAAU,WAAF,OAAQo3D,EAAgB10C,EAAS7iB,GAAG,IAE9CH,EAAAA,cAAA,YAtBM,SAAAgjB,GACpB,MAAoB,OAAhB9iB,IAAAA,OACK8iB,EAASxhB,MAAMmrD,GAEjB3pC,EAASxhB,MAAMorD,EACxB,CAiBuBiL,CAAc70C,KAErB,KAGJ,IAId,42CCjDyB,IAEJ5gB,EAAO,SAAAgqB,GAAA,SAAAhqB,IAAA,mGAAA8jB,CAAA,KAAA9jB,GAAA+jB,EAAA,KAAA/jB,EAAAgkB,UAAA,6RAAAC,CAAAjkB,EAAAgqB,KAAAhqB,KAAA,EAAAV,IAAA,SAAAtB,MAC1B,WAEE,OADc0E,KAAK3G,MAAMyD,MAEhB5B,EAAAA,cAAAA,EAAAA,SAAA,MAIPA,EAAAA,cAAA,OAAKC,UAAU,eAAe4Q,MAAO/L,KAAK3G,MAAM2D,YAAc,CAAE0hB,gBAAiB,eAAkB,CAAC,GAClGxjB,EAAAA,cAAA,OAAKC,UAAU,YAGrB,+FAAC,CAZyB,CAASD,EAAAA,sJCCrC83D,EAAQ,OAER,IAAMC,EAAgB,CACpB,QAAS,KACT,QAAS,KACT,QAAS,KACT,QAAS,MAGLC,EAAgB74D,OAAOmH,UAAU2xD,cAAgB94D,OAAOmH,UAAU4xD,SAOlEC,EAAiBh5D,OAAOmH,UAAU8xD,UAAY,KAAQJ,KAAiBD,GAAiBA,EAAcC,IAAmB,KAE/H93D,IAAAA,OAAci4D,EACd1tC,IAAAA,OAAc0tC,GAEd,IAAME,EAAkB,WACtB,OAAO,IAAI3/B,SAAQ,SAAC7B,EAASyhC,GACX1pC,EAAAA,QAAM/S,IAAI,mBAClBkB,MAAK,SAACoE,GACZ,IAAM+1B,EAAS/1B,EAAOtiB,KAAK+U,QACZ,OAAXsjC,GACFzsB,IAAAA,OAAcysB,GACdh3C,IAAAA,OAAcg3C,IAEdzsB,IAAAA,OAAc0tC,GACdj4D,IAAAA,OAAci4D,GAEhBthC,EAAQ32B,IACV,GACF,GACF,EAaaosB,EAAa,CACxBC,KAAM,WAGJ8rC,GACF,EACAh0B,UAAW,WAAF,OAAQg0B,GAAiB,EAClCE,cAAe,SAACC,GAAW,OAlBD,SAAAA,GAC1B,IAAMthB,EAASshB,EACA,OAAXthB,GACFzsB,IAAAA,OAAcysB,GACdh3C,IAAAA,OAAcg3C,IAEdzsB,IAAAA,OAAc0tC,GACdj4D,IAAAA,OAAci4D,EAElB,CASkCM,CAAoBD,EAAY,2RC1DlEjjC,EAAA,kBAAAvyB,CAAA,MAAA6B,EAAA7B,EAAA,GAAAX,EAAAmI,OAAAC,UAAAnH,EAAAjB,EAAAmJ,eAAA6L,EAAA7M,OAAAgrB,gBAAA,SAAA3wB,EAAA7B,EAAAX,GAAAwC,EAAA7B,GAAAX,EAAAjC,KAAA,EAAAyK,EAAA,mBAAA4qB,OAAAA,OAAA,GAAAlyB,EAAAsH,EAAA6qB,UAAA,aAAA9yB,EAAAiI,EAAA8qB,eAAA,kBAAAlxB,EAAAoG,EAAA+qB,aAAA,yBAAA1wB,EAAAL,EAAA7B,EAAAX,GAAA,OAAAmI,OAAAgrB,eAAA3wB,EAAA7B,EAAA,CAAA5C,MAAAiC,EAAAwzB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAlxB,EAAA7B,EAAA,KAAAkC,EAAA,aAAAL,GAAAK,EAAA,SAAAL,EAAA7B,EAAAX,GAAA,OAAAwC,EAAA7B,GAAAX,CAAA,WAAA2zB,EAAAnxB,EAAA7B,EAAAX,EAAAiB,GAAA,IAAAuH,EAAA7H,GAAAA,EAAAyH,qBAAAwrB,EAAAjzB,EAAAizB,EAAA1yB,EAAAiH,OAAA2R,OAAAtR,EAAAJ,WAAA7H,EAAA,IAAAszB,EAAA5yB,GAAA,WAAA+T,EAAA9T,EAAA,WAAAnD,MAAA+1B,EAAAtxB,EAAAxC,EAAAO,KAAAW,CAAA,UAAA6yB,EAAAvxB,EAAA7B,EAAAX,GAAA,WAAA0R,KAAA,SAAAsiB,IAAAxxB,EAAA6F,KAAA1H,EAAAX,GAAA,OAAAwC,GAAA,OAAAkP,KAAA,QAAAsiB,IAAAxxB,EAAA,EAAA7B,EAAAgzB,KAAAA,EAAA,IAAA3yB,EAAA,iBAAAD,EAAA,iBAAAT,EAAA,YAAAD,EAAA,YAAA+D,EAAA,YAAAwvB,IAAA,UAAAK,IAAA,UAAAC,IAAA,KAAAtzB,EAAA,GAAAiC,EAAAjC,EAAAM,GAAA,8BAAAR,EAAAyH,OAAAgsB,eAAA1zB,EAAAC,GAAAA,EAAAA,EAAAyP,EAAA,MAAA1P,GAAAA,IAAAT,GAAAiB,EAAAoH,KAAA5H,EAAAS,KAAAN,EAAAH,GAAA,IAAAW,EAAA8yB,EAAA9rB,UAAAwrB,EAAAxrB,UAAAD,OAAA2R,OAAAlZ,GAAA,SAAAwzB,EAAA5xB,GAAA,0BAAAqJ,SAAA,SAAAlL,GAAAkC,EAAAL,EAAA7B,GAAA,SAAA6B,GAAA,YAAA6xB,QAAA1zB,EAAA6B,EAAA,gBAAA8xB,EAAA9xB,EAAA7B,GAAA,SAAA4zB,EAAAv0B,EAAAgV,EAAAxM,EAAAtH,GAAA,IAAAX,EAAAwzB,EAAAvxB,EAAAxC,GAAAwC,EAAAwS,GAAA,aAAAzU,EAAAmR,KAAA,KAAAtP,EAAA7B,EAAAyzB,IAAAhzB,EAAAoB,EAAArE,MAAA,OAAAiD,GAAA,iBAAAA,GAAAC,EAAAoH,KAAArH,EAAA,WAAAL,EAAA6zB,QAAAxzB,EAAAyzB,SAAA/Z,MAAA,SAAAlY,GAAA+xB,EAAA,OAAA/xB,EAAAgG,EAAAtH,EAAA,aAAAsB,GAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAP,EAAA6zB,QAAAxzB,GAAA0Z,MAAA,SAAAlY,GAAAJ,EAAArE,MAAAyE,EAAAgG,EAAApG,EAAA,aAAAI,GAAA,OAAA+xB,EAAA,QAAA/xB,EAAAgG,EAAAtH,EAAA,IAAAA,EAAAX,EAAAyzB,IAAA,KAAAh0B,EAAAgV,EAAA,gBAAAjX,MAAA,SAAAyE,EAAAvB,GAAA,SAAAyzB,IAAA,WAAA/zB,GAAA,SAAAA,EAAAX,GAAAu0B,EAAA/xB,EAAAvB,EAAAN,EAAAX,EAAA,WAAAA,EAAAA,EAAAA,EAAA0a,KAAAga,EAAAA,GAAAA,GAAA,aAAAZ,EAAAnzB,EAAAX,EAAAiB,GAAA,IAAA+T,EAAAhU,EAAA,gBAAAwH,EAAAtH,GAAA,GAAA8T,IAAA1U,EAAA,MAAAE,MAAA,mCAAAwU,IAAA3U,EAAA,cAAAmI,EAAA,MAAAtH,EAAA,OAAAnD,MAAAyE,EAAA0c,MAAA,OAAAje,EAAAkS,OAAA3K,EAAAvH,EAAA+yB,IAAA9yB,IAAA,KAAAX,EAAAU,EAAA0zB,SAAA,GAAAp0B,EAAA,KAAA6B,EAAAwyB,EAAAr0B,EAAAU,GAAA,GAAAmB,EAAA,IAAAA,IAAAgC,EAAA,gBAAAhC,CAAA,cAAAnB,EAAAkS,OAAAlS,EAAA4zB,KAAA5zB,EAAA6zB,MAAA7zB,EAAA+yB,SAAA,aAAA/yB,EAAAkS,OAAA,IAAA6B,IAAAhU,EAAA,MAAAgU,EAAA3U,EAAAY,EAAA+yB,IAAA/yB,EAAA8zB,kBAAA9zB,EAAA+yB,IAAA,gBAAA/yB,EAAAkS,QAAAlS,EAAA+zB,OAAA,SAAA/zB,EAAA+yB,KAAAhf,EAAA1U,EAAA,IAAAM,EAAAmzB,EAAApzB,EAAAX,EAAAiB,GAAA,cAAAL,EAAA8Q,KAAA,IAAAsD,EAAA/T,EAAAie,KAAA7e,EAAAU,EAAAH,EAAAozB,MAAA5vB,EAAA,gBAAArG,MAAA6C,EAAAozB,IAAA9U,KAAAje,EAAAie,KAAA,WAAAte,EAAA8Q,OAAAsD,EAAA3U,EAAAY,EAAAkS,OAAA,QAAAlS,EAAA+yB,IAAApzB,EAAAozB,IAAA,YAAAY,EAAAj0B,EAAAX,GAAA,IAAAiB,EAAAjB,EAAAmT,OAAA6B,EAAArU,EAAA0yB,SAAApyB,GAAA,GAAA+T,IAAAxS,EAAA,OAAAxC,EAAA20B,SAAA,eAAA1zB,GAAAN,EAAA0yB,SAAA,SAAArzB,EAAAmT,OAAA,SAAAnT,EAAAg0B,IAAAxxB,EAAAoyB,EAAAj0B,EAAAX,GAAA,UAAAA,EAAAmT,SAAA,WAAAlS,IAAAjB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAh0B,EAAA,aAAAmD,EAAA,IAAAoE,EAAAurB,EAAA/e,EAAArU,EAAA0yB,SAAArzB,EAAAg0B,KAAA,aAAAxrB,EAAAkJ,KAAA,OAAA1R,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAAxrB,EAAAwrB,IAAAh0B,EAAA20B,SAAA,KAAAvwB,EAAA,IAAAlD,EAAAsH,EAAAwrB,IAAA,OAAA9yB,EAAAA,EAAAge,MAAAlf,EAAAW,EAAAu0B,YAAAh0B,EAAAnD,MAAAiC,EAAAm1B,KAAAx0B,EAAAy0B,QAAA,WAAAp1B,EAAAmT,SAAAnT,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,GAAAxC,EAAA20B,SAAA,KAAAvwB,GAAAlD,GAAAlB,EAAAmT,OAAA,QAAAnT,EAAAg0B,IAAA,IAAAiB,UAAA,oCAAAj1B,EAAA20B,SAAA,KAAAvwB,EAAA,UAAAixB,EAAA7yB,GAAA,IAAA7B,EAAA,CAAA20B,OAAA9yB,EAAA,SAAAA,IAAA7B,EAAA40B,SAAA/yB,EAAA,SAAAA,IAAA7B,EAAA60B,WAAAhzB,EAAA,GAAA7B,EAAA80B,SAAAjzB,EAAA,SAAAkzB,WAAArzB,KAAA1B,EAAA,UAAAg1B,EAAAnzB,GAAA,IAAA7B,EAAA6B,EAAAozB,YAAA,GAAAj1B,EAAA+Q,KAAA,gBAAA/Q,EAAAqzB,IAAAxxB,EAAAozB,WAAAj1B,CAAA,UAAAkzB,EAAArxB,GAAA,KAAAkzB,WAAA,EAAAJ,OAAA,SAAA9yB,EAAAqJ,QAAAwpB,EAAA,WAAA3b,OAAA,YAAAvJ,EAAAxP,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAX,EAAAW,EAAAO,GAAA,GAAAlB,EAAA,OAAAA,EAAAqI,KAAA1H,GAAA,sBAAAA,EAAAw0B,KAAA,OAAAx0B,EAAA,IAAA/B,MAAA+B,EAAAjB,QAAA,KAAAsV,GAAA,EAAAxM,EAAA,SAAA2sB,IAAA,OAAAngB,EAAArU,EAAAjB,QAAA,GAAAuB,EAAAoH,KAAA1H,EAAAqU,GAAA,OAAAmgB,EAAAp3B,MAAA4C,EAAAqU,GAAAmgB,EAAAjW,MAAA,EAAAiW,EAAA,OAAAA,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,SAAA3sB,EAAA2sB,KAAA3sB,CAAA,YAAAysB,iBAAAt0B,EAAA,2BAAAszB,EAAA7rB,UAAA8rB,EAAAlf,EAAA5T,EAAA,eAAArD,MAAAm2B,EAAAT,cAAA,IAAAze,EAAAkf,EAAA,eAAAn2B,MAAAk2B,EAAAR,cAAA,IAAAQ,EAAA4B,YAAAhzB,EAAAqxB,EAAA9xB,EAAA,qBAAAzB,EAAAm1B,oBAAA,SAAAtzB,GAAA,IAAA7B,EAAA,mBAAA6B,GAAAA,EAAAuzB,YAAA,QAAAp1B,IAAAA,IAAAszB,GAAA,uBAAAtzB,EAAAk1B,aAAAl1B,EAAAvB,MAAA,EAAAuB,EAAAq1B,KAAA,SAAAxzB,GAAA,OAAA2F,OAAA8tB,eAAA9tB,OAAA8tB,eAAAzzB,EAAA0xB,IAAA1xB,EAAA0zB,UAAAhC,EAAArxB,EAAAL,EAAAJ,EAAA,sBAAAI,EAAA4F,UAAAD,OAAA2R,OAAA1Y,GAAAoB,CAAA,EAAA7B,EAAAw1B,MAAA,SAAA3zB,GAAA,OAAAiyB,QAAAjyB,EAAA,EAAA4xB,EAAAE,EAAAlsB,WAAAvF,EAAAyxB,EAAAlsB,UAAA7H,GAAA,0BAAAI,EAAA2zB,cAAAA,EAAA3zB,EAAAy1B,MAAA,SAAA5zB,EAAAxC,EAAAiB,EAAA+T,EAAAxM,QAAA,IAAAA,IAAAA,EAAA6tB,SAAA,IAAAn1B,EAAA,IAAAozB,EAAAX,EAAAnxB,EAAAxC,EAAAiB,EAAA+T,GAAAxM,GAAA,OAAA7H,EAAAm1B,oBAAA91B,GAAAkB,EAAAA,EAAAi0B,OAAAza,MAAA,SAAAlY,GAAA,OAAAA,EAAA0c,KAAA1c,EAAAzE,MAAAmD,EAAAi0B,MAAA,KAAAf,EAAAhzB,GAAAyB,EAAAzB,EAAAgB,EAAA,aAAAS,EAAAzB,EAAAF,GAAA,0BAAA2B,EAAAzB,EAAA,qDAAAT,EAAA2N,KAAA,SAAA9L,GAAA,IAAA7B,EAAAwH,OAAA3F,GAAAxC,EAAA,WAAAiB,KAAAN,EAAAX,EAAAqC,KAAApB,GAAA,OAAAjB,EAAAG,UAAA,SAAAg1B,IAAA,KAAAn1B,EAAAN,QAAA,KAAA8C,EAAAxC,EAAAs2B,MAAA,GAAA9zB,KAAA7B,EAAA,OAAAw0B,EAAAp3B,MAAAyE,EAAA2yB,EAAAjW,MAAA,EAAAiW,CAAA,QAAAA,EAAAjW,MAAA,EAAAiW,CAAA,GAAAx0B,EAAAwP,OAAAA,EAAA0jB,EAAAzrB,UAAA,CAAA2tB,YAAAlC,EAAAna,MAAA,SAAA/Y,GAAA,QAAA41B,KAAA,OAAApB,KAAA,OAAAN,KAAA,KAAAC,MAAAtyB,EAAA,KAAA0c,MAAA,OAAAyV,SAAA,UAAAxhB,OAAA,YAAA6gB,IAAAxxB,EAAA,KAAAkzB,WAAA7pB,QAAA8pB,IAAAh1B,EAAA,QAAAX,KAAA,WAAAA,EAAAw2B,OAAA,IAAAv1B,EAAAoH,KAAA,KAAArI,KAAApB,OAAAoB,EAAAkC,MAAA,WAAAlC,GAAAwC,EAAA,EAAAi0B,KAAA,gBAAAvX,MAAA,MAAA1c,EAAA,KAAAkzB,WAAA,GAAAE,WAAA,aAAApzB,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,YAAA0C,IAAA,EAAA3B,kBAAA,SAAAp0B,GAAA,QAAAue,KAAA,MAAAve,EAAA,IAAAX,EAAA,cAAA4M,EAAA3L,EAAA+T,GAAA,OAAA9T,EAAAwQ,KAAA,QAAAxQ,EAAA8yB,IAAArzB,EAAAX,EAAAm1B,KAAAl0B,EAAA+T,IAAAhV,EAAAmT,OAAA,OAAAnT,EAAAg0B,IAAAxxB,KAAAwS,CAAA,SAAAA,EAAA,KAAA0gB,WAAAh2B,OAAA,EAAAsV,GAAA,IAAAA,EAAA,KAAAxM,EAAA,KAAAktB,WAAA1gB,GAAA9T,EAAAsH,EAAAotB,WAAA,YAAAptB,EAAA8sB,OAAA,OAAA1oB,EAAA,UAAApE,EAAA8sB,QAAA,KAAAiB,KAAA,KAAAh2B,EAAAU,EAAAoH,KAAAG,EAAA,YAAApG,EAAAnB,EAAAoH,KAAAG,EAAA,iBAAAjI,GAAA6B,EAAA,SAAAm0B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,WAAAgB,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,SAAAj1B,GAAA,QAAAg2B,KAAA/tB,EAAA+sB,SAAA,OAAA3oB,EAAApE,EAAA+sB,UAAA,YAAAnzB,EAAA,MAAA5B,MAAA,kDAAA+1B,KAAA/tB,EAAAgtB,WAAA,OAAA5oB,EAAApE,EAAAgtB,WAAA,KAAAR,OAAA,SAAAxyB,EAAA7B,GAAA,QAAAX,EAAA,KAAA01B,WAAAh2B,OAAA,EAAAM,GAAA,IAAAA,EAAA,KAAAgV,EAAA,KAAA0gB,WAAA11B,GAAA,GAAAgV,EAAAsgB,QAAA,KAAAiB,MAAAt1B,EAAAoH,KAAA2M,EAAA,oBAAAuhB,KAAAvhB,EAAAwgB,WAAA,KAAAhtB,EAAAwM,EAAA,OAAAxM,IAAA,UAAAhG,GAAA,aAAAA,IAAAgG,EAAA8sB,QAAA30B,GAAAA,GAAA6H,EAAAgtB,aAAAhtB,EAAA,UAAAtH,EAAAsH,EAAAA,EAAAotB,WAAA,UAAA10B,EAAAwQ,KAAAlP,EAAAtB,EAAA8yB,IAAArzB,EAAA6H,GAAA,KAAA2K,OAAA,YAAAgiB,KAAA3sB,EAAAgtB,WAAApxB,GAAA,KAAAuyB,SAAAz1B,EAAA,EAAAy1B,SAAA,SAAAn0B,EAAA7B,GAAA,aAAA6B,EAAAkP,KAAA,MAAAlP,EAAAwxB,IAAA,gBAAAxxB,EAAAkP,MAAA,aAAAlP,EAAAkP,KAAA,KAAAyjB,KAAA3yB,EAAAwxB,IAAA,WAAAxxB,EAAAkP,MAAA,KAAAglB,KAAA,KAAA1C,IAAAxxB,EAAAwxB,IAAA,KAAA7gB,OAAA,cAAAgiB,KAAA,kBAAA3yB,EAAAkP,MAAA/Q,IAAA,KAAAw0B,KAAAx0B,GAAAyD,CAAA,EAAAwyB,OAAA,SAAAp0B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAw1B,aAAAhzB,EAAA,YAAAm0B,SAAA32B,EAAA41B,WAAA51B,EAAAy1B,UAAAE,EAAA31B,GAAAoE,CAAA,kBAAA5B,GAAA,QAAA7B,EAAA,KAAA+0B,WAAAh2B,OAAA,EAAAiB,GAAA,IAAAA,EAAA,KAAAX,EAAA,KAAA01B,WAAA/0B,GAAA,GAAAX,EAAAs1B,SAAA9yB,EAAA,KAAAvB,EAAAjB,EAAA41B,WAAA,aAAA30B,EAAAyQ,KAAA,KAAAsD,EAAA/T,EAAA+yB,IAAA2B,EAAA31B,EAAA,QAAAgV,CAAA,QAAAxU,MAAA,0BAAAq2B,cAAA,SAAAl2B,EAAAX,EAAAiB,GAAA,YAAA0zB,SAAA,CAAAtB,SAAAljB,EAAAxP,GAAAu0B,WAAAl1B,EAAAo1B,QAAAn0B,GAAA,cAAAkS,SAAA,KAAA6gB,IAAAxxB,GAAA4B,CAAA,GAAAzD,CAAA,UAAAm2B,EAAA71B,EAAAuB,EAAA7B,EAAAX,EAAAgV,EAAA9T,EAAAX,GAAA,QAAAiI,EAAAvH,EAAAC,GAAAX,GAAA6B,EAAAoG,EAAAzK,KAAA,OAAAkD,GAAA,YAAAN,EAAAM,EAAA,CAAAuH,EAAA0W,KAAA1c,EAAAJ,GAAAi0B,QAAA7B,QAAApyB,GAAAsY,KAAA1a,EAAAgV,EAAA,UAAAkzC,EAAAjnD,GAAA,sBAAAuB,EAAA,KAAA7B,EAAAojB,UAAA,WAAAsS,SAAA,SAAAr2B,EAAAgV,GAAA,IAAA9T,EAAAD,EAAAqB,MAAAE,EAAA7B,GAAA,SAAA+6B,EAAAz6B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,OAAA16B,EAAA,UAAA06B,EAAA16B,GAAA61B,EAAA51B,EAAAlB,EAAAgV,EAAA0mB,EAAAC,EAAA,QAAA16B,EAAA,CAAAy6B,OAAA,gBAAA1c,EAAAhf,EAAAW,GAAA,IAAA6B,EAAA,oBAAA4wB,QAAApzB,EAAAozB,OAAAC,WAAArzB,EAAA,kBAAAwC,EAAA,IAAAnE,MAAA6G,QAAAlF,KAAAwC,EAAA,SAAAxC,EAAAkB,GAAA,GAAAlB,EAAA,qBAAAA,EAAA,OAAA4zC,EAAA5zC,EAAAkB,GAAA,IAAAsB,EAAA,GAAAZ,SAAAyG,KAAArI,GAAAkC,MAAA,uBAAAM,GAAAxC,EAAA+1B,cAAAvzB,EAAAxC,EAAA+1B,YAAA32B,MAAA,QAAAoD,GAAA,QAAAA,EAAAnE,MAAAC,KAAA0B,GAAA,cAAAwC,GAAA,2CAAAwB,KAAAxB,GAAAoxC,EAAA5zC,EAAAkB,QAAA,GAAA6yC,CAAA/zC,KAAAW,GAAAX,GAAA,iBAAAA,EAAAN,OAAA,CAAA8C,IAAAxC,EAAAwC,GAAA,IAAA6zD,EAAA,EAAAC,EAAA,oBAAAj2D,EAAAi2D,EAAAr1D,EAAA,kBAAAo1D,GAAAr2D,EAAAN,OAAA,CAAAwf,MAAA,IAAAA,MAAA,EAAAnhB,MAAAiC,EAAAq2D,KAAA,EAAA11D,EAAA,SAAAX,GAAA,MAAAA,CAAA,EAAAM,EAAAg2D,EAAA,WAAArhC,UAAA,6IAAAjgB,EAAA9T,GAAA,EAAAkB,GAAA,SAAA/B,EAAA,WAAAmC,EAAAA,EAAA6F,KAAArI,EAAA,EAAAiB,EAAA,eAAAjB,EAAAwC,EAAA2yB,OAAA,OAAAj0B,EAAAlB,EAAAkf,KAAAlf,CAAA,EAAAW,EAAA,SAAAX,GAAAoC,GAAA,EAAA4S,EAAAhV,CAAA,EAAAM,EAAA,eAAAY,GAAA,MAAAsB,EAAA,QAAAA,EAAA,oBAAAJ,EAAA,MAAA4S,CAAA,aAAA4+B,EAAA5zC,EAAAkB,IAAA,MAAAA,GAAAA,EAAAlB,EAAAN,UAAAwB,EAAAlB,EAAAN,QAAA,QAAAiB,EAAA,EAAAM,EAAA5C,MAAA6C,GAAAP,EAAAO,EAAAP,IAAAM,EAAAN,GAAAX,EAAAW,GAAA,OAAAM,CAAA,CASA,IAAMs1D,EAAiB,SAAC7qC,EAAwCzH,EAAkBuyC,GAChF,IACwC33C,EAD6HE,EAAAC,EAA9G0M,EAAUltB,QAAO,SAAC0c,GAAkB,OAAK+I,EAAOmC,MAAK,SAAAsT,GAAK,OAAIvxB,OAAOmG,KAAK4M,EAASgU,UAAU8K,SAASN,EAAM,GAAC,KAC5H,QAAA1Z,EAAA,WAAG,IAAhC9E,EAAQ2D,EAAA9gB,MACX04D,EAAetuD,OAAOmG,KAAK4M,EAASgU,UAC1ChU,EAASgU,SAASsnC,IAAY7nB,EAAAA,EAAAA,KAAI1qB,EAAOtlB,KAAI,SAAA+6B,GAAK,OAAI+8B,EAAaz8B,SAASN,GAAS76B,SAASqc,EAASgU,SAASwK,IAAU,CAAC,IAC7H,EAHA,IAAA3a,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAAc,GAGC,OAAAjF,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACH,EAEawlD,EAAmC,SAC9C1J,EACA51C,EACAE,EACAgwD,EACAn4D,GAEA,IAAQ+qD,GAAYqN,EAAAA,EAAAA,YAAWxO,EAAAA,gBAAvBmB,QACR,OAAOsN,EAAAA,EAAAA,UAA6C,CAAC,2BAA4Bxa,GAAU8L,EAAAh1B,IAAA8C,MACzF,SAAAyyB,IAAA,IAAAr8B,EAAAyqC,EAAAr3C,EAAAD,EAAAu3C,EAAA,OAAA5jC,IAAAS,MAAA,SAAAg1B,GAAA,cAAAA,EAAApyB,KAAAoyB,EAAAxzB,MAAA,UAC2B,IAArBinB,EAAU18C,OAAY,CAAAipD,EAAAxzB,KAAA,eAAAwzB,EAAA3zB,OAAA,SAAS,IAAE,cAAA2zB,EAAAxzB,KAAA,EAEnBm0B,EAAQ59B,UAAU69B,gBAAgBnN,EAAW51C,EAAOE,GAAI,OAAjE,GAAH0lB,EAAGu8B,EAAA9zB,MACL6hC,EAAa,CAAD/N,EAAAxzB,KAAA,SACR0hC,EAA8CzqC,EAAI5vB,KAAKgC,QAAO,SAAC0c,GAAkB,OAAKguB,EAAAA,YAAYlqC,OAAM,SAAA+3D,GAAU,OAAI5uD,OAAOmG,KAAK4M,EAASgU,UAAU8K,SAAS+8B,EAAW,GAAC,IAACv3C,EAAAR,EAC1J63C,GAAclO,EAAApyB,KAAA,EAAAugC,EAAA5jC,IAAA8C,MAAA,SAAAwE,IAAA,IAAAtf,EAAA,OAAAgY,IAAAS,MAAA,SAAAqH,GAAA,cAAAA,EAAAzE,KAAAyE,EAAA7F,MAAA,QAA1Bja,EAAQqE,EAAAxhB,OACRmxB,SAASkY,EAAAA,gBAAiBuH,EAAAA,EAAAA,KAAIzF,EAAAA,YAAYvqC,KAAI,SAAAo4D,GAAU,OAAIl4D,SAASqc,EAASgU,SAAS6nC,GAAY,KAAE,wBAAA/7B,EAAAvE,OAAA,GAAA+D,EAAA,IAAAhb,EAAAnf,IAAA,YAAAkf,EAAAC,EAAAve,KAAAie,KAAA,CAAAypC,EAAAxzB,KAAA,gBAAAwzB,EAAA9xB,cAAAigC,IAAA,iBAAAnO,EAAAxzB,KAAA,iBAAAwzB,EAAAxzB,KAAA,iBAAAwzB,EAAApyB,KAAA,GAAAoyB,EAAAqO,GAAArO,EAAA,SAAAnpC,EAAA7e,EAAAgoD,EAAAqO,IAAA,eAAArO,EAAApyB,KAAA,GAAA/W,EAAAlf,IAAAqoD,EAAA/xB,OAAA,YAEhH2/B,EAAenqC,EAAI5vB,KAAM2sC,EAAAA,UAAW9B,EAAAA,aACpCkvB,EAAenqC,EAAI5vB,KAAM4sC,EAAAA,UAAW9B,EAAAA,aAAY,eAAAqhB,EAAA3zB,OAAA,SAE3C5I,EAAI5vB,MAAI,yBAAAmsD,EAAAlyB,OAAA,GAAAgyB,EAAA,yBAEjBlqD,EACJ,EAEa04D,EAAgC,SAC3C7a,EACA51C,EACAE,EACAnI,GAEA,IAAQ+qD,GAAYqN,EAAAA,EAAAA,YAAWxO,EAAAA,gBAAvBmB,QACR,OAAOsN,EAAAA,EAAAA,UAA0C,CAAC,wBAAyBxa,GAAU8L,EAAAh1B,IAAA8C,MACnF,SAAA8yB,IAAA,IAAA18B,EAAA,OAAA8G,IAAAS,MAAA,SAAAo1B,GAAA,cAAAA,EAAAxyB,KAAAwyB,EAAA5zB,MAAA,UAC2B,IAArBinB,EAAU18C,OAAY,CAAAqpD,EAAA5zB,KAAA,eAAA4zB,EAAA/zB,OAAA,SAAS,IAAE,cAAA+zB,EAAA5zB,KAAA,EAEnBm0B,EAAQG,sBAAsBzhD,MAAMo0C,EAAW51C,EAAOE,GAAI,OAAnE,OAAH0lB,EAAG28B,EAAAl0B,KAAAk0B,EAAA/zB,OAAA,SACF5I,EAAI5vB,MAAI,wBAAAusD,EAAAtyB,OAAA,GAAAqyB,EAAA,KAEjBvqD,EACJ,EAEajC,EAAiC,SAC5C6yB,EACArqB,EACAvG,GAEA,IAAQ+qD,GAAYqN,EAAAA,EAAAA,YAAWxO,EAAAA,gBAAvBmB,QACR,OAAOsN,EAAAA,EAAAA,UAA2C,CAAC,yBAA0BznC,EAAUrqB,GAAMojD,EAAAh1B,IAAA8C,MAC3F,SAAAkzB,IAAA,IAAA98B,EAAA,OAAA8G,IAAAS,MAAA,SAAAw1B,GAAA,cAAAA,EAAA5yB,KAAA4yB,EAAAh0B,MAAA,eACmBj5B,IAAbizB,EAAsB,CAAAg6B,EAAAh0B,KAAA,eAAAg0B,EAAAn0B,OAAA,SAAS,IAAE,cAAAm0B,EAAAh0B,KAAA,EAEnBm0B,EAAQ7sD,SAASktD,eAAex6B,EAAUrqB,GAAM,OAAzD,OAAHsnB,EAAG+8B,EAAAt0B,KAAAs0B,EAAAn0B,OAAA,SACF5I,EAAI5vB,MAAI,wBAAA2sD,EAAA1yB,OAAA,GAAAyyB,EAAA,KAEjB3qD,EACJ,iHClEA,UAAe+tD,EAAQ,8qCCgMvB,WAAevyC,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBA9LR,SAACle,GAChB,IAA2BmkB,EAAenkB,EAAlCgG,MAASgmB,OAAU7H,OACrBnhB,EAAOhD,EAAMsB,MAAMoB,QAAO,SAAAM,GAAI,MAAI,GAAAd,OAAGc,EAAKhB,MAASmiB,CAAM,IAAE,GACrBlkB,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAArCsmB,EAAQxmB,EAAA,GAAEigD,EAAWjgD,EAAA,GACkD6vB,EAAA5vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAvEg7C,EAAyBrrB,EAAA,GAAEupC,EAA4BvpC,EAAA,GAqB9D,IAnBA/uB,EAAAA,EAAAA,YAAU,WACRf,EAAMme,YACR,GAAG,KAEHpd,EAAAA,EAAAA,YAAU,WACR,IAAMqd,EAAQhd,SAASC,iBAAiB,qBACxCL,OAAOC,EAAEod,qBAAqBld,KAAKid,EAAO,CAAC,EAC7C,GAAG,KAEHrd,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,KAEAnrB,EAAAA,EAAAA,YAAU,gBACKX,IAAT4C,IACJk9C,EAAYl9C,EAAKM,MACjB+1D,EAA6Br2D,EAAKq4C,6BACpC,GAAG,CAACr7C,EAAMsB,aAEGlB,IAAT4C,EAAoB,OAAOnB,EAAAA,cAAAA,EAAAA,SAAA,MAE/B,IAKMy3D,EAAsB,SAAA8B,GAC1Bp7D,EAAMo/C,WAAWp8C,EAAKhB,GAAI,CAAEgB,KAAMo4D,IAC/Bx8C,MAAK,WACJ5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,qCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMme,YACR,IAAE,OACK,SAAAc,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAEMy7C,EAAa,SAAAr5D,GACjBhC,EAAMue,QAAQhY,KAAK,YAADrE,OAAaF,EAAE,SACnC,EAoBMs5D,EAA0B,SAAAt5D,GAC9BhC,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OApBI,SAAA1c,GACpBhC,EAAMq/C,cAAcr9C,GACjB4c,MAAK,WACJ5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,uCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMme,YACR,IAAE,OACK,SAAAc,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,CAI0By/B,CAAcr9C,EAAG,EACvCiF,OAAO,GAAD/E,OAAKH,IAAAA,EAAO,0BAAyB,KAAAG,OAAIc,EAAKC,QAAQP,QAAO,SAAAS,GAAM,OAAIA,EAAOnB,KAAOA,CAAE,IAAE,GAAGsB,MAClGuc,OAAQ,SACRC,UAAU,GAEd,EAOA,OACEje,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,cAAeke,KAAM,UAAY,CAAE3c,KAAMN,EAAKM,SAE/HzB,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,4BAA6B,CAAEuB,KAAMN,EAAKM,UAG1DzB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,OACH4T,KAAK,OACL9T,UAAU,WACVG,MAAOwkB,EACPtkB,SAAU,SAAA0C,GAAC,OAAIq7C,EAAYr7C,EAAEoC,OAAOhF,MAAM,IAE5CJ,EAAAA,cAAA,SAAO6rB,QAAQ,QAAQ3rB,IAAAA,EAAO,yBAEhCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UAAQ+T,KAAK,SAAS9T,UAAU,+BAA+Boe,QAnFxD,SAAArb,GACjBA,EAAEiT,iBACFwhD,EAAoB,CAAEh2D,KAAMmjB,GAC9B,GAiFe1kB,IAAAA,EAAO,uCAIdF,EAAAA,cAAA,OAAKC,UAAU,oBACbD,EAAAA,cAAA,KAAGC,UAAU,6BAA6Boe,QAnClC,SAACrb,GACjBA,EAAEiT,iBACF9X,EAAMue,QAAQhY,KAAK,UAADrE,OAAWc,EAAKhB,GAAE,gBACtC,GAiCYH,EAAAA,cAAA,KAAGC,UAAU,wBAAuB,SAGxCD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,MAAIC,UAAU,0BACZD,EAAAA,cAAA,MAAIC,UAAU,qBAAoBD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,6BACrB,IAAxBiB,EAAKC,QAAQW,QACZ/B,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,wDAGlBiB,EAAKC,QAAQJ,KAAI,SAAAM,GAChB,OACEtB,EAAAA,cAAA,MAAI0B,IAAKJ,EAAOnB,GAAIF,UAAU,mBAC5BD,EAAAA,cAAA,WACEA,EAAAA,cAAA,QAAMC,UAAU,UAAUoe,QAAS,WAAF,OAAQm7C,EAAWl4D,EAAOnB,GAAG,GAC5DH,EAAAA,cAACkpB,EAAAA,QAAU,CAAC5nB,OAAQA,KAEtBtB,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,gCACVue,MAAOte,IAAAA,EAAO,+BACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACFujD,EAAWl4D,EAAOnB,GACpB,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,SAEhCD,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,oBACVue,MAAOte,IAAAA,EAAO,iCACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACFwjD,EAAwBn4D,EAAOnB,GACjC,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,WAE/BqB,EAAOo4D,cAAc33D,OAAS,GAC7B/B,EAAAA,cAAA,QAAMC,UAAU,oBAAoB4Q,MAAO,CAAE8oD,YAAa,SACvDr4D,EAAOo4D,cAAc14D,KAAI,SAAA+jB,GAAW,SAAA1kB,OAAO0kB,EAAYE,cAAa,KAAA5kB,OAAI0kB,EAAYG,WAAU,KAAA7kB,OAAI0kB,EAAYI,UAAS,IAAI1iB,KAAK,QAM7I,OAKJzC,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,wCAAwC,IAACF,EAAAA,cAAC4hC,EAAAA,QAAI,CAACC,KAAM3hC,IAAAA,EAAO,gDAAiD4hC,UAAU,sCAErI9hC,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAC45D,EAAAA,QAAsB,CACrBtgB,0BAA2BA,EAC3Bke,6BAA8BA,EAC9BC,oBAAqBA,QASvC,0ECnLA,UAjBiB,SAAHx1D,GAA4E,IAAtE9B,EAAE8B,EAAF9B,GAAI+B,EAAQD,EAARC,SAAU23D,EAAS53D,EAAT43D,UAAW7yD,EAAQ/E,EAAR+E,SAAUg2C,EAAM/6C,EAAN+6C,OAAQ8c,EAAmB73D,EAAnB63D,oBAK7D,OAJA56D,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEouC,KAAKluC,KAAKC,SAASK,eAAeO,GAAK,CAAE05D,UAAAA,EAAW7yD,SAAAA,EAAU8yD,oBAAAA,GACzE,GAAG,IAGD95D,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,MAAIG,GAAIA,EAAIF,UAAU,yBACpBD,EAAAA,cAAC+5D,EAAAA,QAAS,CAAChd,KAAM76C,EAAU86C,OAAQA,MAGtC96C,EAGP,sECHA41D,EAAQ,OAER34D,OAAOyb,WAAaA,EAGpB,IAAMo/C,EAA0BlC,EAAAA,OACVA,EAAQ,OAChBkB,WAAWgB,8qCCoLzB,UAjMuB,SAAC77D,GACtB,IAA6CC,EAAAC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAtC6B,EAAKhC,EAAA,GAAE+b,EAAQ/b,EAAA,GAC0B6vB,EAAA5vB,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAAzCg1B,EAASrF,EAAA,GAAEu5B,EAAYv5B,EAAA,GACcG,EAAA/vB,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAArCi1B,EAAOnF,EAAA,GAAEq5B,EAAUr5B,EAAA,GAC6BE,EAAAjwB,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhD27D,EAAY3rC,EAAA,GAAE4rC,EAAe5rC,EAAA,GACmCuE,EAAAx0B,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhE67D,EAAoBtnC,EAAA,GAAEunC,EAAuBvnC,EAAA,GACSE,EAAA10B,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAtD+7D,EAAetnC,EAAA,GAAEunC,EAAkBvnC,EAAA,GAEpCwnC,EAAkB,CACtB,CAAEt4B,YAAa/hC,IAAAA,EAAO,kCAAmCE,MAAOg1D,EAAAA,OAChE,CAAEnzB,YAAa/hC,IAAAA,EAAO,sCAAuCE,MAAOi1D,EAAAA,WACpE,CAAEpzB,YAAa/hC,IAAAA,EAAO,wCAAyCE,MAAOk1D,EAAAA,aACtE,CAAErzB,YAAa/hC,IAAAA,EAAO,uCAAwCE,MAAOm1D,EAAAA,YACrE,CAAEtzB,YAAa/hC,IAAAA,EAAO,mCAAoCE,MAAOo1D,EAAAA,SAqC7DgF,EAAwB,WAC5B,OAAIP,EACKE,EAAuB,EAAI,EAE7B,CACT,EASMM,GANAJ,QACU97D,IAAV6B,IACAA,IAAUo1D,EAAAA,QACQ,OAAdliC,GAAkC,OAAZC,GAAoB9I,IAAO6I,IAAc7I,IAAO8I,IAKhF,OACEvzB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UACGE,IAAAA,EAAO,2BACP,IACDF,EAAAA,cAAC4hC,EAAAA,QAAI,CACHC,KAAM3hC,IAAAA,EAAO,mCACb4hC,UAAU,mBACV6a,cAAY,OAKpB38C,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,uCACXq6D,EAAgBv5D,KAAI,SAAAiiC,GAAM,OACzBjjC,EAAAA,cAAA,KAAG0B,IAAKuhC,EAAO7iC,OACbJ,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,iCACLsS,KAAK,QACL3T,MAAO6iC,EAAO7iC,MACd0rB,aAAmBvtB,IAAV6B,GAAuBA,IAAU6iC,EAAO7iC,MACjDE,SAAU,SAAA0C,GAAC,OAAImX,EAASnX,EAAEoC,OAAOhF,MAAM,IAEzCJ,EAAAA,cAAA,YAAOijC,EAAOhB,cAEd,IAEK,WAAV7hC,GACCJ,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,cAAiB2lC,EAAAA,yBAAwB,CAC5C/kC,SAAUuyB,EACVhzB,SAAU,SAAAgoD,GAAI,OAAId,EAAac,EAAK,EACpCW,cAAY,EACZ31B,UAAWA,EACXC,QAASA,KAEXvzB,EAAAA,cAAA,SAAO6rB,QAAQ,aAAa5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ2jB,KAAepzB,IAAAA,EAAO,wBAEpFF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,YAAe2lC,EAAAA,yBAAwB,CAC1C/kC,SAAUwyB,EACVjzB,SAAU,SAAAgoD,GAAI,OAAIb,EAAWa,EAAK,EAClCa,YAAU,EACV71B,UAAWA,EACXC,QAASA,EACT6zB,QAAS9zB,EACTg0B,QAAS,IAAIxV,QAEf9xC,EAAAA,cAAA,SAAO6rB,QAAQ,WAAW5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ4jB,KAAarzB,IAAAA,EAAO,uBAGlFF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,6CAO3BF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASmuC,EACT35D,SAAU,SAAA0C,GAAC,OAAIk3D,EAAgBl3D,EAAEoC,OAAO0mB,QAAQ,IAElD9rB,EAAAA,cAAA,YACGE,IAAAA,EAAO,iCACP,IACDF,EAAAA,cAAC4hC,EAAAA,QAAI,CACHC,KAAM3hC,IAAAA,EAAO,gCACb4hC,UAAU,mBACV6a,cAAY,QAMrBsd,GACCj6D,EAAAA,cAAA,OAAKC,UAAU,4BACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASquC,EACT75D,SAAU,SAAA0C,GAAC,OAAIo3D,EAAwBp3D,EAAEoC,OAAO0mB,QAAQ,IAE1D9rB,EAAAA,cAAA,YACGE,IAAAA,EAAO,uCAOpBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACZw6D,GACCz6D,EAAAA,cAAA,KAAGC,UAAU,+CAA+Coe,QAhK5C,SAACrb,GACzB,IAAI6F,EAAOE,EACL2xD,EAAQ,IAAI5oB,KAClB,OAAQ1xC,GACN,KAAKg1D,EAAAA,MACHvsD,EAAQ6xD,EACR3xD,EAAM2xD,EACN,MACF,KAAKrF,EAAAA,UACHxsD,EAAQ4hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SAC1Ct7C,EAAM0hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SACxC,MACF,KAAKiR,EAAAA,YACHzsD,EAAQ4hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SAC1Ct7C,EAAM2xD,EACN,MACF,KAAKnF,EAAAA,WACH,MACF,KAAKC,EAAAA,OACH3sD,EAAQyqB,EACRvqB,EAAMwqB,EAGV,IAAMpJ,EAAS,CAAC,OACF5rB,IAAVsK,GAAiC,OAAVA,IAAgBshB,EAAOwwC,WAAa9xD,EAAM2qB,oBACzDj1B,IAARwK,GAA6B,OAARA,IAAcohB,EAAOywC,SAAW7xD,EAAIyqB,eAC7D,IAAMqnC,EAAoBL,IACtBK,IAAmB1wC,EAAO8vC,aAAY,GAAA55D,OAAMw6D,IAChDP,GAAmB,GACnBrzD,YAAW,kBAAMqzD,GAAmB,EAAM,GAAE,KAC5Ct3D,EAAEiT,iBACF9X,EAAK,OAAQgsB,EACf,EAgIkG5L,KAAK,KAC3Fve,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,sBAGVu6D,GACAz6D,EAAAA,cAAA,UAAQC,UAAU,+CAA+C2rB,UAAQ,GACvE5rB,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,uBAOtB,2tDCvMuB,IAEFulB,EAAM,SAAA2G,GAAA,SAAA3G,IAAA,mGAAAS,CAAA,KAAAT,GAAAU,EAAA,KAAAV,EAAAW,UAAA,6RAAAC,CAAAZ,EAAA2G,KAAA3G,IAAA,EAAA/jB,IAAA,oBAAAtB,MACzB,SAAmBgsC,GACjB,IAAM7vB,EAAQhd,SAASC,iBAAiB,UACxCL,OAAOC,EAAEC,WAAWC,KAAKid,EAC3B,GAAC,CAAA7a,IAAA,SAAAtB,MAED,WAAW,IAADisB,EAAA,KACF7O,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAAsFppC,KAAK3G,MAAnF0lC,EAASqK,EAATrK,UAAW9vB,EAAIm6B,EAAJn6B,KAAM6nB,EAASsS,EAATtS,UAAWH,EAAOyS,EAAPzS,QAASd,EAAQuT,EAARvT,SAAU/U,EAAYsoB,EAAZtoB,aAAcuoB,EAAYD,EAAZC,aAC/DG,iWAAUxf,CAAA,GAAQhqB,KAAK3G,OAS7B,cAROmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAW7S,eACX6S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,KAEhB/T,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,KACjDpe,EAAOxc,KAAI,SAACoc,EAAKvS,GAAC,OACjB7K,EAAAA,cAAA,OAAK0B,IAAKmJ,GACPwhB,EAAKluB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACxC,IAERpd,EAAAA,cAAA,SAAAwK,OAAAgoB,OAAA,GAAY8b,EAAU,CAAEhuC,SAAU,SAAC0C,GAAC,OAAKqpB,EAAKluB,MAAMmC,SAASnB,OAAOC,EAAEC,WAAWovC,YAAYzrC,EAAEoC,QAAQ,EAAEwgB,aAAcuoB,GAAgBvoB,IACpI6V,EAAQz6B,KAAI,SAAC0tC,GAAM,OAClB1uC,EAAAA,cAAA,SAAAwK,OAAAgoB,OAAA,CAAQ9wB,IAAKgtC,EAAO3K,WAAWtiC,MAAUitC,EAAO3K,YAAa7jC,IAAAA,EAAO,GAADG,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIquC,EAAO3K,WAAWtiC,OAAiB,OAO7I,gGAAC,CArCwB,CAASzB,EAAAA,qKCgBpC,UAhBY,SAAC7B,GAKX,OACE6B,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WANZD,EAAAA,cAAA,OAAKg+C,wBAAyB,CAAEC,QAAQl9B,EAAAA,EAAAA,mBAAkB5iB,EAAMmnD,WAY3E,6mECwFA,UAnGuB,SAAAnnD,GACrB,IAA2B28D,EAA0B38D,EAA7CgG,MAASgmB,OAAU2wC,kBAEgC18D,EAAAC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAApD0jB,EAAY7jB,EAAA,GAAEi3B,EAAej3B,EAAA,GAkBpC,IAhBAc,EAAAA,EAAAA,YAAU,WACRf,EAAMm1C,aAAawnB,EACrB,GAAG,KAEH57D,EAAAA,EAAAA,YAAU,WACJf,EAAMsoB,cACRtoB,EAAMme,YAEV,GAAG,CAACne,EAAMsoB,gBAEVvnB,EAAAA,EAAAA,YAAU,WACJf,EAAM8jB,cACRoT,EAAgBl3B,EAAM8jB,aAE1B,GAAG,CAAC9jB,EAAM8jB,eAEN9jB,EAAM48D,uBACR,OACE/6D,EAAAA,cAAA,OAAKC,UAAU,YACbD,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,8CAGhBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,qDAQvB,IAAK/B,EAAMsB,OAAgC,IAAvBtB,EAAMsB,MAAMsC,OAAc,OAAO/B,EAAAA,cAAAA,EAAAA,SAAA,MA0BrD,OACEA,EAAAA,cAAA,OAAKC,UAAU,6BACbD,EAAAA,cAACg4C,EAAAA,QAAM,CACL/1B,aAAcA,EACdoT,gBAAiBA,EACjBhW,QAASlhB,EAAMkhB,QACfe,eAAgBjiB,EAAMiiB,eACtB9e,OAAQnD,EAAMmD,OACdwzC,UAAW,KACXlB,oBAAoB,EACpBa,uBAAwB,KACxBC,sBAAuB,WAAF,OAAQzyB,CAAY,EACzC8xB,wBAAyB,WAAF,OAAQ51C,EAAMiiB,cAAc,EACnD3gB,MAAOtB,EAAMsB,MACboyB,eAAgB1zB,EAAM2sB,kBACtBwiB,UAAWnvC,EAAMmvC,YAEnBttC,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,iBACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,cAGnBD,EAAAA,cAAA,OAAKC,UAAU,iBACbD,EAAAA,cAAA,OAAKC,UAAU,WA9CnBD,EAAAA,cAACmmD,EAAAA,QAAa,CACZzP,gBAAiB,GACjB4C,0BAA2Bn7C,EAAMm7C,0BACjC8M,cAAe,CACb50B,SAAUrzB,EAAMmD,OAAOnB,GACvB8vB,aAAc9xB,EAAMmD,OAAO4uB,cAC3B5N,OAAQnkB,EAAMmD,OAAO03C,QACrBv3C,KAAMtD,EAAMmD,OAAOG,KACnBid,KAAMvgB,EAAMmD,OAAOod,KACnBmT,eAAgB1zB,EAAMiiB,iBAAmBL,EAAAA,2BAA6B5hB,EAAM2sB,kBAC5E7I,aAAc9jB,EAAM8jB,aACpB5C,QAASlhB,EAAMkhB,QACfe,eAAgBjiB,EAAMiiB,eACtBm3B,UAAU,IAAIzF,MAAOte,eAEvB6lB,0BAA2B,SAAC7mC,EAAQkO,GAClCviB,EAAMk7C,0BAA0Bl7C,EAAMmD,OAAMwtB,EAAAA,EAAA,GAAOtc,GAAM,IAAEglC,aAAa,IAAI1F,MAAOte,cAAevR,aAAAA,IAAgBvB,EACpH,OAoCR,4DC7FA,UARY,SAAHze,GAA0B,IAApB9B,EAAE8B,EAAF9B,GAAI+B,EAAQD,EAARC,SACjB,OACElC,EAAAA,cAAA,OAAKG,GAAIA,EAAIF,UAAU,WACpBiC,EAGP,6qCCkMA,UAjM2B,SAAC/D,GAC1B,IAA6CC,EAAAC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAtC6B,EAAKhC,EAAA,GAAE+b,EAAQ/b,EAAA,GAC0B6vB,EAAA5vB,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAAzCg1B,EAASrF,EAAA,GAAEu5B,EAAYv5B,EAAA,GACcG,EAAA/vB,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAArCi1B,EAAOnF,EAAA,GAAEq5B,EAAUr5B,EAAA,GAC6BE,EAAAjwB,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhD27D,EAAY3rC,EAAA,GAAE4rC,EAAe5rC,EAAA,GACmCuE,EAAAx0B,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhE67D,EAAoBtnC,EAAA,GAAEunC,EAAuBvnC,EAAA,GACSE,EAAA10B,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAtD+7D,EAAetnC,EAAA,GAAEunC,EAAkBvnC,EAAA,GAEpCwnC,EAAkB,CACtB,CAAEt4B,YAAa/hC,IAAAA,EAAO,kCAAmCE,MAAOg1D,EAAAA,OAChE,CAAEnzB,YAAa/hC,IAAAA,EAAO,sCAAuCE,MAAOi1D,EAAAA,WACpE,CAAEpzB,YAAa/hC,IAAAA,EAAO,wCAAyCE,MAAOk1D,EAAAA,aACtE,CAAErzB,YAAa/hC,IAAAA,EAAO,uCAAwCE,MAAOm1D,EAAAA,YACrE,CAAEtzB,YAAa/hC,IAAAA,EAAO,mCAAoCE,MAAOo1D,EAAAA,SAqC7DgF,EAAwB,WAC5B,OAAIP,EACKE,EAAuB,EAAI,EAE7B,CACT,EASMM,GANAJ,QACU97D,IAAV6B,IACAA,IAAUo1D,EAAAA,QACQ,OAAdliC,GAAkC,OAAZC,GAAoB9I,IAAO6I,IAAc7I,IAAO8I,IAKhF,OACEvzB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UACGE,IAAAA,EAAO,+BACP,IACDF,EAAAA,cAAC4hC,EAAAA,QAAI,CACHC,KAAM3hC,IAAAA,EAAO,uCACb4hC,UAAU,mBACV6a,cAAY,OAKpB38C,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,uCACXq6D,EAAgBv5D,KAAI,SAAAiiC,GAAM,OACzBjjC,EAAAA,cAAA,KAAG0B,IAAKuhC,EAAO7iC,OACbJ,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,qCACLsS,KAAK,QACL3T,MAAO6iC,EAAO7iC,MACd0rB,aAAmBvtB,IAAV6B,GAAuBA,IAAU6iC,EAAO7iC,MACjDE,SAAU,SAAA0C,GAAC,OAAImX,EAASnX,EAAEoC,OAAOhF,MAAM,IAEzCJ,EAAAA,cAAA,YAAOijC,EAAOhB,cAEd,IAEK,WAAV7hC,GACCJ,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,cAAiB2lC,EAAAA,yBAAwB,CAC5C/kC,SAAUuyB,EACVhzB,SAAU,SAAAgoD,GAAI,OAAId,EAAac,EAAK,EACpCW,cAAY,EACZ31B,UAAWA,EACXC,QAASA,KAEXvzB,EAAAA,cAAA,SAAO6rB,QAAQ,aAAa5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ2jB,KAAepzB,IAAAA,EAAO,wBAEpFF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,YAAe2lC,EAAAA,yBAAwB,CAC1C/kC,SAAUwyB,EACVjzB,SAAU,SAAAgoD,GAAI,OAAIb,EAAWa,EAAK,EAClCa,YAAU,EACV71B,UAAWA,EACXC,QAASA,EACT6zB,QAAS9zB,EACTg0B,QAAS,IAAIxV,QAEf9xC,EAAAA,cAAA,SAAO6rB,QAAQ,WAAW5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ4jB,KAAarzB,IAAAA,EAAO,uBAGlFF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,6CAO3BF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASmuC,EACT35D,SAAU,SAAA0C,GAAC,OAAIk3D,EAAgBl3D,EAAEoC,OAAO0mB,QAAQ,IAElD9rB,EAAAA,cAAA,YACGE,IAAAA,EAAO,iCACP,IACDF,EAAAA,cAAC4hC,EAAAA,QAAI,CACHC,KAAM3hC,IAAAA,EAAO,gCACb4hC,UAAU,mBACV6a,cAAY,QAMrBsd,GACCj6D,EAAAA,cAAA,OAAKC,UAAU,4BACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASquC,EACT75D,SAAU,SAAA0C,GAAC,OAAIo3D,EAAwBp3D,EAAEoC,OAAO0mB,QAAQ,IAE1D9rB,EAAAA,cAAA,YACGE,IAAAA,EAAO,uCAOpBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACZw6D,GACCz6D,EAAAA,cAAA,KAAGC,UAAU,+CAA+Coe,QAhK5C,SAACrb,GACzB,IAAI6F,EAAOE,EACL2xD,EAAQ,IAAI5oB,KAClB,OAAQ1xC,GACN,KAAKg1D,EAAAA,MACHvsD,EAAQ6xD,EACR3xD,EAAM2xD,EACN,MACF,KAAKrF,EAAAA,UACHxsD,EAAQ4hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SAC1Ct7C,EAAM0hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SACxC,MACF,KAAKiR,EAAAA,YACHzsD,EAAQ4hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SAC1Ct7C,EAAM2xD,EACN,MACF,KAAKnF,EAAAA,WACH,MACF,KAAKC,EAAAA,OACH3sD,EAAQyqB,EACRvqB,EAAMwqB,EAGV,IAAMpJ,EAAS,CAAC,OACF5rB,IAAVsK,GAAiC,OAAVA,IAAgBshB,EAAOwwC,WAAa9xD,EAAM2qB,oBACzDj1B,IAARwK,GAA6B,OAARA,IAAcohB,EAAOywC,SAAW7xD,EAAIyqB,eAC7D,IAAMqnC,EAAoBL,IACtBK,IAAmB1wC,EAAO8vC,aAAY,GAAA55D,OAAMw6D,IAChDP,GAAmB,GACnBrzD,YAAW,kBAAMqzD,GAAmB,EAAM,GAAE,KAC5Ct3D,EAAEiT,iBACF9X,EAAK,OAAQgsB,EACf,EAgIkG5L,KAAK,KAC3Fve,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,sBAGVu6D,GACAz6D,EAAAA,cAAA,UAAQC,UAAU,+CAA+C2rB,UAAQ,GACvE5rB,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,uBAOtB,suDCtMoC,IAEf4iD,EAAM,SAAA12B,GAAA,SAAA02B,IAAA,mGAAA58B,CAAA,KAAA48B,GAAA38B,EAAA,KAAA28B,EAAA18B,UAAA,6RAAAC,CAAAy8B,EAAA12B,KAAA02B,IAAA,EAAAphD,IAAA,SAAAtB,MACzB,WAAW,IAADisB,EAAA,KACF7O,EAAS1Y,KAAK3G,MAAMqf,QAAU,GACpC0wB,EAAgFppC,KAAK3G,MAA7EgsD,EAAOjc,EAAPic,QAAStmB,EAASqK,EAATrK,UAAWjI,EAASsS,EAATtS,UAAWjB,EAAQuT,EAARvT,SAAUwT,EAAYD,EAAZC,aAAcvoB,EAAYsoB,EAAZtoB,aACzD7R,EAAOjP,KAAK3G,MAAM4V,MAAQ,WAC1Bu6B,iWAAUxf,CAAA,GAAQhqB,KAAK3G,cACtBmwC,EAAWzK,iBACXyK,EAAW1S,iBACX0S,EAAWznB,uBACXynB,EAAW3T,gBACX2T,EAAW1oB,oBACX0oB,EAAWH,oBACXG,EAAWv6B,YACXu6B,EAAW6b,QAElB,IAAME,IAAclc,GAAiBvoB,GAAgC,MAAhBuoB,IAAyB,EAE1Eic,EAAcD,EAKlB,MAJ2B,oBAAhBC,IACTA,EAAcA,KAIdpqD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,iCACbD,EAAAA,cAAA,SAAO6rB,QAAS+P,EAAW37B,UAAU,UACnCD,EAAAA,cAAA,QAAAwK,OAAAgoB,OAAA,CACEze,KAAK,WACLtS,KAAMm6B,EACNz7B,GAAIy7B,GACA0S,EAAU,CACdxiB,QAASu+B,EACT/pD,SAAU,SAAC0C,GAAC,OAAKqpB,EAAKluB,MAAMmC,SAAS,CAAE8E,OAAQ,CAAE2O,KAAAA,IAAU4mB,EAAUiB,EAAU,KAEjF57B,EAAAA,cAAA,OAAKC,UAAU,YAEjBD,EAAAA,cAAA,YACGE,IAAAA,EAAO,GAADG,OAAIs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,KAE7Cpe,EAAOxc,KAAI,SAAAoc,GAAG,OACbpd,EAAAA,cAAA,QAAMC,UAAU,cAAc,aAAW,QAAQ,eAAa,QAAQyB,IAAK0b,EAAKvM,MAAO,CAAE6S,MAAO,QAC7F2I,EAAKluB,MAAM0oB,gBAAkB3mB,IAAAA,EAAOkd,GAAOA,EACvC,IAER+sC,GAAWnqD,EAAAA,cAAC4hC,EAAAA,QAAI,CAACC,KAAMuoB,EAAatoB,UAAS,GAAAzhC,OAAKs6B,EAAQ,KAAAt6B,OAAIwjC,EAAS,KAAAxjC,OAAI0T,EAAI,KAAA1T,OAAIu7B,EAAS,eAIrG,gGAAC,CAhDwB,CAAS57B,EAAAA,oLCiBpC,UAfwB,SAAAg7D,GACtB,OACEh7D,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,KAAGC,UAAU,+CAA+Cse,KANjC,oCAOzBve,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,0BAEVF,EAAAA,cAAA,KAAGC,UAAU,+CAA+Cse,KATvB,8CAUnCve,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,oCAIhB,6FCFA,UAZuB,SAAC/B,GACtB,IAAQ88D,EAAwB98D,EAAxB88D,oBACR,OACEj7D,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,WACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,WACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACk7D,EAAAA,QAAc1wD,OAAAgoB,OAAA,GAAKr0B,EAAW88D,GAAuB,IAIhF,otECNO,IAAME,EAAiBn7D,EAAAA,gBAExBo7D,EAAkB,SAAAhvC,GACtB,SAAAgvC,EAAaj9D,GAAQ,IAADkuB,+FAAAnG,CAAA,KAAAk1C,GAClB/uC,EAAAlG,EAAA,KAAAi1C,EAAA,CAAMj9D,IACN,IAAIg4D,EAAQh4D,EAAMyxC,QAAQ/zB,IAAI,gBAC1BgmC,EAAM1jD,EAAMyxC,QAAQ/zB,IAAI,cAS4E,OARxGs6C,EAAkB,SAAVA,EAAmBA,EAAQ,KACnCtU,EAAc,SAARA,EAAiBA,EAAM,KAC7Bx1B,EAAK9U,MAAQ,CACXkP,aAAc0vC,EACdvU,WAAYC,EACZ75B,UAAW,CAAC,GAGdqE,EAAKgvC,eAAiB,CAAEhpC,KAAM,IAAKipC,OAAQ,OAAgBC,OAAQ96B,2BAAqCpU,CAC1G,CAAC,4RAAAhG,CAAA+0C,EAAAhvC,KAAAgvC,IAAA,EAAA15D,IAAA,wBAAAtB,MAED,SAAuB+1D,GACrB,GAAKA,EAIL,OAAIA,EAAM95B,SAAS,UACV85B,EAAM5zD,MAAM,KAAK,GAEnB4zD,CACT,GAAC,CAAAz0D,IAAA,qBAAAtB,MAED,SAAoBgsC,EAAWC,GACzBA,EAAU5lB,eAAiB3hB,KAAKyS,MAAMkP,cAAgB3hB,KAAKyqC,WAC7DzqC,KAAK02D,gBAET,GAAC,CAAA95D,IAAA,oBAAAtB,MAED,WACE0E,KAAKyqC,WAAazqC,KAAK02D,gBACzB,GAAC,CAAA95D,IAAA,uBAAAtB,MAED,WACE,OAAK0E,KAAKyS,MAAMqqC,WAKT,CACL6Z,cAAe32D,KAAKyS,MAAMkP,aAC1B,UAAW3hB,KAAKyS,MAAMqqC,YANf,CACL6Z,cAAe32D,KAAKyS,MAAMkP,aAOhC,GAAC,CAAA/kB,IAAA,iBAAAtB,MAED,WAAmB,IAAD+sB,EAAA,MAChByB,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,MACR2mB,IAAK,mBACLtN,QAAOC,EAAAA,EAAA,GAAOhqB,KAAKiqB,wBAAsB,IAAE,eAAgB,uBAC1DhS,MAAK,SAACQ,GACHA,EAAS1e,KAAKq4C,QAAU35B,EAAS1e,KAAKq4C,OAAOn1C,OAAS,IACxD0oB,IAAAA,OAAclN,EAAS1e,KAAKq4C,QAC5Bh3C,IAAAA,OAAcqd,EAAS1e,KAAKq4C,QAE9B/pB,EAAK2O,SAAS,CAAE9T,UAAWzK,EAAS1e,MACtC,IAAE,OAAO,SAACue,GAIRkf,QAAQC,IAAInf,GACZ,IAAMs+C,EAAevuC,EAAKhvB,MAAM2c,UAAYqS,EAAKhvB,MAAM2c,SAASma,SAAS9wB,MAAM,0BAC3EiZ,EAAIG,WAAam+C,IACnBp/B,QAAQC,IAAI,0CACZpP,EAAKnG,SAET,GACF,GAAC,CAAAtlB,IAAA,gBAAAtB,MAED,SAAeu7D,GACb72D,KAAK3G,MAAMyxC,QAAQ9zB,IAAI,eAAgB6/C,EAAcl1C,aAAc3hB,KAAKu2D,gBACpEM,EAAc/Z,WAChB98C,KAAK3G,MAAMyxC,QAAQ9zB,IAAI,aAAc6/C,EAAc/Z,WAAY98C,KAAKu2D,gBAEpEv2D,KAAK3G,MAAMyxC,QAAQ9zB,IAAI,aAAc,GAAIhX,KAAKu2D,gBAEhDv2D,KAAKg3B,SAAQhN,EAAC,CAAC,EAAI6sC,GACrB,GAAC,CAAAj6D,IAAA,SAAAtB,MAED,WAA0B,IAADo+B,EAAA,KAAjBo9B,IAAQx1C,UAAArkB,OAAA,QAAAxD,IAAA6nB,UAAA,KAAAA,UAAA,GACdthB,KAAK3G,MAAMyxC,QAAQ9zB,IAAI,eAAgB,GAAIhX,KAAKu2D,gBAChDv2D,KAAK3G,MAAMyxC,QAAQ9zB,IAAI,aAAc,GAAIhX,KAAKu2D,iBAC9CzsC,EAAAA,EAAAA,SAAM,CAAEpZ,OAAQ,SAAU2mB,IAAK,iBAAkBtN,QAAOC,EAAAA,EAAA,GAAOhqB,KAAKiqB,wBAAsB,IAAE,eAAgB,uBAAwBhS,MAAK,SAACQ,GACxIihB,EAAK1C,SAAQhN,EAAAA,EAAC,CAAC,EAAI0P,EAAKjnB,OAAK,IAAEkP,kBAAcloB,EAAWqjD,gBAAYrjD,KAAa,WAC/E+tB,EAAAA,WAAW+X,YACPu3B,IACFp9B,EAAKrgC,MAAM6e,cAActY,KACvBxE,IAAAA,EAAO,mCACPs+B,EAAKrgC,MAAM6e,cAAchW,SAASiW,MAClCuhB,EAAKrgC,MAAM6e,cAAcE,OAAOC,MAElCqhB,EAAKrgC,MAAMue,QAAQhY,KAAK,KAE5B,GACF,IAAE,OAAO,SAAA0Y,GACPkf,QAAQC,IAAInf,GACZohB,EAAKrgC,MAAMue,QAAQhY,KAAK,KACxBvF,OAAO2b,SAAS+gD,QAClB,GACF,GAAC,CAAAn6D,IAAA,UAAAtB,MAED,WACE,QAAS0E,KAAKyS,MAAMkP,YACtB,GAAC,CAAA/kB,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAACm7D,EAAevuB,SAAQ,CAACxsC,MAAK0uB,EAAA,CAC5B7H,aAAcniB,KAAKkiB,OAAO5L,KAAKtW,MAC/B4hB,cAAe5hB,KAAK4hB,cAActL,KAAKtW,MACvC82C,eAAgB92C,KAAK02D,eAAepgD,KAAKtW,MACzCiqB,qBAAsBjqB,KAAKiqB,qBAAqB3T,KAAKtW,MACrDwqC,QAAS,CACPC,QAASzqC,KAAKyqC,QAAQn0B,KAAKtW,MAC3B2hB,aAAc3hB,KAAKg3D,sBAAsBh3D,KAAKyS,MAAMkP,gBAEnD3hB,KAAKyS,QAGPzS,KAAK3G,MAAM+D,SAGlB,gGAAC,CA9HqB,CAASlC,EAAAA,WAiIpB4tC,GAAkBvxB,EAAAA,EAAAA,oBAAkBqlC,EAAAA,EAAAA,IAAW3R,EAAAA,EAAAA,GAAYqrB,KAE3D7zC,EAAc,SAAAskB,GAAS,OAAI,SAAA1tC,GACtC,OACE6B,EAAAA,cAACm7D,EAAe/tB,SAAQ,MACrB,SAACC,GAAO,OAAMrtC,EAAAA,cAAC6rC,EAASrhC,OAAAgoB,OAAA,GAAK6a,EAAalvC,GAAS,GAG1D,CAAC,43ECxHD,IAAM2yD,EAAc,aAMdC,EAAa,aACbC,EAAO,OACPC,EAAa,aA2xBb8K,EAAe,SAAC/0D,GACpB,IAAKA,EACH,OAAO,EAET,IAAM7C,EAAQ6C,EAAS7C,MAAM,2BAC7B,OAAKA,EAME,KAAgB,MAHRjD,SAASiD,EAAM,KAAO,GAGG,IAFvBjD,SAASiD,EAAM,KAAO,IACtBjD,SAASiD,EAAM,KAAO,IAJ9B,CAMX,EAEA,UAvxBuD,SAAChG,GAAkB,IAAD8D,EAAAyb,EAAA+R,EACjE23B,GAAUt3B,EAAAA,EAAAA,UAAQ,kBAAMrF,MAAS48B,SAAS,EAAG,QAAQjD,QAAQ,OAAOC,QAAQ,GAAE,IAC9EiD,GAAUx3B,EAAAA,EAAAA,UAAQ,kBAAMrF,IAAO,IAAIqnB,MAAQyS,MAAM,OAAOF,QAAQ,GAAE,IAEnBjmD,EAAAC,GAArBC,EAAAA,EAAAA,UAAgB,MAAK,GAA9C4yD,EAAQ9yD,EAAA,GAAE+yD,EAAW/yD,EAAA,GACoD6vB,EAAA5vB,GAAtCC,EAAAA,EAAAA,UAAwB,eAAc,GAAzE09D,EAAa/tC,EAAA,GAAEguC,EAAgBhuC,EAAA,GACkCG,EAAA/vB,GAAtBC,EAAAA,EAAAA,UAAmB,IAAG,GAAjEspD,EAAiBx5B,EAAA,GAAEy5B,EAAoBz5B,EAAA,GACGE,EAAAjwB,GAArBC,EAAAA,EAAAA,UAAiB8yD,KAAI,GAA1CC,EAAM/iC,EAAA,GAAEgjC,EAAShjC,EAAA,GACqCuE,EAAAx0B,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAAtDg1B,EAAST,EAAA,GAAE20B,EAAY30B,EAAA,GAC2BE,EAAA10B,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAAlDi1B,EAAOR,EAAA,GAAE00B,EAAU10B,EAAA,GACoCyM,EAAAnhC,GAAxBC,EAAAA,EAAAA,WAAkB,GAAM,GAAvDizD,EAAW/xB,EAAA,GAAEgyB,EAAchyB,EAAA,GACuCG,EAAAthC,GAAnBC,EAAAA,EAAAA,UAAiB,GAAE,GAAlEmzD,EAAmB9xB,EAAA,GAAE+xB,EAAsB/xB,EAAA,GACEG,GAAAzhC,GAApBC,EAAAA,EAAAA,UAAiB,IAAG,GAA7CqzD,GAAQ7xB,GAAA,GAAE8xB,GAAW9xB,GAAA,GAC4CG,GAAA5hC,GAAxBC,EAAAA,EAAAA,WAAkB,GAAM,GAAjEuzD,GAAgB5xB,GAAA,GAAE6xB,GAAmB7xB,GAAA,GAC2BG,GAAA/hC,GAAjCC,EAAAA,EAAAA,UAA4B0yD,GAAK,GAAhElS,GAAW1e,GAAA,GAAE0nB,GAAc1nB,GAAA,GACoB6xB,GAAA5zD,GAAxBC,EAAAA,EAAAA,UAAqB,IAAG,GAA/CyzD,GAAOE,GAAA,GAAED,GAAUC,GAAA,GACwCG,GAAA/zD,GAAxBC,EAAAA,EAAAA,WAAkB,GAAM,GAA3D4zD,GAAaE,GAAA,GAAED,GAAgBC,GAAA,GAC4BG,GAAAl0D,GAA5BC,EAAAA,EAAAA,UAA0B,GAAE,GAA3D+zD,GAAWE,GAAA,GAAED,GAAcC,GAAA,GACiCG,GAAAr0D,GAA7BC,EAAAA,EAAAA,UAA0B,IAAG,GAA5Dk0D,GAAWE,GAAA,GAAED,GAAcC,GAAA,GACmCG,GAAAx0D,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAA9Dq0D,GAAaE,GAAA,GAAED,GAAgBC,GAAA,GAC+BqJ,GAAA79D,GAA3BC,EAAAA,EAAAA,UAAsB,MAAK,GAA9Dw0D,GAAaoJ,GAAA,GAAEnJ,GAAgBmJ,GAAA,GAEtC1d,IAAAA,MAAmBzW,EAAAA,0BACnByW,IAAAA,WAAsBA,IAAAA,OAEtB,IAAA0J,IAA8DC,EAAAA,EAAAA,kCAAiCP,EAA4B,OAATt0B,QAAS,IAATA,EAAAA,EAAa8zB,EAAgB,OAAP7zB,QAAO,IAAPA,EAAAA,EAAW+zB,GAAS,GAAKc,GAAAF,GAAzJrpD,KAAMkvB,QAAS,IAAAq6B,GAAG,GAAEA,GAAErpD,GAAOmpD,GAAPnpD,QAASC,GAASkpD,GAATlpD,UAAWC,GAAOipD,GAAPjpD,QAClDk9D,IAA4H7C,EAAAA,EAAAA,+BAA8B1R,EAA4B,OAATt0B,QAAS,IAATA,EAAAA,EAAa8zB,EAAgB,OAAP7zB,QAAO,IAAPA,EAAAA,EAAW+zB,GAAQ8U,GAAAD,GAA9Mt9D,KAAMitD,QAAqB,IAAAsQ,GAAG,GAAEA,GAAWC,GAAYF,GAArBp9D,SAE1CG,EAAAA,EAAAA,YAAU,WACR,IAEgCgiB,EAF5B8xC,EAAmB,KACnBC,EAAmB,KAAI7xC,EAAAC,EACJ0M,IAAS,IAAhC,IAAA3M,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAkC,CAAC,IAAxBhE,EAAQ2D,EAAA9gB,MACjB,GAAKmd,EAAS+K,aAAd,CACA,IAAM4qC,EAAoBzoC,IAAOlN,EAAS+K,cACrC0qC,EAEME,EAAoBF,IAC7BA,EAAmBE,GAFnBF,EAAmBE,EAIhBD,EAEMC,EAAoBD,IAC7BA,EAAmBC,GAFnBD,EAAmBC,CARe,CAYtC,CAIA,OAAA91C,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,KACwDif,EADxDC,EAAAR,EACmCyqC,IAAqB,IAAxD,IAAAjqC,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAA0D,CAAC,IAAhD+6C,EAAoB16C,EAAAxhB,MAC7B,GAAKk8D,EAAqBC,mBAA1B,CACA,IAAMC,EAAkB/xC,IAAO6xC,EAAqBC,oBAC/CvJ,EAEMwJ,EAAkBxJ,IAC3BA,EAAmBwJ,GAFnBxJ,EAAmBwJ,EAIhBvJ,EAEMuJ,EAAkBvJ,IAC3BA,EAAmBuJ,GAFnBvJ,EAAmBuJ,CARiC,CAYxD,CAAC,OAAAp/C,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,CACDiwD,GAAiBI,EAAmBA,EAAiB5O,QAAQ,OAAOC,SAAW,MAC/E0O,GAAiBE,EAAmBA,EAAiB1O,MAAM,OAAOF,SAAW,KAC/E,GAAG,CAACt2B,GAAW+9B,MAEf5sD,EAAAA,EAAAA,YAAU,WAEHH,KACAs9D,IACP,GAAG,CAAC/oC,EAAWC,EAASq0B,KAExB1oD,EAAAA,EAAAA,YAAU,WACJ4/C,KAAgBkS,GAClBQ,GAAe,EAEnB,GAAG,CAAC1S,MAEJ5/C,EAAAA,EAAAA,YAAU,WACPC,OAAeC,EAAEC,WAAWC,KAAKC,SAASC,iBAAiB,uBAC3DL,OAAeC,EAAEC,WAAWC,KAAKC,SAASC,iBAAiB,qBAC3DL,OAAeC,EAAEC,WAAWC,KAAKC,SAASC,iBAAiB,4BAC9D,GAAG,CAACrB,EAAMsB,QAEV,IAAMolC,GAAe,SAACsuB,EAAoB3xD,GACxC,OACExB,EAAAA,cAAA,YAAUwB,MAAOtB,IAAAA,EAAO,4BAADG,OAA6BmB,KACjD2xD,EAAUnyD,KAAI,SAAA+6B,GAAK,OAClB/7B,EAAAA,cAAA,UACEI,MAAO27B,EACPr6B,IAAKq6B,GACL77B,IAAAA,EAAO,mCAADG,OAAoCupC,EAAAA,iBAAiB7N,KACpD,IAIjB,GAEA78B,EAAAA,EAAAA,YAAU,WAAO,IAADQ,EACRC,EAAkD,QAA9CD,EAAIH,SAASK,eAAe,0BAAkB,IAAAF,OAAA,EAA3CA,EAAqDG,aAC9DF,IACFA,EAAKG,mBACLH,EAAKI,qBAET,GAAG,CAAC6nD,IAEJ,IAAMxf,IAAmBtY,EAAAA,EAAAA,UAAQ,WAC/B,IAAIsjC,EAAY,GACVC,EAAsB,GACtBC,EAA6B,CAAC,EACpCvlC,GAAU7f,SAAQ,SAAAqP,GACZ/S,OAAOmG,KAAK4M,EAASgU,UAAU8K,SAAS60B,IAC1CmC,EAAU3uD,KAAK6Y,EAASgU,SAAS2/B,GAErC,IA2DA,IA1DA,IAAMqC,GAAS9iB,EAAAA,EAAAA,mBAAkB4iB,GAC3BG,GAAUnjB,EAAAA,EAAAA,SAAQgjB,GAClBI,EAA8B,GAC9BC,GAAoBhV,EAAAA,EAAAA,SAAQkJ,EAAkB5mD,KAAI,SAAAwwB,GACtD,IAAMlwB,GAASq9C,EAAAA,EAAAA,YAAWntB,EAAUrzB,EAAMsB,OAC1C,IAAK6B,EACH,OAAO,KAET,IAAAqyD,GAA8B9U,EAAAA,EAAAA,eAAcrtB,EAAUzD,GAAW,CAACmjC,GAAWpS,KAAgBiS,GAArFlyD,EAAI80D,EAAJ90D,KAAM+0D,EAAWD,EAAXC,YAGd,GADAR,EAAYvvD,KAAKuD,IAAIgsD,EAAWQ,GAC5B9U,KAAgBmS,EAClB,GAAIsC,EAAS,KAAQ,CAAC,IACQ/xC,EADTG,EAAAN,EACKxiB,GAAI,IAA5B,IAAA8iB,EAAAjf,MAAA8e,EAAAG,EAAAre,KAAAie,MAA8B,CAAC,IAApBsyC,EAASryC,EAAAphB,MAClByzD,EAAUptD,GAAKotD,EAAUptD,EAAI+sD,GAAWD,CAC1C,CAAC,OAAAn2C,GAAAuE,EAAA3e,EAAAoa,EAAA,SAAAuE,EAAAhf,GAAA,CACH,KAAO,CAAC,IACsBuf,EADvBC,EAAAd,EACmBxiB,GAAI,IAA5B,IAAAsjB,EAAAzf,MAAAwf,EAAAC,EAAA7e,KAAAie,MAA8B,CAAVW,EAAA9hB,MACRqG,EAAI,CAChB,CAAC,OAAA2W,GAAA+E,EAAAnf,EAAAoa,EAAA,SAAA+E,EAAAxf,GAAA,CACH,CAEF,IAC4B+qD,EAD5BC,EAAAtsC,EACwBxiB,GAAI,IAA5B,IAAA8uD,EAAAjrD,MAAAgrD,EAAAC,EAAArqD,KAAAie,MAA8B,CAAC,IAApBsyC,EAASnG,EAAAttD,MAClBqzD,EAAkB/uD,KAAKmvD,EAAUptD,EACnC,CAEA,OAAA2W,GAAAuwC,EAAA3qD,EAAAoa,EAAA,SAAAuwC,EAAAhrD,GAAA,CACA,GAAIkvD,GACF,IAAK,IAAIhnD,EAAI,EAAGA,EAAIhM,EAAKkD,OAAQ8I,GAAK,EAAG,CACvC,IAAMipD,EAAarpC,IAAO5rB,EAAKgM,GAAG/J,GAAGuN,OAAOyiD,GACvCwC,EAAaQ,KAAeR,EAAaQ,GAAc,IAC5DR,EAAaQ,GAAYpvD,KAAK7F,EAAKgM,GAAGpE,EACxC,CAIF,GAAIgrD,EAAsB,EAExB,IADA,IAAMsC,GAAuB3iB,EAAAA,EAAAA,eAAcvyC,EAAKmC,KAAI,SAAA6yD,GAAS,OAAIA,EAAUptD,CAAC,IAAGgrD,GACtE5mD,EAAI,EAAGA,EAAIhM,EAAKkD,OAAQ8I,GAAK,EACpChM,EAAKgM,GAAGpE,EAAIstD,EAAqBlpD,GAGrC,MAAO,CACLkJ,KAAM,OACNlV,KAAMA,EACNmR,OAAQ,CAAEy4B,SAAS,GACnBtoC,GAAG,GAADE,OAAKmxB,GACP/vB,KAAMH,EAAOG,KACbwY,OAAQ,EACRkvB,MAAO,EAEX,KAGM6qB,EAA8B,GAE9BC,EAAkB,OAAP1gC,QAAO,IAAPA,EAAAA,EAAW+zB,EACnBz8C,EAFiB,OAATyoB,QAAS,IAATA,EAAAA,EAAa8zB,EAEPv8C,GAAKopD,EAAUppD,EAAI4f,IAAO5f,GAAG/C,IAAI,EAAG,QAAQu8C,SAAU,CAC3E,IAAM6P,EAAYzpC,IAAO5f,GACM,IAA3BqpD,EAAUC,cACZH,EAAgBtvD,KAAK,CACnBgf,MAAO,UACP/iB,KAAMuzD,EAAU9P,QAAQ,OAAOC,SAC/Bp/C,GAAIivD,EAAU3P,MAAM,OAAOF,UAGjC,CAIA,GAHA2N,GAAWgC,GACX1C,GAAUjhB,EAAAA,EAAAA,SAAQojB,IAClB7B,GAAYwB,GACRvB,GAAkB,CACpB,IAE+B4K,EAFzBrI,EAAgB,GAC8BsI,EAAAr7C,EAAhC7W,OAAOmG,KAAK2iD,GAAc7nD,QACf,IAA/B,IAAAixD,EAAAh6D,MAAA+5D,EAAAC,EAAAp5D,KAAAie,MAAiC,CAAC,IAAvB8yC,EAAKoI,EAAAr8D,MACRk0D,EAAU7pC,IAAO4pC,EAAOvD,GAAahpD,IAAI,GAAI,SACnDssD,EAAK1vD,KAAK,CACR5D,EAAGwzD,EAAQjQ,SACX59C,GAAG4pC,EAAAA,EAAAA,SAAQijB,EAAae,IACxBE,eAAgBD,EAAQpd,OAAOh3C,IAAAA,QAAamO,OAAOsc,EAAAA,+BAEvD,CAAC,OAAAvN,GAAAs/C,EAAA15D,EAAAoa,EAAA,SAAAs/C,EAAA/5D,GAAA,CACD,GAAI8uD,EAAsB,EAExB,IADA,IAAMsC,GAAuB3iB,EAAAA,EAAAA,eAAcgjB,EAAKpzD,KAAI,SAAA6yD,GAAS,OAAIA,EAAUptD,CAAC,IAAGgrD,GACtE5mD,EAAI,EAAGA,EAAIupD,EAAKryD,OAAQ8I,GAAK,EACpCupD,EAAKvpD,GAAGpE,EAAIstD,EAAqBlpD,GAGrC6oD,EAAQhvD,KAAK,CACXqP,KAAM,OACN2P,MAAO,MACP7kB,KAAMu1D,EACNI,UAAW,WACXxkD,OAAQ,CAAEy4B,SAAS,GACnBtoC,GAAI,KACJsB,KAAMvB,IAAAA,EAAO,wCAEjB,CACA,OAAOwzD,CACT,GAAG,CAAC9L,EAAmB2J,EAAaE,EAAqBI,GAAkBX,EAAU59B,EAAWC,EAASurB,GAAa3gD,EAAMsB,MAAOsuB,GAAUhsB,SAEvI46D,IAAwB7sC,EAAAA,EAAAA,UAAQ,WACpC,IAAIsjC,EAAY,GACVC,EAAsB,GACtBC,EAA6B,CAAC,EACpCxH,GAAsB59C,SAAQ,SAAAouD,GAC5BjJ,EAAU3uD,KAAK43D,EAAqBN,GACtC,IACA,IAAMzI,GAAS9iB,EAAAA,EAAAA,mBAAkB4iB,GAC3BG,GAAUnjB,EAAAA,EAAAA,SAAQgjB,GACpBuJ,GAAc,EAkDlB,OAjD0Ble,EAAAA,EAAAA,SAAQkJ,EAAkB5mD,KAAI,SAAAwwB,GACtDorC,GAAc,EACd,IAAMt7D,GAASq9C,EAAAA,EAAAA,YAAWntB,EAAUrzB,EAAMsB,OAC1C,IAAK6B,EACH,OAAO,KAET,IAAAu7D,GAA8BC,EAAAA,EAAAA,8BAA6BtrC,EAAUs6B,GAAuB,CAACkQ,GAAgBld,KAAgBiS,GAArHlyD,EAAIg+D,EAAJh+D,KAAM+0D,EAAWiJ,EAAXjJ,YAGd,GADAR,EAAYvvD,KAAKuD,IAAIgsD,EAAWQ,GAC5B9U,KAAgBmS,EAClB,GAAIsC,EAAS,KAAQ,CAAC,IACQwJ,EADTC,EAAA37C,EACKxiB,GAAI,IAA5B,IAAAm+D,EAAAt6D,MAAAq6D,EAAAC,EAAA15D,KAAAie,MAA8B,CAAC,IAApBsyC,EAASkJ,EAAA38D,MAClByzD,EAAUptD,GAAKotD,EAAUptD,EAAI+sD,GAAWD,CAC1C,CAAC,OAAAn2C,GAAA4/C,EAAAh6D,EAAAoa,EAAA,SAAA4/C,EAAAr6D,GAAA,CACH,KAAO,CAAC,IACsBs6D,EADvBC,EAAA77C,EACmBxiB,GAAI,IAA5B,IAAAq+D,EAAAx6D,MAAAu6D,EAAAC,EAAA55D,KAAAie,MAA8B,CAAV07C,EAAA78D,MACRqG,EAAI,CAChB,CAAC,OAAA2W,GAAA8/C,EAAAl6D,EAAAoa,EAAA,SAAA8/C,EAAAv6D,GAAA,CACH,CAIF,GAAIkvD,GACF,IAAK,IAAIhnD,EAAI,EAAGA,EAAIhM,EAAKkD,OAAQ8I,GAAK,EAAG,CACvC,IAAMipD,EAAarpC,IAAO5rB,EAAKgM,GAAG/J,GAAGuN,OAAOyiD,GACvCwC,EAAaQ,KAAeR,EAAaQ,GAAc,IAC5DR,EAAaQ,GAAYpvD,KAAK7F,EAAKgM,GAAGpE,EACxC,CAIF,GAAIgrD,EAAsB,EAExB,IADA,IAAMsC,GAAuB3iB,EAAAA,EAAAA,eAAcvyC,EAAKmC,KAAI,SAAA6yD,GAAS,OAAIA,EAAUptD,CAAC,IAAGgrD,GACtE5mD,EAAI,EAAGA,EAAIhM,EAAKkD,OAAQ8I,GAAK,EACpChM,EAAKgM,GAAGpE,EAAIstD,EAAqBlpD,GAGrC,MAAO,CACLkJ,KAAM,SACNlV,KAAMA,EACNmR,OAAQ,CAAEy4B,SAAS,GACnBtoC,GAAG,GAADE,OAAKmxB,EAAQ,UACf/vB,KAAK,GAADpB,OAAKiB,EAAOG,KAAI,KAAApB,OAAIH,IAAAA,EAAO,yCAADG,OAA0C27D,KACxEY,WAAYA,EACZO,cAAc,EACd50B,QAAS,IACTY,MAAO,EAEX,IAEF,GAAG,CAACye,EAAmB2J,EAAaE,EAAqBI,GAAkBmK,EAAe1oC,EAAWC,EAASurB,GAAa3gD,EAAMsB,MAAOqsD,GAAsB/pD,SAExJq7D,GAAmB,GAAA/8D,OAAAG,EAAAC,EAAO2nC,IAAM5nC,EAAAC,EAAKk8D,MAkB3Cz9D,EAAAA,EAAAA,YAAU,WACPC,OAAeC,EAAEirB,kBACpB,GAAG,CAAC6nC,KAEJ,IAAI/S,GAAgC,GAwCpC,OAtCIL,KAAgBkS,IAClB7R,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,GAAI,IAENk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,IAAK,IAEPk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,KAAM,EACNsE,GAAI,IAENk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,MAAO,EACPsE,IAAK,IAEPk6C,GAAWz6C,KAAK,CACdgf,MAAO,yBACP/iB,KAAM,EACNsE,GAAI,KAIJitD,IAA0C,kBAAjBG,IAAsD,kBAAjBG,IAChErT,GAAWz6C,KAAK,CACdgf,MAAO,0BACP/iB,KAAM0xD,GACNptD,GAAIutD,KAIkB,IAAtBrT,GAAWp9C,SAAco9C,GAAa,MAGxCn/C,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UACEG,GAAG,oBACHC,MAAO8wD,EACP5wD,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,oBAAqB2wC,EAAY,GAG/DtsB,GAAauG,EAAAA,eAA2B,YACxCvG,GAAawG,EAAAA,YAAwB,SACrCxG,GAAayG,EAAAA,mBAA+B,iBAC5CzG,GAAa,CAAC4E,EAAAA,cAAeC,EAAAA,YAAaC,EAAAA,aAAc,YACxD9E,GAAa,CAAC,MAAO,UAExB7kC,EAAAA,cAAA,aAAQE,IAAAA,EAAO,kCAAkC,OAEnDF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,cAAiB2lC,EAAAA,yBAAwB,CAAE/kC,SAAUuyB,EAAWhzB,SAAU,SAAAgoD,GAAI,OAAId,EAAac,EAAO79B,IAAO69B,GAAMlE,QAAQ,OAAOC,SAAWiE,EAAK,EACrJW,cAAc,EAAM31B,UAAWA,EAAWC,QAASA,EAAS6zB,QAAsB,OAAbuL,SAAa,IAAbA,GAAAA,GAAiBvL,EAASE,QAAsB,OAAbwL,SAAa,IAAbA,GAAAA,GAAiBxL,EACzH4B,WAAsC,QAA5BjnD,EAAW,OAATqxB,QAAS,IAATA,EAAAA,EAAaq/B,UAAa,IAAA1wD,EAAAA,EAAImlD,KAE5CpnD,EAAAA,cAAA,SACE6rB,QAAQ,aACR5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ2jB,KAChCpzB,IAAAA,EAAO,sCAGXF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,YAAe2lC,EAAAA,yBAAwB,CAAE/kC,SAAUwyB,EAASjzB,SAAU,SAAAgoD,GAAI,OAAIb,EAAWa,EAAO79B,IAAO69B,GAAM/D,MAAM,OAAOF,SAAWiE,EAAK,EAC7Ia,YAAY,EACZ71B,UAAWA,EAAWC,QAASA,EAAS6zB,QAAmC,QAA5B1pC,EAAW,OAAT4V,QAAS,IAATA,EAAAA,EAAaq/B,UAAa,IAAAj1C,EAAAA,EAAI0pC,EAASE,QAAsB,OAAbwL,SAAa,IAAbA,GAAAA,GAAiBxL,EAClH4B,WAAoC,QAA1Bz5B,EAAS,OAAP8D,QAAO,IAAPA,EAAAA,EAAWu/B,UAAa,IAAArjC,EAAAA,EAAI63B,KAE1CtnD,EAAAA,cAAA,SACE6rB,QAAQ,WACR5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ4jB,KAChCrzB,IAAAA,EAAO,oCAGXF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UACEG,GAAG,kBACHC,MAAOwnD,EAAkB5mD,KAAI,SAAAwwB,GAAQ,SAAAnxB,OAAOmxB,EAAQ,IACpDlxB,SAAU,WACR,IAAMm0D,EAAiBj0D,EAAAC,EAAIC,MAAMC,KAAMpB,SAASK,eAAe,mBAAyCgB,UACrGC,QAAO,SAACC,GAAC,OAAKA,EAAEC,QAAQ,IACxBC,KAAI,SAACF,GAAC,OAAKA,EAAEV,KAAK,IACrBynD,EAAqB4M,EAAezzD,KAAI,SAAAZ,GAAK,OAAIc,SAASd,EAAM,IAClE,EACAouC,UAAU,GA/GhBxuC,EAAAA,cAAAA,EAAAA,SAAA,KACG7B,EAAMsB,MAAMuB,KAAI,SAACG,GAChB,OACEnB,EAAAA,cAAA,YAAUwB,MAAOL,EAAKM,KAAMC,IAAKP,EAAKM,MACnCN,EAAKC,QAAQJ,KAAI,SAAAM,GAAM,OACtBtB,EAAAA,cAAA,UAAQI,MAAOkB,EAAOnB,GAAIuB,IAAKJ,EAAOnB,IAAKmB,EAAOG,KAAc,IAIxE,MA2GEzB,EAAAA,cAAA,aAAQE,IAAAA,EAAO,oCAGnBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UACEG,GAAG,0BACHC,MAAO47D,EACP17D,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,0BAA2By7C,EAAiB,GAE1E7d,EAAAA,eAAep9C,KAAI,SAACq8D,GAAQ,OAC3Br9D,EAAAA,cAAA,UACEI,MAAOi9D,EACP37D,IAAK27D,GACLn9D,IAAAA,EAAO,yCAADG,OAA0Cg9D,IACzC,KAGbr9D,EAAAA,cAAA,aAAQE,IAAAA,EAAO,kCAAkC,QAGrDF,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASylC,EACTjxD,SAAU,SAAA0C,GAAC,OAAIwuD,EAAexuD,EAAEoC,OAAO0mB,QAAQ,IAEjD9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,sCAAsC,KAAGe,MAAMowD,IAAO,IAAAhxD,QAAQ2D,EAAAA,EAAAA,OAAMqtD,EAAQ,GAAE,SAIlGrxD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAS+lC,GACTvxD,SAAU,SAAA0C,GAAC,OAAI8uD,GAAoB9uD,EAAEoC,OAAO0mB,QAAQ,IAEtD9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,gDAIpBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,KAAGC,UAAU,gCACXD,EAAAA,cAAA,QACEC,UAAU,aACVC,IAAAA,EAAO,oDAAoD,KAA2B,IAAxBuxD,EAA4BvxD,IAAAA,EAAO,oDAAsDuxD,GAEzJzxD,EAAAA,cAAA,SACE+T,KAAK,QACL1M,IAAK,EACLD,IAAKuqD,GACLvxD,MAAOqxD,EACPnxD,SAAU,SAAA0C,GAAC,OAAI0uD,EAAuBxwD,SAAS8B,EAAEoC,OAAOhF,OAAO,OAKvEJ,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASomC,GACT5xD,SAAU,SAAA0C,GAAC,OAAImvD,GAAiBnvD,EAAEoC,OAAO0mB,QAAQ,IAEnD9rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,6CAIpBF,EAAAA,cAAA,OAAKC,UAAU,yBACZiyD,IACClyD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SACEG,GAAG,gBAAgB4T,KAAK,SAAS3T,MAAOiyD,GACxC/xD,SAAU,SAAA0C,GAAC,OAAIsvD,GAAgBrxD,MAAM0C,WAAWX,EAAEoC,OAAOhF,QAAuC,GAA7BuD,WAAWX,EAAEoC,OAAOhF,OAAY,IAErGJ,EAAAA,cAAA,SAAO6rB,QAAQ,iBAAiB3rB,IAAAA,EAAO,0CAI7CF,EAAAA,cAAA,OAAKC,UAAU,yBACZiyD,IACClyD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SACEG,GAAG,gBAAgB4T,KAAK,SAAS3T,MAAOoyD,GACxClyD,SAAU,SAAA0C,GAAC,OAAIyvD,GAAgBxxD,MAAM0C,WAAWX,EAAEoC,OAAOhF,QAAuC,GAA7BuD,WAAWX,EAAEoC,OAAOhF,OAAY,IAErGJ,EAAAA,cAAA,SAAO6rB,QAAQ,iBAAiB3rB,IAAAA,EAAO,2CAK/CF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,WACLsS,KAAK,QACL+X,QAASgzB,KAAgBkS,EACzB1wD,SAAU,WAAF,OAAQwnD,GAAekJ,EAAK,IAEtChxD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,2CAIpBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,WACLsS,KAAK,QACL+X,QAASgzB,KAAgBmS,EACzB3wD,SAAU,WAAF,OAAQwnD,GAAemJ,EAAW,IAE5CjxD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,iDAIpBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,WACLsS,KAAK,QACL+X,QAASgzB,KAAgBiS,EACzBzwD,SAAU,WAAF,OAAQwnD,GAAeiJ,EAAW,IAE5C/wD,EAAAA,cAAA,YAAOE,IAAAA,EAAO,kDAKtBF,EAAAA,cAAC2B,EAAAA,QAAc,CAACC,MAAO5C,GAAW6C,OAAQ5C,GAAS6C,aAAW,GACtC,IAArBisB,GAAUhsB,QACT/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,+CAEhB6tB,GAAUhsB,OAAS,GAClB/B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACo/C,IAAe,CACdC,WAAYb,IACZ59C,QAAS,CACP4d,MAAO,CACLqjB,KAAM,kDAERmG,MAAO,CACLj0B,KAAM,OACNurC,SAAU,MAEZ9W,OAAQ,CACNC,SAAS,GAEX74B,QAAS,CACPzB,UAAW,WAET,YAAmD5P,IAA9CuG,KAAaw4D,MAAMC,uBAChB,2+CAANl9D,OAuCayE,KAAasjC,OAAO3mC,KAAI,+GAAApB,OAGxByE,KAAaw4D,MAAME,cAAa,qKAAAn9D,OAGXyE,KAAaw4D,MAAMC,uBAAsB,4NAAAl9D,OAI1CwD,KAAKG,MAAOc,KAAaw4D,MAAMG,gBAAkB,KAAK,6NAAAp9D,OAItDwD,KAAKG,MAAOc,KAAaw4D,MAAMI,eAAc,+NAAAr9D,OAI5CyE,KAAaw4D,MAAMK,eAAc,iOAAAt9D,QAIlC2D,EAAAA,EAAAA,OAAOc,KAAaw4D,MAAMM,cAAe,GAAE,+NAAAv9D,OAI3CoqB,IAAAA,IAAY3lB,KAAaw4D,MAAMO,aAAaxvD,OAAO,YAAW,gXAAAhO,OAM3C,IAAM07D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,YAAW,mHAAAx9D,OAElIwD,KAAKG,MAAM,IAAM+3D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,aAAY,yDAAAx9D,OACjHoqB,IAAAA,IAAWsxC,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,UAAU1vD,OAAO,YAAW,yUAAAhO,OAMhE,IAAM07D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,YAAW,iHAAAx9D,OAElIwD,KAAKG,MAAM,IAAM+3D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,aAAY,wDAAAx9D,OACjHoqB,IAAAA,IAAWsxC,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,UAAU1vD,OAAO,YAAW,qUAAAhO,OAM/D,IAAM07D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,YAAW,iHAAAx9D,OAElIwD,KAAKG,MAAM,IAAM+3D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,aAAY,wDAAAx9D,OACjHoqB,IAAAA,IAAWsxC,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,UAAU1vD,OAAO,YAAW,qUAAAhO,OAM/D,IAAM07D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,YAAW,iHAAAx9D,OAElIwD,KAAKG,MAAM,IAAM+3D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,aAAY,wDAAAx9D,OACjHoqB,IAAAA,IAAWsxC,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,UAAU1vD,OAAO,YAAW,qUAAAhO,OAM/D,IAAM07D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,YAAW,iHAAAx9D,OAElIwD,KAAKG,MAAM,IAAM+3D,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,SAAYj5D,KAAaw4D,MAAMO,aAAY,wDAAAx9D,OACjHoqB,IAAAA,IAAWsxC,EAAcj3D,KAAaw4D,MAAMQ,iBAAiB,GAAGC,UAAU1vD,OAAO,YAAW,yaAAAhO,OAQ9D,IAAOyE,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,gBAAe,mHAAAp9D,OAE9HwD,KAAKG,MAAM,IAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,iBAAgB,yDAAAp9D,QAC7G2D,EAAAA,EAAAA,OAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAiB,IAAM,GAAE,yUAAA59D,OAM1C,IAAOyE,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,gBAAe,iHAAAp9D,OAE9HwD,KAAKG,MAAM,IAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,iBAAgB,wDAAAp9D,QAC7G2D,EAAAA,EAAAA,OAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAiB,IAAM,GAAE,qUAAA59D,OAMzC,IAAOyE,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,gBAAe,iHAAAp9D,OAE9HwD,KAAKG,MAAM,IAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,iBAAgB,wDAAAp9D,QAC7G2D,EAAAA,EAAAA,OAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAiB,IAAM,GAAE,qUAAA59D,OAMzC,IAAOyE,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,gBAAe,iHAAAp9D,OAE9HwD,KAAKG,MAAM,IAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,iBAAgB,wDAAAp9D,QAC7G2D,EAAAA,EAAAA,OAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAiB,IAAM,GAAE,qUAAA59D,OAMzC,IAAOyE,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,gBAAe,iHAAAp9D,OAE9HwD,KAAKG,MAAM,IAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAkBn5D,KAAaw4D,MAAMG,iBAAgB,wDAAAp9D,QAC7G2D,EAAAA,EAAAA,OAAOc,KAAaw4D,MAAMU,gBAAgB,GAAGC,eAAiB,IAAM,GAAE,sUAWxF,oCAAN59D,OAA4CyE,KAAaw4D,MAAM/I,eAAc,mEAAAl0D,OAC9CyE,KAAasjC,OAAO1kB,MAAK,oBAAArjB,OAAeyE,KAAasjC,OAAO3mC,KAAI,KAAApB,OAAI6wD,GAAYhxD,IAAAA,EAAO,mCAADG,OAAoCupC,EAAAA,iBAAiBsnB,KAAY,SAAA7wD,OAASyE,KAAaw4D,MAAM72D,EAAC,OACrN,EACA84C,SAAS,GAEX3W,MAAO,CACLpqB,MAAO,CACLqjB,KAAM,IAER9tB,KAAM,WACN1M,IAAMisB,EAAmBA,EAAUszB,UAAjB,KAClBx/C,IAAMmsB,EAAiBA,EAAQqzB,UAAf,KAChBlH,qBAAsB,CACpBC,IAAK,SAEPK,UAAW+R,IAEb5oB,MAAO,CAAC,CACN3qB,MAAO,CACLqjB,KAAMqvB,GAAYhxD,IAAAA,EAAO,mCAADG,OAAoCupC,EAAAA,iBAAiBsnB,MAE/E7pD,IAAKy3C,KAAgBkS,EAAO,EAAI,KAChC0D,UAAWnD,GAAe,CAAC,CACzB7tC,MAAO,UACPtO,MAAO,EACPhV,MAAOixD,IAETrR,UAAWb,IACV,CACD3gC,MAAO,CACLqjB,KAAMm6B,GAAiB97D,IAAAA,EAAO,yCAADG,OAA0C27D,KAEzE30D,IAAKy3C,KAAgBkS,EAAO,EAAI,KAChCkN,UAAU,EACVC,SAAUrf,KAAgBkS,EAAO,OAAIzyD,IAEvC6pC,OAAQg1B,MAGZp9D,EAAAA,cAAA,SAAIE,IAAAA,EAAO,iCAMvB,25CCrzB8C,IAExCyvC,EAAY,SAAAvjB,GAAA,SAAAujB,IAAA,mGAAAzpB,CAAA,KAAAypB,GAAAxpB,EAAA,KAAAwpB,EAAAvpB,UAAA,6RAAAC,CAAAspB,EAAAvjB,KAAAujB,KAAA,EAAAjuC,IAAA,SAAAtB,MAChB,WACE,OACEJ,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACitB,EAAAA,QAAa,MACdjtB,EAAAA,cAAC48C,EAAAA,QAAc,CAAC38C,UAAU,SAAS48C,OAAO,QAAQ18C,GAAG,qBACrDH,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,UAAW,cAAejkB,KAAK3G,MAAMqxC,iBAC7D1qC,KAAK3G,MAAMkxC,YACVrvC,EAAAA,cAACilC,EAAAA,QAAc,CACboK,WAAYvqC,KAAK3G,MAAMkxC,WACvBv0B,SAAUhW,KAAK3G,MAAM2c,SACrBsjD,MAAOt5D,KAAK3G,MAAM6pB,UAAUo2C,SAI9Bt5D,KAAK3G,MAAMkxC,YAAcrvC,EAAAA,cAACu3D,EAAAA,QAAe,OAInD,+FAAC,CAnBe,CAASv3D,EAAAA,WAsB3B,WAAeunB,EAAAA,EAAAA,cAAYwoB,EAAAA,EAAAA,GAAYJ,yoCC+GvC,WAAetzB,EAAAA,EAAAA,oBAjIkB,SAAAle,GAC/B,IALSgc,EAKkD8T,EAAA5vB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAApDkoB,EAAYwH,EAAA,GAAEowC,EAAepwC,EAAA,GACEG,EAAA/vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/BmB,EAAK2uB,EAAA,GAAEC,EAAQD,EAAA,GACmBE,EAAAjwB,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAlCsjD,EAAGvzB,EAAA,GAAEgwC,EAAMhwC,EAAA,GAC6BuE,EAAAx0B,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAxC+C,EAAMuxB,EAAA,GAAEiiB,EAASjiB,EAAA,GACyBE,EAAA10B,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA1C8gB,EAAO0T,EAAA,GAAE6jB,EAAU7jB,EAAA,GACqCyM,EAAAnhC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAxD6hB,EAAcof,EAAA,GAAErK,EAAiBqK,EAAA,GACmBG,EAAAthC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAApD0jB,EAAY0d,EAAA,GAAEtK,EAAesK,EAAA,GACiCG,EAAAzhC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAA9DusB,EAAiBgV,EAAA,GAAEy+B,EAAoBz+B,EAAA,GACgCG,EAAA5hC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAvEg7C,EAAyBrZ,EAAA,GAAEu3B,EAA4Bv3B,EAAA,GACaG,EAAA/hC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAApEy8D,EAAsB36B,EAAA,GAAEo+B,EAAyBp+B,EAAA,GAElD2W,GAhBG58B,EAAuB9b,GAAXC,EAAAA,EAAAA,UAAS,GAAE,GAAf,GACV,kBAAM6b,GAAS,SAAA/Z,GAAK,OAAIA,EAAQ,CAAC,GAAC,GAwCnCq+D,EAAa,SAAA3D,GACjB,OAAOlsC,EAAAA,QAAM/S,IAAI,6BAADxb,OAA8By6D,GAChD,EAkCMtsC,EAAW,WACf,OAAOI,EAAAA,QAAM/S,IAAI,gBAAiB,CAAEgT,QAAS,CAAE4sC,cAAeh1C,EAAc,UAAWo7B,IACzF,EAiCA,OACE7hD,EAAAA,cAAC0+D,EAAAA,QAAoB,CACnB1sC,aAAc,CACZvL,aAAAA,EACAhnB,MAAAA,EACA6zC,aAnGe,SAAAwnB,GACnBwD,EAAOxD,GACQ2D,EAAW3D,GAEvB/9C,MAAK,SAAA0R,GACJnC,EAAAA,WAAWisC,cAAc9pC,EAAI5vB,KAAKyC,OAAO41C,QACzCmnB,EAAgB5vC,EAAII,QAAQuV,eAC5B0Q,EAAUrmB,EAAI5vB,KAAKyC,QACnBs1C,EAAWnoB,EAAI5vB,KAAKwgB,SACpB8V,EAAkB1G,EAAI5vB,KAAKyrB,iBAC3B+K,EAAgB5G,EAAI5vB,KAAK0rB,eACzBg0C,EAAqB9vC,EAAI5vB,KAAKksB,qBAC9BysC,EAA6B/oC,EAAI5vB,KAAK26C,4BACxC,IAAE,OACK,SAAAp8B,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EA+EMzB,WAtDa,WACFkS,IAEZzR,MAAK,SAAA0R,GAASJ,EAASI,EAAI5vB,KAAM,IAAE,OAC7B,SAAAue,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAA0tB,GAAA,IAAAC,EAAAtwB,EAAAqwB,EAAA,GAAEvrB,EAACwrB,EAAA,GAAE7rB,EAAC6rB,EAAA,YAAAtuB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EA4CMu7B,0BAAAA,EACAh4C,OAAAA,EACA+d,QAAAA,EACAe,eAAAA,EACA6B,aAAAA,EACA6I,kBAAAA,EACAiwC,uBAAAA,EACA1hB,0BA7CgC,SAACslB,EAAUnsD,EAAQkO,GACvD,IAAMnD,EAAW,CACf4T,UAAW3e,EAAO+kC,SAClBjvB,aAAc9V,EAAOglC,YACrBjmB,SAAU/e,IAEZoc,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,OACR2mB,IAAK,iDACLt9B,KAAM,CAAE0e,SAAAA,GACRsR,QAAS,CAAE4sC,cAAeh1C,EAAc,UAAWo7B,KAClD9kC,MAAK,SAACo6B,GACPh5C,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,gCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAE7Bhe,OAAO0hB,SAAS,EAAG,GACnB29C,GAA0B,EAC5B,IAAE,OAAO,SAAAphD,GACPkf,QAAQ7O,MAAM,4BACdtvB,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,4DACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOa,OAE7Bue,QAAQC,IAAInf,GACRsD,GAAIA,GACV,GACF,EAiBM4sB,UAlFY,SAAA2J,GAChB,IAAM31C,EAAS,CAAE41C,OAAQD,IACzBroB,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,QACR2mB,IAAK,6BACLt9B,KAAM,CAAEyC,OAAAA,GACRutB,QAAS,CAAE4sC,cAAeh1C,EAAc,UAAWo7B,KAClD9kC,MAAK,SAAA0R,GACNnC,EAAAA,WAAWisC,cAAc9pC,EAAI5vB,KAAKq4C,QAClCH,GACF,IAAE,OAAO,SAAA35B,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,IAqEF,41CCxIA,IAAM6gD,EAAep0D,OAAOu7B,OAAO,CAAC,SAAU,QAAS,oBAAqB,eAAgB,oBAAqB,qBAAsB,eAAgB,gBAAiB,WAExK,SAAS84B,EAAgB7gD,EAAQ8gD,GAC/B,IAAMC,EAAgBH,EAAa,GAKnC,OAJIA,EAAa16D,QAAQ8Z,GAAU,IACjCse,QAAQ0iC,KAAK,WAAD3+D,OAAY2d,EAAM,wCAAA3d,OAAuC0+D,EAAa,MAClF/gD,EAAS+gD,GAEJ7+D,IAAAA,EAAO,kCAADG,OAAmCy+D,EAAU,KAAAz+D,OAAI2d,GAChE,CAAC,IAEKyuB,EAAkB,SAAArgB,GAAA,SAAAqgB,IAAA,mGAAAvmB,CAAA,KAAAumB,GAAAtmB,EAAA,KAAAsmB,EAAArmB,UAAA,6RAAAC,CAAAomB,EAAArgB,KAAAqgB,KAAA,EAAA/qC,IAAA,iBAAAtB,MACtB,WACE0E,KAAK3G,MAAM0e,iBACX/X,KAAK3G,MAAMgvC,SACb,GAAC,CAAAzrC,IAAA,SAAAtB,MAED,WACE,IAAM6+D,EAAeJ,EAAe/5D,KAAK3G,MAAM6f,OAAQ,iBACjDkhD,EAAcL,EAAe/5D,KAAK3G,MAAM6f,OAAQ,gBAClDmhD,EAAY,IAAA9+D,OAAOyE,KAAK3G,MAAMiH,OAAM,KAIxC,OAHIN,KAAK3G,MAAM8f,WACbkhD,EAAY,GAAA9+D,OAAMyE,KAAK3G,MAAMiH,SAG7BpF,EAAAA,cAAA,OAAKG,GAAG,sBAAsBF,UAAU,wBACtCD,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAAA,OAAKC,UAAU,+EAA6E,GAAAI,OACtFH,IAAAA,EAAO,wCAAuC,KAAAG,OAAI4+D,EAAY,KAAA5+D,OAAI8+D,GAAY9+D,OAAG6+D,EAAYn9D,OAAS,EAAC,IAAA1B,OAAO6+D,GAAgB,GAAE,MAEtIl/D,EAAAA,cAAA,OAAKC,UAAU,uCACbD,EAAAA,cAAA,UACEG,GAAG,8BACHF,UAAU,+BACVoe,QAASvZ,KAAK+X,eAAezB,KAAKtW,MAClC+L,MAAO,CAAEiT,SAAU,UAElB5jB,IAAAA,EAAO,2CAEVF,EAAAA,cAAA,UACEG,GAAG,6BACHF,UAAU,+BACVoe,QAASvZ,KAAK3G,MAAMgvC,QACpBt8B,MAAO,CAAEiT,SAAU,UAElB5jB,IAAAA,EAAO,4CAMpB,+FAAC,CAxCqB,CAASF,EAAAA,WA2CjC,2pCCTA,WAAeunB,EAAAA,EAAAA,cA3CM,SAACppB,GACpB,IAA0CC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAnCshC,EAAOxhC,EAAA,GAAEyhC,EAAUzhC,EAAA,GACpBse,GAAU0iD,EAAAA,EAAAA,OAEhBlgE,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,mBACTlsB,EAAMqjD,OAAO,GACf,KAEAtiD,EAAAA,EAAAA,YAAU,WACe,IAAnB0gC,EAAQ79B,QAEZ5D,EAAMqjD,OAAO5hB,EACf,GAAG,CAACA,IAUJ,OACE5/B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,kCACbD,EAAAA,cAAA,SAAOG,GAAG,WAAW4T,KAAK,WAAW3T,MAAOw/B,EAASt/B,SAAU,SAAA0C,GAAC,OAAI68B,EAAW78B,EAAEoC,OAAOhF,MAAM,IAC9FJ,EAAAA,cAAA,SAAO6rB,QAAQ,YAAY3rB,IAAAA,EAAO,gCAClCF,EAAAA,cAAA,QAAMC,UAAU,eAAeC,IAAAA,EAAO,qBAG1CF,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,OAAKC,UAAU,kCACbD,EAAAA,cAAA,UAAQ+T,KAAK,SAAS9T,UAAU,+BAA+Boe,QAnBxD,WACTlgB,EAAMg6C,OACRh6C,EAAMg6C,SAENz7B,EAAQy7B,QAEZ,GAcWj4C,IAAAA,EAAO,2BAMpB,ivCCuOA,WAAekc,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBArQI,SAACle,GAC5B,IAAM8wB,EAAO,IAAI8B,gBAAgB5yB,EAAM2c,SAASkW,QAAQnV,IAAI,SAAW,IAChBzd,EAAAC,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhDilD,EAAYnlD,EAAA,GAAEolD,EAAeplD,EAAA,IAEpCc,EAAAA,EAAAA,YAAU,WACRf,EAAM01B,0BAA0B5E,EAClC,GAAG,CAACA,KAEJ/vB,EAAAA,EAAAA,YAAU,WACJf,EAAM60B,OAAOywB,GACnB,GAAG,CAACtlD,EAAM60B,SAEV9zB,EAAAA,EAAAA,YAAU,WACR+H,YAAW,WAAQy8C,EAAAA,EAAaC,SAAU,GAAG,IAC/C,GAAG,CAACJ,IAEJ,IAAMK,EAAsB,SAAAzjD,GAC1BhC,EAAMue,QAAQhY,KAAK,sBAADrE,OAAuBF,EAAE,SAC7C,EAkBM0jD,EAAmC,SAAA1jD,GACvChC,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OAlBa,SAAA1c,GAC7BhC,EAAMg2B,uBAAuBh0B,GAAI4c,MAAK,WACpC5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,6DACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAM01B,0BAA0B5E,EAClC,IAAE,OAAO,SAAA7R,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,CAI0BoW,CAAuBh0B,EAAG,EAChDiF,OAAQlF,IAAAA,EAAO,8DACf8d,OAAQ,SACRC,UAAU,GAEd,EAkBMuN,EAAwB,SAAAzD,GAC5B,IAAM0D,EAjB0B,SAAA1D,GAChC,OAAIA,EAAgB8C,aACXJ,IAAO1C,EAAgB8C,cAAcxc,OAAOsc,EAAAA,8BAG9CF,IAAO1C,EAAgB2C,YAAYrc,OAAOsc,EAAAA,6BACnD,CAWqBe,CAA0B3D,GAC7C,GAAyC,QAArCA,EAAgBqD,iBAClB,OACEprB,EAAAA,cAAAA,EAAAA,SAAA,KACGyrB,EAAY,IACbzrB,EAAAA,cAAA,KAAGC,UAAU,8BAA6B,aAIhD,IAAM6jD,EAAqBC,EAAiBh8B,GAC5C,OACE/nB,EAAAA,cAAAA,EAAAA,SAAA,KACGyrB,EAAY,IACZq4B,GAAsB9jD,EAAAA,cAAA,QAAMC,UAAU,kBAAkB6jD,GAG/D,EAEMC,EAAmB,SAAAh8B,GACvB,IAAM4oB,EAAQ5oB,EAAgBK,kBAAkBrmB,OAC1CmzB,EAAYnN,EAAgBK,kBAAkBvnB,QAAO,SAAAwnB,GAAc,OAAIA,EAAeC,YAAY,IAAEvmB,OAC1G,GAAyC,wBAArCgmB,EAAgBqD,kBAAwD,IAAVulB,GAAeA,IAAUzb,EACzF,MAAO,GAET,IAAM8uB,EAAerT,EAAQzb,EACvB+uB,GAAmB/T,EAAAA,EAAAA,eAAc,IAAM8T,EAAerT,EAAO,GACnE,MAAM,GAANtwC,OAAUH,IAAAA,EAAO,6CAA4C,MAAAG,OAAK2jD,EAAY,MAAA3jD,OAAK4jD,EAAgB,KACrG,EAEMryB,EAAuB,SAAA7J,GAC3B,OAAOtF,EAAAA,EAAAA,yBAAwBsF,EAAgBuC,gBACjD,EAEMoH,EAAqB,SAAA3J,GACzB,OAAO/F,EAAAA,EAAAA,uBAAsB+F,EAAgBwC,cAAepsB,EAAMsB,MACpE,EAaMykD,EAAa,SAAAn8B,GACjB,GAAKA,EAAgBK,mBAAkE,IAA7CL,EAAgBK,kBAAkBrmB,OAE5E,MAAM,QAAN1B,OAAe0nB,EAAgBK,kBAAkBpnB,KAAI,SAAAqnB,GAAc,OAAIA,EAAe/mB,OAAOG,IAAI,IAAEgB,KAAK,MAAK,SAC/G,EAkCMghD,EAAoB,WACxB,IAAMU,EAAa15B,IAAOtsB,EAAM60B,OAAOoxB,QAAQ,SAASC,SAClDC,EAAW75B,IAAOtsB,EAAM60B,OAAOuxB,MAAM,SAASF,SACpDlmD,EAAM21B,iCAAiCqwB,EAAYG,EACrD,EAEA,OACEtkD,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,MAAIC,UAAU,0BACZD,EAAAA,cAAA,MAAIC,UAAU,qBACZD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,qCAAqC,IAAE/B,EAAM+vB,UAA4C,IAAhC/vB,EAAM+vB,SAASgD,eAAuBqyB,GAAY,KAAAljD,OAASH,IAAAA,EAAO,QAAO,KAAAG,OAAIlC,EAAM+vB,SAASgD,oBACrI3yB,IAA3BJ,EAAMs0B,kBAAkCt0B,EAAMs0B,iBAAiB1wB,OAAS,GACvE/B,EAAAA,cAAA,OAAKC,UAAU,sBAAsBoe,QAAS,WAAF,OAAQmlC,GAAiBD,EAAa,GAC/ErjD,IAAAA,EAAO,wCACPqjD,GAAgBvjD,EAAAA,cAAA,KAAGC,UAAU,oCAAmC,WAC/DsjD,GAAgBvjD,EAAAA,cAAA,KAAGC,UAAU,oCAAmC,sBAI3C1B,IAA3BJ,EAAMs0B,uBAAoEl0B,IAAlCJ,EAAMw0B,0BAC9C3yB,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,SAEMvD,IAA3BJ,EAAMs0B,kBAAoE,IAAlCt0B,EAAMs0B,iBAAiB1wB,QAC9D/B,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,gEAGnBF,EAAAA,cAAA,OAAK6Q,MAAO,CAAEqS,QAASqgC,EAAe,OAAS,QAAUtjD,UAAU,+BACjED,EAAAA,cAACwkD,EAAAA,EAAiB,CAChBC,UA7DQ,SAAA9E,GAChB,QAAsCphD,IAAlCJ,EAAMw0B,wBAAuC,OAAO3yB,EAAAA,cAAAA,EAAAA,SAAA,MAExD,IAAM0kD,EAAYj6B,IAAOk1B,GACnBgF,EAAWl6B,IAAOi6B,EAAUN,QAAQ,OAAOC,UAC3CO,EAASn6B,IAAOi6B,EAAUH,MAAM,OAAOF,UAEvCQ,EAAY1mD,EAAMw0B,wBAAwB9xB,QAAO,SAAAknB,GACrD,IAAM+8B,EAAsBr6B,IAAO1C,EAAgB8C,cAAgB9C,EAAgB2C,YACnF,OAAOo6B,GAAuBH,GAAYG,GAAuBF,CACnE,IACA,OAAyB,IAArBC,EAAU9iD,OAAqB,KAEjC/B,EAAAA,cAAA,OAAKC,UAAU,yBACZ4kD,EAAUtgD,MAAM,EAAG,GAAGvD,KAAI,SAAA+mB,GAAe,OACxC/nB,EAAAA,cAAA,OACEC,UAAU,4BACVyB,IAAKqmB,EAAgB5nB,GACrB,WAAS,4BACT,WAAU+jD,EAAWn8B,GACrB1J,QAAS,WAAF,OAAQlgB,EAAMue,QAAQhY,KAAK,sBAADrE,OAAuB0nB,EAAgB5nB,GAAE,SAAQ,GAnFjE,SAAA4nB,GACzB,OAAIA,EAAgB8C,aACXJ,IAAO1C,EAAgB8C,cAAcxc,OAAO,SAG9Coc,IAAO1C,EAAgB2C,YAAYrc,OAAO,QACnD,CA+EW02C,CAAmBh9B,GAAkB,IACtC/nB,EAAAA,cAAA,QAAMC,UAAU,iBACb2xB,EAAqB7J,GAAiB,KAAG2J,EAAmB3J,IAE3D,IAId,EA+BgC3S,MAAM,OAC5B4vC,cAAe,SAAC1xB,GAAS,OAAKn1B,EAAM80B,SAASK,EAAU,EACvD2xB,aAAc,CACZ7vC,MAAO,OACPC,OAAQ,OACRhI,OAAQ,IACR1G,KAAM,QACNH,IAAK,IACL0+C,MAAO,KAETC,iBAAkB,CAChB3hC,gBAAiB,WAEnB4hC,eAAgB,CACd5hC,gBAAiB,UACjB6hC,YAAa,OAGjBrlD,EAAAA,cAAC48C,EAAAA,QAAc,CAAC38C,UAAU,SAAS48C,OAAO,QAAQ18C,GAAG,4BAA4BmlD,MAAI,KAEvFtlD,EAAAA,cAAA,OAAK6Q,MAAO,CAAEqS,QAASqgC,EAAe,OAAS,eACjBhlD,IAA3BJ,EAAMs0B,kBAAkCt0B,EAAMs0B,iBAAiB1wB,OAAS,GACvE5D,EAAMs0B,iBAAiBzxB,KAAI,SAAA+mB,GACzB,OACE/nB,EAAAA,cAAA,MAAI0B,IAAKqmB,EAAgB5nB,GAAIF,UAAU,mBACrCD,EAAAA,cAAA,WACEA,EAAAA,cAAA,OACEC,UAAU,yBACVoe,QAAS,WAAF,OAAQulC,EAAoB77B,EAAgB5nB,GAAG,GAEtDH,EAAAA,cAAA,QAAMC,UAAU,SAASurB,EAAsBzD,IAC/C/nB,EAAAA,cAAA,SACEA,EAAAA,cAAA,QAAMC,UAAU,cAAcyxB,EAAmB3J,IAAyB,IAC1E/nB,EAAAA,cAAA,QAAMC,UAAU,cA/GZ,SAAA8nB,GACxB,OAAOrF,EAAAA,EAAAA,kBAAiBqF,EAAgB1I,QAC1C,CA6GoDsS,CAAkB5J,IA3GzC,SAAAA,GAC3B,OAAIA,EAAgBgD,qBAAuBhD,EAAgBuC,iBAAmBvC,EAAgBuC,kBAAoBvK,EAAAA,0BACzG/f,EAAAA,cAAA,QAAMC,UAAU,cAAa,MAAIC,IAAAA,EAAO,oCAE1CF,EAAAA,cAAAA,EAAAA,SAAA,KACT,CAuG8B8xB,CAAqB/J,GAAiB/nB,EAAAA,cAAA,WAC9CA,EAAAA,cAAA,QAAMC,UAAU,cAAc2xB,EAAqB7J,MAGvD/nB,EAAAA,cAAA,KACEue,KAAI,sBAAAle,OAAwB0nB,EAAgB5nB,GAAE,SAC9CF,UAAU,gCACVue,MAAOte,IAAAA,EAAO,oDACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACF2tC,EAAoB77B,EAAgB5nB,GACtC,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,SAEhCD,EAAAA,cAAA,KACEue,KAAK,KACLte,UAAU,oBACVue,MAAOte,IAAAA,EAAO,sDACdme,QAAS,SAAArb,GACPA,EAAEiT,iBACF4tC,EAAiC97B,EAAgB5nB,GACnD,GAEAH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,WAEhCD,EAAAA,cAAA,OACEC,UAAU,oCACVoe,QAAS,WAAF,OAAQulC,EAAoB77B,EAAgB5nB,GAAG,GAEtDH,EAAAA,cAAC+rB,EAAAA,QAA2B,CAAChE,gBAAiBA,EAAiBG,eAAa,MAKtF,MAGNloB,EAAAA,cAAA,OAAK6Q,MAAO,CAAEqS,QAASqgC,EAAe,OAAS,eACjBhlD,IAA3BJ,EAAMs0B,kBACLzyB,EAAAA,cAAC+xB,EAAAA,QAAU,CACT7D,SAAU/vB,EAAM+vB,SAChBxR,QAASve,EAAMue,WAM3B,25DCjRA,IAAM2iD,EAAkBr/D,EAAAA,gBAEHklC,EAAgB,SAAA9Y,GACnC,SAAA8Y,EAAa/mC,GAAQ,IAADkuB,EAE8B,OAF9BnG,EAAA,KAAAgf,IAClB7Y,EAAAlG,EAAA,KAAA+e,EAAA,CAAM/mC,KACDoZ,MAAQ,CAAE+nD,qBAAsB,IAAIC,KAAOlzC,CAClD,CAAC,OAAAhG,EAAA6e,EAAA9Y,GAAA6tB,EAAA/U,EAAA,EAAAxjC,IAAA,WAAAtB,MAED,SAAUmwD,GACR,IAAMz0C,EAAMhX,KAAKyS,MAAM+nD,qBACvBxjD,EAAIhU,IAAIyoD,GACRzrD,KAAKg3B,SAAS,CAAEwjC,qBAAsBxjD,GACxC,GAAC,CAAApa,IAAA,aAAAtB,MAED,SAAYmwD,GACV,IAAMz0C,EAAMhX,KAAKyS,MAAM+nD,qBACvBxjD,EAAG,OAAQy0C,GACXzrD,KAAKg3B,SAAS,CAAEwjC,qBAAsBxjD,GACxC,GAAC,CAAApa,IAAA,SAAAtB,MAED,WACE,OACEJ,EAAAA,cAACq/D,EAAgBzyB,SAAQ,CAACxsC,MAAO,CAC/BysB,SAAU/nB,KAAK+nB,SAASzR,KAAKtW,MAC7B06D,WAAY16D,KAAK06D,WAAWpkD,KAAKtW,QAGhCA,KAAK3G,MAAM+D,SAC8B,IAAzC4C,KAAKyS,MAAM+nD,qBAAqBrxB,MAAejuC,EAAAA,cAACy/D,EAAAA,QAAe,MAGtE,IAAC,CA7BkC,CAASz/D,EAAAA,WAgCjCwwD,EAAe,SAAA3kB,GAAS,OAAI,SAAA1tC,GACvC,OACE6B,EAAAA,cAACq/D,EAAgBjyB,SAAQ,MACtB,SAACC,GAAO,OAAMrtC,EAAAA,cAAC6rC,EAASrhC,OAAAgoB,OAAA,GAAK6a,EAAalvC,GAAS,GAG1D,CAAC,EAEKuhE,EAAW,SAAAvlB,GAAA,SAAAulB,IAAA,OAAAx5C,EAAA,KAAAw5C,GAAAv5C,EAAA,KAAAu5C,EAAAt5C,UAAA,QAAAC,EAAAq5C,EAAAvlB,GAAAF,EAAAylB,EAAA,EAAAh+D,IAAA,oBAAAtB,MACf,WACE0E,KAAK3G,MAAMqhE,WAAW16D,KAAK3G,MAAMoyD,cACnC,GAAC,CAAA7uD,IAAA,uBAAAtB,MAED,WACE0E,KAAK3G,MAAM0uB,SAAS/nB,KAAK3G,MAAMoyD,cACjC,GAAC,CAAA7uD,IAAA,SAAAtB,MAED,WAEE,OAAQJ,EAAAA,cAAAA,EAAAA,SAAA,KACV,IAAC,CAZc,CAASA,EAAAA,WAebswD,EAAWE,EAAakP,ooECgFrC,WAAerjD,EAAAA,EAAAA,oBAAkBkL,EAAAA,EAAAA,cApIN,SAAAppB,GAsHzB,OACE6B,EAAAA,cAAC2/D,EAAAA,QAAc,CACb1E,oBAAqB,CACnBh6B,iBAxHuB,SAACrC,EAAaE,EAAaE,IACtDpQ,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,MACR2mB,IAAK,iBACLtN,QAAOC,EAAA,GAAO3wB,EAAM4wB,wBACpBlwB,KAAM,CACJ0nB,KAAM,CACJq5C,iBAAkBhhC,EAClBqF,SAAUnF,EACV+gC,sBAAuB7gC,MAG1BjiB,MAAK,SAAAmxC,GACN/vD,EAAM6e,cAActY,KAAKxE,IAAAA,EAAO,uCAAwC/B,EAAM6e,cAAchW,SAASiW,MAAO9e,EAAM6e,cAAcE,OAAOC,KACzI,IAAE,OAAO,SAAAC,GACP,IAAIC,EAEFA,EADE3c,MAAM6G,QAAQ6V,EAAIG,SAAS1e,KAAK2e,QACpBhT,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAEtJ+H,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,QAAQxc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAE5JtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,EA+FMwjB,qBAhF2B,YAC/B3S,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,OACR2mB,IAAK,qCACLtN,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BACnBhS,MAAK,SAAAmxC,GACN/vD,EAAM6e,cAActY,KAAKxE,IAAAA,EAAO,kCAAmC/B,EAAM6e,cAAchW,SAASiW,MAAO9e,EAAM6e,cAAcE,OAAOC,MAClIhf,EAAMy9C,gBACR,IAAE,OAAO,SAAAx+B,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAizB,GAAA,IAAAC,EAAA71B,EAAA41B,EAAA,GAAE9wB,EAAC+wB,EAAA,GAAEpxB,EAACoxB,EAAA,YAAA7zB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,EAkEMmjB,aA9FmB,SAAC3a,GACxBqI,EAAAA,QAAMgB,MAAM,gBAAiB,CAAErJ,KAAAA,GAAQ,CAAEsI,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BAA4BhS,MAAK,SAAAmxC,GAC5F/vD,EAAM6e,cAActY,KAAKxE,IAAAA,EAAO,+BAAgC/B,EAAM6e,cAAchW,SAASiW,MAAO9e,EAAM6e,cAAcE,OAAOC,MAC/Hhf,EAAMy9C,gBACR,IAAE,OAAO,SAAAx+B,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAA0tB,GAAA,IAAAC,EAAAtwB,EAAAqwB,EAAA,GAAEvrB,EAACwrB,EAAA,GAAE7rB,EAAC6rB,EAAA,YAAAtuB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,EAoFMukB,YAjEoB,SAACN,EAAUthB,IACnCkO,EAAAA,EAAAA,SAAM,CACJpZ,OAAQ,OACR2mB,IAAK,qBACLtN,QAAOC,EAAA,GAAO3wB,EAAM4wB,wBACpBlwB,KAAMmjC,IACLjlB,MAAK,SAAA0R,GACNtwB,EAAM6e,cAActY,KAAKxE,IAAAA,EAAO,+CAAgD/B,EAAM6e,cAAchW,SAASiW,MAAO9e,EAAM6e,cAAcE,OAAOC,MAC/Ihf,EAAMy9C,iBACFl7B,GACFA,EAAG+N,EAAI5vB,KAAKsiB,OAAO,GAAG22B,SAE1B,IAAE,OAAO,SAAA16B,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAozB,GAAA,IAAAC,EAAAh2B,EAAA+1B,EAAA,GAAEjxB,EAACkxB,EAAA,GAAEvxB,EAACuxB,EAAA,YAAAh0B,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,EA+CMokB,aA7CqB,SAAAhiC,GACzByuB,EAAAA,QAAK,OAAQ,sBAADvuB,OAAuBF,GACjC,CACE0uB,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BACnBhS,MAAK,WACR5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,+CACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMy9C,gBACR,IAAE,OAAO,SAAAx+B,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAkyB,GAAA,IAAAC,EAAA90B,EAAA60B,EAAA,GAAE/vB,EAACgwB,EAAA,GAAErwB,EAACqwB,EAAA,YAAA9yB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,EA6BM4kB,kBA3B0B,WAC9B/T,EAAAA,QAAK,OAAQ,uBACX,CACEC,QAAOC,EAAA,GAAO3wB,EAAM4wB,0BACnBhS,MAAK,WACR5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,gDACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMy9C,gBACR,IAAE,OAAO,SAAAx+B,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAA8+D,GAAA,IAAAC,EAAA1hE,EAAAyhE,EAAA,GAAE38D,EAAC48D,EAAA,GAAEj9D,EAACi9D,EAAA,YAAA1/D,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,IAcF,86CCzIuB,IAEF+8B,EAAc,SAAA1uB,GAAA,SAAA0uB,IAAA,mGAAA50B,CAAA,KAAA40B,GAAA30B,EAAA,KAAA20B,EAAA10B,UAAA,6RAAAC,CAAAy0B,EAAA1uB,KAAA0uB,KAAA,EAAAp5C,IAAA,SAAAtB,MACjC,WAAW,IAADisB,EAAA,KACR,OACErsB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,KAAGC,UAAU,UAAUC,IAAAA,EAAO,mCAC9BF,EAAAA,cAAA,KAAGC,UAAU,UACXD,EAAAA,cAAA,UACEG,GAAG,yBACHke,QAAS,WAAF,OAAQgO,EAAKluB,MAAMyvB,YAAY,EACtC3tB,UAAU,sDAETC,IAAAA,EAAO,oCAKlB,+FAAC,CAhBgC,CAASF,EAAAA,gHCmB5C,UAhB+B,SAAA7B,GAC7B,IAAQkxB,EAA6BlxB,EAA7BkxB,cAAeE,EAAcpxB,EAAdoxB,UACvB,OACEvvB,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,qBACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,qBACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACggE,EAAAA,QAAwBx1D,OAAAgoB,OAAA,GAAKr0B,EAAWkxB,GAAiB,IAE9ErvB,EAAAA,cAACmyB,EAAAA,GAAK,CACJC,OAAK,EAACC,KAAK,mDACXC,OAAQ,SAAAn0B,GAAK,OAAK6B,EAAAA,cAACigE,EAAAA,QAAmBz1D,OAAAgoB,OAAA,GAAKr0B,EAAWoxB,GAAa,IAI3E,yBCpBA,MAiBY2wC,IAaVp7D,KAVEI,EAAAA,WAA2B,OAUvB,SAASqkC,GACf,aAGA,IAAIrpC,EAAOqpC,GAAUA,EAAOrpC,MAAQ,CAAC,EAGjCqE,EAAQ7D,MAAM+J,UAAUlG,MAGxBiJ,EAAU,SAASwiC,GACrB,OAAQ,IAAMA,EAAO/rC,YAAYqiD,QAAQ,EAC3C,EAII1iD,EAAU,SAASosC,EAAQmwB,GAC7B,OAAOC,EAAc,QAASpwB,GAASmwB,GAAWv8D,QAAQu8D,EAC5D,EAIIE,EAAW,SAASr/C,GACtB,IAAIjN,SAAciN,EAClB,MAAgB,aAATjN,GAAgC,WAATA,CAChC,EAEIusD,EAAa,SAASC,GAExB,MAAgB,oBADEA,CAEpB,EAGIC,EAAQ,SAASpgE,GACnB,MAAyB,qBAAXA,GAAoC,OAAVA,CAC1C,EAIImH,EAAU,SAASspB,GACrB,OAAInwB,MAAM6G,QACD7G,MAAM6G,QAAQspB,GAEwB,mBAAxCrmB,OAAOC,UAAUxG,SAASyG,KAAKmmB,EACxC,EAEI4vC,EAAW,SAAS5vC,GACtB,MAAsB,kBAARA,GAA4D,oBAAxCrmB,OAAOC,UAAUxG,SAASyG,KAAKmmB,EACnE,EAEI6vC,EAAW,SAAS7vC,GACtB,MAAsB,kBAARA,GAA4D,oBAAxCrmB,OAAOC,UAAUxG,SAASyG,KAAKmmB,EACnE,EAEI8vC,EAAY,SAAS9vC,GACvB,OAAe,IAARA,IAAwB,IAARA,CACzB,EAEI+vC,EAAS,SAAS/vC,GACpB,OAAe,OAARA,CACT,EAEIuvC,EAAgB,SAASrsD,EAAM3T,EAAOygE,GAExC,MAAmB,qBAARA,GAAgC,KAARA,EAC1Bh9D,KAAKkQ,GAAM3T,IAEpBA,GAASA,EACTygE,GAAOA,EAEH5/D,MAAMb,IAA2B,kBAARygE,GAAoBA,EAAM,IAAM,EACpDzP,KAGThxD,EAAQA,EAAM6D,WAAW1B,MAAM,QAG/BnC,GAFAA,EAAQyD,KAAKkQ,KAAQ3T,EAAM,GAAK,KAAOA,EAAM,IAAOA,EAAM,GAAKygE,GAAQA,MAEzD58D,WAAW1B,MAAM,MAChB,GAAK,KAAOnC,EAAM,IAAOA,EAAM,GAAKygE,EAAOA,KAC5D,EAEIC,EAAe,SAASzgD,EAASsuB,GACnC,OAAI2xB,EAAWjgD,GACNA,EAAQsuB,GAERtuB,CAEX,EAEI0gD,EAAQ,SAAUC,EAAMhgD,GAC1B,IAAItf,EAAKtB,EACT,IAAKsB,KAAOsf,EAASA,EAAIxV,eAAe9J,KACtCtB,EAAQ4gB,EAAItf,GACR++D,EAASrgE,IAAUsgE,EAAStgE,IAAUugE,EAAUvgE,IAAUmH,EAAQnH,IAAUwgE,EAAOxgE,GACrF4gE,EAAKt/D,GAAOtB,GAEK,MAAb4gE,EAAKt/D,KAAcs/D,EAAKt/D,GAAO,CAAC,GACpCq/D,EAAMC,EAAKt/D,GAAMtB,KAGrB,OAAO4gE,CACT,EAGIC,EAAO,CACPC,UAAW,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,YAC9EC,eAAgB,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3DC,YAAa,CAAC,KAAM,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,YAClIC,iBAAkB,CAAC,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtGC,SAAU,CAAC,KAAM,OAIjBC,EAAgB,CAChBpB,UAAW,EACX18B,UAAW,IACXH,UAAW,IACXk+B,2BAA2B,GAI3BC,EAAkB,CAClBC,KAAM,IACNvB,UAAW,EACX9xD,OAAQ,OACRszD,YAAY,EACZr+B,UAAW,IACXG,UAAW,KAIXm+B,EAAoB,CACpBF,KAAM,IACNvB,UAAW,EACX9xD,OAAQ,OACRo1B,UAAW,IACXH,UAAW,IAIXu+B,EAAa,CAAC,KAAM,KAAM,KAAM,KAAM,MAGtCC,EAAkB,CAGlBC,cAAe,KAEf7qB,OAAQ,KAER8qB,iBAAkB,IAElBj8C,YAAa,+BAGbk8C,WAAW,EAEXC,aAAc,CAAC,EAGfC,iBAAkB,UAIlBC,yBAA0B,IAm4B9B,OA93BAliE,EAAK6b,MAAQ,WACX,IAAIra,EACJ,IAAKA,KAAOogE,EACVh9D,KAAKpD,GAAOogE,EAAgBpgE,EAEhC,EAGAxB,EAAKmiE,kBAAoB,WACvB,IAAI3gE,EACJ,IAAKA,KAAOogE,EAAsBtB,EAAM17D,KAAKpD,MAC3CoD,KAAKpD,GAAOogE,EAAgBpgE,GAEhC,EACAxB,EAAKmiE,oBAiBLniE,EAAKoiE,QAAU,CAAC,EAIhBpiE,EAAKoiE,QAAQzmD,IAAM,SAASq7B,GAC1B,IAAI/1B,EAASrc,KAAKoyC,IAAWpyC,KAAK5E,EAAKg3C,SAAWpyC,KAAc,QAUhE,OARIw7D,EAAWn/C,KACbA,EAASA,EAAO+1B,KAGM,IAApB3vC,EAAQ4Z,KACVA,EAAS,CAACA,IAGLA,CACT,EAGAjhB,EAAKoiE,QAAiB,QAAI,SAASprB,GACjC,IAAIorB,EAAU,GACVC,EAAO,GAyGX,OApGIrrB,GACForB,EAAQ59D,KAAKwyC,IAIVA,GAAUh3C,EAAKg3C,QAClBorB,EAAQ59D,KAAKxE,EAAKg3C,QAIhBh3C,EAAK+hE,WAAa/hE,EAAK6hE,eACzBO,EAAQ59D,KAAKxE,EAAK6hE,eA2CpBO,EAAQp0D,SAAQ,SAASgpC,GACvB,IAAIsrB,EAActrB,EAAO30C,MAAM,KAC3BkgE,EAAgB,KAChBC,EAAiB,KACM,IAAvBF,EAAYzgE,QACd0gE,EAAgB,CACdD,EAAY,GACZA,EAAY,IACZ//D,KAAK,KACPigE,EAAiBF,EAAY,IAEC,IAAvBA,EAAYzgE,SACnB0gE,EAAgBD,EAAY,KAGA,IAA1BD,EAAKr+D,QAAQgzC,IACfqrB,EAAK79D,KAAKwyC,GAGNh3C,EAAK+hE,WAIX,CACEQ,EACAC,GACAx0D,SAAQ,SAASy0D,GAEqB,qBAA3BA,GACoB,OAA3BA,GAKAA,IAA2BzrB,IACe,IAA1CqrB,EAAKr+D,QAAQy+D,IAEjBJ,EAAK79D,KAAKi+D,EACZ,GACF,IAGKL,EAAQvgE,QACXugE,EAAQ59D,KAAK,MAGR69D,CACT,EAGAriE,EAAK0iE,cAAgB,CAAC,EAItB1iE,EAAK0iE,cAAc/mD,IAAM,SAASq7B,GAChC,OAAOpyC,KAAKoyC,IAAWpyC,KAAK5E,EAAKg3C,SAAWpyC,KAAc,OAC5D,EAIA5E,EAAK0iE,cAAuB,QAAI,SAASC,GACvC,OAAQA,GACN,KAAK,EAAG,MAAO,CAAC,OAAQ,SACxB,KAAK,EAAG,MAAO,CAAC,OAChB,QAAS,MAAO,CAAC,SAErB,EAIA3iE,EAAK4iE,cAAgB,WACnB,OAAOh+D,KAAKoyC,QAAUpyC,KAAKi9D,aAC7B,EAGA7hE,EAAKsgE,MAAQA,EAKbtgE,EAAK6iE,OAAS,SAASp0B,EAAO/tC,GAC5BA,EAAUA,GAAW,CAAC,EAEtB,IACIs2C,EACA8rB,EACAC,EACAf,EAJAI,EAAUx9D,KAAKw9D,QAAQzmD,IAAIjb,EAAQs2C,QAAQ3yC,QAS/C,IAFA0+D,EAAYn+D,KAAKo+D,aAAav0B,EAAO/tC,GAE9B0hE,EAAQvgE,QAKb,GAJAm1C,EAASorB,EAAQ9tC,QACjBwuC,EAASC,EAAU1gE,MAAM3B,EAAQ6iC,WAAa3+B,KAAKk9D,kBACnDE,EAAep9D,KAAKo9D,aAAahrB,GAEjC,CAGA,KAAO8rB,EAAOjhE,aAGSxD,KAFrB2jE,EAAeA,EAAac,EAAOxuC,WAEgB,OAAjB0tC,IAKpC,QAAqB3jE,IAAjB2jE,GAA+C,OAAjBA,EAChC,OAAOA,CAVT,CAcF,GAAI1B,EAAM5/D,EAAQglB,cAChB,OAAOk7C,EAAalgE,EAAQglB,aAAc+oB,EAE9C,EAGAzuC,EAAKijE,mCAAqC,SAASN,EAAO3rB,EAAQgrB,GAChE,IAEIkB,EACA/iD,EAFAgjD,EADav+D,KAAK89D,cAAc/mD,IAAIq7B,EACnBosB,CAAWT,GAIhC,GAAIX,GAAgB7B,EAAS6B,GAC3B,KAAOmB,EAAethE,QAEpB,GADAqhE,EAAgBC,EAAe7uC,QAC3BgsC,EAAM0B,EAAakB,IAAiB,CACtC/iD,EAAU6hD,EAAakB,GACvB,KACF,CAIJ,OAAO/iD,CACT,EAGAngB,EAAKqjE,oBAAsB,SAASV,EAAOl0B,EAAO/tC,GAChDA,EAAUA,GAAW,CAAC,EACtB,IACIs2C,EACA8rB,EACAd,EACA7hD,EAJAiiD,EAAUx9D,KAAKw9D,QAAQzmD,IAAIjb,EAAQs2C,QAAQ3yC,QAQ/C,IAFAoqC,EAAQ7pC,KAAKo+D,aAAav0B,EAAO/tC,GAE1B0hE,EAAQvgE,QAKb,GAJAm1C,EAASorB,EAAQ9tC,QACjBwuC,EAASr0B,EAAMpsC,MAAM3B,EAAQ6iC,WAAa3+B,KAAKk9D,kBAC/CE,EAAep9D,KAAKo9D,aAAahrB,GAEjC,CAIA,KAAO8rB,EAAOjhE,SACZmgE,EAAeA,EAAac,EAAOxuC,SAC9B6rC,EAAS6B,KAGQ,IAAlBc,EAAOjhE,SACTse,EAAUvb,KAAKq+D,mCAAmCN,EAAO3rB,EAAQgrB,IAGrE,GAAuB,qBAAZ7hD,GAAuC,OAAZA,EACpC,KAZF,CA2BF,MAXuB,qBAAZA,GAAuC,OAAZA,GAChCmgD,EAAM5/D,EAAQglB,gBAEdvF,EADEggD,EAASz/D,EAAQglB,cACT9gB,KAAKq+D,mCAAmCN,EAAOjiE,EAAQs2C,OAAQt2C,EAAQglB,cAEvEhlB,EAAQglB,aAEpBs8C,EAAethE,EAAQglB,cAIpB,CAAEvF,QAASA,EAAS6hD,aAAcA,EAC3C,EAOAhiE,EAAKohE,SAAW,WACd,IAAIkC,EAAO1+D,KAAKi+D,OAAO,QACnBza,EAAOxjD,KAAKi+D,OAAO,QAEvB,OAAIS,GAAQA,EAAKC,IAAMD,EAAKE,GACnB,CAACF,EAAKC,GAAID,EAAKE,IACbpb,GAAQA,EAAKgZ,SACfhZ,EAAKgZ,SAELL,EAAKK,QAEhB,EAQAphE,EAAKyjE,eAAiB,WAMpB,IALA,IAEIC,EAFAC,EAAOt/D,EAAMmG,KAAK0b,WAClBxlB,EAAU,CAAC,EAIRijE,EAAK9hE,QAGV,GAAuB,iBAFvB6hE,EAAUC,EAAKrvC,SAMf,IAAK,IAAIsvC,KAAQF,EACVA,EAAQp4D,eAAes4D,KAIxBtD,EAAM5/D,EAAQkjE,MAIlBljE,EAAQkjE,GAAQF,EAAQE,KAI5B,OAAOljE,CACT,EAKAV,EAAK6jE,yBAA2B,SAASp1B,EAAO/tC,GAC9C,IAAIojE,EAAqB,CAAC,CAACr1B,MAAOA,IAclC,OAVI6xB,EAAM5/D,EAAQkO,YAChBk1D,EAAqBA,EAAmB3jE,OAAOO,EAAQkO,WAKrD0xD,EAAM5/D,EAAQglB,eAChBo+C,EAAmBt/D,KAAK,CAAE2b,QAASzf,EAAQglB,eAGtCo+C,CACT,EAGA9jE,EAAK+jE,UAAY,SAASt1B,EAAO/tC,GAC/BA,EAAUA,GAAW,CAAC,EAEtB,IAEIsjE,EAFAF,EAAqBl/D,KAAKi/D,yBAAyBp1B,EAAO/tC,GAG1DujE,EAAYx1B,EAEZy1B,EAAwBt/D,KAAK6+D,eAAe/iE,GAmBhD,cAlBOwjE,EAAsBx+C,aAK3Bo+C,EAAmBv7C,MAAK,SAAS47C,GAQ/B,GAPI7D,EAAM6D,EAAkB11B,QAC1Bw1B,EAAYE,EAAkB11B,MAC9Bu1B,EAAcp/D,KAAKi+D,OAAOoB,EAAWC,IAC5B5D,EAAM6D,EAAkBhkD,WACjC6jD,EAAcpD,EAAauD,EAAkBhkD,QAASsuB,SAGpCpwC,IAAhB2lE,GAA6C,OAAhBA,EAC/B,OAAO,CAEX,GAAGp/D,OAMuB,kBAAjBo/D,EACTA,EAAcp/D,KAAKw/D,YAAYJ,EAAatjE,GACnC2G,EAAQ28D,GACjBA,EAAcA,EAAYljE,KAAI,SAAS6D,GACrC,MAAsB,kBAAPA,EAAkBC,KAAKw/D,YAAYz/D,EAAGjE,GAAWiE,CAClE,GAAGC,MACMu7D,EAAS6D,IAAgB1D,EAAM5/D,EAAQiiE,SAChDqB,EAAcp/D,KAAKy/D,UAAU3jE,EAAQiiE,MAAOsB,EAAWvjE,IAGlDsjE,GAbEp/D,KAAK0/D,mBAAmB71B,EAAO/tC,EAc1C,EAGAV,EAAKokE,YAAc,SAASjkD,EAASzf,GACnC,GAAe,MAAXyf,EACF,OAAOA,EAGTzf,EAAUA,GAAW,CAAC,EACtB,IACImlB,EACA3lB,EACAqB,EACAqkD,EAJA2e,EAAUpkD,EAAQlc,MAAMW,KAAKihB,aAOjC,IAAK0+C,EACH,OAAOpkD,EAGT,KAAOokD,EAAQ1iE,QAEbN,GADAskB,EAAc0+C,EAAQjwC,SACHlwB,QAAQQ,KAAKihB,YAAa,MAG3C3lB,EADEogE,EAAM5/D,EAAQa,IACRb,EAAQa,GAAMwC,WAAWK,QAAQ,OAAQ,SACxC7C,KAAQb,EACTkE,KAAK4/D,gBAAgB3+C,EAAa1F,EAASzf,GAE3CkE,KAAK6/D,mBAAmB5+C,EAAa1F,EAASzf,GAGxDklD,EAAQ,IAAI99C,OAAO+d,EAAYzhB,QAAQ,MAAO,OAAOA,QAAQ,MAAO,QACpE+b,EAAUA,EAAQ/b,QAAQwhD,EAAO1lD,GAGnC,OAAOigB,EAAQ/b,QAAQ,UAAW,IACpC,EAKApE,EAAKqkE,UAAY,SAAS1B,EAAOl0B,EAAO/tC,GAEtC,IAAI0iE,EAAYniD,EAGhB,OAJAvgB,EAAUkE,KAAK6+D,eAAe,CAACd,MAAOl7D,OAAOk7D,IAASjiE,GAInB,qBADnCugB,EAASrc,KAAKy+D,oBAAoBV,EAAOl0B,EAAO/tC,IAC9BshE,cAAuD,MAAvB/gD,EAAO+gD,aAChDp9D,KAAK0/D,mBAAmB71B,EAAO/tC,GAGV,qBAAnBugB,EAAOd,SAA6C,MAAlBc,EAAOd,QAC3Cvb,KAAKw/D,YAAYnjD,EAAOd,QAASzf,IAGxC0iE,EAAax+D,KAAK89D,cAAc/mD,IAAIjb,EAAQs2C,QACrCpyC,KAAK0/D,mBAAmB71B,EAAQ,IAAM20B,EAAWT,GAAO,GAAIjiE,GAEvE,EAGAV,EAAKskE,mBAAqB,SAAS71B,EAAO/tC,GAExC,GAA6B,UAA1BkE,KAAKq9D,iBAA6B,CAEnC,IAAIz/D,EAAIisC,EAAMpsC,MAAM,KAAKgC,OAAO,GAAG,GAEnC,OAAQO,KAAKs9D,yBAAyBrgE,OAAS,EAAI+C,KAAKs9D,yBAA2B,IAC/E1/D,EAAE4B,QAAQ,KAAK,KAAKA,QAAQ,mBAC5B,SAASH,EAAOygE,EAAIC,GAAK,OAAOD,EAAK,IAAMC,EAAG9e,aAAa,GACjE,CAMA,MAAO,aAFmB,CAFa,MAAXnlD,GAAqC,MAAlBA,EAAQs2C,OAAkBt2C,EAAQs2C,OAASpyC,KAAKg+D,gBACrEh+D,KAAKo+D,aAAav0B,EAAO/tC,IACS6B,KAAK7B,EAAQ6iC,WAAa3+B,KAAKk9D,kBAE/C,gBAC9C,EAGA9hE,EAAKykE,mBAAqB,SAAS5+C,EAAa1F,EAASzf,GACvD,MAAO,YAAcmlB,EAAc,SACrC,EAEA7lB,EAAKwkE,gBAAkB,WACrB,OAAOxkE,EAAKykE,mBAAmBhgE,MAAMzE,EAAMkmB,UAC7C,EAaAlmB,EAAK4kE,SAAW,SAAS90B,EAAQpvC,GAC/BA,EAAUkE,KAAK6+D,eACX/iE,EACAkE,KAAKi+D,OAAO,iBACZxB,GAGJ,IAGIpB,EAEA4E,EALAC,EAAWh1B,EAAS,EAEpBi1B,EADSrhE,EAAQC,KAAKC,IAAIksC,GAASpvC,EAAQu/D,WAAWl8D,WACvC1B,MAAM,KAErB2iE,EAAS,GAET72D,EAASzN,EAAQyN,QAAU,KAC3B82D,EAAOH,EAAW,IAAM,GAM5B,IAHAh1B,EAASi1B,EAAM,GACf9E,EAAY8E,EAAM,GAEXj1B,EAAOjuC,OAAS,GACrBmjE,EAAOvxD,QAAQq8B,EAAOsW,OAAOziD,KAAKuD,IAAI,EAAG4oC,EAAOjuC,OAAS,GAAI,IAC7DiuC,EAASA,EAAOsW,OAAO,EAAGtW,EAAOjuC,OAAQ,GA0B3C,OAvBAgjE,EAAkBG,EAAOziE,KAAK7B,EAAQ0iC,WAElC1iC,EAAQ4gE,2BAA6BrB,IACvCA,EAAYA,EAAU77D,QAAQ,MAAO,KAGnC1D,EAAQu/D,UAAY,GAAKA,IAC3B4E,GAAmBnkE,EAAQ6iC,UAAY08B,GAUzC4E,GANE12D,EADEzN,EAAQ+gE,WACD,KAAOtzD,EAGPA,EAAO/J,QAAQ,KAAM,SAI7BA,QAAQ,KAAM1D,EAAQ8gE,MACtBp9D,QAAQ,KAAMygE,GACdzgE,QAAQ,KAAM6gE,EAInB,EAiBAjlE,EAAKklE,WAAa,SAASp1B,EAAQpvC,GAQjC,OAPAA,EAAUkE,KAAK6+D,eACX/iE,EACAkE,KAAKi+D,OAAO,yBAA0BniE,GACtCkE,KAAKi+D,OAAO,gBAAiBniE,GAC7B6gE,GAGG38D,KAAKggE,SAAS90B,EAAQpvC,EAC/B,EASAV,EAAKmlE,SAAW,SAAS12B,EAAOvuC,EAAOQ,GAGrC,OAFAA,IAAYA,EAAU,CAAC,GAEf+tC,GACN,IAAK,WACH,OAAO7pC,KAAKsgE,WAAWhlE,EAAOQ,GAChC,IAAK,SAEH,OADA+tC,EAAQ7pC,KAAKi+D,OAAO,gBAAiBniE,GAC9BkE,KAAKggE,SAAS1kE,EAAOuuC,GAC9B,IAAK,aACH,OAAO7pC,KAAKwE,aAAalJ,EAAOQ,GAClC,QACE,IAAI0kE,EAQJ,OALEA,EADE32B,EAAMxqC,MAAM,gBACGW,KAAKygE,OAAO52B,EAAOvuC,EAAOQ,GAE1BR,EAAM6D,WAGlBa,KAAKw/D,YAAYgB,EAAgB1kE,GAE9C,EAeAV,EAAKslE,UAAY,SAASld,GACxB,IAAImc,EAASgB,EAAeC,EAE5B,GAAY,MAARpd,EACF,OAAOA,EAGT,GAAqB,kBAAVA,EACT,OAAOA,EAKT,GAFAmc,EAAUnc,EAAKrkD,WAAWE,MAAM,uFAEnB,CACX,IAAK,IAAI0G,EAAI,EAAGA,GAAK,EAAGA,IACtB45D,EAAQ55D,GAAK3J,SAASujE,EAAQ55D,GAAI,KAAO,EAI3C45D,EAAQ,IAAM,EAEdiB,EAAWjB,EAAQ,GAAK,KAAQ,IAAMA,EAAQ,IAAM,KAGlDgB,EADEhB,EAAQ,GACM,IAAI3yB,KAAKA,KAAKC,IAAI0yB,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIiB,IAE1F,IAAI5zB,KAAK2yB,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,GAAIiB,EAErG,KAA2B,iBAATpd,GAEhBmd,EAAgB,IAAI3zB,MACN6zB,QAAQrd,GACbA,EAAKnkD,MAAM,wEAGpBshE,EAAgB,IAAI3zB,MACN6zB,QAAQ7zB,KAAKxU,MAAM,CAC/Bt1B,OAAO49D,GAAI59D,OAAO69D,GAAI79D,OAAO89D,GAAI99D,OAAO+9D,GAAI/9D,OAAOg+D,GAAIh+D,OAAOi+D,IAC9DxjE,KAAK,QACE6lD,EAAKnkD,MAAM,gCAEpBshE,EAAgB,IAAI3zB,MACN6zB,QAAQ7zB,KAAKxU,MAAMgrB,KAOnC,OAAOmd,CACT,EAiCAvlE,EAAKgmE,SAAW,SAAS5d,EAAMj6C,EAAQzN,GACjCA,EAAUkE,KAAKi+D,OAAO,OAAQniE,GAAlC,IACIulE,EAAkBjmE,EAAKohE,WAS3B,GANK1gE,IACHA,EAAU,CAAC,GAGbA,EAAUkE,KAAK6+D,eAAe/iE,EAASqgE,GAEnChgE,MAAMqnD,EAAK1B,WACb,MAAM,IAAI/jD,MAAM,+EAGlB,IAAIujE,EAAU9d,EAAK+d,SACf1mB,EAAM2I,EAAKpW,UACXo0B,EAAOhe,EAAKtW,cACZhf,EAAQs1B,EAAKrW,WAAa,EAC1Bs0B,EAAOje,EAAKke,WACZC,EAASF,EACTjF,EAAWiF,EAAO,GAAK,EAAI,EAC3BG,EAAOpe,EAAKqe,aACZC,EAAOte,EAAKue,aACZjhE,EAAS0iD,EAAKwe,oBACdC,EAAiBljE,KAAK+wB,MAAM/wB,KAAKC,IAAI8B,EAAS,KAC9CohE,EAAmBnjE,KAAKC,IAAI8B,GAA4B,GAAjBmhE,EACvCE,GAAkBrhE,EAAS,EAAI,IAAM,MAClCmhE,EAAe9iE,WAAWlC,OAAS,EAAI,IAAMglE,EAAiBA,IAC9DC,EAAiB/iE,WAAWlC,OAAS,EAAI,IAAMilE,EAAmBA,GAqCzE,OAlCIP,EAAS,GACXA,GAAkB,GACE,IAAXA,IACTA,EAAS,IA6BXp4D,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAASA,EAAO/J,QAAQ,KAAM1D,EAAQugE,eAAeiF,KACrC9hE,QAAQ,KAAM1D,EAAQsgE,UAAUkF,KAChC9hE,QAAQ,KAAM1D,EAAQygE,iBAAiBruC,KACvC1uB,QAAQ,KAAM1D,EAAQwgE,YAAYpuC,KAClC1uB,QAAQ,KAAMkJ,EAAQmyC,KACtBr7C,QAAQ,KAAMq7C,IACdr7C,QAAQ,MAAOq7C,IACfr7C,QAAQ,KAAMkJ,EAAQ+4D,KACtBjiE,QAAQ,MAAOiiE,IACfjiE,QAAQ,KAAMiiE,IACdjiE,QAAQ,KAAMkJ,EAAQi5D,KACtBniE,QAAQ,MAAOmiE,IACfniE,QAAQ,KAAMmiE,IACdniE,QAAQ,KAAMkJ,EAAQwlB,KACtB1uB,QAAQ,MAAO0uB,IACf1uB,QAAQ,KAAMkJ,EAAQo5D,KACtBtiE,QAAQ,MAAOsiE,IACftiE,QAAQ,KAAM6hE,EAAgB7E,KAC9Bh9D,QAAQ,KAAM6hE,EAAgB7E,GAAUvb,gBACxCzhD,QAAQ,KAAMkJ,EAAQk5D,KACtBpiE,QAAQ,MAAOoiE,IACfpiE,QAAQ,KAAM8hE,IACd9hE,QAAQ,KAAMkJ,EAAQ84D,KACtBhiE,QAAQ,MAAOkJ,EAAQ84D,GAAMhiE,QAAQ,MAAO,MAC5CA,QAAQ,KAAMgiE,IACdhiE,QAAQ,KAAM2iE,IACd3iE,QAAQ,KAAM2iE,EAGhC,EAGA/mE,EAAKqlE,OAAS,SAAS52B,EAAOmlB,EAAYlzD,GACxC,IAAI0nD,EAAOxjD,KAAK0gE,UAAU1R,GACtBzlD,EAASvJ,KAAKi+D,OAAOp0B,EAAO/tC,GAIhC,GAAY,MAAR0nD,EACF,OAAOA,EAGT,IAAI4e,EAAc5e,EAAKrkD,WACvB,OAAIijE,EAAY/iE,MAAM,YACb+iE,EAGJ74D,EAIEvJ,KAAKohE,SAAS5d,EAAMj6C,EAAQzN,GAH1BsmE,CAIX,EAGAhnE,EAAKoJ,aAAe,SAAS0mC,EAAQpvC,GAQnC,OAPAA,EAAUkE,KAAK6+D,eACX/iE,EACAkE,KAAKi+D,OAAO,2BAA4BniE,GACxCkE,KAAKi+D,OAAO,gBAAiBniE,GAC7BghE,GAGG98D,KAAKggE,SAAS90B,EAAQpvC,EAC/B,EAGAV,EAAKinE,YAAc,SAASn3B,EAAQpvC,GASlC,IARA,IAGI8gE,EACAvB,EACA8C,EALAmE,EAAK,KACLn5B,EAAO+B,EACPq3B,EAAa,EAMVp5B,GAAQm5B,GAAMC,EAAa,GAChCp5B,GAAcm5B,EACdC,GAAc,EAkBhB,OAfmB,IAAfA,GACFpE,EAAYn+D,KAAKo+D,aAAa,wCAAyCtiE,GACvE8gE,EAAO58D,KAAKD,EAAEo+D,EAAW,CAACJ,MAAO50B,IACjCkyB,EAAY,IAEZ8C,EAAYn+D,KAAKo+D,aAAa,oCAAsCrB,EAAWwF,GAAazmE,GAC5F8gE,EAAO58D,KAAKD,EAAEo+D,GACd9C,EAAalyB,EAAOpqC,KAAK+wB,MAAMqZ,KAAU,EAAK,EAAI,GAGpDrtC,EAAUkE,KAAK6+D,eACX/iE,EACA,CAAC8gE,KAAMA,EAAMvB,UAAWA,EAAW9xD,OAAQ,OAAQi1B,UAAW,KAG3Dx+B,KAAKggE,SAAS72B,EAAMrtC,EAC7B,EAEAV,EAAKgjE,aAAe,SAASv0B,EAAO/tC,GAgBlC,OAfAA,EAAUA,GAAW,CAAC,EAGlB2G,EAAQonC,KACVA,EAAQA,EAAMlsC,KAAK7B,EAAQ6iC,WAAa3+B,KAAKk9D,mBAO3CphE,EAAQ+tC,QACVA,EAAQ,CAAC/tC,EAAQ+tC,MAAOA,GAAOlsC,KAAK7B,EAAQ6iC,WAAa3+B,KAAKk9D,mBAGzDrzB,CACT,EAWAzuC,EAAKonE,OAAS,SAAWC,EAAMC,GAC7B,MAAqB,qBAAVD,GAA0C,qBAAVC,EAClC,CAAC,EAEHzG,EAAMwG,EAAMC,EACrB,EAGAtnE,EAAK2E,EAAI3E,EAAK+jE,UAAU7oD,KAAKlb,GAC7BA,EAAKkD,EAAIlD,EAAKmlE,SAASjqD,KAAKlb,GAC5BA,EAAK+C,EAAI/C,EAAKqkE,UAAUnpD,KAAKlb,GAEtBA,CACT,CAljCsCunE,CAAQvH,EAAO,itCCkLrD,WAAe9jD,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBA3LN,SAACle,GAClB,IACImD,EACAH,EAC2B+f,EAHJsQ,EAAiBrzB,EAApCgG,MAASgmB,OAAUqH,SAEnBpQ,koBAAAC,CACYljB,EAAMsB,OAAK,IAA/B,IAAA2hB,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAAiC,CAAC,IAC1BngB,EADQ8f,EAAA9gB,MACQgB,QAAQP,QAAO,SAAAy2C,GAAO,MAAI,GAAAj3C,OAAGi3C,EAAQn3C,MAASqxB,CAAQ,IAC5E,GAAIpwB,EAAQW,OAAS,EAAG,CACtBT,EAASF,EAAQ,GACjBD,EAAOhD,EAAMsB,MAAMoB,QAAO,SAAA6mE,GAAM,OAAIA,EAAOvnE,KAAOmB,EAAO03C,OAAO,IAAE,GAClE,KACF,CACF,CAAC,OAAA57B,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACD,IAAoCvE,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA7BmD,EAAIrD,EAAA,GAAEupE,EAAOvpE,EAAA,GACgC6vB,EAAA5vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA7C2xB,EAAYhC,EAAA,GAAE25C,EAAe35C,EAAA,GACAG,EAAA/vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA7BogB,EAAI0P,EAAA,GAAEy5C,EAAOz5C,EAAA,GACoBE,EAAAjwB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAjC44C,EAAM5oB,EAAA,GAAEgf,EAAShf,EAAA,GACgBuE,EAAAx0B,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAjCgkB,EAAMuQ,EAAA,GAAEi1C,EAASj1C,EAAA,GAC0BE,EAAA10B,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA3CypE,EAAWh1C,EAAA,GAAEi1C,EAAcj1C,EAAA,GACsCyM,EAAAnhC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAjE4lB,EAAsBsb,EAAA,GAAEja,EAAyBia,EAAA,GA2BxD,IAzBAtgC,EAAAA,EAAAA,YAAU,WACRf,EAAMme,aACNne,EAAM2/C,mBACR,GAAG,KAEH5+C,EAAAA,EAAAA,YAAU,WACR,IAAMqd,EAAQhd,SAASC,iBAAiB,qBACxCL,OAAOC,EAAEod,qBAAqBld,KAAKid,EAAO,CAAC,EAC7C,GAAG,KAEHrd,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,KAEAnrB,EAAAA,EAAAA,YAAU,gBACOX,IAAX+C,IACJqmE,EAAQrmE,EAAOG,MACfmmE,EAAyC,OAAzBtmE,EAAO4uB,cAAyB,GAAK5uB,EAAO4uB,eAC5D23C,EAAQvmE,EAAOod,MACf4uB,EAAUhsC,EAAO41C,QACjB8wB,EAAe1mE,EAAO2mE,cACtBH,EAAUxmE,EAAO03C,SACjBzzB,EAA0BjkB,EAAOo4D,cAAc14D,KAAI,SAAA+jB,GAAW,OAAIA,EAAY5kB,EAAE,KAClF,GAAG,CAAChC,EAAMsB,aAEKlB,IAAX+C,EAAsB,OAAOtB,EAAAA,cAAAA,EAAAA,SAAA,MAqBjC,OACEA,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,cAAeke,KAAM,UAClG,CAAE3c,KAAMN,EAAKM,KAAM2c,KAAK,UAAD/d,OAAYc,EAAKhB,GAAE,UAAW,CAAEsB,KAAMH,EAAOG,SAExEzB,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,gCAAiC,CAAEuB,KAAMH,EAAOG,UAGhEzB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,OACH4T,KAAK,OACL9T,UAAU,WACVG,MAAOqB,EACPnB,SAAU,SAAA0C,GAAC,OAAI2kE,EAAQ3kE,EAAEoC,OAAOhF,MAAM,IAExCJ,EAAAA,cAAA,SAAO6rB,QAAQ,QAAQ3rB,IAAAA,EAAO,2BAEhCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,gBACH4T,KAAK,OACL9T,UAAU,WACVG,MAAO6vB,EACP3vB,SAAU,SAAA0C,GAAC,OAAI4kE,EAAgB5kE,EAAEoC,OAAOhF,MAAM,IAEhDJ,EAAAA,cAAA,SAAO6rB,QAAQ,iBAAiB3rB,IAAAA,EAAO,qCAG3CF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAU,UAAUC,IAAAA,EAAO,0BAClCF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,gBACHC,MAAOse,EACPpe,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,gBAAiBqnD,EAAQ,GAEvD/S,EAAAA,MAAM9zD,KAAI,SAAA0d,GACT,OACE1e,EAAAA,cAAA,UAAQ0B,IAAKgd,EAAMte,MAAOse,GAAOxe,IAAAA,EAAO,0BAADG,OAA2Bqe,IAEtE,MAGJ1e,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAU,UAAUC,IAAAA,EAAO,2BAClCF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,gBACHC,MAAOkiB,EACPhiB,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,gBAAiBsnD,EAAU,GAEzD3pE,EAAMsB,MAAMuB,KAAI,SAAAG,GACf,OACEnB,EAAAA,cAAA,UAAQ0B,IAAKP,EAAKhB,GAAIC,MAAOe,EAAKhB,IAAKgB,EAAKM,KAEhD,OAINzB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,eACH4T,KAAK,OACL9T,UAAU,WACVG,MAAO2nE,EACPznE,SAAU,SAAA0C,GAAC,OAAIglE,EAAehlE,EAAEoC,OAAOhF,MAAM,IAE/CJ,EAAAA,cAAA,SAAO6rB,QAAQ,gBAAgB3rB,IAAAA,EAAO,mCAExCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAU,UAAUC,IAAAA,EAAO,4BAClCF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,kBACHC,MAAO82C,EACP52C,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,kBAAmB8sB,EAAU,GAE3D2nB,EAAAA,QAAQj0D,KAAI,SAAAk2C,GACX,OACEl3C,EAAAA,cAAA,UAAQ0B,IAAKw1C,EAAQ92C,MAAO82C,GAASh3C,IAAAA,EAAO,4BAADG,OAA6B62C,IAE5E,OAINl3C,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,gBACW1B,IAAvBJ,EAAM0mB,cAA8B1mB,EAAMsB,QAAU,IACnDO,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,aAAQE,IAAAA,EAAO,gDACfF,EAAAA,cAACkoE,EAAAA,QAAiB,CAChBrjD,aAAc1mB,EAAM0mB,aACpBX,uBAAwBA,EACxBqB,0BAA2BA,OAMrCvlB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UAAQ+T,KAAK,SAAS9T,UAAU,+BAA+Boe,QAjItD,SAAArb,GACnBA,EAAEiT,iBACF9X,EAAM4/C,aAAaz8C,EAAOnB,GAAI,CAAEmB,OAAQ,CAAE4uB,cAAeD,EAAcxuB,KAAAA,EAAMid,KAAAA,EAAMw4B,OAAAA,EAAQ+wB,aAAcF,EAAa/uB,QAAS12B,EAAQ6lD,iBAAkBjkD,KACtJnH,MAAK,WACJ5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,uCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMme,YACR,IAAE,OACK,SAAAc,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,GAiHe7d,IAAAA,EAAO,wCAQxB,4BCpMA,IAAIc,EAAM,CACT,kBAAmB,MACnB,sBAAuB,MACvB,+BAAgC,KAChC,mCAAoC,KACpC,sCAAuC,MACvC,0CAA2C,MAC3C,6BAA8B,MAC9B,iCAAkC,MAClC,oCAAqC,MACrC,wCAAyC,MACzC,QAAS,KACT,YAAa,KACb,sBAAuB,MACvB,0BAA2B,MAC3B,eAAgB,MAChB,mBAAoB,MACpB,gBAAiB,MACjB,oBAAqB,MACrB,YAAa,MACb,gBAAiB,MACjB,mBAAoB,MACpB,uBAAwB,MACxB,WAAY,MACZ,eAAgB,MAChB,oBAAqB,KACrB,wBAAyB,KACzB,0BAA2B,MAC3B,8BAA+B,MAC/B,gCAAiC,MACjC,oCAAqC,MACrC,yBAA0B,MAC1B,6BAA8B,MAC9B,kCAAmC,MACnC,sCAAuC,MACvC,iCAAkC,MAClC,qCAAsC,MACtC,qCAAsC,MACtC,yCAA0C,MAC1C,0BAA2B,MAC3B,8BAA+B,MAC/B,4BAA6B,MAC7B,gCAAiC,MACjC,oBAAqB,MACrB,wBAAyB,MACzB,sBAAuB,MACvB,0BAA2B,MAC3B,gCAAiC,MACjC,oCAAqC,MACrC,4BAA6B,MAC7B,gCAAiC,MACjC,uBAAwB,MACxB,2BAA4B,MAC5B,qBAAsB,MACtB,yBAA0B,MAC1B,mBAAoB,MACpB,uBAAwB,MACxB,gBAAiB,MACjB,oBAAqB,MACrB,gBAAiB,MACjB,oBAAqB,MACrB,sBAAuB,MACvB,0BAA2B,MAC3B,mBAAoB,MACpB,uBAAwB,MACxB,0BAA2B,KAC3B,8BAA+B,KAC/B,2BAA4B,MAC5B,+BAAgC,MAChC,oBAAqB,MACrB,qBAAsB,MACtB,wBAAyB,MACzB,4BAA6B,MAC7B,8BAA+B,MAC/B,kCAAmC,MACnC,6BAA8B,MAC9B,iCAAkC,MAClC,0BAA2B,MAC3B,6BAA8B,MAC9B,iBAAkB,MAClB,qBAAsB,MACtB,gBAAiB,MACjB,iBAAkB,MAClB,yBAA0B,MAC1B,6BAA8B,MAC9B,sBAAuB,MACvB,0BAA2B,MAC3B,sBAAuB,MACvB,0BAA2B,MAC3B,wBAAyB,MACzB,4BAA6B,MAC7B,sBAAuB,MACvB,0BAA2B,MAC3B,uBAAwB,MACxB,2BAA4B,MAC5B,+BAAgC,MAChC,mCAAoC,MACpC,mCAAoC,MACpC,uCAAwC,MACxC,uBAAwB,MACxB,2BAA4B,MAC5B,sBAAuB,MACvB,yBAA0B,MAC1B,gCAAiC,MACjC,mCAAoC,MACpC,+BAAgC,MAChC,kCAAmC,MACnC,2CAA4C,MAC5C,8CAA+C,MAC/C,+BAAgC,MAChC,kCAAmC,MACnC,uBAAwB,MACxB,0BAA2B,MAC3B,wBAAyB,MACzB,2BAA4B,MAC5B,8BAA+B,MAC/B,iCAAkC,MAClC,0CAA2C,MAC3C,6CAA8C,MAC9C,+BAAgC,MAChC,kCAAmC,MACnC,6CAA8C,MAC9C,gDAAiD,MACjD,sBAAuB,MACvB,yBAA0B,MAC1B,uBAAwB,MACxB,0BAA2B,MAC3B,iCAAkC,MAClC,oCAAqC,MACrC,sBAAuB,MACvB,yBAA0B,MAC1B,wCAAyC,MACzC,4CAA6C,MAC7C,8BAA+B,MAC/B,kCAAmC,MACnC,0BAA2B,MAC3B,8BAA+B,MAC/B,kCAAmC,MACnC,sCAAuC,MACvC,8BAA+B,MAC/B,kCAAmC,MACnC,mCAAoC,MACpC,uCAAwC,MACxC,wCAAyC,MACzC,4CAA6C,MAC7C,sCAAuC,MACvC,0CAA2C,MAC3C,mCAAoC,MACpC,uCAAwC,MACxC,6CAA8C,MAC9C,iDAAkD,MAClD,yCAA0C,MAC1C,6CAA8C,MAC9C,uCAAwC,MACxC,2CAA4C,MAC5C,gCAAiC,KACjC,oCAAqC,KACrC,0BAA2B,MAC3B,8BAA+B,MAC/B,yBAA0B,MAC1B,6BAA8B,MAC9B,wBAAyB,MACzB,4BAA6B,MAC7B,oBAAqB,KACrB,qCAAsC,MACtC,yCAA0C,MAC1C,+BAAgC,MAChC,mCAAoC,MACpC,6BAA8B,MAC9B,iCAAkC,MAClC,gBAAiB,MACjB,oBAAqB,MACrB,wBAAyB,MACzB,4BAA6B,MAC7B,kBAAmB,MACnB,sBAAuB,MACvB,gCAAiC,MACjC,oCAAqC,MACrC,4BAA6B,MAC7B,gCAAiC,MACjC,6BAA8B,MAC9B,iCAAkC,MAClC,mCAAoC,MACpC,uCAAwC,MACxC,+BAAgC,MAChC,+BAAgC,MAChC,+BAAgC,MAChC,0BAA2B,MAC3B,8BAA+B,MAC/B,qBAAsB,MACtB,yBAA0B,MAC1B,kCAAmC,MACnC,sCAAuC,MACvC,8BAA+B,MAC/B,kCAAmC,MACnC,kCAAmC,MACnC,sCAAuC,MACvC,uCAAwC,MACxC,2CAA4C,MAC5C,0BAA2B,MAC3B,8BAA+B,MAC/B,2BAA4B,MAC5B,+BAAgC,MAChC,2BAA4B,MAC5B,+BAAgC,MAChC,4BAA6B,MAC7B,gCAAiC,MACjC,2BAA4B,MAC5B,+BAAgC,MAChC,oBAAqB,MACrB,wBAAyB,MACzB,4BAA6B,MAC7B,gCAAiC,MACjC,2BAA4B,MAC5B,+BAAgC,MAChC,qCAAsC,MACtC,yCAA0C,MAC1C,iCAAkC,MAClC,qCAAsC,MACtC,sBAAuB,MACvB,0BAA2B,MAC3B,6BAA8B,MAC9B,iCAAkC,MAClC,0BAA2B,MAC3B,8BAA+B,MAC/B,kBAAmB,KACnB,sBAAuB,KACvB,+BAAgC,MAChC,mCAAoC,MACpC,0BAA2B,MAC3B,8BAA+B,MAC/B,0BAA2B,MAC3B,8BAA+B,MAC/B,oCAAqC,MACrC,wCAAyC,MACzC,mCAAoC,MACpC,uCAAwC,MACxC,8BAA+B,MAC/B,kCAAmC,MACnC,4BAA6B,IAC7B,mCAAoC,MACpC,uCAAwC,MACxC,oCAAqC,MACrC,wCAAyC,MACzC,oCAAqC,MACrC,wCAAyC,MACzC,yCAA0C,MAC1C,6CAA8C,MAC9C,iCAAkC,MAClC,qCAAsC,MACtC,+BAAgC,MAChC,mCAAoC,MACpC,kCAAmC,MACnC,sCAAuC,MACvC,qCAAsC,MACtC,yCAA0C,MAC1C,sDAAuD,KACvD,sDAAuD,MACvD,sDAAuD,MACvD,sDAAuD,MACvD,sDAAuD,MACvD,sDAAuD,KACvD,sDAAuD,MACvD,0BAA2B,MAC3B,8BAA+B,MAC/B,sBAAuB,MACvB,0BAA2B,MAC3B,4BAA6B,MAC7B,gCAAiC,MACjC,0BAA2B,MAC3B,8BAA+B,MAC/B,2BAA4B,MAC5B,+BAAgC,MAChC,yBAA0B,MAC1B,6BAA8B,MAC9B,mCAAoC,KACpC,uCAAwC,KACxC,wCAAyC,MACzC,4CAA6C,MAC7C,+BAAgC,KAChC,mCAAoC,KACpC,iDAAkD,MAClD,qDAAsD,MACtD,6CAA8C,MAC9C,iDAAkD,MAClD,iDAAkD,KAClD,qDAAsD,KACtD,yDAA0D,KAC1D,6DAA8D,KAC9D,sDAAuD,MACvD,0DAA2D,MAC3D,kDAAmD,MACnD,sDAAuD,MACvD,sDAAuD,MACvD,0DAA2D,MAC3D,4CAA6C,MAC7C,gDAAiD,MACjD,wCAAyC,MACzC,4CAA6C,MAC7C,4CAA6C,KAC7C,gDAAiD,KACjD,yCAA0C,MAC1C,6CAA8C,MAC9C,4CAA6C,MAC7C,gDAAiD,MACjD,yCAA0C,MAC1C,6CAA8C,MAC9C,wDAAyD,MACzD,4DAA6D,MAC7D,qCAAsC,MACtC,yCAA0C,MAC1C,gCAAiC,MACjC,oCAAqC,MACrC,iDAAkD,MAClD,qDAAsD,OAIvD,SAAS+zC,EAAeC,GACvB,IAAI70C,EAAK80C,EAAsBD,GAC/B,OAAOE,EAAoB/0C,EAC5B,CACA,SAAS80C,EAAsBD,GAC9B,IAAIE,EAAoB79B,EAAErW,EAAKg0C,GAAM,CACpC,IAAIhyC,EAAI,IAAIH,MAAM,uBAAyBmyC,EAAM,KAEjD,MADAhyC,EAAEmyC,KAAO,mBACHnyC,CACP,CACA,OAAOhC,EAAIg0C,EACZ,CACAD,EAAepkC,KAAO,WACrB,OAAOnG,OAAOmG,KAAK3P,EACpB,EACA+zC,EAAele,QAAUoe,EACzBG,EAAOC,QAAUN,EACjBA,EAAe50C,GAAK,+5CC7Ue,IAEdy8C,EAAc,SAAAxwB,GAAA,SAAAwwB,IAAA,mGAAA12B,CAAA,KAAA02B,GAAAz2B,EAAA,KAAAy2B,EAAAx2B,UAAA,6RAAAC,CAAAu2B,EAAAxwB,KAAAwwB,IAAA,EAAAl7C,IAAA,SAAAtB,MACjC,WAME6G,YAAW,WAAQy8C,EAAAA,EAAaC,SAAU,GAAG,KAE7C,IAAAzV,EAAkCppC,KAAK3G,MAA/B8B,EAASiuC,EAATjuC,UAAcu1C,+WAAOC,CAAAvH,EAAAwH,GAC7B,OAAO11C,EAAAA,cAAC0jD,EAAAA,EAAYl5C,OAAAgoB,OAAA,CAACvyB,UAAW8oB,IAAW,sBAAuB9oB,IAAgBu1C,GACpF,gGAAC,CAXgC,CAASx1C,EAAAA,sGCW5C,UATsB,SAAC7B,GACrB,IAAQiqE,EAA0BjqE,EAA1BiqE,sBACR,OACEpoE,EAAAA,cAACiyB,EAAAA,QAAe,CAACC,KAAK,YACpBlyB,EAAAA,cAACmyB,EAAAA,GAAK,CAACC,OAAK,EAACC,KAAK,IAAIC,OAAQ,SAAAn0B,GAAK,OAAI6B,EAAAA,cAACqoE,EAAAA,QAAgB79D,OAAAgoB,OAAA,GAAK41C,EAA2BjqE,GAAS,IAGvG,mNCiDA,UAzDgB,SAAAA,GAkBd,SAAS4mC,IACH5mC,EAAM+D,UAAY/D,EAAM+D,SAAS/D,OAASA,EAAM+D,SAAS/D,MAAM43D,aACjE53D,EAAM+D,SAAS/D,MAAM43D,cAEnB53D,EAAMgvC,SACRhvC,EAAMgvC,SAEV,CAEA,OAxBAjuC,EAAAA,EAAAA,YAAU,WACR,GAAIf,EAAMmqE,OAAQ,CAChB,IAAM/7B,EAAUptC,OAAOotC,QACvBhtC,SAASiJ,KAAKqI,MAAMsS,SAAW,QAC/B5jB,SAASiJ,KAAKqI,MAAMuE,MAAQ,QAC5B7V,SAASiJ,KAAKqI,MAAMrK,IAAG,IAAAnG,OAAOksC,EAAO,KACvC,KAAO,CACL,IAAMA,EAAUhtC,SAASiJ,KAAKqI,MAAMrK,IACpCjH,SAASiJ,KAAKqI,MAAMsS,SAAW,GAC/B5jB,SAASiJ,KAAKqI,MAAMrK,IAAM,GAC1BjH,SAASiJ,KAAKqI,MAAMuE,MAAQ,GAC5BjW,OAAO0hB,SAAS,GAA+B,EAA5B3f,SAASqrC,GAAW,KACzC,CACF,GAAG,CAACpuC,EAAMmqE,SAYRtoE,EAAAA,cAAC2sB,IAAKniB,OAAAgoB,OAAA,CACJryB,GAAG,WACHF,UAAW8oB,IAAW,yBAA0B5qB,EAAMoqE,gBACtDC,iBAAkBz/C,IAAW,uBAAwB5qB,EAAMqqE,kBAC3DC,2BAAyB,EACzBC,eAAgB3jC,EAChBl0B,MAAO,CAAC,GAAO1S,GAEf6B,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OAAKC,UAAU,gBACbD,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OACEqe,QAAS0mB,EACT9kC,UAAU,iEAEVD,EAAAA,cAACqhC,EAAAA,EAAe,CAACC,KAAK,QAAQ2M,KAAK,UAIzCjuC,EAAAA,cAAA,OAAKC,UAAU,iBACZ9B,EAAM+D,YAMnB,uoCCrDA,IAAMymE,EAAY,YACZC,EAAU,UACVC,EAAS,SAiEf,WAAethD,EAAAA,EAAAA,cAAYlL,EAAAA,EAAAA,oBA/DV,SAAAle,GACf,IAA6CC,EAAAC,GAAnBC,EAAAA,EAAAA,UAASqqE,GAAU,GAAtCpxD,EAAKnZ,EAAA,GAAE09B,EAAQ19B,EAAA,GAChB4yB,GAAS83C,EAAAA,EAAAA,MAAc93C,OACvBmkB,EAAO,IAAIpkB,gBAAgBC,GAAQnV,IAAI,QAoB7C,OAlBA3c,EAAAA,EAAAA,YAAU,WACRf,EAAM+rD,iBAAiB/U,GAAMp4B,MAAK,SAAAo6B,GAChCh5C,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,qCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMy9C,iBACN9f,EAAS8sC,EACX,IAAE,OAAO,SAAAxrD,GACPkf,QAAQC,IAAInf,GACZjf,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,iCACP/B,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,OAC7B+d,EAAS+sC,EACX,GACF,GAAG,IAGD7oE,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,UAAU4Q,MAAO,CAAEk4D,UAAW,UAC1C5zB,GACCn1C,EAAAA,cAAAA,EAAAA,SAAA,KACGuX,IAAUoxD,GACT3oE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SAAIE,IAAAA,EAAO,yCAAyC,KAAGi1C,EAAK,QAC5Dn1C,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,KAGvByV,IAAUqxD,GACT5oE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SAAIE,IAAAA,EAAO,uCAGdqX,IAAUsxD,GACT7oE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SAAIE,IAAAA,EAAO,oCAGbi1C,GACAn1C,EAAAA,cAAA,SAAG,UAAQE,IAAAA,EAAO,qCAElBqX,IAAUqxD,GAAWrxD,IAAUsxD,IAC/B7oE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,IAAIhF,UAAU,gCACpBC,IAAAA,EAAO,yBAU5B,6zDCpDA,IAAM8oE,EAAM,MACNC,EAAY,YAyZlB,WAAe1hD,EAAAA,EAAAA,cAAYnL,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBAvZZ,SAACle,GACxB,IAAmDC,EAAAC,GAAbC,EAAAA,EAAAA,UAAS0qE,GAAI,GAA5CE,EAAW9qE,EAAA,GAAE+qE,EAAc/qE,EAAA,GACgH6vB,EAAA5vB,GAAtGC,EAAAA,EAAAA,UAAS,CAACmsB,MAAS3O,IAAI,CAAEstD,OAAQ,EAAGC,OAAQ,EAAGC,YAAa,EAAG/C,KAAM97C,MAAS87C,OAAS,IAAKliB,WAAU,GAA3I1M,EAAc1pB,EAAA,GAAEs7C,EAAiBt7C,EAAA,IAExC/uB,EAAAA,EAAAA,YAAU,WACR,IAAMqd,EAAQhd,SAASC,iBAAiB,gBACxCL,OAAOC,EAAEoqE,YAAYlqE,KAAKid,EAAO,CAAC,EACpC,GAAG,CAACpe,EAAMsB,SAEVP,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEC,WAAWC,KAAKC,SAASC,iBAAiB,UACrD,GAAG,CAACrB,EAAMkhB,WAEVngB,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,GAAG,KAEHnrB,EAAAA,EAAAA,YAAU,WACJf,EAAM6pB,YAAc,CAAC,GAAK7pB,EAAM6pB,UAAUyhD,qBAC5CtrE,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,yCACP/B,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAEjC,GAAG,CAAC5f,EAAM6pB,YAEV,IAyDM0hD,EAAiB,SAACvoE,GACtB,IAAMwoE,EALoB,SAACxoE,GAC3B,OAAOA,EAAKC,QAAQP,QAAO,SAAA+oE,GAAU,OAAIzrE,EAAMu4C,gBAAgBra,SAASutC,EAAW,IAAE7nE,MACvF,CAGwB8nE,CAAoB1oE,GAC1C,OAAIwoE,EAAgB,EAEhB3pE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,KAAGC,UAAU,kBAAkBi1D,EAAAA,WAAe/zD,EAAKM,KAAK,KAAGkoE,EAAc,KAK7E3pE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,KAAGC,UAAU,kBAAkBk1D,EAAAA,iBAAqBh0D,EAAKM,KAG/D,EAEMqoE,EAAa,SAAC3oE,GAClB,OACEnB,EAAAA,cAAA,MAAI0B,IAAKP,EAAKhB,IACZH,EAAAA,cAAA,OAAKC,UAAU,sBAAsBypE,EAAevoE,IACpDnB,EAAAA,cAAA,OAAKC,UAAU,oBACZkB,EAAKC,QAAQW,OAAS,GA7DT,SAACZ,GACrB,IAAM4oE,EAAc5oE,EAAKC,QAAQC,OAAM,SAAAuoE,GAAU,OAAIzrE,EAAMu4C,gBAAgBra,SAASutC,EAAW,IACzFI,GAAgB7oE,EAAKC,QAAQqnB,MAAK,SAAAmhD,GAAU,OAAIzrE,EAAMu4C,gBAAgBra,SAASutC,EAAW,IAChG,OACE5pE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASi+C,EACTzpE,SAAU,SAAA2pE,GAAE,OAAI9rE,EAAMs6C,cAAct3C,EAAKC,QAAQ,IAEnDpB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,kCAIpBF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASk+C,EACT1pE,SAAU,SAAA2pE,GAAE,OAAI9rE,EAAMw6C,gBAAgBx3C,EAAKC,QAAQ,IAErDpB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,+BAKtBF,EAAAA,cAAA,OAAKC,UAAU,YAGrB,CA2BoCiqE,CAAc/oE,IACxCA,EAAKC,QAAQW,QAAU/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,wCACvCiB,EAAKC,QAAQJ,KAAI,SAAAM,GAAM,OAhFX,SAACA,GACpB,OACEtB,EAAAA,cAAA,OAAK0B,IAAKJ,EAAOnB,GAAIF,UAAU,iBAC7BD,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAS3tB,EAAMu4C,gBAAgBra,SAAS/6B,GACxChB,SAAU,SAAA2pE,GAAE,OAAI9rE,EAAMm6C,wBAAwBh3C,EAAO,IAEvDtB,EAAAA,cAAA,YACEA,EAAAA,cAACkpB,EAAAA,QAAU,CAAC5nB,OAAQA,MAK9B,CAiEoC2kD,CAAa3kD,EAAO,KAIxD,EAEM6oE,EAAiB,SAAC/pE,EAAO6hC,GAC7B,SAAK7hC,IAAUA,EAAM2B,UACnB5D,EAAM6e,cAActY,KAAK,GAADrE,OACnBH,IAAAA,EAAO,iCAAgC,KAAAG,OAAI4hC,GAC9C9jC,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOa,OAE7B5e,OAAO0hB,SAAS,EAAG,IACZ,EAGX,EAEMupD,EAAiB,WACrB,OAAOD,EAAehsE,EAAMkhB,QAASnf,IAAAA,EAAO,iDAC1CiqE,EAAehsE,EAAMiiB,eAAgBlgB,IAAAA,EAAO,iDAC5CiqE,EAAehsE,EAAM8jB,aAAc/hB,IAAAA,EAAO,+CAC1CiqE,EAAehsE,EAAMu4C,gBAAiBx2C,IAAAA,EAAO,gDACjD,EAoBMmqE,EAAwB,WAC5BlsE,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OAAQ1e,EAAMg7C,cAAc+vB,IAAgBF,EAAM,GAAKrxB,EAAe,EACpFvyC,OAAQlF,IAAAA,EAAO,4CAA6C,CAAE2iE,MAAO1kE,EAAMu4C,gBAAgB30C,SAC3Fic,OAAQ,SACRC,UAAU,GAEd,EAiBM24B,EAAa,SAACv3B,GACdA,IAAYW,EAAAA,UACd7hB,EAAMk3B,qBAAgB92B,GAExBJ,EAAMy4C,WAAWv3B,EACnB,EAQMirD,EAAU,WACd,IAAMC,EAAiB,GAAAlqE,OAAAG,EAAAC,EAAOk3C,GAAc,CAAEltB,IAAOktB,EAAepzC,OAAO,GAAG,IAAIuD,IAAI,EAAG,SAASu8C,WAClGklB,EAAkBgB,EACpB,EAEMC,EAAa,WACjB,GAA8B,IAA1B7yB,EAAe51C,OAAnB,CAEA,IAAMwoE,EAAiB/pE,EAAAC,EAAOk3C,GAC9B4yB,EAAkB5xC,MAClB4wC,EAAkBgB,EAJqB,CAKzC,EAEA,OACEvqE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,6CAGhBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAW8oB,IAAW5qB,EAAMkhB,SAAW,WAAYnf,IAAAA,EAAO,2CACjEF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,mBACHC,MAAOjC,EAAMkhB,SAAW,GACxB/e,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,mBAAoBo2B,EAAW,GAE9D52C,EAAAA,cAAA,UAAQI,MAAM,GAAGwrB,UAAQ,IACxB+oC,EAAAA,SAAS3zD,KAAI,SAAA63C,GACZ,OACE74C,EAAAA,cAAA,UAAQ0B,IAAKm3C,EAAUz4C,MAAOy4C,IAAWn2B,EAAAA,EAAAA,kBAAiBm2B,GAE9D,MAGH16C,EAAMkhB,SACLrf,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAW8oB,IAAW5qB,EAAMiiB,gBAAkB,WAAYlgB,IAAAA,EAAO,wCACxEF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,2BACHC,MAAOjC,EAAMiiB,gBAAkB,GAC/B9f,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,2BAA4BriB,EAAMg3B,kBAAkB,GAEnFn1B,EAAAA,cAAA,UAAQI,MAAM,GAAGwrB,UAAQ,IACxBztB,EAAMihB,gBAAgBpe,KAAI,SAAAo0B,GACzB,OACEp1B,EAAAA,cAAA,UAAQ0B,IAAK0zB,EAAiBh1B,MAAOg1B,IAAkB3S,EAAAA,EAAAA,yBAAwB2S,GAEnF,KAEFp1B,EAAAA,cAAA,QAAMC,UAAU,eAAe9B,EAAMiiB,iBAAkBD,EAAAA,EAAAA,oBAAmBhiB,EAAMiiB,mBAItFpgB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAW8oB,IAAW5qB,EAAM8jB,cAAgB,WAAY/hB,IAAAA,EAAO,sCACtEF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,yBACHC,MAAOjC,EAAM8jB,cAAgB,GAC7B3hB,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,yBAA0BriB,EAAMk3B,gBAAgB,GAE/Er1B,EAAAA,cAAA,UAAQI,MAAM,GAAGwrB,UAAQ,KACxB3K,EAAAA,EAAAA,eAAc9iB,EAAMsB,OAAOuB,KAAI,SAAAiB,GAA0C,IAADyb,EAAArf,EAAA4D,EAAA,GAAvC8f,EAAarE,EAAA,GAAE4X,EAAkB5X,EAAA,GACjE,OACE1d,EAAAA,cAAA,UAAQ0B,IAAKqgB,EAAe3hB,MAAO2hB,GAAgBuT,EAEvD,MAGJt1B,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAU,UAAUC,IAAAA,EAAO,4BAClCF,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAS3tB,EAAM0zB,eACfjG,SAAUztB,EAAMiiB,iBAAmBL,EAAAA,0BAA4B,gBAAaxhB,EAC5E+B,SAAU,SAAA0C,GAAC,OAAI7E,EAAM04C,kBAAkB7zC,EAAEoC,OAAO0mB,QAAQ,IAE1D9rB,EAAAA,cAAA,YACGE,IAAAA,EAAO,uCACRF,EAAAA,cAAA,QAAMC,UAAU,eAAeC,IAAAA,EAAO,iCAADG,OAAkC0f,EAAAA,kCAMjF/f,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,mCACY,IAAvB/B,EAAMsB,MAAMsC,QAAgB/B,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,8CAC3C/B,EAAMsB,MAAMsC,OAAS,GACpB/B,EAAAA,cAAA,MAAIC,UAAU,eACX9B,EAAMsB,MAAMuB,KAAI,SAAAwoD,GAAK,OAAIsgB,EAAWtgB,EAAM,OAKnDxpD,EAAAA,cAAA,OAAKC,UAAU,YACfD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,gCAEdF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,UACEC,UAAU,+BACVoe,QAAS,SAAArb,GACPA,EAAEiT,iBAtKRm0D,MACFjsE,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,uCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAE7Bhe,OAAO0hB,SAAS,EAAG,GACnB1iB,EAAM86C,SAiKA,GAEAj5C,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,QAClCC,IAAAA,EAAO,oCAGZF,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,UACEC,UAAW8oB,IAAW,2EAA4E5qB,EAAM26C,8BAAgC,YACxIz6B,QAAS,WArJf8rD,EAAehsE,EAAMkhB,QAASnf,IAAAA,EAAO,iDACrCiqE,EAAehsE,EAAMiiB,eAAgBlgB,IAAAA,EAAO,iDAC5CiqE,EAAehsE,EAAMu4C,gBAAiBx2C,IAAAA,EAAO,mDAE7C/B,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,8CACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAE7Bhf,EAAM46C,yBA4I8B,GAE9B/4C,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,QAClCC,IAAAA,EAAO,mDAIdF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,yBAGfF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,0CAEdF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,gBACLsS,KAAK,QACL+X,QAASo9C,IAAgBF,EACzB1oE,SAAU,WAAF,OAAQ6oE,EAAeH,EAAI,IAErChpE,EAAAA,cAAA,YAAOE,IAAAA,EAAO,0BAGlBF,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,gBACLsS,KAAK,QACL+X,QAASo9C,IAAgBD,EACzB3oE,SAAU,WAAF,OAAQ6oE,EAAeF,EAAU,IAE3CjpE,EAAAA,cAAA,YAAOE,IAAAA,EAAO,2BAKrBgpE,IAAgBD,GACftxB,EAAe32C,KAAI,SAACypE,EAAe73B,GAAG,OACpC5yC,EAAAA,cAAA,OAAKC,UAAU,MAAMyB,IAAG,iBAAArB,OAAmBuyC,IACzC5yC,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAC0qE,IAAelgE,OAAAgoB,OAAA,CACdryB,GAAG,kBACCimC,EAAAA,gCAA+B,CACnCrlC,SAAU0pE,EACVnqE,SAAU,SAAAgoD,GAAI,OAlLH,SAAC1V,EAAK0V,GAC7B,IAAMiiB,EAAiB/pE,EAAAC,EAAOk3C,GAC9B4yB,EAAkB33B,GAAO0V,EACzBihB,EAAkBgB,EACpB,CA8KgCI,CAAiB/3B,EAAK0V,EAAK,EAC7CsiB,YAAa1qE,IAAAA,EAAO,wBACpBknD,QAAS,IAAItV,KACboF,OAAwB,OAAhBh3C,IAAAA,OAAuB2qE,EAAAA,EAAOle,EAAAA,EACtC7pB,UAAQ,KAEV9iC,EAAAA,cAAA,SACE6rB,QAAQ,iBACR5rB,UAAW8oB,IAAW,cAAe,CAAEpZ,OAAQ86D,KAE9CvqE,IAAAA,EAAO,mCAGX0yC,EAAM,IAAM+E,EAAe51C,QAC1B/B,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,UAAQC,UAAU,yCAAyCoe,QAASisD,GAClEtqE,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,OAC7BC,IAAAA,EAAO,6BAEVF,EAAAA,cAAA,UACEC,UAAW8oB,IAAW,qDAAsD,CAAE6C,SAAoC,IAA1B+rB,EAAe51C,SACvGsc,QAASmsD,GAETxqE,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,YAIhC,IAGVD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UACEC,UAAU,gDACVoe,QAAS,SAAArb,GACPA,EAAEiT,iBAzPRm0D,KACFC,GA0PM,GAEArqE,EAAAA,cAAA,KAAGC,UAAU,uBAAuBipE,IAAgBF,EAAM,OAAS,YAClE9oE,IAAAA,EAAOgpE,IAAgBF,EAAM,2BAA6B,qCAMvE,4zBCrZA,IAAM8B,EAAY,+DAsClB,UApCgD,SAAC3sE,GAmB/C,OACE6B,EAAAA,cAAA,OAAKC,UAAU,UAAU2gB,IAAKziB,EAAM0kC,OAClC7iC,EAAAA,cAAA,OACEC,UAAW8oB,IAAW,MAAO5qB,EAAM2kC,eAA4BvkC,IAAhBJ,EAAMiC,OAAuBjC,EAAM4kC,YAAc,eAChG1kB,QAAS,WAAYlgB,EAAM4kC,YAAc5kC,EAAM6kC,eAAc,EAAS,GAEtEhjC,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,OAAKC,UAAU,mBAAkB8gB,EAAAA,EAAAA,mBAAkB5iB,EAAMqD,SAE3DxB,EAAAA,cAAA,OAAKC,UAAU,gCAzBjBD,EAAAA,cAAAA,EAAAA,SAAA,sIACGQ,CAAAC,EAAIC,MAAM,GAAGiQ,QAAQ3P,KAAI,SAACiiC,GACzB,IAAMnX,OAA0BvtB,IAAhBJ,EAAMiC,OAAuBjC,EAAMiC,QAAK,GAAAC,OAAQ4iC,EAAS,GACzE,OACEjjC,EAAAA,cAAA,KAAG0B,IAAKuhC,GACNjjC,EAAAA,cAAA,SAAOC,UAAW8oB,IAAW,CAAE+C,QAAAA,IAAYzN,QAAS,WAAF,OAAQlgB,EAAMgc,SAAS,GAAD9Z,OAAI4iC,EAAS,GAAI,GACvFjjC,EAAAA,cAAA,OAAKC,UAAU,eAAeuhC,IAAKspC,EAAU7nC,GAAS9tB,IAAG,GAAA9U,OAAK4iC,EAAS,KACvEjjC,EAAAA,cAAA,YAAOijC,EAAS,IAIxB,OAoBR,24CCzDuB,IAEFw8B,EAAe,SAAArzC,GAAA,SAAAqzC,IAAA,mGAAAv5C,CAAA,KAAAu5C,GAAAt5C,EAAA,KAAAs5C,EAAAr5C,UAAA,6RAAAC,CAAAo5C,EAAArzC,KAAAqzC,KAAA,EAAA/9D,IAAA,SAAAtB,MAClC,WACE,OACEJ,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,qDACbD,EAAAA,cAAA,UAAI,mBACJA,EAAAA,cAAC8wB,EAAAA,GAAI,CAAC7rB,GAAG,KAAIjF,EAAAA,cAAA,UAAKE,IAAAA,EAAO,sBAIjC,+FAAC,CAViC,CAASF,EAAAA,srCC8L7C,UAzL6B,SAAC7B,GAC5B,IAA6CC,EAAAC,GAAnBC,EAAAA,EAAAA,eAASC,GAAU,GAAtC6B,EAAKhC,EAAA,GAAE+b,EAAQ/b,EAAA,GAC0B6vB,EAAA5vB,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAAzCg1B,EAASrF,EAAA,GAAEu5B,EAAYv5B,EAAA,GACcG,EAAA/vB,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAArCi1B,EAAOnF,EAAA,GAAEq5B,EAAUr5B,EAAA,GAC6BE,EAAAjwB,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhD27D,EAAY3rC,EAAA,GAAE4rC,EAAe5rC,EAAA,GACmCuE,EAAAx0B,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAhE67D,EAAoBtnC,EAAA,GAAEunC,EAAuBvnC,EAAA,GACSE,EAAA10B,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAtD+7D,EAAetnC,EAAA,GAAEunC,EAAkBvnC,EAAA,GAEpCwnC,EAAkB,CACtB,CAAEt4B,YAAa/hC,IAAAA,EAAO,kCAAmCE,MAAOg1D,EAAAA,OAChE,CAAEnzB,YAAa/hC,IAAAA,EAAO,sCAAuCE,MAAOi1D,EAAAA,WACpE,CAAEpzB,YAAa/hC,IAAAA,EAAO,wCAAyCE,MAAOk1D,EAAAA,aACtE,CAAErzB,YAAa/hC,IAAAA,EAAO,uCAAwCE,MAAOm1D,EAAAA,YACrE,CAAEtzB,YAAa/hC,IAAAA,EAAO,mCAAoCE,MAAOo1D,EAAAA,SAqC7DgF,EAAwB,WAC5B,OAAIP,EACKE,EAAuB,EAAI,EAE7B,CACT,EASMM,GANAJ,QACU97D,IAAV6B,IACAA,IAAUo1D,EAAAA,QACQ,OAAdliC,GAAkC,OAAZC,GAAoB9I,IAAO6I,IAAc7I,IAAO8I,IAKhF,OACEvzB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,oCAGhBF,EAAAA,cAAA,OAAKC,UAAU,wBACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,uCACXq6D,EAAgBv5D,KAAI,SAAAiiC,GAAM,OACzBjjC,EAAAA,cAAA,KAAG0B,IAAKuhC,EAAO7iC,OACbJ,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEyB,KAAK,wBACLsS,KAAK,QACL3T,MAAO6iC,EAAO7iC,MACd0rB,aAAmBvtB,IAAV6B,GAAuBA,IAAU6iC,EAAO7iC,MACjDE,SAAU,SAAA0C,GAAC,OAAImX,EAASnX,EAAEoC,OAAOhF,MAAM,IAEzCJ,EAAAA,cAAA,YAAOijC,EAAOhB,cAEd,IAEK,WAAV7hC,GACCJ,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,cAAiB2lC,EAAAA,yBAAwB,CAC5C/kC,SAAUuyB,EACVhzB,SAAU,SAAAgoD,GAAI,OAAId,EAAac,EAAK,EACpCW,cAAY,EACZ31B,UAAWA,EACXC,QAASA,KAEXvzB,EAAAA,cAAA,SAAO6rB,QAAQ,aAAa5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ2jB,KAAepzB,IAAAA,EAAO,wBAEpFF,EAAAA,cAAA,OAAKC,UAAU,yBACbD,EAAAA,cAACgpD,IAAUx+C,OAAAgoB,OAAA,CACTryB,GAAG,YAAe2lC,EAAAA,yBAAwB,CAC1C/kC,SAAUwyB,EACVjzB,SAAU,SAAAgoD,GAAI,OAAIb,EAAWa,EAAK,EAClCa,YAAU,EACV71B,UAAWA,EACXC,QAASA,EACT6zB,QAAS9zB,EACTg0B,QAAS,IAAIxV,QAEf9xC,EAAAA,cAAA,SAAO6rB,QAAQ,WAAW5rB,UAAW8oB,IAAW,CAAEpZ,OAAQ4jB,KAAarzB,IAAAA,EAAO,uBAGlFF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAGA,EAAAA,cAAA,UAAKE,IAAAA,EAAO,6CAO3BF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASmuC,EACT35D,SAAU,SAAA0C,GAAC,OAAIk3D,EAAgBl3D,EAAEoC,OAAO0mB,QAAQ,IAElD9rB,EAAAA,cAAA,YACGE,IAAAA,EAAO,iCACP,IACDF,EAAAA,cAAC4hC,EAAAA,QAAI,CACHC,KAAM3hC,IAAAA,EAAO,gCACb4hC,UAAU,mBACV6a,cAAY,QAMrBsd,GACCj6D,EAAAA,cAAA,OAAKC,UAAU,4BACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAASquC,EACT75D,SAAU,SAAA0C,GAAC,OAAIo3D,EAAwBp3D,EAAEoC,OAAO0mB,QAAQ,IAE1D9rB,EAAAA,cAAA,YACGE,IAAAA,EAAO,uCAOpBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACZw6D,GACCz6D,EAAAA,cAAA,KAAGC,UAAU,+CAA+Coe,QAxJ5C,SAACrb,GACzB,IAAI6F,EAAOE,EACL2xD,EAAQ,IAAI5oB,KAClB,OAAQ1xC,GACN,KAAKg1D,EAAAA,MACHvsD,EAAQ6xD,EACR3xD,EAAM2xD,EACN,MACF,KAAKrF,EAAAA,UACHxsD,EAAQ4hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SAC1Ct7C,EAAM0hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SACxC,MACF,KAAKiR,EAAAA,YACHzsD,EAAQ4hB,IAAOiwC,GAAOrT,SAAS,EAAG,QAAQhD,SAC1Ct7C,EAAM2xD,EACN,MACF,KAAKnF,EAAAA,WACH,MACF,KAAKC,EAAAA,OACH3sD,EAAQyqB,EACRvqB,EAAMwqB,EAGV,IAAMpJ,EAAS,CAAC,OACF5rB,IAAVsK,GAAiC,OAAVA,IAAgBshB,EAAOwwC,WAAa9xD,EAAM2qB,oBACzDj1B,IAARwK,GAA6B,OAARA,IAAcohB,EAAOywC,SAAW7xD,EAAIyqB,eAC7D,IAAMqnC,EAAoBL,IACtBK,IAAmB1wC,EAAO8vC,aAAY,GAAA55D,OAAMw6D,IAChDP,GAAmB,GACnBrzD,YAAW,kBAAMqzD,GAAmB,EAAM,GAAE,KAC5Ct3D,EAAEiT,iBACF9X,EAAK,OAAQgsB,EACf,EAwHkG5L,KAAK,KAC3Fve,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,sBAGVu6D,GACAz6D,EAAAA,cAAA,UAAQC,UAAU,+CAA+C2rB,UAAQ,GACvE5rB,EAAAA,cAAA,KAAGC,UAAU,uBAAsB,iBAClCC,IAAAA,EAAO,uBAOtB,4FC5HA6qE,EAAAA,GAAQjjE,IACNkjE,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,GACAC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,40CC5GK,IAAM9vB,EAAa,SAACntB,EAAkB/xB,GAC3C,IAAI6B,EACoB4f,EADME,EAAAC,EACX5hB,GAAK,IAAxB,IAAA2hB,EAAA1e,MAAAwe,EAAAE,EAAA9d,KAAAie,MAA0B,CAExB,GAAc,OADdjgB,EADa4f,EAAA9gB,MACCgB,QAAQsjB,MAAK,SAAA4yB,GAAO,OAAIA,EAAQn3C,KAAOqxB,CAAQ,KACzC,KACtB,CAAC,OAAApU,GAAAgE,EAAApe,EAAAoa,EAAA,SAAAgE,EAAAze,GAAA,CACD,OAAOrB,CACT,EAkCau9C,EAAgB,SAACrtB,EAAkBzD,EAAuB5D,EAAiBukD,EAAgCC,EAA0BC,GAChJ,IAAMC,EAAyB,GACzBhwE,GAAgB6/C,EAAAA,EAAAA,SAAQ3wB,EAAUltB,QAAO,SAAA0c,GAAQ,OAAIA,EAASgU,SAASC,WAAaA,CAAQ,IAAExwB,KAAI,SAAAuc,GACtG,IAAInd,EAEsBwhB,EADtBktD,GAAQ,EAAKjtD,EAAAR,EACG8I,GAAM,IAA1B,IAAAtI,EAAAnf,MAAAkf,EAAAC,EAAAve,KAAAie,MAA4B,CAAC,IAAlBwtD,EAAKntD,EAAAxhB,MACd,GAAIoK,OAAOmG,KAAK4M,EAASgU,UAAU8K,SAAS0yC,GAAQ,CAClD3uE,EAAQmd,EAASgU,SAASw9C,GAC1BD,GAAQ,EACR,KACF,CACF,CAAC,OAAA1xD,GAAAyE,EAAA7e,EAAAoa,EAAA,SAAAyE,EAAAlf,GAAA,CACD,IAAKmsE,QAAmBvwE,IAAV6B,EAAqB,OAAO,KAC1C,IAAM4uE,EAAqBvkD,IAAOlN,EAAS+K,cAE3C,OADAumD,EAAanqE,KAAKtE,GACX,CACLU,EAAGkuE,EAAmB3qB,SACtB59C,EAAGrG,EACHm0D,eAAgBya,EAAmB93B,OAAOh3C,IAAAA,QAAamO,OAAOsc,EAAAA,8BAElE,KACA,GAAIkkD,EAAa9sE,OAAS,EAAG,CAC3B,IAAMktE,EAA4B,OAAfN,QAAe,IAAfA,EAAAA,GAAmBt+B,EAAAA,EAAAA,SAAQw+B,GACxCK,EAA0B,OAAdN,QAAc,IAAdA,EAAAA,GAAkBn+B,EAAAA,EAAAA,mBAAkBo+B,GACtD,GAAIH,EACF,GAAIQ,EAAY,KAAQ,CAAC,IACK1tD,EADNG,EAAAN,EACExiB,GAAI,IAA5B,IAAA8iB,EAAAjf,MAAA8e,EAAAG,EAAAre,KAAAie,MAA8B,CAAC,IAApBsyC,EAASryC,EAAAphB,MAClByzD,EAAUptD,GAAKotD,EAAUptD,EAAIwoE,GAAcC,CAC7C,CAAC,OAAA9xD,GAAAuE,EAAA3e,EAAAoa,EAAA,SAAAuE,EAAAhf,GAAA,CACH,KAAO,CAAC,IACsBuf,EADvBC,EAAAd,EACmBxiB,GAAI,IAA5B,IAAAsjB,EAAAzf,MAAAwf,EAAAC,EAAA7e,KAAAie,MAA8B,CAAVW,EAAA9hB,MACRqG,EAAI,CAChB,CAAC,OAAA2W,GAAA+E,EAAAnf,EAAAoa,EAAA,SAAA+E,EAAAxf,GAAA,CACH,CAEJ,CACA,MAAO,CAAE9D,KAAMA,EAAM+0D,YAAaib,EAAa9sE,OACjD,EAEaunB,EAAiB,SAACjB,EAAgC8B,GAC7D,IAAI/pB,EAEsBstD,EADtBohB,GAAQ,EAAKnhB,EAAAtsC,EACG8I,GAAM,IAA1B,IAAAwjC,EAAAjrD,MAAAgrD,EAAAC,EAAArqD,KAAAie,MAA4B,CAAC,IAAD4tD,EAAAC,EAAjBL,EAAKrhB,EAAAttD,MACd,GAAIoK,OAAOmG,KAAsC,QAAlCw+D,EAAwB,QAAxBC,EAAC/mD,EAAe9K,gBAAQ,IAAA6xD,OAAA,EAAvBA,EAAyB79C,gBAAQ,IAAA49C,EAAAA,EAAI,CAAC,GAAG9yC,SAAS0yC,GAAQ,CAAC,IAADM,EACxEjvE,EAA+B,QAA1BivE,EAAGhnD,EAAe9K,gBAAQ,IAAA8xD,OAAA,EAAvBA,EAAyB99C,SAASw9C,GAC1CD,GAAQ,EACR,KACF,CACF,CAAC,OAAA1xD,GAAAuwC,EAAA3qD,EAAAoa,EAAA,SAAAuwC,EAAAhrD,GAAA,CACD,OAAKmsE,QAAmBvwE,IAAV6B,EACPA,EADmC,IAE5C,EAEa08D,EAA+B,SAACtrC,EAAkBs6B,EAA+C3hC,EAAyBukD,EAAgCC,EAA0BC,GAC/L,IAAMC,EAAyB,GACzBhwE,GAAgB6/C,EAAAA,EAAAA,SAAQoN,EAAsBjrD,QAAO,SAAAy7D,GAAoB,OAAIA,EAAqBgT,YAAc99C,CAAQ,IAAExwB,KAAI,SAAAs7D,GAElI,IAAMl8D,EAAgBk8D,EAAqBnyC,EAAO,IAC5ColD,EAA4B9kD,IAAO6xC,EAAqBC,oBAE9D,OADAsS,EAAanqE,KAAKtE,GACX,CACLU,EAAGyuE,EAA0BlrB,SAC7B59C,EAAGrG,EACHm0D,eAAgBgb,EAA0Br4B,OAAOh3C,IAAAA,QAAamO,OAAOsc,EAAAA,8BACrE4yC,uBAAwBjB,EAAqBiB,uBAC7CE,gBAAiBnB,EAAqBmB,gBACtCC,cAAepB,EAAqBoB,cACpCC,eAAgBrB,EAAqBqB,eACrCC,cAAetB,EAAqBsB,cACpCC,YAAavB,EAAqBuB,YAClC2R,eAAgBlT,EAAqBkT,eACrCC,eAAgBnT,EAAqBmT,eACrCC,eAAgBpT,EAAqBoT,eACrCC,uBAAwBrT,EAAqBqT,uBAC7CC,uBAAwBtT,EAAqBsT,uBAC7CC,cAAevT,EAAqBuT,cACpCC,YAAaxT,EAAqBwT,YAClCC,YAAazT,EAAqByT,YAClCvS,cAAelB,EAAqBkB,cACpCwS,YAAa1T,EAAqB0T,YAClCC,YAAa3T,EAAqB2T,YAClCnS,iBAAkBxB,EAAqBwB,iBACvCE,gBAAiB1B,EAAqB0B,gBACtCkS,uBAAwB5T,EAAqB4T,uBAC7CC,YAAa7T,EAAqB6T,YAEtC,KACA,GAAItB,EAAa9sE,OAAS,EAAG,CAC3B,IAAMktE,EAA4B,OAAfN,QAAe,IAAfA,EAAAA,GAAmBt+B,EAAAA,EAAAA,SAAQw+B,GACxCK,EAA0B,OAAdN,QAAc,IAAdA,EAAAA,GAAkBn+B,EAAAA,EAAAA,mBAAkBo+B,GACtD,GAAIH,EACF,GAAIQ,EAAY,KAAQ,CAAC,IACKzS,EADNC,EAAAr7C,EACExiB,GAAI,IAA5B,IAAA69D,EAAAh6D,MAAA+5D,EAAAC,EAAAp5D,KAAAie,MAA8B,CAAC,IAApBsyC,EAAS4I,EAAAr8D,MAClByzD,EAAUptD,GAAKotD,EAAUptD,EAAIwoE,GAAcC,CAC7C,CAAC,OAAA9xD,GAAAs/C,EAAA15D,EAAAoa,EAAA,SAAAs/C,EAAA/5D,GAAA,CACH,KAAO,CAAC,IACsBo6D,EADvBC,EAAA37C,EACmBxiB,GAAI,IAA5B,IAAAm+D,EAAAt6D,MAAAq6D,EAAAC,EAAA15D,KAAAie,MAA8B,CAAVw7C,EAAA38D,MACRqG,EAAI,CAChB,CAAC,OAAA2W,GAAA4/C,EAAAh6D,EAAAoa,EAAA,SAAA4/C,EAAAr6D,GAAA,CACH,CAEJ,CACA,MAAO,CAAE9D,KAAMA,EAAM+0D,YAAaib,EAAa9sE,OACjD,EASaqnD,EAAoB,CAAC,eAAgB,aAAc,eAanDxgC,EAAiB,CAC5BiB,SAAU,CAAC,KAAM,MACjBL,cAAe,CAAC,KAAM,OACtBC,WAAY,CAAC,KAAM,OACnBC,KAAM,CAAC,KAAM,OACbI,UAAW,CAAC,KAAM,KAAM,OACxBH,YAAa,CAAC,KAAM,OACpBC,UAAW,CAAC,KAAM,mqCC/IpB,WAAexN,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBAtCQ,SAACle,GAChC,IAAsDC,EAAAC,GAAhBC,EAAAA,EAAAA,UAAS,QAAO,GAA/CmwD,EAAWrwD,EAAA,GAAEswD,EAActwD,EAAA,IAElCc,EAAAA,EAAAA,YAAU,WACRf,EAAMme,YACR,GAAG,IAQH,OACEtc,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,8BAEjFF,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAC2uD,EAAAA,QAAQ,CAACxuD,GAAG,yBAAyB68C,OAfhC,SAAC4R,GACjBF,EAAeE,GAEfzwD,EAAMue,QAAQhY,KAAKvG,EAAM2c,SAASma,SACpC,GAYcj1B,EAAAA,cAAC6uD,EAAAA,IAAG,CAAC1uD,GAAG,OAAOqe,MAAOte,IAAAA,EAAO,sCACV,SAAhBuuD,GAA0BzuD,EAAAA,cAACowE,EAAAA,QAAoB5lE,OAAAgoB,OAAA,GAAKr0B,EAAK,CAAEsB,MAAOtB,EAAMsB,UAE3EO,EAAAA,cAAC6uD,EAAAA,IAAG,CAAC1uD,GAAG,WAAWqe,MAAOte,IAAAA,EAAO,0CACd,aAAhBuuD,GAA8BzuD,EAAAA,cAACqwE,EAAAA,QAAwB7lE,OAAAgoB,OAAA,GAAKr0B,EAAK,CAAEsB,MAAOtB,EAAMsB,eASnG,6FCwDA,UAlGe,SAACtB,GACd,IAAIiC,EAAQjC,EAAMiC,MACdkwE,GAAa,EACXzjB,EAAW1uD,EAAM0uD,SAAW1uD,EAAM0uD,SAAW1uD,EAAMkJ,IAAIpD,WACvD6oD,EAAW3uD,EAAM2uD,SAAW3uD,EAAM2uD,SAAW3uD,EAAMiJ,IAAInD,gBAC/C1F,IAAV6B,IACFkwE,GAAa,EAGXlwE,EADEjC,EAAMmR,SACAnR,EAAMiJ,IAENjJ,EAAMkJ,KAIlB,IAwBQkpE,EA6CR,OACEvwE,EAAAA,cAAA,OAAKC,UAAU,UAAU2gB,IAAKziB,EAAM0kC,OAClC7iC,EAAAA,cAAA,OAAKC,UAAW8oB,IAAW,MAAO5qB,EAAM2kC,eAA4BvkC,IAAhBJ,EAAMiC,OAAuBjC,EAAM4kC,YAAc,eAAgB1kB,QAAS,WAAYlgB,EAAM4kC,YAAc5kC,EAAM6kC,eAAc,EAAS,GACzLhjC,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,OAAKC,UAAU,mBAAkB8gB,EAAAA,EAAAA,mBAAkB5iB,EAAMqD,SAE3DxB,EAAAA,cAAA,OAAKC,UAAU,cAZf9B,EAAMmR,UAvCJihE,EAAiB7vE,MAAMC,KAAKxC,EAAMu3D,YAAYlzD,UAElDxC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,SAAS4Q,MAAO,CAAEuE,MAAO,SACtCpV,EAAAA,cAAA,KAAGC,UAAW8oB,IAAW,cAAeunD,GAAc,gBACpDtwE,EAAAA,cAAA,SACEC,UAAU,UAAU8T,KAAK,QAAQ1M,IAAKlJ,EAAMkJ,IAAKD,IAAKjJ,EAAMiJ,IAAKhH,MAAOA,EAAO8K,KAAM/M,EAAM+M,KAC3FmT,QAAS,SAAArb,GAAWstE,GAAcnyE,EAAMgc,SAASjZ,SAAS8B,EAAEoC,OAAOhF,OAAU,EAC7EowE,aAAc,SAAAxtE,GAAWstE,GAAcnyE,EAAMgc,SAASjZ,SAAS8B,EAAEoC,OAAOhF,OAAU,EAClFE,SAAU,SAAA0C,GAAC,OAAI7E,EAAMgc,SAASjZ,SAAS8B,EAAEoC,OAAOhF,OAAO,MAI7DJ,EAAAA,cAAA,OAAKC,UAAU,UACbD,EAAAA,cAAA,OAAKC,UAAU,yBACZswE,EAAevvE,KAAI,SAACQ,EAAOoxC,GAC1B,IAAM/hB,EAAM1yB,EAAMiJ,IAAMwrC,EAClBhQ,GAAkB7hB,EAAAA,EAAAA,mBAAkBvf,GAC1C,OACExB,EAAAA,cAACA,EAAAA,SAAc,CAAC0B,IAAG,GAAArB,OAAKwwB,EAAG,KAAAxwB,OAAIuiC,IAC7B5iC,EAAAA,cAAA,QACEC,UAAW8oB,KAAYunD,GAAclwE,IAAUywB,GAAO,YACtDxS,QAAS,WAAF,OAAQlgB,EAAMgc,SAAS0W,EAAI,GAEjC+R,GAEF/R,IAAQ1yB,EAAMkJ,KAAOrH,EAAAA,cAAA,WAG5B,SApDRA,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,KAAGC,UAAW8oB,IAAW,cAAeunD,GAAc,gBACpDtwE,EAAAA,cAAA,SACE+T,KAAK,QAAQ1M,IAAKlJ,EAAMkJ,IAAKD,IAAKjJ,EAAMiJ,IAAKhH,MAAOA,EAAO8K,KAAM/M,EAAM+M,KACvEmT,QAAS,SAAArb,GAAWstE,GAAcnyE,EAAMgc,SAASjZ,SAAS8B,EAAEoC,OAAOhF,OAAU,EAC7EowE,aAAc,SAAAxtE,GAAWstE,GAAcnyE,EAAMgc,SAASjZ,SAAS8B,EAAEoC,OAAOhF,OAAU,EAClFE,SAAU,SAAA0C,GAAC,OAAI7E,EAAMgc,SAASjZ,SAAS8B,EAAEoC,OAAOhF,OAAO,KAG3DJ,EAAAA,cAAA,OAAKC,UAAU,oBACbD,EAAAA,cAAA,OAAKC,UAAU,sBACZ8gB,EAAAA,EAAAA,mBAAkB8rC,IAErB7sD,EAAAA,cAAA,OAAKC,UAAU,uBACZ8gB,EAAAA,EAAAA,mBAAkB+rC,QAiE/B,itCCmJA,WAAe1wC,EAAAA,EAAAA,YAAUC,EAAAA,EAAAA,oBApOJ,SAAAle,GACnB,IAA2BsyE,EAAmBtyE,EAAtCgG,MAASgmB,OAAUsmD,WACrBlzD,EAAWpf,EAAMof,SAWvB,IATAre,EAAAA,EAAAA,YAAU,WACRf,EAAMqxB,cAAcihD,GACpBtyE,EAAMme,YACR,GAAG,KAEHpd,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,SAEiB9rB,IAAbgf,QAA0Chf,IAAhBJ,EAAMsB,OAA8C,IAAvBtB,EAAMsB,MAAMsC,OACrE,OACE/B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAC9D3c,KAAMvB,IAAAA,EAAO,kBACbke,KAAM,cACL,CAAE3c,KAAMgvE,MAEbzwE,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAACoC,EAAAA,QAAO,CAACN,aAAW,MAM5B,IAAMy1C,EAAW9sB,IAAOlN,EAAS4T,WAAW9iB,OAAOsc,EAAAA,8BAC7C6sB,EAAc/sB,IAAOlN,EAAS+K,cAAcja,OAAOsc,EAAAA,8BACnDvK,GAAiBqC,EAAAA,EAAAA,yBAAwBlF,EAASgU,SAASnR,gBAC3D0K,EAAoBvN,EAASgU,SAASM,eACtCvG,EAAa/N,EAASgU,SAAS9vB,KAC/BivE,EAAqBnzD,EAASgU,SAAStB,aAoBvCgB,EAA4B,SAAA9wB,GAChChC,EAAMye,sBAAsB,CAC1BC,eAAgB,WAAF,OApBM,SAAA1c,GACtBhC,EAAMgxB,gBAAgBhvB,GACnB4c,MAAK,WACJ5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,6CACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMue,QAAQhY,KAAK,aACrB,IAAE,OACK,SAAA0Y,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,CAI0BoR,CAAgBhvB,EAAG,EACzCiF,OAAQlF,IAAAA,EAAO,8CACf8d,OAAQ,SACRC,UAAU,GAEd,EAEM0yD,EAAyB,SAACC,GAC9BzyE,EAAMwxB,eAAe8gD,EAAY,CAAElzD,SAAUqzD,IAC1C7zD,MAAK,WACJ5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,6CACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMqxB,cAAcihD,EACtB,IAAE,OACK,SAAArzD,GACL,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAyuB,GAAA,IAAAC,EAAArxB,EAAAoxB,EAAA,GAAEtsB,EAACusB,EAAA,GAAE5sB,EAAC4sB,EAAA,YAAArvB,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACJ,EAEM64B,EAAa,SAACi6B,GAClBF,EAAuB,CAAEtxD,QAASwxD,GACpC,EAEMx7C,EAAkB,SAACy7C,GACvBH,EAAuB,CAAEpmD,cAAeumD,GAC1C,EAEMC,EAAiB,WACrB,MAAM,GAAN1wE,OAAUkd,EAASpd,GACrB,EAEA,OACEH,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,kBAAmBke,KAAM,cAAgB,CAAE3c,KAAMsvE,QAElI/wE,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,wCAAyC,CAAEuB,KAAMsvE,SAGjE/wE,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,YACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOm3C,IAETv3C,EAAAA,cAAA,SAAO6rB,QAAQ,aAAa3rB,IAAAA,EAAO,oCAErCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,eACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOo3C,IAETx3C,EAAAA,cAAA,SAAO6rB,QAAQ,gBAAgB3rB,IAAAA,EAAO,wCAG1CF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAU,UAAUC,IAAAA,EAAO,iCAClCF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,mBACHC,MAAOmd,EAASgU,SAASlS,QACzB/e,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,mBAAoBo2B,EAAW,GAE7D+d,EAAAA,SAAS3zD,KAAI,SAAA63C,GACZ,OACE74C,EAAAA,cAAA,UAAQ0B,IAAKm3C,EAAUz4C,MAAOy4C,IAAWn2B,EAAAA,EAAAA,kBAAiBm2B,GAE9D,MAGJ74C,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAU,UAAUC,IAAAA,EAAO,uCAClCF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,yBACHC,MAAOmd,EAASgU,SAAStP,aACzB3hB,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,yBAA0B6U,EAAgB,IAExEpU,EAAAA,EAAAA,eAAc9iB,EAAMsB,OAAOuB,KAAI,SAAA0tB,GAA0C,IAADC,EAAAtwB,EAAAqwB,EAAA,GAAvC3M,EAAa4M,EAAA,GAAE2G,EAAkB3G,EAAA,GACjE,OACE3uB,EAAAA,cAAA,UAAQ0B,IAAKqgB,EAAe3hB,MAAO2hB,GAAgBuT,EAEvD,OAINt1B,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,kBACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOggB,IAETpgB,EAAAA,cAAA,SAAO6rB,QAAQ,mBAAmB3rB,IAAAA,EAAO,0CAE3CF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACE+T,KAAK,WACL+X,QAAShB,EACTc,UAAQ,IAEV5rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,iDAKtBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,cACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOkrB,IAETtrB,EAAAA,cAAA,SAAO6rB,QAAQ,eAAe3rB,IAAAA,EAAO,sCAEvCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,uBACH4T,KAAK,OACL9T,UAAU,WACV2rB,UAAQ,EACRxrB,MAAOswE,IAET1wE,EAAAA,cAAA,SAAO6rB,QAAQ,wBAAwB3rB,IAAAA,EAAO,gDAGlDF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,aAAQE,IAAAA,EAAO,kCACfF,EAAAA,cAACgxE,EAAAA,QAAe,CAACnyE,KAAM0e,EAASgU,aAGpCvxB,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UACEC,UAAU,0DACVoe,QAAS,WAAF,OAAQ4S,EAA0B1T,EAASpd,GAAG,GAErDH,EAAAA,cAAA,KAAGC,UAAU,kBAAiB,UAC7BC,IAAAA,EAAO,2CAQxB,84CCnPiC,IAEZu6C,EAAM,SAAAruB,GAAA,SAAAquB,IAAA,mGAAAv0B,CAAA,KAAAu0B,GAAAt0B,EAAA,KAAAs0B,EAAAr0B,UAAA,6RAAAC,CAAAo0B,EAAAruB,KAAAquB,IAAA,EAAA/4C,IAAA,UAAAtB,MACzB,WACE,OAAOb,SAASK,eAAe,YAAYQ,KAC7C,GAAC,CAAAsB,IAAA,SAAAtB,MAED,WAAW,IAADisB,EAAA,KACR,OACErsB,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,OAAKC,UAAU,cACfD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,gCACXF,EAAAA,cAAA,SACG8E,KAAK3G,MAAMs9C,kBAAqBz7C,EAAAA,cAACixE,EAAAA,GAAM,CAAC7wE,MAAO0E,KAAK3G,MAAMs9C,iBAAkBxN,KAAM,OAEpFnpC,KAAK3G,MAAMsvB,OAAUztB,EAAAA,cAAA,SAAI8E,KAAK3G,MAAMsvB,OACrCztB,EAAAA,cAAA,OAAKC,UAAU,eACbD,EAAAA,cAAA,SAAO6rB,QAAQ,YACb7rB,EAAAA,cAAA,YAAOE,IAAAA,EAAO,iCAEhBF,EAAAA,cAAA,SACE+T,KAAK,OACL5T,GAAG,WACHutB,WAAS,EACTC,WAAY,SAAC3qB,GAAC,MAAe,UAAVA,EAAEtB,KAAmB2qB,EAAKluB,MAAMyvB,WAAW,CAAEC,gBAAiBxB,EAAKyB,WAAY,KAGtG9tB,EAAAA,cAAA,WACEA,EAAAA,cAAA,UACEG,GAAG,gBACHke,QAAS,WAAF,OAAQgO,EAAKluB,MAAMyvB,WAAW,CAAEC,gBAAiBxB,EAAKyB,WAAY,EACzE7tB,UAAU,sDAETC,IAAAA,EAAO,mCAMpB,gGAAC,CAtCwB,CAASF,EAAAA,ylCC6EpC,UAzEuD,SAAC7B,GACtD,IAA2EC,EAAAC,GAAnBC,EAAAA,EAAAA,UAAiB,GAAE,GAApE4yE,EAAoB9yE,EAAA,GAAE+yE,EAAuB/yE,EAAA,GAC9CgzE,EAA0BF,GAAwB/yE,EAAMW,SAASiD,OAAS5D,EAAMW,SAASoyE,GAAwB,KAMvH,OACElxE,EAAAA,cAAA,WACG7B,EAAMW,SAASiD,OAAS,GACvB/B,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,SAAIE,IAAAA,EAAO,6DACXF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,cACbD,EAAAA,cAAA,SACE+T,KAAK,QACL1M,IAAI,IACJD,IAAKjJ,EAAMW,SAASiD,OAAS,EAC7BmJ,KAAK,IACL9K,MAAO8wE,EACP5wE,SAjBa,SAACuX,GAC1Bs5D,EAAwBjwE,SAAS2W,EAAMzS,OAAOhF,MAAO,IACvD,MAmBQJ,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,UACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,4CAA4C,KAAGgxE,IAE5DlxE,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,yCAAyC,KAAG/B,EAAMW,SAASiD,WAKjE,MAAXqvE,GACApxE,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,8CAGhBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,UACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,sCAAsC,KAAGkxE,EAAQzW,aAE9D36D,EAAAA,cAAA,OAAKC,UAAU,UACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,oCAAoC,KAAGkxE,EAAQxW,YAGzC,OAApBwW,EAAQA,SACPpxE,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,OACEwhC,IAAK4vC,EAAQA,QACbj8D,IAAG,GAAA9U,OAAKH,IAAAA,EAAO,4CAA2C,KAAAG,OAAc6wE,OAKrD,OAA1BE,EAAQC,eACPrxE,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,SAAIE,IAAAA,EAAO,iCAAiC,KAAGkxE,EAAQC,kBAQvE,qqCCiEA,WAAeh1D,EAAAA,EAAAA,oBAtIG,SAACle,GACjB,IAAoCC,EAAAC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA7BmD,EAAIrD,EAAA,GAAEupE,EAAOvpE,EAAA,GACgC6vB,EAAA5vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA7C2xB,EAAYhC,EAAA,GAAE25C,EAAe35C,EAAA,GACAG,EAAA/vB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA7BogB,EAAI0P,EAAA,GAAEy5C,EAAOz5C,EAAA,GACoBE,EAAAjwB,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAjC44C,EAAM5oB,EAAA,GAAEgf,EAAShf,EAAA,GAC0BuE,EAAAx0B,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA3CypE,EAAWl1C,EAAA,GAAEm1C,EAAcn1C,EAAA,GACPvQ,EAAenkB,EAAlCgG,MAASgmB,OAAU7H,OACrBnhB,EAAOhD,EAAMsB,MAAMoB,QAAO,SAAAM,GAAI,MAAI,GAAAd,OAAGc,EAAKhB,MAASmiB,CAAM,IAAE,IAEjEpjB,EAAAA,EAAAA,YAAU,WACRf,EAAMme,YACR,GAAG,KAEHpd,EAAAA,EAAAA,YAAU,WACRC,OAAOC,EAAEirB,kBACX,GAAG,KAEHnrB,EAAAA,EAAAA,YAAU,WACR,IAAMS,EAAOJ,SAASK,eAAe,QACjCD,GAAMA,EAAK2sC,OACjB,GAAG,CAACnuC,EAAMsB,QAkBV,YAAalB,IAAT4C,EAA2BnB,EAAAA,cAAAA,EAAAA,SAAA,MAG7BA,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACke,EAAAA,QAAW,CACVC,OAAQ,CAAC,CAAE1c,KAAMvB,IAAAA,EAAO,0BAA2Bke,KAAM,KAAO,CAAE3c,KAAMvB,IAAAA,EAAO,cAAeke,KAAM,UAClG,CAAE3c,KAAMN,EAAKM,KAAM2c,KAAK,UAAD/d,OAAYiiB,EAAM,UAAW,CAAE7gB,KAAMvB,IAAAA,EAAO,uBAEvEF,EAAAA,cAACse,EAAAA,QAAO,KACNte,EAAAA,cAAA,OAAKC,UAAU,aACbD,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,WACbD,EAAAA,cAAA,UAAKE,IAAAA,EAAO,kCAGhBF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,OACH4T,KAAK,OACL9T,UAAU,WACVG,MAAOqB,EACPnB,SAAU,SAAA0C,GAAC,OAAI2kE,EAAQ3kE,EAAEoC,OAAOhF,MAAM,IAExCJ,EAAAA,cAAA,SAAO6rB,QAAQ,QAAQ3rB,IAAAA,EAAO,2BAEhCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,gBACH4T,KAAK,OACL9T,UAAU,WACVG,MAAO6vB,EACP3vB,SAAU,SAAA0C,GAAC,OAAI4kE,EAAgB5kE,EAAEoC,OAAOhF,MAAM,IAEhDJ,EAAAA,cAAA,SAAO6rB,QAAQ,iBAAiB3rB,IAAAA,EAAO,qCAG3CF,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAW8oB,IAAWrK,GAAQ,WAAYxe,IAAAA,EAAO,0BACxDF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,gBACHC,MAAOse,EACPpe,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,gBAAiBqnD,EAAQ,GAExD7nE,EAAAA,cAAA,UAAQ4rB,UAAQ,EAACxrB,MAAM,KACtB00D,EAAAA,MAAM9zD,KAAI,SAAA0d,GACT,OACE1e,EAAAA,cAAA,UAAQ0B,IAAKgd,EAAMte,MAAOse,GAAOxe,IAAAA,EAAO,0BAADG,OAA2Bqe,IAEtE,OAIN1e,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SACEG,GAAG,eACH4T,KAAK,OACL9T,UAAU,WACVG,MAAO2nE,EACPznE,SAAU,SAAA0C,GAAC,OAAIglE,EAAehlE,EAAEoC,OAAOhF,MAAM,IAE/CJ,EAAAA,cAAA,SAAO6rB,QAAQ,gBAAgB3rB,IAAAA,EAAO,mCAExCF,EAAAA,cAAA,OAAKC,UAAU,0BACbD,EAAAA,cAAA,SAAOC,UAAW8oB,IAAWmuB,GAAU,WAAYh3C,IAAAA,EAAO,4BAC1DF,EAAAA,cAAA,UACEC,UAAU,kBACVE,GAAG,kBACHC,MAAO82C,EACP52C,SAAU,WAAF,OAAQkgB,EAAAA,EAAAA,gBAAe,kBAAmB8sB,EAAU,GAE5DttC,EAAAA,cAAA,UAAQ4rB,UAAQ,EAACxrB,MAAM,KACtB60D,EAAAA,QAAQj0D,KAAI,SAAAk2C,GACX,OACEl3C,EAAAA,cAAA,UAAQ0B,IAAKw1C,EAAQ92C,MAAO82C,GAASh3C,IAAAA,EAAO,4BAADG,OAA6B62C,IAE5E,OAINl3C,EAAAA,cAAA,OAAKC,UAAU,OACbD,EAAAA,cAAA,OAAKC,UAAU,uBACbD,EAAAA,cAAA,UAAQ+T,KAAK,SAAS9T,UAAU,+BAA+Boe,QArGtD,WACnBlgB,EAAMy/C,aAAa,CAAEt8C,OAAQ,CAAE4uB,cAAeD,EAAcxuB,KAAAA,EAAMid,KAAAA,EAAMw4B,OAAAA,EAAQ+wB,aAAcF,EAAa/uB,QAAS12B,KAAYvF,MAAK,WACnI5e,EAAM6e,cAActY,KAClBxE,IAAAA,EAAO,uCACP/B,EAAM6e,cAAchW,SAASiW,MAC7B9e,EAAM6e,cAAcE,OAAOC,MAC7Bhf,EAAMue,QAAQhY,KAAK,UAADrE,OAAWiiB,EAAM,SACrC,IAAE,OAAO,SAAAlF,GACP,IAAMC,EAAc7S,OAAO8S,QAAQF,EAAIG,SAAS1e,KAAK2e,OAAO,GAAGC,QAAQzc,KAAI,SAAAiB,GAAA,IAAAyb,EAAArf,EAAA4D,EAAA,GAAEkB,EAACua,EAAA,GAAE5a,EAAC4a,EAAA,YAAArd,QAASsd,EAAAA,EAAAA,uBAAsBxa,GAAE,MAAA9C,OAAKyC,EAAE9B,KAAI,SAAA4c,GAAE,OAAIC,EAAAA,EAAAA,gBAAeD,EAAG,IAAEnb,KAAK,MAAK,IAAIA,KAAK,MAC1KtE,EAAM6e,cAActY,KAClB2Y,EACAlf,EAAM6e,cAAchW,SAAS8W,KAC7B3f,EAAM6e,cAAcE,OAAOa,MAC/B,GACF,GAwFe7d,IAAAA,EAAO,uCAQxB","sources":["webpack://project-ris/./app/javascript/components/visualizations/layout/NetworksDashboard.tsx","webpack://project-ris/./app/javascript/components/common/SpinnerWrapper.tsx","webpack://project-ris/./app/javascript/noUiSlider/nouislider.js","webpack://project-ris/./app/javascript/components/teams/layout/TeamsOverview.jsx","webpack://project-ris/./app/javascript/components/teampro/Utils.jsx","webpack://project-ris/./app/javascript/components/teams/layout/PolarPlayerSelect.tsx","webpack://project-ris/./app/javascript/components/account/Account.jsx","webpack://project-ris/./app/javascript/components/training_sessions/layout/TrainingSessionResultsTable.tsx","webpack://project-ris/./app/javascript/components/training_sessions/layout/EditTrainingSession.jsx","webpack://project-ris/./app/javascript/components/App.jsx","webpack://project-ris/./app/javascript/components/flashmessages/FlashMessages.jsx","webpack://project-ris/./app/javascript/components/2fa/layout/disable/Disable.jsx","webpack://project-ris/./app/javascript/components/responses/ResponsesController.jsx","webpack://project-ris/./app/javascript/components/exports/layout/ExportData.jsx","webpack://project-ris/./app/javascript/components/common/Breadcrumbs.jsx","webpack://project-ris/./app/javascript/components/responses/layout/ResponsesOverview.jsx","webpack://project-ris/./app/javascript/components/sub_account/SubAccountRoutes.jsx","webpack://project-ris/./app/javascript/components/training_sessions/TrainingSessionsController.jsx","webpack://project-ris/./app/javascript/components/common/Pagination.jsx","webpack://project-ris/./app/javascript/components/teampro/layout/PlayerName.jsx","webpack://project-ris/./app/javascript/components/helpers/ApiConnector.jsx","webpack://project-ris/./app/javascript/components/password/layout/UpdatePassword.jsx","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Checkbox.jsx","webpack://project-ris/./app/javascript/components/teampro/layout/DownloadCSV.jsx","webpack://project-ris/./app/javascript/components/account/layout/Login.jsx","webpack://project-ris/./app/javascript/components/router/LoggedInRouter.jsx","webpack://project-ris/./app/javascript/components/common/Constants.jsx","webpack://project-ris/./app/javascript/components/modal/ModalProvider.jsx","webpack://project-ris/./app/javascript/components/teampro/layout/Locale.jsx","webpack://project-ris/./app/javascript/components/Router.jsx","webpack://project-ris/./app/javascript/components/common/form/SelectMultiple.jsx","webpack://project-ris/./app/javascript/components/callback/CallbackRoutes.jsx","webpack://project-ris/./app/javascript/components/exports/ExportsRoutes.jsx","webpack://project-ris/./app/javascript/components/account/layout/Confirmation.jsx","webpack://project-ris/./app/javascript/components/session/Session.jsx","webpack://project-ris/./app/javascript/components/common/Math.jsx","webpack://project-ris/./app/javascript/components/sub_account/SubAccount.jsx","webpack://project-ris/./app/javascript/components/FallbackComponent.jsx","webpack://project-ris/./app/javascript/components/teampro/layout/Header.jsx","webpack://project-ris/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Question.jsx","webpack://project-ris/./app/javascript/components/teampro/TeamProDashboard.jsx","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Radio.jsx","webpack://project-ris/./app/javascript/components/login_wrapper/LoggedInRedirector.jsx","webpack://project-ris/./app/javascript/components/common/History.jsx","webpack://project-ris/./app/javascript/components/common/form/Field.jsx","webpack://project-ris/./app/javascript/components/2fa/TwoFactor.jsx","webpack://project-ris/./app/javascript/components/common/Info.tsx","webpack://project-ris/./app/javascript/components/flashmessages/Message.jsx","webpack://project-ris/./app/javascript/components/account/layout/ResetPassword.jsx","webpack://project-ris/./app/javascript/components/common/TabPanel/TabHeader.jsx","webpack://project-ris/./app/javascript/components/teams/TeamsController.jsx","webpack://project-ris/./app/javascript/components/common/SyntaxHighlight.jsx","webpack://project-ris/./app/javascript/components/common/types/PolarVariable.ts","webpack://project-ris/./app/javascript/components/teams/layout/NewTeam.jsx","webpack://project-ris/./app/javascript/components/visualizations/layout/SmallGraph.tsx","webpack://project-ris/./app/javascript/components/visualizations/VisualizationsRoutes.jsx","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Textfield.jsx","webpack://project-ris/./app/javascript/components/MyAxios.jsx","webpack://project-ris/./app/javascript/components/errorboundary/ErrorBoundaryProvider.jsx","webpack://project-ris/./app/javascript/components/common/form/Radio.jsx","webpack://project-ris/./public/javascripts/translations.js","webpack://project-ris/./app/javascript/components/flashmessages/FlashMessageProvider.jsx","webpack://project-ris/./app/javascript/components/pin_code/PinCode.jsx","webpack://project-ris/./app/javascript/components/sub_account/SubAccountController.jsx","webpack://project-ris/./app/javascript/components/helpers/FormFactory.jsx","webpack://project-ris/./app/javascript/components/training_sessions/layout/TrainingSessionsUpcoming.jsx","webpack://project-ris/./app/javascript/components/account/AccountRoutes.jsx","webpack://project-ris/./app/javascript/components/teampro/layout/PlayerInterface.jsx","webpack://project-ris/./app/javascript/components/common/Utils.jsx","webpack://project-ris/./app/javascript/components/visualizations/layout/ResilienceMonitoringDashboard.tsx","webpack://project-ris/./app/javascript/components/callback/CallbackController.jsx","webpack://project-ris/./app/javascript/components/common/form/CheckBox.jsx","webpack://project-ris/./app/javascript/components/account/layout/SignUp.jsx","webpack://project-ris/./app/javascript/components/backend/BackendProvider.jsx","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Questionnaire.jsx","webpack://project-ris/./app/javascript/components/visualizations/VisualizationsController.jsx","webpack://project-ris/./app/javascript/components/account/layout/LoginContainer.jsx","webpack://project-ris/./app/javascript/components/visualizations/layout/VisualizationsOverview.jsx","webpack://project-ris/./app/javascript/components/teams/TeamsRoutes.jsx","webpack://project-ris/./app/javascript/components/common/form/Chips.jsx","webpack://project-ris/./app/javascript/components/router/NotFoundWrapper.jsx","webpack://project-ris/./app/javascript/components/account/layout/ResetPasswordEdit.jsx","webpack://project-ris/./app/javascript/components/responses/ResponsesRoutes.jsx","webpack://project-ris/./app/javascript/components/visualizations/layout/OverviewDashboard.tsx","webpack://project-ris/./app/javascript/components/teampro/Constants.jsx","webpack://project-ris/./app/javascript/components/modal/Modal.jsx","webpack://project-ris/./app/javascript/components/common/form/Picture.jsx","webpack://project-ris/./app/javascript/components/password/layout/AddToken.jsx","webpack://project-ris/./app/javascript/components/2fa/layout/enable/EnableConfirm.jsx","webpack://project-ris/./app/javascript/components/fillout_session/FillOutSessionRoutes.jsx","webpack://project-ris/./app/javascript/components/exports/ExportsController.jsx","webpack://project-ris/./app/javascript/components/common/form/SelectMultipleIcon.jsx","webpack://project-ris/./app/javascript/components/router/LoggedOutRouter.jsx","webpack://project-ris/./app/javascript/components/teams/layout/QuestionnaireQuestions.jsx","webpack://project-ris/./app/javascript/components/common/Spinner.jsx","webpack://project-ris/./app/javascript/components/I18nLoader.jsx","webpack://project-ris/./app/javascript/components/backend/Queries.tsx","webpack://project-ris/./app/javascript/components/common/TabPanel/index.js","webpack://project-ris/./app/javascript/components/teams/layout/EditTeam.jsx","webpack://project-ris/./app/javascript/components/common/TabPanel/TabPanel.jsx","webpack://project-ris/./app/javascript/packs/application.js","webpack://project-ris/./app/javascript/components/exports/layout/ExportCombined.jsx","webpack://project-ris/./app/javascript/components/common/form/Select.jsx","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Raw.jsx","webpack://project-ris/./app/javascript/components/fillout_session/FillOutSession.jsx","webpack://project-ris/./app/javascript/components/common/TabPanel/Tab.jsx","webpack://project-ris/./app/javascript/components/exports/layout/ExportRestructured.jsx","webpack://project-ris/./app/javascript/components/common/form/Toggle.jsx","webpack://project-ris/./app/javascript/components/exports/layout/ExportPolarData.jsx","webpack://project-ris/./app/javascript/components/password/PasswordRoutes.jsx","webpack://project-ris/./app/javascript/components/session/SessionProvider.jsx","webpack://project-ris/./app/javascript/components/visualizations/layout/PolarDashboard.tsx","webpack://project-ris/./app/javascript/components/login_wrapper/LoginWrapper.jsx","webpack://project-ris/./app/javascript/components/fillout_session/FillOutSessionController.jsx","webpack://project-ris/./app/javascript/components/modal/ConfirmationDialog.jsx","webpack://project-ris/./app/javascript/components/pin_code/EnterPinCode.jsx","webpack://project-ris/./app/javascript/components/training_sessions/layout/TrainingSessionsPast.jsx","webpack://project-ris/./app/javascript/components/router/NotFoundProvider.jsx","webpack://project-ris/./app/javascript/components/password/PasswordController.jsx","webpack://project-ris/./app/javascript/components/2fa/layout/disable/DisableConfirm.jsx","webpack://project-ris/./app/javascript/components/training_sessions/TrainingSessionsRoutes.jsx","webpack://project-ris/./public/javascripts/i18n.js","webpack://project-ris/./app/javascript/components/teams/layout/EditPlayer.jsx","webpack://project-ris/./app/javascript/components/ sync ^\\.\\/.*$","webpack://project-ris/./app/javascript/components/MyReactTooltip.jsx","webpack://project-ris/./app/javascript/components/teampro/TeamProRoutes.jsx","webpack://project-ris/./app/javascript/components/modal/MyModal.jsx","webpack://project-ris/./app/javascript/components/callback/Callback.jsx","webpack://project-ris/./app/javascript/components/teampro/layout/ManagerInterface.jsx","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Battery.tsx","webpack://project-ris/./app/javascript/components/router/NotFoundMessage.jsx","webpack://project-ris/./app/javascript/components/exports/layout/ExportQuestionnaires.jsx","webpack://project-ris/./app/javascript/components/IconLibrary.jsx","webpack://project-ris/./app/javascript/components/visualizations/layout/Utils.tsx","webpack://project-ris/./app/javascript/components/training_sessions/layout/TrainingSessionsOverview.jsx","webpack://project-ris/./app/javascript/components/teampro/questionnaires/Slider.jsx","webpack://project-ris/./app/javascript/components/responses/layout/EditResponse.jsx","webpack://project-ris/./app/javascript/components/2fa/layout/enable/Enable.jsx","webpack://project-ris/./app/javascript/components/visualizations/layout/NetworksSlider.tsx","webpack://project-ris/./app/javascript/components/teams/layout/NewPlayer.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport I18n from 'i18n'\nimport Teams, { Team } from '../../common/types/Teams'\nimport { useNetworksPlayerNetworksQuery } from '../../backend/Queries'\nimport SpinnerWrapper from '../../common/SpinnerWrapper'\nimport NetworksSlider from './NetworksSlider'\n\ninterface Props {\n teams: Teams\n}\n\nconst noPlayersWithNetworks = (players: Team['players']): boolean => {\n return players.every(player => player.network_count === 0)\n}\n\nconst NetworksDashboard: React.FunctionComponent = (props: Props) => {\n const [selectedPlayerId, setSelectedPlayerId] = useState(undefined)\n const limit = 90\n\n const { data: networks = [], refetch, isSuccess, isError } = useNetworksPlayerNetworksQuery(selectedPlayerId, limit)\n\n useEffect(() => {\n // TODO: don't ignore errors for refetch\n void refetch()\n }, [selectedPlayerId])\n\n useEffect(() => {\n (window as any).M.FormSelect.init(document.querySelectorAll('#player-selector'))\n }, [props.teams])\n\n useEffect(() => {\n const elem = (document.getElementById('player-selector') as any)?.M_FormSelect\n if (elem !== undefined && elem !== null) {\n elem._setValueToInput()\n elem._setSelectedStates()\n }\n }, [selectedPlayerId])\n\n const renderPlayerOptions = (): React.ReactElement => {\n return (\n <>\n {props.teams.map((team: Team) => {\n if (noPlayersWithNetworks(team.players)) {\n return null\n }\n return (\n \n {team.players.filter(player => player.network_count !== 0).map(player => (\n \n ))}\n \n )\n })}\n \n )\n }\n\n return (\n <>\n
\n
\n
{I18n.t('visualizations.tabs.networks.title')}
\n
\n
\n {\n const selectedValue = [...Array.from((document.getElementById('player-selector') as HTMLSelectElement).options)]\n .filter((x) => x.selected)\n .map((x) => x.value)[0]\n setSelectedPlayerId(!isNaN(parseInt(selectedValue)) ? parseInt(selectedValue) : undefined)\n }}\n >\n
\n
\n \n {networks.length === 0 && selectedPlayerId !== undefined && (\n

{I18n.t('visualizations.networks.there_are_no_networks')}

\n )}\n {networks.length > 0 && (\n <>\n \n \n )}\n
\n \n )\n}\n\nexport default NetworksDashboard\n","import React from 'react'\nimport Spinner from './Spinner'\n\ninterface Props {\n ready: boolean\n children?: React.ReactNode\n failed?: boolean\n transparent: boolean\n}\n\nconst SpinnerWrapper: React.FunctionComponent = ({ ready, children, transparent, failed = false }) => {\n return (\n <>\n {!failed &&\n <>\n \n {ready && children}\n }\n \n )\n}\n\nexport default SpinnerWrapper\n","/*!\n * Materialize 1.0.0 (https://materializecss.github.io/materialize)\n * Copyright 2014-2015 Materialize\n * MIT License (https://raw.githubusercontent.com/materializecss/materialize/master/LICENSE)\n */\n\n// wNumb\n(function(){function r(b){return b.split(\"\").reverse().join(\"\")}function s(b,f,c){if((b[f]||b[c])&&b[f]===b[c])throw Error(f);}function v(b,f,c,d,e,p,q,k,l,h,n,a){q=a;var m,g=n=\"\";p&&(a=p(a));if(\"number\"!==typeof a||!isFinite(a))return!1;b&&0===parseFloat(a.toFixed(b))&&(a=0);0>a&&(m=!0,a=Math.abs(a));b&&(p=Math.pow(10,b),a=(Math.round(a*p)/p).toFixed(b));a=a.toString();-1!==a.indexOf(\".\")&&(b=a.split(\".\"),a=b[0],c&&(n=c+b[1]));f&&(a=r(a).match(/.{1,3}/g),a=r(a.join(r(f))));m&&k&&(g+=k);d&&(g+=d);\n m&&l&&(g+=l);g=g+a+n;e&&(g+=e);h&&(g=h(g,q));return g}function w(b,f,c,d,e,h,q,k,l,r,n,a){var m;b=\"\";n&&(a=n(a));if(!a||\"string\"!==typeof a)return!1;k&&a.substring(0,k.length)===k&&(a=a.replace(k,\"\"),m=!0);d&&a.substring(0,d.length)===d&&(a=a.replace(d,\"\"));l&&a.substring(0,l.length)===l&&(a=a.replace(l,\"\"),m=!0);e&&a.slice(-1*e.length)===e&&(a=a.slice(0,-1*e.length));f&&(a=a.split(f).join(\"\"));c&&(a=a.replace(c,\".\"));m&&(b+=\"-\");b=Number((b+a).replace(/[^0-9\\.\\-.]/g,\"\"));q&&(b=q(b));return\"number\"===\ntypeof b&&isFinite(b)?b:!1}function x(b){var f,c,d,e={};for(f=0;fd&&(e[c]=d):\"encoder\"===c||\"decoder\"===c||\"edit\"===c||\"undo\"===c?\"function\"===typeof d&&(e[c]=d):\"string\"===typeof d&&(e[c]=d);s(e,\"mark\",\"thousand\");s(e,\"prefix\",\"negative\");s(e,\"prefix\",\"negativeBefore\");return e}function u(b,f,c){var d,e=[];for(d=0;d 0) {\n addClass(element, className);\n setTimeout(function(){\n removeClass(element, className);\n }, duration);\n }\n }\n\n // Limits a value to 0 - 100\n function limit ( a ) {\n return Math.max(Math.min(a, 100), 0);\n }\n\n // Wraps a variable as an array, if it isn't one yet.\n // Note that an input array is returned by reference!\n function asArray ( a ) {\n return Array.isArray(a) ? a : [a];\n }\n\n // Counts decimals\n function countDecimals ( numStr ) {\n numStr = String(numStr);\n var pieces = numStr.split(\".\");\n return pieces.length > 1 ? pieces[1].length : 0;\n }\n\n // http://youmightnotneedjquery.com/#add_class\n function addClass ( el, className ) {\n if ( el.classList ) {\n el.classList.add(className);\n } else {\n el.className += ' ' + className;\n }\n }\n\n // http://youmightnotneedjquery.com/#remove_class\n function removeClass ( el, className ) {\n if ( el.classList ) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n\n // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/\n function hasClass ( el, className ) {\n return el.classList ? el.classList.contains(className) : new RegExp('\\\\b' + className + '\\\\b').test(el.className);\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes\n function getPageOffset ( ) {\n\n var supportPageOffset = window.pageXOffset !== undefined,\n isCSS1Compat = ((document.compatMode || \"\") === \"CSS1Compat\"),\n x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft,\n y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n\n return {\n x: x,\n y: y\n };\n }\n\n // we provide a function to compute constants instead\n // of accessing window.* as soon as the module needs it\n // so that we do not compute anything if not needed\n function getActions ( ) {\n\n // Determine the events to bind. IE11 implements pointerEvents without\n // a prefix, which breaks compatibility with the IE10 implementation.\n return window.navigator.pointerEnabled ? {\n start: 'pointerdown',\n move: 'pointermove',\n end: 'pointerup'\n } : window.navigator.msPointerEnabled ? {\n start: 'MSPointerDown',\n move: 'MSPointerMove',\n end: 'MSPointerUp'\n } : {\n start: 'mousedown touchstart',\n move: 'mousemove touchmove',\n end: 'mouseup touchend'\n };\n }\n\n\n// Value calculation\n\n // Determine the size of a sub-range in relation to a full range.\n function subRangeRatio ( pa, pb ) {\n return (100 / (pb - pa));\n }\n\n // (percentage) How many percent is this value of this range?\n function fromPercentage ( range, value ) {\n return (value * 100) / ( range[1] - range[0] );\n }\n\n // (percentage) Where is this value on this range?\n function toPercentage ( range, value ) {\n return fromPercentage( range, range[0] < 0 ?\n value + Math.abs(range[0]) :\n value - range[0] );\n }\n\n // (value) How much is this percentage on this range?\n function isPercentage ( range, value ) {\n return ((value * ( range[1] - range[0] )) / 100) + range[0];\n }\n\n\n// Range conversion\n\n function getJ ( value, arr ) {\n\n var j = 1;\n\n while ( value >= arr[j] ){\n j += 1;\n }\n\n return j;\n }\n\n // (percentage) Input a value, find where, on a scale of 0-100, it applies.\n function toStepping ( xVal, xPct, value ) {\n\n if ( value >= xVal.slice(-1)[0] ){\n return 100;\n }\n\n var j = getJ( value, xVal ), va, vb, pa, pb;\n\n va = xVal[j-1];\n vb = xVal[j];\n pa = xPct[j-1];\n pb = xPct[j];\n\n return pa + (toPercentage([va, vb], value) / subRangeRatio (pa, pb));\n }\n\n // (value) Input a percentage, find where it is on the specified range.\n function fromStepping ( xVal, xPct, value ) {\n\n // There is no range group that fits 100\n if ( value >= 100 ){\n return xVal.slice(-1)[0];\n }\n\n var j = getJ( value, xPct ), va, vb, pa, pb;\n\n va = xVal[j-1];\n vb = xVal[j];\n pa = xPct[j-1];\n pb = xPct[j];\n\n return isPercentage([va, vb], (value - pa) * subRangeRatio (pa, pb));\n }\n\n // (percentage) Get the step that applies at a certain value.\n function getStep ( xPct, xSteps, snap, value ) {\n\n if ( value === 100 ) {\n return value;\n }\n\n var j = getJ( value, xPct ), a, b;\n\n // If 'snap' is set, steps are used as fixed points on the slider.\n if ( snap ) {\n\n a = xPct[j-1];\n b = xPct[j];\n\n // Find the closest position, a or b.\n if ((value - a) > ((b-a)/2)){\n return b;\n }\n\n return a;\n }\n\n if ( !xSteps[j-1] ){\n return value;\n }\n\n return xPct[j-1] + closest(\n value - xPct[j-1],\n xSteps[j-1]\n );\n }\n\n\n// Entry parsing\n\n function handleEntryPoint ( index, value, that ) {\n\n var percentage;\n\n // Wrap numerical input in an array.\n if ( typeof value === \"number\" ) {\n value = [value];\n }\n\n // Reject any invalid input, by testing whether value is an array.\n if ( Object.prototype.toString.call( value ) !== '[object Array]' ){\n throw new Error(\"noUiSlider: 'range' contains invalid value.\");\n }\n\n // Covert min/max syntax to 0 and 100.\n if ( index === 'min' ) {\n percentage = 0;\n } else if ( index === 'max' ) {\n percentage = 100;\n } else {\n percentage = parseFloat( index );\n }\n\n // Check for correct input.\n if ( !isNumeric( percentage ) || !isNumeric( value[0] ) ) {\n throw new Error(\"noUiSlider: 'range' value isn't numeric.\");\n }\n\n // Store values.\n that.xPct.push( percentage );\n that.xVal.push( value[0] );\n\n // NaN will evaluate to false too, but to keep\n // logging clear, set step explicitly. Make sure\n // not to override the 'step' setting with false.\n if ( !percentage ) {\n if ( !isNaN( value[1] ) ) {\n that.xSteps[0] = value[1];\n }\n } else {\n that.xSteps.push( isNaN(value[1]) ? false : value[1] );\n }\n\n that.xHighestCompleteStep.push(0);\n }\n\n function handleStepPoint ( i, n, that ) {\n\n // Ignore 'false' stepping.\n if ( !n ) {\n return true;\n }\n\n // Factor to range ratio\n that.xSteps[i] = fromPercentage([\n that.xVal[i]\n ,that.xVal[i+1]\n ], n) / subRangeRatio (\n that.xPct[i],\n that.xPct[i+1] );\n\n var totalSteps = (that.xVal[i+1] - that.xVal[i]) / that.xNumSteps[i];\n var highestStep = Math.ceil(Number(totalSteps.toFixed(3)) - 1);\n var step = that.xVal[i] + (that.xNumSteps[i] * highestStep);\n\n that.xHighestCompleteStep[i] = step;\n }\n\n\n// Interface\n\n // The interface to Spectrum handles all direction-based\n // conversions, so the above values are unaware.\n\n function Spectrum ( entry, snap, direction, singleStep ) {\n\n this.xPct = [];\n this.xVal = [];\n this.xSteps = [ singleStep || false ];\n this.xNumSteps = [ false ];\n this.xHighestCompleteStep = [];\n\n this.snap = snap;\n this.direction = direction;\n\n var index, ordered = [ /* [0, 'min'], [1, '50%'], [2, 'max'] */ ];\n\n // Map the object keys to an array.\n for ( index in entry ) {\n if ( entry.hasOwnProperty(index) ) {\n ordered.push([entry[index], index]);\n }\n }\n\n // Sort all entries by value (numeric sort).\n if ( ordered.length && typeof ordered[0][0] === \"object\" ) {\n ordered.sort(function(a, b) { return a[0][0] - b[0][0]; });\n } else {\n ordered.sort(function(a, b) { return a[0] - b[0]; });\n }\n\n\n // Convert all entries to subranges.\n for ( index = 0; index < ordered.length; index++ ) {\n handleEntryPoint(ordered[index][1], ordered[index][0], this);\n }\n\n // Store the actual step values.\n // xSteps is sorted in the same order as xPct and xVal.\n this.xNumSteps = this.xSteps.slice(0);\n\n // Convert all numeric steps to the percentage of the subrange they represent.\n for ( index = 0; index < this.xNumSteps.length; index++ ) {\n handleStepPoint(index, this.xNumSteps[index], this);\n }\n }\n\n Spectrum.prototype.getMargin = function ( value ) {\n\n var step = this.xNumSteps[0];\n\n if ( step && ((value / step) % 1) !== 0 ) {\n throw new Error(\"noUiSlider: 'limit', 'margin' and 'padding' must be divisible by step.\");\n }\n\n return this.xPct.length === 2 ? fromPercentage(this.xVal, value) : false;\n };\n\n Spectrum.prototype.toStepping = function ( value ) {\n\n value = toStepping( this.xVal, this.xPct, value );\n\n return value;\n };\n\n Spectrum.prototype.fromStepping = function ( value ) {\n\n return fromStepping( this.xVal, this.xPct, value );\n };\n\n Spectrum.prototype.getStep = function ( value ) {\n\n value = getStep(this.xPct, this.xSteps, this.snap, value );\n\n return value;\n };\n\n Spectrum.prototype.getNearbySteps = function ( value ) {\n\n var j = getJ(value, this.xPct);\n\n return {\n stepBefore: { startValue: this.xVal[j-2], step: this.xNumSteps[j-2], highestStep: this.xHighestCompleteStep[j-2] },\n thisStep: { startValue: this.xVal[j-1], step: this.xNumSteps[j-1], highestStep: this.xHighestCompleteStep[j-1] },\n stepAfter: { startValue: this.xVal[j-0], step: this.xNumSteps[j-0], highestStep: this.xHighestCompleteStep[j-0] }\n };\n };\n\n Spectrum.prototype.countStepDecimals = function () {\n var stepDecimals = this.xNumSteps.map(countDecimals);\n return Math.max.apply(null, stepDecimals);\n };\n\n // Outside testing\n Spectrum.prototype.convert = function ( value ) {\n return this.getStep(this.toStepping(value));\n };\n\n\t/*\tEvery input option is tested and parsed. This'll prevent\n\t endless validation in internal methods. These tests are\n\t structured with an item for every option available. An\n\t option can be marked as required by setting the 'r' flag.\n\t The testing function is provided with three arguments:\n\t - The provided value for the option;\n\t - A reference to the options object;\n\t - The name for the option;\n\n\t The testing function returns false when an error is detected,\n\t or true when everything is OK. It can also modify the option\n\t object, to make sure all values can be correctly looped elsewhere. */\n\n var defaultFormatter = { 'to': function( value ){\n return value !== undefined && value.toFixed(2);\n }, 'from': Number };\n\n function testStep ( parsed, entry ) {\n\n if ( !isNumeric( entry ) ) {\n throw new Error(\"noUiSlider: 'step' is not numeric.\");\n }\n\n // The step option can still be used to set stepping\n // for linear sliders. Overwritten if set in 'range'.\n parsed.singleStep = entry;\n }\n\n function testRange ( parsed, entry ) {\n\n // Filter incorrect input.\n if ( typeof entry !== 'object' || Array.isArray(entry) ) {\n throw new Error(\"noUiSlider: 'range' is not an object.\");\n }\n\n // Catch missing start or end.\n if ( entry.min === undefined || entry.max === undefined ) {\n throw new Error(\"noUiSlider: Missing 'min' or 'max' in 'range'.\");\n }\n\n // Catch equal start or end.\n if ( entry.min === entry.max ) {\n throw new Error(\"noUiSlider: 'range' 'min' and 'max' cannot be equal.\");\n }\n\n parsed.spectrum = new Spectrum(entry, parsed.snap, parsed.dir, parsed.singleStep);\n }\n\n function testStart ( parsed, entry ) {\n\n entry = asArray(entry);\n\n // Validate input. Values aren't tested, as the public .val method\n // will always provide a valid location.\n if ( !Array.isArray( entry ) || !entry.length ) {\n throw new Error(\"noUiSlider: 'start' option is incorrect.\");\n }\n\n // Store the number of handles.\n parsed.handles = entry.length;\n\n // When the slider is initialized, the .val method will\n // be called with the start options.\n parsed.start = entry;\n }\n\n function testSnap ( parsed, entry ) {\n\n // Enforce 100% stepping within subranges.\n parsed.snap = entry;\n\n if ( typeof entry !== 'boolean' ){\n throw new Error(\"noUiSlider: 'snap' option must be a boolean.\");\n }\n }\n\n function testAnimate ( parsed, entry ) {\n\n // Enforce 100% stepping within subranges.\n parsed.animate = entry;\n\n if ( typeof entry !== 'boolean' ){\n throw new Error(\"noUiSlider: 'animate' option must be a boolean.\");\n }\n }\n\n function testAnimationDuration ( parsed, entry ) {\n\n parsed.animationDuration = entry;\n\n if ( typeof entry !== 'number' ){\n throw new Error(\"noUiSlider: 'animationDuration' option must be a number.\");\n }\n }\n\n function testConnect ( parsed, entry ) {\n\n var connect = [false];\n var i;\n\n // Map legacy options\n if ( entry === 'lower' ) {\n entry = [true, false];\n }\n\n else if ( entry === 'upper' ) {\n entry = [false, true];\n }\n\n // Handle boolean options\n if ( entry === true || entry === false ) {\n\n for ( i = 1; i < parsed.handles; i++ ) {\n connect.push(entry);\n }\n\n connect.push(false);\n }\n\n // Reject invalid input\n else if ( !Array.isArray( entry ) || !entry.length || entry.length !== parsed.handles + 1 ) {\n throw new Error(\"noUiSlider: 'connect' option doesn't match handle count.\");\n }\n\n else {\n connect = entry;\n }\n\n parsed.connect = connect;\n }\n\n function testOrientation ( parsed, entry ) {\n\n // Set orientation to an a numerical value for easy\n // array selection.\n switch ( entry ){\n case 'horizontal':\n parsed.ort = 0;\n break;\n case 'vertical':\n parsed.ort = 1;\n break;\n default:\n throw new Error(\"noUiSlider: 'orientation' option is invalid.\");\n }\n }\n\n function testMargin ( parsed, entry ) {\n\n if ( !isNumeric(entry) ){\n throw new Error(\"noUiSlider: 'margin' option must be numeric.\");\n }\n\n // Issue #582\n if ( entry === 0 ) {\n return;\n }\n\n parsed.margin = parsed.spectrum.getMargin(entry);\n\n if ( !parsed.margin ) {\n throw new Error(\"noUiSlider: 'margin' option is only supported on linear sliders.\");\n }\n }\n\n function testLimit ( parsed, entry ) {\n\n if ( !isNumeric(entry) ){\n throw new Error(\"noUiSlider: 'limit' option must be numeric.\");\n }\n\n parsed.limit = parsed.spectrum.getMargin(entry);\n\n if ( !parsed.limit || parsed.handles < 2 ) {\n throw new Error(\"noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.\");\n }\n }\n\n function testPadding ( parsed, entry ) {\n\n if ( !isNumeric(entry) ){\n throw new Error(\"noUiSlider: 'padding' option must be numeric.\");\n }\n\n if ( entry === 0 ) {\n return;\n }\n\n parsed.padding = parsed.spectrum.getMargin(entry);\n\n if ( !parsed.padding ) {\n throw new Error(\"noUiSlider: 'padding' option is only supported on linear sliders.\");\n }\n\n if ( parsed.padding < 0 ) {\n throw new Error(\"noUiSlider: 'padding' option must be a positive number.\");\n }\n\n if ( parsed.padding >= 50 ) {\n throw new Error(\"noUiSlider: 'padding' option must be less than half the range.\");\n }\n }\n\n function testDirection ( parsed, entry ) {\n\n // Set direction as a numerical value for easy parsing.\n // Invert connection for RTL sliders, so that the proper\n // handles get the connect/background classes.\n switch ( entry ) {\n case 'ltr':\n parsed.dir = 0;\n break;\n case 'rtl':\n parsed.dir = 1;\n break;\n default:\n throw new Error(\"noUiSlider: 'direction' option was not recognized.\");\n }\n }\n\n function testBehaviour ( parsed, entry ) {\n\n // Make sure the input is a string.\n if ( typeof entry !== 'string' ) {\n throw new Error(\"noUiSlider: 'behaviour' must be a string containing options.\");\n }\n\n // Check if the string contains any keywords.\n // None are required.\n var tap = entry.indexOf('tap') >= 0;\n var drag = entry.indexOf('drag') >= 0;\n var fixed = entry.indexOf('fixed') >= 0;\n var snap = entry.indexOf('snap') >= 0;\n var hover = entry.indexOf('hover') >= 0;\n\n if ( fixed ) {\n\n if ( parsed.handles !== 2 ) {\n throw new Error(\"noUiSlider: 'fixed' behaviour must be used with 2 handles\");\n }\n\n // Use margin to enforce fixed state\n testMargin(parsed, parsed.start[1] - parsed.start[0]);\n }\n\n parsed.events = {\n tap: tap || snap,\n drag: drag,\n fixed: fixed,\n snap: snap,\n hover: hover\n };\n }\n\n function testTooltips ( parsed, entry ) {\n\n if ( entry === false ) {\n return;\n }\n\n else if ( entry === true ) {\n\n parsed.tooltips = [];\n\n for ( var i = 0; i < parsed.handles; i++ ) {\n parsed.tooltips.push(true);\n }\n }\n\n else {\n\n parsed.tooltips = asArray(entry);\n\n if ( parsed.tooltips.length !== parsed.handles ) {\n throw new Error(\"noUiSlider: must pass a formatter for all handles.\");\n }\n\n parsed.tooltips.forEach(function(formatter){\n if ( typeof formatter !== 'boolean' && (typeof formatter !== 'object' || typeof formatter.to !== 'function') ) {\n throw new Error(\"noUiSlider: 'tooltips' must be passed a formatter or 'false'.\");\n }\n });\n }\n }\n\n function testFormat ( parsed, entry ) {\n\n parsed.format = entry;\n\n // Any object with a to and from method is supported.\n if ( typeof entry.to === 'function' && typeof entry.from === 'function' ) {\n return true;\n }\n\n throw new Error(\"noUiSlider: 'format' requires 'to' and 'from' methods.\");\n }\n\n function testCssPrefix ( parsed, entry ) {\n\n if ( entry !== undefined && typeof entry !== 'string' && entry !== false ) {\n throw new Error(\"noUiSlider: 'cssPrefix' must be a string or `false`.\");\n }\n\n parsed.cssPrefix = entry;\n }\n\n function testCssClasses ( parsed, entry ) {\n\n if ( entry !== undefined && typeof entry !== 'object' ) {\n throw new Error(\"noUiSlider: 'cssClasses' must be an object.\");\n }\n\n if ( typeof parsed.cssPrefix === 'string' ) {\n parsed.cssClasses = {};\n\n for ( var key in entry ) {\n if ( !entry.hasOwnProperty(key) ) { continue; }\n\n parsed.cssClasses[key] = parsed.cssPrefix + entry[key];\n }\n } else {\n parsed.cssClasses = entry;\n }\n }\n\n function testUseRaf ( parsed, entry ) {\n if ( entry === true || entry === false ) {\n parsed.useRequestAnimationFrame = entry;\n } else {\n throw new Error(\"noUiSlider: 'useRequestAnimationFrame' option should be true (default) or false.\");\n }\n }\n\n // Test all developer settings and parse to assumption-safe values.\n function testOptions ( options ) {\n\n // To prove a fix for #537, freeze options here.\n // If the object is modified, an error will be thrown.\n // Object.freeze(options);\n\n var parsed = {\n margin: 0,\n limit: 0,\n padding: 0,\n animate: true,\n animationDuration: 300,\n format: defaultFormatter\n };\n\n // Tests are executed in the order they are presented here.\n var tests = {\n 'step': { r: false, t: testStep },\n 'start': { r: true, t: testStart },\n 'connect': { r: true, t: testConnect },\n 'direction': { r: true, t: testDirection },\n 'snap': { r: false, t: testSnap },\n 'animate': { r: false, t: testAnimate },\n 'animationDuration': { r: false, t: testAnimationDuration },\n 'range': { r: true, t: testRange },\n 'orientation': { r: false, t: testOrientation },\n 'margin': { r: false, t: testMargin },\n 'limit': { r: false, t: testLimit },\n 'padding': { r: false, t: testPadding },\n 'behaviour': { r: true, t: testBehaviour },\n 'format': { r: false, t: testFormat },\n 'tooltips': { r: false, t: testTooltips },\n 'cssPrefix': { r: false, t: testCssPrefix },\n 'cssClasses': { r: false, t: testCssClasses },\n 'useRequestAnimationFrame': { r: false, t: testUseRaf }\n };\n\n var defaults = {\n 'connect': false,\n 'direction': 'ltr',\n 'behaviour': 'tap',\n 'orientation': 'horizontal',\n 'cssPrefix' : 'noUi-',\n 'cssClasses': {\n target: 'target',\n base: 'base',\n origin: 'origin',\n handle: 'handle',\n handleTouchArea: 'handle-touch-area',\n handleLower: 'handle-lower',\n handleUpper: 'handle-upper',\n horizontal: 'horizontal',\n vertical: 'vertical',\n background: 'background',\n connect: 'connect',\n ltr: 'ltr',\n rtl: 'rtl',\n draggable: 'draggable',\n drag: 'state-drag',\n tap: 'state-tap',\n active: 'active',\n tooltip: 'tooltip',\n pips: 'pips',\n pipsHorizontal: 'pips-horizontal',\n pipsVertical: 'pips-vertical',\n marker: 'marker',\n markerHorizontal: 'marker-horizontal',\n markerVertical: 'marker-vertical',\n markerNormal: 'marker-normal',\n markerLarge: 'marker-large',\n markerSub: 'marker-sub',\n value: 'value',\n valueHorizontal: 'value-horizontal',\n valueVertical: 'value-vertical',\n valueNormal: 'value-normal',\n valueLarge: 'value-large',\n valueSub: 'value-sub'\n },\n 'useRequestAnimationFrame': true\n };\n\n // Run all options through a testing mechanism to ensure correct\n // input. It should be noted that options might get modified to\n // be handled properly. E.g. wrapping integers in arrays.\n Object.keys(tests).forEach(function( name ){\n\n // If the option isn't set, but it is required, throw an error.\n if ( options[name] === undefined && defaults[name] === undefined ) {\n\n if ( tests[name].r ) {\n throw new Error(\"noUiSlider: '\" + name + \"' is required.\");\n }\n\n return true;\n }\n\n tests[name].t( parsed, options[name] === undefined ? defaults[name] : options[name] );\n });\n\n // Forward pips options\n parsed.pips = options.pips;\n\n var styles = [['left', 'top'], ['right', 'bottom']];\n\n // Pre-define the styles.\n parsed.style = styles[parsed.dir][parsed.ort];\n parsed.styleOposite = styles[parsed.dir?0:1][parsed.ort];\n\n return parsed;\n }\n\n\n function closure ( target, options, originalOptions ){\n\n var actions = getActions( );\n\n // All variables local to 'closure' are prefixed with 'scope_'\n var scope_Target = target;\n var scope_Locations = [];\n var scope_Base;\n var scope_Handles;\n var scope_HandleNumbers = [];\n var scope_ActiveHandle = false;\n var scope_Connects;\n var scope_Spectrum = options.spectrum;\n var scope_Values = [];\n var scope_Events = {};\n var scope_Self;\n\n\n // Append a origin to the base\n function addOrigin ( base, handleNumber ) {\n\n var origin = addNodeTo(base, options.cssClasses.origin);\n var handle = addNodeTo(origin, options.cssClasses.handle);\n addNodeTo(handle, options.cssClasses.handleTouchArea);\n\n handle.setAttribute('data-handle', handleNumber);\n\n if ( handleNumber === 0 ) {\n addClass(handle, options.cssClasses.handleLower);\n }\n\n else if ( handleNumber === options.handles - 1 ) {\n addClass(handle, options.cssClasses.handleUpper);\n }\n\n return origin;\n }\n\n // Insert nodes for connect elements\n function addConnect ( base, add ) {\n\n if ( !add ) {\n return false;\n }\n\n return addNodeTo(base, options.cssClasses.connect);\n }\n\n // Add handles to the slider base.\n function addElements ( connectOptions, base ) {\n\n scope_Handles = [];\n scope_Connects = [];\n\n scope_Connects.push(addConnect(base, connectOptions[0]));\n\n // [::::O====O====O====]\n // connectOptions = [0, 1, 1, 1]\n\n for ( var i = 0; i < options.handles; i++ ) {\n // Keep a list of all added handles.\n scope_Handles.push(addOrigin(base, i));\n scope_HandleNumbers[i] = i;\n scope_Connects.push(addConnect(base, connectOptions[i + 1]));\n }\n }\n\n // Initialize a single slider.\n function addSlider ( target ) {\n\n // Apply classes and data to the target.\n addClass(target, options.cssClasses.target);\n\n if ( options.dir === 0 ) {\n addClass(target, options.cssClasses.ltr);\n } else {\n addClass(target, options.cssClasses.rtl);\n }\n\n if ( options.ort === 0 ) {\n addClass(target, options.cssClasses.horizontal);\n } else {\n addClass(target, options.cssClasses.vertical);\n }\n\n scope_Base = addNodeTo(target, options.cssClasses.base);\n }\n\n\n function addTooltip ( handle, handleNumber ) {\n\n if ( !options.tooltips[handleNumber] ) {\n return false;\n }\n\n return addNodeTo(handle.firstChild, options.cssClasses.tooltip);\n }\n\n // The tooltips option is a shorthand for using the 'update' event.\n function tooltips ( ) {\n\n // Tooltips are added with options.tooltips in original order.\n var tips = scope_Handles.map(addTooltip);\n\n bindEvent('update', function(values, handleNumber, unencoded) {\n\n if ( !tips[handleNumber] ) {\n return;\n }\n\n var formattedValue = values[handleNumber];\n\n if ( options.tooltips[handleNumber] !== true ) {\n formattedValue = options.tooltips[handleNumber].to(unencoded[handleNumber]);\n }\n\n tips[handleNumber].innerHTML = '' + formattedValue + '';\n });\n }\n\n\n function getGroup ( mode, values, stepped ) {\n\n // Use the range.\n if ( mode === 'range' || mode === 'steps' ) {\n return scope_Spectrum.xVal;\n }\n\n if ( mode === 'count' ) {\n\n // Divide 0 - 100 in 'count' parts.\n var spread = ( 100 / (values-1) ), v, i = 0;\n values = [];\n\n // List these parts and have them handled as 'positions'.\n while ((v=i++*spread) <= 100 ) {\n values.push(v);\n }\n\n mode = 'positions';\n }\n\n if ( mode === 'positions' ) {\n\n // Map all percentages to on-range values.\n return values.map(function( value ){\n return scope_Spectrum.fromStepping( stepped ? scope_Spectrum.getStep( value ) : value );\n });\n }\n\n if ( mode === 'values' ) {\n\n // If the value must be stepped, it needs to be converted to a percentage first.\n if ( stepped ) {\n\n return values.map(function( value ){\n\n // Convert to percentage, apply step, return to value.\n return scope_Spectrum.fromStepping( scope_Spectrum.getStep( scope_Spectrum.toStepping( value ) ) );\n });\n\n }\n\n // Otherwise, we can simply use the values.\n return values;\n }\n }\n\n function generateSpread ( density, mode, group ) {\n\n function safeIncrement(value, increment) {\n // Avoid floating point variance by dropping the smallest decimal places.\n return (value + increment).toFixed(7) / 1;\n }\n\n var indexes = {},\n firstInRange = scope_Spectrum.xVal[0],\n lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length-1],\n ignoreFirst = false,\n ignoreLast = false,\n prevPct = 0;\n\n // Create a copy of the group, sort it and filter away all duplicates.\n group = unique(group.slice().sort(function(a, b){ return a - b; }));\n\n // Make sure the range starts with the first element.\n if ( group[0] !== firstInRange ) {\n group.unshift(firstInRange);\n ignoreFirst = true;\n }\n\n // Likewise for the last one.\n if ( group[group.length - 1] !== lastInRange ) {\n group.push(lastInRange);\n ignoreLast = true;\n }\n\n group.forEach(function ( current, index ) {\n\n // Get the current step and the lower + upper positions.\n var step, i, q,\n low = current,\n high = group[index+1],\n newPct, pctDifference, pctPos, type,\n steps, realSteps, stepsize;\n\n // When using 'steps' mode, use the provided steps.\n // Otherwise, we'll step on to the next subrange.\n if ( mode === 'steps' ) {\n step = scope_Spectrum.xNumSteps[ index ];\n }\n\n // Default to a 'full' step.\n if ( !step ) {\n step = high-low;\n }\n\n // Low can be 0, so test for false. If high is undefined,\n // we are at the last subrange. Index 0 is already handled.\n if ( low === false || high === undefined ) {\n return;\n }\n\n // Make sure step isn't 0, which would cause an infinite loop (#654)\n step = Math.max(step, 0.0000001);\n\n // Find all steps in the subrange.\n for ( i = low; i <= high; i = safeIncrement(i, step) ) {\n\n // Get the percentage value for the current step,\n // calculate the size for the subrange.\n newPct = scope_Spectrum.toStepping( i );\n pctDifference = newPct - prevPct;\n\n steps = pctDifference / density;\n realSteps = Math.round(steps);\n\n // This ratio represents the amount of percentage-space a point indicates.\n // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-devided.\n // Round the percentage offset to an even number, then divide by two\n // to spread the offset on both sides of the range.\n stepsize = pctDifference/realSteps;\n\n // Divide all points evenly, adding the correct number to this subrange.\n // Run up to <= so that 100% gets a point, event if ignoreLast is set.\n for ( q = 1; q <= realSteps; q += 1 ) {\n\n // The ratio between the rounded value and the actual size might be ~1% off.\n // Correct the percentage offset by the number of points\n // per subrange. density = 1 will result in 100 points on the\n // full range, 2 for 50, 4 for 25, etc.\n pctPos = prevPct + ( q * stepsize );\n indexes[pctPos.toFixed(5)] = ['x', 0];\n }\n\n // Determine the point type.\n type = (group.indexOf(i) > -1) ? 1 : ( mode === 'steps' ? 2 : 0 );\n\n // Enforce the 'ignoreFirst' option by overwriting the type for 0.\n if ( !index && ignoreFirst ) {\n type = 0;\n }\n\n if ( !(i === high && ignoreLast)) {\n // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value.\n indexes[newPct.toFixed(5)] = [i, type];\n }\n\n // Update the percentage count.\n prevPct = newPct;\n }\n });\n\n return indexes;\n }\n\n function addMarking ( spread, filterFunc, formatter ) {\n\n var element = document.createElement('div'),\n out = '',\n valueSizeClasses = [\n options.cssClasses.valueNormal,\n options.cssClasses.valueLarge,\n options.cssClasses.valueSub\n ],\n markerSizeClasses = [\n options.cssClasses.markerNormal,\n options.cssClasses.markerLarge,\n options.cssClasses.markerSub\n ],\n valueOrientationClasses = [\n options.cssClasses.valueHorizontal,\n options.cssClasses.valueVertical\n ],\n markerOrientationClasses = [\n options.cssClasses.markerHorizontal,\n options.cssClasses.markerVertical\n ];\n\n addClass(element, options.cssClasses.pips);\n addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical);\n\n function getClasses( type, source ){\n var a = source === options.cssClasses.value,\n orientationClasses = a ? valueOrientationClasses : markerOrientationClasses,\n sizeClasses = a ? valueSizeClasses : markerSizeClasses;\n\n return source + ' ' + orientationClasses[options.ort] + ' ' + sizeClasses[type];\n }\n\n function getTags( offset, source, values ) {\n return 'class=\"' + getClasses(values[1], source) + '\" style=\"' + options.style + ': ' + offset + '%\"';\n }\n\n function addSpread ( offset, values ){\n\n // Apply the filter function, if it is set.\n values[1] = (values[1] && filterFunc) ? filterFunc(values[0], values[1]) : values[1];\n\n // Add a marker for every point\n out += '
';\n\n // Values are only appended for points marked '1' or '2'.\n if ( values[1] ) {\n out += '
' + formatter.to(values[0]) + '
';\n }\n }\n\n // Append all points.\n Object.keys(spread).forEach(function(a){\n addSpread(a, spread[a]);\n });\n\n element.innerHTML = out;\n\n return element;\n }\n\n function pips ( grid ) {\n\n var mode = grid.mode,\n density = grid.density || 1,\n filter = grid.filter || false,\n values = grid.values || false,\n stepped = grid.stepped || false,\n group = getGroup( mode, values, stepped ),\n spread = generateSpread( density, mode, group ),\n format = grid.format || {\n to: Math.round\n };\n\n return scope_Target.appendChild(addMarking(\n spread,\n filter,\n format\n ));\n }\n\n\n // Shorthand for base dimensions.\n function baseSize ( ) {\n var rect = scope_Base.getBoundingClientRect(), alt = 'offset' + ['Width', 'Height'][options.ort];\n return options.ort === 0 ? (rect.width||scope_Base[alt]) : (rect.height||scope_Base[alt]);\n }\n\n // Handler for attaching events trough a proxy.\n function attachEvent ( events, element, callback, data ) {\n\n // This function can be used to 'filter' events to the slider.\n // element is a node, not a nodeList\n\n var method = function ( e ){\n\n if ( scope_Target.hasAttribute('disabled') ) {\n return false;\n }\n\n // Stop if an active 'tap' transition is taking place.\n if ( hasClass(scope_Target, options.cssClasses.tap) ) {\n return false;\n }\n\n e = fixEvent(e, data.pageOffset);\n\n // Handle reject of multitouch\n if ( !e ) {\n return false;\n }\n\n // Ignore right or middle clicks on start #454\n if ( events === actions.start && e.buttons !== undefined && e.buttons > 1 ) {\n return false;\n }\n\n // Ignore right or middle clicks on start #454\n if ( data.hover && e.buttons ) {\n return false;\n }\n\n e.calcPoint = e.points[ options.ort ];\n\n // Call the event handler with the event [ and additional data ].\n callback ( e, data );\n };\n\n var methods = [];\n\n // Bind a closure on the target for every event type.\n events.split(' ').forEach(function( eventName ){\n element.addEventListener(eventName, method, false);\n methods.push([eventName, method]);\n });\n\n return methods;\n }\n\n // Provide a clean event with standardized offset values.\n function fixEvent ( e, pageOffset ) {\n\n // Prevent scrolling and panning on touch events, while\n // attempting to slide. The tap event also depends on this.\n e.preventDefault();\n\n // Filter the event to register the type, which can be\n // touch, mouse or pointer. Offset changes need to be\n // made on an event specific basis.\n var touch = e.type.indexOf('touch') === 0;\n var mouse = e.type.indexOf('mouse') === 0;\n var pointer = e.type.indexOf('pointer') === 0;\n var x;\n var y;\n\n // IE10 implemented pointer events with a prefix;\n if ( e.type.indexOf('MSPointer') === 0 ) {\n pointer = true;\n }\n\n if ( touch ) {\n\n // Fix bug when user touches with two or more fingers on mobile devices.\n // It's useful when you have two or more sliders on one page,\n // that can be touched simultaneously.\n // #649, #663, #668\n if ( e.touches.length > 1 ) {\n return false;\n }\n\n // noUiSlider supports one movement at a time,\n // so we can select the first 'changedTouch'.\n x = e.changedTouches[0].pageX;\n y = e.changedTouches[0].pageY;\n }\n\n pageOffset = pageOffset || getPageOffset();\n\n if ( mouse || pointer ) {\n x = e.clientX + pageOffset.x;\n y = e.clientY + pageOffset.y;\n }\n\n e.pageOffset = pageOffset;\n e.points = [x, y];\n e.cursor = mouse || pointer; // Fix #435\n\n return e;\n }\n\n // Translate a coordinate in the document to a percentage on the slider\n function calcPointToPercentage ( calcPoint ) {\n var location = calcPoint - offset(scope_Base, options.ort);\n var proposal = ( location * 100 ) / baseSize();\n return options.dir ? 100 - proposal : proposal;\n }\n\n // Find handle closest to a certain percentage on the slider\n function getClosestHandle ( proposal ) {\n\n var closest = 100;\n var handleNumber = false;\n\n scope_Handles.forEach(function(handle, index){\n\n // Disabled handles are ignored\n if ( handle.hasAttribute('disabled') ) {\n return;\n }\n\n var pos = Math.abs(scope_Locations[index] - proposal);\n\n if ( pos < closest ) {\n handleNumber = index;\n closest = pos;\n }\n });\n\n return handleNumber;\n }\n\n // Moves handle(s) by a percentage\n // (bool, % to move, [% where handle started, ...], [index in scope_Handles, ...])\n function moveHandles ( upward, proposal, locations, handleNumbers ) {\n\n var proposals = locations.slice();\n\n var b = [!upward, upward];\n var f = [upward, !upward];\n\n // Copy handleNumbers so we don't change the dataset\n handleNumbers = handleNumbers.slice();\n\n // Check to see which handle is 'leading'.\n // If that one can't move the second can't either.\n if ( upward ) {\n handleNumbers.reverse();\n }\n\n // Step 1: get the maximum percentage that any of the handles can move\n if ( handleNumbers.length > 1 ) {\n\n handleNumbers.forEach(function(handleNumber, o) {\n\n var to = checkHandlePosition(proposals, handleNumber, proposals[handleNumber] + proposal, b[o], f[o]);\n\n // Stop if one of the handles can't move.\n if ( to === false ) {\n proposal = 0;\n } else {\n proposal = to - proposals[handleNumber];\n proposals[handleNumber] = to;\n }\n });\n }\n\n // If using one handle, check backward AND forward\n else {\n b = f = [true];\n }\n\n var state = false;\n\n // Step 2: Try to set the handles with the found percentage\n handleNumbers.forEach(function(handleNumber, o) {\n state = setHandle(handleNumber, locations[handleNumber] + proposal, b[o], f[o]) || state;\n });\n\n // Step 3: If a handle moved, fire events\n if ( state ) {\n handleNumbers.forEach(function(handleNumber){\n fireEvent('update', handleNumber);\n fireEvent('slide', handleNumber);\n });\n }\n }\n\n // External event handling\n function fireEvent ( eventName, handleNumber, tap ) {\n\n Object.keys(scope_Events).forEach(function( targetEvent ) {\n\n var eventType = targetEvent.split('.')[0];\n\n if ( eventName === eventType ) {\n scope_Events[targetEvent].forEach(function( callback ) {\n\n callback.call(\n // Use the slider public API as the scope ('this')\n scope_Self,\n // Return values as array, so arg_1[arg_2] is always valid.\n scope_Values.map(options.format.to),\n // Handle index, 0 or 1\n handleNumber,\n // Unformatted slider values\n scope_Values.slice(),\n // Event is fired by tap, true or false\n tap || false,\n // Left offset of the handle, in relation to the slider\n scope_Locations.slice()\n );\n });\n }\n });\n }\n\n\n // Fire 'end' when a mouse or pen leaves the document.\n function documentLeave ( event, data ) {\n if ( event.type === \"mouseout\" && event.target.nodeName === \"HTML\" && event.relatedTarget === null ){\n eventEnd (event, data);\n }\n }\n\n // Handle movement on document for handle and range drag.\n function eventMove ( event, data ) {\n\n // Fix #498\n // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty).\n // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero\n // IE9 has .buttons and .which zero on mousemove.\n // Firefox breaks the spec MDN defines.\n if ( navigator.appVersion.indexOf(\"MSIE 9\") === -1 && event.buttons === 0 && data.buttonsProperty !== 0 ) {\n return eventEnd(event, data);\n }\n\n // Check if we are moving up or down\n var movement = (options.dir ? -1 : 1) * (event.calcPoint - data.startCalcPoint);\n\n // Convert the movement into a percentage of the slider width/height\n var proposal = (movement * 100) / data.baseSize;\n\n moveHandles(movement > 0, proposal, data.locations, data.handleNumbers);\n }\n\n // Unbind move events on document, call callbacks.\n function eventEnd ( event, data ) {\n\n // The handle is no longer active, so remove the class.\n if ( scope_ActiveHandle ) {\n removeClass(scope_ActiveHandle, options.cssClasses.active);\n scope_ActiveHandle = false;\n }\n\n // Remove cursor styles and text-selection events bound to the body.\n if ( event.cursor ) {\n document.body.style.cursor = '';\n document.body.removeEventListener('selectstart', document.body.noUiListener);\n }\n\n // Unbind the move and end events, which are added on 'start'.\n document.documentElement.noUiListeners.forEach(function( c ) {\n document.documentElement.removeEventListener(c[0], c[1]);\n });\n\n // Remove dragging class.\n removeClass(scope_Target, options.cssClasses.drag);\n\n setZindex();\n\n data.handleNumbers.forEach(function(handleNumber){\n fireEvent('set', handleNumber);\n fireEvent('change', handleNumber);\n fireEvent('end', handleNumber);\n });\n }\n\n // Bind move events on document.\n function eventStart ( event, data ) {\n\n if ( data.handleNumbers.length === 1 ) {\n\n var handle = scope_Handles[data.handleNumbers[0]];\n\n // Ignore 'disabled' handles\n if ( handle.hasAttribute('disabled') ) {\n return false;\n }\n\n // Mark the handle as 'active' so it can be styled.\n scope_ActiveHandle = handle.children[0];\n addClass(scope_ActiveHandle, options.cssClasses.active);\n }\n\n // Fix #551, where a handle gets selected instead of dragged.\n event.preventDefault();\n\n // A drag should never propagate up to the 'tap' event.\n event.stopPropagation();\n\n // Attach the move and end events.\n var moveEvent = attachEvent(actions.move, document.documentElement, eventMove, {\n startCalcPoint: event.calcPoint,\n baseSize: baseSize(),\n pageOffset: event.pageOffset,\n handleNumbers: data.handleNumbers,\n buttonsProperty: event.buttons,\n locations: scope_Locations.slice()\n });\n\n var endEvent = attachEvent(actions.end, document.documentElement, eventEnd, {\n handleNumbers: data.handleNumbers\n });\n\n var outEvent = attachEvent(\"mouseout\", document.documentElement, documentLeave, {\n handleNumbers: data.handleNumbers\n });\n\n document.documentElement.noUiListeners = moveEvent.concat(endEvent, outEvent);\n\n // Text selection isn't an issue on touch devices,\n // so adding cursor styles can be skipped.\n if ( event.cursor ) {\n\n // Prevent the 'I' cursor and extend the range-drag cursor.\n document.body.style.cursor = getComputedStyle(event.target).cursor;\n\n // Mark the target with a dragging state.\n if ( scope_Handles.length > 1 ) {\n addClass(scope_Target, options.cssClasses.drag);\n }\n\n var f = function(){\n return false;\n };\n\n document.body.noUiListener = f;\n\n // Prevent text selection when dragging the handles.\n document.body.addEventListener('selectstart', f, false);\n }\n\n data.handleNumbers.forEach(function(handleNumber){\n fireEvent('start', handleNumber);\n });\n }\n\n // Move closest handle to tapped location.\n function eventTap ( event ) {\n\n // The tap event shouldn't propagate up\n event.stopPropagation();\n\n var proposal = calcPointToPercentage(event.calcPoint);\n var handleNumber = getClosestHandle(proposal);\n\n // Tackle the case that all handles are 'disabled'.\n if ( handleNumber === false ) {\n return false;\n }\n\n // Flag the slider as it is now in a transitional state.\n // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that.\n if ( !options.events.snap ) {\n addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration);\n }\n\n setHandle(handleNumber, proposal, true, true);\n\n setZindex();\n\n fireEvent('slide', handleNumber, true);\n fireEvent('set', handleNumber, true);\n fireEvent('change', handleNumber, true);\n fireEvent('update', handleNumber, true);\n\n if ( options.events.snap ) {\n eventStart(event, { handleNumbers: [handleNumber] });\n }\n }\n\n // Fires a 'hover' event for a hovered mouse/pen position.\n function eventHover ( event ) {\n\n var proposal = calcPointToPercentage(event.calcPoint);\n\n var to = scope_Spectrum.getStep(proposal);\n var value = scope_Spectrum.fromStepping(to);\n\n Object.keys(scope_Events).forEach(function( targetEvent ) {\n if ( 'hover' === targetEvent.split('.')[0] ) {\n scope_Events[targetEvent].forEach(function( callback ) {\n callback.call( scope_Self, value );\n });\n }\n });\n }\n\n // Attach events to several slider parts.\n function bindSliderEvents ( behaviour ) {\n\n // Attach the standard drag event to the handles.\n if ( !behaviour.fixed ) {\n\n scope_Handles.forEach(function( handle, index ){\n\n // These events are only bound to the visual handle\n // element, not the 'real' origin element.\n attachEvent ( actions.start, handle.children[0], eventStart, {\n handleNumbers: [index]\n });\n });\n }\n\n // Attach the tap event to the slider base.\n if ( behaviour.tap ) {\n attachEvent (actions.start, scope_Base, eventTap, {});\n }\n\n // Fire hover events\n if ( behaviour.hover ) {\n attachEvent (actions.move, scope_Base, eventHover, { hover: true });\n }\n\n // Make the range draggable.\n if ( behaviour.drag ){\n\n scope_Connects.forEach(function( connect, index ){\n\n if ( connect === false || index === 0 || index === scope_Connects.length - 1 ) {\n return;\n }\n\n var handleBefore = scope_Handles[index - 1];\n var handleAfter = scope_Handles[index];\n var eventHolders = [connect];\n\n addClass(connect, options.cssClasses.draggable);\n\n // When the range is fixed, the entire range can\n // be dragged by the handles. The handle in the first\n // origin will propagate the start event upward,\n // but it needs to be bound manually on the other.\n if ( behaviour.fixed ) {\n eventHolders.push(handleBefore.children[0]);\n eventHolders.push(handleAfter.children[0]);\n }\n\n eventHolders.forEach(function( eventHolder ) {\n attachEvent ( actions.start, eventHolder, eventStart, {\n handles: [handleBefore, handleAfter],\n handleNumbers: [index - 1, index]\n });\n });\n });\n }\n }\n\n\n // Split out the handle positioning logic so the Move event can use it, too\n function checkHandlePosition ( reference, handleNumber, to, lookBackward, lookForward ) {\n\n // For sliders with multiple handles, limit movement to the other handle.\n // Apply the margin option by adding it to the handle positions.\n if ( scope_Handles.length > 1 ) {\n\n if ( lookBackward && handleNumber > 0 ) {\n to = Math.max(to, reference[handleNumber - 1] + options.margin);\n }\n\n if ( lookForward && handleNumber < scope_Handles.length - 1 ) {\n to = Math.min(to, reference[handleNumber + 1] - options.margin);\n }\n }\n\n // The limit option has the opposite effect, limiting handles to a\n // maximum distance from another. Limit must be > 0, as otherwise\n // handles would be unmoveable.\n if ( scope_Handles.length > 1 && options.limit ) {\n\n if ( lookBackward && handleNumber > 0 ) {\n to = Math.min(to, reference[handleNumber - 1] + options.limit);\n }\n\n if ( lookForward && handleNumber < scope_Handles.length - 1 ) {\n to = Math.max(to, reference[handleNumber + 1] - options.limit);\n }\n }\n\n // The padding option keeps the handles a certain distance from the\n // edges of the slider. Padding must be > 0.\n if ( options.padding ) {\n\n if ( handleNumber === 0 ) {\n to = Math.max(to, options.padding);\n }\n\n if ( handleNumber === scope_Handles.length - 1 ) {\n to = Math.min(to, 100 - options.padding);\n }\n }\n\n to = scope_Spectrum.getStep(to);\n\n // Limit percentage to the 0 - 100 range\n to = limit(to);\n\n // Return false if handle can't move\n if ( to === reference[handleNumber] ) {\n return false;\n }\n\n return to;\n }\n\n function toPct ( pct ) {\n return pct + '%';\n }\n\n // Updates scope_Locations and scope_Values, updates visual state\n function updateHandlePosition ( handleNumber, to ) {\n\n // Update locations.\n scope_Locations[handleNumber] = to;\n\n // Convert the value to the slider stepping/range.\n scope_Values[handleNumber] = scope_Spectrum.fromStepping(to);\n\n // Called synchronously or on the next animationFrame\n var stateUpdate = function() {\n scope_Handles[handleNumber].style[options.style] = toPct(to);\n updateConnect(handleNumber);\n updateConnect(handleNumber + 1);\n };\n\n // Set the handle to the new position.\n // Use requestAnimationFrame for efficient painting.\n // No significant effect in Chrome, Edge sees dramatic performance improvements.\n // Option to disable is useful for unit tests, and single-step debugging.\n if ( window.requestAnimationFrame && options.useRequestAnimationFrame ) {\n window.requestAnimationFrame(stateUpdate);\n } else {\n stateUpdate();\n }\n }\n\n function setZindex ( ) {\n\n scope_HandleNumbers.forEach(function(handleNumber){\n // Handles before the slider middle are stacked later = higher,\n // Handles after the middle later is lower\n // [[7] [8] .......... | .......... [5] [4]\n var dir = (scope_Locations[handleNumber] > 50 ? -1 : 1);\n var zIndex = 3 + (scope_Handles.length + (dir * handleNumber));\n scope_Handles[handleNumber].childNodes[0].style.zIndex = zIndex;\n });\n }\n\n // Test suggested values and apply margin, step.\n function setHandle ( handleNumber, to, lookBackward, lookForward ) {\n\n to = checkHandlePosition(scope_Locations, handleNumber, to, lookBackward, lookForward);\n\n if ( to === false ) {\n return false;\n }\n\n updateHandlePosition(handleNumber, to);\n\n return true;\n }\n\n // Updates style attribute for connect nodes\n function updateConnect ( index ) {\n\n // Skip connects set to false\n if ( !scope_Connects[index] ) {\n return;\n }\n\n var l = 0;\n var h = 100;\n\n if ( index !== 0 ) {\n l = scope_Locations[index - 1];\n }\n\n if ( index !== scope_Connects.length - 1 ) {\n h = scope_Locations[index];\n }\n\n scope_Connects[index].style[options.style] = toPct(l);\n scope_Connects[index].style[options.styleOposite] = toPct(100 - h);\n }\n\n // ...\n function setValue ( to, handleNumber ) {\n\n // Setting with null indicates an 'ignore'.\n // Inputting 'false' is invalid.\n if ( to === null || to === false ) {\n return;\n }\n\n // If a formatted number was passed, attempt to decode it.\n if ( typeof to === 'number' ) {\n to = String(to);\n }\n\n to = options.format.from(to);\n\n // Request an update for all links if the value was invalid.\n // Do so too if setting the handle fails.\n if ( to !== false && !isNaN(to) ) {\n setHandle(handleNumber, scope_Spectrum.toStepping(to), false, false);\n }\n }\n\n // Set the slider value.\n function valueSet ( input, fireSetEvent ) {\n\n var values = asArray(input);\n var isInit = scope_Locations[0] === undefined;\n\n // Event fires by default\n fireSetEvent = (fireSetEvent === undefined ? true : !!fireSetEvent);\n\n values.forEach(setValue);\n\n // Animation is optional.\n // Make sure the initial values were set before using animated placement.\n if ( options.animate && !isInit ) {\n addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration);\n }\n\n // Now that all base values are set, apply constraints\n scope_HandleNumbers.forEach(function(handleNumber){\n setHandle(handleNumber, scope_Locations[handleNumber], true, false);\n });\n\n setZindex();\n\n scope_HandleNumbers.forEach(function(handleNumber){\n\n fireEvent('update', handleNumber);\n\n // Fire the event only for handles that received a new value, as per #579\n if ( values[handleNumber] !== null && fireSetEvent ) {\n fireEvent('set', handleNumber);\n }\n });\n }\n\n // Reset slider to initial values\n function valueReset ( fireSetEvent ) {\n valueSet(options.start, fireSetEvent);\n }\n\n // Get the slider value.\n function valueGet ( ) {\n\n var values = scope_Values.map(options.format.to);\n\n // If only one handle is used, return a single value.\n if ( values.length === 1 ){\n return values[0];\n }\n\n return values;\n }\n\n // Removes classes from the root and empties it.\n function destroy ( ) {\n\n for ( var key in options.cssClasses ) {\n if ( !options.cssClasses.hasOwnProperty(key) ) { continue; }\n removeClass(scope_Target, options.cssClasses[key]);\n }\n\n while (scope_Target.firstChild) {\n scope_Target.removeChild(scope_Target.firstChild);\n }\n\n delete scope_Target.noUiSlider;\n }\n\n // Get the current step size for the slider.\n function getCurrentStep ( ) {\n\n // Check all locations, map them to their stepping point.\n // Get the step point, then find it in the input list.\n return scope_Locations.map(function( location, index ){\n\n var nearbySteps = scope_Spectrum.getNearbySteps( location );\n var value = scope_Values[index];\n var increment = nearbySteps.thisStep.step;\n var decrement = null;\n\n // If the next value in this step moves into the next step,\n // the increment is the start of the next step - the current value\n if ( increment !== false ) {\n if ( value + increment > nearbySteps.stepAfter.startValue ) {\n increment = nearbySteps.stepAfter.startValue - value;\n }\n }\n\n\n // If the value is beyond the starting point\n if ( value > nearbySteps.thisStep.startValue ) {\n decrement = nearbySteps.thisStep.step;\n }\n\n else if ( nearbySteps.stepBefore.step === false ) {\n decrement = false;\n }\n\n // If a handle is at the start of a step, it always steps back into the previous step first\n else {\n decrement = value - nearbySteps.stepBefore.highestStep;\n }\n\n\n // Now, if at the slider edges, there is not in/decrement\n if ( location === 100 ) {\n increment = null;\n }\n\n else if ( location === 0 ) {\n decrement = null;\n }\n\n // As per #391, the comparison for the decrement step can have some rounding issues.\n var stepDecimals = scope_Spectrum.countStepDecimals();\n\n // Round per #391\n if ( increment !== null && increment !== false ) {\n increment = Number(increment.toFixed(stepDecimals));\n }\n\n if ( decrement !== null && decrement !== false ) {\n decrement = Number(decrement.toFixed(stepDecimals));\n }\n\n return [decrement, increment];\n });\n }\n\n // Attach an event to this slider, possibly including a namespace\n function bindEvent ( namespacedEvent, callback ) {\n scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || [];\n scope_Events[namespacedEvent].push(callback);\n\n // If the event bound is 'update,' fire it immediately for all handles.\n if ( namespacedEvent.split('.')[0] === 'update' ) {\n scope_Handles.forEach(function(a, index){\n fireEvent('update', index);\n });\n }\n }\n\n // Undo attachment of event\n function removeEvent ( namespacedEvent ) {\n\n var event = namespacedEvent && namespacedEvent.split('.')[0];\n var namespace = event && namespacedEvent.substring(event.length);\n\n Object.keys(scope_Events).forEach(function( bind ){\n\n var tEvent = bind.split('.')[0],\n tNamespace = bind.substring(tEvent.length);\n\n if ( (!event || event === tEvent) && (!namespace || namespace === tNamespace) ) {\n delete scope_Events[bind];\n }\n });\n }\n\n // Updateable: margin, limit, padding, step, range, animate, snap\n function updateOptions ( optionsToUpdate, fireSetEvent ) {\n\n // Spectrum is created using the range, snap, direction and step options.\n // 'snap' and 'step' can be updated, 'direction' cannot, due to event binding.\n // If 'snap' and 'step' are not passed, they should remain unchanged.\n var v = valueGet();\n\n var updateAble = ['margin', 'limit', 'padding', 'range', 'animate', 'snap', 'step', 'format'];\n\n // Only change options that we're actually passed to update.\n updateAble.forEach(function(name){\n if ( optionsToUpdate[name] !== undefined ) {\n originalOptions[name] = optionsToUpdate[name];\n }\n });\n\n var newOptions = testOptions(originalOptions);\n\n // Load new options into the slider state\n updateAble.forEach(function(name){\n if ( optionsToUpdate[name] !== undefined ) {\n options[name] = newOptions[name];\n }\n });\n\n // Save current spectrum direction as testOptions in testRange call\n // doesn't rely on current direction\n newOptions.spectrum.direction = scope_Spectrum.direction;\n scope_Spectrum = newOptions.spectrum;\n\n // Limit, margin and padding depend on the spectrum but are stored outside of it. (#677)\n options.margin = newOptions.margin;\n options.limit = newOptions.limit;\n options.padding = newOptions.padding;\n\n // Invalidate the current positioning so valueSet forces an update.\n scope_Locations = [];\n valueSet(optionsToUpdate.start || v, fireSetEvent);\n }\n\n // Throw an error if the slider was already initialized.\n if ( scope_Target.noUiSlider ) {\n throw new Error('Slider was already initialized.');\n }\n\n // Create the base element, initialise HTML and set classes.\n // Add handles and connect elements.\n addSlider(scope_Target);\n addElements(options.connect, scope_Base);\n\n scope_Self = {\n destroy: destroy,\n steps: getCurrentStep,\n on: bindEvent,\n off: removeEvent,\n get: valueGet,\n set: valueSet,\n reset: valueReset,\n // Exposed for unit testing, don't use this in your application.\n __moveHandles: function(a, b, c) { moveHandles(a, b, scope_Locations, c); },\n options: originalOptions, // Issue #600, #678\n updateOptions: updateOptions,\n target: scope_Target, // Issue #597\n pips: pips // Issue #594\n };\n\n // Attach user events.\n bindSliderEvents(options.events);\n\n // Use the public value method to set the start values.\n valueSet(options.start);\n\n if ( options.pips ) {\n pips(options.pips);\n }\n\n if ( options.tooltips ) {\n tooltips();\n }\n\n return scope_Self;\n\n }\n\n\n // Run the standard initializer\n function initialize ( target, originalOptions ) {\n\n if ( !target.nodeName ) {\n throw new Error('noUiSlider.create requires a single element.');\n }\n\n if (originalOptions.tooltips === undefined) {\n originalOptions.tooltips = true;\n }\n\n // Test the options and create the slider environment;\n var options = testOptions( originalOptions, target );\n var api = closure( target, options, originalOptions );\n\n target.noUiSlider = api;\n\n return api;\n }\n\n // Use an object instead of a function for future expansibility;\n return {\n create: initialize\n };\n\n}));\n","import React, { useEffect } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport PinCode from '../../pin_code/PinCode'\n\nconst TeamsOverview = (props) => {\n useEffect(() => {\n props.fetchTeams()\n }, [])\n\n useEffect(() => {\n const elems = document.querySelectorAll('.fixed-action-btn')\n window.M.FloatingActionButton.init(elems, {})\n }, [])\n\n const editTeam = id => {\n props.history.push(`/teams/${id}/edit`)\n }\n\n const destroyTeam = id => {\n props.destroyTeam(id).then(() => {\n props.flashMessages.push(\n I18n.t('teams.flash_messages.team_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchTeams()\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const showDestroyTeamDialog = id => {\n props.setConfirmationDialog({\n onConfirmation: () => destroyTeam(id),\n target: `team ${props.teams.filter(team => team.id === id)[0].name}`,\n action: 'delete',\n noQuotes: true\n })\n }\n\n const newTeam = (e) => {\n e.preventDefault()\n props.history.push('/teams/new')\n }\n\n return (\n <>\n \n
\n \n add\n \n
\n \n
\n
\n
\n
    \n
  • {I18n.t('menu.teams')}

  • \n {props.teams.length === 0 && (\n
    \n

    {I18n.t('teams.overview.there_are_no_teams_click_to_add')}

    \n
    \n )}\n {props.teams.map(team => {\n return (\n
  • \n
    \n editTeam(team.id)}>{team.name}\n {\n e.preventDefault()\n editTeam(team.id)\n }}\n >\n edit\n \n {\n e.preventDefault()\n showDestroyTeamDialog(team.id)\n }}\n >\n delete\n \n
    \n
  • \n )\n })}\n
\n
\n
\n
\n
\n \n )\n}\n\nexport default WithModal(WithFlashMessages(TeamsOverview))\n","import {\n AFTER_MATCH,\n AFTER_THE_FIRST_TRAINING, INDEPENDENT_OF_A_TRAINING,\n ATTACKER, ATTACKER_ICON, BEFORE_MATCH,\n DEFENDER, DEFENDER_ICON, FRIDAY, AFTER_THE_LAST_TRAINING, BEFORE_THE_FIRST_TRAINING,\n KEEPER, KEEPER_ICON, MATCHDAY,\n MIDFIELDER, MIDFIELDER_ICON, MONDAY, THURSDAY, TUESDAY,\n UNKNOWN_ICON, WEDNESDAY, SATURDAY, SUNDAY, TRAINING_TYPES, TEAM_TRAINING_TYPES, questionnaires\n} from './Constants'\n\nimport I18n from 'i18n'\nimport { smarterTranslate } from '../common/Utils'\n\nexport const iconForRole = (role) => {\n switch (role) {\n case KEEPER:\n return KEEPER_ICON\n case DEFENDER:\n return DEFENDER_ICON\n case MIDFIELDER:\n return MIDFIELDER_ICON\n case ATTACKER:\n return ATTACKER_ICON\n default:\n return UNKNOWN_ICON\n }\n}\n\nexport const trainingMoments = weekday => {\n if (!weekday || !weekday.length) return []\n switch (weekday) {\n case MONDAY:\n case TUESDAY:\n case WEDNESDAY:\n case THURSDAY:\n case FRIDAY:\n case SATURDAY:\n case SUNDAY:\n if (process.env.MULTIPLE_TRAININGS === 'true') {\n return [BEFORE_THE_FIRST_TRAINING, AFTER_THE_FIRST_TRAINING, AFTER_THE_LAST_TRAINING, INDEPENDENT_OF_A_TRAINING]\n }\n return [BEFORE_THE_FIRST_TRAINING, AFTER_THE_LAST_TRAINING, INDEPENDENT_OF_A_TRAINING]\n case MATCHDAY:\n return [BEFORE_MATCH, AFTER_MATCH]\n default:\n return []\n }\n}\n\nexport const trainingMomentHint = trainingMoment => {\n let message = I18n.t(`teampro.training_moment_hints.${trainingMoment}`)\n switch (trainingMoment) {\n case AFTER_THE_FIRST_TRAINING:\n case AFTER_MATCH:\n if (process.env.TRAINING_DURATION_QUESTIONS === 'true' || process.env.TDT_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.training_duration')}`\n }\n if (process.env.BATTERY_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.battery')}`\n }\n return message\n case AFTER_THE_LAST_TRAINING:\n if (process.env.HYDRATION_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.hydration')}`\n }\n if (process.env.TRAINING_DURATION_QUESTIONS === 'true' || process.env.TDT_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.training_duration')}`\n }\n if (process.env.BATTERY_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.battery')}`\n }\n return message\n case BEFORE_THE_FIRST_TRAINING:\n if (process.env.MUSCLE_SORENESS_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.muscle_soreness')}`\n }\n if (process.env.SLEEP_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.sleep')}`\n }\n if (process.env.HYDRATION_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.hydration')}`\n }\n if (process.env.BATTERY_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.battery')}`\n }\n return message\n case BEFORE_MATCH:\n if (process.env.BATTERY_QUESTIONS === 'true') {\n message += `, ${I18n.t('teampro.extra_questions.battery')}`\n }\n return message\n default:\n return message\n }\n}\n\nexport const allTrainingMoments = () => {\n if (process.env.MULTIPLE_TRAININGS === 'true') {\n return [\n BEFORE_THE_FIRST_TRAINING,\n AFTER_THE_FIRST_TRAINING,\n AFTER_THE_LAST_TRAINING,\n INDEPENDENT_OF_A_TRAINING,\n BEFORE_MATCH,\n AFTER_MATCH\n ]\n }\n return [\n BEFORE_THE_FIRST_TRAINING,\n AFTER_THE_LAST_TRAINING,\n INDEPENDENT_OF_A_TRAINING,\n BEFORE_MATCH,\n AFTER_MATCH\n ]\n}\n\nexport const changeProperty = (eid, cb) => {\n const elem = document.getElementById(eid)\n if (elem.value) {\n cb(elem.value)\n }\n}\n\nexport const scrollToRef = (ref) => window.scrollTo(0, ref.current.offsetTop - 120)\n\nexport const optionalTranslate = (obj) => {\n if (typeof obj === 'object' && obj !== null) {\n return obj[I18n.locale]\n }\n return obj\n}\n\nexport const trainingTypes = teams => {\n const result = []\n for (const cTeamTrainingType of TEAM_TRAINING_TYPES) {\n const translationKey = `teampro.training_types.${cTeamTrainingType}`\n for (const team of teams) {\n result.push([`${cTeamTrainingType}_${team.id}`, `${I18n.t(translationKey)}: ${team.name}`])\n }\n }\n for (const cTrainingType of TRAINING_TYPES) {\n result.push([cTrainingType, I18n.t(`teampro.training_types.${cTrainingType}`)])\n }\n return result\n}\n\nexport const translateTrainingType = (trainingType, teams) => {\n for (const cTeamTrainingType of TEAM_TRAINING_TYPES) {\n if (trainingType.substring(0, cTeamTrainingType.length + 1) === `${cTeamTrainingType}_`) {\n const teamId = parseInt(trainingType.substring(cTeamTrainingType.length + 1))\n const cTeams = teams.filter(team => team.id === teamId)\n const translationKey = `teampro.training_types.${cTeamTrainingType}`\n if (cTeams.length === 0) {\n return smarterTranslate(translationKey, trainingType)\n }\n return `${smarterTranslate(translationKey, cTeamTrainingType)}: ${cTeams[0].name}`\n }\n }\n return smarterTranslate(`teampro.training_types.${trainingType}`, trainingType)\n}\n\nexport const translateTrainingMoment = trainingMoment => {\n return smarterTranslate(`teampro.training_moments.${trainingMoment}`, trainingMoment)\n}\n\nexport const translateWeekday = weekday => {\n return smarterTranslate(`teampro.weekdays.${weekday}`, weekday)\n}\n\nexport const questionTitle = qId => {\n for (const questionnaire of Object.values(questionnaires)) {\n const question = questionnaire.filter(question => question.id === qId)[0]\n if (!question) continue\n\n return question.label[I18n.locale]\n }\n return ''\n}\n","import React, { CSSProperties } from 'react'\nimport I18n from 'i18n'\nimport Select from 'react-select'\nimport { uniq, uniqBy, flatten } from 'lodash'\nimport { PolarPlayers } from '../../common/types/PolarPlayers'\n\ninterface Props {\n polarPlayers: PolarPlayers\n selectedPolarPlayerIds: number[]\n setSelectedPolarPlayerIds: (selectedPolarPlayerIds: number[]) => void\n}\n\nconst PolarPlayerSelect: React.FC = ({ polarPlayers, selectedPolarPlayerIds, setSelectedPolarPlayerIds }) => {\n const groupedOptions: GroupedOption[] = []\n const teamNames = uniq(polarPlayers.map(polarPlayer => polarPlayer.team_name))\n for (const teamName of teamNames) {\n groupedOptions.push({\n label: teamName,\n options: teamAthletes(teamName, polarPlayers)\n })\n }\n\n // used to be setselectedathletes\n const setSelectedPolarPlayers = (selectedPolarPlayers: readonly AthleteOption[]): void => {\n setSelectedPolarPlayerIds(selectedPolarPlayers.map(selectedPolarPlayer => selectedPolarPlayer.id))\n }\n\n const athleteOptions = makeAthleteOptions(selectedPolarPlayerIds, groupedOptions)\n\n // Note that we provide the `Select` component from `react-select` with three arguments.\n // The first one is the interface in which `Option`s are to be provided.\n // The second argument is `IsMulti`, which extends boolean (in our case, `true`, since we allow for selecting\n // multiple athletes.\n // The third argument is the `Group` type, which is to specify in which format the Group as a whole\n // should be provided. By default it only includes the athleteOptions, but we require that it has a label, icon, and\n // id as well.\n return (\n \n options={groupedOptions}\n formatGroupLabel={formatGroupLabel}\n formatOptionLabel={formatOptionLabel}\n isMulti\n closeMenuOnSelect={false}\n className='basic-multi-select'\n defaultValue={athleteOptions}\n value={athleteOptions}\n onChange={setSelectedPolarPlayers}\n placeholder={I18n.t('teams.edit_player.polar_player_select.select_polar_players')}\n />\n )\n}\n\ninterface AthleteOption {\n // the profile id of the athlete\n readonly id: number\n readonly value: string // TODO: is the value needed?\n readonly label: string\n readonly role: string\n}\n\ninterface GroupedOption {\n // the id of the group or -1 for the connections group\n // readonly id: number\n readonly label: string\n // readonly icon: string\n readonly options: AthleteOption[]\n}\n\nconst groupStyles: CSSProperties = {\n display: 'flex',\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'space-between'\n}\n\nconst athleteStyles: CSSProperties = {\n display: 'flex',\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'space-between'\n}\n\nconst groupBadgeStyles: CSSProperties = {\n backgroundColor: '#EBECF0',\n borderRadius: '2em',\n color: '#172B4D',\n display: 'inline-block',\n fontSize: 12,\n fontWeight: 'normal',\n lineHeight: '1',\n minWidth: 1,\n padding: '0.16666666666667em 0.5em',\n textAlign: 'center'\n}\n\nconst optionTextStyles: CSSProperties = {\n}\n\nconst makeAthleteOptions = (selectedPolarPlayerIds: number[], groupedOptions: GroupedOption[]): AthleteOption[] => {\n const athleteOptions = uniqBy(flatten(groupedOptions.map(groupedOption => groupedOption.options)), 'value')\n const result: AthleteOption[] = []\n // A bit inefficient, but the result should reflect the ordering of the ids in selectedPolarPlayerIds. So we need\n // to iterate over that.\n for (const selectedPolarPlayerId of selectedPolarPlayerIds) {\n const athleteOption = athleteOptions.find(athleteOption => athleteOption.id === selectedPolarPlayerId)\n if (athleteOption !== undefined) {\n result.push(athleteOption)\n }\n }\n return result\n}\n\nconst teamAthletes = (teamName: string, polarPlayers: PolarPlayers): AthleteOption[] => {\n const result: AthleteOption[] = []\n const polarPlayersInTeam = polarPlayers.filter(polarPlayer => polarPlayer.team_name === teamName)\n for (const polarPlayer of polarPlayersInTeam) {\n result.push({\n id: polarPlayer.id,\n value: `${polarPlayer.id}`,\n label: `${polarPlayer.player_number} ${polarPlayer.first_name} ${polarPlayer.last_name} (${polarPlayer.identifier})`,\n role: polarPlayer.role\n })\n }\n return result\n}\n\nconst formatGroupLabel = (data: GroupedOption): React.ReactElement => (\n \n {data.label}\n {data.options.length}\n \n)\n\nconst formatOptionLabel = (data: AthleteOption): React.ReactElement => (\n
\n {data.label}\n
\n)\n\nexport default PolarPlayerSelect\n","import React from 'react'\nimport AccountRoutes from './AccountRoutes'\nimport ApiConnector from '../helpers/ApiConnector'\nimport { WithSession } from '../session/SessionProvider'\n\nclass Account extends ApiConnector {\n /* eslint-disable camelcase */\n reset_passwordFormMapper (fields) {\n return { user: fields }\n }\n /* eslint-enable camelcase */\n\n loginFormMapper (fields) {\n return { user: fields }\n }\n\n signupFormMapper (fields) {\n return { user: fields }\n }\n\n render () {\n return (\n \n )\n }\n}\n\nexport default WithSession(Account)\n","import React from 'react'\nimport PlayerName from '../../teampro/layout/PlayerName'\nimport I18n from 'i18n'\nimport { questionTitle } from '../../teampro/Utils'\nimport classNames from 'classnames'\nimport { getPlayerValue, GRAPHS } from 'components/visualizations/layout/Utils'\nimport { WithSession } from 'components/session/SessionProvider'\nimport { calculateClass } from 'components/visualizations/layout/ResilienceMonitoringDashboard'\nimport { OrderScore, ZScore } from '../../common/types/Player'\nimport TrainingSession from '../../common/types/TrainingSession'\nimport User from '../../common/types/User'\n\ninterface Props {\n trainingSession: TrainingSession\n smallerHeader?: boolean\n myProfile?: User // From WithSession\n}\n\nconst TrainingSessionResultsTable: React.FunctionComponent = ({ trainingSession, myProfile, smallerHeader = false }: Props) => {\n if ((myProfile == null) || Object.keys(myProfile).length === 0) return <>\n\n const completedFillOutSessions = trainingSession.fill_out_sessions.filter(fillOutSession => fillOutSession.completed_at.length > 0)\n const anyCompleted = completedFillOutSessions.length > 0\n const anyHasResponse = completedFillOutSessions.some(fillOutSession => fillOutSession.response !== null && fillOutSession.response !== undefined)\n const zScorePeriod = myProfile.z_score_period\n\n if (!anyHasResponse || !anyCompleted) return <>\n\n return (\n
\n
\n {smallerHeader &&
{I18n.t('training_sessions.edit_training_session.results')}
}\n {!smallerHeader &&

{I18n.t('training_sessions.edit_training_session.results')}

}\n \n \n \n \n {Object.keys(GRAPHS).map(key =>\n )}\n \n \n \n {trainingSession.fill_out_sessions.map(fillOutSession => {\n return (\n \n <>\n \n {Object.keys(GRAPHS).map(key => {\n const graph = GRAPHS[key as keyof typeof GRAPHS]\n const playerValue = getPlayerValue(fillOutSession, graph)\n const orderScore: OrderScore = fillOutSession.player.order_scores[zScorePeriod] ?? {\n self_efficacy: { mean: 0, std: 1 },\n motivation: { mean: 0, std: 1 },\n mood: { mean: 0, std: 1 },\n performance: { mean: 0, std: 1 },\n enjoyment: { mean: 0, std: 1 },\n recovery: { mean: 0, std: 1 },\n intensity: { mean: 0, std: 1 },\n order_score: 1\n }\n return (\n \n {playerValue}\n \n )\n })}\n \n \n )\n })}\n \n
{I18n.t('training_sessions.edit_training_session.name')}{questionTitle(GRAPHS[key as keyof typeof GRAPHS][0])}
\n
\n
\n )\n}\n\nconst determineColorClass = (score: number | null, zScore: ZScore): string => {\n if (score === null) return ''\n if (zScore.std === 0) return 'grey-ranking'\n\n const num = (score - zScore.mean) / zScore.std\n return calculateClass(num)\n}\n\nexport default WithSession(TrainingSessionResultsTable) as typeof TrainingSessionResultsTable\n","import React, { useEffect } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport PlayerName from '../../teampro/layout/PlayerName'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport { translateTrainingMoment, translateTrainingType, translateWeekday } from '../../teampro/Utils'\nimport moment from 'moment'\nimport { fullMomentDateFormatWithTime } from '../../common/Constants'\nimport classNames from 'classnames'\nimport PinCode from '../../pin_code/PinCode'\nimport TrainingSessionResultsTable from 'components/training_sessions/layout/TrainingSessionResultsTable'\n\nconst EditTrainingSession = (props) => {\n const { match: { params: { trainingSessionId } } } = props\n const trainingSession = props.trainingSession\n\n useEffect(() => {\n props.fetchTrainingSession(trainingSessionId)\n props.fetchTeams()\n }, [])\n\n useEffect(() => {\n window.M.updateTextFields()\n })\n\n if (trainingSession === undefined || props.teams === undefined || props.teams.length === 0) return <>\n\n const weekday = translateWeekday(trainingSession.weekday)\n const trainingMoment = translateTrainingMoment(trainingSession.training_moment)\n const trainingType = translateTrainingType(trainingSession.training_type, props.teams)\n const createdAt = moment(trainingSession.created_at).format(fullMomentDateFormatWithTime)\n const scheduledAt = trainingSession.scheduled_at ? moment(trainingSession.scheduled_at).format(fullMomentDateFormatWithTime) : ''\n const addExtraQuestions = trainingSession.add_extra_questions\n const expiresAt = moment(trainingSession.expires_at).format(fullMomentDateFormatWithTime)\n const expired = moment(trainingSession.expires_at) < moment()\n const invitationState = I18n.t(`training_sessions.invitation_states.${trainingSession.invitation_state}`)\n\n const destroyFillOutSession = id => {\n props.destroyFillOutSession(id)\n .then(() => {\n props.flashMessages.push(\n I18n.t('training_sessions.flash_messages.fill_out_session_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchTrainingSession(trainingSessionId)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const showDestroyFillOutSessionDialog = id => {\n const playerName = trainingSession.fill_out_sessions.filter(fillOutSession => fillOutSession.id === id)[0].player.name\n props.setConfirmationDialog({\n onConfirmation: () => destroyFillOutSession(id),\n target: I18n.t('training_sessions.edit_training_session.destroy_fill_out_session_prompt', { player: playerName }),\n action: 'custom',\n noQuotes: true\n })\n }\n\n const trainingSessionTimeString = trainingSession => {\n if (trainingSession.scheduled_at) {\n return scheduledAt\n }\n\n return createdAt\n }\n\n const trainingSessionString = () => {\n const timeString = trainingSessionTimeString(trainingSession)\n if (trainingSession.invitation_state === 'new') {\n return `${timeString} 🕑`\n }\n return timeString\n }\n\n const renderFillOutLink = (fillOutSession) => {\n return (\n {I18n.t('training_sessions.edit_training_session.completed_at')}: {moment(fillOutSession.completed_at).format(fullMomentDateFormatWithTime)}\n )\n }\n\n const showResponse = (fillOutSession) => {\n if (fillOutSession.response === null) return\n\n props.history.push(`/responses/${fillOutSession.response.id}/edit`)\n }\n\n return (\n <>\n \n \n
\n
\n
\n

{I18n.t('training_sessions.edit_training_session.edit_training_session', { name: trainingSessionString(trainingSession) })}

\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n

\n \n

\n
\n
\n
\n
\n \n {I18n.t('training_sessions.new_training_session.invitation_state')}\n \n
\n {trainingSession.scheduled_at && (\n
\n \n \n
\n )}\n
\n \n
\n
\n
    \n
  • \n

    {I18n.t('training_sessions.edit_training_session.fill_out_sessions')}

    \n
  • \n {trainingSession.fill_out_sessions.length === 0 && (\n
    \n

    {I18n.t('training_sessions.edit_training_session.there_are_no_fill_out_sessions')}

    \n
    \n )}\n {[...trainingSession.fill_out_sessions].sort((fA, fB) => sortByCompletedAt(fA, fB)).map(fillOutSession => {\n const hasResponse = fillOutSession.response !== null\n return (\n
  • \n
    \n showResponse(fillOutSession)}\n >\n \n

    \n {fillOutSession.invited_at.length > 0 && <>{I18n.t('training_sessions.edit_training_session.invited_at')}: {moment(fillOutSession.invited_at).format(fullMomentDateFormatWithTime)}
    }\n {fillOutSession.completed_at.length > 0 && renderFillOutLink(fillOutSession)}\n {fillOutSession.completed_at.length <= 0 &&\n {I18n.t('training_sessions.edit_training_session.not_yet_completed')}}\n

    \n
    \n {hasResponse && (\n {\n e.preventDefault()\n showResponse(fillOutSession)\n }}\n >\n edit\n \n )}\n {\n e.preventDefault()\n showDestroyFillOutSessionDialog(fillOutSession.id)\n }}\n >\n delete\n \n
\n \n )\n })}\n \n
\n
\n \n
\n \n )\n}\n\nconst sortByCompletedAt = (fA, fB) => {\n if (!fA.completed_at && !fB.completed_at) {\n return 0\n } if (!fA.completed_at) {\n return -1\n } if (!fB.completed_at) {\n return 1\n }\n return 0\n}\n\nexport default WithModal(WithFlashMessages(EditTrainingSession))\n","import React from 'react'\nimport RisRouter from './Router'\nimport './IconLibrary'\nimport history from './common/History'\nimport Modal from 'react-modal'\nimport { I18nLoader } from './I18nLoader.jsx'\nimport { QueryClient, QueryClientProvider } from 'react-query'\n\nexport default class App extends React.Component {\n constructor (props) {\n super(props)\n I18nLoader.load()\n this.queryClient = new QueryClient()\n this.RegisterServiceWorker()\n }\n\n componentDidMount () {\n Modal.setAppElement('#app')\n }\n\n RegisterServiceWorker () {\n if ('serviceWorker' in navigator) {\n window.addEventListener('load', () => {\n navigator.serviceWorker.register('/service-worker.js')\n })\n }\n }\n\n render () {\n return (\n \n
\n \n
\n
\n )\n }\n}\n","import React from 'react'\nimport { WithFlashMessages } from './FlashMessageProvider'\nimport Message from './Message'\n\nclass FlashMessages extends React.Component {\n constructor (props) {\n super(props)\n this.color_map = {\n 1: 'green',\n 2: 'orange',\n 3: 'red'\n }\n }\n\n render () {\n const messages = this.props.flashMessages.messages // .sort((msg1, msg2) => msg1.type <= msg2.type)\n return (\n
\n {messages && messages.map((msg) => (\n \n ))}\n
\n )\n }\n}\n\nexport default WithFlashMessages(FlashMessages)\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class Disable extends React.Component {\n getCode () {\n return document.getElementById('2fa-code').value\n }\n\n render () {\n return (\n
\n
\n
\n

{I18n.t('components.2fa.disable.title')}

\n {this.props.error && (

{this.props.error}

)}\n
\n \n e.key === 'Enter' && this.props.transition({ two_factor_code: this.getCode() })}\n />\n
\n
\n this.props.transition({ two_factor_code: this.getCode() })}\n className='btn waves-effect waves-light text-background-color'\n >\n {I18n.t('components.2fa.disable.submit')}\n \n
\n
\n
\n )\n }\n}\n","import React, { useState } from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport ResponsesRoutes from './ResponsesRoutes'\nimport { WithSession } from '../session/SessionProvider'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\n\nconst ResponsesController = props => {\n const [responses, setResponses] = useState(undefined)\n const [pageInfo, setPageInfo] = useState(undefined)\n const [teams, setTeams] = useState([])\n const [response, setResponse] = useState(undefined)\n\n const fetchResponses = (page = 1) => {\n setResponses(undefined)\n setPageInfo(undefined)\n const result = getResponses(page)\n result\n .then(res => {\n setResponses(res.data.data)\n setPageInfo(res.data.page)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchResponse = (id) => {\n setResponse(undefined)\n const result = getResponse(id)\n result\n .then(res => { setResponse(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchTeams = () => {\n const result = getTeams()\n result\n .then(res => { setTeams(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const getTeams = () => {\n return axios.get('/api/v1/teams', { headers: { ...props.authorizationHeaders() } })\n }\n\n const getResponses = page => {\n return axios.get(`/api/v1/responses?page=${page}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const updateResponse = (id, response) => {\n return axios.patch(`/api/v1/responses/${id}`, response, { headers: { ...props.authorizationHeaders() } })\n }\n\n const getResponse = id => {\n return axios.get(`/api/v1/responses/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const destroyResponse = id => {\n return axios.delete(`/api/v1/responses/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(WithSession(ResponsesController))\n","import React, { useEffect, useMemo } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport DownloadCSV from '../../teampro/layout/DownloadCSV'\nimport { questionnaires } from '../../teampro/Constants'\nimport ExportQuestionnaires from './ExportQuestionnaires'\nimport I18n from 'i18n'\nimport PinCode from '../../pin_code/PinCode'\nimport ExportRestructured from 'components/exports/layout/ExportRestructured'\nimport ExportPolarData from 'components/exports/layout/ExportPolarData'\nimport ExportCombined from 'components/exports/layout/ExportCombined'\n\nconst ExportData = props => {\n useEffect(() => {\n props.fetchTeams()\n }, [])\n\n const questionnaireData = useMemo(() => Object.values(questionnaires).flat(), [])\n const playerData = useMemo(() => {\n const result = []\n for (const team of props.teams) {\n for (const player of team.players) {\n result.push({\n id: player.id,\n jerseyNumber: (player.jersey_number === '-1' ? '' : player.jersey_number),\n name: player.name,\n role: player.role,\n teamId: team.id,\n teamName: team.name\n })\n }\n }\n return result\n }, [props.teams])\n return (\n <>\n \n \n
\n
\n
\n
{I18n.t('exports.export_data')}
\n
\n
\n
\n
\n \n {playerData.length > 0 && }\n \n
\n
\n \n \n \n
\n
\n \n )\n}\n\nexport default ExportData\n","import React from 'react'\nimport { Link } from 'react-router-dom'\n\nconst BreadCrumbs = props => {\n return (\n \n )\n}\n\nexport default BreadCrumbs\n","import React, { useEffect } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport moment from 'moment'\nimport { shorterMomentDateFormatWithTime } from '../../common/Constants'\nimport { translateTrainingMoment, translateTrainingType, translateWeekday } from '../../teampro/Utils'\nimport { INDEPENDENT_OF_A_TRAINING } from '../../teampro/Constants'\nimport PlayerName from '../../teampro/layout/PlayerName'\nimport Spinner from '../../common/Spinner'\nimport PinCode from '../../pin_code/PinCode'\nimport Pagination from '../../common/Pagination'\n\nconst ResponsesOverview = props => {\n const page = new URLSearchParams(props.location.search).get('page') || '1'\n\n useEffect(() => {\n props.fetchTeams()\n }, [])\n\n useEffect(() => {\n props.fetchResponses(page)\n }, [page])\n\n const editResponse = id => {\n props.history.push(`/responses/${id}/edit`)\n }\n\n const destroyResponse = id => {\n props.destroyResponse(id).then(() => {\n props.flashMessages.push(\n I18n.t('responses.flash_messages.response_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchResponses(page)\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const showDestroyResponseDialog = id => {\n props.setConfirmationDialog({\n onConfirmation: () => destroyResponse(id),\n target: I18n.t('responses.overview.destroy_response_prompt'),\n action: 'custom',\n noQuotes: true\n })\n }\n\n const openedAtString = response => {\n return moment(response.opened_at).format(shorterMomentDateFormatWithTime)\n }\n\n const completedAtString = response => {\n return moment(response.completed_at).format(shorterMomentDateFormatWithTime)\n }\n\n const playerString = response => {\n return (\n \n )\n }\n\n const trainingMomentString = response => {\n return translateTrainingMoment(response.contents.trainingMoment)\n }\n\n const trainingTypeString = response => {\n return translateTrainingType(response.contents.trainingType, props.teams)\n }\n\n const trainingDayString = response => {\n return translateWeekday(response.contents.weekday)\n }\n\n const extraQuestionsString = response => {\n if (response.contents.extraQuestions && response.contents.trainingMoment && response.contents.trainingMoment !== INDEPENDENT_OF_A_TRAINING) {\n return + {I18n.t('teampro.manager.extra_questions')}\n }\n return <>\n }\n\n return (\n <>\n \n \n
\n
\n
\n

{I18n.t('menu.responses')} {props.pageInfo && props.pageInfo.current_page !== 1 && `- ${I18n.t('page')} ${props.pageInfo.current_page}`}

\n {props.responses === undefined && (\n \n )}\n {props.responses !== undefined && props.responses.length === 0 && (\n

{I18n.t('responses.overview.there_are_no_responses')}

\n )}\n {props.responses !== undefined && props.responses.length > 0 && (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {props.responses.map(response => {\n return (\n \n \n \n \n \n \n \n \n \n )\n })}\n \n
{I18n.t('responses.attributes.id')}{I18n.t('responses.attributes.opened_at')}{I18n.t('responses.attributes.completed_at')}{I18n.t('responses.attributes.player')}{I18n.t('responses.attributes.training_type')}{I18n.t('responses.attributes.training_moment')}{I18n.t('responses.attributes.actions')}
{response.id}{openedAtString(response)}{completedAtString(response)}{playerString(response)}{trainingTypeString(response)} {trainingDayString(response)}{trainingMomentString(response)}{extraQuestionsString(response)}\n {\n e.preventDefault()\n editResponse(response.id)\n }}\n >\n zoom_in\n \n {\n e.preventDefault()\n showDestroyResponseDialog(response.id)\n }}\n >\n delete\n \n
\n )}\n {props.responses !== undefined && (\n \n )}\n
\n
\n
\n
\n \n )\n}\n\nexport default WithModal(WithFlashMessages(ResponsesOverview))\n","import React from 'react'\nimport { Route } from 'react-router'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\nimport SubAccount from './SubAccount'\n\nconst SubAccountRoutes = props => {\n const { fillOutProps } = props\n return (\n \n ()}\n />\n \n )\n}\n\nexport default SubAccountRoutes\n","import React, { useState } from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport TrainingSessionsRoutes from './TrainingSessionsRoutes'\nimport { WithSession } from '../session/SessionProvider'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\n\nconst TrainingSessionsController = props => {\n const [trainingSessions, setTrainingSessions] = useState(undefined)\n const [trainingSessionsByDates, setTrainingSessionsByDates] = useState(undefined)\n const [pageInfo, setPageInfo] = useState(undefined)\n const [teams, setTeams] = useState([])\n const [trainingSession, setTrainingSession] = useState(undefined)\n const [month, setMonth] = useState(undefined)\n\n const fetchPastTrainingSessions = (page = 1) => {\n setTrainingSessions(undefined)\n setPageInfo(undefined)\n const result = getPastTrainingSessions(page)\n result\n .then(res => {\n setTrainingSessions(res.data.data)\n setPageInfo(res.data.page)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchPastTrainingSessionsByDates = (startDate, endDate) => {\n setTrainingSessionsByDates(undefined)\n const result = getPastTrainingSessionsByDates(startDate, endDate)\n result\n .then(res => {\n setTrainingSessionsByDates(res.data)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchFutureTrainingSessions = (page = 1) => {\n setTrainingSessions(undefined)\n setPageInfo(undefined)\n const result = getFutureTrainingSessions(page)\n result\n .then(res => {\n setTrainingSessions(res.data.data)\n setPageInfo(res.data.page)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchFutureTrainingSessionsByDates = (startDate, endDate) => {\n setTrainingSessionsByDates(undefined)\n const result = getFutureTrainingSessionsByDates(startDate, endDate)\n result\n .then(res => {\n setTrainingSessionsByDates(res.data)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchTrainingSession = (id) => {\n setTrainingSession(undefined)\n const result = getTrainingSession(id)\n result\n .then(res => { setTrainingSession(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchTeams = () => {\n const result = getTeams()\n result\n .then(res => { setTeams(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const getTeams = () => {\n return axios.get('/api/v1/teams', { headers: { ...props.authorizationHeaders() } })\n }\n\n const destroyTrainingSession = id => {\n return axios.delete(`/api/v1/training_sessions/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const getPastTrainingSessions = page => {\n return axios.get(`/api/v1/training_sessions?past=true&page=${page}`, { headers: { ...props.authorizationHeaders() } })\n }\n const getPastTrainingSessionsByDates = (startDate, endDate) => {\n return axios.get(`/api/v1/training_sessions/by_dates?past=true&start_date=${startDate.toISOString()}&end_date=${endDate.toISOString()}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const getFutureTrainingSessions = page => {\n return axios.get(`/api/v1/training_sessions?future=true&page=${page}`, { headers: { ...props.authorizationHeaders() } })\n }\n const getFutureTrainingSessionsByDates = (startDate, endDate) => {\n return axios.get(`/api/v1/training_sessions/by_dates?future=true&start_date=${startDate.toISOString()}&end_date=${endDate.toISOString()}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const getTrainingSession = id => {\n return axios.get(`/api/v1/training_sessions/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const destroyFillOutSession = id => {\n return axios.delete(`/api/v1/fill_out_sessions/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(WithSession(TrainingSessionsController))\n","import React from 'react'\nimport classNames from 'classnames'\n\nconst Pagination = ({ pageInfo, history }) => {\n if (!pageInfo || pageInfo.total_pages < 2) return <>\n const maxPagesToShow = 9\n // create an array with values [1 .. pageCount]\n let pagesToShow = Array.from(Array(pageInfo.total_pages + 1).keys())\n\n // remove page 0, since it is not a valid page\n pagesToShow.shift()\n\n if (pageInfo.total_pages > maxPagesToShow) {\n const currentPageIdx = pageInfo.current_page - 1\n // 1st page (index 0) is always shown, so start at least at index 1\n const minPageIdx = 1\n\n // last page (at index pageCount - 1) is always included, so end latest at pageCount - 2\n const maxPageIdx = pageInfo.total_pages - 1\n\n // prevent startIdx from going out of bounds on both sides\n const startIdx = Math.min(Math.max(currentPageIdx - Math.floor((maxPagesToShow - 2) / 2), minPageIdx), maxPageIdx)\n // we know startIdx is valid, so prevent startIdx + maxPagesToShow from going out of bounds on the right\n const endIdx = Math.min(startIdx + maxPagesToShow - 2, maxPageIdx)\n\n // if endIdx - startIdx < maxPagesToShow - 2, we need to crrect the startIdx for the difference\n // Since this case only occurs at the end of the page list, and we know that the number of pages is greater\n // than what will be shown, we can safely subtract the difference from the startIdx\n const correction = maxPagesToShow - 2 - (endIdx - startIdx)\n // apply the correction to startIdx, and add 1 to endIdx, since slice returns elements up to (but not including) the given end\n pagesToShow = pagesToShow.slice(startIdx - correction, endIdx)\n }\n // only add the first page if it is not yet in the list\n if (pagesToShow[0] !== 1) { pagesToShow.unshift(1) }\n // only add the last page if it is not yet in the list\n\n if (pagesToShow[pagesToShow.length - 1] !== pageInfo.total_pages) { pagesToShow.push(pageInfo.total_pages) }\n\n const myFetchPage = (e, page) => {\n e.preventDefault()\n history.push(`${history.location.pathname}?page=${page}`)\n }\n\n // render each page link, and add a first and last button if the current range does not include the first or last page\n return (\n
\n
\n
    \n
  • myFetchPage(e, pageInfo.current_page - 1)}>\n chevron_left\n
  • \n {pagesToShow.map(page => {\n return (\n myFetchPage(e, page)}\n >\n \n {page}\n \n \n )\n })}\n
  • myFetchPage(e, pageInfo.current_page + 1)}>\n chevron_right\n
  • \n
\n
\n
\n )\n}\n\nexport default Pagination\n","import React, { useEffect } from 'react'\nimport { changeProperty, iconForRole, trainingTypes, translateTrainingMoment } from '../Utils'\n\nconst PlayerName = (props) => {\n useEffect(() => {\n const elem = document.getElementById(`playername-selector-${props.player.id}`)\n window.M.FormSelect.init(elem)\n }, [props.player.id])\n\n const renderIcon = () => {\n if (props.completed) {\n return check\n }\n return {iconForRole(props.player.role)}\n }\n const trainingType = props.player.trainingType ? props.player.trainingType : props.trainingType\n const trainingMoment = props.player.trainingMoment ? props.player.trainingMoment : props.trainingMoment\n\n return (\n
\n {renderIcon()}\n {props.player.jersey_number !== '-1' ? props.player.jersey_number : ''} \n {props.player.name}\n {props.setTrainingMoment && (\n changeProperty(`playername-moment-selector-${props.player.id}`, props.setTrainingMoment)}\n >\n {props.trainingMoments.map(cTrainingMoment => {\n return (\n \n )\n })}\n \n )}\n {props.setTrainingType && (\n changeProperty(`playername-selector-${props.player.id}`, props.setTrainingType)}\n >\n {trainingTypes(props.teams).map(([cTrainingType, cTrainingTypeLabel]) => {\n return (\n \n )\n })}\n \n )}\n
\n )\n}\n\nexport default PlayerName\n","import React from 'react'\nimport { MyAxios as axios } from '../MyAxios'\n\nexport default class ApiConnector extends React.Component {\n constructor (props) {\n super(props)\n this.state = {}\n this.host = '' // Defaults web server host (because of axios)\n\n // TODO: This is not defined?\n /* eslint-disable no-undef */\n this.file_reader = new FileReader()\n /* eslint-enable no-undef */\n }\n\n defaultFormProps (formName, extraProps) {\n const props = {\n handleChange: this.handleChange.bind(this),\n handleSubmit: this.handleSubmit.bind(this),\n getFields: this.getFields.bind(this),\n getErrors: this.getErrors.bind(this),\n nextStage: this.nextStage.bind(this),\n getStage: this.getStage.bind(this),\n setStage: this.setStage.bind(this),\n setFieldError: this.setFieldError.bind(this),\n setFormError: this.setFormError.bind(this),\n clearFieldError: this.clearFieldError.bind(this),\n clearErrors: this.clearErrors.bind(this),\n fetch: this.fetch.bind(this),\n reset: this.reset.bind(this),\n error: (this.state[formName] && this.state[formName].error) || '',\n errors: (this.state[formName] && this.state[formName].errors) || {},\n defaults: (this.state[formName] && this.state[formName].defaults) || {},\n values: (this.state[formName] && this.state[formName].fields) || {},\n choices: (this.state[formName] && this.state[formName].choices) || {},\n stage: (this.state[formName] && this.state[formName].stage) || 0,\n pictures: (this.state[formName] && this.state[formName].pictures) || 0\n }\n return { ...props, ...extraProps, formName }\n }\n\n setFieldError (formName, fieldName, message) {\n if (formName in this.state) {\n const newState = { ...this.state }\n newState[formName].errors[fieldName] = [message]\n this.setState(newState)\n }\n }\n\n clearErrors (formName) {\n if (formName in this.state) {\n const newState = { ...this.state }\n for (const field in this.state[formName].errors) {\n newState[formName].errors[field] = []\n }\n newState[formName].error = ''\n this.setState(newState)\n }\n }\n\n clearFieldError (formName, fieldName) {\n if (formName in this.state) {\n const newState = { ...this.state }\n newState[formName].errors[fieldName] = []\n this.setState(newState)\n }\n }\n\n setFormError (formName, message) {\n if (formName in this.state) {\n const newState = { ...this.state }\n newState[formName].error = message\n this.setState(newState)\n }\n }\n\n reset (formName) {\n const newState = { ...this.state }\n newState[formName] = { fields: {}, errors: {}, defaults: {}, choices: {} }\n this.setState(newState)\n }\n\n fetch (formName, endpoints, type, cb = null) {\n const headers = { 'Content-Type': 'application/json', ...this.props.authorizationHeaders() }\n\n /* function that fetches data from each endpoint and stores it in state */\n const totalEndpoints = Object.keys(endpoints).length\n let fetchedEndpoints = 0\n Object.keys(endpoints).forEach((endpoint) => {\n axios({ method: 'GET', url: this.host + endpoint, headers }).then((response) => {\n const newState = { ...this.state }\n const fields = this.mapApiSchemaToForm(response.data, formName, endpoint)\n if (!(formName in newState)) {\n newState[formName] = { fields: {}, errors: {}, defaults: {}, choices: {} }\n }\n\n if (type === 'default') {\n Object.keys(fields).forEach((key) => {\n if (endpoints[endpoint].includes(key)) {\n newState[formName].defaults[key] = fields[key]\n newState[formName].fields[key] = fields[key]\n }\n })\n } else if (type === 'choice') {\n Object.keys(fields).forEach((key) => {\n if (endpoints[endpoint].includes(key)) {\n newState[formName].choices[key] = fields[key]\n }\n })\n }\n this.setState(newState, () => {\n fetchedEndpoints += 1\n if (fetchedEndpoints === totalEndpoints && cb) {\n cb()\n }\n })\n }).catch((err) => {\n console.log(err)\n fetchedEndpoints += 1\n if (fetchedEndpoints === totalEndpoints && cb) {\n cb()\n }\n })\n })\n\n /* execute request for each enpoint */\n }\n\n getStage (formName) {\n /* check if stage in */\n if (formName in this.state && 'stage' in this.state[formName]) {\n return this.state[formName].stage\n }\n return 0\n }\n\n nextStage (formName) {\n const newState = { ...this.state }\n const usePreviousState = formName in this.state && 'stage' in this.state[formName]\n newState[formName].stage = usePreviousState ? this.state[formName].stage : 0\n newState[formName].stage += 1\n newState[formName].errors = {}\n this.setState(newState)\n }\n\n setStage (formName, stage) {\n const newState = { ...this.state }\n if (!(formName in this.state)) {\n newState[formName] = {}\n }\n newState[formName].stage = stage\n }\n\n handleChange (e, formName, field) {\n const preState = JSON.stringify({ ...this.state })\n /* copy over old form or initialize empty fields/errors. WARNING: THIS IS A REFERENCE NOT AN ACTUAL COPY */\n const newState = { ...this.state }\n if (!(formName in newState)) {\n newState[formName] = { fields: {}, errors: {}, defaults: {}, choices: {} }\n }\n /* if its a checkbox: toggle the value, else take value from the event target */\n if (!('target' in e)) {\n // a materialize select multiple field instance\n newState[formName].fields[field] = e.getSelectedValues()\n } else if (e.target.type === 'checkbox') {\n newState[formName].fields[field] = !newState[formName].fields[field]\n } else {\n newState[formName].fields[field] = e.target.value\n }\n /* clear the errors for the changed field: user started typing so probably knows that the error is there */\n if (newState[formName].errors) {\n newState[formName].errors[field] = []\n }\n\n /* update the state to reflect the changed field's value */\n if (preState !== JSON.stringify(newState)) {\n this.setState(newState)\n }\n }\n\n /* returns the field values for the requested form */\n getFields (formName) {\n return (this.state[formName] && this.state[formName].fields) || {}\n }\n\n /* returns the field errors for the requested form */\n getErrors (formName) {\n return (this.state[formName] && this.state[formName].errors) || {}\n }\n\n /* submits the field values in the form with \n * Parameters:\n * - e: the event that triggered this submit\n * - formName: key used to access the forms values from state\n * - httpMethod: method used to submit the form (see Axios documentation)\n * - endpoint: the url to where the form data is submitted\n * - handleSuccess: function that accepts a response. Will be invoked if the API endpoint returns a 2xx status\n */\n async handleSubmit (e, formName, httpMethod, endpoint, handleSuccess, handleError, fieldsToSubmit) {\n e.preventDefault()\n if (this.state[formName] === undefined) return\n const values = JSON.parse(JSON.stringify(this.state[formName]))\n // Remove picture field if it wasn't updated, upload it otherwise\n const imageFields = Object.values(e.currentTarget.form).filter(input => input.accept === 'image/*')\n const imagesToSubmit = []\n for (let i = 0; i < imageFields.length; i++) {\n const input = imageFields[i]\n const isPromise = (this.state[formName] &&\n this.state[formName].fields &&\n this.state[formName].fields[input.name] &&\n typeof this.state[formName].fields[input.name].then === 'function')\n if (isPromise) {\n imagesToSubmit.push(this.state[formName].fields[input.name])\n } else {\n values.fields && delete values.fields[input.name]\n }\n }\n\n /* Wait for each image upload to complete */\n await Promise.all(imagesToSubmit).then((result) => {\n result.forEach(value => {\n values.fields[value[1]] = value[0].signed_id\n })\n })\n\n /* update state and submit form data */\n const newState = { ...this.state }\n for (const key in values.fields) {\n if (JSON.stringify(values.fields[key]) === JSON.stringify(values.defaults[key])) {\n delete values.fields[key]\n }\n }\n this.setState(newState)\n if (values.fields === undefined || Object.keys(values.fields).length === 0) {\n return\n }\n const requestBody = this.mapFormToApiSchema(values, formName)\n this.handleRequest(requestBody, httpMethod, endpoint, formName, handleSuccess, handleError)\n }\n\n /* selects the appropriate formMapper function on a component that extends the ApiConnector.\n * a formMapper function accepts an Object where keys are fieldNames and values are field values.\n * the mapper transforms this 'flat' structure to the structure that is expected by the Api endpoint. */\n mapFormToApiSchema (fields, formName) {\n return fields ? this[`${formName}FormMapper`](fields.fields) : {}\n }\n\n mapApiSchemaToForm (response, formName, endpoint) {\n return response ? this[`${formName}ApiMapper`](response, endpoint) : {}\n }\n\n /* performs an Axios request with the given parameters. handleSuccess is invoked with the response as its\n * first argument when the Api returns a 2xx status */\n handleRequest (body, method, endpoint, formName, handleSuccess, handleError) {\n const headers = { 'Content-Type': 'application/json', ...this.props.authorizationHeaders() }\n axios({ method, url: this.host + endpoint, headers, data: body }).then((response) => {\n const newState = { ...this.state }\n newState[formName] = { ...newState[formName], errors: {}, defaults: {}, error: '' } // reset form errors\n this.setState(newState)\n handleSuccess(response)\n }).catch((err) => {\n const newState = {}\n newState[formName] = this.state[formName] || { fields: {}, errors: {}, defaults: {}, choices: {} }\n const errors = { ...newState[formName].errors }\n err.response && err.response.data.errors && err.response.data.errors.forEach(e => Object.keys(e.detail).forEach(k => { errors[k] = e.detail[k] }))\n newState[formName].errors = errors\n newState[formName].error = err.response && err.response.data.error\n handleError(err)\n this.setState(newState)\n })\n }\n\n render () {\n return (\n
Implement me in a subclass
\n )\n }\n}\n","import React, { useState, useEffect } from 'react'\nimport I18n from 'i18n'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { WithSession } from '../../session/SessionProvider'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport classNames from 'classnames'\nimport Step1 from './step_1.png'\nimport Step2 from './step_2.png'\nimport Step3 from './step_3.png'\nimport PinCode from '../../pin_code/PinCode'\nimport { MyAxios as axios } from '../../MyAxios'\nimport { fullMomentDateFormatWithTime } from '../../common/Constants'\nimport moment from 'moment'\nimport AddToken from './AddToken'\nimport { WithModal } from '../../modal/ModalProvider'\nimport Info from '../../common/Info'\n\nconst UpdatePassword = props => {\n const [oldPassword, setOldPassword] = useState('')\n const [newPassword, setNewPassword] = useState('')\n const [confirmationPassword, setConfirmationPassword] = useState('')\n const [newPasswordValid, setNewPasswordValid] = useState(false)\n const [passwordError, setPasswordError] = useState('')\n const [duringRefresh, setDuringRefresh] = useState(false)\n const [showHowToUse, setShowHowToUse] = useState(false)\n const [pinCode, setPinCode] = useState('')\n const [pinCode2, setPinCode2] = useState('')\n const [usePinCode, setUsePinCode] = useState(false)\n const [emptyIsAllowed, setEmptyIsAllowed] = useState(false)\n\n useEffect(() => {\n window.M.updateTextFields()\n })\n\n const handleUpdatePassword = () => {\n props.onUpdatePassword(oldPassword, newPassword, confirmationPassword)\n }\n\n useEffect(() => {\n if (props.myProfile.id) {\n setUsePinCode(props.myProfile.use_pin_code)\n }\n }, [props.myProfile])\n\n // Validate new password\n useEffect(() => {\n setNewPasswordValid(newPassword.length > 0 && confirmationPassword.length > 0 && newPassword === confirmationPassword)\n if (newPassword.length > 0 && confirmationPassword.length > 0 && newPassword !== confirmationPassword) {\n setPasswordError(I18n.t('profile.edit.reset_password.errors.passwords_must_match'))\n } else {\n setPasswordError('')\n }\n }, [newPassword, confirmationPassword])\n\n useEffect(() => {\n setDuringRefresh(false)\n }, [props.myProfile])\n\n const apiUrl = () => {\n return `${process.env.HOST_URL}/api/v1/responses/all.json`\n }\n\n const regenerateApiToken = () => {\n if (duringRefresh) return\n setDuringRefresh(true)\n props.onRegenerateApiToken()\n }\n\n const updatePinCode = () => {\n if (pinCode.length === 0) return\n\n props.onUpdateUser({ pin_code: pinCode })\n }\n\n const updateUsePinCode = (e) => {\n setUsePinCode(e.target.checked)\n props.onUpdateUser({ use_pin_code: e.target.checked })\n }\n\n useEffect(() => {\n axios.post('/api/v1/pin_codes/check', { pin_code: '' }, {\n headers: { ...props.authorizationHeaders() }\n }).then(res => {\n if (res.data?.verified) {\n setEmptyIsAllowed(true)\n }\n })\n }, [props.myProfile?.use_pin_code])\n\n const changePinCode = e => {\n setEmptyIsAllowed(e.target.value.length === 0)\n setPinCode(e.target.value)\n }\n\n const showDestroySubTokenDialog = subToken => {\n props.setConfirmationDialog({\n onConfirmation: () => props.destroyToken(subToken.id),\n target: `sub-account ${subToken.description}`,\n action: 'delete',\n noQuotes: true\n })\n }\n\n const authorizePolarAccount = `https://auth.polar.com/oauth/authorize?client_id=${process.env.POLAR_CLIENT_ID}&response_type=code&scope=team_read`\n\n const deauthorizePolarAccount = () => {\n props.setConfirmationDialog({\n onConfirmation: () => props.destroyPolarToken(),\n target: 'Polar account',\n action: 'delete_polar_token',\n noQuotes: true\n })\n }\n\n return (\n <>\n \n \n
\n
\n
\n

{I18n.t('profile.edit.logged_in_as')} {props.myProfile.email}

\n
\n
\n
\n
\n setOldPassword(e.target.value)} />\n \n
\n
\n
\n
\n setNewPassword(e.target.value)} />\n \n
\n
\n setConfirmationPassword(e.target.value)} />\n \n {\n passwordError.length > 0 && (\n \n {passwordError}\n \n )\n }\n
\n
\n
\n
\n \n {I18n.t('profile.edit.reset_password.submit')}\n \n
\n
\n
\n
\n
{I18n.t('profile.edit.pin_code')}
\n
\n
\n
\n

\n \n

\n
\n
\n {usePinCode && (\n
\n
\n \n \n
\n
\n setPinCode2(e.target.value)} />\n \n
\n
\n \n
\n
\n )}\n
\n
\n
\n
{I18n.t('profile.edit.api_access')}
\n
\n
\n

{I18n.t('profile.edit.username')}:
admin

\n

{I18n.t('profile.edit.password')}:
{props.myProfile.api_token}\n \n

\n

URL:
{apiUrl()}

\n
\n
\n \n {showHowToUse && (\n
    \n
  1. In Excel, click on Data → Get Data → From Other Sources → From Web

  2. \n
  3. Enter the following value in the URL textbox: {apiUrl()}

  4. \n
  5. Click on Basic, then enter as User name admin and as Password {props.myProfile.api_token} and then click on Connect.

  6. \n
\n )}\n
\n
\n
\n
\n
{I18n.t('profile.edit.sub_accounts')}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n {props.myProfile?.sub_tokens && props.myProfile.sub_tokens.map(subToken => (\n \n \n \n \n \n \n ))}\n \n
{I18n.t('sub_tokens.new_token.description')}{I18n.t('sub_tokens.expires_at')}{I18n.t('sub_tokens.last_used_at')}{I18n.t('sub_tokens.actions')}
{subToken.description ? subToken.description : {I18n.t('sub_tokens.no_description')}}{subToken.expires_at ? moment(subToken.expires_at).format(fullMomentDateFormatWithTime) : {I18n.t('sub_tokens.never')}}{subToken.last_used_at ? moment(subToken.last_used_at).format(fullMomentDateFormatWithTime) : {I18n.t('sub_tokens.never')}}\n {\n e.preventDefault()\n showDestroySubTokenDialog(subToken)\n }}\n >\n delete\n \n
\n {(!props.myProfile?.sub_tokens || props.myProfile.sub_tokens.length === 0) && (\n

\n {I18n.t('sub_tokens.none')}\n

\n )}\n
\n
\n \n {process.env.POLAR_ENABLED === 'true' && (\n <>\n
\n
\n
{I18n.t('profile.edit.polar_team_pro_integration')}
\n
\n
\n
\n
\n {!props.myProfile.has_polar_token && (\n \n link{' '}\n {I18n.t('profile.edit.authorize_polar_account')}\n \n )}\n {props.myProfile.has_polar_token && (\n \n delete{' '}\n {I18n.t('profile.edit.deauthorize_polar_account')}\n \n )}\n
\n
\n \n )}\n
\n
\n \n )\n}\n\nexport default WithModal(WithSession(UpdatePassword))\n","import React from 'react'\nimport classNames from 'classnames'\nimport { optionalTranslate } from '../Utils'\n\nconst Checkbox = (props) => {\n const renderCheckbox = () => {\n const setChecked = (value, checked) => {\n let newValue = props.value\n if (newValue === undefined) {\n newValue = []\n }\n if (checked && !newValue.includes(value)) {\n newValue.push(value)\n } else if (!checked && newValue.includes(value)) {\n newValue = newValue.filter(curVal => curVal !== value)\n }\n if (newValue.length === 0) {\n newValue = undefined\n }\n props.setValue(newValue)\n }\n\n return (\n <>\n {props.options.map(option => {\n if (typeof option !== 'object') {\n option = { value: option, label: option }\n }\n return (\n

\n \n

\n )\n })}\n \n )\n }\n const translatedLabel = optionalTranslate(props.label)\n\n return (\n
\n
{ if (props.showErrors) { props.setShowErrors(false) } }}>\n
\n
{translatedLabel}
\n
\n
\n {renderCheckbox()}\n
\n
\n
\n )\n}\n\nexport default Checkbox\n","import React from 'react'\nimport { Parser } from 'json2csv'\nimport { CSVLink } from 'react-csv'\n\nconst DownloadCSV = (props) => {\n if (!props.data) {\n return <>\n }\n\n const opts = { delimiter: ';' }\n const parser = new Parser(opts)\n const csvData = parser.parse(props.data).split(/\\r?\\n/)\n const headers = csvData[0].split(';')\n const data = csvData.slice(1).join('\\n')\n return (\n \n file_download\n {props.name}\n \n )\n}\n\nexport default DownloadCSV\n","import React from 'react'\nimport { Redirect } from 'react-router'\nimport I18n from 'i18n'\nimport FormFactory from '../../helpers/FormFactory'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { Link } from 'react-router-dom'\nimport { I18nLoader } from '../../I18nLoader'\nimport { PIN_CODE } from '../../pin_code/PinCode'\n\nclass Login extends FormFactory {\n constructor (props) {\n super(props)\n this.form_fields = {\n email: {\n component: 'field',\n stage: {\n render: [0],\n submit: [0, 1]\n },\n properties: {\n type: 'email',\n autoComplete: 'on'\n }\n },\n password: {\n component: 'field',\n stage: {\n render: [0],\n submit: [0, 1]\n },\n properties: {\n type: 'password',\n autoComplete: 'on'\n }\n },\n otp_attempt: {\n component: 'field',\n stage: {\n render: [1],\n submit: [1]\n },\n properties: {\n type: 'text'\n }\n }\n }\n this.state = {}\n }\n\n componentDidMount () {\n this.props.setHeight(554)\n }\n\n handleSuccess (response) {\n if ('authorization' in response.headers) {\n this.props.updateSession({ sessionToken: response.headers.authorization, myProfile: response.data })\n I18nLoader.loadAsync().then((I18n) => {\n this.props.flashMessages.push(\n I18n.t(\n 'flashmessages.login.successful'\n ),\n this.props.flashMessages.duration.SHORT,\n this.props.flashMessages.levels.INFO\n )\n // We get the location from the devise controller. If the user has not\n // logged in too many times before, we redirect him or her to their\n // profile page.\n window.localStorage.setItem(PIN_CODE, PIN_CODE)\n this.props.history.push('/')\n })\n } else {\n if (this.props.getStage(this.props.formName) === 1) {\n /* Backend responded with a 2xx status, but no authorization header\n was present which means that authentication failed. Since we are\n in the second stage (stage 0 = first stage), there must have been\n an invalid OTP code */\n this.handleInvalidOtp('login.otp_attempt.invalid')\n } else {\n this.props.nextStage(this.props.formName) /* go to next stage because 2FA steps required */\n }\n }\n }\n\n handleClick () {\n this.props.setStage(this.props.formName, 0)\n }\n\n handleFieldError (field, message) {\n this.props.setFieldError(this.props.formName, field, message)\n }\n\n handleError (error) {\n if (error.response.data.account_locked) {\n this.handleFieldError(this.props.getStage(this.props.formName) === 1 ? 'otp_attempt' : 'email', 'login.otp_attempt.locked')\n } else {\n this.props.clearFieldError(this.props.formName, 'email')\n if (this.props.getStage(this.props.formName) === 1) {\n this.handleFieldError('otp_attempt', 'login.otp_attempt.invalid')\n }\n }\n }\n\n render () {\n return (\n <>\n
\n {this.props.sessionToken !== 'null' && !!this.props.sessionToken && ()}\n {this.props.error &&
{this.props.error}
}\n {this.renderFields()}\n {this.renderSubmit(`${this.props.formName}.submit`, { id: 'login-button', className: 'btn waves-effect waves-light' })}\n {this.props.stage !== 0 &&
}\n \n
\n
\n
    \n {this.props.stage === 0 && (\n
  • \n \n {I18n.t('login.link.forgot_password')}\n \n
  • \n )}\n {this.props.stage === 1 && (\n
  • \n \n {I18n.t('login.lost_authenticator')}\n \n
  • \n )}\n {this.props.stage === 0 && (\n
  • \n \n {I18n.t('login.link.register')}\n \n
  • \n )}\n
\n
\n
\n \n )\n }\n}\n\nexport default WithFlashMessages(Login)\n","import React from 'react'\nimport NotFoundProvider from './NotFoundProvider'\nimport LoggedInRedirector from '../login_wrapper/LoggedInRedirector'\nimport TeamProRoutes from '../teampro/TeamProRoutes'\nimport TeamsController from '../teams/TeamsController'\nimport TrainingSessionsController from '../training_sessions/TrainingSessionsController'\nimport ResponsesController from '../responses/ResponsesController'\nimport PasswordController from '../password/PasswordController'\nimport ExportsController from '../exports/ExportsController'\nimport FillOutSessionController from '../fillout_session/FillOutSessionController'\nimport VisualizationsController from '../visualizations/VisualizationsController'\nimport SubAccountController from '../sub_account/SubAccountController'\nimport CallbackController from 'components/callback/CallbackController'\n\nexport default class LoggedInRouter extends React.Component {\n render () {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n}\n","export const datePickerDefaultOptions = Object.freeze({\n dateFormat: 'dd-MM-yyyy',\n showYearDropdown: true,\n showMonthDropdown: true,\n isClearable: true\n})\n\nexport const dateAndTimePickerDefaultOptions = Object.freeze({\n dateFormat: 'dd-MM-yyyy HH:mm',\n showYearDropdown: true,\n showMonthDropdown: true,\n showTimeSelect: true,\n timeIntervals: 10\n})\n\nexport const shorterMomentDateFormatWithTime = 'DD-MM-YYYY HH:mm'\nexport const fullMomentDateFormatWithTime = 'dddd LLL'\nexport const fullMomentDateFormat = 'dddd LL'\n\n// TODO: use default highcharts options from quest-front-end\nexport const hcOrange = '#fa8832'\nexport const hcDarkOrange = '#da6105'\nexport const hcLightGreen = '#daeada'\nexport const hcGreen = '#0a720a'\nexport const hcRed = '#be1111'\nexport const hcBlack = '#34393c'\n\nexport const hcLightGrey = '#F3F3F3'\nexport const hcDarkGrey = '#b2b2b2'\nexport const hcFadedRed = '#E46151'\nexport const hcBlue = '#41B5E9'\n\nexport const hcDayPartColor = '#08306b'\nexport const hcTypeColor = '#00441b'\nexport const hcSessionColor = '#67000d'\n\nexport const hcInactiveIconColor = '#dcdcdc'\nexport const hcTitleColor = '#333'\nexport const hcSubTitleColor = '#444'\nexport const hcAxisLabelColor = '#666'\n\nexport const hcTitleFont = '\"Raleway\", arial, sans-serif'\nexport const hcChartFont = '\"Open Sans\", arial, sans-serif'\n\nexport const hcTitleFontSize = 18\nexport const hcTitleLineHeight = 1\nexport const hcTitlefontWeight = 'bold'\n\nexport const hcAxisFontSize = 16.8 // For the labels, not for the ticks\n\nexport const highchartsThemeElementary = Object.freeze({\n chart: {\n style: {\n color: hcTitleColor,\n fontFamily: hcChartFont\n },\n height: 600\n },\n title: {\n style: {\n fontFamily: hcTitleFont,\n fontWeight: 'bold'\n }\n },\n subtitle: {\n style: {\n fontFamily: hcTitleFont,\n fontWeight: '100'\n }\n },\n plotOptions: {\n series: {\n states: {\n inactive: {\n opacity: 0.7\n }\n }\n }\n },\n legend: {\n enabled: false,\n align: 'right',\n verticalAlign: 'bottom'\n },\n xAxis: {\n gridLineWidth: 1,\n gridLineColor: hcLightGrey,\n lineColor: hcLightGrey,\n minorGridLineColor: hcLightGrey,\n tickColor: hcLightGrey,\n tickWidth: 1\n },\n yAxis: {\n gridLineColor: hcLightGrey,\n lineColor: hcLightGrey,\n minorGridLineColor: hcLightGrey,\n tickColor: hcLightGrey,\n tickWidth: 1\n },\n credits: {\n enabled: false\n },\n tooltip: {\n crosshairs: false,\n outside: true\n },\n global: {\n useUTC: false\n }\n})\n\n// Visualizations\nexport const ostrcSumField = 'vOSTRC'\nexport const emiSumField = 'vEMI'\nexport const emhSumField = 'vEMH'\n\nexport const QUESTION_MAPPING = Object.freeze({\n v0: 'coaching',\n v1: 'emh_training1', // training 1\n v2: 'self_efficacy_training', // training\n v3: 'motivation_training', // training\n v4: 'mood_training', // training\n v5: 'emi_training1', // training 1\n v6: 'performance_training', // training\n v7: 'enjoyment_training', // training\n v8: 'emi_training2', // training 2\n v9: 'emh_match', // match\n v10: 'self_efficacy_match', // match\n v11: 'motivation_match', // match\n v12: 'mood_match', // match\n v13: 'emi_match', // match\n v14: 'performance_match', // match\n v15: 'enjoyment_match', // match\n v16: 'special_event', // special event\n v17: 'valence_spec_event',\n v18: 'relation_spec_event',\n v19: 'ostrc1',\n v20: 'ostrc2',\n v21: 'ostrc3',\n v22: 'ostrc4',\n [ostrcSumField]: 'ostrc_sum',\n [emiSumField]: 'emi_sum',\n [emhSumField]: 'emh_sum'\n})\n\nexport const trainingFields = ['v1', 'v2', 'v3', 'v4', 'v5', 'v6', 'v7', 'v8']\nexport const matchFields = ['v9', 'v10', 'v11', 'v12', 'v13', 'v14', 'v15']\nexport const specialEventFields = ['v17'] // also 16 and 18\nexport const ostrcFields = ['v19', 'v20', 'v21', 'v22']\nexport const emiFields = ['v5', 'v8', 'v13']\nexport const emhFields = ['v1', 'v9']\n","import React from 'react'\n\nimport Modal from './Modal'\nimport ConfirmationDialog from './ConfirmationDialog'\n\nconst ModalContext = React.createContext()\n\nexport class ModalProvider extends React.Component {\n constructor (props) {\n super(props)\n\n this.defaultState = {\n Component: () => (<>),\n componentProps: {},\n confirmationDialogProps: {},\n show: false\n }\n this.state = this.defaultState\n this.windowScrollY = 0\n\n this.modal = React.createRef()\n this.modalComponent = Modal\n }\n\n focus () {\n if (this.modal.current) {\n // window.scrollTo(0, 0)\n }\n }\n\n componentDidUpdate (prevProps, prevState) {\n this.focus()\n }\n\n // Make sure that the dialog doesn't change the vertical scroll position,\n // and that the background of the modal dialog is not scrollable.\n fixTheBody () {\n document.body.style.position = 'fixed'\n document.body.style.width = '100vw'\n document.body.style.top = `-${this.windowScrollY}px`\n }\n\n unFixTheBody () {\n const scrollY = document.body.style.top\n document.body.style.position = ''\n document.body.style.top = ''\n document.body.style.width = ''\n window.scrollTo(0, parseInt(scrollY || '0') * -1)\n }\n\n handleSetComponent (component, props = {}) {\n this.windowScrollY = window.scrollY\n this.modalComponent = Modal\n this.setState({ Component: component, componentProps: props, show: true }, this.fixTheBody.bind(this))\n }\n\n handleSetConfirmationDialog (props = {}) {\n this.windowScrollY = window.scrollY\n this.modalComponent = ConfirmationDialog\n this.setState({ confirmationDialogProps: props, show: true }, this.fixTheBody.bind(this))\n }\n\n handleShow () {\n this.windowScrollY = window.scrollY\n this.setState({ ...this.state, show: true }, this.fixTheBody.bind(this))\n }\n\n handleHide () {\n this.setState(this.defaultState, this.unFixTheBody.bind(this))\n }\n\n // eslint-disable-next-line camelcase\n UNSAFE_componentWillMount () {\n this.unFixTheBody()\n }\n\n render () {\n const { Component, componentProps, show } = this.state\n return (\n \n {this.props.children}\n {show && (\n \n \n )}\n \n )\n }\n}\n\nexport const WithModal = Component => props => {\n return (\n \n {(context) => ()}\n \n )\n}\n","import React from 'react'\nimport classNames from 'classnames'\nimport I18n from 'i18n'\n\nconst Locale = (props) => {\n const title = () => {\n if (I18n.locale === 'nl') {\n return 'Switch to English'\n }\n return 'Verander naar Nederlands'\n }\n\n return (\n props.setLocale(I18n.locale === 'nl' ? 'en' : 'nl')}\n title={title()}\n >\n  \n
\n )\n}\n\nexport default Locale\n","import React from 'react'\nimport { Router, Route } from 'react-router-dom'\n\nimport { SessionProvider } from './session/SessionProvider'\nimport { CookiesProvider } from 'react-cookie'\nimport { FlashMessageProvider } from './flashmessages/FlashMessageProvider'\nimport { ModalProvider } from './modal/ModalProvider'\nimport Session from './session/Session'\nimport { BackendProvider } from './backend/BackendProvider'\n\nclass RisRouter extends Router {\n componentDidMount () {\n window.M.Tabs.init(document.getElementById('tabs'), {})\n }\n\n render () {\n return (\n \n \n \n \n \n \n } />\n \n \n \n \n \n \n )\n }\n}\n\nexport default RisRouter\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class SelectMultiple extends React.Component {\n componentDidMount () {\n const elems = document.querySelectorAll(`#${this.props.id}`)\n window.M.FormSelect.init(elems)\n }\n\n componentDidUpdate (prevProps) {\n /* reinit materialize select if API returned new set of choices or set of default values */\n const initDefaultValue = !(\n this.props.defaultValue &&\n prevProps.defaultValue &&\n prevProps.defaultValue.size === this.props.defaultValue.size &&\n [...prevProps.defaultValue].every(value => this.props.defaultValue.includes(value))\n )\n\n const initChoices = !(\n this.props.choices &&\n prevProps.choices &&\n Object.keys(prevProps.choices).length === Object.keys(this.props.choices).length &&\n Object.keys(prevProps.choices).every(value => value in this.props.choices)\n )\n\n if (initChoices || initDefaultValue) {\n const elems = document.querySelectorAll(`#${this.props.id}`)\n window.M.FormSelect.init(elems)\n }\n }\n\n render () {\n const errors = this.props.errors || []\n const { component, type, fieldName, choices, formName, defaultValue, currentValue, noWrapper, noTranslate } = this.props\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.choices\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n delete fieldProps.noWrapper\n delete fieldProps.noTranslate\n\n /* valueProp should be an empty object if there is no current and no default value.\n * This prevents the value from from being given to an empty field when its used\n * together with the spread operator (...) */\n const valueProp = {}\n if (currentValue) {\n valueProp.value = currentValue.map((val) => parseInt(val))\n } else if (defaultValue) {\n valueProp.value = defaultValue\n }\n const result = (\n
\n {errors.map((err, i) => (\n
\n {this.props.translateErrors ? I18n.t(err) : err}\n
\n ))}\n \n \n
\n )\n if (noWrapper) {\n return result\n }\n return (\n
\n
\n {result}\n
\n
\n )\n }\n}\n","import React from 'react'\nimport { Route } from 'react-router'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\nimport Callback from './Callback'\n\nconst CallbackRoutes = props => {\n const { callbackProps } = props\n return (\n \n ()}\n />\n \n )\n}\n\nexport default CallbackRoutes\n","import React from 'react'\nimport { Route } from 'react-router'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\nimport ExportData from './layout/ExportData'\n\nconst ExportsRoutes = (props) => {\n const { exportDataProps } = props\n return (\n \n ()}\n />\n \n )\n}\n\nexport default ExportsRoutes\n","import React from 'react'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { WithSession } from '../../session/SessionProvider'\nimport I18n from 'i18n'\n\nimport { MyAxios as axios } from '../../MyAxios'\n\nclass Confirmation extends React.Component {\n constructor (props) {\n super(props)\n this.state = { message: I18n.t('flashmessages.confirmation.processing') }\n }\n\n locationParam (key) {\n let paramIdx = -1\n const params = this.props.location.search.replace('?', '').split('=')\n\n params.forEach((str, i) => {\n if (str === key) {\n paramIdx = i + 1\n }\n })\n return paramIdx >= 0 ? params[paramIdx] : null\n }\n\n componentDidMount () {\n this.props.updateSession({ sessionToken: '' })\n this.props.setHeight(100)\n\n axios({ url: `/api/v1/confirmation?confirmation_token=${this.locationParam('confirmation_token')}`, method: 'GET' }).then((success) => {\n this.props.flashMessages.push(\n I18n.t('flashmessages.confirmation.successful'),\n this.props.flashMessages.duration.SHORT,\n this.props.flashMessages.levels.INFO)\n this.props.history.push('/')\n }).catch((err) => {\n console.log('An error occurent when activating your account:')\n console.log(err)\n this.setState({ message: I18n.t('flashmessages.confirmation.failed') })\n })\n }\n\n render () {\n const { message } = this.state\n return (\n \n {message}\n \n )\n }\n}\n\nexport default WithFlashMessages(WithSession(Confirmation))\n","import { WithSession } from './SessionProvider'\nimport { withCookies } from 'react-cookie'\nimport React from 'react'\nimport { Route, Switch } from 'react-router-dom'\nimport LoginWrapper from '../login_wrapper/LoginWrapper'\n\nclass Session extends React.Component {\n wrapperClassnames (isLoggedIn) {\n return isLoggedIn ? '' : 'logout'\n }\n\n render () {\n const isLoggedIn = this.props.session.isValid()\n const loggedOutClass = this.wrapperClassnames(isLoggedIn)\n const bodyContainer = document.querySelectorAll('body')[0]\n bodyContainer.className = loggedOutClass\n\n const loginWrapper = \n\n if (!process.env.LOGIN_REDIRECT_URL || isLoggedIn) {\n return loginWrapper\n }\n\n return (\n \n {\n window.location.href = process.env.LOGIN_REDIRECT_URL\n return null\n }}\n />\n\n loginWrapper} />\n \n )\n }\n}\n\nexport default WithSession(withCookies(Session))\n","import _ from 'lodash'\n\nexport function round (number, decimalPlaces = 0) {\n return Math.round(number * 10 ** decimalPlaces) / 10 ** decimalPlaces\n}\n\nexport function smartRounding (value, decimalPlaces = 0) {\n const smartDecimalPlaces = (value % 1 !== 0 || decimalPlaces < 1) ? decimalPlaces : decimalPlaces - 1\n return round(value, smartDecimalPlaces)\n}\n\nexport function unCorrectedStandardDeviation (values) {\n const avg = average(values)\n\n const squareDiffs = values.map(function (value) {\n const diff = value - avg\n const sqrDiff = diff * diff\n return sqrDiff\n })\n\n const avgSquareDiff = average(squareDiffs)\n\n const stdDev = Math.sqrt(avgSquareDiff)\n return stdDev\n}\n\nexport function standardDeviation (numbersArr) {\n let total = 0\n for (const key in numbersArr) { total += numbersArr[key] }\n const meanVal = total / numbersArr.length\n let SDprep = 0\n for (const key2 in numbersArr) { SDprep += Math.pow((parseFloat(numbersArr[key2]) - meanVal), 2) }\n const SDresult = Math.sqrt(SDprep / (numbersArr.length - 1))\n return SDresult\n}\n\nexport function average (data) {\n const sum = data.reduce(function (sum, value) {\n return sum + value\n }, 0)\n\n const avg = sum / data.length\n return avg\n}\n\nexport const movingAverageKernel = (windowSize) => {\n return function (v, index, array) {\n return _.slice(array, Math.max(0, index + 1 - windowSize), index + 1)\n }\n}\n\nexport const movingAverage = (array, windowSize) => {\n return _.chain(array)\n .map(movingAverageKernel(windowSize))\n .map(_.mean)\n .value()\n}\n\nexport function bin (array, binSize) {\n const totalBins = Math.floor(array.length / binSize)\n const bins = []\n for (let iBin = 0; iBin < totalBins; iBin++) {\n const bin = _.slice(array, iBin * binSize, (iBin + 1) * binSize)\n bins.push(bin)\n }\n\n // Add remaining elements to last bin\n if (array.length % binSize !== 0) {\n const remainingElements = _.slice(array, totalBins * binSize)\n bins[totalBins - 1].push(...remainingElements)\n }\n\n return bins\n}\n\nexport function binnedAverage (array, binSize) {\n const bins = bin(array, binSize)\n return bins.map((bin) => { return (average(bin)) })\n}\n\nexport function sum (arr) {\n return arr.reduce((a, b) => a + b, 0)\n}\n\nexport function unique (arr) {\n return arr.filter((v, i, s) => s.indexOf(v) === i)\n}\n\n/* For a given date, get the ISO week number\n *\n * Based on information at:\n *\n * http://www.merlyn.demon.co.uk/weekcalc.htm#WNR\n *\n * Algorithm is to find nearest thursday, it's year\n * is the year of the week number. Then get weeks\n * between that date and the first day of that year.\n *\n * Note that dates in one year can be weeks of previous\n * or next year, overlap is up to 3 days.\n *\n * e.g. 2014/12/29 is Monday in week 1 of 2015\n * 2012/1/1 is Sunday in week 52 of 2011\n */\nexport function getWeekNumber (d) {\n // Copy date so don't modify original\n d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()))\n // Set to nearest Thursday: current date + 4 - current day number\n // Make Sunday's day number 7\n d.setUTCDate(d.getUTCDate() + 4 - (d.getUTCDay() || 7))\n // Get first day of year\n const yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1))\n // Calculate full weeks to nearest Thursday\n const weekNo = Math.ceil((((d - yearStart) / 86400000) + 1) / 7)\n // Return array of year and week number\n return [d.getUTCFullYear(), weekNo]\n}\n\n/* Divides an array (data) into zones according to the limits (limits) and returns the number of counts per zone.\n * Limits is an array of floats determining the bounds of each zone. The first value is the lower bound of the first\n * zone. The last value is the higher bound of the last zone. E.g. for a 3 zone division between 60% and 100% limits\n * could look like:\n * [60, 70, 80, 100]\n * Lower bounds are inclusive and upper bounds exclusive.\n */\nexport function getZoneCount (limits, data) {\n const zoneCount = []\n for (let idx = 1; idx < limits.length; idx += 1) {\n zoneCount.push(data.filter(d => d >= limits[idx - 1] && d < limits[idx]).length)\n }\n return zoneCount\n}\n\nexport function getCumulativeDistribution (distributions) {\n const cumulative = [0]\n distributions.forEach(v => {\n cumulative.push(cumulative[cumulative.length - 2] + v)\n })\n cumulative.shift()\n return cumulative\n}\n\n// Gets an array were each element represents the counts of a bin an normalizes the counts such that they add up to 100%\nexport function normalizeHistogram (histogram) {\n const totalSamples = _.sum(histogram) || 1\n return histogram.map(h => h / totalSamples * 100)\n}\n","import React, { useEffect } from 'react'\nimport Spinner from '../common/Spinner'\n\nconst SubAccount = props => {\n const { match: { params: { subTokenId, subTokenToken } } } = props\n\n useEffect(() => {\n props.fetchSession(subTokenId, subTokenToken)\n }, [])\n\n return (\n <>\n

Loading session...

\n \n \n )\n}\n\nexport default SubAccount\n","import React from 'react'\nimport Logo from './images/logo.png'\nimport I18n from 'i18n'\n\nexport default class FallbackComponent extends React.Component {\n render () {\n return (\n
\n
\n
\n \n
\n

{I18n.t(`errors.${this.props.message || 'generic'}`)}


\n

{I18n.t('errors.return')}.

\n
\n
\n
\n
\n )\n }\n}\n","import React, { useEffect } from 'react'\nimport Logo from './logo.svg'\nimport PlayerName from './PlayerName'\nimport { INDEPENDENT_OF_A_TRAINING, COACH } from '../Constants'\nimport I18n from 'i18n'\nimport { WithSession } from '../../session/SessionProvider'\nimport { Link } from 'react-router-dom'\nimport Locale from './Locale'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { translateTrainingMoment, translateTrainingType, translateWeekday } from '../Utils'\nimport classNames from 'classnames'\n\nconst Header = (props) => {\n useEffect(() => {\n deleteDomObjects('.sidenav-overlay')\n deleteDomObjects('.drag-target')\n const elems = document.querySelectorAll('.sidenav')\n window.M.Sidenav.init(elems, {})\n }, [props.onManagerInterface])\n\n const renderPlayer = cplayer => {\n let extraProps = {}\n if (props.trainingType && props.setTrainingType) {\n extraProps = {\n setTrainingType: props.setTrainingType,\n trainingType: props.trainingType,\n teams: props.teams\n }\n }\n return (\n
  • \n
    \n \n
    \n
  • \n )\n }\n\n const getTrainingType = () => {\n if (props.player) {\n return props.getPlayerTrainingType(props.player)\n }\n return props.trainingType\n }\n\n const getTrainingMoment = () => {\n if (props.player) {\n return props.getPlayerTrainingMoment(props.player)\n }\n return props.trainingMoment\n }\n\n const hideOverlays = () => {\n document.querySelectorAll('.sidenav-overlay').forEach(sidenav => {\n sidenav.style.display = 'none'\n sidenav.style.opacity = 0\n })\n document.querySelectorAll('body').forEach(body => {\n body.style.overflow = null\n })\n }\n\n const deleteDomObjects = query => {\n document.querySelectorAll(query).forEach(elem => {\n elem.parentNode.removeChild(elem)\n })\n }\n\n const logOut = () => {\n hideOverlays()\n props.handleLogout()\n }\n\n const showLogOutDialog = e => {\n e.preventDefault()\n props.setConfirmationDialog({\n onConfirmation: logOut,\n target: I18n.t('menu.prompt.log_out'),\n action: 'custom',\n noQuotes: true\n })\n }\n\n const renderMenu = () => {\n if (!props.showOnlyLogOut) {\n return (\n <>\n
  • hideOverlays()}>{I18n.t('menu.edit_teams')}
  • \n
  • hideOverlays()}>{I18n.t('menu.training_sessions')}\n
  • \n
  • hideOverlays()}>{I18n.t('menu.responses')}
  • \n
  • hideOverlays()}>{I18n.t('menu.visualizations')}
  • \n
  • hideOverlays()}>{I18n.t('menu.export_data')}
  • \n
  • hideOverlays()}>{I18n.t('menu.account')}
  • \n
  • {I18n.t('menu.log_out')}
  • \n \n )\n }\n return
  • {I18n.t('menu.log_out')}
  • \n }\n\n return (\n <>\n {props.onManagerInterface && (\n <>\n \n
      \n {renderMenu()}\n
    \n \n )}\n {!props.onManagerInterface && props.onGoToManagerInterface && (\n settings\n )}\n
    \n
    \n
    \n \n
    \n
    \n {I18n.t('teampro.slogan.part_1')}\n  {I18n.t('teampro.slogan.part_2')} \n {I18n.t('teampro.slogan.part_3')}\n
    \n
    \n {(props.trainingType || props.weekday || props.trainingMoment) && (\n

    \n {props.trainingType && {translateTrainingType(getTrainingType(), props.teams)} }\n {props.weekday && <>{translateWeekday(props.weekday)}
    }\n {props.trainingMoment && {translateTrainingMoment(getTrainingMoment())}}\n {props.extraQuestions && props.trainingMoment && getTrainingMoment() !== INDEPENDENT_OF_A_TRAINING && + {I18n.t('teampro.manager.extra_questions')}}\n

    \n )}\n
    \n
    \n \n {props.player && props.player.role !== COACH && (\n
    \n
    \n {props.setPlayer && {I18n.t('teampro.player.click_below_to_select_different_player')}}\n
      props.setPlayer && props.setPlayer(undefined)}>\n {renderPlayer(props.player)}\n
    \n
    \n
    \n )}\n
    \n \n )\n}\n\nexport default WithModal(WithSession(Header))\n","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\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 = 35358;","import React, { useRef, useState } from 'react'\nimport Slider from './Slider'\nimport Radio from './Radio'\nimport Checkbox from './Checkbox'\nimport Textfield from './Textfield'\nimport Battery from './Battery'\nimport { scrollToRef } from '../Utils'\n\nconst Question = (props) => {\n const myRef = useRef(null)\n if (props.scrollTo) {\n setTimeout(() => scrollToRef(myRef), 50)\n }\n\n const [showErrors, setShowErrors] = useState(undefined)\n\n const { showErrors: propsShowErrors, type, ...theRest } = props\n if (propsShowErrors && !showErrors) {\n setShowErrors(true)\n }\n const sharedProps = {\n showErrors,\n setShowErrors: value => setShowErrors(value),\n myRef\n }\n switch (type) {\n case 'slider':\n return \n case 'radio':\n return \n case 'checkbox':\n return \n case 'textfield':\n return \n case 'battery':\n return \n default:\n console.error(`Unknown question type: ${type}`)\n return <>\n }\n}\n\nexport default Question\n","import React, { useEffect, useState } from 'react'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport PlayerInterface from './layout/PlayerInterface'\nimport ManagerInterface from './layout/ManagerInterface'\nimport { COACH } from './Constants'\nimport Header from './layout/Header'\nimport { trainingMoments } from './Utils'\nimport { WithSession } from '../session/SessionProvider'\nimport Spinner from '../common/Spinner'\nimport { MyAxios as axios } from '../MyAxios'\nimport { I18nLoader } from '../I18nLoader'\nimport I18n from 'i18n'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\nimport PinCode, { PIN_CODE } from '../pin_code/PinCode'\n\nconst useForceUpdate = () => {\n const [, setValue] = useState(0) // integer state\n return () => setValue(value => value + 1) // update the state to force render\n}\n\nconst TeamProDashboard = (props) => {\n const [teams, setTeams] = useState([])\n const [onManagerInterface, setOnManagerInterface] = useState(true)\n const [selectedPlayers, setSelectedPlayers] = useState([])\n const [player, setPlayer] = useState(undefined)\n const [trainingType, setTrainingType] = useState(undefined)\n const [weekday, setWeekday] = useState(undefined)\n const [trainingMoment, setTrainingMoment] = useState(undefined)\n const [responses, setResponses] = useState([])\n const [extraQuestions, setExtraQuestions] = useState(false)\n const [trainingSessionId, setTrainingSessionId] = useState(undefined)\n\n const forceUpdate = useForceUpdate()\n\n useEffect(() => {\n const result = getTeams()\n result.then(res => { setTeams(res.data) })\n }, [])\n\n useEffect(() => {\n window.onbeforeunload = () => process.env.NODE_ENV === 'development' ? null : true\n return () => {\n window.onbeforeunload = null\n }\n }, [])\n\n const getTeams = () => {\n return axios.get('/api/v1/teams', { headers: { ...props.authorizationHeaders() } })\n }\n\n useEffect(() => {\n // debugging\n if (process.env.NODE_ENV === 'development') {\n /*\n if (teams.length === 0) return\n setSelectedPlayers([teams[0].players[0], teams[0].players[1], teams[0].players[2]])\n setTrainingType('rehab_combi')\n setWeekday('wednesday')\n setTrainingMoment('independent_of_a_training')\n setExtraQuestions(false)\n setOnManagerInterface(false)\n setPlayer(teams[0].players[0])\n */\n }\n }, [teams])\n\n if (!props.myProfile || Object.keys(props.myProfile).length === 0) return \n\n const createResponseOnBackend = (cPlayer, values, cb) => {\n const response = {\n opened_at: values.openedAt,\n completed_at: values.completedAt,\n contents: values\n }\n axios({\n method: 'POST',\n url: '/api/v1/responses',\n data: { response },\n headers: { ...props.authorizationHeaders() }\n }).then((_response) => {\n setResponses([...responses, values])\n props.flashMessages.push(\n I18n.t('teampro.player.answer_stored'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO\n )\n if (cPlayer.trainingType === undefined) {\n cPlayer.trainingType = trainingType\n }\n cPlayer.completed = true\n window.scrollTo(0, 0)\n setPlayer(undefined)\n if (cPlayer.role === COACH) {\n setOnManagerInterface(true)\n }\n }).catch(err => {\n console.error('Error creating response:')\n props.flashMessages.push(\n I18n.t('teampro.player.something_went_wrong_saving_questionnaire'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.ERROR\n )\n console.log(err)\n if (cb) cb()\n })\n }\n\n const setLocale = async (newLocale) => {\n const user = { locale: newLocale }\n axios({\n method: 'PATCH',\n url: '/api/v1/users',\n data: { user },\n headers: { ...props.authorizationHeaders() }\n }).then((_response) => {\n I18nLoader.loadAsync().then((_I18n) => {\n forceUpdate()\n })\n }).catch(err => {\n console.error('Error updating locale:')\n console.log(err)\n })\n }\n\n const handleQuestionnaireCompletion = (cPlayer, values, cb) => {\n if (cPlayer.completed) return\n createResponseOnBackend(cPlayer, values, cb)\n }\n\n const handleTogglePlayerSelection = (cPlayer) => {\n if (selectedPlayers.includes(cPlayer)) {\n setSelectedPlayers(selectedPlayers.filter(aplayer => aplayer !== cPlayer))\n } else {\n setSelectedPlayers([...selectedPlayers, cPlayer])\n }\n }\n\n const deSelectPlayers = (players) => {\n const newSelectedPlayers = selectedPlayers.filter(aplayer => !players.includes(aplayer))\n if (newSelectedPlayers.length !== selectedPlayers.length) {\n setSelectedPlayers(newSelectedPlayers)\n }\n }\n\n const selectPlayers = (players) => {\n const playersToAdd = players.filter(aplayer => !selectedPlayers.includes(aplayer))\n if (playersToAdd.length) {\n setSelectedPlayers([...selectedPlayers, ...playersToAdd])\n }\n }\n\n // TODO: refactor into something more generic for overriding player properties\n const getPlayerTrainingType = cPlayer => {\n if (cPlayer.trainingType === undefined) {\n return trainingType\n }\n return cPlayer.trainingType\n }\n\n const getPlayerTrainingMoment = cPlayer => {\n if (cPlayer.trainingMoment === undefined) {\n return trainingMoment\n }\n return cPlayer.trainingMoment\n }\n\n const setPlayerTrainingType = (cPlayer, cTrainingType) => {\n if (cPlayer.completed) {\n // don't do anything\n } else if (cTrainingType === trainingType) {\n cPlayer.trainingType = undefined\n } else {\n cPlayer.trainingType = cTrainingType\n }\n }\n\n const setPlayerTrainingMoment = (cPlayer, cTrainingMoment) => {\n if (cPlayer.completed) {\n // don't do anything\n } else if (cTrainingMoment === trainingMoment) {\n cPlayer.trainingMoment = undefined\n } else {\n cPlayer.trainingMoment = cTrainingMoment\n }\n }\n\n const getDisabledQuestionnaireKeys = cPlayer => {\n const team = teams.find(cTeam => cTeam.id === cPlayer.team_id)\n if (!team) {\n return []\n }\n\n return team.disabled_questionnaire_keys\n }\n\n const loadCoachQuestionnaire = () => {\n window.scrollTo(0, 0)\n setPlayer({ id: 0, jersey_number: '-1', name: 'Coach', role: COACH, trainingType: 'coaching', team_id: 0 })\n setOnManagerInterface(false)\n }\n\n const showCoachQuestionnaireButton = () => {\n return responses.filter(response => response.role === COACH).length === 0\n }\n\n const createTrainingSession = (scheduledDates) => {\n const trainingSession = {\n training_session: {\n weekday,\n training_moment: trainingMoment,\n training_type: trainingType,\n add_extra_questions: extraQuestions,\n players: selectedPlayers.filter(selectedPlayer => !selectedPlayer.completed).map(selectedPlayer => selectedPlayer.id),\n scheduled_at: scheduledDates\n }\n }\n axios.post('/api/v1/training_sessions', trainingSession, { headers: { ...props.authorizationHeaders() } }).then(obj => {\n props.flashMessages.push(\n I18n.t('teampro.manager.training_session_created'),\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.INFO\n )\n props.history.push(`/training-sessions/${obj.data.result[0].instance.id}/edit`)\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const createEmptyTrainingSession = () => {\n const trainingSession = {\n training_session: {\n weekday,\n training_moment: trainingMoment,\n training_type: trainingType,\n add_extra_questions: extraQuestions,\n players: selectedPlayers.map(selectedPlayer => selectedPlayer.id),\n scheduled_at: [new Date().toISOString()],\n invitation_state: 'finished_processing'\n }\n }\n axios.post('/api/v1/training_sessions', trainingSession, { headers: { ...props.authorizationHeaders() } }).then(obj => {\n setTrainingSessionId(obj.data.result[0].instance.id)\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const sendInvites = (scheduledDates) => {\n window.scrollTo(0, 0)\n createTrainingSession(scheduledDates)\n }\n\n const renderBody = () => {\n return (\n
    \n
    \n {onManagerInterface && (\n setOnManagerInterface(false)} afterVerifyCallback={forceUpdate}>\n handleTogglePlayerSelection(cPlayer)}\n selectPlayers={players => selectPlayers(players)}\n deSelectPlayers={players => deSelectPlayers(players)}\n setTrainingType={cTrainingType => setTrainingType(cTrainingType)}\n setWeekday={cWeekday => {\n setTrainingMoment(undefined)\n setWeekday(cWeekday)\n }}\n trainingMoments={trainingMoments(weekday)}\n setTrainingMoment={cTrainingMoment => setTrainingMoment(cTrainingMoment)}\n extraQuestions={extraQuestions}\n setExtraQuestions={value => setExtraQuestions(value)}\n responses={responses}\n showCoachQuestionnaireButton={showCoachQuestionnaireButton()}\n loadCoachQuestionnaire={() => loadCoachQuestionnaire()}\n onDone={() => {\n window.scrollTo(0, 0)\n window.localStorage.removeItem(PIN_CODE)\n setOnManagerInterface(false)\n createEmptyTrainingSession()\n }}\n onSendInvites={sendInvites}\n />\n \n )}\n {!onManagerInterface && (\n handleQuestionnaireCompletion(cPlayer, values, cb)}\n setPlayer={cPlayer => { window.scrollTo(0, 0); setPlayer(cPlayer) }}\n player={player}\n disabledQuestionnaireKeys={cPlayer => getDisabledQuestionnaireKeys(cPlayer)}\n onGoBack={() => setOnManagerInterface(true)}\n getPlayerTrainingType={cPlayer => getPlayerTrainingType(cPlayer)}\n setPlayerTrainingType={(cPlayer, cTrainingType) => setPlayerTrainingType(cPlayer, cTrainingType)}\n getPlayerTrainingMoment={cPlayer => getPlayerTrainingMoment(cPlayer)}\n setPlayerTrainingMoment={(cPlayer, cTrainingMoment) => setPlayerTrainingMoment(cPlayer, cTrainingMoment)}\n extraQuestions={extraQuestions}\n teams={teams}\n />\n )}\n
    \n
    \n )\n }\n\n return (\n
    \n setPlayer(newPlayer)}\n onManagerInterface={onManagerInterface}\n onGoToManagerInterface={() => { setPlayer(undefined); setOnManagerInterface(true) }}\n getPlayerTrainingType={cPlayer => getPlayerTrainingType(cPlayer)}\n getPlayerTrainingMoment={cPlayer => getPlayerTrainingMoment(cPlayer)}\n teams={teams}\n extraQuestions={extraQuestions}\n setLocale={setLocale}\n showOnlyLogOut={props.myProfile?.use_pin_code && !window.localStorage.getItem(PIN_CODE)}\n />\n
    \n
    \n
    \n
    \n
    \n
    \n {renderBody()}\n
    \n
    \n )\n}\n\nexport default WithSession(WithFlashMessages(TeamProDashboard))\n","import React from 'react'\nimport classNames from 'classnames'\nimport { optionalTranslate } from '../Utils'\n\nconst Radio = (props) => {\n const renderRadio = () => {\n return (\n <>\n {props.options.map(option => {\n if (typeof option !== 'object') {\n option = { value: option, label: option }\n }\n return (\n

    \n \n

    \n )\n })}\n \n )\n }\n\n return (\n
    \n
    { if (props.showErrors) { props.setShowErrors(false) } }}>\n
    \n
    {optionalTranslate(props.label)}
    \n
    \n
    \n {renderRadio()}\n
    \n
    \n
    \n )\n}\n\nexport default Radio\n","import React from 'react'\nimport { Route, Redirect } from 'react-router-dom'\n\nconst LoggedInRedirector = props => {\n return (\n <>\n \n \n \n \n \n \n \n )\n}\n\nexport default LoggedInRedirector\n","import { createBrowserHistory } from 'history'\nexport default createBrowserHistory()\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class Field extends React.Component {\n componentDidUpdate (prevProps, prevState, snapshot) {\n window.M.updateTextFields()\n }\n\n render () {\n const errors = this.props.errors || []\n const { component, type, fieldName, formName, currentValue } = this.props\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n return (\n
    \n
    \n
    \n \n \n {errors.map(err => (\n \n {this.props.translateErrors ? I18n.t(err) : err}\n \n ))}\n
    \n
    \n
    \n )\n }\n}\n","import React from 'react'\nimport I18n from 'i18n'\nimport { WithSession } from '../session/SessionProvider'\nimport { WithModal } from '../modal/ModalProvider'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\n\nimport Enable from './layout/enable/Enable'\nimport EnableConfirm from './layout/enable/EnableConfirm'\nimport Disable from './layout/disable/Disable'\nimport DisableConfirm from './layout/disable/DisableConfirm'\nimport { MyAxios as axios } from '../MyAxios'\n\n/* placeholder component that invokes the first transition */\nclass InitialState extends React.Component {\n componentDidMount () {\n this.props.transition()\n }\n\n componentDidUpdate (prevProps) {\n this.props.transition()\n }\n\n render () {\n return (<>)\n }\n}\n\nclass TwoFactor extends React.Component {\n constructor () {\n super()\n this.state = {\n currentState: 'init',\n currentProps: {}\n }\n this.stateMachine = {\n states: {\n init: (props) => (),\n fetchProvisioningUri: (props) => (),\n enable: (props) => (),\n enableConfirm: (props) => (),\n disable: (props) => (),\n disableConfirm: (props) => (),\n null: (props) => (<>)\n },\n actions: {\n init: this.initAction.bind(this),\n fetchProvisioningUri: this.fetchProvisioningUriAction.bind(this),\n enable: this.enableAction.bind(this),\n disable: this.disableAction.bind(this),\n enableConfirm: this.enableConfirmAction.bind(this),\n disableConfirm: this.disableConfirmAction.bind(this),\n null: () => {}\n },\n transitions: {\n init: [\n {\n to: 'fetchProvisioningUri',\n condition: (props) => props && Object.keys(props).length > 0 && !props.otp_enabled\n }, {\n to: 'disable',\n condition: (props) => props && Object.keys(props).length > 0 && props.otp_enabled\n }, {\n to: 'null',\n condition: (props) => Object.keys(props).length === 0\n }\n ],\n fetchProvisioningUri: [\n {\n to: 'enable',\n condition: (props) => props && Object.keys(props).length > 0 && props.provisioning_uri\n },\n {\n to: 'null',\n condition: (props) => Object.keys(props).length === 0\n }\n ],\n enable: [\n {\n to: 'enable',\n condition: (props) => props && Object.keys(props).length > 0 && props.recovery_codes.length === 0\n }, {\n to: 'enableConfirm',\n condition: (props) => props && Object.keys(props).length > 0 && props.recovery_codes.length > 0\n }\n ],\n enableConfirm: [\n {\n to: 'null',\n condition: (props) => true\n }\n ],\n disable: [\n {\n to: 'disableConfirm',\n condition: (props) => props && Object.keys(props).length > 0 && props.disabled\n },\n {\n to: 'disable',\n condition: (props) => props && Object.keys(props).length > 0 && !props.disabled\n }\n ],\n disableConfirm: [\n {\n to: 'null',\n condition: (props) => true\n }\n ]\n }\n }\n }\n\n executeTransition (props, transitions, callback = () => {}) {\n const validTransitions = transitions.filter((transition) => transition.condition(props))\n validTransitions.length && this.setState({ currentState: validTransitions[0].to, currentProps: props }, () => { this.props.refetchSession(); callback() })\n }\n\n disableAction (props, transitions) {\n axios({\n method: 'POST',\n data: { two_factor_code: props.two_factor_code },\n headers: {\n 'Content-Type': 'application/json',\n ...this.props.authorizationHeaders()\n },\n url: '/api/v1/users/disable-two-factor'\n }).then((response) => {\n props.disabled = true\n this.executeTransition(props, transitions)\n }).catch(() => {\n props.disabled = false\n props.error = I18n.t('components.2fa.invalid_otp')\n this.executeTransition(props, transitions)\n })\n }\n\n enableConfirmAction (props, transitions) {\n this.executeTransition({}, transitions, () => this.props.hide && this.props.hide())\n }\n\n disableConfirmAction (props, transitions) {\n this.executeTransition({}, transitions, () => this.props.hide && this.props.hide())\n }\n\n enableAction (props, transitions) {\n axios({\n method: 'POST',\n data: { two_factor_code: props.two_factor_code },\n headers: {\n 'Content-Type': 'application/json',\n ...this.props.authorizationHeaders()\n },\n url: '/api/v1/users/validate-two-factor'\n }).then((response) => {\n props.recovery_codes = response.data.otp_backup_codes\n props.error = null\n this.executeTransition(props, transitions)\n }).catch(() => {\n props.recovery_codes = []\n props.error = I18n.t('components.2fa.invalid_otp')\n this.executeTransition(props, transitions)\n })\n }\n\n fetchProvisioningUriAction (props, transitions) {\n axios({\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n ...this.props.authorizationHeaders()\n },\n url: '/api/v1/users/enable-two-factor'\n }).then((response) => {\n props.provisioning_uri = response.data.otp_provisioning_uri\n this.executeTransition(props, transitions)\n }).catch(() => {\n this.executeTransition({}, transitions, () => {\n this.props.flashMessages && this.props.flashMessages.push(I18n.t('components.2fa.uri_error'), this.props.flashMessages.duration.SHORT, this.props.flashMessages.levels.ERROR)\n this.props.hide && this.props.hide()\n })\n })\n }\n\n initAction (props, transitions) {\n axios({\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n ...this.props.authorizationHeaders()\n },\n url: '/api/v1/users/is-two-factor-enabled'\n }).then((response) => {\n props.otp_enabled = response.data.otp_required_for_login\n this.executeTransition(props, transitions)\n }).catch(() => {\n this.executeTransition({}, transitions, () => {\n this.props.flashMessages && this.props.flashMessages.push(I18n.t('components.2fa.is_enabled_error'), this.props.flashMessages.duration.SHORT, this.props.flashMessages.levels.ERROR)\n this.props.hide && this.props.hide()\n })\n })\n }\n\n render () {\n const currentState = this.stateMachine.states[this.state.currentState]\n const currentAction = this.stateMachine.actions[this.state.currentState]\n const currentTransitions = this.stateMachine.transitions[this.state.currentState]\n const currentProps = this.state.currentProps\n return currentState({ transition: (data = {}) => { currentAction({ ...currentProps, ...data }, currentTransitions) }, ...currentProps })\n }\n}\n\nexport default WithSession(WithModal(WithFlashMessages(TwoFactor)))\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport MyReactTooltip from '../MyReactTooltip'\n\ninterface Props {\n text: string\n reuseTooltip?: boolean\n tooltipId: string\n inline?: boolean\n}\n\n// The two required properties are `text` and `tooltipId`.\n// `tooltipId` should be unique within the page.\nconst Info = (props: Props): JSX.Element => {\n const { inline = false, tooltipId, text, reuseTooltip = false, ...theRest } = props\n if (inline) {\n return (\n <>\n info\n {!reuseTooltip && }\n \n )\n }\n\n return (\n <>\n \n {!reuseTooltip && }\n \n )\n}\n\nexport default Info\n","import React from 'react'\n\nexport default class Info extends React.Component {\n constructor (props) {\n super(props)\n this.state = { transition: 'hidden' }\n this.message = React.createRef()\n }\n\n componentDidMount () {\n setTimeout(() => { this.setState({ transition: 'scale-in' }) }, 25)\n }\n\n componentDidUpdate (prevProps) {\n if (this.state.transition !== 'hidden' && this.message.current && this.props.state !== 'hide') {\n // window.scrollTo(0, 0)\n }\n if (this.props.state === 'hide' && this.props.state !== prevProps.state) {\n const msg = this.props.msg\n setTimeout(() => { this.props.removeMessage(msg, this.props.type) }, 250)\n this.setState({ transition: 'scale-out' })\n }\n }\n\n render () {\n return (\n
    \n {this.props.msg}\n
    \n )\n }\n}\n","import React from 'react'\nimport I18n from 'i18n'\nimport FormFactory from '../../helpers/FormFactory'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\n\nclass ResetPassword extends FormFactory {\n constructor (props) {\n super(props)\n this.state = { success: false }\n this.form_fields = {\n email: {\n component: 'field',\n properties: {\n type: 'text'\n }\n }\n }\n }\n\n componentDidMount () {\n this.props.setHeight(404)\n this.props.logout(false)\n }\n\n handleSuccess (response) {\n this.props.flashMessages.push(\n I18n.t(\n 'flashmessages.password_reset.successful',\n { email: this.props.getFields(this.props.formName).email }\n ),\n this.props.flashMessages.duration.SHORT,\n this.props.flashMessages.levels.INFO\n )\n this.setState({ success: true, email: this.props.getFields(this.props.formName).email })\n }\n\n render () {\n return (\n <>\n
    \n
    \n {this.state.success && (

    {I18n.t('password.reset.email.sent', { email: this.state.email })}

    )}\n
    \n
    \n
    \n {this.renderFields()}\n {this.renderSubmit(`${this.props.formName}.submit`, { id: 'reset-password-button', className: 'btn waves-effect waves-light' })}\n
    \n \n )\n }\n}\n\nexport default WithFlashMessages(ResetPassword)\n","import React from 'react'\nimport classNames from 'classnames'\n\nconst TabHeader = ({ tabs, onShow }) => (\n <>\n {\n React.Children.toArray(tabs).map(tab => {\n const { id, title, disabled } = tab.props\n return (\n
  • onShow(id)} className={classNames('tab col s3', { disabled })}>{title}
  • \n )\n })\n }\n \n)\n\nexport default TabHeader\n","import React, { useState } from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport TeamsRoutes from './TeamsRoutes'\nimport { WithSession } from '../session/SessionProvider'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\n\nconst TeamsController = props => {\n const [teams, setTeams] = useState([])\n const [polarPlayers, setPolarPlayers] = useState(undefined)\n\n const fetchTeams = () => {\n const result = getTeams()\n result\n .then(res => { setTeams(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchPolarPlayers = () => {\n const result = getPolarPlayers()\n result\n .then(res => { setPolarPlayers(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const destroyTeam = id => {\n return axios.delete(`/api/v1/teams/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const updateTeam = (id, team) => {\n return axios.patch(`/api/v1/teams/${id}`, team, { headers: { ...props.authorizationHeaders() } })\n }\n\n const createTeam = team => {\n return axios.post('/api/v1/teams', team, { headers: { ...props.authorizationHeaders() } })\n }\n\n const getTeams = () => {\n return axios.get('/api/v1/teams', { headers: { ...props.authorizationHeaders() } })\n }\n\n const getPolarPlayers = () => {\n return axios.get('/api/v1/polar_players', { headers: { ...props.authorizationHeaders() } })\n }\n\n const destroyPlayer = id => {\n return axios.delete(`/api/v1/players/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const updatePlayer = (id, player) => {\n return axios.patch(`/api/v1/players/${id}`, player, { headers: { ...props.authorizationHeaders() } })\n }\n\n const createPlayer = player => {\n return axios.post('/api/v1/players', player, { headers: { ...props.authorizationHeaders() } })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(WithSession(TeamsController))\n","import React from 'react'\n\nfunction syntaxHighlight (json) {\n if (typeof json !== 'string') {\n json = JSON.stringify(json, undefined, 2)\n }\n json = json.replace(/&/g, '&').replace(//g, '>').replace(/,/g, ',
    ')\n return json.replace(/(\"(\\\\u[a-zA-Z0-9]{4}|\\\\[^u]|[^\\\\\"])*\"(\\s*:)?|\\b(true|false|null)\\b|-?\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)/g, function (match) {\n let cls = 'number'\n if (/^\"/.test(match)) {\n if (/:$/.test(match)) {\n cls = 'key'\n } else {\n cls = 'string'\n }\n } else if (/true|false/.test(match)) {\n cls = 'boolean'\n } else if (/null/.test(match)) {\n cls = 'null'\n }\n return '' + match + ''\n })\n}\n\nconst SyntaxHighlight = props => {\n return
    \n}\n\nexport default SyntaxHighlight\n","import { PolarTrainingSession } from './PolarTrainingSessionsDTO'\n\nexport type PolarVariable = Exclude\nexport const PolarVariables: PolarVariable[] = ['duration_ms', 'distance_meters', 'kilo_calories', 'heart_rate_max', 'heart_rate_avg', 'heart_rate_min', 'heart_rate_max_percent', 'heart_rate_avg_percent', 'heart_rate_min_percent', 'sprint_counter', 'speed_avg_kmh', 'speed_max_kmh', 'cadence_avg', 'cadence_max', 'training_load', 'cardio_load', 'muscle_load']\n\nexport default PolarVariable\n","import React, { useEffect, useState } from 'react'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport PinCode from '../../pin_code/PinCode'\n\nconst NewTeam = (props) => {\n const [teamName, setTeamName] = useState('')\n\n useEffect(() => {\n window.M.updateTextFields()\n }, [])\n\n useEffect(() => {\n const elem = document.getElementById('name')\n if (elem) elem.focus()\n }, [])\n\n const createTeam = () => {\n props.createTeam({ team: { name: teamName } }).then(() => {\n props.flashMessages.push(\n I18n.t('teams.flash_messages.team_created'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.history.push('/teams')\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n return (\n <>\n \n \n
    \n
    \n
    \n

    {I18n.t('menu.add_team')}

    \n
    \n
    \n
    \n
    \n setTeamName(e.target.value)}\n />\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n )\n}\n\nexport default WithFlashMessages(NewTeam)\n","import React, { useMemo } from 'react'\nimport HighchartsReact from 'highcharts-react-official'\nimport Highcharts from 'highcharts/highstock'\nimport { highchartsThemeElementary, QUESTION_MAPPING } from '../../common/Constants'\nimport I18n from 'i18n'\nimport { uniq, compact } from 'lodash'\nimport ResponsesIndexDTO from '../../common/types/ResponsesPlayerResponsesDTO'\nimport Teams from '../../common/types/Teams'\nimport Param from '../../common/types/Param'\nimport { Options } from 'highcharts'\nimport { findPlayer, getPlayerData, GRAPHS, GraphType, Period, PlotBand, Point } from './Utils'\nimport { ZScore } from '../../common/types/Player'\n\n/* eslint-disable @typescript-eslint/explicit-function-return-type, @typescript-eslint/strict-boolean-expressions, react/jsx-boolean-value */\n\ninterface Props {\n graph: GraphType\n data: ResponsesIndexDTO\n showZScores: boolean\n teams: Teams\n zScorePeriod: Period\n dynamicZScore: boolean\n yMax?: undefined | number\n yMin?: undefined | number\n}\n\nconst SmallGraph: React.FunctionComponent = (props: Props) => {\n Highcharts.theme = highchartsThemeElementary as Options\n Highcharts.setOptions(Highcharts.theme)\n\n const params: Param[] = useMemo(() => {\n return GRAPHS[props.graph]\n }, [props.graph])\n\n const series = useMemo(() => {\n const playerIds = uniq(props.data.map(response => response.contents.playerId))\n return compact(playerIds.map(playerId => {\n const player = findPlayer(playerId, props.teams)\n if (!player) {\n return null\n }\n let data: Point[]\n if (props.dynamicZScore) {\n const { data: newData } = getPlayerData(playerId, props.data, params, props.showZScores)\n data = newData\n } else {\n const zScoreInfo: ZScore = player.order_scores[props.zScorePeriod]?.[props.graph] ?? { mean: 0, std: 1 }\n const { data: newData } = getPlayerData(playerId, props.data, params, props.showZScores, zScoreInfo.mean, zScoreInfo.std)\n data = newData\n }\n return {\n type: 'line',\n data: data,\n marker: { enabled: true, radius: 3 },\n id: `${playerId}`,\n name: player.name\n }\n }))\n }, [props.data, params, props.showZScores, props.teams, props.graph, props.zScorePeriod, props.dynamicZScore])\n\n let yPlotBands: PlotBand[] | null = []\n\n if (props.showZScores) {\n yPlotBands.push({\n color: 'rgba(40, 167, 69, 0.1)', // bootstrap success 10%\n from: -1,\n to: 1\n })\n yPlotBands.push({\n color: 'rgba(220, 53, 69, 0.1)',\n from: -3,\n to: -2\n })\n yPlotBands.push({\n color: 'rgba(220, 53, 69, 0.1)',\n from: 2,\n to: 3\n })\n yPlotBands.push({\n color: 'rgba(255, 193, 7, 0.1)',\n from: -2,\n to: -1\n })\n yPlotBands.push({\n color: 'rgba(255, 193, 7, 0.1)',\n from: 1,\n to: 2\n })\n }\n\n if (yPlotBands.length === 0) yPlotBands = null\n\n return (\n {point.formatted_date}
    {series.name}: {point.y:.2f}'\n },\n xAxis: {\n title: {\n text: ''\n },\n type: 'datetime',\n /*\n min: !startDate ? null : startDate.getTime(),\n max: !endDate ? null : endDate.getTime(),\n */\n dateTimeLabelFormats: {\n day: '%d %b'\n }\n },\n yAxis: {\n title: {\n text: I18n.t(`visualizations.question_mapping.${QUESTION_MAPPING[params[0]]}`)\n },\n min: props.showZScores ? -3 : (props.yMin ?? 0),\n max: props.showZScores ? 3 : (props.yMax ?? 100),\n startOnTick: !props.showZScores,\n endOnTick: !props.showZScores,\n plotBands: yPlotBands\n },\n series: series\n }}\n />\n )\n}\n\nexport default SmallGraph\n","import React from 'react'\nimport { Route } from 'react-router'\nimport VisualizationsOverview from './layout/VisualizationsOverview'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\n\nconst VisualizationsRoutes = props => {\n const { overviewProps } = props\n return (\n \n ()}\n />\n \n )\n}\n\nexport default VisualizationsRoutes\n","import React from 'react'\nimport classNames from 'classnames'\nimport { optionalTranslate } from '../Utils'\n\nconst Textfield = (props) => {\n const translatedLabel = optionalTranslate(props.label)\n\n const setValue = (value) => {\n if (value === undefined || value.trim().length === 0) {\n props.setValue(undefined)\n } else {\n props.setValue(value)\n }\n }\n\n return (\n
    \n
    { if (props.showErrors) { props.setShowErrors(false) } }}>\n
    \n
    {translatedLabel}
    \n
    \n
    \n setValue(e.target.value)} />\n {props.placeholder !== undefined && }\n
    \n
    \n
    \n )\n}\n\nexport default Textfield\n","import axios from 'axios'\n\nconst defaultOptions = {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest'\n }\n}\n\nexport const MyAxios = axios.create(defaultOptions)\n\n// Fetches all the pages of a paginated response\nexport const getAllPages = async (url, headers, responseCallback = () => {}) => {\n let response = []\n let hasNext = true\n let nextPage = 1\n\n while (hasNext) {\n const res = await MyAxios({\n method: 'GET',\n url: `${url}?page=${nextPage}`,\n headers\n })\n response = response.concat(res.data.data)\n hasNext = res.data.page.has_next\n nextPage = res.data.page.current_page + 1\n\n responseCallback(res)\n }\n\n return response\n}\n\nexport default MyAxios\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport const ErrorBoundaryContext = React.createContext()\n\nclass ErrorBoundary extends React.Component {\n constructor (props) {\n super(props)\n this.state = {\n hasError: false\n }\n }\n\n componentDidCatch (error, info) {\n // Display fallback UI\n this.setState({ hasError: true })\n // TODO: Log to appsignal\n // appsignal(error, info);\n console.log(error)\n console.log(info)\n }\n\n render () {\n if (this.state.hasError) {\n return (\n

    \n {I18n.t(this.props.message)}\n

    \n )\n }\n\n return this.props.children\n }\n}\n\nexport const WithErrorBoundary = (Component, message) => props => {\n return (\n \n )\n}\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class Radio extends React.Component {\n constructor (props) {\n super(props)\n this.state = {\n checked: true\n }\n }\n\n render () {\n const errors = this.props.errors || []\n const { component, type, fieldName, choices, formName, currentValue, defaultChoice } = this.props\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.choices\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n\n const finalValue = currentValue || defaultChoice\n\n return (\n
    \n
    \n \n
    \n {choices.map((choice) => (\n

    \n \n

    \n ))}\n {errors.map(err => (\n
    \n {this.props.translateErrors ? I18n.t(err) : err}\n
    \n ))}\n
    \n
    \n
    \n )\n }\n}\n","import I18n from './i18n'\nI18n.translations || (I18n.translations = {});\nI18n.translations[\"en\"] = I18n.extend((I18n.translations[\"en\"] || {}), JSON.parse('{\"access_denied\":\"Access denied\",\"active_interaction\":{\"errors\":{\"messages\":{\"invalid\":\"is invalid\",\"invalid_type\":\"is not a valid %{type}\",\"missing\":\"is required\"}},\"types\":{\"array\":\"array\",\"boolean\":\"boolean\",\"date\":\"date\",\"date_time\":\"date time\",\"decimal\":\"decimal\",\"file\":\"file\",\"float\":\"float\",\"hash\":\"hash\",\"integer\":\"integer\",\"interface\":\"interface\",\"object\":\"object\",\"record\":\"record\",\"string\":\"string\",\"symbol\":\"symbol\",\"time\":\"time\"}},\"activerecord\":{\"errors\":{\"messages\":{\"record_invalid\":\"Validation failed: %{errors}\",\"restrict_dependent_destroy\":{\"has_many\":\"Cannot delete record because dependent %{record} exist\",\"has_one\":\"Cannot delete record because a dependent %{record} exists\"}}}},\"admin_access_denied\":\"Only accessible for administrators\",\"alert\":{\"title\":\"Warnings\"},\"already_accepted\":\"Was already accepted\",\"already_exists\":\"Already exists\",\"back_button\":\"Back\",\"callback\":{\"did_not_receive_a_code\":\"Did not receive an authorization code.\",\"go_back\":\"Go back\",\"resolving_authorization_code\":\"Resolving authorization code\"},\"components\":{\"2fa\":{\"disable\":{\"confirm\":\"Confirm and close\",\"label\":\"6 digit code\",\"submit\":\"Remove Authenticator\",\"success\":\"The authenticator was disconnected from your account. You can login without extra code.\",\"title\":\"Provide a valid code to remove the authenticator from your account\"},\"enable\":{\"confirm\":\"Confirm and close\",\"label\":\"Code of 6 digits\",\"submit\":\"Confirm Authenticator\",\"success\":\"The authenticator has been connected to your account successfully! Below are 5 codes that can be used to turn your authenticator off if the sigin does not work anymore. Store these codes!\",\"title\":\"Scan the QR code with an authenticator app and fill in the 6 digits to connect it to your account\"},\"invalid_otp\":\"The provided code is incorrect\",\"is_enabled_error\":\"Something went wrong with retrieving the 2FA information. Try again later.\",\"uri_error\":\"Something went wrong with retrieving the QR code. Try again later.\"},\"confirmation_dialog\":{\"action_after\":{\"custom\":\"\",\"delete\":\"should be deleted\",\"delete_connection\":\"should be deleted\",\"delete_group\":\"should be deleted\",\"delete_polar_token\":\"should be removed\",\"leave\":\"should be left\",\"reject_connection\":\"should be declined\",\"reject_group\":\"should be declined\",\"stop_protocol\":\"should be stopped\"},\"action_before\":{\"custom\":\"\",\"delete\":\"\",\"delete_connection\":\"the connection with\",\"delete_group\":\"the group\",\"delete_polar_token\":\"the connection with\",\"leave\":\"the group\",\"reject_connection\":\"the connection request of\",\"reject_group\":\"the invitation for the group\",\"stop_protocol\":\"\"},\"cancel\":\"Cancel\",\"confirm\":\"Confirm\",\"title\":\"Are you sure\"},\"placeholders\":{\"default_message\":\"Not enough data to display this information\",\"default_title\":\"Not yet available\"}},\"created\":\"Created\",\"date\":{\"abbr_day_names\":[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],\"abbr_month_names\":[null,\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],\"day_names\":[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\"formats\":{\"default\":\"%Y-%m-%d\",\"long\":\"%B %d, %Y\",\"short\":\"%b %d\"},\"month_names\":[null,\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"order\":[\"year\",\"month\",\"day\"]},\"datetime\":{\"distance_in_words\":{\"about_x_hours\":{\"one\":\"about 1 hour\",\"other\":\"about %{count} hours\"},\"about_x_months\":{\"one\":\"about 1 month\",\"other\":\"about %{count} months\"},\"about_x_years\":{\"one\":\"about 1 year\",\"other\":\"about %{count} years\"},\"almost_x_years\":{\"one\":\"almost 1 year\",\"other\":\"almost %{count} years\"},\"half_a_minute\":\"half a minute\",\"less_than_x_minutes\":{\"one\":\"less than a minute\",\"other\":\"less than %{count} minutes\"},\"less_than_x_seconds\":{\"one\":\"less than 1 second\",\"other\":\"less than %{count} seconds\"},\"over_x_years\":{\"one\":\"over 1 year\",\"other\":\"over %{count} years\"},\"x_days\":{\"one\":\"1 day\",\"other\":\"%{count} days\"},\"x_minutes\":{\"one\":\"1 minute\",\"other\":\"%{count} minutes\"},\"x_months\":{\"one\":\"1 month\",\"other\":\"%{count} months\"},\"x_seconds\":{\"one\":\"1 second\",\"other\":\"%{count} seconds\"},\"x_years\":{\"one\":\"1 year\",\"other\":\"%{count} years\"}},\"prompts\":{\"day\":\"Day\",\"hour\":\"Hour\",\"minute\":\"Minute\",\"month\":\"Month\",\"second\":\"Second\",\"year\":\"Year\"}},\"defaults\":{\"abbreviated_month_names\":[\"Jan\",\"Feb\",\"Mrt\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],\"day_names\":[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\"daypart_names\":[\"morning\",\"afternoon\",\"evening\"],\"month_names\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"the_day_after_tomorrow\":\"the day after tomorrow\",\"tomorrow\":\"tomorrow\"},\"devise\":{\"confirmations\":{\"confirmed\":\"Your email address has been successfully confirmed.\",\"send_instructions\":\"You will receive an email with instructions for how to confirm your email address in a few minutes.\",\"send_paranoid_instructions\":\"If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes.\"},\"failure\":{\"already_authenticated\":\"You are already signed in.\",\"inactive\":\"Your account is not activated yet.\",\"invalid\":\"Invalid %{authentication_keys} or password.\",\"last_attempt\":\"You have one more attempt before your account is locked.\",\"locked\":\"Your account is locked.\",\"not_found_in_database\":\"Invalid %{authentication_keys} or password.\",\"timeout\":\"Your session expired. Please sign in again to continue.\",\"unauthenticated\":\"You need to sign in or sign up before continuing.\",\"unconfirmed\":\"You have to confirm your email address before continuing.\"},\"mailer\":{\"confirmation_instructions\":{\"confirm\":\"Confirm my account\",\"how_to\":\"You can confirm your email address by clicking the following link:\",\"should_confirm\":\"Before you can use Project RIS, you must first confirm your email address.\",\"subject\":\"Confirmation instructions\",\"title\":\"Welcome to Project RIS!\"},\"email_changed\":{\"subject\":\"Email Changed\"},\"generic\":{\"kind_regards\":\"Kind regards,\"},\"password_change\":{\"subject\":\"Password Changed\"},\"reset_password_instructions\":{\"change_password\":\"Change my password\",\"did_not_request\":\"If you did not request this link, you may ignore this email. Your password will not be changed until you click the link above.\",\"reset_requested\":\"Someone has requested a link to change your password. You can change your password by clicking the link below.\",\"subject\":\"Reset password instructions\",\"title\":\"Dear Madam / Sir\"},\"unlock_instructions\":{\"subject\":\"Unlock instructions\"}},\"omniauth_callbacks\":{\"failure\":\"Could not authenticate you from %{kind} because \\\\\"%{reason}\\\\\".\",\"success\":\"Successfully authenticated from %{kind} account.\"},\"passwords\":{\"no_token\":\"You can\\'t access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided.\",\"send_instructions\":\"You will receive an email with instructions on how to reset your password in a few minutes.\",\"send_paranoid_instructions\":\"If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.\",\"updated\":\"Your password has been changed successfully. You are now signed in.\",\"updated_not_active\":\"Your password has been changed successfully.\"},\"registrations\":{\"destroyed\":\"Bye! Your account has been successfully cancelled. We hope to see you again soon.\",\"signed_up\":\"Welcome! You have signed up successfully.\",\"signed_up_but_inactive\":\"You have signed up successfully. However, we could not sign you in because your account is not yet activated.\",\"signed_up_but_locked\":\"You have signed up successfully. However, we could not sign you in because your account is locked.\",\"signed_up_but_unconfirmed\":\"A message with a confirmation link has been sent to your email address. Please follow the link to activate your account.\",\"update_needs_confirmation\":\"You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address.\",\"updated\":\"Your account has been updated successfully.\",\"updated_but_not_signed_in\":\"Your account has been updated successfully, but since your password was changed, you need to sign in again\"},\"sessions\":{\"already_signed_out\":\"Signed out successfully.\",\"signed_in\":\"Signed in successfully.\",\"signed_out\":\"Signed out successfully.\"},\"unlocks\":{\"send_instructions\":\"You will receive an email with instructions for how to unlock your account in a few minutes.\",\"send_paranoid_instructions\":\"If your account exists, you will receive an email with instructions for how to unlock it in a few minutes.\",\"unlocked\":\"Your account has been unlocked successfully. Please sign in to continue.\"}},\"download_link_mailer\":{\"body\":\"Hello, the download you requested is ready. Click the below link to download it.\",\"expiration\":\"This link will expire in %{expiration} hours.\",\"link\":\"Click here to download\",\"subject\":\"Your export from Project-RiS is ready to be downloaded\"},\"errors\":{\"format\":\"%{attribute} %{message}\",\"generic\":\"Something went wrong. We have been notified of this issue, our appologies.\",\"messages\":{\"accepted\":\"must be accepted\",\"already_confirmed\":\"was already confirmed, please try signing in\",\"blank\":\"can\\'t be blank\",\"confirmation\":\"doesn\\'t match %{attribute}\",\"confirmation_period_expired\":\"needs to be confirmed within %{period}, please request a new one\",\"empty\":\"can\\'t be empty\",\"equal_to\":\"must be equal to %{count}\",\"even\":\"must be even\",\"exclusion\":\"is reserved\",\"expired\":\"has expired, please request a new one\",\"greater_than\":\"must be greater than %{count}\",\"greater_than_or_equal_to\":\"must be greater than or equal to %{count}\",\"in\":\"must be in %{count}\",\"inclusion\":\"is not included in the list\",\"invalid\":\"is invalid\",\"less_than\":\"must be less than %{count}\",\"less_than_or_equal_to\":\"must be less than or equal to %{count}\",\"model_invalid\":\"Validation failed: %{errors}\",\"not_a_number\":\"is not a number\",\"not_an_integer\":\"must be an integer\",\"not_found\":\"not found\",\"not_locked\":\"was not locked\",\"not_saved\":{\"one\":\"1 error prohibited this %{resource} from being saved:\",\"other\":\"%{count} errors prohibited this %{resource} from being saved:\"},\"odd\":\"must be odd\",\"other_than\":\"must be other than %{count}\",\"present\":\"must be blank\",\"required\":\"must exist\",\"taken\":\"has already been taken\",\"too_long\":{\"one\":\"is too long (maximum is 1 character)\",\"other\":\"is too long (maximum is %{count} characters)\"},\"too_short\":{\"one\":\"is too short (minimum is 1 character)\",\"other\":\"is too short (minimum is %{count} characters)\"},\"wrong_length\":{\"one\":\"is the wrong length (should be 1 character)\",\"other\":\"is the wrong length (should be %{count} characters)\"}},\"offline\":\"This page currently only works with an internet connection.\",\"return\":\"Back to Project RIS\",\"template\":{\"body\":\"There were problems with the following fields:\",\"header\":{\"one\":\"1 error prohibited this %{model} from being saved\",\"other\":\"%{count} errors prohibited this %{model} from being saved\"}},\"try_again\":\"Something went wrong, please try again.\"},\"exports\":{\"combined_export_tooltip\":\"This export is a restructured version of the questionnaire export and Polar export. It outputs a maximum of one row per day per athlete. If variables are filled in multiple times per day, the first value that is filled in is used. It also outputs the Polar data on the same line if it can find matching sessions.\",\"download\":\"download\",\"download_options\":{\"custom\":\"a specific period:\",\"everything\":\"from the start (everything)\",\"past_7_days\":\"the past 7 days\",\"today\":\"today\",\"yesterday\":\"yesterday\"},\"download_questionnaires_of\":\"Download questionnaires of:\",\"end_date\":\"End date\",\"export_combined\":\"Combined export (Questionnaires + Polar)\",\"export_data\":\"Export Data\",\"export_questionnaires\":\"Export Questionnaires\",\"export_restructured\":\"Restructured export\",\"flash_messages\":{\"export_started\":\"The export has started. You will receive an email when the export is ready for download.\"},\"polar_players\":\"Polar players\",\"polar_training_sessions\":\"Polar training sessions\",\"pseudonymize_level_two\":\"Also pseudonymize the date field\",\"pseudonymize_the_data\":\"Pseudonymize the data\",\"pseudonymize_tooltip\":\"If you check this box, the data will be pseudonymized. This has the following three effects. 1) It removes the following fields from the export: jerseyNumber, name, role, and weekday. 2) It hashes the following fields: playerId, teamId, and response_id. 3) It removes the teamId suffix from the trainingType.\",\"questionnaire_definitions\":\"Questionnaire definitions\",\"restructured_export_tooltip\":\"This export is a restructured version of the questionnaire export. It outputs a maximum of one row per day per athlete. If variables are filled in multiple times per day, the first value that is filled in is used.\",\"start_and_end_not_required\":\"The start date and end date fields are not required.\",\"start_date\":\"Start date\",\"teams_and_players\":\"Teams and players\"},\"fill_out_session\":{\"invitation_text\":\"You were invited by your coach to fill out a questionnaire.\",\"thanks_for_filling_out\":\"Thanks for filling out the questionnaire!\",\"you_may_now_close_this_page\":\"You may now close this page.\"},\"flash\":{\"actions\":{\"create\":{\"notice\":\"%{resource_name} was successfully created.\"},\"destroy\":{\"alert\":\"%{resource_name} could not be destroyed.\",\"notice\":\"%{resource_name} was successfully destroyed.\"},\"update\":{\"notice\":\"%{resource_name} was successfully updated.\"}}},\"flashmessages\":{\"callback\":{\"failed\":\"Something went wrong while trying to connect with the Polar account\",\"successful\":\"Polar account linked successfully\"},\"confirmation\":{\"failed\":\"Something went wrong, email address not confirmed.\",\"processing\":\"Confirming...\",\"successful\":\"Email address confirmed. You can log in now.\"},\"data\":{\"remove_selected\":{\"failed\":\"Something went wrong while trying to delete one or more files\",\"successful\":\"Files deleted\"}},\"general\":{\"copied_link_to_clipboard\":\"Copied link to clipboard\"},\"groups\":{\"accepted\":\"Invitation accepted\",\"declined\":\"Invitation declined\"},\"login\":{\"successful\":\"You\\'re now signed in\"},\"logout\":{\"successful\":\"You\\'re now signed out\"},\"metadata\":{\"update_successful\":\"Update successful\"},\"password_edit\":{\"successful\":\"Password changed\"},\"password_reset\":{\"successful\":\"Email sent (if an email address exists with this email address)\"},\"polar_token\":{\"destroy\":{\"successful\":\"Removed connection with the Polar account\"},\"invalidated\":\"The Polar grant is no longer valid. Please go to \\'Account\\', and then click \\'Remove connection with Polar account\\' to remove the connnection with Polar and then click \\'Authorize Polar Account\\' to connect it again. Polar data and connections between Polar players will remain intact.\"},\"profile\":{\"update_successful\":\"Update successful\"},\"questionnaires\":{\"creation_error\":\"Something went wrong while starting the protocols\",\"creation_success\":\"Protocols started\",\"deletion_error\":\"Something went wrong while stopping the protocol\",\"deletion_success\":\"Protocol stopped\",\"error\":\"Something went wrong when storing data\",\"update_successful\":\"Update successful\"},\"snapshots\":{\"failed\":\"Something went wrong while trying to create a snapshot\",\"successful\":\"Snapshot created. In a few moments, you can find this snapshot on your Share page.\"}},\"general\":{\"not_found\":\"Not found\"},\"helpers\":{\"page_entries_info\":{\"entry\":{\"one\":\"entry\",\"other\":\"entries\",\"zero\":\"entries\"},\"more_pages\":{\"display_entries\":\"Displaying %{entry_name} \\\\u003cb\\\\u003e%{first}\\\\u0026nbsp;-\\\\u0026nbsp;%{last}\\\\u003c/b\\\\u003e of \\\\u003cb\\\\u003e%{total}\\\\u003c/b\\\\u003e in total\"},\"one_page\":{\"display_entries\":{\"one\":\"Displaying \\\\u003cb\\\\u003e1\\\\u003c/b\\\\u003e %{entry_name}\",\"other\":\"Displaying \\\\u003cb\\\\u003eall %{count}\\\\u003c/b\\\\u003e %{entry_name}\",\"zero\":\"No %{entry_name} found\"}}},\"select\":{\"prompt\":\"Please select\"},\"submit\":{\"create\":\"Create %{model}\",\"submit\":\"Save %{model}\",\"update\":\"Update %{model}\"}},\"home_screen\":{\"add_to_home_screen\":\"Add to home screen\",\"instructions\":\"1. Click on the share icon (square with arrow up)\\\\n2. Click on the option \\\\\"Add to home scree\\\\\"\\\\n\"},\"i18n\":{\"plural\":{\"keys\":[\"one\",\"other\"]}},\"insufficient_rights\":\"Insufficient rights\",\"locale\":{\"not_specified\":\"must be specified\"},\"login\":{\"checkbox\":{\"checkbox\":{\"remember_me\":\"Remember me\"}},\"field\":{\"email\":{\"email\":\"Your email address\"},\"password\":{\"password\":\"Password\"},\"text\":{\"otp_attempt\":\"Provide the code from your authenticator app\"}},\"link\":{\"forgot_password\":\"Forgot password?\",\"register\":\"No account yet? Sign up now!\"},\"lost_authenticator\":\"Lost your authenticator? Please provide a backup code. Note: after providing a backup code the authenticator will be disabled. Your can attach a new authenticator after logging in.\",\"otp_attempt\":{\"invalid\":\"The provided code is invalid\",\"locked\":\"You have exceeded the maximum number of login attempts. You can try again in 15 minutes.\"},\"submit\":\"Log in\"},\"logo\":\"Resilience in Sports\",\"menu\":{\"account\":\"Account\",\"add_player\":\"Add Player\",\"add_team\":\"Add Team\",\"edit_teams\":\"Edit Teams\",\"export_data\":\"Export Data\",\"log_out\":\"Log out\",\"manager_dashboard\":\"Manager Dashboard\",\"prompt\":{\"log_out\":\"you want to log out\"},\"responses\":\"Responses\",\"teams\":\"Teams\",\"training_sessions\":\"Training sessions\",\"visualizations\":\"Visualizations\"},\"misc\":{\"child\":{\"one\":\"child\",\"other\":\"children\"},\"error\":{\"one\":\"error\",\"other\":\"errors\"},\"gender\":{\"female\":\"female\",\"male\":\"male\"},\"ordinal\":{\"one\":\"st\",\"other\":\"rd\"},\"people\":{\"one\":\"person\",\"other\":\"people\"},\"player\":{\"one\":\"player\",\"other\":\"players\"}},\"notFound\":{\"return\":\"Back to home\"},\"not_found\":{\"busy\":\"busy\",\"go_back\":\"Go back\",\"page_not_found\":\"page not found\"},\"number\":{\"currency\":{\"format\":{\"delimiter\":\",\",\"format\":\"%u%n\",\"precision\":2,\"separator\":\".\",\"significant\":false,\"strip_insignificant_zeros\":false,\"unit\":\"$\"}},\"format\":{\"delimiter\":\",\",\"precision\":3,\"round_mode\":\"default\",\"separator\":\".\",\"significant\":false,\"strip_insignificant_zeros\":false},\"human\":{\"decimal_units\":{\"format\":\"%n %u\",\"units\":{\"billion\":\"Billion\",\"million\":\"Million\",\"quadrillion\":\"Quadrillion\",\"thousand\":\"Thousand\",\"trillion\":\"Trillion\",\"unit\":\"\"}},\"format\":{\"delimiter\":\"\",\"precision\":3,\"significant\":true,\"strip_insignificant_zeros\":true},\"storage_units\":{\"format\":\"%n %u\",\"units\":{\"byte\":{\"one\":\"Byte\",\"other\":\"Bytes\"},\"eb\":\"EB\",\"gb\":\"GB\",\"kb\":\"KB\",\"mb\":\"MB\",\"pb\":\"PB\",\"tb\":\"TB\"}}},\"nth\":{},\"percentage\":{\"format\":{\"delimiter\":\"\",\"format\":\"%n%\"}},\"precision\":{\"format\":{\"delimiter\":\"\"}}},\"page\":\"page\",\"password\":{\"reset\":{\"email\":{\"sent\":\"An email with the instructions was sent to {{email}} (in case this email address is associated to an account).\"}}},\"passwords\":{\"no_match\":\"The passwords don\\'t match\",\"required\":\"Password is required\"},\"pincode\":{\"forgot\":\"Forgot your pin code? Log out, log in, and set a new pin code under \\'Account\\'.\"},\"profile\":{\"edit\":{\"api_access\":\"API Access\",\"api_token_success\":\"Successfully regenerated API token\",\"authorize_polar_account\":\"Authorize Polar Account\",\"deauthorize_polar_account\":\"Remove connection with Polar account\",\"enter_new_pin_code\":\"Enter new pin code\",\"enter_new_pin_code_again\":\"Enter new pin code (again)\",\"enter_pin_code\":\"Enter pin code\",\"go_back\":\"Go back\",\"logged_in_as\":\"Logged in as\",\"password\":\"Password\",\"pin_code\":\"Pin code\",\"polar_team_pro_integration\":\"Polar Team Pro Integration\",\"questionnaire_questions\":\"Questionnaire questions\",\"questionnaire_questions_tooltip\":\"Disable individual questions per questionnaire here.\",\"regenerate_api_token\":\"Regenerate API token\",\"reset_password\":{\"confirm_new_password\":\"Confirm password\",\"errors\":{\"passwords_must_match\":\"Passwords must match\"},\"new_password\":\"New password\",\"old_password\":\"Current password\",\"submit\":\"Edit password\",\"success\":\"Password edited successfully\"},\"sub_account_tooltip\":\"\\\\u003cp\\\\u003eSub accounts can:\\\\u003c/p\\\\u003e\\\\n\\\\u003cul class=\\\\\"browser-default\\\\\"\\\\u003e\\\\n\\\\u003cli\\\\u003eCreate and update players and teams, but not delete them.\\\\u003c/li\\\\u003e\\\\n\\\\u003cli\\\\u003eFull access to create, manage, and delete training sessions and fill out sessions.\\\\u003c/li\\\\u003e\\\\n\\\\u003c/ul\\\\u003e\\\\n\\\\u003cp\\\\u003eSub accounts CANNOT:\\\\u003c/p\\\\u003e\\\\n\\\\u003cul class=\\\\\"browser-default\\\\\"\\\\u003e\\\\n\\\\u003cli\\\\u003eCreate or delete sub accounts.\\\\u003c/li\\\\u003e\\\\n\\\\u003cli\\\\u003eView or update account settings such as the password, pin code, or api token.\\\\u003c/li\\\\u003e\\\\n\\\\u003cli\\\\u003eView, edit, export, or delete responses.\\\\u003c/li\\\\u003e\\\\n\\\\u003c/ul\\\\u003e\\\\n\",\"sub_accounts\":\"Sub accounts\",\"update_pin_code\":\"Save\",\"update_success\":\"Change saved\",\"use_pin_code\":\"Use pin code\",\"username\":\"Username\"}},\"radio\":{\"radio\":{\"locale\":{\"dutch\":\"Nederlands\",\"english\":\"English\"}}},\"reset_password\":{\"field\":{\"text\":{\"email\":\"Your email address\"}},\"label\":{\"password\":\"New password\",\"password_confirm\":\"New password (again)\",\"submit\":\"Change password\"},\"submit\":\"Request new password\"},\"reset_password_edit\":{\"error\":{\"token_invalid\":\"The provided token is incorrect\"},\"field\":{\"password\":{\"password\":\"Choose a password\",\"password_confirm\":\"Confirm your password\"}},\"submit\":\"Store new password\"},\"responses\":{\"attributes\":{\"actions\":\"Actions\",\"add_extra_questions\":\"Add extra questions\",\"completed_at\":\"Completed at\",\"contents\":\"Contents\",\"id\":\"ID\",\"opened_at\":\"Opened at\",\"player\":\"Player\",\"player_jersey_number\":\"Player jersey number\",\"player_name\":\"Player name\",\"training_moment\":\"Training moment\",\"training_type\":\"Training type\",\"weekday\":\"Day of the week\"},\"flash_messages\":{\"response_deleted\":\"Response deleted\",\"response_updated\":\"Response updated\"},\"overview\":{\"delete_response\":\"Delete response\",\"destroy_response_prompt\":\"that you want to delete this response\",\"show_response\":\"Show response\",\"there_are_no_responses\":\"There are no responses. When there are filled out questionnaires, they are shown here.\"},\"show_response\":{\"show_response\":\"Show response \\'{{name}}\\'\"}},\"signup\":{\"checkbox\":{\"checkbox\":{\"terms\":\"I accept the general terms and conditions\"}},\"field\":{\"email\":{\"email\":\"Your email address\"},\"password\":{\"password\":\"Choose a password\",\"password_confirm\":\"Confirm your password\"},\"text\":{\"first_name\":\"First name\",\"last_name\":\"Last name\"}},\"radio\":{\"radio\":{\"locale\":\"Language\"}},\"submit\":\"Register\"},\"sub_tokens\":{\"actions\":\"Actions\",\"destroy\":\"Delete sub account\",\"expires_at\":\"Expires at\",\"flash_messages\":{\"sub_token_created\":\"Sub account created successfully\",\"sub_token_deleted\":\"Sub account deleted\"},\"last_used_at\":\"Last used at\",\"never\":\"Never\",\"new_token\":{\"create\":\"Create sub account\",\"description\":\"Description\",\"expires_at\":\"Expires at (optional)\"},\"no_description\":\"none\",\"none\":\"No sub accounts exist. Fill out the fields below and click on create to create a sub account.\",\"only_once_warning\":\"WARNING: This URL is only shown ONCE, so please copy/paste the above URL somewhere NOW.\",\"url_to_log_in\":\"The recently created sub account can be used to log in using the following URL:\"},\"support\":{\"array\":{\"last_word_connector\":\", and \",\"two_words_connector\":\" and \",\"words_connector\":\", \"}},\"teampro\":{\"extra_questions\":{\"battery\":\"battery\",\"hydration\":\"hydration\",\"muscle_soreness\":\"muscle soreness\",\"sleep\":\"sleep\",\"training_duration\":\"training duration\"},\"manager\":{\"add_date\":\"Add another date\",\"add_extra_questions\":\"Add extra questions\",\"at\":\"At...\",\"coach_questionnaire_loaded\":\"Coach questionnaire loaded\",\"date_and_time\":\"Date and time\",\"extra_questions\":\"extra questions\",\"fill_out_coach_questionnaire\":\"Fill out coach questionnaire\",\"navigation\":\"Navigation\",\"no_one\":\"No one\",\"no_players_in_team\":\"No players in team.\",\"now\":\"Now\",\"options\":\"Options\",\"or\":\"or\",\"players_app_started\":\"Started players app\",\"please_select\":\"Please select\",\"questionnaire_settings\":\"Questionnaire settings\",\"select_day_of_the_week\":\"Select day of the week...\",\"select_players\":\"Select players\",\"send_invites_confirmation\":\"you want to send SMS invites to {{count}} players\",\"send_invites_per_sms\":\"Send invites per SMS\",\"send_now\":\"Send invites\",\"send_scheduled\":\"Schedule invites\",\"set_training_moment\":\"Set training moment...\",\"set_training_type\":\"Set training type...\",\"there_are_no_teams_click\":\"There are no teams yet. Click the \\'Edit Teams\\' button in the menu to add a team.\",\"time\":\"Time\",\"to_players_app\":\"To players app\",\"training_session_created\":\"Training session created. Invites will be scheduled to all selected players who have a mobile number set.\",\"validations\":{\"day_of_the_week\":\"the day of the week\",\"selected_players\":\"at least one player\",\"training_moment\":\"the training moment\",\"training_type\":\"the training type\"},\"whole_team\":\"Whole team\"},\"player\":{\"answer_stored\":\"Answer stored\",\"click_below_to_select_different_player\":\"Click below to select a different player.\",\"click_your_name\":\"Click your name\",\"search\":{\"no_players_matching_query\":\"No players match the search query.\",\"no_players_selected\":\"No players selected.\",\"prompt\":\"Search...\"},\"something_went_wrong_saving_questionnaire\":\"Something went wrong trying to store the questionnaire\"},\"questionnaire\":{\"match\":\"match\",\"save\":\"Save\",\"week\":\"week\",\"you_havent_answered_all_questions\":\"You haven\\'t answered all questions\"},\"slogan\":{\"part_1\":\"Vitesse\",\"part_2\":\"\",\"part_3\":\"\"},\"training_moment_hints\":{\"after_match\":\"effort, performance, enjoyment\",\"after_the_first_training\":\"effort\",\"after_the_last_training\":\"effort, performance, enjoyment\",\"before_match\":\"recovery, confidence, motivation, mood\",\"before_the_first_training\":\"recovery, confidence, motivation, mood\",\"independent_of_a_training\":\"life event, injury, health problems\"},\"training_moments\":{\"after_match\":\"after match\",\"after_the_first_training\":\"after the first training\",\"after_the_last_training\":\"after the last training\",\"before_match\":\"before match\",\"before_the_first_training\":\"before the first training\",\"before_the_second_training\":\"before the second training\",\"independent_of_a_training\":\"independent of a training\"},\"training_types\":{\"absent\":\"Absent\",\"coaching\":\"Coaching\",\"group\":\"Group\",\"individual\":\"Individual\",\"massage\":\"Massage\",\"match\":\"Match\",\"other_team\":\"Other team\",\"recovery_training\":\"Recovery Training\",\"rehab_cardio\":\"Rehab Cardio\",\"rehab_combi\":\"Rehab Combi\",\"rehab_inside\":\"Rehab inside\",\"rehab_strength\":\"Rehab Strength\",\"strength\":\"Strength\",\"training\":\"Training\"},\"weekdays\":{\"friday\":\"Friday\",\"match_day\":\"MATCH day\",\"monday\":\"Monday\",\"saturday\":\"Saturday\",\"sunday\":\"Sunday\",\"thursday\":\"Thursday\",\"tuesday\":\"Tuesday\",\"wednesday\":\"Wednesday\"}},\"teams\":{\"edit_player\":{\"edit_player\":\"Edit Player \\'{{name}}\\'\",\"polar_player_select\":{\"label\":\"Polar IDs\",\"select_polar_players\":\"Select polar players...\"},\"team\":\"Team\",\"update_player\":\"Update player\"},\"edit_team\":{\"delete_player\":\"Delete player\",\"edit_player\":\"Edit player\",\"edit_team\":\"Edit Team \\'{{name}}\\'\",\"player\":\"player\",\"players\":\"Players\",\"there_are_no_players_click_to_add\":\"There are no players yet. Click the red \\'+\\' button in the bottom right to add a player.\",\"update_team_name\":\"Update team name\"},\"flash_messages\":{\"player_created\":\"Player created\",\"player_deleted\":\"Player deleted\",\"player_updated\":\"Player updated\",\"polar_player_created\":\"Polar ID created\",\"polar_player_deleted\":\"Polar ID deleted\",\"team_created\":\"Team created\",\"team_deleted\":\"Team deleted\",\"team_updated\":\"Team updated\"},\"new_player\":{\"add_player\":\"Add Player\",\"create_player\":\"Create player\",\"jersey_number\":\"Jersey number\",\"locale\":\"Language (can be changed by player)\",\"locales\":{\"en\":\"English\",\"nl\":\"Nederlands\"},\"mobile_phone\":\"Mobile phone (for SMS invites)\",\"name\":\"Name\",\"role\":\"Role\",\"roles\":{\"attacker\":\"attacker\",\"coach\":\"coach\",\"defender\":\"defender\",\"keeper\":\"goalkeeper\",\"midfielder\":\"midfielder\"}},\"new_team\":{\"create_team\":\"Create team\",\"name\":\"Name\"},\"overview\":{\"delete_team\":\"Delete team\",\"edit_team\":\"Edit team\",\"there_are_no_teams_click_to_add\":\"There are no teams yet. Click the red \\'+\\' button in the bottom right to add a team.\"}},\"terms\":{\"not_accepted\":\"You need to accept the terms and conditions\"},\"time\":{\"am\":\"am\",\"formats\":{\"default\":\"%a, %d %b %Y %H:%M:%S %z\",\"long\":\"%B %d, %Y %H:%M\",\"short\":\"%d %b %H:%M\"},\"pm\":\"pm\"},\"training_sessions\":{\"edit_training_session\":{\"completed_at\":\"Questionnaire filled out at\",\"delete_fill_out_session\":\"Delete invite for player\",\"destroy_fill_out_session_prompt\":\"that you want to delete this player from the training session? NOTE: this does not delete any filled out questionnaires. It only invalidates the link in the already-sent SMS to {{player}} for this training session. For a training session scheduled in the future, it means that no SMS will be sent to {{player}}. Continue\",\"edit_response\":\"Edit response for player\",\"edit_training_session\":\"Training Session \\'{{name}}\\'\",\"fill_out_sessions\":\"Fill-outs\",\"invited_at\":\"SMS sent at\",\"name\":\"Name\",\"not_yet_completed\":\"Questionnaire not yet filled out\",\"results\":\"Results\",\"there_are_no_fill_out_sessions\":\"There are no open invitations for this training session. NOTE: invitations are only created for players with a mobile phone number set (you can do this through the \\'Edit Teams\\' menu on the Manager Dashboard.\"},\"flash_messages\":{\"fill_out_session_deleted\":\"Invitation for player deleted\",\"training_session_deleted\":\"Training session deleted\"},\"invitation_states\":{\"finished_processing\":\"Finished processing\",\"new\":\"New\",\"processing\":\"Processing\"},\"new_training_session\":{\"add_extra_questions\":\"Add extra questions\",\"created_at\":\"Created at\",\"expires_at\":\"Invitations expire at\",\"invitation_state\":\"Processing state\",\"scheduled_at\":\"Scheduled at\",\"training_moment\":\"Training moment\",\"training_type\":\"Training type\",\"weekday\":\"Day of the week\"},\"overview\":{\"delete_training_session\":\"Delete training session\",\"destroy_training_session_prompt\":\"that you want to delete this training session? NOTE: Deleting a training session does not delete any filled out questionnaires. It only invalidates links in already-sent SMS messages. For a training session scheduled in the future, it means that the SMS invites will never be sent. Continue\",\"edit_training_session\":\"Edit training\",\"not_filled_out\":\"not filled out\",\"switch_to\":\"Switch to\",\"there_are_no_training_sessions\":\"There are no training sessions. You can create a training session from the Manager Dashboard by clicking \\\\\"Send invites per SMS\\\\\".\"},\"tabs\":{\"past\":{\"title\":\"Training Sessions (past)\"},\"upcoming\":{\"title\":\"Training Sessions (upcoming)\"}}},\"views\":{\"pagination\":{\"first\":\"\\\\u0026laquo; First\",\"last\":\"Last \\\\u0026raquo;\",\"next\":\"Next \\\\u0026rsaquo;\",\"previous\":\"\\\\u0026lsaquo; Prev\",\"truncate\":\"\\\\u0026hellip;\"}},\"visualizations\":{\"labels\":{\"daily_average\":\"Daily average\",\"end_date\":\"End date\",\"max_plot_band\":\"To\",\"min_plot_band\":\"From\",\"moving_average_window_none\":\"none\",\"moving_average_window_size\":\"Moving average window (smoothing)\",\"players\":\"Players\",\"show_average\":\"Show average\",\"show_daily_average\":\"Show daily average\",\"show_plot_bands\":\"Show plot bands\",\"start_date\":\"Start date\",\"variable\":\"Variable\",\"z_scores\":{\"individual\":\"Individual z scores\",\"none\":\"Raw values\",\"population\":\"Population z scores\"},\"zoom\":\"Zoom in by drawing a selection rectangle.\"},\"networks\":{\"end_date\":\"End date\",\"error\":\"Error\",\"network_at_index\":\"Netwerk at index\",\"network_count\":\"Network count\",\"network_details\":\"Network details\",\"no_player_selected\":\"Select a player to show networks.\",\"slide_to_view_different_networks\":\"Slide to view different networks.\",\"start_date\":\"Start date\",\"there_are_no_networks\":\"There are no networks for this player.\"},\"optgroups\":{\"coach\":\"Coaching\",\"compound\":\"Compound\",\"match\":\"Match\",\"special_event\":\"Important event\",\"training\":\"Training\"},\"question_mapping\":{\"coaching\":\"Coaching\",\"emh_match\":\"EMH Match\",\"emh_sum\":\"EMH (1 or match)\",\"emh_training1\":\"EMH Training 1\",\"emi_match\":\"EMI Match\",\"emi_sum\":\"EMI (1, 2, or match)\",\"emi_training1\":\"EMI Training 1\",\"emi_training2\":\"EMI Training 2\",\"enjoyment_match\":\"Enjoyment match\",\"enjoyment_training\":\"Enjoyment training\",\"mood_match\":\"Mood match\",\"mood_training\":\"Mood training\",\"motivation_match\":\"Motivation match\",\"motivation_training\":\"Motivation training\",\"ostrc1\":\"OSTRC 1\",\"ostrc2\":\"OSTRC 2\",\"ostrc3\":\"OSTRC 3\",\"ostrc4\":\"OSTRC 4\",\"ostrc_sum\":\"OSTRC sum (1+2+3+4)\",\"performance_match\":\"Performance match\",\"performance_training\":\"Performance training\",\"polar\":{\"cadence_avg\":\"Cadence avg\",\"cadence_max\":\"Cadence max\",\"cardio_load\":\"Cardio load\",\"distance_meters\":\"Distance (m)\",\"duration_ms\":\"Training duration (ms)\",\"heart_rate_avg\":\"Heart rate avg\",\"heart_rate_avg_percent\":\"Heart rate avg (%)\",\"heart_rate_max\":\"Heart rate max\",\"heart_rate_max_percent\":\"Heart rate max (%)\",\"heart_rate_min\":\"Heart rate min\",\"heart_rate_min_percent\":\"Heart rate min (%)\",\"kilo_calories\":\"Kilo calories\",\"muscle_load\":\"Muscle load\",\"speed_avg_kmh\":\"Speed avg (km/h)\",\"speed_max_kmh\":\"Speed max (km/h)\",\"sprint_counter\":\"Sprint count\",\"training_load\":\"Training load\"},\"relation_spec_event\":\"Relation special event\",\"self_efficacy_match\":\"Self-efficacy match\",\"self_efficacy_training\":\"Self-efficacy training\",\"special_event\":\"Special event\",\"valence_spec_event\":\"Valence special event\"},\"resilience_monitoring\":{\"date\":\"Date\",\"dynamic_z_score\":\"In the graphs, calculate the z-score based on plotted values\",\"dynamic_z_score_tooltip\":\"Even when this option is checked, the radio button selection for a z-score period of \\'3 months\\', \\'6 months\\', or \\'9 months\\' is still used for sorting the player buttons below.\",\"period\":{\"nine_months\":\"9 months\",\"six_months\":\"6 months\",\"three_months\":\"3 months\"},\"players\":\"Players\",\"show_zscores\":\"Individual z scores\",\"teams\":\"Teams\"},\"tabs\":{\"networks\":{\"title\":\"Networks\"},\"overview\":{\"title\":\"Overview\"},\"polar\":{\"title\":\"Polar\"},\"resilience_monitoring\":{\"title\":\"Resilience monitoring\"}}}}'));\nI18n.translations[\"nl\"] = I18n.extend((I18n.translations[\"nl\"] || {}), JSON.parse('{\"access_denied\":\"Toegang geweigerd\",\"activerecord\":{\"errors\":{\"messages\":{\"record_invalid\":\"Validatie mislukt: %{errors}\",\"restrict_dependent_destroy\":{\"has_many\":\"Kan item niet verwijderen omdat afhankelijke %{record} bestaan\",\"has_one\":\"Kan item niet verwijderen omdat %{record} afhankelijk is\"}}}},\"admin_access_denied\":\"Alleen toegankelijk voor administratoren\",\"alert\":{\"title\":\"Waarschuwingen\"},\"already_accepted\":\"Is al geaccepteerd\",\"already_exists\":\"Bestaat al\",\"back_button\":\"Terug\",\"callback\":{\"did_not_receive_a_code\":\"Geen autorisatie-code ontvangen.\",\"go_back\":\"Ga terug\",\"resolving_authorization_code\":\"autorisatie-code aan het verwerken\"},\"components\":{\"2fa\":{\"disable\":{\"confirm\":\"Bevestigen en sluiten\",\"label\":\"Code van 6 cijfers\",\"submit\":\"Verwijder Authenticator\",\"success\":\"De authenticator is niet meer aan uw account gekoppeld. U kunt nu zonder extra code inloggen.\",\"title\":\"Vul een geldige code in om de authenticator van uw account te verwijderen\"},\"enable\":{\"confirm\":\"Bevestigen en sluiten\",\"label\":\"Code van 6 cijfers\",\"submit\":\"Bevestig Authenticator\",\"success\":\"De authenticator is succesvol aan uw account gekoppeld! Hieronder staan 5 codes die gebruikt kunnen worden om uw authenticator uit te zetten als het inloggen niet meer lukt. Bewaar deze goed!\",\"title\":\"Scan de QR code met een authenticator app en vul de 6 cijfers in om deze aan uw account te koppelen\"},\"invalid_otp\":\"De ingevulde code is onjuist\",\"is_enabled_error\":\"Er is iets fout gegaan bij het ophalen van uw 2FA informatie. Probeer het later opnieuw\",\"uri_error\":\"Er is iets fout gegaan bij het ophalen van de QR code. Probeer het later opnieuw\"},\"confirmation_dialog\":{\"action_after\":{\"custom\":\"\",\"delete\":\"wilt verwijderen\",\"delete_connection\":\"wilt verwijderen\",\"delete_group\":\"wilt verwijderen\",\"delete_polar_token\":\"wilt opheffen\",\"leave\":\"wilt verlaten\",\"reject_connection\":\"wilt weigeren\",\"reject_group\":\"wilt weigeren\",\"stop_protocol\":\"wilt stoppen\"},\"action_before\":{\"custom\":\"\",\"delete\":\"\",\"delete_connection\":\"de connectie met\",\"delete_group\":\"de groep\",\"delete_polar_token\":\"de koppeling met\",\"leave\":\"de groep\",\"reject_connection\":\"het connectieverzoek van\",\"reject_group\":\"de uitnodiging voor de groep\",\"stop_protocol\":\"\"},\"cancel\":\"Nee\",\"confirm\":\"Ja\",\"title\":\"Weet u zeker dat u\"},\"placeholders\":{\"default_message\":\"Onvoldoende data om deze informatie te kunnen tonen\",\"default_title\":\"Nog niet beschikbaar\"}},\"created\":\"Opgeslagen\",\"date\":{\"abbr_day_names\":[\"zo\",\"ma\",\"di\",\"wo\",\"do\",\"vr\",\"za\"],\"abbr_month_names\":[null,\"jan\",\"feb\",\"mrt\",\"apr\",\"mei\",\"jun\",\"jul\",\"aug\",\"sep\",\"okt\",\"nov\",\"dec\"],\"day_names\":[\"zondag\",\"maandag\",\"dinsdag\",\"woensdag\",\"donderdag\",\"vrijdag\",\"zaterdag\"],\"formats\":{\"default\":\"%d-%m-%Y\",\"long\":\"%e %B %Y\",\"short\":\"%e %b\"},\"month_names\":[null,\"januari\",\"februari\",\"maart\",\"april\",\"mei\",\"juni\",\"juli\",\"augustus\",\"september\",\"oktober\",\"november\",\"december\"],\"order\":[\"day\",\"month\",\"year\"]},\"datetime\":{\"distance_in_words\":{\"about_x_hours\":{\"one\":\"ongeveer een uur\",\"other\":\"ongeveer %{count} uur\"},\"about_x_months\":{\"one\":\"ongeveer een maand\",\"other\":\"ongeveer %{count} maanden\"},\"about_x_years\":{\"one\":\"ongeveer een jaar\",\"other\":\"ongeveer %{count} jaar\"},\"almost_x_years\":{\"one\":\"bijna een jaar\",\"other\":\"bijna %{count} jaar\"},\"half_a_minute\":\"een halve minuut\",\"less_than_x_minutes\":{\"one\":\"minder dan een minuut\",\"other\":\"minder dan %{count} minuten\"},\"less_than_x_seconds\":{\"one\":\"minder dan een seconde\",\"other\":\"minder dan %{count} seconden\"},\"over_x_years\":{\"one\":\"meer dan een jaar\",\"other\":\"meer dan %{count} jaar\"},\"x_days\":{\"one\":\"1 dag\",\"other\":\"%{count} dagen\"},\"x_minutes\":{\"one\":\"1 minuut\",\"other\":\"%{count} minuten\"},\"x_months\":{\"one\":\"1 maand\",\"other\":\"%{count} maanden\"},\"x_seconds\":{\"one\":\"1 seconde\",\"other\":\"%{count} seconden\"},\"x_years\":{\"one\":\"1 jaar\",\"other\":\"%{count} jaar\"}},\"prompts\":{\"day\":\"dag\",\"hour\":\"uur\",\"minute\":\"minuut\",\"month\":\"maand\",\"second\":\"seconde\",\"year\":\"jaar\"}},\"defaults\":{\"abbreviated_month_names\":[\"jan\",\"feb\",\"mrt\",\"apr\",\"mei\",\"jun\",\"jul\",\"aug\",\"sep\",\"okt\",\"nov\",\"dec\"],\"day_names\":[\"zondag\",\"maandag\",\"dinsdag\",\"woensdag\",\"donderdag\",\"vrijdag\",\"zaterdag\"],\"daypart_names\":[\"ochtend\",\"middag\",\"avond\"],\"month_names\":[\"januari\",\"februari\",\"maart\",\"april\",\"mei\",\"juni\",\"juli\",\"augustus\",\"september\",\"oktober\",\"november\",\"december\"],\"the_day_after_tomorrow\":\"overmorgen\",\"tomorrow\":\"morgen\"},\"devise\":{\"confirmations\":{\"confirmation_link\":\"Bevestig mijn account\",\"confirmation_sms\":\"Voordat u kunt beginnen met het dagboekonderzoek, moet u nog wel uw emailadres bevestigen. Dit kunt u doen door op de volgende link te klikken.\",\"confirmation_sms_title\":\"Welkom\",\"confirmed\":\"Je account is bevestigd, je kan nu inloggen.\",\"resend\":\"Stuur opnieuw\",\"resend_confirmation_instructions\":\"Verstuur bevestigingssms opnieuw\",\"send_instructions\":\"U ontvangt een sms met instructies over hoe u uw account kan bevestigen.\",\"send_paranoid_instructions\":\"Als we uw emailadres terugvinden in onze database, zal u binnen enkele ogenblikken een email ontvangen met de instructies hoe u uw account kan bevestigen.\"},\"failure\":{\"already_authenticated\":\"U bent al aangemeld.\",\"inactive\":\"Uw account is nog niet geactiveerd.\",\"invalid\":\"Ongeldig emailadres of wachtwoord. Is dit de eerste keer dat u de site bezoekt? Registreert u zich dan eerst door te klikken op \\'Nog geen account?\\'\",\"last_attempt\":null,\"locked\":\"Uw account is vergrendeld.\",\"not_found_in_database\":\"Ongeldig emailadres of wachtwoord. Is dit de eerste keer dat u de site bezoekt? Registreert u zich dan eerst door te klikken op \\'Nog geen account?\\'\",\"timeout\":\"Uw sessie is verlopen, meld u opnieuw aan om door te gaan.\",\"unauthenticated\":\"U dient zich te registreren of in te loggen om door te gaan.\",\"unconfirmed\":\"U dient eerst uw account te bevestigen.\"},\"mailer\":{\"confirmation_instructions\":{\"confirm\":\"Bevestig mijn account\",\"how_to\":\"Dit kunt u doen door op de volgende link te klikken:\",\"should_confirm\":\"Voordat u Project RIS kunt gebruiken, moet u nog uw e-mailadres bevestigen.\",\"subject\":\"Bevestiging\",\"title\":\"Welkom bij Project RIS!\"},\"generic\":{\"kind_regards\":\"Met vriendelijke groet,\"},\"reset_password_instructions\":{\"change_password\":\"Wijzig mijn wachtwoord\",\"did_not_request\":\"Mocht u deze link niet hebben aangevraagd, negeert u deze email dan. Uw wachtwoord wordt niet veranderd totdat u op de bovenstaande link klikt.\",\"reset_requested\":\"Iemand heeft een link aangevraagd om uw wachtwoord te wijzigen. U kunt uw wachtwoord wijzigen door op onderstaande link te klikken.\",\"subject\":\"Wachtwoord opnieuw instellen\",\"title\":\"Beste mevrouw, meneer,\"},\"unlock_instructions\":{\"subject\":\"Ontgrendelinstructies\"}},\"omniauth_callbacks\":{\"failure\":\"We konden u niet aanmelden op u %{kind} omdat \\\\\"%{reason}\\\\\".\",\"success\":\"U bent succesvol ingelogd op uw %{kind} account.\"},\"passwords\":{\"no_token\":\"Deze pagina is alleen bereikbaar via een wachtwoord reset email. Als u wel via een wachtwoord reset email komt, zorg er dan voor dat u de volledige URL gebruikt.\",\"reset_password\":\"Wachtwoord opnieuw instellen\",\"send_instructions\":\"U ontvangt een sms met instructies over hoe u uw wachtwoord opnieuw kunt instellen.\",\"send_paranoid_instructions\":\"Als we uw emailadres terugvinden in onze database, zal u binnen enkele ogenblikken via email een link ontvangen om uw wachtwoord opnieuw in te stellen.\",\"updated\":\"Je wachtwoord is gewijzigd. Je bent nu ingelogd.\",\"updated_not_active\":\"Uw wachtwoord werd met succes gewijzigd.\"},\"registrations\":{\"destroyed\":\"Uw account is verwijderd, wie weet tot ziens!\",\"personal_info_fields\":\"Uw geslacht, geboortemaand en -jaar en postcodecijfers worden alleen gebruikt om te controleren of u dezelfde persoon bent als in het eerdere NEMESIS onderzoek.\",\"signed_up\":\"U bent geregistreerd.\",\"signed_up_but_inactive\":\"U bent geregistreerd, maar we konden u niet inloggen omdat uw account nog niet is geactiveerd.\",\"signed_up_but_locked\":\"U bent geregistreerd, maar we konden u niet inloggen omdat uw account is gelocked.\",\"signed_up_but_unconfirmed\":\"Een bevestigingsemail is naar uw emailadres gestuurd. Open de link in de email om uw account te activeren.\",\"update_needs_confirmation\":\"Uw account is geüpdate, maar we moeten uw emailadres nog valideren. Een bevestigings-sms is naar uw telefoon gestuurd. Open de link in uw browser om uw emailadres te confirmeren.\",\"updated\":\"Uw accountgegevens zijn opgeslagen.\"},\"reset_password\":{\"reset_password_sms\":\"Via onderstaande link kunt u uw wachtwoord opnieuw instellen. Mocht u deze link niet hebben aangevraagd, negeer dit bericht dan.\",\"reset_password_sms_title\":\"Hallo\"},\"sessions\":{\"signed_in\":\"U bent succesvol ingelogd.\",\"signed_out\":\"U bent succesvol uitgelogd.\"},\"shared_links\":{\"didnt_receive_confirmation_instructions\":\"Geen bevestigingsinstructies ontvangen?\",\"didnt_receive_unlock_instructions\":\"Geen deblokkeerinstructies ontvangen?\",\"forgot_your_password\":\"Wachtwoord vergeten?\",\"log_in\":\"Inloggen\",\"sign_up\":\"Registreren\"},\"unlocks\":{\"enable_account\":\"Maak mijn account weer beschikbaar\",\"send_instructions\":\"U ontvangt een email met instructies over hoe u uw account kan unlocken.\",\"send_paranoid_instructions\":\"Als we uw emailadres terugvinden in onze database, zal u binnen enkele ogenblikken via email de instructies ontvangen hoe u uw account kan unlocken.\",\"unlocked\":\"Uw account is ge-unlocked. U kan nu weer inloggen.\"}},\"download_link_mailer\":{\"body\":\"Hallo, de download die je hebt aangevraagd is klaar. Klik op de onderstaande link om het te downloaden.\",\"expiration\":\"Deze link verloopt over %{expiration} uur.\",\"link\":\"Klik hier om te downloaden\",\"subject\":\"Je export van Project-RiS staat klaar om te worden gedownload\"},\"errors\":{\"format\":\"%{attribute} %{message}\",\"generic\":\"Er is een fout opgetreden. We zijn hiervan op de hoogte. Onze excuses voor het ongemak.\",\"messages\":{\"accepted\":\"moet worden geaccepteerd\",\"already_confirmed\":\"is al bevestigd\",\"blank\":\"moet opgegeven zijn\",\"confirmation\":\"komt niet overeen met %{attribute}\",\"confirmation_period_expired\":\"moet binnen %{period} worden bevestigd, a.u.b. plaats een nieuw verzoek\",\"empty\":\"moet opgegeven zijn\",\"equal_to\":\"moet gelijk zijn aan %{count}\",\"even\":\"moet even zijn\",\"exclusion\":\"is gereserveerd\",\"expired\":\"is verlopen, vraag een nieuwe aan\",\"greater_than\":\"moet groter zijn dan %{count}\",\"greater_than_or_equal_to\":\"moet groter dan of gelijk zijn aan %{count}\",\"inclusion\":\"is niet in de lijst opgenomen\",\"invalid\":\"is ongeldig\",\"less_than\":\"moet minder zijn dan %{count}\",\"less_than_or_equal_to\":\"moet minder dan of gelijk zijn aan %{count}\",\"model_invalid\":\"Validatie mislukt: %{errors}\",\"not_a_number\":\"is geen getal\",\"not_an_integer\":\"moet een geheel getal zijn\",\"not_created\":{\"one\":\"1 fout verhinderde het starten van dit %{resource}:\",\"other\":\"%{count} fouten verhinderden het starten van dit %{resource}:\"},\"not_found\":\"niet gevonden\",\"not_locked\":\"is niet gesloten\",\"not_saved\":{\"one\":\"1 fout verhinderde het wijzigen van je wachtwoord:\",\"other\":\"%{count} fouten verhinderden het wijzigen van je wachtwoord:\"},\"odd\":\"moet oneven zijn\",\"other_than\":\"moet anders zijn dan %{count}\",\"present\":\"moet leeg zijn\",\"required\":\"moet bestaan\",\"taken\":\"is al in gebruik\",\"too_long\":{\"one\":\"is te lang (maximaal %{count} teken)\",\"other\":\"is te lang (maximaal %{count} tekens)\"},\"too_short\":{\"one\":\"is te kort (minimaal %{count} teken)\",\"other\":\"is te kort (minimaal %{count} tekens)\"},\"wrong_length\":{\"one\":\"heeft onjuiste lengte (moet 1 teken lang zijn)\",\"other\":\"heeft onjuiste lengte (moet %{count} tekens lang zijn)\"}},\"offline\":\"Deze pagina werkt momenteel alleen wanneer u een internet connectie heeft.\",\"return\":\"Keer terug naar Project RIS\",\"template\":{\"body\":\"Er zijn problemen met de volgende velden:\",\"header\":{\"one\":\"%{model} niet opgeslagen: 1 fout gevonden\",\"other\":\"%{model} niet opgeslagen: %{count} fouten gevonden\"}},\"try_again\":\"Er is een fout opgetreden, probeer het opnieuw.\"},\"exports\":{\"combined_export_tooltip\":\"Deze export is een herstructureerde versie van de vragenlijstexport en Polar-export. Het geeft een maximum van één regel per dag per atleet. Als er variabelen meerdere keren per dag zijn ingevuld, wordt de eerste waarde die is ingevuld gebruikt. Het geeft ook de Polar data op dezelfde regel als het overeenkomende sessies kan vinden.\",\"download\":\"downloaden\",\"download_options\":{\"custom\":\"een specifieke periode:\",\"everything\":\"vanaf het begin (alles)\",\"past_7_days\":\"de afgelopen 7 dagen\",\"today\":\"vandaag\",\"yesterday\":\"gisteren\"},\"download_questionnaires_of\":\"Download vragenlijsten van:\",\"end_date\":\"Einddatum\",\"export_combined\":\"Gecombineerde export (Vragenlijsten + Polar)\",\"export_data\":\"Data exporteren\",\"export_questionnaires\":\"Vragenlijsten exporteren\",\"export_restructured\":\"Herstructureerde export\",\"flash_messages\":{\"export_started\":\"De export is gestart. Je ontvangt een e-mail wanneer de export klaar is om te downloaden.\"},\"polar_players\":\"Polar spelers\",\"polar_training_sessions\":\"Polar trainingssessies\",\"pseudonymize_level_two\":\"Pseudonimiseer ook het datum-veld\",\"pseudonymize_the_data\":\"Pseudonimiseer de data\",\"pseudonymize_tooltip\":\"Als je dit vinkje aanvinkt, wordt de data pseudonimiseerd. Dit heeft de volgende drie effecten. 1) Het verwijdert de volgende velden uit de export: jerseyNumber, name, role, en weekday. 2) Het hashed de volgende velden: playerId, teamId, en response_id. 3) Het verwijdert de teamId suffix van het trainingType.\",\"questionnaire_definitions\":\"Vragenlijstdefinities\",\"restructured_export_tooltip\":\"Deze export is een herstructureerde versie van de vragenlijstexport. Het geeft een maximum van één regel per dag per atleet. Als er variabelen meerdere keren per dag zijn ingevuld, wordt de eerste waarde die is ingevuld gebruikt.\",\"start_and_end_not_required\":\"Startdatum- en einddatumvelden zijn niet verplicht.\",\"start_date\":\"Startdatum\",\"teams_and_players\":\"Teams en spelers\"},\"fill_out_session\":{\"invitation_text\":\"Je bent uitgenodigd door je coach om een vragenlijst in te vullen.\",\"thanks_for_filling_out\":\"Bedankt voor het invullen van de vragenlijst!\",\"you_may_now_close_this_page\":\"Je kunt nu deze pagina sluiten.\"},\"flashmessages\":{\"callback\":{\"failed\":\"Er ging iets fout bij het opzetten van de koppeling met het Polar-account\",\"successful\":\"Koppeling met het Polar-account is gelukt\"},\"confirmation\":{\"failed\":\"Er ging iets mis, e-mailadres niet bevestigd.\",\"processing\":\"Bezig met bevestigen...\",\"successful\":\"E-mailadres bevestigd. Je kan nu inloggen.\"},\"data\":{\"remove_selected\":{\"failed\":\"Er ging iets fout bij het verwijderen van één of meerdere bestanden\",\"successful\":\"Bestanden verwijderd\"}},\"general\":{\"copied_link_to_clipboard\":\"Link naar het clipboard gekopieërd\"},\"groups\":{\"accepted\":\"Uitnodiging geaccepteerd\",\"declined\":\"Uitnodiging geweigerd\"},\"login\":{\"successful\":\"Je bent nu ingelogd\"},\"logout\":{\"successful\":\"Je bent nu uitgelogd\"},\"metadata\":{\"update_successful\":\"Gegevens bijgewerkt\"},\"password_edit\":{\"successful\":\"Wachtwoord gewijzigd\"},\"password_reset\":{\"successful\":\"E-mail verstuurd (indien er een account bestaat met dit e-mailadres)\"},\"polar_token\":{\"destroy\":{\"successful\":\"Koppeling met het Polar-account is opgeheven\"},\"invalidated\":\"De Polar-grant is niet meer geldig. Ga naar \\'Account\\', en klik vervolgens op \\'Hef koppeling met Polar-account op\\' om de koppeling met Polar op te heffen en klik vervolgens op \\'Autoriseer Polar-account\\' om de koppeling opnieuw te maken. De Polar-gegevens en koppelingen tussen Polar-spelers en spelers blijven hierbij bestaan.\"},\"profile\":{\"update_successful\":\"Gegevens bijgewerkt\"},\"questionnaires\":{\"creation_error\":\"Er is iets foutgegaan bij het starten van de protocollen\",\"creation_success\":\"Protocollen gestart\",\"deletion_error\":\"Er is iets foutgegaan bij het stoppen van het protocol\",\"deletion_success\":\"Protocol gestopt\",\"error\":\"Er is iets foutgegaan bij het opslaan\",\"update_successful\":\"Gegevens bijgewerkt\"},\"snapshots\":{\"failed\":\"Er ging iets fout bij het aanmaken van het snapshot\",\"successful\":\"Snapshot aangemaakt. U kunt dit snapshot over enkele ogenblikken vinden op uw Delen-pagina.\"}},\"general\":{\"not_found\":\"Niet gevonden\"},\"helpers\":{\"select\":{\"prompt\":\"Maak een keuze\"},\"submit\":{\"create\":\"%{model} toevoegen\",\"submit\":\"%{model} opslaan\",\"update\":\"%{model} bijwerken\"}},\"home_screen\":{\"add_to_home_screen\":\"Toevoegen aan beginscherm\",\"instructions\":\"1. Tik op het deel-icoon (vierkant met pijl omhoog)\\\\n2. Tik op de optie \\\\\"Voeg toe aan beginscherm\\\\\"\\\\n\"},\"i18n\":{\"plural\":{\"keys\":[\"one\",\"other\"]}},\"insufficient_rights\":\"Onvoldoende rechten\",\"locale\":{\"not_specified\":\"moet opgegeven zijn\"},\"login\":{\"checkbox\":{\"checkbox\":{\"remember_me\":\"Ingelogd blijven\"}},\"field\":{\"email\":{\"email\":\"Uw e-mailadres\"},\"password\":{\"password\":\"Wachtwoord\"},\"text\":{\"otp_attempt\":\"Vul de code van uw authenticator app in\"}},\"link\":{\"forgot_password\":\"Wachtwoord vergeten?\",\"register\":\"Nog geen account? Meld je nu aan!\"},\"lost_authenticator\":\"Authenticator kwijt? Vul dan een van uw backup codes in. Let op: hierna zal de authenticator worden uitgeschakeld. Na het inloggen kunt u een nieuwe authenticator instellen.\",\"otp_attempt\":{\"invalid\":\"De ingevulde code is ongeldig\",\"locked\":\"U heeft het maximum aantal login progingen overschreden. Over 15 minuten kunt u het weer proberen.\"},\"submit\":\"Log in\"},\"logo\":\"Resilience in Sports\",\"magic\":\"magie\",\"menu\":{\"account\":\"Account\",\"add_player\":\"Speler toevoegen\",\"add_team\":\"Team toevoegen\",\"edit_teams\":\"Teams bewerken\",\"export_data\":\"Data exporteren\",\"log_out\":\"Log uit\",\"manager_dashboard\":\"Manager Dashboard\",\"prompt\":{\"log_out\":\"wilt uitloggen\"},\"responses\":\"Antwoorden\",\"teams\":\"Teams\",\"training_sessions\":\"Trainingsessies\",\"visualizations\":\"Visualisaties\"},\"misc\":{\"child\":{\"one\":\"kind\",\"other\":\"kinderen\"},\"error\":{\"one\":\"fout\",\"other\":\"fouten\"},\"gender\":{\"female\":\"vrouw\",\"male\":\"man\"},\"ordinal\":{\"one\":\"ste\",\"other\":\"de\"},\"people\":{\"one\":\"mens\",\"other\":\"mensen\"},\"player\":{\"one\":\"player\",\"other\":\"players\"}},\"notFound\":{\"return\":\"Terug naar de hoofdpagina\"},\"not_found\":{\"busy\":\"bezig\",\"go_back\":\"Ga terug\",\"page_not_found\":\"pagina niet gevonden\"},\"number\":{\"currency\":{\"format\":{\"delimiter\":\".\",\"format\":\"%u %n\",\"precision\":2,\"separator\":\",\",\"significant\":false,\"strip_insignificant_zeros\":false,\"unit\":\"€\"}},\"format\":{\"delimiter\":\".\",\"precision\":2,\"separator\":\",\",\"significant\":false,\"strip_insignificant_zeros\":false},\"human\":{\"decimal_units\":{\"format\":\"%n %u\",\"units\":{\"billion\":\"miljard\",\"million\":\"miljoen\",\"quadrillion\":\"biljard\",\"thousand\":\"duizend\",\"trillion\":\"biljoen\",\"unit\":\"\"}},\"format\":{\"delimiter\":\"\",\"precision\":3,\"significant\":true,\"strip_insignificant_zeros\":true},\"storage_units\":{\"format\":\"%n %u\",\"units\":{\"byte\":{\"one\":\"byte\",\"other\":\"bytes\"},\"gb\":\"GB\",\"kb\":\"KB\",\"mb\":\"MB\",\"tb\":\"TB\"}}},\"percentage\":{\"format\":{\"delimiter\":\"\",\"format\":\"%n%\"}},\"precision\":{\"format\":{\"delimiter\":\"\"}}},\"page\":\"pagina\",\"password\":{\"reset\":{\"email\":{\"sent\":\"Er is een email met instructies verstuurd naar {{email}} (indien dit e-mailadres hoort bij een account).\"}}},\"passwords\":{\"no_match\":\"De wachtwoorden komen niet overeen\",\"required\":\"Wachtwoord is vereist\"},\"pincode\":{\"forgot\":\"Pincode vergeten? Log uit, log in, en stel dan een nieuwe pincode in onder \\'Account\\'.\"},\"profile\":{\"edit\":{\"api_access\":\"API-Toegang\",\"api_token_success\":\"API-token succesvol opnieuw gegenereerd\",\"authorize_polar_account\":\"Autoriseer Polar-account\",\"deauthorize_polar_account\":\"Hef koppeling met Polar-account op\",\"enter_new_pin_code\":\"Nieuwe pincode invoeren\",\"enter_new_pin_code_again\":\"Nieuwe pincode opnieuw invoeren\",\"enter_pin_code\":\"Pincode invoeren\",\"go_back\":\"Ga terug\",\"logged_in_as\":\"Ingelogd als\",\"password\":\"Wachtwoord\",\"pin_code\":\"Pincode\",\"polar_team_pro_integration\":\"Polar Team Pro Integratie\",\"questionnaire_questions\":\"Vragenlijstvragen\",\"questionnaire_questions_tooltip\":\"Schakel hier individuele vragen uit per vragenlijst.\",\"regenerate_api_token\":\"API-token opnieuw genereren\",\"reset_password\":{\"confirm_new_password\":\"Bevestig nieuw wachtwoord\",\"errors\":{\"passwords_must_match\":\"Wachtwoorden moeten overeenkomen\"},\"new_password\":\"Nieuw wachtwoord\",\"old_password\":\"Huidig wachtwoord\",\"submit\":\"Wachtwoord aanpassen\",\"success\":\"Wachtwoord succesvol aangepast\"},\"sub_account_tooltip\":\"\\\\u003cp\\\\u003eSub-accounts kunnen:\\\\u003c/p\\\\u003e\\\\n\\\\u003cul class=\\\\\"browser-default\\\\\"\\\\u003e\\\\n\\\\u003cli\\\\u003eSpelers en teams aanmaken, updaten, maar niet verwijderen.\\\\u003c/li\\\\u003e\\\\n\\\\u003cli\\\\u003eVolledige toegang m.b.t. het aanmaken, beheren, en verwijderen van training sessions en fill-out sessies.\\\\u003c/li\\\\u003e\\\\n\\\\u003c/ul\\\\u003e\\\\n\\\\u003cp\\\\u003eSub-accounts kunnen NIET:\\\\u003c/p\\\\u003e\\\\n\\\\u003cul class=\\\\\"browser-default\\\\\"\\\\u003e\\\\n\\\\u003cli\\\\u003eSub-accounts aanmaken of verwijderen.\\\\u003c/li\\\\u003e\\\\n\\\\u003cli\\\\u003eAccountinstellingen zoals wachtwoord, pincode, api-token inzien of aanpassen.\\\\u003c/li\\\\u003e\\\\n\\\\u003cli\\\\u003eAntwoorden inzien, bewerken, exporteren of verwijderen.\\\\u003c/li\\\\u003e\\\\n\\\\u003c/ul\\\\u003e\\\\n\",\"sub_accounts\":\"Sub-accounts\",\"update_pin_code\":\"Opslaan\",\"update_success\":\"Instelling aangepast\",\"use_pin_code\":\"Pincode gebruiken\",\"username\":\"Gebruikersnaam\"}},\"radio\":{\"radio\":{\"locale\":{\"dutch\":\"Nederlands\",\"english\":\"English\"}}},\"reset_password\":{\"field\":{\"text\":{\"email\":\"Uw e-mail adres\"}},\"label\":{\"password\":\"Nieuw wachtwoord\",\"password_confirm\":\"Nieuw wachtwoord (nogmaals)\",\"submit\":\"Wachtwoord wijzigen\"},\"submit\":\"Vraag nieuw wachtwoord aan\"},\"reset_password_edit\":{\"error\":{\"token_invalid\":\"Het opgegeven token is onjuist\"},\"field\":{\"password\":{\"password\":\"Kies een wachtwoord\",\"password_confirm\":\"Bevestig uw wachtwoord\"}},\"submit\":\"Nieuw wachtwoord opslaan\"},\"responses\":{\"attributes\":{\"actions\":\"Acties\",\"add_extra_questions\":\"Extra vragen toevoegen\",\"completed_at\":\"Ingevuld op\",\"contents\":\"Inhoud\",\"id\":\"ID\",\"opened_at\":\"Geopend op\",\"player\":\"Speler\",\"player_jersey_number\":\"Rugnummer speler\",\"player_name\":\"Naam speler\",\"training_moment\":\"Trainingmoment\",\"training_type\":\"Trainingtype\",\"weekday\":\"Dag van de week\"},\"flash_messages\":{\"response_deleted\":\"Antwoord verwijderd\",\"response_updated\":\"Antwoord geüpdatet\"},\"overview\":{\"delete_response\":\"Antwoord verwijderen\",\"destroy_response_prompt\":\"dit antwoord wilt verwijderen\",\"show_response\":\"Antwoord bekijken\",\"there_are_no_responses\":\"Er zijn geen antwoorden. Wanneer er vragenlijsten zijn ingevuld worden deze hier getoond.\"},\"show_response\":{\"show_response\":\"Antwoord \\'{{name}}\\' bekijken\"}},\"signup\":{\"checkbox\":{\"checkbox\":{\"terms\":\"Ik accepteer de algemene voorwaarden\"}},\"field\":{\"email\":{\"email\":\"Uw e-mail adres\"},\"password\":{\"password\":\"Kies een wachtwoord\",\"password_confirm\":\"Bevestig uw wachtwoord\"},\"text\":{\"first_name\":\"Voornaam\",\"last_name\":\"Achternaam\"}},\"radio\":{\"radio\":{\"locale\":\"Taal\"}},\"submit\":\"Registreer\"},\"sub_tokens\":{\"actions\":\"Acties\",\"destroy\":\"Sub-account verwijderen\",\"expires_at\":\"Vervalt op\",\"flash_messages\":{\"sub_token_created\":\"Sub-account succesvol aangemaakt\",\"sub_token_deleted\":\"Sub-account verwijderd\"},\"last_used_at\":\"Laatst gebruikt op\",\"never\":\"Nooit\",\"new_token\":{\"create\":\"Sub-account aanmaken\",\"description\":\"Omschrijving\",\"expires_at\":\"Vervalt op (optioneel)\"},\"no_description\":\"geen\",\"none\":\"Er zijn geen sub-accounts. Vul de onderstaande velden in en klik op aanmaken om een sub-account aan te maken.\",\"only_once_warning\":\"LET OP: U krijgt dit URL maar één keer te zien, dus copy/paste NU het bovenstaande URL ergens.\",\"url_to_log_in\":\"Het net-aangemaakte sub-account kan worden gebruikt om in te loggen via het volgende URL:\"},\"support\":{\"array\":{\"last_word_connector\":\" en \",\"two_words_connector\":\" en \",\"words_connector\":\", \"}},\"teampro\":{\"extra_questions\":{\"battery\":\"batterij\",\"hydration\":\"vocht\",\"muscle_soreness\":\"spierpijn\",\"sleep\":\"slaap\",\"training_duration\":\"trainingduur\"},\"manager\":{\"add_date\":\"Nog een datum toevoegen\",\"add_extra_questions\":\"Extra vragen toevoegen\",\"at\":\"Om...\",\"coach_questionnaire_loaded\":\"Coach-vragenlijst geladen\",\"date_and_time\":\"Datum en tijd\",\"extra_questions\":\"extra vragen\",\"fill_out_coach_questionnaire\":\"Coach vragenlijst invullen\",\"navigation\":\"Navigatie\",\"no_one\":\"Niemand\",\"no_players_in_team\":\"Geen spelers in team.\",\"now\":\"Nu\",\"options\":\"Opties\",\"or\":\"of\",\"players_app_started\":\"Spelers-app gestart\",\"please_select\":\"Selecteer a.u.b.\",\"questionnaire_settings\":\"Vragenlijstinstellingen\",\"select_day_of_the_week\":\"Selecteer dag van de week...\",\"select_players\":\"Selecteer spelers\",\"send_invites_confirmation\":\"SMS-uitnodigingen wilt sturen aan {{count}} spelers\",\"send_invites_per_sms\":\"Stuur uitnodigingen per SMS\",\"send_now\":\"Uitnodigingen versturen\",\"send_scheduled\":\"Uitnodigingen klaarzetten\",\"set_training_moment\":\"Stel trainingmoment in...\",\"set_training_type\":\"Stel trainingtype in...\",\"there_are_no_teams_click\":\"Er zijn nog geen teams. Klik op \\'Teams bewerken\\' in het menu om een team toe te voegen.\",\"time\":\"Tijd\",\"to_players_app\":\"Naar spelers-app\",\"training_session_created\":\"Trainingsessie aangemaakt. Uitnodigingen zullen over enkele ogenblikken worden klaargezet voor aan alle geselecteerde spelers voor wie een mobiel nummer is ingesteld.\",\"validations\":{\"day_of_the_week\":\"een dag van de week\",\"selected_players\":\"tenminste één speler\",\"training_moment\":\"een trainingmoment\",\"training_type\":\"een trainingtype\"},\"whole_team\":\"Gehele team\"},\"player\":{\"answer_stored\":\"Antwoord opgeslagen\",\"click_below_to_select_different_player\":\"Klik hieronder om een andere speler te selecteren.\",\"click_your_name\":\"Klik je naam\",\"search\":{\"no_players_matching_query\":\"Geen spelers passen bij de zoektermen.\",\"no_players_selected\":\"Geen spelers geselecteerd.\",\"prompt\":\"Zoeken...\"},\"something_went_wrong_saving_questionnaire\":\"Er ging iets fout bij het opslaan van de vragenlijst\"},\"questionnaire\":{\"match\":\"wedstrijd\",\"save\":\"Opslaan\",\"week\":\"week\",\"you_havent_answered_all_questions\":\"Je hebt nog niet alle vragen beantwoord\"},\"slogan\":{\"part_1\":\"Vitesse\",\"part_2\":\"\",\"part_3\":\"\"},\"training_moment_hints\":{\"after_match\":\"inspanning, prestatie, plezier\",\"after_the_first_training\":\"inspanning\",\"after_the_last_training\":\"inspanning, prestatie, plezier\",\"before_match\":\"herstel, vertrouwen, motivatie, stemming\",\"before_the_first_training\":\"herstel, vertrouwen, motivatie, stemming\",\"independent_of_a_training\":\"life event, blessure, gezondheidsklachten\"},\"training_moments\":{\"after_match\":\"na wedstrijd\",\"after_the_first_training\":\"na de eerste training\",\"after_the_last_training\":\"na de laatste training\",\"before_match\":\"voor wedstrijd\",\"before_the_first_training\":\"voor de eerste training\",\"before_the_second_training\":\"voor de tweede training\",\"independent_of_a_training\":\"los van een training\"},\"training_types\":{\"absent\":\"Afwezig\",\"coaching\":\"Coaching\",\"group\":\"Groep\",\"individual\":\"Individueel\",\"massage\":\"Massage\",\"match\":\"Wedstrijd\",\"other_team\":\"Ander team\",\"recovery_training\":\"Hersteltraining\",\"rehab_cardio\":\"Revalidatie cardio\",\"rehab_combi\":\"Revalidatie combi\",\"rehab_inside\":\"Rehab inside\",\"rehab_strength\":\"Revalidatie kracht\",\"strength\":\"Kracht\",\"training\":\"Training\"},\"weekdays\":{\"friday\":\"vrijdag\",\"match_day\":\"WEDSTRIJD-dag\",\"monday\":\"maandag\",\"saturday\":\"zaterdag\",\"sunday\":\"zondag\",\"thursday\":\"donderdag\",\"tuesday\":\"dinsdag\",\"wednesday\":\"woensdag\"}},\"teams\":{\"edit_player\":{\"edit_player\":\"Speler \\'{{name}}\\' bewerken\",\"polar_player_select\":{\"label\":\"Polar IDs\",\"select_polar_players\":\"Selecteer polar spelers...\"},\"team\":\"Team\",\"update_player\":\"Speler updaten\"},\"edit_team\":{\"delete_player\":\"Speler verwijderen\",\"edit_player\":\"Speler bewerken\",\"edit_team\":\"Team \\'{{name}}\\' bewerken\",\"player\":\"speler\",\"players\":\"Spelers\",\"there_are_no_players_click_to_add\":\"Er zijn nog geen spelers. Klik op de \\'+\\'-knop rechtsonder om een speler toe te voegen.\",\"update_team_name\":\"Teamnaam updaten\"},\"flash_messages\":{\"player_created\":\"Speler aangemaakt\",\"player_deleted\":\"Speler verwijderd\",\"player_updated\":\"Speler geüpdatet\",\"polar_player_created\":\"Polar ID aangemaakt\",\"polar_player_deleted\":\"Polar ID verwijderd\",\"team_created\":\"Team aangemaakt\",\"team_deleted\":\"Team verwijderd\",\"team_updated\":\"Team geüpdatet\"},\"new_player\":{\"add_player\":\"Speler toevoegen\",\"create_player\":\"Speler aanmaken\",\"jersey_number\":\"Rugnummer\",\"locale\":\"Taal (kan speler zelf aanpassen)\",\"locales\":{\"en\":\"English\",\"nl\":\"Nederlands\"},\"mobile_phone\":\"Telefoonnummer (voor SMS-uitnodigingen)\",\"name\":\"Naam\",\"role\":\"Rol\",\"roles\":{\"attacker\":\"aanvaller\",\"coach\":\"coach\",\"defender\":\"verdediger\",\"keeper\":\"keeper\",\"midfielder\":\"middenvelder\"}},\"new_team\":{\"create_team\":\"Team aanmaken\",\"name\":\"Naam\"},\"overview\":{\"delete_team\":\"Team verwijderen\",\"edit_team\":\"Team bewerken\",\"there_are_no_teams_click_to_add\":\"Er zijn nog geen teams. Klik op de rode \\'+\\'-knop rechtsonder om een team toe te voegen.\"}},\"terms\":{\"not_accepted\":\"U moet eerst de algemene voorwaarden accepteren\"},\"time\":{\"am\":\"\\'s ochtends\",\"formats\":{\"default\":\"%a %d %b %Y %H:%M:%S %Z\",\"long\":\"%d %B %Y %H:%M\",\"short\":\"%d %b %H:%M\"},\"pm\":\"\\'s middags\"},\"training_sessions\":{\"edit_training_session\":{\"completed_at\":\"Vragenlijst ingevuld op\",\"delete_fill_out_session\":\"Verwijder uitnodiging voor speler\",\"destroy_fill_out_session_prompt\":\"deze speler wilt verwijderen van deze trainingsessie? NB: dit verwijdert niet reeds ingevulde vragenlijsten. Het zorgt er alleen voor dat het linkje in de verstuurde SMS naar {{player}} voor deze trainingsessie niet meer werkt. Voor een in de toekomst geschedulde trainingsessie betekent dit dat er geen SMS naar {{player}} zal worden verstuurd. Wilt u doorgaan\",\"edit_response\":\"Antwoord van speler bewerken\",\"edit_training_session\":\"Trainingsessie \\'{{name}}\\'\",\"fill_out_sessions\":\"Invullingen\",\"invited_at\":\"SMS verstuurd op\",\"name\":\"Naam\",\"not_yet_completed\":\"Vragenlijst nog niet ingevuld\",\"results\":\"Resultaten\",\"there_are_no_fill_out_sessions\":\"Er zijn geen openstaande uitnodigingen voor deze trainingsessie. NB: uitnodigingen worden alleen aangemaakt voor spelers voor wie een mobiel nummer is ingesteld (dit kan onder het \\'Teams bewerken\\' menu op het Manager Dashboard.\"},\"flash_messages\":{\"fill_out_session_deleted\":\"Uitnodiging voor speler verwijderd\",\"training_session_deleted\":\"Trainingsessie verwijderd\"},\"invitation_states\":{\"finished_processing\":\"Verwerken voltooid\",\"new\":\"Nieuw\",\"processing\":\"Bezig met verwerken\"},\"new_training_session\":{\"add_extra_questions\":\"Extra vragen toevoegen\",\"created_at\":\"Aangemaakt op\",\"expires_at\":\"Uitnodigingen verlopen op\",\"invitation_state\":\"Verwerkingsstatus\",\"scheduled_at\":\"Wordt verstuurd om\",\"training_moment\":\"Trainingmoment\",\"training_type\":\"Trainingtype\",\"weekday\":\"Dag van de week\"},\"overview\":{\"delete_training_session\":\"Trainingsessie verwijderen\",\"destroy_training_session_prompt\":\"deze trainingsessie wilt verwijderen? NB: dit verwijdert niet reeds ingevulde vragenlijsten. Het zorgt er alleen voor dat de linkjes in de verstuurde SMSjes voor deze trainingsessie niet meer werken. Voor een in de toekomst geschedulede trainingsessie betekent dit dat de SMSjes nooit verstuurd zullen worden. Wilt u doorgaan\",\"edit_training_session\":\"Trainingsessie bewerken\",\"not_filled_out\":\"niet ingevuld\",\"switch_to\":\"Verander naar\",\"there_are_no_training_sessions\":\"Er zijn geen trainingsessies. U kunt een trainingsessie starten door op het Manager Dashboard op de knop \\\\\"Stuur uitnodigingen per SMS\\\\\" te klikken.\"},\"tabs\":{\"past\":{\"title\":\"Trainingsessies (verleden)\"},\"upcoming\":{\"title\":\"Trainingsessies (toekomst)\"}}},\"validators\":{\"only_dutch_number\":\"mag alleen een Nederlands nummer zijn\",\"only_start_of_day\":\"mag alleen middernacht zijn\"},\"visualizations\":{\"labels\":{\"daily_average\":\"Dagelijks gemiddelde\",\"end_date\":\"Einddatum\",\"max_plot_band\":\"Tot\",\"min_plot_band\":\"Vanaf\",\"moving_average_window_none\":\"geen\",\"moving_average_window_size\":\"Moving average window (smoothing)\",\"players\":\"Spelers\",\"show_average\":\"Toon gemiddelde\",\"show_daily_average\":\"Toon dagelijks gemiddelde\",\"show_plot_bands\":\"Regio uitlichten\",\"start_date\":\"Begindatum\",\"variable\":\"Variabele\",\"z_scores\":{\"individual\":\"Individuele z-waarden\",\"none\":\"Ruwe waarden\",\"population\":\"Populatie z-waarden\"},\"zoom\":\"Zoom in door een selectiekader te trekken. Een eventueel ingestelde begin- en/of einddatum is ook van toepassing op het gemiddelde.\"},\"networks\":{\"end_date\":\"Einddatum\",\"error\":\"Foutmelding\",\"network_at_index\":\"Netwerk op index\",\"network_count\":\"Aantal netwerken\",\"network_details\":\"Netwerkdetails\",\"no_player_selected\":\"Selecteer een speler om netwerken te bekijken.\",\"slide_to_view_different_networks\":\"Schuif om verschillende netwerken te bekijken.\",\"start_date\":\"Startdatum\",\"there_are_no_networks\":\"Er zijn geen netwerken voor de geselecteerde speler.\"},\"optgroups\":{\"coach\":\"Coaching\",\"compound\":\"Samengesteld\",\"match\":\"Wedstrijd\",\"special_event\":\"Belangrijke gebeurtenis\",\"training\":\"Training\"},\"question_mapping\":{\"coaching\":\"Coaching\",\"emh_match\":\"EMH Match\",\"emh_sum\":\"EMH (1 of match)\",\"emh_training1\":\"EMH Training 1\",\"emi_match\":\"EMI Match\",\"emi_sum\":\"EMI (1, 2 of match)\",\"emi_training1\":\"EMI Training 1\",\"emi_training2\":\"EMI Training 2\",\"enjoyment_match\":\"Enjoyment match\",\"enjoyment_training\":\"Plezier training\",\"mood_match\":\"Mood match\",\"mood_training\":\"Zin in training\",\"motivation_match\":\"Motivation match\",\"motivation_training\":\"Motivatie training\",\"ostrc1\":\"OSTRC 1\",\"ostrc2\":\"OSTRC 2\",\"ostrc3\":\"OSTRC 3\",\"ostrc4\":\"OSTRC 4\",\"ostrc_sum\":\"OSTRC som (1+2+3+4)\",\"performance_match\":\"Performance match\",\"performance_training\":\"Prestatie training\",\"polar\":{\"cadence_avg\":\"Cadans avg\",\"cadence_max\":\"Cadans max\",\"cardio_load\":\"Cardiobelasting\",\"distance_meters\":\"Afstand (m)\",\"duration_ms\":\"Trainingsduur (ms)\",\"heart_rate_avg\":\"Hartslag avg\",\"heart_rate_avg_percent\":\"Hartslag avg (%)\",\"heart_rate_max\":\"Hartslag max\",\"heart_rate_max_percent\":\"Hartslag max (%)\",\"heart_rate_min\":\"Hartslag min\",\"heart_rate_min_percent\":\"Hartslag min (%)\",\"kilo_calories\":\"Kilocalorieën\",\"muscle_load\":\"Spierbelasting\",\"speed_avg_kmh\":\"Snelheid gem (km/h)\",\"speed_max_kmh\":\"Snelheid max (km/h)\",\"sprint_counter\":\"Aantal sprints\",\"training_load\":\"Trainingsbelasting\"},\"relation_spec_event\":\"Relation special event\",\"self_efficacy_match\":\"Self-efficacy match\",\"self_efficacy_training\":\"Zelfvertrouwen training\",\"special_event\":\"Special event\",\"valence_spec_event\":\"Valence special event\"},\"resilience_monitoring\":{\"date\":\"Datum\",\"dynamic_z_score\":\"Gebruik in de grafieken de z-score berekend op geplotte waarden\",\"dynamic_z_score_tooltip\":\"Zelfs als deze optie is aangevinkt worden de radio-buttons voor een z-score-periode van \\'3 maanden\\', \\'6 maanden\\', of \\'9 maanden\\' nog steeds gebruikt voor het sorteren van de spelersknoppen hieronder.\",\"period\":{\"nine_months\":\"9 maanden\",\"six_months\":\"6 maanden\",\"three_months\":\"3 maanden\"},\"players\":\"Spelers\",\"show_zscores\":\"Individuele z-waarden\",\"teams\":\"Teams\"},\"tabs\":{\"networks\":{\"title\":\"Netwerken\"},\"overview\":{\"title\":\"Overzicht\"},\"polar\":{\"title\":\"Polar\"},\"resilience_monitoring\":{\"title\":\"Resilience monitoring\"}}}}'));\n","import React from 'react'\n\nexport const FlashMessageContext = React.createContext()\n\nexport class FlashMessageProvider extends React.Component {\n constructor (props) {\n super(props)\n this.state = {\n messages: []\n }\n\n this.SHORT = 5000\n this.LONG = 10000\n\n this.INFO = 1\n this.WARNING = 2\n this.ERROR = 3\n }\n\n push (message, timeout, type) {\n const hasMessage = this.state.messages.filter((msg) => msg.message === message).length > 0\n\n if (hasMessage) {\n return\n }\n\n // Can we do an UNSAFE_componentWillUnmount that stops this timer? (no, because there are multiple)\n setTimeout(() => {\n const newState = { ...this.state }\n newState.messages = this.state.messages.map((msg) => { return msg.message === message && msg.type === type ? { ...msg, state: 'hide' } : msg })\n this.setState(newState)\n }, timeout)\n const newState = { ...this.state }\n newState.messages.push({ message, type, state: 'show' })\n this.setState(newState)\n }\n\n removeMessage (message, type) {\n const newState = { ...this.state }\n newState.messages = this.state.messages.filter((msg) => msg.type !== type && msg.message !== message)\n this.setState(newState)\n }\n\n render () {\n return (\n \n {this.props.children}\n \n )\n }\n}\n\nexport const WithFlashMessages = Component => props => {\n return (\n \n {(context) => ()}\n \n )\n}\n","import React, { useState } from 'react'\nimport EnterPinCode from './EnterPinCode'\nimport { WithSession } from '../session/SessionProvider'\nimport Spinner from '../common/Spinner'\nimport { MyAxios as axios } from '../MyAxios'\nimport { debounce } from 'lodash'\n\nexport const PIN_CODE = 'pinCode'\nconst DEBOUNCE_TIMEOUT = 200\n\nconst PinCode = (props) => {\n const [verified, setVerified] = useState(false)\n\n if (!props.myProfile.id) return \n\n const verify = (pinCode) => {\n axios.post('/api/v1/pin_codes/check', { pin_code: pinCode }, {\n headers: { ...props.authorizationHeaders() }\n }).then(res => {\n if (res.data?.verified) {\n window.localStorage.setItem(PIN_CODE, PIN_CODE)\n setVerified(true)\n if (props.afterVerifyCallback) props.afterVerifyCallback()\n }\n })\n }\n\n const askForPinCode = !window.localStorage.getItem(PIN_CODE)\n if (!verified && askForPinCode && props.myProfile.use_pin_code) {\n return \n }\n\n return props.children\n}\n\nexport default WithSession(PinCode)\n","import React from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport SubAccountRoutes from './SubAccountRoutes'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\nimport { PIN_CODE } from '../pin_code/PinCode'\nimport { WithSession } from '../session/SessionProvider'\nimport { withRouter } from 'react-router-dom'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\n\nconst SubAccountController = props => {\n const fetchSession = (subTokenId, subTokenToken) => {\n return axios.get(`/api/v1/sub_tokens/${subTokenId}/${subTokenToken}`)\n .then(res => {\n props.updateSession({\n sessionToken: res.headers.authorization,\n sessionAud: res.data.aud\n })\n window.localStorage.setItem(PIN_CODE, PIN_CODE)\n props.history.push('/')\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(WithSession(withRouter(SubAccountController)))\n","import React from 'react'\nimport I18n from 'i18n'\nimport { Radio, Select, CheckBox, Field, SelectMultiple, SelectMultipleIcon, Chips, Toggle } from '../common/form'\n\n/**\nForm fields are generated to ensure uniformity across forms and reduce the amount of effort required to create forms =)\nA field with a single value can be described as follows:\n\n\"\": {\n \"component\": \"string\",\n \"properties\": {\n \"type\": \"string\",\n \"name\": \"string\"\n }\n}\n\nA field where one value can be chosen for a list can be described like this:\n\n\"\": {\n \"component\": \"string\",\n \"properties\": {\n \"type\": \"string\",\n \"name\": \"string\"\n \"choices\": [{\n \"choiceLabel\": \"string\"\n \"properties\": {\"name\": \"string\", \"value\": \"any type\"}\n }]\n }\n}\n\nfield descriptions:\n - fieldName: a string that is used to access the field's value when processing the form\n - fieldName.component: a string that maps to a component in /form/common/.js\n - fieldName.properties: object that is passed as props to the HTML element\n - fieldName.properties.choices: An optional List of Objects that is required for form fields that\n have multiple values such as Select and Radio components. each item\n in the list results in 1 value. The first value will always be the\n default value\n - fieldName.properties.choices.choiceLabel: Key used for the choice label\n - fieldName.properties.choices.properties: Html properties given to the form field\n\n Note: the \"properties\" objects are passed directly as props to the underlying html element. Any prop\n that is valid react/html can be given here, such as 'style' or 'className'. The examples above\n only list the minimal required properties to create a field\n\n Note 2: I18N labels are created as '...' for fields,\n and '....' for field options\n\n Note 3: The 'defaultChecked' option can be given to a checkbox or radio choice.\n\n Note 4: The 'defaultValue' property can be set on the properties of the encapsulating \n )}\n {this.form_fields[field].component === 'select_multiple' && (\n \n )}\n {this.form_fields[field].component === 'radio' && (\n \n )}\n {this.form_fields[field].component === 'field' && (\n \n )}\n {this.form_fields[field].component === 'chips' && (\n \n )}\n {this.form_fields[field].component === 'select_multiple_icon' && (\n \n )}\n
    \n )\n })\n }\n\n /* renders a default submit button */\n renderSubmit (text, props) {\n const handleClick = function (e) {\n this.props.handleSubmit(e, this.props.formName, this.props.submitMethod, this.props.endpoint, this.handleSuccess.bind(this), this.handleError.bind(this), this.getFieldsToSubmit()[this.props.stage])\n }.bind(this)\n const newProps = JSON.parse(JSON.stringify(props))\n delete newProps.submitId\n return (\n
    \n
    \n \n
    \n
    \n )\n }\n\n renderSubmitAndCancel (submitText, cancelText, props) {\n const handleClick = function (e) {\n this.props.handleSubmit(e, this.props.formName, this.props.submitMethod, this.props.endpoint, this.handleSuccess.bind(this), this.handleError.bind(this), this.getFieldsToSubmit()[this.props.stage])\n }.bind(this)\n const handleCancelClick = function (e) {\n if (props.handleCancel) {\n props.handleCancel()\n } else {\n this.props.history.goBack()\n }\n }.bind(this)\n const newProps = JSON.parse(JSON.stringify(props))\n delete newProps.handleCancel\n delete newProps.submitId\n return (\n
    \n
    \n \n \n
    \n
    \n )\n }\n\n render () {\n return (
    Implement me in a subclass
    )\n }\n}\n","import React, { useEffect, useState } from 'react'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport moment from 'moment'\nimport { fullMomentDateFormatWithTime } from '../../common/Constants'\nimport { translateTrainingMoment, translateTrainingType, translateWeekday } from '../../teampro/Utils'\nimport { INDEPENDENT_OF_A_TRAINING } from '../../teampro/Constants'\nimport Spinner from '../../common/Spinner'\nimport Pagination from '../../common/Pagination'\nimport CalendarMonthView from 'react-calendar-month-view'\nimport { smartRounding } from '../../common/Math'\nimport ReactTooltip from 'react-tooltip'\nimport MyReactTooltip from '../../MyReactTooltip'\n\nconst TrainingSessionsUpcoming = (props) => {\n const page = new URLSearchParams(props.location.search).get('page') || '1'\n const [calendarView, setCalendarView] = useState(false)\n\n useEffect(() => {\n props.fetchFutureTrainingSessions(page)\n }, [page])\n\n useEffect(() => {\n if (props.month) handleMonthChange()\n }, [props.month])\n\n useEffect(() => {\n setTimeout(() => { ReactTooltip.rebuild() }, 200)\n }, [calendarView])\n\n const editTrainingSession = id => {\n props.history.push(`/training-sessions/${id}/edit`)\n }\n\n const destroyTrainingSession = id => {\n props.destroyTrainingSession(id).then(() => {\n props.flashMessages.push(\n I18n.t('training_sessions.flash_messages.training_session_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchFutureTrainingSessions(page)\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const showDestroyTrainingSessionDialog = id => {\n props.setConfirmationDialog({\n onConfirmation: () => destroyTrainingSession(id),\n target: I18n.t('training_sessions.overview.destroy_training_session_prompt'),\n action: 'custom',\n noQuotes: true\n })\n }\n\n const trainingSessionTimeString = trainingSession => {\n if (trainingSession.scheduled_at) {\n return moment(trainingSession.scheduled_at).format(fullMomentDateFormatWithTime)\n }\n\n return moment(trainingSession.created_at).format(fullMomentDateFormatWithTime)\n }\n\n const trainingTimeString = trainingSession => {\n if (trainingSession.scheduled_at) {\n return moment(trainingSession.scheduled_at).format('HH:mm')\n }\n\n return moment(trainingSession.created_at).format('HH:mm')\n }\n\n const trainingSessionString = trainingSession => {\n const timeString = trainingSessionTimeString(trainingSession)\n if (trainingSession.invitation_state === 'new') {\n return (\n <>\n {timeString}{' '}\n schedule\n \n )\n }\n const notFilledOutString = completionString(trainingSession)\n return (\n <>\n {timeString}{' '}\n {notFilledOutString && {notFilledOutString}}\n \n )\n }\n\n const completionString = trainingSession => {\n const total = trainingSession.fill_out_sessions.length\n const completed = trainingSession.fill_out_sessions.filter(fillOutSession => fillOutSession.completed_at).length\n if (trainingSession.invitation_state !== 'finished_processing' || total === 0 || total === completed) {\n return ''\n }\n const notFilledOut = total - completed\n const notFilledOutPerc = smartRounding(100 * notFilledOut / total, 1)\n return `${I18n.t('training_sessions.overview.not_filled_out')}: ${notFilledOut} (${notFilledOutPerc}%)`\n }\n\n const trainingMomentString = trainingSession => {\n return translateTrainingMoment(trainingSession.training_moment)\n }\n\n const trainingTypeString = trainingSession => {\n return translateTrainingType(trainingSession.training_type, props.teams)\n }\n\n const trainingDayString = trainingSession => {\n return translateWeekday(trainingSession.weekday)\n }\n\n const extraQuestionsString = trainingSession => {\n if (trainingSession.add_extra_questions && trainingSession.training_moment && trainingSession.training_moment !== INDEPENDENT_OF_A_TRAINING) {\n return + {I18n.t('teampro.manager.extra_questions')}\n }\n return <>\n }\n\n const playerList = trainingSession => {\n if (!trainingSession.fill_out_sessions || trainingSession.fill_out_sessions.length === 0) return undefined\n\n return `
    ${trainingSession.fill_out_sessions.map(fillOutSession => fillOutSession.player.name).join(', ')}
    `\n }\n\n const renderDay = day => {\n if (props.trainingSessionsByDates === undefined) return <>\n\n const dayMoment = moment(day)\n const beginDay = moment(dayMoment.startOf('day').toDate())\n const endDay = moment(dayMoment.endOf('day').toDate())\n\n const onThisDay = props.trainingSessionsByDates.filter(trainingSession => {\n const trainingSessionDate = moment(trainingSession.scheduled_at || trainingSession.created_at)\n return trainingSessionDate >= beginDay && trainingSessionDate <= endDay\n })\n if (onThisDay.length === 0) return null\n return (\n
    \n {onThisDay.slice(0, 4).map(trainingSession => (\n props.history.push(`/training-sessions/${trainingSession.id}/edit`)}\n >\n {trainingTimeString(trainingSession)}{' '}\n \n {trainingMomentString(trainingSession)}, {trainingTypeString(trainingSession)}\n \n
    \n ))}\n
    \n )\n }\n\n const handleMonthChange = () => {\n const monthBegin = moment(props.month).startOf('month').toDate()\n const monthEnd = moment(props.month).endOf('month').toDate()\n props.fetchFutureTrainingSessionsByDates(monthBegin, monthEnd)\n }\n\n return (\n <>\n
      \n
    • \n

      {I18n.t('training_sessions.tabs.upcoming.title')} {props.pageInfo && props.pageInfo.current_page !== 1 && !calendarView && `- ${I18n.t('page')} ${props.pageInfo.current_page}`}

      \n {props.trainingSessions !== undefined && props.trainingSessions.length > 0 && (\n
      setCalendarView(!calendarView)}>\n {I18n.t('training_sessions.overview.switch_to')}\n {calendarView && dehaze}\n {!calendarView && date_range}\n
      \n )}\n
    • \n {(props.trainingSessions === undefined || props.trainingSessionsByDates === undefined) && (\n \n )}\n {props.trainingSessions !== undefined && props.trainingSessions.length === 0 && (\n
      \n

      {I18n.t('training_sessions.overview.there_are_no_training_sessions')}

      \n
      \n )}\n
      \n props.setMonth(startDate)}\n dayTextStyle={{\n width: '25px',\n height: '25px',\n margin: '0',\n left: 'unset',\n top: '0',\n right: '0'\n }}\n inactiveDayStyle={{\n backgroundColor: '#F8F8F8'\n }}\n activeDayStyle={{\n backgroundColor: '#F0F0F0',\n borderWidth: '0'\n }}\n />\n \n
      \n
      \n {props.trainingSessions !== undefined && props.trainingSessions.length > 0 && (\n props.trainingSessions.map(trainingSession => {\n return (\n
    • \n
      \n editTrainingSession(trainingSession.id)}\n >\n {trainingSessionString(trainingSession)}\n

      \n {trainingTypeString(trainingSession)}{' '}\n {trainingDayString(trainingSession)}\n {extraQuestionsString(trainingSession)}
      \n {trainingMomentString(trainingSession)}\n

      \n
      \n {\n e.preventDefault()\n editTrainingSession(trainingSession.id)\n }}\n >\n edit\n \n {\n e.preventDefault()\n showDestroyTrainingSessionDialog(trainingSession.id)\n }}\n >\n delete\n \n
    • \n \n )\n }))}\n \n
    \n
    \n {props.trainingSessions !== undefined && (\n \n )}\n
    \n\n \n )\n}\n\nexport default WithModal(WithFlashMessages(TrainingSessionsUpcoming))\n","import React from 'react'\nimport { Route } from 'react-router'\n\nimport ResetPassword from './layout/ResetPassword'\nimport ResetPasswordEdit from './layout/ResetPasswordEdit'\nimport Login from './layout/Login'\nimport SignUp from './layout/SignUp'\nimport Confirmation from './layout/Confirmation'\nimport LoginContainer from './layout/LoginContainer'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\n\nexport default class AccountRoutes extends React.Component {\n constructor () {\n super()\n this.state = {\n targetHeight: 'auto',\n duration: 500\n }\n }\n\n setHeight (targetHeight, duration = 500) {\n this.setState({ targetHeight, duration })\n }\n\n render () {\n const { resetPasswordProps, resetPasswordEditProps, loginProps, signupProps, confirmationProps } = this.props\n return (\n \n (\n \n \n }\n />\n \n }\n />\n \n }\n />\n \n }\n />\n \n }\n />\n \n )}\n />\n \n\n )\n }\n}\n","import React, { useState, useEffect } from 'react'\nimport Questionnaire from '../questionnaires/Questionnaire'\nimport PlayerName from './PlayerName'\nimport { INDEPENDENT_OF_A_TRAINING, COACH } from '../Constants'\nimport I18n from 'i18n'\nimport { allTrainingMoments } from '../Utils'\n\nconst PlayerInterface = (props) => {\n const [playerQuery, setPlayerQuery] = useState('')\n\n useEffect(() => {\n window.M.updateTextFields()\n })\n\n const filterForQuery = (players) => {\n if (!playerQuery.length) return players\n const regex = playerQuery.replace(' ', '.*')\n return players.filter(player =>\n (player.jersey_number !== '-1' && player.jersey_number.toLowerCase().match(regex)) ||\n player.name.toString().toLowerCase().match(regex)\n )\n }\n\n const renderPlayer = (cPlayer, handleClick) => {\n if (cPlayer.completed) {\n return (\n
  • \n
    \n \n
    \n
  • \n )\n }\n return (\n
  • \n
    \n props.setPlayerTrainingType(cPlayer, cTrainingType)}\n trainingType={props.trainingType}\n setTrainingMoment={cTrainingMoment => props.setPlayerTrainingMoment(cPlayer, cTrainingMoment)}\n trainingMoment={props.trainingMoment}\n trainingMoments={allTrainingMoments()}\n />\n
    \n
  • \n )\n }\n\n const handleClick = (e, cplayer) => {\n if (e.target && (e.target.classList.contains('select-dropdown') || e.target.classList.contains('browser-default'))) {\n // do nothing\n } else {\n e.preventDefault()\n props.setPlayer(cplayer)\n }\n }\n\n const renderPlayerSelect = () => {\n if (!props.selectedPlayers.length) return

    {I18n.t('teampro.player.search.no_players_selected')}

    \n const filteredPlayers = filterForQuery(props.selectedPlayers)\n return (\n <>\n

    {I18n.t('teampro.player.click_your_name')}

    \n
    \n
    \n search\n setPlayerQuery(e.target.value.toLowerCase())}\n />\n \n
    \n
    \n {!filteredPlayers.length &&

    {I18n.t('teampro.player.search.no_players_matching_query')}

    }\n {filteredPlayers.length > 0 && (\n
      \n {filteredPlayers.map(cplayer => renderPlayer(cplayer, (e) => handleClick(e, cplayer)))}\n
    \n )}\n \n )\n }\n\n return (\n <>\n {!props.player && renderPlayerSelect()}\n {props.player && (\n { setPlayerQuery(''); props.onQuestionnaireCompletion(props.player, { ...values, completedAt: new Date().toISOString() }, cb) }}\n />\n )}\n \n )\n}\n\nexport default PlayerInterface\n","import I18n from 'i18n'\n\n// Don't translate strings that were already translated. This function is needed because the database validations\n// can return strings that are sometimes already translated (for the default activerecord stuff) and sometimes not\n// (for our own custom validations). We chose not to translate our own custom validations so that translation\n// occurs in the front-end as much possible.\nexport function smartTranslate (str) {\n let translatedStr = I18n.t(str, { defaults: [{ message: str }] })\n if (typeof translatedStr !== 'string') translatedStr = str\n\n if (translatedStr.substr(0, 10) === '[missing \"' && translatedStr.substr(-14) === '\" translation]') {\n return str\n }\n return translatedStr\n}\n\nexport function smarterTranslate (str, defaultMessage) {\n let translatedStr = I18n.t(str, { defaults: [{ message: defaultMessage }] })\n if (typeof translatedStr !== 'string') translatedStr = str\n\n if (translatedStr.substr(0, 10) === '[missing \"' && translatedStr.substr(-14) === '\" translation]') {\n return defaultMessage\n }\n return translatedStr\n}\n\nexport function capitalizeFirstLetter (string) {\n return string.charAt(0).toUpperCase() + string.slice(1).replace(/_/g, ' ')\n}\n","import React, { useState, useEffect, useMemo } from 'react'\nimport Logo from '../../teampro/layout/logo.svg'\nimport moment from 'moment'\nimport DatePicker from 'react-datepicker'\nimport { datePickerDefaultOptions } from '../../common/Constants'\nimport SpinnerWrapper from '../../common/SpinnerWrapper'\nimport classNames from 'classnames'\nimport I18n from 'i18n'\nimport SmallGraph from './SmallGraph'\nimport { questionTitle } from '../../teampro/Utils'\nimport { useResponsesPlayerResponsesQuery } from '../../backend/Queries'\nimport Teams, { Team } from '../../common/types/Teams'\nimport { Period, PERIODS } from './Utils'\nimport Player from '../../common/types/Player'\nimport { WithSession } from '../../session/SessionProvider'\nimport User from '../../common/types/User'\nimport { flatten } from 'lodash'\nimport Info from '../../common/Info'\nimport ReactTooltip from 'react-tooltip'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport FlashMessages from '../../common/types/FlashMessages'\n\n/* eslint-disable @typescript-eslint/explicit-function-return-type, @typescript-eslint/strict-boolean-expressions, react/jsx-boolean-value */\n\ninterface UpdateZscoreObject {\n z_score_period: Period\n}\n\ninterface UpdateDynamicZScoreObject {\n dynamic_z_score: boolean\n}\n\ninterface UpdateDaysDifferenceObject {\n resilience_days_difference: number\n}\n\ninterface Props {\n teams: Teams\n myProfile?: User // From WithSession\n flashMessages: FlashMessages // From FlashMessageProvider\n onUpdateUser: (obj: UpdateZscoreObject | UpdateDaysDifferenceObject | UpdateDynamicZScoreObject) => void\n}\n\nconst ResilienceMonitoringDashboard: React.FunctionComponent = (props: Props) => {\n // Initialize only once, when we are loading the page\n const minDate = useMemo(() => moment().subtract(12, 'months').startOf('day').toDate(), [])\n const maxDate = useMemo(() => moment(new Date()).endOf('day').toDate(), [])\n\n const [startDate, setStartDate] = useState(props.myProfile?.resilience_days_difference !== null ? moment(maxDate).subtract(props.myProfile?.resilience_days_difference, 'days').startOf('day').toDate() : minDate)\n const [endDate, setEndDate] = useState(maxDate)\n const [selectedTeamIds, setSelectedTeamIds] = useState([])\n const [selectedPlayerIds, setSelectedPlayerIds] = useState([])\n const [showZScores, setShowZScores] = useState(false)\n const [zScorePeriod, setZScorePeriod] = useState(props.myProfile?.z_score_period ?? 'three_months')\n const [dynamicZScore, setDynamicZScore] = useState(props.myProfile?.dynamic_z_score ?? false)\n\n const { data: responses = [], refetch, isSuccess, isError, error } = useResponsesPlayerResponsesQuery(selectedPlayerIds, startDate ?? minDate, endDate ?? maxDate, false)\n\n useEffect(() => {\n // TODO: don't ignore errors for refetch\n void refetch()\n }, [startDate, endDate, selectedPlayerIds])\n\n const updateStartDate = (date: Date | null) => {\n setStartDate(date)\n // If the start date exists, then set it to something.\n const daysDifference = moment(endDate ?? maxDate).diff(moment(date), 'days')\n if (daysDifference >= 0) {\n props.onUpdateUser({ resilience_days_difference: daysDifference })\n }\n }\n\n // Initialize date slider\n useEffect(() => {\n const dateSlider = document.getElementById('slider-date')\n if (dateSlider == null) return\n\n const options = {\n // Create two timestamps to define a range.\n range: {\n min: timestamp2('2010'),\n max: timestamp2('2016')\n },\n\n format: {\n to: formatter,\n from: function (value: any) {\n return (value)\n }\n },\n // Steps of one week\n step: 7 * 24 * 60 * 60 * 1000,\n\n // Two more timestamps indicate the handle starting positions.\n start: [timestamp2('2011'), timestamp2('2015')]\n\n // No decimals\n // format: wNumb({\n // decimals: 0\n // })\n };\n\n (window as any).noUiSlider.create(dateSlider, options);\n (dateSlider as any).noUiSlider.on('slide', (values: string[], handle: number) => {\n if (handle === 0) { updateStartDate(reverseFormatterStart(values[handle])) } else if (handle === 1) { setEndDate(reverseFormatterEnd(values[handle])) } else {\n console.log('handle not recognized:')\n console.log(handle)\n }\n })\n }, [])\n\n useEffect(() => {\n const rangeSlider = document.getElementById('slider-date');\n (rangeSlider as any)?.noUiSlider?.updateOptions({\n range: {\n min: timestamp(minDate),\n max: timestamp(maxDate)\n },\n start: [timestamp(startDate ?? minDate), timestamp(endDate ?? maxDate)]\n }, true)\n }, [startDate, endDate])\n\n useEffect(() => {\n ReactTooltip.rebuild()\n }, [showZScores])\n\n useEffect(() => {\n if (!isError) return\n\n const errorTitles = Object.entries((error as any).response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k) as string}: ${(v as string[]).map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n }, [isError])\n\n const toggleTeamSelection = (teamId: number) => {\n if (selectedTeamIds.includes(teamId)) {\n setSelectedTeamIds(selectedTeamIds.filter(cTeamId => cTeamId !== teamId))\n const newSelectedPlayerIds = []\n const teamPlayers = props.teams.filter(team => team.id === teamId)[0]?.players\n if (!teamPlayers) return\n\n for (const playerId of selectedPlayerIds) {\n const player = teamPlayers.find(player => player.id === playerId)\n if (player) continue\n\n newSelectedPlayerIds.push(playerId)\n }\n setSelectedPlayerIds(newSelectedPlayerIds)\n } else {\n setSelectedTeamIds([...selectedTeamIds, teamId])\n }\n }\n\n const togglePlayerSelection = (playerId: number) => {\n if (selectedPlayerIds.includes(playerId)) {\n setSelectedPlayerIds(selectedPlayerIds.filter(cPlayerId => cPlayerId !== playerId))\n } else {\n setSelectedPlayerIds([...selectedPlayerIds, playerId])\n }\n }\n\n const renderTeamCheckbox = (team: Team) => {\n return (\n

    \n \n

    \n )\n }\n\n const renderPlayers = (players: Player[]) => {\n if (!players) return <>\n\n return (\n players.sort((a: Player, b: Player) => (a.order_scores[zScorePeriod]?.order_score ?? 0) - (b.order_scores[zScorePeriod]?.order_score ?? 0)).map(player => (\n togglePlayerSelection(player.id)}\n >\n {player.name}\n \n )\n )\n )\n }\n\n const teamToPlayers = (teamId: number): Player[] => {\n return props.teams.filter(team => team.id === teamId)[0]?.players || []\n }\n\n const updateZScorePeriod = (period: Period) => {\n setZScorePeriod(period)\n props.onUpdateUser({ z_score_period: period })\n }\n\n const updateDynamicZScore = (dynamic: boolean) => {\n setDynamicZScore(dynamic)\n props.onUpdateUser({ dynamic_z_score: dynamic })\n }\n\n const { isClearable, ...theRest } = datePickerDefaultOptions\n\n return (\n <>\n
    \n
    \n
    \n \n
    \n

    {I18n.t('visualizations.resilience_monitoring.date')}

    \n
    \n updateStartDate(date ? moment(date).startOf('day').toDate() : date)}\n selectsStart={true}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n openToDate={startDate ?? minDate}\n />\n setEndDate(date ? moment(date).endOf('day').toDate() : date)}\n selectsEnd={true}\n startDate={startDate}\n endDate={endDate}\n minDate={startDate ?? minDate}\n maxDate={maxDate}\n openToDate={endDate ?? maxDate}\n />\n
    \n
    \n
    \n
    \n

    \n \n

    \n {showZScores && (\n <>\n {PERIODS.map(period => (\n

    \n \n

    \n ))}\n

    \n \n

    \n \n )}\n

    {I18n.t('visualizations.resilience_monitoring.teams')}

    \n
    \n {props.teams.length === 0 &&

    {I18n.t('teampro.manager.there_are_no_teams_click')}

    }\n {props.teams.length > 0 && props.teams.map(cteam => renderTeamCheckbox(cteam))}\n
    \n
    \n
    \n

    {I18n.t('visualizations.resilience_monitoring.players')}

    \n
    \n {renderPlayers(flatten(selectedTeamIds.map(teamId => teamToPlayers(teamId))))}\n
    \n
    \n
    \n

    {questionTitle('v2')}

    \n \n \n \n
    \n
    \n

    {questionTitle('v3')}

    \n \n \n \n
    \n
    \n

    {questionTitle('v4')}

    \n \n \n \n
    \n
    \n

    {questionTitle('v6')}

    \n \n \n \n
    \n
    \n

    {questionTitle('v7')}

    \n \n \n \n
    \n
    \n

    {questionTitle('v5')}

    \n \n \n \n
    \n
    \n

    {questionTitle('v1')}

    \n \n \n \n
    \n
    \n \n )\n}\n\nconst timestamp = (dte: Date): number => {\n return dte.getTime()\n}\n\nconst timestamp2 = (str: string): number => {\n return new Date(str).getTime()\n}\n\nconst formatter = (seconds: moment.MomentInput): string => {\n return moment(seconds).format('DD-MM-YYYY')\n}\n\nconst reverseFormatterStart = (str: string): Date => {\n return moment(str, 'DD-MM-YYYY').startOf('day').toDate()\n}\nconst reverseFormatterEnd = (str: string): Date => {\n return moment(str, 'DD-MM-YYYY').endOf('day').toDate()\n}\n\nexport const calculateClass = (num: number): string => {\n if (num < -2) return 'red-ranking'\n if (num < -1) return 'yellow-ranking'\n if (Math.abs(num) < 0.0001) return ''\n if (num < 1) return 'green-ranking'\n return ''\n}\n\nexport default WithSession(WithFlashMessages(ResilienceMonitoringDashboard)) as typeof ResilienceMonitoringDashboard\n","import React from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport CallbackRoutes from './CallbackRoutes'\nimport { WithSession } from '../session/SessionProvider'\nimport { withRouter } from 'react-router-dom'\n\nconst CallbackController = props => {\n const createPolarToken = code => {\n return axios.post('/api/v1/polar_tokens', { code }, { headers: { ...props.authorizationHeaders() } })\n }\n\n return (\n \n )\n}\n\nexport default WithSession(withRouter(CallbackController))\n","import React from 'react'\nimport I18n from 'i18n'\nimport Info from '../../common/Info'\n\nexport default class CheckBox extends React.Component {\n render () {\n const errors = this.props.errors || []\n const { infoBox, component, fieldName, formName, currentValue, defaultValue } = this.props\n const type = this.props.type || 'checkbox'\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n delete fieldProps.infoBox\n\n let infoBoxText = infoBox\n if (typeof infoBoxText === 'function') {\n infoBoxText = infoBoxText()\n }\n\n let isChecked = !!currentValue || (defaultValue && currentValue == null) || false\n if (fieldProps.checked === false) {\n isChecked = false\n }\n delete fieldProps.checked\n\n return (\n
    \n
    \n
    \n
    \n \n {errors.map(err => (\n \n {this.props.translateErrors ? I18n.t(err) : err}\n \n ))}\n {infoBox && }\n
    \n
    \n
    \n
    \n )\n }\n}\n","import React from 'react'\nimport FormFactory from '../../helpers/FormFactory'\nimport I18n from 'i18n'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\n\nclass SignUp extends FormFactory {\n constructor (props) {\n super(props)\n this.form_fields = {\n email: {\n component: 'field',\n properties: {\n type: 'email'\n }\n },\n password: {\n component: 'field',\n properties: {\n type: 'password'\n }\n },\n password_confirm: {\n component: 'field',\n properties: {\n type: 'password'\n }\n },\n locale: {\n component: 'radio',\n propKey: 'locale',\n properties: {\n id: 'locale',\n name: 'locale',\n type: 'radio',\n choices: [\n { properties: { name: 'english', value: 'en' } },\n { properties: { name: 'dutch', value: 'nl' } }\n ]\n }\n }\n }\n }\n\n componentDidMount () {\n this.props.setHeight(824)\n }\n\n handleSuccess (response) {\n this.props.flashMessages.push(\n I18n.t(\n 'devise.registrations.signed_up_but_unconfirmed',\n { email: this.props.getFields(this.props.formName).email }\n ),\n this.props.flashMessages.duration.LONG,\n this.props.flashMessages.levels.INFO\n )\n this.props.history.push('/')\n }\n\n handleError (err) {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n this.props.flashMessages.push(\n errorTitles,\n this.props.flashMessages.duration.LONG,\n this.props.flashMessages.levels.ERROR)\n }\n\n render () {\n return (\n
    \n {this.renderFields()}\n {this.renderSubmit(`${this.props.formName}.submit`, {\n id: 'signup-button',\n className: 'btn waves-effect waves-light'\n })}\n
    \n )\n }\n}\n\nexport default WithFlashMessages(SignUp)\n","import React from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport { WithSession } from '../session/SessionProvider'\n\nexport const BackendContext = React.createContext()\n\nclass BackendProviderCls extends React.Component {\n addBasePath (path) {\n return `/api/v1${path}`\n }\n\n async makeBackendCall (method, path, data = undefined, options = {}, params = undefined) {\n let pathToUse\n if (options.addBasePath === false) {\n pathToUse = path\n } else {\n pathToUse = this.addBasePath(path)\n }\n return axios({\n method,\n url: pathToUse,\n headers: { ...this.props.authorizationHeaders(), 'Content-Type': 'application/json' },\n data,\n params\n })\n }\n\n // Questionnaires\n\n async getResponsesPlayerResponses (playerIds, start, end) {\n let url = `/responses/player_responses?start=${start.toISOString()}&end=${end.toISOString()}`\n const sortedPlayerIds = playerIds.sort()\n for (const playerId of sortedPlayerIds) {\n url += `&player_ids[]=${playerId}`\n }\n return this.makeBackendCall('GET', url)\n }\n\n async getPolarTrainingSessionsIndex (playerIds, start, end) {\n let url = `/polar_training_sessions?start=${start.toISOString()}&end=${end.toISOString()}`\n const sortedPlayerIds = playerIds.sort()\n for (const playerId of sortedPlayerIds) {\n url += `&player_ids[]=${playerId}`\n }\n return this.makeBackendCall('GET', url)\n }\n\n async getPlayerNetworks (playerId, limit) {\n return this.makeBackendCall('GET', `/networks/player_networks?player_id=${playerId}&limit=${limit}`)\n }\n\n render () {\n return (\n \n {this.props.children}\n \n )\n }\n}\n\nexport const BackendProvider = WithSession(BackendProviderCls)\n\nexport const WithBackend = Component => props => {\n return (\n \n {(context) => ()}\n \n )\n}\n","import React, { useState, useEffect } from 'react'\nimport Question from './Question'\nimport { INDEPENDENT_OF_A_TRAINING, COACH, MATCHDAY, questionnaires } from '../Constants'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport I18n from 'i18n'\nimport Raw from './Raw'\n\nconst Questionnaire = (props) => {\n const [values, setValues] = useState(props.initialValues)\n const [showErrors, setShowErrors] = useState(false)\n const [submitEnabled, setSubmitEnabled] = useState(true)\n const extraQuestionsKey = INDEPENDENT_OF_A_TRAINING\n\n useEffect(() => {\n for (const elem of document.querySelectorAll('input[type=range]:not(.initialized)')) {\n window.M.Range.init(elem)\n elem.classList.add('initialized')\n }\n }, [values])\n\n const hideThumbs = () => {\n for (const elem of document.querySelectorAll('.thumb.active')) {\n setTimeout(() => {\n elem.style.height = '0px'\n elem.style.width = '0px'\n elem.classList.remove('active')\n }, 500)\n }\n }\n\n useEffect(() => {\n document.addEventListener('touchend', hideThumbs)\n return () => {\n document.removeEventListener('touchend', hideThumbs)\n }\n }, [])\n\n let questionnaire = questionnaires[props.initialValues.trainingMoment]\n if (props.initialValues.extraQuestions) {\n questionnaire = questionnaire.concat(questionnaires[extraQuestionsKey])\n }\n if (props.initialValues.role === COACH) {\n const evaluationPeriod = (props.initialValues.weekday === MATCHDAY ? I18n.t('teampro.questionnaire.match') : I18n.t('teampro.questionnaire.week'))\n questionnaire = []\n for (const cPlayer of props.selectedPlayers) {\n questionnaire.push({\n type: 'slider',\n required: true,\n id: `v0_${evaluationPeriod}_${cPlayer.id}_perf`,\n min: 0,\n max: 100,\n label: { nl: `Hoe goed heeft ${cPlayer.name} gepresteerd in de afgelopen ${evaluationPeriod}?`, en: `How did ${cPlayer.name} perform in this ${evaluationPeriod}?` },\n minLabel: { nl: 'zeer slecht (ver onder zijn kunnen)', en: 'very bad (far below his capabilities)' },\n maxLabel: { nl: 'maximaal (op de top van zijn kunnen)', en: 'maximally (to the best of his capabilities)' },\n showOnlyIf: [\n { [`v0_${evaluationPeriod}_${cPlayer.id}_nvt`]: undefined }\n ]\n })\n questionnaire.push({\n type: 'checkbox',\n required: false,\n id: `v0_${evaluationPeriod}_${cPlayer.id}_nvt`,\n label: '',\n options: [\n { value: 1, label: { nl: `Niet van toepassing voor ${cPlayer.name}`, en: `Not applicable for ${cPlayer.name}` } }\n ]\n })\n }\n }\n\n // Hide disabled questions\n if (props.disabledQuestionnaireKeys) {\n questionnaire = questionnaire.filter(question => !question.id || !props.disabledQuestionnaireKeys.includes(question.id))\n }\n\n const findQuestionFor = (qid) => {\n return questionnaire.filter(question => question.id === qid && isVisible(question))\n }\n\n const conditionHolds = (condition) => {\n let result = true\n for (const [qid, value] of Object.entries(condition)) {\n result = result && ((values[qid] !== undefined && values[qid] === value) || (value === undefined && values[qid] === value)) && isVisible(findQuestionFor(qid))\n }\n return result\n }\n\n const isVisible = (question) => {\n if (!question.showOnlyIf) {\n return true\n }\n let result = false\n for (const condition of question.showOnlyIf) {\n result = (result || conditionHolds(condition))\n }\n return result\n }\n\n const requiredValues = questionnaire.filter(question => question.required && isVisible(question)).map(question => question.id)\n\n const setValue = (qid, value) => {\n const newValues = JSON.parse(JSON.stringify(values))\n newValues[qid] = value\n setValues(newValues)\n }\n\n const sharedPropsFor = (qid) => {\n return {\n value: values[qid],\n setValue: value => setValue(qid, value),\n showErrors\n }\n }\n\n const checkQuestionnaireCompletion = () => {\n if (!submitEnabled) return\n let complete = true\n for (const requiredValue of requiredValues) {\n if (values[requiredValue] === undefined) {\n complete = false\n }\n }\n if (!complete) {\n props.flashMessages.push(\n I18n.t('teampro.questionnaire.you_havent_answered_all_questions'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.ERROR\n )\n setShowErrors(true)\n setTimeout(() => setShowErrors(false), 250)\n return\n }\n setSubmitEnabled(false)\n props.onQuestionnaireCompletion(values, () => setSubmitEnabled(true))\n }\n\n const submitButton = () => {\n return (\n
    \n
    \n checkQuestionnaireCompletion()}\n className='btn waves-effect waves-light submit-button'\n disabled={!submitEnabled}\n >\n {I18n.t('teampro.questionnaire.save')}\n \n
    \n
    \n )\n }\n\n const renderQuestionnaire = () => {\n let hasSeenErroneousQuestion = false\n return (\n
    \n {questionnaire.filter(question => isVisible(question)).map(question => {\n if (!question.id && question.type !== 'raw') {\n console.error('Warning, the following question does not have an id (skipping):')\n console.error(question)\n return <>\n }\n if (!question.type) {\n console.error('Warning, the following question does not have a type (skipping):')\n console.error(question)\n return <>\n }\n const { id, ...theRest } = question\n if (question.type !== 'raw') {\n const moreProps = {}\n if (!hasSeenErroneousQuestion && showErrors && question.required && values[question.id] === undefined) {\n hasSeenErroneousQuestion = true\n moreProps.scrollTo = true\n }\n return \n }\n if (!question.html || question.html.length === 0) {\n console.error('ERROR: Question with no ID found:')\n console.error(question)\n return <>\n }\n return \n })}\n {submitButton()}\n
    \n )\n }\n\n return (\n <>\n {renderQuestionnaire()}\n \n )\n}\n\nexport default WithFlashMessages(Questionnaire)\n","import React, { useState } from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport { WithSession } from '../session/SessionProvider'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\nimport VisualizationsRoutes from './VisualizationsRoutes'\nimport I18n from 'i18n'\n\nconst VisualizationsController = props => {\n const [teams, setTeams] = useState([])\n\n const fetchTeams = () => {\n const result = getTeams()\n result\n .then(res => { setTeams(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const getTeams = () => {\n return axios.get('/api/v1/teams', { headers: { ...props.authorizationHeaders() } })\n }\n\n const destroyResponse = id => {\n return axios.delete(`/api/v1/responses/${id}`, { headers: { ...props.authorizationHeaders() } })\n }\n\n const handleUpdateUser = (user) => {\n axios.patch('/api/v1/users', { user }, { headers: { ...props.authorizationHeaders() } }).then(_res => {\n props.flashMessages.push(I18n.t('profile.edit.update_success'), props.flashMessages.duration.SHORT, props.flashMessages.levels.INFO)\n props.refetchSession()\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(WithSession(VisualizationsController))\n","import React from 'react'\nimport FormFactory from '../../helpers/FormFactory'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport Logo from '../../images/logo.png'\nimport { Link } from 'react-router-dom'\nimport AnimateHeight from 'react-animate-height'\nimport I18n from 'i18n'\n\nclass LoginContainer extends FormFactory {\n constructor () {\n super()\n this.state = {\n callback: null,\n animationFinished: false\n }\n }\n\n componentDidUpdate (prevProps, prevState) {\n if (prevProps.location.pathname !== this.props.location.pathname) {\n this.setState({ animationFinished: false })\n } else {\n this.state.animationFinished && prevProps.targetHeight === this.props.targetHeight && this.checkAndUpdateHeight()\n }\n }\n\n /* re-animates the height of the container if neccesary (i.e. when error messages are rendered in the form) */\n checkAndUpdateHeight () {\n const height = document.getElementById('test-id').scrollHeight\n\n if (this.props.targetHeight !== height) {\n this.props.setHeight(height)\n }\n }\n\n onAnimationEnd (props) {\n this.setState({ animationFinished: true })\n }\n\n render () {\n return (\n
    \n
    \n
    \n
    \n \n {I18n.t('logo')}\n \n

    Resilience in Sports

    \n \n {this.props.children}\n \n
    \n
    \n
    \n
    \n )\n }\n}\n\nexport default WithFlashMessages(LoginContainer)\n","import React, { useEffect, useState } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { WithModal } from '../../modal/ModalProvider'\nimport I18n from 'i18n'\nimport PinCode from '../../pin_code/PinCode'\nimport TabPanel, { Tab } from '../../common/TabPanel'\nimport ResilienceMonitoringDashboard from './ResilienceMonitoringDashboard'\nimport OverviewDashboard from './OverviewDashboard'\nimport PolarDashboard from 'components/visualizations/layout/PolarDashboard'\nimport NetworksDashboard from 'components/visualizations/layout/NetworksDashboard'\n\nconst VisualizationsOverview = props => {\n const [selectedTab, setSelectedTab] = useState('resilience_monitoring')\n\n useEffect(() => {\n props.fetchTeams()\n }, [])\n\n return (\n <>\n \n \n
    \n
    \n
    \n

    {I18n.t('menu.visualizations')}

    \n
    \n
    \n
    \n setSelectedTab(tabName)}>\n \n {selectedTab === 'resilience_monitoring' &&\n }\n \n \n {selectedTab === 'networks' && }\n \n {process.env.POLAR_ENABLED === 'true' && (\n \n {selectedTab === 'polar' && }\n \n )}\n \n {selectedTab === 'overview' && }\n \n \n
    \n
    \n
    \n \n )\n}\n\nexport default WithModal(WithFlashMessages(VisualizationsOverview))\n","import React from 'react'\nimport { Route } from 'react-router'\nimport EditTeam from './layout/EditTeam'\nimport TeamsOverview from './layout/TeamsOverview'\nimport NewTeam from './layout/NewTeam'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\nimport NewPlayer from './layout/NewPlayer'\nimport EditPlayer from './layout/EditPlayer'\n\nconst TeamsRoutes = props => {\n const { overviewProps, editProps, newProps, newPlayerProps, editPlayerProps } = props\n return (\n \n ()}\n />\n ()}\n />\n ()}\n />\n ()}\n />\n ()}\n />\n \n )\n}\n\nexport default TeamsRoutes\n","import React from 'react'\nimport I18n from 'i18n'\nimport { smartTranslate } from '../Utils'\n\nexport default class Chips extends React.Component {\n componentDidUpdate (prevProps, prevState, snapshot) {\n const { fieldName, currentValue, defaultValue } = this.props\n const data = currentValue || defaultValue\n const options = {\n data: data ? data.map((elem) => ({ tag: smartTranslate(elem), value: elem })) : [],\n onChipAdd: this.onChipChange.bind(this),\n onChipDelete: this.onChipDelete.bind(this)\n }\n const elem = document.getElementById(fieldName)\n window.M.Chips.init(elem, options)\n }\n\n onChipChange (e) {\n const instance = window.M.Chips.getInstance(document.getElementById(this.props.fieldName))\n // If there is a value (untranslated original string for the server) we use\n // that. Otherwise it is a user defined tag and we know it has not been\n // translated\n this.props.onChange({ target: { value: instance.chipsData.map(elem => elem.value || elem.tag) } })\n }\n\n onChipDelete (e, data, a, b, c) {\n this.onChipChange(e)\n\n const instance = window.M.Chips.getInstance(document.getElementById(this.props.fieldName))\n if (instance.chipsData.length >= 1) {\n instance.selectChip(instance.chipsData.length - 1)\n }\n }\n\n addChip (e) {\n const instance = window.M.Chips.getInstance(document.getElementById(this.props.fieldName))\n instance.addChip({\n tag: e.target.value\n })\n\n e.target.value = ''\n }\n\n handleKeyDown (e) {\n if (e.key === ' ' && e.target.value.trim() !== '') {\n // by default, the spacebar causes the page to scroll down. Prevent this\n e.preventDefault()\n\n // set value of the form field as a new chip and reset form field's value\n this.addChip(e)\n }\n\n if (e.key === 'Backspace') {\n console.log(e)\n }\n\n if (e.key === 'Enter' || e.key === ' ' || e.keyCode === 13) {\n // persist the event such that it is still available after the timeout\n e.persist()\n // add a small timeout because addChip runs asynchronously\n setTimeout(() => e.target.focus(), 50)\n }\n }\n\n handleLoseFocus (e) {\n this.addChip(e)\n }\n\n render () {\n const errors = this.props.errors || []\n const { component, type, fieldName, formName } = this.props\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n return (\n
    \n
    \n
    \n \n
    \n \n
    \n {errors.map(err => (\n \n {this.props.translateErrors ? I18n.t(err) : err}\n \n ))}\n
    \n
    \n
    \n )\n }\n}\n","import React from 'react'\nimport { WithNotFound, NotFound } from './NotFoundProvider'\nimport { Switch, Route } from 'react-router'\n\nclass RouterWrapper extends React.Component {\n /* eslint-disable camelcase */\n UNSAFE_componentWillMount () {\n if (!this.props.slug) {\n throw new Error('The NotFoundWrapper must be given a slug')\n }\n this.props.register(this.props.slug)\n }\n /* eslint-enable camelcase */\n\n render () {\n return (\n \n {this.props.children}\n } />\n \n )\n }\n}\n\nexport default WithNotFound(RouterWrapper)\n","import React from 'react'\nimport I18n from 'i18n'\nimport { MyAxios as axios } from '../../MyAxios'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\n\nclass ResetPasswordEdit extends React.Component {\n constructor (props) {\n super(props)\n this.state = { }\n }\n\n componentDidMount () {\n this.props.logout(false)\n this.props.setHeight(459)\n }\n\n locationParam (key) {\n let paramIdx = -1\n const params = this.props.location.search.replace('?', '').split(/[=&]/)\n\n params.forEach((str, i) => {\n if (str === key) {\n paramIdx = i + 1\n }\n })\n return paramIdx >= 0 ? params[paramIdx] : null\n }\n\n handleSubmit () {\n const password = document.getElementById('password').value\n const passwordConfirm = document.getElementById('password-confirm').value\n const resetPasswordToken = this.locationParam('reset_password_token')\n axios({\n method: this.props.submitMethod,\n url: this.props.endpoint,\n data: { user: { password, password_confirm: passwordConfirm, reset_password_token: resetPasswordToken } }\n }).then((response) => {\n this.handleSuccess(response)\n }).catch((error) => {\n this.handleError(error.response.data)\n })\n }\n\n handleSuccess (response) {\n this.props.flashMessages.push(\n I18n.t('flashmessages.password_edit.successful'),\n this.props.flashMessages.duration.SHORT,\n this.props.flashMessages.levels.INFO\n )\n this.props.history.push('/login')\n }\n\n handleError (response) {\n this.props.setHeight(280)\n this.setState({ errors: response.errors })\n response.errors && response.errors.reset_password_token && this.props.flashMessages.push(\n I18n.t('reset_password_edit.error.token_invalid'),\n this.props.flashMessages.duration.SHORT,\n this.props.flashMessages.levels.ERROR\n )\n }\n\n render () {\n const errors = this.state.errors && this.state.errors[0].detail\n return (\n
    \n
    \n
    \n
    \n
    \n \n \n {errors && errors.password && errors.password.map(err => (\n \n {err}\n \n ))}\n
    \n
    \n
    \n
    \n
    \n
    \n \n \n {errors && errors.password_confirm && errors.password_confirm.map(err => (\n \n {err}\n \n ))}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n )\n }\n}\n\nexport default WithFlashMessages(ResetPasswordEdit)\n","import React from 'react'\nimport { Route } from 'react-router'\nimport ResponsesOverview from './layout/ResponsesOverview'\nimport EditResponse from './layout/EditResponse'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\n\nconst ResponsesRoutes = props => {\n const { overviewProps, editProps } = props\n return (\n \n ()}\n />\n ()}\n />\n \n )\n}\n\nexport default ResponsesRoutes\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { changeProperty } from '../../teampro/Utils'\nimport {\n datePickerDefaultOptions, emhSumField, emiSumField, fullMomentDateFormatWithTime, highchartsThemeElementary,\n matchFields, ostrcSumField,\n QUESTION_MAPPING,\n specialEventFields,\n trainingFields\n} from '../../common/Constants'\nimport I18n from 'i18n'\nimport DatePicker from 'react-datepicker'\nimport classNames from 'classnames'\nimport { average, movingAverage, round, standardDeviation } from '../../common/Math'\nimport HighchartsReact from 'highcharts-react-official'\nimport Highcharts from 'highcharts/highstock'\nimport moment from 'moment'\nimport Teams, { Team } from '../../common/types/Teams'\nimport { Options } from 'highcharts'\nimport { useResponsesPlayerResponsesQuery } from '../../backend/Queries'\nimport Param from '../../common/types/Param'\nimport OptGroupLabel from '../../common/types/OptGroupLabel'\nimport SpinnerWrapper from '../../common/SpinnerWrapper'\nimport { findPlayer, getPlayerData, PlotBand, Point } from './Utils'\nimport { compact } from 'lodash'\n\n/* eslint-disable @typescript-eslint/explicit-function-return-type, @typescript-eslint/strict-boolean-expressions, react/jsx-boolean-value */\n\nconst DATE_FORMAT = 'YYYY-MM-DD'\n\ninterface Props {\n teams: Teams\n}\n\nconst INDIVIDUAL = 'individual'\nconst NONE = 'none'\nconst POPULATION = 'population'\n\ntype ZScoresVisibility = 'individual' | 'none' | 'population'\n\ninterface DailyAverage {\n [name: string]: number[]\n}\n\ninterface Series {\n type: string\n color?: string\n data: Point[]\n dashStyle?: string\n marker: any\n id: string\n name: string\n}\n\nconst OverviewDashboard: React.FunctionComponent = (props: Props) => {\n const minDate = useMemo(() => moment().subtract(1, 'year').startOf('day').toDate(), [])\n const maxDate = useMemo(() => moment(new Date()).endOf('day').toDate(), [])\n\n const [variable, setVariable] = useState('v1')\n const [selectedPlayerIds, setSelectedPlayerIds] = useState([])\n const [allAvg, setAllAvg] = useState(NaN)\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [showAverage, setShowAverage] = useState(false)\n const [movingAverageWindow, setMovingAverageWindow] = useState(1)\n const [pointMax, setPointMax] = useState(10)\n const [showDailyAverage, setShowDailyAverage] = useState(false)\n const [showZScores, setShowZScores] = useState(NONE)\n const [mondays, setMondays] = useState([])\n const [showPlotBands, setShowPlotBands] = useState(false)\n const [minPlotBand, setMinPlotBand] = useState(0)\n const [maxPlotBand, setMaxPlotBand] = useState(10)\n const [minOpenToDate, setMinOpenToDate] = useState(null)\n const [maxOpenToDate, setMaxOpenToDate] = useState(null)\n\n Highcharts.theme = highchartsThemeElementary as Options\n Highcharts.setOptions(Highcharts.theme)\n\n const { data: responses = [], refetch, isSuccess, isError } = useResponsesPlayerResponsesQuery(selectedPlayerIds, startDate ?? minDate, endDate ?? maxDate, true)\n\n useEffect(() => {\n let newMinOpenToDate = null\n let newMaxOpenToDate = null\n for (const response of responses) {\n if (!response.completed_at) continue\n const completedAtMoment = moment(response.completed_at)\n if (!newMinOpenToDate) {\n newMinOpenToDate = completedAtMoment\n } else if (completedAtMoment < newMinOpenToDate) {\n newMinOpenToDate = completedAtMoment\n }\n if (!newMaxOpenToDate) {\n newMaxOpenToDate = completedAtMoment\n } else if (completedAtMoment > newMaxOpenToDate) {\n newMaxOpenToDate = completedAtMoment\n }\n }\n setMinOpenToDate(newMinOpenToDate ? newMinOpenToDate.startOf('day').toDate() : null)\n setMaxOpenToDate(newMaxOpenToDate ? newMaxOpenToDate.endOf('day').toDate() : null)\n }, [responses])\n\n useEffect(() => {\n // TODO: don't ignore errors for refetch\n void refetch()\n }, [startDate, endDate, selectedPlayerIds])\n\n useEffect(() => {\n (window as any).M.FormSelect.init(document.querySelectorAll('#variable-selector'));\n (window as any).M.FormSelect.init(document.querySelectorAll('#player-selector'))\n }, [props.teams])\n\n const renderFields = (fieldsArr: Param[], label: OptGroupLabel) => {\n return (\n \n {fieldsArr.map(field => (\n {I18n.t(`visualizations.question_mapping.${QUESTION_MAPPING[field]}`)}\n \n ))}\n \n )\n }\n\n useEffect(() => {\n const elem = (document.getElementById('player-selector') as any)?.M_FormSelect\n if (elem) {\n elem._setValueToInput()\n elem._setSelectedStates()\n }\n }, [selectedPlayerIds])\n\n const series: Series[] = useMemo(() => {\n let cPointMax = 10\n const allValues: number[] = []\n const dailyAverage: DailyAverage = {}\n responses.forEach(response => {\n if (Object.keys(response.contents).includes(variable)) {\n allValues.push(response.contents[variable])\n }\n })\n const allStd = standardDeviation(allValues)\n const allAvg1 = average(allValues)\n const allModifiedValues: number[] = []\n const tSeries: Series[] = compact(selectedPlayerIds.map(playerId => {\n const player = findPlayer(playerId, props.teams)\n if (!player) {\n return null\n }\n const { data, nrResponses } = getPlayerData(playerId, responses, [variable], showZScores === INDIVIDUAL)\n // Calculate the max number of points in this series for the sliding window\n cPointMax = Math.max(cPointMax, nrResponses)\n if (showZScores === POPULATION) {\n if (allStd > 0.0001) {\n for (const dataPoint of data) {\n dataPoint.y = (dataPoint.y - allAvg1) / allStd\n }\n } else {\n for (const dataPoint of data) {\n dataPoint.y = 0\n }\n }\n }\n // Add values after z-score calculation to be included in the calculation for the average line\n for (const dataPoint of data) {\n allModifiedValues.push(dataPoint.y)\n }\n\n // Optionally calculate a moving daily average line.\n if (showDailyAverage) {\n for (let i = 0; i < data.length; i += 1) {\n const dateString = moment(data[i].x).format(DATE_FORMAT)\n if (!dailyAverage[dateString]) { dailyAverage[dateString] = [] }\n dailyAverage[dateString].push(data[i].y)\n }\n }\n\n // Apply moving average to the data. Note that we have the original values stored in `allModifiedValues`.\n if (movingAverageWindow > 1) {\n const movingAverageApplied = movingAverage(data.map(dataPoint => dataPoint.y), movingAverageWindow)\n for (let i = 0; i < data.length; i += 1) {\n data[i].y = movingAverageApplied[i]\n }\n }\n return {\n type: 'line',\n data: data,\n marker: { enabled: true },\n id: `${playerId}`,\n name: player.name\n }\n }))\n\n // Calculate the plot bands to mark mondays as green.\n const plotBandMondays: PlotBand[] = []\n const cMinDate = startDate ?? minDate\n const cMaxDate = endDate ?? maxDate\n for (let i = cMinDate; i <= cMaxDate; i = moment(i).add(1, 'days').toDate()) {\n const curMoment = moment(i)\n if (curMoment.isoWeekday() === 1) {\n plotBandMondays.push({\n color: '#e8f5e9',\n from: curMoment.startOf('day').toDate(),\n to: curMoment.endOf('day').toDate()\n })\n }\n }\n setMondays(plotBandMondays)\n setAllAvg(average(allModifiedValues))\n setPointMax(cPointMax)\n if (showDailyAverage) {\n const davg: Point[] = []\n const sortedDates = Object.keys(dailyAverage).sort()\n for (const cDate of sortedDates) {\n const cMoment = moment(cDate, DATE_FORMAT).add(12, 'hours')\n davg.push({\n x: cMoment.toDate(),\n y: average(dailyAverage[cDate]),\n formatted_date: cMoment.locale(I18n.locale).format(fullMomentDateFormatWithTime)\n })\n }\n if (movingAverageWindow > 1) {\n const movingAverageApplied = movingAverage(davg.map(dataPoint => dataPoint.y), movingAverageWindow)\n for (let i = 0; i < davg.length; i += 1) {\n davg[i].y = movingAverageApplied[i]\n }\n }\n tSeries.push({\n type: 'line',\n color: 'red',\n data: davg,\n dashStyle: 'LongDash',\n marker: { enabled: false },\n id: '-1',\n name: I18n.t('visualizations.labels.daily_average')\n })\n }\n return tSeries\n }, [selectedPlayerIds, showAverage, movingAverageWindow, showDailyAverage, variable, startDate, endDate, showZScores, props.teams, responses.length])\n\n const renderPlayerOptions = () => {\n return (\n <>\n {props.teams.map((team: Team) => {\n return (\n \n {team.players.map(player => (\n \n ))}\n \n )\n })}\n \n )\n }\n\n useEffect(() => {\n (window as any).M.updateTextFields()\n }, [showPlotBands])\n\n let yPlotBands: PlotBand[] | null = []\n\n if (showZScores !== NONE) {\n yPlotBands.push({\n color: 'rgba(40, 167, 69, 0.1)', // bootstrap success 10%\n from: -1,\n to: 1\n })\n yPlotBands.push({\n color: 'rgba(220, 53, 69, 0.1)',\n from: -3,\n to: -2\n })\n yPlotBands.push({\n color: 'rgba(220, 53, 69, 0.1)',\n from: 2,\n to: 3\n })\n yPlotBands.push({\n color: 'rgba(255, 193, 7, 0.1)',\n from: -2,\n to: -1\n })\n yPlotBands.push({\n color: 'rgba(255, 193, 7, 0.1)',\n from: 1,\n to: 2\n })\n }\n\n if (showPlotBands && typeof (minPlotBand) !== 'string' && typeof (maxPlotBand) !== 'string') {\n yPlotBands.push({\n color: 'rgba(68, 170, 213, 0.1)',\n from: minPlotBand,\n to: maxPlotBand\n })\n }\n\n if (yPlotBands.length === 0) yPlotBands = null\n\n return (\n <>\n
    \n
    \n changeProperty('variable-selector', setVariable)}\n >\n {/*
    \n
    \n setStartDate(date ? moment(date).startOf('day').toDate() : date)}\n selectsStart={true} startDate={startDate} endDate={endDate} minDate={minOpenToDate ?? minDate} maxDate={maxOpenToDate ?? maxDate}\n openToDate={startDate ?? minOpenToDate ?? minDate}\n />\n {I18n.t('visualizations.labels.start_date')}\n \n
    \n
    \n setEndDate(date ? moment(date).endOf('day').toDate() : date)}\n selectsEnd={true}\n startDate={startDate} endDate={endDate} minDate={startDate ?? minOpenToDate ?? minDate} maxDate={maxOpenToDate ?? maxDate}\n openToDate={endDate ?? maxOpenToDate ?? maxDate}\n />\n {I18n.t('visualizations.labels.end_date')}\n \n
    \n
    \n `${playerId}`)}\n onChange={() => {\n const selectedValues = [...Array.from((document.getElementById('player-selector') as HTMLSelectElement).options)]\n .filter((x) => x.selected)\n .map((x) => x.value)\n setSelectedPlayerIds(selectedValues.map(value => parseInt(value)))\n }}\n multiple={true}\n >\n {/*
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n {I18n.t('visualizations.labels.moving_average_window_size')}: {movingAverageWindow === 1 ? I18n.t('visualizations.labels.moving_average_window_none') : movingAverageWindow}\n \n setMovingAverageWindow(parseInt(e.target.value))}\n />\n

    \n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n
    \n {showPlotBands && (\n <>\n setMinPlotBand(!isNaN(parseFloat(e.target.value)) ? parseFloat(e.target.value) : '')}\n />\n \n \n )}\n
    \n
    \n {showPlotBands && (\n <>\n setMaxPlotBand(!isNaN(parseFloat(e.target.value)) ? parseFloat(e.target.value) : '')}\n />\n \n \n )}\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n \n

    \n
    \n
    \n \n {responses.length === 0 && (\n

    {I18n.t('responses.overview.there_are_no_responses')}

    \n )}\n {responses.length > 0 && (\n <>\n {point.formatted_date}
    {series.name}: {point.y:.2f}'\n },\n xAxis: {\n title: {\n text: ''\n },\n type: 'datetime',\n min: !startDate ? null : startDate.getTime(),\n max: !endDate ? null : endDate.getTime(),\n dateTimeLabelFormats: {\n day: '%d %b'\n },\n plotBands: mondays\n },\n yAxis: {\n title: {\n text: variable && I18n.t(`visualizations.question_mapping.${QUESTION_MAPPING[variable]}`)\n },\n min: showZScores === NONE ? 0 : null,\n plotLines: showAverage && [{\n color: '#FF0000',\n width: 2,\n value: allAvg\n }],\n plotBands: yPlotBands\n },\n series: series\n }}\n />\n

    {I18n.t('visualizations.labels.zoom')}

    \n \n )}\n
    \n \n )\n}\n\nexport default OverviewDashboard\n","export const TRAINING_TYPES = [\n 'group',\n 'strength',\n 'absent',\n 'recovery_training',\n 'rehab_combi',\n 'rehab_strength',\n 'rehab_cardio',\n 'individual',\n 'massage'\n]\n\nexport const TEAM_TRAINING_TYPES = [\n 'training',\n 'match'\n]\n\nexport const MONDAY = 'monday'\nexport const TUESDAY = 'tuesday'\nexport const WEDNESDAY = 'wednesday'\nexport const THURSDAY = 'thursday'\nexport const FRIDAY = 'friday'\nexport const SATURDAY = 'saturday'\nexport const SUNDAY = 'sunday'\nexport const MATCHDAY = 'match_day'\n\nexport const WEEKDAYS = [\n MONDAY,\n TUESDAY,\n WEDNESDAY,\n THURSDAY,\n FRIDAY,\n SATURDAY,\n SUNDAY,\n MATCHDAY\n]\n\nexport const BEFORE_THE_FIRST_TRAINING = 'before_the_first_training'\nexport const AFTER_THE_LAST_TRAINING = 'after_the_last_training'\nexport const AFTER_THE_FIRST_TRAINING = 'after_the_first_training'\nexport const INDEPENDENT_OF_A_TRAINING = 'independent_of_a_training'\nexport const BEFORE_MATCH = 'before_match'\nexport const AFTER_MATCH = 'after_match'\n\nexport const RECOVERY_TICK_LABELS = [\n '6.',\n { nl: '7. heel, heel slecht hersteld', en: '7. very, very poor recovery' },\n '8.',\n { nl: '9. heel slecht hersteld', en: '9. very poor recovery' },\n '10.',\n { nl: '11. slecht hersteld', en: '11. poor recovery' },\n '12.',\n { nl: '13. redelijk hersteld', en: '13. reasonable recovery' },\n '14.',\n { nl: '15. goed hersteld', en: '15. good recovery' },\n '16.',\n { nl: '17. heel goed hersteld', en: '17. very good recovery' },\n '18.',\n { nl: '19. heel, heel goed hersteld', en: '19. very, very good recovery' },\n '20.'\n]\n\nexport const INTENSITY_TICK_LABELS = [\n '6.',\n { nl: '7. heel, heel licht inspannend', en: '7. very, very light' },\n '8.',\n { nl: '9. heel licht inspannend', en: '9. very light' },\n '10.',\n { nl: '11. licht inspannend', en: '11. fairly light' },\n '12.',\n { nl: '13. redelijk inspannend', en: '13. somewhat hard' },\n '14.',\n { nl: '15. inspannend', en: '15. hard' },\n '16.',\n { nl: '17. heel inspannend', en: '17. very hard' },\n '18.',\n { nl: '19. heel, heel inspannend', en: '19. very, very hard' },\n '20.'\n]\n\nexport const KEEPER = 'keeper'\nexport const DEFENDER = 'defender'\nexport const MIDFIELDER = 'midfielder'\nexport const ATTACKER = 'attacker'\nexport const COACH = 'coach'\n\nexport const ROLES = [KEEPER, DEFENDER, MIDFIELDER, ATTACKER]\n\nexport const NL = 'nl'\nexport const EN = 'en'\nexport const LOCALES = [NL, EN]\n\nexport const UNKNOWN_ICON = 'person'\nexport const KEEPER_ICON = 'GK'\nexport const ATTACKER_ICON = 'ATT'\nexport const DEFENDER_ICON = 'DEF'\nexport const MIDFIELDER_ICON = 'MID'\n\nexport const TEAM_ICON = 'folder_shared'\nexport const TEAM_ICON_EMPTY = 'folder'\n\nexport const TODAY = 'today'\nexport const YESTERDAY = 'yesterday'\nexport const PAST_7_DAYS = 'past_7_days'\nexport const EVERYTHING = 'everything'\nexport const CUSTOM = 'custom'\n\n// Questionnaire constants\n\nconst questionnairesTemp = {\n [COACH]: [\n {\n type: 'slider',\n required: true,\n id: 'v0',\n min: 0,\n max: 100,\n label: {\n nl: 'Hoe goed heeft deze speler gepresteerd in de afgelopen wedstrijd of week?',\n en: 'How did this player perform in this match or week?'\n },\n minLabel: { nl: 'zeer slecht (ver onder zijn kunnen)', en: 'very bad (far below his capabilities)' },\n maxLabel: { nl: 'maximaal (op de top van zijn kunnen)', en: 'maximally (to the best of his capabilities)' }\n }\n ],\n [BEFORE_THE_FIRST_TRAINING]: [\n {\n type: 'slider',\n required: true,\n id: 'v1',\n min: 6,\n max: 20,\n label: { nl: 'Hoe goed ben je hersteld?', en: 'How is your recovery?' },\n vertical: true,\n tickLabels: RECOVERY_TICK_LABELS\n },\n {\n type: 'slider',\n required: true,\n id: 'v2',\n min: 0,\n max: 100,\n label: { nl: 'Hoe zeker ben je ervan dat je vandaag maximaal kan presteren?', en: 'How confident are you that you can perform maximally today?' },\n minLabel: { nl: 'helemaal niet zeker', en: 'not at all confident' },\n maxLabel: { nl: 'heel erg zeker', en: 'very confident' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v3',\n min: 0,\n max: 100,\n label: { nl: 'Hoe gemotiveerd ben je om vandaag maximaal te presteren?', en: 'How motivated are you to perform maximally today?' },\n minLabel: { nl: 'helemaal niet gemotiveerd', en: 'not at all motivated' },\n maxLabel: { nl: 'heel erg gemotiveerd', en: 'very much motivated' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v4',\n min: 0,\n max: 100,\n label: { nl: 'Hoeveel zin heb je in de training(en) vandaag?', en: 'How much are you in the mood to train today?' },\n minLabel: { nl: 'helemaal geen zin', en: 'not at all in the mood' },\n maxLabel: { nl: 'heel veel zin', en: 'very much in the mood' }\n }\n ],\n [AFTER_THE_LAST_TRAINING]: [\n {\n type: 'slider',\n required: true,\n id: 'v5',\n min: 6,\n max: 20,\n label: { nl: 'Hoe inspannend was deze training?', en: 'How hard was the training?' },\n vertical: true,\n tickLabels: INTENSITY_TICK_LABELS\n },\n {\n type: 'slider',\n required: true,\n id: 'v6',\n min: 0,\n max: 100,\n label: { nl: 'Hoe goed heb je vandaag gepresteerd?', en: 'How well did you perform today?' },\n minLabel: { nl: 'zeer slecht (ver onder mijn kunnen)', en: 'very bad (far below my capabilities)' },\n maxLabel: { nl: 'maximaal (op de top van mijn kunnen)', en: 'maximally (to the best of my capabilities)' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v7',\n min: 0,\n max: 100,\n label: { nl: 'Hoe leuk vond je de training(en) vandaag?', en: 'How much did you enjoy the training session(s) today?' },\n minLabel: { nl: 'helemaal niet leuk', en: 'not at all' },\n maxLabel: { nl: 'heel erg leuk', en: 'very much' }\n }\n ],\n [AFTER_THE_FIRST_TRAINING]: [\n {\n type: 'slider',\n required: true,\n id: 'v8',\n min: 6,\n max: 20,\n label: { nl: 'Hoe inspannend was deze training?', en: 'How hard was the training?' },\n vertical: true,\n tickLabels: INTENSITY_TICK_LABELS\n }\n ],\n [INDEPENDENT_OF_A_TRAINING]: [\n {\n type: 'radio',\n required: true,\n id: 'v16',\n label: { nl: 'Is er in de afgelopen week iets belangrijks gebeurd?', en: 'Did something important happen in the last week?' },\n options: [{ value: 'Ja', label: { nl: 'Ja', en: 'Yes' } }, { value: 'Nee', label: { nl: 'Nee', en: 'No' } }]\n },\n {\n type: 'slider',\n required: true,\n id: 'v17',\n min: 0,\n max: 100,\n label: { nl: 'Hoe negatief of positief was deze gebeurtenis?', en: 'How negative or positive was this event?' },\n minLabel: { nl: 'zeer negatief', en: 'very negative' },\n maxLabel: { nl: 'zeer positief', en: 'very positive' },\n showOnlyIf: [\n { v16: 'Ja' }\n ]\n },\n {\n type: 'checkbox',\n required: true,\n id: 'v18',\n label: { nl: 'Waar was deze gebeurtenis aan gerelateerd?', en: 'What was this event related to?' },\n options: [\n { value: 1, label: { nl: 'Mezelf', en: 'Myself' } },\n { value: 2, label: { nl: 'Thuissituatie/ hechte familie/ dierbaren', en: 'Home situation/ close family/ significant others' } },\n { value: 3, label: { nl: 'Vrienden/ andere familie/ kennissen', en: 'Friends/ other family/ acquaintances' } },\n { value: 4, label: { nl: 'School', en: 'School' } },\n { value: 5, label: { nl: 'Maatschappij/ nieuws', en: 'Society/ news' } },\n { value: 6, label: { nl: 'Openbare ruimte/ vreemden', en: 'Public space/ strangers' } },\n { value: 7, label: { nl: 'Club/ team', en: 'Club/ team' } },\n { value: 8, label: { nl: 'Anders', en: 'Other' } }\n ],\n showOnlyIf: [\n { v16: 'Ja' }\n ]\n },\n {\n type: 'raw',\n id: 'u1',\n label: { en: 'OSTRC explanation', nl: 'OSTRC uitleg' },\n html: {\n nl: '

    Vul alsjeblieft de onderstaande vragen in, ongeacht of je in de afgelopen 7 dagen gezondheidsproblemen hebt ervaren. Kies het antwoord dat voor jou het meest van toepassing is. Als je het niet zeker weet, probeer dan de vraag zo goed mogelijk te beantwoorden.

    Een gezondheidsprobleem is elke verandering die jij als een vermindering van je normale gezondheidstoestand ziet, ongeacht de consequenties op je sportdeelname of prestaties en of je er medische hulp voor gezocht hebt. Dit omvat, maar is niet beperkt tot, een blessure, ziekte, pijn of mentale problemen.

    ',\n en: '

    Please answer all questions regardless of whether or not you have experienced health problems in the past 7 days. Select the alternative that is most appropriate for you, and in the case that you are unsure, try to answer as best you can anyway.

    A health problem is any condition that you consider to be a reduction in your normal state of full health, irrespective of its consequences on your sports participation or performance, or whether you have sought medical attention. This may include, but is not limited to, injury, illness, pain or mental health conditions.

    '\n }\n },\n {\n type: 'radio',\n required: true,\n id: 'v19',\n label: { nl: 'Heb je in de afgelopen 7 dagen tijdens het sporten hinder ondervonden van een blessure, ziekte of andere gezondheidsklachten?', en: 'Have you had any difficulties participating in normal training and competition due to injury, illness or other health problems during the past 7 days?' },\n options: [\n { value: 0, label: { nl: 'Ik heb volledig deelgenomen zonder gezondheidsklachten', en: 'Full participation without health problems' } },\n { value: 1, label: { nl: 'Ik heb volledig deelgenomen, maar had wel hinder van een gezondheidsklacht', en: 'Full participation, but with a health problem' } },\n { value: 2, label: { nl: 'Ik heb gedeeltelijk deelgenomen vanwege een gezondheidsklacht', en: 'Reduced participation due to a health problem' } },\n { value: 3, label: { nl: 'Ik heb helemaal niet deelgenomen vanwege een gezondheidsklacht', en: 'Could not participate due to a health problem' } }\n ]\n },\n {\n type: 'radio',\n required: true,\n id: 'v20',\n label: { nl: 'In welke mate heb je in de afgelopen 7 dagen je training of deelname aan wedstrijden aangepast vanwege deze blessure, ziekte of andere gezondheidsklachten?', en: 'To what extent have you modified your training or competition due to injury, illness or other health problems during the past week?' },\n options: [\n { value: 0, label: { nl: 'Dit heb ik niet aangepast', en: 'No modification' } },\n { value: 1, label: { nl: 'Enigszins', en: 'To a minor extent' } },\n { value: 2, label: { nl: 'Matig', en: 'To a moderate extent' } },\n { value: 3, label: { nl: 'Veel', en: 'To a major extent' } }\n ]\n },\n {\n type: 'radio',\n required: true,\n id: 'v21',\n label: { nl: 'In hoeverre heb je in de afgelopen 7 dagen gemerkt dat deze blessure, ziekte of andere gezondheidsklachten je prestatie heeft beïnvloed?', en: 'To what extent has injury, illness or other health problems affected your performance during the past 7 days?' },\n options: [\n { value: 0, label: { nl: 'Mijn prestatie was niet beïnvloed', en: 'No effect' } },\n { value: 1, label: { nl: 'Enigszins', en: 'To a minor extent' } },\n { value: 2, label: { nl: 'Matig', en: 'To a moderate extent' } },\n { value: 3, label: { nl: 'Veel', en: 'To a major extent' } }\n ]\n },\n {\n type: 'radio',\n required: true,\n id: 'v22',\n label: { nl: 'In welke mate heb je in de afgelopen 7 dagen last gehad van de symptomen van deze blessure, ziekte of andere gezondheidsklachten?', en: 'To what extent have you experienced symptoms/health complaints during the past 7 days?' },\n options: [\n { value: 0, label: { nl: 'Ik had geen last', en: 'No symptoms/health complaints' } },\n { value: 1, label: { nl: 'Enigszins', en: 'To a mild extent' } },\n { value: 2, label: { nl: 'Matig', en: 'To a moderate extent' } },\n { value: 3, label: { nl: 'Veel', en: 'To a severe extent' } }\n ]\n }\n ],\n [BEFORE_MATCH]: [\n {\n type: 'slider',\n required: true,\n id: 'v9',\n min: 6,\n max: 20,\n label: { nl: 'Hoe goed ben je hersteld?', en: 'How is your recovery?' },\n vertical: true,\n tickLabels: RECOVERY_TICK_LABELS\n },\n {\n type: 'slider',\n required: true,\n id: 'v10',\n min: 0,\n max: 100,\n label: { nl: 'Hoe zeker ben je ervan dat je vandaag maximaal kan presteren?', en: 'How confident are you that you can perform maximally today?' },\n minLabel: { nl: 'helemaal niet zeker', en: 'not at all confident' },\n maxLabel: { nl: 'heel erg zeker', en: 'very confident' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v11',\n min: 0,\n max: 100,\n label: { nl: 'Hoe gemotiveerd ben je om vandaag maximaal te presteren?', en: 'How motivated are you to perform maximally today?' },\n minLabel: { nl: 'helemaal niet gemotiveerd', en: 'not at all motivated' },\n maxLabel: { nl: 'heel erg gemotiveerd', en: 'very much motivated' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v12',\n min: 0,\n max: 100,\n label: { nl: 'Hoeveel zin heb je in de wedstrijd vandaag?', en: 'How much are you in the mood to play the match today?' },\n minLabel: { nl: 'helemaal geen zin', en: 'not at all in the mood' },\n maxLabel: { nl: 'heel veel zin', en: 'very much in the mood' }\n }\n ],\n [AFTER_MATCH]: [\n {\n type: 'slider',\n required: true,\n id: 'v13',\n min: 6,\n max: 20,\n label: { nl: 'Hoe inspannend was deze wedstrijd?', en: 'How hard was the match?' },\n vertical: true,\n tickLabels: INTENSITY_TICK_LABELS\n },\n {\n type: 'slider',\n required: true,\n id: 'v14',\n min: 0,\n max: 100,\n label: { nl: 'Hoe goed heb je vandaag gepresteerd?', en: 'How good did you perform today?' },\n minLabel: { nl: 'zeer slecht (ver onder mijn kunnen)', en: 'very bad (far below my capabilities)' },\n maxLabel: { nl: 'maximaal (op de top van mijn kunnen)', en: 'maximally (to the best of my capabilities)' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v15',\n min: 0,\n max: 100,\n label: { nl: 'Hoe leuk vond je de wedstrijd vandaag?', en: 'How much did you enjoy the match today?' },\n minLabel: { nl: 'helemaal niet leuk', en: 'not at all' },\n maxLabel: { nl: 'heel erg leuk', en: 'very much' }\n }\n ]\n}\n\nif (process.env.MUSCLE_SORENESS_QUESTIONS === 'true') {\n questionnairesTemp[BEFORE_THE_FIRST_TRAINING].push(\n {\n type: 'slider',\n required: true,\n id: 'v23',\n min: 0,\n max: 100,\n label: {\n nl: 'Hoeveel spierpijn heb je op dit moment?',\n en: 'How much muscle soreness are you experiencing currently?'\n },\n minLabel: { nl: 'helemaal geen spierpijn', en: 'no muscle soreness at all' },\n maxLabel: { nl: 'heel veel spierpijn', en: 'very much muscle soreness' }\n }\n )\n}\n\nif (process.env.SLEEP_QUESTIONS === 'true') {\n questionnairesTemp[BEFORE_THE_FIRST_TRAINING].push(\n {\n type: 'slider',\n required: true,\n id: 'v24',\n min: 0,\n max: 20,\n step: 0.5,\n label: {\n nl: 'Hoeveel uren heb je geslapen in de afgelopen nacht?',\n en: 'How many hours did you sleep last night?'\n },\n minLabel: { nl: '0 uur', en: '0 hours' },\n maxLabel: { nl: '20 uur', en: '20 hours' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v25',\n min: 0,\n max: 100,\n label: {\n nl: 'Hoe was de kwaliteit van je slaap in de afgelopen nacht?',\n en: 'How was your sleep quality last night?'\n },\n minLabel: { nl: 'helemaal niet goed', en: 'not good at all' },\n maxLabel: { nl: 'heel erg goed', en: 'very good' }\n }\n )\n}\n\nif (process.env.HYDRATION_QUESTIONS === 'true') {\n questionnairesTemp[BEFORE_THE_FIRST_TRAINING].push(\n {\n type: 'slider',\n required: true,\n id: 'v26',\n min: 0,\n max: 100,\n label: {\n nl: 'Heb je het gevoel dat je uitgedroogd bent op dit moment?',\n en: 'Do you feel dehydrated at the moment?'\n },\n minLabel: { nl: 'helemaal niet uitgedroogd', en: 'fully hydrated' },\n maxLabel: { nl: 'heel erg uitgedroogd', en: 'fully dehydrated' }\n }\n )\n questionnairesTemp[AFTER_THE_LAST_TRAINING].push(\n {\n type: 'radio',\n required: true,\n id: 'v27',\n label: {\n nl: 'Heb je het gevoel dat je genoeg hebt gedronken tijdens de training?',\n en: 'Do you feel you had enough to drink during practice?'\n },\n options: [\n { value: 0, label: { nl: 'te weinig', en: 'not enough' } },\n { value: 1, label: { nl: 'voldoende', en: 'enough' } },\n { value: 2, label: { nl: 'te veel', en: 'too much' } }\n ]\n },\n {\n type: 'radio',\n required: true,\n id: 'v28',\n label: {\n nl: 'Heb je vandaag anders gedronken dan normaal tijdens training?',\n en: 'Did you drink differently during today\\'s practice compared to other practices?'\n },\n options: [\n { value: 0, label: { nl: 'ja, meer dan normaal', en: 'yes, more than normal' } },\n { value: 1, label: { nl: 'ja, minder dan normaal', en: 'yes, less than normal' } },\n { value: 2, label: { nl: 'nee, vergelijkbaar', en: 'no, comparable' } }\n ]\n },\n {\n type: 'slider',\n required: true,\n id: 'v29',\n min: 0,\n max: 100,\n label: {\n nl: 'Heb je het gevoel dat je uitgedroogd bent op dit moment?',\n en: 'Do you feel dehydrated at the moment?'\n },\n minLabel: { nl: 'helemaal niet uitgedroogd', en: 'fully hydrated' },\n maxLabel: { nl: 'heel erg uitgedroogd', en: 'fully dehydrated' }\n },\n {\n type: 'slider',\n required: true,\n id: 'v30',\n min: 0,\n max: 100,\n label: {\n nl: 'Heb je veel dorst gehad vandaag tijdens training?',\n en: 'Were you thirsty during today\\'s practice?'\n },\n minLabel: { nl: 'helemaal geen dorst', en: 'not thirsty at all' },\n maxLabel: { nl: 'heel veel dorst', en: 'very thirsty' }\n }\n )\n}\n\nif (process.env.TRAINING_DURATION_QUESTIONS === 'true') {\n questionnairesTemp[AFTER_THE_FIRST_TRAINING].push(\n {\n type: 'slider',\n required: true,\n id: 'v31',\n min: 0,\n max: 180,\n step: 5,\n label: {\n nl: 'Hoeveel minuten duurde je laatste training?',\n en: 'How many minutes was your last training?'\n },\n minLabel: { nl: '0 minuten', en: '0 minutes' },\n maxLabel: { nl: '3 uur', en: '3 hours' }\n }\n )\n questionnairesTemp[AFTER_THE_LAST_TRAINING].push(\n {\n type: 'slider',\n required: true,\n id: 'v32',\n min: 0,\n max: 180,\n step: 5,\n label: {\n nl: 'Hoeveel minuten duurde je laatste training?',\n en: 'How many minutes was your last training?'\n },\n minLabel: { nl: '0 minuten', en: '0 minutes' },\n maxLabel: { nl: '3 uur', en: '3 hours' }\n }\n )\n questionnairesTemp[AFTER_MATCH].push(\n {\n type: 'slider',\n required: true,\n id: 'v33',\n min: 0,\n max: 180,\n step: 5,\n label: {\n nl: 'Hoeveel minuten heb je gespeeld in de wedstrijd?',\n en: 'How many minutes did you play in the match?'\n },\n minLabel: { nl: '0 minuten', en: '0 minutes' },\n maxLabel: { nl: '3 uur', en: '3 hours' }\n }\n )\n}\n\nif (process.env.TDT_QUESTIONS === 'true') {\n questionnairesTemp[AFTER_THE_FIRST_TRAINING].push(\n {\n type: 'slider',\n required: true,\n id: 'v31',\n min: 0,\n max: 420,\n step: 5,\n label: {\n nl: 'Hoeveel minuten duurde je laatste training?',\n en: 'How many minutes was your last training?'\n },\n minLabel: { nl: '0 minuten', en: '0 minutes' },\n maxLabel: { nl: '7 uur', en: '7 hours' }\n }\n )\n questionnairesTemp[AFTER_THE_LAST_TRAINING].push(\n {\n type: 'slider',\n required: true,\n id: 'v32',\n min: 0,\n max: 420,\n step: 5,\n label: {\n nl: 'Hoeveel minuten duurde je laatste training?',\n en: 'How many minutes was your last training?'\n },\n minLabel: { nl: '0 minuten', en: '0 minutes' },\n maxLabel: { nl: '7 uur', en: '7 hours' }\n }\n )\n questionnairesTemp[AFTER_THE_LAST_TRAINING].push(\n {\n type: 'radio',\n required: true,\n id: 'v34',\n label: {\n nl: 'Wat voor training heb je vandaag gedaan?',\n en: 'What kind of training did you do today?'\n },\n options: [\n { value: 'Geen training / alleen core', label: { nl: 'Geen training / alleen core', en: 'No training / only core' } },\n { value: 'Hersteltraining (+ eventueel core)', label: { nl: 'Hersteltraining (+ eventueel core)', en: 'Recovery training (+ possibly core)' } },\n { value: 'Krachttraining', label: { nl: 'Krachttraining', en: 'Strength training' } },\n { value: 'Krachttraining + fietstraining', label: { nl: 'Krachttraining + fietstraining', en: 'Strength training + cycling' } },\n { value: 'Intervaltraining', label: { nl: 'Intervaltraining', en: 'Interval training' } },\n { value: 'Intervaltraining + duurtraining', label: { nl: 'Intervaltraining + duurtraining', en: 'Interval training + endurance training' } },\n { value: 'Duurtraining', label: { nl: 'Duurtraining', en: 'Endurance training' } }\n ]\n }\n )\n questionnairesTemp[AFTER_MATCH].push(\n {\n type: 'slider',\n required: true,\n id: 'v33',\n min: 0,\n max: 420,\n step: 5,\n label: {\n nl: 'Hoeveel minuten heb je gespeeld in de wedstrijd?',\n en: 'How many minutes did you play in the match?'\n },\n minLabel: { nl: '0 minuten', en: '0 minutes' },\n maxLabel: { nl: '7 uur', en: '7 hours' }\n }\n )\n}\n\nif (process.env.BATTERY_QUESTIONS === 'true') {\n questionnairesTemp[BEFORE_THE_FIRST_TRAINING].push(\n {\n type: 'battery',\n required: true,\n id: 'v43',\n label: {\n nl: 'Hoe jij je op dit moment voelt, zou je kunnen uitdrukken in termen van de laadtoestand van een batterij. Dit kan variëren van “uitgeput” tot “vol energie”. Geef hier aan welk plaatje het beste jouw huidige toestand weergeeft.',\n en: 'How you feel at the moment can be expressed in terms of the charge level of a battery. This can range from \"exhausted\" to \"full of energy\". Indicate below which image best represents your current state.'\n }\n }\n )\n\n questionnairesTemp[AFTER_THE_LAST_TRAINING].push(\n {\n type: 'battery',\n required: true,\n id: 'v44',\n label: {\n nl: 'Hoe jij je op dit moment voelt, zou je kunnen uitdrukken in termen van de laadtoestand van een batterij. Dit kan variëren van “uitgeput” tot “vol energie”. Geef hier aan welk plaatje het beste jouw huidige toestand weergeeft.',\n en: 'How you feel at the moment can be expressed in terms of the charge level of a battery. This can range from \"exhausted\" to \"full of energy\". Indicate below which image best represents your current state.'\n }\n }\n )\n\n questionnairesTemp[BEFORE_MATCH].push(\n {\n type: 'battery',\n required: true,\n id: 'v45',\n label: {\n nl: 'Hoe jij je op dit moment voelt, zou je kunnen uitdrukken in termen van de laadtoestand van een batterij. Dit kan variëren van “uitgeput” tot “vol energie”. Geef hier aan welk plaatje het beste jouw huidige toestand weergeeft.',\n en: 'How you feel at the moment can be expressed in terms of the charge level of a battery. This can range from \"exhausted\" to \"full of energy\". Indicate below which image best represents your current state.'\n }\n }\n )\n\n questionnairesTemp[AFTER_MATCH].push(\n {\n type: 'battery',\n required: true,\n id: 'v46',\n label: {\n nl: 'Hoe jij je op dit moment voelt, zou je kunnen uitdrukken in termen van de laadtoestand van een batterij. Dit kan variëren van “uitgeput” tot “vol energie”. Geef hier aan welk plaatje het beste jouw huidige toestand weergeeft.',\n en: 'How you feel at the moment can be expressed in terms of the charge level of a battery. This can range from \"exhausted\" to \"full of energy\". Indicate below which image best represents your current state.'\n }\n }\n )\n}\n\nif (process.env.FOLLOW_UP_QUESTIONS === 'true') {\n const newQuestion1 = {\n type: 'radio',\n required: true,\n id: 'v18a',\n label: {\n nl: 'Wil je over deze gebeurtenis met iemand praten?',\n en: 'Would you like to talk to someone about this event?'\n },\n options: [{ value: 'Ja', label: { nl: 'Ja', en: 'Yes' } }, { value: 'Nee', label: { nl: 'Nee', en: 'No' } }],\n showOnlyIf: [\n { v16: 'Ja' }\n ]\n }\n const newQuestion2 = {\n type: 'textfield',\n required: true,\n id: 'v18b',\n label: { nl: 'Met wie zou je hierover willen praten?', en: 'Who would you like to talk to about this?' },\n placeholder: { nl: 'Naam', en: 'Name' },\n showOnlyIf: [\n { v18a: 'Ja' }\n ]\n }\n\n // find the index of v18 in the INDEPENDENT_OF_A_TRAINING section\n const v18Index = questionnairesTemp[INDEPENDENT_OF_A_TRAINING].findIndex(q => q.id === 'v18')\n\n // insert the new questions object at the next index\n questionnairesTemp[INDEPENDENT_OF_A_TRAINING].splice(v18Index + 1, 0, newQuestion1)\n questionnairesTemp[INDEPENDENT_OF_A_TRAINING].splice(v18Index + 2, 0, newQuestion2)\n}\n\nexport const questionnaires = Object.freeze(questionnairesTemp)\n","import React from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\n\nexport default class Modal extends React.Component {\n handleClick (e) {\n // Close modal when clicking outside of the modal\n if (e.target && !e.target.closest('.custom-modal.container')) {\n if (this.props.children.props.handleClose) {\n this.props.children.props.handleClose()\n }\n this.props.onClose()\n }\n }\n\n render () {\n return (\n \n
    \n )\n }\n}\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class Picture extends React.Component {\n render () {\n const errors = this.props.errors || []\n const { component, fieldName, formName, defaultValue, currentValue } = this.props\n const type = this.props.type || 'file'\n const accept = this.props.accept || 'image/*'\n const fieldProps = { ...this.props }\n const placeholder = '/images/pfp-placeholder.png'\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n delete fieldProps.accept\n return (\n
    \n
    \n
    \n \n {errors.map(err => (\n
    \n {this.props.translateErrors ? I18n.t(err) : err}\n
    \n ))}\n \n
    \n
    \n )\n }\n}\n","import React, { useState, useEffect } from 'react'\nimport { WithSession } from '../../session/SessionProvider'\nimport I18n from 'i18n'\nimport DatePicker from 'react-datepicker'\nimport { datePickerDefaultOptions } from '../../common/Constants'\nimport classNames from 'classnames'\n\nconst AddToken = props => {\n const [description, setDescription] = useState('')\n const [expiresAt, setExpiresAt] = useState(undefined)\n const [token, setToken] = useState({})\n\n useEffect(() => {\n window.M.updateTextFields()\n })\n\n const afterCreated = (subToken) => {\n setToken(subToken)\n setDescription('')\n setExpiresAt(undefined)\n }\n\n const addToken = () => {\n setToken({})\n props.createToken({ sub_token: { description, expires_at: expiresAt } }, afterCreated)\n }\n\n const generateUrl = () => {\n return `${process.env.HOST_URL}/sub-account/${token.id}/${token.token}`\n }\n\n return (\n <>\n {token?.token && (\n
    \n
    \n
    \n
    \n

    \n {I18n.t('sub_tokens.url_to_log_in')}

    \n {generateUrl()}

    \n {I18n.t('sub_tokens.only_once_warning')}\n

    \n
    \n
    \n
    \n
    \n )}\n
    \n
    \n setDescription(e.target.value)}\n />\n \n
    \n
    \n setExpiresAt(date)}\n minDate={new Date()}\n />\n \n
    \n
    \n \n
    \n
    \n \n )\n}\n\nexport default WithSession(AddToken)\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class EnableConfirm extends React.Component {\n render () {\n return (\n <>\n

    {I18n.t('components.2fa.enable.success')}

    \n
      \n {this.props.recovery_codes && this.props.recovery_codes.map(\n (code, index) => (
    • {code}
    • )\n )}\n
    \n

    \n this.props.transition()}\n className='btn waves-effect waves-light text-background-color'\n >\n {I18n.t('components.2fa.enable.confirm')}\n \n

    \n \n )\n }\n}\n","import React from 'react'\nimport { Route } from 'react-router'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\nimport FillOutSession from './FillOutSession'\n\nconst FillOutSessionRoutes = props => {\n const { fillOutProps } = props\n return (\n \n ()}\n />\n \n )\n}\n\nexport default FillOutSessionRoutes\n","import React, { useState } from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport ExportsRoutes from './ExportsRoutes'\nimport { WithSession } from '../session/SessionProvider'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\nimport I18n from 'i18n'\n\nconst ExportsController = props => {\n const [teams, setTeams] = useState([])\n\n const fetchTeams = () => {\n const result = getTeams()\n result\n .then(res => { setTeams(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const getTeams = () => {\n return axios.get('/api/v1/teams', { headers: { ...props.authorizationHeaders() } })\n }\n\n const postQuestionnaires = (params) => {\n return axios.post('/api/v1/responses/export', params, { headers: { ...props.authorizationHeaders() } })\n }\n\n const exportQuestionnaires = (params) => {\n const result = postQuestionnaires(params)\n handleResult(result)\n }\n\n const postRestructured = (params) => {\n return axios.post('/api/v1/responses/export_restructured', params, { headers: { ...props.authorizationHeaders() } })\n }\n\n const exportRestructured = (params) => {\n const result = postRestructured(params)\n handleResult(result)\n }\n\n const postCombined = (params) => {\n return axios.post('/api/v1/responses/export_combined', params, { headers: { ...props.authorizationHeaders() } })\n }\n\n const exportCombined = (params) => {\n const result = postCombined(params)\n handleResult(result)\n }\n\n const handleResult = (result) => {\n result\n .then(_res => {\n props.flashMessages.push(\n I18n.t('exports.flash_messages.export_started'),\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.INFO)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(WithSession(ExportsController))\n","import React from 'react'\nimport I18n from 'i18n'\nimport ReactTooltip from 'react-tooltip'\nimport Info from '../../common/Info'\n\nclass Choice extends React.Component {\n getTranslation (iconName) {\n if (iconName.includes('sports')) {\n return I18n.t(iconName)\n }\n return I18n.t(`icons.${iconName}`)\n }\n\n render () {\n const grayedOut = (this.props.grayedOut && 'grayed-out') || ''\n const clickable = (this.props.clickable && 'pointer') || ''\n const IconClass = this.props.iconClass\n return (\n
    \n \n
    \n )\n }\n}\n\nexport default class SelectMultipleIcon extends React.Component {\n componentDidMount () {\n ReactTooltip.rebuild()\n }\n\n renderChoices (choices, currentValue, iconClass) {\n return choices && currentValue && choices.map(choice => {\n const selected = currentValue.includes(choice.properties.value)\n const iconName = choice.properties.name\n const iconFileName = choice.properties.icon\n const key = `${iconName}-${choice.properties.value}`\n return (\n this.toggleChoice(choice.properties.value, currentValue)}\n key={key}\n grayedOut={!selected}\n iconFileName={iconFileName}\n iconName={iconName}\n iconClass={iconClass}\n clickable\n />\n )\n })\n }\n\n toggleChoice (idx, currentValue) {\n const selected = Array.from(currentValue)\n const i = selected.indexOf(idx)\n if (i >= 0) {\n selected.splice(i, 1)\n } else {\n selected.push(idx)\n selected.sort()\n }\n this.props.onChange({ getSelectedValues: () => selected })\n }\n\n render () {\n const errors = this.props.errors || []\n const { infoBox, component, type, fieldName, choices, formName, defaultValue, currentValue, iconClass } = this.props\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.choices\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n\n /* valueProp should be an empty object if there is no current and no default value.\n * This prevents the value from from being given to an empty field when its used\n * together with the spread operator (...) */\n const valueProp = {}\n if (currentValue) {\n valueProp.value = currentValue.map((val) => parseInt(val))\n } else if (defaultValue) {\n valueProp.value = defaultValue\n }\n\n let infoBoxText = infoBox\n if (typeof infoBoxText === 'function') {\n infoBoxText = infoBoxText()\n }\n\n // let selectedChoices = []\n // if (choices && currentValue) {\n // selectedChoices = choices.filter(choice => (currentValue.includes(choice.properties.value)) )\n // }\n\n return (\n
    \n
    \n
    \n {errors.map((err, i) => (\n
    \n {this.props.translateErrors ? I18n.t(err) : err}\n
    \n ))}\n \n \n {infoBox && }\n \n
    \n {this.renderChoices(choices, currentValue, iconClass)}\n
    \n
    \n
    \n
    \n )\n }\n}\n","import React from 'react'\nimport Account from '../account/Account'\nimport NotFoundProvider from './NotFoundProvider'\nimport FillOutSessionController from '../fillout_session/FillOutSessionController'\nimport SubAccountController from '../sub_account/SubAccountController'\n\nexport default class LoggedOutRouter extends React.Component {\n render () {\n return (\n \n \n \n \n \n )\n }\n}\n","import React from 'react'\nimport I18n from 'i18n'\nimport { questionnaires } from '../../teampro/Constants'\nimport { allTrainingMoments, trainingMomentHint, translateTrainingMoment } from '../../teampro/Utils'\nimport { capitalizeFirstLetter } from '../../common/Utils'\n\nconst QuestionnaireQuestions = ({ disabledQuestionnaireKeys, setDisabledQuestionnaireKeys, updateTeamAttribute }) => {\n const toggleSelection = questionId => {\n let newDisabledQuestionnaireKeys\n if (disabledQuestionnaireKeys.includes(questionId)) {\n newDisabledQuestionnaireKeys = disabledQuestionnaireKeys.filter(qId => qId !== questionId)\n } else {\n newDisabledQuestionnaireKeys = [...disabledQuestionnaireKeys, questionId]\n }\n setDisabledQuestionnaireKeys(newDisabledQuestionnaireKeys)\n updateTeamAttribute({ disabled_questionnaire_keys: newDisabledQuestionnaireKeys })\n }\n\n const questionLabel = question => {\n if (I18n.locale === 'nl') {\n return question.label.nl\n }\n return question.label.en\n }\n\n return (\n <>\n {allTrainingMoments().map(trainingMoment => (\n
    \n
    \n
    {capitalizeFirstLetter(translateTrainingMoment(trainingMoment))}
    \n

    {trainingMomentHint(trainingMoment)}

    \n {questionnaires[trainingMoment].filter(question => question.id).map(question => (\n

    \n \n

    \n ))}\n
    \n
    \n ))}\n \n )\n}\n\nexport default QuestionnaireQuestions\n","import React from 'react'\n\nexport default class Spinner extends React.Component {\n render () {\n const ready = this.props.ready || false\n if (ready) {\n return <>\n }\n\n return (\n
    \n
    \n
    \n )\n }\n}\n","import I18n from 'i18n'\nimport { MyAxios as axios } from './MyAxios'\nimport moment from 'moment'\nrequire('../../../public/javascripts/translations')\n\nconst localeMapping = {\n 'en-US': 'en',\n 'en-GB': 'en',\n 'nl-NL': 'nl',\n 'nl-BE': 'nl'\n}\n\nconst browserLocale = window.navigator.userLanguage || window.navigator.language\n\n/**\n * Default to NL locale if the requester is a headless browser.\n * This is required because for some reason Chromium does not want to change its preferred locale\n * A 'nl' locale is required for testing\n */\nconst DEFAULT_LOCALE = window.navigator.webdriver ? 'nl' : (browserLocale in localeMapping && localeMapping[browserLocale]) || 'nl'\n\nI18n.locale = DEFAULT_LOCALE\nmoment.locale(DEFAULT_LOCALE)\n\nconst loadLocaleAsync = () => {\n return new Promise((resolve, reject) => {\n const locales = axios.get('/api/v1/locales')\n locales.then((result) => {\n const locale = result.data.current\n if (locale !== null) {\n moment.locale(locale)\n I18n.locale = locale\n } else {\n moment.locale(DEFAULT_LOCALE)\n I18n.locale = DEFAULT_LOCALE\n }\n resolve(I18n)\n })\n })\n}\n\nconst loadFromGivenLocale = givenLocale => {\n const locale = givenLocale\n if (locale !== null) {\n moment.locale(locale)\n I18n.locale = locale\n } else {\n moment.locale(DEFAULT_LOCALE)\n I18n.locale = DEFAULT_LOCALE\n }\n}\n\nexport const I18nLoader = {\n load: () => {\n // returns a promise, but since load() doesnt return anything we can just wait\n // for it to be resolved in the background\n loadLocaleAsync()\n },\n loadAsync: () => loadLocaleAsync(),\n loadFromGiven: (givenLocale) => loadFromGivenLocale(givenLocale)\n}\n","import { useContext } from 'react'\nimport { useQuery } from 'react-query'\nimport { UseQueryOptions, UseQueryResult } from 'react-query/types'\nimport { BackendContext } from './BackendProvider'\nimport ResponsesPlayerResponsesDTO, { Response } from '../common/types/ResponsesPlayerResponsesDTO'\nimport { emhFields, emhSumField, emiFields, emiSumField, ostrcFields, ostrcSumField } from '../common/Constants'\nimport { sum } from 'lodash'\nimport PolarTrainingSessionsDTO from '../common/types/PolarTrainingSessionsDTO'\nimport NetworksPlayerNetworksDTO from '../common/types/NetworksPlayerNetworksDTO'\n\nconst addPartialSums = (responses: ResponsesPlayerResponsesDTO, fields: string[], sumField: string): void => {\n const filteredResponses: ResponsesPlayerResponsesDTO = responses.filter((response: Response) => fields.some(field => Object.keys(response.contents).includes(field)))\n for (const response of filteredResponses) {\n const responseKeys = Object.keys(response.contents)\n response.contents[sumField] = sum(fields.map(field => responseKeys.includes(field) ? parseInt(response.contents[field]) : 0))\n }\n}\n\nexport const useResponsesPlayerResponsesQuery = (\n playerIds: number[],\n start: Date,\n end: Date,\n addSumFields: boolean,\n options?: UseQueryOptions\n): UseQueryResult => {\n const { backend } = useContext(BackendContext)\n return useQuery(['responsesPlayerResponses', playerIds],\n async () => {\n if (playerIds.length === 0) return []\n\n const res = await backend.responses.playerResponses(playerIds, start, end)\n if (addSumFields) {\n const ostrcResponses: ResponsesPlayerResponsesDTO = res.data.filter((response: Response) => ostrcFields.every(ostrcField => Object.keys(response.contents).includes(ostrcField)))\n for (const response of ostrcResponses) {\n response.contents[ostrcSumField] = sum(ostrcFields.map(ostrcField => parseInt(response.contents[ostrcField])))\n }\n addPartialSums(res.data, emiFields, emiSumField)\n addPartialSums(res.data, emhFields, emhSumField)\n }\n return res.data\n },\n options)\n}\n\nexport const usePolarTrainingSessionsQuery = (\n playerIds: number[],\n start: Date,\n end: Date,\n options?: UseQueryOptions\n): UseQueryResult => {\n const { backend } = useContext(BackendContext)\n return useQuery(['polarTrainingSessions', playerIds],\n async () => {\n if (playerIds.length === 0) return []\n\n const res = await backend.polarTrainingSessions.index(playerIds, start, end)\n return res.data\n },\n options)\n}\n\nexport const useNetworksPlayerNetworksQuery = (\n playerId: number | undefined,\n limit: number,\n options?: UseQueryOptions\n): UseQueryResult => {\n const { backend } = useContext(BackendContext)\n return useQuery(['networksPlayerNetworks', playerId, limit],\n async () => {\n if (playerId === undefined) return []\n\n const res = await backend.networks.playerNetworks(playerId, limit)\n return res.data\n },\n options)\n}\n","import TabPanel from './TabPanel'\nimport Tab from './Tab'\n\n// I know it might seem weird to have an atom that exports more than one component and that renders multiple components.\n// The reason I called TabPanel an atom is that technically, it is indivisible. The tab components cannot live outside\n// a TabPanel, so cannot be atoms themselves. I've found a post on stack overflow that backs this idea:\n// https://stackoverflow.com/questions/67246236/atomic-design-should-a-wrapper-be-an-atom-if-its-not-reusable\n// Feel free to call this a molecule, organism, etc. if you disagree.\nexport { Tab }\nexport default TabPanel\n","import React, { useEffect, useState } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport PlayerName from '../../teampro/layout/PlayerName'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport PinCode from '../../pin_code/PinCode'\nimport Info from '../../common/Info'\nimport QuestionnaireQuestions from './QuestionnaireQuestions'\n\nconst EditTeam = (props) => {\n const { match: { params: { teamId } } } = props\n const team = props.teams.filter(team => `${team.id}` === teamId)[0]\n const [teamName, setTeamName] = useState('')\n const [disabledQuestionnaireKeys, setDisabledQuestionnaireKeys] = useState([])\n\n useEffect(() => {\n props.fetchTeams()\n }, [])\n\n useEffect(() => {\n const elems = document.querySelectorAll('.fixed-action-btn')\n window.M.FloatingActionButton.init(elems, {})\n }, [])\n\n useEffect(() => {\n window.M.updateTextFields()\n })\n\n useEffect(() => {\n if (team === undefined) return\n setTeamName(team.name)\n setDisabledQuestionnaireKeys(team.disabled_questionnaire_keys)\n }, [props.teams])\n\n if (team === undefined) return <>\n\n const updateTeam = e => {\n e.preventDefault()\n updateTeamAttribute({ name: teamName })\n }\n\n const updateTeamAttribute = teamObj => {\n props.updateTeam(team.id, { team: teamObj })\n .then(() => {\n props.flashMessages.push(\n I18n.t('teams.flash_messages.team_updated'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchTeams()\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const editPlayer = id => {\n props.history.push(`/players/${id}/edit`)\n }\n\n const destroyPlayer = id => {\n props.destroyPlayer(id)\n .then(() => {\n props.flashMessages.push(\n I18n.t('teams.flash_messages.player_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchTeams()\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const showDestroyPlayerDialog = id => {\n props.setConfirmationDialog({\n onConfirmation: () => destroyPlayer(id),\n target: `${I18n.t('teams.edit_team.player')} ${team.players.filter(player => player.id === id)[0].name}`,\n action: 'delete',\n noQuotes: true\n })\n }\n\n const newPlayer = (e) => {\n e.preventDefault()\n props.history.push(`/teams/${team.id}/players/new`)\n }\n\n return (\n <>\n \n \n
    \n
    \n
    \n

    {I18n.t('teams.edit_team.edit_team', { name: team.name })}

    \n
    \n
    \n
    \n
    \n setTeamName(e.target.value)}\n />\n \n
    \n
    \n \n
    \n
    \n
    \n \n add\n \n
    \n
    \n
    \n
      \n
    • {I18n.t('teams.edit_team.players')}

    • \n {team.players.length === 0 && (\n
      \n

      {I18n.t('teams.edit_team.there_are_no_players_click_to_add')}

      \n
      \n )}\n {team.players.map(player => {\n return (\n
    • \n
      \n editPlayer(player.id)}>\n \n \n {\n e.preventDefault()\n editPlayer(player.id)\n }}\n >\n edit\n \n {\n e.preventDefault()\n showDestroyPlayerDialog(player.id)\n }}\n >\n delete\n \n {player.polar_players.length > 0 && (\n \n {player.polar_players.map(polarPlayer => `${polarPlayer.player_number} ${polarPlayer.first_name} ${polarPlayer.last_name}`).join(', ')}\n \n )}\n
      \n
    • \n )\n })}\n
    \n
    \n
    \n {process.env.ENABLE_QUESTIONNAIRE_SELECTIONS === 'true' && (\n
    \n
    \n
    {I18n.t('profile.edit.questionnaire_questions')}
    \n
    \n
    \n \n
    \n
    \n )}\n
    \n
    \n \n )\n}\n\nexport default WithModal(WithFlashMessages(EditTeam))\n","import React, { useEffect } from 'react'\nimport TabHeader from './TabHeader'\n\nconst TabPanel = ({ id, children, swipeable, duration, onShow, responsiveThreshold }) => {\n useEffect(() => {\n window.M.Tabs.init(document.getElementById(id), { swipeable, duration, responsiveThreshold })\n }, [])\n\n return (\n
    \n
    \n
      \n \n
    \n
    \n {children}\n
    \n )\n}\n\nexport default TabPanel\n","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\nimport 'core-js/stable'\nimport 'regenerator-runtime/runtime'\n\nimport '../stylesheets/application.scss'\nimport * as noUiSlider from '../noUiSlider/nouislider'\n\nrequire('materialize-css/dist/js/materialize')\n\nwindow.noUiSlider = noUiSlider\n\n// Support component names relative to this directory:\nconst componentRequireContext = require.context('components', true)\nconst ReactRailsUJS = require('react_ujs')\nReactRailsUJS.useContext(componentRequireContext)\n","import React, { useState } from 'react'\nimport { datePickerDefaultOptions } from '../../common/Constants'\nimport DatePicker from 'react-datepicker'\nimport classNames from 'classnames'\nimport moment from 'moment'\nimport { CUSTOM, EVERYTHING, PAST_7_DAYS, TODAY, YESTERDAY } from '../../teampro/Constants'\nimport I18n from 'i18n'\nimport Info from 'components/common/Info'\n\nconst ExportCombined = (props) => {\n const [value, setValue] = useState(undefined)\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [pseudonymize, setPseudonymize] = useState(false)\n const [pseudonymizeLevelTwo, setPseudonymizeLevelTwo] = useState(false)\n const [disableDownload, setDisableDownload] = useState(false)\n\n const downloadOptions = [\n { description: I18n.t('exports.download_options.today'), value: TODAY },\n { description: I18n.t('exports.download_options.yesterday'), value: YESTERDAY },\n { description: I18n.t('exports.download_options.past_7_days'), value: PAST_7_DAYS },\n { description: I18n.t('exports.download_options.everything'), value: EVERYTHING },\n { description: I18n.t('exports.download_options.custom'), value: CUSTOM }\n ]\n\n const constructDownload = (e) => {\n let start, end\n const today = new Date()\n switch (value) {\n case TODAY:\n start = today\n end = today\n break\n case YESTERDAY:\n start = moment(today).subtract(1, 'days').toDate()\n end = moment(today).subtract(1, 'days').toDate()\n break\n case PAST_7_DAYS:\n start = moment(today).subtract(7, 'days').toDate()\n end = today\n break\n case EVERYTHING:\n break\n case CUSTOM:\n start = startDate\n end = endDate\n break\n }\n const params = {}\n if (start !== undefined && start !== null) params.start_date = start.toISOString()\n if (end !== undefined && end !== null) params.end_date = end.toISOString()\n const pseudonymizeLevel = calcPseudonymizeLevel()\n if (pseudonymizeLevel) params.pseudonymize = `${pseudonymizeLevel}`\n setDisableDownload(true)\n setTimeout(() => setDisableDownload(false), 5000)\n e.preventDefault()\n props.export(params)\n }\n\n const calcPseudonymizeLevel = () => {\n if (pseudonymize) {\n return pseudonymizeLevelTwo ? 2 : 1\n }\n return 0\n }\n\n const validToDownload = () => {\n if (disableDownload) return false\n if (value === undefined) return false\n if (value !== CUSTOM) return true\n return (startDate === null || endDate === null || moment(startDate) <= moment(endDate))\n }\n\n const showDownloadButton = validToDownload()\n\n return (\n <>\n
    \n
    \n
    \n {I18n.t('exports.export_combined')}\n {' '}\n \n
    \n
    \n
    \n
    \n
    \n
    {I18n.t('exports.download_questionnaires_of')}
    \n {downloadOptions.map(option => (\n

    \n \n

    \n ))}\n {value === 'custom' && (\n <>\n
    \n
    \n setStartDate(date)}\n selectsStart\n startDate={startDate}\n endDate={endDate}\n />\n \n
    \n
    \n setEndDate(date)}\n selectsEnd\n startDate={startDate}\n endDate={endDate}\n minDate={startDate}\n maxDate={new Date()}\n />\n \n
    \n
    \n
    \n
    \n

    {I18n.t('exports.start_and_end_not_required')}

    \n
    \n
    \n \n )}\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n {pseudonymize && (\n
    \n

    \n \n

    \n
    \n )}\n
    \n
    \n
    \n {showDownloadButton && (\n \n file_download\n {I18n.t('exports.download')}\n \n )}\n {!showDownloadButton && (\n \n )}\n
    \n
    \n \n )\n}\n\nexport default ExportCombined\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class Select extends React.Component {\n componentDidMount (prevProps) {\n const elems = document.querySelectorAll('select')\n window.M.FormSelect.init(elems)\n }\n\n render () {\n const errors = this.props.errors || []\n const { component, type, fieldName, choices, formName, defaultValue, currentValue } = this.props\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.choices\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n return (\n
    \n
    \n
    \n {I18n.t(`${formName}.${component}.${type}.${fieldName}`)}\n {errors.map((err, i) => (\n
    \n {this.props.translateErrors ? I18n.t(err) : err}\n
    \n ))}\n \n
    \n
    \n
    \n )\n }\n}\n","import React from 'react'\nimport { optionalTranslate } from '../Utils'\n\nconst Raw = (props) => {\n const renderRaw = () => {\n return
    \n }\n\n return (\n
    \n
    \n
    \n {renderRaw()}\n
    \n
    \n
    \n )\n}\n\nexport default Raw\n","import React, { useEffect, useState } from 'react'\nimport { INDEPENDENT_OF_A_TRAINING } from '../teampro/Constants'\nimport Questionnaire from '../teampro/questionnaires/Questionnaire'\nimport I18n from 'i18n'\nimport Header from '../teampro/layout/Header'\n\nconst FillOutSession = props => {\n const { match: { params: { invitationTokenId } } } = props\n\n const [trainingType, setTrainingType] = useState(undefined)\n\n useEffect(() => {\n props.fetchSession(invitationTokenId)\n }, [])\n\n useEffect(() => {\n if (props.sessionToken) {\n props.fetchTeams()\n }\n }, [props.sessionToken])\n\n useEffect(() => {\n if (props.trainingType) {\n setTrainingType(props.trainingType)\n }\n }, [props.trainingType])\n\n if (props.questionnaireCompleted) {\n return (\n
    \n
    \n
    \n
    \n

    {I18n.t('fill_out_session.thanks_for_filling_out')}

    \n
    \n
    \n
    \n
    \n

    {I18n.t('fill_out_session.you_may_now_close_this_page')}

    \n
    \n
    \n
    \n
    \n )\n }\n\n if (!props.teams || props.teams.length === 0) return <>\n\n const renderQuestionnaire = () => {\n return (\n {\n props.onQuestionnaireCompletion(props.player, { ...values, completedAt: new Date().toISOString(), trainingType }, cb)\n }}\n />\n )\n }\n\n return (\n
    \n trainingType}\n getPlayerTrainingMoment={() => props.trainingMoment}\n teams={props.teams}\n extraQuestions={props.addExtraQuestions}\n setLocale={props.setLocale}\n />\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {renderQuestionnaire()}\n
    \n
    \n
    \n
    \n )\n}\n\nexport default FillOutSession\n","import React from 'react'\n\nconst Tab = ({ id, children }) => {\n return (\n
    \n {children}\n
    \n )\n}\n\nexport default Tab\n","import React, { useState } from 'react'\nimport { datePickerDefaultOptions } from '../../common/Constants'\nimport DatePicker from 'react-datepicker'\nimport classNames from 'classnames'\nimport moment from 'moment'\nimport { CUSTOM, EVERYTHING, PAST_7_DAYS, TODAY, YESTERDAY } from '../../teampro/Constants'\nimport I18n from 'i18n'\nimport Info from 'components/common/Info'\n\nconst ExportRestructured = (props) => {\n const [value, setValue] = useState(undefined)\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [pseudonymize, setPseudonymize] = useState(false)\n const [pseudonymizeLevelTwo, setPseudonymizeLevelTwo] = useState(false)\n const [disableDownload, setDisableDownload] = useState(false)\n\n const downloadOptions = [\n { description: I18n.t('exports.download_options.today'), value: TODAY },\n { description: I18n.t('exports.download_options.yesterday'), value: YESTERDAY },\n { description: I18n.t('exports.download_options.past_7_days'), value: PAST_7_DAYS },\n { description: I18n.t('exports.download_options.everything'), value: EVERYTHING },\n { description: I18n.t('exports.download_options.custom'), value: CUSTOM }\n ]\n\n const constructDownload = (e) => {\n let start, end\n const today = new Date()\n switch (value) {\n case TODAY:\n start = today\n end = today\n break\n case YESTERDAY:\n start = moment(today).subtract(1, 'days').toDate()\n end = moment(today).subtract(1, 'days').toDate()\n break\n case PAST_7_DAYS:\n start = moment(today).subtract(7, 'days').toDate()\n end = today\n break\n case EVERYTHING:\n break\n case CUSTOM:\n start = startDate\n end = endDate\n break\n }\n const params = {}\n if (start !== undefined && start !== null) params.start_date = start.toISOString()\n if (end !== undefined && end !== null) params.end_date = end.toISOString()\n const pseudonymizeLevel = calcPseudonymizeLevel()\n if (pseudonymizeLevel) params.pseudonymize = `${pseudonymizeLevel}`\n setDisableDownload(true)\n setTimeout(() => setDisableDownload(false), 5000)\n e.preventDefault()\n props.export(params)\n }\n\n const calcPseudonymizeLevel = () => {\n if (pseudonymize) {\n return pseudonymizeLevelTwo ? 2 : 1\n }\n return 0\n }\n\n const validToDownload = () => {\n if (disableDownload) return false\n if (value === undefined) return false\n if (value !== CUSTOM) return true\n return (startDate === null || endDate === null || moment(startDate) <= moment(endDate))\n }\n\n const showDownloadButton = validToDownload()\n\n return (\n <>\n
    \n
    \n
    \n {I18n.t('exports.export_restructured')}\n {' '}\n \n
    \n
    \n
    \n
    \n
    \n
    {I18n.t('exports.download_questionnaires_of')}
    \n {downloadOptions.map(option => (\n

    \n \n

    \n ))}\n {value === 'custom' && (\n <>\n
    \n
    \n setStartDate(date)}\n selectsStart\n startDate={startDate}\n endDate={endDate}\n />\n \n
    \n
    \n setEndDate(date)}\n selectsEnd\n startDate={startDate}\n endDate={endDate}\n minDate={startDate}\n maxDate={new Date()}\n />\n \n
    \n
    \n
    \n
    \n

    {I18n.t('exports.start_and_end_not_required')}

    \n
    \n
    \n \n )}\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n {pseudonymize && (\n
    \n

    \n \n

    \n
    \n )}\n
    \n
    \n
    \n {showDownloadButton && (\n \n file_download\n {I18n.t('exports.download')}\n \n )}\n {!showDownloadButton && (\n \n )}\n
    \n
    \n \n )\n}\n\nexport default ExportRestructured\n","import React from 'react'\nimport I18n from 'i18n'\nimport Info from '../../common/Info'\n\nexport default class Toggle extends React.Component {\n render () {\n const errors = this.props.errors || []\n const { infoBox, component, fieldName, formName, currentValue, defaultValue } = this.props\n const type = this.props.type || 'checkbox'\n const fieldProps = { ...this.props }\n delete fieldProps.component\n delete fieldProps.fieldName\n delete fieldProps.translateErrors\n delete fieldProps.formName\n delete fieldProps.defaultValue\n delete fieldProps.currentValue\n delete fieldProps.type\n delete fieldProps.infoBox\n\n const isChecked = !!currentValue || (defaultValue && currentValue == null) || false\n\n let infoBoxText = infoBox\n if (typeof infoBoxText === 'function') {\n infoBoxText = infoBoxText()\n }\n\n return (\n
    \n
    \n
    \n )\n }\n}\n","import React from 'react'\nimport I18n from 'i18n'\n\nconst POLAR_PLAYERS_EXPORT_URL = '/api/v1/polar_players/export.csv'\nconst POLAR_TRAINING_SESSIONS_EXPORT_URL = '/api/v1/polar_training_sessions/export.csv'\n\nconst ExportPolarData = _props => {\n return (\n <>\n \n file_download\n {I18n.t('exports.polar_players')}\n \n \n file_download\n {I18n.t('exports.polar_training_sessions')}\n \n \n )\n}\n\nexport default ExportPolarData\n","import React from 'react'\nimport { Route } from 'react-router'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\nimport UpdatePassword from './layout/UpdatePassword'\n\nconst PasswordRoutes = (props) => {\n const { updatePasswordProps } = props\n return (\n \n ()}\n />\n \n )\n}\n\nexport default PasswordRoutes\n","import React from 'react'\nimport { withCookies } from 'react-cookie'\nimport { MyAxios as axios } from '../MyAxios'\nimport { withRouter } from 'react-router-dom'\nimport { I18nLoader } from '../I18nLoader'\nimport moment from 'moment'\nimport I18n from 'i18n'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\n\nexport const SessionContext = React.createContext()\n\nclass SessionProviderCls extends React.Component {\n constructor (props) {\n super(props)\n let token = props.cookies.get('sessionToken')\n let aud = props.cookies.get('sessionAud')\n token = token !== 'null' ? token : null\n aud = aud !== 'null' ? aud : null\n this.state = {\n sessionToken: token,\n sessionAud: aud,\n myProfile: {}\n }\n\n this.cookie_options = { path: '/', maxAge: 30 * 24 * 3600, domain: process.env.SESSION_COOKIE_HOSTNAME }\n }\n\n removeBearerFromToken (token) {\n if (!token) {\n return undefined\n }\n\n if (token.includes('Bearer')) {\n return token.split(' ')[1]\n }\n return token\n }\n\n componentDidUpdate (prevProps, prevState) {\n if (prevState.sessionToken !== this.state.sessionToken && this.isValid()) {\n this.fetchMyProfile()\n }\n }\n\n componentDidMount () {\n this.isValid() && this.fetchMyProfile()\n }\n\n authorizationHeaders () {\n if (!this.state.sessionAud) {\n return {\n Authorization: this.state.sessionToken\n }\n }\n return {\n Authorization: this.state.sessionToken,\n 'JWT-AUD': this.state.sessionAud\n }\n }\n\n fetchMyProfile () {\n axios({\n method: 'GET',\n url: '/api/v1/users/me',\n headers: { ...this.authorizationHeaders(), 'Content-Type': 'application/json' }\n }).then((response) => {\n if (response.data.locale && response.data.locale.length > 0) {\n moment.locale(response.data.locale)\n I18n.locale = response.data.locale\n }\n this.setState({ myProfile: response.data })\n }).catch((err) => {\n // We only want to logout the user if we did get a reply from the backend\n // (like a 400 or 401). If the user's internet dropped for a second, we\n // don't want to log them out.\n console.log(err)\n const playerLogin = (this.props.location && this.props.location.pathname.match(/^\\/fill-out\\/[a-z0-9]+/))\n if (err.response && !playerLogin) {\n console.log('Error retrieving profile, logging out:')\n this.logout()\n }\n })\n }\n\n updateSession (sessionValues) {\n this.props.cookies.set('sessionToken', sessionValues.sessionToken, this.cookie_options)\n if (sessionValues.sessionAud) {\n this.props.cookies.set('sessionAud', sessionValues.sessionAud, this.cookie_options)\n } else {\n this.props.cookies.set('sessionAud', '', this.cookie_options)\n }\n this.setState({ ...sessionValues })\n }\n\n logout (redirect = true) {\n this.props.cookies.set('sessionToken', '', this.cookie_options)\n this.props.cookies.set('sessionAud', '', this.cookie_options)\n axios({ method: 'DELETE', url: '/api/v1/logout', headers: { ...this.authorizationHeaders(), 'Content-Type': 'application/json' } }).then((response) => {\n this.setState({ ...this.state, sessionToken: undefined, sessionAud: undefined }, () => {\n I18nLoader.loadAsync()\n if (redirect) {\n this.props.flashMessages.push(\n I18n.t('flashmessages.logout.successful'),\n this.props.flashMessages.duration.SHORT,\n this.props.flashMessages.levels.INFO\n )\n this.props.history.push('/')\n }\n })\n }).catch(err => {\n console.log(err)\n this.props.history.push('/')\n window.location.reload()\n })\n }\n\n isValid () {\n return !!this.state.sessionToken\n }\n\n render () {\n return (\n \n {this.props.children}\n \n )\n }\n}\n\nexport const SessionProvider = WithFlashMessages(withRouter(withCookies(SessionProviderCls)))\n\nexport const WithSession = Component => props => {\n return (\n \n {(context) => ()}\n \n )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { changeProperty } from '../../teampro/Utils'\nimport {\n datePickerDefaultOptions, emhSumField, emiSumField, fullMomentDateFormatWithTime, highchartsThemeElementary,\n matchFields, ostrcSumField,\n QUESTION_MAPPING,\n specialEventFields,\n trainingFields\n} from '../../common/Constants'\nimport I18n from 'i18n'\nimport DatePicker from 'react-datepicker'\nimport classNames from 'classnames'\nimport { average, movingAverage, round, standardDeviation } from '../../common/Math'\nimport HighchartsReact from 'highcharts-react-official'\nimport Highcharts from 'highcharts/highstock'\nimport moment from 'moment'\nimport Teams, { Team } from '../../common/types/Teams'\nimport { Options } from 'highcharts'\nimport { usePolarTrainingSessionsQuery, useResponsesPlayerResponsesQuery } from '../../backend/Queries'\nimport Param from '../../common/types/Param'\nimport OptGroupLabel from '../../common/types/OptGroupLabel'\nimport SpinnerWrapper from '../../common/SpinnerWrapper'\nimport { findPlayer, getPlayerData, getPlayerTrainingSessionData, PlotBand, Point } from './Utils'\nimport { compact } from 'lodash'\nimport PolarVariable, { PolarVariables } from '../../common/types/PolarVariable'\n\n/* eslint-disable @typescript-eslint/explicit-function-return-type, @typescript-eslint/strict-boolean-expressions, react/jsx-boolean-value, @typescript-eslint/restrict-template-expressions, @typescript-eslint/dot-notation */\n\nconst DATE_FORMAT = 'YYYY-MM-DD'\n\ninterface Props {\n teams: Teams\n}\n\nconst INDIVIDUAL = 'individual'\nconst NONE = 'none'\nconst POPULATION = 'population'\n\ntype ZScoresVisibility = 'individual' | 'none' | 'population'\n\ninterface DailyAverage {\n [name: string]: number[]\n}\n\ninterface Series {\n type: string\n color?: string\n data: Point[]\n dashStyle?: string\n marker: any\n id: string\n name: string\n}\n\nconst PolarDashboard: React.FunctionComponent = (props: Props) => {\n const minDate = useMemo(() => moment().subtract(1, 'year').startOf('day').toDate(), [])\n const maxDate = useMemo(() => moment(new Date()).endOf('day').toDate(), [])\n\n const [variable, setVariable] = useState('v1')\n const [polarVariable, setPolarVariable] = useState('duration_ms')\n const [selectedPlayerIds, setSelectedPlayerIds] = useState([])\n const [allAvg, setAllAvg] = useState(NaN)\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [showAverage, setShowAverage] = useState(false)\n const [movingAverageWindow, setMovingAverageWindow] = useState(1)\n const [pointMax, setPointMax] = useState(10)\n const [showDailyAverage, setShowDailyAverage] = useState(false)\n const [showZScores, setShowZScores] = useState(NONE)\n const [mondays, setMondays] = useState([])\n const [showPlotBands, setShowPlotBands] = useState(false)\n const [minPlotBand, setMinPlotBand] = useState(0)\n const [maxPlotBand, setMaxPlotBand] = useState(10)\n const [minOpenToDate, setMinOpenToDate] = useState(null)\n const [maxOpenToDate, setMaxOpenToDate] = useState(null)\n\n Highcharts.theme = highchartsThemeElementary as Options\n Highcharts.setOptions(Highcharts.theme)\n\n const { data: responses = [], refetch, isSuccess, isError } = useResponsesPlayerResponsesQuery(selectedPlayerIds, startDate ?? minDate, endDate ?? maxDate, true)\n const { data: polarTrainingSessions = [], refetch: refetchPolar /*, isSuccess: isSuccessPolar, isError: isErrorPolar */ } = usePolarTrainingSessionsQuery(selectedPlayerIds, startDate ?? minDate, endDate ?? maxDate)\n\n useEffect(() => {\n let newMinOpenToDate = null\n let newMaxOpenToDate = null\n for (const response of responses) {\n if (!response.completed_at) continue\n const completedAtMoment = moment(response.completed_at)\n if (!newMinOpenToDate) {\n newMinOpenToDate = completedAtMoment\n } else if (completedAtMoment < newMinOpenToDate) {\n newMinOpenToDate = completedAtMoment\n }\n if (!newMaxOpenToDate) {\n newMaxOpenToDate = completedAtMoment\n } else if (completedAtMoment > newMaxOpenToDate) {\n newMaxOpenToDate = completedAtMoment\n }\n }\n // Note: for the responses we use the completedAt moment, which is\n // the date at which the questionnaire was completed. For the Polar\n // training sessions, we use the trimmed_start_time, which is the\n // time at which the training started.\n for (const polarTrainingSession of polarTrainingSessions) {\n if (!polarTrainingSession.trimmed_start_time) continue\n const startedAtMoment = moment(polarTrainingSession.trimmed_start_time)\n if (!newMinOpenToDate) {\n newMinOpenToDate = startedAtMoment\n } else if (startedAtMoment < newMinOpenToDate) {\n newMinOpenToDate = startedAtMoment\n }\n if (!newMaxOpenToDate) {\n newMaxOpenToDate = startedAtMoment\n } else if (startedAtMoment > newMaxOpenToDate) {\n newMaxOpenToDate = startedAtMoment\n }\n }\n setMinOpenToDate(newMinOpenToDate ? newMinOpenToDate.startOf('day').toDate() : null)\n setMaxOpenToDate(newMaxOpenToDate ? newMaxOpenToDate.endOf('day').toDate() : null)\n }, [responses, polarTrainingSessions])\n\n useEffect(() => {\n // TODO: don't ignore errors for refetch\n void refetch()\n void refetchPolar()\n }, [startDate, endDate, selectedPlayerIds])\n\n useEffect(() => {\n if (showZScores !== NONE) {\n setShowAverage(true)\n }\n }, [showZScores])\n\n useEffect(() => {\n (window as any).M.FormSelect.init(document.querySelectorAll('#variable-selector'));\n (window as any).M.FormSelect.init(document.querySelectorAll('#player-selector'));\n (window as any).M.FormSelect.init(document.querySelectorAll('#variable-selector-polar'))\n }, [props.teams])\n\n const renderFields = (fieldsArr: Param[], label: OptGroupLabel) => {\n return (\n \n {fieldsArr.map(field => (\n {I18n.t(`visualizations.question_mapping.${QUESTION_MAPPING[field]}`)}\n \n ))}\n \n )\n }\n\n useEffect(() => {\n const elem = (document.getElementById('player-selector') as any)?.M_FormSelect\n if (elem) {\n elem._setValueToInput()\n elem._setSelectedStates()\n }\n }, [selectedPlayerIds])\n\n const series: Series[] = useMemo(() => {\n let cPointMax = 10\n const allValues: number[] = []\n const dailyAverage: DailyAverage = {}\n responses.forEach(response => {\n if (Object.keys(response.contents).includes(variable)) {\n allValues.push(response.contents[variable])\n }\n })\n const allStd = standardDeviation(allValues)\n const allAvg1 = average(allValues)\n const allModifiedValues: number[] = []\n const tSeries: Series[] = compact(selectedPlayerIds.map(playerId => {\n const player = findPlayer(playerId, props.teams)\n if (!player) {\n return null\n }\n const { data, nrResponses } = getPlayerData(playerId, responses, [variable], showZScores === INDIVIDUAL)\n // Calculate the max number of points in this series for the sliding window\n cPointMax = Math.max(cPointMax, nrResponses)\n if (showZScores === POPULATION) {\n if (allStd > 0.0001) {\n for (const dataPoint of data) {\n dataPoint.y = (dataPoint.y - allAvg1) / allStd\n }\n } else {\n for (const dataPoint of data) {\n dataPoint.y = 0\n }\n }\n }\n // Add values after z-score calculation to be included in the calculation for the average line\n for (const dataPoint of data) {\n allModifiedValues.push(dataPoint.y)\n }\n\n // Optionally calculate a moving daily average line.\n if (showDailyAverage) {\n for (let i = 0; i < data.length; i += 1) {\n const dateString = moment(data[i].x).format(DATE_FORMAT)\n if (!dailyAverage[dateString]) { dailyAverage[dateString] = [] }\n dailyAverage[dateString].push(data[i].y)\n }\n }\n\n // Apply moving average to the data. Note that we have the original values stored in `allModifiedValues`.\n if (movingAverageWindow > 1) {\n const movingAverageApplied = movingAverage(data.map(dataPoint => dataPoint.y), movingAverageWindow)\n for (let i = 0; i < data.length; i += 1) {\n data[i].y = movingAverageApplied[i]\n }\n }\n return {\n type: 'line',\n data: data,\n marker: { enabled: true },\n id: `${playerId}`,\n name: player.name,\n zIndex: 2,\n yAxis: 0\n }\n }))\n\n // Calculate the plot bands to mark mondays as green.\n const plotBandMondays: PlotBand[] = []\n const cMinDate = startDate ?? minDate\n const cMaxDate = endDate ?? maxDate\n for (let i = cMinDate; i <= cMaxDate; i = moment(i).add(1, 'days').toDate()) {\n const curMoment = moment(i)\n if (curMoment.isoWeekday() === 1) {\n plotBandMondays.push({\n color: '#e8f5e9',\n from: curMoment.startOf('day').toDate(),\n to: curMoment.endOf('day').toDate()\n })\n }\n }\n setMondays(plotBandMondays)\n setAllAvg(average(allModifiedValues))\n setPointMax(cPointMax)\n if (showDailyAverage) {\n const davg: Point[] = []\n const sortedDates = Object.keys(dailyAverage).sort()\n for (const cDate of sortedDates) {\n const cMoment = moment(cDate, DATE_FORMAT).add(12, 'hours')\n davg.push({\n x: cMoment.toDate(),\n y: average(dailyAverage[cDate]),\n formatted_date: cMoment.locale(I18n.locale).format(fullMomentDateFormatWithTime)\n })\n }\n if (movingAverageWindow > 1) {\n const movingAverageApplied = movingAverage(davg.map(dataPoint => dataPoint.y), movingAverageWindow)\n for (let i = 0; i < davg.length; i += 1) {\n davg[i].y = movingAverageApplied[i]\n }\n }\n tSeries.push({\n type: 'line',\n color: 'red',\n data: davg,\n dashStyle: 'LongDash',\n marker: { enabled: false },\n id: '-1',\n name: I18n.t('visualizations.labels.daily_average')\n })\n }\n return tSeries\n }, [selectedPlayerIds, showAverage, movingAverageWindow, showDailyAverage, variable, startDate, endDate, showZScores, props.teams, responses.length])\n\n const polarSeries: Series[] = useMemo(() => {\n let cPointMax = 10\n const allValues: number[] = []\n const dailyAverage: DailyAverage = {}\n polarTrainingSessions.forEach(polarTrainingSession => {\n allValues.push(polarTrainingSession[polarVariable])\n })\n const allStd = standardDeviation(allValues)\n const allAvg1 = average(allValues)\n let colorIndex = -1\n const tSeries: Series[] = compact(selectedPlayerIds.map(playerId => {\n colorIndex += 1\n const player = findPlayer(playerId, props.teams)\n if (!player) {\n return null\n }\n const { data, nrResponses } = getPlayerTrainingSessionData(playerId, polarTrainingSessions, [polarVariable], showZScores === INDIVIDUAL)\n // Calculate the max number of points in this series for the sliding window\n cPointMax = Math.max(cPointMax, nrResponses)\n if (showZScores === POPULATION) {\n if (allStd > 0.0001) {\n for (const dataPoint of data) {\n dataPoint.y = (dataPoint.y - allAvg1) / allStd\n }\n } else {\n for (const dataPoint of data) {\n dataPoint.y = 0\n }\n }\n }\n\n // Optionally calculate a moving daily average line.\n if (showDailyAverage) {\n for (let i = 0; i < data.length; i += 1) {\n const dateString = moment(data[i].x).format(DATE_FORMAT)\n if (!dailyAverage[dateString]) { dailyAverage[dateString] = [] }\n dailyAverage[dateString].push(data[i].y)\n }\n }\n\n // Apply moving average to the data.\n if (movingAverageWindow > 1) {\n const movingAverageApplied = movingAverage(data.map(dataPoint => dataPoint.y), movingAverageWindow)\n for (let i = 0; i < data.length; i += 1) {\n data[i].y = movingAverageApplied[i]\n }\n }\n return {\n type: 'column',\n data: data,\n marker: { enabled: true },\n id: `${playerId}-polar`,\n name: `${player.name} ${I18n.t(`visualizations.question_mapping.polar.${polarVariable}`)}`,\n colorIndex: colorIndex,\n showInLegend: true,\n opacity: 0.67,\n yAxis: 1\n }\n }))\n return tSeries\n }, [selectedPlayerIds, showAverage, movingAverageWindow, showDailyAverage, polarVariable, startDate, endDate, showZScores, props.teams, polarTrainingSessions.length])\n\n const allSeries: Series[] = [...series, ...polarSeries]\n\n const renderPlayerOptions = () => {\n return (\n <>\n {props.teams.map((team: Team) => {\n return (\n \n {team.players.map(player => (\n \n ))}\n \n )\n })}\n \n )\n }\n\n useEffect(() => {\n (window as any).M.updateTextFields()\n }, [showPlotBands])\n\n let yPlotBands: PlotBand[] | null = []\n\n if (showZScores !== NONE) {\n yPlotBands.push({\n color: 'rgba(40, 167, 69, 0.1)', // bootstrap success 10%\n from: -1,\n to: 1\n })\n yPlotBands.push({\n color: 'rgba(220, 53, 69, 0.1)',\n from: -3,\n to: -2\n })\n yPlotBands.push({\n color: 'rgba(220, 53, 69, 0.1)',\n from: 2,\n to: 3\n })\n yPlotBands.push({\n color: 'rgba(255, 193, 7, 0.1)',\n from: -2,\n to: -1\n })\n yPlotBands.push({\n color: 'rgba(255, 193, 7, 0.1)',\n from: 1,\n to: 2\n })\n }\n\n if (showPlotBands && typeof (minPlotBand) !== 'string' && typeof (maxPlotBand) !== 'string') {\n yPlotBands.push({\n color: 'rgba(68, 170, 213, 0.1)',\n from: minPlotBand,\n to: maxPlotBand\n })\n }\n\n if (yPlotBands.length === 0) yPlotBands = null\n\n return (\n <>\n
    \n
    \n changeProperty('variable-selector', setVariable)}\n >\n {/*
    \n
    \n setStartDate(date ? moment(date).startOf('day').toDate() : date)}\n selectsStart={true} startDate={startDate} endDate={endDate} minDate={minOpenToDate ?? minDate} maxDate={maxOpenToDate ?? maxDate}\n openToDate={startDate ?? minOpenToDate ?? minDate}\n />\n {I18n.t('visualizations.labels.start_date')}\n \n
    \n
    \n setEndDate(date ? moment(date).endOf('day').toDate() : date)}\n selectsEnd={true}\n startDate={startDate} endDate={endDate} minDate={startDate ?? minOpenToDate ?? minDate} maxDate={maxOpenToDate ?? maxDate}\n openToDate={endDate ?? maxOpenToDate ?? maxDate}\n />\n {I18n.t('visualizations.labels.end_date')}\n \n
    \n
    \n `${playerId}`)}\n onChange={() => {\n const selectedValues = [...Array.from((document.getElementById('player-selector') as HTMLSelectElement).options)]\n .filter((x) => x.selected)\n .map((x) => x.value)\n setSelectedPlayerIds(selectedValues.map(value => parseInt(value)))\n }}\n multiple={true}\n >\n {/*
    \n
    \n
    \n
    \n changeProperty('variable-selector-polar', setPolarVariable)}\n >\n {PolarVariables.map((polarVar) => (\n {I18n.t(`visualizations.question_mapping.polar.${polarVar}`)}\n \n ))}\n \n \n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n {I18n.t('visualizations.labels.moving_average_window_size')}: {movingAverageWindow === 1 ? I18n.t('visualizations.labels.moving_average_window_none') : movingAverageWindow}\n \n setMovingAverageWindow(parseInt(e.target.value))}\n />\n

    \n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n
    \n {showPlotBands && (\n <>\n setMinPlotBand(!isNaN(parseFloat(e.target.value)) ? parseFloat(e.target.value) : '')}\n />\n \n \n )}\n
    \n
    \n {showPlotBands && (\n <>\n setMaxPlotBand(!isNaN(parseFloat(e.target.value)) ? parseFloat(e.target.value) : '')}\n />\n \n \n )}\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n \n

    \n
    \n
    \n \n {responses.length === 0 && (\n

    {I18n.t('responses.overview.there_are_no_responses')}

    \n )}\n {responses.length > 0 && (\n <>\n \n \n \n \n Player\n \n \n Training load\n \n \n HR avg [%]\n \n \n Distance\n \n \n Calories\n \n \n Sprints\n \n \n Speed avg\n \n \n Duration\n \n \n HR zones\n \n \n Speed zones [km]\n \n \n \n \n \n \n ${(this as any).series.name}\n \n \n ${(this as any).point.training_load} (Reasonable)\n \n \n ${(this as any).point.heart_rate_avg_percent}\n %\n \n \n ${Math.round((this as any).point.distance_meters / 1000)}\n km\n \n \n ${Math.round((this as any).point.kilo_calories)}\n kcal\n \n \n ${(this as any).point.sprint_counter}\n  \n \n \n ${round((this as any).point.speed_avg_kmh, 1)}\n km/h\n \n \n ${moment.utc((this as any).point.duration_ms).format('HH:mm:ss')}\n  \n \n \n
    \n
    5
    \n
    \n
    \n ${Math.round(100 * durationInMs((this as any).point.heart_rate_zones[4].in_zone) / (this as any).point.duration_ms)}%\n ${moment.utc(durationInMs((this as any).point.heart_rate_zones[4].in_zone)).format('HH:mm:ss')}\n
    \n
    \n
    \n
    \n
    4
    \n
    \n
    \n ${Math.round(100 * durationInMs((this as any).point.heart_rate_zones[3].in_zone) / (this as any).point.duration_ms)}%\n ${moment.utc(durationInMs((this as any).point.heart_rate_zones[3].in_zone)).format('HH:mm:ss')}\n
    \n
    \n
    \n
    \n
    3
    \n
    \n
    \n ${Math.round(100 * durationInMs((this as any).point.heart_rate_zones[2].in_zone) / (this as any).point.duration_ms)}%\n ${moment.utc(durationInMs((this as any).point.heart_rate_zones[2].in_zone)).format('HH:mm:ss')}\n
    \n
    \n
    \n
    \n
    2
    \n
    \n
    \n ${Math.round(100 * durationInMs((this as any).point.heart_rate_zones[1].in_zone) / (this as any).point.duration_ms)}%\n ${moment.utc(durationInMs((this as any).point.heart_rate_zones[1].in_zone)).format('HH:mm:ss')}\n
    \n
    \n
    \n
    \n
    1
    \n
    \n
    \n ${Math.round(100 * durationInMs((this as any).point.heart_rate_zones[0].in_zone) / (this as any).point.duration_ms)}%\n ${moment.utc(durationInMs((this as any).point.heart_rate_zones[0].in_zone)).format('HH:mm:ss')}\n
    \n
    \n
    \n \n \n
    \n
    5
    \n
    \n
    \n ${Math.round(100 * (this as any).point.speed_zones_kmh[4].in_zone_meters / (this as any).point.distance_meters)}%\n ${round((this as any).point.speed_zones_kmh[4].in_zone_meters / 1000, 3)}\n
    \n
    \n
    \n
    \n
    4
    \n
    \n
    \n ${Math.round(100 * (this as any).point.speed_zones_kmh[3].in_zone_meters / (this as any).point.distance_meters)}%\n ${round((this as any).point.speed_zones_kmh[3].in_zone_meters / 1000, 3)}\n
    \n
    \n
    \n
    \n
    3
    \n
    \n
    \n ${Math.round(100 * (this as any).point.speed_zones_kmh[2].in_zone_meters / (this as any).point.distance_meters)}%\n ${round((this as any).point.speed_zones_kmh[2].in_zone_meters / 1000, 3)}\n
    \n
    \n
    \n
    \n
    2
    \n
    \n
    \n ${Math.round(100 * (this as any).point.speed_zones_kmh[1].in_zone_meters / (this as any).point.distance_meters)}%\n ${round((this as any).point.speed_zones_kmh[1].in_zone_meters / 1000, 3)}\n
    \n
    \n
    \n
    \n
    1
    \n
    \n
    \n ${Math.round(100 * (this as any).point.speed_zones_kmh[0].in_zone_meters / (this as any).point.distance_meters)}%\n ${round((this as any).point.speed_zones_kmh[0].in_zone_meters / 1000, 3)}\n
    \n
    \n
    \n \n \n \n
    \n \n `\n }\n return `${(this as any).point.formatted_date}
    \n ${(this as any).series.name} ${variable && I18n.t(`visualizations.question_mapping.${QUESTION_MAPPING[variable]}`)}: ${(this as any).point.y}`\n },\n useHTML: true\n },\n xAxis: {\n title: {\n text: ''\n },\n type: 'datetime',\n min: !startDate ? null : startDate.getTime(),\n max: !endDate ? null : endDate.getTime(),\n dateTimeLabelFormats: {\n day: '%d %b'\n },\n plotBands: mondays\n },\n yAxis: [{\n title: {\n text: variable && I18n.t(`visualizations.question_mapping.${QUESTION_MAPPING[variable]}`)\n },\n min: showZScores === NONE ? 0 : null,\n plotLines: showAverage && [{\n color: '#FF0000',\n width: 2,\n value: allAvg\n }],\n plotBands: yPlotBands\n }, {\n title: {\n text: polarVariable && I18n.t(`visualizations.question_mapping.polar.${polarVariable}`)\n },\n min: showZScores === NONE ? 0 : null,\n opposite: true,\n linkedTo: showZScores !== NONE ? 0 : undefined\n }],\n series: allSeries\n }}\n />\n

    {I18n.t('visualizations.labels.zoom')}

    \n \n )}\n \n \n )\n}\n\n// Converts a string like 'PT15M13S' to milliseconds\nconst durationInMs = (duration: string) => {\n if (!duration) {\n return 0\n }\n const match = duration.match(/PT(\\d+H)?(\\d+M)?(\\d+S)?/)\n if (!match) {\n return 0\n }\n const hours = (parseInt(match[1]) || 0)\n const minutes = (parseInt(match[2]) || 0)\n const seconds = (parseInt(match[3]) || 0)\n return 1000 * (hours * 3600 + minutes * 60 + seconds)\n}\n\nexport default PolarDashboard\n","import React from 'react'\nimport { WithSession } from '../session/SessionProvider'\nimport { withCookies } from 'react-cookie'\nimport classNames from 'classnames'\nimport LoggedInRouter from '../router/LoggedInRouter'\nimport LoggedOutRouter from '../router/LoggedOutRouter'\nimport FlashMessages from '../flashmessages/FlashMessages'\nimport MyReactTooltip from '../MyReactTooltip'\n\nclass LoginWrapper extends React.Component {\n render () {\n return (\n <>\n \n \n
    \n {this.props.isLoggedIn && (\n \n )}\n\n {!this.props.isLoggedIn && }\n
    \n \n )\n }\n}\n\nexport default WithSession(withCookies(LoginWrapper))\n","import React, { useState } from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport FillOutSessionRoutes from './FillOutSessionRoutes'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport I18n from 'i18n'\nimport { I18nLoader } from '../I18nLoader'\n\nconst useForceUpdate = () => {\n const [, setValue] = useState(0) // integer state\n return () => setValue(value => value + 1) // update the state to force render\n}\n\nconst FillOutSessionController = props => {\n const [sessionToken, setSessionToken] = useState(undefined)\n const [teams, setTeams] = useState([])\n const [aud, setAud] = useState(undefined)\n const [player, setPlayer] = useState(undefined)\n const [weekday, setWeekday] = useState(undefined)\n const [trainingMoment, setTrainingMoment] = useState(undefined)\n const [trainingType, setTrainingType] = useState(undefined)\n const [addExtraQuestions, setAddExtraQuestions] = useState(undefined)\n const [disabledQuestionnaireKeys, setDisabledQuestionnaireKeys] = useState([])\n const [questionnaireCompleted, setQuestionnaireCompleted] = useState(false)\n\n const forceUpdate = useForceUpdate()\n\n const fetchSession = invitationTokenId => {\n setAud(invitationTokenId)\n const result = getSession(invitationTokenId)\n result\n .then(res => {\n I18nLoader.loadFromGiven(res.data.player.locale)\n setSessionToken(res.headers.authorization)\n setPlayer(res.data.player)\n setWeekday(res.data.weekday)\n setTrainingMoment(res.data.training_moment)\n setTrainingType(res.data.training_type)\n setAddExtraQuestions(res.data.add_extra_questions)\n setDisabledQuestionnaireKeys(res.data.disabled_questionnaire_keys)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const getSession = invitationTokenId => {\n return axios.get(`/api/v1/fill_out_sessions/${invitationTokenId}`)\n }\n\n const setLocale = newLocale => {\n const player = { locale: newLocale }\n axios({\n method: 'PATCH',\n url: '/api/v1/locales/set_locale',\n data: { player },\n headers: { Authorization: sessionToken, 'JWT-AUD': aud }\n }).then(res => {\n I18nLoader.loadFromGiven(res.data.locale)\n forceUpdate()\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const fetchTeams = () => {\n const result = getTeams()\n result\n .then(res => { setTeams(res.data) })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const getTeams = () => {\n return axios.get('/api/v1/teams', { headers: { Authorization: sessionToken, 'JWT-AUD': aud } })\n }\n\n const handleQuestionnaireCompletion = (_cPlayer, values, cb) => {\n const response = {\n opened_at: values.openedAt,\n completed_at: values.completedAt,\n contents: values\n }\n axios({\n method: 'POST',\n url: '/api/v1/responses/create_from_fill_out_session',\n data: { response },\n headers: { Authorization: sessionToken, 'JWT-AUD': aud }\n }).then((_response) => {\n props.flashMessages.push(\n I18n.t('teampro.player.answer_stored'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO\n )\n window.scrollTo(0, 0)\n setQuestionnaireCompleted(true)\n }).catch(err => {\n console.error('Error creating response:')\n props.flashMessages.push(\n I18n.t('teampro.player.something_went_wrong_saving_questionnaire'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.ERROR\n )\n console.log(err)\n if (cb) cb()\n })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(FillOutSessionController)\n","import React from 'react'\nimport I18n from 'i18n'\n\n// This can be extended to other actions (like edit, leave group ...)\nconst validActions = Object.freeze(['delete', 'leave', 'reject_connection', 'reject_group', 'delete_connection', 'delete_polar_token', 'delete_group', 'stop_protocol', 'custom'])\n\nfunction validateAction (action, actionType) {\n const defaultAction = validActions[0]\n if (validActions.indexOf(action) < 0) {\n console.warn(`Action '${action}' is not recognized, defaulting to '${defaultAction}'`)\n action = defaultAction\n }\n return I18n.t(`components.confirmation_dialog.${actionType}.${action}`)\n}\n\nclass ConfirmationDialog extends React.Component {\n onConfirmation () {\n this.props.onConfirmation()\n this.props.onClose()\n }\n\n render () {\n const actionBefore = validateAction(this.props.action, 'action_before')\n const actionAfter = validateAction(this.props.action, 'action_after')\n let targetString = `'${this.props.target}'`\n if (this.props.noQuotes) {\n targetString = `${this.props.target}`\n }\n return (\n
    \n
    \n
    \n {`${I18n.t('components.confirmation_dialog.title')} ${actionBefore} ${targetString}${actionAfter.length > 0 ? ` ${actionAfter}` : ''}?`}\n
    \n
    \n \n {I18n.t('components.confirmation_dialog.confirm')}\n \n \n {I18n.t('components.confirmation_dialog.cancel')}\n \n
    \n
    \n
    \n )\n }\n}\n\nexport default ConfirmationDialog\n","import React, { useState, useEffect } from 'react'\nimport I18n from 'i18n'\nimport { useHistory } from 'react-router-dom'\nimport { WithSession } from '../session/SessionProvider'\n\n// Note: this is not safe to anyone with a web inspector view\nconst EnterPinCode = (props) => {\n const [pinCode, setPinCode] = useState('')\n const history = useHistory()\n\n useEffect(() => {\n window.M.updateTextFields()\n props.verify('')\n })\n\n useEffect(() => {\n if (pinCode.length === 0) return\n\n props.verify(pinCode)\n }, [pinCode])\n\n const goBack = () => {\n if (props.goBack) {\n props.goBack()\n } else {\n history.goBack()\n }\n }\n\n return (\n <>\n
    \n
    \n setPinCode(e.target.value)} />\n \n {I18n.t('pincode.forgot')}\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n )\n}\n\nexport default WithSession(EnterPinCode)\n","import React, { useEffect, useState } from 'react'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport moment from 'moment'\nimport { fullMomentDateFormatWithTime } from '../../common/Constants'\nimport { translateTrainingMoment, translateTrainingType, translateWeekday } from '../../teampro/Utils'\nimport { INDEPENDENT_OF_A_TRAINING } from '../../teampro/Constants'\nimport Spinner from '../../common/Spinner'\nimport Pagination from '../../common/Pagination'\nimport CalendarMonthView from 'react-calendar-month-view'\nimport { smartRounding } from '../../common/Math'\nimport ReactTooltip from 'react-tooltip'\nimport MyReactTooltip from '../../MyReactTooltip'\nimport TrainingSessionResultsTable from 'components/training_sessions/layout/TrainingSessionResultsTable'\n\nconst TrainingSessionsPast = (props) => {\n const page = new URLSearchParams(props.location.search).get('page') || '1'\n const [calendarView, setCalendarView] = useState(false)\n\n useEffect(() => {\n props.fetchPastTrainingSessions(page)\n }, [page])\n\n useEffect(() => {\n if (props.month) handleMonthChange()\n }, [props.month])\n\n useEffect(() => {\n setTimeout(() => { ReactTooltip.rebuild() }, 200)\n }, [calendarView])\n\n const editTrainingSession = id => {\n props.history.push(`/training-sessions/${id}/edit`)\n }\n\n const destroyTrainingSession = id => {\n props.destroyTrainingSession(id).then(() => {\n props.flashMessages.push(\n I18n.t('training_sessions.flash_messages.training_session_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchPastTrainingSessions(page)\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const showDestroyTrainingSessionDialog = id => {\n props.setConfirmationDialog({\n onConfirmation: () => destroyTrainingSession(id),\n target: I18n.t('training_sessions.overview.destroy_training_session_prompt'),\n action: 'custom',\n noQuotes: true\n })\n }\n\n const trainingSessionTimeString = trainingSession => {\n if (trainingSession.scheduled_at) {\n return moment(trainingSession.scheduled_at).format(fullMomentDateFormatWithTime)\n }\n\n return moment(trainingSession.created_at).format(fullMomentDateFormatWithTime)\n }\n\n const trainingTimeString = trainingSession => {\n if (trainingSession.scheduled_at) {\n return moment(trainingSession.scheduled_at).format('HH:mm')\n }\n\n return moment(trainingSession.created_at).format('HH:mm')\n }\n\n const trainingSessionString = trainingSession => {\n const timeString = trainingSessionTimeString(trainingSession)\n if (trainingSession.invitation_state === 'new') {\n return (\n <>\n {timeString}{' '}\n schedule\n \n )\n }\n const notFilledOutString = completionString(trainingSession)\n return (\n <>\n {timeString}{' '}\n {notFilledOutString && {notFilledOutString}}\n \n )\n }\n\n const completionString = trainingSession => {\n const total = trainingSession.fill_out_sessions.length\n const completed = trainingSession.fill_out_sessions.filter(fillOutSession => fillOutSession.completed_at).length\n if (trainingSession.invitation_state !== 'finished_processing' || total === 0 || total === completed) {\n return ''\n }\n const notFilledOut = total - completed\n const notFilledOutPerc = smartRounding(100 * notFilledOut / total, 1)\n return `${I18n.t('training_sessions.overview.not_filled_out')}: ${notFilledOut} (${notFilledOutPerc}%)`\n }\n\n const trainingMomentString = trainingSession => {\n return translateTrainingMoment(trainingSession.training_moment)\n }\n\n const trainingTypeString = trainingSession => {\n return translateTrainingType(trainingSession.training_type, props.teams)\n }\n\n const trainingDayString = trainingSession => {\n return translateWeekday(trainingSession.weekday)\n }\n\n const extraQuestionsString = trainingSession => {\n if (trainingSession.add_extra_questions && trainingSession.training_moment && trainingSession.training_moment !== INDEPENDENT_OF_A_TRAINING) {\n return + {I18n.t('teampro.manager.extra_questions')}\n }\n return <>\n }\n\n const playerList = trainingSession => {\n if (!trainingSession.fill_out_sessions || trainingSession.fill_out_sessions.length === 0) return undefined\n\n return `
    ${trainingSession.fill_out_sessions.map(fillOutSession => fillOutSession.player.name).join(', ')}
    `\n }\n\n const renderDay = day => {\n if (props.trainingSessionsByDates === undefined) return <>\n\n const dayMoment = moment(day)\n const beginDay = moment(dayMoment.startOf('day').toDate())\n const endDay = moment(dayMoment.endOf('day').toDate())\n\n const onThisDay = props.trainingSessionsByDates.filter(trainingSession => {\n const trainingSessionDate = moment(trainingSession.scheduled_at || trainingSession.created_at)\n return trainingSessionDate >= beginDay && trainingSessionDate <= endDay\n })\n if (onThisDay.length === 0) return null\n return (\n
    \n {onThisDay.slice(0, 4).map(trainingSession => (\n props.history.push(`/training-sessions/${trainingSession.id}/edit`)}\n >\n {trainingTimeString(trainingSession)}{' '}\n \n {trainingMomentString(trainingSession)}, {trainingTypeString(trainingSession)}\n \n
    \n ))}\n
    \n )\n }\n\n const handleMonthChange = () => {\n const monthBegin = moment(props.month).startOf('month').toDate()\n const monthEnd = moment(props.month).endOf('month').toDate()\n props.fetchPastTrainingSessionsByDates(monthBegin, monthEnd)\n }\n\n return (\n <>\n
      \n
    • \n

      {I18n.t('training_sessions.tabs.past.title')} {props.pageInfo && props.pageInfo.current_page !== 1 && !calendarView && `- ${I18n.t('page')} ${props.pageInfo.current_page}`}

      \n {props.trainingSessions !== undefined && props.trainingSessions.length > 0 && (\n
      setCalendarView(!calendarView)}>\n {I18n.t('training_sessions.overview.switch_to')}\n {calendarView && dehaze}\n {!calendarView && date_range}\n
      \n )}\n
    • \n {(props.trainingSessions === undefined || props.trainingSessionsByDates === undefined) && (\n \n )}\n {props.trainingSessions !== undefined && props.trainingSessions.length === 0 && (\n
      \n

      {I18n.t('training_sessions.overview.there_are_no_training_sessions')}

      \n
      \n )}\n
      \n props.setMonth(startDate)}\n dayTextStyle={{\n width: '25px',\n height: '25px',\n margin: '0',\n left: 'unset',\n top: '0',\n right: '0'\n }}\n inactiveDayStyle={{\n backgroundColor: '#F8F8F8'\n }}\n activeDayStyle={{\n backgroundColor: '#F0F0F0',\n borderWidth: '0'\n }}\n />\n \n
      \n
      \n {props.trainingSessions !== undefined && props.trainingSessions.length > 0 && (\n props.trainingSessions.map(trainingSession => {\n return (\n
    • \n
      \n editTrainingSession(trainingSession.id)}\n >\n {trainingSessionString(trainingSession)}\n

      \n {trainingTypeString(trainingSession)}{' '}\n {trainingDayString(trainingSession)}\n {extraQuestionsString(trainingSession)}
      \n {trainingMomentString(trainingSession)}\n

      \n
      \n {\n e.preventDefault()\n editTrainingSession(trainingSession.id)\n }}\n >\n edit\n \n {\n e.preventDefault()\n showDestroyTrainingSessionDialog(trainingSession.id)\n }}\n >\n delete\n \n editTrainingSession(trainingSession.id)}\n >\n \n
    • \n
    \n \n )\n }))}\n
    \n \n
    \n {props.trainingSessions !== undefined && (\n \n )}\n
    \n \n )\n}\n\nexport default WithModal(WithFlashMessages(TrainingSessionsPast))\n","import React from 'react'\nimport NotFoundMessage from './NotFoundMessage'\n\nconst NotFoundContext = React.createContext()\n\nexport default class NotFoundProvider extends React.Component {\n constructor (props) {\n super(props)\n this.state = { registeredComponents: new Set() }\n }\n\n register (componentSlug) {\n const set = this.state.registeredComponents\n set.add(componentSlug)\n this.setState({ registeredComponents: set })\n }\n\n deregister (componentSlug) {\n const set = this.state.registeredComponents\n set.delete(componentSlug)\n this.setState({ registeredComponents: set })\n }\n\n render () {\n return (\n \n {this.props.children}\n {this.state.registeredComponents.size === 0 && ()}\n \n )\n }\n}\n\nexport const WithNotFound = Component => props => {\n return (\n \n {(context) => ()}\n \n )\n}\n\nclass NotFoundCls extends React.Component {\n componentDidMount () {\n this.props.deregister(this.props.componentSlug)\n }\n\n componentWillUnmount () {\n this.props.register(this.props.componentSlug)\n }\n\n render () {\n /* do not render anything here. We just want to know about the components' lifecyle (did mount and unmount) */\n return (<>)\n }\n}\n\nexport const NotFound = WithNotFound(NotFoundCls)\n","import React from 'react'\nimport { MyAxios as axios } from '../MyAxios'\nimport PasswordRoutes from './PasswordRoutes'\nimport { WithSession } from '../session/SessionProvider'\nimport { WithFlashMessages } from '../flashmessages/FlashMessageProvider'\nimport I18n from 'i18n'\nimport { capitalizeFirstLetter, smartTranslate } from '../common/Utils'\n\nconst PasswordController = props => {\n const handleUpdatePassword = (oldPassword, newPassword, confirmationPassword) => {\n axios({\n method: 'PUT',\n url: '/api/v1/signup',\n headers: { ...props.authorizationHeaders() },\n data: {\n user: {\n current_password: oldPassword,\n password: newPassword,\n password_confirmation: confirmationPassword\n }\n }\n }).then(_res => {\n props.flashMessages.push(I18n.t('profile.edit.reset_password.success'), props.flashMessages.duration.SHORT, props.flashMessages.levels.INFO)\n }).catch(err => {\n let errorTitles\n if (Array.isArray(err.response.data.errors)) {\n errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n } else {\n errorTitles = Object.entries(err.response.data.errors).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n }\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const handleUpdateUser = (user) => {\n axios.patch('/api/v1/users', { user }, { headers: { ...props.authorizationHeaders() } }).then(_res => {\n props.flashMessages.push(I18n.t('profile.edit.update_success'), props.flashMessages.duration.SHORT, props.flashMessages.levels.INFO)\n props.refetchSession()\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const handleRegenerateApiToken = () => {\n axios({\n method: 'POST',\n url: '/api/v1/users/regenerate_api_token',\n headers: { ...props.authorizationHeaders() }\n }).then(_res => {\n props.flashMessages.push(I18n.t('profile.edit.api_token_success'), props.flashMessages.duration.SHORT, props.flashMessages.levels.INFO)\n props.refetchSession()\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const handleCreateToken = (subToken, cb) => {\n axios({\n method: 'POST',\n url: '/api/v1/sub_tokens',\n headers: { ...props.authorizationHeaders() },\n data: subToken\n }).then(res => {\n props.flashMessages.push(I18n.t('sub_tokens.flash_messages.sub_token_created'), props.flashMessages.duration.SHORT, props.flashMessages.levels.INFO)\n props.refetchSession()\n if (cb) {\n cb(res.data.result[0].instance)\n }\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const handleDestroyToken = id => {\n axios.delete(`/api/v1/sub_tokens/${id}`,\n {\n headers: { ...props.authorizationHeaders() }\n }).then(() => {\n props.flashMessages.push(\n I18n.t('sub_tokens.flash_messages.sub_token_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.refetchSession()\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const handleDestroyPolarToken = () => {\n axios.delete('/api/v1/polar_tokens',\n {\n headers: { ...props.authorizationHeaders() }\n }).then(() => {\n props.flashMessages.push(\n I18n.t('flashmessages.polar_token.destroy.successful'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.refetchSession()\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n return (\n \n )\n}\n\nexport default WithFlashMessages(WithSession(PasswordController))\n","import React from 'react'\nimport I18n from 'i18n'\n\nexport default class DisableConfirm extends React.Component {\n render () {\n return (\n <>\n

    {I18n.t('components.2fa.disable.success')}

    \n

    \n this.props.transition()}\n className='btn waves-effect waves-light text-background-color'\n >\n {I18n.t('components.2fa.disable.confirm')}\n \n

    \n \n )\n }\n}\n","import React from 'react'\nimport { Route } from 'react-router'\nimport EditTrainingSession from './layout/EditTrainingSession'\nimport TrainingSessionsOverview from './layout/TrainingSessionsOverview'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\n\nconst TrainingSessionsRoutes = props => {\n const { overviewProps, editProps } = props\n return (\n \n ()}\n />\n ()}\n />\n \n )\n}\n\nexport default TrainingSessionsRoutes\n","// I18n.js\n// =======\n//\n// This small library provides the Rails I18n API on the Javascript.\n// You don't actually have to use Rails (or even Ruby) to use I18n.js.\n// Just make sure you export all translations in an object like this:\n//\n// I18n.translations.en = {\n// hello: \"Hello World\"\n// };\n//\n// See tests for specific formatting like numbers and dates.\n//\n\n// Using UMD pattern from\n// https://github.com/umdjs/umd#regular-module\n// `returnExports.js` version\n;(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(\"i18n\", function(){ return factory(root);});\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory(root);\n } else {\n // Browser globals (root is window)\n root.I18n = factory(root);\n }\n}(this, function(global) {\n \"use strict\";\n\n // Use previously defined object if exists in current scope\n var I18n = global && global.I18n || {};\n\n // Just cache the Array#slice function.\n var slice = Array.prototype.slice;\n\n // Apply number padding.\n var padding = function(number) {\n return (\"0\" + number.toString()).substr(-2);\n };\n\n // Improved toFixed number rounding function with support for unprecise floating points\n // JavaScript's standard toFixed function does not round certain numbers correctly (for example 0.105 with precision 2).\n var toFixed = function(number, precision) {\n return decimalAdjust('round', number, -precision).toFixed(precision);\n };\n\n // Is a given variable an object?\n // Borrowed from Underscore.js\n var isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object'\n };\n\n var isFunction = function(func) {\n var type = typeof func;\n return type === 'function'\n };\n\n // Check if value is different than undefined and null;\n var isSet = function(value) {\n return typeof(value) !== 'undefined' && value !== null;\n };\n\n // Is a given value an array?\n // Borrowed from Underscore.js\n var isArray = function(val) {\n if (Array.isArray) {\n return Array.isArray(val);\n }\n return Object.prototype.toString.call(val) === '[object Array]';\n };\n\n var isString = function(val) {\n return typeof val === 'string' || Object.prototype.toString.call(val) === '[object String]';\n };\n\n var isNumber = function(val) {\n return typeof val === 'number' || Object.prototype.toString.call(val) === '[object Number]';\n };\n\n var isBoolean = function(val) {\n return val === true || val === false;\n };\n\n var isNull = function(val) {\n return val === null;\n };\n\n var decimalAdjust = function(type, value, exp) {\n // If the exp is undefined or zero...\n if (typeof exp === 'undefined' || +exp === 0) {\n return Math[type](value);\n }\n value = +value;\n exp = +exp;\n // If the value is not a number or the exp is not an integer...\n if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {\n return NaN;\n }\n // Shift\n value = value.toString().split('e');\n value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));\n // Shift back\n value = value.toString().split('e');\n return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));\n };\n\n var lazyEvaluate = function(message, scope) {\n if (isFunction(message)) {\n return message(scope);\n } else {\n return message;\n }\n };\n\n var merge = function (dest, obj) {\n var key, value;\n for (key in obj) if (obj.hasOwnProperty(key)) {\n value = obj[key];\n if (isString(value) || isNumber(value) || isBoolean(value) || isArray(value) || isNull(value)) {\n dest[key] = value;\n } else {\n if (dest[key] == null) dest[key] = {};\n merge(dest[key], value);\n }\n }\n return dest;\n };\n\n // Set default days/months translations.\n var DATE = {\n day_names: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n , abbr_day_names: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"]\n , month_names: [null, \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n , abbr_month_names: [null, \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n , meridian: [\"AM\", \"PM\"]\n };\n\n // Set default number format.\n var NUMBER_FORMAT = {\n precision: 3\n , separator: \".\"\n , delimiter: \",\"\n , strip_insignificant_zeros: false\n };\n\n // Set default currency format.\n var CURRENCY_FORMAT = {\n unit: \"$\"\n , precision: 2\n , format: \"%u%n\"\n , sign_first: true\n , delimiter: \",\"\n , separator: \".\"\n };\n\n // Set default percentage format.\n var PERCENTAGE_FORMAT = {\n unit: \"%\"\n , precision: 3\n , format: \"%n%u\"\n , separator: \".\"\n , delimiter: \"\"\n };\n\n // Set default size units.\n var SIZE_UNITS = [null, \"kb\", \"mb\", \"gb\", \"tb\"];\n\n // Other default options\n var DEFAULT_OPTIONS = {\n // Set default locale. This locale will be used when fallback is enabled and\n // the translation doesn't exist in a particular locale.\n defaultLocale: \"en\"\n // Set the current locale to `en`.\n , locale: \"en\"\n // Set the translation key separator.\n , defaultSeparator: \".\"\n // Set the placeholder format. Accepts `{{placeholder}}` and `%{placeholder}`.\n , placeholder: /(?:\\{\\{|%\\{)(.*?)(?:\\}\\}?)/gm\n // Set if engine should fallback to the default locale when a translation\n // is missing.\n , fallbacks: false\n // Set the default translation object.\n , translations: {}\n // Set missing translation behavior. 'message' will display a message\n // that the translation is missing, 'guess' will try to guess the string\n , missingBehaviour: 'message'\n // if you use missingBehaviour with 'message', but want to know that the\n // string is actually missing for testing purposes, you can prefix the\n // guessed string by setting the value here. By default, no prefix!\n , missingTranslationPrefix: ''\n };\n\n // Set default locale. This locale will be used when fallback is enabled and\n // the translation doesn't exist in a particular locale.\n I18n.reset = function() {\n var key;\n for (key in DEFAULT_OPTIONS) {\n this[key] = DEFAULT_OPTIONS[key];\n }\n };\n\n // Much like `reset`, but only assign options if not already assigned\n I18n.initializeOptions = function() {\n var key;\n for (key in DEFAULT_OPTIONS) if (!isSet(this[key])) {\n this[key] = DEFAULT_OPTIONS[key];\n }\n };\n I18n.initializeOptions();\n\n // Return a list of all locales that must be tried before returning the\n // missing translation message. By default, this will consider the inline option,\n // current locale and fallback locale.\n //\n // I18n.locales.get(\"de-DE\");\n // // [\"de-DE\", \"de\", \"en\"]\n //\n // You can define custom rules for any locale. Just make sure you return a array\n // containing all locales.\n //\n // // Default the Wookie locale to English.\n // I18n.locales[\"wk\"] = function(locale) {\n // return [\"en\"];\n // };\n //\n I18n.locales = {};\n\n // Retrieve locales based on inline locale, current locale or default to\n // I18n's detection.\n I18n.locales.get = function(locale) {\n var result = this[locale] || this[I18n.locale] || this[\"default\"];\n\n if (isFunction(result)) {\n result = result(locale);\n }\n\n if (isArray(result) === false) {\n result = [result];\n }\n\n return result;\n };\n\n // The default locale list.\n I18n.locales[\"default\"] = function(locale) {\n var locales = []\n , list = []\n ;\n\n // Handle the inline locale option that can be provided to\n // the `I18n.t` options.\n if (locale) {\n locales.push(locale);\n }\n\n // Add the current locale to the list.\n if (!locale && I18n.locale) {\n locales.push(I18n.locale);\n }\n\n // Add the default locale if fallback strategy is enabled.\n if (I18n.fallbacks && I18n.defaultLocale) {\n locales.push(I18n.defaultLocale);\n }\n\n // Locale code format 1:\n // According to RFC4646 (https://www.ietf.org/rfc/rfc4646.txt)\n // language codes for Traditional Chinese should be `zh-Hant`\n //\n // But due to backward compatibility\n // We use older version of IETF language tag\n // @see https://www.w3.org/TR/html401/struct/dirlang.html\n // @see https://en.wikipedia.org/wiki/IETF_language_tag\n //\n // Format: `language-code = primary-code ( \"-\" subcode )*`\n //\n // primary-code uses ISO639-1\n // @see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n // @see https://www.iso.org/iso/home/standards/language_codes.htm\n //\n // subcode uses ISO 3166-1 alpha-2\n // @see https://en.wikipedia.org/wiki/ISO_3166\n // @see https://www.iso.org/iso/country_codes.htm\n //\n // @note\n // subcode can be in upper case or lower case\n // defining it in upper case is a convention only\n\n\n // Locale code format 2:\n // Format: `code = primary-code ( \"-\" region-code )*`\n // primary-code uses ISO 639-1\n // script-code uses ISO 15924\n // region-code uses ISO 3166-1 alpha-2\n // Example: zh-Hant-TW, en-HK, zh-Hant-CN\n //\n // It is similar to RFC4646 (or actually the same),\n // but seems to be limited to language, script, region\n\n // Compute each locale with its country code.\n // So this will return an array containing\n // `de-DE` and `de`\n // or\n // `zh-hans-tw`, `zh-hans`, `zh`\n // locales.\n locales.forEach(function(locale) {\n var localeParts = locale.split(\"-\");\n var firstFallback = null;\n var secondFallback = null;\n if (localeParts.length === 3) {\n firstFallback = [\n localeParts[0],\n localeParts[1]\n ].join(\"-\");\n secondFallback = localeParts[0];\n }\n else if (localeParts.length === 2) {\n firstFallback = localeParts[0];\n }\n\n if (list.indexOf(locale) === -1) {\n list.push(locale);\n }\n\n if (! I18n.fallbacks) {\n return;\n }\n\n [\n firstFallback,\n secondFallback\n ].forEach(function(nullableFallbackLocale) {\n // We don't want null values\n if (typeof nullableFallbackLocale === \"undefined\") { return; }\n if (nullableFallbackLocale === null) { return; }\n // We don't want duplicate values\n //\n // Comparing with `locale` first is faster than\n // checking whether value's presence in the list\n if (nullableFallbackLocale === locale) { return; }\n if (list.indexOf(nullableFallbackLocale) !== -1) { return; }\n\n list.push(nullableFallbackLocale);\n });\n });\n\n // No locales set? English it is.\n if (!locales.length) {\n locales.push(\"en\");\n }\n\n return list;\n };\n\n // Hold pluralization rules.\n I18n.pluralization = {};\n\n // Return the pluralizer for a specific locale.\n // If no specify locale is found, then I18n's default will be used.\n I18n.pluralization.get = function(locale) {\n return this[locale] || this[I18n.locale] || this[\"default\"];\n };\n\n // The default pluralizer rule.\n // It detects the `zero`, `one`, and `other` scopes.\n I18n.pluralization[\"default\"] = function(count) {\n switch (count) {\n case 0: return [\"zero\", \"other\"];\n case 1: return [\"one\"];\n default: return [\"other\"];\n }\n };\n\n // Return current locale. If no locale has been set, then\n // the current locale will be the default locale.\n I18n.currentLocale = function() {\n return this.locale || this.defaultLocale;\n };\n\n // Check if value is different than undefined and null;\n I18n.isSet = isSet;\n\n // Find and process the translation using the provided scope and options.\n // This is used internally by some functions and should not be used as an\n // public API.\n I18n.lookup = function(scope, options) {\n options = options || {};\n\n var locales = this.locales.get(options.locale).slice()\n , locale\n , scopes\n , fullScope\n , translations\n ;\n\n fullScope = this.getFullScope(scope, options);\n\n while (locales.length) {\n locale = locales.shift();\n scopes = fullScope.split(options.separator || this.defaultSeparator);\n translations = this.translations[locale];\n\n if (!translations) {\n continue;\n }\n while (scopes.length) {\n translations = translations[scopes.shift()];\n\n if (translations === undefined || translations === null) {\n break;\n }\n }\n\n if (translations !== undefined && translations !== null) {\n return translations;\n }\n }\n\n if (isSet(options.defaultValue)) {\n return lazyEvaluate(options.defaultValue, scope);\n }\n };\n\n // lookup pluralization rule key into translations\n I18n.pluralizationLookupWithoutFallback = function(count, locale, translations) {\n var pluralizer = this.pluralization.get(locale)\n , pluralizerKeys = pluralizer(count)\n , pluralizerKey\n , message;\n\n if (translations && isObject(translations)) {\n while (pluralizerKeys.length) {\n pluralizerKey = pluralizerKeys.shift();\n if (isSet(translations[pluralizerKey])) {\n message = translations[pluralizerKey];\n break;\n }\n }\n }\n\n return message;\n };\n\n // Lookup dedicated to pluralization\n I18n.pluralizationLookup = function(count, scope, options) {\n options = options || {};\n var locales = this.locales.get(options.locale).slice()\n , locale\n , scopes\n , translations\n , message\n ;\n scope = this.getFullScope(scope, options);\n\n while (locales.length) {\n locale = locales.shift();\n scopes = scope.split(options.separator || this.defaultSeparator);\n translations = this.translations[locale];\n\n if (!translations) {\n continue;\n }\n\n while (scopes.length) {\n translations = translations[scopes.shift()];\n if (!isObject(translations)) {\n break;\n }\n if (scopes.length === 0) {\n message = this.pluralizationLookupWithoutFallback(count, locale, translations);\n }\n }\n if (typeof message !== \"undefined\" && message !== null) {\n break;\n }\n }\n\n if (typeof message === \"undefined\" || message === null) {\n if (isSet(options.defaultValue)) {\n if (isObject(options.defaultValue)) {\n message = this.pluralizationLookupWithoutFallback(count, options.locale, options.defaultValue);\n } else {\n message = options.defaultValue;\n }\n translations = options.defaultValue;\n }\n }\n\n return { message: message, translations: translations };\n };\n\n // Rails changed the way the meridian is stored.\n // It started with `date.meridian` returning an array,\n // then it switched to `time.am` and `time.pm`.\n // This function abstracts this difference and returns\n // the correct meridian or the default value when none is provided.\n I18n.meridian = function() {\n var time = this.lookup(\"time\");\n var date = this.lookup(\"date\");\n\n if (time && time.am && time.pm) {\n return [time.am, time.pm];\n } else if (date && date.meridian) {\n return date.meridian;\n } else {\n return DATE.meridian;\n }\n };\n\n // Merge serveral hash options, checking if value is set before\n // overwriting any value. The precedence is from left to right.\n //\n // I18n.prepareOptions({name: \"John Doe\"}, {name: \"Mary Doe\", role: \"user\"});\n // #=> {name: \"John Doe\", role: \"user\"}\n //\n I18n.prepareOptions = function() {\n var args = slice.call(arguments)\n , options = {}\n , subject\n ;\n\n while (args.length) {\n subject = args.shift();\n\n if (typeof(subject) != \"object\") {\n continue;\n }\n\n for (var attr in subject) {\n if (!subject.hasOwnProperty(attr)) {\n continue;\n }\n\n if (isSet(options[attr])) {\n continue;\n }\n\n options[attr] = subject[attr];\n }\n }\n\n return options;\n };\n\n // Generate a list of translation options for default fallbacks.\n // `defaultValue` is also deleted from options as it is returned as part of\n // the translationOptions array.\n I18n.createTranslationOptions = function(scope, options) {\n var translationOptions = [{scope: scope}];\n\n // Defaults should be an array of hashes containing either\n // fallback scopes or messages\n if (isSet(options.defaults)) {\n translationOptions = translationOptions.concat(options.defaults);\n }\n\n // Maintain support for defaultValue. Since it is always a message\n // insert it in to the translation options as such.\n if (isSet(options.defaultValue)) {\n translationOptions.push({ message: options.defaultValue });\n }\n\n return translationOptions;\n };\n\n // Translate the given scope with the provided options.\n I18n.translate = function(scope, options) {\n options = options || {};\n\n var translationOptions = this.createTranslationOptions(scope, options);\n\n var translation;\n var usedScope = scope;\n\n var optionsWithoutDefault = this.prepareOptions(options)\n delete optionsWithoutDefault.defaultValue\n\n // Iterate through the translation options until a translation\n // or message is found.\n var translationFound =\n translationOptions.some(function(translationOption) {\n if (isSet(translationOption.scope)) {\n usedScope = translationOption.scope;\n translation = this.lookup(usedScope, optionsWithoutDefault);\n } else if (isSet(translationOption.message)) {\n translation = lazyEvaluate(translationOption.message, scope);\n }\n\n if (translation !== undefined && translation !== null) {\n return true;\n }\n }, this);\n\n if (!translationFound) {\n return this.missingTranslation(scope, options);\n }\n\n if (typeof(translation) === \"string\") {\n translation = this.interpolate(translation, options);\n } else if (isArray(translation)) {\n translation = translation.map(function(t) {\n return (typeof(t) === \"string\" ? this.interpolate(t, options) : t);\n }, this);\n } else if (isObject(translation) && isSet(options.count)) {\n translation = this.pluralize(options.count, usedScope, options);\n }\n\n return translation;\n };\n\n // This function interpolates the all variables in the given message.\n I18n.interpolate = function(message, options) {\n if (message == null) {\n return message;\n }\n\n options = options || {};\n var matches = message.match(this.placeholder)\n , placeholder\n , value\n , name\n , regex\n ;\n\n if (!matches) {\n return message;\n }\n\n while (matches.length) {\n placeholder = matches.shift();\n name = placeholder.replace(this.placeholder, \"$1\");\n\n if (isSet(options[name])) {\n value = options[name].toString().replace(/\\$/gm, \"_#$#_\");\n } else if (name in options) {\n value = this.nullPlaceholder(placeholder, message, options);\n } else {\n value = this.missingPlaceholder(placeholder, message, options);\n }\n\n regex = new RegExp(placeholder.replace(/{/gm, \"\\\\{\").replace(/}/gm, \"\\\\}\"));\n message = message.replace(regex, value);\n }\n\n return message.replace(/_#\\$#_/g, \"$\");\n };\n\n // Pluralize the given scope using the `count` value.\n // The pluralized translation may have other placeholders,\n // which will be retrieved from `options`.\n I18n.pluralize = function(count, scope, options) {\n options = this.prepareOptions({count: String(count)}, options)\n var pluralizer, result;\n\n result = this.pluralizationLookup(count, scope, options);\n if (typeof result.translations === \"undefined\" || result.translations == null) {\n return this.missingTranslation(scope, options);\n }\n\n if (typeof result.message !== \"undefined\" && result.message != null) {\n return this.interpolate(result.message, options);\n }\n else {\n pluralizer = this.pluralization.get(options.locale);\n return this.missingTranslation(scope + '.' + pluralizer(count)[0], options);\n }\n };\n\n // Return a missing translation message for the given parameters.\n I18n.missingTranslation = function(scope, options) {\n //guess intended string\n if(this.missingBehaviour === 'guess'){\n //get only the last portion of the scope\n var s = scope.split('.').slice(-1)[0];\n //replace underscore with space && camelcase with space and lowercase letter\n return (this.missingTranslationPrefix.length > 0 ? this.missingTranslationPrefix : '') +\n s.replace(/_/g,' ').replace(/([a-z])([A-Z])/g,\n function(match, p1, p2) {return p1 + ' ' + p2.toLowerCase()} );\n }\n\n var localeForTranslation = (options != null && options.locale != null) ? options.locale : this.currentLocale();\n var fullScope = this.getFullScope(scope, options);\n var fullScopeWithLocale = [localeForTranslation, fullScope].join(options.separator || this.defaultSeparator);\n\n return '[missing \"' + fullScopeWithLocale + '\" translation]';\n };\n\n // Return a missing placeholder message for given parameters\n I18n.missingPlaceholder = function(placeholder, message, options) {\n return \"[missing \" + placeholder + \" value]\";\n };\n\n I18n.nullPlaceholder = function() {\n return I18n.missingPlaceholder.apply(I18n, arguments);\n };\n\n // Format number using localization rules.\n // The options will be retrieved from the `number.format` scope.\n // If this isn't present, then the following options will be used:\n //\n // - `precision`: `3`\n // - `separator`: `\".\"`\n // - `delimiter`: `\",\"`\n // - `strip_insignificant_zeros`: `false`\n //\n // You can also override these options by providing the `options` argument.\n //\n I18n.toNumber = function(number, options) {\n options = this.prepareOptions(\n options\n , this.lookup(\"number.format\")\n , NUMBER_FORMAT\n );\n\n var negative = number < 0\n , string = toFixed(Math.abs(number), options.precision).toString()\n , parts = string.split(\".\")\n , precision\n , buffer = []\n , formattedNumber\n , format = options.format || \"%n\"\n , sign = negative ? \"-\" : \"\"\n ;\n\n number = parts[0];\n precision = parts[1];\n\n while (number.length > 0) {\n buffer.unshift(number.substr(Math.max(0, number.length - 3), 3));\n number = number.substr(0, number.length -3);\n }\n\n formattedNumber = buffer.join(options.delimiter);\n\n if (options.strip_insignificant_zeros && precision) {\n precision = precision.replace(/0+$/, \"\");\n }\n\n if (options.precision > 0 && precision) {\n formattedNumber += options.separator + precision;\n }\n\n if (options.sign_first) {\n format = \"%s\" + format;\n }\n else {\n format = format.replace(\"%n\", \"%s%n\");\n }\n\n formattedNumber = format\n .replace(\"%u\", options.unit)\n .replace(\"%n\", formattedNumber)\n .replace(\"%s\", sign)\n ;\n\n return formattedNumber;\n };\n\n // Format currency with localization rules.\n // The options will be retrieved from the `number.currency.format` and\n // `number.format` scopes, in that order.\n //\n // Any missing option will be retrieved from the `I18n.toNumber` defaults and\n // the following options:\n //\n // - `unit`: `\"$\"`\n // - `precision`: `2`\n // - `format`: `\"%u%n\"`\n // - `delimiter`: `\",\"`\n // - `separator`: `\".\"`\n //\n // You can also override these options by providing the `options` argument.\n //\n I18n.toCurrency = function(number, options) {\n options = this.prepareOptions(\n options\n , this.lookup(\"number.currency.format\", options)\n , this.lookup(\"number.format\", options)\n , CURRENCY_FORMAT\n );\n\n return this.toNumber(number, options);\n };\n\n // Localize several values.\n // You can provide the following scopes: `currency`, `number`, or `percentage`.\n // If you provide a scope that matches the `/^(date|time)/` regular expression\n // then the `value` will be converted by using the `I18n.toTime` function.\n //\n // It will default to the value's `toString` function.\n //\n I18n.localize = function(scope, value, options) {\n options || (options = {});\n\n switch (scope) {\n case \"currency\":\n return this.toCurrency(value, options);\n case \"number\":\n scope = this.lookup(\"number.format\", options);\n return this.toNumber(value, scope);\n case \"percentage\":\n return this.toPercentage(value, options);\n default:\n var localizedValue;\n\n if (scope.match(/^(date|time)/)) {\n localizedValue = this.toTime(scope, value, options);\n } else {\n localizedValue = value.toString();\n }\n\n return this.interpolate(localizedValue, options);\n }\n };\n\n // Parse a given `date` string into a JavaScript Date object.\n // This function is time zone aware.\n //\n // The following string formats are recognized:\n //\n // yyyy-mm-dd\n // yyyy-mm-dd[ T]hh:mm::ss\n // yyyy-mm-dd[ T]hh:mm::ss\n // yyyy-mm-dd[ T]hh:mm::ssZ\n // yyyy-mm-dd[ T]hh:mm::ss+0000\n // yyyy-mm-dd[ T]hh:mm::ss+00:00\n // yyyy-mm-dd[ T]hh:mm::ss.123Z\n //\n I18n.parseDate = function(date) {\n var matches, convertedDate, fraction;\n // A date input of `null` or `undefined` will be returned as-is\n if (date == null) {\n return date;\n }\n // we have a date, so just return it.\n if (typeof(date) === \"object\") {\n return date;\n }\n\n matches = date.toString().match(/(\\d{4})-(\\d{2})-(\\d{2})(?:[ T](\\d{2}):(\\d{2}):(\\d{2})([\\.,]\\d{1,3})?)?(Z|\\+00:?00)?/);\n\n if (matches) {\n for (var i = 1; i <= 6; i++) {\n matches[i] = parseInt(matches[i], 10) || 0;\n }\n\n // month starts on 0\n matches[2] -= 1;\n\n fraction = matches[7] ? 1000 * (\"0\" + matches[7]) : null;\n\n if (matches[8]) {\n convertedDate = new Date(Date.UTC(matches[1], matches[2], matches[3], matches[4], matches[5], matches[6], fraction));\n } else {\n convertedDate = new Date(matches[1], matches[2], matches[3], matches[4], matches[5], matches[6], fraction);\n }\n } else if (typeof(date) == \"number\") {\n // UNIX timestamp\n convertedDate = new Date();\n convertedDate.setTime(date);\n } else if (date.match(/([A-Z][a-z]{2}) ([A-Z][a-z]{2}) (\\d+) (\\d+:\\d+:\\d+) ([+-]\\d+) (\\d+)/)) {\n // This format `Wed Jul 20 13:03:39 +0000 2011` is parsed by\n // webkit/firefox, but not by IE, so we must parse it manually.\n convertedDate = new Date();\n convertedDate.setTime(Date.parse([\n RegExp.$1, RegExp.$2, RegExp.$3, RegExp.$6, RegExp.$4, RegExp.$5\n ].join(\" \")));\n } else if (date.match(/\\d+ \\d+:\\d+:\\d+ [+-]\\d+ \\d+/)) {\n // a valid javascript format with timezone info\n convertedDate = new Date();\n convertedDate.setTime(Date.parse(date));\n } else {\n // an arbitrary javascript string\n convertedDate = new Date();\n convertedDate.setTime(Date.parse(date));\n }\n\n return convertedDate;\n };\n\n // Formats time according to the directives in the given format string.\n // The directives begins with a percent (%) character. Any text not listed as a\n // directive will be passed through to the output string.\n //\n // The accepted formats are:\n //\n // %a - The abbreviated weekday name (Sun)\n // %A - The full weekday name (Sunday)\n // %b - The abbreviated month name (Jan)\n // %B - The full month name (January)\n // %c - The preferred local date and time representation\n // %d - Day of the month (01..31)\n // %-d - Day of the month (1..31)\n // %H - Hour of the day, 24-hour clock (00..23)\n // %-H/%k - Hour of the day, 24-hour clock (0..23)\n // %I - Hour of the day, 12-hour clock (01..12)\n // %-I/%l - Hour of the day, 12-hour clock (1..12)\n // %m - Month of the year (01..12)\n // %-m - Month of the year (1..12)\n // %M - Minute of the hour (00..59)\n // %-M - Minute of the hour (0..59)\n // %p - Meridian indicator (AM or PM)\n // %P - Meridian indicator (am or pm)\n // %S - Second of the minute (00..60)\n // %-S - Second of the minute (0..60)\n // %w - Day of the week (Sunday is 0, 0..6)\n // %y - Year without a century (00..99)\n // %-y - Year without a century (0..99)\n // %Y - Year with century\n // %z/%Z - Timezone offset (+0545)\n //\n I18n.strftime = function(date, format, options) {\n var options = this.lookup(\"date\", options)\n , meridianOptions = I18n.meridian()\n ;\n\n if (!options) {\n options = {};\n }\n\n options = this.prepareOptions(options, DATE);\n\n if (isNaN(date.getTime())) {\n throw new Error('I18n.strftime() requires a valid date object, but received an invalid date.');\n }\n\n var weekDay = date.getDay()\n , day = date.getDate()\n , year = date.getFullYear()\n , month = date.getMonth() + 1\n , hour = date.getHours()\n , hour12 = hour\n , meridian = hour > 11 ? 1 : 0\n , secs = date.getSeconds()\n , mins = date.getMinutes()\n , offset = date.getTimezoneOffset()\n , absOffsetHours = Math.floor(Math.abs(offset / 60))\n , absOffsetMinutes = Math.abs(offset) - (absOffsetHours * 60)\n , timezoneoffset = (offset > 0 ? \"-\" : \"+\") +\n (absOffsetHours.toString().length < 2 ? \"0\" + absOffsetHours : absOffsetHours) +\n (absOffsetMinutes.toString().length < 2 ? \"0\" + absOffsetMinutes : absOffsetMinutes)\n ;\n\n if (hour12 > 12) {\n hour12 = hour12 - 12;\n } else if (hour12 === 0) {\n hour12 = 12;\n }\n\n format = format.replace(\"%a\", options.abbr_day_names[weekDay]);\n format = format.replace(\"%A\", options.day_names[weekDay]);\n format = format.replace(\"%b\", options.abbr_month_names[month]);\n format = format.replace(\"%B\", options.month_names[month]);\n format = format.replace(\"%d\", padding(day));\n format = format.replace(\"%e\", day);\n format = format.replace(\"%-d\", day);\n format = format.replace(\"%H\", padding(hour));\n format = format.replace(\"%-H\", hour);\n format = format.replace(\"%k\", hour);\n format = format.replace(\"%I\", padding(hour12));\n format = format.replace(\"%-I\", hour12);\n format = format.replace(\"%l\", hour12);\n format = format.replace(\"%m\", padding(month));\n format = format.replace(\"%-m\", month);\n format = format.replace(\"%M\", padding(mins));\n format = format.replace(\"%-M\", mins);\n format = format.replace(\"%p\", meridianOptions[meridian]);\n format = format.replace(\"%P\", meridianOptions[meridian].toLowerCase());\n format = format.replace(\"%S\", padding(secs));\n format = format.replace(\"%-S\", secs);\n format = format.replace(\"%w\", weekDay);\n format = format.replace(\"%y\", padding(year));\n format = format.replace(\"%-y\", padding(year).replace(/^0+/, \"\"));\n format = format.replace(\"%Y\", year);\n format = format.replace(\"%z\", timezoneoffset);\n format = format.replace(\"%Z\", timezoneoffset);\n\n return format;\n };\n\n // Convert the given dateString into a formatted date.\n I18n.toTime = function(scope, dateString, options) {\n var date = this.parseDate(dateString)\n , format = this.lookup(scope, options)\n ;\n\n // A date input of `null` or `undefined` will be returned as-is\n if (date == null) {\n return date;\n }\n\n var date_string = date.toString()\n if (date_string.match(/invalid/i)) {\n return date_string;\n }\n\n if (!format) {\n return date_string;\n }\n\n return this.strftime(date, format, options);\n };\n\n // Convert a number into a formatted percentage value.\n I18n.toPercentage = function(number, options) {\n options = this.prepareOptions(\n options\n , this.lookup(\"number.percentage.format\", options)\n , this.lookup(\"number.format\", options)\n , PERCENTAGE_FORMAT\n );\n\n return this.toNumber(number, options);\n };\n\n // Convert a number into a readable size representation.\n I18n.toHumanSize = function(number, options) {\n var kb = 1024\n , size = number\n , iterations = 0\n , unit\n , precision\n , fullScope\n ;\n\n while (size >= kb && iterations < 4) {\n size = size / kb;\n iterations += 1;\n }\n\n if (iterations === 0) {\n fullScope = this.getFullScope(\"number.human.storage_units.units.byte\", options);\n unit = this.t(fullScope, {count: size});\n precision = 0;\n } else {\n fullScope = this.getFullScope(\"number.human.storage_units.units.\" + SIZE_UNITS[iterations], options);\n unit = this.t(fullScope);\n precision = (size - Math.floor(size) === 0) ? 0 : 1;\n }\n\n options = this.prepareOptions(\n options\n , {unit: unit, precision: precision, format: \"%n%u\", delimiter: \"\"}\n );\n\n return this.toNumber(size, options);\n };\n\n I18n.getFullScope = function(scope, options) {\n options = options || {};\n\n // Deal with the scope as an array.\n if (isArray(scope)) {\n scope = scope.join(options.separator || this.defaultSeparator);\n }\n\n // Deal with the scope option provided through the second argument.\n //\n // I18n.t('hello', {scope: 'greetings'});\n //\n if (options.scope) {\n scope = [options.scope, scope].join(options.separator || this.defaultSeparator);\n }\n\n return scope;\n };\n /**\n * Merge obj1 with obj2 (shallow merge), without modifying inputs\n * @param {Object} obj1\n * @param {Object} obj2\n * @returns {Object} Merged values of obj1 and obj2\n *\n * In order to support ES3, `Object.prototype.hasOwnProperty.call` is used\n * Idea is from:\n * https://stackoverflow.com/questions/8157700/object-has-no-hasownproperty-method-i-e-its-undefined-ie8\n */\n I18n.extend = function ( obj1, obj2 ) {\n if (typeof(obj1) === \"undefined\" && typeof(obj2) === \"undefined\") {\n return {};\n }\n return merge(obj1, obj2);\n };\n\n // Set aliases, so we can save some typing.\n I18n.t = I18n.translate.bind(I18n);\n I18n.l = I18n.localize.bind(I18n);\n I18n.p = I18n.pluralize.bind(I18n);\n\n return I18n;\n}));\n","import React, { useEffect, useState } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport { changeProperty } from '../../teampro/Utils'\nimport { ROLES, LOCALES } from '../../teampro/Constants'\nimport I18n from 'i18n'\nimport PinCode from '../../pin_code/PinCode'\nimport { WithModal } from 'components/modal/ModalProvider'\nimport PolarPlayerSelect from 'components/teams/layout/PolarPlayerSelect'\n\nconst EditPlayer = (props) => {\n const { match: { params: { playerId } } } = props\n let player\n let team\n for (const cTeam of props.teams) {\n const players = cTeam.players.filter(cPlayer => `${cPlayer.id}` === playerId)\n if (players.length > 0) {\n player = players[0]\n team = props.teams.filter(ccTeam => ccTeam.id === player.team_id)[0]\n break\n }\n }\n const [name, setName] = useState('')\n const [jerseyNumber, setJerseyNumber] = useState('')\n const [role, setRole] = useState('')\n const [locale, setLocale] = useState('')\n const [teamId, setTeamId] = useState('')\n const [mobilePhone, setMobilePhone] = useState('')\n const [selectedPolarPlayerIds, setSelectedPolarPlayerIds] = useState([])\n\n useEffect(() => {\n props.fetchTeams()\n props.fetchPolarPlayers()\n }, [])\n\n useEffect(() => {\n const elems = document.querySelectorAll('.fixed-action-btn')\n window.M.FloatingActionButton.init(elems, {})\n }, [])\n\n useEffect(() => {\n window.M.updateTextFields()\n })\n\n useEffect(() => {\n if (player === undefined) return\n setName(player.name)\n setJerseyNumber(player.jersey_number === '-1' ? '' : player.jersey_number)\n setRole(player.role)\n setLocale(player.locale)\n setMobilePhone(player.mobile_phone)\n setTeamId(player.team_id)\n setSelectedPolarPlayerIds(player.polar_players.map(polarPlayer => polarPlayer.id))\n }, [props.teams])\n\n if (player === undefined) return <>\n\n const updatePlayer = e => {\n e.preventDefault()\n props.updatePlayer(player.id, { player: { jersey_number: jerseyNumber, name, role, locale, mobile_phone: mobilePhone, team_id: teamId, polar_player_ids: selectedPolarPlayerIds } })\n .then(() => {\n props.flashMessages.push(\n I18n.t('teams.flash_messages.player_updated'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchTeams()\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n return (\n <>\n \n \n
    \n
    \n
    \n

    {I18n.t('teams.edit_player.edit_player', { name: player.name })}

    \n
    \n
    \n
    \n
    \n setName(e.target.value)}\n />\n \n
    \n
    \n setJerseyNumber(e.target.value)}\n />\n \n
    \n
    \n
    \n
    \n \n changeProperty('role-selector', setRole)}\n >\n {ROLES.map(role => {\n return (\n \n )\n })}\n \n
    \n
    \n \n changeProperty('team-selector', setTeamId)}\n >\n {props.teams.map(team => {\n return (\n \n )\n })}\n \n
    \n
    \n
    \n
    \n setMobilePhone(e.target.value)}\n />\n \n
    \n
    \n \n changeProperty('locale-selector', setLocale)}\n >\n {LOCALES.map(locale => {\n return (\n \n )\n })}\n \n
    \n
    \n
    \n
    \n {props.polarPlayers !== undefined && props.teams !== [] && (\n <>\n \n \n \n )}\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n )\n}\n\nexport default WithModal(WithFlashMessages(EditPlayer))\n","var map = {\n\t\"./2fa/TwoFactor\": 39413,\n\t\"./2fa/TwoFactor.jsx\": 39413,\n\t\"./2fa/layout/disable/Disable\": 9746,\n\t\"./2fa/layout/disable/Disable.jsx\": 9746,\n\t\"./2fa/layout/disable/DisableConfirm\": 85468,\n\t\"./2fa/layout/disable/DisableConfirm.jsx\": 85468,\n\t\"./2fa/layout/enable/Enable\": 97178,\n\t\"./2fa/layout/enable/Enable.jsx\": 97178,\n\t\"./2fa/layout/enable/EnableConfirm\": 65332,\n\t\"./2fa/layout/enable/EnableConfirm.jsx\": 65332,\n\t\"./App\": 8979,\n\t\"./App.jsx\": 8979,\n\t\"./FallbackComponent\": 33697,\n\t\"./FallbackComponent.jsx\": 33697,\n\t\"./I18nLoader\": 71229,\n\t\"./I18nLoader.jsx\": 71229,\n\t\"./IconLibrary\": 92394,\n\t\"./IconLibrary.jsx\": 92394,\n\t\"./MyAxios\": 43914,\n\t\"./MyAxios.jsx\": 43914,\n\t\"./MyReactTooltip\": 87456,\n\t\"./MyReactTooltip.jsx\": 87456,\n\t\"./Router\": 27819,\n\t\"./Router.jsx\": 27819,\n\t\"./account/Account\": 6707,\n\t\"./account/Account.jsx\": 6707,\n\t\"./account/AccountRoutes\": 50897,\n\t\"./account/AccountRoutes.jsx\": 50897,\n\t\"./account/layout/Confirmation\": 28928,\n\t\"./account/layout/Confirmation.jsx\": 28928,\n\t\"./account/layout/Login\": 22972,\n\t\"./account/layout/Login.jsx\": 22972,\n\t\"./account/layout/LoginContainer\": 58479,\n\t\"./account/layout/LoginContainer.jsx\": 58479,\n\t\"./account/layout/ResetPassword\": 41509,\n\t\"./account/layout/ResetPassword.jsx\": 41509,\n\t\"./account/layout/ResetPasswordEdit\": 59969,\n\t\"./account/layout/ResetPasswordEdit.jsx\": 59969,\n\t\"./account/layout/SignUp\": 55143,\n\t\"./account/layout/SignUp.jsx\": 55143,\n\t\"./backend/BackendProvider\": 55464,\n\t\"./backend/BackendProvider.jsx\": 55464,\n\t\"./backend/Queries\": 71345,\n\t\"./backend/Queries.tsx\": 71345,\n\t\"./callback/Callback\": 88335,\n\t\"./callback/Callback.jsx\": 88335,\n\t\"./callback/CallbackController\": 52671,\n\t\"./callback/CallbackController.jsx\": 52671,\n\t\"./callback/CallbackRoutes\": 28221,\n\t\"./callback/CallbackRoutes.jsx\": 28221,\n\t\"./common/Breadcrumbs\": 11240,\n\t\"./common/Breadcrumbs.jsx\": 11240,\n\t\"./common/Constants\": 23613,\n\t\"./common/Constants.jsx\": 23613,\n\t\"./common/History\": 38174,\n\t\"./common/History.jsx\": 38174,\n\t\"./common/Info\": 39898,\n\t\"./common/Info.tsx\": 39898,\n\t\"./common/Math\": 32710,\n\t\"./common/Math.jsx\": 32710,\n\t\"./common/Pagination\": 13872,\n\t\"./common/Pagination.jsx\": 13872,\n\t\"./common/Spinner\": 71185,\n\t\"./common/Spinner.jsx\": 71185,\n\t\"./common/SpinnerWrapper\": 1558,\n\t\"./common/SpinnerWrapper.tsx\": 1558,\n\t\"./common/SyntaxHighlight\": 41769,\n\t\"./common/SyntaxHighlight.jsx\": 41769,\n\t\"./common/TabPanel\": 72052,\n\t\"./common/TabPanel/\": 72052,\n\t\"./common/TabPanel/Tab\": 78013,\n\t\"./common/TabPanel/Tab.jsx\": 78013,\n\t\"./common/TabPanel/TabHeader\": 41514,\n\t\"./common/TabPanel/TabHeader.jsx\": 41514,\n\t\"./common/TabPanel/TabPanel\": 72923,\n\t\"./common/TabPanel/TabPanel.jsx\": 72923,\n\t\"./common/TabPanel/index\": 72052,\n\t\"./common/TabPanel/index.js\": 72052,\n\t\"./common/Utils\": 50957,\n\t\"./common/Utils.jsx\": 50957,\n\t\"./common/form\": 31789,\n\t\"./common/form/\": 31789,\n\t\"./common/form/CheckBox\": 55008,\n\t\"./common/form/CheckBox.jsx\": 55008,\n\t\"./common/form/Chips\": 59482,\n\t\"./common/form/Chips.jsx\": 59482,\n\t\"./common/form/Field\": 39023,\n\t\"./common/form/Field.jsx\": 39023,\n\t\"./common/form/Picture\": 64689,\n\t\"./common/form/Picture.jsx\": 64689,\n\t\"./common/form/Radio\": 46202,\n\t\"./common/form/Radio.jsx\": 46202,\n\t\"./common/form/Select\": 73379,\n\t\"./common/form/Select.jsx\": 73379,\n\t\"./common/form/SelectMultiple\": 27951,\n\t\"./common/form/SelectMultiple.jsx\": 27951,\n\t\"./common/form/SelectMultipleIcon\": 69380,\n\t\"./common/form/SelectMultipleIcon.jsx\": 69380,\n\t\"./common/form/Toggle\": 78147,\n\t\"./common/form/Toggle.jsx\": 78147,\n\t\"./common/form/index\": 31789,\n\t\"./common/form/index.js\": 31789,\n\t\"./common/types/FillOutSession\": 47057,\n\t\"./common/types/FillOutSession.ts\": 47057,\n\t\"./common/types/FlashMessages\": 68520,\n\t\"./common/types/FlashMessages.ts\": 68520,\n\t\"./common/types/NetworksPlayerNetworksDTO\": 74132,\n\t\"./common/types/NetworksPlayerNetworksDTO.ts\": 74132,\n\t\"./common/types/OptGroupLabel\": 83012,\n\t\"./common/types/OptGroupLabel.ts\": 83012,\n\t\"./common/types/Param\": 41123,\n\t\"./common/types/Param.ts\": 41123,\n\t\"./common/types/Player\": 44073,\n\t\"./common/types/Player.ts\": 44073,\n\t\"./common/types/PolarPlayers\": 32910,\n\t\"./common/types/PolarPlayers.ts\": 32910,\n\t\"./common/types/PolarTrainingSessionsDTO\": 85116,\n\t\"./common/types/PolarTrainingSessionsDTO.ts\": 85116,\n\t\"./common/types/PolarVariable\": 42682,\n\t\"./common/types/PolarVariable.ts\": 42682,\n\t\"./common/types/ResponsesPlayerResponsesDTO\": 56322,\n\t\"./common/types/ResponsesPlayerResponsesDTO.ts\": 56322,\n\t\"./common/types/Role\": 24024,\n\t\"./common/types/Role.ts\": 24024,\n\t\"./common/types/Teams\": 35676,\n\t\"./common/types/Teams.ts\": 35676,\n\t\"./common/types/TrainingSession\": 74896,\n\t\"./common/types/TrainingSession.ts\": 74896,\n\t\"./common/types/User\": 14179,\n\t\"./common/types/User.ts\": 14179,\n\t\"./errorboundary/ErrorBoundaryProvider\": 45360,\n\t\"./errorboundary/ErrorBoundaryProvider.jsx\": 45360,\n\t\"./exports/ExportsController\": 69307,\n\t\"./exports/ExportsController.jsx\": 69307,\n\t\"./exports/ExportsRoutes\": 28849,\n\t\"./exports/ExportsRoutes.jsx\": 28849,\n\t\"./exports/layout/ExportCombined\": 72996,\n\t\"./exports/layout/ExportCombined.jsx\": 72996,\n\t\"./exports/layout/ExportData\": 11221,\n\t\"./exports/layout/ExportData.jsx\": 11221,\n\t\"./exports/layout/ExportPolarData\": 79161,\n\t\"./exports/layout/ExportPolarData.jsx\": 79161,\n\t\"./exports/layout/ExportQuestionnaires\": 90807,\n\t\"./exports/layout/ExportQuestionnaires.jsx\": 90807,\n\t\"./exports/layout/ExportRestructured\": 78079,\n\t\"./exports/layout/ExportRestructured.jsx\": 78079,\n\t\"./fillout_session/FillOutSession\": 75748,\n\t\"./fillout_session/FillOutSession.jsx\": 75748,\n\t\"./fillout_session/FillOutSessionController\": 82304,\n\t\"./fillout_session/FillOutSessionController.jsx\": 82304,\n\t\"./fillout_session/FillOutSessionRoutes\": 65362,\n\t\"./fillout_session/FillOutSessionRoutes.jsx\": 65362,\n\t\"./flashmessages/FlashMessageProvider\": 46937,\n\t\"./flashmessages/FlashMessageProvider.jsx\": 46937,\n\t\"./flashmessages/FlashMessages\": 9239,\n\t\"./flashmessages/FlashMessages.jsx\": 9239,\n\t\"./flashmessages/Message\": 40656,\n\t\"./flashmessages/Message.jsx\": 40656,\n\t\"./helpers/ApiConnector\": 15379,\n\t\"./helpers/ApiConnector.jsx\": 15379,\n\t\"./helpers/FormFactory\": 50148,\n\t\"./helpers/FormFactory.jsx\": 50148,\n\t\"./images/logo.png\": 7297,\n\t\"./login_wrapper/LoggedInRedirector\": 38046,\n\t\"./login_wrapper/LoggedInRedirector.jsx\": 38046,\n\t\"./login_wrapper/LoginWrapper\": 81774,\n\t\"./login_wrapper/LoginWrapper.jsx\": 81774,\n\t\"./modal/ConfirmationDialog\": 82829,\n\t\"./modal/ConfirmationDialog.jsx\": 82829,\n\t\"./modal/Modal\": 64055,\n\t\"./modal/Modal.jsx\": 64055,\n\t\"./modal/ModalProvider\": 24092,\n\t\"./modal/ModalProvider.jsx\": 24092,\n\t\"./modal/MyModal\": 88285,\n\t\"./modal/MyModal.jsx\": 88285,\n\t\"./password/PasswordController\": 84907,\n\t\"./password/PasswordController.jsx\": 84907,\n\t\"./password/PasswordRoutes\": 80193,\n\t\"./password/PasswordRoutes.jsx\": 80193,\n\t\"./password/layout/AddToken\": 64831,\n\t\"./password/layout/AddToken.jsx\": 64831,\n\t\"./password/layout/UpdatePassword\": 18987,\n\t\"./password/layout/UpdatePassword.jsx\": 18987,\n\t\"./password/layout/step_1.png\": 17032,\n\t\"./password/layout/step_2.png\": 79011,\n\t\"./password/layout/step_3.png\": 89178,\n\t\"./pin_code/EnterPinCode\": 83032,\n\t\"./pin_code/EnterPinCode.jsx\": 83032,\n\t\"./pin_code/PinCode\": 47300,\n\t\"./pin_code/PinCode.jsx\": 47300,\n\t\"./responses/ResponsesController\": 10903,\n\t\"./responses/ResponsesController.jsx\": 10903,\n\t\"./responses/ResponsesRoutes\": 60789,\n\t\"./responses/ResponsesRoutes.jsx\": 60789,\n\t\"./responses/layout/EditResponse\": 96907,\n\t\"./responses/layout/EditResponse.jsx\": 96907,\n\t\"./responses/layout/ResponsesOverview\": 11777,\n\t\"./responses/layout/ResponsesOverview.jsx\": 11777,\n\t\"./router/LoggedInRouter\": 23236,\n\t\"./router/LoggedInRouter.jsx\": 23236,\n\t\"./router/LoggedOutRouter\": 70311,\n\t\"./router/LoggedOutRouter.jsx\": 70311,\n\t\"./router/NotFoundMessage\": 90332,\n\t\"./router/NotFoundMessage.jsx\": 90332,\n\t\"./router/NotFoundProvider\": 84194,\n\t\"./router/NotFoundProvider.jsx\": 84194,\n\t\"./router/NotFoundWrapper\": 59760,\n\t\"./router/NotFoundWrapper.jsx\": 59760,\n\t\"./session/Session\": 31487,\n\t\"./session/Session.jsx\": 31487,\n\t\"./session/SessionProvider\": 80452,\n\t\"./session/SessionProvider.jsx\": 80452,\n\t\"./sub_account/SubAccount\": 33322,\n\t\"./sub_account/SubAccount.jsx\": 33322,\n\t\"./sub_account/SubAccountController\": 49582,\n\t\"./sub_account/SubAccountController.jsx\": 49582,\n\t\"./sub_account/SubAccountRoutes\": 12100,\n\t\"./sub_account/SubAccountRoutes.jsx\": 12100,\n\t\"./teampro/Constants\": 62544,\n\t\"./teampro/Constants.jsx\": 62544,\n\t\"./teampro/TeamProDashboard\": 35831,\n\t\"./teampro/TeamProDashboard.jsx\": 35831,\n\t\"./teampro/TeamProRoutes\": 87573,\n\t\"./teampro/TeamProRoutes.jsx\": 87573,\n\t\"./teampro/Utils\": 3756,\n\t\"./teampro/Utils.jsx\": 3756,\n\t\"./teampro/layout/DownloadCSV\": 21364,\n\t\"./teampro/layout/DownloadCSV.jsx\": 21364,\n\t\"./teampro/layout/Header\": 33897,\n\t\"./teampro/layout/Header.jsx\": 33897,\n\t\"./teampro/layout/Locale\": 24632,\n\t\"./teampro/layout/Locale.jsx\": 24632,\n\t\"./teampro/layout/ManagerInterface\": 89648,\n\t\"./teampro/layout/ManagerInterface.jsx\": 89648,\n\t\"./teampro/layout/PlayerInterface\": 50900,\n\t\"./teampro/layout/PlayerInterface.jsx\": 50900,\n\t\"./teampro/layout/PlayerName\": 13940,\n\t\"./teampro/layout/PlayerName.jsx\": 13940,\n\t\"./teampro/layout/logo.svg\": 423,\n\t\"./teampro/questionnaires/Battery\": 90181,\n\t\"./teampro/questionnaires/Battery.tsx\": 90181,\n\t\"./teampro/questionnaires/Checkbox\": 20409,\n\t\"./teampro/questionnaires/Checkbox.jsx\": 20409,\n\t\"./teampro/questionnaires/Question\": 35830,\n\t\"./teampro/questionnaires/Question.jsx\": 35830,\n\t\"./teampro/questionnaires/Questionnaire\": 56331,\n\t\"./teampro/questionnaires/Questionnaire.jsx\": 56331,\n\t\"./teampro/questionnaires/Radio\": 36693,\n\t\"./teampro/questionnaires/Radio.jsx\": 36693,\n\t\"./teampro/questionnaires/Raw\": 75714,\n\t\"./teampro/questionnaires/Raw.jsx\": 75714,\n\t\"./teampro/questionnaires/Slider\": 94573,\n\t\"./teampro/questionnaires/Slider.jsx\": 94573,\n\t\"./teampro/questionnaires/Textfield\": 43883,\n\t\"./teampro/questionnaires/Textfield.jsx\": 43883,\n\t\"./teampro/questionnaires/images/battery_scale_1.png\": 6294,\n\t\"./teampro/questionnaires/images/battery_scale_2.png\": 87917,\n\t\"./teampro/questionnaires/images/battery_scale_3.png\": 47972,\n\t\"./teampro/questionnaires/images/battery_scale_4.png\": 29627,\n\t\"./teampro/questionnaires/images/battery_scale_5.png\": 15410,\n\t\"./teampro/questionnaires/images/battery_scale_6.png\": 6121,\n\t\"./teampro/questionnaires/images/battery_scale_7.png\": 51296,\n\t\"./teams/TeamsController\": 41631,\n\t\"./teams/TeamsController.jsx\": 41631,\n\t\"./teams/TeamsRoutes\": 59101,\n\t\"./teams/TeamsRoutes.jsx\": 59101,\n\t\"./teams/layout/EditPlayer\": 86183,\n\t\"./teams/layout/EditPlayer.jsx\": 86183,\n\t\"./teams/layout/EditTeam\": 72551,\n\t\"./teams/layout/EditTeam.jsx\": 72551,\n\t\"./teams/layout/NewPlayer\": 99179,\n\t\"./teams/layout/NewPlayer.jsx\": 99179,\n\t\"./teams/layout/NewTeam\": 43267,\n\t\"./teams/layout/NewTeam.jsx\": 43267,\n\t\"./teams/layout/PolarPlayerSelect\": 6063,\n\t\"./teams/layout/PolarPlayerSelect.tsx\": 6063,\n\t\"./teams/layout/QuestionnaireQuestions\": 70550,\n\t\"./teams/layout/QuestionnaireQuestions.jsx\": 70550,\n\t\"./teams/layout/TeamsOverview\": 2989,\n\t\"./teams/layout/TeamsOverview.jsx\": 2989,\n\t\"./training_sessions/TrainingSessionsController\": 12296,\n\t\"./training_sessions/TrainingSessionsController.jsx\": 12296,\n\t\"./training_sessions/TrainingSessionsRoutes\": 85530,\n\t\"./training_sessions/TrainingSessionsRoutes.jsx\": 85530,\n\t\"./training_sessions/layout/EditTrainingSession\": 7284,\n\t\"./training_sessions/layout/EditTrainingSession.jsx\": 7284,\n\t\"./training_sessions/layout/TrainingSessionResultsTable\": 6920,\n\t\"./training_sessions/layout/TrainingSessionResultsTable.tsx\": 6920,\n\t\"./training_sessions/layout/TrainingSessionsOverview\": 93968,\n\t\"./training_sessions/layout/TrainingSessionsOverview.jsx\": 93968,\n\t\"./training_sessions/layout/TrainingSessionsPast\": 83561,\n\t\"./training_sessions/layout/TrainingSessionsPast.jsx\": 83561,\n\t\"./training_sessions/layout/TrainingSessionsUpcoming\": 50855,\n\t\"./training_sessions/layout/TrainingSessionsUpcoming.jsx\": 50855,\n\t\"./visualizations/VisualizationsController\": 56787,\n\t\"./visualizations/VisualizationsController.jsx\": 56787,\n\t\"./visualizations/VisualizationsRoutes\": 43433,\n\t\"./visualizations/VisualizationsRoutes.jsx\": 43433,\n\t\"./visualizations/layout/NetworksDashboard\": 1082,\n\t\"./visualizations/layout/NetworksDashboard.tsx\": 1082,\n\t\"./visualizations/layout/NetworksSlider\": 98035,\n\t\"./visualizations/layout/NetworksSlider.tsx\": 98035,\n\t\"./visualizations/layout/OverviewDashboard\": 61554,\n\t\"./visualizations/layout/OverviewDashboard.tsx\": 61554,\n\t\"./visualizations/layout/PolarDashboard\": 81313,\n\t\"./visualizations/layout/PolarDashboard.tsx\": 81313,\n\t\"./visualizations/layout/ResilienceMonitoringDashboard\": 52258,\n\t\"./visualizations/layout/ResilienceMonitoringDashboard.tsx\": 52258,\n\t\"./visualizations/layout/SmallGraph\": 43398,\n\t\"./visualizations/layout/SmallGraph.tsx\": 43398,\n\t\"./visualizations/layout/Utils\": 92586,\n\t\"./visualizations/layout/Utils.tsx\": 92586,\n\t\"./visualizations/layout/VisualizationsOverview\": 58545,\n\t\"./visualizations/layout/VisualizationsOverview.jsx\": 58545\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 = 86900;","import React from 'react'\nimport ReactTooltip from 'react-tooltip'\nimport classNames from 'classnames'\n\nexport default class MyReactTooltip extends React.Component {\n render () {\n // Rebuilding the tooltips needs to be done after rendering takes place,\n // hence the delay. I've looked into the source code and the project\n // page a little bit, but couldn't quickly find a better way to do this.\n // If we don't call a rebuild that is some time after rendering the page,\n // the tooltips simply don't show up.\n setTimeout(() => { ReactTooltip.rebuild() }, 200)\n // Allow passing through of properties (e.g., `effect`)\n const { className, ...theRest } = this.props\n return \n }\n}\n","import React from 'react'\nimport { Route } from 'react-router'\nimport NotFoundWrapper from '../router/NotFoundWrapper'\n\nimport TeamProDashboard from './TeamProDashboard'\n\nconst TeamProRoutes = (props) => {\n const { teamProDashboardProps } = props\n return (\n \n } />\n \n )\n}\n\nexport default TeamProRoutes\n","import React, { useEffect } from 'react'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport Modal from 'react-modal'\nimport classNames from 'classnames'\n\nconst MyModal = props => {\n // Make sure that the dialog doesn't change the vertical scroll position,\n // and that the background of the modal dialog is not scrollable.\n useEffect(() => {\n if (props.isOpen) {\n const scrollY = window.scrollY\n document.body.style.position = 'fixed'\n document.body.style.width = '100vw'\n document.body.style.top = `-${scrollY}px`\n } else {\n const scrollY = document.body.style.top\n document.body.style.position = ''\n document.body.style.top = ''\n document.body.style.width = ''\n window.scrollTo(0, parseInt(scrollY || '0') * -1)\n }\n }, [props.isOpen])\n\n function handleClick () {\n if (props.children && props.children.props && props.children.props.handleClose) {\n props.children.props.handleClose()\n }\n if (props.onClose) {\n props.onClose()\n }\n }\n\n return (\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n {props.children}\n
    \n
    \n
    \n \n )\n}\n\nexport default MyModal\n","import React, { useEffect, useState } from 'react'\nimport { useLocation, Link } from 'react-router-dom'\nimport Spinner from 'components/common/Spinner'\nimport { WithFlashMessages } from 'components/flashmessages/FlashMessageProvider'\nimport I18n from 'i18n'\nimport { WithSession } from 'components/session/SessionProvider'\n\nconst RESOLVING = 'resolving'\nconst SUCCESS = 'success'\nconst FAILED = 'failed'\n\nconst Callback = props => {\n const [state, setState] = useState(RESOLVING)\n const search = useLocation().search\n const code = new URLSearchParams(search).get('code')\n\n useEffect(() => {\n props.createPolarToken(code).then(_response => {\n props.flashMessages.push(\n I18n.t('flashmessages.callback.successful'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.refetchSession()\n setState(SUCCESS)\n }).catch(err => {\n console.log(err)\n props.flashMessages.push(\n I18n.t('flashmessages.callback.failed'),\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n setState(FAILED)\n })\n }, [])\n\n return (\n
    \n
    \n
    \n {code && (\n <>\n {state === RESOLVING && (\n <>\n

    {I18n.t('callback.resolving_authorization_code')}: {code} ...

    \n \n \n )}\n {state === SUCCESS && (\n <>\n

    {I18n.t('flashmessages.callback.successful')}

    \n \n )}\n {state === FAILED && (\n <>\n

    {I18n.t('flashmessages.callback.failed')}

    \n \n )}\n {!code && (\n

    ERROR: {I18n.t('callback.did_not_receive_a_code')}

    \n )}\n {(state === SUCCESS || state === FAILED) && (\n <>\n \n {I18n.t('callback.go_back')}\n \n \n )}\n \n )}\n
    \n
    \n
    \n )\n}\n\nexport default WithSession(WithFlashMessages(Callback))\n","import React, { useEffect, useState } from 'react'\nimport {\n INDEPENDENT_OF_A_TRAINING,\n MATCHDAY,\n TEAM_ICON,\n TEAM_ICON_EMPTY,\n WEEKDAYS\n} from '../Constants'\nimport ReactDatePicker from 'react-datepicker'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport PlayerName from './PlayerName'\nimport { changeProperty, trainingMomentHint, trainingTypes, translateTrainingMoment, translateWeekday } from '../Utils'\nimport classNames from 'classnames'\nimport { nl, enUS } from 'date-fns/locale'\nimport I18n from 'i18n'\nimport moment from 'moment'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { WithSession } from 'components/session/SessionProvider'\nimport { dateAndTimePickerDefaultOptions } from '../../common/Constants'\n\nconst NOW = 'now'\nconst SCHEDULED = 'scheduled'\n\nconst ManagerInterface = (props) => {\n const [sendSmsWhen, setSendSmsWhen] = useState(NOW)\n const [scheduledDates, setScheduledDates] = useState([moment().set({ minute: 0, second: 0, millisecond: 0, hour: moment().hour() + 1 }).toDate()])\n\n useEffect(() => {\n const elems = document.querySelectorAll('.collapsible')\n window.M.Collapsible.init(elems, {})\n }, [props.teams])\n\n useEffect(() => {\n window.M.FormSelect.init(document.querySelectorAll('select'))\n }, [props.weekday])\n\n useEffect(() => {\n window.M.updateTextFields()\n }, [])\n\n useEffect(() => {\n if (props.myProfile !== {} && props.myProfile.polar_token_invalid) {\n props.flashMessages.push(\n I18n.t('flashmessages.polar_token.invalidated'),\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n }\n }, [props.myProfile])\n\n const renderPlayer = (player) => {\n return (\n
    \n \n
    \n )\n }\n\n const renderAllNone = (team) => {\n const allSelected = team.players.every(teamPlayer => props.selectedPlayers.includes(teamPlayer))\n const noneSelected = !team.players.some(teamPlayer => props.selectedPlayers.includes(teamPlayer))\n return (\n <>\n
    \n
    \n

    \n \n

    \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n \n )\n }\n\n const selectedPlayerCount = (team) => {\n return team.players.filter(teamPlayer => props.selectedPlayers.includes(teamPlayer)).length\n }\n\n const renderTeamName = (team) => {\n const selectedCount = selectedPlayerCount(team)\n if (selectedCount > 0) {\n return (\n <>\n {TEAM_ICON}{team.name} ({selectedCount})\n \n )\n }\n return (\n <>\n {TEAM_ICON_EMPTY}{team.name}\n \n )\n }\n\n const renderTeam = (team) => {\n return (\n
  • \n
    {renderTeamName(team)}
    \n
    \n {team.players.length > 0 && renderAllNone(team)}\n {!team.players.length &&

    {I18n.t('teampro.manager.no_players_in_team')}

    }\n {team.players.map(player => renderPlayer(player))}\n
    \n
  • \n )\n }\n\n const checkIfPresent = (value, description) => {\n if (!value || !value.length) {\n props.flashMessages.push(\n `${I18n.t('teampro.manager.please_select')} ${description}`,\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.ERROR\n )\n window.scrollTo(0, 0)\n return false\n }\n return true\n }\n\n const requiredChecks = () => {\n return checkIfPresent(props.weekday, I18n.t('teampro.manager.validations.day_of_the_week')) &&\n checkIfPresent(props.trainingMoment, I18n.t('teampro.manager.validations.training_moment')) &&\n checkIfPresent(props.trainingType, I18n.t('teampro.manager.validations.training_type')) &&\n checkIfPresent(props.selectedPlayers, I18n.t('teampro.manager.validations.selected_players'))\n }\n\n const checkAndSubmit = () => {\n if (requiredChecks()) {\n props.flashMessages.push(\n I18n.t('teampro.manager.players_app_started'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO\n )\n window.scrollTo(0, 0)\n props.onDone()\n }\n }\n\n const checkAndSendInvites = () => {\n if (requiredChecks()) {\n showSendInvitesDialog()\n }\n }\n\n const showSendInvitesDialog = () => {\n props.setConfirmationDialog({\n onConfirmation: () => props.onSendInvites(sendSmsWhen === NOW ? [] : scheduledDates),\n target: I18n.t('teampro.manager.send_invites_confirmation', { count: props.selectedPlayers.length }),\n action: 'custom',\n noQuotes: true\n })\n }\n\n const checkAndCoach = () => {\n if (\n checkIfPresent(props.weekday, I18n.t('teampro.manager.validations.day_of_the_week')) &&\n checkIfPresent(props.trainingMoment, I18n.t('teampro.manager.validations.training_moment')) &&\n checkIfPresent(props.selectedPlayers, I18n.t('teampro.manager.validations.selected_players'))\n ) {\n props.flashMessages.push(\n I18n.t('teampro.manager.coach_questionnaire_loaded'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO\n )\n props.loadCoachQuestionnaire()\n }\n }\n\n const setWeekday = (weekday) => {\n if (weekday === MATCHDAY) {\n props.setTrainingType(undefined)\n }\n props.setWeekday(weekday)\n }\n\n const setScheduledDate = (idx, date) => {\n const newScheduledDates = [...scheduledDates]\n newScheduledDates[idx] = date\n setScheduledDates(newScheduledDates)\n }\n\n const addDate = () => {\n const newScheduledDates = [...scheduledDates, moment(scheduledDates.slice(-1)[0]).add(1, 'weeks').toDate()]\n setScheduledDates(newScheduledDates)\n }\n\n const removeDate = () => {\n if (scheduledDates.length === 1) return\n\n const newScheduledDates = [...scheduledDates]\n newScheduledDates.pop()\n setScheduledDates(newScheduledDates)\n }\n\n return (\n <>\n
    \n
    \n
    {I18n.t('teampro.manager.questionnaire_settings')}
    \n
    \n
    \n
    \n
    \n \n changeProperty('weekday-selector', setWeekday)}\n >\n \n )\n })}\n \n
    \n {props.weekday && (\n
    \n \n changeProperty('training-moment-selector', props.setTrainingMoment)}\n >\n \n )\n })}\n \n {props.trainingMoment && trainingMomentHint(props.trainingMoment)}\n
    \n )}\n
    \n
    \n
    \n \n changeProperty('training-type-selector', props.setTrainingType)}\n >\n \n )\n })}\n \n
    \n
    \n \n

    \n \n

    \n
    \n
    \n
    \n
    \n
    {I18n.t('teampro.manager.select_players')}
    \n {props.teams.length === 0 &&

    {I18n.t('teampro.manager.there_are_no_teams_click')}

    }\n {props.teams.length > 0 && (\n
      \n {props.teams.map(cteam => renderTeam(cteam))}\n
    \n )}\n
    \n
    \n
    \n
    \n
    \n
    {I18n.t('teampro.manager.navigation')}
    \n
    \n
    \n {\n e.preventDefault()\n checkAndSubmit()\n }}\n >\n done\n {I18n.t('teampro.manager.to_players_app')}\n \n
    \n
    \n checkAndCoach()}\n >\n tune\n {I18n.t('teampro.manager.fill_out_coach_questionnaire')}\n \n
    \n
    \n
    \n
    \n

    {I18n.t('teampro.manager.or')}

    \n
    \n
    \n
    \n
    \n
    {I18n.t('teampro.manager.send_invites_per_sms')}
    \n
    \n
    \n

    \n \n

    \n

    \n \n

    \n
    \n
    \n {sendSmsWhen === SCHEDULED && (\n scheduledDates.map((scheduledDate, idx) => (\n
    \n
    \n setScheduledDate(idx, date)}\n timeCaption={I18n.t('teampro.manager.time')}\n minDate={new Date()}\n locale={I18n.locale === 'en' ? enUS : nl}\n required\n />\n \n {I18n.t('teampro.manager.date_and_time')}\n \n
    \n {idx + 1 === scheduledDates.length && (\n
    \n \n \n remove\n \n
    \n )}\n
    \n ))\n )}\n
    \n
    \n {\n e.preventDefault()\n checkAndSendInvites()\n }}\n >\n {sendSmsWhen === NOW ? 'send' : 'schedule'}\n {I18n.t(sendSmsWhen === NOW ? 'teampro.manager.send_now' : 'teampro.manager.send_scheduled')}\n \n
    \n
    \n \n )\n}\n\nexport default WithSession(WithModal(WithFlashMessages(ManagerInterface)))\n","import React from 'react'\nimport classNames from 'classnames'\nimport { optionalTranslate } from '../Utils'\nimport battery1 from './images/battery_scale_1.png'\nimport battery2 from './images/battery_scale_2.png'\nimport battery3 from './images/battery_scale_3.png'\nimport battery4 from './images/battery_scale_4.png'\nimport battery5 from './images/battery_scale_5.png'\nimport battery6 from './images/battery_scale_6.png'\nimport battery7 from './images/battery_scale_7.png'\n\ninterface Props {\n id: string\n label: string\n options?: Array\n value: string | undefined\n setValue: (value: string) => void\n required: boolean\n showErrors: boolean\n setShowErrors: (value: boolean) => void\n myRef: React.RefObject\n}\n\nconst BATTERIES = [battery1, battery2, battery3, battery4, battery5, battery6, battery7]\n\nconst Battery: React.FunctionComponent = (props: Props) => {\n const renderBattery = (): React.ReactElement => {\n return (\n <>\n {[...Array(7).keys()].map((option: number) => {\n const checked = props.value !== undefined && props.value === `${option + 1}`\n return (\n

    \n \n

    \n )\n })}\n \n )\n }\n\n return (\n
    \n { if (props.showErrors) { props.setShowErrors(false) } }}\n >\n
    \n
    {optionalTranslate(props.label)}
    \n
    \n
    \n {renderBattery()}\n
    \n
    \n
    \n )\n}\n\nexport default Battery\n","import React from 'react'\nimport { Link } from 'react-router-dom'\nimport I18n from 'i18n'\n\nexport default class NotFoundMessage extends React.Component {\n render () {\n return (\n
    \n
    \n

    404 - not found

    \n
    {I18n.t('notFound.return')}
    \n
    \n
    \n )\n }\n}\n","import React, { useState } from 'react'\nimport { datePickerDefaultOptions } from '../../common/Constants'\nimport DatePicker from 'react-datepicker'\nimport classNames from 'classnames'\nimport moment from 'moment'\nimport { CUSTOM, EVERYTHING, PAST_7_DAYS, TODAY, YESTERDAY } from '../../teampro/Constants'\nimport I18n from 'i18n'\nimport Info from 'components/common/Info'\n\nconst ExportQuestionnaires = (props) => {\n const [value, setValue] = useState(undefined)\n const [startDate, setStartDate] = useState(null)\n const [endDate, setEndDate] = useState(null)\n const [pseudonymize, setPseudonymize] = useState(false)\n const [pseudonymizeLevelTwo, setPseudonymizeLevelTwo] = useState(false)\n const [disableDownload, setDisableDownload] = useState(false)\n\n const downloadOptions = [\n { description: I18n.t('exports.download_options.today'), value: TODAY },\n { description: I18n.t('exports.download_options.yesterday'), value: YESTERDAY },\n { description: I18n.t('exports.download_options.past_7_days'), value: PAST_7_DAYS },\n { description: I18n.t('exports.download_options.everything'), value: EVERYTHING },\n { description: I18n.t('exports.download_options.custom'), value: CUSTOM }\n ]\n\n const constructDownload = (e) => {\n let start, end\n const today = new Date()\n switch (value) {\n case TODAY:\n start = today\n end = today\n break\n case YESTERDAY:\n start = moment(today).subtract(1, 'days').toDate()\n end = moment(today).subtract(1, 'days').toDate()\n break\n case PAST_7_DAYS:\n start = moment(today).subtract(7, 'days').toDate()\n end = today\n break\n case EVERYTHING:\n break\n case CUSTOM:\n start = startDate\n end = endDate\n break\n }\n const params = {}\n if (start !== undefined && start !== null) params.start_date = start.toISOString()\n if (end !== undefined && end !== null) params.end_date = end.toISOString()\n const pseudonymizeLevel = calcPseudonymizeLevel()\n if (pseudonymizeLevel) params.pseudonymize = `${pseudonymizeLevel}`\n setDisableDownload(true)\n setTimeout(() => setDisableDownload(false), 5000)\n e.preventDefault()\n props.export(params)\n }\n\n const calcPseudonymizeLevel = () => {\n if (pseudonymize) {\n return pseudonymizeLevelTwo ? 2 : 1\n }\n return 0\n }\n\n const validToDownload = () => {\n if (disableDownload) return false\n if (value === undefined) return false\n if (value !== CUSTOM) return true\n return (startDate === null || endDate === null || moment(startDate) <= moment(endDate))\n }\n\n const showDownloadButton = validToDownload()\n\n return (\n <>\n
    \n
    \n
    {I18n.t('exports.export_questionnaires')}
    \n
    \n
    \n
    \n
    \n
    {I18n.t('exports.download_questionnaires_of')}
    \n {downloadOptions.map(option => (\n

    \n \n

    \n ))}\n {value === 'custom' && (\n <>\n
    \n
    \n setStartDate(date)}\n selectsStart\n startDate={startDate}\n endDate={endDate}\n />\n \n
    \n
    \n setEndDate(date)}\n selectsEnd\n startDate={startDate}\n endDate={endDate}\n minDate={startDate}\n maxDate={new Date()}\n />\n \n
    \n
    \n
    \n
    \n

    {I18n.t('exports.start_and_end_not_required')}

    \n
    \n
    \n \n )}\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n {pseudonymize && (\n
    \n

    \n \n

    \n
    \n )}\n
    \n
    \n
    \n {showDownloadButton && (\n \n file_download\n {I18n.t('exports.download')}\n \n )}\n {!showDownloadButton && (\n \n )}\n
    \n
    \n \n )\n}\n\nexport default ExportQuestionnaires\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faVolleyballBall,\n faExclamationTriangle,\n // faFutbol,\n faPlay,\n faPause,\n faCalendarWeek,\n faRetweet,\n faRunning,\n faSkating,\n faQuestion,\n faEdit,\n faEye,\n faDownload,\n faHeartbeat,\n faTrash,\n faTimes,\n faCheck,\n faPlus,\n faBell,\n faUser,\n faPen,\n faSignOutAlt,\n faInfoCircle,\n faChartLine,\n faChartBar,\n faCopy,\n faSyncAlt,\n faPoll,\n faUserCog,\n faBiking,\n faWalking,\n faHiking,\n faSwimmer,\n faDumbbell,\n faSlidersH,\n faUserPlus,\n faChevronLeft,\n faChevronDown,\n faChevronUp,\n faFile,\n faShare,\n faSortDown,\n faSortUp,\n faSort,\n faExternalLinkAlt,\n faExpand,\n faCompress,\n faSync,\n faHashtag,\n faArrowCircleRight,\n faEnvelopeOpenText,\n faUsers,\n faFileCode,\n faFileCsv,\n faFileArchive\n} from '@fortawesome/free-solid-svg-icons'\n\nimport {\n faFutbol\n} from '@fortawesome/free-regular-svg-icons'\nimport {\n faStrava,\n faGoogle,\n faPython\n} from '@fortawesome/free-brands-svg-icons'\n// Initialize the icons\nlibrary.add(\n faExclamationTriangle,\n faRetweet,\n faCalendarWeek,\n faVolleyballBall,\n faFutbol,\n faRunning,\n faSkating,\n faPlay,\n faPause,\n faQuestion,\n faEdit,\n faEye,\n faDownload,\n faStrava,\n faHeartbeat,\n faGoogle,\n faTrash,\n faTimes,\n faCheck,\n faPlus,\n faBell,\n faUser,\n faPen,\n faSignOutAlt,\n faInfoCircle,\n faChartLine,\n faChartBar,\n faCopy,\n faSyncAlt,\n faPoll,\n faUserCog,\n faBiking,\n faWalking,\n faHiking,\n faSwimmer,\n faDumbbell,\n faPython,\n faSlidersH,\n faUserPlus,\n faShare,\n faChevronLeft,\n faChevronDown,\n faChevronUp,\n faFile,\n faSortDown,\n faSortUp,\n faSort,\n faExternalLinkAlt,\n faExpand,\n faCompress,\n faSync,\n faHashtag,\n faArrowCircleRight,\n faEnvelopeOpenText,\n faUsers,\n faFileCode,\n faFileCsv,\n faFileArchive\n)\n","import Teams from '../../common/types/Teams'\nimport Player from '../../common/types/Player'\nimport { Response } from '../../common/types/ResponsesPlayerResponsesDTO'\nimport { compact } from 'lodash'\nimport moment from 'moment'\nimport { fullMomentDateFormatWithTime } from '../../common/Constants'\nimport { average, standardDeviation } from '../../common/Math'\nimport Param from '../../common/types/Param'\nimport I18n from 'i18n'\nimport {\n AccelerationZone,\n HeartRateZone,\n PolarTrainingSession, PowerZone,\n SpeedZone\n} from '../../common/types/PolarTrainingSessionsDTO'\nimport PolarVariable from '../../common/types/PolarVariable'\nimport FillOutSession from '../../common/types/FillOutSession'\n\nexport const findPlayer = (playerId: number, teams: Teams): Player | undefined => {\n let player: Player | undefined\n for (const team of teams) {\n player = team.players.find(cPlayer => cPlayer.id === playerId)\n if (player != null) break\n }\n return player\n}\n\nexport interface Point {\n x: Date\n y: number\n formatted_date: string\n heart_rate_avg_percent?: number\n distance_meters?: number\n kilo_calories?: number\n sprint_counter?: number\n speed_avg_kmh?: number\n duration_ms?: number\n heart_rate_max?: number\n heart_rate_avg?: number\n heart_rate_min?: number\n heart_rate_max_percent?: number\n heart_rate_min_percent?: number\n speed_max_kmh?: number\n cadence_avg?: number\n cadence_max?: number\n training_load?: number\n cardio_load?: number\n muscle_load?: number\n heart_rate_zones?: HeartRateZone[]\n speed_zones_kmh?: SpeedZone[]\n acceleration_zones_ms2?: AccelerationZone[]\n power_zones?: PowerZone[]\n}\n\ninterface PlayerData {\n data: Point[]\n nrResponses: number\n}\n\nexport const getPlayerData = (playerId: number, responses: Response[], params: Param[], showIndividualZScores: boolean, givenPlayerMean?: number, givenPlayerStd?: number): PlayerData => {\n const playerValues: number[] = []\n const data: Point[] = compact(responses.filter(response => response.contents.playerId === playerId).map(response => {\n let value: number | undefined\n let found = false\n for (const param of params) {\n if (Object.keys(response.contents).includes(param)) {\n value = response.contents[param]\n found = true\n break\n }\n }\n if (!found || value === undefined) return null\n const responseDateMoment = moment(response.completed_at)\n playerValues.push(value)\n return {\n x: responseDateMoment.toDate(),\n y: value,\n formatted_date: responseDateMoment.locale(I18n.locale).format(fullMomentDateFormatWithTime)\n }\n }))\n if (playerValues.length > 0) {\n const playerMean = givenPlayerMean ?? average(playerValues)\n const playerStd = givenPlayerStd ?? standardDeviation(playerValues)\n if (showIndividualZScores) {\n if (playerStd > 0.0001) {\n for (const dataPoint of data) {\n dataPoint.y = (dataPoint.y - playerMean) / playerStd\n }\n } else {\n for (const dataPoint of data) {\n dataPoint.y = 0\n }\n }\n }\n }\n return { data: data, nrResponses: playerValues.length }\n}\n\nexport const getPlayerValue = (fillOutSession: FillOutSession, params: Param[]): number | null => {\n let value: number | undefined\n let found = false\n for (const param of params) {\n if (Object.keys(fillOutSession.response?.contents ?? {}).includes(param)) {\n value = fillOutSession.response?.contents[param]\n found = true\n break\n }\n }\n if (!found || value === undefined) return null\n return value\n}\n\nexport const getPlayerTrainingSessionData = (playerId: number, polarTrainingSessions: PolarTrainingSession[], params: PolarVariable[], showIndividualZScores: boolean, givenPlayerMean?: number, givenPlayerStd?: number): PlayerData => {\n const playerValues: number[] = []\n const data: Point[] = compact(polarTrainingSessions.filter(polarTrainingSession => polarTrainingSession.player_id === playerId).map(polarTrainingSession => {\n // We only use the first param ever\n const value: number = polarTrainingSession[params[0]]\n const trainingSessionDateMoment = moment(polarTrainingSession.trimmed_start_time)\n playerValues.push(value)\n return {\n x: trainingSessionDateMoment.toDate(),\n y: value,\n formatted_date: trainingSessionDateMoment.locale(I18n.locale).format(fullMomentDateFormatWithTime),\n heart_rate_avg_percent: polarTrainingSession.heart_rate_avg_percent,\n distance_meters: polarTrainingSession.distance_meters,\n kilo_calories: polarTrainingSession.kilo_calories,\n sprint_counter: polarTrainingSession.sprint_counter,\n speed_avg_kmh: polarTrainingSession.speed_avg_kmh,\n duration_ms: polarTrainingSession.duration_ms,\n heart_rate_max: polarTrainingSession.heart_rate_max,\n heart_rate_avg: polarTrainingSession.heart_rate_avg,\n heart_rate_min: polarTrainingSession.heart_rate_min,\n heart_rate_max_percent: polarTrainingSession.heart_rate_max_percent,\n heart_rate_min_percent: polarTrainingSession.heart_rate_min_percent,\n speed_max_kmh: polarTrainingSession.speed_max_kmh,\n cadence_avg: polarTrainingSession.cadence_avg,\n cadence_max: polarTrainingSession.cadence_max,\n training_load: polarTrainingSession.training_load,\n cardio_load: polarTrainingSession.cardio_load,\n muscle_load: polarTrainingSession.muscle_load,\n heart_rate_zones: polarTrainingSession.heart_rate_zones,\n speed_zones_kmh: polarTrainingSession.speed_zones_kmh,\n acceleration_zones_ms2: polarTrainingSession.acceleration_zones_ms2,\n power_zones: polarTrainingSession.power_zones\n }\n }))\n if (playerValues.length > 0) {\n const playerMean = givenPlayerMean ?? average(playerValues)\n const playerStd = givenPlayerStd ?? standardDeviation(playerValues)\n if (showIndividualZScores) {\n if (playerStd > 0.0001) {\n for (const dataPoint of data) {\n dataPoint.y = (dataPoint.y - playerMean) / playerStd\n }\n } else {\n for (const dataPoint of data) {\n dataPoint.y = 0\n }\n }\n }\n }\n return { data: data, nrResponses: playerValues.length }\n}\n\nexport interface PlotBand {\n color: string\n from: Date | number\n to: Date | number\n}\n\nexport type Period = 'three_months' | 'six_months' | 'nine_months'\nexport const PERIODS: Period[] = ['three_months', 'six_months', 'nine_months']\nexport type GraphType = 'self_efficacy' | 'motivation' | 'mood' | 'performance' | 'enjoyment' | 'intensity' | 'recovery'\n\ninterface Graphs {\n self_efficacy: Param[]\n motivation: Param[]\n mood: Param[]\n performance: Param[]\n enjoyment: Param[]\n intensity: Param[]\n recovery: Param[]\n}\n\nexport const GRAPHS: Graphs = {\n recovery: ['v1', 'v9'],\n self_efficacy: ['v2', 'v10'],\n motivation: ['v3', 'v11'],\n mood: ['v4', 'v12'],\n intensity: ['v5', 'v8', 'v13'],\n performance: ['v6', 'v14'],\n enjoyment: ['v7', 'v15']\n}\n","import React, { useEffect, useState } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { WithModal } from '../../modal/ModalProvider'\nimport I18n from 'i18n'\nimport PinCode from '../../pin_code/PinCode'\nimport TabPanel, { Tab } from 'components/common/TabPanel'\nimport TrainingSessionsPast from 'components/training_sessions/layout/TrainingSessionsPast'\nimport TrainingSessionsUpcoming from 'components/training_sessions/layout/TrainingSessionsUpcoming'\n\nconst TrainingSessionsOverview = (props) => {\n const [selectedTab, setSelectedTab] = useState('past')\n\n useEffect(() => {\n props.fetchTeams()\n }, [])\n\n const changeTab = (tabName) => {\n setSelectedTab(tabName)\n // remove the ?page=1 from the url\n props.history.push(props.location.pathname)\n }\n\n return (\n <>\n \n \n
    \n
    \n
    \n \n \n {selectedTab === 'past' && }\n \n \n {selectedTab === 'upcoming' && }\n \n \n
    \n
    \n
    \n
    \n \n )\n}\n\nexport default WithModal(WithFlashMessages(TrainingSessionsOverview))\n","import React from 'react'\nimport classNames from 'classnames'\nimport { optionalTranslate } from '../Utils'\n\nconst Slider = (props) => {\n let value = props.value\n let notChanged = false\n const minLabel = props.minLabel ? props.minLabel : props.min.toString()\n const maxLabel = props.maxLabel ? props.maxLabel : props.max.toString()\n if (value === undefined) {\n notChanged = true\n // value = Math.trunc((props.min + props.max) / 2)\n if (props.vertical) {\n value = props.max\n } else {\n value = props.min\n }\n }\n\n const renderHorizontalSlider = () => {\n return (\n <>\n

    \n { if (notChanged) { props.setValue(parseInt(e.target.value)) } }}\n onTouchStart={e => { if (notChanged) { props.setValue(parseInt(e.target.value)) } }}\n onChange={e => props.setValue(parseInt(e.target.value))}\n />\n

    \n
    \n
    \n {optionalTranslate(minLabel)}\n
    \n
    \n {optionalTranslate(maxLabel)}\n
    \n
    \n \n )\n }\n\n const renderVerticalSlider = () => {\n const reversedLabels = Array.from(props.tickLabels).reverse()\n return (\n <>\n
    \n
    \n

    \n { if (notChanged) { props.setValue(parseInt(e.target.value)) } }}\n onTouchStart={e => { if (notChanged) { props.setValue(parseInt(e.target.value)) } }}\n onChange={e => props.setValue(parseInt(e.target.value))}\n />\n

    \n
    \n
    \n
    \n {reversedLabels.map((label, idx) => {\n const val = props.max - idx\n const translatedLabel = optionalTranslate(label)\n return (\n \n props.setValue(val)}\n >\n {translatedLabel}\n \n {val !== props.min &&
    }\n
    \n )\n })}\n
    \n
    \n
    \n \n )\n }\n\n const renderSlider = () => {\n if (props.vertical) {\n return renderVerticalSlider()\n }\n return renderHorizontalSlider()\n }\n\n return (\n
    \n
    { if (props.showErrors) { props.setShowErrors(false) } }}>\n
    \n
    {optionalTranslate(props.label)}
    \n
    \n
    \n {renderSlider()}\n
    \n
    \n
    \n )\n}\n\nexport default Slider\n","import React, { useEffect } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { WithModal } from '../../modal/ModalProvider'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport I18n from 'i18n'\nimport {\n changeProperty,\n trainingTypes,\n translateTrainingMoment,\n translateWeekday\n} from '../../teampro/Utils'\nimport moment from 'moment'\nimport { fullMomentDateFormatWithTime } from '../../common/Constants'\nimport SyntaxHighlight from '../../common/SyntaxHighlight'\nimport Spinner from '../../common/Spinner'\nimport PinCode from '../../pin_code/PinCode'\nimport { WEEKDAYS } from 'components/teampro/Constants'\n\nconst EditResponse = props => {\n const { match: { params: { responseId } } } = props\n const response = props.response\n\n useEffect(() => {\n props.fetchResponse(responseId)\n props.fetchTeams()\n }, [])\n\n useEffect(() => {\n window.M.updateTextFields()\n })\n\n if (response === undefined || props.teams === undefined || props.teams.length === 0) {\n return (\n <>\n \n
    \n \n
    \n \n )\n }\n\n const openedAt = moment(response.opened_at).format(fullMomentDateFormatWithTime)\n const completedAt = moment(response.completed_at).format(fullMomentDateFormatWithTime)\n const trainingMoment = translateTrainingMoment(response.contents.trainingMoment)\n const addExtraQuestions = response.contents.extraQuestions\n const playerName = response.contents.name\n const playerJerseyNumber = response.contents.jerseyNumber\n\n const destroyResponse = id => {\n props.destroyResponse(id)\n .then(() => {\n props.flashMessages.push(\n I18n.t('responses.flash_messages.response_deleted'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.history.push('/responses')\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const showDestroyResponseDialog = id => {\n props.setConfirmationDialog({\n onConfirmation: () => destroyResponse(id),\n target: I18n.t('responses.overview.destroy_response_prompt'),\n action: 'custom',\n noQuotes: true\n })\n }\n\n const updateResponseProperty = (propertyObj) => {\n props.updateResponse(responseId, { response: propertyObj })\n .then(() => {\n props.flashMessages.push(\n I18n.t('responses.flash_messages.response_updated'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.fetchResponse(responseId)\n })\n .catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n const setWeekday = (newWeekDay) => {\n updateResponseProperty({ weekday: newWeekDay })\n }\n\n const setTrainingType = (newTrainingType) => {\n updateResponseProperty({ training_type: newTrainingType })\n }\n\n const responseString = () => {\n return `${response.id}`\n }\n\n return (\n <>\n \n \n
    \n
    \n
    \n

    {I18n.t('responses.show_response.show_response', { name: responseString() })}

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n changeProperty('weekday-selector', setWeekday)}\n >\n {WEEKDAYS.map(cWeekday => {\n return (\n \n )\n })}\n \n
    \n
    \n \n changeProperty('training-type-selector', setTrainingType)}\n >\n {trainingTypes(props.teams).map(([cTrainingType, cTrainingTypeLabel]) => {\n return (\n \n )\n })}\n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n

    \n \n

    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n showDestroyResponseDialog(response.id)}\n >\n delete\n {I18n.t('responses.overview.delete_response')}\n \n
    \n
    \n
    \n
    \n \n )\n}\n\nexport default WithModal(WithFlashMessages(EditResponse))\n","import React from 'react'\nimport I18n from 'i18n'\nimport QRCode from 'qrcode.react'\n\nexport default class Enable extends React.Component {\n getCode () {\n return document.getElementById('2fa-code').value\n }\n\n render () {\n return (\n
    \n
    \n
    \n

    {I18n.t('components.2fa.enable.title')}

    \n

    \n {this.props.provisioning_uri && ()}\n

    \n {this.props.error && (

    {this.props.error}

    )}\n
    \n \n e.key === 'Enter' && this.props.transition({ two_factor_code: this.getCode() })}\n />\n
    \n
    \n this.props.transition({ two_factor_code: this.getCode() })}\n className='btn waves-effect waves-light text-background-color'\n >\n {I18n.t('components.2fa.enable.submit')}\n \n
    \n
    \n
    \n )\n }\n}\n","import React, { useState } from 'react'\nimport I18n from 'i18n'\nimport { Network } from '../../common/types/NetworksPlayerNetworksDTO'\n\ninterface Props {\n networks: Network[]\n}\n\nconst NetworksSlider: React.FunctionComponent = (props: Props) => {\n const [selectedNetworkIndex, setSelectedNetworkIndex] = useState(0)\n const network: Network | null = selectedNetworkIndex <= props.networks.length ? props.networks[selectedNetworkIndex] : null\n\n const handleSliderChange = (event: React.ChangeEvent): void => {\n setSelectedNetworkIndex(parseInt(event.target.value, 10))\n }\n\n return (\n
    \n {props.networks.length > 1 && (\n <>\n

    {I18n.t('visualizations.networks.slide_to_view_different_networks')}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    {I18n.t('visualizations.networks.network_at_index')}: {selectedNetworkIndex}

    \n
    \n
    \n

    {I18n.t('visualizations.networks.network_count')}: {props.networks.length}

    \n
    \n
    \n \n )}\n {(network != null) && (\n <>\n
    \n
    \n
    {I18n.t('visualizations.networks.network_details')}
    \n
    \n
    \n
    \n
    \n

    {I18n.t('visualizations.networks.start_date')}: {network.start_date}

    \n
    \n
    \n

    {I18n.t('visualizations.networks.end_date')}: {network.end_date}

    \n
    \n
    \n {network.network !== null && (\n
    \n
    \n \n
    \n
    \n )}\n {network.error_message !== null && (\n
    \n
    \n

    {I18n.t('visualizations.networks.error')}: {network.error_message}

    \n
    \n
    \n )}\n \n )}\n
    \n )\n}\n\nexport default NetworksSlider\n","import React, { useEffect, useState } from 'react'\nimport BreadCrumbs from '../../common/Breadcrumbs'\nimport { changeProperty } from '../../teampro/Utils'\nimport { LOCALES, ROLES } from '../../teampro/Constants'\nimport { capitalizeFirstLetter, smartTranslate } from '../../common/Utils'\nimport { WithFlashMessages } from '../../flashmessages/FlashMessageProvider'\nimport I18n from 'i18n'\nimport classNames from 'classnames'\nimport PinCode from '../../pin_code/PinCode'\n\nconst NewPlayer = (props) => {\n const [name, setName] = useState('')\n const [jerseyNumber, setJerseyNumber] = useState('')\n const [role, setRole] = useState('')\n const [locale, setLocale] = useState('')\n const [mobilePhone, setMobilePhone] = useState('')\n const { match: { params: { teamId } } } = props\n const team = props.teams.filter(team => `${team.id}` === teamId)[0]\n\n useEffect(() => {\n props.fetchTeams()\n }, [])\n\n useEffect(() => {\n window.M.updateTextFields()\n }, [])\n\n useEffect(() => {\n const elem = document.getElementById('name')\n if (elem) elem.focus()\n }, [props.teams])\n\n const createPlayer = () => {\n props.createPlayer({ player: { jersey_number: jerseyNumber, name, role, locale, mobile_phone: mobilePhone, team_id: teamId } }).then(() => {\n props.flashMessages.push(\n I18n.t('teams.flash_messages.player_created'),\n props.flashMessages.duration.SHORT,\n props.flashMessages.levels.INFO)\n props.history.push(`/teams/${teamId}/edit`)\n }).catch(err => {\n const errorTitles = Object.entries(err.response.data.errors[0].detail).map(([k, v]) => `${capitalizeFirstLetter(k)}: ${v.map(vv => smartTranslate(vv)).join(', ')}`).join(', ')\n props.flashMessages.push(\n errorTitles,\n props.flashMessages.duration.LONG,\n props.flashMessages.levels.ERROR)\n })\n }\n\n if (team === undefined) return <>\n\n return (\n <>\n \n \n
    \n
    \n
    \n

    {I18n.t('teams.new_player.add_player')}

    \n
    \n
    \n
    \n
    \n setName(e.target.value)}\n />\n \n
    \n
    \n setJerseyNumber(e.target.value)}\n />\n \n
    \n
    \n
    \n
    \n \n changeProperty('role-selector', setRole)}\n >\n \n )\n })}\n \n
    \n
    \n
    \n
    \n setMobilePhone(e.target.value)}\n />\n \n
    \n
    \n \n changeProperty('locale-selector', setLocale)}\n >\n \n )\n })}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n )\n}\n\nexport default WithFlashMessages(NewPlayer)\n"],"names":["props","_useState2","_slicedToArray","useState","undefined","selectedPlayerId","setSelectedPlayerId","_useNetworksPlayerNet","useNetworksPlayerNetworksQuery","_useNetworksPlayerNet2","data","networks","refetch","isSuccess","isError","useEffect","window","M","FormSelect","init","document","querySelectorAll","teams","_document$getElementB","elem","getElementById","M_FormSelect","_setValueToInput","_setSelectedStates","React","className","I18n","id","value","concat","onChange","selectedValue","_maybeArrayLike","_toConsumableArray","Array","from","options","filter","x","selected","map","isNaN","parseInt","team","players","every","player","network_count","label","name","key","SpinnerWrapper","ready","failed","transparent","length","NetworksSlider","_ref","children","_ref$failed","Spinner","r","b","split","reverse","join","s","f","c","Error","v","d","e","p","q","k","l","h","n","a","m","g","isFinite","parseFloat","toFixed","Math","abs","pow","round","toString","indexOf","match","w","substring","replace","slice","Number","u","push","apply","wNumb","t","this","negativeBefore","thousand","to","define","addNodeTo","target","div","createElement","addClass","appendChild","unique","array","closest","offset","orientation","rect","getBoundingClientRect","docElem","ownerDocument","documentElement","pageOffset","getPageOffset","test","navigator","userAgent","top","y","clientTop","left","clientLeft","isNumeric","addClassFor","element","duration","setTimeout","removeClass","limit","max","min","asArray","isArray","countDecimals","numStr","pieces","String","el","classList","add","remove","RegExp","hasClass","contains","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","scrollLeft","body","pageYOffset","scrollTop","getActions","pointerEnabled","start","move","end","msPointerEnabled","subRangeRatio","pa","pb","fromPercentage","range","toPercentage","isPercentage","getJ","arr","j","toStepping","xVal","xPct","va","vb","fromStepping","getStep","xSteps","snap","handleEntryPoint","index","that","percentage","Object","prototype","call","xHighestCompleteStep","handleStepPoint","i","totalSteps","xNumSteps","highestStep","ceil","step","Spectrum","entry","direction","singleStep","ordered","hasOwnProperty","sort","getMargin","getNearbySteps","stepBefore","startValue","thisStep","stepAfter","countStepDecimals","stepDecimals","convert","defaultFormatter","testStep","parsed","testRange","spectrum","dir","testStart","handles","testSnap","testAnimate","animate","testAnimationDuration","animationDuration","testConnect","connect","testOrientation","ort","testMargin","margin","testLimit","testPadding","padding","testDirection","testBehaviour","tap","drag","fixed","hover","events","testTooltips","tooltips","forEach","formatter","testFormat","format","testCssPrefix","cssPrefix","testCssClasses","cssClasses","testUseRaf","useRequestAnimationFrame","testOptions","tests","defaults","base","origin","handle","handleTouchArea","handleLower","handleUpper","horizontal","vertical","background","ltr","rtl","draggable","active","tooltip","pips","pipsHorizontal","pipsVertical","marker","markerHorizontal","markerVertical","markerNormal","markerLarge","markerSub","valueHorizontal","valueVertical","valueNormal","valueLarge","valueSub","keys","styles","style","styleOposite","closure","originalOptions","scope_Base","scope_Handles","scope_Connects","scope_Self","actions","scope_Target","scope_Locations","scope_HandleNumbers","scope_ActiveHandle","scope_Spectrum","scope_Values","scope_Events","addOrigin","handleNumber","setAttribute","addConnect","addElements","connectOptions","addSlider","addTooltip","firstChild","tips","bindEvent","values","unencoded","formattedValue","innerHTML","getGroup","mode","stepped","spread","generateSpread","density","group","safeIncrement","increment","indexes","firstInRange","lastInRange","ignoreFirst","ignoreLast","prevPct","unshift","current","newPct","pctDifference","type","steps","realSteps","stepsize","low","high","addMarking","filterFunc","out","valueSizeClasses","markerSizeClasses","valueOrientationClasses","markerOrientationClasses","getClasses","source","sizeClasses","getTags","addSpread","grid","baseSize","alt","width","height","attachEvent","callback","method","hasAttribute","fixEvent","buttons","calcPoint","points","methods","eventName","addEventListener","preventDefault","touch","mouse","pointer","touches","changedTouches","pageX","pageY","clientX","clientY","cursor","calcPointToPercentage","proposal","getClosestHandle","pos","moveHandles","upward","locations","handleNumbers","proposals","o","checkHandlePosition","state","setHandle","fireEvent","targetEvent","eventType","documentLeave","event","nodeName","relatedTarget","eventEnd","eventMove","appVersion","buttonsProperty","movement","startCalcPoint","removeEventListener","noUiListener","noUiListeners","setZindex","eventStart","stopPropagation","moveEvent","endEvent","outEvent","getComputedStyle","eventTap","eventHover","bindSliderEvents","behaviour","handleBefore","handleAfter","eventHolders","eventHolder","reference","lookBackward","lookForward","toPct","pct","updateHandlePosition","stateUpdate","updateConnect","requestAnimationFrame","zIndex","childNodes","setValue","valueSet","input","fireSetEvent","isInit","valueReset","valueGet","destroy","removeChild","noUiSlider","getCurrentStep","location","nearbySteps","decrement","namespacedEvent","removeEvent","namespace","bind","tEvent","tNamespace","updateOptions","optionsToUpdate","updateAble","newOptions","on","off","get","set","reset","__moveHandles","initialize","api","create","WithModal","WithFlashMessages","fetchTeams","elems","FloatingActionButton","editTeam","history","showDestroyTeamDialog","setConfirmationDialog","onConfirmation","destroyTeam","then","flashMessages","SHORT","levels","INFO","err","errorTitles","entries","response","errors","detail","_ref2","capitalizeFirstLetter","vv","smartTranslate","LONG","ERROR","action","noQuotes","BreadCrumbs","crumbs","link","onClick","PinCode","href","title","iconForRole","role","KEEPER","KEEPER_ICON","DEFENDER","DEFENDER_ICON","MIDFIELDER","MIDFIELDER_ICON","ATTACKER","ATTACKER_ICON","UNKNOWN_ICON","trainingMoments","weekday","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY","BEFORE_THE_FIRST_TRAINING","AFTER_THE_LAST_TRAINING","INDEPENDENT_OF_A_TRAINING","MATCHDAY","BEFORE_MATCH","AFTER_MATCH","trainingMomentHint","trainingMoment","message","AFTER_THE_FIRST_TRAINING","allTrainingMoments","changeProperty","eid","cb","scrollToRef","ref","scrollTo","offsetTop","optionalTranslate","obj","trainingTypes","_step","result","_iterator","_createForOfIteratorHelper","TEAM_TRAINING_TYPES","done","_step3","cTeamTrainingType","translationKey","_iterator3","_step2","_iterator2","TRAINING_TYPES","cTrainingType","translateTrainingType","trainingType","_step4","_iterator4","_ret","_loop","teamId","cTeams","smarterTranslate","translateTrainingMoment","translateWeekday","questionTitle","qId","_i","_Object$values","questionnaires","question","groupStyles","display","position","alignItems","justifyContent","athleteStyles","groupBadgeStyles","backgroundColor","borderRadius","color","fontSize","fontWeight","lineHeight","minWidth","textAlign","optionTextStyles","makeAthleteOptions","selectedPolarPlayerIds","groupedOptions","athleteOptions","uniqBy","flatten","groupedOption","selectedPolarPlayerId","athleteOption","find","teamAthletes","teamName","polarPlayers","polarPlayersInTeam","polarPlayer","team_name","player_number","first_name","last_name","identifier","formatGroupLabel","formatOptionLabel","setSelectedPolarPlayerIds","uniq","Select","isMulti","closeMenuOnSelect","defaultValue","selectedPolarPlayers","selectedPolarPlayer","placeholder","Account","_ApiConnector","_classCallCheck","_callSuper","arguments","_inherits","fields","user","AccountRoutes","sessionToken","updateSession","resetPasswordProps","defaultFormProps","translateErrors","submitMethod","endpoint","logout","handleLogout","resetPasswordEditProps","loginProps","signupProps","confirmationProps","ApiConnector","WithSession","determineColorClass","score","zScore","std","num","mean","calculateClass","trainingSession","myProfile","_ref$smallerHeader","smallerHeader","completedFillOutSessions","fill_out_sessions","fillOutSession","completed_at","anyCompleted","anyHasResponse","some","zScorePeriod","z_score_period","GRAPHS","_fillOutSession$playe","_fillOutSession$playe2","classNames","order_scores","order_score","PlayerName","_fillOutSession$playe3","graph","playerValue","getPlayerValue","orderScore","self_efficacy","motivation","mood","performance","enjoyment","recovery","intensity","sortByCompletedAt","fA","fB","trainingSessionId","params","fetchTrainingSession","updateTextFields","training_moment","training_type","createdAt","moment","created_at","fullMomentDateFormatWithTime","scheduledAt","scheduled_at","addExtraQuestions","add_extra_questions","expiresAt","expires_at","expired","invitationState","invitation_state","showDestroyFillOutSessionDialog","playerName","destroyFillOutSession","trainingSessionString","timeString","trainingSessionTimeString","showResponse","disabled","htmlFor","checked","TrainingSessionResultsTable","hasResponse","invited_at","renderFillOutLink","App","_React$Component","_this","I18nLoader","load","queryClient","QueryClient","RegisterServiceWorker","Modal","serviceWorker","register","QueryClientProvider","client","RisRouter","FlashMessages","color_map","_this2","messages","msg","Message","removeMessage","Disable","error","autoFocus","onKeyPress","transition","two_factor_code","getCode","responses","setResponses","_useState4","pageInfo","setPageInfo","_useState6","setTeams","_useState8","setResponse","getTeams","res","_ref5","_ref6","axios","headers","_objectSpread","authorizationHeaders","getResponses","page","getResponse","destroyResponse","ResponsesRoutes","overviewProps","fetchResponses","editProps","fetchResponse","_ref3","_ref4","updateResponse","patch","questionnaireData","useMemo","flat","playerData","jerseyNumber","jersey_number","DownloadCSV","filename","ExportPolarData","ExportQuestionnaires","export","exportQuestionnaires","ExportRestructured","exportRestructured","ExportCombined","exportCombined","val","Link","URLSearchParams","search","showDestroyResponseDialog","current_page","opened_at","shorterMomentDateFormatWithTime","openedAtString","completedAtString","contents","playerId","playerString","trainingTypeString","trainingDayString","trainingMomentString","extraQuestions","extraQuestionsString","Pagination","fillOutProps","NotFoundWrapper","slug","Route","exact","path","render","SubAccount","assign","trainingSessions","setTrainingSessions","trainingSessionsByDates","setTrainingSessionsByDates","_useState10","setTrainingSession","_useState12","month","setMonth","_ref11","_ref12","getPastTrainingSessions","getPastTrainingSessionsByDates","startDate","endDate","toISOString","getFutureTrainingSessions","getFutureTrainingSessionsByDates","getTrainingSession","TrainingSessionsRoutes","fetchPastTrainingSessions","fetchPastTrainingSessionsByDates","fetchFutureTrainingSessions","fetchFutureTrainingSessionsByDates","_ref7","_ref8","destroyTrainingSession","_ref9","_ref10","total_pages","pagesToShow","shift","currentPageIdx","maxPageIdx","startIdx","floor","endIdx","correction","maxPagesToShow","myFetchPage","pathname","completed","setTrainingMoment","cTrainingMoment","setTrainingType","cTrainingTypeLabel","_regeneratorRuntime","defineProperty","Symbol","iterator","asyncIterator","toStringTag","enumerable","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","defineIteratorMethods","_invoke","AsyncIterator","invoke","resolve","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","pop","prev","charAt","stop","rval","complete","finish","delegateYield","asyncGeneratorStep","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_defineProperties","toPrimitive","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","_setPrototypeOf","host","file_reader","FileReader","formName","extraProps","handleChange","handleSubmit","getFields","getErrors","nextStage","getStage","setStage","setFieldError","setFormError","clearFieldError","clearErrors","fetch","choices","stage","pictures","fieldName","newState","setState","field","endpoints","totalEndpoints","fetchedEndpoints","url","mapApiSchemaToForm","includes","console","log","usePreviousState","preState","JSON","stringify","getSelectedValues","_callee","httpMethod","handleSuccess","handleError","fieldsToSubmit","imageFields","imagesToSubmit","requestBody","_context","parse","currentTarget","form","accept","all","signed_id","mapFormToApiSchema","handleRequest","_handleSubmit","_next","_throw","_x","_x2","_x3","_x4","_x5","_x6","_x7","_this3","_props$myProfile","_props$myProfile2","_props$myProfile3","oldPassword","setOldPassword","newPassword","setNewPassword","confirmationPassword","setConfirmationPassword","newPasswordValid","setNewPasswordValid","passwordError","setPasswordError","duringRefresh","setDuringRefresh","_useState14","showHowToUse","setShowHowToUse","_useState16","pinCode","setPinCode","_useState18","pinCode2","setPinCode2","_useState20","usePinCode","setUsePinCode","_useState22","emptyIsAllowed","setEmptyIsAllowed","use_pin_code","apiUrl","process","post","pin_code","_res$data","verified","authorizePolarAccount","POLAR_CLIENT_ID","email","onUpdatePassword","onUpdateUser","invalid","api_token","FontAwesomeIcon","icon","onRegenerateApiToken","src","Step1","Step2","Step3","Info","text","tooltipId","sub_tokens","subToken","description","last_used_at","destroyToken","showDestroySubTokenDialog","AddToken","createToken","POLAR_ENABLED","marginBottom","has_polar_token","rel","destroyPolarToken","translatedLabel","myRef","required","showErrors","setShowErrors","option","newValue","curVal","csvData","Parser","delimiter","CSVLink","enclosingCharacter","separator","Login","_FormFactory","form_fields","component","submit","properties","autoComplete","password","otp_attempt","setHeight","authorization","loadAsync","localStorage","setItem","PIN_CODE","handleInvalidOtp","account_locked","handleFieldError","Redirect","renderFields","renderSubmit","handleClick","FormFactory","LoggedInRouter","NotFoundProvider","LoggedInRedirector","TeamProRoutes","TeamsController","SubAccountController","TrainingSessionsController","ResponsesController","VisualizationsController","PasswordController","ExportsController","FillOutSessionController","CallbackController","datePickerDefaultOptions","freeze","dateFormat","showYearDropdown","showMonthDropdown","isClearable","dateAndTimePickerDefaultOptions","showTimeSelect","timeIntervals","fullMomentDateFormat","hcOrange","hcDarkOrange","hcLightGreen","hcGreen","hcRed","hcBlack","hcLightGrey","hcDarkGrey","hcFadedRed","hcBlue","hcDayPartColor","hcTypeColor","hcSessionColor","hcInactiveIconColor","hcTitleColor","hcSubTitleColor","hcAxisLabelColor","hcTitleFont","hcChartFont","hcTitleFontSize","hcTitleLineHeight","hcTitlefontWeight","hcAxisFontSize","highchartsThemeElementary","chart","fontFamily","subtitle","plotOptions","series","states","inactive","opacity","legend","enabled","align","verticalAlign","xAxis","gridLineWidth","gridLineColor","lineColor","minorGridLineColor","tickColor","tickWidth","yAxis","credits","crosshairs","outside","global","useUTC","ostrcSumField","emiSumField","emhSumField","QUESTION_MAPPING","v0","v1","v2","v3","v4","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","v22","trainingFields","matchFields","specialEventFields","ostrcFields","emiFields","emhFields","ModalContext","ModalProvider","defaultState","Component","componentProps","confirmationDialogProps","show","windowScrollY","modal","modalComponent","prevProps","prevState","focus","scrollY","fixTheBody","ConfirmationDialog","unFixTheBody","_this$state","Provider","setModalComponent","handleSetComponent","handleShow","hide","handleHide","handleSetConfirmationDialog","onClose","Consumer","context","setLocale","_Router","Tabs","Router","CookiesProvider","FlashMessageProvider","SessionProvider","BackendProvider","Session","SelectMultiple","initDefaultValue","size","_this$props","currentValue","noWrapper","noTranslate","fieldProps","valueProp","multiple","getInstance","choice","scope","callbackProps","Callback","exportDataProps","ExportData","Confirmation","paramIdx","str","locationParam","success","isLoggedIn","session","isValid","loggedOutClass","wrapperClassnames","loginWrapper","LoginWrapper","cookies","LOGIN_REDIRECT_URL","Switch","withCookies","number","decimalPlaces","smartRounding","unCorrectedStandardDeviation","avg","average","avgSquareDiff","diff","sqrt","standardDeviation","numbersArr","total","meanVal","SDprep","key2","reduce","sum","movingAverageKernel","windowSize","_","movingAverage","bin","binSize","totalBins","bins","iBin","_bins","remainingElements","binnedAverage","getWeekNumber","Date","UTC","getFullYear","getMonth","getDate","setUTCDate","getUTCDate","getUTCDay","yearStart","getUTCFullYear","weekNo","getZoneCount","limits","zoneCount","idx","getCumulativeDistribution","distributions","cumulative","normalizeHistogram","histogram","totalSamples","_props$match$params","subTokenId","subTokenToken","fetchSession","FallbackComponent","Logo","paddingTop","deleteDomObjects","Sidenav","onManagerInterface","cplayer","getTrainingMoment","getPlayerTrainingMoment","hideOverlays","sidenav","overflow","query","parentNode","logOut","showLogOutDialog","renderMenu","showOnlyLogOut","onGoToManagerInterface","getPlayerTrainingType","Locale","COACH","m6","setPlayer","webpackContext","req","webpackContextResolve","__webpack_require__","code","module","exports","useRef","propsShowErrors","theRest","_objectWithoutProperties","_excluded","sharedProps","Slider","Radio","Checkbox","Textfield","Battery","_arrayLikeToArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","setOnManagerInterface","selectedPlayers","setSelectedPlayers","setWeekday","setExtraQuestions","setTrainingSessionId","forceUpdate","onbeforeunload","newLocale","locale","_response","_I18n","handleQuestionnaireCompletion","cPlayer","openedAt","completedAt","createResponseOnBackend","sendInvites","scheduledDates","training_session","selectedPlayer","instance","createTrainingSession","Header","newPlayer","getItem","goBack","afterVerifyCallback","ManagerInterface","onTogglePlayerSelection","aplayer","handleTogglePlayerSelection","selectPlayers","playersToAdd","deSelectPlayers","newSelectedPlayers","cWeekday","showCoachQuestionnaireButton","loadCoachQuestionnaire","team_id","onDone","removeItem","onSendInvites","PlayerInterface","onQuestionnaireCompletion","disabledQuestionnaireKeys","cTeam","disabled_questionnaire_keys","getDisabledQuestionnaireKeys","onGoBack","setPlayerTrainingType","setPlayerTrainingMoment","createBrowserHistory","Field","snapshot","InitialState","_createClass","TwoFactor","_React$Component2","currentState","currentProps","stateMachine","fetchProvisioningUri","enable","Enable","enableConfirm","EnableConfirm","disable","disableConfirm","DisableConfirm","null","initAction","fetchProvisioningUriAction","enableAction","disableAction","enableConfirmAction","disableConfirmAction","transitions","condition","otp_enabled","provisioning_uri","recovery_codes","validTransitions","refetchSession","executeTransition","_this4","_this5","_this6","otp_backup_codes","_this7","otp_provisioning_uri","_this8","otp_required_for_login","currentAction","currentTransitions","_props$inline","inline","_props$reuseTooltip","reuseTooltip","MyReactTooltip","effect","ResetPassword","tabs","onShow","toArray","tab","_tab$props","setPolarPlayers","getPolarPlayers","TeamsRoutes","updateTeam","destroyPlayer","newProps","createTeam","newPlayerProps","createPlayer","editPlayerProps","fetchPolarPlayers","updatePlayer","dangerouslySetInnerHTML","__html","json","cls","PolarVariables","setTeamName","_props$yMin","_props$yMax","Highcharts","playerIds","compact","findPlayer","dynamicZScore","getPlayerData","showZScores","_player$order_scores$","_player$order_scores$2","zScoreInfo","radius","yPlotBands","HighchartsReact","highcharts","zoomType","useHTML","headerFormat","pointFormat","dateTimeLabelFormats","day","yMin","yMax","startOnTick","endOnTick","plotBands","VisualizationsOverview","_props$value","trim","MyAxios","getAllPages","responseCallback","hasNext","nextPage","_args","has_next","ErrorBoundaryContext","ErrorBoundary","hasError","info","WithErrorBoundary","defaultChoice","finalValue","FlashMessageContext","WARNING","timeout","setVerified","askForPinCode","EnterPinCode","verify","debounce","withRouter","SubAccountRoutes","sessionAud","aud","request","fetchDefaults","fieldsToFetch","getEndpoint","from_endpoint","endpointFieldMapping","groupByEndpoint","choicesToFetch","choiceEndpointMapping","allDataFetched","groupFieldsByStage","stages","fieldsToRender","getFieldsToRender","propKey","CheckBox","Toggle","Chips","SelectMultipleIcon","getFieldsToSubmit","submitId","submitText","cancelText","handleCancelClick","handleCancel","calendarView","setCalendarView","handleMonthChange","ReactTooltip","rebuild","editTrainingSession","showDestroyTrainingSessionDialog","notFilledOutString","completionString","notFilledOut","notFilledOutPerc","playerList","monthBegin","startOf","toDate","monthEnd","endOf","CalendarMonthView","renderDay","dayMoment","beginDay","endDay","onThisDay","trainingSessionDate","trainingTimeString","onMonthChange","dayTextStyle","right","inactiveDayStyle","activeDayStyle","borderWidth","html","targetHeight","LoginContainer","SignUp","ResetPasswordEdit","playerQuery","setPlayerQuery","filteredPlayers","regex","toLowerCase","filterForQuery","renderPlayer","renderPlayerSelect","Questionnaire","initialValues","translatedStr","substr","defaultMessage","string","toUpperCase","timestamp","dte","getTime","timestamp2","seconds","reverseFormatterStart","reverseFormatterEnd","_props$myProfile$z_sc","_props$myProfile$dyna","_props$myProfile4","minDate","subtract","maxDate","resilience_days_difference","setStartDate","setEndDate","selectedTeamIds","setSelectedTeamIds","selectedPlayerIds","setSelectedPlayerIds","setShowZScores","setZScorePeriod","dynamic_z_score","setDynamicZScore","_useResponsesPlayerRe","useResponsesPlayerResponsesQuery","_useResponsesPlayerRe2","updateStartDate","date","daysDifference","dateSlider","_noUiSlider","rangeSlider","toggleTeamSelection","_props$teams$filter$","cTeamId","newSelectedPlayerIds","teamPlayers","DatePicker","selectsStart","openToDate","selectsEnd","PERIODS","period","updateZScorePeriod","dynamic","cteam","_props$teams$filter$2","teamToPlayers","_a$order_scores$zScor","_a$order_scores$zScor2","_b$order_scores$zScor","_b$order_scores$zScor2","cPlayerId","SmallGraph","CallbackRoutes","createPolarToken","infoBox","infoBoxText","isChecked","password_confirm","_asyncToGenerator","BackendContext","BackendProviderCls","_makeBackendCall","pathToUse","addBasePath","_getResponsesPlayerResponses","_callee2","sortedPlayerIds","_context2","makeBackendCall","_getPolarTrainingSessionsIndex","_callee3","_context3","_x8","_getPlayerNetworks","_callee4","_context4","_x9","_x10","backend","playerResponses","getResponsesPlayerResponses","polarTrainingSessions","getPolarTrainingSessionsIndex","playerNetworks","getPlayerNetworks","WithBackend","setValues","submitEnabled","setSubmitEnabled","extraQuestionsKey","Range","hideThumbs","questionnaire","evaluationPeriod","nl","en","minLabel","maxLabel","showOnlyIf","hasSeenErroneousQuestion","findQuestionFor","qid","isVisible","conditionHolds","_Object$entries","requiredValues","sharedPropsFor","newValues","submitButton","_step5","_iterator5","requiredValue","checkQuestionnaireCompletion","moreProps","Question","Raw","VisualizationsRoutes","_res","animationFinished","checkAndUpdateHeight","scrollHeight","appendClassName","AnimateHeight","onAnimationEnd","selectedTab","setSelectedTab","TabPanel","tabName","Tab","ResilienceMonitoringDashboard","NetworksDashboard","PolarDashboard","OverviewDashboard","TeamsOverview","EditTeam","NewTeam","NewPlayer","EditPlayer","tag","onChipAdd","onChipChange","onChipDelete","chipsData","selectChip","addChip","keyCode","persist","_this$props2","onBlur","handleLoseFocus","onKeyDown","handleKeyDown","RouterWrapper","NotFound","componentSlug","WithNotFound","passwordConfirm","resetPasswordToken","reset_password_token","ResponsesOverview","EditResponse","DATE_FORMAT","INDIVIDUAL","NONE","POPULATION","variable","setVariable","NaN","allAvg","setAllAvg","showAverage","setShowAverage","movingAverageWindow","setMovingAverageWindow","pointMax","setPointMax","showDailyAverage","setShowDailyAverage","mondays","setMondays","_useState24","showPlotBands","setShowPlotBands","_useState26","minPlotBand","setMinPlotBand","_useState28","maxPlotBand","setMaxPlotBand","_useState30","minOpenToDate","setMinOpenToDate","_useState32","maxOpenToDate","setMaxOpenToDate","newMinOpenToDate","newMaxOpenToDate","completedAtMoment","fieldsArr","cPointMax","allValues","dailyAverage","allStd","allAvg1","allModifiedValues","tSeries","_getPlayerData","nrResponses","dataPoint","dateString","movingAverageApplied","plotBandMondays","cMaxDate","curMoment","isoWeekday","davg","cDate","cMoment","formatted_date","dashStyle","selectedValues","plotLines","WEEKDAYS","RECOVERY_TICK_LABELS","INTENSITY_TICK_LABELS","ROLES","NL","EN","LOCALES","TEAM_ICON","TEAM_ICON_EMPTY","TODAY","YESTERDAY","PAST_7_DAYS","EVERYTHING","CUSTOM","questionnairesTemp","tickLabels","v18Index","findIndex","splice","v18a","handleClose","Picture","setDescription","setExpiresAt","token","setToken","afterCreated","sub_token","FillOutSession","handleResult","ExportsRoutes","postQuestionnaires","postRestructured","postCombined","Choice","iconName","grayedOut","clickable","IconClass","iconClass","getTranslation","iconFileName","toggleChoice","renderChoices","LoggedOutRouter","setDisabledQuestionnaireKeys","updateTeamAttribute","toggleSelection","questionId","newDisabledQuestionnaireKeys","questionLabel","require","localeMapping","browserLocale","userLanguage","language","DEFAULT_LOCALE","webdriver","loadLocaleAsync","reject","loadFromGiven","givenLocale","loadFromGivenLocale","_n","F","addPartialSums","sumField","responseKeys","addSumFields","useContext","useQuery","ostrcResponses","_loop2","ostrcField","t1","usePolarTrainingSessionsQuery","teamObj","editPlayer","showDestroyPlayerDialog","polar_players","marginRight","QuestionnaireQuestions","swipeable","responsiveThreshold","TabHeader","componentRequireContext","pseudonymize","setPseudonymize","pseudonymizeLevelTwo","setPseudonymizeLevelTwo","disableDownload","setDisableDownload","downloadOptions","calcPseudonymizeLevel","showDownloadButton","today","start_date","end_date","pseudonymizeLevel","invitationTokenId","questionnaireCompleted","_props","updatePasswordProps","UpdatePassword","SessionContext","SessionProviderCls","cookie_options","maxAge","domain","fetchMyProfile","Authorization","playerLogin","sessionValues","redirect","reload","removeBearerFromToken","durationInMs","polarVariable","setPolarVariable","_useState34","_usePolarTrainingSess","_usePolarTrainingSess2","refetchPolar","polarTrainingSession","trimmed_start_time","startedAtMoment","_step6","_iterator6","polarSeries","colorIndex","_getPlayerTrainingSes","getPlayerTrainingSessionData","_step7","_iterator7","_step8","_iterator8","showInLegend","allSeries","polarVar","point","heart_rate_avg_percent","training_load","distance_meters","kilo_calories","sprint_counter","speed_avg_kmh","duration_ms","heart_rate_zones","in_zone","speed_zones_kmh","in_zone_meters","opposite","linkedTo","admin","setSessionToken","setAud","setAddExtraQuestions","setQuestionnaireCompleted","getSession","FillOutSessionRoutes","_cPlayer","validActions","validateAction","actionType","defaultAction","warn","actionBefore","actionAfter","targetString","useHistory","NotFoundContext","registeredComponents","Set","deregister","NotFoundMessage","NotFoundCls","PasswordRoutes","current_password","password_confirmation","_ref13","_ref14","TrainingSessionsOverview","EditTrainingSession","root","precision","decimalAdjust","isObject","isFunction","func","isSet","isString","isNumber","isBoolean","isNull","exp","lazyEvaluate","merge","dest","DATE","day_names","abbr_day_names","month_names","abbr_month_names","meridian","NUMBER_FORMAT","strip_insignificant_zeros","CURRENCY_FORMAT","unit","sign_first","PERCENTAGE_FORMAT","SIZE_UNITS","DEFAULT_OPTIONS","defaultLocale","defaultSeparator","fallbacks","translations","missingBehaviour","missingTranslationPrefix","initializeOptions","locales","list","localeParts","firstFallback","secondFallback","nullableFallbackLocale","pluralization","count","currentLocale","lookup","scopes","fullScope","getFullScope","pluralizationLookupWithoutFallback","pluralizerKey","pluralizerKeys","pluralizer","pluralizationLookup","time","am","pm","prepareOptions","subject","args","attr","createTranslationOptions","translationOptions","translate","translation","usedScope","optionsWithoutDefault","translationOption","interpolate","pluralize","missingTranslation","matches","nullPlaceholder","missingPlaceholder","p1","p2","toNumber","formattedNumber","negative","parts","buffer","sign","toCurrency","localize","localizedValue","toTime","parseDate","convertedDate","fraction","setTime","$1","$2","$3","$6","$4","$5","strftime","meridianOptions","weekDay","getDay","year","hour","getHours","hour12","secs","getSeconds","mins","getMinutes","getTimezoneOffset","absOffsetHours","absOffsetMinutes","timezoneoffset","date_string","toHumanSize","kb","iterations","extend","obj1","obj2","factory","ccTeam","setName","setJerseyNumber","setRole","setTeamId","mobilePhone","setMobilePhone","mobile_phone","PolarPlayerSelect","polar_player_ids","teamProDashboardProps","TeamProDashboard","isOpen","modalClassName","overlayClassName","shouldCloseOnOverlayClick","onRequestClose","RESOLVING","SUCCESS","FAILED","useLocation","marginTop","NOW","SCHEDULED","sendSmsWhen","setSendSmsWhen","minute","second","millisecond","setScheduledDates","Collapsible","polar_token_invalid","renderTeamName","selectedCount","teamPlayer","selectedPlayerCount","renderTeam","allSelected","noneSelected","_e","renderAllNone","checkIfPresent","requiredChecks","showSendInvitesDialog","addDate","newScheduledDates","removeDate","scheduledDate","ReactDatePicker","setScheduledDate","timeCaption","enUS","BATTERIES","library","faExclamationTriangle","faRetweet","faCalendarWeek","faVolleyballBall","faFutbol","faRunning","faSkating","faPlay","faPause","faQuestion","faEdit","faEye","faDownload","faStrava","faHeartbeat","faGoogle","faTrash","faTimes","faCheck","faPlus","faBell","faUser","faPen","faSignOutAlt","faInfoCircle","faChartLine","faChartBar","faCopy","faSyncAlt","faPoll","faUserCog","faBiking","faWalking","faHiking","faSwimmer","faDumbbell","faPython","faSlidersH","faUserPlus","faShare","faChevronLeft","faChevronDown","faChevronUp","faFile","faSortDown","faSortUp","faSort","faExternalLinkAlt","faExpand","faCompress","faSync","faHashtag","faArrowCircleRight","faEnvelopeOpenText","faUsers","faFileCode","faFileCsv","faFileArchive","showIndividualZScores","givenPlayerMean","givenPlayerStd","playerValues","found","param","responseDateMoment","playerMean","playerStd","_fillOutSession$respo","_fillOutSession$respo2","_fillOutSession$respo3","player_id","trainingSessionDateMoment","heart_rate_max","heart_rate_avg","heart_rate_min","heart_rate_max_percent","heart_rate_min_percent","speed_max_kmh","cadence_avg","cadence_max","cardio_load","muscle_load","acceleration_zones_ms2","power_zones","TrainingSessionsPast","TrainingSessionsUpcoming","notChanged","reversedLabels","onTouchStart","responseId","playerJerseyNumber","updateResponseProperty","propertyObj","newWeekDay","newTrainingType","responseString","SyntaxHighlight","QRCode","selectedNetworkIndex","setSelectedNetworkIndex","network","error_message"],"sourceRoot":""}