{"version":3,"file":"static/js/7127.4539f425.chunk.js","mappings":"iJAGO,IAAIA,EAAO,CACdC,UAAW,EACXC,IAAK,EACLC,MAAO,GACPC,MAAO,GACPC,IAAK,GACLC,MAAO,GACPC,OAAQ,GACRC,SAAU,GACVC,IAAK,GACLC,KAAM,GACNC,KAAM,GACNC,GAAI,GACJC,MAAO,GACPC,KAAM,GACNC,OAAQ,G,gwBCjBDC,EACE,CACLC,MAAO,KACPC,OAAQ,KACRC,MAAO,MAJJH,EAMK,CACRC,MAAO,KACPC,OAAQ,KACRC,MAAO,MCNJC,EAAO,WACd,IACIC,EACAC,EAFAC,EAAK,GAGT,IAAKF,EAAI,EAAGA,EAAI,GAAIA,IAChBC,EAAyB,GAAhBE,KAAKF,SAAgB,EACpB,IAAND,GAAiB,KAANA,GAAkB,KAANA,GAAkB,KAANA,IACnCE,GAAM,KAEVA,IAAa,KAANF,EAAW,EAAW,KAANA,EAAqB,EAATC,EAAa,EAAKA,GAASG,SAAS,IAE3E,OAAOF,CACX,ECbWG,EAAa,WAEpB,IADA,IAAIC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIG,EAAS,CAAC,EAOVC,EAAU,SAAUC,GAAQ,OAAOA,EAClCC,QAAO,SAAUC,GAAO,OAAe,IAARA,KAAkBA,CAAK,IACtDC,KAAI,SAAUD,GACf,OAAOE,MAAMC,QAAQH,GACjBH,EAAQG,GAVE,SAAUA,GAAO,MAAsB,kBAARA,EAAmBI,OAC/DC,KAAKL,GACLM,SAAQ,SAAUC,GACnBX,EAAOW,GAAOP,EAAIO,EACtB,IAAKX,EAAOI,IAAO,CAAM,CAOjBQ,CAAYR,EACpB,GAAI,EAGJ,OADAH,EAAQL,GACDY,OACFC,KAAKT,GACLK,KAAI,SAAUM,GAAO,OAAQX,EAAOW,IAAQA,GAAQ,IAAM,IAC1DR,QAAO,SAAUU,GAAM,OAAc,OAAPA,CAAa,IAC3CC,KAAK,IACd,EC1BW7C,EACI,EADJA,EAGA,GAHAA,EAKF,GALEA,EAMA,GANAA,EASF,GATEA,EAUD,GAVCA,EAWD,GAXCA,EAYH,GAZGA,EAaA,GAbAA,EAcD,GAdCA,EAeC,GCND8C,EAAc,SAAUC,EAAUC,EAAUC,GACnD,IAAIC,EAAqC,kBAAbH,EAAwBI,SAASJ,OAAUK,GAAaL,EACpF,GAAuBM,MAAnBH,EAGJ,YAA0BE,IAAnBF,EACDA,EACAF,EACGC,OAAiCG,GAhBtB,EAID,CAcvB,ECnBWE,EAAe,CACtB,QAAW,GACX,OAAU,YACV,MAAS,YACT,OAAU,YACV,MAAS,YACT,OAAU,YACV,QAAW,aACX,SAAY,eCCLC,EAAkBC,EAAAA,MAAgB,CACzCC,KAAMD,EAAAA,OAAAA,WACNE,QAASF,EAAAA,OAAAA,WACTG,QAASH,EAAAA,OAAAA,aCfTI,EAAsC,WAStC,OARAA,EAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,EAASS,MAAMC,KAAMzC,UAChC,EACI0C,EAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAIG,KAAKF,EAAOxB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,IAAMO,EAAEC,QAAQR,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,oBAAjCxB,OAAOmC,sBACtB,KAAIrD,EAAI,EAAb,IAAgB4C,EAAI1B,OAAOmC,sBAAsBX,GAAI1C,EAAI4C,EAAEnC,OAAQT,IAC3DmD,EAAEC,QAAQR,EAAE5C,IAAM,GAAKkB,OAAO2B,UAAUS,qBAAqBP,KAAKL,EAAGE,EAAE5C,MACvEyC,EAAEG,EAAE5C,IAAM0C,EAAEE,EAAE5C,IAF4B,CAItD,OAAOyC,CACX,EAmBWc,EAAOC,EAAAA,YAAiB,SAAUC,EAAOC,GAChD,IAAIC,EAAYF,EAAME,UAAWvB,EAAOqB,EAAMrB,KAAMwB,EAAaH,EAAMG,WAAYC,EAAOJ,EAAMI,KAAMC,EAAOL,EAAMK,KAAMC,EAAQN,EAAMM,MAAO7D,EAAKuD,EAAMvD,GAAIwB,EAAW+B,EAAM/B,SAAUsC,EAASd,EAAOO,EAAO,CAAC,YAAa,OAAQ,aAAc,OAAQ,OAAQ,QAAS,KAAM,aAC9QQ,EAAST,EAAAA,OAAa,MACtBU,EAAaV,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0BS,GAAQ,WAAc,MAAQ,CACpDE,QAASD,EAAWE,QACpB,IACJZ,EAAAA,oBAA0BE,GAAK,WAAc,OAAOO,EAAOG,OAAS,IACpE,IAAIC,EAAWb,EAAAA,SAAc,WAAc,OAAOK,GAAQS,EAAaT,IAAM,GAAG,CAACA,IAC7EU,EAAWf,EAAAA,SAAc,WAAc,OAAOM,GAAQQ,EAAaR,IAAM,GAAG,CAACA,IAC7EU,EAAiBhB,EAAAA,SAAc,WAC/B,IAAIiB,EACJ,OAAOpE,EAAW,SAAU+B,GD5CX,SAAUA,GAAQ,MAAO,OAASA,CAAM,CC4CrBsC,CAAYtC,KAAQqC,EAAK,CAAC,GACvD,WAAWE,OAAOf,IAAeA,EACpCa,EAAG,YAA2B,eAAbF,GAA0C,SAAbA,EAC9CE,EAAG,YAA2B,aAAbF,GAAwC,SAAbA,EAC5CE,GAAKxC,EAAaoC,GAAWV,EACrC,GAAG,CAACvB,EAAMwB,EAAYS,EAAUE,EAAUZ,IACtCiB,ECtDc,SAAUnB,EAAOQ,EAAQY,QAC5B,IAAXA,IAAqBA,EAAS,CAAC,GACnC,IAAIC,EAAkBtB,EAAAA,aAAkB,SAAUuB,GAC1CF,EAAOG,aACPH,EAAOG,YAAYjC,UAAKhB,EAAWgD,GAEnCtB,EAAMuB,aACNvB,EAAMuB,YAAYjC,UAAKhB,EAAW,CAC9BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOG,YAAavB,EAAMuB,YAAaf,IACvCiB,EAAgB1B,EAAAA,aAAkB,SAAUuB,GACxCF,EAAOM,WACPN,EAAOM,UAAUpC,UAAKhB,EAAWgD,GAEjCtB,EAAM0B,WACN1B,EAAM0B,UAAUpC,UAAKhB,EAAW,CAC5BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOM,UAAW1B,EAAM0B,UAAWlB,IA8EvC,MAAO,CACHmB,QA9Ec5B,EAAAA,aAAkB,SAAUuB,GACtCF,EAAOO,SACPP,EAAOO,QAAQrC,UAAKhB,EAAWgD,GAE/BtB,EAAM2B,SACN3B,EAAM2B,QAAQrC,UAAKhB,EAAW,CAC1BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOO,QAAS3B,EAAM2B,QAASnB,IAqE/BkB,UAAWD,EACXF,YAAaF,EACbO,cAtEoB7B,EAAAA,aAAkB,SAAUuB,GAC5CF,EAAOQ,eACPR,EAAOQ,cAActC,UAAKhB,EAAWgD,GAErCtB,EAAM4B,eACN5B,EAAM4B,cAActC,UAAKhB,EAAW,CAChCkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOQ,cAAe5B,EAAM4B,cAAepB,IA6D3CqB,aA5DmB9B,EAAAA,aAAkB,SAAUuB,GAC3CF,EAAOS,cACPT,EAAOS,aAAavC,UAAKhB,EAAWgD,GAEpCtB,EAAM6B,cACN7B,EAAM6B,aAAavC,UAAKhB,EAAW,CAC/BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOS,aAAc7B,EAAM6B,aAAcrB,IAmDzCsB,aAlDmB/B,EAAAA,aAAkB,SAAUuB,GAC3CF,EAAOU,cACPV,EAAOU,aAAaxC,UAAKhB,EAAWgD,GAEpCtB,EAAM8B,cACN9B,EAAM8B,aAAaxC,UAAKhB,EAAW,CAC/BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOU,aAAc9B,EAAM8B,aAActB,IAyCzCuB,YAxCkBhC,EAAAA,aAAkB,SAAUuB,GAC1CF,EAAOW,aACPX,EAAOW,YAAYzC,UAAKhB,EAAWgD,GAEnCtB,EAAM+B,aACN/B,EAAM+B,YAAYzC,UAAKhB,EAAW,CAC9BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOW,YAAa/B,EAAM+B,YAAavB,IA+BvCwB,WA9BiBjC,EAAAA,aAAkB,SAAUuB,GACzCF,EAAOY,YACPZ,EAAOY,WAAW1C,UAAKhB,EAAWgD,GAElCtB,EAAMgC,YACNhC,EAAMgC,WAAW1C,UAAKhB,EAAW,CAC7BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOY,WAAYhC,EAAMgC,WAAYxB,IAqBrCyB,YApBkBlC,EAAAA,aAAkB,SAAUuB,GAC1CF,EAAOa,aACPb,EAAOa,YAAY3C,UAAKhB,EAAWgD,GAEnCtB,EAAMiC,aACNjC,EAAMiC,YAAY3C,UAAKhB,EAAW,CAC9BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOa,YAAajC,EAAMiC,YAAazB,IAY/C,CD1DqB0B,CAASlC,EAAOQ,GACjC,OAAQT,EAAAA,cAAoB,OAAQjB,EAAS,CAAEmB,IAAKQ,GAAcF,EAAQY,EAAY,CAAEjB,UAAWa,EAAgBtE,GAAIA,EAAIwB,SAAUA,EAAUqC,MAAOA,EAAO6B,KAAM,iBACvK,IACArC,EAAKsC,UAAY,CACb9B,MAAO5B,EAAAA,OACP9B,WAAY8B,EAAAA,OACZC,KAAMD,EAAAA,OACNyB,WAAYzB,EAAAA,MAAgB,CACxB,UAAW,UAAW,YAAa,WACnC,OAAQ,UAAW,QAAS,UAC5B,OAAQ,QAAS,YAErB0B,KAAM1B,EAAAA,MAAgB,CAAC,UAAW,SAAU,QAAS,SAAU,QAAS,SAAU,UAAW,aAC7F2B,KAAM3B,EAAAA,MAAgB,CAAC,UAAW,aAAc,WAAY,UAEhE,IAAImC,EAAe,CACfT,KAAM,UACNC,KAAM,WAEVP,EAAKuC,YAAc,YE7EnB,IAAIvD,EAAsC,WAStC,OARAA,EAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,EAASS,MAAMC,KAAMzC,UAChC,EACI0C,EAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAIG,KAAKF,EAAOxB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,IAAMO,EAAEC,QAAQR,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,oBAAjCxB,OAAOmC,sBACtB,KAAIrD,EAAI,EAAb,IAAgB4C,EAAI1B,OAAOmC,sBAAsBX,GAAI1C,EAAI4C,EAAEnC,OAAQT,IAC3DmD,EAAEC,QAAQR,EAAE5C,IAAM,GAAKkB,OAAO2B,UAAUS,qBAAqBP,KAAKL,EAAGE,EAAE5C,MACvEyC,EAAEG,EAAE5C,IAAM0C,EAAEE,EAAE5C,IAF4B,CAItD,OAAOyC,CACX,EAoBWsD,EAAUvC,EAAAA,YAAiB,SAAUC,EAAOC,GACnD,IAAIsC,EAAWvC,EAAMuC,SAAUrC,EAAYF,EAAME,UAAWsC,EAAexC,EAAMwC,aAAcC,EAAOzC,EAAMyC,KAAMpC,EAAOL,EAAMK,KAAM5D,EAAKuD,EAAMvD,GAAIwB,EAAW+B,EAAM/B,SAAUmC,EAAOJ,EAAMI,KAAME,EAAQN,EAAMM,MAAOoC,EAAW1C,EAAM0C,SAAUvC,EAAaH,EAAMG,WAAYtB,EAAUmB,EAAMnB,QAA4B0B,GAAZP,EAAMrB,KAAec,EAAOO,EAAO,CAAC,WAAY,YAAa,eAAgB,OAAQ,OAAQ,KAAM,WAAY,OAAQ,QAAS,WAAY,aAAc,UAAW,UACldS,EAAaV,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0BE,GAAK,WAAc,MAAQ,CACjDS,QAASD,EAAWE,QACpB,IACJ,IAAIgC,EAAe5C,EAAAA,SAAc,WAAc,OAAO0C,EAAOA,EAAK9D,KAAOkC,EAAa4B,IAAM,GAAG,CAACA,IAC5F7B,EAAWb,EAAAA,SAAc,WAAc,OAAOK,GAAQS,EAAaT,IAAM,GAAG,CAACA,IAC7EU,EAAWf,EAAAA,SAAc,WAAc,OAAOM,GAAQQ,EAAaR,IAAM,GAAG,CAACA,IAC7EuC,EAAc7C,EAAAA,SAAc,WAAc,OAAOlB,GAAWgC,EAAahC,OAAS,GAAG,CAACA,IACtFgE,EAAoB9C,EAAAA,SAAc,WAClC,IAAIiB,EACJ,OAAOpE,EAAW,aAAc,WAAa+F,IAAe3B,EAAK,CAAC,GAC3D,WAAWE,OAAOf,IAAeA,EACpCa,EAAG,YAA2B,eAAbF,GAA0C,SAAbA,EAC9CE,EAAG,YAA2B,aAAbF,GAAwC,SAAbA,EAC5CE,GAAKxC,EAAaoC,GAAWV,EACrC,GAAG,CAACyC,EAAcxC,EAAYS,EAAUE,EAAUZ,IAC9C4C,EAAe/C,EAAAA,SAAc,WAC7B,OAAIC,EAAM+C,OAAS/C,EAAMgD,OACdlE,EAAS,CAAEiE,MAAO/C,EAAM+C,MAAOC,OAAQhD,EAAMgD,QAAU1C,GAEzDN,EAAM+C,MACJjE,EAAS,CAAEiE,MAAO/C,EAAM+C,MAAOC,OAAQhD,EAAM+C,OAASzC,GAExDN,EAAMgD,OACJlE,EAAS,CAAEiE,MAAO/C,EAAMgD,OAAQA,OAAQhD,EAAMgD,QAAU1C,GAGxDxB,EAAS,CAAC,EAAGwB,EAE5B,GAAG,CAACN,EAAM+C,MAAO/C,EAAMgD,OAAQ1C,IAC/B,OAAQP,EAAAA,cAAoB,OAAQ,CAAEG,UAAW2C,EAAmBvC,MAAOwC,EAAc7C,IAAKQ,GAC1FV,EAAAA,cAAoB,MAAOjB,EAAS,CAAErC,GAAIA,EAAIyD,UAAWsC,EAAclC,MAAOoC,EAAU,eAAe,EAAMzE,SAAUA,EAAUgF,WAAW,EAAOC,MAAO,6BAA8BrE,QAAS4D,EAAOA,EAAK5D,QAAU+D,EAAaO,wBAAyBV,EAAO,CAAEW,OAAQX,EAAK7D,cAAYN,GAAaiC,GAASkC,OAAOnE,EAAYiE,GAChV,IACAD,EAAQF,UAAY,CAChB9B,MAAO5B,EAAAA,OACP9B,WAAY8B,EAAAA,OACZ6D,SAAU7D,EAAAA,IACV+D,KAAM/D,EAAAA,OACNyB,WAAYzB,EAAAA,MAAgB,CACxB,UAAW,UAAW,YAAa,WACnC,OAAQ,UAAW,QAAS,UAC5B,OAAQ,QAAS,YAErB0B,KAAM1B,EAAAA,MAAgB,CAAC,UAAW,SAAU,QAAS,SAAU,QAAS,SAAU,UAAW,aAC7F2B,KAAM3B,EAAAA,MAAgB,CAAC,UAAW,aAAc,WAAY,UAEhE,IAAImC,EAAe,CACfT,KAAM,UACNC,KAAM,UACNoC,KAAM,GACN5D,QAAS,aAEbyD,EAAQD,YAAc,eC1Ff,IAAIgB,EAAetD,EAAAA,cAAoB,CAAEuD,KAAM,QACtDD,EAAahB,YAAc,yBCN3B,IAAIvD,EAAsC,WAStC,OARAA,EAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,EAASS,MAAMC,KAAMzC,UAChC,EACI0C,EAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAIG,KAAKF,EAAOxB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,IAAMO,EAAEC,QAAQR,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,oBAAjCxB,OAAOmC,sBACtB,KAAIrD,EAAI,EAAb,IAAgB4C,EAAI1B,OAAOmC,sBAAsBX,GAAI1C,EAAI4C,EAAEnC,OAAQT,IAC3DmD,EAAEC,QAAQR,EAAE5C,IAAM,GAAKkB,OAAO2B,UAAUS,qBAAqBP,KAAKL,EAAGE,EAAE5C,MACvEyC,EAAEG,EAAE5C,IAAM0C,EAAEE,EAAE5C,IAF4B,CAItD,OAAOyC,CACX,EAQWuE,EAAWxD,EAAAA,YAAiB,SAAUC,EAAOC,GACpD,IAAIe,EACAwC,EAAKzD,EAAAA,WAAiBsD,GAAeC,EAAOE,EAAGF,KAAMG,EAAQD,EAAGC,MAChEhB,EAAOzC,EAAMyC,KAAMiB,EAAgBjE,EAAOO,EAAO,CAAC,SAClDrB,GAA8B,QAArBqC,EAAKhB,EAAMyC,YAAyB,IAAPzB,OAAgB,EAASA,EAAGrC,OAASqB,EAAMrB,KACjFgF,EAAOhF,GAAQ8E,GAASA,EAAM9E,IAAgC,kBAAhB8E,EAAM9E,GAAsB8E,EAAM9E,GAAQ8D,EAE5F,OADA9D,EAAQA,GAAQ8E,GAASA,EAAM9E,IAAgC,kBAAhB8E,EAAM9E,GAAsB8E,EAAM9E,GAAQA,EACxE,QAAT2E,GAAkBK,EACtB5D,EAAAA,cAAoBuC,EAASxD,EAAS,CAAC,EAAGkB,EAAO,CAAEyC,KAAMkB,EAAK1D,IAAKA,KACnEF,EAAAA,cAAoBD,EAAMhB,EAAS,CAAC,EAAG4E,EAAe,CAAE/E,KAAMA,EAAMsB,IAAKA,IACjF,IACAsD,EAASlB,YAAc,gBCtChB,IAAIuB,EAAkB,SAAUC,EAAS7D,GAG5C,OAF2BD,EAAAA,WAAiB8D,EACzBC,CAAqB9D,EAE5C,ECNIlB,EAAsC,WAStC,OARAA,EAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,EAASS,MAAMC,KAAMzC,UAChC,EAIWgH,EAAqB,WAAc,OAAOhE,EAAAA,eAAoB,SAAUC,GAAS,OAAOA,CAAO,GAAI,EAEnGgE,EAAmB,SAAUH,EAASI,GAE7C,OAAOlE,EAAAA,YAAiB,SAAUC,EAAOC,GACzC,IAAIiE,EAAeN,EAAgBC,EAAS7D,GAC5C,OAAQD,EAAAA,cAAoBkE,EAAWnF,EAAS,CAAC,EAAGoF,EAAc,CAAEjE,IAAKA,IAC7E,GAAI,E,4BCrBAkE,EAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAezC7F,EAAsC,WAStC,OARAA,EAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,EAASS,MAAMC,KAAMzC,UAChC,EAMI+H,EAA+B,SAAUC,GAEzC,SAASD,IACL,OAAkB,OAAXC,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,IAC/D,CAKA,OARA2E,EAAUW,EAAeC,GAIzBD,EAAc1F,UAAU4F,OAAS,WAC7B,IAAIhE,EAAKxB,KAAKQ,MAAOuC,EAAWvB,EAAGuB,SAAUQ,EAAQ/B,EAAG+B,MAAOkC,EAAMjE,EAAGiE,IAAKC,EAAalE,EAAGkE,WAAYC,EAAgBnE,EAAGmE,cAC5H,OAAQpF,EAAAA,cAAoBqF,EAAAA,EAAOtG,EAAS,CAAEwB,MAAO,CAAEyC,MAAOA,EAAOsC,UAAWJ,GAAOK,WAAYJ,GAAcA,EAAWnH,QAAUoH,GAAgB5C,EAC1J,EACOuC,CACX,CAVmC,CAUjC/E,EAAAA,WACF,U,cC1CIjB,EAAsC,WAStC,OARAA,EAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,EAASS,MAAMC,KAAMzC,UAChC,EASIwI,EAAaxF,EAAAA,YAAiB,SAAUC,EAAOC,GAC/C,IAAIuF,EAAQzF,EAAAA,OAAa,MAEzB,OADAA,EAAAA,oBAA0BE,GAAK,WAAc,OAAOuF,EAAM7E,OAAS,IAC3DZ,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAC5CH,EAAAA,cAAoB0F,EAAAA,QAAS3G,EAAS,CAAC,EAAGkB,EAAO,CAAEC,IAAKuF,EAAOE,MAAO1F,EAAM0F,OAAS,GAAIC,SAAU3F,EAAM2F,SAAUC,UAAW5F,EAAM4F,UAAW3H,SAAU+B,EAAM/B,SAAU0D,QAAS,SAAUjC,GAAK,OAAOA,EAAEmG,iBAAmB,EAAGzF,KAAMJ,EAAMI,KAAM0F,SAAU9F,EAAM8F,SAAUC,QAAS/F,EAAM+F,QAASC,OAAQ,WAAc,OAAQjG,EAAAA,cAAoBkG,EAAAA,YAAa,KAC3VlG,EAAAA,cAAoBwD,EAAU,CAAE5E,KAAM,SAAU8D,KAAMyD,EAAAA,MAAiB,KACvF,IACAX,EAAWnD,UAAY,CACnBsD,MAAOhH,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,OAAkBA,EAAAA,QAChET,SAAUS,EAAAA,OACViH,SAAUjH,EAAAA,KACVkH,UAAWlH,EAAAA,KACX0B,KAAM1B,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,UAChDqH,QAASrH,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,QAAS,SAC5DoH,SAAUpH,EAAAA,MAAgB,CAAC,KAAM,QAAS,OAAQ,aAEtD6G,EAAWlD,YAAc,uBACzB,UCpCA,IAAI8B,EAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAmBzCwB,EAAmC,SAAUpB,GAE7C,SAASoB,IACL,OAAkB,OAAXpB,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,IAC/D,CAQA,OAXA2E,EAAUgC,EAAmBpB,GAI7BoB,EAAkB/G,UAAU4F,OAAS,WACjC,IAAIhE,EAAKxB,KAAKQ,MAAOoG,EAAQpF,EAAGoF,MAAOC,EAAYrF,EAAGqF,UAAWC,EAAWtF,EAAGgE,OAC3EuB,EAAQxG,EAAAA,cAAoB,MAAO,CAAEG,UAAW,8BAA8C,YAAdmG,EAC9ED,EACArG,EAAAA,cAAoB,MAAO,CAAEG,UAAW,sBAAwBkG,IACtE,YAAoB9H,IAAbgI,EAAyBA,EAAShH,UAAKhB,EAAWiI,EAAM/G,KAAKQ,OAASuG,CACjF,EACOJ,CACX,CAbuC,CAarCpG,EAAAA,WACF,UC9BA,IAAIyG,EAAY,SAAUd,GAAS,OAAiB,OAAVA,QAA4BpH,IAAVoH,CAAqB,EAyB7Ee,GAAY,SAAUC,EAAMC,EAAMC,GAClC,IAAKJ,EAAUE,GACX,OAAO,EAEX,IAAIG,EAAOnC,OAAOgC,GAIlB,OAHIE,IACAC,EAAOA,EAAKC,eAEc,IAAvBD,EAAKlH,QAAQgH,EACxB,EAIII,GAAe,SAAUC,EAAY7J,EAAM8J,EAAWC,EAAWC,GACjE,IAAIC,EAAiBJ,EAAWK,aAC5BC,EAAKnK,EAAKoF,SAASgE,KAAKU,GACxBM,EAAgBD,EAAGE,WAAaL,EAAgBD,EAAYF,EAAWS,UAAY,GACnFC,EAAaJ,EAAGD,aACpB,GAAIF,EAAe,CACf,IAAIQ,EAAO,EACPJ,EAAgBG,EAAaN,EAC7BO,EAAOJ,EAAgBG,EAAaN,EAE/BG,EAAgB,IACrBI,EAAOJ,GAEE,IAATI,EACAX,EAAWS,WAAaE,EAEM,IAAzBX,EAAWS,WAAiC,IAAdP,IACnCF,EAAWS,UAAYP,EAE/B,MAEQK,EAAgBG,EAAaN,EAAiBJ,EAAWS,UACzDT,EAAWS,UAAaF,EAAgBG,EAAaN,EAEhDG,EAAgBP,EAAWS,YAChCT,EAAWS,WAAaT,EAAWS,UAAYF,EAG3D,EAIIK,GAAsB,SAAUC,EAAOnB,EAAMoB,GAC7C,IAAI7K,GAAU,EACd,GAAIyJ,EAAM,CACNA,EAAOA,EAAKI,cACZ,IAAK,IAAIvK,EAAI,EAAGA,EAAIsL,EAAM7K,OAAQT,IAAK,CACnC,IAAIwL,GAAYC,GAAaH,EAAMtL,GAAIuL,IAAU,IAAM,GACvD,GAAIC,GAAYA,EAASjB,cAAcmB,WAAWvB,GAAO,CACrDzJ,EAASV,EACT,KACJ,CACJ,CACJ,CACA,OAAOU,CACX,EAIIiL,GAAqB,SAAUC,EAAMzB,EAAM0B,EAAWC,QACpC,IAAdA,IAAwBA,GAAY,GACxC,IAAIC,EAAS,SAAU5C,GAAS,OAAO2C,EAAY3C,EAAQA,EAAMoB,aAAe,EAChF,OAAOqB,EAAKI,WAAU,SAAUhC,GAC5B,OAAO6B,EAAYE,EAAON,GAAazB,EAAM6B,MAAgBE,EAAO5B,GAChE4B,EAAO5B,KAAU4B,EAAO/B,EAAK5J,WACrC,GACJ,EAIIqL,GAAe,SAAUzB,EAAMuB,GAC/B,GAAIA,GAAStB,EAAUD,GAAO,CAC1B,IAAIiC,EAAOV,EAAMW,MAAM,KACnBC,EAASnC,EAIb,OAHAiC,EAAK7K,SAAQ,SAAUwB,GACnBuJ,EAASA,EAASA,EAAOvJ,QAAKb,CAClC,IACOoK,CACX,CACA,OAAOnC,CACX,EAuBIoC,GAAkB,SAAUd,EAAOe,EAAUhL,GAC7CgL,EAASjL,SAAQ,SAAU4I,GACvB,IAAIU,EAAYY,EAAMU,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGgK,EAAM3I,EAAM,KAC1D,IAAfqJ,GACAY,EAAMiB,OAAO7B,EAAW,EAEhC,GACJ,EAII4B,GAAU,SAAUE,EAAOC,EAAOpL,GAClC,OAAOmL,IAAUC,GACZxC,EAAUuC,KAAWvC,EAAUwC,IAAUhB,GAAae,EAAOnL,KAASoK,GAAagB,EAAOpL,EACnG,EAIIqL,GAAiB,SAAUd,EAAMzC,EAAO0C,GACxC,GAAI1C,EAAO,CACP,IAAIwD,EAAgBhB,GAAmBC,EAAMzC,EAAO0C,GAAW,GAC/D,OAA0B,IAAnBc,EAAuBf,EAAKe,GAAiBf,EAAKP,GAAoBO,EAAMzC,EAAO0C,GAC9F,CACA,OAAOD,EAAK,EAChB,EAqBIgB,GAA0B,SAAU7H,GACN,UAA1BA,EAAMd,OAAO4I,UACb9H,EAAM+H,gBAEd,EAIIC,GAAY,SAAUC,EAAMC,EAAM5L,GAClC,QAAM2L,MAAWC,GAAQD,EAAK7C,OAAS8C,EAAK9C,OAGrC6C,IAASC,GA5EO,SAAUC,EAAOC,EAAO9L,GAG/C,QAFc,IAAV6L,IAAoBA,EAAQ,SAClB,IAAVC,IAAoBA,EAAQ,IAC5BD,IAAUC,EACV,OAAO,EAEX,GAAID,EAAMzM,SAAW0M,EAAM1M,OACvB,OAAO,EAEX,IAAK,IAAIT,EAAI,EAAGA,EAAIkN,EAAMzM,OAAQT,IAC9B,IAAKsM,GAAQY,EAAMlN,GAAImN,EAAMnN,GAAIqB,GAC7B,OAAO,EAGf,OAAO,CACX,CA6D4B+L,CAAqBJ,EAAKpB,KAAMqB,EAAKrB,KAAMvK,GACvE,EChMIuG,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAkBzC0E,GAAiB,SAAU3J,GAAK,OAAOA,EAAE2J,gBAAkB,EAI3DO,GAAiC,SAAU7E,GAE3C,SAAS6E,IACL,OAAkB,OAAX7E,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,IAC/D,CAOA,OAVA2E,GAAUyF,EAAiB7E,GAI3B6E,EAAgBxK,UAAU4F,OAAS,WAC/B,IAAIhE,EAAKxB,KAAKQ,MAAO6J,EAAW7I,EAAG6I,SAAUC,EAAc9I,EAAG8I,YAAa1B,EAAYpH,EAAGoH,UAC1F,OAAQrI,EAAAA,cAAoB,MAAO,CAAE4B,QAASnC,KAAKQ,MAAM2B,QAASJ,YAAa8H,GAAgB/I,MAAO,CAAEyJ,SAAU,SAAW7J,UAAWtD,EAAW,qBAAsB,CACjK,aAAciN,KACZ7B,GAAa8B,EAAa1B,IAAc,GACtD,EACOwB,CACX,CAZqC,CAYnC7J,EAAAA,WACF,YCnCA,IAAIoE,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAsBzCqF,GAA0B,SAAUjF,GAEpC,SAASiF,IACL,IAAIC,EAAmB,OAAXlF,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,KAEhE,OADAyK,EAAMC,YAAc,SAAUxK,GAAK,OAAOuK,EAAMjK,MAAM2B,QAAQsI,EAAMjK,MAAMmK,MAAOzK,EAAI,EAC9EuK,CACX,CAYA,OAjBA9F,GAAU6F,EAAUjF,GAMpBiF,EAAS5K,UAAU4F,OAAS,WACxB,IAAIhE,EAAKxB,KAAKQ,MAAO6J,EAAW7I,EAAG6I,SAAUzD,EAAQpF,EAAGoF,MAAOgE,EAAWpJ,EAAGoJ,SAAUC,EAAUrJ,EAAGqJ,QAAShE,EAAYrF,EAAGqF,UAAWC,EAAWtF,EAAGgE,OACjJuB,EAAQxG,EAAAA,cAAoB,KAAM,CAAEtD,GAAI+C,KAAKQ,MAAMvD,GAAI0F,KAAM,SAAU,gBAAiB0H,EAAU3J,UAAWtD,EAAW,cAAe,CACnI,aAAciN,EACd,UAAWrK,KAAKQ,MAAMsK,QACtB,UAAWC,QAAQnE,IAAwB,YAAdC,IAC7B1E,QAASnC,KAAK0K,YAAa5J,MAAO,CAAEyJ,SAAUM,EAAU,WAAa,UACzEtK,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,oBAAsB8H,GAAaoC,EAAU5K,KAAKQ,MAAMoI,WAAWzL,iBAClG2B,IAAV8H,GAAqC,YAAdC,EAA0BtG,EAAAA,cAAoB,MAAO,CAAEG,UAAW,2BAA6BkG,GAAS,MACnI,YAAoB9H,IAAbgI,EAAyBA,EAAShH,UAAKhB,EAAWiI,EAAM/G,KAAKQ,OAASuG,CACjF,EACOyD,CACX,CAnB8B,CAmB5BjK,EAAAA,WACF,YC1CA,IAAIoE,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAmBzC6F,GAA+B,SAAUzF,GAEzC,SAASyF,IACL,OAAkB,OAAXzF,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,IAC/D,CAOA,OAVA2E,GAAUqG,EAAezF,GAIzByF,EAAcpL,UAAU4F,OAAS,WAC7B,IAAIhE,EAAKxB,KAAKQ,MAAOoG,EAAQpF,EAAGoF,MAAOiE,EAAUrJ,EAAGqJ,QAAS/D,EAAWtF,EAAGgE,OAAQxB,EAAKxC,EAAGyJ,cAAeA,OAAuB,IAAPjH,GAAwBA,EAC9I+C,EAAQxG,EAAAA,cAAoB,KAAM,CAAEtD,GAAI+C,KAAKQ,MAAMvD,GAAI0F,KAAM,QAASjC,UAAWuK,EAAgB,oBAAsB,oBAAqBnK,MAAOmK,EAAgB,CAAE,UAAa,WAAc,CAAEV,SAAUM,EAAU,WAAa,UACnOtK,EAAAA,cAAoB,OAAQ,CAAEG,UAAYoG,OAA+DhI,EAApDmM,EAAgB,aAAe,oBAAkCrE,IAC1H,YAAoB9H,IAAbgI,EAAyBA,EAAShH,UAAKhB,EAAWiI,EAAM/G,KAAKQ,OAASuG,CACjF,EACOiE,CACX,CAZmC,CAYjCzK,EAAAA,WACF,Y,IChCIiB,G,WAIO0J,GAAS,mBAITC,GAAQ,kBAIRC,GAA+B,yCAI/BC,GAAiC,2CAIjCC,GAAgC,0CAIhCC,GAA0B,kBAI1BC,GAA2B,mBAI3BC,KAAYjK,GAAK,CAAC,GACtB2J,IAAS,QACZ3J,GAAG0J,IAAU,iBACb1J,GAAG4J,IAAgC,kBACnC5J,GAAG6J,IAAkC,oBACrC7J,GAAG8J,IAAiC,SACpC9J,GAAG+J,IAA2B,QAC9B/J,GAAGgK,IAA4B,SAC/BhK,ICxCAmD,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAwBzCuG,GAAsB,SAAUnG,GAEhC,SAASmG,IACL,OAAkB,OAAXnG,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,IAC/D,CA2CA,OA9CA2E,GAAU+G,EAAMnG,GAIhBmG,EAAK9L,UAAU+L,YAAc,WACzB,IAAIlB,EAAQzK,KACRwB,EAAKxB,KAAKQ,MAAOoI,EAAYpH,EAAGoH,UAAWgD,EAAapK,EAAGoK,WAAYC,EAAarK,EAAGqK,WAAYhF,EAAYrF,EAAGqF,UAAWoE,EAAgBzJ,EAAGyJ,cAAea,EAActK,EAAGsK,YAAa9H,EAAKxC,EAAGuK,KAAMA,OAAc,IAAP/H,EAAgB,EAAIA,EAAI6G,EAAUrJ,EAAGqJ,QAASmB,EAAexK,EAAGwK,aAAcC,EAAKzK,EAAG0K,kBAAmBA,OAA2B,IAAPD,GAAuBA,EAAI/F,EAAQ1E,EAAG0E,MAAOyC,EAAOnH,EAAGmH,KAAMwD,EAAa3K,EAAG2K,WAAYC,EAAwB5K,EAAG4K,sBACncpO,EAAUD,MAAMC,QAAQkI,GACxBmG,EAAe,EACnB,OAAO1D,EAAK7K,KAAI,SAAUiJ,EAAM4D,GAC5B,IAMIxJ,EAASmL,EANTC,EAAYR,EAAOpB,EACnB6B,EAAUT,EAAOpB,EAAQ0B,EACzBhC,EAAW6B,KACRlO,GAAWqL,GAAQtC,EAAMb,EAAO0F,IAC9B5N,IAAuF,IAA5EkI,EAAM6C,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGgK,EAAM6E,EAAa,KACpFhF,OAAQ9H,EAUZ,OARI6L,EAAQ,QAAoB7L,IAAf+M,IACb1K,EAAUqH,GAAazB,EAAM8E,GAC7BS,EAAW9D,GAAaG,EAAKgC,EAAQ,GAAIkB,GACrC1K,GAAWmL,GAAYnL,IAAYmL,IACnC1F,EAAQzF,SAGNrC,IAAV8H,GAAqC,WAAdC,IAAyBwF,GAAgB,GACzD,MACOvN,IAAV8H,GAAqC,WAAdC,GAA0BtG,EAAAA,cAAoByK,GAAe,CAAE/N,GAAI,UAAUyE,OAAOoK,EAAa,KAAKpK,OAAO8K,GAAU3B,QAASA,EAASzM,IAAKmO,EAAY,cAAe3F,MAAOA,EAAOqE,cAAeA,EAAezF,OAAQ4G,IACpP7L,EAAAA,cAAoBiK,GAAU,CAAEvN,GAAI,UAAUyE,OAAOoK,EAAa,KAAKpK,YAAiB5C,IAAV8H,GAAqC,WAAdC,EAAyB2F,EAAU,EAAIA,GAAU3B,QAASA,EAASD,SAAU7D,EAAMF,UAAWA,EAAWwD,SAAUA,EAAUS,QAASkB,IAAiBrB,EAAOA,MAAO4B,EAAWnO,IAAKmO,EAAWpK,QAASsI,EAAMjK,MAAM2B,QAASyG,UAAWA,EAAWhC,MAAOA,EAAOpB,OAAQ2G,IAEvX,GACJ,EACAT,EAAK9L,UAAU6M,qBAAuB,SAAUC,GAC5C,IAAIC,EAAe3M,KAAKQ,MAAMmM,aAC1BC,EAAiBrM,EAAAA,cAAoB,MAAO,CAAEG,UAAW,YACzDH,EAAAA,cAAoB,MAAO,KAAMmM,EAAoBG,iBAAiB3B,GAAQO,GAASP,OAC3F,OAAOyB,EACHA,EAAa7M,UAAKhB,EAAW8N,GAAiBA,CACtD,EACAlB,EAAK9L,UAAU4F,OAAS,WACpB,IAAIkH,GAAsBI,EAAAA,GAAAA,IAA2B9M,MACjDwB,EAAKxB,KAAKQ,MAAOvD,EAAKuE,EAAGvE,GAAI8P,EAAOvL,EAAGuL,KAAMC,EAAkBxL,EAAGwL,gBAAiBC,EAAezL,EAAGyL,aAAcC,EAAY1L,EAAG0L,UAAWC,EAAU3L,EAAG2L,QAASC,EAAa5L,EAAG4L,WAAYpJ,EAAKxC,EAAG6L,cAAeA,OAAuB,IAAPrJ,EAAgB,YAAcA,EACpQqE,EAAQrI,KAAK2L,cACjB,OAAQtD,EAAM7K,OAAU+C,EAAAA,cAAoB,MAAO,CAAEG,UAAWsM,EAAiBlM,MAAOmM,EAAcxM,IAAK2M,EAAYrL,YAAa/B,KAAKQ,MAAMuB,YAAauL,OAAQtN,KAAKQ,MAAM8M,OAAQC,SAAUvN,KAAKQ,MAAM+M,SAAUC,aAAc,MAChOjN,EAAAA,cAAoB,KAAM,CAAEtD,GAAIA,EAAI0F,KAAM,UAAW,eAAgBoK,QAAcjO,EAAW4B,UAAW2M,EAAe5M,IAAK0M,EAASrM,MAAOoM,GAAa7E,GAC1JrI,KAAKQ,MAAMiN,UAAYlN,EAAAA,cAAoB,MAAO,CAAEG,UAAW,sBAAwBV,KAAKQ,MAAMiN,WAAczN,KAAKyM,qBAAqBC,EAClJ,EACOhB,CACX,CAhD0B,CAgDxBnL,EAAAA,WACF,aACAmN,EAAAA,GAAAA,IAAwBhC,IC1ExB,IAIIiC,GAA+B,WAC/B,SAASA,IACL,IAAIlD,EAAQzK,KACZA,KAAK4N,UAAY,KACjB5N,KAAK6N,cAAgB,KACrB7N,KAAKrC,KAAO,KACZqC,KAAK8N,gBAAkB,EACvB9N,KAAK+L,KAAO,EACZ/L,KAAK+N,MAAQ,EACb/N,KAAKgO,SAAU,EACfhO,KAAKiO,SAAW,EAChBjO,KAAKkI,WAAa,EAClBlI,KAAKkO,WAAa,KAClBlO,KAAKmO,cAAgB,EACrBnO,KAAKoO,cAAgB,EACrBpO,KAAKqO,eAAgB,EACrBrO,KAAKsO,YAAc,SAAUpN,GACzB,IAAIqN,EAAK9D,EACT8D,EAAGX,UAAY1M,EACXA,IACAA,EAAQsN,aAAa,eAAgB,MACrCC,OAAOC,WAAWH,EAAGI,wBAAwBC,KAAKL,GAAK,GAE/D,EACAvO,KAAK2O,wBAA0B,WAC3BlE,EAAM4D,eAAgB,EACtB,IAAIQ,GAAgB,EACpBpE,EAAMvC,WAAauC,EAAM9M,KAAO8M,EAAM9M,KAAKoF,SAAS,GAAG8E,aAAe4C,EAAMvC,WAC5EuC,EAAMqD,gBAAkB5Q,KAAK4R,IAhCvB,QAgCwCrE,EAAMvC,WAAauC,EAAMsD,OACvE,IAAIgB,EAAYtE,EAAMqD,gBAQtB,OAPIrD,EAAMoD,gBACNgB,EAAgBpE,EAAMoD,cAAc/M,MAAM0C,SAAWuL,EAAY,QAE7DtE,EAAMoD,cAAc/M,MAAM0C,OAASuL,EAAY,MAGvDtE,EAAM4D,eAAgB,EACfQ,CACX,EACA7O,KAAKgP,cAAgBhP,KAAKgP,cAAcJ,KAAK5O,KACjD,CAkHA,OAjHA/B,OAAOgR,eAAetB,EAAc/N,UAAW,YAAa,CACxDsP,IAAK,WACD,OAAOlP,KAAKoO,aAChB,EACAe,YAAY,EACZC,cAAc,IAElBzB,EAAc/N,UAAUyP,WAAa,SAAUtD,EAAM7L,GACjD,IAAIoP,EAAUpS,KAAK4R,IAAI5R,KAAKqS,IAAI,EAAGxD,GAAO/L,KAAK+N,MAAQ/N,KAAKiO,UACxDqB,IAAYtP,KAAK+L,MAAQ/L,KAAKkO,YAC9BlO,KAAKkO,WAAW,CAAEnC,KAAMuD,EAASE,KAAMxP,KAAKiO,UAAY/N,EAEhE,EACAyN,EAAc/N,UAAU6P,YAAc,SAAUC,GAC5C1P,KAAKoO,cAAgBsB,EACjB1P,KAAKrC,OACLqC,KAAKrC,KAAKmD,MAAM6O,UAAY,cAAgBD,EAAK,MAEzD,EACA/B,EAAc/N,UAAUgQ,MAAQ,WACxB5P,KAAK4N,YACL5N,KAAK2O,0BACL3O,KAAK4N,UAAU3F,UAAY,EAC3BjI,KAAKyP,YAAY,GAEzB,EACA9B,EAAc/N,UAAUiQ,YAAc,WAC9B7P,KAAK4N,WAAa5N,KAAKrC,OACvBqC,KAAK2O,0BACL3O,KAAK4N,UAAU3F,UAAYjI,KAAK4N,UAAUkC,aAAe9P,KAAK4N,UAAU/F,aACxE7H,KAAKyP,YAAYzP,KAAK4N,UAAUkC,cAExC,EACAnC,EAAc/N,UAAUmQ,cAAgB,SAAU7P,GAC9C,IAGImI,EAHA7E,EAASxD,KAAKkI,WACdD,EAAYjI,KAAK4N,UAAU3F,UAC3B+H,EAAkBhQ,KAAKoO,cAEvB6B,EAAkBhI,EAAY+H,EAClC,KAAIC,EAAkBzM,GAAtB,CAGA,IAAK6E,EAAQ,EAAGA,EAAQrI,KAAK+L,QACrBiE,EAAkBxM,EAASyM,GAAmBhI,GADnBI,IAI/B2H,GAAmBxM,EAGvB,GADAwM,EAAkBhQ,KAAKkQ,kBAAkBF,GACrChQ,KAAK+L,KAAO1D,GAAS,GAAK2H,GAAmB/H,EAI7C,OAHAjI,KAAKyP,YAAY,GACjBzP,KAAKqP,WAAW,EAAGnP,QACnBF,KAAK4N,UAAU3F,UAAY,GAG3B+H,IAAoBhQ,KAAKoO,gBACzBpO,KAAKyP,YAAYO,GACjBhQ,KAAKqP,WAAWrP,KAAK+L,KAAO1D,EAAOnI,GAhBvC,CAkBJ,EACAyN,EAAc/N,UAAUuQ,gBAAkB,SAAUjQ,GAChD,IAIImI,EAJA7E,EAASxD,KAAKkI,WACdD,EAAYjI,KAAK4N,UAAU3F,UAC3B+H,EAAkBhQ,KAAKoO,cACvBgC,EAAcpQ,KAAKrC,KAAKoF,SAASvF,OAErC,IAAK6K,EAAQ,EAAGA,EAAQ+H,KAChBJ,EAAkBxM,GAAUyE,GADCI,IAIjC2H,GAAmBxM,EAEvBwM,EAAkBhQ,KAAKkQ,kBAAkBF,GACrC3H,GAAS+H,GAAepQ,KAAK+L,KAAO1D,GAASrI,KAAK+N,OAClD/N,KAAKyP,YAAYO,GACjBhQ,KAAKqP,WAAWrP,KAAK+N,MAAQ,EAAG7N,IAE3B8P,IAAoBhQ,KAAKoO,gBAC9BpO,KAAKyP,YAAYO,GACjBhQ,KAAKqP,WAAWrP,KAAK+L,KAAO1D,EAAOnI,GAE3C,EACAyN,EAAc/N,UAAUyQ,gBAAkB,SAAUnQ,GAChD,IAAIoQ,EAAiBtQ,KAAK+N,MAAQ/N,KAAKmO,cAAiBnO,KAAK8N,gBACzDrG,EAAYvK,KAAK4R,IAAI5R,KAAKqT,MAAMD,GAAiBtQ,KAAK+N,MAAQ,GAC9DiC,EAAkBhQ,KAAK8N,gBAAkBwC,EAAiBtQ,KAAK+N,MACnEiC,EAAkBhQ,KAAKkQ,kBAAkBF,GACzChQ,KAAKyP,YAAYO,GACjBhQ,KAAKqP,WAAW5H,EAAWvH,EAC/B,EACAyN,EAAc/N,UAAUoP,cAAgB,SAAU9O,GAC9C,IAAI+H,EAAYjI,KAAK4N,UAAY5N,KAAK4N,UAAU3F,UAAY,EACxDuI,EAAOxQ,KAAKmO,cAChBnO,KAAKmO,cAAgBlG,EAChBjI,KAAKgO,SAAYhO,KAAKrC,MAASqC,KAAK4N,YAAa5N,KAAKqO,gBAGvDpG,EAAYuI,GAAQ,GAAKvI,EAAYjI,KAAKoO,cAAgBpO,KAAKrC,KAAKmS,aAAe,GACnF9P,KAAK+P,cAAc7P,GAEd+H,EAAYuI,EAAO,GAAKvI,EAAYjI,KAAKoO,cAAyC,EAAzBpO,KAAKrC,KAAKmS,aAAmB,EAC3F9P,KAAKmQ,gBAAgBjQ,GAGrBF,KAAKqQ,gBAAgBnQ,GAE7B,EACAyN,EAAc/N,UAAUsQ,kBAAoB,SAAUxI,GAIlD,OAHAA,EAAYxK,KAAKqS,IAAI,EAAG7H,GAExBA,EAAYxK,KAAK4R,IAAI9O,KAAK8N,gBAAiBpG,EAE/C,EACOiG,CACX,CA3JmC,GA4JnC,YC3JA,IAAI8C,GAA4B,WAC5B,SAASA,IACT,CAwBA,OAvBAA,EAAW7Q,UAAU8Q,SAAW,SAAUrT,GACtC,IAAIsT,EAAUtT,EAAKsT,QACnB,OAAIA,IAAYjV,GAAWiV,IAAYjV,EAC5BsE,KAAK4Q,KAAK,CAAEzP,QAAS9D,EAAK8D,QAAS2N,IAAKzR,EAAKyR,IAAKS,IAAKlS,EAAKkS,IAAKsB,MAAO,IAE1EF,IAAYjV,GAAaiV,IAAYjV,EACnCsE,KAAK4Q,KAAK,CAAEzP,QAAS9D,EAAK8D,QAAS2N,IAAKzR,EAAKyR,IAAKS,IAAKlS,EAAKkS,IAAKsB,KAAM,IAEzEF,IAAYjV,EACV,EAEFiV,IAAYjV,EACV2B,EAAKkS,SADX,CAGT,EACAkB,EAAW7Q,UAAUgR,KAAO,SAAUvT,GAClC,OAAK2J,EAAU3J,EAAK8D,SAITjE,KAAK4R,IAAIzR,EAAKkS,IAAKrS,KAAKqS,IAAIlS,EAAK8D,QAAU9D,EAAKwT,KAAMxT,EAAKyR,MAH3DzR,EAAKyR,GAKpB,EACO2B,CACX,CA3BgC,GCL5BnR,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAUIuT,GAA8B,WAC9B,SAASA,EAAaC,GAClB,IAAItG,EAAQzK,KACZA,KAAKgR,QAAU,KACfhR,KAAKrC,KAAO,KACZqC,KAAKuO,GAAK,IAAIZ,GACd3N,KAAKiR,WAAa,IAAIR,GACtBzQ,KAAKkR,gBAAkB,SAAUvG,EAAO7I,GACpC,IAAIqP,EAAQ1G,EAAM2G,YAClBD,EAAMnP,eAAiBF,EACvBA,EAAMuE,kBACNoE,EAAMsG,UAAUM,iBAAiB1G,EAAOwG,GACxC1G,EAAM6G,YAAYH,GAClB1G,EAAM8G,WAAWJ,EACrB,EACAnR,KAAKwR,YAAc,SAAU1P,GACzB,IAAK2I,EAAMsG,UAAUI,MAAMrG,QAAS,CAChC,IAAIqG,EAAQ1G,EAAM2G,YAClBD,EAAMxI,KAAKmC,SAAU,EACrBqG,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,YAC1BqN,EAAMnP,eAAiBF,EACvB2I,EAAM8G,WAAWJ,EACrB,CACJ,EACAnR,KAAK2R,cAAgB,SAAUzK,EAAMiK,GACjC,IAAI3P,EAAKiJ,EAAMsG,UAAUvQ,MAAOoI,EAAYpH,EAAGoH,UAAwBpH,EAAGoQ,YAEtET,EAAMM,OAAOC,KAAK,CACd5N,KAAM,iBACNlG,OAAQ,CACJ0K,MAAOM,EACPiJ,SAAU,WACVzK,YAAY,EACZlB,MAAOgB,IAIvB,EACAlH,KAAKsR,YAAc,SAAUH,GACzB,IAAI3Q,EAAQiK,EAAMsG,UAAUvQ,MACxBsR,OAA0BhT,IAAjB0B,EAAMsR,OAAuBtR,EAAMsR,OAASrH,EAAMsG,UAAUI,MAAMW,YAC1DhT,IAAjB0B,EAAMsR,SACNX,EAAMxI,KAAKmJ,QAAUA,GAErBA,EACAX,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,aAG1BqN,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,WAC1B2G,EAAMsH,sBAEd,EACA/R,KAAKgS,WAAa,SAAUC,EAAMjQ,GAC9B,IAAImP,EAAQ1G,EAAM2G,YAClBD,EAAMnP,eAAiBA,EACvByI,EAAMyH,oBAAoBf,EAAOc,EAAKlG,KAAMkG,EAAKzC,MACjD/E,EAAM8G,WAAWJ,EACrB,EACAnR,KAAKmS,oBAAsB,SAAUtH,EAASuH,GAC1C,IAAI7D,EAAK9D,EAAM8D,GAEf,GADAA,EAAGP,SAAU,EACQ,IAAjBnD,EAAQkB,KACRwC,EAAGqB,aAEF,GAAI/E,EAAQkB,KAAOlB,EAAQoD,WAAapD,EAAQkD,MACjDQ,EAAGsB,kBAEF,CACD,IAAI5H,EAAYsG,EAAG7G,UACD,IAAdO,IACAsG,EAAGI,0BACH1G,EAAasG,EAAGrG,WAAa2C,EAAQkB,KACrCwC,EAAGkB,YAAYxH,EAAYsG,EAAGrG,aAE9BqG,EAAGX,YACHW,EAAGX,UAAU3F,UAAYA,GAE7BwC,EAAMlD,aAAa6K,GAAmB,EAC1C,CACA3D,OAAOC,YAAW,WAAc,OAAOH,EAAGP,SAAU,CAAM,GAAG,GACjE,EACAhO,KAAKqS,oBAAsB,WACvB,IAAI9D,EAAK9D,EAAM8D,GACf,OAAOA,EAAGP,SAAYzN,EAAAA,cAAoB,MAAO,CAAEE,IAAK,SAAUS,GAAW,OAAOqN,EAAGV,cAAgB3M,CAAS,EAAG9C,IAAK,oBAC5H,EACA4B,KAAKsS,uBAAyB,SAAUC,EAAWC,GAC3CD,IAAcC,EAAKrB,MAAMvK,OACzB4L,EAAKC,SAASnT,GAASA,GAAS,CAAC,EAAGkT,EAAKrB,OAAQ,CAAEvK,MAAO2L,IAElE,EACAvS,KAAK0S,UAAY5V,IACjBkD,KAAKlD,KAAOA,IACZkD,KAAK+Q,UAAYA,EACjB/Q,KAAKuO,GAAGL,WAAalO,KAAKgS,UAC9B,CAiKA,OAhKAlB,EAAalR,UAAU+S,SAAW,WAC9B,IAAInS,EAAQR,KAAK+Q,UAAUvQ,MACvBmF,EAAgBnF,EAAMmF,eAAiB,CAAC,EACxC7E,EAAQN,EAAMM,OAAS,CAAC,EACxB8R,EAAajN,EAAcpC,MAC3BsP,GAAgC,IAAjBrS,EAAMsR,YACNhT,IAAf8T,GACA5S,KAAK+R,2BAESjT,IAAd0B,EAAMiF,UAAyC3G,IAApBgC,EAAM+E,YACjC7F,KAAK8S,eACLD,GAAe,GAEfA,GACA7S,KAAK+Q,UAAUgC,aAEvB,EACAjC,EAAalR,UAAUkT,aAAe,WAClC,IAAI5R,EAAUlB,KAAK+Q,UAAU7P,QACzBA,GAAWA,EAAQ8R,eAAiB9R,EAAQ8R,cAAcC,cAC1DjT,KAAKkT,cAAgBhS,EAAQ8R,cAAcC,YAAYE,iBAAiBjS,GAAS2E,gBAAa/G,EAEtG,EACAgS,EAAalR,UAAUmS,oBAAsB,WACrC/R,KAAKgR,UACLhR,KAAK4S,WAAa5S,KAAKgR,QAAQoC,YAAc,KAErD,EACAtC,EAAalR,UAAU2H,aAAe,SAAUE,EAAW4L,EAAWC,GAClE,IAAI7I,EAAQzK,KACRrC,EAAOqC,KAAKrC,MAAQqC,KAAKuO,GAAG5Q,KAMhC,GALKA,GAAS2V,GACV5E,YAAW,WACPjE,EAAMlD,aAAaE,EAAW4L,GAAW,EAC7C,GAAG,IAEH1V,GAAQ8J,GAAa,EAAG,CACxB,IAAI8G,EAAKvO,KAAKuO,GACVV,EAAiBU,EAAGX,WAAajQ,EAAK4V,WACtC5L,OAA8B7I,IAAduU,EAA0BA,EAAY9E,EAAGP,QAC7DzG,GAAasG,EAAelQ,EAAM8J,EAAW8G,EAAG7G,UAAWC,EAC/D,CACJ,EACAmJ,EAAalR,UAAUwR,UAAY,WAM/B,MALY,CACRzI,KAAM,CAAC,EACP8I,OAAQ,GACRzP,oBAAgBlD,EAGxB,EACAgS,EAAalR,UAAU2R,WAAa,SAAUJ,GAC1C,IAAI1G,EAAQzK,KACR/B,OAAOC,KAAKiT,EAAMxI,MAAMnL,OAAS,GACjCwC,KAAK+Q,UAAU0B,SAAStB,EAAMxI,MAElC,IAAI6K,EAAY,CACZxR,eAAgBmP,EAAMnP,eACtByR,YAAatC,EAAMnP,eAAiBmP,EAAMnP,eAAeyR,iBAAc3U,EACvEkC,OAAQhB,KAAK+Q,UACb7K,MAAOlG,KAAK+Q,UAAU7K,OAE1BiL,EAAMM,OAAOtT,SAAQ,SAAUuV,GAC3B,IAAI5P,EAAO4P,EAAU5P,YACd4P,EAAU5P,KACjB,IAAI6P,EAAU7P,GAAQ2G,EAAMsG,UAAUvQ,MAAMsD,GACxC6P,GACAA,EAAQ7T,UAAKhB,EAAWQ,GAASA,GAAS,CAAC,EAAGkU,GAAYE,GAElE,GACJ,EACA5C,EAAalR,UAAUsS,oBAAsB,SAAUf,EAAOpF,EAAMyD,GAChE,IAAI3E,EAAU7K,KAAK+Q,UAAUvQ,MAAMqK,QACnC,GAAIA,EAAS,CACT,IAAIyE,EAAUpS,KAAK4R,IAAI5R,KAAKqS,IAAI,EAAGxD,GAAO7O,KAAKqS,IAAI,EAAG1E,EAAQkD,MAAQyB,IAClEF,IAAYzE,EAAQkB,MACpBoF,EAAMM,OAAOC,KAAK,CACd5N,KAAM,eACNmO,KAAM,CAAElG,KAAMuD,EAASE,KAAMA,IAGzC,CACJ,EACAsB,EAAalR,UAAUgU,6BAA+B,SAAU7M,EAAMoK,GAClE,IAAI3Q,EAAQR,KAAK+Q,UAAUvQ,MACvBgB,EAAKhB,EAAMmI,KAAMA,OAAc,IAAPnH,EAAgB,GAAKA,EAAIqS,EAAcrT,EAAMqT,YAAahJ,EAAUrK,EAAMqK,QAClGiH,OAA0BhT,IAAjB0B,EAAMsR,OAAuBtR,EAAMsR,OAAS9R,KAAK+Q,UAAUI,MAAMW,OAC1E/K,GAAQ8D,GAAW7K,KAAKuO,GAAGP,UACvBnD,EAAQkB,KAAO,GAAK1C,GAAQtC,EAAM4B,EAAK,GAAIkL,GAC3C7T,KAAKkS,oBAAoBf,EAAOtG,EAAQkB,KAAO,EAAGlB,EAAQoD,WAEpD6D,GAAUjH,EAAQkB,KAAOlB,EAAQoD,SAAWpD,EAAQkD,OAC1D1E,GAAQtC,EAAM4B,EAAKA,EAAKnL,OAAS,GAAIqW,IACrC7T,KAAKkS,oBAAoBf,EAAOtG,EAAQkB,KAAO,EAAGlB,EAAQoD,UAGtE,EACA6C,EAAalR,UAAUkU,iBAAmB,WACtC,OAAO7V,OACFsB,OAAO,CAAC,EAAGuR,EAAazP,aAAasE,cAAe3F,KAAK+Q,UAAUvQ,MAAMmF,cAClF,EACAmL,EAAalR,UAAUmU,yBAA2B,SAAUpL,EAAMkD,GAC9D,IAAImI,EAAU,GAWd,OAVArL,EAAKxK,SAAQ,SAAUG,EAAIqM,GACvB,IAAInJ,EACAmH,EAAKgC,EAAQ,IAAMrM,EAAGuN,KAAgBlD,EAAKgC,EAAQ,GAAGkB,IACtDmI,EAAQtC,OAAMlQ,EAAK,CAAC,GAAMqK,GAAcvN,EAAGuN,GAAarK,IACxDwS,EAAQtC,KAAK/I,EAAKgC,KAGlBqJ,EAAQtC,KAAK/I,EAAKgC,GAE1B,IACOqJ,CACX,EACAlD,EAAamD,eAAiB,CAC1BnC,OAAQ5S,EAAAA,KACRR,SAAUQ,EAAAA,KACVuG,IAAKvG,EAAAA,OACLT,SAAUS,EAAAA,OACVgV,UAAWhV,EAAAA,OACXyJ,KAAMzJ,EAAAA,MACN0J,UAAW1J,EAAAA,OACXwB,UAAWxB,EAAAA,OACXiV,MAAOjV,EAAAA,OACPkV,QAASlV,EAAAA,KACTyG,cAAezG,EAAAA,MAAgB,CAC3BmV,QAASnV,EAAAA,UAAoB,CAACA,EAAAA,KAAgBA,EAAAA,MAAgB,CACtDoV,aAAcpV,EAAAA,OACdqV,cAAerV,EAAAA,WAEvBsV,WAAYtV,EAAAA,OACZwB,UAAWxB,EAAAA,OACXuV,SAAUvV,EAAAA,IACVqE,MAAOrE,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,SAC9CsE,OAAQtE,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,WAEnDwV,OAAQxV,EAAAA,KACRyV,QAASzV,EAAAA,KACT0V,QAAS1V,EAAAA,KACToO,OAAQpO,EAAAA,KACRiH,SAAUjH,EAAAA,KACViN,WAAYjN,EAAAA,KACZ2V,iBAAkB3V,EAAAA,KAClB4V,iBAAkB5V,EAAAA,KAClB6V,OAAQ7V,EAAAA,KACR8V,OAAQ9V,EAAAA,MAEZ4R,EAAalO,UAAYtD,GAASA,GAAS,CAAC,EAAGwR,EAAamD,gBAAiB,CAAE/N,MAAOhH,EAAAA,IAAe+V,aAAc/V,EAAAA,IAAe0S,WAAY1S,EAAAA,KAAgBtB,OAAQsB,EAAAA,OAAkB2L,QAAS3L,EAAAA,MAAgB,CACzM+O,SAAU/O,EAAAA,OAAAA,WACV6M,KAAM7M,EAAAA,OAAAA,WACN6O,MAAO7O,EAAAA,OAAAA,aACPgW,eAAgBhW,EAAAA,KAAgBiW,aAAcjW,EAAAA,OACtD4R,EAAazP,aAAe,CACxBsE,cAAe,CACXnC,OAAQ,SAEZ4R,UAAU,EACVC,gBAAgB,GAEbvE,CACX,CAhQkC,GAiQlC,Y,eCjRO,SAASwE,GAAgBC,GAC5B,GAAyB,qBAAdC,GACPA,GAAAA,gBAA0BD,OAEzB,CACD,IAAIE,EAAU,iCAAiC/T,OAAO6T,EAAgBpW,KAAM,MAC5EsW,GAAW,wDACXA,GAAW,OAAO/T,OAAO6T,EAAgBG,iBAAkB,4BAC3DC,QAAQC,KAAKH,EACjB,CACJ,CCXO,IAAII,GAAY9K,QAEL,qBAAX0D,QACHA,OAAOqH,UACPrH,OAAOqH,SAASC,eCJTR,GAAkB,CACzBpW,KAAM,kCACN6W,YAAa,aACbC,aAAc,CAAC,eAAgB,mBAC/BC,YAAa,WACbC,QAAS,GACTT,iBAAkB,yJ,WCRXU,GAAsB,IAEtBC,GAAuB,I,WCH9B1R,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAezC7F,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAqBI+Y,GAAU5Z,EAAwB6Z,GAAa7Z,EAI/C8Z,GAA4C,SAAUjR,GAEtD,SAASiR,EAA2BhW,GAChC,IAAIiK,EAAQlF,EAAOzF,KAAKE,KAAMQ,IAAUR,KAuUxC,OAnUAyK,EAAM0G,MAAQ,CAAC,EACf1G,EAAMgM,SAAW,KACjBhM,EAAMiM,KAAO,IAAI5F,GAAarG,GAC9BA,EAAMkM,YAAc,CAAExP,KAAM,GAAIyP,KAAM,IACtCnM,EAAMoM,QAAU,KAChBpM,EAAMqM,iBAAkB,EACxBrM,EAAMsM,aAAe,KACrBtM,EAAMuM,YAAa,EACnBvM,EAAMwM,SAAWna,IACjB2N,EAAMvC,WAAa,EAInBuC,EAAMyM,MAAQ,WACNzM,EAAMiM,KAAK1F,SACXvG,EAAMiM,KAAK1F,QAAQkG,OAE3B,EAIAzM,EAAM4G,iBAAmB,SAAU1G,EAAOwG,GACtC,IAAI3P,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6G,EAAUrJ,EAAGqJ,QAASgJ,EAAcrS,EAAGqS,YAAavJ,EAAc9I,EAAG8I,YACrIyB,EAAOlB,EAAUA,EAAQkB,KAAO,EAChChF,GAAmB,IAAX4D,QAAgC7L,IAAhBwL,EACxBA,EAAc3B,EAAKgC,EAAQoB,GAC3BoL,GAAe9N,GAAQtC,EAAM0D,EAAMvE,MAAO2N,GAC9CpJ,EAAM2M,gBAAgBrQ,EAAMoK,GACxBgG,GACA1M,EAAMiM,KAAK9C,6BAA6B7M,EAAMoK,EAEtD,EACA1G,EAAM4M,aAAe,SAAUnW,GAC3BuJ,EAAMgM,SAAWvV,EACjBuJ,EAAMiM,KAAK1F,QAAU9P,CACzB,EACAuJ,EAAM6M,YAAc,SAAUpR,GAE1B,OAAQ3F,EAAAA,cAAoB,SAAU,CAAEpB,KAAMsL,EAAMjK,MAAMrB,KAAMsB,IAAK,SAAUnC,GAAMmM,EAAMoM,QAAUvY,CAAI,EAAGG,UAAW,EAAG,eAAe,EAAM8Y,MAAO9M,EAAMjK,MAAM2T,MAAOrT,MAAO,CAAE0W,QAAS,EAAGjU,MAAO,EAAGkU,OAAQ,EAAGC,QAAS,EAAGnN,SAAU,WAAYlO,KAAM,QACvPkE,EAAAA,cAAoB,SAAU,CAAE2F,MAAOuE,EAAMjK,MAAMmX,SAAWlN,EAAMjK,MAAMmX,SAAS7X,UAAKhB,EAAWoH,GAASA,IACpH,EACAuE,EAAMmN,oBAAsB,WACxB,IAAIpW,EACAwC,EAAKyG,EAAMjK,MAAOuU,EAAS/Q,EAAG+Q,OAAQC,EAAShR,EAAGgR,OAAQvP,EAAMzB,EAAGyB,IAAKwG,EAAKjI,EAAG2E,KAAMA,OAAc,IAAPsD,EAAgB,GAAKA,EAAIrL,EAAOoD,EAAGpD,KAAMiL,EAAa7H,EAAG6H,WAAYgM,EAA8B7T,EAAG6T,4BAA6Bla,EAAOqG,EAAGrG,KAC1O+Y,EAAOjM,EAAMiM,KACb/Q,EAAgB+Q,EAAK5C,mBACrBhC,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7Ec,OAAqC9T,IAAxB6G,EAAcpC,MAAsBoC,EAAcpC,MAAQmT,EAAK9D,WAC5EkF,EAAqB,CACrBrS,SAAa3G,IAAR2G,EAAoBA,EAAMiR,EAAKxD,cACpC3P,MAAOqP,EACPjN,cAAe,CACX6O,WAAYpX,EAAWuI,EAAc6O,WAAY,mBAAoB,wBACrE9T,UAAWiF,EAAcjF,UACzB2T,QAAS1O,EAAc0O,QACvB0D,OAAQtN,EAAMvJ,QACd6L,KAAM+E,EACN4C,OAAQjK,EAAMuN,cACdrD,QAASlK,EAAMwN,cACfxD,SAAU9O,EAAc8O,UAE5B/O,WAAY,CAACiD,EAAKnL,SAElBoJ,EAAQ6D,EAAM0G,MAAMvK,MAIxB,YAHc9H,IAAV8H,QAAsC9H,IAAf+M,IACvBjF,EAAQ4B,GAAaG,EAAK,GAAIkD,IAE1BtL,EAAAA,cAAoB+E,EAAehG,GAAS,CAAC,EAAGwY,GACpDrN,EAAMyN,mBACNnD,GAAUxU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBqU,GACrExU,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,UAAWoE,EAAK,CAAC,EAAGA,EAAG,UAAUE,OAAO4U,GAAQ1V,IAASA,IAASA,EAAMY,EAAG,kBAAoBiJ,EAAMiM,KAAKnI,GAAGP,QAASxM,KACrKiJ,EAAM0N,qBACLxa,GAAQiJ,GAAyB,IAAhB+B,EAAKnL,QAAgB+C,EAAAA,cAAoBoG,EAAmB,CAAEC,MAAOA,EAAOC,UAAW,SAAUrB,OAAQqS,IAC3HpN,EAAM2N,cACVpD,GAAUzU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBsU,GAC7E,EACAvK,EAAM2N,WAAa,WACf,IAAI5W,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAAWiL,EAAcrS,EAAGqS,YAAa5H,EAAKzK,EAAGqJ,QAASA,OAAiB,IAAPoB,EAAgB,CAAEF,KAAM,GAAME,EAAIG,EAAwB5K,EAAG4K,sBAAuByI,EAAmBrT,EAAGqT,iBAAkB1I,EAAa3K,EAAG2K,WAC/RoC,EAAK9D,EAAMiM,KAAKnI,GAChBxC,EAAOlB,EAAQkB,KACf+F,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7EnM,EAAgB8E,EAAMiM,KAAK5C,mBAC3BpM,EAAY,cAAchG,OAAO6M,EAAG7G,UAAW,OACnD,OAAQnH,EAAAA,cAAoBmL,GAAM,CAAEzO,GAAIwN,EAAMiM,KAAKhE,UAAW3F,KAAM+E,EAAQnJ,KAAMA,EAAK0P,QAASrM,aAAcvB,EAAMuB,eAAgB9F,MAAOuE,EAAMvE,MAAO0C,UAAWA,EAAWgD,WAAYiI,EAAa/H,YAAarB,EAAMiM,KAAK5Z,KAAM+O,WAAYpB,EAAMjK,MAAMqL,WAAYhF,UAAW,SAAUsG,QAAS,SAAUxP,GAAQ,OAAO4Q,EAAG5Q,KAAO8M,EAAMiM,KAAK/Y,KAAOA,CAAM,EAAGsP,aAAc,CAAEqL,UAAW3S,EAAcnC,QAAUwJ,gBAAiB,iBAAkBE,UAAWqB,EAAGP,QAAU,CAAE2B,UAAWjI,QAAc5I,EAAWV,IAAK,UAAW2N,KAAMA,EAAM5J,QAASsI,EAAMyG,gBAAiB/E,WAAYA,EAAYC,sBAAuBA,EAAuBO,aAAckI,EAAkBtH,SAAU9C,EAAM8C,SAAUH,WAAYmB,EAAGD,YAAab,SAAUhD,EAAMiM,KAAKrE,uBAC1uB,EACA5H,EAAM8C,SAAW,SAAUzL,GACvB,IAAIN,EAAKiJ,EAAMiM,KAAMnI,EAAK/M,EAAG+M,GAAI5Q,EAAO6D,EAAG7D,KAC3C4Q,EAAGS,cAAclN,GACjB,IAAI+J,EAAapB,EAAMjK,MAAMqL,WACzB7H,EAAKyG,EAAMjK,MAAMmI,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EACvD,GAAK6H,GAAelD,EAAKnL,QAGrBqO,EAAY,CAOZ,IANA,IAAI3D,EAAauC,EAAMvC,WACnBuC,EAAMvC,aAAeqG,EAAGP,QAAUO,EAAGrG,WAAcvK,EAAOA,EAAKoF,SAAS,GAAG8E,aAAe,GAE1FI,EADSnG,EAAMd,OACIiH,UAAasG,EAAGxC,KAAO7D,EAE1CtB,GADJ+B,EAAO8B,EAAMiM,KAAK3C,yBAAyBpL,EAAMkD,IAChC,GAAGA,GACX9O,EAAI,EAAGA,EAAI4L,EAAKnL,UACjB0K,EAAanL,EAAIkL,GADQlL,IAIzB4L,EAAK5L,IAAM4L,EAAK5L,GAAG8O,KACnBjF,EAAQ+B,EAAK5L,GAAG8O,IAGpBjF,IAAU6D,EAAM0G,MAAMvK,OACtB6D,EAAMgI,SAAS,CACX7L,MAAOA,GAGnB,CACJ,EACA6D,EAAMyN,iBAAmB,WACrB,IAAIK,OAAoCzZ,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KACrF,OAAOuD,EAAMjK,MAAMoR,YAAerR,EAAAA,cAAoBwF,EAAY,CAAEG,MAAOqS,EAAY9X,IAAK,SAAU7C,GAAU,OAAO6M,EAAMsM,aAAenZ,GAAUA,EAAOsD,OAAS,EAAGiF,SAAUsE,EAAM+N,uBAAwBpS,UAAWqE,EAAMgO,cAAe7X,KAAM6J,EAAMjK,MAAMI,KAAM2F,QAASkE,EAAMjK,MAAM+F,QAASD,SAAUmE,EAAMjK,MAAM8F,UACjU,EACAmE,EAAM0N,kBAAoB,WACtB,IAAI3W,EAAKiJ,EAAMjK,MAAOoI,EAAYpH,EAAGoH,UAAW0B,EAAc9I,EAAG8I,YAAauJ,EAAcrS,EAAGqS,YAC/F,YAAuB/U,IAAhBwL,GAA8B/J,EAAAA,cAAoB6J,GAAiB,CAAEE,YAAaA,EAAa1B,UAAWA,EAAWyB,SAAUhB,GAAQoB,EAAMvE,MAAOoE,EAAauJ,GAAczV,IAAK,iBAAkB+D,QAASsI,EAAMiO,wBAChO,EACAjO,EAAMkO,OAAS,SAAU7W,GACrB8W,aAAanO,EAAMoO,gBACdpO,EAAMjK,MAAMoR,aACbnH,EAAMoO,eAAiBpK,OAAOC,YAAW,WAAc,OAAOjE,EAAMkM,YAAYxP,KAAO,EAAI,GAAGsD,EAAMjK,MAAMsY,OAC1GrO,EAAMsO,WAAWjX,GAEzB,EACA2I,EAAMsO,WAAa,SAAUjX,GACzB,IASIwI,EATA9I,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6P,EAAcrS,EAAGqS,YACjFmF,EAAarQ,EAAK7K,KAAI,SAAUiJ,EAAMkS,GACtC,MAAO,CAAElS,KAAMA,EAAMU,UAAWwR,EACpC,IACI9R,EAAOsD,EAAMkM,YAAYxP,KACzByP,EAAOnM,EAAMkM,YAAYC,KACzBsC,Eb3LI,SAAU/R,EAAMgS,GAChC,IAAK,IAAIF,EAAM,EAAGA,EAAM9R,EAAK3J,OAAQyb,IACjC,GAAI9R,EAAKiS,OAAOH,KAASE,EACrB,OAAO,EAGf,OAAO,CACX,CaoL2BE,CAAclS,EAAMyP,GAC/B0C,EAAaN,EAAWxb,OACxB+b,EAAarc,KAAKqS,IAAI,EAAG5G,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAG0N,EAAMvE,MAAO2N,EAAc,KAEpGpJ,EAAMjK,MAAM8J,cACZA,EAAc,CAAEvD,KAAM0D,EAAMjK,MAAM8J,YAAa7C,WAAY,GAC3D6R,GAAc,EACdC,GAAc,GAGlBP,Eb1LM,SAAUrQ,EAAM6Q,EAAYlP,GAC1C,IAAI7M,EAASkL,EAIb,OAHI2B,IACA7M,EAAS,CAAC6M,GAAa5I,OAAOjE,IAE3BA,EAAO4a,MAAMmB,GAAY9X,OAAOjE,EAAO4a,MAAM,EAAGmB,GAC3D,CaoLyBC,CAAYT,EADzBO,GAAcL,EAAW,EAAI,EACoB5O,GAGjD,IAFA,IAAIpD,EAAMwS,EAAWC,EAAWhP,EAAQ,EACpCsB,EAAKxB,EAAMjK,MAAOoI,EAAYqD,EAAGrD,UAAWxB,EAAa6E,EAAG7E,WACzDuD,EAAQ2O,EAAY3O,IAIvB,GAHAzD,EAAOsB,GAAawQ,EAAWrO,GAAO5D,KAAM6B,GAC5C8Q,EAAYR,GAAYjS,GAAUC,EAAM0P,EAAMxP,GAC9CuS,EAAY1S,GAAUC,EAAMC,EAAMC,GAC9BsS,GAAaC,EAAW,CACxBhP,EAAQqO,EAAWrO,GAAOlD,UAC1B,KACJ,CAEJ,GAAIkD,IAAU2O,EAAY,CACtB,IAAInI,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvB2I,EAAM4G,iBAAiB1G,EAAOwG,GAC9B1G,EAAM8G,WAAWJ,GACjB1G,EAAMmP,0BAAuB9a,CACjC,CACJ,EACA2L,EAAMgO,cAAgB,SAAU3W,GAC5B,IAAIN,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4N,EAAapQ,EAAGoQ,WAAYlT,EAAW8C,EAAG9C,SAAUuN,EAAKzK,EAAGqY,wBAAyBA,OAAiC,IAAP5N,GAAuBA,EAAI6N,EAAKtY,EAAGqJ,QAASA,OAAiB,IAAPiP,EAAgB,CAAE/N,KAAM,EAAGgC,MAAO,EAAGE,SAAU,GAAM6L,EAC1RhI,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7EnB,EAAU7O,EAAM6O,QAChBoJ,EAAgBpJ,IAAYjV,GAAaiV,IAAYjV,EACrDse,EAAerJ,IAAYjV,GAAWiV,IAAYjV,EAClDue,GAAcnI,IACZhQ,EAAMoY,QAAUvJ,IAAYjV,GAAciV,IAAYjV,GAAciV,IAAYjV,GAClFye,EAAcrI,IAAYhQ,EAAMoY,QAAUvJ,IAAYjV,GAAYiV,IAAYjV,GAE9E0e,EAAiBJ,IAAkBpI,IADjBiI,IAA4BlJ,IAAYjV,GAAaiV,IAAYjV,IACdqe,GACrE5I,EAAQ1G,EAAMiM,KAAKtF,YAEvB,GADAD,EAAMnP,eAAiBF,GACnBpD,EAAJ,CAGK,GAAIqb,GAAiBtP,EAAMiM,KAAKnI,GAAGP,QAChC2C,IAAYjV,EACS,IAAjBmP,EAAQkB,MACRtB,EAAMiM,KAAKxE,oBAAoBf,EAAO,EAAGtG,EAAQoD,UACjDxD,EAAMuM,YAAa,GAGnBvM,EAAM2M,gBAAgBzO,EAAK,GAAIwI,GAI/BtG,EAAQkB,KAAOlB,EAAQkD,MAAQlD,EAAQoD,UACvCxD,EAAMiM,KAAKxE,oBAAoBf,EAAOtG,EAAQkD,MAAQlD,EAAQoD,SAAUpD,EAAQoD,UAChFxD,EAAMuM,YAAa,GAGnBvM,EAAM2M,gBAAgBzO,EAAKA,EAAKnL,OAAS,GAAI2T,QAIpD,GAAIW,GAAUnB,IAAYjV,EAAY,CACvC,IAAIsQ,EAAevB,EAAMuB,oBACJlN,IAAjBkN,GACAvB,EAAM4G,iBAAiBrF,EAAcmF,GAEzC1G,EAAMiM,KAAKpF,YAAYH,GACvBrP,EAAM+H,gBACV,MACSoQ,GAAcE,GACnB1P,EAAMiM,KAAKpF,YAAYH,GACvBrP,EAAM+H,kBAEDuQ,IACL3P,EAAM4P,WAAWlJ,EAAOR,GACxB7O,EAAM+H,kBAEVY,EAAM8G,WAAWJ,EADjB,CAEJ,EACA1G,EAAMyG,gBAAkB,SAAUvG,EAAO7I,GACrC2I,EAAMiM,KAAKxF,gBAAgBvG,EAAO7I,GAClC2I,EAAMmP,0BAAuB9a,CACjC,EACA2L,EAAM+G,YAAc,SAAU1P,GACtB2I,EAAMqM,iBAGVrM,EAAMiM,KAAKlF,YAAY1P,EAC3B,EACA2I,EAAM6P,WAAa,SAAUxY,GACzB,IAAI2I,EAAMqM,iBAAoBrM,EAAM0G,MAAMrG,QAA1C,CAGA,IAAIgH,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7EyI,EAAW9P,EAAMjK,MAAM+Z,SACvB/Y,EAAKiJ,EAAM0G,MAAMqJ,YACjBC,QADmD,IAAPjZ,EAAgB,EAAIA,IAChC6U,IAAwBkE,EACxDpJ,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvBqP,EAAMxI,KAAKmC,SAAU,EACrBqG,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,WACtBgO,IAAW2I,GACXhQ,EAAMiM,KAAKpF,YAAYH,GAE3B1G,EAAM8G,WAAWJ,EAZjB,CAaJ,EACA1G,EAAMiO,uBAAyB,SAAU5W,GACrC,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvB2I,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAM2M,gBAAgB3M,EAAMjK,MAAM8J,YAAa6G,GAC/C1G,EAAM8G,WAAWJ,EACrB,EACA1G,EAAMiQ,mBAAqB,SAAU5Y,GACjC,IAAIA,EAAM6Y,uBAAV,CAGA,IAAIxJ,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EAClB2I,EAAM0G,MAAMrG,UACbqG,EAAMxI,KAAKmC,SAAU,GAEzBL,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAM8G,WAAWJ,EAPjB,CAQJ,EACA1G,EAAMmQ,eAAiB,SAAU9Y,GAC7B,IAAI2I,EAAMjK,MAAMoR,YAA8B,IAAhB9P,EAAM+Y,OAAe/Y,EAAM6O,UAAYjV,EAArE,CAGA,IAAIyd,EAAYjU,OAAO4V,aAAahZ,EAAMiZ,UAAYjZ,EAAM6O,SACxDlG,EAAMjK,MAAM4G,aACZ+R,EAAYA,EAAU7R,eAER,MAAd6R,GACArX,EAAM+H,iBAEVY,EAAMkM,YAAc,CAChBxP,KAAMsD,EAAMkM,YAAYxP,KAAOgS,EAC/BvC,KAAMnM,EAAMkM,YAAYC,KAAOuC,GAEnC1O,EAAMkO,OAAO7W,EAZb,CAaJ,EACA2I,EAAM+N,uBAAyB,SAAU1W,GACrC,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EAAME,oBACFlD,IAAvB2L,EAAMjK,MAAM5C,SACZuT,EAAMxI,KAAKzB,KAAOpF,EAAMd,OAAOkF,OAEnCuE,EAAMiM,KAAK/E,cAAc7P,EAAMd,OAAOkF,MAAOiL,GAC7C1G,EAAM8G,WAAWJ,GACjB1G,EAAMgI,SAAS,CAAE7L,WAAO9H,GAC5B,EACA2L,EAAMuN,cAAgB,WACdvN,EAAMsM,cACNtM,EAAMuQ,aAAavQ,EAAMsM,cAEzBtM,EAAMjK,MAAM+Z,UACZ7L,YAAW,WACHjE,EAAMsM,cACNtM,EAAMuQ,aAAavQ,EAAMsM,aAEjC,GAAG,IAEX,EACAtM,EAAMwN,cAAgB,WACdxN,EAAM0G,MAAMrG,SACZ2D,OAAOC,YAAW,WACVjE,EAAM0G,MAAMrG,SAAWL,EAAMiM,KAAK1F,SAClCvG,EAAMuQ,aAAavQ,EAAMiM,KAAK1F,QAEtC,GAER,EACAvG,EAAMwQ,YAAc,WACZxQ,EAAMoM,SAAWpM,EAAMoM,QAAQqE,mBAC/BzQ,EAAMoM,QAAQqE,kBAAkBzQ,EAAM0Q,SAASC,MACzC,GACA3Q,EAAMjK,MAAM6a,mBA3UT,uCA6UjB,EACA/F,GAAgBC,IACT9K,CACX,CA8VA,OAxqBA9F,GAAU6R,EAA4BjR,GA2UtCtH,OAAOgR,eAAeuH,EAA2B5W,UAAW,WAAY,CACpEsP,IAAK,WACD,GAAK2G,GAIL,OAAQ7V,KAAKkB,SAAWlB,KAAKkB,QAAQ8R,eAAkB8C,QAC3D,EACA3G,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuH,EAA2B5W,UAAW,UAAW,CAInEsP,IAAK,WACD,OAAOlP,KAAKyW,QAChB,EACAtH,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuH,EAA2B5W,UAAW,QAAS,CAIjEsP,IAAK,WACD,IAAIhJ,EAgBJ,YAfkCpH,IAA9BkB,KAAK4Z,qBACL1T,EAAQlG,KAAK4Z,0BAEa9a,IAArBkB,KAAKQ,MAAM0F,MAChBA,EAAQlG,KAAKQ,MAAM0F,WAEOpH,IAArBkB,KAAKmR,MAAMjL,MAChBA,EAAQlG,KAAKmR,MAAMjL,WAEcpH,IAA5BkB,KAAKQ,MAAMyU,eAChB/O,EAAQlG,KAAKQ,MAAMyU,cAElBjO,EAAUd,SAAqCpH,IAA3BkB,KAAKQ,MAAM8J,cAChCpE,EAAQlG,KAAKQ,MAAM8J,aAEhBpE,CACX,EACAiJ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuH,EAA2B5W,UAAW,QAAS,CAIjEsP,IAAK,WACD,IAAI1N,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6P,EAAcrS,EAAGqS,YAChF3N,EAAQlG,KAAKkG,MAEjB,OAAOyC,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGmJ,EAAO2N,EAAc,GAChF,EACA1E,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuH,EAA2B5W,UAAW,OAAQ,CAIhEsP,IAAK,WACD,OAAOlP,KAAKQ,MAAMrB,IACtB,EACAgQ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuH,EAA2B5W,UAAW,WAAY,CAIpEsP,IAAK,WACD,IAAIoM,OAA+Cxc,IAAjCkB,KAAKQ,MAAM6a,kBACzBE,GAAYvb,KAAKoV,UACE,OAAfpV,KAAKkG,OAAiC,KAAflG,KAAKkG,YAA+BpH,IAAfkB,KAAKkG,MAEzD,MAAO,CACHoV,YAAaA,EACbF,WAH6Btc,IAArBkB,KAAKQ,MAAM4a,MAAsBpb,KAAKQ,MAAM4a,MAAQG,EAI5DC,aAA6B,OAAfxb,KAAKkG,MAE3B,EACAiJ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuH,EAA2B5W,UAAW,iBAAkB,CAC1EsP,IAAK,WACD,YAAqCpQ,IAA9BkB,KAAKQ,MAAM6U,eACZrV,KAAKQ,MAAM6U,eACXmB,EAA2BnV,aAAagU,cAClD,EACAlG,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuH,EAA2B5W,UAAW,WAAY,CAIpEsP,IAAK,WACD,YAA+BpQ,IAAxBkB,KAAKQ,MAAM4U,SACZpV,KAAKQ,MAAM4U,SACXoB,EAA2BnV,aAAa+T,QAClD,EACAjG,YAAY,EACZC,cAAc,IAKlBoH,EAA2B5W,UAAU6b,mBAAqB,SAAUC,EAAWC,GAC3E,IAAIna,EACAwC,EAAKhE,KAAKQ,MAAOqT,EAAc7P,EAAG6P,YAAahJ,EAAU7G,EAAG6G,QAASoB,EAAKjI,EAAG6H,WAAYA,OAAoB,IAAPI,EAAgB,GAAKA,EAC3H6N,EAAK9Z,KAAKQ,MAAMmI,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EAClD8B,EAAYF,EAAU7Q,QAAU6Q,EAAU7Q,QAAQkD,MAAQ,EAC1D+D,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1E+J,OAAkC/c,IAArB4c,EAAU5J,OAAuB4J,EAAU5J,OAAS6J,EAAU7J,OAC3EgK,GAAWD,GAAc/J,EAU7B,GARK9R,KAAK0W,KAAK5C,mBAAmBO,SAC1ByH,GACA9b,KAAKgY,gBAMTnN,GAAWA,EAAQkD,QAAU6N,EAC7B5b,KAAK0W,KAAKnI,GAAGI,0BACb3O,KAAK0W,KAAKnI,GAAGqB,YAEZ,CACD,IAAImM,EAAiB/b,KAAKkG,MACtB8V,OAAuCld,IAApB4c,EAAUxV,MAAsBwV,EAAUxV,MAAQyV,EAAUzV,MAC/EkM,EAAoBzJ,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGgf,EAAgBlI,EAAc,IACnF,KAAfhI,IACAuG,EAAoF,QAA/D5Q,EAAKxB,KAAK0W,KAAK3C,yBAAyBpL,EAAMkD,UAAgC,IAAPrK,OAAgB,EAASA,EAAGrB,QAAQ4b,IAEpI,IAAIE,GAAuB5S,GAAQ2S,EAAkBD,EAAgBlI,GACjEiI,GAAWjR,EACX7K,KAAK0W,KAAKvE,oBAAoBtH,EAASuH,GAElC0J,IAAYjR,GACjB7K,KAAKgY,gBAEDrP,GAAwB,IAAhBA,EAAKnL,QACbwC,KAAK0W,KAAKpE,uBAAuB3J,EAAK,GAAGkD,GAAa7L,MAE1DA,KAAK0W,KAAKnP,aAAa6K,IAElBN,GAAU+J,GAAcE,GAAkBE,IAAwBjc,KAAKgX,WAC5EhX,KAAK0W,KAAKnP,aAAa6K,GAElBN,GAAU+J,GAAc7b,KAAKgX,aAC9BhX,KAAKgX,YAAcnM,GAA4B,IAAjBA,EAAQkB,KACtC/L,KAAK0W,KAAKnI,GAAGqB,QAER5P,KAAKgX,YAAcnM,GAAWA,EAAQkB,OAASlB,EAAQkD,MAAQlD,EAAQoD,UAC5EjO,KAAK0W,KAAKnI,GAAGsB,cAGzB,CACA7P,KAAKgX,YAAa,EAClBhX,KAAKib,aACT,EAIAzE,EAA2B5W,UAAUsc,kBAAoB,WACrD,IAAI1a,EACJxB,KAAKmc,eAAiBtG,IAAapH,OAAO2N,gBAAkB,IAAI3N,OAAO2N,eAAepc,KAAKqc,eAAezN,KAAK5O,OAC/GA,KAAK0W,KAAK/D,WACV3S,KAAKib,eACyB,QAAxBzZ,EAAKxB,KAAK8V,gBAA6B,IAAPtU,OAAgB,EAASA,EAAG8a,OAAStc,KAAKmc,gBAC5Enc,KAAKmc,eAAeI,QAAQvc,KAAK8V,SAASwG,KAElD,EAEA9F,EAA2B5W,UAAU4c,qBAAuB,WACxD,IAAIhb,GAC0B,QAAxBA,EAAKxB,KAAK8V,gBAA6B,IAAPtU,OAAgB,EAASA,EAAG8a,OAAStc,KAAKmc,gBAC5Enc,KAAKmc,eAAeM,YAE5B,EAIAjG,EAA2B5W,UAAU4F,OAAS,WAC1C,IAAIhE,EACAiJ,EAAQzK,KACR0c,GAAe5P,EAAAA,GAAAA,IAA2B9M,MAAM6M,iBAAiBvB,GAA+BG,GAASH,KACzGtH,EAAKhE,KAAKQ,MAAOM,EAAQkD,EAAGlD,MAAOJ,EAAYsD,EAAGtD,UAAWyT,EAAQnQ,EAAGmQ,MAAO1O,EAAMzB,EAAGyB,IAAKoF,EAAU7G,EAAG6G,QAASjK,EAAOoD,EAAGpD,KAAM2F,EAAUvC,EAAGuC,QAASD,EAAWtC,EAAGsC,SAAUiU,EAAWvW,EAAGuW,SAC/LtO,EAAKjM,KAAKmR,MAAMqJ,YAAaA,OAAqB,IAAPvO,EAAgB,EAAIA,EAC/D6F,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1E5L,EAAQlG,KAAKkG,MACbgB,EAAOsB,GAAatC,EAAOlG,KAAKQ,MAAMoI,WACtC2S,GAAWvb,KAAKqV,gBAAkBrV,KAAKmb,SAASC,MAChD1E,EAAO1W,KAAK0W,KACZnI,EAAKmI,EAAKnI,GACVkM,EAAiBD,GAAenE,IAAwBkE,EAC5DhM,EAAGP,aAAsBlP,IAAZ+L,OACG/L,IAAZ+L,IACA6L,EAAKnI,GAAGxC,KAAOlB,EAAQkB,KACvB2K,EAAKnI,GAAGR,MAAQlD,EAAQkD,MACxB2I,EAAKnI,GAAGN,SAAWpD,EAAQoD,UAE/B,IAAI6L,EAAK9Z,KAAKQ,MAAOqT,EAAciG,EAAGjG,YAAa8I,EAAK7C,EAAGnR,KAAMA,OAAc,IAAPgU,EAAgB,GAAKA,EAAIje,EAAWob,EAAGpb,SAAUD,EAAWqb,EAAGrb,SAAU2V,EAAU0F,EAAG1F,QAASwI,EAAgB9C,EAAG8C,cAAeC,EAAc/C,EAAG+C,YACtN/R,EAAU9K,KAAKmR,MAAMrG,QACrBpB,EAAgBf,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGmJ,EAAO2N,EAAc,IACrFiJ,EAAyBvc,EAAAA,cAAoB,OAAQ,CAAEtD,GAAI+C,KAAKiX,SAAUvW,UAAW,iBACrFH,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,sBAAwBwG,IACjE6V,OAA+Bje,IAAhB+d,EACfA,EAAY/c,UAAKhB,EAAWge,EAAuB5W,GAAS4W,EAC5DE,EAAgBzc,EAAAA,cAAoBA,EAAAA,SAAgB,KACpDA,EAAAA,cAAoB,OAAQ,CAAEE,IAAKT,KAAKqX,aAAc3W,UAAWtD,EAAW,0BAA2BsD,GAAYc,EAAK,CAAC,EACjHA,EAAG,YAAYE,OAAO4U,GAAQ1V,IAASA,IAASA,EAChDY,EAAG,aAAaE,OAAO6U,GAAWhQ,IAAYA,IAAYA,EAC1D/E,EAAG,YAAYE,OAAO4E,IAAaA,EACnC9E,EAAG,WAAasJ,EAChBtJ,EAAG,cAAgB9C,EACnB8C,EAAG,cAAgB+Z,EACnB/Z,EAAG,aAAe4S,EAClB5S,EAAG,cAAgBxB,KAAKoV,SACxB5T,IAAMV,MAAQqT,EAEZ7U,GAASA,GAAS,CAAC,EAAGwB,GAAQ,CAAEyC,WAAOzE,IADvCgC,EACqD2E,IAAKA,EAAK1D,YAAa+P,EAAS,SAAUhQ,GACnE,UAA1BA,EAAMd,OAAO4I,WACba,EAAMuQ,aAAavQ,EAAMiM,KAAK1F,SAC9BlP,EAAM+H,iBAEd,OAAI/K,EAAW8V,QAAS5U,KAAKwR,YAAalE,OAAQtN,KAAKsa,WAAY7b,SAAUD,EAAYC,EAAUC,GAAWwV,UAAWlU,KAAKQ,MAAM0T,UAAW9N,UAAWpG,KAAKyY,cAAewE,WAAYjd,KAAK4a,eAAgBzY,QAASzD,OAAWI,EAAYkB,KAAK0a,mBAAoB/X,KAAM,WAAY,gBAAiB3C,KAAKoV,SAAU,gBAAiB1W,QAAYI,EAAW,gBAAiB,UAAW,gBAAiBgT,IAAU,EAAO,YAAa9R,KAAK0W,KAAKhE,UAAW,wBAAyBZ,EAAU,UAAY9R,KAAK0W,KAAK5Z,KAAO,KAAO4M,GAAiBmB,EAAUA,EAAQkB,KAAO,SAAOjN,EAAW,aAAckB,KAAKQ,MAAM0c,WAAald,KAAKQ,MAAM2T,MAAO,kBAAmBnU,KAAKQ,MAAM2c,eAAgB,mBAAoBnd,KAAKQ,MAAM4c,iBAAmBpd,KAAKiX,SAAUha,GAAI+C,KAAKQ,MAAMvD,GAAIsa,MAAOvX,KAAKQ,MAAM+W,OACjxBwF,EACA3I,GAAW7T,EAAAA,cAAoBwD,EAAU,CAAErD,UAAW,uBAAwBvB,KAAM,YACpFoB,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAE5e,UAAW,EAAGqF,KAAM,SAAU,aAAc4Y,EAAc,eAAe,EAAM9b,KAAMA,EAAM0F,SAAUA,EAAUgX,UAAWV,EAAelc,UAAW,iBAAkB6F,QAAS,KAAM5F,WAAY,OAAQsC,KAAO2Z,OAAmC9d,EAAnB,iBAA8Bye,QAAUX,EAAmC5c,KAAKQ,MAAM+c,QAA9BC,EAAAA,IAAuCzb,YAAa,SAAU7B,GAAK,OAAOuK,EAAM0G,MAAMrG,SAAW5K,EAAE2J,gBAAkB,IAC3a7J,KAAKsX,YAAYpR,IAChBuU,GAAkBza,KAAK4X,uBAC5B6C,GAAkBza,KAAKyd,+BAC3B,OAAOtJ,EAAS5T,EAAAA,cAAoBmd,EAAAA,EAAe,CAAEvJ,MAAOA,EAAOwJ,YAAazW,EAAM0W,YAAarC,EAASsC,eAAgB7d,KAAKQ,MAAM9B,SAAUoC,MAAO,CAAEyC,MAAOzC,EAAQA,EAAMyC,WAAQzE,GAAaiE,SAAUia,IAAmBA,CACrO,EAIAxG,EAA2B5W,UAAUya,WAAa,SAAUlJ,EAAOR,GAC/D,IAAInP,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAIsG,EAAc9I,EAAG8I,YAAauJ,EAAcrS,EAAGqS,YAAa5H,EAAKzK,EAAGqJ,QAASA,OAAiB,IAAPoB,EAAgB,CAAEF,KAAM,EAAGgC,MAAO,EAAGE,SAAU,GAAMhC,EAC3MsC,EAAKvO,KAAK0W,KAAKnI,GACfrI,EAAQlG,KAAKkG,MACbyE,EAAQhC,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGmJ,EAAO2N,EAAc,IAC7EiK,EAAW9d,KAAK0W,KAAKzF,WAAWP,SAAS,CACzCvP,QAAS0J,EAAQkB,KAAOpB,EACxB4E,KAAMhB,EAAGP,QAAUnD,EAAQkD,MAAQpF,EAAKnL,QAAU,EAClDsR,SAAqBhQ,IAAhBwL,GAA6B,EAAI,EACtCqG,QAASA,SAEI7R,IAAbgf,GACA9d,KAAKqR,iBAAiByM,EAAU3M,GAEpCnR,KAAKuR,WAAWJ,EACpB,EACAqF,EAA2B5W,UAAU6d,4BAA8B,WAC/D,IAAIjc,EACAiJ,EAAQzK,KACRgE,EAAKhE,KAAKmR,MAAMqJ,YAAaA,OAAqB,IAAPxW,EAAgB,EAAIA,EAC/DiI,EAAKjM,KAAKQ,MAAOuU,EAAS9I,EAAG8I,OAAQC,EAAS/I,EAAG+I,OAAQpU,EAAOqL,EAAGrL,KAAMmd,EAAgB9R,EAAG8R,cAAelS,EAAaI,EAAGJ,WAAYgM,EAA8B5L,EAAG4L,4BAA6Bla,EAAOsO,EAAGtO,KAAMmc,EAAK7N,EAAGtD,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EAE/PkE,EAAmB,CACnBC,aAAa,EACbC,oBAAqB,GACrBC,YAJ+Brf,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAK1EsM,WAAW,EACXzJ,QAAS,SAAU7S,GAAS,OAAO2I,EAAMiQ,mBAAmB5Y,EAAQ,EACpEuc,gBAAiB7D,GAAepE,GAAsB,CAAEkI,IAAK,EAAG/a,MAAO,OAAQC,OAAQ,aAAW1E,EAClG4B,UAAW8Z,GAAepE,GACpB,kDACA,+CAENxP,EAAQ5G,KAAKmR,MAAMvK,MAIvB,YAHc9H,IAAV8H,QAAsC9H,IAAf+M,IACvBjF,EAAQ4B,GAAaG,EAAK,GAAIkD,IAE1BtL,EAAAA,cAAoBA,EAAAA,SAAgB,KACxCA,EAAAA,cAAoBge,GAAAA,YAAajf,GAAS,CAAC,EAAG0e,GAC1Czd,EAAAA,cAAoBie,GAAAA,kBAAmB,CAAE9d,UAAW,iBAChDH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,uCACpCH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,uBACpCH,EAAAA,cAAoB,MAAO,KAAMwd,IACrCxd,EAAAA,cAAoB,MAAO,CAAEG,UAAW,yBACpCH,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAE5e,SAAU,EAAG,aAAc,SAAU,gBAAiB,QAASqF,KAAM,SAAUwC,SAAU,OAAQnE,QAASnC,KAAK0a,mBAAoBzX,KAAM,IAAKsa,QAASkB,EAAAA,QAC7Lle,EAAAA,cAAoB,MAAO,CAAEG,UAAW,qDAAuDV,KAAKkY,qBACxG3X,EAAAA,cAAoBme,GAAAA,mBAAoB,CAAEhe,UAAW,sBACjDqU,GAAUxU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBqU,GACrExU,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,UAAWoE,EAAK,CAAC,EAAGA,EAAG,UAAUE,OAAO4U,GAAQ1V,IAASA,IAASA,EAAMY,EAAG,kBAAoBxB,KAAK0W,KAAKnI,GAAGP,QAASxM,KACpKxB,KAAKmY,qBACJxa,GAAQiJ,GAAyB,IAAhB+B,EAAKnL,QAAgB+C,EAAAA,cAAoBoG,EAAmB,CAAEC,MAAOA,EAAOC,UAAW,SAAUrB,OAAQqS,IAC3H7X,KAAKoY,cACTpD,GAAUzU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBsU,KACrF,EACAwB,EAA2B5W,UAAUoM,aAAe,WAChD,IAAIuM,EAAavR,EAAUhH,KAAKQ,MAAM5C,QAAUoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,KAC3E1F,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAIiI,EAAKzK,EAAGqJ,QAASA,OAAiB,IAAPoB,EAAgB,CAAEF,KAAM,GAAME,EAAI4H,EAAcrS,EAAGqS,YAAajL,EAAYpH,EAAGoH,UAAWkM,EAAmBtT,EAAGsT,iBAC1M5O,EAAQlG,KAAKkG,MAEbyY,IADgBhW,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGmJ,EAAO2N,EAAc,IACrD,IAAM7T,KAAKQ,MAAM8J,aACrD,OAAKqU,GAAepG,GAA+B,IAAjB1N,EAAQkB,KAC/B+I,EAAmBA,EAAiBnM,EAAM4P,EAAY3P,GACzDD,EAAKxI,QAAQsJ,GAAed,EAAM4P,EAAY3P,IAG1C+V,GAAgC,IAAjB9T,EAAQkB,UAAiBjN,EAAJ,CAEpD,EACA0X,EAA2B5W,UAAUob,aAAe,SAAU9Z,GAC1D,IAAIuJ,EAAQzK,KACZA,KAAK8W,iBAAkB,EACvB5V,EAAQgW,QACRzI,OAAOC,YAAW,WAAc,OAAOjE,EAAMqM,iBAAkB,CAAO,GAAG,GAC7E,EACAN,EAA2B5W,UAAUwX,gBAAkB,SAAUrQ,EAAMoK,GAC/D9H,GAAQrJ,KAAKkG,MAAOa,EAAM/G,KAAKQ,MAAMqT,oBAGhB/U,IAArBkB,KAAKQ,MAAM0F,QACXiL,EAAMxI,KAAKzC,MAAQa,GAEvB/G,KAAK4Z,qBAAuB7S,EAC5BoK,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,aAC9B,EACA0S,EAA2B5W,UAAU2R,WAAa,SAAUJ,GACxDnR,KAAK0W,KAAKnF,WAAWJ,GACrBnR,KAAK4Z,0BAAuB9a,CAChC,EACA0X,EAA2B5W,UAAUyc,eAAiB,SAAUuC,GAC5D,IAAK,IAAIthB,EAAK,EAAGuhB,EAAYD,EAASthB,EAAKuhB,EAAUrhB,OAAQF,IAAM,CAC/D,IAAIwhB,EAAQD,EAAUvhB,GACtB0C,KAAKyS,SAAS,CAAE+H,YAAasE,EAAM9d,OAAO+d,aAC9C,CAEJ,EAEAvI,EAA2B3T,YAAc,eAIzC2T,EAA2B5T,UAAYtD,GAAS,CAAEwZ,MAAO5Z,EAAAA,OAAkBkI,WAAYlI,EAAAA,KAAgB0d,cAAe1d,EAAAA,OAAkBqe,QAASte,EAAiBqL,YAAapL,EAAAA,IAAe2d,YAAa3d,EAAAA,KAAgByY,SAAUzY,EAAAA,KAAgBmc,kBAAmBnc,EAAAA,OAAkBkW,SAAUlW,EAAAA,KAAgBjC,GAAIiC,EAAAA,OAAkBie,eAAgBje,EAAAA,OAAkBke,gBAAiBle,EAAAA,OAAkBge,UAAWhe,EAAAA,OAAkB2a,wBAAyB3a,EAAAA,KAAgBqY,MAAOrY,EAAAA,OAAkB2M,WAAY3M,EAAAA,OAAkBvB,KAAMuB,EAAAA,KAAiB4R,GAAAA,WAIniB0F,EAA2BnV,aAAe/B,GAASA,GAAS,CAAEwZ,MAAO,IAAKra,SAAU,EAAG2I,YAAY,GAAQ0J,GAAAA,cAA4B,CAAEsE,UAAU,EAAOxU,KAAM,SAAU2F,QAAS,SAAUD,SAAU,QAASO,UAAW,WACpN2P,CACX,CA1qBgD,CA0qB9CjW,EAAAA,WAQSye,GAA2Bza,IA2B3B0a,GAAeza,EAAiBwa,GAA0BxI,IACrEyI,GAAapc,YAAc,yBC7vBpB,ICHH8B,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAoBzC+Z,GAA2B,SAAU3Z,GAErC,SAAS2Z,IACL,IAAIzU,EAAmB,OAAXlF,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,KAEhE,OADAyK,EAAM0U,OAAS,KACR1U,CACX,CAiCA,OAtCA9F,GAAUua,EAAW3Z,GAMrBtH,OAAOgR,eAAeiQ,EAAUtf,UAAW,QAAS,CAIhDsP,IAAK,WACD,OAAOlP,KAAKmf,MAChB,EACAhQ,YAAY,EACZC,cAAc,IAElB8P,EAAUtf,UAAU6b,mBAAqB,SAAUC,GAC/C,IAAI0D,EAAY1D,EAAUxV,MACtBmZ,EAAoB3D,EAAU4D,cAC9B9d,EAAKxB,KAAKQ,MAAO0F,EAAQ1E,EAAG0E,MAAOoZ,EAAgB9d,EAAG8d,cAAexU,EAAUtJ,EAAGsJ,QAClF9E,EAAQhG,KAAKgG,MACbuZ,EAAeH,IAAclZ,GAASoZ,IAAkBD,EACxDG,EAAWD,GAAgBH,EAAU3W,WAAWvC,MAC9CmZ,GAAqBC,GAAiBD,EAAkBI,SAASH,IACnEI,ED1CkB,SAAU5J,GACpC,GAAKA,EAAL,CAGA,IAAI4J,EAAgB5J,EAAS4J,cACzBC,EAA+B,OAAlBD,QAA4C,IAAlBA,OAA2B,EAASA,EAAcC,WAC7F,OAAOA,EAAaA,EAAWD,cAAgBA,CAH/C,CAIJ,CCmC4BE,CAAiB9J,UACjChL,GAAW9E,GAAS0Z,IAAkB1Z,GACtCA,EAAMkR,QAENoI,GAAiBC,IAAiBC,GAAYxZ,GAC9CA,EAAM6Z,kBAAkB3Z,EAAM1I,OAAS8hB,EAAc9hB,OAAQ0I,EAAM1I,OAE3E,EACA0hB,EAAUtf,UAAU4F,OAAS,WACzB,IAAIiF,EAAQzK,KACRwB,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGse,SAAUA,OAAkB,IAAP9b,GAAwBA,EAAItF,EAAW8C,EAAG9C,SAAUuN,EAAKzK,EAAGmB,KAAMA,OAAc,IAAPsJ,EAAgB,UAAYA,EAAIzG,EAAShE,EAAGgE,OACnKua,EAAaxf,EAAAA,cAAoB,QAAS,CAAEyf,aAAc,MAAO/iB,GAAI+C,KAAKQ,MAAMvD,GAAI6G,KAAM,OAAQ1F,IAAK,YAAawC,KAAMZ,KAAKQ,MAAMI,KAAMqf,YAAajgB,KAAKQ,MAAMyf,YAAavf,UAAW,gBAAiBjC,SAAUuB,KAAKQ,MAAM/B,SAAUyV,UAAWlU,KAAKQ,MAAM0T,UAAWvR,KAAMA,EAAMxD,KAAMa,KAAKQ,MAAMrB,KAAM+G,MAAOlG,KAAKQ,MAAM0F,MAAOC,SAAUnG,KAAKQ,MAAM2F,SAAU1F,IAAK,SAAUuF,GAAS,OAAOyE,EAAM0U,OAASnZ,CAAO,EAAGI,UAAWpG,KAAKQ,MAAM4F,UAAWwO,QAAS5U,KAAKQ,MAAMoU,QAAStH,OAAQtN,KAAKQ,MAAM8M,OAAQnL,QAASnC,KAAKQ,MAAM2B,QAAS,gBAAiBzD,QAAYI,EAAWJ,SAAUA,QAAYI,EAAWohB,SAAUlgB,KAAKQ,MAAM0f,eAAYphB,EAAWyY,MAAOvX,KAAKQ,MAAM+W,MAAO,gBAAiB,UAAW,gBAAiBuI,EAAU,YAAa9f,KAAKQ,MAAM2f,KAAM,wBAAyBL,EAAW9f,KAAKQ,MAAM4f,sBAAmBthB,EAAW,mBAAoBkB,KAAKQ,MAAM4c,gBAAiB,kBAAmBpd,KAAKQ,MAAM2c,eAAgB,gBAAiBnd,KAAKQ,MAAM6f,eACn8B,OAAO7a,EAASA,EAAO1F,UAAKhB,EAAWihB,GAAaA,CACxD,EACOb,CACX,CAxC+B,CAwC7B3e,EAAAA,WACF,YC7DA,IAAIoE,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAuBzCmb,GAA6B,SAAU/a,GAEvC,SAAS+a,IACL,IAAI7V,EAAmB,OAAXlF,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,KAEhE,OADAyK,EAAM1I,YAAc,SAAU7B,GAAK,OAAOA,EAAE2J,gBAAkB,EACvDY,CACX,CAMA,OAXA9F,GAAU2b,EAAa/a,GAMvB+a,EAAY1gB,UAAU4F,OAAS,WAC3B,IAAI+R,GAAQzK,EAAAA,GAAAA,IAA2B9M,MAAM6M,iBAAiB1B,GAAOM,GAASN,KAC9E,OAAQ5K,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,gBAAiBiC,KAAM,SAAUR,QAASnC,KAAKQ,MAAM2B,QAASJ,YAAa/B,KAAK+B,YAAatD,UAAW,EAAG8Y,MAAOA,EAAOnZ,IAAK,eAC3KmC,EAAAA,cAAoBwD,EAAU,CAAE5E,KAAM,IAAK8D,KAAMwb,EAAAA,MACzD,EACO6B,CACX,CAbiC,CAa/B/f,EAAAA,WACF,aACAmN,EAAAA,GAAAA,IAAwB4S,ICtCxB,IAAI3b,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAezC7F,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAsBI+Y,GAAU5Z,EAAwB6Z,GAAa7Z,EAE/C6jB,GAAwC,SAAUhb,GAElD,SAASgb,EAAuB/f,GAC5B,IAAIiK,EAAQlF,EAAOzF,KAAKE,KAAMQ,IAAUR,KAwNxC,OAtNAyK,EAAM0G,MAAQ,CAAC,EACf1G,EAAMiM,KAAO,IAAI5F,GAAarG,GAC9BA,EAAMgM,SAAW,KACjBhM,EAAMwM,SAAWna,IACjB2N,EAAM+V,WAAa,GACnB/V,EAAMgW,WAAY,EAClBhW,EAAM0U,OAAS,KACf1U,EAAMiW,qBAAuB,KAC7BjW,EAAMvC,WAAa,EAEnBuC,EAAMyM,MAAQ,WACNzM,EAAM0U,QACN1U,EAAM0U,OAAOjI,OAErB,EAEAzM,EAAM4G,iBAAmB,SAAU1G,EAAOwG,GACtC,IAAI3P,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6G,EAAUrJ,EAAGqJ,QAASgJ,EAAcrS,EAAGqS,YAEvG9M,EAAO4B,EAAKgC,GADLE,EAAUA,EAAQkB,KAAO,IAEhCoL,GAAe9N,GAAQtC,EAAM0D,EAAMvE,MAAO2N,GAC9CpJ,EAAM2M,gBAAgBrQ,EAAMoK,QACHrS,IAArB2L,EAAM0G,MAAMjK,OACZiK,EAAMxI,KAAKzB,UAAOpI,GAElBqY,GACA1M,EAAMiM,KAAK9C,6BAA6B7M,EAAMoK,EAEtD,EACA1G,EAAMuN,cAAgB,WAClBtJ,YAAW,WACHjE,EAAMkW,YAAclW,EAAMiW,uBAC1BjW,EAAMgW,WAAY,EAClBhW,EAAMiW,qBAAqBxJ,QAC3BzM,EAAMgW,WAAY,EAE1B,GAAG,IACP,EACAhW,EAAM4M,aAAe,SAAUnW,GAC3BuJ,EAAMgM,SAAWvV,EACjBuJ,EAAMiM,KAAK1F,QAAU9P,CACzB,EACAuJ,EAAMmW,eAAiB,SAAU9e,GAC7B,IAAIgQ,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7EX,EAAQ1G,EAAMiM,KAAKtF,YAGvB,GAFAD,EAAMnP,eAAiBF,EACvB2I,EAAMiM,KAAKpF,YAAYH,IAClBW,GAAUrH,EAAMkW,WAAY,CAC7B,IAAIE,OAA4C/hB,IAA/B2L,EAAMjK,MAAMsgB,eAA+BrW,EAAMjK,MAAMsgB,eAAiBrW,EAAM0G,MAAMjK,MAAQ,KAC7GuD,EAAMiM,KAAK/E,cAAckP,EAAY1P,EACzC,CACA1G,EAAM8G,WAAWJ,EACrB,EACA1G,EAAMsW,uBAAyB,WAC3B,IAAIF,OAA4C/hB,IAA/B2L,EAAMjK,MAAMsgB,eAA+BrW,EAAMjK,MAAMsgB,eAAiBrW,EAAM0G,MAAMjK,KACjG8Z,EAAmBxY,GAAaiC,EAAMvE,MAAOuE,EAAMjK,MAAMoI,WACzDqY,EAAkBja,EAAU6Z,GAAcA,EAAaG,EAC3D,OAAQzgB,EAAAA,cAAoBwF,EAAY,CAAEG,MAAO+a,EAAiBxgB,IAAK,SAAU7C,GAAU,OAAO6M,EAAMiW,qBAAuB9iB,GAAUA,EAAOsD,OAAS,EAAGiF,SAAUsE,EAAMyW,yBAA0B9a,UAAWqE,EAAM0W,eAAgBvgB,KAAM6J,EAAMjK,MAAMI,KAAM2F,QAASkE,EAAMjK,MAAM+F,QAASD,SAAUmE,EAAMjK,MAAM8F,UACvT,EACAmE,EAAMyW,yBAA2B,SAAUpf,GACvC,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EAAME,eAC7BmP,EAAMxI,KAAKzB,KAAOpF,EAAMd,OAAOkF,MAC/BuE,EAAMiM,KAAK/E,cAAc7P,EAAMd,OAAOkF,MAAOiL,GAC7C1G,EAAM8G,WAAWJ,EACrB,EACA1G,EAAM8C,SAAW,SAAUzL,GACvB,IAAIN,EAAKiJ,EAAMiM,KAAMnI,EAAK/M,EAAG+M,GAAI5Q,EAAO6D,EAAG7D,KAC3C4Q,EAAGS,cAAclN,GACjB,IAAI+J,EAAapB,EAAMjK,MAAMqL,WACzB7H,EAAKyG,EAAMjK,MAAMmI,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EACvD,GAAK6H,GAAelD,EAAKnL,OAAzB,CAGA,IAAI0K,EAAauC,EAAMvC,WACnBuC,EAAMvC,aAAeqG,EAAGP,QAAUO,EAAGrG,WAAcvK,EAAOA,EAAKoF,SAAS,GAAG8E,aAAe,GAE1FI,EADSnG,EAAMd,OACIiH,UAAasG,EAAGxC,KAAO7D,EAChB,WAA1BuC,EAAMjK,MAAMqG,YACZ8B,EAAO8B,EAAMiM,KAAK3C,yBAAyBpL,EAAMkD,IAGrD,IADA,IAAIjF,EAAQ+B,EAAK,GAAGkD,GACX9O,EAAI,EAAGA,EAAI4L,EAAKnL,UACjB0K,EAAanL,EAAIkL,GADQlL,IAIzB4L,EAAK5L,IAAM4L,EAAK5L,GAAG8O,KACnBjF,EAAQ+B,EAAK5L,GAAG8O,IAGpBjF,IAAU6D,EAAM0G,MAAMvK,QACtB6D,EAAMgI,SAAS,CACX7L,MAAOA,IAEP6D,EAAMjK,MAAM4gB,eACZ3W,EAAMjK,MAAM4gB,cAActhB,UAAKhB,EAAW,CAAE8H,MAAOA,IAtB3D,CAyBJ,EACA6D,EAAMyG,gBAAkB,SAAUvG,EAAO7I,GACrC2I,EAAMiM,KAAKxF,gBAAgBvG,EAAO7I,GAClC2I,EAAMmP,0BAAuB9a,CACjC,EACA2L,EAAM6P,WAAa,SAAUxY,GACzB,GAAI2I,EAAM0G,MAAMrG,UAAYL,EAAMgW,UAAW,CACzC,IAAItP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMxI,KAAKmC,SAAU,EACrBqG,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,WAC1BqN,EAAMnP,eAAiBF,EACvB2I,EAAM4W,8BAA8Bvf,EAAMwf,cAAcpb,MAAOiL,EACnE,CACJ,EACA1G,EAAM8W,aAAe,SAAUzf,GAC3B,IAAIgQ,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7E+O,OAA4C/hB,IAA/B2L,EAAMjK,MAAMsgB,eAA+BrW,EAAMjK,MAAMsgB,eAAiBrW,EAAM0G,MAAMjK,MAAQ,KAC7G,IAAK4K,GAAUrH,EAAMkW,WAAY,CAC7B,IAAIxP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvB2I,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAMiM,KAAK/E,cAAckP,EAAY1P,GACrC1G,EAAM8G,WAAWJ,EACrB,CACJ,EACA1G,EAAM0W,eAAiB,SAAUrf,GAC7B,IAAI6O,EAAU7O,EAAM6O,QAChBmB,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7EX,EAAQ1G,EAAMiM,KAAKtF,YAEvB,GADAD,EAAMnP,eAAiBF,GAClBA,EAAMoY,SAAWvJ,IAAYjV,GAAWiV,IAAYjV,GAIrD,OAHAoG,EAAM+H,iBACNY,EAAM4P,WAAWlJ,EAAOR,QACxBlG,EAAM8G,WAAWJ,GAGrB,IAAIG,EAAc,WACdxP,EAAM+H,iBACNY,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAM8G,WAAWJ,EACrB,EACIW,EACIhQ,EAAMoY,QAAUvJ,IAAYjV,EAC5B4V,IAEKX,IAAYjV,GACjBoG,EAAM+H,iBACNY,EAAM+W,kBAAkB1f,EAAMwf,cAAcpb,MAAOiL,IAE9CR,IAAYjV,GACjB+O,EAAM4W,8BAA8Bvf,EAAMwf,cAAcpb,MAAOiL,GAG9DrP,EAAMoY,QAAUvJ,IAAYjV,GACjC4V,GAER,EACA7G,EAAMgX,cAAgB,SAAU3f,GAC5B,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvB,IAAIgQ,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7E9L,EAAQlE,EAAMwf,cACdpb,EAAQF,EAAME,MAClB,GAAIuE,EAAMjK,MAAMkhB,QAAS,CACrB,IAAIC,EAAiB3b,EAAM4b,eAAiB1b,EAAM1I,OAC9CqkB,OAAkC/iB,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC9EF,EAAU6a,KACXA,EAAWrZ,GAAaiC,EAAMvE,MAAOuE,EAAMjK,MAAMoI,YAAc,IAEnE,IAAIkZ,EAAoBD,GAAYA,IAAa3b,EAC7CsZ,EAAWqC,GAAYA,EAASrkB,OAAS0I,EAAM1I,OAC/CskB,GAAqBtC,IAAamC,EAClClX,EAAM+V,WAAa,GAGnB/V,EAAMsX,aAAa7b,EAE3B,MAC2BpH,IAAvB2L,EAAMjK,MAAM5C,SACZuT,EAAMxI,KAAKzB,KAAOhB,QAEUpH,IAA5B2L,EAAM0G,MAAM6Q,cACZ7Q,EAAMxI,KAAKqZ,iBAAcljB,GAExBgT,GACDrH,EAAMiM,KAAKpF,YAAYH,GAE3B1G,EAAMiM,KAAK/E,cAAczL,EAAOiL,GAChC1G,EAAM8G,WAAWJ,GACjB1G,EAAMgI,SAAS,CAAE7L,WAAO9H,GAC5B,EACA2L,EAAMwX,iBAAmB,SAAUngB,GAC/B,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvBA,EAAMuE,kBACNoE,EAAM+V,WAAa,GACnB/V,EAAMiM,KAAK/E,cAAc,GAAIR,QACFrS,IAAvB2L,EAAMjK,MAAM5C,aAA6CkB,IAArB2L,EAAM0G,MAAMjK,OAChDiK,EAAMxI,KAAKzB,UAAOpI,GAEtB2L,EAAM2M,gBAAgB,KAAMjG,GAC5B,IAAIW,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7EoQ,EAAazX,EAAMkW,WACnB7O,IAAWoQ,GACXzX,EAAMiM,KAAKpF,YAAYH,GAE3B1G,EAAM8G,WAAWJ,EACrB,EACA1G,EAAMwQ,YAAc,WACZxQ,EAAM0U,QAAU1U,EAAM0U,OAAOjE,mBAC7BzQ,EAAM0U,OAAOjE,kBAAkBzQ,EAAM0Q,SAASC,MACxC,GACA3Q,EAAMjK,MAAM6a,mBA1NT,8BA4NjB,EACA/F,GAAgBC,IACT9K,CACX,CAkeA,OA7rBA9F,GAAU4b,EAAwBhb,GA4NlCtH,OAAOgR,eAAesR,EAAuB3gB,UAAW,WAAY,CAChEsP,IAAK,WACD,GAAK2G,GAIL,OAAQ7V,KAAKkB,SAAWlB,KAAKkB,QAAQ8R,eAAkB8C,QAC3D,EACA3G,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,UAAW,CAE/DsP,IAAK,WACD,OAAOlP,KAAKyW,QAChB,EACAtH,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,aAAc,CAIlEsP,IAAK,WAED,SADiBlP,KAAKmR,MAAMqJ,aAAexa,KAAKmR,MAAMqJ,aAAenE,IAAwBrW,KAAKQ,MAAM+Z,SAE5G,EACApL,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,QAAS,CAI7DsP,IAAK,WACD,YAAkCpQ,IAA9BkB,KAAK4Z,qBACE5Z,KAAK4Z,0BAEc9a,IAArBkB,KAAKQ,MAAM0F,MACTlG,KAAKQ,MAAM0F,WAEQpH,IAArBkB,KAAKmR,MAAMjL,MACTlG,KAAKmR,MAAMjL,WAEepH,IAA5BkB,KAAKQ,MAAMyU,aACTjV,KAAKQ,MAAMyU,kBADjB,CAIT,EACA9F,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,QAAS,CAI7DsP,IAAK,WACD,IAAI1N,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6P,EAAcrS,EAAGqS,YAChF3N,EAAQlG,KAAKkG,MAEjB,OAAOyC,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGmJ,EAAO2N,EAAc,GAChF,EACA1E,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,OAAQ,CAI5DsP,IAAK,WACD,OAAOlP,KAAKQ,MAAMrB,IACtB,EACAgQ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,WAAY,CAIhEsP,IAAK,WAGD,IAAIoM,OAA+Cxc,IAAjCkB,KAAKQ,MAAM6a,kBACzBE,GAAYvb,KAAKoV,UACE,OAAfpV,KAAKkG,OAAiC,KAAflG,KAAKkG,YAA+BpH,IAAfkB,KAAKkG,MAEzD,MAAO,CACHoV,YAAaA,EACbF,WAH6Btc,IAArBkB,KAAKQ,MAAM4a,MAAsBpb,KAAKQ,MAAM4a,MAAQG,EAI5DC,aAA6B,OAAfxb,KAAKkG,MAE3B,EACAiJ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,iBAAkB,CACtEsP,IAAK,WACD,YAAqCpQ,IAA9BkB,KAAKQ,MAAM6U,eACZrV,KAAKQ,MAAM6U,eACXkL,EAAuBlf,aAAagU,cAC9C,EACAlG,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAesR,EAAuB3gB,UAAW,WAAY,CAEhEsP,IAAK,WACD,YAA+BpQ,IAAxBkB,KAAKQ,MAAM4U,SACZpV,KAAKQ,MAAM4U,SACXmL,EAAuBlf,aAAa+T,QAC9C,EACAjG,YAAY,EACZC,cAAc,IAGlBmR,EAAuB3gB,UAAU6b,mBAAqB,SAAUC,EAAWC,GACvE,IAAIna,EACAwC,EAAKhE,KAAKQ,MAAOqT,EAAc7P,EAAG6P,YAAahJ,EAAU7G,EAAG6G,QAASoB,EAAKjI,EAAG6H,WAAYA,OAAoB,IAAPI,EAAgB,GAAKA,EAAI6N,EAAK9V,EAAG2E,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EACzK8B,EAAYF,EAAU7Q,QAAU6Q,EAAU7Q,QAAQkD,MAAQ,EAC1D+D,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1E+J,OAAkC/c,IAArB4c,EAAU5J,OAAuB4J,EAAU5J,OAAS6J,EAAU7J,OAC3EgK,GAAWD,GAAc/J,EACzBqQ,EAAeniB,KAAKkG,MAExB,GADAlG,KAAKoiB,kBAAoBD,EACrBtX,GAAWA,EAAQkD,QAAU6N,EAC7B5b,KAAK0W,KAAKnI,GAAGI,0BACb3O,KAAK0W,KAAKnI,GAAGqB,YAEZ,CACD,IAAIoM,OAAuCld,IAApB4c,EAAUxV,MAAsBwV,EAAUxV,MAAQyV,EAAUzV,MAC/EkM,EAAoBzJ,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGolB,EAActO,EAAc,IAEvE,WAAzB7T,KAAKQ,MAAMqG,YACXuL,EAAoF,QAA/D5Q,EAAKxB,KAAK0W,KAAK3C,yBAAyBpL,EAAMkD,UAAgC,IAAPrK,OAAgB,EAASA,EAAGrB,QAAQgiB,IAEpI,IAAIlG,GAAuB5S,GAAQ2S,EAAkBmG,EAActO,GAC/DiI,GAAWjR,EACX7K,KAAK0W,KAAKvE,oBAAoBtH,EAASuH,GAElC0J,IAAYjR,GACjB7K,KAAKgY,gBAEDrP,GAAwB,IAAhBA,EAAKnL,QACbwC,KAAK0W,KAAKpE,uBAAuB3J,EAAK,GAAGkD,GAAa7L,MAE1DA,KAAK0W,KAAKnP,aAAa6K,IAElBN,GAAU+J,GAAcsG,GAAgBlG,GAC7Cjc,KAAK0W,KAAKnP,aAAa6K,EAE/B,CACI0J,GAAW9b,KAAKmf,QAChBnf,KAAKmf,OAAOjI,QAEhBlX,KAAKib,aACT,EAEAsF,EAAuB3gB,UAAUsc,kBAAoB,WACjD,IAAI1a,EACJxB,KAAKmc,eAAiBtG,IAAapH,OAAO2N,gBAAkB,IAAI3N,OAAO2N,eAAepc,KAAKqc,eAAezN,KAAK5O,OAC/GA,KAAK0W,KAAK/D,WACV3S,KAAKib,eACyB,QAAxBzZ,EAAKxB,KAAK8V,gBAA6B,IAAPtU,OAAgB,EAASA,EAAG8a,OAAStc,KAAKmc,gBAC5Enc,KAAKmc,eAAeI,QAAQvc,KAAK8V,SAASwG,KAElD,EAEAiE,EAAuB3gB,UAAU4c,qBAAuB,WACpD,IAAIhb,GAC0B,QAAxBA,EAAKxB,KAAK8V,gBAA6B,IAAPtU,OAAgB,EAASA,EAAG8a,OAAStc,KAAKmc,gBAC5Enc,KAAKmc,eAAeM,YAE5B,EAEA8D,EAAuB3gB,UAAU4F,OAAS,WACtC,IAAIhE,EACA6gB,GAAqBvV,EAAAA,GAAAA,IAA2B9M,MAAM6M,iBAAiBzB,GAA8BK,GAASL,KAC9GkX,GAAuBxV,EAAAA,GAAAA,IAA2B9M,MAAM6M,iBAAiBxB,GAAgCI,GAASJ,KAClHrH,EAAKhE,KAAKQ,MAAOiF,EAAMzB,EAAGyB,IAAK/G,EAAWsF,EAAGtF,SAAUuN,EAAKjI,EAAGue,YAAaA,OAAqB,IAAPtW,EAAgBsU,EAAuBlf,aAAakhB,YAActW,EAAIkI,EAAQnQ,EAAGmQ,MAAOvL,EAAY5E,EAAG4E,UAAW2R,EAAWvW,EAAGuW,SAAU7Z,EAAYsD,EAAGtD,UAAWI,EAAQkD,EAAGlD,MAAOsT,EAAUpQ,EAAGoQ,QAASwI,EAAgB5Y,EAAG4Y,cAAe/R,EAAU7G,EAAG6G,QAASjK,EAAOoD,EAAGpD,KAAM2F,EAAUvC,EAAGuC,QAASD,EAAWtC,EAAGsC,SAAUwT,EAAK9V,EAAG8N,OAAQA,OAAgB,IAAPgI,EAAgB9Z,KAAKmR,MAAMW,OAASgI,EAAImG,EAAcjc,EAAGic,YAC9etD,EAAK3c,KAAKmR,MAAMqJ,YAAaA,OAAqB,IAAPmC,EAAgB,EAAIA,EAC/DpB,GAAWvb,KAAKqV,gBAAkBrV,KAAKmb,SAASC,MAChDlU,OAA6BpI,IAAtBkB,KAAKQ,MAAM5C,OAAuBoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,KACxE8Z,EAAmBxY,GAAaxI,KAAKkG,MAAO0C,GAC5C4Z,EAAYxb,EAAUE,GAAQA,EAAO8Z,EACrCyB,EAAoBF,MAAmBC,GAAcxb,EAAUhH,KAAKkG,QAEpEqI,EADOvO,KAAK0W,KACFnI,GACVtR,EAAK+C,KAAKQ,MAAMvD,IAAM+C,KAAKiX,SAC3BwD,EAAiBD,GAAenE,IAAwBkE,EAC5DhM,EAAGP,aAAsBlP,IAAZ+L,OACG/L,IAAZ+L,IACA0D,EAAGxC,KAAOlB,EAAQkB,KAClBwC,EAAGR,MAAQlD,EAAQkD,MACnBQ,EAAGN,SAAWpD,EAAQoD,UAE1B,IAAIyU,EAAYniB,EAAAA,cAAoBA,EAAAA,SAAgB,KAChDA,EAAAA,cAAoB,OAAQ,CAAEG,UAAWtD,EAAW,sBAAuBoE,EAAK,CAAC,EACzEA,EAAG,WAAWE,OAAO4U,GAAQ1V,IAASA,IAASA,EAC/CY,EAAG,aAAaE,OAAO6U,GAAWhQ,IAAYA,IAAYA,EAC1D/E,EAAG,WAAWE,OAAO4E,IAAaA,EAClC9E,EAAG,cAAgB+Z,EACnB/Z,EAAG,aAAe4S,EAClB5S,EAAG,cAAgBxB,KAAKoV,SACxB5T,EAAG,cAAgB9C,EACnB8C,GAAKd,GAAYD,IAAKT,KAAKqX,aAAcvW,MAAQqT,EAAgB7U,GAASA,GAAS,CAAC,EAAGwB,GAAQ,CAAEyC,WAAOzE,IAA/CgC,EAA6D2E,IAAKA,GAC/HzF,KAAK2iB,gBAAgBH,GAAa,GAAIvlB,EAAIgjB,GAC1CwC,IAAsBrO,GAAW7T,EAAAA,cAAoB+f,GAAa,CAAEne,QAASnC,KAAKiiB,iBAAkB7jB,IAAK,gBACzGgW,GAAW7T,EAAAA,cAAoBwD,EAAU,CAAErD,UAAW,uBAAwBvB,KAAM,UAAWf,IAAK,YACpGmC,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAE5e,UAAW,EAAGqF,KAAM,SAAU,aAAcgO,EAASwQ,EAAuBD,EAAoBpf,KAAO2Z,OAAmC9d,EAAnB,iBAA8Bye,QAAUX,EAAmC5c,KAAKQ,MAAM+c,QAA9BC,EAAAA,IAAuCF,UAAWV,EAAehc,KAAMA,EAAM0F,SAAUA,EAAUC,QAAS,KAAM5F,WAAY,OAAQD,UAAW,iBAAkByB,QAASnC,KAAK4gB,eAAgB7e,YAAa,SAAU7B,GAAK,OAAOA,EAAE2J,gBAAkB,KAClc4Q,GAAkBza,KAAK4X,uBAC5B6C,GAAkBza,KAAKyd,+BAC3B,OAAOtJ,EACA5T,EAAAA,cAAoBmd,EAAAA,EAAe,CAAEvJ,MAAOA,EAAOyO,SAAU3lB,EAAI0gB,YAAa6E,EAAW5E,YAAarC,EAASsC,eAAgBnf,EAAUoC,MAAO,CAAEyC,MAAOzC,EAAQA,EAAMyC,WAAQzE,GAAaiE,SAAU2f,IACvMA,CACV,EAEAnC,EAAuB3gB,UAAUya,WAAa,SAAUlJ,EAAOR,GAC3D,IAAInP,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAIiI,EAAKzK,EAAGqJ,QAASA,OAAiB,IAAPoB,EAAgB,CAAEF,KAAM,GAAME,EACxH/E,EAAOlH,KAAKQ,MAAM5C,OAASoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,KAC1D8E,EAAehM,KAAK6iB,kBACpBtU,EAAKvO,KAAK0W,KAAKnI,GACfrI,EAAQlG,KAAKkG,MAEjB,GADAlG,KAAKwgB,WAAa,IACI,IAAlBxU,GAAwBhF,EAAUd,GAGjC,GAAa,KAATgB,EACLlH,KAAKqR,iBAAiB,EAAGF,OAExB,CACD,IAAI2R,EAAejY,EAAQkB,KAAOC,EAC9B8R,EAAW9d,KAAK0W,KAAKzF,WAAWP,SAAS,CACzCC,QAASA,EACTxP,QAAS2hB,EACTvT,KAAMhB,EAAGP,QAAUO,EAAGR,MAAQpF,EAAKnL,QAAU,EAC7CsR,IAAK,SAEQhQ,IAAbgf,GACA9d,KAAKqR,iBAAiByM,EAAU3M,EAExC,MAhBInR,KAAKqR,iBAAiBrF,EAAcmF,EAiB5C,EAEAoP,EAAuB3gB,UAAU4hB,kBAAoB,SAAUtb,EAAOiL,GAClE,IAAI3P,EACAwC,EAAKhE,KAAKQ,MAAOyL,EAAKjI,EAAG2E,KAAMA,OAAc,IAAPsD,EAAgB,GAAKA,EAAIrD,EAAY5E,EAAG4E,UAAWma,EAAc/e,EAAG+e,YAC1GjR,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAE1EkR,EADmBxa,GAAaxI,KAAKkG,MAAO0C,KACV1C,EAClClG,KAAK2K,MAAQjC,GAAmBC,EAAMzC,EAAO0C,GAC7Cqa,GAA+B,IAAhBD,EACf7L,OAAcrY,EAElB,GADAkB,KAAKwgB,WAAa,GACdyC,EACA9L,EAAcxO,EAAKqa,OAElB,CACD,IAAID,EAIA,OAAO/iB,KAAKkjB,kBAAkBhd,EAAOiL,GAHrCgG,OAA4BrY,IAAd8J,IAA2BpH,EAAK,CAAC,GAAMoH,GAAa1C,EAAO1E,GAAM0E,CAKvF,CACAlG,KAAKoX,gBAAgBD,EAAahG,GAC9BW,GACA9R,KAAK0W,KAAKpF,YAAYH,QAEArS,IAAtBkB,KAAKQ,MAAM5C,aAA4CkB,IAApBkB,KAAKmR,MAAMjK,OAC9CiK,EAAMxI,KAAKzB,UAAOpI,GAEtBkB,KAAKuR,WAAWJ,EACpB,EACAoP,EAAuB3gB,UAAUyhB,8BAAgC,SAAUna,EAAMiK,GAC7E,IAAI3P,EACAwC,EAAKhE,KAAKQ,MAAOyL,EAAKjI,EAAG2E,KAAMA,OAAc,IAAPsD,EAAgB,GAAKA,EAAIrD,EAAY5E,EAAG4E,UAAWma,EAAc/e,EAAG+e,YAC1GjR,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1EqR,EAAgB3a,GAAaxI,KAAKkG,MAAO0C,GACzCwa,EAAiBpjB,KAAKmR,MAAMqJ,aAAexa,KAAKmR,MAAMqJ,aAAenE,GAEzE,GADArW,KAAKwgB,WAAa,GACdtZ,IAASic,GAA2B,KAATjc,IAAgBF,EAAUmc,GAIrD,OAHIrR,IAAWsR,GACXpjB,KAAK0W,KAAKpF,YAAYH,GAEnBnR,KAAKuR,WAAWJ,GAE3B,IAAI6R,EAAata,GAAmBC,EAAMzB,EAAM0B,GAAW,GAEvDuO,EAAc,MADiB,IAAhB6L,EAGf7L,EAAcxO,EAAKqa,GAEdD,IACL5L,EAAcjQ,EAAQ0B,IAAapH,EAAK,CAAC,GAAMoH,GAAa1B,EAAM1F,GAAM0F,EAAQ,MAEpFlH,KAAKoX,gBAAgBD,EAAahG,QACVrS,IAApBkB,KAAKmR,MAAMjK,OACXiK,EAAMxI,KAAKzB,UAAOpI,EAClBkB,KAAK0W,KAAK/E,cAAc,GAAIR,IAE5BW,IAAWsR,GACXpjB,KAAK0W,KAAKpF,YAAYH,GAE1BnR,KAAKuR,WAAWJ,EACpB,EACAoP,EAAuB3gB,UAAUsjB,kBAAoB,SAAUhc,EAAMiK,GACjE,IAAIW,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1EtQ,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAAWqD,EAAKzK,EAAGqJ,QAASA,OAAiB,IAAPoB,EAAgB,CAAEF,KAAM,GAAME,EAAI6N,EAAKtY,EAAGsT,iBAAkBA,OAA0B,IAAPgF,EAAgB1R,GAAsB0R,EACzO/N,EAAOlB,EAAQkB,KACfC,EAAyB,KAAT9E,GAAwB,IAAT6E,EAAc,EAC7C+I,EAAiBnM,EAAMzB,EAAM0B,GAajC,OAZsB,IAAlBoD,EACAhM,KAAKqR,iBAAiBrF,EAAeD,EAAMoF,IAG3CnR,KAAKoX,gBAAgB,KAAMjG,QACHrS,IAApBkB,KAAKmR,MAAMjK,OACXiK,EAAMxI,KAAKzB,UAAOpI,IAGtBgT,GACA9R,KAAK0W,KAAKpF,YAAYH,GAEnBnR,KAAKuR,WAAWJ,EAC3B,EACAoP,EAAuB3gB,UAAU6d,4BAA8B,WAC3D,IAAIjc,EACAiJ,EAAQzK,KACRgE,EAAKhE,KAAKmR,MAAMqJ,YAAaA,OAAqB,IAAPxW,EAAgB,EAAIA,EAC/DiI,EAAKjM,KAAKQ,MAAOuU,EAAS9I,EAAG8I,OAAQC,EAAS/I,EAAG+I,OAAQpU,EAAOqL,EAAGrL,KAAMkZ,EAAK7N,EAAGtD,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EAAIjO,EAAaI,EAAGJ,WAAYhF,EAAYoF,EAAGpF,UAAWlJ,EAAOsO,EAAGtO,KAAMkN,EAAUoB,EAAGpB,QAASkT,EAAgB9R,EAAG8R,cAAelG,EAA8B5L,EAAG4L,4BACtR/F,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1ElL,EAAQ5G,KAAKmR,MAAMvK,WACT9H,IAAV8H,QAAsC9H,IAAf+M,IACvBjF,EAAQ4B,GAAaG,EAAK,GAAIkD,IAElC,IAAImS,EAAmB,CACnBC,aAAa,EACbC,oBAAqB,GACrBC,OAAQrM,EACRsM,WAAW,EACXzJ,QAAS,SAAU7S,GAAS,OAAO2I,EAAMmW,eAAe9e,EAAQ,EAChEuc,gBAAiB7D,GAAepE,GAAsB,CAAEkI,IAAK,EAAG/a,MAAO,OAAQC,OAAQ,aAAW1E,EAClG4B,UAAW8Z,GAAepE,GACpB,kDACA,+CAEV,OAAQ7V,EAAAA,cAAoBA,EAAAA,SAAgB,KACxCA,EAAAA,cAAoBge,GAAAA,YAAajf,GAAS,CAAC,EAAG0e,GAC1Czd,EAAAA,cAAoBie,GAAAA,kBAAmB,CAAE9d,UAAW,iBAChDH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,uCACpCH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,uBACpCH,EAAAA,cAAoB,MAAO,KAAMwd,IACrCxd,EAAAA,cAAoB,MAAO,CAAEG,UAAW,yBACpCH,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAE5e,SAAU,EAAG,aAAc,SAAU,gBAAiB,QAASqF,KAAM,SAAUwC,SAAU,OAAQnE,QAASnC,KAAK4gB,eAAgB3d,KAAM,IAAKsa,QAASkB,EAAAA,QACzLle,EAAAA,cAAoB,MAAO,CAAEG,UAAW,qDAAuDV,KAAK+gB,2BACxGxgB,EAAAA,cAAoBme,GAAAA,mBAAoB,CAAEhe,UAAW,sBACjDH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,oBACpCH,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,GAAYoE,EAAK,CAAC,EAClDA,EAAG,WAAa7D,EAChB6D,EAAG,cAAe,EAClBA,EAAG,kBAAoBqJ,EACvBrJ,EAAG,gBAAkB7D,EACrB6D,EAAG,WAAWE,OAAO4U,GAAQ1V,IAASA,IAASjD,GAAQiD,EACvDY,KACJuT,GAAUxU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,kBAAoBqU,IACrEpX,GAAQiJ,GAAyB,IAAhB+B,EAAKnL,QAAgB+C,EAAAA,cAAoBoG,EAAmB,CAAEC,MAAOA,EAAOC,UAAWA,EAAWrB,OAAQqS,IAC5H7X,KAAKoY,aACLpD,GAAUzU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBsU,OAC7F,EACAuL,EAAuB3gB,UAAUgY,oBAAsB,WACnD,IAAIpW,EAAIwC,EACJ0S,EAAO1W,KAAK0W,KACZzK,EAAKjM,KAAKQ,MAAOiF,EAAMwG,EAAGxG,IAAKsP,EAAS9I,EAAG8I,OAAQC,EAAS/I,EAAG+I,OAAQ8E,EAAK7N,EAAGtD,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EAAIjO,EAAaI,EAAGJ,WAAYhF,EAAYoF,EAAGpF,UAAWjG,EAAOqL,EAAGrL,KAAMjD,EAAOsO,EAAGtO,KAAMkN,EAAUoB,EAAGpB,QAASgN,EAA8B5L,EAAG4L,4BAClQ/F,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1EnM,EAAgB+Q,EAAK5C,mBACrBlB,OAAqC9T,IAAxB6G,EAAcpC,MAAsBoC,EAAcpC,MAAQmT,EAAK9D,WAC5EhM,EAAQ5G,KAAKmR,MAAMvK,MAIvB,YAHc9H,IAAV8H,QAAsC9H,IAAf+M,IACvBjF,EAAQ4B,GAAaG,EAAK,GAAIkD,IAE1BtL,EAAAA,cAAoB+E,EAAe,CAAE/B,MAAOqP,EAAYjN,cAAe,CACvE0O,QAAS1O,EAAc0O,QACvB0D,OAAQ/X,KAAKkB,QACb6L,KAAM+E,EACN0C,WAAYpX,EAAWuI,EAAc6O,WAAY,mBAAoB,oBACrE9T,UAAWiF,EAAcjF,UACzB+T,SAAU9O,EAAc8O,UACzBhP,SAAa3G,IAAR2G,EAAoBA,EAAMzF,KAAK0W,KAAKxD,cAAexN,WAAY,CAACiD,EAAKnL,SAC7E+C,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,GAAYoE,EAAK,CAAC,EAClDA,EAAG,WAAa7D,EAChB6D,EAAG,UAAUE,OAAO4U,GAAQ1V,IAASA,KAAUjD,GAAQiD,EACvDY,EAAG,kBAAoBqJ,EACvBrJ,EAAG,gBAAkB7D,EACrB6D,EAAG,WAAWE,OAAO4U,GAAQ1V,IAASA,IAASjD,GAAQiD,EACvDY,KACJuT,GAAUxU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,kBAAoBqU,IACrEpX,GAAQiJ,GAAyB,IAAhB+B,EAAKnL,QAAgB+C,EAAAA,cAAoBoG,EAAmB,CAAEC,MAAOA,EAAOC,UAAWA,EAAWrB,OAAQqS,IAC5H7X,KAAKoY,aACLpD,GACIzU,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,GAAY4G,EAAK,CAAC,EAClDA,EAAG,kBAAoBhE,KAAKQ,MAAM6iB,gBAClCrf,GAAKhE,KAAKQ,MAAM6iB,kBAAoBrO,IAC5D,EACAuL,EAAuB3gB,UAAUwY,WAAa,WAC1C,IAAI5W,EACAiJ,EAAQzK,KACR0W,EAAO1W,KAAK0W,KACZ1S,EAAKhE,KAAKQ,MAAOoI,EAAY5E,EAAG4E,UAAWiL,EAAc7P,EAAG6P,YAAagB,EAAmB7Q,EAAG6Q,iBAAkB1I,EAAanI,EAAGmI,WAAYC,EAAwBpI,EAAGoI,sBAAuBH,EAAKjI,EAAG2E,KAAMA,OAAc,IAAPsD,EAAgB,GAAKA,EAAI6N,EAAK9V,EAAG6G,QAASA,OAAiB,IAAPiP,EAAgB,CAAE/N,KAAM,GAAM+N,EACtSnU,EAAgB+Q,EAAK5C,mBACrBvF,EAAKmI,EAAKnI,GACVxC,EAAOlB,EAAQkB,KACf+F,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1EpK,EAAY,cAAchG,OAAO6M,EAAG7G,UAAW,OAC/CsE,EAAe8F,EAAS9R,KAAK6iB,uBAAoB/jB,EACjDoI,OAA6BpI,IAAtBkB,KAAKQ,MAAM5C,OAAuBoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,KACxE8Z,EAAmBxY,GAAaxI,KAAKkG,MAAO0C,GAC5C1C,EAAQc,EAAUE,IAASA,IAAS8Z,EAAmB,KAAOhhB,KAAKkG,MACnEod,EAAgBtjB,KAAKQ,MAAM7C,MAAQ+N,GACvC,OAAQnL,EAAAA,cAAoB+iB,EAAe,CAAErmB,GAAIyZ,EAAKhE,UAAW7H,QAASE,QAAQF,GAAUkC,KAAM+E,EAAQnJ,KAAMA,EAAMqD,aAAcA,EAAc9F,MAAOA,EAAO0C,UAAWA,EAAWgD,WAAYiI,EAAahI,WAAY7L,KAAKQ,MAAMqL,WAAYhF,UAAW7G,KAAKQ,MAAMqG,UAAWoE,cAAejL,KAAKQ,MAAMyK,cAAea,YAAa4K,EAAK5Z,KAAMqQ,QAAS,SAAUxP,GAAQ4Q,EAAG5Q,KAAO8M,EAAMiM,KAAK/Y,KAAOA,EAAM8M,EAAMvC,WAAa,CAAG,EAAG+E,aAAejN,KAAKmR,MAAMqJ,aAAexa,KAAKmR,MAAMqJ,YAAcnE,GACle,CAAEiC,UAAW3S,EAAcnC,QAC3B,CAAC,EAAGwJ,gBAAiB5P,EAAW,kBAAmBoE,EAAK,CAAC,EAC3DA,EAAG,oBAAsBqJ,EACzBrJ,IAAM0L,UAAWqB,EAAGP,QAAU,CAAE2B,UAAWjI,QAAc5I,EAAWV,IAAK,UAAW2N,KAAMA,EAAM5J,QAASnC,KAAKkR,gBAAiB/E,WAAYA,EAAYC,sBAAuBA,EAAuBO,aAAckI,EAAkB9S,YAAa,SAAU7B,GAAK,OAAOA,EAAE2J,gBAAkB,EAAG0D,SAAUvN,KAAKuN,SAAUH,WAAYmB,EAAGD,YAAab,SAAUzN,KAAK0W,KAAKrE,uBACpX,EACAkO,EAAuB3gB,UAAU+iB,gBAAkB,SAAUzb,EAAMjK,EAAIgjB,GACnE,IAAIxV,EAAQzK,KACRwB,EAAKxB,KAAKQ,MAAO/B,EAAW+C,EAAG/C,SAAUC,EAAW8C,EAAG9C,SAAUsF,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6P,EAAcrS,EAAGqS,YAAa5H,EAAKzK,EAAGqJ,QAASA,OAAiB,IAAPoB,EAAgB,CAAEF,KAAM,GAAME,EACtM6F,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1E5L,EAAQlG,KAAKkG,MACbwD,EAAgBxM,KAAKqS,IAAI,EAAG5G,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGmJ,EAAO2N,EAAc,KAIrG,OAHI7T,KAAKwgB,aAAenX,GAAQrJ,KAAKoiB,kBAAmBlc,EAAO2N,KAC3D7T,KAAKwgB,WAAa,IAEdjgB,EAAAA,cAAoB2e,GAAW,CAAEjiB,GAAIA,EAAIijB,SAAWpO,GAAU9R,KAAK2gB,WAAaV,YAAaA,EAAaxhB,SAAUA,EAAU8Y,MAAOvX,KAAKQ,MAAM+W,MAAOrD,UAAWlU,KAAKQ,MAAM0T,UAAWhO,MAAOgB,EAAOlH,KAAKwgB,WAAYlB,cAAetf,KAAKwgB,WAAY/f,IAAK,SAAUnC,GAAM,OAAOmM,EAAM0U,OAAS7gB,GAAMA,EAAG0H,KAAO,EAAG7D,QAASnC,KAAKuhB,aAAcnb,UAAWpG,KAAKmhB,eAAgBhb,SAAUnG,KAAKyhB,cAAe7M,QAAS5U,KAAK0W,KAAKlF,YAAalE,OAAQtN,KAAKsa,WAAY5b,SAAUA,EAAUohB,SAAUhO,EAAQqO,KAAMngB,KAAK0W,KAAKhE,UAAW0N,iBAAkB,UAAU1e,OAAO1B,KAAK0W,KAAK5Z,KAAM,KAAK4E,OAAOgI,EAAgBmB,EAAQkB,MAAOpJ,KAAM,WAAYwa,eAAgBnd,KAAKQ,MAAM2c,eAAgBC,gBAAiBpd,KAAKQ,MAAM4c,gBAAiBiD,aAAcrgB,KAAKoV,SAAU5P,OAAQxF,KAAKQ,MAAMqc,aAC7wB,EACA0D,EAAuB3gB,UAAUwX,gBAAkB,SAAUrQ,EAAMoK,GAC/D,IAAIjL,EAAQlG,KAAKkG,OACXc,EAAUd,KAAWc,EAAUD,IAAUsC,GAAQnD,EAAOa,EAAM/G,KAAKQ,MAAMqT,oBAGtD/U,IAArBkB,KAAKQ,MAAM0F,QACXiL,EAAMxI,KAAKzC,MAAQa,GAEvB/G,KAAK4Z,qBAAuB7S,EAC5BoK,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,aAC9B,EACAyc,EAAuB3gB,UAAUijB,gBAAkB,WAC/C,IAAI3c,EAAQlG,KAAKkG,MACb1E,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAAWiL,EAAcrS,EAAGqS,YAAa5H,EAAKzK,EAAGqJ,QAASA,OAAiB,IAAPoB,EAAgB,CAAEF,KAAM,GAAME,EAAI6N,EAAKtY,EAAGsT,iBAAkBA,OAA0B,IAAPgF,EAAgB1R,GAAsB0R,EACvQ5S,EAAOlH,KAAKQ,MAAM5C,OAASoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,KAC9D,OAAIF,EAAUd,SAAmBpH,IAAToI,EACbyB,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGmJ,EAAO2N,EAAc,IAEvE3M,EACE4N,EAAiBnM,EAAMzB,EAAM0B,GAGZ,IAAjBiC,EAAQkB,KAAa,GAAK,CAEzC,EACAwU,EAAuB3gB,UAAUmiB,aAAe,SAAU7b,GACtD,IAAI1E,EAAKxB,KAAKQ,MAAOmI,EAAOnH,EAAGmH,KAAMC,EAAYpH,EAAGoH,UACpD5I,KAAKwgB,WjB1jBM,SAAUta,EAAOyC,EAAMC,QACzB,IAATD,IAAmBA,EAAO,IAC9B,IAAI4a,EAAY,GAChB,GAAIrd,EAAO,CACP,IAAIsd,EAAgB7a,EAAKP,GAAoBO,EAAMzC,EAAO0C,IAC1D,GAAI4a,EAAe,CACf,IAAIlE,EAAgB9W,GAAagb,EAAe5a,GAC5C1C,EAAMoB,gBAAkBgY,EAAchY,gBACtCic,EAAYjE,EAAcmE,UAAUvd,EAAM1I,QAElD,CACJ,CACA,OAAO+lB,CACX,CiB6iB0BxB,CAAa7b,EAAOyC,EAAMC,EAChD,EACA2X,EAAuB3gB,UAAU2R,WAAa,SAAUJ,GACpDnR,KAAK0W,KAAKnF,WAAWJ,GACrBnR,KAAK4Z,0BAAuB9a,CAChC,EACAyhB,EAAuB3gB,UAAUyc,eAAiB,SAAUuC,GACxD,IAAK,IAAIthB,EAAK,EAAGuhB,EAAYD,EAASthB,EAAKuhB,EAAUrhB,OAAQF,IAAM,CAC/D,IAAIwhB,EAAQD,EAAUvhB,GACtB0C,KAAKyS,SAAS,CAAE+H,YAAasE,EAAM9d,OAAO+d,aAC9C,CAEJ,EAEAwB,EAAuB1d,YAAc,WAErC0d,EAAuB3d,UAAYtD,GAASA,GAAS,CAAC,EAAGwR,GAAAA,WAAyB,CAAElQ,KAAM1B,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,UAAWqH,QAASrH,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,QAAS,SAAUoH,SAAUpH,EAAAA,MAAgB,CAAC,KAAM,QAAS,OAAQ,YAAa2U,YAAa3U,EAAAA,OAAkB2M,WAAY3M,EAAAA,OAAkB2H,UAAW3H,EAAAA,MAAgB,MAACJ,EAAW,UAAW,WAAYmM,cAAe/L,EAAAA,KAAgBwiB,QAASxiB,EAAAA,KAAgB+gB,YAAa/gB,EAAAA,OAAkBqY,MAAOrY,EAAAA,OAAkB6jB,YAAa7jB,EAAAA,KAAgBqjB,YAAarjB,EAAAA,KAAgB0d,cAAe1d,EAAAA,OAAkBqe,QAASte,EAAiBoc,kBAAmBnc,EAAAA,OAAkBkW,SAAUlW,EAAAA,KAAgBjC,GAAIiC,EAAAA,OAAkBie,eAAgBje,EAAAA,OAAkBke,gBAAiBle,EAAAA,OAAkBvB,KAAMuB,EAAAA,IAAe2d,YAAa3d,EAAAA,OAEhzBqhB,EAAuBlf,aAAe/B,GAASA,GAAS,CAAC,EAAGwR,GAAAA,cAA4B,CAAElQ,KAAM,SAAU2F,QAAS,SAAUD,SAAU,QAASyc,aAAa,EAAOR,aAAa,EAAMnN,UAAU,EAAOvO,UAAW,UAAWoE,eAAe,IACtOsV,CACX,CA/rB4C,CA+rB1ChgB,EAAAA,WAQSmjB,GAAuBnf,IA2BvBof,GAAWnf,EAAiBkf,GAAsBnD,IAC7DoD,GAAS9gB,YAAc,qBCpxBvB,IAAI8B,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAezC7F,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAeI+Y,GAAU5Z,EAAwB6Z,GAAa7Z,EAE/CknB,GAA4C,SAAUre,GAEtD,SAASqe,EAA2BpjB,GAChC,IAAIiK,EAAQlF,EAAOzF,KAAKE,KAAMQ,IAAUR,KA2KxC,OAvKAyK,EAAM0G,MAAQ,CAAC,EACf1G,EAAMiM,KAAO,IAAI5F,GAAarG,GAC9BA,EAAMgM,SAAW,KACjBhM,EAAMwM,SAAWna,IACjB2N,EAAM+V,WAAa,GACnB/V,EAAM0U,OAAS,KACf1U,EAAMoZ,cAAe,EACrBpZ,EAAMvC,WAAa,EAInBuC,EAAMyM,MAAQ,WACNzM,EAAM0U,QACN1U,EAAM0U,OAAOjI,OAErB,EAIAzM,EAAM4G,iBAAmB,SAAU1G,EAAOwG,GACtC,IAAI3P,EAAKiJ,EAAMjK,MAAMmI,KACjBmb,EAAUtb,SAD2B,IAAPhH,EAAgB,GAAKA,GACvBmJ,GAAQF,EAAMjK,MAAMoI,WACpD6B,EAAM2M,gBAAgB0M,EAAS3S,EACnC,EAIA1G,EAAMsZ,UAAY,SAAUpZ,EAAOwG,GAC/B,IAAI3P,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAC/EoZ,EAAcrZ,EAAKgC,GAClBtB,GAAQoB,EAAM0G,MAAM6Q,YAAaA,EAAapZ,KAC/CuI,EAAMxI,KAAKqZ,YAAcA,EAEjC,EAIAvX,EAAM6G,YAAc,SAAUH,GAC1B1G,EAAMiM,KAAKpF,YAAYH,EAC3B,EACA1G,EAAMwQ,YAAc,WACZxQ,EAAM0U,QAAU1U,EAAM0U,OAAOjE,mBAC7BzQ,EAAM0U,OAAOjE,kBAAkBzQ,EAAM0Q,SAASC,MACxC,GACA3Q,EAAMjK,MAAM6a,mBAtDT,8BAwDjB,EACA5Q,EAAM8C,SAAW,SAAUzL,GACvB2I,EAAMoZ,cAAe,EACrB,IAAIlmB,EAAO8M,EAAMiM,KAAK/Y,KAClBkO,EAAapB,EAAMjK,MAAMqL,WACzBrK,EAAKiJ,EAAMjK,MAAMmI,KAAMA,OAAc,IAAPnH,EAAgB,GAAKA,EACvD,GAAKqK,GAAelD,EAAKnL,OAAzB,CAGA,IAAI0K,EAAauC,EAAMvC,aAAevK,EAAOA,EAAKoF,SAAS,GAAG8E,aAAe,GAEzEI,EADSnG,EAAMd,OACIiH,UACnB4D,IACAlD,EAAO8B,EAAMiM,KAAK3C,yBAAyBpL,EAAMkD,IAIrD,IADA,IAAIjF,EAAQ+B,EAAK,GAAGkD,GACX9O,EAAI,EAAGA,EAAI4L,EAAKnL,UACjB0K,EAAanL,EAAIkL,GADQlL,IAIzB4L,EAAK5L,IAAM4L,EAAK5L,GAAG8O,KACnBjF,EAAQ+B,EAAK5L,GAAG8O,IAGpBjF,IAAU6D,EAAM0G,MAAMvK,OACtB6D,EAAMgI,SAAS,CACX7L,MAAOA,GAnBf,CAsBJ,EACA6D,EAAMyG,gBAAkB,SAAUvG,EAAO7I,GACrC2I,EAAMiM,KAAKxF,gBAAgBvG,EAAO7I,GAClC2I,EAAMmP,0BAAuB9a,CACjC,EACA2L,EAAMuZ,gBAAkB,SAAUliB,GAC9B,IACIqP,EADO1G,EAAMiM,KACAtF,YACbpL,EAAQlE,EAAMwf,cACdpb,EAAQF,EAAME,MACdyb,EAAiB3b,EAAM4b,eAAiB1b,EAAM1I,OAClD2T,EAAMnP,eAAiBF,EACvB,IAAImiB,EAAiBxZ,EAAM+V,WACvBpB,EAAY3U,EAAMvE,MAClBge,EAAgB9E,GAChBA,EAAUqE,UAAU,EAAGrE,EAAU5hB,OAASymB,EAAezmB,QACzDskB,EAAoBoC,GAAiBA,IAAkBhe,EACvDsZ,EAAW0E,GAAiBA,EAAc1mB,OAAS0I,EAAM1I,OACzDkkB,EAAUjX,EAAMjK,MAAMkhB,QACtB5P,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OACrBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OACrC,QAAgBhT,IAAZ4iB,IAAqC,IAAZA,EAAmB,CACxCI,GAAqBtC,IAAamC,EAClClX,EAAM+V,WAAa,GAGnB/V,EAAMsX,aAAa7b,GAEvB,IAAIie,EAAWje,EAAQuE,EAAM+V,WACzB4D,EAAa,CAAEC,UAAWne,EAAOA,MAAOuE,EAAM+V,YAClD/V,EAAM2M,gBAAgB+M,EAAUhT,EAAO,CAAEiT,WAAYA,GACzD,MAEI3Z,EAAM+V,WAAa,GACnB/V,EAAM2M,gBAAgBlR,EAAOiL,KAE3BW,GAAU5L,GAAW4L,IAAW5L,IAClCuE,EAAM6G,YAAYH,GAEtBA,EAAMxI,KAAKqZ,iBAAcljB,EACzB2L,EAAM8G,WAAWJ,GACjB1G,EAAMgI,SAAS,CAAE7L,WAAO9H,GAC5B,EACA2L,EAAMwX,iBAAmB,SAAUngB,GAC/B,IACIqP,EADO1G,EAAMiM,KACAtF,YACbU,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OACjFX,EAAMnP,eAAiBF,EAEvB2I,EAAM+V,WAAa,GACnB/V,EAAM2M,gBAFS,GAEiBjG,QACArS,IAA5B2L,EAAM0G,MAAM6Q,cACZ7Q,EAAMxI,KAAKqZ,iBAAcljB,GAEzBgT,GACArH,EAAM6G,YAAYH,GAEtB1G,EAAM8G,WAAWJ,EACrB,EACA1G,EAAM0W,eAAiB,SAAUrf,GACzB2I,EAAMoZ,eACNpZ,EAAMoZ,cAAe,GAEzB,IAAIlT,EAAU7O,EAAM6O,QAChBmB,OAAgChT,IAAvB2L,EAAMjK,MAAMsR,OAAuBrH,EAAMjK,MAAMsR,OAASrH,EAAM0G,MAAMW,OAC7EX,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvB,IAAI+H,EAAiB,WACbiI,GACAhQ,EAAM+H,gBAEd,EACI8G,IAAYjV,GAAciV,IAAYjV,GACtCmO,IACAY,EAAM6Z,gBAAgBxiB,EAAMwf,cAAcpb,MAAOiL,EAAOrP,EAAM6O,UAEzDA,IAAYjV,GAAWiV,IAAYjV,IACxCmO,IACAY,EAAM4P,WAAWlJ,EAAOR,GAEhC,EACAlG,EAAM6P,WAAa,SAAUxY,GACzB,GAAI2I,EAAM0G,MAAMrG,QAAS,CACrB,IAAIqG,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMxI,KAAKmC,SAAU,EACrBqG,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,WAC1BqN,EAAMnP,eAAiBF,EACvB2I,EAAM6Z,gBAAgBxiB,EAAMwf,cAAcpb,MAAOiL,EACrD,CACJ,EACAmE,GAAgBC,IACT9K,CACX,CAiSA,OA/cA9F,GAAUif,EAA4Bre,GA+KtCtH,OAAOgR,eAAe2U,EAA2BhkB,UAAW,UAAW,CAInEsP,IAAK,WACD,OAAOlP,KAAKyW,QAChB,EACAtH,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe2U,EAA2BhkB,UAAW,QAAS,CAIjEsP,IAAK,WACD,YAAkCpQ,IAA9BkB,KAAK4Z,qBACE5Z,KAAK4Z,0BAEc9a,IAArBkB,KAAKQ,MAAM0F,MACTlG,KAAKQ,MAAM0F,WAEQpH,IAArBkB,KAAKmR,MAAMjL,MACTlG,KAAKmR,MAAMjL,WAEepH,IAA5BkB,KAAKQ,MAAMyU,aACTjV,KAAKQ,MAAMyU,aAEf,EACX,EACA9F,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe2U,EAA2BhkB,UAAW,OAAQ,CAIhEsP,IAAK,WACD,OAAOlP,KAAKQ,MAAMrB,IACtB,EACAgQ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe2U,EAA2BhkB,UAAW,WAAY,CAIpEsP,IAAK,WAGD,IAAIoM,OAA+Cxc,IAAjCkB,KAAKQ,MAAM6a,kBACzBE,GAAYvb,KAAKoV,UAA2B,KAAfpV,KAAKkG,MAEtC,MAAO,CACHoV,YAAaA,EACbF,WAH6Btc,IAArBkB,KAAKQ,MAAM4a,MAAsBpb,KAAKQ,MAAM4a,MAAQG,EAI5DC,aAA6B,OAAfxb,KAAKkG,MAE3B,EACAiJ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe2U,EAA2BhkB,UAAW,iBAAkB,CAI1EsP,IAAK,WACD,YAAqCpQ,IAA9BkB,KAAKQ,MAAM6U,eACZrV,KAAKQ,MAAM6U,eACXuO,EAA2BviB,aAAagU,cAClD,EACAlG,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe2U,EAA2BhkB,UAAW,WAAY,CAIpEsP,IAAK,WACD,YAA+BpQ,IAAxBkB,KAAKQ,MAAM4U,SACZpV,KAAKQ,MAAM4U,SACXwO,EAA2BviB,aAAa+T,QAClD,EACAjG,YAAY,EACZC,cAAc,IAKlBwU,EAA2BhkB,UAAU6b,mBAAqB,SAAUC,EAAWC,GAC3E,IAAIna,EACAwC,EAAKhE,KAAKQ,MAAOyL,EAAKjI,EAAG6H,WAAYA,OAAoB,IAAPI,EAAgB,GAAKA,EAAI6N,EAAK9V,EAAG2E,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EACrH6C,EAAKjB,EAAU/S,KAAM4b,OAAkB,IAAP5H,EAAgB,GAAKA,EACrD3Q,EAAehM,KAAKgM,eACpBgW,EAAcrZ,EAAKqD,GACnBwY,EAAcD,IAAa5b,EAC3B8b,OAAqC3lB,IAAhBkjB,GAA6BrG,EAAUqG,cAAgBA,EAC5ElQ,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1E+J,OAAkC/c,IAArB4c,EAAU5J,OAAuB4J,EAAU5J,OAAS6J,EAAU7J,OAC3EgK,GAAWD,GAAc/J,EAC7B,GAAmB,KAAfjG,GACKiG,IAAW2S,GAAsBD,IAAiB1I,IACnD9b,KAAK0W,KAAKnP,aAAayE,QAG1B,IAAKhM,KAAK6jB,aAAc,CACzB,IAAI/O,EAAmF,QAA/DtT,EAAKxB,KAAK0W,KAAK3C,yBAAyBpL,EAAMkD,UAAgC,IAAPrK,OAAgB,EAASA,EAAGrB,QAAQ6hB,GAC/HlG,IAEInT,GAAwB,IAAhBA,EAAKnL,QACbwC,KAAK0W,KAAKpE,uBAAuB3J,EAAK,GAAGkD,GAAa7L,MAE1DA,KAAK0W,KAAKnP,aAAauN,IAGvBhD,GAAU+J,GAAc4I,GACxBzkB,KAAK0W,KAAKnP,aAAauN,EAE/B,CACA9U,KAAKib,aACT,EAIA2I,EAA2BhkB,UAAUsc,kBAAoB,WACrDlc,KAAK0W,KAAK/D,WACV3S,KAAKib,aACT,EAIA2I,EAA2BhkB,UAAU4F,OAAS,WAC1C,IAAIhE,EACAiJ,EAAQzK,KACRgE,EAAKhE,KAAKQ,MAAOiF,EAAMzB,EAAGyB,IAAK/G,EAAWsF,EAAGtF,SAAUyV,EAAQnQ,EAAGmQ,MAAOzT,EAAYsD,EAAGtD,UAAWI,EAAQkD,EAAGlD,MAAOsT,EAAUpQ,EAAGoQ,QAASsN,EAAU1d,EAAG0d,QAAS9gB,EAAOoD,EAAGpD,KAAM2F,EAAUvC,EAAGuC,QAASD,EAAWtC,EAAGsC,SACrNiV,GAAWvb,KAAKqV,gBAAkBrV,KAAKmb,SAASC,MAChD1E,EAAO1W,KAAK0W,KACZxQ,EAAQlG,KAAKkG,MACbuc,GAA+C,IAA3BziB,KAAKQ,MAAM+hB,cAA0BnO,KAAalO,EACtEjJ,EAAK+C,KAAKQ,MAAMvD,IAAM+C,KAAKiX,SACR,kBAAZyK,IACP1hB,KAAKwgB,WAAakB,GAEtB,IAAI1B,EAAgBzf,EAAAA,cAAoB,OAAQ,CAAEG,UAAWtD,EAAW,yBAA0BsD,GAAYc,EAAK,CAAC,EAC5GA,EAAG,WAAWE,OAAO4U,GAAQ1V,IAASA,IAASA,EAC/CY,EAAG,aAAaE,OAAO6U,GAAWhQ,IAAYA,IAAYA,EAC1D/E,EAAG,WAAWE,OAAO4E,IAAaA,EAClC9E,EAAG,cAAgB+Z,EACnB/Z,EAAG,aAAe4S,EAClB5S,EAAG,cAAgBxB,KAAKoV,SACxB5T,EAAG,cAAgB9C,EACnB8C,IAAMf,IAAK,SAAUS,GACrBuJ,EAAMgM,SAAWvV,EACjBwV,EAAK1F,QAAU9P,CACnB,EAAGJ,MAAQqT,EAEL7U,GAASA,GAAS,CAAC,EAAGwB,GAAQ,CAAEyC,WAAOzE,IADvCgC,EACqD2E,IAAKA,GAChEzF,KAAK2iB,gBAAgBzc,GAAS,GAAIjJ,GAClCmX,GAAW7T,EAAAA,cAAoBwD,EAAU,CAAErD,UAAW,uBAAwBvB,KAAM,YACpFsjB,IAAsBrO,GAAW7T,EAAAA,cAAoB+f,GAAa,CAAEne,QAASnC,KAAKiiB,iBAAkB7jB,IAAK,gBACzG4B,KAAK4X,uBACT,OAAOzD,EACA5T,EAAAA,cAAoBmd,EAAAA,EAAe,CAAEvJ,MAAOA,EAAOyO,SAAU3lB,EAAI0gB,YAAazX,EAAO0X,YAAarC,EAASsC,eAAgBnf,EAAUoC,MAAO,CAAEyC,MAAOzC,EAAQA,EAAMyC,WAAQzE,GAAaiE,SAAUid,IACnMA,CACV,EAIA4D,EAA2BhkB,UAAUya,WAAa,SAAUlJ,EAAOR,GAC/D,IAAIlG,EAAQzK,KACR0kB,EAAY1kB,KAAKkG,MACjB1E,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAAWkM,EAAmBtT,EAAGsT,iBAC/G9I,OAA0ClN,IAA3BkB,KAAKmR,MAAM6Q,YAC1BrZ,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAG0N,EAAM0G,MAAM6Q,YAAapZ,EAAY,IACpFkM,EAAmBA,EAAiBnM,EAAM+b,EAAW9b,GAClDD,EAAKxI,QAAQsJ,GAAed,EAAM+b,EAAW9b,IACjD+b,EAAa3kB,KAAK0W,KAAKzF,WAAWP,SAAS,CAC3CC,QAASA,EACTxP,QAAS6K,EACTuD,IAAK5G,EAAKnL,OAAS,EACnBsR,IAAK,SAEUhQ,IAAf6lB,GACA3kB,KAAK+jB,UAAUY,EAAYxT,GAE/BnR,KAAKuR,WAAWJ,EACpB,EAIAyS,EAA2BhkB,UAAU0kB,gBAAkB,SAAUpe,EAAOiL,EAAOyT,GAC3E,IAAI9S,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1EtQ,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAElF,GADA5I,KAAKwgB,WAAa,GACd1O,GAAU8S,IAAalpB,EAAY,CACnC,IAAIyoB,EAAW3b,GAAaG,EAAK3I,KAAKgM,aAAa9F,IAAS0C,GAC5D5I,KAAKoX,gBAAgB+M,EAAUhT,EACnC,CACIW,GACA9R,KAAKsR,YAAYH,GAErBnR,KAAKuR,WAAWJ,EACpB,EACAyS,EAA2BhkB,UAAU+iB,gBAAkB,SAAUzc,EAAOjJ,GACpE,IAAIwN,EAAQzK,KACR0W,EAAO1W,KAAK0W,KACZlV,EAAKxB,KAAKQ,MAAOyf,EAAcze,EAAGye,YAAaxhB,EAAW+C,EAAG/C,SAAUC,EAAW8C,EAAG9C,SAAUmmB,EAAWrjB,EAAGqjB,SAC7G/Z,EAAU9K,KAAKmR,MAAMrG,QACrBgH,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC9E,OAAQvR,EAAAA,cAAoB2e,GAAW,CAAEjiB,GAAIA,EAAIgjB,YAAaA,EAAaxhB,SAAUA,EAAUyV,UAAWlU,KAAKQ,MAAM0T,UAAWhO,MAAOA,EAAOoZ,cAAetf,KAAKwgB,WAAY1V,QAASA,EAAS3L,KAAMa,KAAKQ,MAAMrB,KAAMsB,IAAK,SAAUsf,GAAa,OAAOtV,EAAM0U,OAASY,GAAaA,EAAU/Z,KAAO,EAAGI,UAAWpG,KAAKmhB,eAAgBhb,SAAUnG,KAAKgkB,gBAAiBpP,QAAS8B,EAAKlF,YAAalE,OAAQtN,KAAKsa,WAAY5b,SAAUA,EAAUwhB,SAAU2E,EAAU/E,SAAUhO,EAAQqO,KAAMzJ,EAAKhE,UAAW0N,iBAAkB,UAAY1J,EAAK5Z,KAAO,IAAMkD,KAAKgM,eAAgBrJ,KAAM,WAAYwa,eAAgBnd,KAAKQ,MAAM2c,eAAgBC,gBAAiBpd,KAAKQ,MAAM4c,gBAAiBiD,aAAcrgB,KAAKoV,SAAU5P,OAAQxF,KAAKQ,MAAMqc,aACjtB,EACA+G,EAA2BhkB,UAAUgY,oBAAsB,WACvD,IAAIpW,EACAkV,EAAO1W,KAAK0W,KACZ1S,EAAKhE,KAAKQ,MAAOiF,EAAMzB,EAAGyB,IAAKsP,EAAS/Q,EAAG+Q,OAAQC,EAAShR,EAAGgR,OAAQ/I,EAAKjI,EAAG2E,KAAMA,OAAc,IAAPsD,EAAgB,GAAKA,EAAIrL,EAAOoD,EAAGpD,KAAMiL,EAAa7H,EAAG6H,WAAYlO,EAAOqG,EAAGrG,KAAMka,EAA8B7T,EAAG6T,4BAClNlS,EAAgB+Q,EAAK5C,mBACrBhC,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC1Ec,OAAqC9T,IAAxB6G,EAAcpC,MAAsBoC,EAAcpC,MAAQmT,EAAK9D,WAC5EhM,EAAQ5G,KAAKmR,MAAMvK,MAIvB,YAHc9H,IAAV8H,QAAsC9H,IAAf+M,IACvBjF,EAAQ4B,GAAaG,EAAK,GAAIkD,IAE1BtL,EAAAA,cAAoB+E,EAAe,CAAE/B,MAAOqP,EAAYjN,cAAe,CACvE0O,QAAS1O,EAAc0O,QACvB0D,OAAQ/X,KAAKkB,QACb6L,KAAM+E,EACN0C,WAAYpX,EAAWuI,EAAc6O,WAAY,mBAAoB,wBACrE9T,UAAWiF,EAAcjF,UACzB+T,SAAU9O,EAAc8O,UACzBhP,SAAa3G,IAAR2G,EAAoBA,EAAMzF,KAAK0W,KAAKxD,cAAexN,WAAY,CAACiD,EAAKnL,SAC7EuX,GAAUxU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBqU,GACrExU,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,UAAWoE,EAAK,CAAC,EAC5DA,EAAG,UAAUE,OAAO4U,GAAQ1V,IAASA,IAASA,EAC9CY,MACH7D,GAAQiJ,GAAyB,IAAhB+B,EAAKnL,QAAgB+C,EAAAA,cAAoBoG,EAAmB,CAAEC,MAAOA,EAAOC,UAAW,SAAUrB,OAAQqS,IAC3H7X,KAAKoY,cACTpD,GAAUzU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBsU,GAC7E,EACA4O,EAA2BhkB,UAAUwY,WAAa,WAC9C,IAAI1B,EAAO1W,KAAK0W,KACZ/Q,EAAgB+Q,EAAK5C,mBACrBtS,EAAKxB,KAAKQ,MAAOoI,EAAYpH,EAAGoH,UAAW5E,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6Q,EAAmBrT,EAAGqT,iBAAkB1I,EAAa3K,EAAG2K,WAAYC,EAAwB5K,EAAG4K,sBACxLlG,EAAQlG,KAAKkG,MACb4L,OAA+BhT,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAC9E,OAAQvR,EAAAA,cAAoBmL,GAAM,CAAEzO,GAAIyZ,EAAKhE,UAAW3F,KAAM+E,EAAQnJ,KAAMA,EAAK0P,QAASrM,aAAchM,KAAKgM,eAAgB9F,MAAOA,EAAO0C,UAAWA,EAAWgD,WAAYhD,EAAWsD,mBAAmB,EAAOJ,YAAa4K,EAAK5Z,KAAM+O,WAAY7L,KAAKQ,MAAMqL,WAAYhF,UAAW,SAAUsG,QAAS,SAAUxP,GAAQ,OAAO+Y,EAAK/Y,KAAOA,CAAM,EAAGsP,aAAc,CAAEqL,UAAW3S,EAAcnC,QAAUwJ,gBAAiB,iBAAkB7K,QAASnC,KAAKkR,gBAAiB/E,WAAYA,EAAYC,sBAAuBA,EAAuBO,aAAckI,EAAkB9S,YAAa,SAAU7B,GAAK,OAAOA,EAAE2J,gBAAkB,EAAG0D,SAAUvN,KAAKuN,UACjoB,EACAqW,EAA2BhkB,UAAUwX,gBAAkB,SAAU+M,EAAUhT,EAAOqC,IAC1ExT,KAAKkG,QAAUie,GAAa3Q,KAGhCrC,EAAMxI,KAAKzC,MAAQie,EACnBnkB,KAAK4Z,qBAAuBuK,EAC5BhT,EAAMM,OAAOC,KAAKpS,GAAS,CAAEwE,KAAM,YAAe0P,GAAa,CAAC,IACpE,EACAoQ,EAA2BhkB,UAAU2R,WAAa,SAAUJ,GACxDnR,KAAK0W,KAAKnF,WAAWJ,GACrBnR,KAAK4Z,0BAAuB9a,CAChC,EACA8kB,EAA2BhkB,UAAUmiB,aAAe,SAAU7b,GAE1D,GADAlG,KAAKwgB,WAAa,GACdta,EAAO,CACP,IAAI1E,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAC9E4a,EAAgB7a,EAAKP,GAAoBO,EAAMzC,EAAO0C,IAC1D,GAAI4a,EAAe,CACf,IAAIlE,EAAgB9W,GAAagb,EAAe5a,GAC5C1C,EAAMoB,gBAAkBgY,EAAchY,gBACtCtH,KAAKwgB,WAAalB,EAAcmE,UAAUvd,EAAM1I,QAExD,CACJ,CACJ,EACAomB,EAA2BhkB,UAAUoM,aAAe,SAAU9F,GAC1D,IAAIuE,EAAQzK,KACRwB,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAAWkM,EAAmBtT,EAAGsT,iBAC/GgQ,OAAuBhmB,IAAVoH,EAAsBA,EAAQlG,KAAKkG,MACpD,YAAkCpH,IAA3BkB,KAAKmR,MAAM6Q,YACdrZ,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAG0N,EAAM0G,MAAM6Q,YAAapZ,EAAY,IACpFkM,EAAmBA,EAAiBnM,EAAMmc,EAAYlc,GACnD1L,KAAKqS,IAAI,EAAG5G,EAAKxI,QAAQsJ,GAAed,EAAMmc,EAAYlc,IACtE,EACAgb,EAA2B/gB,YAAc,eAIzC+gB,EAA2BhhB,UAAYtD,GAASA,GAAS,CAAC,EAAGwR,GAAAA,gBAA8B,CAAElQ,KAAM1B,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,UAAWqH,QAASrH,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,QAAS,SAAUoH,SAAUpH,EAAAA,MAAgB,CAAC,KAAM,QAAS,OAAQ,YAAa2M,WAAY3M,EAAAA,OAAkBwiB,QAASxiB,EAAAA,UAAoB,CAACA,EAAAA,KAAgBA,EAAAA,SAAoB+gB,YAAa/gB,EAAAA,OAAkBgH,MAAOhH,EAAAA,OAAkB+V,aAAc/V,EAAAA,OAAkBmc,kBAAmBnc,EAAAA,OAAkBkW,SAAUlW,EAAAA,KAAgB2lB,SAAU3lB,EAAAA,KAAgBqjB,YAAarjB,EAAAA,KAAgB2d,YAAa3d,EAAAA,KAAgBjC,GAAIiC,EAAAA,OAAkBie,eAAgBje,EAAAA,OAAkBke,gBAAiBle,EAAAA,OAAkBvB,KAAMuB,EAAAA,MAIzsB0kB,EAA2BviB,aAAe/B,GAASA,GAAS,CAAC,EAAGwR,GAAAA,cAA4B,CAAElQ,KAAM,SAAU2F,QAAS,SAAUD,SAAU,UACpIsd,CACX,CAjdgD,CAid9CrjB,EAAAA,WAQSwkB,GAA2BxgB,IA2B3BygB,GAAexgB,EAAiBugB,GAA0BnB,IC1hB9D,SAASqB,GAAOhkB,EAAYikB,EAAY7nB,GAE3C,IAAImE,EAAKjB,EAAAA,SAAe2kB,GAAazf,EAAMjE,EAAG,GAAI2jB,EAAS3jB,EAAG,GAW9D,OAVAjB,EAAAA,WAAgB,WACZ,IAAKkF,GAAOgJ,QAAUxN,EAAWE,QAAS,CAEtC,IAAIikB,EAAe3W,OAAO0E,iBAAiBlS,EAAWE,SAAS0E,UAC3Duf,GAEAD,EAAOC,EAEf,CACJ,GAAG/nB,GACIoI,CACX,CD6gBAuf,GAAaniB,YAAc,yBE5hBpB,IAAIwiB,GAAc,sDCFzB,IAAIC,GAAc,CAAC,EAeZ,SAASC,GAAOjd,GACnB,GAAIgd,GAAYhd,GACZ,OAAOgd,GAAYhd,GAEvB,IAAIkd,EChBD,SAAmBld,GACtB,IAAIkd,EAAS,GAIb,OAHAld,EAAMmd,QAAQJ,IAAa,SAAUK,EAAQ/a,EAAOgb,EAAeC,GAC/DJ,EAAO9T,UAAe5S,IAAV6L,EAAsBA,EAASgb,GAAiBC,EAChE,IACOJ,CACX,CDUiBK,CAAUvd,GAQvB,OAPAgd,GAAYhd,GAAS,SAAUwd,GAE3B,IADA,IAAIroB,EAASqoB,EACJ7M,EAAM,EAAGA,EAAMuM,EAAOhoB,QAAUC,EAAQwb,IAC7Cxb,EAASA,EAAO+nB,EAAOvM,IAE3B,OAAOxb,CACX,EACO6nB,GAAYhd,EACvB,CA3BAgd,GAAYxmB,UAAY,WAAgC,E,IEU7CinB,GASAC,G,WCTAxnB,GAAc,SAAUC,EAAUC,EAAUC,GACnD,IAAIC,EAAqC,kBAAbH,EAAwBI,SAASJ,OAAUK,GAAaL,EACpF,GAAuBM,MAAnBH,EAGJ,YAA0BE,IAAnBF,EACDA,EACAF,EACGC,OAAiCG,GAhBtB,EAID,CAcvB,E,sBDtBImnB,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArB7oB,UAAUC,OAAc,IAAK,IAA4B6oB,EAAxBtpB,EAAI,EAAGupB,EAAIH,EAAK3oB,OAAYT,EAAIupB,EAAGvpB,KACxEspB,GAAQtpB,KAAKopB,IACRE,IAAIA,EAAKtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,EAAM,EAAGppB,IAClDspB,EAAGtpB,GAAKopB,EAAKppB,IAGrB,OAAOmpB,EAAGxkB,OAAO2kB,GAAMtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,GACtD,GAKA,SAAWJ,GACPA,EAAuB,OAAI,SAC3BA,EAAyB,SAAI,WAC7BA,EAAqB,KAAI,MAC5B,CAJD,CAIGA,KAAmBA,GAAiB,CAAC,IAKxC,SAAWC,GACPA,EAAyB,OAAI,SAC7BA,EAAyB,OAAI,QAChC,CAHD,CAGGA,KAAqBA,GAAmB,CAAC,IAIrC,IE1BIO,IACX,SAAWA,GACPA,EAAmB,KAAI,OACvBA,EAAmB,KAAI,OACvBA,EAAsB,QAAI,UAC1BA,EAAoB,MAAI,OAC3B,CALD,CAKGA,KAAiBA,GAAe,CAAC,IAI7B,ICVIC,IACX,SAAWA,GACPA,EAAyB,OAAI,SAC7BA,EAAsB,IAAI,MAC1BA,EAA0B,QAAI,SACjC,CAJD,CAIGA,KAAqBA,GAAmB,CAAC,IAIrC,I,sBCZHlnB,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAaWkpB,GAA2BlmB,EAAAA,cAAoB,CAAC,KAAM,SAAUmmB,GACnE,IAKGC,GAAuBpmB,EAAAA,cAAoB,CAAC,KAAM,SAAUmmB,GAC/D,IAKGE,GAAsBrmB,EAAAA,cAAoB,CAAC,KAAM,SAAUmmB,GAC9D,IAKJG,GAAe,SAAU5R,EAAc5X,EAAMypB,GAC7C,IAAItlB,EAAKjB,EAAAA,SAAe0U,GAAe9D,EAAQ3P,EAAG,GAAIiR,EAAWjR,EAAG,GAQpE,MAAO,CAAC2P,EAPsB,SAAU4V,GACpC,IAAIC,EJfkB,SAAU7V,EAAO4V,GAC3C,OAAQA,EAAOE,WACX,KAAKlB,GAAemB,OAChB,OAAQH,EAAOjjB,MACX,KAAKkiB,GAAiBmB,OAClB,IAAKppB,MAAMC,QAAQmT,IAAoB,OAAVA,EACzB,OAAO4V,EAAOK,UAAYjW,EAAQ,KAAO4V,EAAOK,QAEpD,MAAM,IAAIC,MAAM,gDAEpB,KAAKrB,GAAiBsB,OAClB,OAAOP,EAAOK,UAAYjW,EAAQ,KAAOA,EAE7C,QACI,OAAOA,EAEnB,KAAK4U,GAAewB,SAChB,OAAQR,EAAOjjB,MACX,KAAKkiB,GAAiBmB,OAClB,GAAIppB,MAAMC,QAAQmT,GACd,OAAOA,EAAMqW,MAAK,SAAUzqB,GAAK,OAAOA,IAAMgqB,EAAOK,OAAS,IACxDjW,EAAMvT,QAAO,SAAUb,GAAK,OAAOA,IAAMgqB,EAAOK,OAAS,IACzDnB,GAAcA,GAAc,GAAI9U,GAAO,GAAO,CAAC4V,EAAOK,UAAU,GAE1E,GAAc,OAAVjW,EACA,MAAO,CAAC4V,EAAOK,SAEnB,MAAM,IAAIC,MAAM,mDAEpB,KAAKrB,GAAiBsB,OAClB,OAAIvpB,MAAMC,QAAQmT,GACPA,EAAMqW,MAAK,SAAUzqB,GAAK,OAAOA,IAAMgqB,EAAOK,OAAS,IACxDjW,EAAMvT,QAAO,SAAUb,GAAK,OAAOA,IAAMgqB,EAAOK,OAAS,IACzDnB,GAAcA,GAAc,GAAI9U,GAAO,GAAO,CAAC4V,EAAOK,UAAU,GAEnEjW,EAEX,QACI,OAAOA,EAEnB,KAAK4U,GAAe0B,KAChB,OAAO,KACX,QACI,OAAOtW,EAEnB,CI9BuBuW,CAAiBrqB,EAAK8T,OAASA,EAAO7R,GAASA,GAAS,CAAC,EAAGynB,GAAS1pB,IAChFypB,GACAA,EAASE,EAAUD,EAAOjlB,OAE9B2Q,EAASuU,EACb,EAEJ,EAIIW,GAAW,SAAUtqB,GACrB,IAAImE,EAAKjB,EAAAA,SAAe,MAAO4Q,EAAQ3P,EAAG,GAAIiR,EAAWjR,EAAG,GAK5D,MAAO,CAAC2P,EAJkB,SAAU4V,GAChC,IAAIC,EF7Cc,SAAU7V,EAAO4V,GACvC,IAAIjE,EAAeiE,EAAO1e,MAAMU,WAAU,SAAUhM,GAAK,OAAOA,IAAMoU,CAAO,IAC7E,OAAQ4V,EAAOjjB,MACX,KAAKyiB,GAAa3V,KACd,OAAOkS,IAAiBiE,EAAO1e,MAAM7K,OAAS,EACxC2T,EACA4V,EAAO1e,MAAMya,EAAe,GACtC,KAAKyD,GAAa/V,KACd,OAAwB,IAAjBsS,EACD3R,EACA4V,EAAO1e,MAAMya,EAAe,GACtC,KAAKyD,GAAaplB,QACd,OAAO4lB,EAAOK,QAClB,KAAKb,GAAa3W,MACd,OAAO,KACX,QACI,OAAOuB,EAEnB,CE2BuByW,CAAab,EAAOK,QAAS9nB,GAASA,GAAS,CAAC,EAAGynB,GAAS1pB,IAC3EoV,EAASuU,EACb,EAEJ,EAIIa,GAAU,SAAUC,EAAazqB,EAAMypB,GACvC,IAAItlB,EAAKjB,EAAAA,SAAeunB,GAAc3W,EAAQ3P,EAAG,GAAIiR,EAAWjR,EAAG,GAQnE,MAAO,CAAC2P,EAPiB,SAAU4V,GAC/B,IAAIC,EDzDa,SAAU7V,EAAO4V,GACtC,OAAQA,EAAOjjB,MACX,KAAK0iB,GAAiBuB,IAElB,MACJ,KAAKvB,GAAiBc,OAClB,OAAOnW,EAAMvT,QAAO,SAAUb,GAAK,OAAOA,EAAEgqB,EAAOnb,cAAgBmb,EAAOK,OAAS,IACvF,KAAKZ,GAAiBwB,QAElB,MACJ,QACI,OAAO7W,EAEnB,CC4CuB8W,CAAY5qB,EAAK8T,OAASA,EAAO7R,GAASA,GAAS,CAAC,EAAGynB,GAAS1pB,IAC3EypB,GACAA,EAASE,EAAUD,EAAOjlB,OAE9B2Q,EAASuU,EACb,EAEJ,EAIWkB,GAAW3nB,EAAAA,YAAiB,SAAUC,EAAOC,GACpD,IAAIe,GACJ8T,EAAAA,GAAAA,GAAgBC,GAAAA,GAChB,IAAIvU,EAAST,EAAAA,OAAa,MACtB4nB,EAAc5nB,EAAAA,OAAa,MAC3BkF,EAAMwf,GAAOkD,EAAa3nB,EAAMiF,KAChC2iB,EAAO5nB,EAAM4nB,KAAMnrB,EAAKuD,EAAMvD,GAAI6D,EAAQN,EAAMM,MAAOrC,EAAW+B,EAAM/B,SAAUC,EAAW8B,EAAM9B,SAAUkC,EAAOJ,EAAMI,KAAMF,EAAYF,EAAME,UAAW0c,EAAkB5c,EAAM4c,gBAAiBD,EAAiB3c,EAAM2c,eAAgBnZ,EAAKxD,EAAMymB,UAAWA,OAAmB,IAAPjjB,EAAgB3C,GAAa4lB,UAAYjjB,EAAIiI,EAAKzL,EAAM0F,MAAOA,OAAe,IAAP+F,EAAgB5K,GAAa4T,aAAehJ,EAAI6N,EAAKtZ,EAAMsnB,YAAaA,OAAqB,IAAPhO,EAAgBzY,GAAaymB,YAAchO,EAAI6C,EAAKnc,EAAMoL,WAAYA,OAAoB,IAAP+Q,EAAgBtb,GAAauK,WAAa+Q,EAAI0L,EAAK7nB,EAAMoI,UAAWA,OAAmB,IAAPyf,EAAgBhnB,GAAauH,UAAYyf,EAAIliB,EAAW3F,EAAM2F,SAAUmiB,EAAe9nB,EAAM8nB,aAC5qBC,EAAgBhoB,EAAAA,SAAc,WAAc,OAAO6nB,GAAQI,EAAM,GAAG,CAACJ,EAAMI,KAC/EjoB,EAAAA,oBAA0BS,GAAQ,WAAc,MAAQ,CACpDE,QAASinB,EAAYhnB,QACrBX,MAAOA,EACP,IACJD,EAAAA,oBAA0BE,GAAK,WAAc,OAAOO,EAAOG,OAAS,IACpE,IAAIsnB,EAAeloB,EAAAA,aAAkB,SAAU4jB,EAAUriB,GACjDqE,GAAYnF,EAAOG,SACnBgF,EAASrG,UAAKhB,EAAW,CACrBoH,MAAOie,EACPnjB,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACqE,IACAuiB,EAAK7B,GAAa3gB,EAAO,CACzB+gB,UAAWA,EACX9V,MAAOjL,GACRuiB,GAAeE,EAAaD,EAAG,GAAIE,EAAqBF,EAAG,GAC1DG,EAAmBtoB,EAAAA,aAAkB,SAAUyT,EAASlS,GACpDwmB,GAAgBtnB,EAAOG,SACvBmnB,EAAaxoB,UAAKhB,EAAW,CACzBoH,MAAO8N,EACPhT,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACwmB,IACAQ,EAAKjB,GAAQrnB,EAAMmI,MAAQmf,EAAa,CACxC3W,MAAO3Q,EAAMmI,KACbiD,WAAYA,GACbid,GAAmBE,EAAYD,EAAG,GAAIE,EAAeF,EAAG,GACvDG,EAAe1oB,EAAAA,aAAkB,SAAU2oB,EAAK/nB,GAEhD,OADA+nB,EAAIxX,KAAKvQ,EAAQyK,IACVsd,CACX,GAAG,CAACtd,IACAjD,EAAOpI,EAAAA,SAAc,WAAc,OAAOC,EAAMmI,MAAQogB,CAAW,GAAG,CAACvoB,EAAMmI,KAAMogB,IACnFI,EAAY5oB,EAAAA,SAAc,WAAc,OAAO2F,GAASyiB,CAAY,GAAG,CAACziB,EAAOyiB,IAC/EtgB,EAAQ9H,EAAAA,SAAc,WAAc,OAAOoI,EAAKygB,OAAOH,EAAc,GAAK,GAAG,CAACtgB,EAAMsgB,IACpFI,EAAc9oB,EAAAA,aAAkB,SAAUwG,GAAQ,OAAOwe,GAAO3Z,EAAP2Z,CAAmBxe,EAAO,GAAG,CAAC6E,IACvF0d,EAAa/oB,EAAAA,aAAkB,SAAUwG,GAAQ,OAAOwe,GAAO3c,EAAP2c,CAAkBxe,EAAO,GAAG,CAAC6B,IACrF2gB,EAAK5B,GAAS,CAAEtf,MAAOA,IAAU6O,EAAQqS,EAAG,GAAIC,EAAgBD,EAAG,GACnE5nB,GAAae,EAAAA,GAAAA,GAASlC,EAAOQ,GACjC,OAAQT,EAAAA,cAAoBkmB,GAAyBgD,SAAU,CAAEvjB,MAAO,CAACijB,EAAWP,IAChFroB,EAAAA,cAAoBomB,GAAqB8C,SAAU,CAAEvjB,MAAO,CAACgR,EAAOsS,IAChEjpB,EAAAA,cAAoBqmB,GAAoB6C,SAAU,CAAEvjB,MAAO,CAACyC,EAAMqgB,IAC9DzoB,EAAAA,cAAoB,MAAOjB,GAAS,CAAEmB,IAAK0nB,GAAexmB,EAAY,CAAEgB,KAAM,UAAW1F,GAAIA,EAAIwI,IAAKA,EAAK3E,MAAOA,EAAOrC,SAAUD,GAAYC,EAAUC,OAAUI,GAAY4B,WAAWtD,EAAAA,GAAAA,GAAW,eAAgBoE,EAAK,CAC9M,QAAiB,QAARiE,EACT,aAAc/G,GAElB8C,EAAG,eAAeE,OAAOhF,GAAAA,EAAAA,QAAuBkE,IAASA,IAASA,EAClEY,GAAKd,GAAY,kBAAmByc,EAAgB,mBAAoBC,IAAoBzU,EAAK7K,KAAI,SAAUiJ,EAAM4D,GACzH,OAAQpK,EAAAA,cAAoBgoB,EAAe,CAAE5lB,KAAM,SAAUiI,SAAU7D,EAAMnG,KAAMA,EAAMxC,IAAK,CAACirB,EAAYtiB,GAAO4D,GAAOpM,KAAK,KAAM2I,KAAMoiB,EAAWviB,GAAOb,MAAOmjB,EAAYtiB,IACnL,OAChB,IACInE,GAAY,CACZ3F,GAAIiC,EAAAA,OACJwB,UAAWxB,EAAAA,OACXT,SAAUS,EAAAA,OACVyJ,KAAMzJ,EAAAA,IACN4oB,YAAa5oB,EAAAA,QAAkBA,EAAAA,KAC/BopB,aAAcppB,EAAAA,KACdgH,MAAOhH,EAAAA,UAAoB,CAACA,EAAAA,IAAeA,EAAAA,QAAkBA,EAAAA,OAC7D+V,aAAc/V,EAAAA,UAAoB,CAACA,EAAAA,IAAeA,EAAAA,QAAkBA,EAAAA,OACpEiH,SAAUjH,EAAAA,KACV+nB,UAAW/nB,EAAAA,MAAgB,CAAC,SAAU,OAAQ,aAC9C0J,UAAW1J,EAAAA,OACX0M,WAAY1M,EAAAA,OACZR,SAAUQ,EAAAA,KACVuG,IAAKvG,EAAAA,MAAgB,CAAC,MAAO,QAC7Bie,eAAgBje,EAAAA,OAChBke,gBAAiBle,EAAAA,OACjB0B,KAAM1B,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,WAEhDmC,GAAe,CACf+mB,KAAMI,GACN5nB,KAAM,SACNlC,UAAU,EACVuW,aAAc,KACd6S,YAAa,GACbriB,IAAK,MACLwhB,UAAW,OACXre,UAAW,OACXgD,WAAY,QACZ8d,UAAW,aAEfxB,GAASrlB,YAAc,qBAEvBqlB,GAAStlB,UAAYA,GACrBslB,GAAS7mB,aAAeA,G,qCChLpB/B,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAcWirB,GAAOjoB,EAAAA,YAAiB,SAAUC,EAAOC,GAChD,IAAIe,GACJ8T,EAAAA,GAAAA,GAAgBC,GAAAA,GAChB,IAAIvU,EAAST,EAAAA,OAAa,MACtBopB,EAAUppB,EAAAA,OAAa,MACvBkF,EAAMwf,GAAO0E,EAASnpB,EAAMiF,KAChClF,EAAAA,oBAA0BS,GAAQ,WAAc,MAAQ,CACpDE,QAASyoB,EAAQxoB,QACjBX,MAAOA,EACP,IACJD,EAAAA,oBAA0BE,GAAK,WAAc,OAAOO,EAAOG,OAAS,IACpE,IAAI6C,EAAKzD,EAAAA,WAAiBkmB,IAA2BQ,EAAYjjB,EAAG,GAAI4lB,EAAoB5lB,EAAG,GAC3FiI,EAAK1L,EAAAA,WAAiBomB,IAAuBzP,EAAQjL,EAAG,GAAIud,EAAgBvd,EAAG,GACnC+c,EAAvCzoB,EAAAA,WAAiBqmB,IAAwC,GAC9Dvc,EAAW9J,EAAAA,SAAc,WACzB,OAAQC,EAAM6J,WAAatM,MAAMC,QAAQipB,GACnCA,EAAUO,MAAK,SAAUzqB,GAAK,OAAOA,IAAMyD,EAAM0F,KAAO,IACxD+gB,IAAczmB,EAAM0F,MAC9B,GAAG,CAAC1F,EAAM6J,SAAU7J,EAAM0F,MAAO+gB,IAC7Bnc,EAAUvK,EAAAA,SAAc,WAAc,OAAO2W,IAAU1W,EAAM0F,KAAO,GAAG,CAAC1F,EAAM0F,MAAOgR,IACzF3W,EAAAA,WAAgB,WACRuK,GAAW6e,EAAQxoB,SACnBwoB,EAAQxoB,QAAQ+V,OAExB,GAAG,CAACpM,IACJ,IAAIJ,EAAcnK,EAAAA,aAAkB,SAAUuB,GAC1C8nB,EAAkB,CAAE9lB,KAAMkiB,GAAiBmB,OAAQC,QAAS5mB,EAAM0F,MAAOpE,MAAOA,GACpF,GAAG,CAAC8nB,EAAmBppB,EAAM0F,QACzB2jB,EAAetpB,EAAAA,aAAkB,SAAUuB,GACtCtB,EAAMkpB,YAGXV,EAAa,CAAEllB,KAAM0iB,GAAiBc,OAAQF,QAAS5mB,EAAM0F,MAAOpE,MAAOA,IAC3E0nB,EAAc,CAAE1lB,KAAMyiB,GAAa3W,MAAOwX,QAAS5mB,EAAM0F,MAAOpE,MAAOA,IACvE8nB,EAAkB,CAAE9lB,KAAMkiB,GAAiBsB,OAAQF,QAAS5mB,EAAM0F,MAAOpE,MAAOA,IAC5EtB,EAAMspB,UACNtpB,EAAMspB,SAAShqB,UAAKhB,EAAW,CAC3BkC,OAAQA,EAAOG,QACfa,eAAgBF,IAG5B,GAAG,CAACtB,EAAMspB,SAAUtpB,EAAM0F,MAAO1F,EAAMkpB,UAAWV,EAAcQ,EAAeI,IAC3EnR,EAAgBlY,EAAAA,aAAkB,SAAUuB,GAC5C,OAAQA,EAAM6O,SACV,KAAKjV,GAAAA,EAAAA,KACD8tB,EAAc,CAAE1lB,KAAMyiB,GAAa/V,KAAM4W,QAAS5mB,EAAM0F,MAAOpE,MAAOA,IACtE,MACJ,KAAKpG,GAAAA,EAAAA,MACD8tB,EAAc,CAAE1lB,KAAMyiB,GAAa3V,KAAMwW,QAAS5mB,EAAM0F,MAAOpE,MAAOA,IACtE,MACJ,KAAKpG,GAAAA,EAAAA,MACDkuB,EAAkB,CAAE9lB,KAAMkiB,GAAiBmB,OAAQC,QAAS5mB,EAAM0F,MAAOpE,MAAOA,IAChF,MACJ,KAAKpG,GAAAA,EAAAA,OACDmuB,EAAa/nB,GAKjBtB,EAAM4F,WACN5F,EAAM4F,UAAUtG,UAAKhB,EAAW,CAC5BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACtB,EAAM4F,UAAW5F,EAAM0F,MAAOsjB,EAAeI,EAAmBC,IAChErY,EAAcjR,EAAAA,aAAkB,SAAUuB,GAC1C0nB,EAAc,CAAEpC,QAAS5mB,EAAM0F,MAAOpC,KAAMyiB,GAAaplB,QAASW,MAAOA,IACrEtB,EAAMoU,SACNpU,EAAMoU,QAAQ9U,UAAKhB,EAAW,CAC1BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACtB,EAAMoU,QAASpU,EAAM0F,MAAOsjB,IAC5BlP,EAAa/Z,EAAAA,aAAkB,SAAUuB,GACrCtB,EAAM8M,QACN9M,EAAM8M,OAAOxN,UAAKhB,EAAW,CACzBkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACtB,EAAM8M,SACN3L,GAAae,EAAAA,GAAAA,GAASlC,EAAOQ,EAAQ,CAAEmB,QAASuI,IACpD,OAAQnK,EAAAA,cAAoB,MAAOjB,GAAS,CAAC,EAAGqC,EAAY,CAAEgB,KAAMnC,EAAMmC,KAAM1F,GAAIuD,EAAM0F,MAAOpF,MAAON,EAAMM,MAAOL,IAAKkpB,EAASlkB,IAAKA,EAAKhH,SAAUD,GAAYgC,EAAM/B,SAAU+B,EAAM9B,cAAUI,GAAY4B,WAAWtD,EAAAA,GAAAA,GAAW,UAAWoE,EAAK,CACzO,QAAiB,QAARiE,EACT,aAAcjF,EAAM9B,SACpB,aAAc2L,EACd,UAAWS,GAEftJ,EAAG,UAAUE,OAAOhF,GAAAA,EAAAA,QAAuB8D,EAAMI,OAASJ,EAAMI,OAASJ,EAAMI,KAC/EY,EAAG,aAAaE,OAAOhF,GAAAA,EAAAA,WAA0B8D,EAAM+F,UAAY/F,EAAM+F,UAAY/F,EAAM+F,QAC3F/E,EAAG,UAAUE,OAAOlB,EAAM8F,WAAa9F,EAAM8F,SAC7C9E,EAAG,UAAUE,OAAOlB,EAAM8F,SAAU,KAAK5E,OAAOlB,EAAMG,aAAeoK,QAAQvK,EAAM8F,UAAY9F,EAAMG,YACrGa,GAAKhB,EAAME,WAAY,eAAgB2J,EAAU,gBAAiB7J,EAAM9B,SAAU,mBAAoB8B,EAAM4c,gBAAiBxI,QAASpD,EAAalE,OAAQgN,EAAYlU,UAAWqS,IACrLpO,IAAa7J,EAAMupB,cAAgBvpB,EAAMwpB,kBACtCzpB,EAAAA,cAAoBwD,GAAAA,EAAU,CAAErD,UAAW,cAAevB,KAAMqB,EAAMupB,cAAeE,EAAAA,GAAAA,IAAWzpB,EAAMupB,mBAAgBjrB,EAAWmE,KAAMzC,EAAMwpB,gBAAiBppB,KAAM,WACvKJ,EAAMyC,MAAQzC,EAAM+c,UACjBhd,EAAAA,cAAoBwD,GAAAA,EAAU,CAAErD,UAAW,cAAevB,KAAMqB,EAAMyC,MAAOgnB,EAAAA,GAAAA,IAAWzpB,EAAMyC,WAAQnE,EAAWmE,KAAMzC,EAAM+c,QAAS3c,KAAM,UAChJL,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,uBAAuC5B,IAAnB0B,EAAMuC,SAC7DvC,EAAMuC,SACNvC,EAAM0G,MACJ3G,EAAAA,cAAoB,OAAQ,CAAE,aAAcC,EAAM0G,KAAMxG,UAAW,gBAAkBF,EAAM0G,OACnG1G,EAAMkpB,WAAcnpB,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,kBACzDH,EAAAA,cAAoB,OAAQ,CAAEG,WAAWtD,EAAAA,GAAAA,GAAW,gBAAiB,wBAAyB+E,QAAS0nB,GACnGtpB,EAAAA,cAAoBwD,GAAAA,EAAU,CAAE5E,KAAMqB,EAAM0pB,YAAaD,EAAAA,GAAAA,IAAWzpB,EAAM0pB,iBAAcprB,EAAWmE,KAAMzC,EAAM2pB,cAAevpB,KAAM,YACpJ,IACIgC,GAAY,CACZ3F,GAAIiC,EAAAA,OACJgI,KAAMhI,EAAAA,OACNgH,MAAOhH,EAAAA,IACPuG,IAAKvG,EAAAA,MAAgB,CAAC,MAAO,QAC7BwqB,UAAWxqB,EAAAA,KACXgrB,WAAYhrB,EAAAA,OACZkrB,cAAenrB,GAAAA,GACfP,SAAUQ,EAAAA,KACV+D,KAAM/D,EAAAA,OACNqe,QAASte,GAAAA,GACT8qB,aAAc7qB,EAAAA,OACdmrB,gBAAiBprB,GAAAA,GACjB6qB,SAAU5qB,EAAAA,KACV0L,SAAU1L,EAAAA,IACVmL,SAAUnL,EAAAA,KACVke,gBAAiBle,EAAAA,OACjB0B,KAAM1B,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,UAChDqH,QAASrH,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,QAAS,SAC5DoH,SAAUpH,EAAAA,MAAgB,CAAC,KAAM,UAAW,UAE5CyB,WAAYzB,EAAAA,MAAgB,CAAC,KAAM,OAAQ,OAAQ,UAAW,UAAW,WAY7EspB,GAAK3lB,YAAc,iBAEnB2lB,GAAK5lB,UAAYA,GACjB4lB,GAAKnnB,aAbc,CACf3C,UAAU,EACVgrB,WAAW,EACXQ,WAAY,eACZzkB,IAAK,MACL7E,KAAM,SACN2F,QAAS,SACTD,SAAU,QACV3F,WAAY,QClKhB,IAAIgE,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAiBzC0E,GAAiB,SAAU/H,GAAS,OAAOA,EAAME,eAAe6H,gBAAkB,EAClFxD,GAAkB,SAAUvE,GAAS,OAAOA,EAAME,eAAeqE,iBAAmB,EAIpFikB,GAAyB,SAAU/kB,GAEnC,SAAS+kB,IACL,OAAkB,OAAX/kB,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,IAC/D,CAUA,OAbA2E,GAAU2lB,EAAS/kB,GAInB+kB,EAAQ1qB,UAAU4F,OAAS,WACvB,IAAIhE,EAAKxB,KAAKQ,MAAOmI,EAAOnH,EAAGmH,KAAM7L,EAAO0E,EAAG1E,KAAMgO,EAAUtJ,EAAGsJ,QAASyf,EAAY/oB,EAAG+oB,UAAWC,EAAehpB,EAAGipB,IAAKC,EAAclpB,EAAGkpB,YAAa9pB,EAAOY,EAAGZ,KACpK,OAAQL,EAAAA,cAAoBA,EAAAA,SAAgB,KACxCoI,EAAK7K,KAAI,SAAU6sB,EAAShgB,GACxB,IAAI8f,EAAMD,EAAgBjqB,EAAAA,cAAoBiqB,EAAc,CAAEpsB,IAAKusB,EAAQzjB,KAAOyD,EAAOggB,QAASA,EAAS7tB,KAAMA,EAAM8tB,WAAY9f,EAAS4f,YAAaA,IAAmBnqB,EAAAA,cAAoBioB,GAAM,CAAEvrB,GAAI,OAAOyE,OAAO5E,EAAM,KAAK4E,OAAOipB,EAAQzjB,KAAKue,QAAQ,OAAQ,MAAO,iBAAiB,EAAM9iB,KAAM,SAAU,eAAgBgG,EAAKnL,OAAQY,IAAKusB,EAAQzjB,KAAOyD,EAAOzD,KAAMyjB,EAAQzjB,KAAMwiB,WAAW,EAAMI,SAAU,SAAU5pB,GAAK,OAAOwqB,EAAY5qB,UAAKhB,EAAW6rB,EAAQhiB,KAAMzI,EAAE8B,eAAiB,EAAGD,YAAa8H,GAAgB1H,QAASkE,GAAiB3F,UAAWiqB,IAAY7f,EAAU,eAAYhM,EAAW8B,KAAMA,IACzmB,OAAO2pB,EAAYA,EAAUI,EAASF,GAAOA,CACjD,IACAzqB,KAAKQ,MAAMuC,SACnB,EACOunB,CACX,CAf6B,CAe3B/pB,EAAAA,WACF,YCnCO,IAAIsqB,IACX,SAAWA,GACPA,EAAiBA,EAA4B,UAAI,GAAK,YACtDA,EAAiBA,EAA2B,SAAI,GAAK,UACxD,CAHD,CAGGA,KAAqBA,GAAmB,CAAC,ICP5C,IC6DIC,GD7DAxrB,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAQWwtB,GAAe,SAAUvqB,GAChC,IAAIwU,EAASxU,EAAMwU,OAAQjS,EAAWvC,EAAMuC,SAAUvB,EAAKhB,EAAMga,YAAaA,OAAqB,IAAPhZ,EAAgB,EAAIA,EAAIyc,EAAczd,EAAMyd,YAAaC,EAAsB1d,EAAM0d,oBAAqBC,EAAS3d,EAAM2d,OAAQC,EAAY5d,EAAM4d,UAAWzJ,EAAUnU,EAAMmU,QAASoJ,EAAgBvd,EAAMud,cAAeiN,EAAexqB,EAAMwqB,aACzU3pB,EAAe,CACf4c,YAAaA,IAAe,EAC5BC,oBAAqBA,GAAuB,GAC5CC,OAAQA,EACRC,WAAyB,IAAdA,EACXzJ,QAASA,EACT0J,gBAAiB7D,GAVC,IAUoC,CAAE8D,IAAK,EAAG/a,MAAO,OAAQC,OAAQ,aAAW1E,EAClG4B,UAAW8Z,GAXO,IAYZ,kDACA,+CAEV,OAAQja,EAAAA,cAAoBge,GAAAA,YAAajf,GAAS,CAAC,EAAG+B,GAClDd,EAAAA,cAAoBie,GAAAA,kBAAmB,CAAE9d,UAAW,iBAChDH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,uCACpCH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,uBACpCH,EAAAA,cAAoB,MAAO,KAAMwd,IACrCxd,EAAAA,cAAoB,MAAO,CAAEG,UAAW,yBACpCH,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAE5e,SAAU,EAAG,aAAc,SAAU,gBAAiB,QAASqF,KAAM,SAAUwC,SAAU,OAAQrD,KAAM,IAAKsa,QAASkB,EAAAA,IAAOtc,QAASwS,MAC3KqW,GACIzqB,EAAAA,cAAoB,MAAO,CAAEG,UAAW,qDAAuDsqB,IACvGjoB,EACAiS,GAAUzU,EAAAA,cAAoB0qB,GAAAA,kBAAmB,CAAEvqB,UAAW,iCAC1DH,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAEzc,KAAM,QAASnC,SAAU,EAAG,aAAcuW,EAAOkW,WAAY,gBAAiB,QAASpnB,KAAM,SAAU3B,QAAS6S,EAAOmW,UAAYnW,EAAOkW,YACxK3qB,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAE5e,SAAU,EAAGkC,WAAY,UAAWC,KAAM,QAAS,aAAcoU,EAAOoW,UAAW,gBAAiB,QAAStnB,KAAM,SAAU3B,QAAS6S,EAAOqW,SAAWrW,EAAOoW,YACzM,EC5CIzmB,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAezC7F,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EACI0oB,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArB7oB,UAAUC,OAAc,IAAK,IAA4B6oB,EAAxBtpB,EAAI,EAAGupB,EAAIH,EAAK3oB,OAAYT,EAAIupB,EAAGvpB,KACxEspB,GAAQtpB,KAAKopB,IACRE,IAAIA,EAAKtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,EAAM,EAAGppB,IAClDspB,EAAGtpB,GAAKopB,EAAKppB,IAGrB,OAAOmpB,EAAGxkB,OAAO2kB,GAAMtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,GACtD,EAuBI7P,GAAU5Z,EAAwB6Z,GAAa7Z,EAE/CmN,GAAiB,SAAU/H,GAAS,OAAOA,EAAM+H,gBAAkB,EACnEyhB,GAAW,SAAUxnB,GAAQ,OAAOA,IAASgnB,GAAgBS,UAAY,GAE7E,SAAWT,GACPA,EAAgBA,EAAsB,KAAI,GAAK,OAC/CA,EAAgBA,EAA0B,SAAI,GAAK,WACnDA,EAAgBA,EAA4B,WAAI,GAAK,YACxD,CAJD,CAIGA,KAAoBA,GAAkB,CAAC,IAE1C,IAAIU,GAA2C,SAAUjmB,GAErD,SAASimB,EAA0BhrB,GAC/B,IAAIiK,EAAQlF,EAAOzF,KAAKE,KAAMQ,IAAUR,KA2axC,OAzaAyK,EAAM0G,MAAQ,CACViP,iBAAkByK,GAAiBY,UACnCC,aAAc,IAElBjhB,EAAMgM,SAAW,KACjBhM,EAAMkhB,0BAA4B,KAClClhB,EAAMwM,SAAWna,IACjB2N,EAAMiM,KAAO,IAAI5F,GAAarG,GAC9BA,EAAMmhB,MAAQ,GACdnhB,EAAM0U,OAAS,KACf1U,EAAMohB,eAAiB,KACvBphB,EAAMqM,iBAAkB,EACxBrM,EAAMvC,WAAa,EACnBuC,EAAMqhB,iBAAkB,EACxBrhB,EAAMshB,aAAe,KAErBthB,EAAMyM,MAAQ,WACNzM,EAAM0U,QACN1U,EAAM0U,OAAOjI,OAErB,EAEAzM,EAAM4G,iBAAmB,SAAU1G,EAAOwG,GACtC,IAAI3P,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6P,EAAcrS,EAAGqS,YAAahJ,EAAUrJ,EAAGqJ,QAE3GD,EAAWjC,EAAKgC,GADTE,EAAUA,EAAQkB,KAAO,IAEhCigB,EAAevhB,EAAMvE,MAAM6C,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAG6N,EAAUiJ,EAAc,IAC9FoY,EAAW,IACO,IAAlBD,GACAC,EAAWxhB,EAAMvE,OACRoD,OAAO0iB,EAAc,GAG9BC,EAAWhG,GAAcA,GAAc,GAAIxb,EAAMvE,OAAO,GAAO,CAAC0E,IAAW,SAE7C9L,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,QAClEuD,EAAMkW,aACXlW,EAAM0G,MAAMjK,OACZiK,EAAMxI,KAAKzB,KAAO,IAEtBuD,EAAMiM,KAAK/E,cAAc,GAAIR,IAE7B1G,EAAMohB,gBACNphB,EAAMohB,eAAeK,YAGQptB,IAA7B2L,EAAM0G,MAAMnF,eACZmF,EAAMxI,KAAKqD,kBAAelN,GAE9B2L,EAAM2M,gBAAgB6U,EAAU9a,GAChC1G,EAAMiM,KAAK9C,6BAA6BhJ,EAAUuG,EACtD,EAEA1G,EAAMigB,YAAc,SAAUyB,EAAerqB,GACzC,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACnB2I,EAAMqH,QACNrH,EAAMiM,KAAKpF,YAAYH,GAEtB1G,EAAM0G,MAAMrG,SAAYL,EAAMkW,aAC/BxP,EAAMxI,KAAKmC,SAAU,EACrBL,EAAMyM,SAEV,IAAI7M,EAAWI,EAAMvE,MACrBiD,GAAgBkB,EAAU8hB,EAAe1hB,EAAMjK,MAAMqT,aACrDpJ,EAAM2M,gBAAgB/M,EAAU8G,GAChC1G,EAAM8G,WAAWJ,EACrB,EAEA1G,EAAMsZ,UAAY,SAAUpZ,EAAOwG,GAC/B,IAAI3P,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI+e,EAAcvhB,EAAGuhB,YAAalY,EAAUrJ,EAAGqJ,QAC3GkB,EAAOlB,EAAUA,EAAQkB,KAAO,EAChC7E,OAA8BpI,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC3E8E,EAAevB,EAAM2hB,kBAAkBpgB,aACvCqgB,EAAatJ,GAAe7b,EAC5BolB,EAAkB3jB,EAAKgC,EAAQoB,GAC/BugB,GAAmBtgB,IAAiBrB,EAChCF,EAAM0G,MAAMnF,eAAiBrB,IAC7BwG,EAAMxI,KAAKqD,aAAerB,EAC1BwG,EAAMxI,KAAKyX,iBAAmByK,GAAiBY,WAG9CY,IAAyB,IAAX1hB,QACc7L,IAA7B2L,EAAM0G,MAAMnF,eACZmF,EAAMxI,KAAKqD,kBAAelN,GAGlC2L,EAAMiM,KAAK9C,6BAA6B0Y,EAAiBnb,EAC7D,EACA1G,EAAM4M,aAAe,SAAUnW,GAC3BuJ,EAAMgM,SAAWvV,EACjBuJ,EAAMiM,KAAK1F,QAAU9P,CACzB,EACAuJ,EAAM8hB,aAAe,SAAUxM,GAC3B,IAAI/Z,EAAQyE,EAAM0U,OAASY,GAAaA,EAAU/Z,MAC9CA,GAASyE,EAAM0G,MAAMrG,SACrB2D,OAAOC,YAAW,WAAc,OAAO1I,EAAMkR,OAAS,GAAG,EAEjE,EACAzM,EAAMuZ,gBAAkB,SAAUliB,GAC9B,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACnBlL,EAAQpE,EAAMd,OAAOkF,MACzBiL,EAAMnP,eAAiBF,OACIhD,IAAvB2L,EAAMjK,MAAM5C,SACZuT,EAAMxI,KAAKzB,KAAOhB,GAEtBiL,EAAMxI,KAAKqD,kBAAelN,EACrB2L,EAAMqH,SACPrH,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAMgI,SAAS,CAAEiZ,aAAcjhB,EAAMvE,SAEzCuE,EAAMiM,KAAK/E,cAAczL,EAAOiL,GAChC1G,EAAM8G,WAAWJ,GACjB1G,EAAMgI,SAAS,CAAE7L,WAAO9H,GAC5B,EACA2L,EAAMwX,iBAAmB,SAAUngB,GAC/B,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvBA,EAAMuE,kBACFoE,EAAMvE,MAAM1I,OAAS,GACrBiN,EAAM2M,gBAAgB,GAAIjG,QAEGrS,IAA7B2L,EAAM0G,MAAMnF,eACZmF,EAAMxI,KAAKqD,kBAAelN,GAE1B2L,EAAMqH,QACNrH,EAAMiM,KAAKpF,YAAYH,GAE3B,IAAIjK,OAA8BpI,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC3EF,EAAUE,IAAkB,KAATA,GACnBuD,EAAMiM,KAAK/E,cAAc,GAAIR,GAE7B1G,EAAM0G,MAAMjK,OACZiK,EAAMxI,KAAKzB,KAAO,IAEtBuD,EAAM8G,WAAWJ,EACrB,EACA1G,EAAM0W,eAAiB,SAAUrf,GAC7B,IAAI6O,EAAU7O,EAAM6O,QAChBzJ,OAA8BpI,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC3E8a,EAAcvX,EAAM2hB,kBAAkBpK,YACtC7Q,EAAQ1G,EAAMiM,KAAKtF,YAEvB,GADAD,EAAMnP,eAAiBF,GAClBoF,GAAQuD,EAAMvE,MAAM1I,OAAS,IAC7BmT,IAAYjV,GAAaiV,IAAYjV,GAClCiV,IAAYjV,GAAaiV,IAAYjV,GACrCiV,IAAYjV,GAAeiV,IAAYjV,GAC3C,OAAO+O,EAAM+hB,eAAe1qB,EAAOqP,GAEvC,IAAIG,EAAc,WACdxP,EAAM+H,iBACNY,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAM8G,WAAWJ,EACrB,EACI1G,EAAMqH,OACFhQ,EAAMoY,QAAUvJ,IAAYjV,EAC5B4V,IAEKX,IAAYjV,GAAWiV,IAAYjV,GACxCoG,EAAM+H,iBACNY,EAAM4P,WAAWlJ,EAAOR,IAEnBA,IAAYjV,GACjBoG,EAAM+H,iBACFY,EAAMjK,MAAMuiB,aAAe7b,GAAwB,OAAhB8a,EACnCvX,EAAMgiB,iBAAiB3qB,GAGvB2I,EAAMyY,kBAAkBphB,IAGvB6O,IAAYjV,GACjB4V,IAGCxP,EAAMoY,QAAUvJ,IAAYjV,GACjC4V,GAER,EACA7G,EAAMiiB,qBAAuB,WACzB,IAAIlrB,EAAIwC,EACJiI,EAAKxB,EAAMjK,MAAOuU,EAAS9I,EAAG8I,OAAQC,EAAS/I,EAAG+I,OAAQ+N,EAAc9W,EAAG8W,YAAaniB,EAAOqL,EAAGrL,KAAMkZ,EAAK7N,EAAGtD,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EAAIjC,EAA8B5L,EAAG4L,4BAA6BhM,EAAaI,EAAGJ,WAAYlO,EAAOsO,EAAGtO,KAC1PuJ,OAA8BpI,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC3EylB,EAAcliB,EAAM2hB,kBAAkBO,YACtCN,EAAatJ,GAAe7b,GAAS3G,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,UAAWoE,EAAK,CAAC,EACrGA,EAAG,UAAUE,OAAO4U,GAAQ1V,IAASA,IAASA,EAC9CY,IAAMpD,IAAK,aAAc+D,QAASsI,EAAMgiB,iBAAkB1qB,YAAa8H,IAC3EtJ,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,4BAA6B,CAAE,UAAWkuB,GAASqB,KAAiB7rB,MAAO,CAAE8rB,UAAW,WACvI1lB,EACA3G,EAAAA,cAAoBwD,EAAU,CAAE5E,KAAM,OAAQ8D,KAAM4pB,EAAAA,IAAU/rB,MAAO,CAAEyJ,SAAU,WAAYhO,MAAO,aACxGqK,EAAQ6D,EAAM0G,MAAMvK,MAIxB,YAHc9H,IAAV8H,QAAsC9H,IAAf+M,IACvBjF,EAAQ4B,GAAaG,EAAK,GAAIkD,IAE1BtL,EAAAA,cAAoBA,EAAAA,SAAgB,KACxCwU,GAAUxU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBqU,GACrEsX,EACA9rB,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,UAAW4G,EAAK,CAAC,EAC5DA,EAAG,UAAUtC,OAAO+I,EAAMkW,WAAa,KAAOrK,GAAQ1V,IAASA,IAASA,EACxEoD,EAAG,kBAAoByG,EAAMiM,KAAKnI,GAAGP,QACrChK,MACHrG,GAAQiJ,GAAyB,IAAhB+B,EAAKnL,QAAgB+C,EAAAA,cAAoBoG,EAAmB,CAAEC,MAAOA,EAAOC,UAAW,SAAUrB,OAAQqS,IAC3HpN,EAAM2N,cACVpD,GAAUzU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,iBAAmBsU,GAC7E,EACAvK,EAAMmN,oBAAsB,WACxB,IAAIlB,EAAOjM,EAAMiM,KACblV,EAAKiJ,EAAMjK,MAAOiF,EAAMjE,EAAGiE,IAAKzB,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAC1E2B,EAAgB8E,EAAMiM,KAAK5C,mBAC3BlB,OAAqC9T,IAAxB6G,EAAcpC,MAAsBoC,EAAcpC,MAAQmT,EAAK9D,WAC5EkF,EAAqB,CACrBrS,SAAa3G,IAAR2G,EAAoBA,EAAMiR,EAAKxD,cACpC3P,MAAOqP,EACPjN,cAAe,CACX6O,WAAYpX,EAAWuI,EAAc6O,WAAY,mBAAoB,uBACrE9T,UAAWiF,EAAcjF,UACzB2T,QAAS1O,EAAc0O,QACvB0D,OAAQtN,EAAMvJ,QACd6L,KAAMtC,EAAMqH,OACZ4C,OAAQjK,EAAMuN,cACdrD,QAASlK,EAAMwN,cACfxD,SAAU9O,EAAc8O,UAE5B/O,WAAY,CAACiD,EAAKnL,OAAQiN,EAAMvE,MAAM1I,SAE1C,OAAQ+C,EAAAA,cAAoB+E,EAAehG,GAAS,CAAC,EAAGwY,GAAqBrN,EAAMiiB,uBACvF,EACAjiB,EAAMgT,4BAA8B,WAChC,IAAIjc,EAAKiJ,EAAMjK,MAAOud,EAAgBvc,EAAGuc,cAAenM,EAAapQ,EAAGoQ,WAAYhU,EAAS4D,EAAG5D,OAC5FoG,EAAKyG,EAAM0G,MAAMqJ,YAAaA,OAAqB,IAAPxW,EAAgB,EAAIA,EAChE6c,OAAwB/hB,IAAXlB,EAAuBA,EAAS6M,EAAM0G,MAAMjK,KAC7DuD,EAAMshB,cAAejf,EAAAA,GAAAA,IAA2BrC,GAChD,IAAIugB,EAAepZ,EAAcrR,EAAAA,cAAoBwF,EAAY,CAAEG,MAAO2a,EAAYpgB,IAAK,SAAUqgB,GAAkB,OAAOrW,EAAMohB,eAAiB/K,GAAkBA,EAAe5f,OAAS,EAAGiF,SAAUsE,EAAMuZ,gBAAiB5d,UAAWqE,EAAM0W,eAAgBvgB,KAAM6J,EAAMjK,MAAMI,KAAM2F,QAASkE,EAAMjK,MAAM+F,QAASD,SAAUmE,EAAMjK,MAAM8F,WAAe,KAC3V0X,EAAmB,CACnBD,cAAeA,EACfI,OAAQ1T,EAAMqH,OACd6C,QAAS,SAAU7S,GAAS,OAAO2I,EAAM0gB,SAASrpB,EAAQ,EAC1D0Y,YAAaA,EACbwQ,aAAcA,EACdhW,OAAQ,CACJkW,WAAYzgB,EAAMshB,aAAalf,iBAAiBrB,GAA0BC,GAASD,KACnF2f,SAAU1gB,EAAM0gB,SAChBC,UAAW3gB,EAAMshB,aAAalf,iBAAiBtB,GAAyBE,GAASF,KACjF8f,QAAS5gB,EAAMqiB,aAGvB,OAAQvsB,EAAAA,cAAoBwqB,GAAczrB,GAAS,CAAC,EAAG0e,GACnDzd,EAAAA,cAAoBme,GAAAA,mBAAoB,CAAEhe,UAAW,sBACjDH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,oBAAsB+J,EAAMiiB,yBAChF,EACAjiB,EAAMqiB,WAAa,SAAUhrB,GACzB,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvBA,EAAMuE,uBAC2BvH,IAA7B2L,EAAM0G,MAAMnF,eACZmF,EAAMxI,KAAKqD,kBAAelN,GAE1B2L,EAAMqH,QACNrH,EAAMiM,KAAKpF,YAAYH,GAE3BA,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,YAC1B,IAAIoD,OAA8BpI,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC3EF,EAAUE,IAAkB,KAATA,GACnBuD,EAAMiM,KAAK/E,cAAc,GAAIR,GAE7B1G,EAAM0G,MAAMjK,OACZiK,EAAMxI,KAAKzB,KAAO,IAEtBuD,EAAM8G,WAAWJ,EACrB,EACA1G,EAAM0gB,SAAW,SAAUrpB,GACvB,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvBA,EAAMuE,uBAC2BvH,IAA7B2L,EAAM0G,MAAMnF,eACZmF,EAAMxI,KAAKqD,kBAAelN,GAE1B2L,EAAMqH,QACNrH,EAAMiM,KAAKpF,YAAYH,GAE3BA,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,aAC1B,IAAIoD,OAA8BpI,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC3EF,EAAUE,IAAkB,KAATA,GACnBuD,EAAMiM,KAAK/E,cAAc,GAAIR,GAE7B1G,EAAM0G,MAAMjK,OACZiK,EAAMxI,KAAKzB,KAAO,IAEtBuD,EAAM8G,WAAWJ,EACrB,EACA1G,EAAM2N,WAAa,WACf,IAAI5W,EAAKiJ,EAAMjK,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI4E,EAAYpH,EAAGoH,UAAWiM,EAAmBrT,EAAGqT,iBAAkB1I,EAAa3K,EAAG2K,WAAYC,EAAwB5K,EAAG4K,sBAAuByH,EAAcrS,EAAGqS,YAAahJ,EAAUrJ,EAAGqJ,QAC3P0D,EAAK9D,EAAMiM,KAAKnI,GAChBxC,EAAOlB,EAAUA,EAAQkB,KAAO,EAChCC,EAAevB,EAAM2hB,kBAAkBpgB,aACvCrG,EAAgB8E,EAAMiM,KAAK5C,mBAC3BpM,EAAY,cAAchG,OAAO6M,EAAG7G,UAAW,OACnD,OAAQnH,EAAAA,cAAoBmL,GAAM,CAAEzO,GAAIwN,EAAMiM,KAAKhE,UAAW3F,KAAMtC,EAAMqH,OAAQnJ,KAAMA,EAAK0P,QAASrM,aAAcA,EAAeD,EAAM7F,MAAOuE,EAAMvE,MAAO0C,UAAWA,EAAWgD,WAAYiI,EAAa/H,YAAarB,EAAMiM,KAAK5Z,KAAM+O,WAAYpB,EAAMjK,MAAMqL,WAAYhF,UAAW,SAAUsG,QAAS,SAAUxP,GAAQ4Q,EAAG5Q,KAAO8M,EAAMiM,KAAK/Y,KAAOA,CAAM,EAAGsP,aAAcxC,EAAMkW,WAAa,CAAC,EAAI,CAAErI,UAAW3S,EAAcnC,QAAUwJ,gBAAiB,iBAAkBE,UAAWqB,EAAGP,QAAU,CAAE2B,UAAWjI,QAAc5I,EAAWV,IAAK,UAAW2N,KAAMA,EAAM5J,QAASsI,EAAMyG,gBAAiB/E,WAAYA,EAAYC,sBAAuBA,EAAuBO,aAAckI,EAAkB9S,YAAa8H,GAAgByD,OAAQ7C,EAAM6P,WAAY/M,SAAU9C,EAAM8C,SAAUH,WAAYmB,EAAGD,YAAab,SAAUhD,EAAMiM,KAAKrE,uBACvzB,EACA5H,EAAM8C,SAAW,SAAUzL,GACvB,IAAIN,EAAKiJ,EAAMiM,KAAMnI,EAAK/M,EAAG+M,GAAI5Q,EAAO6D,EAAG7D,KAC3C4Q,EAAGS,cAAclN,GACjB,IAAI+J,EAAapB,EAAMjK,MAAMqL,WACzB7H,EAAKyG,EAAMjK,MAAMmI,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EACvD,GAAK6H,GAAelD,EAAKnL,QAGrBqO,EAAY,CAOZ,IANA,IAAI3D,EAAauC,EAAMvC,WACnBuC,EAAMvC,aAAeqG,EAAGP,QAAUO,EAAGrG,WAAcvK,EAAOA,EAAKoF,SAAS,GAAG8E,aAAe,GAE1FI,EADSnG,EAAMd,OACIiH,UAAasG,EAAGxC,KAAO7D,EAE1CtB,GADJ+B,EAAO8B,EAAMiM,KAAK3C,yBAAyBpL,EAAMkD,IAChC,GAAGA,GACX9O,EAAI,EAAGA,EAAI4L,EAAKnL,UACjB0K,EAAanL,EAAIkL,GADQlL,IAIzB4L,EAAK5L,IAAM4L,EAAK5L,GAAG8O,KACnBjF,EAAQ+B,EAAK5L,GAAG8O,IAGpBjF,IAAU6D,EAAM0G,MAAMvK,OACtB6D,EAAMgI,SAAS,CACX7L,MAAOA,GAGnB,CACJ,EACA6D,EAAMgiB,iBAAmB,SAAU3qB,GAC/B,IAAIN,EACA+G,OAAkCzJ,IAAvB2L,EAAMjK,MAAM5C,OAAuB6M,EAAMjK,MAAM5C,OAAS6M,EAAM0G,MAAMjK,KAC/E0B,EAAY6B,EAAMjK,MAAMoI,UAC5B,GAAKL,EAAL,CAGA,IAAI4I,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvB,IAAIiF,EAAO6B,IAAapH,EAAK,CAAC,GAAMoH,GAAaL,EAAU/G,GAAM+G,OACxCzJ,IAArB2L,EAAM0G,MAAMjK,OACZiK,EAAMxI,KAAKzB,KAAO,IAEtBiK,EAAMxI,KAAKqD,kBAAelN,EAC1B2L,EAAMiM,KAAK/E,cAAc,GAAIR,GAC7B,IAAI8a,EAAWhG,GAAcA,GAAc,GAAIxb,EAAMvE,OAAO,GAAO,CAACa,IAAO,GAC3E0D,EAAM2M,gBAAgB6U,EAAU9a,GAChC1G,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAM8G,WAAWJ,EAZjB,CAaJ,EACA1G,EAAMiQ,mBAAqB,SAAU5Y,GACjC,IAAIkE,EAAQyE,EAAM0U,QACb1U,EAAMqH,QAAU9L,GACjByE,EAAMuQ,aAAahV,GAEvB,IAAImL,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EAClB2I,EAAM0G,MAAMrG,SAAYL,EAAMkW,aAC/BxP,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,YAC1BqN,EAAMxI,KAAKmC,SAAU,GAErBL,EAAMkW,aACNlW,EAAMgI,SAAS,CAAEiZ,aAAcjhB,EAAMsiB,eACjCtiB,EAAMkW,YACNlS,OAAOC,YAAW,WAAc,OAAOjE,EAAMohB,gBAAkBphB,EAAMohB,eAAe3U,OAAS,GAAG,MAGxGzM,EAAMiM,KAAKpF,YAAYH,GACvB1G,EAAM8G,WAAWJ,EACrB,EACA1G,EAAMyG,gBAAkB,SAAUvG,EAAO7I,GACrC,IAAIqP,EAAQ1G,EAAMiM,KAAKtF,YACvBD,EAAMnP,eAAiBF,EACvB2I,EAAM4G,iBAAiB1G,EAAOwG,GAC1B1G,EAAMjK,MAAMwsB,YAAcviB,EAAMkW,YAChClW,EAAMiM,KAAKpF,YAAYH,GAE3BrP,EAAMuE,kBACNoE,EAAM8G,WAAWJ,EACrB,EACA1G,EAAM6P,WAAa,SAAUxY,GACzB,GAAK2I,EAAM0G,MAAMrG,UAAWL,EAAMqM,gBAAlC,CAGA,IAAI3F,EAAQ1G,EAAMiM,KAAKtF,YACnB5P,EAAKiJ,EAAMjK,MAAOuiB,EAAcvhB,EAAGuhB,YAAanR,EAAapQ,EAAGoQ,WACpET,EAAMnP,eAAiBF,EACvBqP,EAAMxI,KAAKmC,SAAU,EACrBqG,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,WACtB2G,EAAMqH,SAAWrH,EAAMkW,aACnBlW,EAAM0G,MAAMW,SACZX,EAAMxI,KAAKmJ,QAAS,GAExBX,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,aAEzBif,GAAgBnR,IAAcnH,EAAM0G,MAAMjK,OAC3CiK,EAAMxI,KAAKzB,KAAO,IAEtBuD,EAAM8G,WAAWJ,EAfjB,CAgBJ,EACA1G,EAAM+G,YAAc,SAAU1P,GACtB2I,EAAMqM,iBAGVrM,EAAMiM,KAAKlF,YAAY1P,EAC3B,EACA2I,EAAMuN,cAAgB,WACdvN,EAAM0U,QAAU1U,EAAM0G,MAAMrG,UAAYL,EAAMkW,YAC9ClW,EAAMuQ,aAAavQ,EAAM0U,OAEjC,EACA1U,EAAMwN,cAAgB,WACdxN,EAAM0G,MAAMrG,SACZ2D,OAAOC,YAAW,WAAkBjE,EAAM0G,MAAMrG,SAC5CL,EAAMuQ,aAAavQ,EAAM0U,OAC3B,GAAG,EAEb,EACA1U,EAAMwQ,YAAc,WACZxQ,EAAM0U,QAAU1U,EAAM0U,OAAOjE,mBAC7BzQ,EAAM0U,OAAOjE,kBAAkBzQ,EAAM0Q,SAASC,MACxC,GACA3Q,EAAMjK,MAAM6a,mBApbT,8BAsbjB,EACA/F,GAAgBC,IACT9K,CACX,CAyZA,OAv0BA9F,GAAU6mB,EAA2BjmB,GA+arCtH,OAAOgR,eAAeuc,EAA0B5rB,UAAW,WAAY,CACnEsP,IAAK,WACD,GAAK2G,GAIL,OAAQ7V,KAAKkB,SAAWlB,KAAKkB,QAAQ8R,eAAkB8C,QAC3D,EACA3G,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,UAAW,CAElEsP,IAAK,WACD,OAAOlP,KAAKyW,QAChB,EACAtH,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,SAAU,CAEjEsP,IAAK,WAED,cADmCpQ,IAAtBkB,KAAKQ,MAAMsR,OAAuB9R,KAAKQ,MAAMsR,OAAS9R,KAAKmR,MAAMW,OAElF,EACA3C,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,eAAgB,CAEvEsP,IAAK,WACD,IAAI1N,EAAKxB,KAAKQ,MAAOysB,EAAOzrB,EAAGyrB,KAAMrkB,EAAYpH,EAAGoH,UAChDmkB,EAAe,GASnB,YARajuB,IAATmuB,EACAjtB,KAAKkG,MAAM/H,SAAQ,SAAU4I,GACzBgmB,EAAarb,KAAK,CAAExK,KAAMsB,GAAazB,EAAM6B,GAAYD,KAAM,CAAC5B,IACpE,IAGAgmB,EAAarb,KAAK3R,MAAMgtB,EAAcE,GAEnCF,CACX,EACA5d,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,aAAc,CAIrEsP,IAAK,WAED,SADiBlP,KAAKmR,MAAMqJ,aAAexa,KAAKmR,MAAMqJ,aAAenE,IAAwBrW,KAAKQ,MAAM+Z,SAE5G,EACApL,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,QAAS,CAIhEsP,IAAK,WACD,IAAIzR,EAAS,GAab,OAZIuC,KAAK2rB,0BACLluB,EAAOiU,KAAK3R,MAAMtC,EAAQuC,KAAK2rB,2BAE1B3rB,KAAKQ,MAAM0F,MAChBzI,EAAOiU,KAAK3R,MAAMtC,EAAQuC,KAAKQ,MAAM0F,OAEhClG,KAAKmR,MAAMjL,MAChBzI,EAAOiU,KAAK3R,MAAMtC,EAAQuC,KAAKmR,MAAMjL,OAEhClG,KAAKQ,MAAMyU,cAChBxX,EAAOiU,KAAK3R,MAAMtC,EAAQuC,KAAKQ,MAAMyU,cAElCxX,CACX,EACA0R,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,OAAQ,CAI/DsP,IAAK,WACD,OAAOlP,KAAKQ,MAAMrB,IACtB,EACAgQ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,WAAY,CAInEsP,IAAK,WACD,IAAIoM,OAA+Cxc,IAAjCkB,KAAKQ,MAAM6a,kBACzBE,GAAYvb,KAAKoV,UACE,OAAfpV,KAAKkG,OAAkBlG,KAAKkG,MAAM1I,OAAS,QAAoBsB,IAAfkB,KAAKkG,MAE7D,MAAO,CACHoV,YAAaA,EACbF,WAH6Btc,IAArBkB,KAAKQ,MAAM4a,MAAsBpb,KAAKQ,MAAM4a,MAAQG,EAI5DC,aAA6B,OAAfxb,KAAKkG,MAE3B,EACAiJ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,WAAY,CAEnEsP,IAAK,WACD,YAA+BpQ,IAAxBkB,KAAKQ,MAAM4U,SACZpV,KAAKQ,MAAM4U,SACXoW,EAA0BnqB,aAAa+T,QACjD,EACAjG,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAeuc,EAA0B5rB,UAAW,iBAAkB,CACzEsP,IAAK,WACD,YAAqCpQ,IAA9BkB,KAAKQ,MAAM6U,eACZrV,KAAKQ,MAAM6U,eACXmW,EAA0BnqB,aAAagU,cACjD,EACAlG,YAAY,EACZC,cAAc,IAGlBoc,EAA0B5rB,UAAU6b,mBAAqB,SAAUC,EAAWC,GAC1E,IAAIna,EACAwC,EAAKhE,KAAKQ,MAAOqK,EAAU7G,EAAG6G,QAASoB,EAAKjI,EAAG6H,WAAYA,OAAoB,IAAPI,EAAgB,GAAKA,EAAI6N,EAAK9V,EAAG2E,KAAMA,OAAc,IAAPmR,EAAgB,GAAKA,EAC3I/N,EAAOlB,EAAUA,EAAQkB,KAAO,EAChC6P,EAAYF,EAAU7Q,QAAU6Q,EAAU7Q,QAAQkD,MAAQ,EAC1D8N,OAAkC/c,IAArB4c,EAAU5J,OAAuB4J,EAAU5J,OAAS6J,EAAU7J,OAC3EgK,GAAWD,GAAc7b,KAAK8R,OAC9Bob,EAAUrR,IAAe7b,KAAK8R,OAKlC,IAJoB9R,KAAK0W,KAAK5C,mBACXO,SAAW6Y,GAC1BltB,KAAKiY,gBAELpN,GAAWA,EAAQkD,QAAU6N,EAC7B5b,KAAK0W,KAAKnI,GAAGI,0BACb3O,KAAK0W,KAAKnI,GAAGqB,YAEZ,CACD,IAAI+M,EAAK3c,KAAKosB,kBAAmBpK,EAAcrF,EAAGqF,YAAahW,EAAe2Q,EAAG3Q,aAC9D,KAAfH,IACAG,EAA+E,QAA/DxK,EAAKxB,KAAK0W,KAAK3C,yBAAyBpL,EAAMkD,UAAgC,IAAPrK,OAAgB,EAASA,EAAGrB,QAAQ6hB,IAE3HlG,GAAWjR,EACX7K,KAAK0W,KAAKvE,oBAAoBtH,EAASmB,EAAeD,GAEjD+P,IAAYjR,GAEblC,GAAwB,IAAhBA,EAAKnL,QACbwC,KAAK0W,KAAKpE,uBAAuB3J,EAAK,GAAGkD,GAAa7L,MAE1DA,KAAK0W,KAAKnP,aAAayE,IAElBhM,KAAK8R,QAAU+J,GAAcmG,GAAehiB,KAAK8rB,iBACtD9rB,KAAK0W,KAAKnP,aAAayE,EAAeD,EAE9C,CACA/L,KAAK8rB,iBAAkB,EACvB9rB,KAAKib,aACT,EAEAuQ,EAA0B5rB,UAAUsc,kBAAoB,WACpD,IAAI1a,EACJxB,KAAKmc,eAAiBtG,IAAapH,OAAO2N,gBAAkB,IAAI3N,OAAO2N,eAAepc,KAAKqc,eAAezN,KAAK5O,OAC/GA,KAAK0W,KAAK/D,WACV3S,KAAKib,eACyB,QAAxBzZ,EAAKxB,KAAK8V,gBAA6B,IAAPtU,OAAgB,EAASA,EAAG8a,OAAStc,KAAKmc,gBAC5Enc,KAAKmc,eAAeI,QAAQvc,KAAK8V,SAASwG,KAElD,EAEAkP,EAA0B5rB,UAAU4c,qBAAuB,WACvD,IAAIhb,GAC0B,QAAxBA,EAAKxB,KAAK8V,gBAA6B,IAAPtU,OAAgB,EAASA,EAAG8a,OAAStc,KAAKmc,gBAC5Enc,KAAKmc,eAAeM,YAE5B,EAEA+O,EAA0B5rB,UAAUya,WAAa,SAAUlJ,EAAOR,GAC9D,IAAInP,EAAKxB,KAAKQ,MAAOuiB,EAAcvhB,EAAGuhB,YAAa/e,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EACzFkD,OAA6BpI,IAAtBkB,KAAKQ,MAAM5C,OAAuBoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,KACxE+E,EAAKjM,KAAKosB,kBAAmBO,EAAc1gB,EAAG0gB,YAAa3gB,EAAeC,EAAGD,aAC7EqgB,EAAatJ,GAAe7b,EAC5BimB,EAAoB7B,GAASqB,GAC7BjW,EAAO1W,KAAK0W,KACZnI,EAAKmI,EAAKnI,GACd,GAAIvO,KAAK8R,QAAUnB,IAAYjV,GAAWyxB,OACNruB,IAA5BkB,KAAKmR,MAAMnF,eACXmF,EAAMxI,KAAKqD,kBAAelN,OAG7B,CACD,IAAI6lB,EAAajO,EAAKzF,WAAWP,SAAS,CACtCC,QAASA,EACTxP,QAAS6K,EACTuD,KAAMhB,EAAGP,QAAUO,EAAGR,MAAQpF,EAAKnL,QAAU,EAC7CsR,IAAKud,GAAc,EAAI,SAERvtB,IAAf6lB,IACA3kB,KAAK+jB,UAAUY,EAAYxT,GAC3BnR,KAAK8rB,iBAAkB,EAE/B,CACA9rB,KAAKuR,WAAWJ,EACpB,EAEAqa,EAA0B5rB,UAAU4F,OAAS,WACzC,IAAIhE,EAAIwC,EACJiI,EAAKjM,KAAKQ,MAAOM,EAAQmL,EAAGnL,MAAOJ,EAAYuL,EAAGvL,UAAWyT,EAAQlI,EAAGkI,MAAO1O,EAAMwG,EAAGxG,IAAK/G,EAAWuN,EAAGvN,SAAUkK,EAAYqD,EAAGrD,UAAWiL,EAAc5H,EAAG4H,YAAahJ,EAAUoB,EAAGpB,QAASjK,EAAOqL,EAAGrL,KAAM2F,EAAU0F,EAAG1F,QAASD,EAAW2F,EAAG3F,SAAU8N,EAAUnI,EAAGmI,QAASxW,EAASqO,EAAGrO,OACnSkc,EAAK9Z,KAAKmR,MAAOjK,EAAO4S,EAAG5S,KAAM4D,EAAUgP,EAAGhP,QAAS8f,EAAa9Q,EAAG8Q,WAAYc,EAAe5R,EAAG4R,aACrGnd,EAAKvO,KAAK0W,KAAKnI,GACftR,EAAK+C,KAAKQ,MAAMvD,IAAM+C,KAAKiX,SAC/B1I,EAAGP,aAAsBlP,IAAZ+L,OACG/L,IAAZ+L,IACA0D,EAAGxC,KAAOlB,EAAQkB,KAClBwC,EAAGR,MAAQlD,EAAQkD,MACnBQ,EAAGN,SAAWpD,EAAQoD,UAE1B,IAAImf,EAAuBptB,KAAK2gB,YAAc3gB,KAAK8R,OAAU4Z,EAAe1rB,KAAK+sB,aACjF/sB,KAAKqtB,SAASrtB,KAAK+sB,aAAc/sB,KAAK4rB,OACtC,IAAIrQ,GAAWvb,KAAKqV,gBAAkBrV,KAAKmb,SAASC,MAChDmH,EAAcxX,aAAmBjM,IAAXlB,EAAuBA,EAASsJ,IAClDkmB,GAAuBA,EAAoB5vB,OAAS,EACxDuT,EAAaxQ,EAAAA,cAAoBA,EAAAA,SAAgB,KACjDA,EAAAA,cAAoB,MAAO,CAAEE,IAAKT,KAAKqX,aAAc3W,UAAWtD,EAAW,wBAAyBsD,GAAYc,EAAK,CAAC,EAC9GA,EAAG,WAAWE,OAAO4U,GAAQ1V,IAASA,IAASA,EAC/CY,EAAG,aAAaE,OAAO6U,GAAWhQ,IAAYA,IAAYA,EAC1D/E,EAAG,WAAWE,OAAO4E,IAAaA,EAClC9E,EAAG,WAAasJ,IAAYpM,EAC5B8C,EAAG,cAAgB+Z,EACnB/Z,EAAG,cAAgB9C,EACnB8C,EAAG,aAAe4S,EAClB5S,EAAG,cAAgBxB,KAAKoV,SACxB5T,IAAMV,MAAQqT,EAEZ7U,GAASA,GAAS,CAAC,EAAGwB,GAAQ,CAAEyC,WAAOzE,IADvCgC,EACqD2E,IAAKA,EAAKmP,QAAS5U,KAAKwR,YAAalE,OAAQtN,KAAKsa,WAAYnY,QAASnC,KAAK0a,mBAAoB3Y,YAAa4H,IACxKpJ,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,mBAC/CmD,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,EAAW,eAAgB4G,EAAK,CAAC,EAAGA,EAAG,eAAetC,OAAO4U,GAAQ1V,IAASA,IAASA,EAAMoD,IAAMrB,KAAM,UAAW1F,GAAI,YAAc+C,KAAK0W,KAAK5Z,MAAQswB,GAAuBA,EAAoB5vB,OAAS,GAAK+C,EAAAA,cAAoB+pB,GAAS,CAAEC,UAAWvqB,KAAKQ,MAAM+pB,UAAWG,YAAa1qB,KAAK0qB,YAAa/hB,KAAMykB,EAAqBtwB,KAAMkD,KAAK0W,KAAK5Z,KAAMgO,QAAS8f,EAAawC,EAAoBE,MAAK,SAAU9tB,GAAK,OAAOsK,GAAUtK,EAAGorB,EAAY/W,EAAc,SAAK/U,EAAW8B,KAAMA,KAC3gBZ,KAAK2iB,gBAAgB1lB,IACzBmX,GAAW7T,EAAAA,cAAoBwD,EAAU,CAAErD,UAAW,uBAAwBvB,KAAM,YACpFojB,GAAehiB,EAAAA,cAAoB+f,GAAa,CAAEne,QAASnC,KAAKiiB,oBAC/DjiB,KAAK2gB,YAAc3gB,KAAK4X,uBAC7B5X,KAAK2gB,YAAc3gB,KAAKyd,+BAC5B,OAAOtJ,EAAS5T,EAAAA,cAAoBmd,EAAAA,EAAe,CAAEvJ,MAAOA,EAAOyO,SAAU3lB,EAAI0gB,YAAazW,GAAQsB,GAAaxI,KAAKkG,MAAM,GAAI0C,GAAYgV,YAAarC,EAASsC,eAAgBnf,EAAUoC,MAAO,CAAEyC,MAAOzC,EAAQA,EAAMyC,WAAQzE,GAAaiE,SAAUgO,IAAgBA,CAC/Q,EACAya,EAA0B5rB,UAAU+iB,gBAAkB,SAAU1lB,GAC5D,IAAIuE,EAAKxB,KAAKmR,MAAOiP,EAAmB5e,EAAG4e,iBAAkBwK,EAAappB,EAAGopB,WAAYc,EAAelqB,EAAGkqB,aACvG1nB,EAAKhE,KAAKQ,MAAO9B,EAAWsF,EAAGtF,SAAUuhB,EAAcjc,EAAGic,YAAa7C,EAAkBpZ,EAAGoZ,gBAC5FlW,GAAQlH,KAAK2gB,kBAAqC7hB,IAAtBkB,KAAKQ,MAAM5C,OAAuBoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,OAAS,GACtG8E,EAAehM,KAAKosB,kBAAkBpgB,aACtCuhB,EAA0C,IAAtBvtB,KAAKkG,MAAM1I,QAAiB0J,OAAqBpI,EAAdmhB,EACvDuN,EAAuB9B,GAAgBA,EAAaluB,OAAS,OAAKsB,EAAYmhB,EAC9EwN,EAAuBrN,IAAqByK,GAAiB6C,eAA2B5uB,IAAf8rB,EACzE,OAAOlpB,OAAO1B,KAAK0W,KAAK5Z,KAAM,KAAK4E,OAAOkpB,EAAW1jB,KAAKue,QAAQ,OAAQ,MAC1E,UAAU/jB,OAAO1B,KAAK0W,KAAK5Z,KAAM,KAAK4E,OAAOsK,GACjD,OAAQzL,EAAAA,cAAoB2e,GAAW,CAAEjiB,GAAIA,EAAI2D,KAAM1D,KAAKqS,KAAKge,GAAqB,IAAI/vB,OAAQ0J,EAAK1J,OAAQ,GAAIiB,SAAUuB,KAAKQ,MAAM/B,SAAUyV,UAAWlU,KAAKQ,MAAM0T,UAAW+L,YAAajgB,KAAK2gB,YAAc3gB,KAAK8R,OAAS0b,EAAsBD,EAAmBrnB,MAAOgB,EAAMf,SAAUnG,KAAKgkB,gBAAiB5d,UAAWpG,KAAKmhB,eAAgB1gB,IAAKT,KAAKusB,aAAc7tB,SAAUA,EAAUohB,SAAU9f,KAAK8R,OAAQqO,KAAMngB,KAAK0W,KAAKhE,UAAW/P,KAAM,WAAYyd,iBAAkBqN,EAAsBrQ,gBAAiB,YAAY1b,OAAO1B,KAAK0W,KAAK5Z,MAAM4E,OAAO0b,EAAmB,IAAMA,EAAmB,IAAKD,eAAgBnd,KAAKQ,MAAM2c,eAAgBkD,aAAcrgB,KAAKoV,UAC7pB,EACAoW,EAA0B5rB,UAAU4sB,eAAiB,SAAU1qB,EAAOqP,GAClE,IAAIR,EAAU7O,EAAM6O,QAChBia,EAAa5qB,KAAKmR,MAAMyZ,WACxBqC,EAAOjtB,KAAK4rB,MACZ+B,EAAW3tB,KAAKQ,MAAMqT,YACtB7H,EAAe4e,EACfqC,EAAKlkB,WAAU,SAAUvJ,GAAK,OAAOsK,GAAUtK,EAAGorB,EAAY+C,EAAW,KAAM,EAC/EC,OAAgB9uB,EAChB+uB,GAA+B,IAAlB7hB,EACjB,GAAI2E,IAAYjV,EAOZkyB,EAAgBX,EALZjhB,EADA6hB,EACe3wB,KAAKqS,IAAI,EAAGvD,EAAe,GAG3BihB,EAAKzvB,OAAS,QAIhC,GAAImT,IAAYjV,EACbsQ,IAAiBihB,EAAKzvB,OAAS,EAC/BowB,OAAgB9uB,EAEX+uB,IAELD,EAAgBX,EADhBjhB,EAAe9O,KAAK4R,IAAIme,EAAKzvB,OAAS,EAAGwO,EAAe,UAI3D,GAAI2E,IAAYjV,EACjBkyB,EAAgBX,EAAK,QAEpB,GAAItc,IAAYjV,EACjBkyB,EAAgBX,EAAKA,EAAKzvB,OAAS,QAElC,GAAImT,IAAYjV,GACjB,GAAImyB,EAAY,CACZ,IAAIxlB,EAAQrI,KAAKkG,MACjBiD,GAAgBd,EAAO4kB,EAAKjhB,GAAcrD,KAAMglB,GAChD3tB,KAAKoX,gBAAgB/O,EAAO8I,EAChC,OAEC,GAAIR,IAAYjV,EAAgB,CAC7B2M,EAAQrI,KAAKkG,MACjB,GAAI2nB,EACA1kB,GAAgBd,EAAO4kB,EAAKjhB,GAAcrD,KAAMglB,GAChD3tB,KAAKoX,gBAAgB/O,EAAO8I,QAE3B,IAAK0c,GAAcZ,EAAKzvB,OAAQ,CACjC,IAAIswB,EAAUb,EAAKc,MACnB5kB,GAAgBd,EAAOylB,EAAQnlB,KAAMglB,GACrC3tB,KAAKoX,gBAAgB/O,EAAO8I,EAChC,CACJ,CACIyc,IAAkBhD,IAClBzZ,EAAMxI,KAAKiiB,WAAagD,EACxBzc,EAAMxI,KAAKyX,iBAAmByK,GAAiB6C,UAEnD1tB,KAAKuR,WAAWJ,EACpB,EACAqa,EAA0B5rB,UAAUwX,gBAAkB,SAAU/O,EAAO8I,QAC1CrS,IAArBkB,KAAKQ,MAAM0F,QACXiL,EAAMxI,KAAKzC,MAAQ+f,GAAc,GAAI5d,GAAO,IAEhDrI,KAAK2rB,0BAA4B,GACjC3rB,KAAKqtB,SAAShlB,EAAOrI,KAAK2rB,2BAC1Bxa,EAAMM,OAAOC,KAAK,CAAE5N,KAAM,YAC9B,EACA0nB,EAA0B5rB,UAAUsjB,kBAAoB,SAAUphB,GAC9D,IAAIN,EAAKxB,KAAKQ,MAAOwD,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6G,EAAUrJ,EAAGqJ,QAC5EmB,EAAehM,KAAKosB,kBAAkBpgB,kBAERlN,IAA9B6J,EAAKqD,GADEnB,EAAUA,EAAQkB,KAAO,KAEhC/L,KAAKkR,gBAAgBlF,EAAclK,EAE3C,EACA0pB,EAA0B5rB,UAAUytB,SAAW,SAAUW,EAAUC,GAC/DA,EAAUzwB,OAAS,EACnBywB,EAAUvc,KAAK3R,MAAMkuB,EAAWD,EACpC,EACAxC,EAA0B5rB,UAAUwsB,gBAAkB,WAClD,IAII8B,EAJAliB,EAAehM,KAAKmR,MAAMnF,aAC1B9E,OAA6BpI,IAAtBkB,KAAKQ,MAAM5C,OAAuBoC,KAAKQ,MAAM5C,OAASoC,KAAKmR,MAAMjK,KACxE1F,EAAKxB,KAAKQ,MAAOuiB,EAAcvhB,EAAGuhB,YAAa/e,EAAKxC,EAAGmH,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6P,EAAcrS,EAAGqS,YAAahJ,EAAUrJ,EAAGqJ,QAASjC,EAAYpH,EAAGoH,UAAWqD,EAAKzK,EAAGsT,iBAAkBA,OAA0B,IAAP7I,EAAgB7D,GAAsB6D,EAC9PF,EAAQlB,GAAWA,EAAQkB,MAAS,EAExC,QAAqBjN,IAAjBkN,EACA,MAAO,CACHA,aAAcA,EACdgW,YAAarZ,EAAKqD,EAAeD,GACjC4gB,YAAa7B,GAAgBtgB,UAGrC,IAAIH,EAAWrK,KAAKkG,MACpB,GAAI6c,GAAe7b,EACf,MAAO,CAAE8a,YAAa,KAAMhW,cAAe,EAAG2gB,YAAa7B,GAAgBS,YAE1E,GAAIrkB,EAEL,MAAO,CACH8a,YAAarZ,EAFjBulB,EAAapZ,EAAiBnM,EAAMzB,EAAM0B,IAGtCoD,aAAckiB,EAAaniB,EAC3B4gB,YAAa7B,GAAgBtgB,UAGhC,GAAIH,EAAS7M,OAAQ,CACtB,IAAI2wB,EAAS9jB,EAASA,EAAS7M,OAAS,GAExC,OADA0wB,EAAavlB,EAAKI,WAAU,SAAUhM,GAAK,OAAOsM,GAAQtM,EAAGoxB,EAAQta,EAAc,SAC1D/U,IAArB6J,EAAKulB,GACE,CACHliB,aAAckiB,EAAaniB,EAC3BiW,YAAarZ,EAAKulB,GAClBvB,YAAa7B,GAAgBtgB,UAG9B,CAAEmiB,YAAa7B,GAAgBsD,KAAMpiB,cAAe,EAC/D,CACA,OAAgB,IAATD,EACH,CAAEiW,YAAarZ,EAAK,GAAIqD,aAAc,EAAG2gB,YAAa7B,GAAgBtgB,UACtE,CAAEmiB,YAAa7B,GAAgBsD,KAAMpiB,cAAe,EAC5D,EACAwf,EAA0B5rB,UAAUob,aAAe,SAAU9Z,GACzD,IAAIuJ,EAAQzK,KACZA,KAAK8W,iBAAkB,EACvB5V,EAAQgW,QACRzI,OAAOC,YAAW,WAAc,OAAOjE,EAAMqM,iBAAkB,CAAO,GAAG,EAC7E,EACA0U,EAA0B5rB,UAAU2R,WAAa,SAAUJ,GACvDnR,KAAK0W,KAAKnF,WAAWJ,GACrBnR,KAAK2rB,0BAA4B,IACrC,EACAH,EAA0B5rB,UAAUyc,eAAiB,SAAUuC,GAC3D,IAAK,IAAIthB,EAAK,EAAGuhB,EAAYD,EAASthB,EAAKuhB,EAAUrhB,OAAQF,IAAM,CAC/D,IAAIwhB,EAAQD,EAAUvhB,GACtB0C,KAAKyS,SAAS,CAAE+H,YAAasE,EAAM9d,OAAO+d,aAC9C,CAEJ,EAEAyM,EAA0B3oB,YAAc,cAExC2oB,EAA0B5oB,UAAYtD,GAASA,GAAS,CAAC,EAAGwR,GAAAA,WAAyB,CAAEkc,UAAW9tB,EAAAA,KAAgBgH,MAAOhH,EAAAA,QAAkBA,EAAAA,KAAgB+V,aAAc/V,EAAAA,QAAkBA,EAAAA,KAAgB2U,YAAa3U,EAAAA,OAAkB+gB,YAAa/gB,EAAAA,OAAkB+tB,KAAM/tB,EAAAA,QAAkBA,EAAAA,MAAgB,CACzSgI,KAAMhI,EAAAA,OACNyJ,KAAMzJ,EAAAA,QAAkBA,EAAAA,QACvBqrB,UAAWrrB,EAAAA,KAAgBjC,GAAIiC,EAAAA,OAAkBie,eAAgBje,EAAAA,OAAkBke,gBAAiBle,EAAAA,OAAkB2M,WAAY3M,EAAAA,OAAkBvB,KAAMuB,EAAAA,IAAeqb,SAAUrb,EAAAA,KAAgB6e,cAAe7e,EAAAA,OAAkBisB,SAAUjsB,EAAAA,OAEvPssB,EAA0BnqB,aAAe/B,GAASA,GAAS,CAAC,EAAGwR,GAAAA,cAA4B,CAAEkc,WAAW,EAAM5X,UAAU,EAAOxU,KAAM,SAAU2F,QAAS,SAAUD,SAAU,QAASO,UAAW,WACzL2kB,CACX,CAz0B+C,CAy0B7CjrB,EAAAA,WAQS8tB,GAA0B9pB,IA2B1B+pB,GAAc9pB,EAAiB6pB,GAAyB7C,IACnE8C,GAAYzrB,YAAc,wBCj7B1B,IAAIvD,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAOWgxB,GAAkB,SAAU/tB,GACnC,OAAQD,EAAAA,cAAoBmL,GAAMpM,GAAS,CAAC,EAAGkB,EAAO,CAAEwM,gBAAiB,gCAAiCK,cAAejQ,EAAW,uBAAwB,CACpJ,uBAAqC0B,IAAlB0B,EAAMqK,UACzBqC,UAAW5N,GAAS,CAAC,EAAGkB,EAAM0M,aAC1C,EClBIshB,GAAc,WAAc,MAA2B,qBAAb1Y,SAA2BA,SAAW,CAAC,CAAG,EAIpF2Y,GAAuC,WACvC,SAASA,IACLzuB,KAAK0uB,UAAY,CACrB,CAiBA,OAhBAzwB,OAAOgR,eAAewf,EAAsB7uB,UAAW,iBAAkB,CACrEsP,IAAK,WACD,IAAI4G,EAAW0Y,KACf,IAAKxuB,KAAK0uB,WAAa5Y,GAAYA,EAASC,cAAe,CACvD,IAAI4Y,EAAM7Y,EAASC,cAAc,OACjC4Y,EAAI7tB,MAAM8tB,QAAU,oEACpBD,EAAIE,UAAY,SAChB/Y,EAASwG,KAAKwS,YAAYH,GAC1B3uB,KAAK0uB,UAAYC,EAAIvb,YAAcub,EAAII,YACvCjZ,EAASwG,KAAK0S,YAAYL,EAC9B,CACA,OAAO3uB,KAAK0uB,SAChB,EACAvf,YAAY,EACZC,cAAc,IAEXqf,CACX,CArB2C,GCJhCpJ,GAAc,sDCFzB,IAAIC,GAAc,CAAC,EAeZ,SAASC,GAAOjd,GACnB,GAAIgd,GAAYhd,GACZ,OAAOgd,GAAYhd,GAEvB,IAAIkd,EChBD,SAAmBld,GACtB,IAAIkd,EAAS,GAIb,OAHAld,EAAMmd,QAAQJ,IAAa,SAAUK,EAAQ/a,EAAOgb,EAAeC,GAC/DJ,EAAO9T,UAAe5S,IAAV6L,EAAsBA,EAASgb,GAAiBC,EAChE,IACOJ,CACX,CDUiBK,CAAUvd,GAQvB,OAPAgd,GAAYhd,GAAS,SAAUwd,GAE3B,IADA,IAAIroB,EAASqoB,EACJ7M,EAAM,EAAGA,EAAMuM,EAAOhoB,QAAUC,EAAQwb,IAC7Cxb,EAASA,EAAO+nB,EAAOvM,IAE3B,OAAOxb,CACX,EACO6nB,GAAYhd,EACvB,CA3BAgd,GAAYxmB,UAAY,WAAgC,EEFxD,IAAIQ,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EACI0C,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAIG,KAAKF,EAAOxB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,IAAMO,EAAEC,QAAQR,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,oBAAjCxB,OAAOmC,sBACtB,KAAIrD,EAAI,EAAb,IAAgB4C,EAAI1B,OAAOmC,sBAAsBX,GAAI1C,EAAI4C,EAAEnC,OAAQT,IAC3DmD,EAAEC,QAAQR,EAAE5C,IAAM,GAAKkB,OAAO2B,UAAUS,qBAAqBP,KAAKL,EAAGE,EAAE5C,MACvEyC,EAAEG,EAAE5C,IAAM0C,EAAEE,EAAE5C,IAF4B,CAItD,OAAOyC,CACX,EAoBWyvB,GAAkC1qB,IAQlC2qB,GAAsB3uB,EAAAA,YAAiB,SAAU4uB,EAAa1uB,GACrE,IAAID,EAAQ4D,EAAgB6qB,GAAiCE,GACzDnuB,EAAST,EAAAA,OAAa,MACtB6uB,EAAc7uB,EAAAA,OAAa,MAC3B8uB,KC/CCxZ,KAAcC,SAASwG,QAGP,IAAImS,IAAwBY,eD6C7C7tB,EAAKhB,EAAM8uB,QAASA,OAAiB,IAAP9tB,EAAgBH,GAAaiuB,QAAU9tB,EAAIwC,EAAKxD,EAAMmF,cAAeA,OAAuB,IAAP3B,EAAgB3C,GAAasE,cAAgB3B,EAAItD,EAAYF,EAAME,UAA8BgU,GAAZlU,EAAMI,KAAeJ,EAAMkU,QAAQC,EAAUnU,EAAMmU,QAASC,EAAUpU,EAAMoU,QAAStH,EAAS9M,EAAM8M,OAAQnH,EAAW3F,EAAM2F,SAAU+O,EAAiB1U,EAAM0U,eAAgBC,EAAe3U,EAAM2U,aAAcoa,EAAQtvB,GAAOO,EAAO,CAAC,UAAW,gBAAiB,YAAa,OAAQ,SAAU,UAAW,UAAW,SAAU,WAAY,iBAAkB,iBAC7iBD,EAAAA,oBAA0BS,GAAQ,WAC9B,MAAQ,CACJE,QAASkuB,EAAYjuB,SAAWiuB,EAAYjuB,QAAQD,QACpDgW,MAAO,WACCkY,EAAYjuB,SACZiuB,EAAYjuB,QAAQ+V,OAE5B,EACIhR,YAAU,OAAOkpB,EAAYjuB,SAAWiuB,EAAYjuB,QAAQ+E,KAAO,EACnE/G,WAAS,OAAOiwB,EAAYjuB,SAAWiuB,EAAYjuB,QAAQhC,IAAM,EACrEqB,MAAOA,EAEf,IACAD,EAAAA,oBAA0BE,GAAK,WAAc,OAAOO,EAAOG,OAAS,IACpE,IAAIquB,EAAqBjvB,EAAAA,SAAc,WACnC,QAAyBzB,IAArB0B,EAAMqL,YAA4BrL,EAAMmI,KACxC,OAAOH,GAAahI,EAAMmI,KAAK,GAAInI,EAAMqL,WAEjD,GAAG,CAACrL,EAAMmI,KAAMnI,EAAMqL,aAClBI,EAAK1L,EAAAA,SAAeivB,GAAqBC,EAAcxjB,EAAG,GAAIyjB,EAAiBzjB,EAAG,GAClF6N,EAAKvZ,EAAAA,UAAe,GAAOovB,EAAmB7V,EAAG,GAAI8V,EAAsB9V,EAAG,GAC9E/E,EAASxU,EAAAA,SAAc,WACvB,IAAIuG,EAAYvG,EAAAA,cAAoB,KAAM,CAAEG,UAAW,aAAcmvB,QAASP,EAAQ9xB,QAAUiyB,GAChG,OAAQlvB,EAAAA,cAAoBA,EAAAA,SAAgB,KACxCC,EAAMuU,OACNxU,EAAAA,cAAoB,MAAO,CAAEG,UAAW,uBACpCH,EAAAA,cAAoB,QAAS,CAAEG,UAAW,UAAWiC,KAAM,gBACvDpC,EAAAA,cAAoB,WAAY,KAAM+uB,EAAQxxB,KAAI,SAAUgyB,EAAQ/yB,GAChE,OAAQwD,EAAAA,cAAoB,MAAO,CAAEnC,IAAK0xB,EAAOC,UAAYD,EAAOC,UAAYhzB,EAAG+D,MAAO,CAAEyC,MAAOusB,EAAOvsB,MAAQusB,EAAOvsB,MAAQlC,GAAakC,QAClJ,KACAhD,EAAAA,cAAoB,QAAS,CAAEG,UAAW,iBACtCH,EAAAA,cAAoB,KAAM,CAAEG,UAAW,eAAiB4uB,EAAQxxB,KAAI,SAAUgyB,EAAQ/yB,GAClF,OAAQwD,EAAAA,cAAoB,KAAM,CAAEG,UAAW,aAActC,IAAK0xB,EAAOC,UAAYD,EAAOC,UAAYhzB,GAAK+yB,EAAO/a,QAAU,OAClI,KACA0a,GAAeE,GAAoBpvB,EAAAA,cAAoB,KAAM,CAAEG,UAAW,qBAAuBF,EAAMqX,4BAA8BrX,EAAMqX,4BAA4B/X,UAAKhB,EAAWgI,EAAU,CAAC,GAAKA,MAC3N,GAAG,CAACtG,EAAMuU,OAAQua,EAASG,EAAaE,IACpC/c,EAAarS,EAAAA,SAAc,WAE3B,MAAO,QAAQmB,OAAO4tB,EAAQxxB,KAAI,SAAUgyB,GAAU,OAhElCvsB,EAgEqDusB,EAAOvsB,MAhErDysB,EAgE4D3uB,GAAakC,MA/DpGA,EACwB,kBAAVA,EAAqBA,EAAQ,KAAOA,EAE/CysB,EAJO,IAAUzsB,EAAOysB,CAgEiF,IAAGpyB,OAAOmN,SAASxM,KAAK,OAAQ,OAAOmD,OAAO2tB,EAAgB,YAC9K,GAAG,CAACC,EAASD,IACTtjB,EAAOvL,EAAMqK,QAAUrK,EAAMqK,QAAQkB,KAAO,EAC5CI,EAAa5L,EAAAA,aAAkB,SAAUuH,EAAImoB,GAC7C,IAEIC,EAAUC,EAAWC,EAFrBrtB,EAAWusB,EAAQxxB,KAAI,SAAUgyB,EAAQ/yB,GAAK,OAAQwD,EAAAA,cAAoB,OAAQ,CAAEG,UAAYF,EAAM2L,gBAA4BrN,EAAf,aAA0BgC,MAAQN,EAAM2L,gBAA2ErN,EAA9D,CAAEyE,MAAOusB,EAAOvsB,MAAQusB,EAAOvsB,MAAQlC,GAAakC,OAAqBnF,IAAK0xB,EAAOC,UAAYD,EAAOC,UAAYhzB,GAAK+yB,EAAOxnB,MAAQid,GAAOuK,EAAOxnB,MAAdid,CAAqB0K,EAAQrlB,UAAY,GAAM,IAC/VhE,OAAQ9H,EAC0B6J,EAAOnI,EAAMmI,MAAQ,GACvDgC,EAAQslB,EAAQtlB,MAAQoB,OACHjN,IAArB0B,EAAMqL,aAENqkB,GADAE,EAAc7K,GAAO/kB,EAAMqL,aACJlD,EAAKgC,IAC5BwlB,EAAYC,EAAYznB,EAAKgC,EAAQ,IACjCulB,GAAYC,GAAaD,IAAaC,IACtCvpB,EAAQspB,IAGZtpB,GAA6B,YAApBpG,EAAMqG,WACf9D,EAAS2O,KAAKnR,EAAAA,cAAoB,MAAO,CAAEnC,IAAK,QAASsC,UAAW,+BAChEH,EAAAA,cAAoB,OAAQ,KAAMqG,KAE1C,IAAIypB,EAAY9vB,EAAAA,aAAmBuH,EAAIxI,GAASA,GAAS,CAAC,EAAGwI,EAAGtH,OAAQ,CAAEE,UAAWtD,EAAW,cAAe,CACvG,kBAAmB6yB,EAAQtlB,MAAQ,IAAM,EACzC,UAAWslB,EAAQnlB,QACnB,aAAcmlB,EAAQ5lB,SACtB,UAAWU,QAAQnE,OAChB7D,GACX,OAAOvC,EAAM2L,WAAa3L,EAAM2L,WAAWrM,UAAKhB,EAAWuxB,EAAWJ,GAAWI,CACrF,GAAG,CAACf,EAAS9uB,EAAMqL,WAAYrL,EAAM2L,WAAY3L,EAAMmI,KAAMoD,IACzDukB,EAAc/vB,EAAAA,aAAkB,SAAUoT,EAAS7R,GAC/C6R,GACAA,EAAQ7T,UAAKhB,EAAWQ,GAASA,GAAS,CAAC,EAAGwC,GAAQ,CAAEd,OAAQA,EAAOG,UAE/E,GAAG,IACCovB,EAAgBhwB,EAAAA,aAAkB,SAAUuB,GAM5C,OAJKtB,EAAMqK,SACP6kB,EAAeF,GAGZc,EAAY5b,EAAQ5S,EAC/B,GAAG,CAACwuB,EAAa5b,EAAQlU,EAAMqK,QAAS2kB,IACpCgB,EAAiBjwB,EAAAA,aAAkB,SAAUuB,GAAS,OAAOwuB,EAAY3b,EAAS7S,EAAQ,GAAG,CAAC6S,IAC9F8b,EAAiBlwB,EAAAA,aAAkB,SAAUuB,GAAS,OAAOwuB,EAAY1b,EAAS9S,EAAQ,GAAG,CAAC8S,IAC9F8b,EAAgBnwB,EAAAA,aAAkB,SAAUuB,GAAS,OAAOwuB,EAAYhjB,EAAQxL,EAAQ,GAAG,CAACwL,IAC5F0W,EAAkBzjB,EAAAA,aAAkB,SAAUuB,GAAS,OAAOwuB,EAAYnqB,EAAUrE,EAAQ,GAAG,CAACqE,IAChGwqB,EAAsBpwB,EAAAA,aAAkB,SAAUuB,GAAS,OAAOwuB,EAAYnb,EAAcrT,EAAQ,GAAG,CAACqT,IACxGyb,EAAwBrwB,EAAAA,aAAkB,SAAUuB,GAEpD,OADA4tB,EAAeF,GACRc,EAAYpb,EAAgB5V,GAASA,GAAS,CAAC,EAAGwC,GAAQ,CAAE6e,WAAY7e,EAAMd,OAAO2f,aAChG,GAAG,CAACzL,IACAkM,EAAgB7gB,EAAAA,aAAkB,SAAUuB,GAC5C4tB,EAAe5tB,EAAM8E,MACzB,GAAG,IACHrG,EAAAA,WAAgB,YCnIW,WAC3B,IAAKsV,KAAcC,SAASwG,KACxB,OAAO,EAEX,IAAI+S,GAAiB,IAAIZ,IAAwBY,eACjDvZ,SAASwG,KAAKxb,MAAM+vB,YAAY,0BAA2B,GAAGnvB,OAAO2tB,EAAgB,MACzF,CD6HkCyB,EAAqB,IACnDvwB,EAAAA,WAAgB,WACZ,IAAIoI,EAAOnI,EAAMmI,KACjB+mB,EAAeF,GACX7mB,GAAwB,IAAhBA,EAAKnL,OACboyB,GAAoB,GAGpBA,GAAoB,EAG5B,GAAG,CAACpvB,EAAMmI,OACV,IAAI+C,EAAOnL,EAAAA,aAAkB,SAAUwwB,GAAa,OAAOxwB,EAAAA,cAAoBguB,GAAiBjvB,GAAS,CAAC,EAAGyxB,GAAa,GAAG,IAC7H,OAAQxwB,EAAAA,cAAoBywB,EAAAA,EAAAA,SAA4B,CAAE9qB,MAAO,SAAU+qB,GAAc,OAAQ3xB,GAASA,GAAS,CAAC,EAAG2xB,GAAa,CAAEzc,WAAY,wBAA4B,GAC1KjU,EAAAA,cAAoBojB,GAAUrkB,GAAS,CAAC,EAAGiwB,EAAO,CAAE5xB,KAAM+N,EAAM/F,cAAerG,GAASA,GAAS,CAAEiE,MAAOqP,GAAcjN,GAAgB,CAAEjF,UAAWiF,EAAcjF,YAAcD,IAAK2uB,EAAara,OAAQA,EAAQ5I,WAAYA,EAAYC,sBAAuB5L,EAAM4L,sBAAuBxL,KAAMJ,EAAMI,KAAM2F,QAAS/F,EAAM+F,QAASD,SAAU9F,EAAM8F,SAAUO,UAAWrG,EAAMqG,UAAWgF,WAAYrL,EAAMqL,WAAYZ,eAAe,EAAMyJ,OAAQ6b,EAAe5b,QAAS6b,EAAgB5b,QAAS6b,EAAgBnjB,OAAQojB,EAAevqB,SAAU6d,EAAiB9O,eAAgB0b,EAAuBzb,aAAcwb,EAAqBvP,cAAeA,EAAe1gB,UAAWtD,EAAW,iBAAkBsD,GAAY0U,SAAU5U,EAAM4U,SAAUmF,SAAU/Z,EAAM+Z,SAAUuG,eAAgBtgB,EAAMsgB,eAAgB/C,cAAevd,EAAMud,cAAe/I,OAAQxU,EAAMwU,OAAQqO,gBAAiB,oBACt3B,IACIzgB,GAAYtD,GAASA,GAAS,CAAC,EAAGihB,GAAuB3d,WAAY,CAAE0sB,QAASpwB,EAAAA,IAAAA,aAChFmC,GAAe,CACfiuB,QAAS,GACT3pB,cAAe,CAAC,EAChBpC,MAAO,QACP3C,KAAM,SACN2F,QAAS,SACTD,SAAU,SAEd4oB,GAAoBrsB,YAAc,2BAElCqsB,GAAoBtsB,UAAYA,GAChCssB,GAAoB7tB,aAAeA,GE3K5B,IAAI6vB,GAAO,WAAc,ECIzB,SAASC,GAAOlwB,EAAYikB,EAAY7nB,GAE3C,IAAImE,EAAKjB,EAAAA,SAAe2kB,GAAazf,EAAMjE,EAAG,GAAI2jB,EAAS3jB,EAAG,GAW9D,OAVAjB,EAAAA,WAAgB,WACZ,IAAKkF,GAAOgJ,QAAUxN,EAAWE,QAAS,CAEtC,IAAIikB,EAAe3W,OAAO0E,iBAAiBlS,EAAWE,SAAS0E,UAC3Duf,GAEAD,EAAOC,EAEf,CACJ,GAAG/nB,GACIoI,CACX,CCrBA,IAAInG,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EACI0oB,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArB7oB,UAAUC,OAAc,IAAK,IAA4B6oB,EAAxBtpB,EAAI,EAAGupB,EAAIH,EAAK3oB,OAAYT,EAAIupB,EAAGvpB,KACxEspB,GAAQtpB,KAAKopB,IACRE,IAAIA,EAAKtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,EAAM,EAAGppB,IAClDspB,EAAGtpB,GAAKopB,EAAKppB,IAGrB,OAAOmpB,EAAGxkB,OAAO2kB,GAAMtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,GACtD,EAEA,SAASpjB,GAASgE,EAAMqqB,EAAeC,GACnC,IAAI7vB,EACJ,OAAI6vB,EACO/xB,GAASA,GAAS,CAAC,EAAGyH,KAAQvF,EAAK,CAAC,GAAM4vB,GAAiBC,EAAS7zB,OAASyoB,GAAc,GAAIoL,GAAU,QAAQvyB,EAAW0C,IAG5HuF,GAAQA,EAAKqqB,GAAiBnL,GAAc,GAAIlf,EAAKqqB,IAAgB,GAAQ,EAE5F,CACA,SAASE,GAAQ1mB,EAAUwmB,EAAeG,GACtC,GAAI3mB,EAASwmB,GAAgB,CACzB,IAAIC,EAAWtuB,GAAS6H,EAAUwmB,GAAetzB,KAAI,SAAU0zB,GAAS,OAAOF,GAAQE,EAAOJ,EAAeG,EAAa,IAC1H,OAAOA,EAAWxuB,GAAS6H,EAAUwmB,EAAeC,GACxD,CACA,OAAOE,EAAW3mB,EACtB,CAUO,IAAI6mB,GAAU,SAAUC,EAAMN,EAAetK,GAChD,OAAOb,GAAc,GAAIyL,EAAK5zB,KAAI,SAAUiJ,GAAQ,OAAOuqB,GAAQvqB,EAAMqqB,EAAetK,EAAW,KAAI,EAC3G,E,WC/CWpqB,GACE,CACLC,MAAO,KACPC,OAAQ,KACRC,MAAO,MCDJC,GAAO,WACd,IACIC,EACAC,EAFAC,EAAK,GAGT,IAAKF,EAAI,EAAGA,EAAI,GAAIA,IAChBC,EAAyB,GAAhBE,KAAKF,SAAgB,EACpB,IAAND,GAAiB,KAANA,GAAkB,KAANA,GAAkB,KAANA,IACnCE,GAAM,KAEVA,IAAa,KAANF,EAAW,EAAW,KAANA,EAAqB,EAATC,EAAa,EAAKA,GAASG,SAAS,IAE3E,OAAOF,CACX,ECbWG,GAAa,WAEpB,IADA,IAAIC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIG,EAAS,CAAC,EAOVC,EAAU,SAAUC,GAAQ,OAAOA,EAClCC,QAAO,SAAUC,GAAO,OAAe,IAARA,KAAkBA,CAAK,IACtDC,KAAI,SAAUD,GACf,OAAOE,MAAMC,QAAQH,GACjBH,EAAQG,GAVE,SAAUA,GAAO,MAAsB,kBAARA,EAAmBI,OAC/DC,KAAKL,GACLM,SAAQ,SAAUC,GACnBX,EAAOW,GAAOP,EAAIO,EACtB,IAAKX,EAAOI,IAAO,CAAM,CAOjBQ,CAAYR,EACpB,GAAI,EAGJ,OADAH,EAAQL,GACDY,OACFC,KAAKT,GACLK,KAAI,SAAUM,GAAO,OAAQX,EAAOW,IAAQA,GAAQ,IAAM,IAC1DR,QAAO,SAAUU,GAAM,OAAc,OAAPA,CAAa,IAC3CC,KAAK,IACd,EC1BW7C,GAGA,GAHAA,GAMA,GANAA,GASF,GATEA,GAUD,GAVCA,GAWD,GAXCA,GAYH,GAZGA,GAaA,GAbAA,GAcD,GCLH,SAASi2B,GAAcC,EAAcC,EAAiB7wB,EAAQ0S,GACjE,GAAIke,EAAc,CACd,IAAIE,EAAgB,CAChB9vB,eAAgB6vB,EAChBpe,YAAaoe,EAAgBpe,YAC7BzS,OAAQA,GAEZ4wB,EAAa9xB,UAAKhB,EAAWb,OAAOsB,OAAOuyB,EAAepe,GAC9D,CACJ,CClBO,IAAIqe,GAAW,GAQXC,GAAY,IAIhB,SAASC,GAAYC,EAAQ7pB,EAAO8pB,GACvC,GAAIC,GAAcF,GACd,OAAO7pB,EAAMgqB,OAAOH,IAGpB,IAAII,EAAiBjqB,EAAMgqB,OAAOE,GAAgBL,KAC9Cb,EAAYiB,GAAkBA,EAAeH,IAAmB,GACpE,OAAOd,EAAS7zB,OACZy0B,GAAYO,GAAyBN,GAASb,EAAUc,QAAiBrzB,CAErF,CAIO,SAASyzB,GAAgBL,GAC5B,OAAOO,GAAqBP,GAAUA,EAASA,EAAOjpB,MAAM+oB,IAAW,EAC3E,CAIO,SAASQ,GAAyBN,GACrC,GAAIO,GAAqBP,GACrB,OAAOA,EAGP,IAAIQ,EAAsBR,EAAO/xB,QAAQ6xB,IACzC,OAAOE,EAAOzO,UAAUiP,EAAsB,EAEtD,CAIO,SAASC,GAAgBT,GAC5B,OAAOU,GAAS,IAAKV,EACzB,CAIO,SAASU,GAASC,EAASC,GAE9B,OADAD,EAAUA,EAAQ11B,WACX21B,EAAWA,EAAWd,GAAYa,EAAUA,CACvD,CAIO,SAASE,GAAkBb,GAC9B,IAAIc,EAAqBd,EAAOe,YAAYjB,IAC5C,OAAOgB,EAAqB,EAAIjB,GAAWG,EAAOzO,UAAU,EAAGuP,EACnE,CAIO,SAASP,GAAqBP,GACjC,OAAOA,IAAWH,IAAYG,EAAO/xB,QAAQ6xB,IAAa,CAC9D,CAIO,SAASI,GAAcF,GAC1B,OAAOA,IAAWH,IAAYG,EAAO/xB,QAAQ6xB,IAAa,CAC9D,CAUO,SAASkB,GAAWhB,GACvB,IAAIc,EAAqBd,EAAOe,YAAYjB,IAC5C,OAAOgB,EAAqB,EAAId,EAASA,EAAOzO,UAAUuP,EAAqB,EACnF,CC/DA,SAnByC,WACrC,SAASG,IACLnzB,KAAKozB,QAAU,EACnB,CAcA,OAbAD,EAAoBvzB,UAAUyzB,KAAO,SAAUC,GAE3C,IADA,IAAIC,EACKx2B,EAAI,EAAGA,EAAIu2B,EAAc91B,OAAQT,IAClCA,EAbQ,MAakB,IAC1Bw2B,EAAa,CAAC,EACdvzB,KAAKozB,QAAQ1hB,KAAK6hB,IAEtBA,EAAWD,EAAcv2B,KAAM,CAEvC,EACAo2B,EAAoBvzB,UAAU4zB,MAAQ,SAAUC,GAC5C,OAAOzzB,KAAKozB,QAAQ5L,MAAK,SAAU1B,GAAO,OAAOA,EAAI2N,EAAe,GACxE,EACON,CACX,CAlByC,GCHlC,SAASO,GAAe9N,EAAWhb,GACtC,IAAI5B,GAAQ4c,GAAa,IAAI3c,MAAM,KAC/BN,EAAOiC,EAIX,OAHA5B,EAAK7K,SAAQ,SAAUwB,GACnBgJ,EAAOA,EAAOA,EAAKhJ,QAAKb,CAC5B,IACO6J,CACX,CCOO,SAASgrB,GAAY5sB,EAAMorB,GAC9B,IAAIpvB,EAAW2wB,GAAevB,EAAeprB,GAC7C,OAAOgE,QAAQhI,GAAYA,EAASvF,OACxC,CAIO,SAASo2B,GAA8B7sB,EAAM8sB,GAChD,OAAOA,EAAU/T,SAAS/Y,IAAS4sB,GAAY5sB,EAAM8sB,EAAUC,mBACnE,CAIO,SAASC,GAAcC,EAAUC,EAAS5rB,EAAO8pB,GACpD,IAAI+B,EAMD,SAAyBC,EAAWF,EAAS5rB,EAAO8pB,GACvD,IAAI10B,EAAS,GACT22B,EAAY,IAAIjB,GAGpB,OAFAiB,EAAUf,KAAKc,GACfE,GAAsBD,EAAWH,EAAS5rB,EAAO0pB,GAAUt0B,EAAQ00B,GAC5D10B,CACX,CAZsB62B,CAAgB,CAACN,GAAWC,EAAS5rB,EAAO8pB,GAC9D,OAAO+B,EAAY12B,OAAS02B,EAAY,QAAKp1B,CACjD,CAuCO,SAASy1B,GAA8BrC,EAAQ7pB,EAAOwrB,GAGzD,IAFA,IAAIW,EHMD,SAAwBtC,GAC3B,OAAOA,EAAOjpB,MAAM+oB,GACxB,CGRcyC,CAAevC,GACrBwC,EAAersB,EACVtL,EAAI,EAAGA,EAAIy3B,EAAIh3B,OAAQT,IAAK,CACjC,IAAI43B,EAAcD,EAAarC,OAAOmC,EAAIz3B,KAC1C,GAAI82B,EAAUn1B,SAASi2B,GACnB,OAAO,EAGPD,EAAeC,EAAYd,EAAUC,mBAE7C,CACA,OAAO,CACX,CA8FA,SAASO,GAAsBf,EAAeW,EAAS5rB,EAAOusB,EAAcV,EAAa/B,GACrF,IAAK,IAAIp1B,EAAI,EAAGA,EAAIsL,EAAM7K,OAAQT,IAAK,CACnC,IAAIgK,EAAOsB,EAAMtL,GACbE,EAAK21B,GAAS71B,EAAG63B,GACjBtB,EAAcE,MAAME,GAAeO,EAASltB,KAC5CmtB,EAAYxiB,KAAKzU,GAEjB02B,GAAY5sB,EAAMorB,IAClBkC,GAAsBf,EAAeW,EAASP,GAAevB,EAAeprB,GAAO9J,EAAIi3B,EAAa/B,EAE5G,CACJ,CCxLe,SAAS0C,GAAgC9tB,EAAMmrB,EAAQ7pB,EAAOsI,EAASkjB,GAClF,OAAQljB,GACJ,KAAKjV,GACD,OAeGo5B,GAAsB5C,IAGrB2B,EAAU/T,SAAS/Y,IAASwtB,GAA8BrC,EAAQ7pB,EAAOwrB,GAC7E3B,EAAS4C,GAA0B5C,GAlBvC,KAAKx2B,GACD,OAoBGk4B,GAA8B7sB,EAAM8sB,GAAaiB,GAAwB5C,GAAUA,EAnB1F,KAAKx2B,GACD,OAoBR,WACI,IAAIiP,EAAQ0nB,OAAOyC,GAAmB5C,IAClCY,EAAWgC,GAA0B5C,GACzC,OAAOvnB,EAAQoqB,GAAwBD,GAAiBnqB,EAAQ,EAAGmoB,GAAWzqB,EAAOwrB,GACjFiB,GAAsB5C,GAAUA,EAASY,CACjD,CAzBekC,GACX,KAAKt5B,GACD,OAyBAk4B,GAA8B7sB,EAAM8sB,GAC7BiB,GAAwB5C,GAGxB+C,GAAc/C,EAAQ7pB,EAAOwrB,IAAc3B,EA5BtD,KAAKx2B,GACD,MJVyB,IIW7B,KAAKA,GACD,OA4BR,WACI,IAEIqH,EAFAtF,GAAU4K,EAAM7K,OAAS,GAAGL,WAC5Bw3B,EAActsB,EAAMA,EAAM7K,OAAS,GAEvC,KAAOo2B,GAA8Be,EAAad,IAE9Cp2B,EAASq3B,IADT/xB,EAAW4xB,EAAYd,EAAUC,qBACEt2B,OAAS,EAAGC,GAC/Ck3B,EAAc5xB,EAASA,EAASvF,OAAS,GAE7C,OAAOC,CACX,CAtCey3B,GACX,QACI,OAAOhD,EAqCnB,CACA,SAAS+C,GAAc/C,EAAQ7pB,EAAOwrB,GAClC,IAAIf,EAAWgC,GAA0B5C,GACrCiD,EAASrC,EAAWgC,GAAoBhC,EAAUzqB,EAAOwrB,EAAUC,yBAAsBh1B,EACzFs2B,EAAWD,EAASA,EAAOtB,EAAUC,oBAAsBzrB,EAC3DsC,EAAQ0nB,OAAOyC,GAAmB5C,IACtC,OAAOvnB,EAAQyqB,EAAS53B,OAAS,EAC7Bs3B,GAAiBnqB,EAAQ,EAAGmoB,GAC5BqC,EAASF,GAAcnC,EAAUzqB,EAAOwrB,QAAa/0B,CAC7D,CACA,SAASi2B,GAAwB7C,EAAQ7pB,EAAOwrB,GAC5C,IAAI9sB,EAAO+tB,GAAoB5C,EAAQ7pB,EAAOwrB,EAAUC,oBACxD,OAAIF,GAA8B7sB,EAAM8sB,GAC7BkB,GAAwBD,GAAiB/tB,EAAK8sB,EAAUC,oBAAoBt2B,OAAS,EAAG00B,GAAS7pB,EAAOwrB,GAGxG3B,CAEf,C,eCzEWhB,GAAO,WAAc,ECCrBmE,GAAoB,SAAUhxB,EAAS4Q,GAC9C,IAAIzT,EAAKjB,EAAAA,WAAiB8D,GAAUixB,EAAe9zB,EAAG,GAAI+zB,EAAgB/zB,EAAG,GACzEwC,EAAKzD,EAAAA,SAAe0U,GAAeugB,EAAaxxB,EAAG,GAAIyxB,EAAczxB,EAAG,GAU5E,MAAO,MATsBlF,IAAjBw2B,EAA6BA,EAAeE,EAChC,WAEpB,IADA,IAAIn4B,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,GAAMC,UAAUD,QAERwB,IAAjBw2B,EACMC,EAAcx1B,WAAM,EAAQ1C,GAAQo4B,EAAYp4B,EAAK,GAC/D,EAKJ,ECfWq4B,GAAcn1B,EAAAA,cAAoB,MACzCzB,EACAoyB,KAKOyE,GAAcp1B,EAAAA,cAAoB,MACzCzB,EACAoyB,KAKO0E,GAAer1B,EAAAA,cAAoB,CAAC,GAAI2wB,GAAMA,KAI9C2E,GAAet1B,EAAAA,cAAoB,CAAC,GAAI2wB,GAAMA,KCflD,IAAI4E,GAAYv1B,EAAAA,YAAiB,SAAUC,EAAOC,GACrD,IAAIs1B,EAAWx1B,EAAAA,OAAa,MACxBS,EAAST,EAAAA,OAAa,MACtBy1B,EAAaz1B,EAAAA,aAAkB,WAAc,OAAOw1B,EAAS50B,SAAW40B,EAAS50B,QAAQD,QACvF60B,EAAS50B,QAAQD,QACjB60B,EAAS50B,OAAS,GAAG,CAAC40B,IAC5Bx1B,EAAAA,oBAA0BS,GAAQ,WAAc,MAAQ,CAAEE,QAAS80B,KAAgB,KAAS,IAC5Fz1B,EAAAA,oBAA0BE,GAAK,WAAc,OAAOO,EAAOG,OAAS,IACpEZ,EAAAA,oBAA0BC,EAAMu1B,UAAU,WAAc,OAAOA,EAAS50B,OAAS,IACjF,IAAI80B,EAAc11B,EAAAA,aAAkB,SAAUuB,GACrCtB,EAAM01B,SAGX11B,EAAM01B,QAAQ,CACVh1B,QAAS80B,IACTh1B,OAAQA,EAAOG,QACfW,MAAOA,GAEf,GAAG,CAACk0B,EAAYx1B,EAAM01B,UAClBC,EAAgB51B,EAAAA,aAAkB,SAAUuB,GACvCtB,EAAM41B,WAGX51B,EAAM41B,UAAU,CACZl1B,QAAS80B,IACTh1B,OAAQA,EAAOG,QACfW,MAAOA,GAEf,GAAG,CAACk0B,EAAYx1B,EAAM41B,YAClBC,EAAkB91B,EAAAA,aAAkB,SAAUuB,GACzCtB,EAAM81B,aAGX91B,EAAM81B,YAAY,CACdp1B,QAAS80B,IACTh1B,OAAQA,EAAOG,QACfW,MAAOA,GAEf,GAAG,CAACtB,EAAOw1B,IACPO,EAAah2B,EAAAA,aAAkB,SAAUuB,GACpCtB,EAAMg2B,QAGXh2B,EAAMg2B,OAAO,CACTt1B,QAAS80B,IACTh1B,OAAQA,EAAOG,QACfW,MAAOA,GAEf,GAAG,CAACk0B,EAAYx1B,EAAMg2B,SAClBC,EAAgBl2B,EAAAA,aAAkB,SAAUuB,GACvCtB,EAAMk2B,WAGXl2B,EAAMk2B,UAAU,CACZx1B,QAAS80B,IACTh1B,OAAQA,EAAOG,QACfW,MAAOA,GAEf,GAAG,CAACk0B,EAAYx1B,EAAMk2B,YAatB,OC/DG,SAAsBj2B,EAAKk2B,EAAWC,QACzB,IAAZA,IAAsBA,EAAU,CAAC,GACrC,IAAIp1B,EAAKm1B,EAAUT,QAASA,OAAiB,IAAP10B,EAAgB0vB,GAAO1vB,EAAIwC,EAAK2yB,EAAUP,UAAWA,OAAmB,IAAPpyB,EAAgBktB,GAAOltB,EAAIiI,EAAK0qB,EAAUL,YAAaA,OAAqB,IAAPrqB,EAAgBilB,GAAOjlB,EAAI6N,EAAK6c,EAAUH,OAAQA,OAAgB,IAAP1c,EAAgBoX,GAAOpX,EAAI6C,EAAKga,EAAUD,UAAWA,OAAmB,IAAP/Z,EAAgBuU,GAAOvU,EAC3T0L,EAAKuO,EAAQC,KAAMA,OAAc,IAAPxO,EAAgB,KAAOA,EAAIK,EAAKkO,EAAQE,UAAWA,OAAmB,IAAPpO,GAAwBA,EAAII,EAAK8N,EAAQG,WAAYA,OAAoB,IAAPjO,GAAuBA,EAAIS,EAAKqN,EAAQI,gBAAiBA,OAAyB,IAAPzN,EAAgB,KAAOA,EAC7P0N,EAAK12B,EAAAA,UAAe,GAAQ22B,EAAUD,EAAG,GAAIE,EAAaF,EAAG,GAC7DG,EAAK72B,EAAAA,UAAe,GAAQ82B,EAAYD,EAAG,GAAIE,EAAeF,EAAG,GACjEG,EAAOlC,GAAkBM,IAAa,GACtC6B,EAAKnC,GAAkBK,IAAc+B,EAAOD,EAAG,GAAIE,EAAUF,EAAG,GAChEG,EAAQp3B,EAAAA,WAAiBs1B,IAAc,GACvC+B,EAAKr3B,EAAAA,WAAiBq1B,IAAeiC,EAAQD,EAAG,GAAIE,EAAeF,EAAG,GAAIG,EAAiBH,EAAG,GAC9FI,EAAWz3B,EAAAA,OAAa,CAAE03B,EAAG,EAAGC,EAAG,IACnCC,EAAiB53B,EAAAA,SACjB63B,EAAc73B,EAAAA,QAAa,GAC3B83B,EAAsB93B,EAAAA,SACtB+3B,EAAa/3B,EAAAA,OAAa,MAC1Bg4B,EAAUh4B,EAAAA,QAAa,GACvBi4B,EAASj4B,EAAAA,OAAa,CAAE03B,EAAG,EAAGC,EAAG,IACjCO,EAAal4B,EAAAA,OAAa,CAAE03B,EAAG,EAAGC,EAAG,IACrCQ,EAAen4B,EAAAA,OAAa,CAAE03B,EAAG,EAAGC,EAAG,IACvCS,EAAsBp4B,EAAAA,OAAa,CAAE03B,EAAG,EAAGC,EAAG,IAC9CU,EAAer4B,EAAAA,OAAa,CAAE03B,EAAG,EAAGC,EAAG,IACvCW,EAAsBt4B,EAAAA,OAAa,CAAE03B,EAAG,EAAGC,EAAG,IAC9CY,EAAsB/tB,QAA2B,qBAAX0D,QAA2BA,OAAOsqB,cACxEC,GAAYlC,GAAagC,EACzB9C,EAAaz1B,EAAAA,aAAkB,WAAc,OAAOE,EAAIU,SAAWV,EAAIU,QAAQD,QAC7ET,EAAIU,QAAQD,QACZT,EAAIU,OAAS,GAAG,CAACV,IACnBw4B,EAAiB14B,EAAAA,aAAkB,WAAc,OAAOs2B,GAAQA,EAAK11B,SAAW01B,EAAK11B,QAAQD,QAC3F21B,EAAK11B,QAAQD,QACb21B,EACIA,EAAK11B,QACL,IAAM,GAAG,CAAC01B,IAChBqC,EAAqB34B,EAAAA,aAAkB,WAAc,OAAOy2B,GAAmBA,EAAgB71B,SAAW61B,EAAgB71B,QAAQD,QAChI81B,EAAgB71B,QAAQD,QACxB81B,EACIA,EAAgB71B,QAChB,IAAM,GAAG,CAAC61B,IAChBmC,GAAyB54B,EAAAA,aAAkB,WAAc,MAA6B,kBAAfw2B,GAA2BA,EAAWqC,oBAC1GrC,EAAWqC,mBAAmBj4B,SAAW41B,EAAWqC,mBAAmBj4B,QAAQD,QAChF61B,EAAWqC,mBAAmBj4B,QAAQD,QAChB,kBAAf61B,GAA2BA,EAAWqC,oBAAsBrC,EAAWqC,mBAAmBj4B,QAC7F41B,EAAWqC,mBAAmBj4B,QAC9B,IAAM,GAAG,CAAC41B,IAChB/1B,GAAST,EAAAA,OAAa,MAC1BA,EAAAA,oBAA0BS,IAAQ,WAAc,MAAQ,CACpDE,QAAS80B,IACTa,KAAMoC,IACN/C,QAASD,GACTK,YAAaD,GACbG,OAAQD,GACRG,UAAWD,GACXL,UAAWD,GACXxtB,KAAMlI,EAAIU,QACV,IACJ,IAAIqtB,GAAcjuB,EAAAA,aAAkB,WAChC,IAAIW,EAAU80B,IACd,OAAO90B,GAAUA,EAAQ8R,eAA4B8C,QACzD,GAAG,CAACkgB,IACAqD,GAAY94B,EAAAA,aAAkB,WAC9B,IAAIuV,EAAW0Y,KACf,OAAO1Y,GACDA,EAAS7C,aACTxE,MACV,GAAG,CAAC+f,KACA8K,GAAW/4B,EAAAA,aAAkB,WAAc,MAAQ,CACnDk3B,KAAMA,EAAOA,EAAKt2B,QAAU,KAC5Bo2B,KAAMA,EAAOA,EAAKp2B,QAAU,KAC5B02B,MAAOA,EAAM/5B,KAAI,SAAU+G,GAAK,OAAOA,EAAE1D,OAAS,IAClDw2B,MAAOA,EAAM75B,KAAI,SAAU+G,GAAK,OAAOA,EAAE1D,OAAS,IAClD+1B,QAASA,EACTkB,YAAaA,EAAYj3B,QACzBy3B,aAAcA,EAAaz3B,QAC3Bq3B,OAAQA,EAAOr3B,QACfs3B,WAAYA,EAAWt3B,QACvB03B,oBAAqBA,EAAoB13B,QACzCu3B,aAAcA,EAAav3B,QAC3Bw3B,oBAAqBA,EAAoBx3B,QACzC62B,SAAUA,EAAS72B,QACnB41B,WAAYhsB,QAA8B,kBAAfgsB,GAAiD,IAAvBA,EAAW/oB,QAAoB+oB,GACpFwC,iBAAkBJ,KAClBK,oBAA2C,kBAAfzC,EAA0BA,EAAWlxB,UAAY,CAAE4zB,YAAY,EAAMC,UAAU,GAC3GC,YAAatC,EACb,GAAG,CAACI,EAAMF,EAAMM,EAAOF,EAAOT,EAASH,EAAYoC,GAAwB9B,IAC3EuC,GAAsBr5B,EAAAA,aAAkB,SAAU2F,GAClDixB,EAAWjxB,EACf,GAAG,IACC2zB,GAAwBt5B,EAAAA,aAAkB,SAAU2F,GACpDoxB,EAAapxB,EACjB,GAAG,IACC4zB,GAAuBv5B,EAAAA,aAAkB,SAAU2F,GACnD8xB,EAAS72B,QAAU+E,CACvB,GAAG,IACC6zB,GAAqBx5B,EAAAA,aAAkB,SAAU2F,GACjDsyB,EAAOr3B,QAAU+E,CACrB,GAAG,IACC8zB,GAA2Bz5B,EAAAA,aAAkB,SAAU2F,GACvDwyB,EAAav3B,QAAU+E,CAC3B,GAAG,IACC+zB,GAAyB15B,EAAAA,aAAkB,SAAU2F,GACrDuyB,EAAWt3B,QAAU+E,CACzB,GAAG,IACCg0B,GAAkC35B,EAAAA,aAAkB,SAAU2F,GAC9DyyB,EAAoBx3B,QAAU+E,CAClC,GAAG,IACCi0B,GAA2B55B,EAAAA,aAAkB,SAAU2F,GACvD0yB,EAAaz3B,QAAU+E,CAC3B,GAAG,IACCk0B,GAAkC75B,EAAAA,aAAkB,SAAU2F,GAC9D2yB,EAAoB13B,QAAU+E,CAClC,GAAG,IAEC+vB,GAAc11B,EAAAA,aAAkB,SAAUuB,GAC1Co0B,EAAQp0B,EACZ,GAAG,CAACo0B,IACAC,GAAgB51B,EAAAA,aAAkB,SAAUuB,GAC5Cs0B,EAAUt0B,EACd,GAAG,CAACs0B,IACAC,GAAkB91B,EAAAA,aAAkB,SAAUuB,GAC9C41B,EAAQ12B,GAAQ,CAAEA,OAAQP,EAAIU,QAASW,MAAOA,IAC9Cw0B,EAAYx0B,EAChB,GAAG,CAAC41B,EAASj3B,EAAK61B,IACdC,GAAah2B,EAAAA,aAAkB,SAAUuB,GACzC00B,EAAO10B,EACX,GAAG,CAAC00B,IACAC,GAAgBl2B,EAAAA,aAAkB,SAAUuB,GACxCy2B,EAAQp3B,UAGZu2B,EAAQ,KAAM,CAAE12B,OAAQP,EAAIU,QAASW,MAAOA,IAC5C40B,EAAU50B,GACd,GAAG,CAAC40B,EAAWgB,EAASj3B,IACpB45B,GAAoB95B,EAAAA,aAAkB,SAAUuB,IAChDw4B,EAAAA,GAAAA,IAAoBhB,KAAY,CAAEx3B,MAAOA,EAAOslB,QAASpmB,GAAOG,SAAW,CACvEo5B,iBAAkBT,GAClBU,eAAgBT,GAChBU,qBAAsBT,GACtBU,mBAAoBT,GACpBU,4BAA6BT,GAC7BU,qBAAsBT,GACtBU,4BAA6BT,GAC7BU,kBAAmBlB,GACnBmB,oBAAqBlB,IAE7B,GAAG,CACCP,GACAQ,GACAC,GACAE,GACAD,GACAE,GACAE,GACAR,GACAO,GACAN,KAGAmB,GAAoBz6B,EAAAA,aAAkB,SAAUuB,GAChDu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAY,GAAoB16B,EAAAA,aAAkB,SAAUuB,GAChDu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAa,GAAsB36B,EAAAA,aAAkB,SAAUuB,GAClDu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAc,GAAkB56B,EAAAA,aAAkB,SAAUuB,GAC9Cu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KAEAx4B,GAAkBtB,EAAAA,aAAkB,SAAUuB,GAC9Cu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAe,GAAkB76B,EAAAA,aAAkB,SAAUuB,GAC9Cu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAp4B,GAAgB1B,EAAAA,aAAkB,SAAUuB,GAC5Cu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAgB,GAAoB96B,EAAAA,aAAkB,SAAUuB,GAChDA,EAAM+H,iBACNwwB,GAAkBv4B,EACtB,GAAG,CAACu4B,KAEAiB,GAAmB/6B,EAAAA,aAAkB,SAAUuB,GAC/CA,EAAM+H,iBACNwwB,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAkB,GAAkBh7B,EAAAA,aAAkB,SAAUuB,GAC9CA,EAAM+H,iBACNwwB,GAAkBv4B,EACtB,GAAG,CAACu4B,KACAmB,GAAiBj7B,EAAAA,aAAkB,SAAUuB,GAC7C,GAA6B,IAAzBA,EAAM25B,QAAQj+B,QAAgD,IAAhCsE,EAAM45B,eAAel+B,OAAc,CACjE,IAAIm+B,EAAgBtC,KACpBjB,EAAYj3B,SAAU,EACtBk3B,EAAoBl3B,QAAUw6B,EAAcjtB,YAAW,WAAc0pB,EAAYj3B,SAAU,CAAO,GA9MnF,IA+MnB,CACAk5B,GAAkBv4B,EACtB,GAAG,CAACu4B,GAAmBhB,KACnBuC,GAAer7B,EAAAA,aAAkB,SAAUuB,GAC3Cu4B,GAAkBv4B,EACtB,GAAG,CAACu4B,KAEAwB,GAAgBt7B,EAAAA,aAAkB,WAClC,IAAIW,EAAU80B,IACd,GAAI90B,EAAS,CACT,IAAI46B,EAAuB56B,EAAQJ,MAAMi7B,YAEzC,OADA76B,EAAQJ,MAAMi7B,YAAc,OACrB,WACH76B,EAAQJ,MAAMi7B,YAAcD,CAChC,CACJ,CACJ,GAAG,CAAC9F,IACAgG,GAAWz7B,EAAAA,aAAkB,WAE7B,OADAu3B,EAAa92B,IACN,WACH+2B,EAAe/2B,GACnB,CACJ,GAAG,CAAC+2B,EAAgBD,IA2DpBv3B,EAAAA,WAAgB,WACZ,IAAIkO,EAAS4qB,KACb,GAAIhC,EAAW,CACX,IAAI4E,EAAqB/C,MAClBgD,EAAAA,GAAAA,IAAoBpmB,SAASqmB,iBAAiBzD,EAAav3B,QAAQ82B,EAAGS,EAAav3B,QAAQ+2B,IAClGzpB,EAAO2tB,cAAcjE,EAAeh3B,SACpCg3B,EAAeh3B,QAAUsN,EAAO4tB,aAAY,YACxCC,EAAAA,GAAAA,IAAkBL,EAAoB,CAAEhE,EAAGD,EAAS72B,QAAQ82B,EAAGC,EAAGF,EAAS72B,QAAQ+2B,GACvF,GAAG,GACP,CACA,OAAO,WACHzpB,EAAO2tB,cAAcjE,EAAeh3B,QACxC,CACJ,GAAG,CAAC60B,EAAYkD,EAAoBG,GAAWhC,IAC/C92B,EAAAA,UAAgBs7B,GAAe,CAACA,KAChCt7B,EAAAA,WAzEW,WACP,IAAIkO,EAAS4qB,KACTn4B,EAAU80B,IACVlgB,EAAW0Y,KAkCf,OAjCIwK,GACI93B,IACAo3B,EAAWn3B,SAAU+6B,EAAAA,GAAAA,IAAoBh7B,GACrCo3B,EAAWn3B,SACXm3B,EAAWn3B,QAAQo7B,iBAAiB,SAAUX,GAAc,CAAEY,SAAS,IAE3Et7B,EAAQq7B,iBAAiB,cAAevB,GAAmB,CAAEwB,SAAS,KAEtEtF,IACAphB,EAASymB,iBAAiB,cAAetB,IACzCnlB,EAASymB,iBAAiB,YAAapB,IAAiB,GACxDrlB,EAASymB,iBAAiB,cAAelB,IACzCvlB,EAASymB,iBAAiB,gBAAiBrB,GAAqB,CAAEsB,SAAS,OAK/E/tB,EAAO8tB,iBAAiB,YAAarL,GAAM,CAAEuL,SAAS,EAAOD,SAAS,IAClEt7B,IACAA,EAAQq7B,iBAAiB,YAAa16B,GAAiB,CAAE26B,SAAS,IAC7D1F,IACD51B,EAAQq7B,iBAAiB,aAAcjB,GAAkB,CAAEkB,SAAS,IAChEtF,IACAh2B,EAAQq7B,iBAAiB,YAAahB,GAAiB,CAAEiB,SAAS,IAClEt7B,EAAQq7B,iBAAiB,WAAYf,GAAgB,CAAEgB,SAAS,OAIxEtF,IACAphB,EAASymB,iBAAiB,YAAanB,GAAiB,CAAEoB,SAAS,IACnE1mB,EAASymB,iBAAiB,UAAWt6B,GAAe,CAAEu6B,SAAS,MAGhE,WACClE,EAAWn3B,SACXm3B,EAAWn3B,QAAQu7B,oBAAoB,SAAUd,IAEjD16B,IACAA,EAAQw7B,oBAAoB,cAAe1B,IAC3C95B,EAAQw7B,oBAAoB,YAAa76B,IACzCX,EAAQw7B,oBAAoB,aAAcpB,IAC1Cp6B,EAAQw7B,oBAAoB,YAAanB,IACzCr6B,EAAQw7B,oBAAoB,WAAYlB,KAE5C1lB,EAAS4mB,oBAAoB,cAAezB,IAC5CnlB,EAAS4mB,oBAAoB,YAAavB,IAAiB,GAC3DrlB,EAAS4mB,oBAAoB,cAAerB,IAC5CvlB,EAAS4mB,oBAAoB,gBAAiBxB,IAC9CplB,EAAS4mB,oBAAoB,YAAatB,IAC1CtlB,EAAS4mB,oBAAoB,UAAWz6B,IACxCwM,EAAOiuB,oBAAoB,YAAaxL,IACxCziB,EAAOmK,aAAayf,EAAoBl3B,QAC5C,CACJ,GAgBsB,CAClB+1B,EACAmC,GACArD,EACAxH,GACAsI,EACAkC,EACAqC,GACAx5B,GACAu5B,GACAn5B,GACAi5B,GACAF,GACAC,GACAE,GACAK,GACAD,GACAD,GACAM,KAEJr7B,EAAAA,WAAgB,WAEZ,OADAg4B,EAAQp3B,SAAU,EACX,WACHo3B,EAAQp3B,SAAU,CACtB,CACJ,GAAG,IACHZ,EAAAA,gBAAsBy7B,GAAU,CAACA,IACrC,CD5QIW,CAAa5G,EAAU,CACnBG,QAASD,EACTG,UAAWD,EACXG,YAAaD,EACbG,OAAQD,EACRG,UAAWD,GACZ,CACCK,UAAWt2B,EAAMs2B,UACjBC,WAAYv2B,EAAMu2B,WAClBF,KAAMr2B,EAAMq2B,KACZG,gBAAiBx2B,EAAMw2B,kBAEpBx2B,EAAMuC,SACNxC,EAAAA,aAAmBA,EAAAA,SAAAA,KAAoBC,EAAMuC,UAAW,CAAEtC,IAAKs1B,IAChE,IACV,IACAD,GAAUjzB,YAAc,sBEhFjB,IAAI7D,GAAe,CACtB,QAAW,GACX,OAAU,YACV,MAAS,YACT,OAAU,YACV,MAAS,YACT,OAAU,YACV,QAAW,aACX,SAAY,eCXZM,ICYyBJ,EAAAA,MAAgB,CACzCC,KAAMD,EAAAA,OAAAA,WACNE,QAASF,EAAAA,OAAAA,WACTG,QAASH,EAAAA,OAAAA,aDf6B,WAStC,OARAI,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,GACI0C,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAIG,KAAKF,EAAOxB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,IAAMO,EAAEC,QAAQR,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,oBAAjCxB,OAAOmC,sBACtB,KAAIrD,EAAI,EAAb,IAAgB4C,EAAI1B,OAAOmC,sBAAsBX,GAAI1C,EAAI4C,EAAEnC,OAAQT,IAC3DmD,EAAEC,QAAQR,EAAE5C,IAAM,GAAKkB,OAAO2B,UAAUS,qBAAqBP,KAAKL,EAAGE,EAAE5C,MACvEyC,EAAEG,EAAE5C,IAAM0C,EAAEE,EAAE5C,IAF4B,CAItD,OAAOyC,CACX,EAmBWc,GAAOC,EAAAA,YAAiB,SAAUC,EAAOC,GAChD,IAAIC,EAAYF,EAAME,UAAWvB,EAAOqB,EAAMrB,KAAMwB,EAAaH,EAAMG,WAAYC,EAAOJ,EAAMI,KAAMC,EAAOL,EAAMK,KAAMC,EAAQN,EAAMM,MAAO7D,EAAKuD,EAAMvD,GAAIwB,EAAW+B,EAAM/B,SAAUsC,EAASd,GAAOO,EAAO,CAAC,YAAa,OAAQ,aAAc,OAAQ,OAAQ,QAAS,KAAM,aAC9QQ,EAAST,EAAAA,OAAa,MACtBU,EAAaV,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0BS,GAAQ,WAAc,MAAQ,CACpDE,QAASD,EAAWE,QACpB,IACJZ,EAAAA,oBAA0BE,GAAK,WAAc,OAAOO,EAAOG,OAAS,IACpE,IAAIC,EAAWb,EAAAA,SAAc,WAAc,OAAOK,GAAQS,GAAaT,IAAM,GAAG,CAACA,IAC7EU,EAAWf,EAAAA,SAAc,WAAc,OAAOM,GAAQQ,GAAaR,IAAM,GAAG,CAACA,IAC7EU,EAAiBhB,EAAAA,SAAc,WAC/B,IAAIiB,EACJ,OAAOpE,GAAW,SAAU+B,GC5CX,SAAUA,GAAQ,MAAO,OAASA,CAAM,CD4CrBsC,CAAYtC,KAAQqC,EAAK,CAAC,GACvD,WAAWE,OAAOf,IAAeA,EACpCa,EAAG,YAA2B,eAAbF,GAA0C,SAAbA,EAC9CE,EAAG,YAA2B,aAAbF,GAAwC,SAAbA,EAC5CE,GAAKxC,GAAaoC,GAAWV,EACrC,GAAG,CAACvB,EAAMwB,EAAYS,EAAUE,EAAUZ,IACtCiB,EEtDc,SAAUnB,EAAOQ,EAAQY,QAC5B,IAAXA,IAAqBA,EAAS,CAAC,GACnC,IAAIC,EAAkBtB,EAAAA,aAAkB,SAAUuB,GAC1CF,EAAOG,aACPH,EAAOG,YAAYjC,UAAKhB,EAAWgD,GAEnCtB,EAAMuB,aACNvB,EAAMuB,YAAYjC,UAAKhB,EAAW,CAC9BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOG,YAAavB,EAAMuB,YAAaf,IACvCiB,EAAgB1B,EAAAA,aAAkB,SAAUuB,GACxCF,EAAOM,WACPN,EAAOM,UAAUpC,UAAKhB,EAAWgD,GAEjCtB,EAAM0B,WACN1B,EAAM0B,UAAUpC,UAAKhB,EAAW,CAC5BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOM,UAAW1B,EAAM0B,UAAWlB,IA8EvC,MAAO,CACHmB,QA9Ec5B,EAAAA,aAAkB,SAAUuB,GACtCF,EAAOO,SACPP,EAAOO,QAAQrC,UAAKhB,EAAWgD,GAE/BtB,EAAM2B,SACN3B,EAAM2B,QAAQrC,UAAKhB,EAAW,CAC1BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOO,QAAS3B,EAAM2B,QAASnB,IAqE/BkB,UAAWD,EACXF,YAAaF,EACbO,cAtEoB7B,EAAAA,aAAkB,SAAUuB,GAC5CF,EAAOQ,eACPR,EAAOQ,cAActC,UAAKhB,EAAWgD,GAErCtB,EAAM4B,eACN5B,EAAM4B,cAActC,UAAKhB,EAAW,CAChCkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOQ,cAAe5B,EAAM4B,cAAepB,IA6D3CqB,aA5DmB9B,EAAAA,aAAkB,SAAUuB,GAC3CF,EAAOS,cACPT,EAAOS,aAAavC,UAAKhB,EAAWgD,GAEpCtB,EAAM6B,cACN7B,EAAM6B,aAAavC,UAAKhB,EAAW,CAC/BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOS,aAAc7B,EAAM6B,aAAcrB,IAmDzCsB,aAlDmB/B,EAAAA,aAAkB,SAAUuB,GAC3CF,EAAOU,cACPV,EAAOU,aAAaxC,UAAKhB,EAAWgD,GAEpCtB,EAAM8B,cACN9B,EAAM8B,aAAaxC,UAAKhB,EAAW,CAC/BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOU,aAAc9B,EAAM8B,aAActB,IAyCzCuB,YAxCkBhC,EAAAA,aAAkB,SAAUuB,GAC1CF,EAAOW,aACPX,EAAOW,YAAYzC,UAAKhB,EAAWgD,GAEnCtB,EAAM+B,aACN/B,EAAM+B,YAAYzC,UAAKhB,EAAW,CAC9BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOW,YAAa/B,EAAM+B,YAAavB,IA+BvCwB,WA9BiBjC,EAAAA,aAAkB,SAAUuB,GACzCF,EAAOY,YACPZ,EAAOY,WAAW1C,UAAKhB,EAAWgD,GAElCtB,EAAMgC,YACNhC,EAAMgC,WAAW1C,UAAKhB,EAAW,CAC7BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOY,WAAYhC,EAAMgC,WAAYxB,IAqBrCyB,YApBkBlC,EAAAA,aAAkB,SAAUuB,GAC1CF,EAAOa,aACPb,EAAOa,YAAY3C,UAAKhB,EAAWgD,GAEnCtB,EAAMiC,aACNjC,EAAMiC,YAAY3C,UAAKhB,EAAW,CAC9BkC,OAAQA,EAAOG,QACfa,eAAgBF,GAG5B,GAAG,CAACF,EAAOa,YAAajC,EAAMiC,YAAazB,IAY/C,CF1DqB0B,CAASlC,EAAOQ,GACjC,OAAQT,EAAAA,cAAoB,OAAQjB,GAAS,CAAEmB,IAAKQ,GAAcF,EAAQY,EAAY,CAAEjB,UAAWa,EAAgBtE,GAAIA,EAAIwB,SAAUA,EAAUqC,MAAOA,EAAO6B,KAAM,iBACvK,IACArC,GAAKsC,UAAY,CACb9B,MAAO5B,EAAAA,OACP9B,WAAY8B,EAAAA,OACZC,KAAMD,EAAAA,OACNyB,WAAYzB,EAAAA,MAAgB,CACxB,UAAW,UAAW,YAAa,WACnC,OAAQ,UAAW,QAAS,UAC5B,OAAQ,QAAS,YAErB0B,KAAM1B,EAAAA,MAAgB,CAAC,UAAW,SAAU,QAAS,SAAU,QAAS,SAAU,UAAW,aAC7F2B,KAAM3B,EAAAA,MAAgB,CAAC,UAAW,aAAc,WAAY,UAEhE,IAAImC,GAAe,CACfT,KAAM,UACNC,KAAM,WAEVP,GAAKuC,YAAc,YG7EnB,IAAIvD,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EACI0C,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAIG,KAAKF,EAAOxB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,IAAMO,EAAEC,QAAQR,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,oBAAjCxB,OAAOmC,sBACtB,KAAIrD,EAAI,EAAb,IAAgB4C,EAAI1B,OAAOmC,sBAAsBX,GAAI1C,EAAI4C,EAAEnC,OAAQT,IAC3DmD,EAAEC,QAAQR,EAAE5C,IAAM,GAAKkB,OAAO2B,UAAUS,qBAAqBP,KAAKL,EAAGE,EAAE5C,MACvEyC,EAAEG,EAAE5C,IAAM0C,EAAEE,EAAE5C,IAF4B,CAItD,OAAOyC,CACX,EAoBWsD,GAAUvC,EAAAA,YAAiB,SAAUC,EAAOC,GACnD,IAAIsC,EAAWvC,EAAMuC,SAAUrC,EAAYF,EAAME,UAAWsC,EAAexC,EAAMwC,aAAcC,EAAOzC,EAAMyC,KAAMpC,EAAOL,EAAMK,KAAM5D,EAAKuD,EAAMvD,GAAIwB,EAAW+B,EAAM/B,SAAUmC,EAAOJ,EAAMI,KAAME,EAAQN,EAAMM,MAAOoC,EAAW1C,EAAM0C,SAAUvC,EAAaH,EAAMG,WAAYtB,EAAUmB,EAAMnB,QAA4B0B,GAAZP,EAAMrB,KAAec,GAAOO,EAAO,CAAC,WAAY,YAAa,eAAgB,OAAQ,OAAQ,KAAM,WAAY,OAAQ,QAAS,WAAY,aAAc,UAAW,UACldS,EAAaV,EAAAA,OAAa,MAC9BA,EAAAA,oBAA0BE,GAAK,WAAc,MAAQ,CACjDS,QAASD,EAAWE,QACpB,IACJ,IAAIgC,EAAe5C,EAAAA,SAAc,WAAc,OAAO0C,EAAOA,EAAK9D,KAAOkC,GAAa4B,IAAM,GAAG,CAACA,IAC5F7B,EAAWb,EAAAA,SAAc,WAAc,OAAOK,GAAQS,GAAaT,IAAM,GAAG,CAACA,IAC7EU,EAAWf,EAAAA,SAAc,WAAc,OAAOM,GAAQQ,GAAaR,IAAM,GAAG,CAACA,IAC7EuC,EAAc7C,EAAAA,SAAc,WAAc,OAAOlB,GAAWgC,GAAahC,OAAS,GAAG,CAACA,IACtFgE,EAAoB9C,EAAAA,SAAc,WAClC,IAAIiB,EACJ,OAAOpE,GAAW,aAAc,WAAa+F,IAAe3B,EAAK,CAAC,GAC3D,WAAWE,OAAOf,IAAeA,EACpCa,EAAG,YAA2B,eAAbF,GAA0C,SAAbA,EAC9CE,EAAG,YAA2B,aAAbF,GAAwC,SAAbA,EAC5CE,GAAKxC,GAAaoC,GAAWV,EACrC,GAAG,CAACyC,EAAcxC,EAAYS,EAAUE,EAAUZ,IAC9C4C,EAAe/C,EAAAA,SAAc,WAC7B,OAAIC,EAAM+C,OAAS/C,EAAMgD,OACdlE,GAAS,CAAEiE,MAAO/C,EAAM+C,MAAOC,OAAQhD,EAAMgD,QAAU1C,GAEzDN,EAAM+C,MACJjE,GAAS,CAAEiE,MAAO/C,EAAM+C,MAAOC,OAAQhD,EAAM+C,OAASzC,GAExDN,EAAMgD,OACJlE,GAAS,CAAEiE,MAAO/C,EAAMgD,OAAQA,OAAQhD,EAAMgD,QAAU1C,GAGxDxB,GAAS,CAAC,EAAGwB,EAE5B,GAAG,CAACN,EAAM+C,MAAO/C,EAAMgD,OAAQ1C,IAC/B,OAAQP,EAAAA,cAAoB,OAAQ,CAAEG,UAAW2C,EAAmBvC,MAAOwC,EAAc7C,IAAKQ,GAC1FV,EAAAA,cAAoB,MAAOjB,GAAS,CAAErC,GAAIA,EAAIyD,UAAWsC,EAAclC,MAAOoC,EAAU,eAAe,EAAMzE,SAAUA,EAAUgF,WAAW,EAAOC,MAAO,6BAA8BrE,QAAS4D,EAAOA,EAAK5D,QAAU+D,EAAaO,wBAAyBV,EAAO,CAAEW,OAAQX,EAAK7D,cAAYN,GAAaiC,GAASkC,OAAOnE,EAAYiE,GAChV,IACAD,GAAQF,UAAY,CAChB9B,MAAO5B,EAAAA,OACP9B,WAAY8B,EAAAA,OACZ6D,SAAU7D,EAAAA,IACV+D,KAAM/D,EAAAA,OACNyB,WAAYzB,EAAAA,MAAgB,CACxB,UAAW,UAAW,YAAa,WACnC,OAAQ,UAAW,QAAS,UAC5B,OAAQ,QAAS,YAErB0B,KAAM1B,EAAAA,MAAgB,CAAC,UAAW,SAAU,QAAS,SAAU,QAAS,SAAU,UAAW,aAC7F2B,KAAM3B,EAAAA,MAAgB,CAAC,UAAW,aAAc,WAAY,UAEhE,IAAImC,GAAe,CACfT,KAAM,UACNC,KAAM,UACNoC,KAAM,GACN5D,QAAS,aAEbyD,GAAQD,YAAc,eC1Ff,IAAIgB,GAAetD,EAAAA,cAAoB,CAAEuD,KAAM,QACtDD,GAAahB,YAAc,yBCN3B,IAAIvD,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EACI0C,GAAkC,SAAUR,EAAGS,GAC/C,IAAIV,EAAI,CAAC,EACT,IAAK,IAAIG,KAAKF,EAAOxB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,IAAMO,EAAEC,QAAQR,GAAK,IAC9EH,EAAEG,GAAKF,EAAEE,IACb,GAAS,MAALF,GAAqD,oBAAjCxB,OAAOmC,sBACtB,KAAIrD,EAAI,EAAb,IAAgB4C,EAAI1B,OAAOmC,sBAAsBX,GAAI1C,EAAI4C,EAAEnC,OAAQT,IAC3DmD,EAAEC,QAAQR,EAAE5C,IAAM,GAAKkB,OAAO2B,UAAUS,qBAAqBP,KAAKL,EAAGE,EAAE5C,MACvEyC,EAAEG,EAAE5C,IAAM0C,EAAEE,EAAE5C,IAF4B,CAItD,OAAOyC,CACX,EAQWuE,GAAWxD,EAAAA,YAAiB,SAAUC,EAAOC,GACpD,IAAIe,EACAwC,EAAKzD,EAAAA,WAAiBsD,IAAeC,EAAOE,EAAGF,KAAMG,EAAQD,EAAGC,MAChEhB,EAAOzC,EAAMyC,KAAMiB,EAAgBjE,GAAOO,EAAO,CAAC,SAClDrB,GAA8B,QAArBqC,EAAKhB,EAAMyC,YAAyB,IAAPzB,OAAgB,EAASA,EAAGrC,OAASqB,EAAMrB,KACjFgF,EAAOhF,GAAQ8E,GAASA,EAAM9E,IAAgC,kBAAhB8E,EAAM9E,GAAsB8E,EAAM9E,GAAQ8D,EAE5F,OADA9D,EAAQA,GAAQ8E,GAASA,EAAM9E,IAAgC,kBAAhB8E,EAAM9E,GAAsB8E,EAAM9E,GAAQA,EACxE,QAAT2E,GAAkBK,EACtB5D,EAAAA,cAAoBuC,GAASxD,GAAS,CAAC,EAAGkB,EAAO,CAAEyC,KAAMkB,EAAK1D,IAAKA,KACnEF,EAAAA,cAAoBD,GAAMhB,GAAS,CAAC,EAAG4E,EAAe,CAAE/E,KAAMA,EAAMsB,IAAKA,IACjF,IACAsD,GAASlB,YAAc,gB,eCzBZ+5B,GAAiB,QCfxBj4B,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GAezC7F,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EAQI+Y,GAAU5Z,GAIHmgC,GAA2Bt8B,EAAAA,eAAoB,SAAUC,GAAS,OAAOA,CAAO,IAIvFs8B,GAA4C,SAAUv3B,GAEtD,SAASu3B,IACL,IAAIryB,EAAmB,OAAXlF,GAAmBA,EAAOxF,MAAMC,KAAMzC,YAAcyC,KA0BhE,OAzBAyK,EAAMsyB,SAAWjgC,KACjB2N,EAAMuyB,cAAgB,SAAU98B,GAC5BuK,EAAMjK,MAAMw8B,cAAc98B,EAAGuK,EAAM1D,KAAM0D,EAAMynB,OACnD,EACAznB,EAAMwyB,eAAiB,SAAU/8B,GAC7BuK,EAAMjK,MAAMy8B,eAAe/8B,EAAGuK,EAAM1D,KAAM0D,EAAMynB,OACpD,EACAznB,EAAMyyB,YAAc,SAAUh9B,GAC1BuK,EAAMjK,MAAM08B,YAAYh9B,EAAGuK,EAAM1D,KAAM0D,EAAMynB,OACjD,EACAznB,EAAMyrB,QAAU,SAAUh2B,GACtBuK,EAAMjK,MAAM01B,QAAQh2B,EAAE4B,MAAO2I,EAAM1D,KAAM0D,EAAMynB,OACnD,EACAznB,EAAM+rB,OAAS,SAAUt2B,GACrBuK,EAAMjK,MAAMg2B,OAAOt2B,EAAE4B,MAAO2I,EAAM1D,KAAM0D,EAAMynB,OAClD,EACAznB,EAAM2rB,UAAY,SAAUl2B,GACxBuK,EAAMjK,MAAM41B,UAAUl2B,EAAE4B,MAAO2I,EAAM1D,KAAM0D,EAAMynB,OACrD,EACAznB,EAAM0yB,oBAAsB,SAAUj8B,GAC9BA,IACAA,EAA+B,aAAIuJ,EAAMjK,MAAM0xB,OAC/ChxB,EAAqC,mBAAIuJ,EAAMjK,MAAM48B,SAE7D,EACO3yB,CACX,CA2KA,OAxMA9F,GAAUm4B,EAA4Bv3B,GA8BtCu3B,EAA2Bl9B,UAAU4F,OAAS,WAC1C,IAAIiF,EAAQzK,KACRq9B,EAAWr9B,KAAKs9B,6BAChBC,EAAav9B,KAAKw9B,mBACtB,OAAQj9B,EAAAA,cAAoB,KAAM,CAAEG,UAAWtD,GAAW,mBAAoBqB,SAAUuB,KAAKvB,SAAUkE,KAAM,WAAY,gBAAiB3C,KAAKy9B,aAAc,gBAAiBz9B,KAAK09B,aAAc,eAAgB19B,KAAK29B,YAAa,kBAAiB39B,KAAKtB,eAAkBI,EAAW2B,IAAK,SAAUnC,GAAM,OAAOmM,EAAMmzB,YAAct/B,CAAI,GACtUiC,EAAAA,cAAoB,MAAO,CAAEG,UAAW,cAAcgB,OAAO1B,KAAKQ,MAAM+J,UAAW9J,IAAKT,KAAKm9B,qBACzFn9B,KAAK69B,mBACL79B,KAAK89B,iBACL99B,KAAKQ,MAAMu9B,UACPx9B,EAAAA,cAAoBu1B,GAAW,CAAEI,QAASl2B,KAAKk2B,QAASM,OAAQx2B,KAAKw2B,OAAQJ,UAAWp2B,KAAKo2B,WAAamH,GAAcA,GAChIv9B,KAAKQ,MAAM6T,QACP9T,EAAAA,cAAoBy9B,GAAAA,EAAQ,CAAEC,wBAAyB,IAAKC,uBAAwB,IAAKp9B,MAAO,CAAEq9B,QAAS,SAAWp7B,SAAUs6B,IAAcA,EAC1J,EACAP,EAA2Bl9B,UAAUsc,kBAAoB,WACrD,IAAIkiB,EAAgBp+B,KAAKQ,MAAM49B,cAC3BC,EAAgBr+B,KAAKkyB,OACrBkM,GAAiBA,IAAkBC,GACnCr+B,KAAKQ,MAAM89B,mBAAmBt+B,KAAK49B,aAEnC59B,KAAKu+B,kBACLv+B,KAAKu+B,gBAAgBC,cAAgBx+B,KAAK6zB,UAAU4K,mBAAmBz+B,KAAK+G,MAEpF,EACA+1B,EAA2Bl9B,UAAU6b,mBAAqB,SAAUC,GAChE,IAAI0iB,EAAgBp+B,KAAKQ,MAAM49B,cAM/B,GALIA,GACAA,IAAkB1iB,EAAU0iB,eAC5BA,IAAkBp+B,KAAKkyB,QACvBlyB,KAAKQ,MAAM89B,mBAAmBt+B,KAAK49B,aAEnC59B,KAAKu+B,gBAAiB,CACtB,IAAIC,EAAgBx+B,KAAK6zB,UAAU4K,mBAAmBz+B,KAAK+G,MACvDy3B,IAAkB9iB,EAAUgjB,cAAcD,mBAAmB/iB,EAAU3U,QACvE/G,KAAKu+B,gBAAgBC,cAAgBA,EAE7C,CACJ,EACA1B,EAA2Bl9B,UAAUk+B,eAAiB,WAClD,IAAIt8B,EACAiJ,EAAQzK,KACZ,GAAIA,KAAKQ,MAAMm+B,WAAY,CACvB,IAAI/9B,EAAOZ,KAAKQ,MAAMI,KACtB,OAAQL,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,GAAW,oBACvDmD,EAAAA,cAAoB,QAAS,CAAEuD,KAAM,WAAYpD,UAAWtD,GAAW,2BAA4BoE,EAAK,CAAC,EACjGA,EAAG,cAAcE,OAAO4U,GAAQ1V,IAASA,IAASA,EAClDY,EAAG,cAAgBxB,KAAKtB,SACxB8C,IAAM,aAAcxB,KAAK+G,KAAKG,KAAM03B,QAAS7zB,QAAQ/K,KAAK6zB,UAAU+K,QAAQ5+B,KAAK+G,OAAQ9J,GAAI+C,KAAK+8B,SAAUt+B,UAAW,EAAG0H,SAAUnG,KAAKg9B,cAAev8B,IAAK,SAAUnC,GAAM,OAAOmM,EAAM8zB,gBAAkBjgC,CAAI,IACxNiC,EAAAA,cAAoB,QAAS,CAAEG,UAAW,mBAAoBm+B,QAAS7+B,KAAK+8B,WACpF,CAIJ,EACAD,EAA2Bl9B,UAAUi+B,iBAAmB,WAKpD,OAJmB79B,KAAKQ,MAAMs+B,cAGzB9+B,KAAK6zB,UAAUF,YAAY3zB,KAAK+G,OAAS4sB,GAAY3zB,KAAK+G,KAAM/G,KAAK6zB,UAAUC,sBAIpFvzB,EAAAA,cAAoB,OAAQ,CAAEG,UAAWtD,GAAW,oBAAqB,CAAE,aAAc4C,KAAKtB,WAAayD,QAASnC,KAAKi9B,gBACrH18B,EAAAA,cAAoBwD,GAAUzE,GAAS,CAAC,EAAGU,KAAK++B,iBACxD,EACAjC,EAA2Bl9B,UAAU09B,2BAA6B,WAC9D,IAAI7yB,EAAQzK,KACR2I,EAAO3I,KAAK6zB,UAAU9wB,SAAS/C,KAAK+G,MACxC,OAAO6sB,GAA8B5zB,KAAK+G,KAAM/G,KAAK6zB,WAChDtzB,EAAAA,cAAoB,KAAM,CAAEG,UAAW,mBAAoBiC,KAAM,SAAWgG,EAAK7K,KAAI,SAAUiJ,EAAM4D,GAClG,OAAQpK,EAAAA,cAAoBy+B,GAAc,CAAEj4B,KAAMA,EAAMwD,SAAoB,IAAVI,EAAc,MAAQA,IAAUhC,EAAKnL,OAAS,EAAI,MAAQ,MAAO00B,OAAQU,GAASjoB,EAAOF,EAAMynB,QAASkL,SAAU3yB,EAAMjK,MAAM48B,SAAU/oB,QAAS5J,EAAMjK,MAAM6T,QAAS+pB,cAAe3zB,EAAMjK,MAAM49B,cAAea,eAAgBx0B,EAAMjK,MAAMy+B,eAAgBP,cAAej0B,EAAMjK,MAAMk+B,cAAeQ,OAAQz0B,EAAMjK,MAAM0+B,OAAQP,WAAYl0B,EAAMjK,MAAMm+B,WAAYQ,oBAAqB10B,EAAMjK,MAAM2+B,oBAAqBjC,YAAazyB,EAAMjK,MAAM08B,YAAaoB,mBAAoB7zB,EAAMjK,MAAM89B,mBAAoBP,UAAWtzB,EAAMjK,MAAMu9B,UAAW7H,QAASzrB,EAAMjK,MAAM01B,QAASM,OAAQ/rB,EAAMjK,MAAMg2B,OAAQJ,UAAW3rB,EAAMjK,MAAM41B,UAAW0I,YAAar0B,EAAMjK,MAAMs+B,YAAa7B,eAAgBxyB,EAAMjK,MAAMy8B,eAAgBD,cAAevyB,EAAMjK,MAAMw8B,cAAe5+B,IAAKuM,EAAO/J,KAAM6J,EAAMjK,MAAMI,KAAMlC,SAAU+L,EAAM/L,SAAU0gC,MAAO30B,EAAMjK,MAAM4+B,OACv4B,UAAOtgC,CACf,EACAg+B,EAA2Bl9B,UAAU49B,iBAAmB,WACpD,OAAQj9B,EAAAA,cAAoB,OAAQ,CAAEG,UAAWtD,GAAW,kBAAmB,CACvE,UAAW4C,KAAKQ,MAAM49B,gBAAkBp+B,KAAKkyB,OAC7C,aAAclyB,KAAK6zB,UAAUxpB,SAASrK,KAAK+G,MAC3C,aAAc/G,KAAKtB,WACnBoC,MAAO,CAAEi7B,YAAa,QAAU55B,QAASnC,KAAKk9B,aAClD38B,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,wBAA0BV,KAAKQ,MAAM0+B,OAC1E3+B,EAAAA,cAAoBP,KAAKQ,MAAM0+B,OAAQ,CAAEn4B,KAAM/G,KAAK+G,KAAMs4B,sBAAuBr/B,KAAKkyB,SACtFlyB,KAAK6zB,UAAU3sB,KAAKlH,KAAK+G,OACrC,EACA9I,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,YAAa,CACrEsP,IAAK,WACD,OAAOlP,KAAKQ,MAAMk+B,aACtB,EACAvvB,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,SAAU,CAClEsP,IAAK,WACD,OAAOlP,KAAKQ,MAAM0xB,MACtB,EACA/iB,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,OAAQ,CAChEsP,IAAK,WACD,OAAOlP,KAAKQ,MAAMuG,IACtB,EACAoI,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,WAAY,CACpEsP,IAAK,WACD,OAAQlP,KAAKQ,MAAM49B,eAAiBp+B,KAAKQ,MAAMy+B,kBAAoBj/B,KAAKkyB,OAAS,GAAK,CAC1F,EACA/iB,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,eAAgB,CACxEsP,IAAK,WACD,OAAOlP,KAAK6zB,UAAUF,YAAY3zB,KAAK+G,OAAS4sB,GAAY3zB,KAAK+G,KAAM/G,KAAK6zB,UAAUC,oBAClF/oB,QAAQ/K,KAAK6zB,UAAU/T,SAAS9f,KAAK+G,YAASjI,CACtD,EACAqQ,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,WAAY,CACpEsP,IAAK,WACD,OAAOlP,KAAKQ,MAAM9B,UAAYsB,KAAK6zB,UAAUn1B,SAASsB,KAAK+G,KAC/D,EACAoI,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,cAAe,CACvEsP,IAAK,WACD,OAAIlP,KAAKQ,MAAMm+B,WACP3+B,KAAK6zB,UAAU+K,QAAQ5+B,KAAK+G,MACrB,OAGA/G,KAAK6zB,UAAU4K,mBAAmBz+B,KAAK+G,MAAQ,QAAU,aAIpE,CAER,EACAoI,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAe6tB,EAA2Bl9B,UAAW,eAAgB,CACxEsP,IAAK,WACD,QAAIlP,KAAK6zB,UAAUxpB,SAASrK,KAAK+G,QAGxB/G,KAAKQ,MAAM2+B,sBACTn/B,KAAKtB,eAAWI,OAGvB,EAER,EACAqQ,YAAY,EACZC,cAAc,IAElB0tB,EAA2Bl9B,UAAUm/B,aAAe,WAChD,IAAIjf,EAAW9f,KAAK6zB,UAAU/T,SAAS9f,KAAK+G,MAE5C,OADc+Y,IAAa6T,GAAY3zB,KAAK+G,KAAM/G,KAAK6zB,UAAUC,oBAEtD,CAAE30B,KAAM,WAEZ2gB,EACD,CAAE3gB,KAAM,iBAAkB8D,KAAMua,EAAAA,KAChC,CAAEre,KAAMa,KAAKQ,MAAM4+B,MAAQ,iBAAmB,kBAAmBn8B,KAAMjD,KAAKQ,MAAM4+B,MAAQE,EAAAA,IAAmBC,EAAAA,IACvH,EACAzC,EAA2Bz7B,aAAe,CACtCkJ,SAAU,OAEPuyB,CACX,CA1MgD,CA0M9Cv8B,EAAAA,WAISy+B,GAAez+B,EAAAA,YAAiB,SAAUC,EAAOC,GACxD,IACI++B,EADuBj/B,EAAAA,WAAiBs8B,IACC/8B,UAAKhB,EAAW0B,GAC7D,OAAQD,EAAAA,cAAoBu8B,GAA4Bx9B,GAAS,CAAEmB,IAAKA,GAAO++B,GACnF,IACAR,GAAan8B,YAAc,eCxP3B,IAAI48B,GAA+B,WAC/B,SAASA,EAAcC,GACnB1/B,KAAK2/B,YAAcD,EAAcC,YACjC3/B,KAAK4/B,YAAcF,EAAcE,YACjC5/B,KAAK6/B,iBAAmBH,EAAcG,iBACtC7/B,KAAKmyB,cAAgBuN,EAAcvN,cACnCnyB,KAAK4I,UAAY82B,EAAc92B,UAC/B5I,KAAK8/B,aAAeJ,EAAcI,aAClC9/B,KAAK+/B,WAAaL,EAAcK,WAChC//B,KAAKggC,wBAA0BN,EAAcM,wBAC7ChgC,KAAKigC,aAAeP,EAAcO,YACtC,CAgCA,OA/BAR,EAAc7/B,UAAUkgB,SAAW,SAAU/Y,GACzC,OAAO2sB,GAAe1zB,KAAK2/B,YAAa54B,EAC5C,EACA04B,EAAc7/B,UAAUyK,SAAW,SAAUtD,GACzC,OAAO2sB,GAAe1zB,KAAK4/B,YAAa74B,EAC5C,EACA04B,EAAc7/B,UAAUsH,KAAO,SAAUH,GACrC,OAAO2sB,GAAe1zB,KAAK4I,UAAW7B,EAC1C,EACA04B,EAAc7/B,UAAUlB,SAAW,SAAUqI,GACzC,OAAO2sB,GAAe1zB,KAAK8/B,aAAc/4B,EAC7C,EACA04B,EAAc7/B,UAAU+zB,YAAc,SAAU5sB,GAC5C,OAAO2sB,GAAe1zB,KAAK6/B,iBAAkB94B,EACjD,EACA04B,EAAc7/B,UAAUmD,SAAW,SAAUgE,GACzC,IAAIhE,EAAW2wB,GAAe1zB,KAAKmyB,cAAeprB,GAClD,OAAOhE,GAAsB,EACjC,EACA08B,EAAc7/B,UAAUg/B,QAAU,SAAU73B,GACxC,OAAO2sB,GAAe1zB,KAAK+/B,WAAYh5B,EAC3C,EACA04B,EAAc7/B,UAAU6+B,mBAAqB,SAAU13B,GACnD,OAAO2sB,GAAe1zB,KAAKggC,wBAAyBj5B,EACxD,EACA04B,EAAc7/B,UAAUsgC,QAAU,SAAUn5B,GACxC,OAAO/G,KAAKigC,cAAgBvM,GAAe1zB,KAAKigC,aAAcl5B,EAClE,EACA04B,EAAc7/B,UAAUk0B,iBAAmB,WACvC,OAAO9zB,KAAKmyB,aAChB,EACOsN,CACX,CA5CmC,GA6CnC,YC9CO,IAAIlqB,GAAkB,CACzBpW,KAAM,iCACN6W,YAAa,aACbC,aAAc,CAAC,eAAgB,mBAC/BC,YAAa,WACbC,QAAS,GACTT,iBAAkB,yJCTlB/Q,GAAyC,WACzC,IAAIC,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgB3G,OAAO8G,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU8G,EAAGC,GAAKD,EAAEG,UAAYF,CAAG,GAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAInF,KAAKmF,EAAO7G,OAAO2B,UAAUC,eAAeC,KAAKgF,EAAGnF,KAAIkF,EAAElF,GAAKmF,EAAEnF,GAAI,EAC7FiF,EAAcC,EAAGC,EAC5B,EACA,OAAO,SAAUD,EAAGC,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIG,UAAU,uBAAyBC,OAAOJ,GAAK,iCAE7D,SAASK,IAAOnF,KAAKoF,YAAcP,CAAG,CADtCD,EAAcC,EAAGC,GAEjBD,EAAEjF,UAAkB,OAANkF,EAAa7G,OAAOoH,OAAOP,IAAMK,EAAGvF,UAAYkF,EAAElF,UAAW,IAAIuF,EACnF,CACJ,CAd6C,GA0BzCmR,GAAU5Z,GAqBVyjC,GAA0B,SAAU56B,GAEpC,SAAS46B,EAAS3/B,GACd,IAAIiK,EAAQlF,EAAOzF,KAAKE,KAAMQ,IAAUR,KAsFxC,OAlFAyK,EAAM0G,MAAQ,CAAEitB,mBAAet/B,EAAWshC,yBAAqBthC,EAAWmgC,erB/C7C,KqBgD7Bx0B,EAAMopB,UAAY,KAIlBppB,EAAM41B,oBAAqB,EAC3B51B,EAAM2yB,SAAWtgC,KACjB2N,EAAMgM,SAAW,KACjBhM,EAAM6zB,mBAAqB,SAAUgC,GAC7B71B,EAAM41B,oBACN51B,EAAM81B,aAAaD,EAE3B,EACA71B,EAAMuyB,cAAgB,SAAUl7B,EAAOiF,EAAMmrB,GACzCznB,EAAM+1B,SAAStO,GACfznB,EAAMg2B,oBAAoB3+B,EAAOiF,EAAMmrB,EAC3C,EACAznB,EAAMwyB,eAAiB,SAAUn7B,EAAOiF,EAAMmrB,GAC1CznB,EAAM+1B,SAAStO,GACfznB,EAAMi2B,qBAAqB5+B,EAAOiF,EAAMmrB,EAC5C,EACAznB,EAAMyrB,QAAU,SAAUyK,EAAQ55B,EAAMmrB,GAChCznB,EAAMjK,MAAMogC,iBACZn2B,EAAMjK,MAAMogC,gBAAgB9gC,UAAKhB,EAAW,CAAEkC,OAAQyJ,EAAO1D,KAAMA,EAAMs4B,sBAAuBnN,GAExG,EACAznB,EAAM+rB,OAAS,SAAU10B,EAAOiF,EAAMmrB,GAClC,IAAI2O,EAAQ/+B,EAAM++B,MAAOC,EAAQh/B,EAAMg/B,MAAOC,EAAUj/B,EAAMi/B,QAASC,EAAUl/B,EAAMk/B,QACnFv2B,EAAMjK,MAAMygC,gBACZx2B,EAAMjK,MAAMygC,eAAenhC,UAAKhB,EAAW,CACvCkC,OAAQyJ,EACR1D,KAAMA,EACNs4B,sBAAuBnN,EACvB2O,MAAOA,EACPC,MAAOA,EACPC,QAASA,EACTC,QAASA,GAGrB,EACAv2B,EAAM2rB,UAAY,SAAUt0B,EAAOiF,EAAMmrB,GACrC,IAAI2O,EAAQ/+B,EAAM++B,MAAOC,EAAQh/B,EAAMg/B,MAAOC,EAAUj/B,EAAMi/B,QAASC,EAAUl/B,EAAMk/B,QACnFv2B,EAAMjK,MAAM0gC,eACZz2B,EAAMjK,MAAM0gC,cAAcphC,UAAKhB,EAAW,CACtCkC,OAAQyJ,EACR1D,KAAMA,EACNs4B,sBAAuBnN,EACvB2O,MAAOA,EACPC,MAAOA,EACPC,QAASA,EACTC,QAASA,GAGrB,EACAv2B,EAAMyyB,YAAc,SAAUp7B,EAAOiF,EAAMmrB,GACvCznB,EAAM+1B,SAAStO,GACfznB,EAAM02B,kBAAkBr/B,EAAOiF,EAAMmrB,EACzC,EACAznB,EAAMmK,QAAU,WACZgE,aAAanO,EAAM22B,kBACetiC,IAA9B2L,EAAM0G,MAAMitB,eAA+B3zB,EAAM9B,KAAKnL,QACtDiN,EAAM+1B,SAAS/1B,EAAM0G,MAAM8tB,eAEnC,EACAx0B,EAAM6C,OAAS,WACXsL,aAAanO,EAAM22B,aACnB32B,EAAM22B,YAAc3yB,OAAOC,YAAW,WAAc,OAAOjE,EAAM+1B,cAAS1hC,EAAY,GAAG,EAC7F,EACA2L,EAAMrE,UAAY,SAAUtE,GACxB,IAAIkgB,EAAcvX,EAAMhB,iBACxB,GAAIuY,GAAevX,EAAMopB,UAAW,CAChC,IAAIwN,EAAYC,GAAItf,EAAavX,EAAM0G,MAAMitB,cAAe3zB,EAAM9B,KAAM7G,EAAM6O,QAASlG,EAAMopB,WACzFwN,IAAc52B,EAAM0G,MAAMitB,gBAE1Bt8B,EAAM+H,iBACNY,EAAM41B,oBAAqB,EAC3B51B,EAAM+1B,SAASa,IAEnB52B,EAAM82B,wBAAwBz/B,EAAOkgB,EACzC,CACJ,EClID,SAAyBzM,GAC5B,GAAyB,qBAAdC,GACPA,GAAAA,gBAA0BD,OAEzB,CACD,IAAIE,EAAU,iCAAiC/T,OAAO6T,EAAgBpW,KAAM,MAC5EsW,GAAW,wDACXA,GAAW,OAAO/T,OAAO6T,EAAgBG,iBAAkB,4BAC3DC,QAAQC,KAAKH,EACjB,CACJ,CDyHQH,CAAgBC,IACT9K,CACX,CAyLA,OAlRA9F,GAAUw7B,EAAU56B,GA0FpBtH,OAAOgR,eAAekxB,EAASvgC,UAAW,UAAW,CAIjDsP,IAAK,WACD,OAAOlP,KAAKyW,QAChB,EACAtH,YAAY,EACZC,cAAc,IAKlB+wB,EAASvgC,UAAU4F,OAAS,WACxB,IAAIhE,EACAiJ,EAAQzK,KACZA,KAAK6zB,UAAY,IAAI4L,GAAcz/B,KAAKQ,OACxC,IAAIwD,EAAKhE,KAAKQ,MAAOI,EAAOoD,EAAGpD,KAAMF,EAAYsD,EAAGtD,UACpD,OAAQH,EAAAA,cAAoB,MAAO,CAAEG,UAAWtD,GAAW,cAAeoE,EAAK,CAAC,EACxEA,EAAG,cAAcE,OAAO4U,GAAQ1V,IAASA,IAASA,EAClDY,EAAG,sBAAwBxB,KAAKQ,MAAMu9B,UACtCv8B,EAAG,SAA8B,QAAnBxB,KAAKQ,MAAMiF,IACzBjE,GAAKd,GAAY0F,UAAWpG,KAAKoG,UAAWwO,QAAS5U,KAAK4U,QAAStH,OAAQtN,KAAKsN,OAAQ3K,KAAM,OAAQ,yBAAwB3C,KAAKm/B,0BAA6BrgC,EAAW,aAAckB,KAAKQ,MAAM,cAAe,kBAAmBR,KAAKQ,MAAM,mBAAoBC,IAAK,SAAUS,GAAW,OAAOuJ,EAAMgM,SAAWvV,CAAS,EAAGzC,SAAUuB,KAAKQ,MAAM/B,UAC5V8B,EAAAA,cAAoB,KAAM,CAAEG,UAAW,oCAAqCiC,KAAM,SAAW3C,KAAK2I,KAAK7K,KAAI,SAAUiJ,EAAM4D,GACvH,OAAQpK,EAAAA,cAAoBy+B,GAAc,CAAEj4B,KAAMA,EAAMwD,SAAoB,IAAVI,EAAc,MAAQA,IAAUF,EAAM9B,KAAKnL,OAAS,EAAI,MAAQ,MAAO00B,OAAQvnB,EAAMxN,WAAYigC,SAAU3yB,EAAM2yB,SAAU/oB,QAAS5J,EAAMjK,MAAM6T,QAAS+pB,cAAe3zB,EAAM0G,MAAMitB,cAAea,eAAgBx0B,EAAM0G,MAAM8tB,eAAgBP,cAAej0B,EAAMopB,UAAWqL,OAAQz0B,EAAMjK,MAAMuG,KAAM43B,WAAYl0B,EAAMjK,MAAMm+B,WAAYQ,oBAAqB10B,EAAM00B,oBAAqBjC,YAAazyB,EAAMyyB,YAAaoB,mBAAoB7zB,EAAM6zB,mBAAoBP,UAAWtzB,EAAMjK,MAAMu9B,UAAW7H,QAASzrB,EAAMyrB,QAASM,OAAQ/rB,EAAM+rB,OAAQJ,UAAW3rB,EAAM2rB,UAAW0I,YAAar0B,EAAMjK,MAAMs+B,YAAa7B,eAAgBxyB,EAAMwyB,eAAgBD,cAAevyB,EAAMuyB,cAAe5+B,IAAKuM,EAAO/J,KAAMA,EAAMw+B,MAA2B,QAApB30B,EAAMjK,MAAMiF,KACxxB,KACR,EAIA06B,EAASvgC,UAAU6b,mBAAqB,WACpCzb,KAAKqgC,oBAAqB,EAC1BrgC,KAAKwhC,0BACT,EACArB,EAASvgC,UAAU2hC,wBAA0B,SAAUz/B,EAAOkgB,GAC1D,IAAIvX,EAAQzK,KACZ,GAAuB,OAAnBA,KAAK6zB,UAAT,CAIA,IAAI4N,EAAY,WACZ,OAAOh3B,EAAMopB,WAAaU,GAA8B9pB,EAAM0G,MAAMitB,cAAe3zB,EAAM9B,KAAM8B,EAAMopB,UACzG,EACI/xB,EAAM6O,UAAYjV,IAAasE,KAAK6zB,UAAU/T,SAASkC,IAAgByf,KAGlE3/B,EAAM6O,UAAYjV,KAAesE,KAAK6zB,UAAU/T,SAASkC,KAC7DhiB,KAAK6zB,UAAUF,YAAY3R,IAAgB2R,GAAY3R,EAAahiB,KAAKQ,MAAM2xB,iBAAmBsP,IAHnGzhC,KAAK0gC,qBAAqB5+B,EAAOkgB,EAAahiB,KAAKmR,MAAMitB,eAMpDt8B,EAAM6O,UAAYjV,IAAc+lC,IACrCzhC,KAAKmhC,kBAAkBr/B,EAAOkgB,EAAahiB,KAAKmR,MAAMitB,eAEjDt8B,EAAM6O,UAAYjV,IAAc+lC,MAErC3/B,EAAM+H,iBACN7J,KAAKygC,oBAAoB3+B,EAAOkgB,EAAahiB,KAAKmR,MAAMitB,eAlB5D,CAoBJ,EACA+B,EAASvgC,UAAU4gC,SAAW,SAAUpC,GACpC,GAAIA,GAAiBp+B,KAAK6zB,UACtB,GAAI7zB,KAAK6zB,UAAUoM,aAAc,CAC7B,IAAIl5B,EAAO/G,KAAKiyB,YAAYmM,GAC5Bp+B,KAAKyS,SAAS,CAAE2rB,cAAeA,EAAegC,oBAAqBpgC,KAAK6zB,UAAUqM,QAAQn5B,IAC9F,MAEI/G,KAAKyS,SAAS,CAAE2rB,cAAeA,SAInCp+B,KAAKyS,UAAS,SAAUtB,GACpB,MAAO,CACHitB,mBAAet/B,EACfshC,yBAAqBthC,EACrBmgC,eAAgB9tB,EAAMitB,cAE9B,GAER,EACA+B,EAASvgC,UAAU6J,eAAiB,WAChC,OAAOzJ,KAAKmR,MAAMitB,cAAgBp+B,KAAKiyB,YAAYjyB,KAAKmR,MAAMitB,oBAAiBt/B,CACnF,EACAqhC,EAASvgC,UAAUqyB,YAAc,SAAUC,GACvC,OAAOD,GAAYC,EAAQlyB,KAAK2I,KAAM3I,KAAKQ,MAAM2xB,eAAiByK,GACtE,EACAuD,EAASvgC,UAAU6gC,oBAAsB,SAAU5O,EAAiB9qB,EAAMmrB,GACtEP,GAAc3xB,KAAKQ,MAAMw8B,cAAenL,EAAiB7xB,KAAM,CAAE+G,KAAMA,EAAMs4B,sBAAuBnN,GACxG,EACAiO,EAASvgC,UAAU8gC,qBAAuB,SAAU7O,EAAiB9qB,EAAMmrB,GACvEP,GAAc3xB,KAAKQ,MAAMy8B,eAAgBpL,EAAiB7xB,KAAM,CAAE+G,KAAMA,EAAMs4B,sBAAuBnN,GACzG,EACAiO,EAASvgC,UAAUuhC,kBAAoB,SAAUtP,EAAiB9qB,EAAMmrB,GACpEP,GAAc3xB,KAAKQ,MAAM08B,YAAarL,EAAiB7xB,KAAM,CAAE+G,KAAMA,EAAMs4B,sBAAuBnN,GACtG,EACAiO,EAASvgC,UAAU4hC,yBAA2B,WAC1C,GAAIxhC,KAAK6zB,WAAa7zB,KAAK6zB,UAAUoM,aAAc,CAC/C,IAAIG,EAAsBpgC,KAAKmR,MAAMivB,oBACrC,GAAIA,EAAqB,CACrB,IAAIhC,EAAgBp+B,KAAKQ,MAAMkhC,0BAC3B1hC,KAAKQ,MAAMkhC,0BAA0BtB,GACrCrM,GAAcqM,EAAqBpgC,KAAK6zB,UAAUoM,aAAcjgC,KAAK2I,KAAM3I,KAAKQ,MAAM2xB,eACtFiM,IAAkBp+B,KAAKmR,MAAMitB,gBAC7Bp+B,KAAKqgC,oBAAqB,EAC1BrgC,KAAKyS,SAAS,CAAE2rB,cAAeA,IAEvC,CACJ,CACJ,EACAngC,OAAOgR,eAAekxB,EAASvgC,UAAW,sBAAuB,CAC7DsP,IAAK,WACD,OAA8C,IAAvClP,KAAKQ,MAAM,yBAA2E,SAAvCR,KAAKQ,MAAM,uBACrE,EACA2O,YAAY,EACZC,cAAc,IAElBnR,OAAOgR,eAAekxB,EAASvgC,UAAW,OAAQ,CAC9CsP,IAAK,WACD,OAAOlP,KAAKQ,MAAMmI,MAAQ,EAC9B,EACAwG,YAAY,EACZC,cAAc,IAElB+wB,EAASvgC,UAAU2gC,aAAe,SAAUD,GACxCA,EAAQppB,OACZ,EACAjZ,OAAOgR,eAAekxB,EAASvgC,UAAW,OAAQ,CAI9CsP,IAAK,WACD,OAAOlP,KAAKo9B,QAChB,EACAjuB,YAAY,EACZC,cAAc,IAKlB+wB,EAASv9B,UAAY,CACjB+F,KAAMzJ,EAAAA,QAAkBA,EAAAA,KACxBmV,QAASnV,EAAAA,KACTT,SAAUS,EAAAA,OACV+gC,aAAc/gC,EAAAA,OACdyiC,yBAA0BziC,EAAAA,KAC1B+9B,eAAgB/9B,EAAAA,KAChBg+B,YAAah+B,EAAAA,KACbygC,YAAazgC,EAAAA,OACb0gC,YAAa1gC,EAAAA,OACbizB,cAAejzB,EAAAA,OACf2gC,iBAAkB3gC,EAAAA,OAClB0J,UAAW1J,EAAAA,OACX4gC,aAAc5gC,EAAAA,OACd6H,KAAM7H,EAAAA,IACN,uBAAwB,SAAUsB,EAAOohC,EAAUC,GAC/C,YAAwB/iC,IAApB0B,EAAMohC,KACiB,IAApBphC,EAAMohC,KACc,IAApBphC,EAAMohC,IACc,SAApBphC,EAAMohC,IACc,UAApBphC,EAAMohC,GACF,IAAIva,MAAM,iBAAmBua,EAAnB,kBACNC,EAAgB,yBAExB,IACX,EACA,aAAc3iC,EAAAA,OACd,kBAAmBA,EAAAA,OACnB0B,KAAM1B,EAAAA,MAAgB,CAAC,KAAM,QAAS,SAAU,UAChDuG,IAAKvG,EAAAA,QAKTihC,EAAS9+B,aAAe,CACpBgT,SAAS,EACTsrB,YJrTkB,WIsTlBC,YJlSkB,WImSlBC,iBJvSwB,cIwSxB1N,cAAeyK,GACfh0B,UJrTgB,OIsThBk3B,aJlToB,WImTpBC,WJnSiB,UIoSjBC,wBJhS+B,qBIiS/Bp/B,KAAM,UAEHu/B,CACX,CApR8B,CAoR5B5/B,EAAAA,WE/TK,SAASuhC,GAAiB7gC,EAAY8gC,EAAmB1kC,GAC5D,IAAImE,EAAKjB,EAAAA,SAAewhC,GAAoBx+B,EAAQ/B,EAAG,GAAIwgC,EAAWxgC,EAAG,GAMzE,OALAjB,EAAAA,WAAgB,gBACEzB,IAAVyE,GAAuBtC,EAAWE,SAClC6gC,EAAS/gC,EAAWE,QAAQiS,YAEpC,GAAG/V,GACIkG,CACX,CCRO,IAAI0+B,GAAa,SAAUzhC,GAC9B,OAAOD,EAAAA,cAAoB,MAAO,CAAEG,UAAW,YAC3CH,EAAAA,cAAoB,MAAO,KAAMC,EAAMuC,UAC/C,ECPIzD,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EACI0oB,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArB7oB,UAAUC,OAAc,IAAK,IAA4B6oB,EAAxBtpB,EAAI,EAAGupB,EAAIH,EAAK3oB,OAAYT,EAAIupB,EAAGvpB,KACxEspB,GAAQtpB,KAAKopB,IACRE,IAAIA,EAAKtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,EAAM,EAAGppB,IAClDspB,EAAGtpB,GAAKopB,EAAKppB,IAGrB,OAAOmpB,EAAGxkB,OAAO2kB,GAAMtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,GACtD,EAqBI7P,GAAU5Z,EAAwB6Z,GAAa7Z,EAE/CwlC,GAAc,SAAU1hC,GACxB,OAAOD,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,sBAAwBF,EAAMuC,SAClF,EACIo/B,GAAU,SAAUC,GACpB,OAAOA,EAAkBn5B,MAAM,KAAKnL,KAAI,SAAUf,GAAK,OAAO8B,SAAS9B,EAAG,GAAK,GACnF,EASIsE,GAAe,CACfu+B,YAAa,WACbxO,cAAe,QACfzrB,cAAe,CACX0O,SAAS,EACT9Q,MAAO,QACPC,OAAQ,SAEZ4R,UAAU,EACVC,gBAAgB,EAChBzU,KAAM,SACN2F,QAAS,SACTD,SAAU,SAQH+7B,GAA2B99B,IAO3B+9B,GAAe/hC,EAAAA,YAAiB,SAAU4uB,EAAa1uB,GAC9D,IAAIe,EACJ8T,GAAgBC,IAChB,IAAI/U,EAAQ4D,EAAgBi+B,GAA0BlT,GAClDoT,EAAehiC,EAAAA,SAAc,WAAc,OAAOzD,GAAQ,GAAG,IAC7DG,EAAKuD,EAAMvD,IAAMslC,EACjBv+B,EAAKxD,EAAMmI,KAAMA,OAAc,IAAP3E,EAAgB,GAAKA,EAAI6P,EAAcrT,EAAMqT,YAAa5H,EAAKzL,EAAMmF,cAAeA,OAAuB,IAAPsG,EAAgB,CAAC,EAAIA,EAAI6N,EAAKtZ,EAAMM,MAAOA,OAAe,IAAPgZ,EAAgB,CAAC,EAAIA,EAAIhI,EAAStR,EAAMsR,OAAQpT,EAAW8B,EAAM9B,SAAUie,EAAKnc,EAAMkU,OAAQA,OAAgB,IAAPiI,EAAgBuU,GAAOvU,EAAI0L,EAAK7nB,EAAMmU,QAASA,OAAiB,IAAP0T,EAAgB6I,GAAO7I,EAAIpI,EAAczf,EAAMyf,YAAa9L,EAAQ3T,EAAM2T,MAAOhV,EAAOqB,EAAMrB,KAAMupB,EAAKloB,EAAMo/B,YAAaA,OAAqB,IAAPlX,EAAgBrnB,GAAau+B,YAAclX,EAAII,EAAKtoB,EAAM4wB,cAAeA,OAAuB,IAAPtI,EAAgBznB,GAAa+vB,cAAgBtI,EAAIzN,EAAoB7a,EAAM6a,kBAAmBD,EAAQ5a,EAAM4a,MAAOhG,EAAW5U,EAAM4U,SAAUC,EAAiB7U,EAAM6U,eACvtB5W,EAAWD,EAAYgC,EAAM/B,SAAUC,GACvCsC,EAAST,EAAAA,OAAa,MACtBU,EAAaV,EAAAA,OAAa,MAC1BiiC,EAAWjiC,EAAAA,OAAa,MACxBkiC,EAAmBliC,EAAAA,OAAa,MAChCmiC,EAAYniC,EAAAA,OAAa,MACzBoiC,GAAcpiC,EAAAA,OAAa,MAC3BqiC,GAAeriC,EAAAA,QAAa,GAC5BgpB,GAAKhpB,EAAAA,cAAezB,GAAY6pB,GAAaY,GAAG,GAAIsZ,GAAgBtZ,GAAG,GACvEuZ,QAA6BhkC,IAAhB0B,EAAM0F,MACnBA,GAAQ48B,GAAatiC,EAAM0F,WAAwBpH,IAAf6pB,GAA2BA,GAAanoB,EAAMyU,aAClF8tB,GAAW/7B,EAAUd,IACrB88B,GAAmBD,GAAWv6B,GAAatC,GAAO1F,EAAMoI,WAAa,GACrEuS,GAvDU,SAAU8nB,EAAYF,GACpC,IAAI1nB,EAAoB4nB,EAAW5nB,kBAAmBD,EAAQ6nB,EAAW7nB,MAAOhG,EAAW6tB,EAAW7tB,SACtG,MAAQ,CACJkG,iBAAmCxc,IAAtBuc,EACbD,MAAOrQ,aAAkBjM,IAAVsc,EAAsBA,GAAUhG,GAAY2tB,GAC3DvnB,cAAeunB,EAEvB,CAgDmBG,CAAY,CAAE7nB,kBAAmBA,EAAmBD,MAAOA,EAAOhG,SAAUA,GAAY2tB,IACnG7rB,GAAQ3W,EAAAA,aAAkB,WAAc,OAAOU,EAAWE,SAAWF,EAAWE,QAAQ+V,OAAS,GAAG,IACxG3W,EAAAA,oBAA0BS,GAAQ,WAAc,MAAQ,CACpDR,MAAOA,EACPU,QAASD,EAAWE,QACpB+V,MAAOA,GACP,IACJ3W,EAAAA,oBAA0BE,GAAK,WAAc,OAAOO,EAAOG,OAAS,IACpE,IAAIsE,GAAM0rB,GAAOlwB,EAAYT,EAAMiF,KAC/Bs8B,QAA4CjjC,IAAxB6G,EAAcpC,MAClCoC,EAAcpC,WAAyBzE,IAAhBgC,EAAMyC,MAAsBzC,EAAMyC,MAAQlC,GAAasE,cAAcpC,MAC5FqP,GAAakvB,GAAiB7gC,EAAY8gC,IAC1CoB,GAAc7jC,GAAS,CAAEiE,MAAOqP,SAAuB9T,IAAR2G,GAAoB,CAAEI,UAAWJ,IAAQ,CAAC,GACzFwxB,GAAK12B,EAAAA,UAAe,GAAQ6iC,GAAOnM,GAAG,GAAIoM,GAAUpM,GAAG,GACvDqM,QAAoBxkC,IAAXgT,EAAuBA,EAASsxB,GACzChM,GAAK72B,EAAAA,UAAe,GAAQuK,GAAUssB,GAAG,GAAImM,GAAanM,GAAG,GAC7DI,GAAKj3B,EAAAA,WAAkBia,GAAcgd,GAAG,GAAIgM,GAAiBhM,GAAG,GAChEtV,MAAgB1H,IAAeA,IAAenE,IAAwB7V,EAAM+Z,UAC5Eqd,GAAKr3B,EAAAA,SAAe,IAAK3C,GAASg6B,GAAG,GAAI6L,GAAY7L,GAAG,GACxD3c,GAAc1a,EAAAA,aAAkB,WAC5BmiC,EAAUvhC,SAAWuhC,EAAUvhC,QAAQ+Z,mBACvCwnB,EAAUvhC,QAAQ+Z,kBAAkBC,GAASC,MACvC,QACsBtc,IAAtBuc,EArFO,uCAqFgDA,EAErE,GAAG,CAACA,EAAmBF,KACvB5a,EAAAA,UAAgB0a,IAChB1a,EAAAA,WAAgB,WACZ,IAAI4b,EAAiBtG,IAAapH,OAAO2N,gBAAkB,IAAI3N,OAAO2N,eAAeC,GAAezN,KA/GhG,YAmHJ,OAHkB,OAAbkH,eAAkC,IAAbA,cAAsB,EAASA,SAASwG,OAASH,GACvEA,EAAeI,QAAQzG,SAASwG,MAE7B,YACe,OAAbxG,eAAkC,IAAbA,cAAsB,EAASA,SAASwG,OAASH,GACvEA,EAAeM,YAEvB,CACJ,GAAG,IACH,IAAIinB,GAAYnjC,EAAAA,aAAkB,SAAUuB,GACxC,IAAKwhC,GAAQ,CACT,GAAI5uB,EAAQ,CACR,IAAIivB,EAAYrkC,GAAS,CAAC,EAAGwC,GAC7B4S,EAAO5U,UAAKhB,EAAW6kC,EAC3B,MACe7kC,IAAXgT,GACAuxB,IAAQ,EAEhB,CACJ,GAAG,CAACC,GAAQxxB,EAAQ4C,IAChBoY,GAAavsB,EAAAA,aAAkB,SAAUuB,GACzC,GAAIwhC,GAAQ,CACR,GAAI3uB,EAAS,CACT,IAAIivB,EAAatkC,GAAS,CAAC,EAAGwC,GAC9B6S,EAAQ7U,UAAKhB,EAAW8kC,EAC5B,MACe9kC,IAAXgT,IACAuxB,IAAQ,GACJnhB,IACAxT,YAAW,WACP,IAAIlN,EACJwZ,GAAiD,QAAnCxZ,EAAKihC,EAAiBthC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,QACzF,GAAG,KAGf,CACJ,GAAG,CAACoiC,GAAQxxB,EAAQ6C,EAASuN,KACzB2hB,GAAiBtjC,EAAAA,aAAkB,SAAUuB,GAC7C,IAAKA,EAAMgiC,sBAAwB9iC,EAAOG,QAAS,CAC/CoiC,IAAW,GACX,IAAIQ,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQA,EAAOG,UAElBmiC,GAASxW,GAAa4W,IAAWK,EACtC,CACJ,GAAG,CAACT,GAAQxxB,EAAQ4C,EAAQC,IACxBqvB,GAAczjC,EAAAA,aAAkB,SAAU0jC,GAC1CrB,GAAazhC,SAAU,EACvB8iC,IACAx1B,OAAOC,YAAW,WAAc,OAAOk0B,GAAazhC,SAAU,CAAO,GAAG,EAC5E,GAAG,IACC+iC,GAAmB3jC,EAAAA,aAAkB,SAAUuB,GAC/C,IAAIN,EAAIwC,EACJ2M,EAAU7O,EAAM6O,QAASuJ,EAASpY,EAAMoY,OACxCiqB,EAAWxB,GAAYxhC,SAAWwhC,GAAYxhC,QAAQD,QAC1D,GAAKF,EAAOG,WAAYW,EAAMgiC,uBAAqD,QAA3BtiC,EAAKghC,EAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,WAAaY,EAAMd,QAA1I,CAGA,IAAI+iC,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQA,EAAOG,SAEnB,GAAImiC,GACA,GAAI3yB,IAAYjV,GAAawe,GAAUvJ,IAAYjV,EAC/CoG,EAAM+H,iBACNijB,GAAWiX,QAEV,GAAII,GAAYA,EAASC,cAAc,cACvCzzB,IAAYjV,GAAWiV,IAAYjV,GAChCiV,IAAYjV,GAAaiV,IAAYjV,GACrCiV,IAAYjV,GAAaiV,IAAYjV,GAAW,CACpD,GAAIiV,IAAYjV,IAAwC,QAA3BsI,EAAKw+B,EAASrhC,eAA4B,IAAP6C,OAAgB,EAASA,EAAG9C,SAAU,CAClG,IAAImH,EAAQtK,MAAMooB,KAAKge,EAASE,iBAAiB,qBAC7CriB,EAAciE,GAAc,GAAI5d,GAAO,GAAMi8B,UAAUhX,MAAK,SAAUvwB,GAAK,OAAOgO,QAAQhO,GAAKA,EAAEqnC,cAAc,YAAc,IACjI,GAAIpiB,GAA8C,IAA/B3Z,EAAMlI,QAAQ6hB,GAC7B,OAAOgiB,IAAY,WAAc,IAAIxiC,EAAIwZ,GAAyC,QAA3BxZ,EAAKghC,EAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,QAAU,GAExI,CACA8iC,GAAY9S,GAChB,MACSvgB,IAAYjV,GACjBsoC,IAAY,WAAc,IAAIxiC,EAAIwZ,IAA0C,QAA3BxZ,EAAKghC,EAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,UAAYijC,EAAW,SAIvIjqB,GAAUvJ,IAAYjV,IACtBoG,EAAM+H,iBACN65B,GAAUK,GA/BlB,CAkCJ,GAAG,CAACT,GAAQxxB,EAAQ4C,EAAQC,IACxBwM,GAAiB5gB,EAAAA,aAAkB,SAAUuB,GAC7C,IAAI6O,EAAU7O,EAAM6O,QAAkB7O,EAAMoY,QAC7BvJ,IAAYjV,GAAWiV,IAAYjV,IAGlDoG,EAAM+H,iBACNm6B,GAAYrzB,IAAYjV,EACpB,WAAcsf,GAAa/Z,EAAWE,QAAU,EAChD,WAAc6Z,GAAa2nB,GAAYxhC,SAAWwhC,GAAYxhC,QAAQD,QAAU,GACxF,GAAG,IACC8Z,GAAeza,EAAAA,aAAkB,SAAUW,GACvCA,GACA8iC,IAAY,WAAc,OAAO9iC,EAAQgW,OAAS,GAE1D,GAAG,IACCc,GAAgBzX,EAAAA,aAAkB,WAClC,IAAIiB,EACCsJ,KAAWw4B,IAAWxxB,EAInBtR,EAAMoR,WACNoJ,GAAyC,QAA3BxZ,EAAKghC,EAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,SAG7E8Z,GAAa2nB,GAAYxhC,SAAWwhC,GAAYxhC,QAAQD,SAP5D4rB,GAAW,CAAE9rB,OAAQA,EAAOG,SAUpC,GAAG,CAACwT,EAASnU,EAAMoR,WAAY9G,GAASgH,EAAQwxB,KAC5CrrB,GAAgB1X,EAAAA,aAAkB,WAC9BuK,IAEAkQ,GAAa/Z,EAAWE,QAEhC,GAAG,CAAC2J,KACA8J,GAAUrU,EAAAA,aAAkB,SAAUuB,GACtC,IAAKgJ,KAAY83B,GAAazhC,UAC1BoiC,IAAW,GACP/iC,EAAMoU,SAAW5T,EAAOG,SAAS,CACjC,IAAIojC,EAAa,CACbviC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQA,EAAOG,SAEnBX,EAAMoU,QAAQ9U,UAAKhB,EAAWylC,EAClC,CAER,GAAG,CAACz5B,GAAStK,EAAMoU,UACftH,GAAS/M,EAAAA,aAAkB,SAAUuB,GACrC,GAAIgJ,KAAY83B,GAAazhC,SAAWH,EAAOG,QAAS,CACpDoiC,IAAW,GACX,IAAIQ,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQA,EAAOG,SAEnB,GAAIX,EAAM8M,OAAQ,CACd,IAAIi3B,EAAajlC,GAAS,CAAC,EAAGykC,GAC9BvjC,EAAM8M,OAAOxN,UAAKhB,EAAWylC,EACjC,CACKriB,IACD4K,GAAWiX,EAEnB,CACJ,GAAG,CAACj5B,GAAStK,EAAM8M,OAAQg2B,GAAQxxB,EAAQ6C,IACvC6vB,GAAqBjkC,EAAAA,aAAkB,WACnCuK,IAEAk5B,GAAY9S,IAEZhP,IACAxT,YAAW,WACP,IAAIlN,EACJwZ,GAAiD,QAAnCxZ,EAAKihC,EAAiBthC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,QACzF,GAAG,IAEX,GAAG,CAAC4J,GAASoX,KACTuiB,GAAclkC,EAAAA,aAAkB,SAAUuB,EAAOqiB,EAAUie,GAC3D,GAAI5hC,EAAM2F,SAAU,CAChB,IAAIu+B,EAAcplC,GAAS,CAAE4G,MAAOie,EAAUwgB,MAAOvC,EAAoBD,GAAQC,GAAqB,IAAMtgC,GAC5GtB,EAAM2F,SAASrG,UAAKhB,EAAW4lC,EACnC,CACK5B,IACDD,GAAc1e,EAEtB,GAAG,CAAC3jB,EAAM2F,SAAU28B,KAChB38B,GAAW5F,EAAAA,aAAkB,SAAUuB,GACvC,IAAIuH,GAAQvH,EAAMiF,KAAMb,GAAO2N,IAAiB7S,EAAOG,QAAvD,CAGA,IAAI4F,EAAOjF,EAAMiF,KAAMs4B,EAAwBv9B,EAAMu9B,sBAAuB5rB,EAAc3R,EAAM2R,YAC5FswB,EAAK,CACL/hC,eAF0HF,EAAME,eAGhIyR,YAAaA,EACbzS,OAAQA,EAAOG,SAEnBsjC,GAAYV,EAAIh9B,EAAMs4B,GACtBvS,GAAWiX,EARX,CASJ,GAAG,CAACjB,GAAY58B,GAAO1F,EAAM2F,SAAU0N,EAAayvB,GAAQxxB,EAAQ6C,IAChEiwB,GAAUrkC,EAAAA,aAAkB,SAAUuB,GACtC,GAAKd,EAAOG,QAAZ,CAGA,IAAI4iC,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQA,EAAOG,SAEnBsjC,GAAYV,EAAI,MAChBjX,GAAWiX,GACXjiC,EAAM+H,gBARN,CASJ,GAAG,CAACi5B,GAAYtiC,EAAM2F,SAAUm9B,GAAQxxB,EAAQ6C,IAC5CkwB,GAAWtkC,EAAAA,aAAkB,SAAUuB,GAEvC,GADAA,EAAME,eAAeqE,kBACjB7F,EAAMy8B,gBAAkBj8B,EAAOG,QAAS,CACxC,IAAI4F,EAAOjF,EAAMiF,KAAMs4B,EAAwBv9B,EAAMu9B,sBAAuB5rB,EAAc3R,EAAM2R,YAAazR,EAAiBF,EAAME,eAChI8iC,EAAc,CACdH,MAAOxC,GAAQ9C,GACft4B,KAAMA,EACN0M,YAAaA,EACbzR,eAAgBA,EAChBhB,OAAQA,EAAOG,SAEnBX,EAAMy8B,eAAen9B,UAAKhB,EAAWgmC,EACzC,CACJ,GAAG,CAACtkC,EAAMy8B,iBACN/nB,GAAiB3U,EAAAA,aAAkB,SAAUuB,GAC7C,GAAItB,EAAM0U,gBAAkBlU,EAAOG,QAAS,CACxC,IACI4iC,EAAK,CACLnmC,OAFa,CAAE0K,MAAO9H,EAAMoI,UAAWiJ,SAAU,WAAY3L,MAAOpE,EAAMd,OAAOkF,OAGjFlE,eAAgBF,EAAME,eACtByR,YAAa3R,EAAM2R,YACnBzS,OAAQA,EAAOG,SAEnBX,EAAM0U,eAAepV,UAAKhB,EAAWilC,QAChBjlC,IAAjB0B,EAAM5C,QACN6lC,GAAU3hC,EAAMd,OAAOkF,MAE/B,CACJ,GAAG,CAAC1F,EAAM0U,eAAgB1U,EAAM5C,OAAQ4C,EAAMoI,YAe1CyT,GAAiB9b,EAAAA,aAAkB,SAAUqe,GAC7C,IAAK,IAAIthB,EAAK,EAAGuhB,EAAYD,EAASthB,EAAKuhB,EAAUrhB,OAAQF,IAAM,CAC/D,IAAIwhB,EAAQD,EAAUvhB,GACtBkmC,GAAe1kB,EAAM9d,OAAO+d,YAChC,CAEJ,GAAG,IACCgmB,GAAexkC,EAAAA,SAAc,WAC7B,OAAQuiC,KAAeC,GAAYp6B,EAC/B8oB,GAAQ9oB,EAAMyoB,GAAe,SAAUrqB,GACnC,IAAIvF,EACJ,O/BxTY,SAAUuF,EAAMqqB,EAAe4T,GACvD,IAAIxjC,EACJ,OAAOvD,OAAOsB,OAAO,CAAC,EAAGwH,EAAMA,EAAKqqB,KAAkB5vB,EAAK,CAAC,GAAM4vB,GAAiBrqB,EAAKqqB,GAAe/Y,QAAS7W,GAAM,CAAC,EAAGwjC,GAAiB,CAAC,EAChJ,C+BqTuBC,CAAel+B,EAAMqqB,IAAgB5vB,EAAK,CAAC,GAAMo+B,GAAev2B,GAAQtC,EAAMb,GAAO2N,GAAcrS,GAC9G,GACR,GAAG,CAACmH,EAAMzC,GAAO48B,GAAYC,GAAUnD,EAAaxO,IAChD8T,GAAS1kC,EAAM2kC,YAAclD,GAC7BmD,GAAiB5kC,EAAM6kC,aAAenD,GACtCnW,IAAeuZ,EAAAA,GAAAA,KACf/pB,IAAWlG,GAAkB8F,GAASC,MACtCxa,GAAOJ,EAAMI,KAAM2F,GAAU/F,EAAM+F,QAASD,GAAW9F,EAAM8F,SAC7Di/B,GAAgBhlC,EAAAA,cAAoBA,EAAAA,SAAgB,KACpDA,EAAAA,cAAoB,OAAQ,CAAEG,UAAWtD,EAAW,0BAA2BoD,EAAME,WAAYc,EAAK,CAAC,EAC/FA,EAAG,YAAYE,OAAO4U,GAAQ1V,KAASA,KAASA,GAChDY,EAAG,aAAaE,OAAO6U,GAAWhQ,KAAYA,KAAYA,GAC1D/E,EAAG,YAAYE,OAAO4E,KAAaA,GACnC9E,EAAG,WAAasJ,GAChBtJ,EAAG,cAAgB+Z,GACnB/Z,EAAG,aAAehB,EAAM4T,QACxB5S,EAAG,cAAgB4T,EACnB5T,EAAG,cAAgBhB,EAAM9B,SACzB8C,IAAM/C,SAAUA,EAAUyV,UAAW1T,EAAM0T,UAAWjX,GAAIA,EAAI6D,MAAOqT,EAAQ7U,GAASA,GAAS,CAAC,EAAGwB,GAAQ,CAAEyC,WAAOzE,IAAegC,EAAO2E,IAAKA,GAAKhF,IAAKQ,EAAYmF,UAAW1H,OAAWI,EAAYolC,GAAkBniC,YAAayiC,GAAoBriC,QAASzD,OAAWI,EAAY+kC,GAAgBjvB,QAASA,GAAStH,OAAQA,GAAQ3K,KAAM,WAAY,gBAAiB,OAAQ,gBAAiB2gC,GAAQ,gBAAiB5kC,EAAU,aAAcyV,EAAO,kBAAmB3T,EAAM2c,eAAgB,mBAAoB3c,EAAM4c,gBAAiB,gBAAiBhI,GACziB7U,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,iBACrCH,EAAAA,cAAoB6kC,GAAgB,CAAEr+B,KAAMb,IAAS88B,IAAoB/iB,IAC7Ezf,EAAM4T,SAAW7T,EAAAA,cAAoBwD,EAAU,CAAErD,UAAW,uBAAwBvB,KAAM,YAC1F4jC,KAAarkC,GAAa6B,EAAAA,cAAoB,OAAQ,CAAE4B,QAASyiC,GAASlkC,UAAW,gBAAiB6W,MAAOwU,GAAalf,iBAAiB1B,GAAOM,GAASN,KAASxI,KAAM,SAAUlE,UAAW,EAAGsD,YAAa,SAAU7B,GAAK,OAAOA,EAAE2J,gBAAkB,GACrPtJ,EAAAA,cAAoBwD,EAAU,CAAE5E,KAAM,IAAK8D,KAAMwb,EAAAA,OACrDle,EAAAA,cAAoB8c,GAAAA,EAAQ,CAAE5e,UAAW,EAAGqF,KAAM,SAAU,aAAc,SAAUpD,UAAW,iBAAkBE,KAAMA,GAAM0F,SAAUA,GAAU3F,WAAY,OAAQ4F,QAAS,KAAMtD,KAAM,iBAAkBsa,QAASC,EAAAA,MACrNjd,EAAAA,cAAoB,SAAU,CAAEpB,KAAMA,EAAMsB,IAAKiiC,EAAWjkC,UAAW,EAAG,eAAe,EAAM8Y,MAAOpD,EAAOrT,MAAO,CAAE0W,QAAS,EAAGjU,MAAO,EAAGkU,OAAQ,EAAGC,QAAS,EAAGnN,SAAU,WAAYlO,KAAM,QAC3LkE,EAAAA,cAAoB,SAAU,CAAE2F,MAAO1F,EAAMmX,SAAWnX,EAAMmX,SAAS7X,UAAKhB,EAAWoH,IAASA,OACnGgc,IAAc3hB,EAAAA,cAAoBqF,EAAAA,EAAO,CAAElF,UAAWtD,EAAWuI,EAAcjF,UAAW,CAAE,QAAiB,QAAR+E,KAAkB+O,WAAYpX,EAAWuI,EAAc6O,WAAY,wBAAyB1T,MAAOqiC,GAAa9uB,QAAS1O,EAAc0O,QAAS0D,OAAQ9W,EAAWE,QAAS4L,KAAMu2B,GAAQ5uB,OAAQsD,GAAerD,QAASsD,GAAexD,SAAU9O,EAAc8O,UACnWjU,EAAMoR,YAAerR,EAAAA,cAAoBwF,EAAY,CAAEG,WAAwBpH,IAAjB0B,EAAM5C,OAAuBA,GAAS4C,EAAM5C,OAAQ6C,IAAK+hC,EAAUr8B,SAAU+O,GAAgB9O,UAAW+a,GAAgBvgB,KAAMA,GAAM2F,QAASA,GAASD,SAAUA,KAC9NqC,EAAKnL,OAAS,EAAK+C,EAAAA,cAAoB4/B,GAAU,CAAE1/B,IAAKkiC,GAAalkC,SAAUA,EAAUkK,KAAMo8B,GAAc9E,aAAcpsB,EAAajL,UAAWpI,EAAMoI,UAAWg3B,YAAaA,EAAaD,YAAan/B,EAAMm/B,YAAaxN,cAAef,EAAe0N,aAAa,EAAM5B,YAAa/2B,GAAU82B,eAAgB4H,GAAUjkC,KAAMA,GAAMmG,KAAMvG,EAAMuG,KAAMtB,IAAKA,KAAWlF,EAAAA,cAAoB2kC,GAAQ,KAAMnZ,GAAalf,iBAAiB3B,GAAQO,GAASP,QACvcgX,IAvD8B,WAC9B,IAAI8I,EAAexqB,EAAMoR,WAAcrR,EAAAA,cAAoBwF,EAAY,CAAEG,WAAwBpH,IAAjB0B,EAAM5C,OAAuBA,GAAS4C,EAAM5C,OAAQ6C,IAAKgiC,EAAkBt8B,SAAU+O,GAAgB9O,UAAW+a,GAAgBvgB,KAAMA,GAAM2F,QAASA,GAASD,SAAUA,KAAe,KACnQ0X,EAAmB,CACnBD,cAAevd,EAAMud,cACrBI,OAAQmlB,GACR3uB,QAAS,SAAU7S,GAAS,OAAOgrB,GAAWhrB,EAAQ,EACtD0Y,YAAaA,GACbwQ,aAAcA,GAElB,OAAQzqB,EAAAA,cAAoBwqB,GAAczrB,GAAS,CAAC,EAAG0e,GACnDzd,EAAAA,cAAoBme,GAAAA,mBAAoB,CAAEhe,UAAW,sBACjDH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,oBACpCH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,oBAAsBiI,EAAKnL,OAAS,EAAK+C,EAAAA,cAAoB4/B,GAAU,CAAE1/B,IAAKkiC,GAAalkC,SAAUA,EAAUkK,KAAMo8B,GAAc9E,aAAcpsB,EAAajL,UAAWpI,EAAMoI,UAAWg3B,YAAaA,EAAaD,YAAan/B,EAAMm/B,YAAaxN,cAAef,EAAe0N,aAAa,EAAM5B,YAAa/2B,GAAU82B,eAAgB4H,GAAUjkC,KAAMA,GAAMmG,KAAMvG,EAAMuG,KAAMtB,IAAKA,KAAWlF,EAAAA,cAAoB2kC,GAAQ,KAAMnZ,GAAalf,iBAAiB3B,GAAQO,GAASP,SAC7gB,CA0CkBuS,IAClB,OAAOtJ,EAAS5T,EAAAA,cAAoBmd,EAAAA,EAAe,CAAEvJ,MAAOA,EAAOwJ,YAAaqlB,GAAkBwC,kBAAmBvlB,EAAarC,YAAarC,GAASsC,eAAgBnf,EAAUkkB,SAAU3lB,EAAI6D,MAAO,CAAEyC,MAAOzC,EAAQA,EAAMyC,WAAQzE,GAAaiE,SAAUwiC,GAAc9/B,IAAKA,KAAU8/B,EAC9R,IACI3iC,GAAY,CACZkP,OAAQ5S,EAAAA,KACRR,SAAUQ,EAAAA,KACVuG,IAAKvG,EAAAA,OACLT,SAAUS,EAAAA,OACVgV,UAAWhV,EAAAA,OACXyJ,KAAMzJ,EAAAA,MACNgH,MAAOhH,EAAAA,IACPyY,SAAUzY,EAAAA,KACV+gB,YAAa/gB,EAAAA,OACb2U,YAAa3U,EAAAA,OAAAA,WACb0J,UAAW1J,EAAAA,OAAAA,WACX0gC,YAAa1gC,EAAAA,OACbygC,YAAazgC,EAAAA,OACbkyB,cAAelyB,EAAAA,OACfwB,UAAWxB,EAAAA,OACX4B,MAAO5B,EAAAA,OACPiV,MAAOjV,EAAAA,OACPmc,kBAAmBnc,EAAAA,OACnBmW,eAAgBnW,EAAAA,KAChBkc,MAAOlc,EAAAA,KACPkW,SAAUlW,EAAAA,KACVC,KAAMD,EAAAA,OACNjC,GAAIiC,EAAAA,OACJie,eAAgBje,EAAAA,OAChBke,gBAAiBle,EAAAA,OACjB0S,WAAY1S,EAAAA,KACZtB,OAAQsB,EAAAA,OACRkV,QAASlV,EAAAA,KACTyG,cAAezG,EAAAA,MAAgB,CAC3BmV,QAASnV,EAAAA,UAAoB,CAACA,EAAAA,KAAgBA,EAAAA,MAAgB,CACtDoV,aAAcpV,EAAAA,OACdqV,cAAerV,EAAAA,WAEvBsV,WAAYtV,EAAAA,OACZwB,UAAWxB,EAAAA,OACXuV,SAAUvV,EAAAA,IACVqE,MAAOrE,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,SAC9CsE,OAAQtE,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,WAEnDwV,OAAQxV,EAAAA,KACRyV,QAASzV,EAAAA,KACT0V,QAAS1V,EAAAA,KACToO,OAAQpO,EAAAA,KACRiH,SAAUjH,EAAAA,KACVgW,eAAgBhW,EAAAA,KAChB+9B,eAAgB/9B,EAAAA,KAChB6H,KAAM7H,EAAAA,KACNmmC,YAAanmC,EAAAA,KACbimC,WAAYjmC,EAAAA,KACZ6e,cAAe7e,EAAAA,OACfqb,SAAUrb,EAAAA,MAEdojC,GAAaz/B,YAAc,yBAC3By/B,GAAajhC,aAAeA,GAC5BihC,GAAa1/B,UAAYA,GChezB,IAAItD,GAAsC,WAStC,OARAA,GAAWrB,OAAOsB,QAAU,SAASC,GACjC,IAAK,IAAIC,EAAG1C,EAAI,EAAG2C,EAAInC,UAAUC,OAAQT,EAAI2C,EAAG3C,IAE5C,IAAK,IAAI4C,KADTF,EAAIlC,UAAUR,GACOkB,OAAO2B,UAAUC,eAAeC,KAAKL,EAAGE,KACzDH,EAAEG,GAAKF,EAAEE,IAEjB,OAAOH,CACX,EACOF,GAASS,MAAMC,KAAMzC,UAChC,EACI0oB,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArB7oB,UAAUC,OAAc,IAAK,IAA4B6oB,EAAxBtpB,EAAI,EAAGupB,EAAIH,EAAK3oB,OAAYT,EAAIupB,EAAGvpB,KACxEspB,GAAQtpB,KAAKopB,IACRE,IAAIA,EAAKtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,EAAM,EAAGppB,IAClDspB,EAAGtpB,GAAKopB,EAAKppB,IAGrB,OAAOmpB,EAAGxkB,OAAO2kB,GAAMtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,GACtD,EAsBI7P,GAAU5Z,EAAwB6Z,GAAa7Z,EAY/C2E,GAAe,CACf0+B,WAAY,aACZC,wBAAyB,0BACzB5O,cAAe,QACfzrB,cAAe,CACX0O,SAAS,EACT9Q,MAAO,QACPC,OAAQ,SAEZ5C,KAAM,SACN2F,QAAS,SACTD,SAAU,QACV8O,UAAU,EACVC,gBAAgB,GAQTowB,GAA8BlhC,IAO9BmhC,GAAkBnlC,EAAAA,YAAiB,SAAU4uB,EAAa1uB,GACjE,IAAIe,EAAIwC,EACJxD,EAAQ4D,EAAgBqhC,GAA6BtW,GACzD7Z,GAAgBC,IAChB,IAAIowB,EAAgBplC,EAAAA,SAAc,WAAc,OAAOzD,GAAQ,GAAG,IAC9DG,EAAKuD,EAAMvD,IAAM0oC,EACjB15B,EAAKzL,EAAMmI,KAAMA,OAAc,IAAPsD,EAAgB,GAAKA,EAAI4H,EAAcrT,EAAMqT,YAAaiG,EAAKtZ,EAAMmF,cAAeA,OAAuB,IAAPmU,EAAgB,CAAC,EAAIA,EAAI6C,EAAKnc,EAAMM,MAAOA,OAAe,IAAP6b,EAAgB,CAAC,EAAIA,EAAI7K,EAAStR,EAAMsR,OAAQpT,EAAW8B,EAAM9B,SAAU2pB,EAAK7nB,EAAMkU,OAAQA,OAAgB,IAAP2T,EAAgB6I,GAAO7I,EAAIK,EAAKloB,EAAMmU,QAASA,OAAiB,IAAP+T,EAAgBwI,GAAOxI,EAAIzI,EAAczf,EAAMyf,YAAa9L,EAAQ3T,EAAM2T,MAAOhV,EAAOqB,EAAMrB,KAAM2pB,EAAKtoB,EAAMu/B,WAAYA,OAAoB,IAAPjX,EAAgBznB,GAAa0+B,WAAajX,EAAIS,EAAK/oB,EAAMw/B,wBAAyBA,OAAiC,IAAPzW,EAAgBloB,GAAa2+B,wBAA0BzW,EAAI0N,EAAKz2B,EAAM4wB,cAAeA,OAAuB,IAAP6F,EAAgB51B,GAAa+vB,cAAgB6F,EAAI5b,EAAoB7a,EAAM6a,kBAAmBD,EAAQ5a,EAAM4a,MAAO6R,EAAOzsB,EAAMysB,KAAM/mB,EAAQ1F,EAAM0F,MAAOkxB,EAAK52B,EAAM4U,SAAUA,OAAkB,IAAPgiB,EAAgB/1B,GAAa+T,SAAWgiB,EAAII,EAAKh3B,EAAM6U,eAAgBA,OAAwB,IAAPmiB,EAAgBn2B,GAAagU,eAAiBmiB,EACz+B/4B,GAAWD,EAAYgC,EAAM/B,SAAUC,GACvCknC,GAAYrlC,EAAAA,OAAa,MACzBU,GAAaV,EAAAA,OAAa,MAC1BiiC,GAAWjiC,EAAAA,OAAa,MACxBkiC,GAAmBliC,EAAAA,OAAa,MAChCmiC,GAAYniC,EAAAA,OAAa,MACzBoiC,GAAcpiC,EAAAA,OAAa,MAC3BqiC,GAAeriC,EAAAA,QAAa,GAC5BslC,GAAkBtlC,EAAAA,OAAa,IAC/BulC,GAAWvlC,EAAAA,OAAa,MACxBq3B,GAAKr3B,EAAAA,WAAkBwlC,GAAkBnO,GAAG,GAAIoO,GAAqBpO,GAAG,GACxEqO,GAAK1lC,EAAAA,UAAe,GAAQ2lC,GAAYD,GAAG,GAAIE,GAAeF,GAAG,GACjEG,GAAK7lC,EAAAA,UAAe,GAAQ8lC,GAAeD,GAAG,GAAIE,GAAkBF,GAAG,GACvEG,GAAKhmC,EAAAA,WAAkBia,GAAc+rB,GAAG,GAAI/C,GAAiB+C,GAAG,GAChEC,GAAKjmC,EAAAA,SAAe,IAAKkmC,GAAmBD,GAAG,GAAIE,GAAsBF,GAAG,GAC5EG,GAAKpmC,EAAAA,SAAe,IAAKqmC,GAAcD,GAAG,GAAIE,GAAiBF,GAAG,GAClEzkB,MAAgB1H,IAAeA,IAAenE,IAAwB7V,EAAM+Z,UAC5E+oB,QAAoBxkC,IAAXgT,EAAuBA,EAASo0B,GACzCnD,GAAWh4B,QAAQhN,MAAMC,QAAQkI,IAAUA,EAAM1I,QACjD2d,GA9DU,SAAU8nB,EAAYF,GACpC,IAAI1nB,EAAoB4nB,EAAW5nB,kBAAmBD,EAAQ6nB,EAAW7nB,MAAOhG,EAAW6tB,EAAW7tB,SACtG,MAAQ,CACJkG,iBAAmCxc,IAAtBuc,EACbD,MAAOrQ,aAAkBjM,IAAVsc,EAAsBA,GAAUhG,GAAY2tB,GAC3DvnB,cAAeunB,EAEvB,CAuDmBG,CAAY,CAAE7nB,kBAAmBA,EAAmBD,MAAOA,EAAOhG,SAAUA,GAAY2tB,IACnGt9B,GAAM0rB,GAAOlwB,GAAYT,EAAMiF,KAC/Bs8B,QAA4CjjC,IAAxB6G,EAAcpC,MAClCoC,EAAcpC,WAAyBzE,IAAhBgC,EAAMyC,MAAsBzC,EAAMyC,MAAQlC,GAAasE,cAAcpC,MAC5FqP,GAAakvB,GAAiB7gC,GAAY8gC,IAC1CoB,GAAc7jC,GAAS,CAAEiE,MAAOqP,SAAuB9T,IAAR2G,GAAoB,CAAEI,UAAWJ,IAAQ,CAAC,GACzFyR,GAAQ3W,EAAAA,aAAkB,WAAc,OAAOU,GAAWE,SAAWF,GAAWE,QAAQ+V,OAAS,GAAG,IACxG2uB,GAAgB1kC,aAAmBrC,IAATmuB,GACrB/mB,GAAS,IAAIpI,KAAI,SAAUiJ,GAAQ,MAAQ,CAAEG,KAAMsB,GAAazB,EAAMvG,EAAMoI,WAAYD,KAAM,CAAC5B,GAAU,IAAKkf,GAAc,GAAIgH,GAAM,GAC3I1sB,EAAAA,oBAA0BqlC,IAAW,WAAc,MAAQ,CACvDplC,MAAOA,EACPU,QAASD,GAAWE,QACpB+V,MAAOA,GACP,IACJ3W,EAAAA,oBAA0BE,GAAK,WAAc,OAAOmlC,GAAUzkC,OAAS,IACvE,IAAI8Z,GAAc1a,EAAAA,aAAkB,WAC5BmiC,GAAUvhC,SAAWuhC,GAAUvhC,QAAQ+Z,mBACvCwnB,GAAUvhC,QAAQ+Z,kBAAkBC,GAASC,MACvC,QACsBtc,IAAtBuc,EAtFO,uCAsFgDA,EAErE,GAAG,CAACA,EAAmBF,KACvB5a,EAAAA,UAAgB0a,IAChB1a,EAAAA,WAAgB,WACZ,IAAI4b,EAAiBtG,IAAapH,OAAO2N,gBAAkB,IAAI3N,OAAO2N,eAAeC,GAAezN,KA/GhG,YAmHJ,OAHkB,OAAbkH,eAAkC,IAAbA,cAAsB,EAASA,SAASwG,OAASH,GACvEA,EAAeI,QAAQzG,SAASwG,MAE7B,WACHH,EAAeM,YACnB,CACJ,GAAG,IACHlc,EAAAA,WAAgB,WACRulC,GAAS3kC,SAAWmiC,IACpBwC,GAAS3kC,QAAQ2lC,YAAYhB,GAAS3kC,QAAQ4lC,OAEtD,GAAG,CAAC7gC,EAAOo9B,KACX,IAAImB,GAAclkC,EAAAA,aAAkB,SAAUuB,EAAOklC,EAAcC,GAC/D,GAAIzmC,EAAM2F,SAAU,CAChB,IAAIu+B,EAAcplC,GAAS,CAAE+I,MAAO2+B,EAAcC,UAAWA,GAAanlC,GAC1EtB,EAAM2F,SAASrG,UAAKhB,EAAW4lC,EACnC,CACJ,GAAG,CAAClkC,EAAM2F,WACNA,GAAW5F,EAAAA,aAAkB,SAAUuB,GACvC,IAAIuH,GAAQvH,EAAMiF,KAAMb,EAAO2N,IAAiB+xB,GAAUzkC,QAA1D,CAGA,IAAI4F,EAAOjF,EAAMiF,KAAM0M,EAAc3R,EAAM2R,YACvCswB,EAAK,CACL/hC,eAFqEF,EAAME,eAG3EyR,YAAaA,EACbzS,OAAQ4kC,GAAUzkC,SAEtBsjC,GAAYV,EAAI,CAACh9B,GAAO,SAPxB,CAQJ,GAAG,CAACb,EAAO2N,EAAa4wB,KACpBf,GAAYnjC,EAAAA,aAAkB,SAAUuB,GACxC,IAAKwhC,GAAQ,CACT,GAAI5uB,EAAQ,CACR,IAAIivB,EAAYrkC,GAAS,CAAC,EAAGwC,GAC7B4S,EAAO5U,UAAKhB,EAAW6kC,EAC3B,MACe7kC,IAAXgT,IACAq0B,IAAa,GACbO,GAAoBxgC,GAAS,IACzBgc,IACAxT,YAAW,WACP,IAAIlN,EACJwZ,GAAiD,QAAnCxZ,EAAKihC,GAAiBthC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,QACzF,GAAG,KAGf,CACJ,GAAG,CAACoiC,GAAQxxB,EAAQ4C,EAAQwN,GAAYugB,KACpC3V,GAAavsB,EAAAA,aAAkB,SAAUuB,GACzC,GAAIwhC,GAAQ,CACR,GAAI3uB,EAAS,CACT,IAAIivB,EAAatkC,GAAS,CAAC,EAAGwC,GAC9B6S,EAAQ7U,UAAKhB,EAAW8kC,EAC5B,MACe9kC,IAAXgT,GACAq0B,IAAa,EAErB,CACJ,GAAG,CAAC7C,GAAQxxB,EAAQ6C,IAChBqvB,GAAczjC,EAAAA,aAAkB,SAAU0jC,GAC1CrB,GAAazhC,SAAU,EACvB8iC,IACAx1B,OAAOC,YAAW,WAAc,OAAOk0B,GAAazhC,SAAU,CAAO,GAAG,EAC5E,GAAG,IACC6Z,GAAeza,EAAAA,aAAkB,SAAUW,GACvCA,GACA8iC,IAAY,WAAc,OAAO9iC,EAAQgW,OAAS,GAE1D,GAAG,CAAC8sB,KACAhsB,GAAgBzX,EAAAA,aAAkB,WAClC,IAAIiB,GACC6kC,IAAgB/C,GACjBxW,GAAW,CAAE9rB,OAAQ4kC,GAAUzkC,UAG3BX,EAAMoR,WACNoJ,GAAyC,QAA3BxZ,EAAKghC,GAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,SAG7E8Z,GAAa2nB,GAAYxhC,SAAWwhC,GAAYxhC,QAAQD,QAGpE,GAAG,CAACmlC,GAAc/C,GAAQtoB,GAAc8R,GAAYtsB,EAAMoR,aACtDqG,GAAgB1X,EAAAA,aAAkB,WAC9B8lC,IAEArrB,GAAa/Z,GAAWE,QAEhC,GAAG,CAACklC,GAAcrrB,KACdpG,GAAUrU,EAAAA,aAAkB,SAAUuB,GACtC,IAAKukC,KAAiBzD,GAAazhC,UAC/BmlC,IAAgB,GACZ9lC,EAAMoU,SAAWgxB,GAAUzkC,SAAS,CACpC,IAAIojC,EAAa,CACbviC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SAEtBX,EAAMoU,QAAQ9U,UAAKhB,EAAWylC,EAClC,CAER,GAAG,CAAC8B,GAAc7lC,EAAMoU,UACpBtH,GAAS/M,EAAAA,aAAkB,SAAUuB,GACrC,GAAIukC,KAAiBzD,GAAazhC,SAAWykC,GAAUzkC,QAAS,CAC5DmlC,IAAgB,GAChB,IAAIvC,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SAEtB,GAAIX,EAAM8M,OAAQ,CACd,IAAIi3B,EAAajlC,GAAS,CAAC,EAAGykC,GAC9BvjC,EAAM8M,OAAOxN,UAAKhB,EAAWylC,EACjC,CACKriB,IACD4K,GAAWiX,EAEnB,CACJ,GAAG,CAACsC,GAAc7lC,EAAM8M,OAAQg2B,GAAQxxB,EAAQ6C,IAC5C6vB,GAAqBjkC,EAAAA,aAAkB,WACnC8lC,IAEArC,GAAY9S,GAEpB,GAAG,CAACmV,GAAcrC,KACdH,GAAiBtjC,EAAAA,aAAkB,SAAUuB,GAC7C,IAAKA,EAAMgiC,sBAAwB8B,GAAUzkC,QAAS,CAClDmlC,IAAgB,GAChB,IAAIvC,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SAEjBmiC,IACDI,GAAUK,EAElB,CACJ,GAAG,CAACT,GAAQI,KACRQ,GAAmB3jC,EAAAA,aAAkB,SAAUuB,GAC/C,IAAIN,EAAIwC,EACJ2M,EAAU7O,EAAM6O,QAASuJ,EAASpY,EAAMoY,OACxCgtB,EAAkBvE,GAAYxhC,SAAWwhC,GAAYxhC,QAAQD,QACjE,GAAK0kC,GAAUzkC,WAAYW,EAAMgiC,uBAAqD,QAA3BtiC,EAAKghC,GAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,WAAaY,EAAMd,QAA7I,CAGA,IAAI+iC,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SAEtB,GAAI+E,GAASA,EAAM1I,OAAS,IACvBmT,IAAYjV,GAAaiV,IAAYjV,GAClCiV,IAAYjV,GAAaiV,IAAYjV,GACrCiV,IAAYjV,GAAc,CAC9B,IAAIqxB,EAAe8Y,GAAgB1kC,QAC/B6K,EAAe+5B,GACfhZ,EAAahkB,WAAU,SAAUvJ,GAAK,OAAOsK,GAAUtK,EAAGumC,GAAiBlyB,EAAc,KAAM,EAC/F+Z,OAAgB9uB,EAChB+uB,GAA+B,IAAlB7hB,EACb2E,IAAYjV,EAOZkyB,EAAgBb,EALZ/gB,EADA6hB,EACe3wB,KAAKqS,IAAI,EAAGvD,EAAe,GAG3B+gB,EAAavvB,OAAS,GAIpCmT,IAAYjV,EACbsQ,IAAiB+gB,EAAavvB,OAAS,EACvCowB,OAAgB9uB,EAEX+uB,IAELD,EAAgBb,EADhB/gB,EAAe9O,KAAK4R,IAAIie,EAAavvB,OAAS,EAAGwO,EAAe,KAI/D2E,IAAYjV,EACjBkyB,EAAgBb,EAAa,GAExBpc,IAAYjV,EACjBkyB,EAAgBb,EAAaA,EAAavvB,OAAS,GAE9CmT,IAAYjV,GACbmyB,GACA4W,GAAYV,EAAIhX,EAAa/gB,GAAcrD,KAAM,UAGrDilB,IAAkBmY,IAClBC,GAAmBpY,EAE3B,CACA,GAAI0V,GACA,GAAI3yB,IAAYjV,GAAawe,GAAUvJ,IAAYjV,EAC/CoG,EAAM+H,iBACNijB,GAAWiX,QAEV,GAAImD,GAAmBA,EAAgB9C,cAAc,cACrDzzB,IAAYjV,GAAWiV,IAAYjV,GAChCiV,IAAYjV,GAAaiV,IAAYjV,GACrCiV,IAAYjV,GAAaiV,IAAYjV,GAAW,CACpD,GAAIiV,IAAYjV,IAAwC,QAA3BsI,EAAKw+B,GAASrhC,eAA4B,IAAP6C,OAAgB,EAASA,EAAG9C,SAAU,CAClG,IAAImH,EAAQtK,MAAMooB,KAAK+gB,EAAgB7C,iBAAiB,qBACpDriB,EAAciE,GAAc,GAAI5d,GAAO,GAAMi8B,UAAUhX,MAAK,SAAUvwB,GAAK,OAAOgO,QAAQhO,GAAKA,EAAEqnC,cAAc,YAAc,IACjI,GAAIpiB,GAA8C,IAA/B3Z,EAAMlI,QAAQ6hB,GAC7B,OAAOgiB,IAAY,WAAc,IAAIxiC,EAAIwZ,GAAyC,QAA3BxZ,EAAKghC,GAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,QAAU,GAExI,CACA8iC,GAAY9S,GAChB,MACSvgB,IAAYjV,GACjBsoC,IAAY,WAAc,IAAIxiC,EAAIwZ,IAA0C,QAA3BxZ,EAAKghC,GAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,UAAYgmC,EAAkB,SAI9IhtB,GAAUvJ,IAAYjV,IACtBoG,EAAM+H,iBACN65B,GAAUK,GAzElB,CA4EJ,GAAG,CAACT,GAAQxW,GAAY9R,GAAcgpB,GAAaN,GAAWqC,GAAiBlyB,EAAa3N,EAAOu+B,KAC/FtjB,GAAiB5gB,EAAAA,aAAkB,SAAUuB,GAC7C,IAAI6O,EAAU7O,EAAM6O,QAAkB7O,EAAMoY,QAC7BvJ,IAAYjV,GAAWiV,IAAYjV,IAGlDoG,EAAM+H,iBACNm6B,GAAYrzB,IAAYjV,EACpB,WAAcsf,GAAa/Z,GAAWE,QAAU,EAChD,WAAc6Z,GAAa2nB,GAAYxhC,SAAWwhC,GAAYxhC,QAAQD,QAAU,GACxF,GAAG,CAAC8Z,GAAcgpB,KACdY,GAAUrkC,EAAAA,aAAkB,SAAUuB,GACtC,GAAK8jC,GAAUzkC,QAAf,CAGA,IAAI4iC,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SAEtBsjC,GAAYV,EAAI,GAAI,SACpBjX,GAAWiX,GACXjiC,EAAM+H,gBARN,CASJ,GAAG,CAAC46B,GAAa3X,KACbpC,GAAcnqB,EAAAA,aAAkB,SAAU4rB,EAAerqB,GACzD,IAAIN,EACJsrB,GAAW,CAAE9rB,OAAQ4kC,GAAUzkC,UAC1BklC,IACDrrB,GAAyC,QAA3BxZ,EAAKghC,GAASrhC,eAA4B,IAAPK,OAAgB,EAASA,EAAGN,SAEjFujC,GAAY,CACRziC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SACnBgrB,EAAe,SACtB,GAAG,CAACsY,GAAa3X,GAAY9R,GAAcqrB,KACvCxB,GAAWtkC,EAAAA,aAAkB,SAAUuB,GACvC,GAAItB,EAAMy8B,gBAAkB2I,GAAUzkC,QAAS,CAC3C,IAAI4F,EAAOjF,EAAMiF,KAAMs4B,EAAwBv9B,EAAMu9B,sBAAuB5rB,EAAc3R,EAAM2R,YAAazR,EAAiBF,EAAME,eAChI8iC,EAAc,CACdH,OA9VQvC,EA8VO/C,EA7VpB+C,EAAkBn5B,MAAM,KAAKnL,KAAI,SAAUf,GAAK,OAAO8B,SAAS9B,EAAG,GAAK,KA8VnEgK,KAAMA,EACN0M,YAAaA,EACbzR,eAAgBA,EAChBhB,OAAQ4kC,GAAUzkC,SAEtBX,EAAMy8B,eAAen9B,UAAKhB,EAAWgmC,EACzC,CArWM,IAAU1C,CAsWpB,GAAG,CAAC5hC,EAAMy8B,iBACN/nB,GAAiB3U,EAAAA,aAAkB,SAAUuB,GAC7C,GAAItB,EAAM0U,gBAAkB0wB,GAAUzkC,QAAS,CAC3C,IACI4iC,EAAK,CACLnmC,OAFa,CAAE0K,MAAO9H,EAAMoI,UAAWiJ,SAAU,WAAY3L,MAAOpE,EAAMd,OAAOkF,OAGjFlE,eAAgBF,EAAME,eACtByR,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SAEtBX,EAAM0U,eAAepV,UAAKhB,EAAWilC,QAChBjlC,IAAjB0B,EAAM5C,QACNipC,GAAe/kC,EAAMd,OAAOkF,MAEpC,CACJ,GAAG,CAAC1F,EAAM0U,eAAgB1U,EAAM5C,OAAQ4C,EAAMoI,YAC1CuiB,GAAW5qB,EAAAA,aAAkB,SAAUuB,GACvC,GAAK8jC,GAAUzkC,QAAf,CAGA,IAAI4iC,EAAK,CACL/hC,eAAgBF,EAChB2R,YAAa3R,EAAM2R,YACnBzS,OAAQ4kC,GAAUzkC,SAElBX,EAAM2qB,UACN3qB,EAAM2qB,SAASrrB,UAAKhB,EAAWilC,GAGnCjX,GAAWiX,GACXjiC,EAAM+H,gBAXN,CAYJ,GAAG,CAACrJ,EAAM2qB,SAAU2B,KAqBhBzQ,GAAiB9b,EAAAA,aAAkB,SAAUqe,GAC7C,IAAK,IAAIthB,EAAK,EAAGuhB,EAAYD,EAASthB,EAAKuhB,EAAUrhB,OAAQF,IAAM,CAC/D,IAAIwhB,EAAQD,EAAUvhB,GACtBkmC,GAAe1kB,EAAM9d,OAAO+d,YAChC,CAEJ,GAAG,IACCmmB,GAAS1kC,EAAM2kC,YAAclD,GAC7BlW,IAAeuZ,EAAAA,GAAAA,KACf/pB,IAAWlG,GAAkB8F,GAASC,MACtCxa,GAAOJ,EAAMI,KAAM2F,GAAU/F,EAAM+F,QAASD,GAAW9F,EAAM8F,SAC7D8mB,GAAsBlL,IAAcohB,GAASmD,GAAmBZ,GAAgB1kC,QAChFgmC,GAAmB5mC,EAAAA,cAAoBA,EAAAA,SAAgB,KACvDA,EAAAA,cAAoB,OAAQ,CAAEG,UAAWtD,EAAW,4BAA6BoD,EAAME,WAAYc,EAAK,CAAC,EACjGA,EAAG,WAAWE,OAAO4U,GAAQ1V,KAASA,KAASA,GAC/CY,EAAG,aAAaE,OAAO6U,GAAWhQ,KAAYA,KAAYA,GAC1D/E,EAAG,WAAWE,OAAO4E,KAAaA,GAClC9E,EAAG,WAAa6kC,KAAiB3nC,EACjC8C,EAAG,cAAgB+Z,GACnB/Z,EAAG,cAAgB9C,EACnB8C,EAAG,aAAehB,EAAM4T,QACxB5S,EAAG,cAAgB4T,EACnB5T,IAAM/C,SAAUA,GAAUyV,UAAW1T,EAAM0T,UAAWjX,GAAIA,EAAI6D,MAAOqT,EAAQ7U,GAASA,GAAS,CAAC,EAAGwB,GAAQ,CAAEyC,WAAOzE,IAAegC,EAAO2E,IAAKA,GAAKhF,IAAKQ,GAAYmF,UAAW1H,OAAWI,EAAYolC,GAAkBniC,YAAayiC,GAAoB5vB,QAASA,GAAStH,OAAQA,GAAQ3K,KAAM,WAAY,gBAAiB,OAAQ,gBAAiB2gC,GAAQ,gBAAiB5kC,EAAU,aAAcyV,EAAO,kBAAmB3T,EAAM2c,eAAgB,mBAAoB3c,EAAM4c,gBAAkB5c,EAAM4c,gBAAkB,YAAcngB,EAAI,gBAAiBuD,EAAM4U,SAAUjT,QAASzD,OAAWI,EAAY+kC,IACplBtjC,EAAAA,cAAoB,MAAO,CAAEtD,GAAI,YAAcA,EAAIyD,UAAWtD,EAAW,mDAAoD4G,EAAK,CAAC,EAC3HA,EAAG,eAAetC,OAAO4U,GAAQ1V,KAASA,KAASA,GACnDoD,KAAQopB,GAAoB5vB,OAAS,GAAM+C,EAAAA,cAAoB+pB,GAAS,CAAEG,IAAKjqB,EAAMiqB,IAAKC,YAAaA,GAAa/hB,KAAMykB,GAAqBtwB,KAAMG,EAAI6N,QAASi7B,GAAkBF,GAAgB1kC,QAAQmsB,MAAK,SAAU9tB,GAAK,OAAOsK,GAAUtK,EAAGumC,GAAiBlyB,EAAc,SAAK/U,EAAW8B,KAAMA,QAC/SmiC,IAAY7gB,KACV3hB,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,gBAAiBiC,KAAM,WAAYlE,SAAUA,GAAU,gBAAiB6kC,GAAQ,mBAAoB,YAAcrmC,EAAI,aAAcuD,EAAM2c,gBAC/K5c,EAAAA,cAAoB,OAAQ,CAAEG,UAAW,sBAAwB,SACzEF,EAAM4T,SAAW7T,EAAAA,cAAoBwD,EAAU,CAAErD,UAAW,uBAAwBvB,KAAM,YAC1F4jC,KAAarkC,GAAY0uB,GAAoB5vB,OAAS,GAClD+C,EAAAA,cAAoB+f,GAAa,CAAEne,QAASyiC,KAChDrkC,EAAAA,cAAoB,SAAU,CAAEpB,KAAMA,EAAMsB,IAAKiiC,GAAWjkC,UAAW,EAAG,eAAe,EAAM8Y,MAAOpD,EAAOrT,MAAO,CAAE0W,QAAS,EAAGjU,MAAO,EAAGkU,OAAQ,EAAGC,QAAS,EAAGnN,SAAU,WAAYlO,KAAM,QAC3LkE,EAAAA,cAAoB,SAAU,CAAE2F,MAAO1F,EAAMmX,SAAWnX,EAAMmX,SAAS7X,UAAKhB,EAAWoH,GAASA,MACnGgc,IAAc3hB,EAAAA,cAAoBqF,EAAAA,EAAO,CAAE4O,WAAYpX,EAAWuI,EAAc6O,WAAY,2BAA4B9T,UAAWtD,EAAWuI,EAAcjF,UAAW,CAAE,QAAiB,QAAR+E,KAAkB3E,MAAOqiC,GAAa9uB,QAAS1O,EAAc0O,QAAS0D,OAAQ9W,GAAWE,QAAS4L,KAAMu2B,GAAQ5uB,OAAQsD,GAAerD,QAASsD,GAAexD,SAAU9O,EAAc8O,SAAUhU,IAAKqlC,IACrXtlC,EAAMoR,YAAerR,EAAAA,cAAoBwF,EAAY,CAAEG,WAAwBpH,IAAjB0B,EAAM5C,OAAuBgpC,GAAcpmC,EAAM5C,OAAQ6C,IAAK+hC,GAAUr8B,SAAU+O,GAAgB9O,UAAW+a,GAAgB1iB,SAAUA,GAAUmC,KAAMA,GAAM2F,QAASA,GAASD,SAAUA,KACvPqC,EAAKnL,OAAS,EAAK+C,EAAAA,cAAoB4/B,GAAU,CAAE1/B,IAAKkiC,GAAalkC,SAAUA,GAAUkK,KAAMA,EAAMs3B,aAAcpsB,EAAajL,UAAWpI,EAAMoI,UAAWm3B,WAAYA,EAAYC,wBAAyBA,EAAyBL,YAAan/B,EAAMm/B,YAAaxN,cAAef,EAAe0N,aAAa,EAAM5B,YAAa/2B,GAAU62B,cAAe72B,GAAU82B,eAAgB4H,GAAUlG,YAAY,EAAM/9B,KAAMA,GAAMmG,KAAMvG,EAAMuG,KAAMtB,IAAKA,KAAWlF,EAAAA,cAAoB2kC,GAAQ,KAAMnZ,GAAalf,iBAAiB3B,GAAQO,GAASP,QAC1hBgX,IAzD8B,WAC9B,IAAI8I,EAAexqB,EAAMoR,WAAcrR,EAAAA,cAAoBwF,EAAY,CAAEG,WAAwBpH,IAAjB0B,EAAM5C,OAAuBgpC,GAAcpmC,EAAM5C,OAAQ6C,IAAKgiC,GAAkBt8B,SAAU+O,GAAgB9O,UAAW+a,GAAgBvgB,KAAMA,GAAM2F,QAASA,GAASD,SAAUA,KAAe,KACxQ0X,EAAmB,CACnBD,cAAevd,EAAMud,cACrBI,OAAQmlB,GACR3uB,QAAS,SAAU7S,GAAS,OAAOtB,EAAM2qB,SAAWA,GAASrpB,GAAS8iC,GAAQ9iC,EAAQ,EACtF0Y,YAAaA,GACbwQ,aAAcA,EACdhW,OAAQ,CACJkW,WAAYa,GAAalf,iBAAiBrB,GAA0BC,GAASD,KAC7E2f,SAAU,SAAUrpB,GAAS,OAAOtB,EAAM2qB,SAAWA,GAASrpB,GAAS8iC,GAAQ9iC,EAAQ,EACvFspB,UAAWW,GAAalf,iBAAiBtB,GAAyBE,GAASF,KAC3E8f,QAAS,SAAUvpB,GAAS,OAAOgrB,GAAWhrB,EAAQ,IAG9D,OAAQvB,EAAAA,cAAoBwqB,GAAczrB,GAAS,CAAC,EAAG0e,GACnDzd,EAAAA,cAAoBme,GAAAA,mBAAoB,CAAEhe,UAAW,sBACjDH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,oBACpCH,EAAAA,cAAoB,MAAO,CAAEG,UAAW,oBAAsBiI,EAAKnL,OAAS,EAAK+C,EAAAA,cAAoB4/B,GAAU,CAAE1/B,IAAKkiC,GAAalkC,SAAUA,GAAUkK,KAAMA,EAAMs3B,aAAcpsB,EAAajL,UAAWpI,EAAMoI,UAAWm3B,WAAYA,EAAYC,wBAAyBA,EAAyBL,YAAan/B,EAAMm/B,YAAaxN,cAAef,EAAe0N,aAAa,EAAM5B,YAAa/2B,GAAU62B,cAAe72B,GAAU82B,eAAgB4H,GAAUlG,YAAY,EAAM/9B,KAAMA,GAAMmG,KAAMvG,EAAMuG,KAAMtB,IAAKA,KAAWlF,EAAAA,cAAoB2kC,GAAQ,KAAMnZ,GAAalf,iBAAiB3B,GAAQO,GAASP,SAChmB,CAsCkBuS,IAClB,OAAOtJ,EAAS5T,EAAAA,cAAoBmd,EAAAA,EAAe,CAAEvJ,MAAOA,EAAOwJ,YAAaolB,GAAUyC,kBAAmBvlB,EAAarC,YAAarC,GAASsC,eAAgBnf,EAAUkkB,SAAU3lB,EAAI6D,MAAO,CAAEyC,MAAOzC,EAAQA,EAAMyC,WAAQzE,GAAaiE,SAAUokC,GAAiB1hC,IAAKA,KAAU0hC,EACzR,IACIvkC,GAAY,CACZkP,OAAQ5S,EAAAA,KACRR,SAAUQ,EAAAA,KACVuG,IAAKvG,EAAAA,OACLT,SAAUS,EAAAA,OACVgV,UAAWhV,EAAAA,OACXyJ,KAAMzJ,EAAAA,MACNgH,MAAOhH,EAAAA,IACPyY,SAAUzY,EAAAA,KACV+gB,YAAa/gB,EAAAA,OACb2U,YAAa3U,EAAAA,OAAAA,WACb0J,UAAW1J,EAAAA,OAAAA,WACX6gC,WAAY7gC,EAAAA,OACZ8gC,wBAAyB9gC,EAAAA,OACzBygC,YAAazgC,EAAAA,OACbkyB,cAAelyB,EAAAA,OACfwB,UAAWxB,EAAAA,OACX4B,MAAO5B,EAAAA,OACPiV,MAAOjV,EAAAA,OACPmc,kBAAmBnc,EAAAA,OACnBmW,eAAgBnW,EAAAA,KAChBkc,MAAOlc,EAAAA,KACPkW,SAAUlW,EAAAA,KACVC,KAAMD,EAAAA,OACNjC,GAAIiC,EAAAA,OACJie,eAAgBje,EAAAA,OAChBke,gBAAiBle,EAAAA,OACjB0S,WAAY1S,EAAAA,KACZtB,OAAQsB,EAAAA,OACRkV,QAASlV,EAAAA,KACT+tB,KAAM/tB,EAAAA,QAAkBA,EAAAA,MAAgB,CACpCgI,KAAMhI,EAAAA,OACNyJ,KAAMzJ,EAAAA,QAAkBA,EAAAA,QAE5ByG,cAAezG,EAAAA,MAAgB,CAC3BmV,QAASnV,EAAAA,UAAoB,CAACA,EAAAA,KAAgBA,EAAAA,MAAgB,CACtDoV,aAAcpV,EAAAA,OACdqV,cAAerV,EAAAA,WAEvBsV,WAAYtV,EAAAA,OACZwB,UAAWxB,EAAAA,OACXuV,SAAUvV,EAAAA,IACVqE,MAAOrE,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,SAC9CsE,OAAQtE,EAAAA,UAAoB,CAACA,EAAAA,OAAkBA,EAAAA,WAEnDwV,OAAQxV,EAAAA,KACRyV,QAASzV,EAAAA,KACT0V,QAAS1V,EAAAA,KACToO,OAAQpO,EAAAA,KACRiH,SAAUjH,EAAAA,KACVgW,eAAgBhW,EAAAA,KAChB+9B,eAAgB/9B,EAAAA,KAChBisB,SAAUjsB,EAAAA,KACV6H,KAAM7H,EAAAA,KACNimC,WAAYjmC,EAAAA,KACZ6e,cAAe7e,EAAAA,OACfqb,SAAUrb,EAAAA,MAEdwmC,GAAgB7iC,YAAc,4BAC9B6iC,GAAgBrkC,aAAeA,GAC/BqkC,GAAgB9iC,UAAYA,GCxiB5B,IAAIqjB,GAAgD,SAAUC,EAAIC,EAAMC,GACpE,GAAIA,GAA6B,IAArB7oB,UAAUC,OAAc,IAAK,IAA4B6oB,EAAxBtpB,EAAI,EAAGupB,EAAIH,EAAK3oB,OAAYT,EAAIupB,EAAGvpB,KACxEspB,GAAQtpB,KAAKopB,IACRE,IAAIA,EAAKtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,EAAM,EAAGppB,IAClDspB,EAAGtpB,GAAKopB,EAAKppB,IAGrB,OAAOmpB,EAAGxkB,OAAO2kB,GAAMtoB,MAAM6B,UAAUyY,MAAMvY,KAAKqmB,GACtD,EAGWihB,GAAc,SAAUlhC,EAAOmhC,GACtC,IAAIvpC,EAAM,CAAC,EAMX,OALIoI,GAASA,EAAM1I,QACf0I,EAAM/H,SAAQ,SAAU4I,GACpBjJ,EAAIupC,EAAStgC,KAAS,CAC1B,IAEGjJ,CACX,EAQWwpC,GAA0B,SAAU3+B,EAAMiuB,GACjD,IAAIvuB,EAAQuuB,EAAQvuB,MAAOwL,EAAc+iB,EAAQ/iB,YAAa3N,EAAQ0wB,EAAQ1wB,MAAO1E,EAAKo1B,EAAQxF,cAAeA,OAAuB,IAAP5vB,EAAgB,QAAUA,EAAIylC,EAAYrQ,EAAQqQ,UAC/KI,EAAW9hB,GAAO1R,GAClB8D,EAAWyvB,GAAYlhC,EAAOmhC,GAClC,GAAkB,UAAdJ,EACA,MAAO,GAEN,GAAkB,WAAdA,EAAwB,CAC7B,IAAIM,EAAoBH,GAAY/+B,EAAOg/B,GAC3C,OAAOnhC,EAAMtI,QAAO,SAAUmJ,GAAQ,OAAQwgC,EAAkBF,EAAStgC,GAAQ,GACrF,CASA,IAPA,IAMIygC,EANArlB,EAAe9Z,EAAM,GACrBo/B,EAAaJ,EAASllB,GACtBulB,EAAgBniB,GAAO6L,GACvBuW,EAAQ1hB,GAAc,GAAItd,GAAM,GAChCtE,EAAU,GACVujC,EAAU,GAEPD,EAAMnqC,QAAQ,CACjB,IAAIm3B,EAAcgT,EAAM5Z,MACxB,GAAI0Z,IAAeJ,EAAS1S,GAAc,CACtCiT,EAAUvjC,EAAQvG,KAAI,SAAU+pC,GAAe,OAAOA,EAAY9gC,IAAM,IACxEygC,EAAY7S,EACZ,KACJ,CAEQtwB,GACAA,EAAQ7G,QACR6G,EAAQA,EAAQ7G,OAAS,GAAGsqC,iBAAmBH,EAAMnqC,QACrD6G,EAAQ0pB,OAERsD,EAAWqW,EAAc/S,KACbtD,EAAS7zB,SACrB6G,EAAQqN,KAAK,CAAE3K,KAAM4tB,EAAamT,eAAgBH,EAAMnqC,SACxDmqC,EAAMj2B,KAAK3R,MAAM4nC,EAAOtW,GAGpC,CAGA,IAFA,IAAI0W,EAAgB9hB,GAAc,GAAKyhB,EAAcF,IAAc,IAAK,GACpEzkC,EAAW,GACRglC,EAAcvqC,QAAQ,CACrBm3B,EAAcoT,EAAcha,MAChChrB,EAAS2O,KAAKijB,IACVtD,EAAWqW,EAAc/S,KACbtD,EAAS7zB,QACrBuqC,EAAcr2B,KAAK3R,MAAMgoC,EAAe1W,EAEhD,CACA,IACIlN,EAAW,GACf,IAFiBxM,EAAS8vB,GAEX,CACXtjB,EAASzS,KAAK3R,MAAMokB,EAAUje,GAC9Bie,EAASzS,KAAK81B,GACdrjB,EAASzS,KAAK3R,MAAMokB,EAAUphB,EAASnF,QAAO,SAAUmJ,GAAQ,OAAQ4Q,EAAS0vB,EAAStgC,GAAQ,KAGlG,IAFA,IAAIihC,EAAmBJ,EAAQhqC,QAAO,SAAUmJ,GAAQ,OAAQ4Q,EAAS0vB,EAAStgC,GAAQ,IACtFkhC,EAAgBb,GAAYjjB,EAAUkjB,GACjCtqC,EAAIirC,EAAiBxqC,OAAS,EAAGT,GAAK,EAAGA,IAAK,CACnD,IACIs0B,EADA6W,EAAYF,EAAiBjrC,GAGjC,IAFIs0B,EAAWqW,EAAcQ,IACQtqC,QAAO,SAAUmJ,GAAQ,OAAOkhC,EAAcZ,EAAStgC,GAAQ,IAAGvJ,OAC3E6zB,EAAS7zB,OACjC,MAGA2mB,EAASzS,KAAKw2B,GACdD,EAAcZ,EAASa,KAAc,CAE7C,CACJ,KACK,CACD,IAAIC,EAAYd,EAASG,GACrBY,EAAgBhB,GAAYrkC,EAAUskC,GACtCgB,EAAejB,GAAYQ,EAASP,GACxCljB,EAASzS,KAAK3R,MAAMokB,EAAWje,EAC1BtI,QAAO,SAAUmJ,GAClB,IAAImrB,EAASmV,EAAStgC,GACtB,OAAQqhC,EAAclW,IAAWiW,IAAcjW,IAAWmW,EAAanW,EAC3E,IACJ,CACA,OAAO/N,CACX,C","sources":["../node_modules/@progress/kendo-react-buttons/node_modules/@progress/kendo-react-common/dist/es/keys.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/theme.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/guid.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/classNames.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/keys.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/getTabIndex.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/icons/constants.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/icons/utils.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/icons/Icon.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/hooks/useMouse.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/icons/SvgIcon.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/icons/IconsContext.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/icons/IconWrap.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/hooks/usePropsContext.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/hocs/withPropsContext.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/ListContainer.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/ListFilter.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/GroupStickyHeader.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/utils.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/ListDefaultItem.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/ListItem.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/ListGroupItem.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/messages/index.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/List.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/VirtualScroll.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/Navigation.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/DropDownBase.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/validate-package.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/canUseDOM.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/package-metadata.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/constants.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/DropDownList/DropDownList.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/getActiveElement.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/SearchBar.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/ClearButton.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/ComboBox/ComboBox.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/AutoComplete/AutoComplete.js","../node_modules/@progress/kendo-react-buttons/node_modules/@progress/kendo-react-common/dist/es/hooks/useDir.js","../node_modules/@progress/kendo-react-buttons/node_modules/@progress/kendo-react-common/dist/es/constants/index.js","../node_modules/@progress/kendo-react-buttons/node_modules/@progress/kendo-react-common/dist/es/getter.js","../node_modules/@progress/kendo-react-buttons/node_modules/@progress/kendo-react-common/dist/es/fieldList.js","../node_modules/@progress/kendo-react-buttons/dist/es/Chip/selection-reducer.js","../node_modules/@progress/kendo-react-buttons/node_modules/@progress/kendo-react-common/dist/es/getTabIndex.js","../node_modules/@progress/kendo-react-buttons/dist/es/Chip/focus-reducer.js","../node_modules/@progress/kendo-react-buttons/dist/es/Chip/data-reducer.js","../node_modules/@progress/kendo-react-buttons/dist/es/Chip/ChipList.js","../node_modules/@progress/kendo-react-buttons/dist/es/Chip/Chip.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/MultiSelect/TagList.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/settings.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/AdaptiveMode.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/MultiSelect/MultiSelect.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/common/MultiColumnList.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/browser-support.service.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/constants/index.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/getter.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/fieldList.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/MultiColumnComboBox/MultiColumnComboBox.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/scrollbarWidth.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/noop.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/hooks/useRtl.js","../node_modules/@progress/kendo-react-dropdowns/node_modules/@progress/kendo-react-common/dist/es/treeDataOperations.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/theme.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/guid.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/classNames.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/keys.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/events/dispatchEvent.js","../node_modules/@progress/kendo-react-treeview/dist/es/utils/itemIdUtils.js","../node_modules/@progress/kendo-react-treeview/dist/es/utils/SortedPublicItemIds.js","../node_modules/@progress/kendo-react-treeview/dist/es/utils/misc.js","../node_modules/@progress/kendo-react-treeview/dist/es/utils/itemUtils.js","../node_modules/@progress/kendo-react-treeview/dist/es/utils/getItemIdUponKeyboardNavigation.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/noop.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/hooks/useInheritedState.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/drag-n-drop/context/index.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/Draggable.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/hooks/useDraggable.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/icons/constants.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/icons/Icon.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/icons/utils.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/hooks/useMouse.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/icons/SvgIcon.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/icons/IconsContext.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/icons/IconWrap.js","../node_modules/@progress/kendo-react-treeview/dist/es/utils/consts.js","../node_modules/@progress/kendo-react-treeview/dist/es/TreeViewItem.js","../node_modules/@progress/kendo-react-treeview/dist/es/utils/FieldsService.js","../node_modules/@progress/kendo-react-treeview/dist/es/package-metadata.js","../node_modules/@progress/kendo-react-treeview/dist/es/TreeView.js","../node_modules/@progress/kendo-react-treeview/node_modules/@progress/kendo-react-common/dist/es/validate-package.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/DropDownTree/useDropdownWidth.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/DropDownTree/ListNoData.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/DropDownTree/DropDownTree.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/MultiSelectTree/MultiSelectTree.js","../node_modules/@progress/kendo-react-dropdowns/dist/es/MultiSelectTree/utils.js"],"sourcesContent":["/**\n * @hidden\n */\nexport var Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\n","/** @hidden */\nexport var kendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n }\n};\n","/* eslint-disable no-bitwise */\n/**\n * @hidden\n */\nexport var guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\n","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = {};\n var addLeafKeys = function (arg) { return typeof arg === 'object' ? Object\n .keys(arg)\n .forEach(function (key) {\n result[key] = arg[key];\n }) : result[arg] = true; };\n ;\n var addKeys = function (list) { return list\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg) ?\n addKeys(arg) :\n addLeafKeys(arg);\n }); };\n ;\n addKeys(args);\n return Object\n .keys(result)\n .map(function (key) { return (result[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ');\n};\n","/**\n * @hidden\n */\nexport var Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\n","/* eslint-disable radix */\n/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","/**\n * @hidden\n */\nexport var SIZE_CLASSES = {\n 'default': '',\n 'xsmall': 'k-icon-xs',\n 'small': 'k-icon-sm',\n 'medium': 'k-icon-md',\n 'large': 'k-icon-lg',\n 'xlarge': 'k-icon-xl',\n 'xxlarge': 'k-icon-xxl',\n 'xxxlarge': 'k-icon-xxxl'\n};\n","import * as PropTypes from 'prop-types';\n/**\n * @hidden\n */\nexport var toIconName = function (iconClass) { return iconClass.replace(/^k-i-/, ''); };\n/**\n * @hidden\n */\nexport var toIconClass = function (name) { return 'k-i-' + name; };\n/**\n * @hidden\n */\nexport var svgIconPropType = PropTypes.shape({\n name: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n viewBox: PropTypes.string.isRequired\n});\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\nimport { toIconClass, useMouse } from '../main';\n/**\n * Represents the [KendoReact Icon component]({% slug overview_icon %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var Icon = React.forwardRef(function (props, ref) {\n var className = props.className, name = props.name, themeColor = props.themeColor, size = props.size, flip = props.flip, style = props.style, id = props.id, tabIndex = props.tabIndex, others = __rest(props, [\"className\", \"name\", \"themeColor\", \"size\", \"flip\", \"style\", \"id\", \"tabIndex\"]);\n var target = React.useRef(null);\n var elementRef = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n var fontClassNames = React.useMemo(function () {\n var _a;\n return classNames('k-icon', name && toIconClass(name), (_a = {},\n _a[\"k-color-\".concat(themeColor)] = themeColor,\n _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n _a), SIZE_CLASSES[sizeProp], className);\n }, [name, themeColor, sizeProp, flipProp, className]);\n var mouseProps = useMouse(props, target);\n return (React.createElement(\"span\", __assign({ ref: elementRef }, others, mouseProps, { className: fontClassNames, id: id, tabIndex: tabIndex, style: style, role: \"presentation\" })));\n});\nIcon.propTypes = {\n style: PropTypes.object,\n classNames: PropTypes.string,\n name: PropTypes.string,\n themeColor: PropTypes.oneOf([\n 'inherit', 'primary', 'secondary', 'tertiary',\n 'info', 'success', 'error', 'warning',\n 'dark', 'light', 'inverse'\n ]),\n size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n size: 'default',\n flip: 'default'\n};\nIcon.displayName = 'KendoIcon';\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var useMouse = function (props, target, extend) {\n if (extend === void 0) { extend = {}; }\n var handleMouseDown = React.useCallback(function (event) {\n if (extend.onMouseDown) {\n extend.onMouseDown.call(undefined, event);\n }\n if (props.onMouseDown) {\n props.onMouseDown.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseDown, props.onMouseDown, target]);\n var handleMouseUp = React.useCallback(function (event) {\n if (extend.onMouseUp) {\n extend.onMouseUp.call(undefined, event);\n }\n if (props.onMouseUp) {\n props.onMouseUp.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseUp, props.onMouseUp, target]);\n var handleClick = React.useCallback(function (event) {\n if (extend.onClick) {\n extend.onClick.call(undefined, event);\n }\n if (props.onClick) {\n props.onClick.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onClick, props.onClick, target]);\n var handleDoubleClick = React.useCallback(function (event) {\n if (extend.onDoubleClick) {\n extend.onDoubleClick.call(undefined, event);\n }\n if (props.onDoubleClick) {\n props.onDoubleClick.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onDoubleClick, props.onDoubleClick, target]);\n var handleMouseEnter = React.useCallback(function (event) {\n if (extend.onMouseEnter) {\n extend.onMouseEnter.call(undefined, event);\n }\n if (props.onMouseEnter) {\n props.onMouseEnter.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseEnter, props.onMouseEnter, target]);\n var handleMouseLeave = React.useCallback(function (event) {\n if (extend.onMouseLeave) {\n extend.onMouseLeave.call(undefined, event);\n }\n if (props.onMouseLeave) {\n props.onMouseLeave.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseLeave, props.onMouseLeave, target]);\n var handelMouseMove = React.useCallback(function (event) {\n if (extend.onMouseMove) {\n extend.onMouseMove.call(undefined, event);\n }\n if (props.onMouseMove) {\n props.onMouseMove.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseMove, props.onMouseMove, target]);\n var handleMouseOut = React.useCallback(function (event) {\n if (extend.onMouseOut) {\n extend.onMouseOut.call(undefined, event);\n }\n if (props.onMouseOut) {\n props.onMouseOut.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseOut, props.onMouseOut, target]);\n var handleMouseOver = React.useCallback(function (event) {\n if (extend.onMouseOver) {\n extend.onMouseOver.call(undefined, event);\n }\n if (props.onMouseOver) {\n props.onMouseOver.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseOver, props.onMouseOver, target]);\n return {\n onClick: handleClick,\n onMouseUp: handleMouseUp,\n onMouseDown: handleMouseDown,\n onDoubleClick: handleDoubleClick,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onMouseMove: handelMouseMove,\n onMouseOut: handleMouseOut,\n onMouseOver: handleMouseOver\n };\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\n/**\n * Represents the [KendoReact SvgIcon component]({% slug overview_svgicon %}).\n *\n * @example\n * ```jsx\n * import { accessibility } from '@progress/kendo-svg-icons';\n *\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var SvgIcon = React.forwardRef(function (props, ref) {\n var children = props.children, className = props.className, svgClassName = props.svgClassName, icon = props.icon, flip = props.flip, id = props.id, tabIndex = props.tabIndex, size = props.size, style = props.style, svgStyle = props.svgStyle, themeColor = props.themeColor, viewBox = props.viewBox, name = props.name, others = __rest(props, [\"children\", \"className\", \"svgClassName\", \"icon\", \"flip\", \"id\", \"tabIndex\", \"size\", \"style\", \"svgStyle\", \"themeColor\", \"viewBox\", \"name\"]);\n var elementRef = React.useRef(null);\n React.useImperativeHandle(ref, function () { return ({\n element: elementRef.current\n }); });\n var iconNameProp = React.useMemo(function () { return icon ? icon.name : defaultProps.icon; }, [icon]);\n var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n var viewBoxProp = React.useMemo(function () { return viewBox || defaultProps.viewBox; }, [viewBox]);\n var elementClassNames = React.useMemo(function () {\n var _a;\n return classNames('k-svg-icon', 'k-svg-i-' + iconNameProp, (_a = {},\n _a[\"k-color-\".concat(themeColor)] = themeColor,\n _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n _a), SIZE_CLASSES[sizeProp], className);\n }, [iconNameProp, themeColor, sizeProp, flipProp, className]);\n var elementStyle = React.useMemo(function () {\n if (props.width && props.height) {\n return __assign({ width: props.width, height: props.height }, style);\n }\n else if (props.width) {\n return __assign({ width: props.width, height: props.width }, style);\n }\n else if (props.height) {\n return __assign({ width: props.height, height: props.height }, style);\n }\n else {\n return __assign({}, style);\n }\n }, [props.width, props.height, style]);\n return (React.createElement(\"span\", { className: elementClassNames, style: elementStyle, ref: elementRef },\n React.createElement(\"svg\", __assign({ id: id, className: svgClassName, style: svgStyle, \"aria-hidden\": true, tabIndex: tabIndex, focusable: false, xmlns: \"http://www.w3.org/2000/svg\", viewBox: icon ? icon.viewBox : viewBoxProp, dangerouslySetInnerHTML: icon ? { __html: icon.content } : undefined }, others), icon ? undefined : children)));\n});\nSvgIcon.propTypes = {\n style: PropTypes.object,\n classNames: PropTypes.string,\n children: PropTypes.any,\n icon: PropTypes.object,\n themeColor: PropTypes.oneOf([\n 'inherit', 'primary', 'secondary', 'tertiary',\n 'info', 'success', 'error', 'warning',\n 'dark', 'light', 'inverse'\n ]),\n size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n size: 'default',\n flip: 'default',\n icon: '',\n viewBox: '0 0 24 24'\n};\nSvgIcon.displayName = 'KendoSvgIcon';\n","import * as React from 'react';\n;\n/**\n * Represents a React Context which provides you with the option to configure the KendoReact components icons.\n */\nexport var IconsContext = React.createContext({ type: 'svg' });\nIconsContext.displayName = 'KendoReactIconsContext';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Icon } from './Icon';\nimport { SvgIcon } from './SvgIcon';\nimport { IconsContext } from './IconsContext';\n/**\n * @hidden\n */\nexport var IconWrap = React.forwardRef(function (props, ref) {\n var _a;\n var _b = React.useContext(IconsContext), type = _b.type, icons = _b.icons;\n var icon = props.icon, fontIconProps = __rest(props, [\"icon\"]);\n var name = ((_a = props.icon) === null || _a === void 0 ? void 0 : _a.name) || props.name;\n var svg = (name && icons && icons[name] && typeof icons[name] !== 'string') ? icons[name] : icon;\n name = (name && icons && icons[name] && typeof icons[name] === 'string') ? icons[name] : name;\n return (type === 'svg' && svg) ?\n React.createElement(SvgIcon, __assign({}, props, { icon: svg, ref: ref })) :\n React.createElement(Icon, __assign({}, fontIconProps, { name: name, ref: ref }));\n});\nIconWrap.displayName = 'KendoIconWrap';\n","import * as React from 'react';\n/** @hidden */\nexport var usePropsContext = function (context, props) {\n var contextPropsCallback = React.useContext(context);\n var contextProps = contextPropsCallback(props);\n return contextProps;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { usePropsContext } from '../hooks/usePropsContext';\n/** @hidden */\nexport var createPropsContext = function () { return React.createContext(function (props) { return props; }); };\n/** @hidden */\nexport var withPropsContext = function (context, Component\n// eslint-disable-next-line react/display-name\n) { return React.forwardRef(function (props, ref) {\n var contextProps = usePropsContext(context, props);\n return (React.createElement(Component, __assign({}, contextProps, { ref: ref })));\n}); };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { Popup } from '@progress/kendo-react-popup';\n/**\n * @hidden\n */\nvar ListContainer = /** @class */ (function (_super) {\n __extends(ListContainer, _super);\n function ListContainer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ListContainer.prototype.render = function () {\n var _a = this.props, children = _a.children, width = _a.width, dir = _a.dir, itemsCount = _a.itemsCount, popupSettings = _a.popupSettings;\n return (React.createElement(Popup, __assign({ style: { width: width, direction: dir }, contentKey: itemsCount && itemsCount.join() }, popupSettings), children));\n };\n return ListContainer;\n}(React.Component));\nexport default ListContainer;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { TextBox, InputPrefix } from '@progress/kendo-react-inputs';\nimport { searchIcon } from '@progress/kendo-svg-icons';\nimport { IconWrap } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar ListFilter = React.forwardRef(function (props, ref) {\n var input = React.useRef(null);\n React.useImperativeHandle(ref, function () { return input.current; });\n return (React.createElement(\"div\", { className: \"k-list-filter\" },\n React.createElement(TextBox, __assign({}, props, { ref: input, value: props.value || '', onChange: props.onChange, onKeyDown: props.onKeyDown, tabIndex: props.tabIndex, onClick: function (e) { return e.stopPropagation(); }, size: props.size, fillMode: props.fillMode, rounded: props.rounded, prefix: function () { return (React.createElement(InputPrefix, null,\n React.createElement(IconWrap, { name: 'search', icon: searchIcon }))); } }))));\n});\nListFilter.propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array]),\n tabIndex: PropTypes.number,\n onChange: PropTypes.func,\n onKeyDown: PropTypes.func,\n size: PropTypes.oneOf([null, 'small', 'medium', 'large']),\n rounded: PropTypes.oneOf([null, 'small', 'medium', 'large', 'full']),\n fillMode: PropTypes.oneOf([null, 'solid', 'flat', 'outline'])\n};\nListFilter.displayName = 'KendoReactListFilter';\nexport default ListFilter;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\n/**\n * @hidden\n */\nvar GroupStickyHeader = /** @class */ (function (_super) {\n __extends(GroupStickyHeader, _super);\n function GroupStickyHeader() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupStickyHeader.prototype.render = function () {\n var _a = this.props, group = _a.group, groupMode = _a.groupMode, renderer = _a.render;\n var item = (React.createElement(\"div\", { className: \"k-list-group-sticky-header\" }, groupMode === 'classic'\n ? group\n : React.createElement(\"div\", { className: \"k-list-header-text\" }, group)));\n return renderer !== undefined ? renderer.call(undefined, item, this.props) : item;\n };\n return GroupStickyHeader;\n}(React.Component));\nexport default GroupStickyHeader;\n","/**\n * @hidden\n */\nvar isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n */\nvar sameCharsOnly = function (word, character) {\n for (var idx = 0; idx < word.length; idx++) {\n if (word.charAt(idx) !== character) {\n return false;\n }\n }\n return true;\n};\n/**\n * @hidden\n */\nvar shuffleData = function (data, splitIndex, defaultItem) {\n var result = data;\n if (defaultItem) {\n result = [defaultItem].concat(result);\n }\n return result.slice(splitIndex).concat(result.slice(0, splitIndex));\n};\n/**\n * @hidden\n */\nvar matchText = function (text, word, ignoreCase) {\n if (!isPresent(text)) {\n return false;\n }\n var temp = String(text);\n if (ignoreCase) {\n temp = temp.toLowerCase();\n }\n return temp.indexOf(word) === 0;\n};\n/**\n * @hidden\n */\nvar scrollToItem = function (scrollElem, list, itemIndex, translate, virtualScroll) {\n var viewportHeight = scrollElem.offsetHeight;\n var li = list.children.item(itemIndex);\n var itemOffsetTop = li.offsetTop + (virtualScroll ? translate - scrollElem.scrollTop : 0);\n var itemHeight = li.offsetHeight;\n if (virtualScroll) {\n var diff = 0;\n if (itemOffsetTop + itemHeight > viewportHeight) {\n diff = itemOffsetTop + itemHeight - viewportHeight;\n }\n else if (itemOffsetTop < 0) {\n diff = itemOffsetTop;\n }\n if (diff !== 0) {\n scrollElem.scrollTop += diff;\n }\n else if (scrollElem.scrollTop === 0 && translate !== 0) {\n scrollElem.scrollTop = translate;\n }\n }\n else {\n if (itemOffsetTop + itemHeight > viewportHeight + scrollElem.scrollTop) {\n scrollElem.scrollTop = (itemOffsetTop + itemHeight - viewportHeight);\n }\n else if (itemOffsetTop < scrollElem.scrollTop) {\n scrollElem.scrollTop -= scrollElem.scrollTop - itemOffsetTop;\n }\n }\n};\n/**\n * @hidden\n */\nvar itemIndexStartsWith = function (items, text, field) {\n var result = -1;\n if (text) {\n text = text.toLowerCase();\n for (var i = 0; i < items.length; i++) {\n var itemText = (getItemValue(items[i], field) || '') + '';\n if (itemText && itemText.toLowerCase().startsWith(text)) {\n result = i;\n break;\n }\n }\n }\n return result;\n};\n/**\n * @hidden\n */\nvar getItemIndexByText = function (data, text, textField, matchCase) {\n if (matchCase === void 0) { matchCase = false; }\n var casing = function (value) { return matchCase ? value : value.toLowerCase(); };\n return data.findIndex(function (item) {\n return textField ? casing(getItemValue(item, textField)) === casing(text) :\n casing(text) === casing(item.toString());\n });\n};\n/**\n * @hidden\n */\nvar getItemValue = function (item, field) {\n if (field && isPresent(item)) {\n var path = field.split('.');\n var data_1 = item;\n path.forEach(function (p) {\n data_1 = data_1 ? data_1[p] : undefined;\n });\n return data_1;\n }\n return item;\n};\n/**\n * @hidden\n */\nvar matchDataCollections = function (data1, data2, key) {\n if (data1 === void 0) { data1 = []; }\n if (data2 === void 0) { data2 = []; }\n if (data1 === data2) {\n return true;\n }\n if (data1.length !== data2.length) {\n return false;\n }\n for (var i = 0; i < data1.length; i++) {\n if (!areSame(data1[i], data2[i], key)) {\n return false;\n }\n }\n return true;\n};\n/**\n * @hidden\n */\nvar removeDataItems = function (items, toRemove, key) {\n toRemove.forEach(function (item) {\n var itemIndex = items.findIndex(function (i) { return areSame(i, item, key); });\n if (itemIndex !== -1) {\n items.splice(itemIndex, 1);\n }\n });\n};\n/**\n * @hidden\n */\nvar areSame = function (item1, item2, key) {\n return item1 === item2 ||\n (isPresent(item1) === isPresent(item2) && getItemValue(item1, key) === getItemValue(item2, key));\n};\n/**\n * @hidden\n */\nvar getFocusedItem = function (data, value, textField) {\n if (value) {\n var selectedIndex = getItemIndexByText(data, value, textField, true);\n return selectedIndex !== -1 ? data[selectedIndex] : data[itemIndexStartsWith(data, value, textField)];\n }\n return data[0];\n};\n/**\n * @hidden\n */\nvar suggestValue = function (value, data, textField) {\n if (data === void 0) { data = []; }\n var suggested = '';\n if (value) {\n var suggestedItem = data[itemIndexStartsWith(data, value, textField)];\n if (suggestedItem) {\n var suggestedText = getItemValue(suggestedItem, textField);\n if (value.toLowerCase() !== suggestedText.toLowerCase()) {\n suggested = suggestedText.substring(value.length);\n }\n }\n }\n return suggested;\n};\n/**\n * @hidden\n */\nvar preventDefaultNonInputs = function (event) {\n if (event.target.nodeName !== 'INPUT') {\n event.preventDefault();\n }\n};\n/**\n * @hidden\n */\nvar matchTags = function (tag1, tag2, key) {\n if (!!tag1 !== !!tag2 || tag1.text !== tag2.text) {\n return false;\n }\n return tag1 === tag2 || matchDataCollections(tag1.data, tag2.data, key);\n};\nexport { isPresent, sameCharsOnly, shuffleData, matchText, scrollToItem, itemIndexStartsWith, getItemIndexByText, getItemValue, matchDataCollections, removeDataItems, areSame, getFocusedItem, preventDefaultNonInputs, suggestValue, matchTags };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { classNames } from '@progress/kendo-react-common';\nimport { getItemValue } from './utils';\nvar preventDefault = function (e) { return e.preventDefault(); };\n/**\n * @hidden\n */\nvar ListDefaultItem = /** @class */ (function (_super) {\n __extends(ListDefaultItem, _super);\n function ListDefaultItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ListDefaultItem.prototype.render = function () {\n var _a = this.props, selected = _a.selected, defaultItem = _a.defaultItem, textField = _a.textField;\n return (React.createElement(\"div\", { onClick: this.props.onClick, onMouseDown: preventDefault, style: { position: 'unset' }, className: classNames('k-list-optionlabel', {\n 'k-selected': selected\n }) }, getItemValue(defaultItem, textField) || ''));\n };\n return ListDefaultItem;\n}(React.Component));\nexport default ListDefaultItem;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { classNames } from '@progress/kendo-react-common';\nimport { getItemValue } from './utils';\n// tslint:enable:max-line-length\n/**\n * @hidden\n */\nvar ListItem = /** @class */ (function (_super) {\n __extends(ListItem, _super);\n function ListItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handleClick = function (e) { return _this.props.onClick(_this.props.index, e); };\n return _this;\n }\n ListItem.prototype.render = function () {\n var _a = this.props, selected = _a.selected, group = _a.group, dataItem = _a.dataItem, virtual = _a.virtual, groupMode = _a.groupMode, renderer = _a.render;\n var item = (React.createElement(\"li\", { id: this.props.id, role: \"option\", \"aria-selected\": selected, className: classNames('k-list-item', {\n 'k-selected': selected,\n 'k-focus': this.props.focused,\n 'k-first': Boolean(group) && groupMode === 'classic'\n }), onClick: this.handleClick, style: { position: virtual ? 'relative' : 'unset' } },\n React.createElement(\"span\", { className: 'k-list-item-text' }, getItemValue(dataItem, this.props.textField).toString()),\n group !== undefined && groupMode === 'classic' ? React.createElement(\"div\", { className: \"k-list-item-group-label\" }, group) : null));\n return renderer !== undefined ? renderer.call(undefined, item, this.props) : item;\n };\n return ListItem;\n}(React.Component));\nexport default ListItem;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\n/**\n * @hidden\n */\nvar ListGroupItem = /** @class */ (function (_super) {\n __extends(ListGroupItem, _super);\n function ListGroupItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ListGroupItem.prototype.render = function () {\n var _a = this.props, group = _a.group, virtual = _a.virtual, renderer = _a.render, _b = _a.isMultiColumn, isMultiColumn = _b === void 0 ? false : _b;\n var item = (React.createElement(\"li\", { id: this.props.id, role: \"group\", className: isMultiColumn ? 'k-table-group-row' : 'k-list-group-item', style: isMultiColumn ? { 'boxSizing': 'inherit' } : { position: virtual ? 'relative' : 'unset' } },\n React.createElement(\"span\", { className: !renderer ? isMultiColumn ? 'k-table-th' : 'k-list-item-text' : undefined }, group)));\n return renderer !== undefined ? renderer.call(undefined, item, this.props) : item;\n };\n return ListGroupItem;\n}(React.Component));\nexport default ListGroupItem;\n","var _a;\n/**\n * @hidden\n */\nexport var nodata = 'dropdowns.nodata';\n/**\n * @hidden\n */\nexport var clear = 'dropdowns.clear';\n/**\n * @hidden\n */\nexport var comboArrowBtnAriaLabelExpand = 'dropdowns.comboArrowBtnAriaLabelExpand';\n/**\n * @hidden\n */\nexport var comboArrowBtnAriaLabelCollapse = 'dropdowns.comboArrowBtnAriaLabelCollapse';\n/**\n * @hidden\n */\nexport var dropDownListArrowBtnAriaLabel = 'dropdowns.dropDownListArrowBtnAriaLabel';\n/**\n * @hidden\n */\nexport var adaptiveModeFooterApply = 'dropdowns.apply';\n/**\n * @hidden\n */\nexport var adaptiveModeFooterCancel = 'dropdowns.cancel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[clear] = 'clear',\n _a[nodata] = 'NO DATA FOUND.',\n _a[comboArrowBtnAriaLabelExpand] = 'expand combobox',\n _a[comboArrowBtnAriaLabelCollapse] = 'collapse combobox',\n _a[dropDownListArrowBtnAriaLabel] = 'select',\n _a[adaptiveModeFooterApply] = 'Apply',\n _a[adaptiveModeFooterCancel] = 'Cancel',\n _a);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport ListItem from './ListItem';\nimport ListGroupItem from './ListGroupItem';\nimport { areSame, getItemValue } from './utils';\nimport { registerForLocalization, provideLocalizationService } from '@progress/kendo-react-intl';\nimport { messages, nodata } from '../messages';\n/**\n * @hidden\n */\nvar List = /** @class */ (function (_super) {\n __extends(List, _super);\n function List() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n List.prototype.renderItems = function () {\n var _this = this;\n var _a = this.props, textField = _a.textField, valueField = _a.valueField, groupField = _a.groupField, groupMode = _a.groupMode, isMultiColumn = _a.isMultiColumn, optionsGuid = _a.optionsGuid, _b = _a.skip, skip = _b === void 0 ? 0 : _b, virtual = _a.virtual, focusedIndex = _a.focusedIndex, _c = _a.highlightSelected, highlightSelected = _c === void 0 ? true : _c, value = _a.value, data = _a.data, itemRender = _a.itemRender, groupHeaderItemRender = _a.groupHeaderItemRender;\n var isArray = Array.isArray(value);\n var groupCounter = 0;\n return data.map(function (item, index) {\n var realIndex = skip + index;\n var idIndex = skip + index + groupCounter;\n var selected = highlightSelected &&\n ((!isArray && areSame(item, value, valueField)) ||\n (isArray && value.findIndex(function (i) { return areSame(i, item, valueField); }) !== -1));\n var group = undefined;\n var current, previous;\n if (index > 0 && groupField !== undefined) {\n current = getItemValue(item, groupField);\n previous = getItemValue(data[index - 1], groupField);\n if (current && previous && current !== previous) {\n group = current;\n }\n }\n group !== undefined && groupMode === 'modern' ? groupCounter += 1 : '';\n return [\n group !== undefined && groupMode === 'modern' && React.createElement(ListGroupItem, { id: \"option-\".concat(optionsGuid, \"-\").concat(idIndex), virtual: virtual, key: realIndex + '-group-item', group: group, isMultiColumn: isMultiColumn, render: groupHeaderItemRender }),\n React.createElement(ListItem, { id: \"option-\".concat(optionsGuid, \"-\").concat(group !== undefined && groupMode === 'modern' ? idIndex + 1 : idIndex), virtual: virtual, dataItem: item, groupMode: groupMode, selected: selected, focused: focusedIndex === index, index: realIndex, key: realIndex, onClick: _this.props.onClick, textField: textField, group: group, render: itemRender })\n ];\n });\n };\n List.prototype.renderNoValueElement = function (localizationService) {\n var noDataRender = this.props.noDataRender;\n var noDataElement = (React.createElement(\"div\", { className: 'k-nodata' },\n React.createElement(\"div\", null, localizationService.toLanguageString(nodata, messages[nodata]))));\n return noDataRender ?\n noDataRender.call(undefined, noDataElement) : noDataElement;\n };\n List.prototype.render = function () {\n var localizationService = provideLocalizationService(this);\n var _a = this.props, id = _a.id, show = _a.show, wrapperCssClass = _a.wrapperCssClass, wrapperStyle = _a.wrapperStyle, listStyle = _a.listStyle, listRef = _a.listRef, wrapperRef = _a.wrapperRef, _b = _a.listClassName, listClassName = _b === void 0 ? 'k-list-ul' : _b;\n var items = this.renderItems();\n return (items.length ? (React.createElement(\"div\", { className: wrapperCssClass, style: wrapperStyle, ref: wrapperRef, onMouseDown: this.props.onMouseDown, onBlur: this.props.onBlur, onScroll: this.props.onScroll, unselectable: \"on\" },\n React.createElement(\"ul\", { id: id, role: \"listbox\", \"aria-hidden\": !show ? true : undefined, className: listClassName, ref: listRef, style: listStyle }, items),\n this.props.scroller && React.createElement(\"div\", { className: \"k-height-container\" }, this.props.scroller))) : this.renderNoValueElement(localizationService));\n };\n return List;\n}(React.Component));\nexport default List;\nregisterForLocalization(List);\n","var maxHeightIE = 1533915;\n/**\n * @hidden\n */\nvar VirtualScroll = /** @class */ (function () {\n function VirtualScroll() {\n var _this = this;\n this.container = null;\n this.scrollElement = null;\n this.list = null;\n this.containerHeight = 0;\n this.skip = 0;\n this.total = 0;\n this.enabled = false;\n this.pageSize = 0;\n this.itemHeight = 0;\n this.PageChange = null;\n this.prevScrollPos = 0;\n this.listTranslate = 0;\n this.scrollSyncing = false;\n this.scrollerRef = function (element) {\n var vs = _this;\n vs.container = element;\n if (element) {\n element.setAttribute('unselectable', 'on');\n window.setTimeout(vs.calcScrollElementHeight.bind(vs), 0);\n }\n };\n this.calcScrollElementHeight = function () {\n _this.scrollSyncing = true;\n var heightChanged = false;\n _this.itemHeight = _this.list ? _this.list.children[0].offsetHeight : _this.itemHeight;\n _this.containerHeight = Math.min(maxHeightIE, _this.itemHeight * _this.total);\n var newHeight = _this.containerHeight;\n if (_this.scrollElement) {\n heightChanged = _this.scrollElement.style.height !== newHeight + 'px';\n if (heightChanged) {\n _this.scrollElement.style.height = newHeight + 'px';\n }\n }\n _this.scrollSyncing = false;\n return heightChanged;\n };\n this.scrollHandler = this.scrollHandler.bind(this);\n }\n Object.defineProperty(VirtualScroll.prototype, \"translate\", {\n get: function () {\n return this.listTranslate;\n },\n enumerable: false,\n configurable: true\n });\n VirtualScroll.prototype.changePage = function (skip, e) {\n var newSkip = Math.min(Math.max(0, skip), this.total - this.pageSize);\n if (newSkip !== this.skip && this.PageChange) {\n this.PageChange({ skip: newSkip, take: this.pageSize }, e);\n }\n };\n VirtualScroll.prototype.translateTo = function (dY) {\n this.listTranslate = dY;\n if (this.list) {\n this.list.style.transform = 'translateY(' + dY + 'px)';\n }\n };\n VirtualScroll.prototype.reset = function () {\n if (this.container) {\n this.calcScrollElementHeight();\n this.container.scrollTop = 0;\n this.translateTo(0);\n }\n };\n VirtualScroll.prototype.scrollToEnd = function () {\n if (this.container && this.list) {\n this.calcScrollElementHeight();\n this.container.scrollTop = this.container.scrollHeight - this.container.offsetHeight;\n this.translateTo(this.container.scrollHeight); // - this.list.offsetHeight\n }\n };\n VirtualScroll.prototype.localScrollUp = function (e) {\n var height = this.itemHeight;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.listTranslate;\n var items;\n var additionalOnTop = scrollTop - targetTranslate;\n if (additionalOnTop > height) {\n return;\n }\n for (items = 0; items < this.skip; items++) {\n if (targetTranslate + height + additionalOnTop <= scrollTop) {\n break;\n }\n targetTranslate -= height;\n }\n targetTranslate = this.validateTranslate(targetTranslate);\n if (this.skip - items <= 0 && targetTranslate >= scrollTop) {\n this.translateTo(0);\n this.changePage(0, e);\n this.container.scrollTop = 0;\n return;\n }\n if (targetTranslate !== this.listTranslate) {\n this.translateTo(targetTranslate);\n this.changePage(this.skip - items, e);\n }\n };\n VirtualScroll.prototype.localScrollDown = function (e) {\n var height = this.itemHeight;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.listTranslate;\n var itemsLenght = this.list.children.length;\n var items;\n for (items = 0; items < itemsLenght; items++) {\n if (targetTranslate + height >= scrollTop) {\n break;\n }\n targetTranslate += height;\n }\n targetTranslate = this.validateTranslate(targetTranslate);\n if (items >= itemsLenght && this.skip + items >= this.total) {\n this.translateTo(targetTranslate);\n this.changePage(this.total - 1, e);\n }\n else if (targetTranslate !== this.listTranslate) {\n this.translateTo(targetTranslate);\n this.changePage(this.skip + items, e);\n }\n };\n VirtualScroll.prototype.scrollNonStrict = function (e) {\n var floatItemIndex = this.total * this.prevScrollPos / (this.containerHeight);\n var itemIndex = Math.min(Math.floor(floatItemIndex), this.total - 1);\n var targetTranslate = this.containerHeight * floatItemIndex / this.total;\n targetTranslate = this.validateTranslate(targetTranslate);\n this.translateTo(targetTranslate);\n this.changePage(itemIndex, e);\n };\n VirtualScroll.prototype.scrollHandler = function (e) {\n var scrollTop = this.container ? this.container.scrollTop : 0;\n var prev = this.prevScrollPos;\n this.prevScrollPos = scrollTop;\n if (!this.enabled || !this.list || !this.container || this.scrollSyncing) {\n return;\n }\n if (scrollTop - prev <= 0 && scrollTop > this.listTranslate - this.list.scrollHeight / 10) {\n this.localScrollUp(e);\n }\n else if (scrollTop - prev > 0 && scrollTop < this.listTranslate + this.list.scrollHeight * 2 / 3) {\n this.localScrollDown(e);\n }\n else {\n this.scrollNonStrict(e);\n }\n };\n VirtualScroll.prototype.validateTranslate = function (translate) {\n translate = Math.max(0, translate);\n // translate = Math.min(this.containerHeight - this.list!.offsetHeight, translate);\n translate = Math.min(this.containerHeight, translate);\n return translate;\n };\n return VirtualScroll;\n}());\nexport default VirtualScroll;\n","import { isPresent } from './utils';\nimport { Keys } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar Navigation = /** @class */ (function () {\n function Navigation() {\n }\n Navigation.prototype.navigate = function (args) {\n var keyCode = args.keyCode;\n if (keyCode === Keys.up || keyCode === Keys.left) {\n return this.next({ current: args.current, min: args.min, max: args.max, step: -1 });\n }\n else if (keyCode === Keys.down || keyCode === Keys.right) {\n return this.next({ current: args.current, min: args.min, max: args.max, step: 1 });\n }\n else if (keyCode === Keys.home) {\n return 0;\n }\n else if (keyCode === Keys.end) {\n return args.max;\n }\n };\n Navigation.prototype.next = function (args) {\n if (!isPresent(args.current)) {\n return args.min;\n }\n else {\n return Math.min(args.max, Math.max(args.current + args.step, args.min));\n }\n };\n return Navigation;\n}());\nexport { Navigation };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport VirtualScroll from './VirtualScroll';\nimport { Navigation } from './Navigation';\nimport { scrollToItem, areSame } from './utils';\nimport { guid } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nvar DropDownBase = /** @class */ (function () {\n function DropDownBase(component) {\n var _this = this;\n this.wrapper = null;\n this.list = null;\n this.vs = new VirtualScroll();\n this.navigation = new Navigation();\n this.handleItemClick = function (index, event) {\n var state = _this.initState();\n state.syntheticEvent = event;\n event.stopPropagation();\n _this.component.handleItemSelect(index, state);\n _this.togglePopup(state);\n _this.applyState(state);\n };\n this.handleFocus = function (event) {\n if (!_this.component.state.focused) {\n var state = _this.initState();\n state.data.focused = true;\n state.events.push({ type: 'onFocus' });\n state.syntheticEvent = event;\n _this.applyState(state);\n }\n };\n this.filterChanged = function (text, state) {\n var _a = _this.component.props, textField = _a.textField, filterable = _a.filterable;\n if (filterable) {\n state.events.push({\n type: 'onFilterChange',\n filter: {\n field: textField,\n operator: 'contains',\n ignoreCase: true,\n value: text\n }\n });\n }\n };\n this.togglePopup = function (state) {\n var props = _this.component.props;\n var opened = props.opened !== undefined ? props.opened : _this.component.state.opened;\n if (props.opened === undefined) {\n state.data.opened = !opened;\n }\n if (opened) {\n state.events.push({ type: 'onClose' });\n }\n else {\n state.events.push({ type: 'onOpen' });\n _this.calculatePopupWidth();\n }\n };\n this.pageChange = function (page, syntheticEvent) {\n var state = _this.initState();\n state.syntheticEvent = syntheticEvent;\n _this.triggerOnPageChange(state, page.skip, page.take);\n _this.applyState(state);\n };\n this.scrollToVirtualItem = function (virtual, selectedItemIndex) {\n var vs = _this.vs;\n vs.enabled = false;\n if (virtual.skip === 0) {\n vs.reset();\n }\n else if (virtual.skip + virtual.pageSize === virtual.total) {\n vs.scrollToEnd();\n }\n else {\n var scrollTop = vs.translate;\n if (scrollTop === 0) {\n vs.calcScrollElementHeight();\n scrollTop = (vs.itemHeight * virtual.skip);\n vs.translateTo(scrollTop - vs.itemHeight);\n }\n if (vs.container) {\n vs.container.scrollTop = scrollTop;\n }\n _this.scrollToItem(selectedItemIndex, true);\n }\n window.setTimeout(function () { return vs.enabled = true; }, 10);\n };\n this.renderScrollElement = function () {\n var vs = _this.vs;\n return vs.enabled && (React.createElement(\"div\", { ref: function (element) { return vs.scrollElement = element; }, key: 'scrollElementKey' }));\n };\n this.resetGroupStickyHeader = function (groupName, that) {\n if (groupName !== that.state.group) {\n that.setState(__assign(__assign({}, that.state), { group: groupName }));\n }\n };\n this.listBoxId = guid();\n this.guid = guid();\n this.component = component;\n this.vs.PageChange = this.pageChange;\n }\n DropDownBase.prototype.didMount = function () {\n var props = this.component.props;\n var popupSettings = props.popupSettings || {};\n var style = props.style || {};\n var popupWidth = popupSettings.width;\n var shouldUpdate = props.opened === true;\n if (popupWidth === undefined) {\n this.calculatePopupWidth();\n }\n if (props.dir === undefined && style.direction === undefined) {\n this.calculateDir();\n shouldUpdate = true;\n }\n if (shouldUpdate) {\n this.component.forceUpdate();\n }\n };\n DropDownBase.prototype.calculateDir = function () {\n var element = this.component.element;\n if (element && element.ownerDocument && element.ownerDocument.defaultView) {\n this.dirCalculated = element.ownerDocument.defaultView.getComputedStyle(element).direction || undefined;\n }\n };\n DropDownBase.prototype.calculatePopupWidth = function () {\n if (this.wrapper) {\n this.popupWidth = this.wrapper.offsetWidth + 'px';\n }\n };\n DropDownBase.prototype.scrollToItem = function (itemIndex, vsEnabled, once) {\n var _this = this;\n var list = this.list || this.vs.list;\n if (!list && !once) {\n setTimeout(function () {\n _this.scrollToItem(itemIndex, vsEnabled, true);\n }, 10);\n }\n if (list && itemIndex >= 0) {\n var vs = this.vs;\n var scrollElement = (vs.container || list.parentNode);\n var virtualScroll = vsEnabled !== undefined ? vsEnabled : vs.enabled;\n scrollToItem(scrollElement, list, itemIndex, vs.translate, virtualScroll);\n }\n };\n DropDownBase.prototype.initState = function () {\n var state = {\n data: {},\n events: [],\n syntheticEvent: undefined\n };\n return state;\n };\n DropDownBase.prototype.applyState = function (state) {\n var _this = this;\n if (Object.keys(state.data).length > 0) {\n this.component.setState(state.data);\n }\n var eventArgs = {\n syntheticEvent: state.syntheticEvent,\n nativeEvent: state.syntheticEvent ? state.syntheticEvent.nativeEvent : undefined,\n target: this.component,\n value: this.component.value\n };\n state.events.forEach(function (eventData) {\n var type = eventData.type;\n delete eventData.type;\n var handler = type && _this.component.props[type];\n if (handler) {\n handler.call(undefined, __assign(__assign({}, eventArgs), eventData));\n }\n });\n };\n DropDownBase.prototype.triggerOnPageChange = function (state, skip, take) {\n var virtual = this.component.props.virtual;\n if (virtual) {\n var newSkip = Math.min(Math.max(0, skip), Math.max(0, virtual.total - take));\n if (newSkip !== virtual.skip) {\n state.events.push({\n type: 'onPageChange',\n page: { skip: newSkip, take: take }\n });\n }\n }\n };\n DropDownBase.prototype.triggerPageChangeCornerItems = function (item, state) {\n var props = this.component.props;\n var _a = props.data, data = _a === void 0 ? [] : _a, dataItemKey = props.dataItemKey, virtual = props.virtual;\n var opened = props.opened !== undefined ? props.opened : this.component.state.opened;\n if (item && virtual && this.vs.enabled) {\n if (virtual.skip > 0 && areSame(item, data[0], dataItemKey)) {\n this.triggerOnPageChange(state, virtual.skip - 1, virtual.pageSize);\n }\n else if (!opened && virtual.skip + virtual.pageSize < virtual.total &&\n areSame(item, data[data.length - 1], dataItemKey)) {\n this.triggerOnPageChange(state, virtual.skip + 1, virtual.pageSize);\n }\n }\n };\n DropDownBase.prototype.getPopupSettings = function () {\n return Object\n .assign({}, DropDownBase.defaultProps.popupSettings, this.component.props.popupSettings);\n };\n DropDownBase.prototype.getGroupedDataModernMode = function (data, groupField) {\n var newData = [];\n data.forEach(function (el, index) {\n var _a;\n if (data[index - 1] && el[groupField] !== data[index - 1][groupField]) {\n newData.push((_a = {}, _a[groupField] = el[groupField], _a));\n newData.push(data[index]);\n }\n else {\n newData.push(data[index]);\n }\n });\n return newData;\n };\n DropDownBase.basicPropTypes = {\n opened: PropTypes.bool,\n disabled: PropTypes.bool,\n dir: PropTypes.string,\n tabIndex: PropTypes.number,\n accessKey: PropTypes.string,\n data: PropTypes.array,\n textField: PropTypes.string,\n className: PropTypes.string,\n label: PropTypes.string,\n loading: PropTypes.bool,\n popupSettings: PropTypes.shape({\n animate: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({\n openDuration: PropTypes.number,\n closeDuration: PropTypes.number\n })]),\n popupClass: PropTypes.string,\n className: PropTypes.string,\n appendTo: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n }),\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n itemRender: PropTypes.func,\n listNoDataRender: PropTypes.func,\n focusedItemIndex: PropTypes.func,\n header: PropTypes.node,\n footer: PropTypes.node\n };\n DropDownBase.propTypes = __assign(__assign({}, DropDownBase.basicPropTypes), { value: PropTypes.any, defaultValue: PropTypes.any, filterable: PropTypes.bool, filter: PropTypes.string, virtual: PropTypes.shape({\n pageSize: PropTypes.number.isRequired,\n skip: PropTypes.number.isRequired,\n total: PropTypes.number.isRequired\n }), onFilterChange: PropTypes.func, onPageChange: PropTypes.func });\n DropDownBase.defaultProps = {\n popupSettings: {\n height: '200px'\n },\n required: false,\n validityStyles: true\n };\n return DropDownBase;\n}());\nexport default DropDownBase;\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n","/**\n * @hidden\n */\nexport var canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-react-dropdowns',\n productName: 'KendoReact',\n productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],\n publishDate: 1686225790,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'\n};\n","/** @hidden */\nexport var MOBILE_SMALL_DEVISE = 500;\n/** @hidden */\nexport var MOBILE_MEDIUM_DEVISE = 768;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, Keys, getTabIndex, createPropsContext, withPropsContext, kendoThemeMaps, IconWrap, svgIconPropType, guid } from '@progress/kendo-react-common';\nimport { FloatingLabel } from '@progress/kendo-react-labels';\nimport { caretAltDownIcon, xIcon } from '@progress/kendo-svg-icons';\nimport ListContainer from '../common/ListContainer';\nimport ListFilter from '../common/ListFilter';\nimport GroupStickyHeader from '../common/GroupStickyHeader';\nimport ListDefaultItem from '../common/ListDefaultItem';\nimport List from '../common/List';\nimport DropDownBase from '../common/DropDownBase';\nimport { isPresent, getItemValue, sameCharsOnly, shuffleData, matchText, areSame, getFocusedItem } from '../common/utils';\nimport { validatePackage, canUseDOM } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { provideLocalizationService } from '@progress/kendo-react-intl';\nimport { dropDownListArrowBtnAriaLabel, messages } from '../messages';\nimport { MOBILE_SMALL_DEVISE, MOBILE_MEDIUM_DEVISE } from '../common/constants';\nimport { ActionSheet, ActionSheetContent, ActionSheetHeader } from '@progress/kendo-react-layout';\nvar VALIDATION_MESSAGE = 'Please select a value from the list!';\nvar sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;\n/**\n * @hidden\n */\nvar DropDownListWithoutContext = /** @class */ (function (_super) {\n __extends(DropDownListWithoutContext, _super);\n function DropDownListWithoutContext(props) {\n var _this = _super.call(this, props) || this;\n /**\n * @hidden\n */\n _this.state = {};\n _this._element = null;\n _this.base = new DropDownBase(_this);\n _this.searchState = { word: '', last: '' };\n _this._select = null;\n _this._skipFocusEvent = false;\n _this._filterInput = null;\n _this._navigated = false;\n _this._inputId = guid();\n _this.itemHeight = 0;\n /**\n * @hidden\n */\n _this.focus = function () {\n if (_this.base.wrapper) {\n _this.base.wrapper.focus();\n }\n };\n /**\n * @hidden\n */\n _this.handleItemSelect = function (index, state) {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, virtual = _a.virtual, dataItemKey = _a.dataItemKey, defaultItem = _a.defaultItem;\n var skip = virtual ? virtual.skip : 0;\n var item = (index === -1 && defaultItem !== undefined) ?\n defaultItem : data[index - skip];\n var newSelected = !areSame(item, _this.value, dataItemKey);\n _this.triggerOnChange(item, state);\n if (newSelected) {\n _this.base.triggerPageChangeCornerItems(item, state);\n }\n };\n _this.componentRef = function (element) {\n _this._element = element;\n _this.base.wrapper = element;\n };\n _this.dummySelect = function (value) {\n /* Dummy component to support forms */\n return (React.createElement(\"select\", { name: _this.props.name, ref: function (el) { _this._select = el; }, tabIndex: -1, \"aria-hidden\": true, title: _this.props.label, style: { opacity: 0, width: 1, border: 0, zIndex: -1, position: 'absolute', left: '50%' } },\n React.createElement(\"option\", { value: _this.props.valueMap ? _this.props.valueMap.call(undefined, value) : value })));\n };\n _this.renderListContainer = function () {\n var _a;\n var _b = _this.props, header = _b.header, footer = _b.footer, dir = _b.dir, _c = _b.data, data = _c === void 0 ? [] : _c, size = _b.size, groupField = _b.groupField, groupStickyHeaderItemRender = _b.groupStickyHeaderItemRender, list = _b.list;\n var base = _this.base;\n var popupSettings = base.getPopupSettings();\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n var listContainerProps = {\n dir: dir !== undefined ? dir : base.dirCalculated,\n width: popupWidth,\n popupSettings: {\n popupClass: classNames(popupSettings.popupClass, 'k-list-container', 'k-dropdownlist-popup'),\n className: popupSettings.className,\n animate: popupSettings.animate,\n anchor: _this.element,\n show: opened,\n onOpen: _this.onPopupOpened,\n onClose: _this.onPopupClosed,\n appendTo: popupSettings.appendTo\n },\n itemsCount: [data.length]\n };\n var group = _this.state.group;\n if (group === undefined && groupField !== undefined) {\n group = getItemValue(data[0], groupField);\n }\n return (React.createElement(ListContainer, __assign({}, listContainerProps),\n _this.renderListFilter(),\n header && React.createElement(\"div\", { className: \"k-list-header\" }, header),\n React.createElement(\"div\", { className: classNames('k-list', (_a = {}, _a[\"k-list-\".concat(sizeMap[size] || size)] = size, _a['k-virtual-list'] = _this.base.vs.enabled, _a)) },\n _this.renderDefaultItem(),\n !list && group && data.length !== 0 && React.createElement(GroupStickyHeader, { group: group, groupMode: 'modern', render: groupStickyHeaderItemRender }),\n _this.renderList()),\n footer && React.createElement(\"div\", { className: \"k-list-footer\" }, footer)));\n };\n _this.renderList = function () {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, dataItemKey = _a.dataItemKey, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c, groupHeaderItemRender = _a.groupHeaderItemRender, listNoDataRender = _a.listNoDataRender, itemRender = _a.itemRender;\n var vs = _this.base.vs;\n var skip = virtual.skip;\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var popupSettings = _this.base.getPopupSettings();\n var translate = \"translateY(\".concat(vs.translate, \"px)\");\n return (React.createElement(List, { id: _this.base.listBoxId, show: opened, data: data.slice(), focusedIndex: _this.focusedIndex(), value: _this.value, textField: textField, valueField: dataItemKey, optionsGuid: _this.base.guid, groupField: _this.props.groupField, groupMode: 'modern', listRef: function (list) { return vs.list = _this.base.list = list; }, wrapperStyle: { maxHeight: popupSettings.height }, wrapperCssClass: \"k-list-content\", listStyle: vs.enabled ? { transform: translate } : undefined, key: \"listkey\", skip: skip, onClick: _this.handleItemClick, itemRender: itemRender, groupHeaderItemRender: groupHeaderItemRender, noDataRender: listNoDataRender, onScroll: _this.onScroll, wrapperRef: vs.scrollerRef, scroller: _this.base.renderScrollElement() }));\n };\n _this.onScroll = function (event) {\n var _a = _this.base, vs = _a.vs, list = _a.list;\n vs.scrollHandler(event);\n var groupField = _this.props.groupField;\n var _b = _this.props.data, data = _b === void 0 ? [] : _b;\n if (!groupField || !data.length) {\n return;\n }\n if (groupField) {\n var itemHeight = _this.itemHeight =\n _this.itemHeight || (vs.enabled ? vs.itemHeight : (list ? list.children[0].offsetHeight : 0));\n var target = event.target;\n var scrollTop = target.scrollTop - (vs.skip * itemHeight);\n data = _this.base.getGroupedDataModernMode(data, groupField);\n var group = data[0][groupField];\n for (var i = 1; i < data.length; i++) {\n if (itemHeight * i > scrollTop) {\n break;\n }\n if (data[i] && data[i][groupField]) {\n group = data[i][groupField];\n }\n }\n if (group !== _this.state.group) {\n _this.setState({\n group: group\n });\n }\n }\n };\n _this.renderListFilter = function () {\n var filterText = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n return _this.props.filterable && (React.createElement(ListFilter, { value: filterText, ref: function (filter) { return _this._filterInput = filter && filter.element; }, onChange: _this.handleListFilterChange, onKeyDown: _this.handleKeyDown, size: _this.props.size, rounded: _this.props.rounded, fillMode: _this.props.fillMode }));\n };\n _this.renderDefaultItem = function () {\n var _a = _this.props, textField = _a.textField, defaultItem = _a.defaultItem, dataItemKey = _a.dataItemKey;\n return defaultItem !== undefined && (React.createElement(ListDefaultItem, { defaultItem: defaultItem, textField: textField, selected: areSame(_this.value, defaultItem, dataItemKey), key: \"defaultitemkey\", onClick: _this.handleDefaultItemClick }));\n };\n _this.search = function (event) {\n clearTimeout(_this._typingTimeout);\n if (!_this.props.filterable) {\n _this._typingTimeout = window.setTimeout(function () { return _this.searchState.word = ''; }, _this.props.delay);\n _this.selectNext(event);\n }\n };\n _this.selectNext = function (event) {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, dataItemKey = _a.dataItemKey;\n var mappedData = data.map(function (item, idx) {\n return { item: item, itemIndex: idx };\n });\n var word = _this.searchState.word;\n var last = _this.searchState.last;\n var isInLoop = sameCharsOnly(word, last);\n var dataLength = mappedData.length;\n var startIndex = Math.max(0, data.findIndex(function (i) { return areSame(i, _this.value, dataItemKey); }));\n var defaultItem;\n if (_this.props.defaultItem) {\n defaultItem = { item: _this.props.defaultItem, itemIndex: -1 };\n dataLength += 1;\n startIndex += 1;\n }\n startIndex += isInLoop ? 1 : 0;\n mappedData = shuffleData(mappedData, startIndex, defaultItem);\n var text, loopMatch, nextMatch, index = 0;\n var _c = _this.props, textField = _c.textField, ignoreCase = _c.ignoreCase;\n for (; index < dataLength; index++) {\n text = getItemValue(mappedData[index].item, textField);\n loopMatch = isInLoop && matchText(text, last, ignoreCase);\n nextMatch = matchText(text, word, ignoreCase);\n if (loopMatch || nextMatch) {\n index = mappedData[index].itemIndex;\n break;\n }\n }\n if (index !== dataLength) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n _this.handleItemSelect(index, state);\n _this.applyState(state);\n _this._valueDuringOnChange = undefined;\n }\n };\n _this.handleKeyDown = function (event) {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, filterable = _a.filterable, disabled = _a.disabled, _c = _a.leftRightKeysNavigation, leftRightKeysNavigation = _c === void 0 ? true : _c, _d = _a.virtual, virtual = _d === void 0 ? { skip: 0, total: 0, pageSize: 0 } : _d;\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var keyCode = event.keyCode;\n var homeOrEndKeys = keyCode === Keys.home || keyCode === Keys.end;\n var upOrDownKeys = keyCode === Keys.up || keyCode === Keys.down;\n var shouldOpen = !opened &&\n ((event.altKey && keyCode === Keys.down) || keyCode === Keys.enter || keyCode === Keys.space);\n var shouldClose = opened && ((event.altKey && keyCode === Keys.up) || keyCode === Keys.esc);\n var leftOrRightKeys = leftRightKeysNavigation && (keyCode === Keys.left || keyCode === Keys.right);\n var shouldNavigate = upOrDownKeys || (!filterable && (leftOrRightKeys || homeOrEndKeys));\n var state = _this.base.initState();\n state.syntheticEvent = event;\n if (disabled) {\n return;\n }\n else if (homeOrEndKeys && _this.base.vs.enabled) {\n if (keyCode === Keys.home) {\n if (virtual.skip !== 0) {\n _this.base.triggerOnPageChange(state, 0, virtual.pageSize);\n _this._navigated = true;\n }\n else {\n _this.triggerOnChange(data[0], state);\n }\n }\n else {\n if (virtual.skip < virtual.total - virtual.pageSize) {\n _this.base.triggerOnPageChange(state, virtual.total - virtual.pageSize, virtual.pageSize);\n _this._navigated = true;\n }\n else {\n _this.triggerOnChange(data[data.length - 1], state);\n }\n }\n }\n else if (opened && keyCode === Keys.enter) {\n var focusedIndex = _this.focusedIndex();\n if (focusedIndex !== undefined) {\n _this.handleItemSelect(focusedIndex, state);\n }\n _this.base.togglePopup(state);\n event.preventDefault();\n }\n else if (shouldOpen || shouldClose) {\n _this.base.togglePopup(state);\n event.preventDefault();\n }\n else if (shouldNavigate) {\n _this.onNavigate(state, keyCode);\n event.preventDefault();\n }\n _this.applyState(state);\n };\n _this.handleItemClick = function (index, event) {\n _this.base.handleItemClick(index, event);\n _this._valueDuringOnChange = undefined;\n };\n _this.handleFocus = function (event) {\n if (_this._skipFocusEvent) {\n return;\n }\n _this.base.handleFocus(event);\n };\n _this.handleBlur = function (event) {\n if (_this._skipFocusEvent || !_this.state.focused) {\n return;\n }\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var adaptive = _this.props.adaptive;\n var _a = _this.state.windowWidth, windowWidth = _a === void 0 ? 0 : _a;\n var renderAdaptive = windowWidth <= MOBILE_MEDIUM_DEVISE && adaptive;\n var state = _this.base.initState();\n state.syntheticEvent = event;\n state.data.focused = false;\n state.events.push({ type: 'onBlur' });\n if (opened && !renderAdaptive) {\n _this.base.togglePopup(state);\n }\n _this.applyState(state);\n };\n _this.handleDefaultItemClick = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n _this.base.togglePopup(state);\n _this.triggerOnChange(_this.props.defaultItem, state);\n _this.applyState(state);\n };\n _this.handleWrapperClick = function (event) {\n if (event.isPropagationStopped()) {\n return;\n }\n var state = _this.base.initState();\n state.syntheticEvent = event;\n if (!_this.state.focused) {\n state.data.focused = true;\n }\n _this.base.togglePopup(state);\n _this.applyState(state);\n };\n _this.handleKeyPress = function (event) {\n if (_this.props.filterable || event.which === 0 || event.keyCode === Keys.enter) {\n return;\n }\n var character = String.fromCharCode(event.charCode || event.keyCode);\n if (_this.props.ignoreCase) {\n character = character.toLowerCase();\n }\n if (character === ' ') {\n event.preventDefault();\n }\n _this.searchState = {\n word: _this.searchState.word + character,\n last: _this.searchState.last + character\n };\n _this.search(event);\n };\n _this.handleListFilterChange = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event.syntheticEvent;\n if (_this.props.filter === undefined) {\n state.data.text = event.target.value;\n }\n _this.base.filterChanged(event.target.value, state);\n _this.applyState(state);\n _this.setState({ group: undefined });\n };\n _this.onPopupOpened = function () {\n if (_this._filterInput) {\n _this.focusElement(_this._filterInput);\n }\n if (_this.props.adaptive) {\n setTimeout(function () {\n if (_this._filterInput) {\n _this.focusElement(_this._filterInput);\n }\n }, 300);\n }\n };\n _this.onPopupClosed = function () {\n if (_this.state.focused) {\n window.setTimeout(function () {\n if (_this.state.focused && _this.base.wrapper) {\n _this.focusElement(_this.base.wrapper);\n }\n });\n }\n };\n _this.setValidity = function () {\n if (_this._select && _this._select.setCustomValidity) {\n _this._select.setCustomValidity(_this.validity.valid\n ? ''\n : _this.props.validationMessage || VALIDATION_MESSAGE);\n }\n };\n validatePackage(packageMetadata);\n return _this;\n }\n Object.defineProperty(DropDownListWithoutContext.prototype, \"document\", {\n get: function () {\n if (!canUseDOM) {\n return;\n }\n // useful only for user actions\n return (this.element && this.element.ownerDocument) || document;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropDownListWithoutContext.prototype, \"element\", {\n /**\n * @hidden\n */\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropDownListWithoutContext.prototype, \"value\", {\n /**\n * The value of the DropDownList.\n */\n get: function () {\n var value;\n if (this._valueDuringOnChange !== undefined) {\n value = this._valueDuringOnChange;\n }\n else if (this.props.value !== undefined) {\n value = this.props.value;\n }\n else if (this.state.value !== undefined) {\n value = this.state.value;\n }\n else if (this.props.defaultValue !== undefined) {\n value = this.props.defaultValue;\n }\n if (!isPresent(value) && this.props.defaultItem !== undefined) {\n value = this.props.defaultItem;\n }\n return value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropDownListWithoutContext.prototype, \"index\", {\n /**\n * The index of the selected item.\n */\n get: function () {\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, dataItemKey = _a.dataItemKey;\n var value = this.value;\n // TO DO: deprecate it!\n return data.findIndex(function (i) { return areSame(i, value, dataItemKey); });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropDownListWithoutContext.prototype, \"name\", {\n /**\n * Gets the `name` property of the DropDownList.\n */\n get: function () {\n return this.props.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropDownListWithoutContext.prototype, \"validity\", {\n /**\n * Represents the validity state into which the DropDownList is set.\n */\n get: function () {\n var customError = this.props.validationMessage !== undefined;\n var isValid = (!this.required\n || (this.value !== null && this.value !== '' && this.value !== undefined));\n var valid = this.props.valid !== undefined ? this.props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.value === null\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropDownListWithoutContext.prototype, \"validityStyles\", {\n get: function () {\n return this.props.validityStyles !== undefined\n ? this.props.validityStyles\n : DropDownListWithoutContext.defaultProps.validityStyles;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DropDownListWithoutContext.prototype, \"required\", {\n /**\n * @hidden\n */\n get: function () {\n return this.props.required !== undefined\n ? this.props.required\n : DropDownListWithoutContext.defaultProps.required;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n DropDownListWithoutContext.prototype.componentDidUpdate = function (prevProps, prevState) {\n var _a;\n var _b = this.props, dataItemKey = _b.dataItemKey, virtual = _b.virtual, _c = _b.groupField, groupField = _c === void 0 ? '' : _c;\n var _d = this.props.data, data = _d === void 0 ? [] : _d;\n var prevTotal = prevProps.virtual ? prevProps.virtual.total : 0;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var prevOpened = prevProps.opened !== undefined ? prevProps.opened : prevState.opened;\n var opening = !prevOpened && opened;\n var closing = prevOpened && !opened;\n if (!this.base.getPopupSettings().animate) {\n if (opening) {\n this.onPopupOpened();\n }\n else if (closing) {\n // this.onPopupClosed();\n }\n }\n if (virtual && virtual.total !== prevTotal) {\n this.base.vs.calcScrollElementHeight();\n this.base.vs.reset();\n }\n else {\n var selectedItem_1 = this.value;\n var prevSelectedItem = prevProps.value !== undefined ? prevProps.value : prevState.value;\n var selectedItemIndex = data.findIndex(function (i) { return areSame(i, selectedItem_1, dataItemKey); });\n if (groupField !== '') {\n selectedItemIndex = (_a = this.base.getGroupedDataModernMode(data, groupField)) === null || _a === void 0 ? void 0 : _a.indexOf(selectedItem_1);\n }\n var selectedItemChanged = !areSame(prevSelectedItem, selectedItem_1, dataItemKey);\n if (opening && virtual) {\n this.base.scrollToVirtualItem(virtual, selectedItemIndex);\n }\n else if (opening && !virtual) {\n this.onPopupOpened();\n // Resets the sticky header group value for scenarios with open/close of component's popup\n if (data && data.length !== 0) {\n this.base.resetGroupStickyHeader(data[0][groupField], this);\n }\n this.base.scrollToItem(selectedItemIndex);\n }\n else if (opened && prevOpened && selectedItem_1 && selectedItemChanged && !this._navigated) {\n this.base.scrollToItem(selectedItemIndex);\n }\n else if (opened && prevOpened && this._navigated) {\n if (this._navigated && virtual && virtual.skip === 0) {\n this.base.vs.reset();\n }\n else if (this._navigated && virtual && virtual.skip === virtual.total - virtual.pageSize) {\n this.base.vs.scrollToEnd();\n }\n }\n }\n this._navigated = false;\n this.setValidity();\n };\n /**\n * @hidden\n */\n DropDownListWithoutContext.prototype.componentDidMount = function () {\n var _a;\n this.observerResize = canUseDOM && window.ResizeObserver && new window.ResizeObserver(this.calculateMedia.bind(this));\n this.base.didMount();\n this.setValidity();\n if (((_a = this.document) === null || _a === void 0 ? void 0 : _a.body) && this.observerResize) {\n this.observerResize.observe(this.document.body);\n }\n };\n /** @hidden */\n DropDownListWithoutContext.prototype.componentWillUnmount = function () {\n var _a;\n if (((_a = this.document) === null || _a === void 0 ? void 0 : _a.body) && this.observerResize) {\n this.observerResize.disconnect();\n }\n };\n /**\n * @hidden\n */\n DropDownListWithoutContext.prototype.render = function () {\n var _a;\n var _this = this;\n var btnAriaLabel = provideLocalizationService(this).toLanguageString(dropDownListArrowBtnAriaLabel, messages[dropDownListArrowBtnAriaLabel]);\n var _b = this.props, style = _b.style, className = _b.className, label = _b.label, dir = _b.dir, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode, adaptive = _b.adaptive;\n var _c = this.state.windowWidth, windowWidth = _c === void 0 ? 0 : _c;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var value = this.value;\n var text = getItemValue(value, this.props.textField);\n var isValid = !this.validityStyles || this.validity.valid;\n var base = this.base;\n var vs = base.vs;\n var renderAdaptive = windowWidth <= MOBILE_MEDIUM_DEVISE && adaptive;\n vs.enabled = virtual !== undefined;\n if (virtual !== undefined) {\n base.vs.skip = virtual.skip;\n base.vs.total = virtual.total;\n base.vs.pageSize = virtual.pageSize;\n }\n var _d = this.props, dataItemKey = _d.dataItemKey, _e = _d.data, data = _e === void 0 ? [] : _e, disabled = _d.disabled, tabIndex = _d.tabIndex, loading = _d.loading, iconClassName = _d.iconClassName, valueRender = _d.valueRender;\n var focused = this.state.focused;\n var selectedIndex = data.findIndex(function (i) { return areSame(i, value, dataItemKey); });\n var valueDefaultRendering = (React.createElement(\"span\", { id: this._inputId, className: \"k-input-inner\" },\n React.createElement(\"span\", { className: \"k-input-value-text\" }, text)));\n var valueElement = valueRender !== undefined ?\n valueRender.call(undefined, valueDefaultRendering, value) : valueDefaultRendering;\n var dropdownlist = (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { ref: this.componentRef, className: classNames('k-dropdownlist k-picker', className, (_a = {},\n _a[\"k-picker-\".concat(sizeMap[size] || size)] = size,\n _a[\"k-rounded-\".concat(roundedMap[rounded] || rounded)] = rounded,\n _a[\"k-picker-\".concat(fillMode)] = fillMode,\n _a['k-focus'] = focused,\n _a['k-disabled'] = disabled,\n _a['k-invalid'] = !isValid,\n _a['k-loading'] = loading,\n _a['k-required'] = this.required,\n _a)), style: !label\n ? style\n : __assign(__assign({}, style), { width: undefined }), dir: dir, onMouseDown: opened ? function (event) {\n if (event.target.nodeName !== 'INPUT') {\n _this.focusElement(_this.base.wrapper);\n event.preventDefault();\n }\n } : undefined, onFocus: this.handleFocus, onBlur: this.handleBlur, tabIndex: getTabIndex(tabIndex, disabled), accessKey: this.props.accessKey, onKeyDown: this.handleKeyDown, onKeyPress: this.handleKeyPress, onClick: disabled ? undefined : this.handleWrapperClick, role: 'combobox', \"aria-required\": this.required, \"aria-disabled\": disabled || undefined, \"aria-haspopup\": 'listbox', \"aria-expanded\": opened || false, \"aria-owns\": this.base.listBoxId, \"aria-activedescendant\": opened ? ('option-' + this.base.guid + '-' + (selectedIndex + (virtual ? virtual.skip : 0))) : undefined, \"aria-label\": this.props.ariaLabel || this.props.label, \"aria-labelledby\": this.props.ariaLabelledBy, \"aria-describedby\": this.props.ariaDescribedBy || this._inputId, id: this.props.id, title: this.props.title },\n valueElement,\n loading && React.createElement(IconWrap, { className: \"k-input-loading-icon\", name: 'loading' }),\n React.createElement(Button, { tabIndex: -1, type: \"button\", \"aria-label\": btnAriaLabel, \"aria-hidden\": true, size: size, fillMode: fillMode, iconClass: iconClassName, className: \"k-input-button\", rounded: null, themeColor: 'base', icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? caretAltDownIcon : this.props.svgIcon, onMouseDown: function (e) { return _this.state.focused && e.preventDefault(); } }),\n this.dummySelect(value),\n !renderAdaptive && this.renderListContainer()),\n renderAdaptive && this.renderAdaptiveListContainer()));\n return label ? (React.createElement(FloatingLabel, { label: label, editorValue: text, editorValid: isValid, editorDisabled: this.props.disabled, style: { width: style ? style.width : undefined }, children: dropdownlist })) : dropdownlist;\n };\n /**\n * @hidden\n */\n DropDownListWithoutContext.prototype.onNavigate = function (state, keyCode) {\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, defaultItem = _a.defaultItem, dataItemKey = _a.dataItemKey, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0, total: 0, pageSize: 0 } : _c;\n var vs = this.base.vs;\n var value = this.value;\n var index = data.findIndex(function (i) { return areSame(i, value, dataItemKey); });\n var newIndex = this.base.navigation.navigate({\n current: virtual.skip + index,\n max: (vs.enabled ? virtual.total : data.length) - 1,\n min: defaultItem !== undefined ? -1 : 0,\n keyCode: keyCode\n });\n if (newIndex !== undefined) {\n this.handleItemSelect(newIndex, state);\n }\n this.applyState(state);\n };\n DropDownListWithoutContext.prototype.renderAdaptiveListContainer = function () {\n var _a;\n var _this = this;\n var _b = this.state.windowWidth, windowWidth = _b === void 0 ? 0 : _b;\n var _c = this.props, header = _c.header, footer = _c.footer, size = _c.size, adaptiveTitle = _c.adaptiveTitle, groupField = _c.groupField, groupStickyHeaderItemRender = _c.groupStickyHeaderItemRender, list = _c.list, _d = _c.data, data = _d === void 0 ? [] : _d;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var actionSheetProps = {\n navigatable: false,\n navigatableElements: [],\n expand: opened,\n animation: true,\n onClose: function (event) { return _this.handleWrapperClick(event); },\n animationStyles: windowWidth <= MOBILE_SMALL_DEVISE ? { top: 0, width: '100%', height: '100%' } : undefined,\n className: windowWidth <= MOBILE_SMALL_DEVISE\n ? 'k-adaptive-actionsheet k-actionsheet-fullscreen'\n : 'k-adaptive-actionsheet k-actionsheet-bottom'\n };\n var group = this.state.group;\n if (group === undefined && groupField !== undefined) {\n group = getItemValue(data[0], groupField);\n }\n return (React.createElement(React.Fragment, null,\n React.createElement(ActionSheet, __assign({}, actionSheetProps),\n React.createElement(ActionSheetHeader, { className: 'k-text-center' },\n React.createElement(\"div\", { className: \"k-actionsheet-titlebar-group k-hbox\" },\n React.createElement(\"div\", { className: \"k-actionsheet-title\" },\n React.createElement(\"div\", null, adaptiveTitle)),\n React.createElement(\"div\", { className: \"k-actionsheet-actions\" },\n React.createElement(Button, { tabIndex: 0, \"aria-label\": \"Cancel\", \"aria-disabled\": \"false\", type: \"button\", fillMode: \"flat\", onClick: this.handleWrapperClick, icon: 'x', svgIcon: xIcon }))),\n React.createElement(\"div\", { className: \"k-actionsheet-titlebar-group k-actionsheet-filter\" }, this.renderListFilter())),\n React.createElement(ActionSheetContent, { className: '!k-overflow-hidden' },\n header && React.createElement(\"div\", { className: \"k-list-header\" }, header),\n React.createElement(\"div\", { className: classNames('k-list', (_a = {}, _a[\"k-list-\".concat(sizeMap[size] || size)] = size, _a['k-virtual-list'] = this.base.vs.enabled, _a)) },\n this.renderDefaultItem(),\n !list && group && data.length !== 0 && React.createElement(GroupStickyHeader, { group: group, groupMode: 'modern', render: groupStickyHeaderItemRender }),\n this.renderList()),\n footer && React.createElement(\"div\", { className: \"k-list-footer\" }, footer)))));\n };\n DropDownListWithoutContext.prototype.focusedIndex = function () {\n var filterText = isPresent(this.props.filter) ? this.props.filter : this.state.text;\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c, dataItemKey = _a.dataItemKey, textField = _a.textField, focusedItemIndex = _a.focusedItemIndex;\n var value = this.value;\n var selectedIndex = data.findIndex(function (i) { return areSame(i, value, dataItemKey); });\n var hasSelected = !(selectedIndex < 0 && !this.props.defaultItem);\n if (!hasSelected && filterText && virtual.skip === 0) {\n return focusedItemIndex ? focusedItemIndex(data, filterText, textField) :\n data.indexOf(getFocusedItem(data, filterText, textField));\n }\n else {\n return !hasSelected && virtual.skip === 0 ? 0 : undefined;\n }\n };\n DropDownListWithoutContext.prototype.focusElement = function (element) {\n var _this = this;\n this._skipFocusEvent = true;\n element.focus();\n window.setTimeout(function () { return _this._skipFocusEvent = false; }, 30);\n };\n DropDownListWithoutContext.prototype.triggerOnChange = function (item, state) {\n if (areSame(this.value, item, this.props.dataItemKey)) {\n return;\n }\n if (this.props.value === undefined) {\n state.data.value = item;\n }\n this._valueDuringOnChange = item;\n state.events.push({ type: 'onChange' });\n };\n DropDownListWithoutContext.prototype.applyState = function (state) {\n this.base.applyState(state);\n this._valueDuringOnChange = undefined;\n };\n DropDownListWithoutContext.prototype.calculateMedia = function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n this.setState({ windowWidth: entry.target.clientWidth });\n }\n ;\n };\n ;\n DropDownListWithoutContext.displayName = 'DropDownList';\n /**\n * @hidden\n */\n DropDownListWithoutContext.propTypes = __assign({ delay: PropTypes.number, ignoreCase: PropTypes.bool, iconClassName: PropTypes.string, svgIcon: svgIconPropType, defaultItem: PropTypes.any, valueRender: PropTypes.func, valueMap: PropTypes.func, validationMessage: PropTypes.string, required: PropTypes.bool, id: PropTypes.string, ariaLabelledBy: PropTypes.string, ariaDescribedBy: PropTypes.string, ariaLabel: PropTypes.string, leftRightKeysNavigation: PropTypes.bool, title: PropTypes.string, groupField: PropTypes.string, list: PropTypes.any }, DropDownBase.propTypes);\n /**\n * @hidden\n */\n DropDownListWithoutContext.defaultProps = __assign(__assign({ delay: 500, tabIndex: 0, ignoreCase: true }, DropDownBase.defaultProps), { required: false, size: 'medium', rounded: 'medium', fillMode: 'solid', groupMode: 'modern' });\n return DropDownListWithoutContext;\n}(React.Component));\nexport { DropDownListWithoutContext };\n/**\n * Represents the PropsContext of the `DropDownList` component.\n * Used for global configuration of all `DropDownList` instances.\n *\n * For more information, refer to the [Dropdowns Props Context]({% slug props-context_dropdowns %}) article.\n */\nexport var DropDownListPropsContext = createPropsContext();\n/* eslint-disable @typescript-eslint/no-redeclare -- intentionally naming the component the same as the type */\n/**\n * Represents the [KendoReact DropDownList component]({% slug overview_dropdownlist %}).\n *\n * Accepts properties of type [DropDownListProps]({% slug api_dropdowns_dropdownlistprops %}).\n * Obtaining the `ref` returns an object of type [DropDownListHandle]({% slug api_dropdowns_dropdownlisthandle %}).\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * dropdownlist = null;\n * render() {\n * return (\n *
\n * this.dropdownlist = component}\n * />\n * \n *
\n * );\n * }\n * }\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var DropDownList = withPropsContext(DropDownListPropsContext, DropDownListWithoutContext);\nDropDownList.displayName = 'KendoReactDropDownList';\n","/**\n * @hidden\n */\nexport var getActiveElement = function (document) {\n if (!document) {\n return undefined;\n }\n var activeElement = document.activeElement;\n var shadowRoot = activeElement === null || activeElement === void 0 ? void 0 : activeElement.shadowRoot;\n return shadowRoot ? shadowRoot.activeElement : activeElement;\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { getActiveElement } from '@progress/kendo-react-common';\nimport * as React from 'react';\n/**\n * @hidden\n */\nvar SearchBar = /** @class */ (function (_super) {\n __extends(SearchBar, _super);\n function SearchBar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._input = null;\n return _this;\n }\n Object.defineProperty(SearchBar.prototype, \"input\", {\n /**\n * @hidden\n */\n get: function () {\n return this._input;\n },\n enumerable: false,\n configurable: true\n });\n SearchBar.prototype.componentDidUpdate = function (prevProps) {\n var prevValue = prevProps.value;\n var prevSuggestedText = prevProps.suggestedText;\n var _a = this.props, value = _a.value, suggestedText = _a.suggestedText, focused = _a.focused;\n var input = this.input;\n var valueChanged = prevValue !== value || suggestedText !== prevSuggestedText;\n var deleting = valueChanged && prevValue.startsWith(value) &&\n !(prevSuggestedText && suggestedText && prevSuggestedText.endsWith(suggestedText));\n var activeElement = getActiveElement(document);\n if (focused && input && activeElement !== input) {\n input.focus();\n }\n if (suggestedText && valueChanged && !deleting && input) {\n input.setSelectionRange(value.length - suggestedText.length, value.length);\n }\n };\n SearchBar.prototype.render = function () {\n var _this = this;\n var _a = this.props, _b = _a.expanded, expanded = _b === void 0 ? false : _b, disabled = _a.disabled, _c = _a.role, role = _c === void 0 ? 'listbox' : _c, render = _a.render;\n var searchbar = (React.createElement(\"input\", { autoComplete: \"off\", id: this.props.id, type: \"text\", key: \"searchbar\", size: this.props.size, placeholder: this.props.placeholder, className: \"k-input-inner\", tabIndex: this.props.tabIndex, accessKey: this.props.accessKey, role: role, name: this.props.name, value: this.props.value, onChange: this.props.onChange, ref: function (input) { return _this._input = input; }, onKeyDown: this.props.onKeyDown, onFocus: this.props.onFocus, onBlur: this.props.onBlur, onClick: this.props.onClick, \"aria-disabled\": disabled || undefined, disabled: disabled || undefined, readOnly: this.props.readOnly || undefined, title: this.props.title, \"aria-haspopup\": \"listbox\", \"aria-expanded\": expanded, \"aria-owns\": this.props.owns, \"aria-activedescendant\": expanded ? this.props.activedescendant : undefined, \"aria-describedby\": this.props.ariaDescribedBy, \"aria-labelledby\": this.props.ariaLabelledBy, \"aria-required\": this.props.ariaRequired }));\n return render ? render.call(undefined, searchbar) : searchbar;\n };\n return SearchBar;\n}(React.Component));\nexport default SearchBar;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { registerForLocalization, provideLocalizationService } from '@progress/kendo-react-intl';\nimport { messages, clear } from '../messages';\nimport { IconWrap } from '@progress/kendo-react-common';\nimport { xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar ClearButton = /** @class */ (function (_super) {\n __extends(ClearButton, _super);\n function ClearButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onMouseDown = function (e) { return e.preventDefault(); };\n return _this;\n }\n ClearButton.prototype.render = function () {\n var title = provideLocalizationService(this).toLanguageString(clear, messages[clear]);\n return (React.createElement(\"span\", { className: \"k-clear-value\", role: \"button\", onClick: this.props.onClick, onMouseDown: this.onMouseDown, tabIndex: -1, title: title, key: \"clearbutton\" },\n React.createElement(IconWrap, { name: 'x', icon: xIcon })));\n };\n return ClearButton;\n}(React.Component));\nexport default ClearButton;\nregisterForLocalization(ClearButton);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport DropDownBase from '../common/DropDownBase';\nimport { guid, classNames, Keys, createPropsContext, withPropsContext, kendoThemeMaps, svgIconPropType } from '@progress/kendo-react-common';\nimport { FloatingLabel } from '@progress/kendo-react-labels';\nimport { areSame, itemIndexStartsWith, getItemIndexByText, getItemValue, isPresent, suggestValue } from '../common/utils';\nimport SearchBar from '../common/SearchBar';\nimport ListContainer from '../common/ListContainer';\nimport List from '../common/List';\nimport ListFilter from '../common/ListFilter';\nimport GroupStickyHeader from '../common/GroupStickyHeader';\nimport { validatePackage, canUseDOM, IconWrap } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport ClearButton from '../common/ClearButton';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { caretAltDownIcon, xIcon } from '@progress/kendo-svg-icons';\nimport { messages, comboArrowBtnAriaLabelExpand, comboArrowBtnAriaLabelCollapse } from './../messages';\nimport { provideLocalizationService } from '@progress/kendo-react-intl';\nimport { ActionSheet, ActionSheetContent, ActionSheetHeader } from '@progress/kendo-react-layout';\nimport { MOBILE_SMALL_DEVISE, MOBILE_MEDIUM_DEVISE } from '../common/constants';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\nvar sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;\n/** @hidden */\nvar ComboBoxWithoutContext = /** @class */ (function (_super) {\n __extends(ComboBoxWithoutContext, _super);\n function ComboBoxWithoutContext(props) {\n var _this = _super.call(this, props) || this;\n /** @hidden */\n _this.state = {};\n _this.base = new DropDownBase(_this);\n _this._element = null;\n _this._inputId = guid();\n _this._suggested = '';\n _this._skipBlur = false;\n _this._input = null;\n _this._adaptiveFilterInput = null;\n _this.itemHeight = 0;\n /** @hidden */\n _this.focus = function () {\n if (_this._input) {\n _this._input.focus();\n }\n };\n /** @hidden */\n _this.handleItemSelect = function (index, state) {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, virtual = _a.virtual, dataItemKey = _a.dataItemKey;\n var skip = virtual ? virtual.skip : 0;\n var item = data[index - skip];\n var newSelected = !areSame(item, _this.value, dataItemKey);\n _this.triggerOnChange(item, state);\n if (_this.state.text !== undefined) {\n state.data.text = undefined;\n }\n if (newSelected) {\n _this.base.triggerPageChangeCornerItems(item, state);\n }\n };\n _this.onPopupOpened = function () {\n setTimeout(function () {\n if (_this.mobileMode && _this._adaptiveFilterInput) {\n _this._skipBlur = true;\n _this._adaptiveFilterInput.focus();\n _this._skipBlur = false;\n }\n }, 300);\n };\n _this.componentRef = function (element) {\n _this._element = element;\n _this.base.wrapper = element;\n };\n _this.toggleBtnClick = function (event) {\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var state = _this.base.initState();\n state.syntheticEvent = event;\n _this.base.togglePopup(state);\n if (!opened && _this.mobileMode) {\n var mobileText = _this.props.adaptiveFilter !== undefined ? _this.props.adaptiveFilter : _this.state.text || null;\n _this.base.filterChanged(mobileText, state);\n }\n _this.applyState(state);\n };\n _this.renderMobileListFilter = function () {\n var mobileText = _this.props.adaptiveFilter !== undefined ? _this.props.adaptiveFilter : _this.state.text;\n var selectedItemText = getItemValue(_this.value, _this.props.textField);\n var mobileInputText = isPresent(mobileText) ? mobileText : selectedItemText;\n return (React.createElement(ListFilter, { value: mobileInputText, ref: function (filter) { return _this._adaptiveFilterInput = filter && filter.element; }, onChange: _this.handleMobileFilterChange, onKeyDown: _this.onInputKeyDown, size: _this.props.size, rounded: _this.props.rounded, fillMode: _this.props.fillMode }));\n };\n _this.handleMobileFilterChange = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event.syntheticEvent;\n state.data.text = event.target.value;\n _this.base.filterChanged(event.target.value, state);\n _this.applyState(state);\n };\n _this.onScroll = function (event) {\n var _a = _this.base, vs = _a.vs, list = _a.list;\n vs.scrollHandler(event);\n var groupField = _this.props.groupField;\n var _b = _this.props.data, data = _b === void 0 ? [] : _b;\n if (!groupField || !data.length) {\n return;\n }\n var itemHeight = _this.itemHeight =\n _this.itemHeight || (vs.enabled ? vs.itemHeight : (list ? list.children[0].offsetHeight : 0));\n var target = event.target;\n var scrollTop = target.scrollTop - (vs.skip * itemHeight);\n if (_this.props.groupMode === 'modern') {\n data = _this.base.getGroupedDataModernMode(data, groupField);\n }\n var group = data[0][groupField];\n for (var i = 1; i < data.length; i++) {\n if (itemHeight * i > scrollTop) {\n break;\n }\n if (data[i] && data[i][groupField]) {\n group = data[i][groupField];\n }\n }\n if (group !== _this.state.group) {\n _this.setState({\n group: group\n });\n if (_this.props.onGroupScroll) {\n _this.props.onGroupScroll.call(undefined, { group: group });\n }\n }\n };\n _this.handleItemClick = function (index, event) {\n _this.base.handleItemClick(index, event);\n _this._valueDuringOnChange = undefined;\n };\n _this.handleBlur = function (event) {\n if (_this.state.focused && !_this._skipBlur) {\n var state = _this.base.initState();\n state.data.focused = false;\n state.events.push({ type: 'onBlur' });\n state.syntheticEvent = event;\n _this.applyValueOnRejectSuggestions(event.currentTarget.value, state);\n }\n };\n _this.onInputClick = function (event) {\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var mobileText = _this.props.adaptiveFilter !== undefined ? _this.props.adaptiveFilter : _this.state.text || null;\n if (!opened && _this.mobileMode) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n _this.base.togglePopup(state);\n _this.base.filterChanged(mobileText, state);\n _this.applyState(state);\n }\n };\n _this.onInputKeyDown = function (event) {\n var keyCode = event.keyCode;\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var state = _this.base.initState();\n state.syntheticEvent = event;\n if (!event.altKey && (keyCode === Keys.up || keyCode === Keys.down)) {\n event.preventDefault();\n _this.onNavigate(state, keyCode);\n _this.applyState(state);\n return;\n }\n var togglePopup = function () {\n event.preventDefault();\n _this.base.togglePopup(state);\n _this.applyState(state);\n };\n if (opened) {\n if (event.altKey && keyCode === Keys.up) {\n togglePopup();\n }\n else if (keyCode === Keys.enter) {\n event.preventDefault();\n _this.applyValueOnEnter(event.currentTarget.value, state);\n }\n else if (keyCode === Keys.esc) {\n _this.applyValueOnRejectSuggestions(event.currentTarget.value, state);\n }\n }\n else if (event.altKey && keyCode === Keys.down) {\n togglePopup();\n }\n };\n _this.inputOnChange = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var input = event.currentTarget;\n var value = input.value;\n if (_this.props.suggest) {\n var selectionAtEnd = input.selectionEnd === value.length;\n var prevText = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n if (!isPresent(prevText)) {\n prevText = getItemValue(_this.value, _this.props.textField) || '';\n }\n var deletedSuggestion = prevText && prevText === value;\n var deleting = prevText && prevText.length > value.length;\n if (deletedSuggestion || deleting || !selectionAtEnd) {\n _this._suggested = '';\n }\n else {\n _this.suggestValue(value);\n }\n }\n if (_this.props.filter === undefined) {\n state.data.text = value;\n }\n if (_this.state.focusedItem !== undefined) {\n state.data.focusedItem = undefined;\n }\n if (!opened) {\n _this.base.togglePopup(state);\n }\n _this.base.filterChanged(value, state);\n _this.applyState(state);\n _this.setState({ group: undefined });\n };\n _this.clearButtonClick = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n event.stopPropagation();\n _this._suggested = '';\n _this.base.filterChanged('', state);\n if (_this.props.filter === undefined && _this.state.text !== undefined) {\n state.data.text = undefined;\n }\n _this.triggerOnChange(null, state);\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var isAdaptive = _this.mobileMode;\n if (opened && !isAdaptive) {\n _this.base.togglePopup(state);\n }\n _this.applyState(state);\n };\n _this.setValidity = function () {\n if (_this._input && _this._input.setCustomValidity) {\n _this._input.setCustomValidity(_this.validity.valid\n ? ''\n : _this.props.validationMessage || VALIDATION_MESSAGE);\n }\n };\n validatePackage(packageMetadata);\n return _this;\n }\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"document\", {\n get: function () {\n if (!canUseDOM) {\n return;\n }\n // useful only for user actions\n return (this.element && this.element.ownerDocument) || document;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"element\", {\n /** @hidden */\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"mobileMode\", {\n /**\n * The mobile mode of the ComboBox.\n */\n get: function () {\n var isAdaptive = this.state.windowWidth && this.state.windowWidth <= MOBILE_MEDIUM_DEVISE && this.props.adaptive;\n return !!isAdaptive;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"value\", {\n /**\n * The value of the ComboBox.\n */\n get: function () {\n if (this._valueDuringOnChange !== undefined) {\n return this._valueDuringOnChange;\n }\n else if (this.props.value !== undefined) {\n return this.props.value;\n }\n else if (this.state.value !== undefined) {\n return this.state.value;\n }\n else if (this.props.defaultValue !== undefined) {\n return this.props.defaultValue;\n }\n return undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"index\", {\n /**\n * The index of the selected item.\n */\n get: function () {\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, dataItemKey = _a.dataItemKey;\n var value = this.value;\n // TO DO: deprecate it!\n return data.findIndex(function (i) { return areSame(i, value, dataItemKey); });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"name\", {\n /**\n * Gets the `name` property of the ComboBox.\n */\n get: function () {\n return this.props.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"validity\", {\n /**\n * Represents the validity state into which the component is set.\n */\n get: function () {\n // remove the undefined check when this is fixed:\n // https://github.com/telerik/kendo-react-private/issues/252\n var customError = this.props.validationMessage !== undefined;\n var isValid = (!this.required\n || (this.value !== null && this.value !== '' && this.value !== undefined));\n var valid = this.props.valid !== undefined ? this.props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.value === null\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"validityStyles\", {\n get: function () {\n return this.props.validityStyles !== undefined\n ? this.props.validityStyles\n : ComboBoxWithoutContext.defaultProps.validityStyles;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ComboBoxWithoutContext.prototype, \"required\", {\n /** @hidden */\n get: function () {\n return this.props.required !== undefined\n ? this.props.required\n : ComboBoxWithoutContext.defaultProps.required;\n },\n enumerable: false,\n configurable: true\n });\n /** @hidden */\n ComboBoxWithoutContext.prototype.componentDidUpdate = function (prevProps, prevState) {\n var _a;\n var _b = this.props, dataItemKey = _b.dataItemKey, virtual = _b.virtual, _c = _b.groupField, groupField = _c === void 0 ? '' : _c, _d = _b.data, data = _d === void 0 ? [] : _d;\n var prevTotal = prevProps.virtual ? prevProps.virtual.total : 0;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var prevOpened = prevProps.opened !== undefined ? prevProps.opened : prevState.opened;\n var opening = !prevOpened && opened;\n var selectedItem = this.value;\n this._valueOnDidUpdate = selectedItem;\n if (virtual && virtual.total !== prevTotal) {\n this.base.vs.calcScrollElementHeight();\n this.base.vs.reset();\n }\n else {\n var prevSelectedItem = prevProps.value !== undefined ? prevProps.value : prevState.value;\n var selectedItemIndex = data.findIndex(function (i) { return areSame(i, selectedItem, dataItemKey); });\n // Needed to calculate the proper item index when in 'modern' grouping mode\n if (this.props.groupMode === 'modern') {\n selectedItemIndex = (_a = this.base.getGroupedDataModernMode(data, groupField)) === null || _a === void 0 ? void 0 : _a.indexOf(selectedItem);\n }\n var selectedItemChanged = !areSame(prevSelectedItem, selectedItem, dataItemKey);\n if (opening && virtual) {\n this.base.scrollToVirtualItem(virtual, selectedItemIndex);\n }\n else if (opening && !virtual) {\n this.onPopupOpened();\n // Resets the sticky header group value for scenarios with open/close of component's popup\n if (data && data.length !== 0) {\n this.base.resetGroupStickyHeader(data[0][groupField], this);\n }\n this.base.scrollToItem(selectedItemIndex);\n }\n else if (opened && prevOpened && selectedItem && selectedItemChanged) {\n this.base.scrollToItem(selectedItemIndex);\n }\n }\n if (opening && this._input) {\n this._input.focus();\n }\n this.setValidity();\n };\n /** @hidden */\n ComboBoxWithoutContext.prototype.componentDidMount = function () {\n var _a;\n this.observerResize = canUseDOM && window.ResizeObserver && new window.ResizeObserver(this.calculateMedia.bind(this));\n this.base.didMount();\n this.setValidity();\n if (((_a = this.document) === null || _a === void 0 ? void 0 : _a.body) && this.observerResize) {\n this.observerResize.observe(this.document.body);\n }\n };\n /** @hidden */\n ComboBoxWithoutContext.prototype.componentWillUnmount = function () {\n var _a;\n if (((_a = this.document) === null || _a === void 0 ? void 0 : _a.body) && this.observerResize) {\n this.observerResize.disconnect();\n }\n };\n /** @hidden */\n ComboBoxWithoutContext.prototype.render = function () {\n var _a;\n var btnAriaLabelExpand = provideLocalizationService(this).toLanguageString(comboArrowBtnAriaLabelExpand, messages[comboArrowBtnAriaLabelExpand]);\n var btnAriaLabelCollapse = provideLocalizationService(this).toLanguageString(comboArrowBtnAriaLabelCollapse, messages[comboArrowBtnAriaLabelCollapse]);\n var _b = this.props, dir = _b.dir, disabled = _b.disabled, _c = _b.clearButton, clearButton = _c === void 0 ? ComboBoxWithoutContext.defaultProps.clearButton : _c, label = _b.label, textField = _b.textField, adaptive = _b.adaptive, className = _b.className, style = _b.style, loading = _b.loading, iconClassName = _b.iconClassName, virtual = _b.virtual, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode, _d = _b.opened, opened = _d === void 0 ? this.state.opened : _d, placeholder = _b.placeholder;\n var _e = this.state.windowWidth, windowWidth = _e === void 0 ? 0 : _e;\n var isValid = !this.validityStyles || this.validity.valid;\n var text = this.props.filter !== undefined ? this.props.filter : this.state.text;\n var selectedItemText = getItemValue(this.value, textField);\n var inputText = isPresent(text) ? text : selectedItemText;\n var renderClearButton = clearButton && (!!(inputText) || isPresent(this.value));\n var base = this.base;\n var vs = base.vs;\n var id = this.props.id || this._inputId;\n var renderAdaptive = windowWidth <= MOBILE_MEDIUM_DEVISE && adaptive;\n vs.enabled = virtual !== undefined;\n if (virtual !== undefined) {\n vs.skip = virtual.skip;\n vs.total = virtual.total;\n vs.pageSize = virtual.pageSize;\n }\n var combobox = (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: classNames('k-combobox k-input', (_a = {},\n _a[\"k-input-\".concat(sizeMap[size] || size)] = size,\n _a[\"k-rounded-\".concat(roundedMap[rounded] || rounded)] = rounded,\n _a[\"k-input-\".concat(fillMode)] = fillMode,\n _a['k-invalid'] = !isValid,\n _a['k-loading'] = loading,\n _a['k-required'] = this.required,\n _a['k-disabled'] = disabled,\n _a), className), ref: this.componentRef, style: !label ? style : __assign(__assign({}, style), { width: undefined }), dir: dir },\n this.renderSearchBar(inputText || '', id, placeholder),\n renderClearButton && !loading && React.createElement(ClearButton, { onClick: this.clearButtonClick, key: \"clearbutton\" }),\n loading && React.createElement(IconWrap, { className: \"k-input-loading-icon\", name: 'loading', key: \"loading\" }),\n React.createElement(Button, { tabIndex: -1, type: \"button\", \"aria-label\": opened ? btnAriaLabelCollapse : btnAriaLabelExpand, icon: !iconClassName ? 'caret-alt-down' : undefined, svgIcon: !iconClassName ? caretAltDownIcon : this.props.svgIcon, iconClass: iconClassName, size: size, fillMode: fillMode, rounded: null, themeColor: 'base', className: \"k-input-button\", onClick: this.toggleBtnClick, onMouseDown: function (e) { return e.preventDefault(); } }),\n !renderAdaptive && this.renderListContainer()),\n renderAdaptive && this.renderAdaptiveListContainer()));\n return label\n ? (React.createElement(FloatingLabel, { label: label, editorId: id, editorValue: inputText, editorValid: isValid, editorDisabled: disabled, style: { width: style ? style.width : undefined }, children: combobox }))\n : combobox;\n };\n /** @hidden */\n ComboBoxWithoutContext.prototype.onNavigate = function (state, keyCode) {\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c;\n var text = this.props.filter ? this.props.filter : this.state.text;\n var focusedIndex = this.getFocusedIndex();\n var vs = this.base.vs;\n var value = this.value;\n this._suggested = '';\n if (focusedIndex !== -1 && !isPresent(value)) {\n this.handleItemSelect(focusedIndex, state);\n }\n else if (text === '') {\n this.handleItemSelect(0, state);\n }\n else {\n var currentIndex = virtual.skip + focusedIndex;\n var newIndex = this.base.navigation.navigate({\n keyCode: keyCode,\n current: currentIndex,\n max: (vs.enabled ? vs.total : data.length) - 1,\n min: 0\n });\n if (newIndex !== undefined) {\n this.handleItemSelect(newIndex, state);\n }\n }\n };\n ;\n ComboBoxWithoutContext.prototype.applyValueOnEnter = function (value, state) {\n var _a;\n var _b = this.props, _c = _b.data, data = _c === void 0 ? [] : _c, textField = _b.textField, allowCustom = _b.allowCustom;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var currentValueText = getItemValue(this.value, textField);\n var valueIndex = currentValueText === value ?\n this.index : getItemIndexByText(data, value, textField);\n var itemSelected = valueIndex !== -1;\n var newSelected = undefined;\n this._suggested = '';\n if (itemSelected) { // typed text match item from list\n newSelected = data[valueIndex];\n }\n else {\n if (allowCustom) { // any custom text not in list\n newSelected = textField !== undefined ? (_a = {}, _a[textField] = value, _a) : value;\n }\n else {\n return this.selectFocusedItem(value, state);\n }\n }\n this.triggerOnChange(newSelected, state);\n if (opened) {\n this.base.togglePopup(state);\n }\n if (this.props.filter === undefined && this.state.text !== undefined) {\n state.data.text = undefined;\n }\n this.applyState(state);\n };\n ComboBoxWithoutContext.prototype.applyValueOnRejectSuggestions = function (text, state) {\n var _a;\n var _b = this.props, _c = _b.data, data = _c === void 0 ? [] : _c, textField = _b.textField, allowCustom = _b.allowCustom;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var valueItemText = getItemValue(this.value, textField);\n var isMobileDevice = this.state.windowWidth && this.state.windowWidth <= MOBILE_MEDIUM_DEVISE;\n this._suggested = '';\n if (text === valueItemText || (text === '' && !isPresent(valueItemText))) {\n if (opened && !isMobileDevice) {\n this.base.togglePopup(state);\n }\n return this.applyState(state);\n }\n var valueIndex = getItemIndexByText(data, text, textField, true);\n var itemSelected = valueIndex !== -1;\n var newSelected = null;\n if (itemSelected) {\n newSelected = data[valueIndex];\n }\n else if (allowCustom) {\n newSelected = text ? (textField ? (_a = {}, _a[textField] = text, _a) : text) : null;\n }\n this.triggerOnChange(newSelected, state);\n if (this.state.text !== undefined) {\n state.data.text = undefined;\n this.base.filterChanged('', state);\n }\n if (opened && !isMobileDevice) {\n this.base.togglePopup(state);\n }\n this.applyState(state);\n };\n ComboBoxWithoutContext.prototype.selectFocusedItem = function (text, state) {\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c, _d = _a.focusedItemIndex, focusedItemIndex = _d === void 0 ? itemIndexStartsWith : _d;\n var skip = virtual.skip;\n var focusedIndex = (text === '' && skip === 0) ? 0 :\n focusedItemIndex(data, text, textField);\n if (focusedIndex !== -1) {\n this.handleItemSelect(focusedIndex + skip, state);\n }\n else {\n this.triggerOnChange(null, state);\n if (this.state.text !== undefined) {\n state.data.text = undefined;\n }\n }\n if (opened) {\n this.base.togglePopup(state);\n }\n return this.applyState(state);\n };\n ComboBoxWithoutContext.prototype.renderAdaptiveListContainer = function () {\n var _a;\n var _this = this;\n var _b = this.state.windowWidth, windowWidth = _b === void 0 ? 0 : _b;\n var _c = this.props, header = _c.header, footer = _c.footer, size = _c.size, _d = _c.data, data = _d === void 0 ? [] : _d, groupField = _c.groupField, groupMode = _c.groupMode, list = _c.list, virtual = _c.virtual, adaptiveTitle = _c.adaptiveTitle, groupStickyHeaderItemRender = _c.groupStickyHeaderItemRender;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var group = this.state.group;\n if (group === undefined && groupField !== undefined) {\n group = getItemValue(data[0], groupField);\n }\n var actionSheetProps = {\n navigatable: false,\n navigatableElements: [],\n expand: opened,\n animation: true,\n onClose: function (event) { return _this.toggleBtnClick(event); },\n animationStyles: windowWidth <= MOBILE_SMALL_DEVISE ? { top: 0, width: '100%', height: '100%' } : undefined,\n className: windowWidth <= MOBILE_SMALL_DEVISE\n ? 'k-adaptive-actionsheet k-actionsheet-fullscreen'\n : 'k-adaptive-actionsheet k-actionsheet-bottom'\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(ActionSheet, __assign({}, actionSheetProps),\n React.createElement(ActionSheetHeader, { className: 'k-text-center' },\n React.createElement(\"div\", { className: \"k-actionsheet-titlebar-group k-hbox\" },\n React.createElement(\"div\", { className: \"k-actionsheet-title\" },\n React.createElement(\"div\", null, adaptiveTitle)),\n React.createElement(\"div\", { className: \"k-actionsheet-actions\" },\n React.createElement(Button, { tabIndex: 0, \"aria-label\": \"Cancel\", \"aria-disabled\": \"false\", type: \"button\", fillMode: \"flat\", onClick: this.toggleBtnClick, icon: 'x', svgIcon: xIcon }))),\n React.createElement(\"div\", { className: \"k-actionsheet-titlebar-group k-actionsheet-filter\" }, this.renderMobileListFilter())),\n React.createElement(ActionSheetContent, { className: '!k-overflow-hidden' },\n React.createElement(\"div\", { className: 'k-list-container' },\n React.createElement(\"div\", { className: classNames((_a = {},\n _a['k-list'] = !list,\n _a['k-list-lg'] = true,\n _a['k-virtual-list'] = virtual,\n _a['k-data-table'] = list,\n _a[\"k-table-\".concat(sizeMap[size] || size)] = list && size,\n _a)) },\n header && React.createElement(\"div\", { className: \"k-table-header\" }, header),\n !list && group && data.length !== 0 && React.createElement(GroupStickyHeader, { group: group, groupMode: groupMode, render: groupStickyHeaderItemRender }),\n this.renderList(),\n footer && React.createElement(\"div\", { className: \"k-list-footer\" }, footer)))))));\n };\n ComboBoxWithoutContext.prototype.renderListContainer = function () {\n var _a, _b;\n var base = this.base;\n var _c = this.props, dir = _c.dir, header = _c.header, footer = _c.footer, _d = _c.data, data = _d === void 0 ? [] : _d, groupField = _c.groupField, groupMode = _c.groupMode, size = _c.size, list = _c.list, virtual = _c.virtual, groupStickyHeaderItemRender = _c.groupStickyHeaderItemRender;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var popupSettings = base.getPopupSettings();\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n var group = this.state.group;\n if (group === undefined && groupField !== undefined) {\n group = getItemValue(data[0], groupField);\n }\n return (React.createElement(ListContainer, { width: popupWidth, popupSettings: {\n animate: popupSettings.animate,\n anchor: this.element,\n show: opened,\n popupClass: classNames(popupSettings.popupClass, 'k-list-container', 'k-combobox-popup'),\n className: popupSettings.className,\n appendTo: popupSettings.appendTo\n }, dir: dir !== undefined ? dir : this.base.dirCalculated, itemsCount: [data.length] },\n React.createElement(\"div\", { className: classNames((_a = {},\n _a['k-list'] = !list,\n _a[\"k-list-\".concat(sizeMap[size] || size)] = !list && size,\n _a['k-virtual-list'] = virtual,\n _a['k-data-table'] = list,\n _a[\"k-table-\".concat(sizeMap[size] || size)] = list && size,\n _a)) },\n header && React.createElement(\"div\", { className: \"k-table-header\" }, header),\n !list && group && data.length !== 0 && React.createElement(GroupStickyHeader, { group: group, groupMode: groupMode, render: groupStickyHeaderItemRender }),\n this.renderList(),\n footer &&\n React.createElement(\"div\", { className: classNames((_b = {},\n _b['k-list-footer'] = !this.props.footerClassName,\n _b), this.props.footerClassName) }, footer))));\n };\n ComboBoxWithoutContext.prototype.renderList = function () {\n var _a;\n var _this = this;\n var base = this.base;\n var _b = this.props, textField = _b.textField, dataItemKey = _b.dataItemKey, listNoDataRender = _b.listNoDataRender, itemRender = _b.itemRender, groupHeaderItemRender = _b.groupHeaderItemRender, _c = _b.data, data = _c === void 0 ? [] : _c, _d = _b.virtual, virtual = _d === void 0 ? { skip: 0 } : _d;\n var popupSettings = base.getPopupSettings();\n var vs = base.vs;\n var skip = virtual.skip;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var translate = \"translateY(\".concat(vs.translate, \"px)\");\n var focusedIndex = opened ? this.getFocusedIndex() : undefined;\n var text = this.props.filter !== undefined ? this.props.filter : this.state.text;\n var selectedItemText = getItemValue(this.value, textField);\n var value = isPresent(text) && text !== selectedItemText ? null : this.value;\n var ListComponent = this.props.list || List;\n return (React.createElement(ListComponent, { id: base.listBoxId, virtual: Boolean(virtual), show: opened, data: data, focusedIndex: focusedIndex, value: value, textField: textField, valueField: dataItemKey, groupField: this.props.groupField, groupMode: this.props.groupMode, isMultiColumn: this.props.isMultiColumn, optionsGuid: base.guid, listRef: function (list) { vs.list = _this.base.list = list; _this.itemHeight = 0; }, wrapperStyle: (this.state.windowWidth && this.state.windowWidth > MOBILE_MEDIUM_DEVISE)\n ? { maxHeight: popupSettings.height }\n : {}, wrapperCssClass: classNames('k-list-content', (_a = {},\n _a['k-list-scroller'] = !virtual,\n _a)), listStyle: vs.enabled ? { transform: translate } : undefined, key: \"listkey\", skip: skip, onClick: this.handleItemClick, itemRender: itemRender, groupHeaderItemRender: groupHeaderItemRender, noDataRender: listNoDataRender, onMouseDown: function (e) { return e.preventDefault(); }, onScroll: this.onScroll, wrapperRef: vs.scrollerRef, scroller: this.base.renderScrollElement() }));\n };\n ComboBoxWithoutContext.prototype.renderSearchBar = function (text, id, placeholder) {\n var _this = this;\n var _a = this.props, tabIndex = _a.tabIndex, disabled = _a.disabled, _b = _a.data, data = _b === void 0 ? [] : _b, dataItemKey = _a.dataItemKey, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var value = this.value;\n var selectedIndex = Math.max(0, data.findIndex(function (i) { return areSame(i, value, dataItemKey); }));\n if (this._suggested && !areSame(this._valueOnDidUpdate, value, dataItemKey)) {\n this._suggested = '';\n }\n return (React.createElement(SearchBar, { id: id, readOnly: (opened && this.mobileMode), placeholder: placeholder, tabIndex: tabIndex, title: this.props.title, accessKey: this.props.accessKey, value: text + this._suggested, suggestedText: this._suggested, ref: function (el) { return _this._input = el && el.input; }, onClick: this.onInputClick, onKeyDown: this.onInputKeyDown, onChange: this.inputOnChange, onFocus: this.base.handleFocus, onBlur: this.handleBlur, disabled: disabled, expanded: opened, owns: this.base.listBoxId, activedescendant: \"option-\".concat(this.base.guid, \"-\").concat(selectedIndex + virtual.skip), role: \"combobox\", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, ariaRequired: this.required, render: this.props.valueRender }));\n };\n ComboBoxWithoutContext.prototype.triggerOnChange = function (item, state) {\n var value = this.value;\n if ((!isPresent(value) && !isPresent(item)) || areSame(value, item, this.props.dataItemKey)) {\n return;\n }\n if (this.props.value === undefined) {\n state.data.value = item;\n }\n this._valueDuringOnChange = item;\n state.events.push({ type: 'onChange' });\n };\n ComboBoxWithoutContext.prototype.getFocusedIndex = function () {\n var value = this.value;\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, dataItemKey = _a.dataItemKey, _c = _a.virtual, virtual = _c === void 0 ? { skip: 0 } : _c, _d = _a.focusedItemIndex, focusedItemIndex = _d === void 0 ? itemIndexStartsWith : _d;\n var text = this.props.filter ? this.props.filter : this.state.text;\n if (isPresent(value) && text === undefined) {\n return data.findIndex(function (i) { return areSame(i, value, dataItemKey); });\n }\n else if (text) {\n return focusedItemIndex(data, text, textField);\n }\n else {\n return virtual.skip === 0 ? 0 : -1;\n }\n };\n ComboBoxWithoutContext.prototype.suggestValue = function (value) {\n var _a = this.props, data = _a.data, textField = _a.textField;\n this._suggested = suggestValue(value, data, textField);\n };\n ComboBoxWithoutContext.prototype.applyState = function (state) {\n this.base.applyState(state);\n this._valueDuringOnChange = undefined;\n };\n ComboBoxWithoutContext.prototype.calculateMedia = function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n this.setState({ windowWidth: entry.target.clientWidth });\n }\n ;\n };\n ;\n ComboBoxWithoutContext.displayName = 'ComboBox';\n /** @hidden */\n ComboBoxWithoutContext.propTypes = __assign(__assign({}, DropDownBase.propTypes), { size: PropTypes.oneOf([null, 'small', 'medium', 'large']), rounded: PropTypes.oneOf([null, 'small', 'medium', 'large', 'full']), fillMode: PropTypes.oneOf([null, 'solid', 'flat', 'outline']), dataItemKey: PropTypes.string, groupField: PropTypes.string, groupMode: PropTypes.oneOf([undefined, 'classic', 'modern']), isMultiColumn: PropTypes.bool, suggest: PropTypes.bool, placeholder: PropTypes.string, title: PropTypes.string, allowCustom: PropTypes.bool, clearButton: PropTypes.bool, iconClassName: PropTypes.string, svgIcon: svgIconPropType, validationMessage: PropTypes.string, required: PropTypes.bool, id: PropTypes.string, ariaLabelledBy: PropTypes.string, ariaDescribedBy: PropTypes.string, list: PropTypes.any, valueRender: PropTypes.func });\n /** @hidden */\n ComboBoxWithoutContext.defaultProps = __assign(__assign({}, DropDownBase.defaultProps), { size: 'medium', rounded: 'medium', fillMode: 'solid', allowCustom: false, clearButton: true, required: false, groupMode: 'classic', isMultiColumn: false });\n return ComboBoxWithoutContext;\n}(React.Component));\nexport { ComboBoxWithoutContext };\n/**\n * Represents the PropsContext of the `ComboBox` component.\n * Used for global configuration of all `ComboBox` instances.\n *\n * For more information, refer to the [Dropdowns Props Context]({% slug props-context_dropdowns %}) article.\n */\nexport var ComboBoxPropsContext = createPropsContext();\n/* eslint-disable @typescript-eslint/no-redeclare -- intentionally naming the component the same as the type */\n/**\n * Represents the [KendoReact ComboBox component]({% slug overview_combobox %}).\n *\n * Accepts properties of type [ComboBoxProps]({% slug api_dropdowns_comboboxprops %}).\n * Obtaining the `ref` returns an object of type [ComboBoxHandle]({% slug api_dropdowns_comboboxhandle %}).\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * combobox = null;\n * render() {\n * return (\n *
\n * this.combobox = component}\n * />\n * \n *
\n * );\n * }\n * }\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var ComboBox = withPropsContext(ComboBoxPropsContext, ComboBoxWithoutContext);\nComboBox.displayName = 'KendoReactComboBox';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport SearchBar from './../common/SearchBar';\nimport ListContainer from './../common/ListContainer';\nimport List from './../common/List';\nimport DropDownBase from '../common/DropDownBase';\nimport GroupStickyHeader from '../common/GroupStickyHeader';\nimport { itemIndexStartsWith, getItemValue, areSame, getFocusedItem } from '../common/utils';\nimport { guid, Keys, classNames, createPropsContext, withPropsContext, kendoThemeMaps, IconWrap } from '@progress/kendo-react-common';\nimport { FloatingLabel } from '@progress/kendo-react-labels';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport ClearButton from '../common/ClearButton';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\nvar sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;\n/** @hidden */\nvar AutoCompleteWithoutContext = /** @class */ (function (_super) {\n __extends(AutoCompleteWithoutContext, _super);\n function AutoCompleteWithoutContext(props) {\n var _this = _super.call(this, props) || this;\n /**\n * @hidden\n */\n _this.state = {};\n _this.base = new DropDownBase(_this);\n _this._element = null;\n _this._inputId = guid();\n _this._suggested = '';\n _this._input = null;\n _this._isScrolling = false;\n _this.itemHeight = 0;\n /**\n * @hidden\n */\n _this.focus = function () {\n if (_this._input) {\n _this._input.focus();\n }\n };\n /**\n * @hidden\n */\n _this.handleItemSelect = function (index, state) {\n var _a = _this.props.data, data = _a === void 0 ? [] : _a;\n var newText = getItemValue(data[index], _this.props.textField);\n _this.triggerOnChange(newText, state);\n };\n /**\n * @hidden\n */\n _this.itemFocus = function (index, state) {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField;\n var focusedItem = data[index];\n if (!areSame(_this.state.focusedItem, focusedItem, textField)) {\n state.data.focusedItem = focusedItem;\n }\n };\n /**\n * @hidden\n */\n _this.togglePopup = function (state) {\n _this.base.togglePopup(state);\n };\n _this.setValidity = function () {\n if (_this._input && _this._input.setCustomValidity) {\n _this._input.setCustomValidity(_this.validity.valid\n ? ''\n : _this.props.validationMessage || VALIDATION_MESSAGE);\n }\n };\n _this.onScroll = function (event) {\n _this._isScrolling = true;\n var list = _this.base.list;\n var groupField = _this.props.groupField;\n var _a = _this.props.data, data = _a === void 0 ? [] : _a;\n if (!groupField || !data.length) {\n return;\n }\n var itemHeight = _this.itemHeight || (list ? list.children[0].offsetHeight : 0);\n var target = event.target;\n var scrollTop = target.scrollTop;\n if (groupField) {\n data = _this.base.getGroupedDataModernMode(data, groupField);\n }\n ;\n var group = data[0][groupField];\n for (var i = 1; i < data.length; i++) {\n if (itemHeight * i > scrollTop) {\n break;\n }\n if (data[i] && data[i][groupField]) {\n group = data[i][groupField];\n }\n }\n if (group !== _this.state.group) {\n _this.setState({\n group: group\n });\n }\n };\n _this.handleItemClick = function (index, event) {\n _this.base.handleItemClick(index, event);\n _this._valueDuringOnChange = undefined;\n };\n _this.onChangeHandler = function (event) {\n var base = _this.base;\n var state = base.initState();\n var input = event.currentTarget;\n var value = input.value;\n var selectionAtEnd = input.selectionEnd === value.length;\n state.syntheticEvent = event;\n var prevSuggestion = _this._suggested;\n var prevValue = _this.value;\n var prevUserInput = prevValue &&\n prevValue.substring(0, prevValue.length - prevSuggestion.length);\n var deletedSuggestion = prevUserInput && prevUserInput === value;\n var deleting = prevUserInput && prevUserInput.length > value.length;\n var suggest = _this.props.suggest;\n var opened = _this.props.opened !== undefined ?\n _this.props.opened : _this.state.opened;\n if (suggest !== undefined && suggest !== false) {\n if (deletedSuggestion || deleting || !selectionAtEnd) {\n _this._suggested = '';\n }\n else {\n _this.suggestValue(value);\n }\n var newValue = value + _this._suggested;\n var suggestion = { userInput: value, value: _this._suggested };\n _this.triggerOnChange(newValue, state, { suggestion: suggestion });\n }\n else {\n _this._suggested = '';\n _this.triggerOnChange(value, state);\n }\n if ((!opened && value) || (opened && !value)) {\n _this.togglePopup(state);\n }\n state.data.focusedItem = undefined;\n _this.applyState(state);\n _this.setState({ group: undefined });\n };\n _this.clearButtonClick = function (event) {\n var base = _this.base;\n var state = base.initState();\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n state.syntheticEvent = event;\n var newValue = '';\n _this._suggested = '';\n _this.triggerOnChange(newValue, state);\n if (_this.state.focusedItem !== undefined) {\n state.data.focusedItem = undefined;\n }\n if (opened) {\n _this.togglePopup(state);\n }\n _this.applyState(state);\n };\n _this.onInputKeyDown = function (event) {\n if (_this._isScrolling) {\n _this._isScrolling = false;\n }\n var keyCode = event.keyCode;\n var opened = _this.props.opened !== undefined ? _this.props.opened : _this.state.opened;\n var state = _this.base.initState();\n state.syntheticEvent = event;\n var preventDefault = function () {\n if (opened) {\n event.preventDefault();\n }\n };\n if (keyCode === Keys.enter || keyCode === Keys.esc) {\n preventDefault();\n _this.applyInputValue(event.currentTarget.value, state, event.keyCode);\n }\n else if (keyCode === Keys.up || keyCode === Keys.down) {\n preventDefault();\n _this.onNavigate(state, keyCode);\n }\n };\n _this.handleBlur = function (event) {\n if (_this.state.focused) {\n var state = _this.base.initState();\n state.data.focused = false;\n state.events.push({ type: 'onBlur' });\n state.syntheticEvent = event;\n _this.applyInputValue(event.currentTarget.value, state);\n }\n };\n validatePackage(packageMetadata);\n return _this;\n }\n Object.defineProperty(AutoCompleteWithoutContext.prototype, \"element\", {\n /**\n * @hidden\n */\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AutoCompleteWithoutContext.prototype, \"value\", {\n /**\n * The value of the AutoComplete.\n */\n get: function () {\n if (this._valueDuringOnChange !== undefined) {\n return this._valueDuringOnChange;\n }\n else if (this.props.value !== undefined) {\n return this.props.value;\n }\n else if (this.state.value !== undefined) {\n return this.state.value;\n }\n else if (this.props.defaultValue !== undefined) {\n return this.props.defaultValue;\n }\n return '';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AutoCompleteWithoutContext.prototype, \"name\", {\n /**\n * Gets the `name` property of the AutoComplete.\n */\n get: function () {\n return this.props.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AutoCompleteWithoutContext.prototype, \"validity\", {\n /**\n * Represents the validity state into which the AutoComplete is set.\n */\n get: function () {\n // The AutoComplete component is in a invalid state\n // only if it's required and the value is null!\n var customError = this.props.validationMessage !== undefined;\n var isValid = (!this.required || this.value !== '');\n var valid = this.props.valid !== undefined ? this.props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.value === null\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AutoCompleteWithoutContext.prototype, \"validityStyles\", {\n /**\n * @hidden\n */\n get: function () {\n return this.props.validityStyles !== undefined\n ? this.props.validityStyles\n : AutoCompleteWithoutContext.defaultProps.validityStyles;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AutoCompleteWithoutContext.prototype, \"required\", {\n /**\n * @hidden\n */\n get: function () {\n return this.props.required !== undefined\n ? this.props.required\n : AutoCompleteWithoutContext.defaultProps.required;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n AutoCompleteWithoutContext.prototype.componentDidUpdate = function (prevProps, prevState) {\n var _a;\n var _b = this.props, _c = _b.groupField, groupField = _c === void 0 ? '' : _c, _d = _b.data, data = _d === void 0 ? [] : _d;\n var _e = prevProps.data, prevData = _e === void 0 ? [] : _e;\n var focusedIndex = this.focusedIndex();\n var focusedItem = data[focusedIndex];\n var dataChanged = prevData !== data;\n var focusedItemChanged = focusedItem !== undefined && prevState.focusedItem !== focusedItem;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var prevOpened = prevProps.opened !== undefined ? prevProps.opened : prevState.opened;\n var opening = !prevOpened && opened;\n if (groupField === '') {\n if ((opened && (focusedItemChanged || dataChanged)) || opening) {\n this.base.scrollToItem(focusedIndex);\n }\n }\n else if (!this._isScrolling) {\n var focusedItemIndex = (_a = this.base.getGroupedDataModernMode(data, groupField)) === null || _a === void 0 ? void 0 : _a.indexOf(focusedItem);\n if (opening) {\n // Resets the sticky header group value for scenarios with open/close of component's popup\n if (data && data.length !== 0) {\n this.base.resetGroupStickyHeader(data[0][groupField], this);\n }\n this.base.scrollToItem(focusedItemIndex);\n }\n ;\n if (opened && prevOpened && focusedItemChanged) {\n this.base.scrollToItem(focusedItemIndex);\n }\n }\n this.setValidity();\n };\n /**\n * @hidden\n */\n AutoCompleteWithoutContext.prototype.componentDidMount = function () {\n this.base.didMount();\n this.setValidity();\n };\n /**\n * @hidden\n */\n AutoCompleteWithoutContext.prototype.render = function () {\n var _a;\n var _this = this;\n var _b = this.props, dir = _b.dir, disabled = _b.disabled, label = _b.label, className = _b.className, style = _b.style, loading = _b.loading, suggest = _b.suggest, size = _b.size, rounded = _b.rounded, fillMode = _b.fillMode;\n var isValid = !this.validityStyles || this.validity.valid;\n var base = this.base;\n var value = this.value;\n var renderClearButton = this.props.clearButton !== false && !loading && !!value;\n var id = this.props.id || this._inputId;\n if (typeof suggest === 'string') {\n this._suggested = suggest;\n }\n var autoComplete = (React.createElement(\"span\", { className: classNames('k-autocomplete k-input', className, (_a = {},\n _a[\"k-input-\".concat(sizeMap[size] || size)] = size,\n _a[\"k-rounded-\".concat(roundedMap[rounded] || rounded)] = rounded,\n _a[\"k-input-\".concat(fillMode)] = fillMode,\n _a['k-invalid'] = !isValid,\n _a['k-loading'] = loading,\n _a['k-required'] = this.required,\n _a['k-disabled'] = disabled,\n _a)), ref: function (element) {\n _this._element = element;\n base.wrapper = element;\n }, style: !label\n ? style\n : __assign(__assign({}, style), { width: undefined }), dir: dir },\n this.renderSearchBar(value || '', id),\n loading && React.createElement(IconWrap, { className: \"k-input-loading-icon\", name: 'loading' }),\n renderClearButton && !loading && React.createElement(ClearButton, { onClick: this.clearButtonClick, key: \"clearbutton\" }),\n this.renderListContainer()));\n return label\n ? (React.createElement(FloatingLabel, { label: label, editorId: id, editorValue: value, editorValid: isValid, editorDisabled: disabled, style: { width: style ? style.width : undefined }, children: autoComplete }))\n : autoComplete;\n };\n /**\n * @hidden\n */\n AutoCompleteWithoutContext.prototype.onNavigate = function (state, keyCode) {\n var _this = this;\n var typedText = this.value;\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, focusedItemIndex = _a.focusedItemIndex;\n var focusedIndex = this.state.focusedItem !== undefined ?\n data.findIndex(function (i) { return areSame(i, _this.state.focusedItem, textField); }) :\n (focusedItemIndex ? focusedItemIndex(data, typedText, textField) :\n data.indexOf(getFocusedItem(data, typedText, textField)));\n var newFocused = this.base.navigation.navigate({\n keyCode: keyCode,\n current: focusedIndex,\n max: data.length - 1,\n min: 0\n });\n if (newFocused !== undefined) {\n this.itemFocus(newFocused, state);\n }\n this.applyState(state);\n };\n /**\n * @hidden\n */\n AutoCompleteWithoutContext.prototype.applyInputValue = function (value, state, eventKey) {\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField;\n this._suggested = '';\n if (opened && eventKey === Keys.enter) {\n var newValue = getItemValue(data[this.focusedIndex(value)], textField);\n this.triggerOnChange(newValue, state);\n }\n if (opened) {\n this.togglePopup(state);\n }\n this.applyState(state);\n };\n AutoCompleteWithoutContext.prototype.renderSearchBar = function (value, id) {\n var _this = this;\n var base = this.base;\n var _a = this.props, placeholder = _a.placeholder, tabIndex = _a.tabIndex, disabled = _a.disabled, readonly = _a.readonly;\n var focused = this.state.focused;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n return (React.createElement(SearchBar, { id: id, placeholder: placeholder, tabIndex: tabIndex, accessKey: this.props.accessKey, value: value, suggestedText: this._suggested, focused: focused, name: this.props.name, ref: function (searchbar) { return _this._input = searchbar && searchbar.input; }, onKeyDown: this.onInputKeyDown, onChange: this.onChangeHandler, onFocus: base.handleFocus, onBlur: this.handleBlur, disabled: disabled, readOnly: readonly, expanded: opened, owns: base.listBoxId, activedescendant: 'option-' + base.guid + '-' + this.focusedIndex(), role: \"combobox\", ariaLabelledBy: this.props.ariaLabelledBy, ariaDescribedBy: this.props.ariaDescribedBy, ariaRequired: this.required, render: this.props.valueRender }));\n };\n AutoCompleteWithoutContext.prototype.renderListContainer = function () {\n var _a;\n var base = this.base;\n var _b = this.props, dir = _b.dir, header = _b.header, footer = _b.footer, _c = _b.data, data = _c === void 0 ? [] : _c, size = _b.size, groupField = _b.groupField, list = _b.list, groupStickyHeaderItemRender = _b.groupStickyHeaderItemRender;\n var popupSettings = base.getPopupSettings();\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n var group = this.state.group;\n if (group === undefined && groupField !== undefined) {\n group = getItemValue(data[0], groupField);\n }\n return (React.createElement(ListContainer, { width: popupWidth, popupSettings: {\n animate: popupSettings.animate,\n anchor: this.element,\n show: opened,\n popupClass: classNames(popupSettings.popupClass, 'k-list-container', 'k-autocomplete-popup'),\n className: popupSettings.className,\n appendTo: popupSettings.appendTo\n }, dir: dir !== undefined ? dir : this.base.dirCalculated, itemsCount: [data.length] },\n header && React.createElement(\"div\", { className: \"k-list-header\" }, header),\n React.createElement(\"div\", { className: classNames('k-list', (_a = {},\n _a[\"k-list-\".concat(sizeMap[size] || size)] = size,\n _a)) },\n !list && group && data.length !== 0 && React.createElement(GroupStickyHeader, { group: group, groupMode: 'modern', render: groupStickyHeaderItemRender }),\n this.renderList()),\n footer && React.createElement(\"div\", { className: \"k-list-footer\" }, footer)));\n };\n AutoCompleteWithoutContext.prototype.renderList = function () {\n var base = this.base;\n var popupSettings = base.getPopupSettings();\n var _a = this.props, textField = _a.textField, _b = _a.data, data = _b === void 0 ? [] : _b, listNoDataRender = _a.listNoDataRender, itemRender = _a.itemRender, groupHeaderItemRender = _a.groupHeaderItemRender;\n var value = this.value;\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n return (React.createElement(List, { id: base.listBoxId, show: opened, data: data.slice(), focusedIndex: this.focusedIndex(), value: value, textField: textField, valueField: textField, highlightSelected: false, optionsGuid: base.guid, groupField: this.props.groupField, groupMode: 'modern', listRef: function (list) { return base.list = list; }, wrapperStyle: { maxHeight: popupSettings.height }, wrapperCssClass: \"k-list-content\", onClick: this.handleItemClick, itemRender: itemRender, groupHeaderItemRender: groupHeaderItemRender, noDataRender: listNoDataRender, onMouseDown: function (e) { return e.preventDefault(); }, onScroll: this.onScroll }));\n };\n AutoCompleteWithoutContext.prototype.triggerOnChange = function (newValue, state, eventArgs) {\n if (this.value === newValue && !eventArgs) {\n return;\n }\n state.data.value = newValue;\n this._valueDuringOnChange = newValue;\n state.events.push(__assign({ type: 'onChange' }, (eventArgs || {})));\n };\n AutoCompleteWithoutContext.prototype.applyState = function (state) {\n this.base.applyState(state);\n this._valueDuringOnChange = undefined;\n };\n AutoCompleteWithoutContext.prototype.suggestValue = function (value) {\n this._suggested = '';\n if (value) {\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField;\n var suggestedItem = data[itemIndexStartsWith(data, value, textField)];\n if (suggestedItem) {\n var suggestedText = getItemValue(suggestedItem, textField);\n if (value.toLowerCase() !== suggestedText.toLowerCase()) {\n this._suggested = suggestedText.substring(value.length);\n }\n }\n }\n };\n AutoCompleteWithoutContext.prototype.focusedIndex = function (value) {\n var _this = this;\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, focusedItemIndex = _a.focusedItemIndex;\n var inputValue = value !== undefined ? value : this.value;\n return this.state.focusedItem !== undefined ?\n data.findIndex(function (i) { return areSame(i, _this.state.focusedItem, textField); }) :\n (focusedItemIndex ? focusedItemIndex(data, inputValue, textField) :\n Math.max(0, data.indexOf(getFocusedItem(data, inputValue, textField))));\n };\n AutoCompleteWithoutContext.displayName = 'AutoComplete';\n /**\n * @hidden\n */\n AutoCompleteWithoutContext.propTypes = __assign(__assign({}, DropDownBase.basicPropTypes), { size: PropTypes.oneOf([null, 'small', 'medium', 'large']), rounded: PropTypes.oneOf([null, 'small', 'medium', 'large', 'full']), fillMode: PropTypes.oneOf([null, 'solid', 'flat', 'outline']), groupField: PropTypes.string, suggest: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]), placeholder: PropTypes.string, value: PropTypes.string, defaultValue: PropTypes.string, validationMessage: PropTypes.string, required: PropTypes.bool, readonly: PropTypes.bool, clearButton: PropTypes.bool, valueRender: PropTypes.func, id: PropTypes.string, ariaLabelledBy: PropTypes.string, ariaDescribedBy: PropTypes.string, list: PropTypes.any });\n /**\n * @hidden\n */\n AutoCompleteWithoutContext.defaultProps = __assign(__assign({}, DropDownBase.defaultProps), { size: 'medium', rounded: 'medium', fillMode: 'solid' });\n return AutoCompleteWithoutContext;\n}(React.Component));\nexport { AutoCompleteWithoutContext };\n/**\n * Represents the PropsContext of the `AutoComplete` component.\n * Used for global configuration of all `AutoComplete` instances.\n *\n * For more information, refer to the [Dropdowns Props Context]({% slug props-context_dropdowns %}) article.\n */\nexport var AutoCompletePropsContext = createPropsContext();\n/* eslint-disable @typescript-eslint/no-redeclare -- intentionally naming the component the same as the type */\n/**\n * Represents the [KendoReact AutoComplete component]({% slug overview_autocomplete %}).\n *\n * Accepts properties of type [AutoCompleteProps]({% slug api_dropdowns_autocompleteprops %}).\n * Obtaining the `ref` returns an object of type [AutoCompleteHandle]({% slug api_dropdowns_autocompletehandle %}).\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * autocomplete = null;\n * render() {\n * return (\n *
\n * this.autocomplete = component}\n * />\n * \n *
\n * );\n * }\n * }\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var AutoComplete = withPropsContext(AutoCompletePropsContext, AutoCompleteWithoutContext);\nAutoComplete.displayName = 'KendoReactAutoComplete';\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport function useDir(elementRef, initialDir, args) {\n // Dir prop is read only on initial rendering due to specifics of getComputedStyles - see below\n var _a = React.useState(initialDir), dir = _a[0], setDir = _a[1];\n React.useEffect(function () {\n if (!dir && window && elementRef.current) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(elementRef.current).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n setDir(rtlCandidate);\n }\n }\n }, args);\n return dir;\n}\n","/**\n * @hidden\n */\nexport var FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n","import { fieldList } from './fieldList';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * Can be used for getting value from object using field path. For example `users[index].name`.\n *\n * @example\n * ```jsx-no-run\n * const values = {users:[{lastName: 'Doe'}]};\n * const firstUserLastName = getter('user[0].lastName');\n *\n * console.log(firstUserLastName(values))\n *\n * // result: 'Doe'\n * ```\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = fieldList(field);\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\n/**\n * @hidden\n */\nexport function fieldList(field) {\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n return fields;\n}\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @hidden\n */\nexport var SELECTION_TYPE;\n(function (SELECTION_TYPE) {\n SELECTION_TYPE[\"single\"] = \"single\";\n SELECTION_TYPE[\"multiple\"] = \"multiple\";\n SELECTION_TYPE[\"none\"] = \"none\";\n})(SELECTION_TYPE || (SELECTION_TYPE = {}));\n/**\n * @hidden\n */\nexport var SELECTION_ACTION;\n(function (SELECTION_ACTION) {\n SELECTION_ACTION[\"toggle\"] = \"toggle\";\n SELECTION_ACTION[\"remove\"] = \"remove\";\n})(SELECTION_ACTION || (SELECTION_ACTION = {}));\n/**\n * @hidden\n */\nexport var selectionReducer = function (state, action) {\n switch (action.selection) {\n case SELECTION_TYPE.single:\n switch (action.type) {\n case SELECTION_ACTION.toggle: {\n if (!Array.isArray(state) || state === null) {\n return action.payload === state ? null : action.payload;\n }\n throw new Error('State cannot be an array in single selection');\n }\n case SELECTION_ACTION.remove: {\n return action.payload === state ? null : state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.multiple:\n switch (action.type) {\n case SELECTION_ACTION.toggle: {\n if (Array.isArray(state)) {\n return state.some(function (i) { return i === action.payload; })\n ? state.filter(function (i) { return i !== action.payload; })\n : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n if (state === null) {\n return [action.payload];\n }\n throw new Error('State cannot be non-array in multiple selection');\n }\n case SELECTION_ACTION.remove: {\n if (Array.isArray(state)) {\n return state.some(function (i) { return i === action.payload; })\n ? state.filter(function (i) { return i !== action.payload; })\n : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n return state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.none:\n return null;\n default:\n return state;\n }\n};\n","/* eslint-disable radix */\n/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","/**\n * @hidden\n */\nexport var FOCUS_ACTION;\n(function (FOCUS_ACTION) {\n FOCUS_ACTION[\"next\"] = \"next\";\n FOCUS_ACTION[\"prev\"] = \"prev\";\n FOCUS_ACTION[\"current\"] = \"current\";\n FOCUS_ACTION[\"reset\"] = \"reset\";\n})(FOCUS_ACTION || (FOCUS_ACTION = {}));\n/**\n * @hidden\n */\nexport var focusReducer = function (state, action) {\n var currentIndex = action.items.findIndex(function (i) { return i === state; });\n switch (action.type) {\n case FOCUS_ACTION.next:\n return currentIndex === action.items.length - 1\n ? state\n : action.items[currentIndex + 1];\n case FOCUS_ACTION.prev:\n return currentIndex === 0\n ? state\n : action.items[currentIndex - 1];\n case FOCUS_ACTION.current:\n return action.payload;\n case FOCUS_ACTION.reset:\n return null;\n default:\n return state;\n }\n};\n","/**\n * @hidden\n */\nexport var CHIP_DATA_ACTION;\n(function (CHIP_DATA_ACTION) {\n CHIP_DATA_ACTION[\"remove\"] = \"remove\";\n CHIP_DATA_ACTION[\"add\"] = \"add\";\n CHIP_DATA_ACTION[\"reorder\"] = \"reorder\";\n})(CHIP_DATA_ACTION || (CHIP_DATA_ACTION = {}));\n/**\n * @hidden\n */\nexport var dataReducer = function (state, action) {\n switch (action.type) {\n case CHIP_DATA_ACTION.add:\n // TODO v2\n break;\n case CHIP_DATA_ACTION.remove:\n return state.filter(function (i) { return i[action.valueField] !== action.payload; });\n case CHIP_DATA_ACTION.reorder:\n // TODO v2\n break;\n default:\n return state;\n }\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { useDir, getter, getTabIndex, classNames, useMouse, kendoThemeMaps } from '@progress/kendo-react-common';\nimport { selectionReducer } from './selection-reducer';\nimport { focusReducer } from './focus-reducer';\nimport { dataReducer } from './data-reducer';\nimport { Chip } from './Chip';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nexport var ChipListSelectionContext = React.createContext([null, function (_args) {\n /**/\n }]);\n/**\n * @hidden\n */\nexport var ChipListFocusContext = React.createContext([null, function (_args) {\n /**/\n }]);\n/**\n * @hidden\n */\nexport var ChipListDataContext = React.createContext([null, function (_args) {\n /**/\n }]);\n/**\n * @hidden\n */\nvar useSelection = function (defaultValue, args, callback) {\n var _a = React.useState(defaultValue), state = _a[0], setState = _a[1];\n var handleDispatchSelection = function (action) {\n var newState = selectionReducer(args.state || state, __assign(__assign({}, action), args));\n if (callback) {\n callback(newState, action.event);\n }\n setState(newState);\n };\n return [state, handleDispatchSelection];\n};\n/**\n * @hidden\n */\nvar useFocus = function (args) {\n var _a = React.useState(null), state = _a[0], setState = _a[1];\n var handleDispatchFocus = function (action) {\n var newState = focusReducer(action.payload, __assign(__assign({}, action), args));\n setState(newState);\n };\n return [state, handleDispatchFocus];\n};\n/**\n * @hidden\n */\nvar useData = function (defaultData, args, callback) {\n var _a = React.useState(defaultData), state = _a[0], setState = _a[1];\n var handleDispatchData = function (action) {\n var newState = dataReducer(args.state || state, __assign(__assign({}, action), args));\n if (callback) {\n callback(newState, action.event);\n }\n setState(newState);\n };\n return [state, handleDispatchData];\n};\n/**\n * Represents the ChipList component.\n */\nexport var ChipList = React.forwardRef(function (props, ref) {\n var _a;\n validatePackage(packageMetadata);\n var target = React.useRef(null);\n var chipListRef = React.useRef(null);\n var dir = useDir(chipListRef, props.dir);\n var chip = props.chip, id = props.id, style = props.style, tabIndex = props.tabIndex, disabled = props.disabled, size = props.size, className = props.className, ariaDescribedBy = props.ariaDescribedBy, ariaLabelledBy = props.ariaLabelledBy, _b = props.selection, selection = _b === void 0 ? defaultProps.selection : _b, _c = props.value, value = _c === void 0 ? defaultProps.defaultValue : _c, _d = props.defaultData, defaultData = _d === void 0 ? defaultProps.defaultData : _d, _e = props.valueField, valueField = _e === void 0 ? defaultProps.valueField : _e, _f = props.textField, textField = _f === void 0 ? defaultProps.textField : _f, onChange = props.onChange, onDataChange = props.onDataChange;\n var ChipComponent = React.useMemo(function () { return chip || Chip; }, [chip, Chip]);\n React.useImperativeHandle(target, function () { return ({\n element: chipListRef.current,\n props: props\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var handleChange = React.useCallback(function (newValue, event) {\n if (onChange && target.current) {\n onChange.call(undefined, {\n value: newValue,\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [onChange]);\n var _g = useSelection(value, {\n selection: selection,\n state: value\n }, handleChange), stateValue = _g[0], dispatchStateValue = _g[1];\n var handleDataChange = React.useCallback(function (newData, event) {\n if (onDataChange && target.current) {\n onDataChange.call(undefined, {\n value: newData,\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [onDataChange]);\n var _h = useData(props.data || defaultData, {\n state: props.data,\n valueField: valueField\n }, handleDataChange), stateData = _h[0], dispatchData = _h[1];\n var itemsReducer = React.useCallback(function (acc, current) {\n acc.push(current[valueField]);\n return acc;\n }, [valueField]);\n var data = React.useMemo(function () { return props.data || stateData; }, [props.data, stateData]);\n var chipValue = React.useMemo(function () { return value || stateValue; }, [value, stateValue]);\n var items = React.useMemo(function () { return data.reduce(itemsReducer, []); }, [data, itemsReducer]);\n var valueGetter = React.useCallback(function (item) { return getter(valueField)(item); }, [valueField]);\n var textGetter = React.useCallback(function (item) { return getter(textField)(item); }, [textField]);\n var _j = useFocus({ items: items }), focus = _j[0], dispatchFocus = _j[1];\n var mouseProps = useMouse(props, target);\n return (React.createElement(ChipListSelectionContext.Provider, { value: [chipValue, dispatchStateValue] },\n React.createElement(ChipListFocusContext.Provider, { value: [focus, dispatchFocus] },\n React.createElement(ChipListDataContext.Provider, { value: [data, dispatchData] },\n React.createElement(\"div\", __assign({ ref: chipListRef }, mouseProps, { role: 'listbox', id: id, dir: dir, style: style, tabIndex: getTabIndex(tabIndex, disabled, undefined), className: classNames('k-chip-list', (_a = {\n 'k-rtl': dir === 'rtl',\n 'k-disabled': disabled\n },\n _a[\"k-chip-list-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size,\n _a), className), \"aria-labelledby\": ariaLabelledBy, \"aria-describedby\": ariaDescribedBy }), data.map(function (item, index) {\n return (React.createElement(ChipComponent, { role: 'option', dataItem: item, size: size, key: [valueGetter(item), index].join('-'), text: textGetter(item), value: valueGetter(item) }));\n }))))));\n});\nvar propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n tabIndex: PropTypes.number,\n data: PropTypes.any,\n defaultData: PropTypes.arrayOf(PropTypes.any),\n onDataChange: PropTypes.func,\n value: PropTypes.oneOfType([PropTypes.any, PropTypes.arrayOf(PropTypes.any)]),\n defaultValue: PropTypes.oneOfType([PropTypes.any, PropTypes.arrayOf(PropTypes.any)]),\n onChange: PropTypes.func,\n selection: PropTypes.oneOf(['single', 'none', 'multiple']),\n textField: PropTypes.string,\n valueField: PropTypes.string,\n disabled: PropTypes.bool,\n dir: PropTypes.oneOf(['ltr', 'rtl']),\n ariaLabelledBy: PropTypes.string,\n ariaDescribedBy: PropTypes.string,\n size: PropTypes.oneOf([null, 'small', 'medium', 'large'])\n};\nvar defaultProps = {\n chip: Chip,\n size: 'medium',\n disabled: false,\n defaultValue: null,\n defaultData: [],\n dir: 'ltr',\n selection: 'none',\n textField: 'text',\n valueField: 'value',\n removable: 'removable'\n};\nChipList.displayName = 'KendoReactChipList';\n// TODO: delete casting when @types/react is updated!\nChipList.propTypes = propTypes;\nChipList.defaultProps = defaultProps;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { ChipListSelectionContext, ChipListFocusContext, ChipListDataContext } from './ChipList';\nimport { classNames, useDir, getTabIndex, Keys, IconWrap, kendoThemeMaps, toIconName, svgIconPropType } from '@progress/kendo-react-common';\nimport { FOCUS_ACTION } from './focus-reducer';\nimport { CHIP_DATA_ACTION } from './data-reducer';\nimport { SELECTION_ACTION } from './selection-reducer';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport { useMouse } from '@progress/kendo-react-common';\n/**\n * Represents the Chip component.\n */\nexport var Chip = React.forwardRef(function (props, ref) {\n var _a;\n validatePackage(packageMetadata);\n var target = React.useRef(null);\n var chipRef = React.useRef(null);\n var dir = useDir(chipRef, props.dir);\n React.useImperativeHandle(target, function () { return ({\n element: chipRef.current,\n props: props\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var _b = React.useContext(ChipListSelectionContext), selection = _b[0], dispatchSelection = _b[1];\n var _c = React.useContext(ChipListFocusContext), focus = _c[0], dispatchFocus = _c[1];\n var _d = React.useContext(ChipListDataContext), dispatchData = _d[1];\n var selected = React.useMemo(function () {\n return (props.selected || (Array.isArray(selection)\n ? selection.some(function (i) { return i === props.value; })\n : selection === props.value));\n }, [props.selected, props.value, selection]);\n var focused = React.useMemo(function () { return focus === props.value; }, [props.value, focus]);\n React.useEffect(function () {\n if (focused && chipRef.current) {\n chipRef.current.focus();\n }\n }, [focused]);\n var handleClick = React.useCallback(function (event) {\n dispatchSelection({ type: SELECTION_ACTION.toggle, payload: props.value, event: event });\n }, [dispatchSelection, props.value]);\n var handleRemove = React.useCallback(function (event) {\n if (!props.removable) {\n return;\n }\n dispatchData({ type: CHIP_DATA_ACTION.remove, payload: props.value, event: event });\n dispatchFocus({ type: FOCUS_ACTION.reset, payload: props.value, event: event });\n dispatchSelection({ type: SELECTION_ACTION.remove, payload: props.value, event: event });\n if (props.onRemove) {\n props.onRemove.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [props.onRemove, props.value, props.removable, dispatchData, dispatchFocus, dispatchSelection]);\n var handleKeyDown = React.useCallback(function (event) {\n switch (event.keyCode) {\n case Keys.left:\n dispatchFocus({ type: FOCUS_ACTION.prev, payload: props.value, event: event });\n break;\n case Keys.right:\n dispatchFocus({ type: FOCUS_ACTION.next, payload: props.value, event: event });\n break;\n case Keys.enter:\n dispatchSelection({ type: SELECTION_ACTION.toggle, payload: props.value, event: event });\n break;\n case Keys.delete:\n handleRemove(event);\n break;\n default:\n break;\n }\n if (props.onKeyDown) {\n props.onKeyDown.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [props.onKeyDown, props.value, dispatchFocus, dispatchSelection, handleRemove]);\n var handleFocus = React.useCallback(function (event) {\n dispatchFocus({ payload: props.value, type: FOCUS_ACTION.current, event: event });\n if (props.onFocus) {\n props.onFocus.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [props.onFocus, props.value, dispatchFocus]);\n var handleBlur = React.useCallback(function (event) {\n if (props.onBlur) {\n props.onBlur.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [props.onBlur]);\n var mouseProps = useMouse(props, target, { onClick: handleClick });\n return (React.createElement(\"div\", __assign({}, mouseProps, { role: props.role, id: props.value, style: props.style, ref: chipRef, dir: dir, tabIndex: getTabIndex(props.tabIndex, props.disabled, undefined), className: classNames('k-chip', (_a = {\n 'k-rtl': dir === 'rtl',\n 'k-disabled': props.disabled,\n 'k-selected': selected,\n 'k-focus': focused\n },\n _a[\"k-chip-\".concat(kendoThemeMaps.sizeMap[props.size] || props.size)] = props.size,\n _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[props.rounded] || props.rounded)] = props.rounded,\n _a[\"k-chip-\".concat(props.fillMode)] = props.fillMode,\n _a[\"k-chip-\".concat(props.fillMode, \"-\").concat(props.themeColor)] = Boolean(props.fillMode && props.themeColor),\n _a), props.className), \"aria-checked\": selected, \"aria-disabled\": props.disabled, \"aria-describedby\": props.ariaDescribedBy, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: handleKeyDown }),\n (selected && (props.selectedIcon || props.selectedSvgIcon)) &&\n React.createElement(IconWrap, { className: 'k-chip-icon', name: props.selectedIcon ? toIconName(props.selectedIcon) : undefined, icon: props.selectedSvgIcon, size: 'small' }),\n (props.icon || props.svgIcon) &&\n React.createElement(IconWrap, { className: 'k-chip-icon', name: props.icon ? toIconName(props.icon) : undefined, icon: props.svgIcon, size: 'small' }),\n React.createElement(\"span\", { className: 'k-chip-content' }, props.children !== undefined\n ? props.children\n : props.text &&\n React.createElement(\"span\", { \"aria-label\": props.text, className: 'k-chip-label' }, props.text)),\n props.removable && (React.createElement(\"span\", { className: \"k-chip-actions\" },\n React.createElement(\"span\", { className: classNames('k-chip-action', 'k-chip-remove-action'), onClick: handleRemove },\n React.createElement(IconWrap, { name: props.removeIcon ? toIconName(props.removeIcon) : undefined, icon: props.removeSvgIcon, size: 'small' }))))));\n});\nvar propTypes = {\n id: PropTypes.string,\n text: PropTypes.string,\n value: PropTypes.any,\n dir: PropTypes.oneOf(['ltr', 'rtl']),\n removable: PropTypes.bool,\n removeIcon: PropTypes.string,\n removeIconSvg: svgIconPropType,\n disabled: PropTypes.bool,\n icon: PropTypes.string,\n svgIcon: svgIconPropType,\n selectedIcon: PropTypes.string,\n selectedIconSvg: svgIconPropType,\n onRemove: PropTypes.func,\n dataItem: PropTypes.any,\n selected: PropTypes.bool,\n ariaDescribedBy: PropTypes.string,\n size: PropTypes.oneOf([null, 'small', 'medium', 'large']),\n rounded: PropTypes.oneOf([null, 'small', 'medium', 'large', 'full']),\n fillMode: PropTypes.oneOf([null, 'outline', 'solid']),\n // eslint-disable-next-line max-len\n themeColor: PropTypes.oneOf([null, 'base', 'info', 'success', 'warning', 'error'])\n};\nvar defaultProps = {\n disabled: false,\n removable: false,\n removeIcon: 'k-i-x-circle',\n dir: 'ltr',\n size: 'medium',\n rounded: 'medium',\n fillMode: 'solid',\n themeColor: 'base'\n};\nChip.displayName = 'KendoReactChip';\n// TODO: delete casting when @types/react is updated!\nChip.propTypes = propTypes;\nChip.defaultProps = defaultProps;\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { Chip } from '@progress/kendo-react-buttons';\nvar preventDefault = function (event) { return event.syntheticEvent.preventDefault(); };\nvar stopPropagation = function (event) { return event.syntheticEvent.stopPropagation(); };\n/**\n * @hidden\n */\nvar TagList = /** @class */ (function (_super) {\n __extends(TagList, _super);\n function TagList() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TagList.prototype.render = function () {\n var _a = this.props, data = _a.data, guid = _a.guid, focused = _a.focused, tagRender = _a.tagRender, TagComponent = _a.tag, onTagDelete = _a.onTagDelete, size = _a.size;\n return (React.createElement(React.Fragment, null,\n data.map(function (tagData, index) {\n var tag = TagComponent ? (React.createElement(TagComponent, { key: tagData.text + index, tagData: tagData, guid: guid, focusedTag: focused, onTagDelete: onTagDelete })) : (React.createElement(Chip, { id: \"tag-\".concat(guid, \"-\").concat(tagData.text.replace(/\\s+/g, '-')), \"aria-selected\": true, role: \"option\", \"aria-setsize\": data.length, key: tagData.text + index, text: tagData.text, removable: true, onRemove: function (e) { return onTagDelete.call(undefined, tagData.data, e.syntheticEvent); }, onMouseDown: preventDefault, onClick: stopPropagation, className: tagData === focused ? 'k-focus' : undefined, size: size }));\n return tagRender ? tagRender(tagData, tag) : tag;\n }),\n this.props.children));\n };\n return TagList;\n}(React.Component));\nexport default TagList;\n","/**\n * @hidden\n */\nexport var ActiveDescendant;\n(function (ActiveDescendant) {\n ActiveDescendant[ActiveDescendant[\"PopupList\"] = 0] = \"PopupList\";\n ActiveDescendant[ActiveDescendant[\"TagsList\"] = 1] = \"TagsList\";\n})(ActiveDescendant || (ActiveDescendant = {}));\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { ActionSheet, ActionSheetFooter, ActionSheetHeader } from '@progress/kendo-react-layout';\nimport { xIcon } from '@progress/kendo-svg-icons';\nimport { Button } from '@progress/kendo-react-buttons';\n/** @hidden */\nvar MOBILE_SMALL_DEVISE = 500;\n/** @hidden */\nexport var AdaptiveMode = function (props) {\n var footer = props.footer, children = props.children, _a = props.windowWidth, windowWidth = _a === void 0 ? 0 : _a, navigatable = props.navigatable, navigatableElements = props.navigatableElements, expand = props.expand, animation = props.animation, onClose = props.onClose, adaptiveTitle = props.adaptiveTitle, mobileFilter = props.mobileFilter;\n var defaultProps = {\n navigatable: navigatable || false,\n navigatableElements: navigatableElements || [],\n expand: expand,\n animation: animation === false ? false : true,\n onClose: onClose,\n animationStyles: windowWidth <= MOBILE_SMALL_DEVISE ? { top: 0, width: '100%', height: '100%' } : undefined,\n className: windowWidth <= MOBILE_SMALL_DEVISE\n ? 'k-adaptive-actionsheet k-actionsheet-fullscreen'\n : 'k-adaptive-actionsheet k-actionsheet-bottom'\n };\n return (React.createElement(ActionSheet, __assign({}, defaultProps),\n React.createElement(ActionSheetHeader, { className: 'k-text-center' },\n React.createElement(\"div\", { className: \"k-actionsheet-titlebar-group k-hbox\" },\n React.createElement(\"div\", { className: \"k-actionsheet-title\" },\n React.createElement(\"div\", null, adaptiveTitle)),\n React.createElement(\"div\", { className: \"k-actionsheet-actions\" },\n React.createElement(Button, { tabIndex: 0, \"aria-label\": \"Cancel\", \"aria-disabled\": \"false\", type: \"button\", fillMode: \"flat\", icon: 'x', svgIcon: xIcon, onClick: onClose }))),\n mobileFilter &&\n React.createElement(\"div\", { className: \"k-actionsheet-titlebar-group k-actionsheet-filter\" }, mobileFilter)),\n children,\n footer && React.createElement(ActionSheetFooter, { className: 'k-actions k-actions-stretched' },\n React.createElement(Button, { size: \"large\", tabIndex: 0, \"aria-label\": footer.cancelText, \"aria-disabled\": \"false\", type: \"button\", onClick: footer.onCancel }, footer.cancelText),\n React.createElement(Button, { tabIndex: 0, themeColor: \"primary\", size: \"large\", \"aria-label\": footer.applyText, \"aria-disabled\": \"false\", type: \"button\", onClick: footer.onApply }, footer.applyText))));\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, Keys, guid, createPropsContext, kendoThemeMaps, withPropsContext, IconWrap, canUseDOM } from '@progress/kendo-react-common';\nimport { plusIcon } from '@progress/kendo-svg-icons';\nimport { FloatingLabel } from '@progress/kendo-react-labels';\nimport ListContainer from '../common/ListContainer';\nimport List from '../common/List';\nimport GroupStickyHeader from '../common/GroupStickyHeader';\nimport TagList from './TagList';\nimport SearchBar from '../common/SearchBar';\nimport DropDownBase from '../common/DropDownBase';\nimport { ActiveDescendant } from './../common/settings';\nimport { itemIndexStartsWith, getItemValue, areSame, removeDataItems, isPresent, preventDefaultNonInputs, matchTags } from '../common/utils';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from '../package-metadata';\nimport ClearButton from '../common/ClearButton';\nimport { AdaptiveMode } from '../common/AdaptiveMode';\nimport { ActionSheetContent } from '@progress/kendo-react-layout';\nimport { MOBILE_MEDIUM_DEVISE } from '../common/constants';\nimport { provideLocalizationService } from '@progress/kendo-react-intl';\nimport { adaptiveModeFooterApply, adaptiveModeFooterCancel, messages } from '../messages';\nimport ListFilter from '../common/ListFilter';\nvar sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\nvar preventDefault = function (event) { return event.preventDefault(); };\nvar isCustom = function (type) { return type === FocusedItemType.CustomItem; };\nvar FocusedItemType;\n(function (FocusedItemType) {\n FocusedItemType[FocusedItemType[\"None\"] = 0] = \"None\";\n FocusedItemType[FocusedItemType[\"ListItem\"] = 1] = \"ListItem\";\n FocusedItemType[FocusedItemType[\"CustomItem\"] = 2] = \"CustomItem\";\n})(FocusedItemType || (FocusedItemType = {}));\n/** @hidden */\nvar MultiSelectWithoutContext = /** @class */ (function (_super) {\n __extends(MultiSelectWithoutContext, _super);\n function MultiSelectWithoutContext(props) {\n var _this = _super.call(this, props) || this;\n /** @hidden */\n _this.state = {\n activedescendant: ActiveDescendant.PopupList,\n currentValue: []\n };\n _this._element = null;\n _this._valueItemsDuringOnChange = null;\n _this._inputId = guid();\n _this.base = new DropDownBase(_this);\n _this._tags = [];\n _this._input = null;\n _this._adaptiveInput = null;\n _this._skipFocusEvent = false;\n _this.itemHeight = 0;\n _this.scrollToFocused = false;\n _this.localization = null;\n /** @hidden */\n _this.focus = function () {\n if (_this._input) {\n _this._input.focus();\n }\n };\n /** @hidden */\n _this.handleItemSelect = function (index, state) {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, dataItemKey = _a.dataItemKey, virtual = _a.virtual;\n var skip = virtual ? virtual.skip : 0;\n var dataItem = data[index - skip];\n var indexInValue = _this.value.findIndex(function (i) { return areSame(i, dataItem, dataItemKey); });\n var newItems = [];\n if (indexInValue !== -1) { // item is already selected\n newItems = _this.value;\n newItems.splice(indexInValue, 1);\n }\n else {\n newItems = __spreadArray(__spreadArray([], _this.value, true), [dataItem], false);\n }\n var text = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n if (text && !_this.mobileMode) {\n if (_this.state.text) {\n state.data.text = '';\n }\n _this.base.filterChanged('', state);\n }\n if (_this._adaptiveInput) {\n _this._adaptiveInput.blur();\n }\n ;\n if (_this.state.focusedIndex !== undefined) {\n state.data.focusedIndex = undefined;\n }\n _this.triggerOnChange(newItems, state);\n _this.base.triggerPageChangeCornerItems(dataItem, state);\n };\n /** @hidden */\n _this.onTagDelete = function (itemsToRemove, event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n if (_this.opened) {\n _this.base.togglePopup(state);\n }\n if (!_this.state.focused && !_this.mobileMode) {\n state.data.focused = true;\n _this.focus();\n }\n var selected = _this.value;\n removeDataItems(selected, itemsToRemove, _this.props.dataItemKey);\n _this.triggerOnChange(selected, state);\n _this.applyState(state);\n };\n /** @hidden */\n _this.itemFocus = function (index, state) {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, allowCustom = _a.allowCustom, virtual = _a.virtual;\n var skip = virtual ? virtual.skip : 0;\n var text = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n var focusedIndex = _this.getFocusedState().focusedIndex;\n var customItem = allowCustom && text;\n var nextFocusedItem = data[index - skip];\n if (nextFocusedItem && focusedIndex !== index) {\n if (_this.state.focusedIndex !== index) {\n state.data.focusedIndex = index;\n state.data.activedescendant = ActiveDescendant.PopupList;\n }\n }\n else if (customItem && index === -1) {\n if (_this.state.focusedIndex !== undefined) {\n state.data.focusedIndex = undefined;\n }\n }\n _this.base.triggerPageChangeCornerItems(nextFocusedItem, state);\n };\n _this.componentRef = function (element) {\n _this._element = element;\n _this.base.wrapper = element;\n };\n _this.searchbarRef = function (searchbar) {\n var input = _this._input = searchbar && searchbar.input;\n if (input && _this.state.focused) {\n window.setTimeout(function () { return input.focus(); }, 0);\n }\n };\n _this.onChangeHandler = function (event) {\n var state = _this.base.initState();\n var value = event.target.value;\n state.syntheticEvent = event;\n if (_this.props.filter === undefined) {\n state.data.text = value;\n }\n state.data.focusedIndex = undefined;\n if (!_this.opened) {\n _this.base.togglePopup(state);\n _this.setState({ currentValue: _this.value });\n }\n _this.base.filterChanged(value, state);\n _this.applyState(state);\n _this.setState({ group: undefined });\n };\n _this.clearButtonClick = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n event.stopPropagation();\n if (_this.value.length > 0) {\n _this.triggerOnChange([], state);\n }\n if (_this.state.focusedIndex !== undefined) {\n state.data.focusedIndex = undefined;\n }\n if (_this.opened) {\n _this.base.togglePopup(state);\n }\n var text = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n if (isPresent(text) && text !== '') {\n _this.base.filterChanged('', state);\n }\n if (_this.state.text) {\n state.data.text = '';\n }\n _this.applyState(state);\n };\n _this.onInputKeyDown = function (event) {\n var keyCode = event.keyCode;\n var text = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n var focusedItem = _this.getFocusedState().focusedItem;\n var state = _this.base.initState();\n state.syntheticEvent = event;\n if (!text && _this.value.length > 0 &&\n (keyCode === Keys.left || keyCode === Keys.right ||\n keyCode === Keys.home || keyCode === Keys.end ||\n keyCode === Keys.delete || keyCode === Keys.backspace)) {\n return _this.onTagsNavigate(event, state);\n }\n var togglePopup = function () {\n event.preventDefault();\n _this.base.togglePopup(state);\n _this.applyState(state);\n };\n if (_this.opened) {\n if (event.altKey && keyCode === Keys.up) {\n togglePopup();\n }\n else if (keyCode === Keys.up || keyCode === Keys.down) {\n event.preventDefault();\n _this.onNavigate(state, keyCode);\n }\n else if (keyCode === Keys.enter) {\n event.preventDefault();\n if (_this.props.allowCustom && text && focusedItem === null) {\n _this.customItemSelect(event);\n }\n else {\n _this.selectFocusedItem(event);\n }\n }\n else if (keyCode === Keys.esc) {\n togglePopup();\n }\n }\n else if (event.altKey && keyCode === Keys.down) {\n togglePopup();\n }\n };\n _this.listContainerContent = function () {\n var _a, _b;\n var _c = _this.props, header = _c.header, footer = _c.footer, allowCustom = _c.allowCustom, size = _c.size, _d = _c.data, data = _d === void 0 ? [] : _d, groupStickyHeaderItemRender = _c.groupStickyHeaderItemRender, groupField = _c.groupField, list = _c.list;\n var text = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n var focusedType = _this.getFocusedState().focusedType;\n var customItem = allowCustom && text && (React.createElement(\"div\", { className: classNames('k-list', (_a = {},\n _a[\"k-list-\".concat(sizeMap[size] || size)] = size,\n _a)), key: \"customitem\", onClick: _this.customItemSelect, onMouseDown: preventDefault },\n React.createElement(\"div\", { className: classNames('k-list-item k-custom-item', { 'k-focus': isCustom(focusedType) }), style: { fontStyle: 'italic' } },\n text,\n React.createElement(IconWrap, { name: 'plus', icon: plusIcon, style: { position: 'absolute', right: '0.5em' } }))));\n var group = _this.state.group;\n if (group === undefined && groupField !== undefined) {\n group = getItemValue(data[0], groupField);\n }\n return (React.createElement(React.Fragment, null,\n header && React.createElement(\"div\", { className: \"k-list-header\" }, header),\n customItem,\n React.createElement(\"div\", { className: classNames('k-list', (_b = {},\n _b[\"k-list-\".concat(_this.mobileMode ? 'lg' : sizeMap[size] || size)] = size,\n _b['k-virtual-list'] = _this.base.vs.enabled,\n _b)) },\n !list && group && data.length !== 0 && React.createElement(GroupStickyHeader, { group: group, groupMode: 'modern', render: groupStickyHeaderItemRender }),\n _this.renderList()),\n footer && React.createElement(\"div\", { className: \"k-list-footer\" }, footer)));\n };\n _this.renderListContainer = function () {\n var base = _this.base;\n var _a = _this.props, dir = _a.dir, _b = _a.data, data = _b === void 0 ? [] : _b;\n var popupSettings = _this.base.getPopupSettings();\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n var listContainerProps = {\n dir: dir !== undefined ? dir : base.dirCalculated,\n width: popupWidth,\n popupSettings: {\n popupClass: classNames(popupSettings.popupClass, 'k-list-container', 'k-multiselect-popup'),\n className: popupSettings.className,\n animate: popupSettings.animate,\n anchor: _this.element,\n show: _this.opened,\n onOpen: _this.onPopupOpened,\n onClose: _this.onPopupClosed,\n appendTo: popupSettings.appendTo\n },\n itemsCount: [data.length, _this.value.length]\n };\n return (React.createElement(ListContainer, __assign({}, listContainerProps), _this.listContainerContent()));\n };\n _this.renderAdaptiveListContainer = function () {\n var _a = _this.props, adaptiveTitle = _a.adaptiveTitle, filterable = _a.filterable, filter = _a.filter;\n var _b = _this.state.windowWidth, windowWidth = _b === void 0 ? 0 : _b;\n var mobileText = filter !== undefined ? filter : _this.state.text;\n _this.localization = provideLocalizationService(_this);\n var mobileFilter = filterable ? (React.createElement(ListFilter, { value: mobileText, ref: function (adaptiveFilter) { return _this._adaptiveInput = adaptiveFilter && adaptiveFilter.element; }, onChange: _this.onChangeHandler, onKeyDown: _this.onInputKeyDown, size: _this.props.size, rounded: _this.props.rounded, fillMode: _this.props.fillMode })) : null;\n var actionSheetProps = {\n adaptiveTitle: adaptiveTitle,\n expand: _this.opened,\n onClose: function (event) { return _this.onCancel(event); },\n windowWidth: windowWidth,\n mobileFilter: mobileFilter,\n footer: {\n cancelText: _this.localization.toLanguageString(adaptiveModeFooterCancel, messages[adaptiveModeFooterCancel]),\n onCancel: _this.onCancel,\n applyText: _this.localization.toLanguageString(adaptiveModeFooterApply, messages[adaptiveModeFooterApply]),\n onApply: _this.closePopup\n }\n };\n return (React.createElement(AdaptiveMode, __assign({}, actionSheetProps),\n React.createElement(ActionSheetContent, { className: '!k-overflow-hidden' },\n React.createElement(\"div\", { className: 'k-list-container' }, _this.listContainerContent()))));\n };\n _this.closePopup = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n event.stopPropagation();\n if (_this.state.focusedIndex !== undefined) {\n state.data.focusedIndex = undefined;\n }\n if (_this.opened) {\n _this.base.togglePopup(state);\n }\n state.events.push({ type: 'onClose' });\n var text = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n if (isPresent(text) && text !== '') {\n _this.base.filterChanged('', state);\n }\n if (_this.state.text) {\n state.data.text = '';\n }\n _this.applyState(state);\n };\n _this.onCancel = function (event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n event.stopPropagation();\n if (_this.state.focusedIndex !== undefined) {\n state.data.focusedIndex = undefined;\n }\n if (_this.opened) {\n _this.base.togglePopup(state);\n }\n state.events.push({ type: 'onCancel' });\n var text = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n if (isPresent(text) && text !== '') {\n _this.base.filterChanged('', state);\n }\n if (_this.state.text) {\n state.data.text = '';\n }\n _this.applyState(state);\n };\n _this.renderList = function () {\n var _a = _this.props, _b = _a.data, data = _b === void 0 ? [] : _b, textField = _a.textField, listNoDataRender = _a.listNoDataRender, itemRender = _a.itemRender, groupHeaderItemRender = _a.groupHeaderItemRender, dataItemKey = _a.dataItemKey, virtual = _a.virtual;\n var vs = _this.base.vs;\n var skip = virtual ? virtual.skip : 0;\n var focusedIndex = _this.getFocusedState().focusedIndex;\n var popupSettings = _this.base.getPopupSettings();\n var translate = \"translateY(\".concat(vs.translate, \"px)\");\n return (React.createElement(List, { id: _this.base.listBoxId, show: _this.opened, data: data.slice(), focusedIndex: focusedIndex - skip, value: _this.value, textField: textField, valueField: dataItemKey, optionsGuid: _this.base.guid, groupField: _this.props.groupField, groupMode: 'modern', listRef: function (list) { vs.list = _this.base.list = list; }, wrapperStyle: _this.mobileMode ? {} : { maxHeight: popupSettings.height }, wrapperCssClass: \"k-list-content\", listStyle: vs.enabled ? { transform: translate } : undefined, key: \"listKey\", skip: skip, onClick: _this.handleItemClick, itemRender: itemRender, groupHeaderItemRender: groupHeaderItemRender, noDataRender: listNoDataRender, onMouseDown: preventDefault, onBlur: _this.handleBlur, onScroll: _this.onScroll, wrapperRef: vs.scrollerRef, scroller: _this.base.renderScrollElement() }));\n };\n _this.onScroll = function (event) {\n var _a = _this.base, vs = _a.vs, list = _a.list;\n vs.scrollHandler(event);\n var groupField = _this.props.groupField;\n var _b = _this.props.data, data = _b === void 0 ? [] : _b;\n if (!groupField || !data.length) {\n return;\n }\n if (groupField) {\n var itemHeight = _this.itemHeight =\n _this.itemHeight || (vs.enabled ? vs.itemHeight : (list ? list.children[0].offsetHeight : 0));\n var target = event.target;\n var scrollTop = target.scrollTop - (vs.skip * itemHeight);\n data = _this.base.getGroupedDataModernMode(data, groupField);\n var group = data[0][groupField];\n for (var i = 1; i < data.length; i++) {\n if (itemHeight * i > scrollTop) {\n break;\n }\n if (data[i] && data[i][groupField]) {\n group = data[i][groupField];\n }\n }\n if (group !== _this.state.group) {\n _this.setState({\n group: group\n });\n }\n }\n };\n _this.customItemSelect = function (event) {\n var _a;\n var itemText = _this.props.filter !== undefined ? _this.props.filter : _this.state.text;\n var textField = _this.props.textField;\n if (!itemText) {\n return;\n }\n var state = _this.base.initState();\n state.syntheticEvent = event;\n var item = textField ? (_a = {}, _a[textField] = itemText, _a) : itemText;\n if (_this.state.text !== undefined) {\n state.data.text = '';\n }\n state.data.focusedIndex = undefined;\n _this.base.filterChanged('', state);\n var newItems = __spreadArray(__spreadArray([], _this.value, true), [item], false);\n _this.triggerOnChange(newItems, state);\n _this.base.togglePopup(state);\n _this.applyState(state);\n };\n _this.handleWrapperClick = function (event) {\n var input = _this._input;\n if (!_this.opened && input) {\n _this.focusElement(input);\n }\n var state = _this.base.initState();\n state.syntheticEvent = event;\n if (!_this.state.focused && !_this.mobileMode) {\n state.events.push({ type: 'onFocus' });\n state.data.focused = true;\n }\n if (_this.mobileMode) {\n _this.setState({ currentValue: _this.tagsToRender });\n if (_this.mobileMode) {\n window.setTimeout(function () { return _this._adaptiveInput && _this._adaptiveInput.focus(); }, 300);\n }\n }\n _this.base.togglePopup(state);\n _this.applyState(state);\n };\n _this.handleItemClick = function (index, event) {\n var state = _this.base.initState();\n state.syntheticEvent = event;\n _this.handleItemSelect(index, state);\n if (_this.props.autoClose && !_this.mobileMode) {\n _this.base.togglePopup(state);\n }\n event.stopPropagation();\n _this.applyState(state);\n };\n _this.handleBlur = function (event) {\n if (!_this.state.focused || _this._skipFocusEvent) {\n return;\n }\n var state = _this.base.initState();\n var _a = _this.props, allowCustom = _a.allowCustom, filterable = _a.filterable;\n state.syntheticEvent = event;\n state.data.focused = false;\n state.events.push({ type: 'onBlur' });\n if (_this.opened && !_this.mobileMode) {\n if (_this.state.opened) {\n state.data.opened = false;\n }\n state.events.push({ type: 'onClose' });\n }\n if (!allowCustom && !filterable && _this.state.text) {\n state.data.text = '';\n }\n _this.applyState(state);\n };\n _this.handleFocus = function (event) {\n if (_this._skipFocusEvent) {\n return;\n }\n _this.base.handleFocus(event);\n };\n _this.onPopupOpened = function () {\n if (_this._input && _this.state.focused && !_this.mobileMode) {\n _this.focusElement(_this._input);\n }\n };\n _this.onPopupClosed = function () {\n if (_this.state.focused) {\n window.setTimeout(function () { if (_this.state.focused) {\n _this.focusElement(_this._input);\n } }, 0);\n }\n };\n _this.setValidity = function () {\n if (_this._input && _this._input.setCustomValidity) {\n _this._input.setCustomValidity(_this.validity.valid\n ? ''\n : _this.props.validationMessage || VALIDATION_MESSAGE);\n }\n };\n validatePackage(packageMetadata);\n return _this;\n }\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"document\", {\n get: function () {\n if (!canUseDOM) {\n return;\n }\n // useful only for user actions\n return (this.element && this.element.ownerDocument) || document;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"element\", {\n /** @hidden */\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"opened\", {\n /** @hidden */\n get: function () {\n var opened = this.props.opened !== undefined ? this.props.opened : this.state.opened;\n return !!opened;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"tagsToRender\", {\n /** @hidden */\n get: function () {\n var _a = this.props, tags = _a.tags, textField = _a.textField;\n var tagsToRender = [];\n if (tags === undefined) {\n this.value.forEach(function (item) {\n tagsToRender.push({ text: getItemValue(item, textField), data: [item] });\n });\n }\n else {\n tagsToRender.push.apply(tagsToRender, tags);\n }\n return tagsToRender;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"mobileMode\", {\n /**\n * The mobile mode of the ComboBox.\n */\n get: function () {\n var isAdaptive = this.state.windowWidth && this.state.windowWidth <= MOBILE_MEDIUM_DEVISE && this.props.adaptive;\n return !!isAdaptive;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"value\", {\n /**\n * Represents the value of the MultiSelect.\n */\n get: function () {\n var result = [];\n if (this._valueItemsDuringOnChange) {\n result.push.apply(result, this._valueItemsDuringOnChange);\n }\n else if (this.props.value) {\n result.push.apply(result, this.props.value);\n }\n else if (this.state.value) {\n result.push.apply(result, this.state.value);\n }\n else if (this.props.defaultValue) {\n result.push.apply(result, this.props.defaultValue);\n }\n return result;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"name\", {\n /**\n * Gets the `name` property of the MultiSelect.\n */\n get: function () {\n return this.props.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"validity\", {\n /**\n * Represents the validity state into which the MultiSelect is set.\n */\n get: function () {\n var customError = this.props.validationMessage !== undefined;\n var isValid = (!this.required\n || (this.value !== null && this.value.length > 0 && this.value !== undefined));\n var valid = this.props.valid !== undefined ? this.props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.value === null\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"required\", {\n /** @hidden */\n get: function () {\n return this.props.required !== undefined\n ? this.props.required\n : MultiSelectWithoutContext.defaultProps.required;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MultiSelectWithoutContext.prototype, \"validityStyles\", {\n get: function () {\n return this.props.validityStyles !== undefined\n ? this.props.validityStyles\n : MultiSelectWithoutContext.defaultProps.validityStyles;\n },\n enumerable: false,\n configurable: true\n });\n /** @hidden */\n MultiSelectWithoutContext.prototype.componentDidUpdate = function (prevProps, prevState) {\n var _a;\n var _b = this.props, virtual = _b.virtual, _c = _b.groupField, groupField = _c === void 0 ? '' : _c, _d = _b.data, data = _d === void 0 ? [] : _d;\n var skip = virtual ? virtual.skip : 0;\n var prevTotal = prevProps.virtual ? prevProps.virtual.total : 0;\n var prevOpened = prevProps.opened !== undefined ? prevProps.opened : prevState.opened;\n var opening = !prevOpened && this.opened;\n var closing = prevOpened && !this.opened;\n var popupSettings = this.base.getPopupSettings();\n if (!popupSettings.animate && closing) {\n this.onPopupClosed();\n }\n if (virtual && virtual.total !== prevTotal) {\n this.base.vs.calcScrollElementHeight();\n this.base.vs.reset();\n }\n else {\n var _e = this.getFocusedState(), focusedItem = _e.focusedItem, focusedIndex = _e.focusedIndex;\n if (groupField !== '') {\n focusedIndex = (_a = this.base.getGroupedDataModernMode(data, groupField)) === null || _a === void 0 ? void 0 : _a.indexOf(focusedItem);\n }\n if (opening && virtual) {\n this.base.scrollToVirtualItem(virtual, focusedIndex - skip);\n }\n else if (opening && !virtual) {\n // Resets the sticky header group value for scenarios with open/close of component's popup\n if (data && data.length !== 0) {\n this.base.resetGroupStickyHeader(data[0][groupField], this);\n }\n this.base.scrollToItem(focusedIndex);\n }\n else if (this.opened && prevOpened && focusedItem && this.scrollToFocused) {\n this.base.scrollToItem(focusedIndex - skip);\n }\n }\n this.scrollToFocused = false;\n this.setValidity();\n };\n /** @hidden */\n MultiSelectWithoutContext.prototype.componentDidMount = function () {\n var _a;\n this.observerResize = canUseDOM && window.ResizeObserver && new window.ResizeObserver(this.calculateMedia.bind(this));\n this.base.didMount();\n this.setValidity();\n if (((_a = this.document) === null || _a === void 0 ? void 0 : _a.body) && this.observerResize) {\n this.observerResize.observe(this.document.body);\n }\n };\n /** @hidden */\n MultiSelectWithoutContext.prototype.componentWillUnmount = function () {\n var _a;\n if (((_a = this.document) === null || _a === void 0 ? void 0 : _a.body) && this.observerResize) {\n this.observerResize.disconnect();\n }\n };\n /** @hidden */\n MultiSelectWithoutContext.prototype.onNavigate = function (state, keyCode) {\n var _a = this.props, allowCustom = _a.allowCustom, _b = _a.data, data = _b === void 0 ? [] : _b;\n var text = this.props.filter !== undefined ? this.props.filter : this.state.text;\n var _c = this.getFocusedState(), focusedType = _c.focusedType, focusedIndex = _c.focusedIndex;\n var customItem = allowCustom && text;\n var customItemFocused = isCustom(focusedType);\n var base = this.base;\n var vs = base.vs;\n if (this.opened && keyCode === Keys.up && customItemFocused) {\n if (this.state.focusedIndex !== undefined) {\n state.data.focusedIndex = undefined;\n }\n }\n else {\n var newFocused = base.navigation.navigate({\n keyCode: keyCode,\n current: focusedIndex,\n max: (vs.enabled ? vs.total : data.length) - 1,\n min: customItem ? -1 : 0\n });\n if (newFocused !== undefined) {\n this.itemFocus(newFocused, state);\n this.scrollToFocused = true;\n }\n }\n this.applyState(state);\n };\n /** @hidden */\n MultiSelectWithoutContext.prototype.render = function () {\n var _a, _b;\n var _c = this.props, style = _c.style, className = _c.className, label = _c.label, dir = _c.dir, disabled = _c.disabled, textField = _c.textField, dataItemKey = _c.dataItemKey, virtual = _c.virtual, size = _c.size, rounded = _c.rounded, fillMode = _c.fillMode, loading = _c.loading, filter = _c.filter;\n var _d = this.state, text = _d.text, focused = _d.focused, focusedTag = _d.focusedTag, currentValue = _d.currentValue;\n var vs = this.base.vs;\n var id = this.props.id || this._inputId;\n vs.enabled = virtual !== undefined;\n if (virtual !== undefined) {\n vs.skip = virtual.skip;\n vs.total = virtual.total;\n vs.pageSize = virtual.pageSize;\n }\n var currentTagsToRender = (this.mobileMode && this.opened) ? currentValue : this.tagsToRender;\n this.setItems(this.tagsToRender, this._tags);\n var isValid = !this.validityStyles || this.validity.valid;\n var clearButton = Boolean(filter !== undefined ? filter : text)\n || (currentTagsToRender && currentTagsToRender.length > 0);\n var component = (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { ref: this.componentRef, className: classNames('k-multiselect k-input', className, (_a = {},\n _a[\"k-input-\".concat(sizeMap[size] || size)] = size,\n _a[\"k-rounded-\".concat(roundedMap[rounded] || rounded)] = rounded,\n _a[\"k-input-\".concat(fillMode)] = fillMode,\n _a['k-focus'] = focused && !disabled,\n _a['k-invalid'] = !isValid,\n _a['k-disabled'] = disabled,\n _a['k-loading'] = loading,\n _a['k-required'] = this.required,\n _a)), style: !label\n ? style\n : __assign(__assign({}, style), { width: undefined }), dir: dir, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.handleWrapperClick, onMouseDown: preventDefaultNonInputs },\n React.createElement(\"div\", { className: classNames('k-input-values') },\n React.createElement(\"div\", { className: classNames('k-chip-list', (_b = {}, _b[\"k-chip-list-\".concat(sizeMap[size] || size)] = size, _b)), role: \"listbox\", id: 'tagslist-' + this.base.guid }, currentTagsToRender && currentTagsToRender.length > 0 && React.createElement(TagList, { tagRender: this.props.tagRender, onTagDelete: this.onTagDelete, data: currentTagsToRender, guid: this.base.guid, focused: focusedTag ? currentTagsToRender.find(function (t) { return matchTags(t, focusedTag, dataItemKey); }) : undefined, size: size })),\n this.renderSearchBar(id)),\n loading && React.createElement(IconWrap, { className: \"k-input-loading-icon\", name: 'loading' }),\n clearButton && React.createElement(ClearButton, { onClick: this.clearButtonClick }),\n !this.mobileMode && this.renderListContainer()),\n this.mobileMode && this.renderAdaptiveListContainer()));\n return label ? (React.createElement(FloatingLabel, { label: label, editorId: id, editorValue: text || getItemValue(this.value[0], textField), editorValid: isValid, editorDisabled: disabled, style: { width: style ? style.width : undefined }, children: component })) : component;\n };\n MultiSelectWithoutContext.prototype.renderSearchBar = function (id) {\n var _a = this.state, activedescendant = _a.activedescendant, focusedTag = _a.focusedTag, currentValue = _a.currentValue;\n var _b = this.props, disabled = _b.disabled, placeholder = _b.placeholder, ariaDescribedBy = _b.ariaDescribedBy;\n var text = !this.mobileMode && (this.props.filter !== undefined ? this.props.filter : this.state.text) || '';\n var focusedIndex = this.getFocusedState().focusedIndex;\n var placeholderToShow = this.value.length === 0 && !text ? placeholder : undefined;\n var adaptivePlaceholder = (currentValue && currentValue.length > 0) ? undefined : placeholder;\n var ariaActivedescendant = activedescendant === ActiveDescendant.TagsList && focusedTag !== undefined ?\n \"tag-\".concat(this.base.guid, \"-\").concat(focusedTag.text.replace(/\\s+/g, '-')) :\n \"option-\".concat(this.base.guid, \"-\").concat(focusedIndex);\n return (React.createElement(SearchBar, { id: id, size: Math.max((placeholderToShow || '').length, text.length, 1), tabIndex: this.props.tabIndex, accessKey: this.props.accessKey, placeholder: this.mobileMode && this.opened ? adaptivePlaceholder : placeholderToShow, value: text, onChange: this.onChangeHandler, onKeyDown: this.onInputKeyDown, ref: this.searchbarRef, disabled: disabled, expanded: this.opened, owns: this.base.listBoxId, role: 'combobox', activedescendant: ariaActivedescendant, ariaDescribedBy: \"tagslist-\".concat(this.base.guid).concat(ariaDescribedBy ? (' ' + ariaDescribedBy) : ''), ariaLabelledBy: this.props.ariaLabelledBy, ariaRequired: this.required }));\n };\n MultiSelectWithoutContext.prototype.onTagsNavigate = function (event, state) {\n var keyCode = event.keyCode;\n var focusedTag = this.state.focusedTag;\n var tags = this._tags;\n var itemsKey = this.props.dataItemKey;\n var focusedIndex = focusedTag ?\n tags.findIndex(function (t) { return matchTags(t, focusedTag, itemsKey); }) : -1;\n var newFocusedTag = undefined;\n var hasFocused = focusedIndex !== -1;\n if (keyCode === Keys.left) {\n if (hasFocused) {\n focusedIndex = Math.max(0, focusedIndex - 1);\n }\n else {\n focusedIndex = tags.length - 1;\n }\n newFocusedTag = tags[focusedIndex];\n }\n else if (keyCode === Keys.right) {\n if (focusedIndex === tags.length - 1) {\n newFocusedTag = undefined;\n }\n else if (hasFocused) {\n focusedIndex = Math.min(tags.length - 1, focusedIndex + 1);\n newFocusedTag = tags[focusedIndex];\n }\n }\n else if (keyCode === Keys.home) {\n newFocusedTag = tags[0];\n }\n else if (keyCode === Keys.end) {\n newFocusedTag = tags[tags.length - 1];\n }\n else if (keyCode === Keys.delete) {\n if (hasFocused) {\n var items = this.value;\n removeDataItems(items, tags[focusedIndex].data, itemsKey);\n this.triggerOnChange(items, state);\n }\n }\n else if (keyCode === Keys.backspace) {\n var items = this.value;\n if (hasFocused) {\n removeDataItems(items, tags[focusedIndex].data, itemsKey);\n this.triggerOnChange(items, state);\n }\n else if (!hasFocused && tags.length) {\n var removed = tags.pop();\n removeDataItems(items, removed.data, itemsKey);\n this.triggerOnChange(items, state);\n }\n }\n if (newFocusedTag !== focusedTag) {\n state.data.focusedTag = newFocusedTag;\n state.data.activedescendant = ActiveDescendant.TagsList;\n }\n this.applyState(state);\n };\n MultiSelectWithoutContext.prototype.triggerOnChange = function (items, state) {\n if (this.props.value === undefined) {\n state.data.value = __spreadArray([], items, true);\n }\n this._valueItemsDuringOnChange = [];\n this.setItems(items, this._valueItemsDuringOnChange);\n state.events.push({ type: 'onChange' });\n };\n MultiSelectWithoutContext.prototype.selectFocusedItem = function (event) {\n var _a = this.props, _b = _a.data, data = _b === void 0 ? [] : _b, virtual = _a.virtual;\n var focusedIndex = this.getFocusedState().focusedIndex;\n var skip = virtual ? virtual.skip : 0;\n if (data[focusedIndex - skip] !== undefined) {\n this.handleItemClick(focusedIndex, event);\n }\n };\n MultiSelectWithoutContext.prototype.setItems = function (srcItems, destItems) {\n destItems.length = 0;\n destItems.push.apply(destItems, srcItems);\n };\n MultiSelectWithoutContext.prototype.getFocusedState = function () {\n var focusedIndex = this.state.focusedIndex;\n var text = this.props.filter !== undefined ? this.props.filter : this.state.text;\n var _a = this.props, allowCustom = _a.allowCustom, _b = _a.data, data = _b === void 0 ? [] : _b, dataItemKey = _a.dataItemKey, virtual = _a.virtual, textField = _a.textField, _c = _a.focusedItemIndex, focusedItemIndex = _c === void 0 ? itemIndexStartsWith : _c;\n var skip = (virtual && virtual.skip) || 0;\n var focusedInd;\n if (focusedIndex !== undefined) {\n return {\n focusedIndex: focusedIndex,\n focusedItem: data[focusedIndex - skip],\n focusedType: FocusedItemType.ListItem\n };\n }\n var selected = this.value;\n if (allowCustom && text) {\n return { focusedItem: null, focusedIndex: -1, focusedType: FocusedItemType.CustomItem };\n }\n else if (text) {\n focusedInd = focusedItemIndex(data, text, textField);\n return {\n focusedItem: data[focusedInd],\n focusedIndex: focusedInd + skip,\n focusedType: FocusedItemType.ListItem\n };\n }\n else if (selected.length) {\n var last_1 = selected[selected.length - 1];\n focusedInd = data.findIndex(function (i) { return areSame(i, last_1, dataItemKey); });\n if (data[focusedInd] !== undefined) {\n return {\n focusedIndex: focusedInd + skip,\n focusedItem: data[focusedInd],\n focusedType: FocusedItemType.ListItem\n };\n }\n return { focusedType: FocusedItemType.None, focusedIndex: -1 };\n }\n return skip === 0 ?\n { focusedItem: data[0], focusedIndex: 0, focusedType: FocusedItemType.ListItem } :\n { focusedType: FocusedItemType.None, focusedIndex: -1 };\n };\n MultiSelectWithoutContext.prototype.focusElement = function (element) {\n var _this = this;\n this._skipFocusEvent = true;\n element.focus();\n window.setTimeout(function () { return _this._skipFocusEvent = false; }, 0);\n };\n MultiSelectWithoutContext.prototype.applyState = function (state) {\n this.base.applyState(state);\n this._valueItemsDuringOnChange = null;\n };\n MultiSelectWithoutContext.prototype.calculateMedia = function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n this.setState({ windowWidth: entry.target.clientWidth });\n }\n ;\n };\n ;\n MultiSelectWithoutContext.displayName = 'MultiSelect';\n /** @hidden */\n MultiSelectWithoutContext.propTypes = __assign(__assign({}, DropDownBase.propTypes), { autoClose: PropTypes.bool, value: PropTypes.arrayOf(PropTypes.any), defaultValue: PropTypes.arrayOf(PropTypes.any), dataItemKey: PropTypes.string, placeholder: PropTypes.string, tags: PropTypes.arrayOf(PropTypes.shape({\n text: PropTypes.string,\n data: PropTypes.arrayOf(PropTypes.any)\n })), tagRender: PropTypes.func, id: PropTypes.string, ariaLabelledBy: PropTypes.string, ariaDescribedBy: PropTypes.string, groupField: PropTypes.string, list: PropTypes.any, adaptive: PropTypes.bool, adaptiveTitle: PropTypes.string, onCancel: PropTypes.func });\n /** @hidden */\n MultiSelectWithoutContext.defaultProps = __assign(__assign({}, DropDownBase.defaultProps), { autoClose: true, required: false, size: 'medium', rounded: 'medium', fillMode: 'solid', groupMode: 'modern' });\n return MultiSelectWithoutContext;\n}(React.Component));\nexport { MultiSelectWithoutContext };\n/**\n * Represents the PropsContext of the `MultiSelect` component.\n * Used for global configuration of all `MultiSelect` instances.\n *\n * For more information, refer to the [Dropdowns Props Context]({% slug props-context_dropdowns %}) article.\n */\nexport var MultiSelectPropsContext = createPropsContext();\n/* eslint-disable @typescript-eslint/no-redeclare -- intentionally naming the component the same as the type */\n/**\n * Represents the [KendoReact MultiSelect component]({% slug overview_multiselect %}).\n *\n * Accepts properties of type [MultiSelectProps]({% slug api_dropdowns_multiselectprops %}).\n * Obtaining the `ref` returns an object of type [MultiSelectHandle]({% slug api_dropdowns_multiselecthandle %}).\n *\n * @example\n * ```jsx\n * class App extends React.Component {\n * multiselect = null;\n * render() {\n * return (\n *
\n * this.multiselect = component}\n * />\n * \n *
\n * );\n * }\n * }\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var MultiSelect = withPropsContext(MultiSelectPropsContext, MultiSelectWithoutContext);\nMultiSelect.displayName = 'KendoReactMultiSelect';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport List from './List';\nimport { classNames } from '@progress/kendo-react-common';\n/**\n * @hidden\n */\nexport var MultiColumnList = function (props) {\n return (React.createElement(List, __assign({}, props, { wrapperCssClass: \"k-table-body k-table-scroller\", listClassName: classNames('k-table k-table-list', {\n 'k-virtual-table': props.virtual !== undefined\n }), listStyle: __assign({}, props.listStyle) })));\n};\n","/**\n * @hidden\n */\nvar getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n function BrowserSupportService() {\n this.scrollbar = 0;\n }\n Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n get: function () {\n var document = getDocument();\n if (!this.scrollbar && document && document.createElement) {\n var div = document.createElement('div');\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n this.scrollbar = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n }\n return this.scrollbar;\n },\n enumerable: false,\n configurable: true\n });\n return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","/**\n * @hidden\n */\nexport var FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n","import { fieldList } from './fieldList';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * Can be used for getting value from object using field path. For example `users[index].name`.\n *\n * @example\n * ```jsx-no-run\n * const values = {users:[{lastName: 'Doe'}]};\n * const firstUserLastName = getter('user[0].lastName');\n *\n * console.log(firstUserLastName(values))\n *\n * // result: 'Doe'\n * ```\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = fieldList(field);\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants';\n/**\n * @hidden\n */\nexport function fieldList(field) {\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n return fields;\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { PopupPropsContext } from '@progress/kendo-react-popup';\nimport { MultiColumnList } from './../common/MultiColumnList';\nimport { classNames, getScrollbarWidth, setScrollbarWidth, getter, usePropsContext, createPropsContext } from '@progress/kendo-react-common';\nimport { ComboBox, ComboBoxWithoutContext } from '../ComboBox/ComboBox';\nimport { getItemValue } from '../common/utils';\nvar columnWidth = function (width, defaultWidth) {\n if (width) {\n return typeof width === 'number' ? width + 'px' : width;\n }\n return defaultWidth;\n};\n/**\n * Represents the PropsContext of the `MultiColumnComboBox` component.\n * Used for global configuration of all `MultiColumnComboBox` instances.\n *\n * For more information, refer to the [Dropdowns Props Context]({% slug props-context_dropdowns %}) article.\n */\nexport var MultiColumnComboBoxPropsContext = createPropsContext();\n/**\n * Represents the MultiColumnComboBox component.\n *\n * Accepts properties of type [MultiColumnComboBoxProps]({% slug api_dropdowns_multicolumncomboboxprops %}).\n * Obtaining the `ref` returns an object of type [MultiColumnComboBoxHandle]({% slug api_dropdowns_multicolumncomboboxhandle %}).\n *\n */\nexport var MultiColumnComboBox = React.forwardRef(function (directProps, ref) {\n var props = usePropsContext(MultiColumnComboBoxPropsContext, directProps);\n var target = React.useRef(null);\n var comboBoxRef = React.useRef(null);\n var scrollbarWidth = getScrollbarWidth();\n var _a = props.columns, columns = _a === void 0 ? defaultProps.columns : _a, _b = props.popupSettings, popupSettings = _b === void 0 ? defaultProps.popupSettings : _b, className = props.className, size = props.size, onOpen = props.onOpen, onClose = props.onClose, onFocus = props.onFocus, onBlur = props.onBlur, onChange = props.onChange, onFilterChange = props.onFilterChange, onPageChange = props.onPageChange, other = __rest(props, [\"columns\", \"popupSettings\", \"className\", \"size\", \"onOpen\", \"onClose\", \"onFocus\", \"onBlur\", \"onChange\", \"onFilterChange\", \"onPageChange\"]);\n React.useImperativeHandle(target, function () {\n return ({\n element: comboBoxRef.current && comboBoxRef.current.element,\n focus: function () {\n if (comboBoxRef.current) {\n comboBoxRef.current.focus();\n }\n },\n get value() { return comboBoxRef.current && comboBoxRef.current.value; },\n get name() { return comboBoxRef.current && comboBoxRef.current.name; },\n props: props\n });\n });\n React.useImperativeHandle(ref, function () { return target.current; });\n var initialGroupHeader = React.useMemo(function () {\n if (props.groupField !== undefined && props.data) {\n return getItemValue(props.data[0], props.groupField);\n }\n }, [props.data, props.groupField]);\n var _c = React.useState(initialGroupHeader), groupHeader = _c[0], setGroupHeader = _c[1];\n var _d = React.useState(true), showStickyHeader = _d[0], setShowStickyHeader = _d[1];\n var header = React.useMemo(function () {\n var renderer = (React.createElement(\"th\", { className: 'k-table-th', colSpan: columns.length }, groupHeader));\n return (React.createElement(React.Fragment, null,\n props.header,\n React.createElement(\"div\", { className: \"k-table-header-wrap\" },\n React.createElement(\"table\", { className: \"k-table\", role: \"presentation\" },\n React.createElement(\"colgroup\", null, columns.map(function (column, i) {\n return (React.createElement(\"col\", { key: column.uniqueKey ? column.uniqueKey : i, style: { width: column.width ? column.width : defaultProps.width } }));\n })),\n React.createElement(\"thead\", { className: 'k-table-thead' },\n React.createElement(\"tr\", { className: 'k-table-row' }, columns.map(function (column, i) {\n return (React.createElement(\"th\", { className: \"k-table-th\", key: column.uniqueKey ? column.uniqueKey : i }, column.header || '\\u00A0'));\n })),\n groupHeader && showStickyHeader && React.createElement(\"tr\", { className: 'k-table-group-row' }, props.groupStickyHeaderItemRender ? props.groupStickyHeaderItemRender.call(undefined, renderer, {}) : renderer))))));\n }, [props.header, columns, groupHeader, showStickyHeader]);\n var popupWidth = React.useMemo(function () {\n // These additional 4px are coming from the child elements side borders (fixes horizontal scrollbar)\n return \"calc(\".concat(columns.map(function (column) { return columnWidth(column.width, defaultProps.width); }).filter(Boolean).join(' + '), \" + \").concat(scrollbarWidth, \"px + 4px)\");\n }, [columns, scrollbarWidth]);\n var skip = props.virtual ? props.virtual.skip : 0;\n var itemRender = React.useCallback(function (li, liProps) {\n var children = columns.map(function (column, i) { return (React.createElement(\"span\", { className: !props.itemRender ? 'k-table-td' : undefined, style: !props.itemRender ? { width: column.width ? column.width : defaultProps.width } : undefined, key: column.uniqueKey ? column.uniqueKey : i }, column.field ? getter(column.field)(liProps.dataItem) : '')); });\n var group = undefined;\n var curGroup, prevGroup, groupGetter, data = props.data || [];\n var index = liProps.index - skip;\n if (props.groupField !== undefined) {\n groupGetter = getter(props.groupField);\n curGroup = groupGetter(data[index]);\n prevGroup = groupGetter(data[index - 1]);\n if (curGroup && prevGroup && curGroup !== prevGroup) {\n group = curGroup;\n }\n }\n if (group && props.groupMode === 'classic') {\n children.push(React.createElement(\"div\", { key: \"group\", className: \"k-table-td k-table-group-td\" },\n React.createElement(\"span\", null, group)));\n }\n var rendering = React.cloneElement(li, __assign(__assign({}, li.props), { className: classNames('k-table-row', {\n 'k-table-alt-row': liProps.index % 2 !== 0,\n 'k-focus': liProps.focused,\n 'k-selected': liProps.selected,\n 'k-first': Boolean(group)\n }) }), children);\n return props.itemRender ? props.itemRender.call(undefined, rendering, liProps) : rendering;\n }, [columns, props.groupField, props.itemRender, props.data, skip]);\n var handleEvent = React.useCallback(function (handler, event) {\n if (handler) {\n handler.call(undefined, __assign(__assign({}, event), { target: target.current }));\n }\n }, []);\n var onOpenHandler = React.useCallback(function (event) {\n // Resets the sticky header group value for scenarios with open/close of component's popup\n if (!props.virtual) {\n setGroupHeader(initialGroupHeader);\n }\n ;\n return handleEvent(onOpen, event);\n }, [handleEvent, onOpen, props.virtual, initialGroupHeader]);\n var onCloseHandler = React.useCallback(function (event) { return handleEvent(onClose, event); }, [onClose]);\n var onFocusHandler = React.useCallback(function (event) { return handleEvent(onFocus, event); }, [onFocus]);\n var onBlurHandler = React.useCallback(function (event) { return handleEvent(onBlur, event); }, [onBlur]);\n var onChangeHandler = React.useCallback(function (event) { return handleEvent(onChange, event); }, [onChange]);\n var onPageChangeHandler = React.useCallback(function (event) { return handleEvent(onPageChange, event); }, [onPageChange]);\n var onFilterChangeHandler = React.useCallback(function (event) {\n setGroupHeader(initialGroupHeader);\n return handleEvent(onFilterChange, __assign(__assign({}, event), { mobileMode: event.target.mobileMode }));\n }, [onFilterChange]);\n var onGroupScroll = React.useCallback(function (event) {\n setGroupHeader(event.group);\n }, []);\n React.useEffect(function () { setScrollbarWidth(); });\n React.useEffect(function () {\n var data = props.data;\n setGroupHeader(initialGroupHeader);\n if (data && data.length !== 0) {\n setShowStickyHeader(true);\n }\n else {\n setShowStickyHeader(false);\n }\n ;\n }, [props.data]);\n var List = React.useCallback(function (listProps) { return React.createElement(MultiColumnList, __assign({}, listProps)); }, []);\n return (React.createElement(PopupPropsContext.Provider, { value: function (PopupProps) { return (__assign(__assign({}, PopupProps), { popupClass: 'k-dropdowngrid-popup' })); } },\n React.createElement(ComboBox, __assign({}, other, { list: List, popupSettings: __assign(__assign({ width: popupWidth }, popupSettings), { className: popupSettings.className }), ref: comboBoxRef, header: header, itemRender: itemRender, groupHeaderItemRender: props.groupHeaderItemRender, size: props.size, rounded: props.rounded, fillMode: props.fillMode, groupMode: props.groupMode, groupField: props.groupField, isMultiColumn: true, onOpen: onOpenHandler, onClose: onCloseHandler, onFocus: onFocusHandler, onBlur: onBlurHandler, onChange: onChangeHandler, onFilterChange: onFilterChangeHandler, onPageChange: onPageChangeHandler, onGroupScroll: onGroupScroll, className: classNames('k-dropdowngrid', className), required: props.required, adaptive: props.adaptive, adaptiveFilter: props.adaptiveFilter, adaptiveTitle: props.adaptiveTitle, footer: props.footer, footerClassName: 'k-table-footer' }))));\n});\nvar propTypes = __assign(__assign({}, ComboBoxWithoutContext.propTypes), { columns: PropTypes.any.isRequired });\nvar defaultProps = {\n columns: [],\n popupSettings: {},\n width: '200px',\n size: 'medium',\n rounded: 'medium',\n fillMode: 'solid'\n};\nMultiColumnComboBox.displayName = 'KendoMultiColumnComboBox';\n// TODO: delete casting when @types/react is updated!\nMultiColumnComboBox.propTypes = propTypes;\nMultiColumnComboBox.defaultProps = defaultProps;\n","import { BrowserSupportService } from './browser-support.service';\nimport { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport var getScrollbarWidth = function () {\n if (!canUseDOM || !document.body) {\n return false;\n }\n var scrollbarWidth = new BrowserSupportService().scrollbarWidth;\n return scrollbarWidth;\n};\n/**\n * @hidden\n */\nexport var setScrollbarWidth = function () {\n if (!canUseDOM || !document.body) {\n return false;\n }\n var scrollbarWidth = new BrowserSupportService().scrollbarWidth;\n document.body.style.setProperty('--kendo-scrollbar-width', \"\".concat(scrollbarWidth, \"px\"));\n};\n","/**\n * @hidden\n */\nexport var noop = function () { };\n","import * as React from 'react';\n// Same as 'useDir'. Export to avoid breaking change.\n// 'useRtl' is incorrect naming, since applies that the returned value is `true` or `false`.\n// but instead, it is returning `ltr` or `rtl`.\n/**\n * @hidden\n */\nexport function useRtl(elementRef, initialDir, args) {\n // Dir prop is read only on initial rendering due to specifics of getComputedStyles - see below\n var _a = React.useState(initialDir), dir = _a[0], setDir = _a[1];\n React.useEffect(function () {\n if (!dir && window && elementRef.current) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(elementRef.current).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n setDir(rtlCandidate);\n }\n }\n }, args);\n return dir;\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n// Gets and sets the children. Returns the children or the re-created item with the new children.\nfunction children(item, subItemsField, subItems) {\n var _a;\n if (subItems) {\n return __assign(__assign({}, item), (_a = {}, _a[subItemsField] = subItems.length ? __spreadArray([], subItems, true) : undefined, _a));\n }\n else {\n return item && item[subItemsField] ? __spreadArray([], item[subItemsField], true) : [];\n }\n}\nfunction mapItem(dataItem, subItemsField, callbackfn) {\n if (dataItem[subItemsField]) {\n var subItems = children(dataItem, subItemsField).map(function (child) { return mapItem(child, subItemsField, callbackfn); });\n return callbackfn(children(dataItem, subItemsField, subItems));\n }\n return callbackfn(dataItem);\n}\n/**\n * Creates a new array with the results of calling the provided callback function\n * on every element in the provided data tree.\n *\n * @param {any[]} tree - The data tree.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {(value: any) => any} callback - The callback function.\n * @returns {any[]} - The new data tree.\n */\nexport var mapTree = function (tree, subItemsField, callback) {\n return __spreadArray([], tree.map(function (item) { return mapItem(item, subItemsField, callback); }), true);\n};\n/**\n * Creates a new array with the results of calling the provided callback function\n * on the element which match the `level` in the provided data tree.\n *\n * @param {any[]} tree - The data tree.\n * @param {number[]} level - An array of indexes of each parent and current item in the data tree.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {(value: any) => any} callback - The callback function.\n * @returns {any[]} - The new data tree.\n */\nexport var mapTreeItem = function (tree, level, subItemsField, callback) {\n var curData = tree;\n var parentNodes = [];\n for (var i = 0; i < level.length; i++) {\n curData = curData[level[i]];\n curData = Array.isArray(curData) ? curData : curData[subItemsField];\n parentNodes.push(curData);\n }\n var parent = parentNodes.length > 1 ? parentNodes[parentNodes.length - 2] : tree;\n var newItemIndex = level[level.length - 1];\n var newItem = callback(parent[newItemIndex]);\n parent.splice(newItemIndex, 1, newItem);\n};\n/**\n * Similar to the `Object.assign` function. Additionally, creates a new array for the subitems.\n *\n * @param {object} item - The source data item.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {object} propsToExtend - The props with which the source data item will be extended.\n * @returns {object} - The target data item.\n */\nexport var extendDataItem = function (item, subItemsField, propsToExtend) {\n var _a;\n return Object.assign({}, item, item[subItemsField] ? (_a = {}, _a[subItemsField] = item[subItemsField].slice(), _a) : {}, propsToExtend || {});\n};\n/**\n * Returns the data item path in the tree based on the level parameter.\n *\n * @param {any[]} tree - The data tree.\n * @param {number[]} level - The level of the target tree item.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @returns {any[]} - The path of the data item.\n */\nexport var getItemPath = function (tree, level, subItemsField) {\n var nodes = [];\n var itemLevel = __spreadArray([], level, true);\n if (itemLevel.length) {\n var element = tree[itemLevel.shift() || 0];\n nodes.push(element);\n while (itemLevel.length && subItemsField) {\n element = element[subItemsField][itemLevel.shift() || 0];\n nodes.push(element);\n }\n }\n return nodes;\n};\n","/** @hidden */\nexport var kendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n }\n};\n","/* eslint-disable no-bitwise */\n/**\n * @hidden\n */\nexport var guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\n","/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = {};\n var addLeafKeys = function (arg) { return typeof arg === 'object' ? Object\n .keys(arg)\n .forEach(function (key) {\n result[key] = arg[key];\n }) : result[arg] = true; };\n ;\n var addKeys = function (list) { return list\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg) ?\n addKeys(arg) :\n addLeafKeys(arg);\n }); };\n ;\n addKeys(args);\n return Object\n .keys(result)\n .map(function (key) { return (result[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ');\n};\n","/**\n * @hidden\n */\nexport var Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\n","/**\n * @hidden\n * Dispatches a new event based on an event that was already internally dispatched to KendoReact users.\n *\n * @param eventHandler - The public event handler that is assigned by the user.\n * When undefined, the method is not an option.\n * @param dispatchedEvent - The event that was already dispatched internally.\n * @param target - The target component of the new event.\n * @param eventData - The additional data that will be passed through the new event.\n * When the new event has no additional data\n * other than the `BaseEvent` arguments, pass `undefined`.\n */\nexport function dispatchEvent(eventHandler, dispatchedEvent, target, eventData) {\n if (eventHandler) {\n var eventBaseData = {\n syntheticEvent: dispatchedEvent,\n nativeEvent: dispatchedEvent.nativeEvent,\n target: target\n };\n eventHandler.call(undefined, Object.assign(eventBaseData, eventData));\n }\n}\n","/**\n * @hidden\n */\nexport var EMPTY_ID = '';\n/**\n * @hidden\n */\nexport var ZERO_LEVEL_ZERO_NODE_ID = '0';\n/**\n * @hidden\n */\nexport var SEPARATOR = '_';\n/**\n * @hidden\n */\nexport function getItemById(itemId, items, childrenField) {\n if (isIdZeroLevel(itemId)) {\n return items[Number(itemId)];\n }\n else {\n var rootParentItem = items[Number(getRootParentId(itemId))];\n var subItems = (rootParentItem && rootParentItem[childrenField]) || [];\n return subItems.length ?\n getItemById(getIdWithoutRootParentId(itemId), subItems, childrenField) : undefined;\n }\n}\n/**\n * @hidden\n */\nexport function getRootParentId(itemId) {\n return isIdEmptyOrZeroLevel(itemId) ? itemId : itemId.split(SEPARATOR)[0];\n}\n/**\n * @hidden\n */\nexport function getIdWithoutRootParentId(itemId) {\n if (isIdEmptyOrZeroLevel(itemId)) {\n return itemId;\n }\n else {\n var firstSeparatorIndex = itemId.indexOf(SEPARATOR);\n return itemId.substring(firstSeparatorIndex + 1);\n }\n}\n/**\n * @hidden\n */\nexport function getFirstChildId(itemId) {\n return createId('0', itemId);\n}\n/**\n * @hidden\n */\nexport function createId(childId, parentId) {\n childId = childId.toString();\n return parentId ? parentId + SEPARATOR + childId : childId;\n}\n/**\n * @hidden\n */\nexport function getDirectParentId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? EMPTY_ID : itemId.substring(0, lastSeparatorIndex);\n}\n/**\n * @hidden\n */\nexport function isIdEmptyOrZeroLevel(itemId) {\n return itemId === EMPTY_ID || itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdZeroLevel(itemId) {\n return itemId !== EMPTY_ID && itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function getAllShortIds(itemId) {\n return itemId.split(SEPARATOR);\n}\n/**\n * @hidden\n */\nexport function getShortId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? itemId : itemId.substring(lastSeparatorIndex + 1);\n}\n/**\n * @hidden\n */\nexport function isItemFirstFromSiblings(itemId) {\n return getShortId(itemId) === ZERO_LEVEL_ZERO_NODE_ID;\n}\n/**\n * @hidden\n */\nexport function getDecrementedItemIdAfterRemoval(removedItemId, itemId) {\n var preservedItemId = itemId;\n removedItemId = 'r' + SEPARATOR + removedItemId;\n itemId = 'r' + SEPARATOR + itemId;\n var itemSharedPath = getDirectParentId(removedItemId) + SEPARATOR;\n if (itemId.startsWith(itemSharedPath)) {\n var itemNotSharedPath = itemId.substring(itemSharedPath.length);\n if (itemNotSharedPath) {\n var siblingShortId = getRootParentId(itemNotSharedPath);\n if (Number(getShortId(removedItemId)) < Number(siblingShortId)) {\n var decrementedId = itemSharedPath +\n (Number(siblingShortId) - 1).toString() +\n itemNotSharedPath.substring(siblingShortId.length);\n return getIdWithoutRootParentId(decrementedId);\n }\n }\n }\n return preservedItemId;\n}\n","var PROPS_COUNT_LIMIT = 50000;\n/**\n * @hidden\n */\n// An alternative is to use array.sort() and\n// implement a binary search function.\nvar SortedPublicItemIds = /** @class */ (function () {\n function SortedPublicItemIds() {\n this.objects = [];\n }\n SortedPublicItemIds.prototype.init = function (publicItemIds) {\n var currentObj;\n for (var i = 0; i < publicItemIds.length; i++) {\n if (i % PROPS_COUNT_LIMIT === 0) {\n currentObj = {};\n this.objects.push(currentObj);\n }\n currentObj[publicItemIds[i]] = true;\n }\n };\n SortedPublicItemIds.prototype.hasId = function (publicItemId) {\n return this.objects.some(function (obj) { return obj[publicItemId]; });\n };\n return SortedPublicItemIds;\n}());\nexport default SortedPublicItemIds;\n","/**\n * @hidden\n */\nexport function getNestedValue(fieldName, dataItem) {\n var path = (fieldName || '').split('.');\n var data = dataItem;\n path.forEach(function (p) {\n data = data ? data[p] : undefined;\n });\n return data;\n}\n/**\n * @hidden\n */\nexport function isArray(operation) {\n return operation.length !== undefined;\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { EMPTY_ID, isIdZeroLevel, createId, getRootParentId, getIdWithoutRootParentId, getAllShortIds } from './itemIdUtils';\nimport SortedPublicItemIds from './SortedPublicItemIds';\nimport { getNestedValue } from './misc';\n/**\n * @hidden\n */\nexport function hasChildren(item, childrenField) {\n var children = getNestedValue(childrenField, item);\n return Boolean(children && children.length);\n}\n/**\n * @hidden\n */\nexport function isItemExpandedAndWithChildren(item, fieldsSvc) {\n return fieldsSvc.expanded(item) && hasChildren(item, fieldsSvc.getChildrenField());\n}\n/**\n * @hidden\n */\nexport function resolveItemId(publicId, idField, items, childrenField) {\n var resolvedIds = resolveItemsIds([publicId], idField, items, childrenField);\n return resolvedIds.length ? resolvedIds[0] : undefined;\n}\n/**\n * @hidden\n */\nexport function resolveItemsIds(publicIds, idField, items, childrenField) {\n var result = [];\n var sortedIds = new SortedPublicItemIds();\n sortedIds.init(publicIds);\n resolveItemsIdsHelper(sortedIds, idField, items, EMPTY_ID, result, childrenField);\n return result;\n}\n/**\n * @hidden\n */\nexport function updateItem(items, itemId, update, cloneField, childrenField) {\n var _a;\n var itemIndex = Number(getRootParentId(itemId));\n if (itemIndex >= items.length) {\n return items;\n }\n var result = items;\n var item = items[itemIndex];\n // Clone the item before updating it.\n if (!item[cloneField]) {\n result = items.slice();\n item = result[itemIndex] = Object.assign({}, item, (_a = {}, _a[cloneField] = true, _a));\n }\n // Directly update the item.\n if (isIdZeroLevel(itemId)) {\n update(item);\n }\n else if (item[childrenField]) {\n item[childrenField] = updateItem(item[childrenField], getIdWithoutRootParentId(itemId), update, cloneField, childrenField);\n }\n return result;\n}\n/**\n * @hidden\n */\nexport function isEnabledAndAllParentsEnabled(itemId, items, fieldsSvc) {\n var ids = getAllShortIds(itemId);\n var currentItems = items;\n for (var i = 0; i < ids.length; i++) {\n var currentItem = currentItems[Number(ids[i])];\n if (fieldsSvc.disabled(currentItem)) {\n return false;\n }\n else {\n currentItems = currentItem[fieldsSvc.getChildrenField()];\n }\n }\n return true;\n}\n/**\n * @hidden\n */\nexport function getAllDirectIndirectChildrenIds(item, itemId, childrenField, idField) {\n return idField ? getChildrenPublicIds(item) : getChildrenHierarchicalIndices(item, itemId);\n function getChildrenHierarchicalIndices(startItem, startItemId) {\n var result = [];\n var children = startItem[childrenField] || [];\n for (var i = 0; i < children.length; i++) {\n var id = createId(i, startItemId);\n result.push(id);\n result = result.concat(getChildrenHierarchicalIndices(children[i], id));\n }\n return result;\n }\n function getChildrenPublicIds(startItem) {\n var result = [];\n var children = startItem[childrenField] || [];\n for (var i = 0; i < children.length; i++) {\n result.push(getNestedValue(idField, children[i]));\n result = result.concat(getChildrenPublicIds(children[i]));\n }\n return result;\n }\n}\n/**\n * @hidden\n */\nexport function areAllDirectChildrenChecked(item, itemId, idField, childrenField, check) {\n var children = item[childrenField] || [];\n return children.every(function (child, index) {\n return check.indexOf(idField ? getNestedValue(idField, child) : createId(index, itemId)) > -1;\n });\n}\n/**\n * @hidden\n */\nexport function getAllParents(itemId, childrenField, items) {\n var result = [];\n var ids = getAllShortIds(itemId);\n var currentItems = items;\n for (var i = 0; i < ids.length - 1; i++) {\n if (!currentItems) {\n break;\n }\n var currentItem = currentItems[Number(ids[i])];\n result.push(currentItem);\n currentItems = currentItem[childrenField];\n }\n return result;\n}\n/**\n * @hidden\n */\nexport function removeItem(itemId, childrenField, items) {\n var result = items.slice();\n if (isIdZeroLevel(itemId)) {\n result.splice(Number(itemId), 1);\n }\n else {\n var rootParentIndex = Number(getRootParentId(itemId));\n var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);\n rootParent[childrenField] = removeItem(getIdWithoutRootParentId(itemId), childrenField, rootParent[childrenField]);\n }\n return result;\n}\n/**\n * @hidden\n */\nexport function addItem(item, operation, childrenField, targetItemId, items) {\n var result = items.slice();\n if (isIdZeroLevel(targetItemId)) {\n if (operation === 'child') {\n var targetItem = result[Number(targetItemId)] = __assign({}, result[Number(targetItemId)]);\n if (targetItem[childrenField]) {\n targetItem[childrenField] = targetItem[childrenField].slice();\n targetItem[childrenField].push(item);\n }\n else {\n targetItem[childrenField] = [item];\n }\n }\n else {\n result.splice(Number(targetItemId) + (operation === 'after' ? 1 : 0), 0, item);\n }\n }\n else {\n var rootParentIndex = Number(getRootParentId(targetItemId));\n var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);\n rootParent[childrenField] = addItem(item, operation, childrenField, getIdWithoutRootParentId(targetItemId), rootParent[childrenField]);\n }\n return result;\n}\nfunction resolveItemsIdsHelper(publicItemIds, idField, items, parentItemId, resolvedIds, childrenField) {\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n var id = createId(i, parentItemId);\n if (publicItemIds.hasId(getNestedValue(idField, item))) {\n resolvedIds.push(id);\n }\n if (hasChildren(item, childrenField)) {\n resolveItemsIdsHelper(publicItemIds, idField, getNestedValue(childrenField, item), id, resolvedIds, childrenField);\n }\n }\n}\n","import { Keys } from '@progress/kendo-react-common';\nimport * as idUtils from './itemIdUtils';\nimport { isItemExpandedAndWithChildren, isEnabledAndAllParentsEnabled } from './itemUtils';\n/**\n * @hidden\n */\nexport default function getItemIdUponKeyboardNavigation(item, itemId, items, keyCode, fieldsSvc) {\n switch (keyCode) {\n case Keys.left:\n return getIdUponLeftKey();\n case Keys.right:\n return getIdUponRightKey();\n case Keys.up:\n return getIdUponUpKey();\n case Keys.down:\n return getIdUponDownKey();\n case Keys.home:\n return idUtils.ZERO_LEVEL_ZERO_NODE_ID;\n case Keys.end:\n return getIdUponEndKey();\n default:\n return itemId;\n }\n function getIdUponLeftKey() {\n return idUtils.isIdZeroLevel(itemId)\n // For expanded disabled items, navigate directly to the parent.\n // Collapse cannot happen because an event is not fired to the client.\n || (fieldsSvc.expanded(item) && isEnabledAndAllParentsEnabled(itemId, items, fieldsSvc)) ?\n itemId : idUtils.getDirectParentId(itemId);\n }\n function getIdUponRightKey() {\n return isItemExpandedAndWithChildren(item, fieldsSvc) ? idUtils.getFirstChildId(itemId) : itemId;\n }\n function getIdUponUpKey() {\n var index = Number(idUtils.getShortId(itemId));\n var parentId = idUtils.getDirectParentId(itemId);\n return index ? getLastNotOpenedChildId(idUtils.createId(index - 1, parentId), items, fieldsSvc) :\n idUtils.isIdZeroLevel(itemId) ? itemId : parentId;\n }\n function getIdUponDownKey() {\n if (isItemExpandedAndWithChildren(item, fieldsSvc)) {\n return idUtils.getFirstChildId(itemId);\n }\n else {\n return getNextItemId(itemId, items, fieldsSvc) || itemId;\n }\n }\n function getIdUponEndKey() {\n var result = (items.length - 1).toString();\n var currentItem = items[items.length - 1];\n var children;\n while (isItemExpandedAndWithChildren(currentItem, fieldsSvc)) {\n children = currentItem[fieldsSvc.getChildrenField()];\n result = idUtils.createId(children.length - 1, result);\n currentItem = children[children.length - 1];\n }\n return result;\n }\n}\nfunction getNextItemId(itemId, items, fieldsSvc) {\n var parentId = idUtils.getDirectParentId(itemId);\n var parent = parentId ? idUtils.getItemById(parentId, items, fieldsSvc.getChildrenField()) : undefined;\n var siblings = parent ? parent[fieldsSvc.getChildrenField()] : items;\n var index = Number(idUtils.getShortId(itemId));\n return index < siblings.length - 1 ?\n idUtils.createId(index + 1, parentId) :\n parent ? getNextItemId(parentId, items, fieldsSvc) : undefined;\n}\nfunction getLastNotOpenedChildId(itemId, items, fieldsSvc) {\n var item = idUtils.getItemById(itemId, items, fieldsSvc.getChildrenField());\n if (isItemExpandedAndWithChildren(item, fieldsSvc)) {\n return getLastNotOpenedChildId(idUtils.createId(item[fieldsSvc.getChildrenField()].length - 1, itemId), items, fieldsSvc);\n }\n else {\n return itemId;\n }\n}\n","/**\n * @hidden\n */\nexport var noop = function () { };\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var useInheritedState = function (context, defaultValue) {\n var _a = React.useContext(context), contextValue = _a[0], contextSetter = _a[1];\n var _b = React.useState(defaultValue), localValue = _b[0], localSetter = _b[1];\n var value = contextValue !== undefined ? contextValue : localValue;\n var handleValueChange = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n contextValue !== undefined\n ? contextSetter.apply(void 0, args) : localSetter(args[0]);\n };\n return [\n value,\n handleValueChange\n ];\n};\n","import * as React from 'react';\nimport { noop } from '../../noop';\n/**\n * @hidden\n */\nexport var DragContext = React.createContext([\n undefined,\n noop\n]);\n/**\n * @hidden\n */\nexport var DropContext = React.createContext([\n undefined,\n noop\n]);\n/**\n * @hidden\n */\nexport var DragsContext = React.createContext([[], noop, noop]);\n/**\n * @hidden\n */\nexport var DropsContext = React.createContext([[], noop, noop]);\n","import * as React from 'react';\nimport { useDraggable } from './hooks';\n/**\n * Represents the KendoReact Draggable component.\n *\n * Accepts properties of type [DraggableProps]({% slug api_common_draggableprops %}),\n * and returns an object of type [DraggableHandle]({% slug api_common_draggablehandle %}) when the `ref` is obtained.\n */\nexport var Draggable = React.forwardRef(function (props, ref) {\n var childRef = React.useRef(null);\n var target = React.useRef(null);\n var getElement = React.useCallback(function () { return childRef.current && childRef.current.element\n ? childRef.current.element\n : childRef.current; }, [childRef]);\n React.useImperativeHandle(target, function () { return ({ element: getElement() || null }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n React.useImperativeHandle(props.childRef, function () { return childRef.current; });\n var handlePress = React.useCallback(function (event) {\n if (!props.onPress) {\n return;\n }\n props.onPress({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onPress]);\n var handleRelease = React.useCallback(function (event) {\n if (!props.onRelease) {\n return;\n }\n props.onRelease({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onRelease]);\n var handleDragStart = React.useCallback(function (event) {\n if (!props.onDragStart) {\n return;\n }\n props.onDragStart({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [props, getElement]);\n var handleDrag = React.useCallback(function (event) {\n if (!props.onDrag) {\n return;\n }\n props.onDrag({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onDrag]);\n var handleDragEnd = React.useCallback(function (event) {\n if (!props.onDragEnd) {\n return;\n }\n props.onDragEnd({\n element: getElement(),\n target: target.current,\n event: event\n });\n }, [getElement, props.onDragEnd]);\n useDraggable(childRef, {\n onPress: handlePress,\n onRelease: handleRelease,\n onDragStart: handleDragStart,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd\n }, {\n mouseOnly: props.mouseOnly,\n autoScroll: props.autoScroll,\n hint: props.hint,\n scrollContainer: props.scrollContainer\n });\n return props.children\n ? (React.cloneElement(React.Children.only(props.children), { ref: childRef }))\n : null;\n});\nDraggable.displayName = 'KendoReactDraggable';\n","import * as React from 'react';\nimport { dispatchDragAndDrop, autoScroll as autoScrollElement, getScrollableParent } from '@progress/kendo-draggable-common';\nimport { noop } from '../noop';\nimport { useInheritedState } from '../hooks/useInheritedState';\nimport { DragContext, DropContext, DragsContext, DropsContext } from '../drag-n-drop/context';\nvar IGNORE_MOUSE_TIMEOUT = 2000;\n/**\n * Represents the KendoReact `useDraggable` hook.\n * Use it to attach `drag` events to a native HTML DOM elements, or custom React Components.\n *\n * For more information, refer to the [KendoReact Draggable]({% slug draggable_drag-and-drop %}) article.\n *\n * @param ref - The `ref` of the HTML Element or React Component which will enable the `draggable` functionality.\n * @param callbacks - A collection of callbacks, called by the `useDraggable` hook when a specific action occurs.\n * @param options - Additional configuration of the `useDraggable` hook.\n */\nexport function useDraggable(ref, callbacks, options) {\n if (options === void 0) { options = {}; }\n var _a = callbacks.onPress, onPress = _a === void 0 ? noop : _a, _b = callbacks.onRelease, onRelease = _b === void 0 ? noop : _b, _c = callbacks.onDragStart, onDragStart = _c === void 0 ? noop : _c, _d = callbacks.onDrag, onDrag = _d === void 0 ? noop : _d, _e = callbacks.onDragEnd, onDragEnd = _e === void 0 ? noop : _e;\n var _f = options.hint, hint = _f === void 0 ? null : _f, _g = options.mouseOnly, mouseOnly = _g === void 0 ? false : _g, _h = options.autoScroll, autoScroll = _h === void 0 ? true : _h, _j = options.scrollContainer, scrollContainer = _j === void 0 ? null : _j;\n var _k = React.useState(false), pressed = _k[0], setPressed = _k[1];\n var _l = React.useState(false), scrolling = _l[0], setScrolling = _l[1];\n var drop = useInheritedState(DropContext)[0];\n var _m = useInheritedState(DragContext), drag = _m[0], setDrag = _m[1];\n var drops = React.useContext(DropsContext)[0];\n var _o = React.useContext(DragsContext), drags = _o[0], registerDrag = _o[1], deregisterDrag = _o[2];\n var velocity = React.useRef({ x: 0, y: 0 });\n var scrollInterval = React.useRef();\n var ignoreMouse = React.useRef(false);\n var restoreMouseTimeout = React.useRef();\n var scrollable = React.useRef(null);\n var unmount = React.useRef(false);\n var offset = React.useRef({ x: 0, y: 0 });\n var pageOffset = React.useRef({ x: 0, y: 0 });\n var clientOffset = React.useRef({ x: 0, y: 0 });\n var initialClientOffset = React.useRef({ x: 0, y: 0 });\n var scrollOffset = React.useRef({ x: 0, y: 0 });\n var initialScrollOffset = React.useRef({ x: 0, y: 0 });\n var supportPointerEvent = Boolean((typeof window !== 'undefined') && window.PointerEvent);\n var pointers = !mouseOnly && supportPointerEvent;\n var getElement = React.useCallback(function () { return ref.current && ref.current.element\n ? ref.current.element\n : ref.current; }, [ref]);\n var getHintElement = React.useCallback(function () { return hint && hint.current && hint.current.element\n ? hint.current.element\n : hint\n ? hint.current\n : null; }, [hint]);\n var getScrollContainer = React.useCallback(function () { return scrollContainer && scrollContainer.current && scrollContainer.current.element\n ? scrollContainer.current.element\n : scrollContainer\n ? scrollContainer.current\n : null; }, [scrollContainer]);\n var getAutoScrollContainer = React.useCallback(function () { return typeof autoScroll === 'object' && autoScroll.boundaryElementRef\n && autoScroll.boundaryElementRef.current && autoScroll.boundaryElementRef.current.element\n ? autoScroll.boundaryElementRef.current.element\n : typeof autoScroll === 'object' && autoScroll.boundaryElementRef && autoScroll.boundaryElementRef.current\n ? autoScroll.boundaryElementRef.current\n : null; }, [autoScroll]);\n var target = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: getElement(),\n hint: getHintElement(),\n onPress: handlePress,\n onDragStart: handleDragStart,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n onRelease: handleRelease,\n data: ref.current\n }); });\n var getDocument = React.useCallback(function () {\n var element = getElement();\n return element ? element.ownerDocument || document : document;\n }, [getElement]);\n var getWindow = React.useCallback(function () {\n var document = getDocument();\n return document\n ? document.defaultView || window\n : window;\n }, [getDocument]);\n var getState = React.useCallback(function () { return ({\n drag: drag ? drag.current : null,\n drop: drop ? drop.current : null,\n drags: drags.map(function (d) { return d.current; }),\n drops: drops.map(function (d) { return d.current; }),\n pressed: pressed,\n ignoreMouse: ignoreMouse.current,\n scrollOffset: scrollOffset.current,\n offset: offset.current,\n pageOffset: pageOffset.current,\n initialScrollOffset: initialScrollOffset.current,\n clientOffset: clientOffset.current,\n initialClientOffset: initialClientOffset.current,\n velocity: velocity.current,\n autoScroll: Boolean(typeof autoScroll === 'object' ? autoScroll.enabled !== false : autoScroll),\n scrollableParent: getAutoScrollContainer(),\n autoScrollDirection: typeof autoScroll === 'object' ? autoScroll.direction : { horizontal: true, vertical: true },\n isScrolling: scrolling\n }); }, [drag, drop, drags, drops, pressed, autoScroll, getAutoScrollContainer, scrolling]);\n var handlePressedChange = React.useCallback(function (value) {\n setPressed(value);\n }, []);\n var handleScrollingChange = React.useCallback(function (value) {\n setScrolling(value);\n }, []);\n var handleVelocityChange = React.useCallback(function (value) {\n velocity.current = value;\n }, []);\n var handleOffsetChange = React.useCallback(function (value) {\n offset.current = value;\n }, []);\n var handleClientOffsetChange = React.useCallback(function (value) {\n clientOffset.current = value;\n }, []);\n var handlePageOffsetChange = React.useCallback(function (value) {\n pageOffset.current = value;\n }, []);\n var handleInitialClientOffsetChange = React.useCallback(function (value) {\n initialClientOffset.current = value;\n }, []);\n var handleScrollOffsetChange = React.useCallback(function (value) {\n scrollOffset.current = value;\n }, []);\n var handleInitialScrollOffsetChange = React.useCallback(function (value) {\n initialScrollOffset.current = value;\n }, []);\n // Drag Events\n var handlePress = React.useCallback(function (event) {\n onPress(event);\n }, [onPress]);\n var handleRelease = React.useCallback(function (event) {\n onRelease(event);\n }, [onRelease]);\n var handleDragStart = React.useCallback(function (event) {\n setDrag(target, { target: ref.current, event: event });\n onDragStart(event);\n }, [setDrag, ref, onDragStart]);\n var handleDrag = React.useCallback(function (event) {\n onDrag(event);\n }, [onDrag]);\n var handleDragEnd = React.useCallback(function (event) {\n if (unmount.current) {\n return;\n }\n setDrag(null, { target: ref.current, event: event });\n onDragEnd(event);\n }, [onDragEnd, setDrag, ref]);\n var dispatchDragEvent = React.useCallback(function (event) {\n dispatchDragAndDrop(getState(), { event: event, payload: target.current }, {\n onVelocityChange: handleVelocityChange,\n onOffsetChange: handleOffsetChange,\n onClientOffsetChange: handleClientOffsetChange,\n onPageOffsetChange: handlePageOffsetChange,\n onInitialClientOffsetChange: handleInitialClientOffsetChange,\n onScrollOffsetChange: handleScrollOffsetChange,\n onInitialScrollOffsetChange: handleInitialScrollOffsetChange,\n onIsPressedChange: handlePressedChange,\n onIsScrollingChange: handleScrollingChange\n });\n }, [\n getState,\n handleVelocityChange,\n handleOffsetChange,\n handlePageOffsetChange,\n handleClientOffsetChange,\n handleInitialClientOffsetChange,\n handleInitialScrollOffsetChange,\n handlePressedChange,\n handleScrollOffsetChange,\n handleScrollingChange\n ]);\n // Pointer Events\n var handlePointerDown = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handlePointerMove = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handlePointerCancel = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handlePointerUp = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n // Mouse Events\n var handleMouseDown = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleMouseMove = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleMouseUp = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleContextMenu = React.useCallback(function (event) {\n event.preventDefault();\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n // Touch Events\n var handleTouchStart = React.useCallback(function (event) {\n event.preventDefault();\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleTouchMove = React.useCallback(function (event) {\n event.preventDefault();\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n var handleTouchEnd = React.useCallback(function (event) {\n if (event.touches.length === 0 && event.changedTouches.length === 1) {\n var currentWindow = getWindow();\n ignoreMouse.current = true;\n restoreMouseTimeout.current = currentWindow.setTimeout(function () { ignoreMouse.current = false; }, IGNORE_MOUSE_TIMEOUT);\n }\n dispatchDragEvent(event);\n }, [dispatchDragEvent, getWindow]);\n var handleScroll = React.useCallback(function (event) {\n dispatchDragEvent(event);\n }, [dispatchDragEvent]);\n // Misc\n var prerequisites = React.useCallback(function () {\n var element = getElement();\n if (element) {\n var initialTouchAction_1 = element.style.touchAction;\n element.style.touchAction = 'none';\n return function () {\n element.style.touchAction = initialTouchAction_1;\n };\n }\n }, [getElement]);\n var register = React.useCallback(function () {\n registerDrag(target);\n return function () {\n deregisterDrag(target);\n };\n }, [deregisterDrag, registerDrag]);\n var init = function () {\n var window = getWindow();\n var element = getElement();\n var document = getDocument();\n if (pointers) {\n if (element) {\n scrollable.current = getScrollableParent(element);\n if (scrollable.current) {\n scrollable.current.addEventListener('scroll', handleScroll, { passive: true });\n }\n element.addEventListener('pointerdown', handlePointerDown, { passive: true });\n }\n if (pressed) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, true);\n document.addEventListener('contextmenu', handleContextMenu);\n document.addEventListener('pointercancel', handlePointerCancel, { passive: true });\n }\n }\n else {\n // Hacky-hacky iOS Safari\n window.addEventListener('touchmove', noop, { capture: false, passive: false });\n if (element) {\n element.addEventListener('mousedown', handleMouseDown, { passive: true });\n if (!mouseOnly) {\n element.addEventListener('touchstart', handleTouchStart, { passive: true });\n if (pressed) {\n element.addEventListener('touchmove', handleTouchMove, { passive: true });\n element.addEventListener('touchend', handleTouchEnd, { passive: true });\n }\n }\n }\n if (pressed) {\n document.addEventListener('mousemove', handleMouseMove, { passive: true });\n document.addEventListener('mouseup', handleMouseUp, { passive: true });\n }\n }\n return function () {\n if (scrollable.current) {\n scrollable.current.removeEventListener('scroll', handleScroll);\n }\n if (element) {\n element.removeEventListener('pointerdown', handlePointerDown);\n element.removeEventListener('mousedown', handleMouseDown);\n element.removeEventListener('touchstart', handleTouchStart);\n element.removeEventListener('touchmove', handleTouchMove);\n element.removeEventListener('touchend', handleTouchEnd);\n }\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, true);\n document.removeEventListener('contextmenu', handleContextMenu);\n document.removeEventListener('pointercancel', handlePointerCancel);\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n window.removeEventListener('touchmove', noop);\n window.clearTimeout(restoreMouseTimeout.current);\n };\n };\n React.useEffect(function () {\n var window = getWindow();\n if (scrolling) {\n var scrollableParent_1 = getScrollContainer()\n || getScrollableParent(document.elementFromPoint(clientOffset.current.x, clientOffset.current.y));\n window.clearInterval(scrollInterval.current);\n scrollInterval.current = window.setInterval(function () {\n autoScrollElement(scrollableParent_1, { x: velocity.current.x, y: velocity.current.y });\n }, 50);\n }\n return function () {\n window.clearInterval(scrollInterval.current);\n };\n }, [getElement, getScrollContainer, getWindow, scrolling]);\n React.useEffect(prerequisites, [prerequisites]);\n React.useEffect(init, [\n pressed,\n getWindow,\n getElement,\n getDocument,\n mouseOnly,\n pointers,\n handleContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseUp,\n handlePointerCancel,\n handlePointerDown,\n handlePointerMove,\n handlePointerUp,\n handleTouchEnd,\n handleTouchMove,\n handleTouchStart,\n handleScroll\n ]);\n React.useEffect(function () {\n unmount.current = false;\n return function () {\n unmount.current = true;\n };\n }, []);\n React.useLayoutEffect(register, [register]);\n}\n","/**\n * @hidden\n */\nexport var SIZE_CLASSES = {\n 'default': '',\n 'xsmall': 'k-icon-xs',\n 'small': 'k-icon-sm',\n 'medium': 'k-icon-md',\n 'large': 'k-icon-lg',\n 'xlarge': 'k-icon-xl',\n 'xxlarge': 'k-icon-xxl',\n 'xxxlarge': 'k-icon-xxxl'\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\nimport { toIconClass, useMouse } from '../main';\n/**\n * Represents the [KendoReact Icon component]({% slug overview_icon %}).\n *\n * @example\n * ```jsx\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var Icon = React.forwardRef(function (props, ref) {\n var className = props.className, name = props.name, themeColor = props.themeColor, size = props.size, flip = props.flip, style = props.style, id = props.id, tabIndex = props.tabIndex, others = __rest(props, [\"className\", \"name\", \"themeColor\", \"size\", \"flip\", \"style\", \"id\", \"tabIndex\"]);\n var target = React.useRef(null);\n var elementRef = React.useRef(null);\n React.useImperativeHandle(target, function () { return ({\n element: elementRef.current\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n var fontClassNames = React.useMemo(function () {\n var _a;\n return classNames('k-icon', name && toIconClass(name), (_a = {},\n _a[\"k-color-\".concat(themeColor)] = themeColor,\n _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n _a), SIZE_CLASSES[sizeProp], className);\n }, [name, themeColor, sizeProp, flipProp, className]);\n var mouseProps = useMouse(props, target);\n return (React.createElement(\"span\", __assign({ ref: elementRef }, others, mouseProps, { className: fontClassNames, id: id, tabIndex: tabIndex, style: style, role: \"presentation\" })));\n});\nIcon.propTypes = {\n style: PropTypes.object,\n classNames: PropTypes.string,\n name: PropTypes.string,\n themeColor: PropTypes.oneOf([\n 'inherit', 'primary', 'secondary', 'tertiary',\n 'info', 'success', 'error', 'warning',\n 'dark', 'light', 'inverse'\n ]),\n size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n size: 'default',\n flip: 'default'\n};\nIcon.displayName = 'KendoIcon';\n","import * as PropTypes from 'prop-types';\n/**\n * @hidden\n */\nexport var toIconName = function (iconClass) { return iconClass.replace(/^k-i-/, ''); };\n/**\n * @hidden\n */\nexport var toIconClass = function (name) { return 'k-i-' + name; };\n/**\n * @hidden\n */\nexport var svgIconPropType = PropTypes.shape({\n name: PropTypes.string.isRequired,\n content: PropTypes.string.isRequired,\n viewBox: PropTypes.string.isRequired\n});\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var useMouse = function (props, target, extend) {\n if (extend === void 0) { extend = {}; }\n var handleMouseDown = React.useCallback(function (event) {\n if (extend.onMouseDown) {\n extend.onMouseDown.call(undefined, event);\n }\n if (props.onMouseDown) {\n props.onMouseDown.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseDown, props.onMouseDown, target]);\n var handleMouseUp = React.useCallback(function (event) {\n if (extend.onMouseUp) {\n extend.onMouseUp.call(undefined, event);\n }\n if (props.onMouseUp) {\n props.onMouseUp.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseUp, props.onMouseUp, target]);\n var handleClick = React.useCallback(function (event) {\n if (extend.onClick) {\n extend.onClick.call(undefined, event);\n }\n if (props.onClick) {\n props.onClick.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onClick, props.onClick, target]);\n var handleDoubleClick = React.useCallback(function (event) {\n if (extend.onDoubleClick) {\n extend.onDoubleClick.call(undefined, event);\n }\n if (props.onDoubleClick) {\n props.onDoubleClick.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onDoubleClick, props.onDoubleClick, target]);\n var handleMouseEnter = React.useCallback(function (event) {\n if (extend.onMouseEnter) {\n extend.onMouseEnter.call(undefined, event);\n }\n if (props.onMouseEnter) {\n props.onMouseEnter.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseEnter, props.onMouseEnter, target]);\n var handleMouseLeave = React.useCallback(function (event) {\n if (extend.onMouseLeave) {\n extend.onMouseLeave.call(undefined, event);\n }\n if (props.onMouseLeave) {\n props.onMouseLeave.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseLeave, props.onMouseLeave, target]);\n var handelMouseMove = React.useCallback(function (event) {\n if (extend.onMouseMove) {\n extend.onMouseMove.call(undefined, event);\n }\n if (props.onMouseMove) {\n props.onMouseMove.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseMove, props.onMouseMove, target]);\n var handleMouseOut = React.useCallback(function (event) {\n if (extend.onMouseOut) {\n extend.onMouseOut.call(undefined, event);\n }\n if (props.onMouseOut) {\n props.onMouseOut.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseOut, props.onMouseOut, target]);\n var handleMouseOver = React.useCallback(function (event) {\n if (extend.onMouseOver) {\n extend.onMouseOver.call(undefined, event);\n }\n if (props.onMouseOver) {\n props.onMouseOver.call(undefined, {\n target: target.current,\n syntheticEvent: event\n });\n }\n }, [extend.onMouseOver, props.onMouseOver, target]);\n return {\n onClick: handleClick,\n onMouseUp: handleMouseUp,\n onMouseDown: handleMouseDown,\n onDoubleClick: handleDoubleClick,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onMouseMove: handelMouseMove,\n onMouseOut: handleMouseOut,\n onMouseOver: handleMouseOver\n };\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames } from '../classNames';\nimport { SIZE_CLASSES } from './constants';\n/**\n * Represents the [KendoReact SvgIcon component]({% slug overview_svgicon %}).\n *\n * @example\n * ```jsx\n * import { accessibility } from '@progress/kendo-svg-icons';\n *\n * const App = () => {\n * return (\n * \n * );\n * };\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nexport var SvgIcon = React.forwardRef(function (props, ref) {\n var children = props.children, className = props.className, svgClassName = props.svgClassName, icon = props.icon, flip = props.flip, id = props.id, tabIndex = props.tabIndex, size = props.size, style = props.style, svgStyle = props.svgStyle, themeColor = props.themeColor, viewBox = props.viewBox, name = props.name, others = __rest(props, [\"children\", \"className\", \"svgClassName\", \"icon\", \"flip\", \"id\", \"tabIndex\", \"size\", \"style\", \"svgStyle\", \"themeColor\", \"viewBox\", \"name\"]);\n var elementRef = React.useRef(null);\n React.useImperativeHandle(ref, function () { return ({\n element: elementRef.current\n }); });\n var iconNameProp = React.useMemo(function () { return icon ? icon.name : defaultProps.icon; }, [icon]);\n var sizeProp = React.useMemo(function () { return size || defaultProps.size; }, [size]);\n var flipProp = React.useMemo(function () { return flip || defaultProps.flip; }, [flip]);\n var viewBoxProp = React.useMemo(function () { return viewBox || defaultProps.viewBox; }, [viewBox]);\n var elementClassNames = React.useMemo(function () {\n var _a;\n return classNames('k-svg-icon', 'k-svg-i-' + iconNameProp, (_a = {},\n _a[\"k-color-\".concat(themeColor)] = themeColor,\n _a['k-flip-h'] = flipProp === 'horizontal' || flipProp === 'both',\n _a['k-flip-v'] = flipProp === 'vertical' || flipProp === 'both',\n _a), SIZE_CLASSES[sizeProp], className);\n }, [iconNameProp, themeColor, sizeProp, flipProp, className]);\n var elementStyle = React.useMemo(function () {\n if (props.width && props.height) {\n return __assign({ width: props.width, height: props.height }, style);\n }\n else if (props.width) {\n return __assign({ width: props.width, height: props.width }, style);\n }\n else if (props.height) {\n return __assign({ width: props.height, height: props.height }, style);\n }\n else {\n return __assign({}, style);\n }\n }, [props.width, props.height, style]);\n return (React.createElement(\"span\", { className: elementClassNames, style: elementStyle, ref: elementRef },\n React.createElement(\"svg\", __assign({ id: id, className: svgClassName, style: svgStyle, \"aria-hidden\": true, tabIndex: tabIndex, focusable: false, xmlns: \"http://www.w3.org/2000/svg\", viewBox: icon ? icon.viewBox : viewBoxProp, dangerouslySetInnerHTML: icon ? { __html: icon.content } : undefined }, others), icon ? undefined : children)));\n});\nSvgIcon.propTypes = {\n style: PropTypes.object,\n classNames: PropTypes.string,\n children: PropTypes.any,\n icon: PropTypes.object,\n themeColor: PropTypes.oneOf([\n 'inherit', 'primary', 'secondary', 'tertiary',\n 'info', 'success', 'error', 'warning',\n 'dark', 'light', 'inverse'\n ]),\n size: PropTypes.oneOf(['default', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'xxlarge', 'xxxlarge']),\n flip: PropTypes.oneOf(['default', 'horizontal', 'vertical', 'both'])\n};\nvar defaultProps = {\n size: 'default',\n flip: 'default',\n icon: '',\n viewBox: '0 0 24 24'\n};\nSvgIcon.displayName = 'KendoSvgIcon';\n","import * as React from 'react';\n;\n/**\n * Represents a React Context which provides you with the option to configure the KendoReact components icons.\n */\nexport var IconsContext = React.createContext({ type: 'svg' });\nIconsContext.displayName = 'KendoReactIconsContext';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { Icon } from './Icon';\nimport { SvgIcon } from './SvgIcon';\nimport { IconsContext } from './IconsContext';\n/**\n * @hidden\n */\nexport var IconWrap = React.forwardRef(function (props, ref) {\n var _a;\n var _b = React.useContext(IconsContext), type = _b.type, icons = _b.icons;\n var icon = props.icon, fontIconProps = __rest(props, [\"icon\"]);\n var name = ((_a = props.icon) === null || _a === void 0 ? void 0 : _a.name) || props.name;\n var svg = (name && icons && icons[name] && typeof icons[name] !== 'string') ? icons[name] : icon;\n name = (name && icons && icons[name] && typeof icons[name] === 'string') ? icons[name] : name;\n return (type === 'svg' && svg) ?\n React.createElement(SvgIcon, __assign({}, props, { icon: svg, ref: ref })) :\n React.createElement(Icon, __assign({}, fontIconProps, { name: name, ref: ref }));\n});\nIconWrap.displayName = 'KendoIconWrap';\n","/**\n * @hidden\n */\nexport var EXPAND_FIELD = 'expanded';\n/**\n * @hidden\n */\nexport var TEXT_FIELD = 'text';\n/**\n * @hidden\n */\nexport var DISABLED_FIELD = 'disabled';\n/**\n * @hidden\n */\nexport var CHILDREN_FIELD = 'items';\n/**\n * @hidden\n */\nexport var HAS_CHILDREN_FIELD = 'hasChildren';\n/**\n * @hidden\n */\nexport var SELECT_FIELD = 'selected';\n/**\n * @hidden\n */\nexport var CHECK_FIELD = 'checked';\n/**\n * @hidden\n */\nexport var CHECK_INDETERMINATE_FIELD = 'checkIndeterminate';\n/**\n * @hidden\n */\nexport var DOM_KENDO_ITEM_ID_FIELD = '_kendoItemId';\n/**\n * @hidden\n */\nexport var DOM_KENDO_TREEVIEW_GUID_FIELD = '_kendoTreeViewGuid';\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { classNames, guid, Draggable, kendoThemeMaps, IconWrap } from '@progress/kendo-react-common';\nimport { caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';\nimport { createId } from './utils/itemIdUtils';\nimport { isItemExpandedAndWithChildren, hasChildren } from './utils/itemUtils';\nimport { Reveal } from '@progress/kendo-react-animation';\nimport { DOM_KENDO_ITEM_ID_FIELD, DOM_KENDO_TREEVIEW_GUID_FIELD } from './utils/consts';\nvar sizeMap = kendoThemeMaps.sizeMap;\n/**\n * @hidden\n */\nexport var TreeViewItemPropsContext = React.createContext(function (props) { return props; });\n/**\n * @hidden\n */\nvar TreeViewItemWithoutContext = /** @class */ (function (_super) {\n __extends(TreeViewItemWithoutContext, _super);\n function TreeViewItemWithoutContext() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.itemGuid = guid();\n _this.onCheckChange = function (e) {\n _this.props.onCheckChange(e, _this.item, _this.itemId);\n };\n _this.onExpandChange = function (e) {\n _this.props.onExpandChange(e, _this.item, _this.itemId);\n };\n _this.onItemClick = function (e) {\n _this.props.onItemClick(e, _this.item, _this.itemId);\n };\n _this.onPress = function (e) {\n _this.props.onPress(e.event, _this.item, _this.itemId);\n };\n _this.onDrag = function (e) {\n _this.props.onDrag(e.event, _this.item, _this.itemId);\n };\n _this.onRelease = function (e) {\n _this.props.onRelease(e.event, _this.item, _this.itemId);\n };\n _this.assignDraggableMeta = function (element) {\n if (element) {\n element[DOM_KENDO_ITEM_ID_FIELD] = _this.props.itemId;\n element[DOM_KENDO_TREEVIEW_GUID_FIELD] = _this.props.treeGuid;\n }\n };\n return _this;\n }\n TreeViewItemWithoutContext.prototype.render = function () {\n var _this = this;\n var subitems = this.renderSubitemsIfApplicable();\n var itemInPart = this.renderItemInPart();\n return (React.createElement(\"li\", { className: classNames('k-treeview-item'), tabIndex: this.tabIndex, role: \"treeitem\", \"aria-expanded\": this.ariaExpanded, \"aria-selected\": this.ariaSelected, \"aria-checked\": this.ariaChecked, \"aria-disabled\": this.disabled ? true : undefined, ref: function (el) { return _this.itemElement = el; } },\n React.createElement(\"div\", { className: \"k-treeview-\".concat(this.props.position), ref: this.assignDraggableMeta },\n this.renderExpandIcon(),\n this.renderCheckbox(),\n this.props.draggable ?\n React.createElement(Draggable, { onPress: this.onPress, onDrag: this.onDrag, onRelease: this.onRelease }, itemInPart) : itemInPart),\n this.props.animate ?\n React.createElement(Reveal, { transitionEnterDuration: 200, transitionExitDuration: 200, style: { display: 'block' }, children: subitems }) : subitems));\n };\n TreeViewItemWithoutContext.prototype.componentDidMount = function () {\n var focusedItemId = this.props.focusedItemId;\n var currentItemId = this.itemId;\n if (focusedItemId && focusedItemId === currentItemId) {\n this.props.onFocusDomElNeeded(this.itemElement);\n }\n if (this.checkboxElement) {\n this.checkboxElement.indeterminate = this.fieldsSvc.checkIndeterminate(this.item);\n }\n };\n TreeViewItemWithoutContext.prototype.componentDidUpdate = function (prevProps) {\n var focusedItemId = this.props.focusedItemId;\n if (focusedItemId &&\n focusedItemId !== prevProps.focusedItemId &&\n focusedItemId === this.itemId) {\n this.props.onFocusDomElNeeded(this.itemElement);\n }\n if (this.checkboxElement) {\n var indeterminate = this.fieldsSvc.checkIndeterminate(this.item);\n if (indeterminate !== prevProps.fieldsService.checkIndeterminate(prevProps.item)) {\n this.checkboxElement.indeterminate = indeterminate;\n }\n }\n };\n TreeViewItemWithoutContext.prototype.renderCheckbox = function () {\n var _a;\n var _this = this;\n if (this.props.checkboxes) {\n var size = this.props.size;\n return (React.createElement(\"div\", { className: classNames('k-checkbox-wrap') },\n React.createElement(\"input\", { type: \"checkbox\", className: classNames('k-checkbox k-rounded-md', (_a = {},\n _a[\"k-checkbox-\".concat(sizeMap[size] || size)] = size,\n _a['k-disabled'] = this.disabled,\n _a)), \"aria-label\": this.item.text, checked: Boolean(this.fieldsSvc.checked(this.item)), id: this.itemGuid, tabIndex: -1, onChange: this.onCheckChange, ref: function (el) { return _this.checkboxElement = el; } }),\n React.createElement(\"label\", { className: \"k-checkbox-label\", htmlFor: this.itemGuid })));\n }\n else {\n return undefined;\n }\n };\n TreeViewItemWithoutContext.prototype.renderExpandIcon = function () {\n var renderExpand = this.props.expandIcons &&\n // If it is explicitly said that the item has children (even not loaded yet)\n // or if the item actually has children, then render the icon.\n (this.fieldsSvc.hasChildren(this.item) || hasChildren(this.item, this.fieldsSvc.getChildrenField()));\n return renderExpand && (\n // Allowing the toggle-button even with `disabled=true` might be a valid case!\n // Re-evaluate the classes bellow if such scenario occurs\n React.createElement(\"span\", { className: classNames('k-treeview-toggle', { 'k-disabled': this.disabled }), onClick: this.onExpandChange },\n React.createElement(IconWrap, __assign({}, this.getIconProps()))));\n };\n TreeViewItemWithoutContext.prototype.renderSubitemsIfApplicable = function () {\n var _this = this;\n var data = this.fieldsSvc.children(this.item);\n return isItemExpandedAndWithChildren(this.item, this.fieldsSvc) ?\n (React.createElement(\"ul\", { className: \"k-treeview-group\", role: \"group\" }, data.map(function (item, index) {\n return (React.createElement(TreeViewItem, { item: item, position: index === 0 ? 'top' : index === data.length - 1 ? 'bot' : 'mid', itemId: createId(index, _this.itemId), treeGuid: _this.props.treeGuid, animate: _this.props.animate, focusedItemId: _this.props.focusedItemId, tabbableItemId: _this.props.tabbableItemId, fieldsService: _this.props.fieldsService, itemUI: _this.props.itemUI, checkboxes: _this.props.checkboxes, ariaMultiSelectable: _this.props.ariaMultiSelectable, onItemClick: _this.props.onItemClick, onFocusDomElNeeded: _this.props.onFocusDomElNeeded, draggable: _this.props.draggable, onPress: _this.props.onPress, onDrag: _this.props.onDrag, onRelease: _this.props.onRelease, expandIcons: _this.props.expandIcons, onExpandChange: _this.props.onExpandChange, onCheckChange: _this.props.onCheckChange, key: index, size: _this.props.size, disabled: _this.disabled, isRtl: _this.props.isRtl }));\n }))) : undefined;\n };\n TreeViewItemWithoutContext.prototype.renderItemInPart = function () {\n return (React.createElement(\"span\", { className: classNames('k-treeview-leaf', {\n 'k-focus': this.props.focusedItemId === this.itemId,\n 'k-selected': this.fieldsSvc.selected(this.item),\n 'k-disabled': this.disabled\n }), style: { touchAction: 'none' }, onClick: this.onItemClick },\n React.createElement(\"span\", { className: \"k-treeview-leaf-text\" }, this.props.itemUI ?\n React.createElement(this.props.itemUI, { item: this.item, itemHierarchicalIndex: this.itemId }) :\n this.fieldsSvc.text(this.item))));\n };\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"fieldsSvc\", {\n get: function () {\n return this.props.fieldsService;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"itemId\", {\n get: function () {\n return this.props.itemId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"item\", {\n get: function () {\n return this.props.item;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"tabIndex\", {\n get: function () {\n return (this.props.focusedItemId || this.props.tabbableItemId) === this.itemId ? 0 : -1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"ariaExpanded\", {\n get: function () {\n return this.fieldsSvc.hasChildren(this.item) || hasChildren(this.item, this.fieldsSvc.getChildrenField()) ?\n Boolean(this.fieldsSvc.expanded(this.item)) : undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"disabled\", {\n get: function () {\n return this.props.disabled || this.fieldsSvc.disabled(this.item);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"ariaChecked\", {\n get: function () {\n if (this.props.checkboxes) {\n if (this.fieldsSvc.checked(this.item)) {\n return 'true';\n }\n else {\n return this.fieldsSvc.checkIndeterminate(this.item) ? 'mixed' : 'false';\n }\n }\n else {\n return undefined;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeViewItemWithoutContext.prototype, \"ariaSelected\", {\n get: function () {\n if (this.fieldsSvc.selected(this.item)) {\n return true;\n }\n else if (this.props.ariaMultiSelectable) {\n return this.disabled ? undefined : false;\n }\n else {\n return undefined;\n }\n },\n enumerable: false,\n configurable: true\n });\n TreeViewItemWithoutContext.prototype.getIconProps = function () {\n var expanded = this.fieldsSvc.expanded(this.item);\n var loading = expanded && !hasChildren(this.item, this.fieldsSvc.getChildrenField());\n if (loading) {\n return { name: 'loading' };\n }\n return expanded\n ? { name: 'caret-alt-down', icon: caretAltDownIcon }\n : { name: this.props.isRtl ? 'caret-alt-left' : 'caret-alt-right', icon: this.props.isRtl ? caretAltLeftIcon : caretAltRightIcon };\n };\n TreeViewItemWithoutContext.defaultProps = {\n position: 'top'\n };\n return TreeViewItemWithoutContext;\n}(React.Component));\n/**\n * @hidden\n */\nexport var TreeViewItem = React.forwardRef(function (props, ref) {\n var contextPropsCallback = React.useContext(TreeViewItemPropsContext);\n var treeViewItemProps = contextPropsCallback.call(undefined, props);\n return (React.createElement(TreeViewItemWithoutContext, __assign({ ref: ref }, treeViewItemProps)));\n});\nTreeViewItem.displayName = 'TreeViewItem';\n","import { getNestedValue } from './misc';\n/**\n * @hidden\n */\nvar FieldsService = /** @class */ (function () {\n function FieldsService(treeViewProps) {\n this.expandField = treeViewProps.expandField;\n this.selectField = treeViewProps.selectField;\n this.hasChildrenField = treeViewProps.hasChildrenField;\n this.childrenField = treeViewProps.childrenField;\n this.textField = treeViewProps.textField;\n this.disableField = treeViewProps.disableField;\n this.checkField = treeViewProps.checkField;\n this.checkIndeterminateField = treeViewProps.checkIndeterminateField;\n this.focusIdField = treeViewProps.focusIdField;\n }\n FieldsService.prototype.expanded = function (item) {\n return getNestedValue(this.expandField, item);\n };\n FieldsService.prototype.selected = function (item) {\n return getNestedValue(this.selectField, item);\n };\n FieldsService.prototype.text = function (item) {\n return getNestedValue(this.textField, item);\n };\n FieldsService.prototype.disabled = function (item) {\n return getNestedValue(this.disableField, item);\n };\n FieldsService.prototype.hasChildren = function (item) {\n return getNestedValue(this.hasChildrenField, item);\n };\n FieldsService.prototype.children = function (item) {\n var children = getNestedValue(this.childrenField, item);\n return children ? children : [];\n };\n FieldsService.prototype.checked = function (item) {\n return getNestedValue(this.checkField, item);\n };\n FieldsService.prototype.checkIndeterminate = function (item) {\n return getNestedValue(this.checkIndeterminateField, item);\n };\n FieldsService.prototype.focusId = function (item) {\n return this.focusIdField && getNestedValue(this.focusIdField, item);\n };\n FieldsService.prototype.getChildrenField = function () {\n return this.childrenField;\n };\n return FieldsService;\n}());\nexport default FieldsService;\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-react-treeview',\n productName: 'KendoReact',\n productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],\n publishDate: 1686225745,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Keys, dispatchEvent, guid, kendoThemeMaps, classNames } from '@progress/kendo-react-common';\nimport nav from './utils/getItemIdUponKeyboardNavigation';\nimport { resolveItemId, isEnabledAndAllParentsEnabled, hasChildren } from './utils/itemUtils';\nimport { TreeViewItem } from './TreeViewItem';\nimport { ZERO_LEVEL_ZERO_NODE_ID, getItemById } from './utils/itemIdUtils';\nimport FieldsService from './utils/FieldsService';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from './package-metadata';\nimport { CHECK_FIELD, CHECK_INDETERMINATE_FIELD, CHILDREN_FIELD, DISABLED_FIELD, EXPAND_FIELD, HAS_CHILDREN_FIELD, SELECT_FIELD, TEXT_FIELD } from './utils/consts';\nvar sizeMap = kendoThemeMaps.sizeMap;\n/**\n * Represents the [KendoReact TreeView component]({% slug overview_treeview %}).\n *\n * @example\n * ```jsx\n * const data = [{\n * text: 'Furniture', expanded: true, items: [\n * { text: 'Tables & Chairs' }, { text: 'Sofas' }, { text: 'Occasional Furniture' }]\n * }, {\n * text: 'Decor', expanded: true, items: [\n * { text: 'Bed Linen' }, { text: 'Curtains & Blinds' }, { text: 'Carpets' }]\n * }];\n * class App extends React.Component {\n * render() {\n * return ;\n * }\n * }\n * ReactDOM.render(, document.querySelector('my-app'));\n * ```\n */\nvar TreeView = /** @class */ (function (_super) {\n __extends(TreeView, _super);\n function TreeView(props) {\n var _this = _super.call(this, props) || this;\n /**\n * @hidden\n */\n _this.state = { focusedItemId: undefined, focusedItemPublicId: undefined, tabbableItemId: ZERO_LEVEL_ZERO_NODE_ID };\n _this.fieldsSvc = null;\n // When there is a change in state.focusedItemId, calling focus() on the dom element of the focused item\n // is most often not needed, because the browser focuses the element on its own.\n // https://github.com/telerik/kendo-react/issues/190\n _this.allowExplicitFocus = false;\n _this.treeGuid = guid();\n _this._element = null;\n _this.onFocusDomElNeeded = function (domItem) {\n if (_this.allowExplicitFocus) {\n _this.focusDomItem(domItem);\n }\n };\n _this.onCheckChange = function (event, item, itemId) {\n _this.setFocus(itemId);\n _this.dispatchCheckChange(event, item, itemId);\n };\n _this.onExpandChange = function (event, item, itemId) {\n _this.setFocus(itemId);\n _this.dispatchExpandChange(event, item, itemId);\n };\n _this.onPress = function (_event, item, itemId) {\n if (_this.props.onItemDragStart) {\n _this.props.onItemDragStart.call(undefined, { target: _this, item: item, itemHierarchicalIndex: itemId });\n }\n };\n _this.onDrag = function (event, item, itemId) {\n var pageX = event.pageX, pageY = event.pageY, clientX = event.clientX, clientY = event.clientY;\n if (_this.props.onItemDragOver) {\n _this.props.onItemDragOver.call(undefined, {\n target: _this,\n item: item,\n itemHierarchicalIndex: itemId,\n pageX: pageX,\n pageY: pageY,\n clientX: clientX,\n clientY: clientY\n });\n }\n };\n _this.onRelease = function (event, item, itemId) {\n var pageX = event.pageX, pageY = event.pageY, clientX = event.clientX, clientY = event.clientY;\n if (_this.props.onItemDragEnd) {\n _this.props.onItemDragEnd.call(undefined, {\n target: _this,\n item: item,\n itemHierarchicalIndex: itemId,\n pageX: pageX,\n pageY: pageY,\n clientX: clientX,\n clientY: clientY\n });\n }\n };\n _this.onItemClick = function (event, item, itemId) {\n _this.setFocus(itemId);\n _this.dispatchItemClick(event, item, itemId);\n };\n _this.onFocus = function () {\n clearTimeout(_this.blurRequest);\n if (_this.state.focusedItemId === undefined && _this.data.length) {\n _this.setFocus(_this.state.tabbableItemId);\n }\n };\n _this.onBlur = function () {\n clearTimeout(_this.blurRequest);\n _this.blurRequest = window.setTimeout(function () { return _this.setFocus(undefined); }, 0);\n };\n _this.onKeyDown = function (event) {\n var focusedItem = _this.getFocusedItem();\n if (focusedItem && _this.fieldsSvc) {\n var newItemId = nav(focusedItem, _this.state.focusedItemId, _this.data, event.keyCode, _this.fieldsSvc);\n if (newItemId !== _this.state.focusedItemId) {\n // This disables the auto-scroll. The scroll is achieved via item focusing.\n event.preventDefault();\n _this.allowExplicitFocus = true;\n _this.setFocus(newItemId);\n }\n _this.dispatchEventsOnKeyDown(event, focusedItem);\n }\n };\n validatePackage(packageMetadata);\n return _this;\n }\n Object.defineProperty(TreeView.prototype, \"element\", {\n /**\n * @hidden\n */\n get: function () {\n return this._element;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n TreeView.prototype.render = function () {\n var _a;\n var _this = this;\n this.fieldsSvc = new FieldsService(this.props);\n var _b = this.props, size = _b.size, className = _b.className;\n return (React.createElement(\"div\", { className: classNames('k-treeview', (_a = {},\n _a[\"k-treeview-\".concat(sizeMap[size] || size)] = size,\n _a['k-user-select-none'] = this.props.draggable,\n _a['k-rtl'] = this.props.dir === 'rtl',\n _a), className), onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, role: \"tree\", \"aria-multiselectable\": this.ariaMultiSelectable ? true : undefined, \"aria-label\": this.props['aria-label'], \"aria-labelledby\": this.props['aria-labelledby'], ref: function (element) { return _this._element = element; }, tabIndex: this.props.tabIndex },\n React.createElement(\"ul\", { className: \"k-treeview-lines k-treeview-group\", role: \"group\" }, this.data.map(function (item, index) {\n return (React.createElement(TreeViewItem, { item: item, position: index === 0 ? 'top' : index === _this.data.length - 1 ? 'bot' : 'mid', itemId: index.toString(), treeGuid: _this.treeGuid, animate: _this.props.animate, focusedItemId: _this.state.focusedItemId, tabbableItemId: _this.state.tabbableItemId, fieldsService: _this.fieldsSvc, itemUI: _this.props.item, checkboxes: _this.props.checkboxes, ariaMultiSelectable: _this.ariaMultiSelectable, onItemClick: _this.onItemClick, onFocusDomElNeeded: _this.onFocusDomElNeeded, draggable: _this.props.draggable, onPress: _this.onPress, onDrag: _this.onDrag, onRelease: _this.onRelease, expandIcons: _this.props.expandIcons, onExpandChange: _this.onExpandChange, onCheckChange: _this.onCheckChange, key: index, size: size, isRtl: _this.props.dir === 'rtl' }));\n }))));\n };\n /**\n * @hidden\n */\n TreeView.prototype.componentDidUpdate = function () {\n this.allowExplicitFocus = false;\n this.refocusDueToFocusIdField();\n };\n TreeView.prototype.dispatchEventsOnKeyDown = function (event, focusedItem) {\n var _this = this;\n if (this.fieldsSvc === null) {\n return;\n }\n // isEnabled is the most expensive op and that is why is left last.\n var isEnabled = function () {\n return _this.fieldsSvc && isEnabledAndAllParentsEnabled(_this.state.focusedItemId, _this.data, _this.fieldsSvc);\n };\n if (event.keyCode === Keys.left && this.fieldsSvc.expanded(focusedItem) && isEnabled()) {\n this.dispatchExpandChange(event, focusedItem, this.state.focusedItemId);\n }\n else if (event.keyCode === Keys.right && !this.fieldsSvc.expanded(focusedItem) &&\n (this.fieldsSvc.hasChildren(focusedItem) || hasChildren(focusedItem, this.props.childrenField)) && isEnabled()) {\n this.dispatchExpandChange(event, focusedItem, this.state.focusedItemId);\n }\n else if (event.keyCode === Keys.enter && isEnabled()) {\n this.dispatchItemClick(event, focusedItem, this.state.focusedItemId);\n }\n else if (event.keyCode === Keys.space && isEnabled()) {\n // W/o preventDefault() long TreeViews gets incorrectly scrolled.\n event.preventDefault();\n this.dispatchCheckChange(event, focusedItem, this.state.focusedItemId);\n }\n };\n TreeView.prototype.setFocus = function (focusedItemId) {\n if (focusedItemId && this.fieldsSvc) {\n if (this.fieldsSvc.focusIdField) {\n var item = this.getItemById(focusedItemId);\n this.setState({ focusedItemId: focusedItemId, focusedItemPublicId: this.fieldsSvc.focusId(item) });\n }\n else {\n this.setState({ focusedItemId: focusedItemId });\n }\n }\n else {\n this.setState(function (state) {\n return {\n focusedItemId: undefined,\n focusedItemPublicId: undefined,\n tabbableItemId: state.focusedItemId\n };\n });\n }\n };\n TreeView.prototype.getFocusedItem = function () {\n return this.state.focusedItemId ? this.getItemById(this.state.focusedItemId) : undefined;\n };\n TreeView.prototype.getItemById = function (itemId) {\n return getItemById(itemId, this.data, this.props.childrenField || CHILDREN_FIELD);\n };\n TreeView.prototype.dispatchCheckChange = function (dispatchedEvent, item, itemId) {\n dispatchEvent(this.props.onCheckChange, dispatchedEvent, this, { item: item, itemHierarchicalIndex: itemId });\n };\n TreeView.prototype.dispatchExpandChange = function (dispatchedEvent, item, itemId) {\n dispatchEvent(this.props.onExpandChange, dispatchedEvent, this, { item: item, itemHierarchicalIndex: itemId });\n };\n TreeView.prototype.dispatchItemClick = function (dispatchedEvent, item, itemId) {\n dispatchEvent(this.props.onItemClick, dispatchedEvent, this, { item: item, itemHierarchicalIndex: itemId });\n };\n TreeView.prototype.refocusDueToFocusIdField = function () {\n if (this.fieldsSvc && this.fieldsSvc.focusIdField) {\n var focusedItemPublicId = this.state.focusedItemPublicId;\n if (focusedItemPublicId) {\n var focusedItemId = this.props.getFocusHierarchicalIndex ?\n this.props.getFocusHierarchicalIndex(focusedItemPublicId) :\n resolveItemId(focusedItemPublicId, this.fieldsSvc.focusIdField, this.data, this.props.childrenField);\n if (focusedItemId !== this.state.focusedItemId) {\n this.allowExplicitFocus = true;\n this.setState({ focusedItemId: focusedItemId });\n }\n }\n }\n };\n Object.defineProperty(TreeView.prototype, \"ariaMultiSelectable\", {\n get: function () {\n return this.props['aria-multiselectable'] === true || this.props['aria-multiselectable'] === 'true';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TreeView.prototype, \"data\", {\n get: function () {\n return this.props.data || [];\n },\n enumerable: false,\n configurable: true\n });\n TreeView.prototype.focusDomItem = function (domItem) {\n domItem.focus();\n };\n Object.defineProperty(TreeView.prototype, \"guid\", {\n /**\n * Returns the `guid` which is associated with the TreeView.\n */\n get: function () {\n return this.treeGuid;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @hidden\n */\n TreeView.propTypes = {\n data: PropTypes.arrayOf(PropTypes.any),\n animate: PropTypes.bool,\n tabIndex: PropTypes.number,\n focusIdField: PropTypes.string,\n getHierarchicalIndexById: PropTypes.func,\n onExpandChange: PropTypes.func,\n onItemClick: PropTypes.func,\n expandField: PropTypes.string,\n selectField: PropTypes.string,\n childrenField: PropTypes.string,\n hasChildrenField: PropTypes.string,\n textField: PropTypes.string,\n disableField: PropTypes.string,\n item: PropTypes.any,\n 'aria-multiselectable': function (props, propName, componentName) {\n if (props[propName] !== undefined\n && props[propName] !== true\n && props[propName] !== false\n && props[propName] !== 'true'\n && props[propName] !== 'false') {\n return new Error('Invalid prop `' + propName + '` supplied to' +\n ' `' + componentName + '`. Validation failed.');\n }\n return null;\n },\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n size: PropTypes.oneOf([null, 'small', 'medium', 'large']),\n dir: PropTypes.string\n };\n /**\n * @hidden\n */\n TreeView.defaultProps = {\n animate: true,\n expandField: EXPAND_FIELD,\n selectField: SELECT_FIELD,\n hasChildrenField: HAS_CHILDREN_FIELD,\n childrenField: CHILDREN_FIELD,\n textField: TEXT_FIELD,\n disableField: DISABLED_FIELD,\n checkField: CHECK_FIELD,\n checkIndeterminateField: CHECK_INDETERMINATE_FIELD,\n size: 'medium'\n };\n return TreeView;\n}(React.Component));\nexport { TreeView };\n","import * as licensing from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (typeof licensing !== 'undefined') {\n licensing.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport function useDropdownWidth(elementRef, initialStyleWidth, args) {\n var _a = React.useState(initialStyleWidth), width = _a[0], setWidth = _a[1];\n React.useEffect(function () {\n if (width !== undefined && elementRef.current) {\n setWidth(elementRef.current.offsetWidth);\n }\n }, args);\n return width;\n}\n","import * as React from 'react';\n/**\n * @hidden\n */\nexport var ListNoData = function (props) {\n return React.createElement(\"div\", { className: \"k-nodata\" },\n React.createElement(\"div\", null, props.children));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar _this = this;\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, noop, useRtl, getTabIndex, Keys, mapTree, extendDataItem, guid, createPropsContext, kendoThemeMaps, usePropsContext, IconWrap, canUseDOM } from '@progress/kendo-react-common';\nimport { Popup } from '@progress/kendo-react-popup';\nimport { useLocalization } from '@progress/kendo-react-intl';\nimport { TreeView } from '@progress/kendo-react-treeview';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from './../package-metadata';\nimport { getItemValue, areSame, isPresent } from '../common/utils';\nimport { useDropdownWidth } from './useDropdownWidth';\nimport { ListNoData } from './ListNoData';\nimport { messages, clear, nodata } from './../messages';\nimport { FloatingLabel } from '@progress/kendo-react-labels';\nimport ListFilter from '../common/ListFilter';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { xIcon, caretAltDownIcon } from '@progress/kendo-svg-icons';\nimport { AdaptiveMode } from '../common/AdaptiveMode';\nimport { ActionSheetContent } from '@progress/kendo-react-layout';\nimport { MOBILE_MEDIUM_DEVISE } from '../common/constants';\nvar sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;\nvar VALIDATION_MESSAGE = 'Please select a value from the list!';\nvar ValueHolder = function (props) {\n return React.createElement(\"span\", { className: \"k-input-value-text\" }, props.children);\n};\nvar toLevel = function (hierarchicalIndex) {\n return hierarchicalIndex.split('_').map(function (i) { return parseInt(i, 10); });\n};\nvar getValidity = function (parameters, hasValue) {\n var validationMessage = parameters.validationMessage, valid = parameters.valid, required = parameters.required;\n return ({\n customError: validationMessage !== undefined,\n valid: Boolean(valid !== undefined ? valid : (!required || hasValue)),\n valueMissing: !hasValue\n });\n};\nvar defaultProps = {\n selectField: 'selected',\n subItemsField: 'items',\n popupSettings: {\n animate: true,\n width: '200px',\n height: '200px'\n },\n required: false,\n validityStyles: true,\n size: 'medium',\n rounded: 'medium',\n fillMode: 'solid'\n};\n/**\n * Represents the PropsContext of the `DropDownTree` component.\n * Used for global configuration of all `DropDownTree` instances.\n *\n * For more information, refer to the [Dropdowns Props Context]({% slug props-context_dropdowns %}) article.\n */\nexport var DropDownTreePropsContext = createPropsContext();\n/**\n * Represents the DropDownTree component.\n *\n * Accepts properties of type [DropDownTreeProps]({% slug api_dropdowns_dropdowntreeprops %}).\n * Obtaining the `ref` returns an object of type [DropDownTreeHandle]({% slug api_dropdowns_dropdowntreehandle %}).\n */\nexport var DropDownTree = React.forwardRef(function (directProps, ref) {\n var _a;\n validatePackage(packageMetadata);\n var props = usePropsContext(DropDownTreePropsContext, directProps);\n var calculatedId = React.useMemo(function () { return guid(); }, []);\n var id = props.id || calculatedId;\n var _b = props.data, data = _b === void 0 ? [] : _b, dataItemKey = props.dataItemKey, _c = props.popupSettings, popupSettings = _c === void 0 ? {} : _c, _d = props.style, style = _d === void 0 ? {} : _d, opened = props.opened, disabled = props.disabled, _e = props.onOpen, onOpen = _e === void 0 ? noop : _e, _f = props.onClose, onClose = _f === void 0 ? noop : _f, placeholder = props.placeholder, label = props.label, name = props.name, _g = props.selectField, selectField = _g === void 0 ? defaultProps.selectField : _g, _h = props.subItemsField, subItemsField = _h === void 0 ? defaultProps.subItemsField : _h, validationMessage = props.validationMessage, valid = props.valid, required = props.required, validityStyles = props.validityStyles;\n var tabIndex = getTabIndex(props.tabIndex, disabled);\n var target = React.useRef(null);\n var elementRef = React.useRef(null);\n var inputRef = React.useRef(null);\n var adaptiveInputRef = React.useRef(null);\n var selectRef = React.useRef(null);\n var treeViewRef = React.useRef(null);\n var skipFocusRef = React.useRef(false);\n var _j = React.useState(undefined), stateValue = _j[0], setStateValue = _j[1];\n var controlled = props.value !== undefined;\n var value = controlled ? props.value : (stateValue !== undefined ? stateValue : props.defaultValue);\n var hasValue = isPresent(value);\n var currentValueText = hasValue ? getItemValue(value, props.textField) : '';\n var validity = getValidity({ validationMessage: validationMessage, valid: valid, required: required }, hasValue);\n var focus = React.useCallback(function () { return elementRef.current && elementRef.current.focus(); }, []);\n React.useImperativeHandle(target, function () { return ({\n props: props,\n element: elementRef.current,\n focus: focus\n }); });\n React.useImperativeHandle(ref, function () { return target.current; });\n var dir = useRtl(elementRef, props.dir);\n var initialStyleWidth = popupSettings.width !== undefined ?\n popupSettings.width : (style.width !== undefined ? style.width : defaultProps.popupSettings.width);\n var popupWidth = useDropdownWidth(elementRef, initialStyleWidth);\n var popupStyles = __assign({ width: popupWidth }, (dir !== undefined ? { direction: dir } : {}));\n var _k = React.useState(false), open = _k[0], setOpen = _k[1];\n var isOpen = opened !== undefined ? opened : open;\n var _l = React.useState(false), focused = _l[0], setFocused = _l[1];\n var _m = React.useState(), windowWidth = _m[0], setWindowWidth = _m[1];\n var isAdaptive = !!(windowWidth && windowWidth <= MOBILE_MEDIUM_DEVISE && props.adaptive);\n var _o = React.useState(''), filter = _o[0], setFilter = _o[1];\n var setValidity = React.useCallback(function () {\n if (selectRef.current && selectRef.current.setCustomValidity) {\n selectRef.current.setCustomValidity(validity.valid\n ? ''\n : validationMessage === undefined ? VALIDATION_MESSAGE : validationMessage);\n }\n }, [validationMessage, validity]);\n React.useEffect(setValidity);\n React.useEffect(function () {\n var observerResize = canUseDOM && window.ResizeObserver && new window.ResizeObserver(calculateMedia.bind(_this));\n if ((document === null || document === void 0 ? void 0 : document.body) && observerResize) {\n observerResize.observe(document.body);\n }\n return function () {\n if ((document === null || document === void 0 ? void 0 : document.body) && observerResize) {\n observerResize.disconnect();\n }\n };\n }, []);\n var openPopup = React.useCallback(function (event) {\n if (!isOpen) {\n if (onOpen) {\n var openEvent = __assign({}, event);\n onOpen.call(undefined, openEvent);\n }\n if (opened === undefined) {\n setOpen(true);\n }\n }\n }, [isOpen, opened, onOpen]);\n var closePopup = React.useCallback(function (event) {\n if (isOpen) {\n if (onClose) {\n var closeEvent = __assign({}, event);\n onClose.call(undefined, closeEvent);\n }\n if (opened === undefined) {\n setOpen(false);\n if (isAdaptive) {\n setTimeout(function () {\n var _a;\n focusElement((_a = adaptiveInputRef.current) === null || _a === void 0 ? void 0 : _a.element);\n }, 300);\n }\n }\n }\n }, [isOpen, opened, onClose, isAdaptive]);\n var onWrapperClick = React.useCallback(function (event) {\n if (!event.isDefaultPrevented() && target.current) {\n setFocused(true);\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: target.current\n };\n (isOpen ? closePopup : openPopup)(ev);\n }\n }, [isOpen, opened, onOpen, onClose]);\n var switchFocus = React.useCallback(function (focusFn) {\n skipFocusRef.current = true;\n focusFn();\n window.setTimeout(function () { return skipFocusRef.current = false; }, 0);\n }, []);\n var onWrapperKeyDown = React.useCallback(function (event) {\n var _a, _b;\n var keyCode = event.keyCode, altKey = event.altKey;\n var treeview = treeViewRef.current && treeViewRef.current.element;\n if (!target.current || (event.isDefaultPrevented() && ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element) === event.target)) {\n return;\n }\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: target.current\n };\n if (isOpen) {\n if (keyCode === Keys.esc || (altKey && keyCode === Keys.up)) {\n event.preventDefault();\n closePopup(ev);\n }\n else if (treeview && treeview.querySelector('.k-focus') &&\n (keyCode === Keys.up || keyCode === Keys.down ||\n keyCode === Keys.left || keyCode === Keys.right ||\n keyCode === Keys.home || keyCode === Keys.end)) {\n if (keyCode === Keys.up && ((_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.element)) {\n var items = Array.from(treeview.querySelectorAll('.k-treeview-item'));\n var focusedItem = __spreadArray([], items, true).reverse().find(function (i) { return Boolean(i && i.querySelector('.k-focus')); });\n if (focusedItem && items.indexOf(focusedItem) === 0) {\n return switchFocus(function () { var _a; focusElement((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element); });\n }\n }\n switchFocus(noop);\n }\n else if (keyCode === Keys.down) {\n switchFocus(function () { var _a; focusElement(((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element) || treeview); });\n }\n }\n else {\n if (altKey && keyCode === Keys.down) {\n event.preventDefault();\n openPopup(ev);\n }\n }\n }, [isOpen, opened, onOpen, onClose]);\n var onInputKeyDown = React.useCallback(function (event) {\n var keyCode = event.keyCode, altKey = event.altKey;\n if (altKey || (keyCode !== Keys.up && keyCode !== Keys.down)) {\n return;\n }\n event.preventDefault();\n switchFocus(keyCode === Keys.up ?\n function () { focusElement(elementRef.current); } :\n function () { focusElement(treeViewRef.current && treeViewRef.current.element); });\n }, []);\n var focusElement = React.useCallback(function (element) {\n if (element) {\n switchFocus(function () { return element.focus(); });\n }\n }, []);\n var onPopupOpened = React.useCallback(function () {\n var _a;\n if (!focused && isOpen && !opened) {\n closePopup({ target: target.current });\n }\n else {\n if (props.filterable) {\n focusElement((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element);\n }\n else {\n focusElement(treeViewRef.current && treeViewRef.current.element);\n }\n }\n }, [onClose, props.filterable, focused, opened, isOpen]);\n var onPopupClosed = React.useCallback(function () {\n if (focused) {\n // Move the focus from treeview to dropdown without triggering Focus or Blur events.\n focusElement(elementRef.current);\n }\n }, [focused]);\n var onFocus = React.useCallback(function (event) {\n if (!focused && !skipFocusRef.current) {\n setFocused(true);\n if (props.onFocus && target.current) {\n var focusEvent = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: target.current\n };\n props.onFocus.call(undefined, focusEvent);\n }\n }\n }, [focused, props.onFocus]);\n var onBlur = React.useCallback(function (event) {\n if (focused && !skipFocusRef.current && target.current) {\n setFocused(false);\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: target.current\n };\n if (props.onBlur) {\n var focusEvent = __assign({}, ev);\n props.onBlur.call(undefined, focusEvent);\n }\n if (!isAdaptive) {\n closePopup(ev);\n }\n }\n }, [focused, props.onBlur, isOpen, opened, onClose]);\n var onWrapperMouseDown = React.useCallback(function () {\n if (focused) {\n // moving focus from treeview to dropdown triggers Focus and Blur events.\n switchFocus(noop);\n }\n if (isAdaptive) {\n setTimeout(function () {\n var _a;\n focusElement((_a = adaptiveInputRef.current) === null || _a === void 0 ? void 0 : _a.element);\n }, 300);\n }\n }, [focused, isAdaptive]);\n var changeValue = React.useCallback(function (event, newValue, hierarchicalIndex) {\n if (props.onChange) {\n var changeEvent = __assign({ value: newValue, level: hierarchicalIndex ? toLevel(hierarchicalIndex) : [] }, event);\n props.onChange.call(undefined, changeEvent);\n }\n if (!controlled) {\n setStateValue(newValue);\n }\n }, [props.onChange, controlled]);\n var onChange = React.useCallback(function (event) {\n if (areSame(event.item, value, dataItemKey) || !target.current) {\n return;\n }\n var item = event.item, itemHierarchicalIndex = event.itemHierarchicalIndex, nativeEvent = event.nativeEvent, syntheticEvent = event.syntheticEvent;\n var ev = {\n syntheticEvent: syntheticEvent,\n nativeEvent: nativeEvent,\n target: target.current\n };\n changeValue(ev, item, itemHierarchicalIndex);\n closePopup(ev);\n }, [controlled, value, props.onChange, dataItemKey, isOpen, opened, onClose]);\n var onClear = React.useCallback(function (event) {\n if (!target.current) {\n return;\n }\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: target.current\n };\n changeValue(ev, null);\n closePopup(ev);\n event.preventDefault();\n }, [controlled, props.onChange, isOpen, opened, onClose]);\n var onExpand = React.useCallback(function (event) {\n event.syntheticEvent.stopPropagation();\n if (props.onExpandChange && target.current) {\n var item = event.item, itemHierarchicalIndex = event.itemHierarchicalIndex, nativeEvent = event.nativeEvent, syntheticEvent = event.syntheticEvent;\n var expandEvent = {\n level: toLevel(itemHierarchicalIndex),\n item: item,\n nativeEvent: nativeEvent,\n syntheticEvent: syntheticEvent,\n target: target.current\n };\n props.onExpandChange.call(undefined, expandEvent);\n }\n }, [props.onExpandChange]);\n var onFilterChange = React.useCallback(function (event) {\n if (props.onFilterChange && target.current) {\n var filterDesc = { field: props.textField, operator: 'contains', value: event.target.value };\n var ev = {\n filter: filterDesc,\n syntheticEvent: event.syntheticEvent,\n nativeEvent: event.nativeEvent,\n target: target.current\n };\n props.onFilterChange.call(undefined, ev);\n if (props.filter === undefined) {\n setFilter(event.target.value);\n }\n }\n }, [props.onFilterChange, props.filter, props.textField]);\n var renderAdaptiveListContainer = function () {\n var mobileFilter = props.filterable ? (React.createElement(ListFilter, { value: props.filter === undefined ? filter : props.filter, ref: adaptiveInputRef, onChange: onFilterChange, onKeyDown: onInputKeyDown, size: size, rounded: rounded, fillMode: fillMode })) : null;\n var actionSheetProps = {\n adaptiveTitle: props.adaptiveTitle,\n expand: isOpen,\n onClose: function (event) { return closePopup(event); },\n windowWidth: windowWidth,\n mobileFilter: mobileFilter\n };\n return (React.createElement(AdaptiveMode, __assign({}, actionSheetProps),\n React.createElement(ActionSheetContent, { className: '!k-overflow-hidden' },\n React.createElement(\"div\", { className: 'k-list-container' },\n React.createElement(\"div\", { className: 'k-list k-list-lg' }, data.length > 0 ? (React.createElement(TreeView, { ref: treeViewRef, tabIndex: tabIndex, data: treeViewData, focusIdField: dataItemKey, textField: props.textField, selectField: selectField, expandField: props.expandField, childrenField: subItemsField, expandIcons: true, onItemClick: onChange, onExpandChange: onExpand, size: size, item: props.item, dir: dir })) : (React.createElement(NoData, null, localization.toLanguageString(nodata, messages[nodata]))))))));\n };\n var calculateMedia = React.useCallback(function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n setWindowWidth(entry.target.clientWidth);\n }\n ;\n }, []);\n var treeViewData = React.useMemo(function () {\n return (controlled || !hasValue) ? data :\n mapTree(data, subItemsField, function (item) {\n var _a;\n return extendDataItem(item, subItemsField, (_a = {}, _a[selectField] = areSame(item, value, dataItemKey), _a));\n });\n }, [data, value, controlled, hasValue, selectField, subItemsField]);\n var NoData = props.listNoData || ListNoData;\n var ValueComponent = props.valueHolder || ValueHolder;\n var localization = useLocalization();\n var isValid = !validityStyles || validity.valid;\n var size = props.size, rounded = props.rounded, fillMode = props.fillMode;\n var dropdowntree = (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: classNames('k-dropdowntree k-picker', props.className, (_a = {},\n _a[\"k-picker-\".concat(sizeMap[size] || size)] = size,\n _a[\"k-rounded-\".concat(roundedMap[rounded] || rounded)] = rounded,\n _a[\"k-picker-\".concat(fillMode)] = fillMode,\n _a['k-focus'] = focused,\n _a['k-invalid'] = !isValid,\n _a['k-loading'] = props.loading,\n _a['k-required'] = required,\n _a['k-disabled'] = props.disabled,\n _a)), tabIndex: tabIndex, accessKey: props.accessKey, id: id, style: label ? __assign(__assign({}, style), { width: undefined }) : style, dir: dir, ref: elementRef, onKeyDown: disabled ? undefined : onWrapperKeyDown, onMouseDown: onWrapperMouseDown, onClick: disabled ? undefined : onWrapperClick, onFocus: onFocus, onBlur: onBlur, role: \"combobox\", \"aria-haspopup\": \"tree\", \"aria-expanded\": isOpen, \"aria-disabled\": disabled, \"aria-label\": label, \"aria-labelledby\": props.ariaLabelledBy, \"aria-describedby\": props.ariaDescribedBy, \"aria-required\": required },\n React.createElement(\"span\", { className: \"k-input-inner\" },\n React.createElement(ValueComponent, { item: value }, currentValueText || placeholder)),\n props.loading && React.createElement(IconWrap, { className: \"k-input-loading-icon\", name: 'loading' }),\n hasValue && !disabled && (React.createElement(\"span\", { onClick: onClear, className: \"k-clear-value\", title: localization.toLanguageString(clear, messages[clear]), role: \"button\", tabIndex: -1, onMouseDown: function (e) { return e.preventDefault(); } },\n React.createElement(IconWrap, { name: 'x', icon: xIcon }))),\n React.createElement(Button, { tabIndex: -1, type: \"button\", \"aria-label\": \"select\", className: \"k-input-button\", size: size, fillMode: fillMode, themeColor: \"base\", rounded: null, icon: \"caret-alt-down\", svgIcon: caretAltDownIcon }),\n React.createElement(\"select\", { name: name, ref: selectRef, tabIndex: -1, \"aria-hidden\": true, title: label, style: { opacity: 0, width: 1, border: 0, zIndex: -1, position: 'absolute', left: '50%' } },\n React.createElement(\"option\", { value: props.valueMap ? props.valueMap.call(undefined, value) : value })),\n !isAdaptive && React.createElement(Popup, { className: classNames(popupSettings.className, { 'k-rtl': dir === 'rtl' }), popupClass: classNames(popupSettings.popupClass, 'k-dropdowntree-popup'), style: popupStyles, animate: popupSettings.animate, anchor: elementRef.current, show: isOpen, onOpen: onPopupOpened, onClose: onPopupClosed, appendTo: popupSettings.appendTo },\n props.filterable && (React.createElement(ListFilter, { value: props.filter === undefined ? filter : props.filter, ref: inputRef, onChange: onFilterChange, onKeyDown: onInputKeyDown, size: size, rounded: rounded, fillMode: fillMode })),\n data.length > 0 ? (React.createElement(TreeView, { ref: treeViewRef, tabIndex: tabIndex, data: treeViewData, focusIdField: dataItemKey, textField: props.textField, selectField: selectField, expandField: props.expandField, childrenField: subItemsField, expandIcons: true, onItemClick: onChange, onExpandChange: onExpand, size: size, item: props.item, dir: dir })) : (React.createElement(NoData, null, localization.toLanguageString(nodata, messages[nodata]))))),\n isAdaptive && renderAdaptiveListContainer()));\n return label ? (React.createElement(FloatingLabel, { label: label, editorValue: currentValueText, editorPlaceholder: placeholder, editorValid: isValid, editorDisabled: disabled, editorId: id, style: { width: style ? style.width : undefined }, children: dropdowntree, dir: dir })) : dropdowntree;\n});\nvar propTypes = {\n opened: PropTypes.bool,\n disabled: PropTypes.bool,\n dir: PropTypes.string,\n tabIndex: PropTypes.number,\n accessKey: PropTypes.string,\n data: PropTypes.array,\n value: PropTypes.any,\n valueMap: PropTypes.func,\n placeholder: PropTypes.string,\n dataItemKey: PropTypes.string.isRequired,\n textField: PropTypes.string.isRequired,\n selectField: PropTypes.string,\n expandField: PropTypes.string,\n subItemsField: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n label: PropTypes.string,\n validationMessage: PropTypes.string,\n validityStyles: PropTypes.bool,\n valid: PropTypes.bool,\n required: PropTypes.bool,\n name: PropTypes.string,\n id: PropTypes.string,\n ariaLabelledBy: PropTypes.string,\n ariaDescribedBy: PropTypes.string,\n filterable: PropTypes.bool,\n filter: PropTypes.string,\n loading: PropTypes.bool,\n popupSettings: PropTypes.shape({\n animate: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({\n openDuration: PropTypes.number,\n closeDuration: PropTypes.number\n })]),\n popupClass: PropTypes.string,\n className: PropTypes.string,\n appendTo: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n }),\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onFilterChange: PropTypes.func,\n onExpandChange: PropTypes.func,\n item: PropTypes.func,\n valueHolder: PropTypes.func,\n listNoData: PropTypes.func,\n adaptiveTitle: PropTypes.string,\n adaptive: PropTypes.bool\n};\nDropDownTree.displayName = 'KendoReactDropDownTree';\nDropDownTree.defaultProps = defaultProps;\nDropDownTree.propTypes = propTypes;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar _this = this;\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { classNames, noop, useRtl, getTabIndex, Keys, guid, kendoThemeMaps, createPropsContext, usePropsContext, IconWrap, canUseDOM } from '@progress/kendo-react-common';\nimport { Popup } from '@progress/kendo-react-popup';\nimport { useLocalization } from '@progress/kendo-react-intl';\nimport { TreeView } from '@progress/kendo-react-treeview';\nimport { validatePackage } from '@progress/kendo-react-common';\nimport { packageMetadata } from './../package-metadata';\nimport { getItemValue, areSame, matchTags } from '../common/utils';\nimport { useDropdownWidth } from './../DropDownTree/useDropdownWidth';\nimport { ListNoData } from './../DropDownTree/ListNoData';\nimport { messages, nodata, adaptiveModeFooterCancel, adaptiveModeFooterApply } from './../messages';\nimport { FloatingLabel } from '@progress/kendo-react-labels';\nimport TagList from '../MultiSelect/TagList';\nimport ClearButton from '../common/ClearButton';\nimport ListFilter from '../common/ListFilter';\nimport { AdaptiveMode } from '../common/AdaptiveMode';\nimport { ActionSheetContent } from '@progress/kendo-react-layout';\nimport { MOBILE_MEDIUM_DEVISE } from '../common/constants';\nvar VALIDATION_MESSAGE = 'Please select a value from the list!';\nvar sizeMap = kendoThemeMaps.sizeMap, roundedMap = kendoThemeMaps.roundedMap;\nvar toLevel = function (hierarchicalIndex) {\n return hierarchicalIndex.split('_').map(function (i) { return parseInt(i, 10); });\n};\nvar getValidity = function (parameters, hasValue) {\n var validationMessage = parameters.validationMessage, valid = parameters.valid, required = parameters.required;\n return ({\n customError: validationMessage !== undefined,\n valid: Boolean(valid !== undefined ? valid : (!required || hasValue)),\n valueMissing: !hasValue\n });\n};\nvar defaultProps = {\n checkField: 'checkField',\n checkIndeterminateField: 'checkIndeterminateField',\n subItemsField: 'items',\n popupSettings: {\n animate: true,\n width: '200px',\n height: '200px'\n },\n size: 'medium',\n rounded: 'medium',\n fillMode: 'solid',\n required: false,\n validityStyles: true\n};\n/**\n * Represents the PropsContext of the `MultiSelectTree` component.\n * Used for global configuration of all `MultiSelectTree` instances.\n *\n * For more information, refer to the [Dropdowns Props Context]({% slug props-context_dropdowns %}) article.\n */\nexport var MultiSelectTreePropsContext = createPropsContext();\n/**\n * Represents the MultiSelectTree component.\n *\n * Accepts properties of type [MultiSelectTreeProps]({% slug api_dropdowns_multiselecttreeprops %}).\n * Obtaining the `ref` returns an object of type [MultiSelectTreeHandle]({% slug api_dropdowns_multiselecttreehandle %}).\n */\nexport var MultiSelectTree = React.forwardRef(function (directProps, ref) {\n var _a, _b;\n var props = usePropsContext(MultiSelectTreePropsContext, directProps);\n validatePackage(packageMetadata);\n var componentGuid = React.useMemo(function () { return guid(); }, []);\n var id = props.id || componentGuid;\n var _c = props.data, data = _c === void 0 ? [] : _c, dataItemKey = props.dataItemKey, _d = props.popupSettings, popupSettings = _d === void 0 ? {} : _d, _e = props.style, style = _e === void 0 ? {} : _e, opened = props.opened, disabled = props.disabled, _f = props.onOpen, onOpen = _f === void 0 ? noop : _f, _g = props.onClose, onClose = _g === void 0 ? noop : _g, placeholder = props.placeholder, label = props.label, name = props.name, _h = props.checkField, checkField = _h === void 0 ? defaultProps.checkField : _h, _j = props.checkIndeterminateField, checkIndeterminateField = _j === void 0 ? defaultProps.checkIndeterminateField : _j, _k = props.subItemsField, subItemsField = _k === void 0 ? defaultProps.subItemsField : _k, validationMessage = props.validationMessage, valid = props.valid, tags = props.tags, value = props.value, _l = props.required, required = _l === void 0 ? defaultProps.required : _l, _m = props.validityStyles, validityStyles = _m === void 0 ? defaultProps.validityStyles : _m;\n var tabIndex = getTabIndex(props.tabIndex, disabled);\n var targetRef = React.useRef(null);\n var elementRef = React.useRef(null);\n var inputRef = React.useRef(null);\n var adaptiveInputRef = React.useRef(null);\n var selectRef = React.useRef(null);\n var treeViewRef = React.useRef(null);\n var skipFocusRef = React.useRef(false);\n var tagsToRenderRef = React.useRef([]);\n var popupRef = React.useRef(null);\n var _o = React.useState(), focusedTagState = _o[0], setFocusedTagState = _o[1];\n var _p = React.useState(false), openState = _p[0], setOpenState = _p[1];\n var _q = React.useState(false), focusedState = _q[0], setFocusedState = _q[1];\n var _r = React.useState(), windowWidth = _r[0], setWindowWidth = _r[1];\n var _s = React.useState([]), currentTreeValue = _s[0], setCurrentTreeValue = _s[1];\n var _t = React.useState(''), filterState = _t[0], setFilterState = _t[1];\n var isAdaptive = !!(windowWidth && windowWidth <= MOBILE_MEDIUM_DEVISE && props.adaptive);\n var isOpen = opened !== undefined ? opened : openState;\n var hasValue = Boolean(Array.isArray(value) && value.length);\n var validity = getValidity({ validationMessage: validationMessage, valid: valid, required: required }, hasValue);\n var dir = useRtl(elementRef, props.dir);\n var initialStyleWidth = popupSettings.width !== undefined ?\n popupSettings.width : (style.width !== undefined ? style.width : defaultProps.popupSettings.width);\n var popupWidth = useDropdownWidth(elementRef, initialStyleWidth);\n var popupStyles = __assign({ width: popupWidth }, (dir !== undefined ? { direction: dir } : {}));\n var focus = React.useCallback(function () { return elementRef.current && elementRef.current.focus(); }, []);\n tagsToRenderRef.current = tags === undefined ?\n (value || []).map(function (item) { return ({ text: getItemValue(item, props.textField), data: [item] }); }) : __spreadArray([], tags, true);\n React.useImperativeHandle(targetRef, function () { return ({\n props: props,\n element: elementRef.current,\n focus: focus\n }); });\n React.useImperativeHandle(ref, function () { return targetRef.current; });\n var setValidity = React.useCallback(function () {\n if (selectRef.current && selectRef.current.setCustomValidity) {\n selectRef.current.setCustomValidity(validity.valid\n ? ''\n : validationMessage === undefined ? VALIDATION_MESSAGE : validationMessage);\n }\n }, [validationMessage, validity]);\n React.useEffect(setValidity);\n React.useEffect(function () {\n var observerResize = canUseDOM && window.ResizeObserver && new window.ResizeObserver(calculateMedia.bind(_this));\n if ((document === null || document === void 0 ? void 0 : document.body) && observerResize) {\n observerResize.observe(document.body);\n }\n return function () {\n observerResize.disconnect();\n };\n }, []);\n React.useEffect(function () {\n if (popupRef.current && isOpen) {\n popupRef.current.setPosition(popupRef.current._popup);\n }\n }, [value, isOpen]);\n var changeValue = React.useCallback(function (event, relatedItems, operation) {\n if (props.onChange) {\n var changeEvent = __assign({ items: relatedItems, operation: operation }, event);\n props.onChange.call(undefined, changeEvent);\n }\n }, [props.onChange]);\n var onChange = React.useCallback(function (event) {\n if (areSame(event.item, value, dataItemKey) || !targetRef.current) {\n return;\n }\n var item = event.item, nativeEvent = event.nativeEvent, syntheticEvent = event.syntheticEvent;\n var ev = {\n syntheticEvent: syntheticEvent,\n nativeEvent: nativeEvent,\n target: targetRef.current\n };\n changeValue(ev, [item], 'toggle');\n }, [value, dataItemKey, changeValue]);\n var openPopup = React.useCallback(function (event) {\n if (!isOpen) {\n if (onOpen) {\n var openEvent = __assign({}, event);\n onOpen.call(undefined, openEvent);\n }\n if (opened === undefined) {\n setOpenState(true);\n setCurrentTreeValue(value || []);\n if (isAdaptive) {\n setTimeout(function () {\n var _a;\n focusElement((_a = adaptiveInputRef.current) === null || _a === void 0 ? void 0 : _a.element);\n }, 300);\n }\n }\n }\n }, [isOpen, opened, onOpen, isAdaptive, adaptiveInputRef]);\n var closePopup = React.useCallback(function (event) {\n if (isOpen) {\n if (onClose) {\n var closeEvent = __assign({}, event);\n onClose.call(undefined, closeEvent);\n }\n if (opened === undefined) {\n setOpenState(false);\n }\n }\n }, [isOpen, opened, onClose]);\n var switchFocus = React.useCallback(function (focusFn) {\n skipFocusRef.current = true;\n focusFn();\n window.setTimeout(function () { return skipFocusRef.current = false; }, 0);\n }, []);\n var focusElement = React.useCallback(function (element) {\n if (element) {\n switchFocus(function () { return element.focus(); });\n }\n }, [switchFocus]);\n var onPopupOpened = React.useCallback(function () {\n var _a;\n if (!focusedState && isOpen) {\n closePopup({ target: targetRef.current });\n }\n else {\n if (props.filterable) {\n focusElement((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element);\n }\n else {\n focusElement(treeViewRef.current && treeViewRef.current.element);\n }\n }\n }, [focusedState, isOpen, focusElement, closePopup, props.filterable]);\n var onPopupClosed = React.useCallback(function () {\n if (focusedState) {\n // Move the focus from treeview to dropdown without triggering Focus or Blur events.\n focusElement(elementRef.current);\n }\n }, [focusedState, focusElement]);\n var onFocus = React.useCallback(function (event) {\n if (!focusedState && !skipFocusRef.current) {\n setFocusedState(true);\n if (props.onFocus && targetRef.current) {\n var focusEvent = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n };\n props.onFocus.call(undefined, focusEvent);\n }\n }\n }, [focusedState, props.onFocus]);\n var onBlur = React.useCallback(function (event) {\n if (focusedState && !skipFocusRef.current && targetRef.current) {\n setFocusedState(false);\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n };\n if (props.onBlur) {\n var focusEvent = __assign({}, ev);\n props.onBlur.call(undefined, focusEvent);\n }\n if (!isAdaptive) {\n closePopup(ev);\n }\n }\n }, [focusedState, props.onBlur, isOpen, opened, onClose]);\n var onWrapperMouseDown = React.useCallback(function () {\n if (focusedState) {\n // moving focus from treeview to dropdown triggers Focus and Blur events.\n switchFocus(noop);\n }\n }, [focusedState, switchFocus]);\n var onWrapperClick = React.useCallback(function (event) {\n if (!event.isDefaultPrevented() && targetRef.current) {\n setFocusedState(true);\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n };\n if (!isOpen) {\n openPopup(ev);\n }\n }\n }, [isOpen, openPopup]);\n var onWrapperKeyDown = React.useCallback(function (event) {\n var _a, _b;\n var keyCode = event.keyCode, altKey = event.altKey;\n var treeviewElement = treeViewRef.current && treeViewRef.current.element;\n if (!targetRef.current || (event.isDefaultPrevented() && ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element) === event.target)) {\n return;\n }\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n };\n if (value && value.length > 0 &&\n (keyCode === Keys.left || keyCode === Keys.right ||\n keyCode === Keys.home || keyCode === Keys.end ||\n keyCode === Keys.delete)) {\n var tagsToRender = tagsToRenderRef.current;\n var focusedIndex = focusedTagState ?\n tagsToRender.findIndex(function (t) { return matchTags(t, focusedTagState, dataItemKey); }) : -1;\n var newFocusedTag = undefined;\n var hasFocused = focusedIndex !== -1;\n if (keyCode === Keys.left) {\n if (hasFocused) {\n focusedIndex = Math.max(0, focusedIndex - 1);\n }\n else {\n focusedIndex = tagsToRender.length - 1;\n }\n newFocusedTag = tagsToRender[focusedIndex];\n }\n else if (keyCode === Keys.right) {\n if (focusedIndex === tagsToRender.length - 1) {\n newFocusedTag = undefined;\n }\n else if (hasFocused) {\n focusedIndex = Math.min(tagsToRender.length - 1, focusedIndex + 1);\n newFocusedTag = tagsToRender[focusedIndex];\n }\n }\n else if (keyCode === Keys.home) {\n newFocusedTag = tagsToRender[0];\n }\n else if (keyCode === Keys.end) {\n newFocusedTag = tagsToRender[tagsToRender.length - 1];\n }\n else if (keyCode === Keys.delete) {\n if (hasFocused) {\n changeValue(ev, tagsToRender[focusedIndex].data, 'delete');\n }\n }\n if (newFocusedTag !== focusedTagState) {\n setFocusedTagState(newFocusedTag);\n }\n }\n if (isOpen) {\n if (keyCode === Keys.esc || (altKey && keyCode === Keys.up)) {\n event.preventDefault();\n closePopup(ev);\n }\n else if (treeviewElement && treeviewElement.querySelector('.k-focus') &&\n (keyCode === Keys.up || keyCode === Keys.down ||\n keyCode === Keys.left || keyCode === Keys.right ||\n keyCode === Keys.home || keyCode === Keys.end)) {\n if (keyCode === Keys.up && ((_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.element)) {\n var items = Array.from(treeviewElement.querySelectorAll('.k-treeview-item'));\n var focusedItem = __spreadArray([], items, true).reverse().find(function (i) { return Boolean(i && i.querySelector('.k-focus')); });\n if (focusedItem && items.indexOf(focusedItem) === 0) {\n return switchFocus(function () { var _a; focusElement((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element); });\n }\n }\n switchFocus(noop);\n }\n else if (keyCode === Keys.down) {\n switchFocus(function () { var _a; focusElement(((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element) || treeviewElement); });\n }\n }\n else {\n if (altKey && keyCode === Keys.down) {\n event.preventDefault();\n openPopup(ev);\n }\n }\n }, [isOpen, closePopup, focusElement, switchFocus, openPopup, focusedTagState, dataItemKey, value, changeValue]);\n var onInputKeyDown = React.useCallback(function (event) {\n var keyCode = event.keyCode, altKey = event.altKey;\n if (altKey || (keyCode !== Keys.up && keyCode !== Keys.down)) {\n return;\n }\n event.preventDefault();\n switchFocus(keyCode === Keys.up ?\n function () { focusElement(elementRef.current); } :\n function () { focusElement(treeViewRef.current && treeViewRef.current.element); });\n }, [focusElement, switchFocus]);\n var onClear = React.useCallback(function (event) {\n if (!targetRef.current) {\n return;\n }\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n };\n changeValue(ev, [], 'clear');\n closePopup(ev);\n event.preventDefault();\n }, [changeValue, closePopup]);\n var onTagDelete = React.useCallback(function (itemsToRemove, event) {\n var _a;\n closePopup({ target: targetRef.current });\n if (!focusedState) {\n focusElement((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.element);\n }\n changeValue({\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n }, itemsToRemove, 'delete');\n }, [changeValue, closePopup, focusElement, focusedState]);\n var onExpand = React.useCallback(function (event) {\n if (props.onExpandChange && targetRef.current) {\n var item = event.item, itemHierarchicalIndex = event.itemHierarchicalIndex, nativeEvent = event.nativeEvent, syntheticEvent = event.syntheticEvent;\n var expandEvent = {\n level: toLevel(itemHierarchicalIndex),\n item: item,\n nativeEvent: nativeEvent,\n syntheticEvent: syntheticEvent,\n target: targetRef.current\n };\n props.onExpandChange.call(undefined, expandEvent);\n }\n }, [props.onExpandChange]);\n var onFilterChange = React.useCallback(function (event) {\n if (props.onFilterChange && targetRef.current) {\n var filterDesc = { field: props.textField, operator: 'contains', value: event.target.value };\n var ev = {\n filter: filterDesc,\n syntheticEvent: event.syntheticEvent,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n };\n props.onFilterChange.call(undefined, ev);\n if (props.filter === undefined) {\n setFilterState(event.target.value);\n }\n }\n }, [props.onFilterChange, props.filter, props.textField]);\n var onCancel = React.useCallback(function (event) {\n if (!targetRef.current) {\n return;\n }\n var ev = {\n syntheticEvent: event,\n nativeEvent: event.nativeEvent,\n target: targetRef.current\n };\n if (props.onCancel) {\n props.onCancel.call(undefined, ev);\n }\n ;\n closePopup(ev);\n event.preventDefault();\n }, [props.onCancel, closePopup]);\n var renderAdaptiveListContainer = function () {\n var mobileFilter = props.filterable ? (React.createElement(ListFilter, { value: props.filter === undefined ? filterState : props.filter, ref: adaptiveInputRef, onChange: onFilterChange, onKeyDown: onInputKeyDown, size: size, rounded: rounded, fillMode: fillMode })) : null;\n var actionSheetProps = {\n adaptiveTitle: props.adaptiveTitle,\n expand: isOpen,\n onClose: function (event) { return props.onCancel ? onCancel(event) : onClear(event); },\n windowWidth: windowWidth,\n mobileFilter: mobileFilter,\n footer: {\n cancelText: localization.toLanguageString(adaptiveModeFooterCancel, messages[adaptiveModeFooterCancel]),\n onCancel: function (event) { return props.onCancel ? onCancel(event) : onClear(event); },\n applyText: localization.toLanguageString(adaptiveModeFooterApply, messages[adaptiveModeFooterApply]),\n onApply: function (event) { return closePopup(event); }\n }\n };\n return (React.createElement(AdaptiveMode, __assign({}, actionSheetProps),\n React.createElement(ActionSheetContent, { className: '!k-overflow-hidden' },\n React.createElement(\"div\", { className: 'k-list-container' },\n React.createElement(\"div\", { className: 'k-list k-list-lg' }, data.length > 0 ? (React.createElement(TreeView, { ref: treeViewRef, tabIndex: tabIndex, data: data, focusIdField: dataItemKey, textField: props.textField, checkField: checkField, checkIndeterminateField: checkIndeterminateField, expandField: props.expandField, childrenField: subItemsField, expandIcons: true, onItemClick: onChange, onCheckChange: onChange, onExpandChange: onExpand, checkboxes: true, size: size, item: props.item, dir: dir })) : (React.createElement(NoData, null, localization.toLanguageString(nodata, messages[nodata]))))))));\n };\n var calculateMedia = React.useCallback(function (entries) {\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var entry = entries_1[_i];\n setWindowWidth(entry.target.clientWidth);\n }\n ;\n }, []);\n var NoData = props.listNoData || ListNoData;\n var localization = useLocalization();\n var isValid = !validityStyles || validity.valid;\n var size = props.size, rounded = props.rounded, fillMode = props.fillMode;\n var currentTagsToRender = isAdaptive && isOpen ? currentTreeValue : tagsToRenderRef.current;\n var multiselecttree = (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: classNames('k-multiselecttree k-input', props.className, (_a = {},\n _a[\"k-input-\".concat(sizeMap[size] || size)] = size,\n _a[\"k-rounded-\".concat(roundedMap[rounded] || rounded)] = rounded,\n _a[\"k-input-\".concat(fillMode)] = fillMode,\n _a['k-focus'] = focusedState && !disabled,\n _a['k-invalid'] = !isValid,\n _a['k-disabled'] = disabled,\n _a['k-loading'] = props.loading,\n _a['k-required'] = required,\n _a)), tabIndex: tabIndex, accessKey: props.accessKey, id: id, style: label ? __assign(__assign({}, style), { width: undefined }) : style, dir: dir, ref: elementRef, onKeyDown: disabled ? undefined : onWrapperKeyDown, onMouseDown: onWrapperMouseDown, onFocus: onFocus, onBlur: onBlur, role: \"combobox\", \"aria-haspopup\": \"tree\", \"aria-expanded\": isOpen, \"aria-disabled\": disabled, \"aria-label\": label, \"aria-labelledby\": props.ariaLabelledBy, \"aria-describedby\": props.ariaDescribedBy ? props.ariaDescribedBy : 'tagslist-' + id, \"aria-required\": props.required, onClick: disabled ? undefined : onWrapperClick },\n React.createElement(\"div\", { id: 'tagslist-' + id, className: classNames('k-input-values k-chip-list k-selection-multiple', (_b = {},\n _b[\"k-chip-list-\".concat(sizeMap[size] || size)] = size,\n _b)) }, currentTagsToRender.length > 0 && (React.createElement(TagList, { tag: props.tag, onTagDelete: onTagDelete, data: currentTagsToRender, guid: id, focused: focusedTagState ? tagsToRenderRef.current.find(function (t) { return matchTags(t, focusedTagState, dataItemKey); }) : undefined, size: size }))),\n (!hasValue || isAdaptive) &&\n React.createElement(\"span\", { className: \"k-input-inner\", role: 'combobox', tabIndex: tabIndex, \"aria-expanded\": isOpen, \"aria-describedby\": 'tagslist-' + id, \"aria-label\": props.ariaLabelledBy },\n React.createElement(\"span\", { className: \"k-input-value-text\" }, \"\\u00A0\")),\n props.loading && React.createElement(IconWrap, { className: \"k-input-loading-icon\", name: 'loading' }),\n hasValue && !disabled && currentTagsToRender.length > 0 &&\n React.createElement(ClearButton, { onClick: onClear }),\n React.createElement(\"select\", { name: name, ref: selectRef, tabIndex: -1, \"aria-hidden\": true, title: label, style: { opacity: 0, width: 1, border: 0, zIndex: -1, position: 'absolute', left: '50%' } },\n React.createElement(\"option\", { value: props.valueMap ? props.valueMap.call(undefined, value) : value })),\n !isAdaptive && React.createElement(Popup, { popupClass: classNames(popupSettings.popupClass, 'k-multiselecttree-popup'), className: classNames(popupSettings.className, { 'k-rtl': dir === 'rtl' }), style: popupStyles, animate: popupSettings.animate, anchor: elementRef.current, show: isOpen, onOpen: onPopupOpened, onClose: onPopupClosed, appendTo: popupSettings.appendTo, ref: popupRef },\n props.filterable && (React.createElement(ListFilter, { value: props.filter === undefined ? filterState : props.filter, ref: inputRef, onChange: onFilterChange, onKeyDown: onInputKeyDown, tabIndex: tabIndex, size: size, rounded: rounded, fillMode: fillMode })),\n data.length > 0 ? (React.createElement(TreeView, { ref: treeViewRef, tabIndex: tabIndex, data: data, focusIdField: dataItemKey, textField: props.textField, checkField: checkField, checkIndeterminateField: checkIndeterminateField, expandField: props.expandField, childrenField: subItemsField, expandIcons: true, onItemClick: onChange, onCheckChange: onChange, onExpandChange: onExpand, checkboxes: true, size: size, item: props.item, dir: dir })) : (React.createElement(NoData, null, localization.toLanguageString(nodata, messages[nodata]))))),\n isAdaptive && renderAdaptiveListContainer()));\n return label ? (React.createElement(FloatingLabel, { label: label, editorValue: hasValue, editorPlaceholder: placeholder, editorValid: isValid, editorDisabled: disabled, editorId: id, style: { width: style ? style.width : undefined }, children: multiselecttree, dir: dir })) : multiselecttree;\n});\nvar propTypes = {\n opened: PropTypes.bool,\n disabled: PropTypes.bool,\n dir: PropTypes.string,\n tabIndex: PropTypes.number,\n accessKey: PropTypes.string,\n data: PropTypes.array,\n value: PropTypes.any,\n valueMap: PropTypes.func,\n placeholder: PropTypes.string,\n dataItemKey: PropTypes.string.isRequired,\n textField: PropTypes.string.isRequired,\n checkField: PropTypes.string,\n checkIndeterminateField: PropTypes.string,\n expandField: PropTypes.string,\n subItemsField: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n label: PropTypes.string,\n validationMessage: PropTypes.string,\n validityStyles: PropTypes.bool,\n valid: PropTypes.bool,\n required: PropTypes.bool,\n name: PropTypes.string,\n id: PropTypes.string,\n ariaLabelledBy: PropTypes.string,\n ariaDescribedBy: PropTypes.string,\n filterable: PropTypes.bool,\n filter: PropTypes.string,\n loading: PropTypes.bool,\n tags: PropTypes.arrayOf(PropTypes.shape({\n text: PropTypes.string,\n data: PropTypes.arrayOf(PropTypes.any)\n })),\n popupSettings: PropTypes.shape({\n animate: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape({\n openDuration: PropTypes.number,\n closeDuration: PropTypes.number\n })]),\n popupClass: PropTypes.string,\n className: PropTypes.string,\n appendTo: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n }),\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onFilterChange: PropTypes.func,\n onExpandChange: PropTypes.func,\n onCancel: PropTypes.func,\n item: PropTypes.func,\n listNoData: PropTypes.func,\n adaptiveTitle: PropTypes.string,\n adaptive: PropTypes.bool\n};\nMultiSelectTree.displayName = 'KendoReactMultiSelectTree';\nMultiSelectTree.defaultProps = defaultProps;\nMultiSelectTree.propTypes = propTypes;\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { getter } from '@progress/kendo-react-common';\n/** @hidden */\nexport var getValueMap = function (value, idGetter) {\n var map = {};\n if (value && value.length) {\n value.forEach(function (item) {\n map[idGetter(item)] = true;\n });\n }\n return map;\n};\n/**\n * Get MultiSelectTree new value from the component `onChange` event.\n *\n * @param {any[]} data\n * @param {object} options\n * @returns {any[]}\n */\nexport var getMultiSelectTreeValue = function (data, options) {\n var items = options.items, dataItemKey = options.dataItemKey, value = options.value, _a = options.subItemsField, subItemsField = _a === void 0 ? 'items' : _a, operation = options.operation;\n var idGetter = getter(dataItemKey);\n var valueMap = getValueMap(value, idGetter);\n if (operation === 'clear') {\n return [];\n }\n else if (operation === 'delete') {\n var deletedItemsMap_1 = getValueMap(items, idGetter);\n return value.filter(function (item) { return !deletedItemsMap_1[idGetter(item)]; });\n }\n // operation === 'toggle'\n var selectedItem = items[0];\n var selectedId = idGetter(selectedItem);\n var subItemGetter = getter(subItemsField);\n var stack = __spreadArray([], data, true);\n var context = [];\n var parents = [];\n var foundItem;\n while (stack.length) {\n var currentItem = stack.pop();\n if (selectedId === idGetter(currentItem)) {\n parents = context.map(function (contextItem) { return contextItem.item; });\n foundItem = currentItem;\n break;\n }\n else {\n if (context &&\n context.length &&\n context[context.length - 1].parentPosition === stack.length) {\n context.pop();\n }\n var subItems = subItemGetter(currentItem);\n if (subItems && subItems.length) {\n context.push({ item: currentItem, parentPosition: stack.length });\n stack.push.apply(stack, subItems);\n }\n }\n }\n var childrenStack = __spreadArray([], (subItemGetter(foundItem) || []), true);\n var children = [];\n while (childrenStack.length) {\n var currentItem = childrenStack.pop();\n children.push(currentItem);\n var subItems = subItemGetter(currentItem);\n if (subItems && subItems.length) {\n childrenStack.push.apply(childrenStack, subItems);\n }\n }\n var isChecked = !valueMap[selectedId];\n var newValue = [];\n if (isChecked) {\n newValue.push.apply(newValue, value);\n newValue.push(foundItem);\n newValue.push.apply(newValue, children.filter(function (item) { return !valueMap[idGetter(item)]; }));\n var parentCandidates = parents.filter(function (item) { return !valueMap[idGetter(item)]; });\n var newValueMap_1 = getValueMap(newValue, idGetter);\n for (var i = parentCandidates.length - 1; i > -1; i--) {\n var candidate = parentCandidates[i];\n var subItems = subItemGetter(candidate);\n var checkedChildrenLength = subItems.filter(function (item) { return newValueMap_1[idGetter(item)]; }).length;\n if (checkedChildrenLength < subItems.length) {\n break;\n }\n else {\n newValue.push(candidate);\n newValueMap_1[idGetter(candidate)] = true;\n }\n }\n }\n else {\n var foundId_1 = idGetter(foundItem);\n var childrenMap_1 = getValueMap(children, idGetter);\n var parentsMap_1 = getValueMap(parents, idGetter);\n newValue.push.apply(newValue, (value\n .filter(function (item) {\n var itemId = idGetter(item);\n return !childrenMap_1[itemId] && foundId_1 !== itemId && !parentsMap_1[itemId];\n })));\n }\n return newValue;\n};\n// /** @hidden */\n// const mapCheckAndIntermidiate = (\n// data,\n// options: {\n// valueMap: {[dataItemKey: string]: boolean};\n// callback?: (item: any) => any;\n// idGetter: (item: any) => any;\n// subItemGetter: (item: any) => any;\n// subItemSetter: (item: any, value: any) => void;\n// checkSetter: (item: any, value: any) => void;\n// checkIndeterminateSetter: (item: any, value: any) => void;\n// }\n// ) => {\n// const {\n// idGetter,\n// subItemGetter,\n// subItemSetter,\n// checkSetter,\n// checkIndeterminateSetter\n// } = options;\n// if (!data || !data.length) { return [data, false];}\n// let hasChecked = false;\n// const newData = [...data].map(dataItem => {\n// const [children, hasCheckedChildren] = mapCheckAndIntermidiate(subItemGetter(dataItem), options);\n// const isChecked = options.valueMap[idGetter(dataItem)];\n// if (isChecked || hasCheckedChildren) {\n// hasChecked = true;\n// }\n// const newItem = { ...dataItem };\n// subItemSetter(newItem, children);\n// checkSetter(newItem, isChecked);\n// checkIndeterminateSetter(newItem, !isChecked && hasCheckedChildren);\n// return options.callback ? options.callback(newItem) : newItem;\n// });\n// return [newData, hasChecked];\n// };\n// /**\n// *\n// * @param data\n// * @param options\n// * @returns\n// */\n// /**\n// * Creates a new array with the results of calling the provided callback function\n// * on every element in the provided data tree. The new tree items have their `check` and `checkIndeterminate` fields set based on provided value.\n// *\n// * @param {any[]} tree - The data tree.\n// * @param {object} options - The options used to map the tree items like check and checkIndeterminateField fields\n// * @returns {any[]} - The new data tree.\n// */\n// export const mapMultiSelectTreeData = (\n// tree,\n// options: {\n// checkField?: string;\n// checkIndeterminateField?: string;\n// subItemsField?: string;\n// dataItemKey: string;\n// value: Array;\n// callback?: (item) => any;\n// }\n// ) => {\n// const {\n// subItemsField = 'items',\n// checkField = 'checkField',\n// checkIndeterminateField = 'checkIndeterminateField',\n// callback\n// } = options;\n// const idGetter = getter(options.dataItemKey);\n// const [result] = mapCheckAndIntermidiate(\n// tree,\n// {\n// callback,\n// valueMap: getValueMap(options.value, idGetter),\n// idGetter,\n// subItemGetter: getter(subItemsField),\n// subItemSetter: setter(subItemsField),\n// checkSetter: setter(checkField),\n// checkIndeterminateSetter: setter(checkIndeterminateField)\n// }\n// );\n// return result;\n// };\n"],"names":["Keys","backspace","tab","enter","shift","esc","space","pageUp","pageDown","end","home","left","up","right","down","delete","kendoThemeMaps","small","medium","large","guid","i","random","id","Math","toString","classNames","args","_i","arguments","length","result","addKeys","list","filter","arg","map","Array","isArray","Object","keys","forEach","key","addLeafKeys","el","join","getTabIndex","tabIndex","disabled","useDefaultTabIndexWhenDisabled","parsedTabIndex","parseInt","undefined","NaN","SIZE_CLASSES","svgIconPropType","PropTypes","name","content","viewBox","__assign","assign","t","s","n","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","Icon","React","props","ref","className","themeColor","size","flip","style","others","target","elementRef","element","current","sizeProp","defaultProps","flipProp","fontClassNames","_a","toIconClass","concat","mouseProps","extend","handleMouseDown","event","onMouseDown","syntheticEvent","handleMouseUp","onMouseUp","onClick","onDoubleClick","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","useMouse","role","propTypes","displayName","SvgIcon","children","svgClassName","icon","svgStyle","iconNameProp","viewBoxProp","elementClassNames","elementStyle","width","height","focusable","xmlns","dangerouslySetInnerHTML","__html","IconsContext","type","IconWrap","_b","icons","fontIconProps","svg","usePropsContext","context","contextPropsCallback","createPropsContext","withPropsContext","Component","contextProps","__extends","extendStatics","d","b","setPrototypeOf","__proto__","TypeError","String","__","constructor","create","ListContainer","_super","render","dir","itemsCount","popupSettings","Popup","direction","contentKey","ListFilter","input","TextBox","value","onChange","onKeyDown","stopPropagation","fillMode","rounded","prefix","InputPrefix","searchIcon","GroupStickyHeader","group","groupMode","renderer","item","isPresent","matchText","text","word","ignoreCase","temp","toLowerCase","scrollToItem","scrollElem","itemIndex","translate","virtualScroll","viewportHeight","offsetHeight","li","itemOffsetTop","offsetTop","scrollTop","itemHeight","diff","itemIndexStartsWith","items","field","itemText","getItemValue","startsWith","getItemIndexByText","data","textField","matchCase","casing","findIndex","path","split","data_1","removeDataItems","toRemove","areSame","splice","item1","item2","getFocusedItem","selectedIndex","preventDefaultNonInputs","nodeName","preventDefault","matchTags","tag1","tag2","data1","data2","matchDataCollections","ListDefaultItem","selected","defaultItem","position","ListItem","_this","handleClick","index","dataItem","virtual","focused","Boolean","ListGroupItem","isMultiColumn","nodata","clear","comboArrowBtnAriaLabelExpand","comboArrowBtnAriaLabelCollapse","dropDownListArrowBtnAriaLabel","adaptiveModeFooterApply","adaptiveModeFooterCancel","messages","List","renderItems","valueField","groupField","optionsGuid","skip","focusedIndex","_c","highlightSelected","itemRender","groupHeaderItemRender","groupCounter","previous","realIndex","idIndex","renderNoValueElement","localizationService","noDataRender","noDataElement","toLanguageString","provideLocalizationService","show","wrapperCssClass","wrapperStyle","listStyle","listRef","wrapperRef","listClassName","onBlur","onScroll","unselectable","scroller","registerForLocalization","VirtualScroll","container","scrollElement","containerHeight","total","enabled","pageSize","PageChange","prevScrollPos","listTranslate","scrollSyncing","scrollerRef","vs","setAttribute","window","setTimeout","calcScrollElementHeight","bind","heightChanged","min","newHeight","scrollHandler","defineProperty","get","enumerable","configurable","changePage","newSkip","max","take","translateTo","dY","transform","reset","scrollToEnd","scrollHeight","localScrollUp","targetTranslate","additionalOnTop","validateTranslate","localScrollDown","itemsLenght","scrollNonStrict","floatItemIndex","floor","prev","Navigation","navigate","keyCode","next","step","DropDownBase","component","wrapper","navigation","handleItemClick","state","initState","handleItemSelect","togglePopup","applyState","handleFocus","events","push","filterChanged","filterable","operator","opened","calculatePopupWidth","pageChange","page","triggerOnPageChange","scrollToVirtualItem","selectedItemIndex","renderScrollElement","resetGroupStickyHeader","groupName","that","setState","listBoxId","didMount","popupWidth","shouldUpdate","calculateDir","forceUpdate","ownerDocument","defaultView","dirCalculated","getComputedStyle","offsetWidth","vsEnabled","once","parentNode","eventArgs","nativeEvent","eventData","handler","triggerPageChangeCornerItems","dataItemKey","getPopupSettings","getGroupedDataModernMode","newData","basicPropTypes","accessKey","label","loading","animate","openDuration","closeDuration","popupClass","appendTo","onOpen","onClose","onFocus","listNoDataRender","focusedItemIndex","header","footer","defaultValue","onFilterChange","onPageChange","required","validityStyles","validatePackage","packageMetadata","licensing","message","licensingDocsUrl","console","warn","canUseDOM","document","createElement","productName","productCodes","publishDate","version","MOBILE_SMALL_DEVISE","MOBILE_MEDIUM_DEVISE","sizeMap","roundedMap","DropDownListWithoutContext","_element","base","searchState","last","_select","_skipFocusEvent","_filterInput","_navigated","_inputId","focus","newSelected","triggerOnChange","componentRef","dummySelect","title","opacity","border","zIndex","valueMap","renderListContainer","groupStickyHeaderItemRender","listContainerProps","anchor","onPopupOpened","onPopupClosed","renderListFilter","renderDefaultItem","renderList","slice","maxHeight","filterText","handleListFilterChange","handleKeyDown","handleDefaultItemClick","search","clearTimeout","_typingTimeout","delay","selectNext","mappedData","idx","isInLoop","character","charAt","sameCharsOnly","dataLength","startIndex","splitIndex","shuffleData","loopMatch","nextMatch","_valueDuringOnChange","leftRightKeysNavigation","_d","homeOrEndKeys","upOrDownKeys","shouldOpen","altKey","shouldClose","shouldNavigate","onNavigate","handleBlur","adaptive","windowWidth","renderAdaptive","handleWrapperClick","isPropagationStopped","handleKeyPress","which","fromCharCode","charCode","focusElement","setValidity","setCustomValidity","validity","valid","validationMessage","customError","isValid","valueMissing","componentDidUpdate","prevProps","prevState","prevTotal","prevOpened","opening","selectedItem_1","prevSelectedItem","selectedItemChanged","componentDidMount","observerResize","ResizeObserver","calculateMedia","body","observe","componentWillUnmount","disconnect","btnAriaLabel","_e","iconClassName","valueRender","valueDefaultRendering","valueElement","dropdownlist","onKeyPress","ariaLabel","ariaLabelledBy","ariaDescribedBy","Button","iconClass","svgIcon","caretAltDownIcon","renderAdaptiveListContainer","FloatingLabel","editorValue","editorValid","editorDisabled","newIndex","adaptiveTitle","actionSheetProps","navigatable","navigatableElements","expand","animation","animationStyles","top","ActionSheet","ActionSheetHeader","xIcon","ActionSheetContent","hasSelected","entries","entries_1","entry","clientWidth","DropDownListPropsContext","DropDownList","SearchBar","_input","prevValue","prevSuggestedText","suggestedText","valueChanged","deleting","endsWith","activeElement","shadowRoot","getActiveElement","setSelectionRange","expanded","searchbar","autoComplete","placeholder","readOnly","owns","activedescendant","ariaRequired","ClearButton","ComboBoxWithoutContext","_suggested","_skipBlur","_adaptiveFilterInput","mobileMode","toggleBtnClick","mobileText","adaptiveFilter","renderMobileListFilter","selectedItemText","mobileInputText","handleMobileFilterChange","onInputKeyDown","onGroupScroll","applyValueOnRejectSuggestions","currentTarget","onInputClick","applyValueOnEnter","inputOnChange","suggest","selectionAtEnd","selectionEnd","prevText","deletedSuggestion","suggestValue","focusedItem","clearButtonClick","isAdaptive","selectedItem","_valueOnDidUpdate","btnAriaLabelExpand","btnAriaLabelCollapse","clearButton","inputText","renderClearButton","combobox","renderSearchBar","editorId","getFocusedIndex","currentIndex","allowCustom","valueIndex","itemSelected","selectFocusedItem","valueItemText","isMobileDevice","footerClassName","ListComponent","suggested","suggestedItem","substring","ComboBoxPropsContext","ComboBox","AutoCompleteWithoutContext","_isScrolling","newText","itemFocus","onChangeHandler","prevSuggestion","prevUserInput","newValue","suggestion","userInput","applyInputValue","prevData","dataChanged","focusedItemChanged","typedText","newFocused","eventKey","readonly","inputValue","AutoCompletePropsContext","AutoComplete","useDir","initialDir","setDir","rtlCandidate","FIELD_REGEX","getterCache","getter","fields","replace","_match","indexAccessor","fieldName","fieldList","obj","SELECTION_TYPE","SELECTION_ACTION","__spreadArray","to","from","pack","ar","l","FOCUS_ACTION","CHIP_DATA_ACTION","ChipListSelectionContext","_args","ChipListFocusContext","ChipListDataContext","useSelection","callback","action","newState","selection","single","toggle","payload","Error","remove","multiple","some","none","selectionReducer","useFocus","focusReducer","useData","defaultData","add","reorder","dataReducer","ChipList","chipListRef","chip","_f","onDataChange","ChipComponent","Chip","handleChange","_g","stateValue","dispatchStateValue","handleDataChange","_h","stateData","dispatchData","itemsReducer","acc","chipValue","reduce","valueGetter","textGetter","_j","dispatchFocus","Provider","removable","chipRef","dispatchSelection","handleRemove","onRemove","selectedIcon","selectedSvgIcon","toIconName","removeIcon","removeSvgIcon","removeIconSvg","selectedIconSvg","TagList","tagRender","TagComponent","tag","onTagDelete","tagData","focusedTag","ActiveDescendant","FocusedItemType","AdaptiveMode","mobileFilter","ActionSheetFooter","cancelText","onCancel","applyText","onApply","isCustom","CustomItem","MultiSelectWithoutContext","PopupList","currentValue","_valueItemsDuringOnChange","_tags","_adaptiveInput","scrollToFocused","localization","indexInValue","newItems","blur","itemsToRemove","getFocusedState","customItem","nextFocusedItem","searchbarRef","onTagsNavigate","customItemSelect","listContainerContent","focusedType","fontStyle","plusIcon","closePopup","tagsToRender","autoClose","tags","closing","customItemFocused","currentTagsToRender","setItems","find","placeholderToShow","adaptivePlaceholder","ariaActivedescendant","TagsList","itemsKey","newFocusedTag","hasFocused","removed","pop","srcItems","destItems","focusedInd","last_1","None","MultiSelectPropsContext","MultiSelect","MultiColumnList","getDocument","BrowserSupportService","scrollbar","div","cssText","innerHTML","appendChild","scrollWidth","removeChild","MultiColumnComboBoxPropsContext","MultiColumnComboBox","directProps","comboBoxRef","scrollbarWidth","columns","other","initialGroupHeader","groupHeader","setGroupHeader","showStickyHeader","setShowStickyHeader","colSpan","column","uniqueKey","defaultWidth","liProps","curGroup","prevGroup","groupGetter","rendering","handleEvent","onOpenHandler","onCloseHandler","onFocusHandler","onBlurHandler","onPageChangeHandler","onFilterChangeHandler","setProperty","setScrollbarWidth","listProps","PopupPropsContext","PopupProps","noop","useRtl","subItemsField","subItems","mapItem","callbackfn","child","mapTree","tree","dispatchEvent","eventHandler","dispatchedEvent","eventBaseData","EMPTY_ID","SEPARATOR","getItemById","itemId","childrenField","isIdZeroLevel","Number","rootParentItem","getRootParentId","getIdWithoutRootParentId","isIdEmptyOrZeroLevel","firstSeparatorIndex","getFirstChildId","createId","childId","parentId","getDirectParentId","lastSeparatorIndex","lastIndexOf","getShortId","SortedPublicItemIds","objects","init","publicItemIds","currentObj","hasId","publicItemId","getNestedValue","hasChildren","isItemExpandedAndWithChildren","fieldsSvc","getChildrenField","resolveItemId","publicId","idField","resolvedIds","publicIds","sortedIds","resolveItemsIdsHelper","resolveItemsIds","isEnabledAndAllParentsEnabled","ids","getAllShortIds","currentItems","currentItem","parentItemId","getItemIdUponKeyboardNavigation","idUtils","getLastNotOpenedChildId","getIdUponUpKey","getNextItemId","getIdUponEndKey","parent","siblings","useInheritedState","contextValue","contextSetter","localValue","localSetter","DragContext","DropContext","DragsContext","DropsContext","Draggable","childRef","getElement","handlePress","onPress","handleRelease","onRelease","handleDragStart","onDragStart","handleDrag","onDrag","handleDragEnd","onDragEnd","callbacks","options","hint","mouseOnly","autoScroll","scrollContainer","_k","pressed","setPressed","_l","scrolling","setScrolling","drop","_m","drag","setDrag","drops","_o","drags","registerDrag","deregisterDrag","velocity","x","y","scrollInterval","ignoreMouse","restoreMouseTimeout","scrollable","unmount","offset","pageOffset","clientOffset","initialClientOffset","scrollOffset","initialScrollOffset","supportPointerEvent","PointerEvent","pointers","getHintElement","getScrollContainer","getAutoScrollContainer","boundaryElementRef","getWindow","getState","scrollableParent","autoScrollDirection","horizontal","vertical","isScrolling","handlePressedChange","handleScrollingChange","handleVelocityChange","handleOffsetChange","handleClientOffsetChange","handlePageOffsetChange","handleInitialClientOffsetChange","handleScrollOffsetChange","handleInitialScrollOffsetChange","dispatchDragEvent","dispatchDragAndDrop","onVelocityChange","onOffsetChange","onClientOffsetChange","onPageOffsetChange","onInitialClientOffsetChange","onScrollOffsetChange","onInitialScrollOffsetChange","onIsPressedChange","onIsScrollingChange","handlePointerDown","handlePointerMove","handlePointerCancel","handlePointerUp","handleMouseMove","handleContextMenu","handleTouchStart","handleTouchMove","handleTouchEnd","touches","changedTouches","currentWindow","handleScroll","prerequisites","initialTouchAction_1","touchAction","register","scrollableParent_1","getScrollableParent","elementFromPoint","clearInterval","setInterval","autoScrollElement","addEventListener","passive","capture","removeEventListener","useDraggable","CHILDREN_FIELD","TreeViewItemPropsContext","TreeViewItemWithoutContext","itemGuid","onCheckChange","onExpandChange","onItemClick","assignDraggableMeta","treeGuid","subitems","renderSubitemsIfApplicable","itemInPart","renderItemInPart","ariaExpanded","ariaSelected","ariaChecked","itemElement","renderExpandIcon","renderCheckbox","draggable","Reveal","transitionEnterDuration","transitionExitDuration","display","focusedItemId","currentItemId","onFocusDomElNeeded","checkboxElement","indeterminate","checkIndeterminate","fieldsService","checkboxes","checked","htmlFor","expandIcons","getIconProps","TreeViewItem","tabbableItemId","itemUI","ariaMultiSelectable","isRtl","itemHierarchicalIndex","caretAltLeftIcon","caretAltRightIcon","treeViewItemProps","FieldsService","treeViewProps","expandField","selectField","hasChildrenField","disableField","checkField","checkIndeterminateField","focusIdField","focusId","TreeView","focusedItemPublicId","allowExplicitFocus","domItem","focusDomItem","setFocus","dispatchCheckChange","dispatchExpandChange","_event","onItemDragStart","pageX","pageY","clientX","clientY","onItemDragOver","onItemDragEnd","dispatchItemClick","blurRequest","newItemId","nav","dispatchEventsOnKeyDown","refocusDueToFocusIdField","isEnabled","getFocusHierarchicalIndex","getHierarchicalIndexById","propName","componentName","useDropdownWidth","initialStyleWidth","setWidth","ListNoData","ValueHolder","toLevel","hierarchicalIndex","DropDownTreePropsContext","DropDownTree","calculatedId","inputRef","adaptiveInputRef","selectRef","treeViewRef","skipFocusRef","setStateValue","controlled","hasValue","currentValueText","parameters","getValidity","popupStyles","open","setOpen","isOpen","setFocused","setWindowWidth","setFilter","openPopup","openEvent","closeEvent","onWrapperClick","isDefaultPrevented","ev","switchFocus","focusFn","onWrapperKeyDown","treeview","querySelector","querySelectorAll","reverse","focusEvent","onWrapperMouseDown","changeValue","changeEvent","level","onClear","onExpand","expandEvent","treeViewData","propsToExtend","extendDataItem","NoData","listNoData","ValueComponent","valueHolder","useLocalization","dropdowntree","editorPlaceholder","MultiSelectTreePropsContext","MultiSelectTree","componentGuid","targetRef","tagsToRenderRef","popupRef","focusedTagState","setFocusedTagState","_p","openState","setOpenState","_q","focusedState","setFocusedState","_r","_s","currentTreeValue","setCurrentTreeValue","_t","filterState","setFilterState","setPosition","_popup","relatedItems","operation","treeviewElement","multiselecttree","getValueMap","idGetter","getMultiSelectTreeValue","deletedItemsMap_1","foundItem","selectedId","subItemGetter","stack","parents","contextItem","parentPosition","childrenStack","parentCandidates","newValueMap_1","candidate","foundId_1","childrenMap_1","parentsMap_1"],"sourceRoot":""}