{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACkI;AACnE;AACM;;;;;;;AAU/D,MAAOW,sBAAsB;EAKjCC,YAAoBC,cAA8B,EAAUC,eAAgC,EAAUC,YAA0B,EAAUC,cAA8B,EAAUC,MAAc;IAA5K,mBAAc,GAAdJ,cAAc;IAA0B,oBAAe,GAAfC,eAAe;IAA2B,iBAAY,GAAZC,YAAY;IAAwB,mBAAc,GAAdC,cAAc;IAA0B,WAAM,GAANC,MAAM;IAJhL,iBAAY,GAAG,KAAK;IACpB,wBAAmB,GAAyB,IAAIZ,iDAAe,CAAM,IAAI,CAAC;EAGkH;EAEpMa,SAAS,CAACC,GAAqB,EAAEC,IAAiB;IAChDD,GAAG,GAAGA,GAAG,CAACE,KAAK,CAAC;MACdC,eAAe,EAAE;KAClB,CAAC;IAEF,OAAOF,IAAI,CAACG,MAAM,CAACJ,GAAG,CAAC,CAACK,IAAI,CAC1BjB,0DAAU,CAAEkB,KAAK,IAAI;MACnB,IACEA,KAAK,YAAYrB,mEAAiB,IACjC,IAAI,CAACa,MAAM,CAACS,GAAG,IAAK,GAAI,IAAI,IAAI,CAACT,MAAM,CAACS,GAAG,IAAK,mBAAqB,IACtED,KAAK,CAACE,MAAM,KAAK,GAAG,EACpB;QACA,IAAI,CAACV,MAAM,CAACW,aAAa,CAAC,GAAG,CAAC;;MAEhC,IACEH,KAAK,YAAYrB,mEAAiB,KACjC,IAAI,CAACa,MAAM,CAACS,GAAG,IAAK,GAAI,IAAI,IAAI,CAACT,MAAM,CAACS,GAAG,IAAK,mBAAoB,CAAC,IACtED,KAAK,CAACE,MAAM,KAAK,GAAG,EACpB;QACA,OAAO,IAAI,CAACE,cAAc,CAACV,GAAG,EAAEC,IAAI,CAAC;;MAEvC,OAAOd,gDAAU,CAAC,MAAMmB,KAAK,CAAC;IAChC,CAAC,CAAC,CACH;EACH;EAEQI,cAAc,CAACC,OAAyB,EAAEV,IAAiB;IACjE,IAAI,CAAC,IAAI,CAACW,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,IAAI;MACxB,IAAI,CAACC,mBAAmB,CAACZ,IAAI,CAAC,IAAI,CAAC;MAEnC,OAAO,IAAI,CAACL,YAAY,CAACkB,kBAAkB,EAAE,CAACT,IAAI,CAChDf,yDAAS,CAAEyB,KAAU,IAAI;QACvB,IAAI,CAACH,YAAY,GAAG,KAAK;QACzB,MAAMI,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACH,KAAK,CAAC,CAACI,IAAI,CAACJ,KAAK;QAC9C,IAAI,CAAClB,cAAc,CAACuB,QAAQ,CAACJ,SAAS,CAAC;QACvC,IAAI,CAACH,mBAAmB,CAACZ,IAAI,CAACe,SAAS,CAAC;QAExC,OAAOf,IAAI,CAACG,MAAM,CAAC,IAAI,CAACiB,cAAc,CAACV,OAAO,EAAEK,SAAS,CAAC,CAAC;MAC7D,CAAC,CAAC,EACF5B,0DAAU,CAAEkC,GAAG,IAAI;QACjB,IAAI,CAACV,YAAY,GAAG,KAAK;QACzB,OAAOzB,gDAAU,CAACmC,GAAG,CAAC;MACxB,CAAC,CAAC,CACH;;IAGH,OAAO,IAAI,CAACT,mBAAmB,CAACR,IAAI,CAClChB,sDAAM,CAAC0B,KAAK,IAAIA,KAAK,KAAK,IAAI,CAAC,EAC/BxB,qDAAI,CAAC,CAAC,CAAC,EACPD,yDAAS,CAAEyB,KAAK,IAAKd,IAAI,CAACG,MAAM,CAAC,IAAI,CAACiB,cAAc,CAACV,OAAO,EAAEI,KAAK,CAAC,CAAC,CAAC,CACvE;EACH;EAEQM,cAAc,CAACV,OAAyB,EAAEI,KAAa;IAC7D,OAAOJ,OAAO,CAACT,KAAK,CAAC;MAAEqB,OAAO,EAAEZ,OAAO,CAACY,OAAO,CAACC,GAAG,CAAC,eAAe,EAAE,SAAS,GAAGT,KAAK;IAAC,CAAE,CAAC;EAC5F;EAAC;qBA/DUvB,sBAAsB;EAAA;EAAA;WAAtBA,sBAAsB;IAAAiC,SAAtBjC,sBAAsB;EAAA;;AAkE5B,MAAMkC,wBAAwB,GAAG,CACtC;EAAEC,OAAO,EAAE3C,mEAAiB;EAAE4C,QAAQ,EAAEpC,sBAAsB;EAAEqC,KAAK,EAAE;AAAI,CAAE,CAC9E;;;;;;;;;;;;;;;;;;;AChF2D;AACnB;;;AAIlC,MAAMG,aAAa,GAAiB;EACzCC,iBAAiB,EAAE,oBAAoB,CAAE;CAC1C;;AAMK,MAAOC,gBAAgB;EAAA;qBAAhBA,gBAAgB;EAAA;EAAA;UAAhBA;EAAgB;EAAA;cAHjBJ,iEAAoB,CAACC,kDAAS,EAAEC,aAAa,CAAC,EAC9CF,yDAAY;EAAA;;;sHAEXI,gBAAgB;IAAAE,UAAAA,yDAAAA;IAAAC,UAFjBP,yDAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;ACVgC;;;;;;;;;;;;ICApDS,4DAAAA,aAAsE;IACpEA,uDAAAA,oBAA6D;IAE/DA,0DAAAA,EAAM;;;;IAFQA,uDAAAA,GAAmC;IAAnCA,wDAAAA,2CAAmC;IAC/BA,uDAAAA,GAAoB;IAApBA,wDAAAA,4BAAoB;;;;;IAEtCA,4DAAAA,aAAgD;IAC9CA,uDAAAA,oBAAkF;IAEpFA,0DAAAA,EAAM;;;;IAFQA,uDAAAA,GAAmC;IAAnCA,wDAAAA,2CAAmC;IAC/BA,uDAAAA,GAAoB;IAApBA,wDAAAA,4BAAoB;;;;;IAEtCA,uDAAAA,oBAAiD;;;ADE/C,MAAOC,YAAY;EAKvB/C,YAAoBgD,YAAyB,EAAU3C,MAAc,EAAU4C,MAAuB,EAAUC,YAA0B,EAAUC,OAAuB;IAAvJ,iBAAY,GAAZH,YAAY;IAAuB,WAAM,GAAN3C,MAAM;IAAkB,WAAM,GAAN4C,MAAM;IAA2B,iBAAY,GAAZC,YAAY;IAAwB,YAAO,GAAPC,OAAO;IAJ3J,UAAK,GAAG,YAAY;IACpB,aAAQ,GAAG,KAAK;IAChB,kBAAa,GAAG,IAAI;IACpB,gBAAW,GAAG,IAAI;IAEhB,IAAI,CAACA,OAAO,CAACC,0BAA0B,CAACC,SAAS,CAACC,GAAG,IAAG;MAAG,IAAI,CAACA,GAAG,EAAC;QAAEjD,MAAM,CAACkD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;;IAAE,CAAC,CAAC;IAChG,IAAI,IAAI,CAAClD,MAAM,CAACS,GAAG,IAAI,GAAG,EAAE;MAAE,IAAI,CAACqC,OAAO,CAACK,UAAU,CAAC,MAAM,CAAC;;IAE7D,IAAI,CAACP,MAAM,CAACQ,aAAa,CAAC,GAAG,CAAC,CAACJ,SAAS,CAAEK,GAAG,IAAI;MAC/C,IAAGrD,MAAM,CAACS,GAAG,IAAI,GAAG,IAAI4C,GAAG,EAAE;QAC3BR,YAAY,CAACS,aAAa,CAAC,kCAAkC,CAAC;QAC9DtD,MAAM,CAACkD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;;IAG1B,CAAC,CAAC;IACF,IAAI,CAAClD,MAAM,CAACuD,MAAM,CAACP,SAAS,CAACQ,KAAK,IAAG;MACnC,IAAIA,KAAK,YAAYhB,0DAAa,EAAE;QAClC,IAAIgB,KAAK,CAAC/C,GAAG,IAAI,aAAa,EAAE;UAC9B,IAAI,CAACgD,aAAa,GAAG,KAAK;SAC3B,MAED;UACE,IAAI,CAACA,aAAa,GAAG,IAAI;UACzB,IAAI,CAACC,WAAW,GAAG,IAAI;;;IAG7B,CAAC,CAAC;EACJ;EAAC;qBA5BUhB,YAAY;EAAA;EAAA;UAAZA,YAAY;IAAAiB;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QCZzBtB,4DAAAA,aAA8E;QAE1EA,wDAAAA,gDAGM;QACNA,wDAAAA,gDAGM;QACNA,wDAAAA,oEAAiD;QACnDA,0DAAAA,EAAO;;;QATCA,uDAAAA,GAAoB;QAApBA,wDAAAA,4BAAoB;QAIpBA,uDAAAA,GAAmB;QAAnBA,wDAAAA,2BAAmB;QAITA,uDAAAA,GAAe;QAAfA,wDAAAA,uBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTqB;AAEF;AACT;AACmB;AAEa;AACzB;AACY;AACf;AACA;AACF;AACM;AACkB;;;AAEjE,SAAUiC,UAAU;EACxB,OAAOC,QAAQ,CAACC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,IAAI;EACpD;AACF;;AA2BM,MAAOC,SAAS;EAAA;qBAATA,SAAS;EAAA;EAAA;UAATA,SAAS;IAAAC,YAFRrC,wDAAY;EAAA;EAAA;eAPb,CACT6B,6DAAa,EACb3C,+EAAwB,EACxB;MACEC,OAAO,EAAE,UAAU;MAAEmD,UAAU,EAAEN;KAClC,CACF;IAAApC,UAjBC0B,oEAAa,EACb5B,iEAAgB,EAChB6B,uDAAW,EACXO,0DAAgB,EAChBN,+DAAmB,EACnBC,0FAAuB,EACvBC,+DAAY,EACZC,2EAAgB,EAChBC,4DAAW,EACXG,wEAAuB,EAAE;EAAA;;;sHAWhBK,SAAS;IAAAG,eAvBlBvC,wDAAY;IAAAJ,UAGZ0B,oEAAa,EACb5B,iEAAgB,EAChB6B,uDAAW,EACXO,0DAAgB,EAChBN,+DAAmB,EACnBC,0FAAuB,EACvBC,+DAAY,EACZC,2EAAgB,EAChBC,4DAAW;EAAA;AAAA;;;;;;;;;;;;;;;AChCR,MAAMrC,SAAS,GAAW,CAC/B;EACEiD,IAAI,EAAE,EAAE;EACRC,YAAY,EAAE,MAAM,gIAAwC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAChB,gBAAgB;CAC1F,EACD;EACEa,IAAI,EAAE,GAAG;EACTC,YAAY,EAAE,MAAM,wHAAgC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACjB,YAAY;CAC9E,CACF;;;;;;;;;;;;;;;;;;;ACV4C;AACA;;AAMvC,MAAOoB,eAAe;EAH5B7F;IAIU,aAAQ,GAAG,IAAI2F,yCAAO,EAAa;;EAE3CG,IAAI,CAACjC,KAAgB;IACnB,IAAI,CAACkC,QAAQ,CAACvF,IAAI,CAACqD,KAAK,CAAC;EAC3B;EAEAmC,EAAE,CAACC,SAAiB,EAAEC,MAAW;IAC/B,OAAO,IAAI,CAACH,QAAQ,CAACnF,IAAI,CACvBhB,sDAAM,CAAEuG,CAAY,IAAKA,CAAC,CAACC,IAAI,KAAKH,SAAS,CAAC,EAC9CL,mDAAG,CAAEO,CAAY,IAAKA,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC9C,SAAS,CAAC6C,MAAM,CAAC;EACxD;EAAC;qBAXUL,eAAe;EAAA;EAAA;WAAfA,eAAe;IAAA7D,SAAf6D,eAAe;IAAAQ,YAFd;EAAM;;;;;;;;;;;;;;;;;;ACJpB,MAAMC,QAAQ,GAAG,WAAW;AAKtB,MAAOC,cAAc;EACzBvG,eAAe;EAEfwG,KAAK;IACHC,MAAM,CAACC,cAAc,CAACC,KAAK,EAAE;EAC/B;EAEOC,QAAQ,CAACC,IAAS;IACvBJ,MAAM,CAACC,cAAc,CAACI,UAAU,CAACR,QAAQ,CAAC;IAC1CG,MAAM,CAACC,cAAc,CAACK,OAAO,CAACT,QAAQ,EAAE9E,IAAI,CAACwF,SAAS,CAACH,IAAI,CAAC,CAAC;EAC/D;EAEOI,OAAO;IACZ,MAAMJ,IAAI,GAAGJ,MAAM,CAACC,cAAc,CAACQ,OAAO,CAACZ,QAAQ,CAAC;IACpD,IAAIO,IAAI,EAAE;MACR,OAAOrF,IAAI,CAACC,KAAK,CAACoF,IAAI,CAAC;;IAGzB,OAAO,EAAE;EACX;EAEOM,UAAU;IACf,MAAMN,IAAI,GAAGJ,MAAM,CAACC,cAAc,CAACQ,OAAO,CAACZ,QAAQ,CAAC;IACpD,IAAIO,IAAI,EAAE;MACR,OAAO,IAAI;;IAGb,OAAO,KAAK;EACd;EAAC;qBA5BUN,cAAc;EAAA;EAAA;WAAdA,cAAc;IAAAvE,SAAduE,cAAc;IAAAF,YAFb;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJyB;AAC8C;AACgB;AAC3C;AACa;AACS;AACM;AACd;AAC4D;AACb;AACT;AACA;AACvE;AAC+D;AACK;AAC6D;AACF;AACvH;AACE;AACM;;;AAgCvD,MAAO3B,gBAAgB;EAAA;qBAAhBA,gBAAgB;EAAA;EAAA;UAAhBA;EAAgB;EAAA;cAfrB0C,0DAAY,EACZC,oGAAuB,EACvBC,qHAAoB,EACpBhD,wDAAW,EACXC,gEAAmB,EACnBgD,uFAAc,EACdC,gGAAiB,EACjBC,sGAAmB,EACnBC,wFAAe,EACf7C,0DAAgB,EAChBsD,kEAAa,EACbC,wEAAgB,EAChBtD,wEAAuB,EAAE;EAAA;;;uHAGpBJ,gBAAgB;IAAAY,eA5BzBqC,mJAAiC,EACjCC,sIAA4B,EAC5BC,6HAAyB,EACzBC,6HAAyB,EACzBC,sHAAuB,EACvBC,2HAAwB,EACxBC,wLAA8B,EAC9BC,sLAA8B;IAAAvF,UAM1ByE,0DAAY,EACZC,oGAAuB,EACvBC,qHAAoB,EACpBhD,wDAAW,EACXC,gEAAmB,EACnBgD,uFAAc,EACdC,gGAAiB,EACjBC,sGAAmB,EACnBC,wFAAe,EACf7C,0DAAgB,EAChBsD,kEAAa,EACbC,wEAAgB;IAAAxF,UAdpB+E,mJAAiC;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCoC;AACL;AAUpB;AAIjB;;;;;;;;;;;;;;;;;;;;;;ICwBrB7E,6DAAAA,SAAwD;IAEpDA,6DAAAA,EAAqE;IAArEA,6DAAAA,cAAqE;IACnEA,wDAAAA,eAAsjB;IACxjBA,2DAAAA,EAAM;IACNA,8DAAAA,EAAM;IAANA,6DAAAA,WAAM;IAAAA,qDAAAA,GAAe;IAAAA,2DAAAA,EAAO;;;;IAAtBA,wDAAAA,GAAe;IAAfA,gEAAAA,cAAe;;;;;;IAmB7BA,6DAAAA,qCACmE;IADEA,yDAAAA;MAAAA,4DAAAA;MAAA;MAAA,OAAcA,0DAAAA,0BAAkB;IAAA,EAAC;MAAAA,4DAAAA;MAAA;MAAA,OAC1FA,0DAAAA,2BAAmB;IAAA,EADuE;IACnCA,2DAAAA,EAA6B;;;;;IADpEA,yDAAAA,oFAAwC;;;ADjCpE,MAAOgF,yBAAyB;EA2BpC9H,YACUyI,QAAwB,EACxBC,WAAwB,EACxBC,IAAgB,EAChBC,0BAAsD,EACtD1F,YAA0B,EAC1B2F,kBAAsC,EACtCC,wBAAkD,EAClDC,iBAAoC,EACpCC,qBAA4C,EAC5CC,YAA0B,EAC1B5I,MAAc,EACd6I,8BAA8D,EAC9DC,sBAA8C,EAC9CC,MAAsB;IAbtB,aAAQ,GAARX,QAAQ;IACR,gBAAW,GAAXC,WAAW;IACX,SAAI,GAAJC,IAAI;IACJ,+BAA0B,GAA1BC,0BAA0B;IAC1B,iBAAY,GAAZ1F,YAAY;IACZ,uBAAkB,GAAlB2F,kBAAkB;IAClB,6BAAwB,GAAxBC,wBAAwB;IACxB,sBAAiB,GAAjBC,iBAAiB;IACjB,0BAAqB,GAArBC,qBAAqB;IACrB,iBAAY,GAAZC,YAAY;IACZ,WAAM,GAAN5I,MAAM;IACN,mCAA8B,GAA9B6I,8BAA8B;IAC9B,2BAAsB,GAAtBC,sBAAsB;IACtB,WAAM,GAANC,MAAM;IAvChB,gBAAW,GAAU,EAAE;IAWvB,sBAAiB,GAAmB,IAAI;IAExC,sBAAiB,GAAW,EAAE;IAE9B,iBAAY,GAAG,KAAK;IACpB,cAAS,GAAG,KAAK;IACjB,8BAAyB,GAAG,KAAK;IA0DjC;IACQ,2BAAsB,GAA+B;MAC3D,qBAAqB,EAAE,KAAK;MAC5B,sCAAsC,EAAE,KAAK;MAC7C,2BAA2B,EAAE,KAAK;MAClC,QAAQ,EAAE,KAAK;MACf,OAAO,EAAE;KACV;IAzCC,IAAI,CAACC,SAAS,EAAE;IAChB,IAAI,CAACC,eAAe,EAAE;EACxB;EAEAC,QAAQ;IACN,IAAI,CAACC,cAAc,GAAG,IAAI,CAACZ,0BAA0B,CAACa,sBAAsB,CAAC,8BAA8B,CAAC;IAC5GC,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAACH,cAAc,CAAC;IAC1D,IAAI,CAACI,eAAe,GAAG,IAAI,CAAChB,0BAA0B,CAACa,sBAAsB,CAAC,mCAAmC,CAAC;IAClHC,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAACC,eAAe,CAAC;EAEtD;EAEAC,SAAS;IACP,IAAI,CAACC,SAAS,GAAG,IAAI;EACvB;EAEAC,mBAAmB,CAACC,QAAiB;IACnC,IAAI,CAACF,SAAS,GAAG,KAAK;IACtB,IAAIE,QAAQ,EAAE;MACZ,IAAI,CAACC,QAAQ,EAAE;;EAEnB;EAEQZ,SAAS;IACf,IAAI,CAACa,WAAW,GAAG,IAAI,CAACxB,WAAW,CAACyB,KAAK,CAAC;MACxCC,IAAI,EAAE,CAAC,IAAI,EAAE9B,gEAAmB,CAAC;MACjCgC,OAAO,EAAE,CAAC,EAAE,EAAEhC,gEAAmB;KAClC,CAAC;EACJ;EAEAiC,aAAa;IACX,IAAI,CAACC,SAAS,CAACC,aAAa,CAACC,KAAK,EAAE;EACtC;EAYAC,YAAY,CAAC9G,KAAY;IACvB,MAAM+G,qBAAqB,GAA8B;MACvD,qBAAqB,EAAE,kBAAkB;MACzC,sCAAsC,EAAE,6BAA6B;MACrE,2BAA2B,EAAE,wBAAwB;MACrD,QAAQ,EAAE,QAAQ;MAClB,OAAO,EAAE;KACV;IAED,MAAMC,SAAS,GAAGhH,KAAK,CAACiH,MAA0B;IAClD,MAAMC,QAAQ,GAAG/F,QAAQ,CAACgG,cAAc,CAAC,UAAU,CAAC;IAEpD,IAAIH,SAAS,IAAIA,SAAS,CAACI,KAAK,IAAIJ,SAAS,CAACI,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;MAG9D;MACA,IAAI,CAACC,sBAAsB,CAAC,IAAI,CAACC,gBAAgB,IAAI,EAAE,CAAC,GAAG,IAAI;MAC/D,IAAIC,YAAY,GAAG,KAAK;MACxB,IAAIC,WAAW,GAAGC,KAAK,CAACC,IAAI,CAACX,SAAS,CAACI,KAAK,CAAC,CAACrL,MAAM,CAACwK,IAAI,IAAG;QAC1D,IAAIA,IAAI,CAACqB,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE;UAChCJ,YAAY,GAAG,IAAI;UACnB,OAAO,KAAK;;QAEd,OAAO,IAAI;MACb,CAAC,CAAC;MAEF,MAAMK,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;MAEhE,IAAIC,iBAAiB,GAAG,KAAK;MAC7BL,WAAW,GAAGA,WAAW,CAAC1L,MAAM,CAACwK,IAAI,IAAG;QACxC,MAAMwB,aAAa,GAAGxB,IAAI,CAAChE,IAAI,CAACyF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAACH,kBAAkB,CAACI,QAAQ,CAACF,aAAa,CAAC,EAAE;UAC/CD,iBAAiB,GAAG,IAAI;UACxB,OAAO,KAAK;;QAEd,OAAO,IAAI;MACX,CAAC,CAAC;MACF,IAAII,WAAW,GAAG,KAAK;MACvB,MAAMC,SAAS,GAAG,EAAE,CAAC,CAAC;MACtBV,WAAW,GAAGA,WAAW,CAAC1L,MAAM,CAACwK,IAAI,IAAG;QACtC,IAAIA,IAAI,CAAChE,IAAI,CAAC8E,MAAM,GAAGc,SAAS,EAAE;UAChCD,WAAW,GAAG,IAAI;UAClB,OAAO,KAAK;;QAEd,OAAO,IAAI;MACb,CAAC,CAAC;MAIF,IAAIT,WAAW,CAACJ,MAAM,IAAI,CAAC,IAAIG,YAAY,EAAC;QAC1C,IAAI,CAACnI,YAAY,CAAC+I,mBAAmB,CAAC,0CAA0C,EAAE,OAAO,CAAC;QAC1F;;MAGF,IAAIX,WAAW,CAACJ,MAAM,IAAI,CAAC,IAAIS,iBAAiB,EAAC;QAC/C,IAAI,CAACzI,YAAY,CAAC+I,mBAAmB,CAAC,8BAA8B,EAAE,OAAO,CAAC;QAC9E;;MAEF,IAAIX,WAAW,CAACJ,MAAM,IAAI,CAAC,IAAIa,WAAW,EAAC;QACzC,IAAI,CAAC7I,YAAY,CAAC+I,mBAAmB,CAAC,oCAAoC,EAAE,OAAO,CAAC;QACpF;;MAEF,MAAMhB,KAAK,GAAGK,WAAW,CAAC1F,GAAG,CAACwE,IAAI,IAAG;QACnC,IAAI8B,WAAW;QAEf,IAAI,IAAI,CAACd,gBAAgB,IAAIR,qBAAqB,CAAC,IAAI,CAACQ,gBAAsD,CAAC,EAAE;UAC/Gc,WAAW,GAAG,GAAGtB,qBAAqB,CAAC,IAAI,CAACQ,gBAAsD,CAAC,IAAIhB,IAAI,CAAChE,IAAI,EAAE;SACnH,MAAM;UACL8F,WAAW,GAAG9B,IAAI,CAAChE,IAAI;;QAGzB;QACA8F,WAAW,GAAGA,WAAW,CAACC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QAE5C;QACA,MAAMC,UAAU,GAAe,IAAIC,IAAI,CAAC,CAACjC,IAAI,CAAC,EAAE8B,WAAW,EAAE;UAAEI,IAAI,EAAElC,IAAI,CAACkC;QAAI,CAAE,CAAe;QAC/FF,UAAU,CAACG,OAAO,GAAG,IAAI,CAACA,OAAO;QAEjC,OAAOH,UAAU;MACnB,CAAC,CAAC;MAEF,MAAMI,SAAS,GAAGvB,KAAK,CAACrF,GAAG,CAACwE,IAAI,IAAIA,IAAI,CAAChE,IAAI,CAAC,CAACqG,IAAI,CAAC,IAAI,CAAC;MAEzD,IAAI1B,QAAQ,EAAE;QACZA,QAAQ,CAAC2B,WAAW,GAAGF,SAAS,IAAI,0BAA0B;;MAIhE,MAAMG,YAAY,GAAG,IAAI,CAACzC,WAAW,CAAC0C,GAAG,CAAC,MAAM,CAAC,EAAEC,KAAK,IAAI,EAAE;MAC9D,IAAI,CAAC3C,WAAW,CAAC0C,GAAG,CAAC,MAAM,CAAC,EAAEE,QAAQ,CAAC,CAAC,GAAGH,YAAY,EAAE,GAAG1B,KAAK,CAAC,CAAC;MACnE,IAAGI,YAAY,EAAC;QACd,IAAI,CAACnI,YAAY,CAAC+I,mBAAmB,CAAC,uEAAuE,EAAE,SAAS,CAAC;OAC1H,MAAK,IAAIN,iBAAiB,EAAC;QAC1B,IAAI,CAACzI,YAAY,CAAC+I,mBAAmB,CAAC,4FAA4F,EAAE,SAAS,CAAC;OAC/I,MAAI;QACH,IAAI,CAAC/I,YAAY,CAAC+I,mBAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC;;KAEtE,MAAM;MACL,IAAIlB,QAAQ,EAAE;QACZA,QAAQ,CAAC2B,WAAW,GAAG,0BAA0B;;;EAGvD;EAEAK,SAAS;IACP,MAAM9B,KAAK,GAAG,IAAI,CAACf,WAAW,CAAC0C,GAAG,CAAC,MAAM,CAAC,EAAEC,KAAK;IACjD,IAAI5B,KAAK,IAAIA,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;MAC7B,IAAI,CAAC8B,yBAAyB,GAAG,IAAI;KACtC,MAAM;MACLxE,uDAAS,CAAC;QACR0E,KAAK,EAAE,yBAAyB;QAChCC,IAAI,EAAE;OACP,CAAC;;EAEN;EAEAC,UAAU,CAACC,KAAa;IACtB,MAAMV,YAAY,GAAG,IAAI,CAACzC,WAAW,CAAC0C,GAAG,CAAC,MAAM,CAAC,EAAEC,KAAK,IAAI,EAAE;IAE9D,IAAIF,YAAY,CAACzB,MAAM,GAAGmC,KAAK,EAAE;MAE/B,MAAMC,YAAY,GAAGX,YAAY,CAACU,KAAK,CAAC,CAACjH,IAAI,CAACyF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAE3D,IAAI,CAACV,sBAAsB,CAACmC,YAAY,CAAC,GAAG,KAAK;MAEjDX,YAAY,CAACY,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAC7B,IAAI,CAACnD,WAAW,CAAC0C,GAAG,CAAC,MAAM,CAAC,EAAEE,QAAQ,CAACH,YAAY,CAAC;;IAGtD,IAAI,CAACK,yBAAyB,GAAGL,YAAY,CAACzB,MAAM,GAAG,CAAC;EAC1D;EAIAsC,iBAAiB;IACf,IAAI,CAACR,yBAAyB,GAAG,KAAK;EACxC;EAEA1D,eAAe;IACb,IAAI,CAACb,QAAQ,CAACgF,cAAc,EAAE,CAACpK,SAAS,CAACK,GAAG,IAAG;MAC7C,MAAMgK,aAAa,GAAGlM,IAAI,CAACC,KAAK,CAACiC,GAAG,CAAChC,IAAI,CAAC4I,OAAO,CAAC;MAClD,MAAMqD,UAAU,GAAGD,aAAa,CAACE,MAAM,CAACC,KAAK;MAC7C,IAAI,CAACC,WAAW,GAAGJ,aAAa,CAACE,MAAM,CAACG,KAAK;MAC7C,IAAI,CAACC,YAAY,GAAG,wBAAwB;MAC5C,IAAI,CAACC,QAAQ,GAAG,IAAI,CAACD,YAAY,GAAGL,UAAU;IAChD,CAAC,CAAC;EACJ;EAEMO,eAAe;IAAA;IAAA;MACnB,MAAMC,QAAQ,GAAG;QACfC,IAAI,EAAE,KAAI,CAAClE,WAAW,CAAC0C,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK;QAC5CkB,KAAK,EAAE,KAAI,CAACD;OACb;MACD,IAAI;QAEF,MAAMpK,GAAG,SAAS,KAAI,CAAC+E,QAAQ,CAAC4F,aAAa,CAACF,QAAQ,CAAC,CAACG,SAAS,EAAE;QACnE,MAAMZ,aAAa,GAAGlM,IAAI,CAACC,KAAK,CAACiC,GAAG,CAAChC,IAAI,CAAC4I,OAAO,CAAC;QAClD,MAAMiE,YAAY,GAAGb,aAAa,CAAC7M,KAAK;QAExC,IAAI0N,YAAY,IAAI,CAAC,EAAE;UAErB,OAAO,IAAI;SACZ,MAAM;UACL,KAAI,CAACjF,eAAe,EAAE;UACtB,KAAI,CAACpG,YAAY,CAACsL,cAAc,CAACd,aAAa,CAACe,OAAO,CAAC;UACvD,OAAO,KAAK;;OAEf,CAAC,OAAO5N,KAAK,EAAE;QACd6I,OAAO,CAACC,GAAG,CAAC9I,KAAK,CAAC;QAClB,OAAO,KAAK;OACb,SAAS;IAET;EACH;EAEMoJ,QAAQ;IAAA;IAAA;MACZ,IAAI,CAAC,MAAI,CAACC,WAAW,CAACwE,KAAK,EAAE;QAC3B;;MAGF,MAAI,CAAC7E,SAAS,EAAE,CAAC,CAAE;MAEnB;MACA,MAAI,CAAC3G,YAAY,CAACyL,gBAAgB,CAAC,2CAA2C,CAAC;MAG/E;MACA,MAAMC,cAAc,SAAS,MAAI,CAACV,eAAe,EAAE;MAEnD,IAAIU,cAAc,EAAE;QAClB;QACA,MAAI,CAACC,eAAe,EAAE;QAEtB;QACA,MAAMC,eAAe,SAAS,MAAI,CAAC9F,qBAAqB,CAAC+F,YAAY,EAAE,CAACT,SAAS,EAAE;QACnF,MAAI,CAAC/B,OAAO,GAAGuC,eAAe,CAACV,IAAI;QAEnC,IAAI,MAAI,CAAC7B,OAAO,EAAE;UAChB;UACA,MAAI,CAACsC,eAAe,EAAE;UAEtB,MAAMG,aAAa,GAAG,kBAAkB;UACxC,MAAM,MAAI,CAACC,WAAW,CAAC,MAAI,CAAC1C,OAAO,EAAEyC,aAAa,CAAC;;QAGrD;QACA,IAAI,MAAI,CAACE,iBAAiB,KAAK,IAAI,EAAE;UACnC,IAAI;YACF,MAAMC,OAAO,SAAS,MAAI,CAACpG,iBAAiB,CAACqG,oBAAoB,EAAE,CAACd,SAAS,EAAE;YAC/E,MAAI,CAACe,iBAAiB,GAAGF,OAAO,CAACA,OAAO;YACxC,MAAMG,cAAc,GAAG;cACrB,aAAa,EAAE,CAAC;cAChB,UAAU,EAAE,MAAI,CAAC/C,OAAO;cACxB,IAAI,EAAE7F,cAAc,CAACQ,OAAO,CAAC,WAAW,CAAC;cACzC,kBAAkB,EAAE,MAAI,CAACkC,MAAM,CAACmG,WAAW,CAAC,iBAAiB,CAAC;cAC9D,oBAAoB,EAAE,MAAI,CAACnG,MAAM,CAACmG,WAAW,CAAC,MAAI,CAAC3F,eAAe,CAAC4F,UAAU,CAAC;cAC9E,gBAAgB,EAAE,IAAIC,IAAI,EAAE,CAACC,WAAW,EAAE;cAC1C,cAAc,EAAE,IAAID,IAAI,EAAE,CAACC,WAAW,EAAE;cACxC,mBAAmB,EAAE,MAAI,CAACtG,MAAM,CAACmG,WAAW,CAAC,MAAI,CAAC3F,eAAe,CAAC+F,eAAe,CAAC;cAClF,SAAS,EAAE,MAAI,CAAC/F,eAAe,CAACgG,OAAO;cACvC,aAAa,EAAE,MAAI,CAAChG,eAAe,CAACiG,WAAW;cAC/C,cAAc,EAAE,EAAE;cAClB,oBAAoB,EAAE,MAAI,CAACzG,MAAM,CAACmG,WAAW,CAAC,MAAI,CAAC3F,eAAe,CAACkG,iBAAiB,CAAC;cACrF,sBAAsB,EAAE,MAAI,CAAClG,eAAe,CAACmG,cAAc,GAAG,MAAI,CAACnG,eAAe,CAACmG,cAAc,GAAG,IAAI;cACxG,OAAO,EAAE,aAAa;cACtB,iBAAiB,EAAE,MAAI,CAAC3G,MAAM,CAACmG,WAAW,CAAC,oBAAoB,CAAC;cAChE,sBAAsB,EAAE,MAAI,CAACnG,MAAM,CAACmG,WAAW,CAAC,MAAI,CAAC3F,eAAe,CAAC4F,UAAU,CAAC;cAChF,oBAAoB,EAAE,MAAI,CAACpG,MAAM,CAACmG,WAAW,CAAC,MAAI,CAACF,iBAAiB,CAAC;cACrE,sBAAsB,EAAE,IAAI;cAC5B,qBAAqB,EAAE,IAAII,IAAI,EAAE,CAACC,WAAW,EAAE;cAC/C,oBAAoB,EAAE,IAAI;cAC1B,qBAAqB,EAAE,IAAI;cAC3B,sBAAsB,EAAE,IAAI;cAC5B,uBAAuB,EAAE,IAAI;cAC7B,qBAAqB,EAAE,IAAI;cAC3B,YAAY,EAAE,EAAE;cAChB,eAAe,EAAE;aAClB;YAED,MAAMM,kBAAkB,SAAS,MAAI,CAACjH,iBAAiB,CAACkH,cAAc,CAACX,cAAc,CAAC,CAAChB,SAAS,EAAE;YAClG5E,OAAO,CAACC,GAAG,CAAC,oCAAoC,EAAEqG,kBAAkB,CAAC;YAErE,IAAIE,mBAAmB,GAAG,EAAE;YAE5B;YACA,KAAK,MAAMC,SAAS,IAAI,MAAI,CAAC3G,cAAc,EAAE;cAC3C,MAAM4G,OAAO,GAAG,MAAI,CAAClH,8BAA8B,CAACmH,gCAAgC,CAACF,SAAS,CAACG,cAAc,CAAC,CAAChC,SAAS,EAAE,CAAC7I,IAAI,CAAE8K,IAAI,IAAI;gBACvI,MAAI,CAACC,eAAe,GAAGD,IAAI,CAAC,aAAa,CAAC;gBAC1C7G,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAE,MAAI,CAAC6G,eAAe,CAAC;gBAE9D,MAAMC,qBAAqB,GAAG;kBAC5B,aAAa,EAAE,CAAC;kBAChB,YAAY,EAAE,MAAI,CAAClE,OAAO;kBAC1B,kBAAkB,EAAE,MAAI,CAACnD,MAAM,CAACmG,WAAW,CAACY,SAAS,CAACO,WAAW,CAAC;kBAClE,eAAe,EAAE,MAAI,CAACtH,MAAM,CAACmG,WAAW,CAACY,SAAS,CAACQ,YAAY,CAAC;kBAChE,aAAa,EAAE,MAAI,CAACH,eAAe;kBACnC,UAAU,EAAE,IAAI;kBAChB,WAAW,EAAEL,SAAS,CAACS,gBAAgB;kBACvC,eAAe,EAAE,MAAI,CAACxH,MAAM,CAACmG,WAAW,CAACY,SAAS,CAACU,cAAc,CAAC;kBAClE,gBAAgB,EAAE,MAAI,CAACzH,MAAM,CAACmG,WAAW,CAACY,SAAS,CAACG,cAAc,CAAC;kBACnE,IAAI,EAAE5J,cAAc,CAACQ,OAAO,CAAC,WAAW,CAAC;kBACzC,YAAY,EAAE,IAAIuI,IAAI,CAACU,SAAS,CAACW,OAAO,GAAG,GAAG,CAAC,CAACpB,WAAW,EAAE;kBAC7D,YAAY,EAAE,IAAID,IAAI,CAACU,SAAS,CAACY,QAAQ,GAAG,GAAG,CAAC,CAACrB,WAAW,EAAE;kBAC9D,iBAAiB,EAAE,MAAI,CAACtG,MAAM,CAACmG,WAAW,CAAC,iBAAiB,CAAC;kBAC7D,cAAc,EAAE,IAAIE,IAAI,EAAE,CAACC,WAAW,EAAE;kBACxC,UAAU,EAAE,QAAQ;kBACpB,oBAAoB,EAAE,MAAI,CAACtG,MAAM,CAACmG,WAAW,CAAC,MAAI,CAACF,iBAAiB,CAAC;kBACrE,iBAAiB,EAAE,MAAI,CAACjG,MAAM,CAACmG,WAAW,CAAC,MAAI,CAACF,iBAAiB,CAAC;kBAClE,oBAAoB,EAAEc,SAAS,CAACa,kBAAkB;kBAClD,yBAAyB,EAAEb,SAAS,CAACc,uBAAuB;kBAC5D,wBAAwB,EAAEd,SAAS,CAACe,sBAAsB;kBAC1D,aAAa,EAAE,CAAC;kBAChB,aAAa,EAAE;iBAChB;gBAED,OAAOT,qBAAqB;cAC9B,CAAC,CAAC;cAEF;cACAP,mBAAmB,CAACiB,IAAI,CAACf,OAAO,CAAC;;YAGnC;YACA,IAAIgB,CAAC,SAASC,OAAO,CAACC,GAAG,CAACpB,mBAAmB,CAAC;YAC9CxG,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;YACnD,IAAI4H,IAAI,SAAS,MAAI,CAACzI,wBAAwB,CAAC0I,qBAAqB,CAACJ,CAAC,CAAC,CAAC9C,SAAS,EAAE;YACnF;YAEA,IAAIiD,IAAI,CAACxQ,MAAM,IAAI,GAAG,EAAC;cACrB,MAAI,CAACmC,YAAY,CAACsL,cAAc,CAAC,kHAAkH,CAAC;;YAGtJ9E,OAAO,CAACC,GAAG,CAAC,oBAAoB,GAAG4H,IAAI,CAACvH,QAAQ,CAAC;YACjDN,OAAO,CAACC,GAAG,CAAC,oBAAoB,GAAG4H,IAAI,CAAC9C,OAAO,CAAC;YAChD,IAAIgD,YAAY,GAAG,MAAI,CAAC7H,eAAe,CAACgG,OAAO;YAC/C,IAAI6B,YAAY,IAAI,MAAM,EAAE;cAC1BA,YAAY,GAAG,MAAI,CAAC7H,eAAe,CAACiG,WAAW;;YAEjD,IAAI,MAAI,CAACtD,OAAO,IAAIgF,IAAI,CAAC9C,OAAO,IAAI,IAAI,EAAE;cACxC,MAAI,CAACvL,YAAY,CAACwO,2BAA2B,CAAC,MAAI,CAACnF,OAAO,CAAC;cAC3D,IAAI,MAAI,CAAC2C,iBAAiB,KAAK,IAAI,EAAE;gBACnC,MAAMyC,SAAS,GAAc;kBAC3BC,MAAM,EAAE,6BAA6B;kBACrCC,gBAAgB,EAAE;+FAC6D,MAAI,CAACtF,OAAO;uCACpE,MAAI,CAAC3C,eAAe,CAAC+F,eAAe;6CAC9B,MAAI,CAAC/F,eAAe,CAACkG,iBAAiB;oDAC/B,MAAI,CAAClG,eAAe,CAAC4F,UAAU;8BACrDiC,YAAY;;aAE7B;kBACGK,MAAM,EAAE;;;;;iBAKT;gBAED,MAAM,MAAI,CAAC7I,YAAY,CAAC8I,SAAS,CAAC,MAAI,CAACnI,eAAe,CAAC4F,UAAU,EAAE,oDAAoD,EAAEmC,SAAS,CAAC,CAACrD,SAAS,EAAE;;cAGjJ0D,UAAU,CAAC,MAAK;gBACdhN,QAAQ,CAACiN,QAAQ,CAACC,MAAM,EAAE;cAC5B,CAAC,EAAE,KAAK,CAAC;cAGT,MAAI,CAACrD,eAAe,EAAE;cACtB,IAAI,MAAI,CAACA,eAAe,KAAK,CAAC,EAAE;gBAC9B,MAAI,CAACsD,YAAY,GAAG,KAAK;gBACzB,MAAI,CAACjP,YAAY,CAACkP,KAAK,EAAE;;aAG5B,MAAM;cACL;cACA1I,OAAO,CAAC7I,KAAK,CAAC,sBAAsB,CAAC;cACrC,MAAI,CAAC0L,OAAO,GAAG,mBAAmB;cAClC,MAAI,CAACrJ,YAAY,CAACsL,cAAc,CAAC,gDAAgD,CAAC;;YAGpFwD,UAAU,CAAC,MAAK;cACd,MAAI,CAAC3R,MAAM,CAACkD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC,EAAE,KAAK,CAAC;WACV,CAAC,OAAO1C,KAAK,EAAE;YACd6I,OAAO,CAAC7I,KAAK,CAAC,4DAA4D,EAAEA,KAAK,CAAC;YAClF;YACA,MAAI,CAACqC,YAAY,CAACsL,cAAc,CAAC,kHAAkH,CAAC;;SAGvJ,MAAM;UACL9E,OAAO,CAAC7I,KAAK,CAAC,sDAAsD,CAAC;UAErE,MAAI,CAACqC,YAAY,CAACsL,cAAc,CAAC,mEAAmE,CAAC;;OAExG,MAAM;QACL,MAAI,CAACtL,YAAY,CAACsL,cAAc,CAAC,iEAAiE,CAAC;;MAGrG;MACA,MAAI,CAACK,eAAe,EAAE;MACtB,IAAI,MAAI,CAACA,eAAe,KAAK,CAAC,EAAE;QAC9B;QACA,MAAI,CAACsD,YAAY,GAAG,KAAK;QAEzB;QACA,MAAI,CAACjP,YAAY,CAACkP,KAAK,EAAE;;IAC1B;EACH;EAEMnD,WAAW,CAAC1C,OAAe,EAAEyC,aAAqB;IAAA;IAAA;MACtD,MAAM/D,KAAK,GAAwB,MAAI,CAACf,WAAW,CAAC0C,GAAG,CAAC,MAAM,CAAC,EAAEC,KAAK,IAAI,IAAI;MAC9E,IAAI5B,KAAK,IAAIA,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;QAC7B,IAAI;UACF,KAAK,IAAId,IAAI,IAAIa,KAAK,EAAE;YACtB,MAAMoH,gBAAgB,GAAGjI,IAAI,CAAChE,IAAI;YAElC;YACA,MAAMkM,iBAAiB,GAAGD,gBAAgB,CAAClG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;YAEnE,MAAMoG,WAAW,GAAG,IAAIlG,IAAI,CAAC,CAACjC,IAAI,CAAC,EAAE,GAAGmC,OAAO,IAAI+F,iBAAiB,EAAE,EAAE;cAAEhG,IAAI,EAAElC,IAAI,CAACkC;YAAI,CAAE,CAAC;YAE5F,MAAMkG,WAAW,GAAGD,WAAW,CAACjG,IAAI;YACpC,MAAM,MAAI,CAACzD,kBAAkB,CAACoG,WAAW,CAAC,CAACsD,WAAW,CAAC,EAAEhG,OAAO,EAAEyC,aAAa,EAAEwD,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAClE,SAAS,EAAE;;UAGnI,MAAI,CAACY,iBAAiB,GAAG,IAAI;SAC9B,CAAC,OAAOrO,KAAK,EAAE;UACd,MAAI,CAACqC,YAAY,CAACsL,cAAc,CAAC,sEAAsE,CAAC;UACxG,MAAI,CAACU,iBAAiB,GAAG,KAAK;;OAEjC,MAAM;QACL,MAAI,CAAChM,YAAY,CAACsL,cAAc,CAAC,8CAA8C,CAAC;;IACjF;EACH;EAAC;qBA/dU1G,yBAAyB;EAAA;EAAA;UAAzBA,yBAAyB;IAAA9D;IAAAyO;MAAA;;;;;;;;;;;;;QC9BtC3P,6DAAAA,aAAuB;QACmBA,qDAAAA,wBAAiB;QAAAA,2DAAAA,EAAK;QAE9DA,6DAAAA,aAA8B;QACKA,qDAAAA,oFAA6E;QAAAA,2DAAAA,EAAI;QAGpHA,6DAAAA,aAA8B;QACcA,qDAAAA,mDAAuC;QAAAA,2DAAAA,EAAI;QACrFA,6DAAAA,WAA0C;QAAAA,qDAAAA,uDAA+C;QAAAA,2DAAAA,EAAI;QAC7FA,6DAAAA,YAA0C;QAAAA,qDAAAA,iCAAyB;QAAAA,2DAAAA,EAAI;QAGzEA,6DAAAA,cAA8B;QAE1BA,wDAAAA,gBAA+D;QAC/DA,6DAAAA,iBAAgF;QAA/BA,yDAAAA;UAAA;QAAA,EAA8B;QAC7EA,6DAAAA,iBAA0B;QAAAA,qDAAAA,qCAA6B;QAAAA,2DAAAA,EAAS;QAChEA,6DAAAA,cAAQ;QAAAA,qDAAAA,2BAAmB;QAAAA,2DAAAA,EAAS;QACpCA,6DAAAA,cAAQ;QAAAA,qDAAAA,iDAAoC;QAAAA,2DAAAA,EAAS;QACrDA,6DAAAA,cAAQ;QAAAA,qDAAAA,iCAAyB;QAAAA,2DAAAA,EAAS;QAC1CA,6DAAAA,cAAQ;QAAAA,qDAAAA,cAAM;QAAAA,2DAAAA,EAAS;QACvBA,6DAAAA,cAAQ;QAAAA,qDAAAA,aAAK;QAAAA,2DAAAA,EAAS;QAG1BA,wDAAAA,UAAI;QAEJA,6DAAAA,eAAyE;QAAzCA,yDAAAA;UAAA,OAAY4P,cAAU;QAAA,EAAC;QACrD5P,6DAAAA,eAAkE;QAChEA,wDAAAA,iBAA4D;QAC5DA,6DAAAA,iBACsD;QADpBA,yDAAAA;UAAA,OAAU4P,wBAAoB;QAAA,EAAC;QAAjE5P,2DAAAA,EACsD;QACtDA,6DAAAA,kBAA2E;QAA1BA,yDAAAA;UAAA,OAAS4P,mBAAe;QAAA,EAAC;QAAC5P,qDAAAA,4BAAoB;QAAAA,2DAAAA,EAAS;QACxGA,6DAAAA,qBACiE;QAD9BA,yDAAAA;UAAA,OAAU4P,wBAAoB;QAAA,EAAC;QAAlE5P,2DAAAA,EACiE;QAGnEA,6DAAAA,WAAK;QAEDA,yDAAAA,8DAOK;QACPA,2DAAAA,EAAK;QAIPA,6DAAAA,cAA8B;QAEgBA,qDAAAA,gBAAQ;QAAAA,2DAAAA,EAAQ;QAC1DA,wDAAAA,iBAAwF;QAC1FA,2DAAAA,EAAM;QAENA,6DAAAA,eAAqC;QACnCA,wDAAAA,eAAiD;QACjDA,6DAAAA,kBAA6E;QAA5BA,yDAAAA;UAAA,OAAS4P,qBAAiB;QAAA,EAAC;QAAC5P,qDAAAA,0BAAkB;QAAAA,2DAAAA,EAAS;QAI5GA,yDAAAA,8GACgG;QAEhGA,6DAAAA,kBACgE;QAD1CA,yDAAAA;UAAA,OAAS4P,eAAW;QAAA,EAAC;QAEzC5P,qDAAAA,mCACF;QAAAA,2DAAAA,EAAS;QAETA,wDAAAA,UAAI;QAEJA,6DAAAA,eAAyB;QACMA,yDAAAA;UAAA;QAAA,EAAyB;UAAA,OAAkB4P,+BAA2B;QAAA,EAA7C;QACzB5P,2DAAAA,EAA8B;QAC3DA,6DAAAA,kBACsF;QAApFA,yDAAAA;UAAA,OAAS4P,eAAW;QAAA,EAAC;QAA+D5P,qDAAAA,cAAM;QAAAA,2DAAAA,EAAS;;;;QA7DtDA,wDAAAA,IAA8B;QAA9BA,yDAAAA,iCAA8B;QAW3EA,wDAAAA,IAAyB;QAAzBA,yDAAAA,8BAAyB;QAYJA,wDAAAA,IAAiC;QAAjCA,yDAAAA,mFAAiC;QAmBjDA,wDAAAA,GAAgB;QAAhBA,yDAAAA,sBAAAA,4DAAAA,CAAgB;QAMSA,wDAAAA,GAA+B;QAA/BA,yDAAAA,uCAA+B;QAUlCA,wDAAAA,GAAyB;QAAzBA,yDAAAA,4BAAyB;QAEWA,wDAAAA,GAA+C;QAA/CA,yDAAAA,wDAA+C;;;;;;;;;;;;;;;;;;;;;;AC5EzC;;AASzE,MAAOmF,8BAA8B;EAL3CjI;IAOY,oBAAe,GAA0B,IAAI2S,uDAAY,EAAW;IACpE,kBAAa,GAA0B,IAAIA,uDAAY,EAAE;IAEnE,qBAAgB,GAAG,KAAK;;EAExBpJ,QAAQ,IAAW;EAEnBqJ,WAAW;IACT,IAAI,CAACC,eAAe,CAAC/M,IAAI,CAAC,KAAK,CAAC;IAChC,IAAI,CAACgN,aAAa,CAAChN,IAAI,CAAC,KAAK,CAAC;EAChC;EAEAkE,QAAQ;IACN,IAAI,CAAC6I,eAAe,CAAC/M,IAAI,CAAC,KAAK,CAAC;IAChC,IAAI,CAACgN,aAAa,CAAChN,IAAI,CAAC,IAAI,CAAC;EAC/B;EAEAiN,cAAc;IACZ,IAAI,CAACC,gBAAgB,GAAG,CAAC,IAAI,CAACA,gBAAgB;EAChD;EAAC;qBArBU/K,8BAA8B;EAAA;EAAA;UAA9BA,8BAA8B;IAAAjE;IAAAiP;MAAAnJ;MAAAoJ;IAAA;IAAAC;MAAAN;MAAAC;IAAA;IAAA7O;IAAAC;IAAAC;IAAAC;MAAA;QCT3CtB,4DAAAA,aACyG;QAKvFA,oDAAAA,iBAAU;QAAAA,0DAAAA,EAAS;QAACA,uDAAAA,SAAI;QAAKA,oDAAAA,kLAC6D;QAAAA,uDAAAA,UAAI;QACtGA,4DAAAA,gBAAkE;QAA3CA,wDAAAA;UAAA,OAAU4P,oBAAgB;QAAA,EAAC;QAAlD5P,0DAAAA,EAAkE;QAClEA,4DAAAA,gBAAwC;QAAAA,oDAAAA,4EAA0D;QAAAA,0DAAAA,EAAQ;QAG5GA,4DAAAA,cAAmC;QACoDA,wDAAAA;UAAA,OAAS4P,cAAU;QAAA,EAAC;QACvG5P,oDAAAA,gBACF;QAAAA,0DAAAA,EAAS;QACTA,4DAAAA,iBAAgF;QAAxBA,wDAAAA;UAAA,OAAS4P,iBAAa;QAAA,EAAC;QAAC5P,oDAAAA,aAAK;QAAAA,0DAAAA,EAAS;;;QAhBpEA,yDAAAA,0BAA2B;QAa7CA,uDAAAA,IAA8B;QAA9BA,wDAAAA,mCAA8B;;;;;;;;;;;;;;;;;;;;;;;ACb+B;;;;;;ICUtEA,4DAAAA,QAA4B;IAAAA,oDAAAA,yBAAkB;IAAAA,0DAAAA,EAAI;;;;;IAClDA,4DAAAA,QAA8B;IAAAA,oDAAAA,8BAAuB;IAAAA,0DAAAA,EAAI;;;;;;IACzDA,4DAAAA,cAAuH;IAE7GA,oDAAAA,GAAa;IAAAA,0DAAAA,EAAO;IAE5BA,4DAAAA,cAA0B;IACgDA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,0BAAe;IAAA,EAAC;IAACA,oDAAAA,eAAQ;IAAAA,0DAAAA,EAAS;;;;;IALxEA,oEAAAA,kCAAwB;IAE7DA,uDAAAA,GAAa;IAAbA,+DAAAA,cAAa;IAGXA,uDAAAA,GAA+B;IAA/BA,oEAAAA,yCAA+B;;;;;;IAI7CA,4DAAAA,cAA+D;IACUA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAU;IAAA,EAAC;IAACA,oDAAAA,YAAK;IAAAA,0DAAAA,EAAS;;;;;IAtBnHA,4DAAAA,aAE8B;IAKrBA,uDAAAA,0BAA2G;IAC7GA,0DAAAA,EAAM;IACNA,4DAAAA,aAA0C;IACxCA,wDAAAA,oEAAkD;IAClDA,wDAAAA,oEAAyD;IACzDA,wDAAAA,wEAOM;IACRA,0DAAAA,EAAM;IACNA,wDAAAA,2EAEM;IACRA,0DAAAA,EAAM;;;;IAjBgBA,uDAAAA,GAA4C;IAA5CA,wDAAAA,6CAA4C;IAG1DA,uDAAAA,GAAsB;IAAtBA,wDAAAA,iCAAsB;IACtBA,uDAAAA,GAAwB;IAAxBA,wDAAAA,mCAAwB;IACNA,uDAAAA,GAAU;IAAVA,wDAAAA,yBAAU;IASKA,uDAAAA,GAAsB;IAAtBA,wDAAAA,iCAAsB;;;ADd9D,MAAOoF,8BAA8B;EAKzClI;IAJS,UAAK,GAAW,EAAE;IACjB,eAAU,GAAG,IAAI2S,uDAAY,EAAU;IACvC,WAAM,GAAG,IAAIA,uDAAY,EAAQ;EAE3B;EAEhBpJ,QAAQ,IAAU;EAElB6J,YAAY,CAAC/F,KAAa;IACxB,IAAI,CAACD,UAAU,CAACtH,IAAI,CAACuH,KAAK,CAAC;EAC7B;EAEAgG,QAAQ;IACN,IAAI,CAACC,MAAM,CAACxN,IAAI,EAAE;EACpB;EAAC;qBAfUoC,8BAA8B;EAAA;EAAA;UAA9BA,8BAA8B;IAAAlE;IAAAiP;MAAAhI;IAAA;IAAAkI;MAAA/F;MAAAkG;IAAA;IAAArP;IAAAC;IAAAC;IAAAC;MAAA;QCP3CtB,wDAAAA,mEA2BM;;;QAzBDA,wDAAAA,+BAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDmG;AAQzF;;;;;;;;;;;IC2B5BA,4DAAAA,WAA8B;IAAAA,oDAAAA,GAAuC;IAAAA,0DAAAA,EAAO;;;;;IAA9CA,uDAAAA,GAAuC;IAAvCA,+DAAAA,4EAAuC;;;;;IAEnEA,4DAAAA,iBAA8E;IAC5EA,oDAAAA,GACF;IAAAA,0DAAAA,EAAS;;;;IAFsCA,wDAAAA,mCAA8B;IAC3EA,uDAAAA,GACF;IADEA,gEAAAA,oCACF;;;;;;IAHFA,4DAAAA,iBAAqH;IAA7GA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAiBA,yDAAAA,2BAAe;IAAA,EAAC;IACvCA,wDAAAA,mFAES;IACXA,0DAAAA,EAAS;;;;;IAHoBA,uDAAAA,GAAkB;IAAlBA,wDAAAA,sCAAkB;;;;;IAQ/CA,4DAAAA,WAA8B;IAAAA,oDAAAA,GAAwC;IAAAA,0DAAAA,EAAO;;;;;IAA/CA,uDAAAA,GAAwC;IAAxCA,+DAAAA,6EAAwC;;;;;;IACtEA,4DAAAA,gBAAmI;IAA5HA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAiBA,yDAAAA,2BAAe;IAAA,EAAC;IAAxCA,0DAAAA,EAAmI;;;;;IAKnIA,4DAAAA,WAA8B;IAAAA,oDAAAA,GAA4C;IAAAA,0DAAAA,EAAO;;;;;IAAnDA,uDAAAA,GAA4C;IAA5CA,+DAAAA,iFAA4C;;;;;IAExEA,4DAAAA,iBAAyF;IACvFA,oDAAAA,GACF;IAAAA,0DAAAA,EAAS;;;;IAF8CA,wDAAAA,sCAAiC;IACtFA,uDAAAA,GACF;IADEA,gEAAAA,uCACF;;;;;;IAHFA,4DAAAA,iBAA0H;IAAlHA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAiBA,yDAAAA,2BAAe;IAAA,EAAC;IACvCA,wDAAAA,oFAES;IACXA,0DAAAA,EAAS;;;;IAHoBA,uDAAAA,GAA0B;IAA1BA,wDAAAA,4CAA0B;;;;;IAQvDA,4DAAAA,WAA8B;IAAAA,oDAAAA,GAA0C;IAAAA,0DAAAA,EAAO;;;;;IAAjDA,uDAAAA,GAA0C;IAA1CA,+DAAAA,+EAA0C;;;;;IAEtEA,4DAAAA,iBAA6H;IAC3HA,oDAAAA,GACF;IAAAA,0DAAAA,EAAS;;;;IAF2CA,wDAAAA,oCAA+B;IAACA,yDAAAA,wCAAwC;IAC1HA,uDAAAA,GACF;IADEA,gEAAAA,qCACF;;;;;IAHFA,4DAAAA,iBAAsF;IACpFA,wDAAAA,oFAES;IACXA,0DAAAA,EAAS;;;;;IAHoBA,uDAAAA,GAAuB;IAAvBA,wDAAAA,2CAAuB;;;;;IAQpDA,4DAAAA,WAA8B;IAAAA,oDAAAA,GAAgD;IAAAA,0DAAAA,EAAO;;;;;;IAAvDA,uDAAAA,GAAgD;IAAhDA,+DAAAA,6FAAgD;;;;;IAC9EA,uDAAAA,gBACoE;;;;;IAApEA,wDAAAA,oCAA2B;;;;;IAC3BA,4DAAAA,WAA8D;IAAAA,oDAAAA,+BAAwB;IAAAA,0DAAAA,EAAO;;;;;IAI7FA,4DAAAA,WAA8B;IAAAA,oDAAAA,GAA+C;IAAAA,0DAAAA,EAAO;;;;;;IAAtDA,uDAAAA,GAA+C;IAA/CA,+DAAAA,4FAA+C;;;;;IAC7EA,uDAAAA,gBACuG;;;;;IAAvGA,wDAAAA,gDAAoC;;;;;IACpCA,4DAAAA,WAA6D;IAAAA,oDAAAA,+BAAwB;IAAAA,0DAAAA,EAAO;;;;;;IAG5FA,4DAAAA,iBAC0C;IADVA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAW;IAAA,EAAC;IACXA,oDAAAA,eAAQ;IAAAA,0DAAAA,EAAS;;;;;;IACzDA,4DAAAA,iBACqF;IADrDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAW;IAAA,EAAC;IACgCA,oDAAAA,eAAQ;IAAAA,0DAAAA,EAAS;;;;;;IAExGA,4DAAAA,iBAA6F;IAA7DA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,sBAAU;IAAA,EAAC;IAAyCA,oDAAAA,cAAO;IAAAA,0DAAAA,EAAS;;;;;;IAC7GA,4DAAAA,iBAAyF;IAAzDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAW;IAAA,EAAC;IAAoCA,oDAAAA,eAAQ;IAAAA,0DAAAA,EAAS;;;;;;;;;;IA3D9GA,4DAAAA,aAAsF;IACjEA,oDAAAA,GAAW;IAAAA,0DAAAA,EAAK;IACnCA,4DAAAA,aAC4K;IAC1KA,wDAAAA,sEAA4E;IAC5EA,wDAAAA,0EAIS;IAEXA,0DAAAA,EAAK;IACLA,4DAAAA,aAC+K;IAC7KA,wDAAAA,sEAA6E;IAC7EA,wDAAAA,wEAAmI;IACrIA,0DAAAA,EAAK;IAELA,4DAAAA,aAC2L;IACzLA,wDAAAA,wEAAiF;IACjFA,wDAAAA,4EAIS;IACXA,0DAAAA,EAAK;IAELA,4DAAAA,cACqL;IACnLA,wDAAAA,wEAA+E;IAC/EA,wDAAAA,4EAIS;IACXA,0DAAAA,EAAK;IAELA,4DAAAA,cACmK;IACjKA,wDAAAA,wEAAqF;IACrFA,wDAAAA,0EACoE;IACpEA,wDAAAA,wEAA6F;IAC/FA,0DAAAA,EAAK;IACLA,4DAAAA,cACgK;IAC9JA,wDAAAA,wEAAoF;IACpFA,wDAAAA,0EACuG;IACvGA,wDAAAA,wEAA4F;IAC9FA,0DAAAA,EAAK;IACLA,4DAAAA,cAAqC;IACnCA,wDAAAA,4EAC2D;IACzDA,wDAAAA,4EACsG;IAExGA,wDAAAA,4EAA6G;IAC7GA,wDAAAA,4EAA0G;IAC5GA,0DAAAA,EAAK;;;;;;;;;;;;;;IA5D2DA,wDAAAA,uBAAmB;IAChEA,uDAAAA,GAAW;IAAXA,+DAAAA,UAAW;IAE5BA,uDAAAA,GAAyK;IAAzKA,wDAAAA,YAAAA,6DAAAA,2RAAyK;IAClKA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IACeA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAQhEA,uDAAAA,GAA4K;IAA5KA,wDAAAA,YAAAA,6DAAAA,8RAA4K;IACrKA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IACcA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAI/DA,uDAAAA,GAAwL;IAAxLA,wDAAAA,YAAAA,6DAAAA,0SAAwL;IACjLA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IACeA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAQhEA,uDAAAA,GAAkL;IAAlLA,wDAAAA,YAAAA,6DAAAA,0SAAkL;IAC3KA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IACnBA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAQ9BA,uDAAAA,GAAgK;IAAhKA,wDAAAA,YAAAA,6DAAAA,wRAAgK;IACzJA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IACpBA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAEtBA,uDAAAA,GAAqD;IAArDA,wDAAAA,iIAAqD;IAG5DA,uDAAAA,GAA6J;IAA7JA,wDAAAA,YAAAA,6DAAAA,qRAA6J;IACtJA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IACpBA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAEtBA,uDAAAA,GAAoD;IAApDA,wDAAAA,gIAAoD;IAGlDA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAEnBA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAGvBA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IACrBA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;;;;;IAQtCA,4DAAAA,cAAoE;IAClEA,oDAAAA,yCACF;IAAAA,0DAAAA,EAAM;;;;;IAEJA,4DAAAA,eAA4D;IAAAA,oDAAAA,8CAAuC;IAAAA,0DAAAA,EAAO;;;ADlExG,MAAO+E,yBAAyB;EAkDpC7H,YAAoB0I,WAAwB,EAClCrI,MAAc,EAAU6C,YAA0B,EAClDuQ,0BAAsD,EACtDC,0BAAsD;IAH5C,gBAAW,GAAXhL,WAAW;IACrB,WAAM,GAANrI,MAAM;IAAkB,iBAAY,GAAZ6C,YAAY;IACpC,+BAA0B,GAA1BuQ,0BAA0B;IAC1B,+BAA0B,GAA1BC,0BAA0B;IAnDpC,cAAS,GAAkB,IAAI;IAC/B,sBAAiB,GAAe,IAAI;IACpC,YAAO,GAAG,IAAIjE,IAAI,EAAE;IACpB,oBAAe,GAAY,KAAK;IAEzB,oBAAe,GAAW,EAAE;IAEnC,wBAAmB,GAAY,KAAK;IACpC,oBAAe,GAA+B;MAC5CkE,UAAU,EAAE,IAAI;MAChBC,UAAU,EAAE,aAAa;MACzBC,QAAQ,EAAE,IAAI;MACdC,WAAW,EAAE,CAAC;MACdC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;KAClB;IAED,mBAAc,GAA+B;MAC3CL,UAAU,EAAE,IAAI;MAChBC,UAAU,EAAE,aAAa;MACzBC,QAAQ,EAAE,IAAI;MACdC,WAAW,EAAE,EAAE;MACfC,aAAa,EAAE,EAAE;MACjBC,aAAa,EAAE,IAAI;MACnBC,OAAO,EAAE,UAAU;MACnBC,OAAO,EAAE;KAEV;IAIC,cAAS,GAAY,KAAK;IAE1B,uBAAkB,GAAwB,EAAE;IAC5C,4BAAuB,GAA6B,EAAE;IACtD,iCAA4B,GAAkC,EAAE;IAEhE,WAAM,GAAG,CACP;MACE9N,IAAI,EAAE,aAAa;MAAEkG,IAAI,EAAE,MAAM;MAAE6H,MAAM,EAAE,CACzC;QAAE7H,IAAI,EAAE,UAAU;QAAEmC,OAAO,EAAE;MAA0B,CAAE,EACzD;QAAEnC,IAAI,EAAE,WAAW;QAAEmC,OAAO,EAAE;MAA+B,CAAE,EAC/D;QAAEnC,IAAI,EAAE,WAAW;QAAEmC,OAAO,EAAE;MAAgC,CAAE;KAEnE,CACF;IACM,0BAAqB,GAAG,KAAK;IA6SpC,oBAAe,GAAiB2F,OAAwB,IAA6B;MACnF,MAAMrD,QAAQ,GAAG,IAAItB,IAAI,CAAC2E,OAAO,CAACC,MAAM,EAAEzH,GAAG,CAAC,UAAU,CAAC,EAAEC,KAAK,CAAC;MACjE,MAAMiE,OAAO,GAAG,IAAIrB,IAAI,CAAC2E,OAAO,CAACvH,KAAK,CAAC;MACvC,IAAIkE,QAAQ,CAACuD,OAAO,EAAE,GAAGxD,OAAO,CAACwD,OAAO,EAAE,EAAE;QAC1C,OAAO;UAAEC,eAAe,EAAE;QAAI,CAAE;;MAGlC,OAAO,IAAI;IACb,CAAC;IA/SC,IAAI,CAACrK,WAAW,GAAG,IAAIqJ,qDAAS,CAAC,EAAE,CAAC;IACpC,IAAI,CAAClK,SAAS,EAAE;EAClB;EAGME,QAAQ;IAAA;IAAA;MACZ,KAAI,CAACrG,YAAY,CAACyL,gBAAgB,CAAC,2CAA2C,CAAC;MAC/E,KAAI,CAAC6F,eAAe,GAAG,KAAI,CAACC,wBAAwB,EAAE;MAEtD,KAAI,CAACf,0BAA0B,CAACgB,mBAAmB,EAAE,CAACrR,SAAS,CAC5DkN,IAAyB,IAAI;QAC5B,KAAI,CAACoE,kBAAkB,GAAGpE,IAAI;MAChC,CAAC,EACA1P,KAAK,IAAI;QACR6I,OAAO,CAAC7I,KAAK,CAAC,uCAAuC,EAAEA,KAAK,CAAC;MAC/D,CAAC,CACF;MAED,KAAI,CAAC6S,0BAA0B,CAACkB,qBAAqB,EAAE,CAACvR,SAAS,CAC9DkN,IAA8B,IAAI;QACjC,KAAI,CAACsE,uBAAuB,GAAGtE,IAAI;MACrC,CAAC,EACA1P,KAAK,IAAI;QACR6I,OAAO,CAAC7I,KAAK,CAAC,sCAAsC,EAAEA,KAAK,CAAC;MAC9D,CAAC,CACF;MAED,MAAM2S,oDAAc,CAAC,KAAI,CAACE,0BAA0B,CAACoB,wBAAwB,EAAE,CAAC,CAACrP,IAAI,CAAE8K,IAAmC,IAAI;QAC5H,KAAI,CAACwE,4BAA4B,GAAGxE,IAAI;MAC1C,CAAC,CAAC;MAEF,KAAI,CAACyE,WAAW,EAAE;MAClB,KAAI,CAAC9R,YAAY,CAAC+R,UAAU,EAAE;IAAC;EACjC;EAEAC,qBAAqB,CAAC7H,KAAa;IACjC,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,MAAMgI,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM0I,UAAU,GAAGH,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,IAAGyI,UAAU,IAAIC,UAAU,IAAIC,UAAU,IAAIC,WAAW,EAAC;MACvD,IAAIC,GAAG,GAAG,IAAIhG,IAAI,EAAE,CAAC,CAAC;MACtB,IAAIiG,mBAAmB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;MAC/C,IAAIC,YAAY,GAAG,IAAIlG,IAAI,CAACgG,GAAG,CAACnB,OAAO,EAAE,GAAG,CAAC,GAAGoB,mBAAmB,CAAC;MACpE,IAAGP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,CAACf,QAAQ,CAAC,KAAK,CAAC,IAAIqJ,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,CAACf,QAAQ,CAAC,KAAK,CAAC,EAAC;QAExG,OAAO6J,YAAY,CAACjG,WAAW,EAAE,CAAC7D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;OAClE,MAAI;QACH,OAAOsJ,GAAG,CAAC/F,WAAW,EAAE,CAAC7D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;;KAI3D,MAAI;MACH,MAAMyJ,WAAW,GAAG,IAAInG,IAAI,EAAE;MAC9B,IAAIoG,GAAG,GAAG,EAAE;MACZ,IAAIV,OAAO,CAACvI,GAAG,CAAC,gBAAgB,CAAC,EAAEC,KAAK,CAACf,QAAQ,CAAC,KAAK,CAAC,EAAC;QACvD+J,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,IAAI,CAACC,wBAAwB,CAAC,EAAE,EAAEb,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,CAAC,GAAG,CAAC,EAAE;UACxEsI,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEE,QAAQ,CAAC,EAAE,CAAC;;OAEvC,MAAI;QACH+I,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,CAAC;;MAE3C,MAAME,IAAI,GAAGL,WAAW,CAACM,WAAW,EAAE;MACtC,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACF,WAAW,CAACQ,QAAQ,EAAE,GAAG,CAAC,CAAC;MACtD,MAAMC,KAAK,GAAG,IAAI,CAACP,OAAO,CAACF,WAAW,CAACU,QAAQ,EAAE,CAAC;MAClD,MAAMC,OAAO,GAAG,IAAI,CAACT,OAAO,CAACF,WAAW,CAACY,UAAU,EAAE,CAAC;MAEtD;MACA;MACA;MAEA;MAEA;MACA;MACA;MAEA;MAIA;MACA,OAAO,GAAGP,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;;EAE7C;EAEAY,YAAY,CAACpJ,KAAa;IACxB,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,IAAI,CAACqJ,YAAY,GAAG,IAAI,CAACC,YAAY,CAACtJ,KAAK,CAAC;IAC5C,MAAMuJ,KAAK,GAAG,qCAAqC,CAAC,CAAC;IACrD,MAAMC,IAAI,GAAG1B,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IAE9C,IAAI,IAAI,CAAC6J,YAAY,IAAII,SAAS,EAAE;MAAE,IAAI,CAACJ,YAAY,GAAG,CAAC;;IACzD,IAAIK,IAAI,GAAG5B,OAAO,CAACvI,GAAG,CAAC,cAAc,CAAC,EAAEC,KAAK;IAC7C,IAAImK,OAAO;IACX,IAAIH,IAAI,IAAID,KAAK,CAAC9K,QAAQ,CAAC+K,IAAI,CAACI,WAAW,EAAE,CAAC,EAAE;MAC9CF,IAAI,GAAGA,IAAI,CAAC5K,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;;IAElC,IAAI,IAAI,CAACuK,YAAY,IAAI,CAAC,IAAIK,IAAI,CAAC7L,MAAM,GAAG,IAAI,CAACwL,YAAY,EAAC;MAC5DM,OAAO,GAAGD,IAAI,CAACG,SAAS,CAAC,CAAC,EAAE,IAAI,CAACR,YAAY,CAAC;KAC/C,MAAI;MACHM,OAAO,GAAGD,IAAI;;IAIlB5B,OAAO,CAACvI,GAAG,CAAC,cAAc,CAAC,EAAEE,QAAQ,CAACkK,OAAO,CAAC;EAElD;EAEAL,YAAY,CAACtJ,KAAa;IACxB,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC7D,MAAMuK,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzD,QAAQuK,eAAe;MACrB,KAAK,OAAO;QACV,IAAGD,cAAc,IAAI,MAAM,EAAC;UAC1B,OAAO,CAAC;;QAGV,IAAGA,cAAc,IAAI,OAAO,EAAC;UAC3B,OAAO,EAAE;;QAGX;MACF,KAAK,MAAM;QACT,OAAO,EAAE;MACX,KAAK,KAAK;QACR,OAAO,EAAE;MACX;QACE,OAAO,CAAC;IAAC;EAEf;EAEAE,qBAAqB,CAAChK,KAAa;IACjC,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,IAAI8H,OAAO,CAACvI,GAAG,CAAC,UAAU,CAAC,EAAEC,KAAK,KAAK,EAAE,EAAE;MACzC,MAAMyK,WAAW,GAAG,IAAI7H,IAAI,CAAC,CAAC,CAAC;MAC/B,MAAMwG,IAAI,GAAGqB,WAAW,CAACpB,WAAW,EAAE;MACtC,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACwB,WAAW,CAAClB,QAAQ,EAAE,GAAG,CAAC,CAAC;MACtD,MAAMP,GAAG,GAAG,IAAI,CAACC,OAAO,CAACwB,WAAW,CAACvB,OAAO,EAAE,CAAC;MAE/C;MACA,OAAO,GAAGE,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;;IAG3C,MAAM0B,GAAG,GAAG,IAAI9H,IAAI,CAAC0F,OAAO,CAACvI,GAAG,CAAC,UAAU,CAAC,EAAEC,KAAK,CAAC;IACpD,MAAMoJ,IAAI,GAAGsB,GAAG,CAACrB,WAAW,EAAE;IAC9B,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACyB,GAAG,CAACnB,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAMP,GAAG,GAAG,IAAI,CAACC,OAAO,CAACyB,GAAG,CAACxB,OAAO,EAAE,CAAC;IACvC,MAAMM,KAAK,GAAG,IAAI,CAACP,OAAO,CAACyB,GAAG,CAACjB,QAAQ,EAAE,CAAC;IAC1C,MAAMC,OAAO,GAAG,IAAI,CAACT,OAAO,CAACyB,GAAG,CAACf,UAAU,EAAE,CAAC;IAE9C;IACA,OAAO,GAAGP,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;EAC3C;EAEA2B,sBAAsB,CAACnK,KAAa;IAClC,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,IAAIwI,GAAG;IACP,MAAMD,WAAW,GAAG,IAAInG,IAAI,EAAE;IAC9B,MAAM4F,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM0I,UAAU,GAAGH,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,IAAIuI,OAAO,CAACvI,GAAG,CAAC,gBAAgB,CAAC,EAAEC,KAAK,CAACf,QAAQ,CAAC,KAAK,CAAC,EAAC;MACvD+J,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,GAAG,CAAC,CAAC;KAC9C,MAAI;MACHF,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,CAAC;;IAE3C,IAAIZ,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,KAAK,EAAE,EAAE;MACxC,MAAMoJ,IAAI,GAAGL,WAAW,CAACM,WAAW,EAAE;MACtC,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACF,WAAW,CAACQ,QAAQ,EAAE,GAAG,CAAC,CAAC;MAEtD;MACA,OAAO,GAAGH,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;;IAG3C,MAAM0B,GAAG,GAAG,IAAI9H,IAAI,CAAC0F,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAE,EAAEC,KAAK,CAAC;IACpD,MAAMoJ,IAAI,GAAGsB,GAAG,CAACrB,WAAW,EAAE;IAC9B,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACyB,GAAG,CAACnB,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9CP,GAAG,GAAG,IAAI,CAACC,OAAO,CAACyB,GAAG,CAACxB,OAAO,EAAE,CAAC;IAEjC;IACA,OAAO,GAAGE,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;EAC3C;EAEAC,OAAO,CAACjJ,KAAa;IACnB,OAAOA,KAAK,CAAC4K,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1C;EAEA1C,WAAW;IAET,IAAI,CAAC2C,KAAK,GAAG,IAAI,CAAClE,0BAA0B,CAAChK,sBAAsB,CAAC,8BAA8B,CAAC;IACnG,IAAI,CAACkO,KAAK,CAACC,OAAO,CAAEC,OAAY,IAAI;MAClC,IAAIC,iBAAiB,GAAGD,OAAO,CAAClH,YAAY,CAAC9E,KAAK,CAAC,GAAG,CAAC;MACvD,IAAIkM,qBAAqB,GAAG,IAAI,CAACjD,wBAAwB,CAAC+C,OAAO,CAAC;MAClEE,qBAAqB,CAACH,OAAO,CAC3BI,IAAI,IAAG;QACLF,iBAAiB,CAACF,OAAO,CAAEK,KAAa,IAAI;UAC1C,IAAI,CAACA,KAAK,IAAIA,KAAK,CAACC,IAAI,EAAE,CAAChN,MAAM,IAAI,CAAC,EAAC;YACrC;;UAEF2M,OAAO,CAAChH,cAAc,GAAGoH,KAAK;UAC9BJ,OAAO,CAACvH,cAAc,GAAG0H,IAAI,CAACG,cAAc;UAC5CN,OAAO,CAAClH,YAAY,GAAGsH,KAAK;UAC5B,IAAI,CAACG,gBAAgB,CAACP,OAAO,CAAC;UAC9BA,OAAO,CAAClH,YAAY,GAAGmH,iBAAiB,CAACrL,IAAI,CAAC,GAAG,CAAC;QACpD,CAAC,CAAC;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;EACJ;EAEAqI,wBAAwB,CAAC+C,OAAY;IACnC,IAAIE,qBAAqB,GAAkC,EAAE;IAC7D,MAAMM,WAAW,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;IAC9D,KAAK,IAAIC,IAAI,IAAIT,OAAO,EAAE;MACxB,IAAIQ,WAAW,CAACE,IAAI,CAACC,QAAQ,IAAIA,QAAQ,KAAKF,IAAI,CAAC,EAAE;QACnD;;MAEF,IAAIA,IAAI,CAACG,UAAU,CAAC,WAAW,CAAC,IAAIZ,OAAO,CAACS,IAAI,CAAC,KAAK,IAAI,EAAE;QAC1D,IAAII,WAAW,GAAG,IAAI,CAAC3D,4BAA4B,CAACwD,IAAI,CACtDP,IAAI,IAAG;UACL,MAAMW,MAAM,GAAGX,IAAI,CAACY,SAAS,CAAC/M,KAAK,CAAC,GAAG,CAAC,CAACjG,GAAG,CAACiT,CAAC,IAAIA,CAAC,CAACX,IAAI,EAAE,CAAC;UAC3D,OAAOS,MAAM,CAACJ,IAAI,CAACO,KAAK,IAAIA,KAAK,CAAC3M,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAImM,IAAI,CAAC;QAClE,CAAC,CAAC;QACJ,IAAII,WAAW,EAAE;UACfX,qBAAqB,CAAC5G,IAAI,CAACuH,WAAW,CAAC;;;;IAI7C,OAAOX,qBAAqB;EAC9B;EAGQ1O,SAAS;IACf,IAAI,CAACa,WAAW,GAAG,IAAI,CAACxB,WAAW,CAACyB,KAAK,CAAC;MACxC4O,WAAW,EAAE,IAAI,CAACrQ,WAAW,CAACsQ,KAAK,CAAC,EAAE;KACvC,CAAC;EACJ;EAEAvE,wBAAwB;IACtB,MAAMwE,WAAW,GAAG,IAAIxJ,IAAI,EAAE;IAE9B,MAAMyJ,GAAG,GAAGD,WAAW,CAAC/C,WAAW,EAAE;IACrC,MAAMiD,GAAG,GAAG,CAAC,GAAG,IAAIF,WAAW,CAAC7C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAEgD,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAMC,GAAG,GAAG,CAAC,GAAG,GAAGJ,WAAW,CAAClD,OAAO,EAAE,EAAEqD,KAAK,CAAC,CAAC,CAAC,CAAC;IACnD,MAAME,IAAI,GAAG,CAAC,GAAG,GAAGL,WAAW,CAAC3C,QAAQ,EAAE,EAAE8C,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,MAAMG,OAAO,GAAG,CAAC,GAAG,GAAGN,WAAW,CAACzC,UAAU,EAAE,EAAE4C,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAMI,QAAQ,GAAG,CAAC,GAAG,GAAGP,WAAW,CAACQ,UAAU,EAAE,EAAEL,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3D,OAAO,GAAGF,GAAG,IAAIC,GAAG,IAAIE,GAAG,IAAIC,IAAI,IAAIC,OAAO,IAAIC,QAAQ,EAAE;EAC9D;EAEA,IAAIT,WAAW;IACb,OAAO,IAAI,CAAC7O,WAAW,CAAC0C,GAAG,CAAC,aAAa,CAAc;EACzD;EAEAwL,gBAAgB,CAAC7H,IAAU;IACzB,IAAI,CAACwI,WAAW,CAAC5H,IAAI,CAAC,IAAI,CAACuI,wBAAwB,CAACnJ,IAAI,CAAC,CAAC;EAC5D;EAEAoJ,UAAU,CAACC,IAAY;IACrB,IAAIC,CAAC,GAAG,IAAIpK,IAAI,CAACmK,IAAI,CAAC;IACtB,OAAOC,CAAC,CAAC3D,WAAW,EAAE,GAAG,GAAG,GAC1B,CAAC,GAAG,IAAI2D,CAAC,CAACzD,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAEgD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAC1C,CAAC,GAAG,GAAGS,CAAC,CAAC9D,OAAO,EAAE,EAAEqD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GACnC,CAAC,GAAG,GAAGS,CAAC,CAACvD,QAAQ,EAAE,EAAE8C,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GACpC,CAAC,GAAG,GAAGS,CAAC,CAACrD,UAAU,EAAE,EAAE4C,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GACtC,CAAC,GAAG,GAAGS,CAAC,CAACJ,UAAU,EAAE,EAAEL,KAAK,CAAC,CAAC,CAAC,CAAC;EACpC;EAGAM,wBAAwB,CAACnJ,IAAU;IAChC;IACD,OAAO,IAAI,CAAC7H,WAAW,CAACyB,KAAK,CAAC;MAC5B0G,cAAc,EAAE,CAACN,IAAI,EAAEM,cAAc,IAAI,EAAE,CAAC;MAC5CH,WAAW,EAAE,CAACH,IAAI,EAAEG,WAAW,IAAI,EAAE,EAAEpI,+DAAmB,CAAC;MAC3DqI,YAAY,EAAE,CAACJ,IAAI,EAAEI,YAAY,IAAI,EAAE,EAAE,CAACrI,+DAAmB,EAAE,IAAI,CAACwR,kBAAkB,CAAC,EAAE,CAAC,EAAE,IAAI,CAACC,kBAAkB,CAAC,OAAO,CAAC,EAAE,IAAI,CAACC,oBAAoB,EAAE,CAAC,CAAC;MAC3JpJ,gBAAgB,EAAE,CAACL,IAAI,EAAEK,gBAAgB,IAAI,EAAE,EAAEtI,+DAAmB,CAAC;MACrEgI,cAAc,EAAE,CAACC,IAAI,EAAED,cAAc,IAAI,EAAE,EAAEhI,+DAAmB,CAAC;MACjEyI,QAAQ,EAAE,CAAC,IAAI,CAAC4I,UAAU,CAACpJ,IAAI,EAAEQ,QAAQ,CAAC,IAAI,EAAE,EAAEzI,+DAAmB,CAAC;MACtEwI,OAAO,EAAE,CAAC,IAAI,CAAC6I,UAAU,CAACpJ,IAAI,EAAEO,OAAO,CAAC,IAAI,EAAE,EAAE,CAACxI,+DAAmB,EAAE,IAAI,CAAC2R,eAAe,CAAC,CAAC;MAC5FjJ,kBAAkB,EAAE,CAACT,IAAI,EAAES,kBAAkB,IAAI,EAAE,EAAE1I,+DAAmB,CAAC;MACzE2I,uBAAuB,EAAE,CAACV,IAAI,EAAEU,uBAAuB,IAAI,EAAE,EAAE3I,+DAAmB,CAAC;MACnF4I,sBAAsB,EAAE,CAACX,IAAI,EAAEW,sBAAsB,IAAG,EAAE,EAAE5I,+DAAmB,CAAC;MAChF4R,QAAQ,EAAE,CAAC,KAAK;KACjB,CAAC;EACJ;EAEAC,YAAY,CAAC9M,KAAa;IACxB,IAAI,CAACoJ,YAAY,CAACpJ,KAAK,CAAC;EAC1B;EAYA2M,oBAAoB;IAClB,OAAQ5F,OAAwB,IAA6B;MAC3D,IAAIA,OAAO,CAACvH,KAAK,IAAI,SAAS,CAACuN,IAAI,CAAChG,OAAO,CAACvH,KAAK,CAAC,EAAE;QAClD,OAAO;UAAEwN,WAAW,EAAE;QAAI,CAAE;;MAE9B,OAAO,IAAI;IACb,CAAC;EACH;EAEAP,kBAAkB,CAACQ,SAAiB;IAClC,OAAQlG,OAAwB,IAA6B;MAC3D,IAAIA,OAAO,CAACvH,KAAK,IAAIuH,OAAO,CAACvH,KAAK,CAAC3B,MAAM,GAAGoP,SAAS,EAAE;QACrD,OAAO;UAAEC,SAAS,EAAE;YAAEC,cAAc,EAAEF,SAAS;YAAEG,YAAY,EAAErG,OAAO,CAACvH,KAAK,CAAC3B;UAAM;QAAE,CAAE;;MAEzF,OAAO,IAAI;IACb,CAAC;EACH;EAEA6O,kBAAkB,CAAC/N,SAAiB;IAClC,OAAQoI,OAAwB,IAA6B;MAC3D,IAAIA,OAAO,CAACvH,KAAK,IAAIuH,OAAO,CAACvH,KAAK,CAAC3B,MAAM,GAAGc,SAAS,EAAE;QACrD,OAAO;UAAE0O,SAAS,EAAE;YAAEF,cAAc,EAAExO,SAAS;YAAEyO,YAAY,EAAErG,OAAO,CAACvH,KAAK,CAAC3B;UAAM;QAAE,CAAE;;MAEzF,OAAO,IAAI;IACb,CAAC;EACH;EAEAkK,mBAAmB,CAAC/H,KAAa;IAC/B,OAAQ,IAAI,CAACnD,WAAW,CAAC0C,GAAG,CAAC,aAAa,CAAe,CAAC+N,EAAE,CAACtN,KAAK,CAAc;EAClF;EAEAuN,gBAAgB;IACd,IAAI,CAACva,MAAM,CAACkD,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC/C,IAAI,CAACL,YAAY,CAAC+I,mBAAmB,CAAC,kCAAkC,EAAE,MAAM,EAAE,IAAI,CAAC;EACzF;EAGM4O,iBAAiB;IAAA;IAAA;MAErB,MAAI,CAACxa,MAAM,CAACkD,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;MAC5C,MAAI,CAACL,YAAY,CAAC+I,mBAAmB,CAAC,6DAA6D,EAAE,MAAM,EAAE,IAAI,CAAC;MAElH;MACA,IAAI6O,SAAS,GAAG,MAAI,CAACrH,0BAA0B,CAAChK,sBAAsB,CAAC,8BAA8B,CAAC;MACtGqR,SAAS,CAACvN,MAAM,CAAC,CAAC,EAAEuN,SAAS,CAAC5P,MAAM,CAAC;MACrC;MACA,KAAK,IAAImC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,MAAI,CAAC0L,WAAW,CAAC7N,MAAM,EAAEmC,KAAK,EAAE,EAAE;QAC5D;QACA,IAAI,MAAI,CAAC0L,WAAW,CAAC4B,EAAE,CAACtN,KAAK,CAAE,CAACT,GAAG,CAAC,UAAU,CAAE,CAACC,KAAK,KAAK,KAAK,EAChE;UACE,MAAMkO,aAAa,GAAG,MAAI,CAAChC,WAAW,CAAC4B,EAAE,CAACtN,KAAK,CAAc;UAC3D,MAAMkD,IAAI,GAAGwK,aAAa,CAAClO,KAAK;UAChC,IAAI0D,IAAI,CAACD,cAAc,IAAI,oBAAoB,EAAC;YAAEC,IAAI,CAACD,cAAc,GAAG,sBAAsB;;UAC9F,IAAIC,IAAI,CAACD,cAAc,IAAI,kBAAkB,EAAC;YAAEC,IAAI,CAACD,cAAc,GAAG,WAAW;;UACjF,MAAM0K,QAAQ,GAAG;YACfnK,cAAc,EAAEN,IAAI,CAACM,cAAc;YACnCoK,UAAU,EAAE1K,IAAI,CAAC0K,UAAU;YAC3BvK,WAAW,EAAEH,IAAI,CAACG,WAAW;YAC7BC,YAAY,EAAEJ,IAAI,CAACI,YAAY;YAC/BC,gBAAgB,EAAEL,IAAI,CAACK,gBAAgB;YACvCN,cAAc,EAAEC,IAAI,CAACD,cAAc;YACnCS,QAAQ,EAAER,IAAI,CAACQ,QAAQ;YACvBD,OAAO,EAAEP,IAAI,CAACO,OAAO;YACrBE,kBAAkB,EAAET,IAAI,EAAES,kBAAkB;YAC5CC,uBAAuB,EAAEV,IAAI,EAAEU,uBAAuB;YACtDC,sBAAsB,EAAEX,IAAI,EAAEW;WAE/B;UAED;UAEA;UACA,MAAM4J,SAAS,CAAC3J,IAAI,CAAC6J,QAAQ,CAAC;UAC9B,MAAI,CAAC9X,YAAY,CAAC+I,mBAAmB,CAAC,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC;;;IAGlF;EACH;EAGAiP,QAAQ,CAAC7N,KAAa;IACpB,IAAI,CAAC8N,SAAS,GAAG9N,KAAK;IACtB,IAAI,CAAC+N,iBAAiB,GAAG,IAAI,CAACrC,WAAW,CAAC4B,EAAE,CAACtN,KAAK,CAAC,CAACR,KAAK;IACzD,IAAI,CAACwO,SAAS,GAAG,IAAI;EACvB;EACAC,QAAQ,CAACjO,KAAa;IACnB;IACD,IAAI8C,SAAS,GAAG,IAAI,CAAC4I,WAAW,CAAC4B,EAAE,CAACtN,KAAK,CAAC,CAACR,KAAK;IAChD,IAAI,CAAC8K,KAAK,GAAG,IAAI,CAAClE,0BAA0B,CAAChK,sBAAsB,CAAC,8BAA8B,CAAC;IACnG;IACA;IACA,IAAI,CAACsP,WAAW,CAACwC,QAAQ,CAAClO,KAAK,CAAC;EAClC;EAEAmO,OAAO,CAACnO,KAAa;IAEnB,IAAI,CAACoO,eAAe,GAAG,IAAI;IAC3B,MAAMV,aAAa,GAAG,IAAI,CAAChC,WAAW,CAAC4B,EAAE,CAACtN,KAAK,CAAc;IAC7D,IAAI,IAAI,CAACqO,OAAO,CAACrO,KAAK,CAAC,EAAE;MACvB,MAAMkD,IAAI,GAAGwK,aAAa,CAAClO,KAAK;MAChC,MAAMmO,QAAQ,GAAG;QACfnK,cAAc,EAAEN,IAAI,CAACM,cAAc;QACnCoK,UAAU,EAAE1K,IAAI,CAAC0K,UAAU;QAC3BvK,WAAW,EAAEH,IAAI,CAACG,WAAW;QAC7BC,YAAY,EAAEJ,IAAI,CAACI,YAAY;QAC/BC,gBAAgB,EAAEL,IAAI,CAACK,gBAAgB;QACvCN,cAAc,EAAEC,IAAI,CAACD,cAAc;QACnCS,QAAQ,EAAER,IAAI,CAACQ,QAAQ;QACvBD,OAAO,EAAEP,IAAI,CAACO,OAAO;QACrBE,kBAAkB,EAAET,IAAI,EAAES,kBAAkB;QAC5CC,uBAAuB,EAAEV,IAAI,EAAEU,uBAAuB;QACtDC,sBAAsB,EAAEX,IAAI,EAAEW;OAC/B;MAED;MACA,IAAI4J,SAAS,GAAG,IAAI,CAACrH,0BAA0B,CAAChK,sBAAsB,CAAC,mBAAmB,CAAC;MAE3F,IAAI,CAAC0R,SAAS,GAAG,IAAI;MACrB,IAAI,CAACE,SAAS,GAAG,KAAK;MACtB,IAAI,CAACnY,YAAY,CAAC+I,mBAAmB,CAAC,oBAAoB,EAAE,SAAS,EAAE,IAAI,CAAC;KAC7E,MAAM;MACLvC,OAAO,CAACC,GAAG,CAAC,qBAAqB,CAAC;MAClC;;EAEJ;;EAEAgS,WAAW,CAACtO,KAAa;IACvB,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,MAAMuO,YAAY,GAAGzG,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK;IAClD,IAAI,CAAC+O,YAAY,EAAE;MAAE,OAAO,KAAK;;IACjC;IACA,IAAI,CAACA,YAAY,EAAE;MACjB,OAAO,KAAK,CAAC,CAAC;;IAGhB;IACA,MAAMC,oBAAoB,GAAG,IAAIpM,IAAI,EAAE;IACvCoM,oBAAoB,CAACC,QAAQ,CAACD,oBAAoB,CAACvF,QAAQ,EAAE,CAAC;IAE9D;IACA,MAAMxF,OAAO,GAAG,IAAIrB,IAAI,CAACmM,YAAY,CAAC;IAEtC;IACA,IAAI9K,OAAO,GAAG+K,oBAAoB,EAAE;MAClC,OAAO,KAAK,CAAC,CAAC;;;IAGhB,OAAO,IAAI,CAAC,CAAC;EACf;;EAEAH,OAAO,CAACrO,KAAa;IACnB,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,IAAI,CAACqJ,YAAY,GAAG,IAAI,CAACC,YAAY,CAACtJ,KAAK,CAAC;IAC5C,IAAI0J,IAAI,GAAG5B,OAAO,CAACvI,GAAG,CAAC,cAAc,CAAC,EAAEC,KAAK;IAC7C,IAAIkE,QAAQ,GAAGoE,OAAO,CAACvI,GAAG,CAAC,UAAU,CAAC,EAAEC,KAAK;IAC7C,IAAI,CAACkE,QAAQ,EAAE;MAAE,OAAO,KAAK;;IAC7B,IAAID,OAAO,GAAGqE,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK;IAC3C,IAAI,CAACiE,OAAO,EAAE;MAAE,OAAO,KAAK;;IAC5B,IAAI,IAAIrB,IAAI,CAACsB,QAAQ,CAAC,GAAG,IAAItB,IAAI,CAACqB,OAAO,CAAC,EAAE;MAAE,OAAO,KAAK;;IAC1D,IAAI,IAAI,CAAC4F,YAAY,KAAKI,SAAS,EAAC;MAChC,IAAI,IAAI,CAACJ,YAAY,GAAG,CAAC,IAAI,IAAI,CAACA,YAAY,IAAIK,IAAI,CAAC7L,MAAM,EAAC;QAC5D,IAAI,CAAChI,YAAY,CAAC+I,mBAAmB,CAAC,wBAAwB,IAAI,CAACyK,YAAY,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC;QAC/G,OAAO,KAAK;;;IAGlB,IAAI,IAAI,CAACiF,WAAW,CAACtO,KAAK,CAAC,EAAC;MAC1B,IAAI,CAACnK,YAAY,CAAC+I,mBAAmB,CAAC,gFAAgF,EAAE,SAAS,EAAE,IAAI,CAAC;MACxI,OAAO,KAAK;;IAEd,OAAO,IAAI;EACb;EAGA8P,QAAQ,CAAC1O,KAAa;IACpB,IAAI,CAAC8N,SAAS,GAAG,IAAI;IACrB,IAAI,CAACpC,WAAW,CAAC4B,EAAE,CAACtN,KAAK,CAAC,CAACP,QAAQ,CAAC,IAAI,CAACsO,iBAAiB,CAAC;IAC3D,IAAI,CAACA,iBAAiB,GAAG,IAAI;IAC7B,IAAI,CAACC,SAAS,GAAG,KAAK;IACtB,IAAI,CAACnY,YAAY,CAAC+I,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC;EAC3E;EAEAhC,QAAQ;IACN,IAAI,CAACC,WAAW,CAAC8R,gBAAgB,EAAE;EACrC;EAEAC,UAAU,CAAC5O,KAAa;IACtB,OAAO,IAAI,CAAC8N,SAAS,KAAK9N,KAAK;EACjC;EAEA6O,iBAAiB,CAAC7O,KAAa;IAC7B,IAAI,CAAC0L,WAAW,CAACwC,QAAQ,CAAClO,KAAK,CAAC;IAChC,IAAI,CAACnK,YAAY,CAAC+I,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC;EAC7E;EAEAkQ,qBAAqB;IACnB,IAAI,CAAC/D,gBAAgB,EAAE;IACvB,IAAI,CAAClV,YAAY,CAAC+I,mBAAmB,CAAC,2BAA2B,EAAE,MAAM,EAAE,IAAI,CAAC;EAClF;EAEAmQ,cAAc,CAAC/O,KAAa,EAAEgP,SAAiB;IAC7C,MAAMC,SAAS,GAAG,IAAI,CAAClH,mBAAmB,CAAC/H,KAAK,CAAC;IACjD,MAAM+G,OAAO,GAAGkI,SAAS,CAAC1P,GAAG,CAACyP,SAAS,CAAC;IACxC,OAAOjI,OAAO,EAAED,MAAM;EACxB;EAEAoI,eAAe,CAAClP,KAAa,EAAEgP,SAAiB;IAC9C,MAAMlI,MAAM,GAAG,IAAI,CAACiI,cAAc,CAAC/O,KAAK,EAAEgP,SAAS,CAAC;IACpD,IAAIlI,MAAM,EAAE;MACV,KAAK,MAAMqI,GAAG,IAAIrI,MAAM,EAAE;QACxB,IAAIA,MAAM,CAACsI,cAAc,CAACD,GAAG,CAAC,EAAE;UAC9B,MAAME,KAAK,GAAG,IAAI,CAACC,MAAM,CAACpE,IAAI,CAAEqE,CAAC,IAAKA,CAAC,CAACxW,IAAI,KAAKiW,SAAS,CAAC;UAC3D,MAAMxb,KAAK,GAAG6b,KAAK,EAAEvI,MAAM,CAACoE,IAAI,CAAEpS,CAAC,IAAKA,CAAC,CAACmG,IAAI,KAAKkQ,GAAG,CAAC;UACvD,IAAI3b,KAAK,EAAE;YACT,OAAO,OAAOA,KAAK,CAAC4N,OAAO,KAAK,UAAU,GAAI0F,MAAM,CAACqI,GAAG,CAAC,GAAI3b,KAAK,CAAC4N,OAAO;;;;;IAMlF,OAAO,EAAE;EACX;EAEA;EACAoO,YAAY,CAACxP,KAAa,EAAEgP,SAAiB;IAC3C,MAAMC,SAAS,GAAG,IAAI,CAAClH,mBAAmB,CAAC/H,KAAK,CAAC;IACjD,MAAM+G,OAAO,GAAGkI,SAAS,CAAC1P,GAAG,CAACyP,SAAS,CAAC;IACxC,OAAOjI,OAAO,EAAE1F,KAAK,IAAI,KAAK;EAChC;EAEAoO,UAAU,CAAClD,IAAY;IACrB,IAAIC,CAAC,GAAG,IAAIpK,IAAI,CAACmK,IAAI,CAAC;IACtB,IAAIvD,KAAK,GAAGwD,CAAC,CAACvD,QAAQ,EAAE;IACxB,IAAIC,OAAO,GAAGsD,CAAC,CAACrD,UAAU,EAAE;IAC5B,IAAIuG,OAAO,GAAGlD,CAAC,CAACJ,UAAU,EAAE;IAC5B,IAAIuD,IAAI,GAAG3G,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;IAEpCA,KAAK,GAAGA,KAAK,GAAG,EAAE;IAClBA,KAAK,GAAGA,KAAK,GAAGA,KAAK,GAAG,EAAE,CAAC,CAAC;IAE5B,IAAI4G,aAAa,GACf,CAAC,GAAG,GAAG5G,KAAK,EAAE+C,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAC7B,CAAC,GAAG,GAAG7C,OAAO,EAAE6C,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAC/B,CAAC,GAAG,GAAG2D,OAAO,EAAE3D,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAC/B4D,IAAI;IAEN,OACE,CAAC,GAAG,GAAGnD,CAAC,CAAC9D,OAAO,EAAE,EAAEqD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GACnC,CAAC,GAAG,IAAIS,CAAC,CAACzD,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAEgD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAC1C,CAAC,EAAE,GAAGS,CAAC,CAAC3D,WAAW,EAAE,EAAEkD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GACtC6D,aAAa;EAEjB;EAEAC,YAAY,CAAC7P,KAAa;IACxB,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC5D,IAAIsK,cAAc,IAAI,MAAM,EAAE;MAC7B,OAAO,IAAI,CAACxC,kBAAkB,CAAC/U,MAAM,CAACud,IAAI,IAAG;QAC3C,OACEA,IAAI,CAACC,aAAa,KAAK,OAAO,IAC9BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,sBAAsB,IAC7CD,IAAI,CAACC,aAAa,KAAK,iBAAiB,IACxCD,IAAI,CAACC,aAAa,KAAK,KAAK,IAC5BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,qBAAqB;MAEhD,CAAC,CAAC;KACH,MAAM,IAAIjG,cAAc,IAAI,YAAY,EAAE;MACzC,OAAO,IAAI,CAACxC,kBAAkB,CAAC/U,MAAM,CAACud,IAAI,IAAG;QAC3C,OACEA,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,sBAAsB,IAC7CD,IAAI,CAACC,aAAa,KAAK,iBAAiB,IACxCD,IAAI,CAACC,aAAa,KAAK,KAAK,IAC5BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,qBAAqB;MAEhD,CAAC,CAAC;;IAEJ,OAAO,IAAI,CAACzI,kBAAkB;EAChC;EAEA0I,gBAAgB,CAAChQ,KAAa;IAC5B,MAAM8H,OAAO,GAAG,IAAI,CAACC,mBAAmB,CAAC/H,KAAK,CAAC;IAC/C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC7D,MAAMuK,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IAExD,IAAIsK,cAAc,IAAI,MAAM,EAAE;MAC3B,IAAGC,eAAe,IAAI,OAAO,EAAC;QAC5B,OAAO,IAAI,CAACrC,4BAA4B,CAACnV,MAAM,CAACud,IAAI,IAAG;UACrD,OACEA,IAAI,CAAChF,cAAc,KAAK,uBAAuB,IAC/CgF,IAAI,CAAChF,cAAc,KAAK,uBAAuB;QAEnD,CAAC,CAAC;OACH,MAAI;QACH,OAAO,IAAI,CAACpD,4BAA4B,CAACnV,MAAM,CAACud,IAAI,IAAG;UACrD,OACEA,IAAI,CAAChF,cAAc,KAAK,uBAAuB,IAC/CgF,IAAI,CAAChF,cAAc,KAAK,uBAAuB,IAC/CgF,IAAI,CAAChF,cAAc,KAAK,mBAAmB,IAC3CgF,IAAI,CAAChF,cAAc,KAAK,SAAS,IACjCgF,IAAI,CAAChF,cAAc,KAAK,6BAA6B,IACrDgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,yBAAyB,IACjDgF,IAAI,CAAChF,cAAc,KAAK,mBAAmB,IAC3CgF,IAAI,CAAChF,cAAc,KAAK,qBAAqB,IAC7CgF,IAAI,CAAChF,cAAc,KAAK,0BAA0B,IAClDgF,IAAI,CAAChF,cAAc,KAAK,MAAM;QAElC,CAAC,CAAC;;KAEP,MAAM,IAAIhB,cAAc,IAAI,YAAY,EAAE;MACzC,IAAGC,eAAe,IAAI,OAAO,EAAC;QAC5B,OAAO,IAAI,CAACrC,4BAA4B,CAACnV,MAAM,CAACud,IAAI,IAAG;UACrD,OACEA,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,uBAAuB,IAC/CgF,IAAI,CAAChF,cAAc,KAAK,uBAAuB,IAC/CgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,WAAW;QAEvC,CAAC,CAAC;OACH,MACG;QACF,OAAO,IAAI,CAACpD,4BAA4B,CAACnV,MAAM,CAACud,IAAI,IAAG;UACrD,OACEA,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,uBAAuB,IAC/CgF,IAAI,CAAChF,cAAc,KAAK,uBAAuB,IAC/CgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,WAAW,IACnCgF,IAAI,CAAChF,cAAc,KAAK,mBAAmB,IAC3CgF,IAAI,CAAChF,cAAc,KAAK,gBAAgB,IACxCgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,gBAAgB,IACxCgF,IAAI,CAAChF,cAAc,KAAK,SAAS,IACjCgF,IAAI,CAAChF,cAAc,KAAK,6BAA6B,IACrDgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,yBAAyB,IACjDgF,IAAI,CAAChF,cAAc,KAAK,oBAAoB,IAC5CgF,IAAI,CAAChF,cAAc,KAAK,mBAAmB,IAC3CgF,IAAI,CAAChF,cAAc,KAAK,qBAAqB,IAC7CgF,IAAI,CAAChF,cAAc,KAAK,0BAA0B,IAClDgF,IAAI,CAAChF,cAAc,KAAK,oBAAoB,IAC5CgF,IAAI,CAAChF,cAAc,KAAK,MAAM;QAElC,CAAC,CAAC;;KAEL,MACI,IAAIhB,cAAc,IAAI,OAAO,EAAE;MAClC,IAAGC,eAAe,IAAI,OAAO,EAAC;QAC5B,OAAO,IAAI,CAACrC,4BAA4B,CAACnV,MAAM,CAACud,IAAI,IAAG;UACrD,OACEA,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,WAAW;QAEvC,CAAC,CAAC;OACH,MACG;QACF,OAAO,IAAI,CAACpD,4BAA4B,CAACnV,MAAM,CAACud,IAAI,IAAG;UACrD,OACEA,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,wBAAwB,IAChDgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,WAAW,IACnCgF,IAAI,CAAChF,cAAc,KAAK,mBAAmB,IAC3CgF,IAAI,CAAChF,cAAc,KAAK,gBAAgB,IACxCgF,IAAI,CAAChF,cAAc,KAAK,gBAAgB,IACxCgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,gBAAgB,IACxCgF,IAAI,CAAChF,cAAc,KAAK,SAAS,IACjCgF,IAAI,CAAChF,cAAc,KAAK,6BAA6B,IACrDgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB,IAC1CgF,IAAI,CAAChF,cAAc,KAAK,yBAAyB,IACjDgF,IAAI,CAAChF,cAAc,KAAK,oBAAoB,IAC5CgF,IAAI,CAAChF,cAAc,KAAK,0BAA0B,IAClDgF,IAAI,CAAChF,cAAc,KAAK,oBAAoB,IAC5CgF,IAAI,CAAChF,cAAc,KAAK,MAAM,IAC9BgF,IAAI,CAAChF,cAAc,KAAK,kBAAkB;QAE9C,CAAC,CAAC;;;IAKN,OAAO,IAAI,CAACpD,4BAA4B;EAC1C;EACAiB,wBAAwB,CAACsH,MAAW,EAAEC,MAAU;IAC9C,MAAMC,mBAAmB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAC/C;IACA,MAAMC,kBAAkB,GAAG,IAAIhO,IAAI,CAAC,IAAIA,IAAI,EAAE,CAACgI,QAAQ,EAAE,CAAC,CAACnD,OAAO,EAAE;IACpE,MAAMoJ,kBAAkB,GAAG,IAAIjO,IAAI,CAAC8N,MAAM,CAAC9F,QAAQ,EAAE,CAAC,CAACnD,OAAO,EAAE;IAChE,MAAMqJ,wBAAwB,GAAGC,IAAI,CAACC,GAAG,CAACH,kBAAkB,GAAGD,kBAAkB,CAAC;IAClF,MAAMK,cAAc,GAAGF,IAAI,CAACG,KAAK,CAACJ,wBAAwB,GAAGH,mBAAmB,CAAC;IACjF,OAAOM,cAAc;EACvB;EAAC;qBAhwBUjW,yBAAyB;EAAA;EAAA;UAAzBA,yBAAyB;IAAA7D;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QCrCtCtB,4DAAAA,aAA+D;QAEnDA,wDAAAA;UAAA,OAAS4P,sBAAkB;QAAA,EAAC;QAAmD5P,oDAAAA,wCAChF;QAAAA,0DAAAA,EAAS;QAChBA,4DAAAA,gBAA8E;QAAtEA,wDAAAA;UAAA,OAAS4P,uBAAmB;QAAA,EAAC;QAAyC5P,oDAAAA,qCACvE;QAAAA,0DAAAA,EAAS;QAKpBA,4DAAAA,aAAqE;QAC7CA,oDAAAA,0CAA8B;QAAAA,4DAAAA,QAAG;QAAAA,oDAAAA,8BAAiB;QAAAA,0DAAAA,EAAI;QAACA,oDAAAA,2EAAkE;QAAAA,4DAAAA,SAAG;QAAAA,oDAAAA,oBAAY;QAAAA,0DAAAA,EAAI;QAACA,oDAAAA,6BAAe;QAAAA,0DAAAA,EAAI;QAEtLA,4DAAAA,WAAK;QAACA,uDAAAA,UAAI;QAACA,0DAAAA,EAAM;QAEnBA,4DAAAA,eAAuE;QAAvCA,wDAAAA;UAAA,OAAY4P,cAAU;QAAA,EAAC;QACrD5P,4DAAAA,cAA6B;QAKuBA,oDAAAA,oBAAY;QAAAA,0DAAAA,EAAK;QAC/DA,4DAAAA,cAAgD;QAAAA,oDAAAA,yBAAiB;QAAAA,0DAAAA,EAAK;QACtEA,4DAAAA,cAAkD;QAAAA,oDAAAA,0BAAkB;QAAAA,0DAAAA,EAAK;QACzEA,4DAAAA,cAA+C;QAAAA,oDAAAA,wBAAgB;QAAAA,0DAAAA,EAAK;QACpEA,4DAAAA,cAAwD;QAAAA,oDAAAA,gCAAwB;QAAAA,0DAAAA,EAAK;QACrFA,4DAAAA,cAA8C;QAAAA,oDAAAA,oBAAY;QAAAA,0DAAAA,EAAK;QAC/DA,4DAAAA,cAA2C;QAAAA,oDAAAA,iBAAS;QAAAA,0DAAAA,EAAK;QACzDA,4DAAAA,cAA2C;QAAAA,oDAAAA,gBAAQ;QAAAA,0DAAAA,EAAK;QAG5DA,4DAAAA,iBAAmC;QACjCA,wDAAAA,gEA6DK;QACPA,0DAAAA,EAAQ;QAKVA,wDAAAA,gEAEM;QACNA,4DAAAA,WAAK;QACHA,wDAAAA,kEAA0G;QAC5GA,0DAAAA,EAAM;;;QAzFFA,uDAAAA,IAAyB;QAAzBA,wDAAAA,8BAAyB;QAiBCA,uDAAAA,IAAyB;QAAzBA,wDAAAA,qCAAyB;QAmEjDA,uDAAAA,GAA2B;QAA3BA,wDAAAA,mCAA2B;QAIxBA,uDAAAA,GAA2B;QAA3BA,wDAAAA,mCAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChGd;;;;;;;;;;ICwCRA,qEAAAA,GAAmE;IACjEA,oDAAAA,GACF;IAAAA,mEAAAA,EAAe;;;;IADbA,uDAAAA,GACF;IADEA,gEAAAA,+BACF;;;;;IAEEA,oDAAAA,GACF;;;;IADEA,gEAAAA,2BACF;;;;;IAbJA,4DAAAA,aAA8G;IAE1GA,oDAAAA,GACF;IAAAA,0DAAAA,EAAK;IACLA,4DAAAA,aAA2F;IACzFA,oDAAAA,GACF;IAAAA,0DAAAA,EAAK;IACLA,4DAAAA,aAA2F;IACzFA,wDAAAA,qFAEe;IACfA,wDAAAA,0FAAAA,oEAAAA,CAEc;IAChBA,0DAAAA,EAAK;IACLA,4DAAAA,aAA2F;IACzFA,oDAAAA,IACF;IAAAA,0DAAAA,EAAK;IACLA,4DAAAA,cAA2F;IACzFA,oDAAAA,IACF;IAAAA,0DAAAA,EAAK;IACLA,4DAAAA,cAA2F;IACzFA,oDAAAA,IACF;IAAAA,0DAAAA,EAAK;;;;;IArBHA,uDAAAA,GACF;IADEA,gEAAAA,4BACF;IAEEA,uDAAAA,GACF;IADEA,gEAAAA,oCACF;IAEiBA,uDAAAA,GAA+B;IAA/BA,wDAAAA,oCAA+B;IAQ9CA,uDAAAA,GACF;IADEA,gEAAAA,sCACF;IAEEA,uDAAAA,GACF;IADEA,gEAAAA,wCACF;IAEEA,uDAAAA,GACF;IADEA,gEAAAA,gCACF;;;AD3CR,MAAOkF,wBAAwB;EAInChI,YAAoBie,WAAwB,EAAU9a,OAAuB,EAAU9C,MAAc,EAAS0I,iBAAmC,EAAU7F,YAA0B;IAAjK,gBAAW,GAAX+a,WAAW;IAAuB,YAAO,GAAP9a,OAAO;IAA0B,WAAM,GAAN9C,MAAM;IAAiB,sBAAiB,GAAjB0I,iBAAiB;IAA4B,iBAAY,GAAZ7F,YAAY;IAHvK,UAAK,GAAU,EAAE;IAIf,IAAI,CAACgb,WAAW,GAAGD,WAAW,CAAC9T,KAAK,CAAC;MACnCgU,aAAa,EAAE,CAAC,EAAE,EAAE7V,+DAAmB;KACxC,CAAC;EACJ;EAEM2B,QAAQ;IAAA;IAAA;MACZ,IAAI;QACF,IAAImU,QAAQ,GAAG,KAAI,CAACF,WAAW,CAACtR,GAAG,CAAC,eAAe,CAAC,EAAEC,KAAK;QAC3D,MAAMwR,GAAG,SAAS,KAAI,CAACtV,iBAAiB,CAACuV,qBAAqB,CAACF,QAAQ,CAAC,CAAC9P,SAAS,EAAE;QACpF,MAAMiQ,cAAc,GAAG/c,IAAI,CAACC,KAAK,CAAC4c,GAAG,CAAC9M,IAAI,CAAC;QAC3C,KAAI,CAACiN,KAAK,GAAG,EAAE;QACf,KAAI,CAACA,KAAK,CAACrN,IAAI,CAACoN,cAAc,CAAC;QAC/B7U,OAAO,CAACC,GAAG,CAAC,KAAI,CAAC6U,KAAK,CAAC;QAEvB,IAAGH,GAAG,IAAI,EAAE,EAAC;UACX,KAAI,CAACnb,YAAY,CAAC+R,UAAU,EAAE;UAC9B,KAAI,CAAC/R,YAAY,CAAC+I,mBAAmB,CAAC,6BAA6B,EAAE,MAAM,EAAE,IAAI,CAAC;;OAErF,CAAC,OAAOpL,KAAK,EAAE;QACZ,KAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;QAC9B,KAAI,CAAC/R,YAAY,CAAC+I,mBAAmB,CAAC,6BAA6B,EAAE,OAAO,EAAE,IAAI,CAAC;QACnFvC,OAAO,CAAC7I,KAAK,CAAC,kBAAkB,EAAEA,KAAK,CAAC;;IAC3C;EACH;EAEA4d,aAAa,CAACC,KAAa;IACzB,MAAMC,aAAa,GAAG,IAAIlP,IAAI,CAACiP,KAAK,CAAC;IACrC,MAAME,IAAI,GAAGD,aAAa,CAACzI,WAAW,EAAE;IACxC,MAAMiD,GAAG,GAAG0F,MAAM,CAACF,aAAa,CAACvI,QAAQ,EAAE,GAAG,CAAC,CAAC,CAACsB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACjE,MAAM2B,GAAG,GAAGwF,MAAM,CAACF,aAAa,CAAC5I,OAAO,EAAE,CAAC,CAAC2B,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC5D,MAAMoH,eAAe,GAAG,GAAGF,IAAI,IAAIzF,GAAG,IAAIE,GAAG,EAAE;IAC/C,OAAOyF,eAAe;EACxB;EAEAC,kBAAkB,CAACC,MAAc;IAC/B,MAAMC,OAAO,GAA8B;MACzC,iBAAiB,EAAE,uRAAuR;MAC1S,UAAU,EAAE,oDAAoD;MAChE,WAAW,EAAE,oMAAoM;MACjN,SAAS,EAAE,iHAAiH;MAC5H,WAAW,EAAE,0FAA0F;MACvG,WAAW,EAAE;KACd;IAED,OAAOA,OAAO,CAACD,MAAM,CAAC/H,WAAW,EAAE,CAAC;EACtC;EAEA1N,QAAQ,IAER;EAAC;qBAtDUvB,wBAAwB;EAAA;EAAA;UAAxBA,wBAAwB;IAAAhE;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QCnBrCtB,4DAAAA,cAAgC;QAKlBA,uDAAAA,eAQE;QACJA,0DAAAA,EAAM;QACNA,4DAAAA,aAAgD;QAErBA,wDAAAA;UAAA,OAAS4P,cAAU;QAAA,EAAC;QAC1C5P,oDAAAA,eACD;QAAAA,0DAAAA,EAAS;QAGbA,uDAAAA,SAAI;QACJA,4DAAAA,cAA6B;QAG/BA,uDAAAA,eAAmB;QACnBA,4DAAAA,iBACoG;QAE5BA,oDAAAA,iBAAS;QAAAA,0DAAAA,EAAK;QACpFA,4DAAAA,cAAmE;QAAAA,oDAAAA,cAAM;QAAAA,0DAAAA,EAAK;QAC9EA,4DAAAA,cAAoE;QAAAA,oDAAAA,eAAO;QAAAA,0DAAAA,EAAK;QAChFA,4DAAAA,cAA8E;QAAAA,oDAAAA,0BAAkB;QAAAA,0DAAAA,EAAK;QACrGA,4DAAAA,cAAmE;QAAAA,oDAAAA,cAAM;QAAAA,0DAAAA,EAAK;QAC9EA,4DAAAA,cAA2E;QAAAA,oDAAAA,uBAAe;QAAAA,0DAAAA,EAAK;QAGjGA,4DAAAA,aAAQ;QACNA,wDAAAA,8DAwBK;QACPA,0DAAAA,EAAQ;QAIVA,4DAAAA,eAED;QACCA,oDAAAA,IACF;QAAAA,0DAAAA,EAAM;;;QAxENA,wDAAAA,8BAAyB;QAuCkEA,uDAAAA,IAAU;QAAVA,wDAAAA,sBAAU;QAgCnGA,uDAAAA,GACF;QADEA,gEAAAA,iEACF;;;;;;;;;;;;;;;;;;;;;;;;;;ACtEkE;;;;AAOlE,MAAOoc,YAAY;EAIvBlf,YAAoBmf,gBAAkC,EAAU9e,MAAc;IAA1D,qBAAgB,GAAhB8e,gBAAgB;IAA4B,WAAM,GAAN9e,MAAM;IAH9D,yBAAoB,GAAG,KAAK;EAG8C;EAElF+e,gBAAgB,CAAC3Q,OAAe;IAC9BjG,uDAAS,CAAC;MACR0E,KAAK,EAAE,SAAS;MAChB6J,IAAI,EAAEtI,OAAO;MACbtB,IAAI,EAAE,SAAS;MACfkS,iBAAiB,EAAE,SAAS;MAC5BC,WAAW,EAAE;QACXC,SAAS,EAAE,uBAAuB;QAClCC,KAAK,EAAE,mBAAmB;QAC1BtS,KAAK,EAAE,mBAAmB;QAC1BuS,aAAa,EAAE,4BAA4B;QAC3CC,aAAa,EAAE;;KAElB,CAAC;EACJ;EAEAC,wBAAwB,CAAClR,OAAe;IACtCjG,uDAAS,CAAC;MACRoX,QAAQ,EAAE,SAAS;MACnBzS,IAAI,EAAE,SAAS;MACfD,KAAK,EAAE,iBAAiB;MACxB2S,iBAAiB,EAAE,KAAK;MACxBC,KAAK,EAAE;KACR,CAAC;EACJ;EAEApO,2BAA2B,CAACnF,OAAe;IACzC/D,uDAAS,CAAC;MACR0E,KAAK,EAAE,SAAS;MAChB6S,IAAI,EAAE;;;yEAG6DxT,OAAO;;;;;;OAMzE;MACDsT,iBAAiB,EAAE,KAAK;MACxBP,WAAW,EAAE;QACXC,SAAS,EAAE,uBAAuB;QAClCC,KAAK,EAAE,mBAAmB;QAC1BtS,KAAK,EAAE,mBAAmB;QAC1BuS,aAAa,EAAE;OAChB;MACDO,QAAQ,EAAE,MAAK;QACb,MAAMR,KAAK,GAAGhX,2DAAa,EAAE;QAC7B,IAAIgX,KAAK,EAAE;UACT,MAAMU,UAAU,GAAGV,KAAK,CAACW,aAAa,CAAC,mBAAmB,CAAsB;UAChF,MAAMC,cAAc,GAAGZ,KAAK,CAACW,aAAa,CAAC,uBAAuB,CAAsB;UACxF,MAAME,QAAQ,GAAGb,KAAK,CAACW,aAAa,CAAC,iBAAiB,CAAqB;UAE3E,IAAID,UAAU,IAAIG,QAAQ,EAAE;YAC1BH,UAAU,CAACI,gBAAgB,CAAC,OAAO,EAAE,MAAK;cACxCC,SAAS,CAACC,SAAS,CAACC,SAAS,CAACJ,QAAQ,CAACxT,KAAK,CAAC;YAC/C,CAAC,CAAC;;UAGJ,IAAIuT,cAAc,EAAE;YAClBA,cAAc,CAACE,gBAAgB,CAAC,OAAO,EAAE,MAAK;cAC5C9X,wDAAU,EAAE;cACZyJ,QAAQ,CAACC,MAAM,EAAE;cACjB,IAAI,CAAC7R,MAAM,CAACkD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC,CAAC;;;MAGR;KACD,CAAC;EACJ;EAEAiL,cAAc,CAACC,OAAe;IAC5BjG,uDAAS,CAAC;MACR0E,KAAK,EAAE,OAAO;MACd6J,IAAI,EAAEtI,OAAO;MACbtB,IAAI,EAAE,OAAO;MACbkS,iBAAiB,EAAE,SAAS;MAC5BC,WAAW,EAAE;QACXC,SAAS,EAAE,uBAAuB;QAClCC,KAAK,EAAE,mBAAmB;QAC1BtS,KAAK,EAAE,mBAAmB;QAC1BuS,aAAa,EAAE,4BAA4B;QAC3CC,aAAa,EAAE;;KAElB,CAAC;EACJ;EAEAgB,gBAAgB,CAACjS,OAAe;IAC9BjG,uDAAS,CAAC;MACR0E,KAAK,EAAE,aAAa;MACpB6J,IAAI,EAAEtI,OAAO;MACbtB,IAAI,EAAE,SAAS;MACfkS,iBAAiB,EAAE,SAAS;MAC5BC,WAAW,EAAE;QACXC,SAAS,EAAE,uBAAuB;QAClCC,KAAK,EAAE,mBAAmB;QAC1BtS,KAAK,EAAE,mBAAmB;QAC1BuS,aAAa,EAAE,4BAA4B;QAC3CC,aAAa,EAAE;;KAElB,CAAC;EACJ;EAEAzT,mBAAmB,CAAC0U,OAAe,EAAE9J,IAA8C,EAAE+J,WAAmB,IAAI;IAC1GpY,uDAAS,CAAC;MACR0E,KAAK,EAAEyT,OAAO;MACdxT,IAAI,EAAE0J,IAAI;MACViJ,KAAK,EAAEc,QAAQ;MACftB,WAAW,EAAE;QACXC,SAAS,EAAE,uBAAuB;QAClCC,KAAK,EAAE,mBAAmB;QAC1BtS,KAAK,EAAE,mBAAmB;QAC1BuS,aAAa,EAAE,4BAA4B;QAC3CC,aAAa,EAAE;OAChB;MACDG,iBAAiB,EAAE,KAAK;MACxBgB,gBAAgB,EAAE,IAAI;MACtBC,KAAK,EAAE,IAAI;MACXlB,QAAQ,EAAE;KACX,CAAC;EACJ;EAEAjc,aAAa,CAAC8K,OAAe;IAC3BjG,uDAAS,CAAC;MACR0E,KAAK,EAAE,aAAa;MACpB6J,IAAI,EAAEtI,OAAO;MACbtB,IAAI,EAAE,MAAM;MACZkS,iBAAiB,EAAE,SAAS;MAC5BC,WAAW,EAAE;QACXC,SAAS,EAAE,uBAAuB;QAClCC,KAAK,EAAE,mBAAmB;QAC1BtS,KAAK,EAAE,mBAAmB;QAC1BuS,aAAa,EAAE,4BAA4B;QAC3CC,aAAa,EAAE;;KAElB,CAAC;EACJ;EAEAqB,cAAc,CAAC7T,KAAa,EAAE6J,IAAY,EAAEiK,gBAAwB;IAClE,OAAOxY,uDAAS,CAAC;MACf0E,KAAK,EAAEA,KAAK;MACZ6J,IAAI,EAAEA,IAAI;MACVkK,KAAK,EAAE,MAAM;MACbD,gBAAgB,EAAEA,gBAAgB;MAClC3B,iBAAiB,EAAE,SAAS;MAC5BC,WAAW,EAAE;QACXC,SAAS,EAAE,uBAAuB;QAClCC,KAAK,EAAE,mBAAmB;QAC1BtS,KAAK,EAAE,mBAAmB;QAC1BuS,aAAa,EAAE,4BAA4B;QAC3CC,aAAa,EAAE;;KAElB,CAAC;EACJ;EAEA/Q,gBAAgB,CAACF,OAAe;IAC9B,MAAMyS,OAAO,GAAsB;MACjChU,KAAK,EAAEuB,OAAO;MACd0S,iBAAiB,EAAE,KAAK;MACxBtB,iBAAiB,EAAE,KAAK;MACxBuB,OAAO,EAAE,MAAK;QACZ5Y,8DAAgB,EAAE;MACpB;KACD;IAEDA,uDAAS,CAAC0Y,OAAO,CAAC;IAClB,IAAI,CAACI,oBAAoB,GAAG,IAAI;EAClC;EAEArM,UAAU;IACR,IAAI,IAAI,CAACqM,oBAAoB,EAAE;MAC7B9Y,wDAAU,EAAE;MACZ,IAAI,CAAC8Y,oBAAoB,GAAG,KAAK;;EAErC;EAAC;qBApLUpC,YAAY;EAAA;EAAA;WAAZA,YAAY;IAAAld,SAAZkd,YAAY;IAAA7Y,YAFX;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICNlBvD,4DAAAA,aAUC;IACCA,uDAAAA,cAAuM;IACvMA,oDAAAA,GACF;IAAAA,0DAAAA,EAAM;;;;IAXJA,wDAAAA,YAAAA,6DAAAA,yHAME;IAG8BA,uDAAAA,GAA+J;IAA/JA,wDAAAA,YAAAA,6DAAAA,wFAA+J;IAC/LA,uDAAAA,GACF;IADEA,gEAAAA,0BACF;;;ACNI,MAAOiF,uBAAuB;EAKlC/H,YAAoBuhB,qBAA4C;IAA5C,0BAAqB,GAArBA,qBAAqB;IAJzC,YAAO,GAAW,EAAE;IACpB,SAAI,GAAoC,SAAS;IACjD,YAAO,GAAY,KAAK;EAE4C;EAEpEhY,QAAQ;IACN,IAAI,CAACgY,qBAAqB,CAACC,aAAa,CAACne,SAAS,CAAEoe,YAA0F,IAAI;MAChJ,IAAI,CAACd,OAAO,GAAGc,YAAY,CAACd,OAAO;MACnC,IAAI,CAAC9J,IAAI,GAAG4K,YAAY,CAAC5K,IAAI;MAC7B,IAAI,CAAC6K,OAAO,GAAG,IAAI;MAEnB1P,UAAU,CAAC,MAAK;QACd,IAAI,CAAC0P,OAAO,GAAG,KAAK;MACtB,CAAC,EAAED,YAAY,CAACb,QAAQ,CAAC;IAC3B,CAAC,CAAC;EACJ;EAAC;qBAjBU7Y,uBAAuB;EAAA;EAAA;UAAvBA,uBAAuB;IAAA/D;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QDRpCtB,4DAAAA,aAAoC;QAClCA,wDAAAA,4DAaM;QACRA,0DAAAA,EAAM;;;QAbDA,uDAAAA,GAAa;QAAbA,wDAAAA,qBAAa;;;;;;;;;;;;;;;;;;;;;;;AEDa;;AAKzB,MAAO6e,qBAAqB;EAGhC3hB;IAFA,kBAAa,GAAG,IAAI2F,yCAAO,EAAgF;EAE3F;EAEhBsG,mBAAmB,CAAC0U,OAAe,EAAE9J,OAAwC,SAAS,EAAE+J,WAAmB,IAAI;IAC7G,IAAI,CAACY,aAAa,CAAChhB,IAAI,CAAC;MAAEmgB,OAAO;MAAE9J,IAAI;MAAE+J;IAAQ,CAAE,CAAC;EACtD;EAAC;qBAPUe,qBAAqB;EAAA;EAAA;WAArBA,qBAAqB;IAAA3f,SAArB2f,qBAAqB;IAAAtb,YAFpB;EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJiD;AAW7C;;;;;;;;;;;;;ICkCVvD,4DAAAA,iBAAmF;IAC/EA,oDAAAA,GAA+B;IAAAA,0DAAAA,EAAS;;;;IADpCA,mEAAAA,oCAA+B;IACnCA,uDAAAA,GAA+B;IAA/BA,gEAAAA,0CAA+B;;;;;IAc/BA,4DAAAA,cAGC;IACCA,oDAAAA,oCACF;IAAAA,0DAAAA,EAAM;;;;;IAjBRA,4DAAAA,eAWC;IACCA,wDAAAA,uGAKM;IACRA,0DAAAA,EAAM;;;;;;IALDA,uDAAAA,GAAuF;IAAvFA,wDAAAA,uKAAuF;;;;;IAoC1FA,4DAAAA,cAGC;IACCA,oDAAAA,oCACF;IAAAA,0DAAAA,EAAM;;;;;IAjBRA,4DAAAA,eAWC;IACCA,wDAAAA,uGAKM;IACRA,0DAAAA,EAAM;;;;;;IALDA,uDAAAA,GAA+E;IAA/EA,wDAAAA,+JAA+E;;;;;IAkClFA,4DAAAA,cAGC;IACCA,oDAAAA,oCACF;IAAAA,0DAAAA,EAAM;;;;;IAjBRA,4DAAAA,eAWC;IACCA,wDAAAA,uGAKM;IACRA,0DAAAA,EAAM;;;;;;IALDA,uDAAAA,GAA8E;IAA9EA,wDAAAA,8JAA8E;;;;;IAuBnFA,4DAAAA,iBAA0E;IACtEA,oDAAAA,GAAsB;IAAAA,0DAAAA,EAAS;;;;IAD3BA,mEAAAA,iCAA4B;IAChCA,uDAAAA,GAAsB;IAAtBA,gEAAAA,iCAAsB;;;;;IAc1BA,4DAAAA,cAGC;IACCA,oDAAAA,oCACF;IAAAA,0DAAAA,EAAM;;;;;IAjBNA,4DAAAA,eAWD;IACCA,wDAAAA,uGAKM;IACRA,0DAAAA,EAAM;;;;;;IALDA,uDAAAA,GAAkF;IAAlFA,wDAAAA,kKAAkF;;;;;IAMrFA,4DAAAA,eAAiC;IACHA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IA2B3DA,4DAAAA,cAGD;IACDA,oDAAAA,GACA;IAAAA,0DAAAA,EAAM;;;;;IADNA,uDAAAA,GACA;IADAA,gEAAAA,oEACA;;;;;IAaIA,4DAAAA,cAGC;IACCA,oDAAAA,oCACF;IAAAA,0DAAAA,EAAM;;;;;IAjBRA,4DAAAA,eAWC;IACCA,wDAAAA,uGAKM;IACRA,0DAAAA,EAAM;;;;;;IALDA,uDAAAA,GAAmF;IAAnFA,wDAAAA,oKAAmF;;;;;;IAqiB1FA,4DAAAA,cAGC;IAIKA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2BAAe;IAAA,EAAC;IAIzBA,oDAAAA,uCACF;IAAAA,0DAAAA,EAAS;;;;;;IAnvBfA,qEAAAA,GAAsC;IACpCA,4DAAAA,cAAuC;IAElCA,oDAAAA,uBAAgB;IAAAA,4DAAAA,aAA6B;IAAAA,oDAAAA,QAAC;IAAAA,0DAAAA,EAAK;IAEtDA,4DAAAA,iBAOD;IANCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,qCAAyB;IAAA,EAAC;IAOtCA,4DAAAA,iBAA0B;IAAAA,oDAAAA,iBAAU;IAAAA,0DAAAA,EAAS;IAC7CA,wDAAAA,sGAC4C;IAC5CA,0DAAAA,EAAS;IACPA,wDAAAA,kGAkBM;IACRA,0DAAAA,EAAM;IACNA,4DAAAA,eAAuC;IAElCA,oDAAAA,oBAAY;IAAAA,4DAAAA,cAA6B;IAAAA,oDAAAA,SAAC;IAAAA,0DAAAA,EAAK;IAElDA,uDAAAA,iBAWE;IAEFA,wDAAAA,kGAkBM;IACRA,0DAAAA,EAAM;IACNA,4DAAAA,eAAuC;IAElCA,oDAAAA,iBAAS;IAAAA,4DAAAA,cAA6B;IAAAA,oDAAAA,SAAC;IAAAA,0DAAAA,EAAK;IAE/CA,uDAAAA,iBASE;IAEFA,wDAAAA,kGAkBM;IACJA,4DAAAA,eAA4B;IAC1BA,oDAAAA,yRACF;IAAAA,0DAAAA,EAAM;IAEVA,4DAAAA,eAAuC;IAElCA,oDAAAA,yBAAiB;IAAAA,4DAAAA,cAA6B;IAAAA,oDAAAA,SAAC;IAAAA,0DAAAA,EAAK;IAEvDA,4DAAAA,kBAOC;IANCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,sBAAU;IAAA,EAAC;IAOvBA,4DAAAA,kBAA0B;IAAAA,oDAAAA,kBAAU;IAAAA,0DAAAA,EAAS;IAC7CA,wDAAAA,wGACmC;IACnCA,0DAAAA,EAAS;IACTA,wDAAAA,kGAkBI;IACJA,wDAAAA,kGAEM;IACRA,0DAAAA,EAAM;IAENA,4DAAAA,eAAuC;IAElCA,oDAAAA,0BAAkB;IAAAA,4DAAAA,cAA6B;IAAAA,oDAAAA,SAAC;IAAAA,0DAAAA,EAAK;IACtDA,4DAAAA,kBAAkI;IACtHA,oDAAAA,oBAAY;IAAAA,0DAAAA,EAAW;IAIrCA,uDAAAA,gBAAsF;IACtFA,4DAAAA,iBAQE;IAPAA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2BAAe;IAAA,EAAC;IAD3BA,0DAAAA,EAQE;IACFA,4DAAAA,eAED;IACDA,oDAAAA,+GACA;IAAAA,0DAAAA,EAAM;IACJA,wDAAAA,kGAKI;IACJA,wDAAAA,kGAkBM;IACRA,0DAAAA,EAAM;IACNA,4DAAAA,eAAwC;IAEpCA,uDAAAA,iBAIE;IAGNA,0DAAAA,EAAM;IAENA,4DAAAA,eAAuC;IAGjCA,uDAAAA,cAAiB;IACjBA,4DAAAA,eAAqC;IAEnCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,+BAAmB;IAAA,EAAC;IAD9BA,0DAAAA,EAME;IACFA,4DAAAA,iBAGC;IACCA,oDAAAA,2BACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,eAAuC;IAEnCA,uDAAAA,cAAiB;IACjBA,4DAAAA,eAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,uBAAW;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OACbA,yDAAAA,uBAAW;IAAA,EADE;IALxBA,0DAAAA,EAOE;IACFA,4DAAAA,iBAGC;IACCA,oDAAAA,kBACF;IAAAA,0DAAAA,EAAQ;IAEVA,4DAAAA,eAA0C;IAOtCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,uBAAW;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OACbA,yDAAAA,uBAAW;IAAA,EADE;IANxBA,0DAAAA,EAQE;IACFA,4DAAAA,iBAGC;IACCA,oDAAAA,mBACF;IAAAA,0DAAAA,EAAQ;IAOhBA,4DAAAA,eAAuC;IAGjCA,uDAAAA,cAAiB;IACjBA,4DAAAA,eAAqC;IACnCA,uDAAAA,iBAKE;IACFA,4DAAAA,iBAGC;IACCA,oDAAAA,0BACF;IAAAA,0DAAAA,EAAQ;IAOdA,4DAAAA,eAAuC;IAEnCA,uDAAAA,cAAiB;IACjBA,4DAAAA,eAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,0BAAc;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAChBA,yDAAAA,uBAAW;IAAA,EADK;IAL3BA,0DAAAA,EAOE;IACFA,4DAAAA,iBAGC;IACCA,oDAAAA,kBACF;IAAAA,0DAAAA,EAAQ;IAEVA,4DAAAA,eAA0C;IAOtCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,0BAAc;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAChBA,yDAAAA,uBAAW;IAAA,EADK;IAN3BA,0DAAAA,EAQE;IACFA,4DAAAA,iBAGC;IACCA,oDAAAA,mBACF;IAAAA,0DAAAA,EAAQ;IAOhBA,4DAAAA,eAAuC;IAGjCA,uDAAAA,cAAiB;IACjBA,4DAAAA,eAAqC;IACnCA,uDAAAA,iBAKE;IACFA,4DAAAA,iBAGC;IACCA,oDAAAA,yBACF;IAAAA,0DAAAA,EAAQ;IAKdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,0BAAc;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAChBA,yDAAAA,uBAAW;IAAA,EADK;IAL3BA,0DAAAA,EAOE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,mBACF;IAAAA,0DAAAA,EAAQ;IAEVA,4DAAAA,gBAA0C;IAOtCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,0BAAc;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAChBA,yDAAAA,uBAAW;IAAA,EADK;IAN3BA,0DAAAA,EAQE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,oBACF;IAAAA,0DAAAA,EAAQ;IAMhBA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAEjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,+BAAmB;IAAA,EAAC;IADhCA,0DAAAA,EAME;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,wBACF;IAAAA,0DAAAA,EAAQ;IAQdA,uDAAAA,eAAwB;IACxBA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,8BAAkB;IAAA,EAAC;IAL/BA,0DAAAA,EAME;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,iCACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,+BAAmB;IAAA,EAAC;IALhCA,0DAAAA,EAME;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,yBACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,+BAAmB;IAAA,EAAC;IALhCA,0DAAAA,EAME;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,yBACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,+BAAmB;IAAA,EAAC;IALhCA,0DAAAA,EAME;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,wBACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,sCACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,oCACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAMjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,+BAAmB;IAAA,EAAC;IALhCA,0DAAAA,EAME;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,uCACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACDA,oDAAAA,2BACA;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,gDACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,kCACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,4BACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,qCACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,mCACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,6BACF;IAAAA,0DAAAA,EAAQ;IAIdA,4DAAAA,gBAAuC;IAEnCA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IACnCA,uDAAAA,kBAKE;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,uCACF;IAAAA,0DAAAA,EAAQ;IAMdA,4DAAAA,gBAED;IACDA,oDAAAA,mIACA;IAAAA,0DAAAA,EAAM;IACNA,4DAAAA,gBAAwB;IAGpBA,uDAAAA,eAAiB;IACjBA,4DAAAA,gBAAqC;IAEjCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;MAAA,OAAUA,yDAAAA,sCAA0B;IAAA,EAAC;IADvCA,0DAAAA,EAME;IACFA,4DAAAA,kBAGC;IACCA,oDAAAA,qCACF;IAAAA,0DAAAA,EAAQ;IAKZA,wDAAAA,oGAcM;IAERA,mEAAAA,EAAe;;;;;;;;;;IAzuB4CA,uDAAAA,GAAwB;IAAxBA,wDAAAA,oCAAwB;IAI5EA,uDAAAA,GASnB;IATmBA,wDAAAA,8WASnB;IAuBkBA,uDAAAA,GAA2B;IAA3BA,wDAAAA,mCAA2B;IAK1BA,uDAAAA,GASnB;IATmBA,wDAAAA,sVASnB;IAqBkBA,uDAAAA,GAAoC;IAApCA,wDAAAA,+CAAoC;IAKnCA,uDAAAA,GASnB;IATmBA,wDAAAA,mVASnB;IA0BsEA,uDAAAA,IAAkB;IAAlBA,wDAAAA,sCAAkB;IAIvEA,uDAAAA,GASjB;IATiBA,wDAAAA,qWASjB;IAsCiBA,uDAAAA,IAAsB;IAAtBA,wDAAAA,oCAAsB;IAMpBA,uDAAAA,GASnB;IATmBA,wDAAAA,wWASnB;IA0iBiBA,uDAAAA,KAAoB;IAApBA,wDAAAA,+BAAoB;;;;;;IArvB3BA,qEAAAA,OAGC;IACCA,4DAAAA,cAA6C;IAKxCA,oDAAAA,GAAsD;IAAAA,0DAAAA,EACxD;IAEHA,wDAAAA,sGAuvBe;IACfA,4DAAAA,cAGD;IAKGA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,kCAAsB;IAAA,EAAC;IAC9BA,oDAAAA,GACF;IAAAA,0DAAAA,EAAS;IAGbA,mEAAAA,EAAe;;;;;IA/wBbA,wDAAAA,uBAAmB;IAOdA,uDAAAA,GAAsD;IAAtDA,gEAAAA,6DAAsD;IAG5CA,uDAAAA,GAAqB;IAArBA,wDAAAA,mCAAqB;IAiwBhCA,uDAAAA,GACF;IADEA,gEAAAA,yEACF;;;AD5wBR,MAAO8E,4BAA4B;EA2CvC5H,YACU0I,WAAwB,EACxBoZ,gBAA4C,EAC5ClZ,0BAAsD,EACtDvI,MAAc,EACd6C,YAA0B,EAC1B6e,GAAsB;IALtB,gBAAW,GAAXrZ,WAAW;IACX,qBAAgB,GAAhBoZ,gBAAgB;IAChB,+BAA0B,GAA1BlZ,0BAA0B;IAC1B,WAAM,GAANvI,MAAM;IACN,iBAAY,GAAZ6C,YAAY;IACZ,QAAG,GAAH6e,GAAG;IA7Cb,iBAAY,GAAY,KAAK;IAE7B,mBAAc,GAAG,KAAK;IACtB,uBAAkB,GAAY,IAAI;IAElC,kBAAa,GAAG,KAAK;IACrB,WAAM,GAAY,KAAK;IACvB,gBAAW,GAAc,EAAE;IAG3B,iBAAY,GAAuB,CAAC;IACpC,aAAQ,GAAa,KAAK;IAC1B,oBAAe,GAA+B;MAC5CpO,UAAU,EAAE,IAAI;MAChBC,UAAU,EAAE,aAAa;MACzBC,QAAQ,EAAE,IAAI;MACdC,WAAW,EAAE,CAAC;MACdC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;KAClB;IAED,mBAAc,GAA+B;MAC3CL,UAAU,EAAE,IAAI;MACdC,UAAU,EAAE,aAAa;MACzBC,QAAQ,EAAE,IAAI;MACdC,WAAW,EAAE,CAAC;MACdC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;KAElB;IAIC,cAAS,GAAY,KAAK;IAC1B,kBAAa,GAAG,gCAAgC;IAChD,oBAAe,GAAa,EAAE;IAE9B,WAAM,GAAY,KAAK;IAUrB,IAAI,CAAC3K,SAAS,EAAE;EAElB;EAEF;EACA2Y,iBAAiB;IACf,MAAMC,cAAc,GAAa,EAAE;IAEnC,OAAOA,cAAc;EACvB;EAGE1Y,QAAQ;IACN,IAAI,CAAC2Y,MAAM,GAAG,KAAK;IACnB,IAAI,CAACC,eAAe,EAAE;IACtB,IAAI,CAACC,iBAAiB,EAAE;IACxB,IAAI,CAACC,eAAe,GAAG,IAAI,CAACzZ,0BAA0B,CAACa,sBAAsB,CAAC,mCAAmC,CAAC;IAClHC,OAAO,CAACC,GAAG,CAAC,IAAI,CAAC0Y,eAAe,CAAC;IAEjC,IAAIC,SAAS,GAAG,IAAI,CAAC1Z,0BAA0B,CAACa,sBAAsB,CAAC,8BAA8B,CAAC;IACtGC,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAE2Y,SAAS,CAAC;IAC3C,IAAIA,SAAS,EAAE;MACb,MAAMC,WAAW,GAAG,IAAI,CAACC,aAAa,CAAC5V,GAAG,CAAC,aAAa,CAAc;MACtE2V,WAAW,CAAC5b,KAAK,EAAE;MAEnB2b,SAAS,CAAC1K,OAAO,CAAC,CAAC6K,UAAe,EAAEpV,KAAa,KAAI;QACnD,MAAMqV,QAAQ,GAAG,IAAI,CAACha,WAAW,CAACyB,KAAK,CAACsY,UAAU,CAAC;QACnDC,QAAQ,CAAC9V,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;UAAEC,QAAQ,EAAE,IAAI;UAAEC,SAAS,EAAE;QAAI,CAAE,CAAC;QACxEH,QAAQ,CAAC9V,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;UAAEC,QAAQ,EAAE,IAAI;UAAEC,SAAS,EAAE;QAAI,CAAE,CAAC;QACxEH,QAAQ,CAAC9V,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;UAAEC,QAAQ,EAAE,IAAI;UAAEC,SAAS,EAAE;QAAI,CAAE,CAAC;QACxEN,WAAW,CAACpR,IAAI,CAACuR,QAAQ,CAAC;QAC1B,IAAI,CAACI,UAAU,CAACzV,KAAK,CAAC;QACtB,IAAI,CAAC0V,sBAAsB,CAAC1V,KAAK,CAAC;MAEpC,CAAC,CAAC;;IAEJ,IAAI,CAAC6U,MAAM,GAAG,IAAI;IAClB,IAAI,CAACc,mBAAmB,EAAE;EAC5B;EAEAb,eAAe;IACb,IAAI,CAACL,gBAAgB,CAACpN,mBAAmB,EAAE,CAACrR,SAAS,CAACK,GAAG,IAAG;MAC1DgG,OAAO,CAACC,GAAG,CAACjG,GAAG,CAAC;MAChB,IAAI,CAACuf,cAAc,GAAGvf,GAAG;IAC3B,CAAC,CAAC;EACJ;EAEA0e,iBAAiB;IACf,IAAI,CAACN,gBAAgB,CAAClN,qBAAqB,EAAE,CAACvR,SAAS,CAACK,GAAG,IAAG;MAC5DgG,OAAO,CAACC,GAAG,CAACjG,GAAG,CAAC;MAChB,IAAI,CAACwf,gBAAgB,GAAGxf,GAAG;IAC7B,CAAC,CAAC;EACJ;EAEQ2F,SAAS;IACf,IAAI,CAACmZ,aAAa,GAAG,IAAI,CAAC9Z,WAAW,CAACyB,KAAK,CAAC;MAC1CoY,WAAW,EAAE,IAAI,CAAC7Z,WAAW,CAACsQ,KAAK,CAAC,CAClC,IAAIzF,qDAAS,CAAC;QACZ3C,gBAAgB,EAAE,IAAIiR,uDAAW,CAAC,EAAE,CAAC;QACrChR,cAAc,EAAE,IAAIgR,uDAAW,CAAC,EAAE,CAAC;QACnC9Q,QAAQ,EAAE,IAAI8Q,uDAAW,CAAC,EAAE,CAAC;QAC7B/Q,OAAO,EAAE,IAAI+Q,uDAAW,CAAC,EAAE,CAAC;QAC5BlR,YAAY,EAAE,IAAIkR,uDAAW,CAAC,EAAE,CAAC;QACjCnR,WAAW,EAAE,IAAImR,uDAAW,CAAC,EAAE,CAAC;QAChCsB,qBAAqB,EAAE,IAAItB,uDAAW,CAAC;UACrChV,KAAK,EAAE,KAAK;UACZuW,QAAQ,EAAE;SACX,CAAC;QACF/N,UAAU,EAAE,IAAIwM,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAI,CAAE,CAAC;QAC7DC,UAAU,EAAE,IAAIxB,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC9DE,UAAU,EAAE,IAAIzB,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC9D9N,UAAU,EAAE,IAAIuM,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAI,CAAE,CAAC;QAC7DG,UAAU,EAAE,IAAI1B,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC9DI,UAAU,EAAE,IAAI3B,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC9D7N,UAAU,EAAE,IAAIsM,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAI,CAAE,CAAC;QAC7DK,UAAU,EAAE,IAAI5B,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC9DM,UAAU,EAAE,IAAI7B,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC9D5N,WAAW,EAAE,IAAIqM,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DO,WAAW,EAAE,IAAI9B,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DQ,WAAW,EAAE,IAAI/B,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DS,WAAW,EAAE,IAAIhC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DU,WAAW,EAAE,IAAIjC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DW,WAAW,EAAE,IAAIlC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DY,WAAW,EAAE,IAAInC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/Da,WAAW,EAAE,IAAIpC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/Dc,WAAW,EAAE,IAAIrC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/De,WAAW,EAAE,IAAItC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DgB,WAAW,EAAE,IAAIvC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DiB,WAAW,EAAE,IAAIxC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DkB,WAAW,EAAE,IAAIzC,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DmB,WAAW,EAAE,IAAI1C,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DoB,WAAW,EAAE,IAAI3C,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DqB,WAAW,EAAE,IAAI5C,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE,CAAC;QAC/DsB,WAAW,EAAE,IAAI7C,uDAAW,CAAC;UAAEhV,KAAK,EAAE,KAAK;UAAEuW,QAAQ,EAAE;QAAK,CAAE;OAC/D,EAAE;QAAEuB,UAAU,EAAE,IAAI,CAACC,sBAAsB,CAACC,IAAI,CAAC,IAAI;MAAC,CAAE,CAAC,CAC3D;KAEF,CAAC;EAGJ;EAEAD,sBAAsB,CAACxQ,OAAwB;IAC7C,MAAM0Q,QAAQ,GAAI1Q,OAAqB,CAAC0Q,QAAQ;IAChD,MAAMC,iBAAiB,GAAGC,MAAM,CAACpX,MAAM,CAACkX,QAAQ,CAAC,CAACG,IAAI,CAAE7Q,OAAwB,IAAKA,OAAO,CAACvH,KAAK,KAAK,IAAI,CAAC;IAC5G,OAAOkY,iBAAiB,GAAG,IAAI,GAAG;MAAEG,eAAe,EAAE;IAAI,CAAE;EAC7D;EAEAC,OAAO;IACHzb,OAAO,CAACC,GAAG,CAAC,WAAW,EAAC,IAAI,CAAC4Y,WAAW,CAAC;IAC3C,KAAK,MAAM/F,GAAG,IAAI,IAAI,CAAC+F,WAAW,CAACuC,QAAQ,EAAE;MAE3Cpb,OAAO,CAACC,GAAG,CAAC,IAAI,CAAC4Y,WAAW,CAAC3V,GAAG,CAAC4P,GAAG,CAAC,EAAE9N,KAAK,CAAC;MAC7C,IAAI0W,GAAG,GAAG,IAAI,CAAC7C,WAAW,CAAC3V,GAAG,CAAC4P,GAAG,CAAc;MAChD,KAAK,MAAM6I,KAAK,IAAID,GAAG,CAACN,QAAc,EAAE;QACtC,IAAIQ,UAAU;QACd,IAAID,KAAK,IAAI,cAAc,EAAC;UAC1BC,UAAU,GAAG,IAAI,CAACC,aAAa,CAACC,MAAM,CAAChJ,GAAG,CAAC,CAAC;;QAE9C,IAAI6I,KAAK,IAAI,SAAS,EAAC;UACrB,IAAI,IAAI,CAAC1J,WAAW,CAAC6J,MAAM,CAAChJ,GAAG,CAAC,CAAC,EAAC;YAChC,IAAI,CAACtZ,YAAY,CAAC+I,mBAAmB,CAAC,gFAAgF,EAAE,SAAS,EAAE,IAAI,CAAC;YACxI,OAAO,KAAK;;;QAIlB,IAAIqZ,UAAU,EAAE;UACd,IAAI,CAACpiB,YAAY,CAAC+I,mBAAmB,CAAC,8EAA8E,EAAE,SAAS,EAAE,IAAI,CAAC;UACtI,OAAO,KAAK;;QAGd,IAAI,CAAC+Y,MAAM,CAACpX,MAAM,CAACwX,GAAG,CAACN,QAAQ,CAAC,CAACG,IAAI,CAAC7T,CAAC,IAAIA,CAAC,CAACvE,KAAK,IAAI,IAAI,CAAC,EAAE;UAC3D,IAAI,CAAC3J,YAAY,CAAC+I,mBAAmB,CAAC,4EAA4E,EAAE,SAAS,EAAE,IAAI,CAAC;UACpI,OAAO,KAAK;;QAGd,IAAImZ,GAAG,CAACN,QAAQ,CAACO,KAAK,CAAC,CAAClR,MAAM,EAAE;UAC9B,IAAI,CAACjR,YAAY,CAAC+I,mBAAmB,CAAC,sEAAsE,EAAE,SAAS,EAAE,IAAI,CAAC;UAC9H,OAAO,KAAK;;;;IAKZ,OAAO,IAAI;EACjB;EACA0P,WAAW,CAACtO,KAAa;IACvB,MAAMuO,YAAY,GAAG,IAAI,CAAC2G,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC,CAACT,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK;IACrE,IAAI,CAAC+O,YAAY,EAAE;MACjB,OAAO,KAAK,CAAC,CAAC;;IAGhB;IACA,MAAMC,oBAAoB,GAAG,IAAIpM,IAAI,EAAE;IACvCoM,oBAAoB,CAACC,QAAQ,CAACD,oBAAoB,CAACvF,QAAQ,EAAE,CAAC;IAE9D;IACA,MAAMxF,OAAO,GAAG,IAAIrB,IAAI,CAACmM,YAAY,CAAC;IAEtC;IACA,IAAI9K,OAAO,GAAG+K,oBAAoB,EAAE;MAClC,OAAO,KAAK,CAAC,CAAC;;;IAGhB,OAAO,IAAI,CAAC,CAAC;EACf;;EACA0J,aAAa,CAAClY,KAAa;IACzB,MAAMoY,SAAS,GAAG,IAAI,CAAC9O,YAAY,CAACtJ,KAAK,CAAC;IAC1C,IAAIoY,SAAS,IAAI,CAAC,EAAC;MACjB,OAAO,KAAK;;IAEd;IACA,IAAIC,OAAO,GAAG,IAAI,CAACnD,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC,CAACT,GAAG,CAAC,cAAc,CAAC,EAAEC,KAAK,CAACqL,IAAI,EAAE,CAACrM,KAAK,CAAC,GAAG,CAAC;IACrF,OAAO6Z,OAAO,CAACT,IAAI,CAAGhN,KAAU,IAAKA,KAAK,CAAC/M,MAAM,IAAIua,SAAS,CAAC;EACjE;EAEAE,QAAQ,CAACtY,KAAa;IAEpB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C;IACA8H,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACvE,IAAI1N,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAAEsI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,EAAE;MACvE;MACCsI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;KAC1C,MAAM;MACN;MACCqI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;;IAE5C,IAAI,CAAC8Y,gBAAgB,CAACvY,KAAK,CAAC;EAC9B;EAEAwY,WAAW,CAACxY,KAAa;IAEvB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C;IACA8H,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACvE,IAAI1N,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAAEsI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,EAAE;MACtE;MACAsI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;KAC1C,MAAM;MACL;MACAqI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;;IAE5C,IAAI,CAAC8Y,gBAAgB,CAACvY,KAAK,CAAC;IAC5B,IAAI,CAACyY,aAAa,CAACzY,KAAK,CAAC;EAC3B;EAEA0Y,WAAW,CAAC1Y,KAAa;IAEvB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C;IACA8H,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,KAAK;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACxE,IAAI1N,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAAEsI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,EAAE;MACtE;MACAsI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;KAC1C,MAAM;MACL;MACAqI,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;;IAE5C,IAAI,CAAC8Y,gBAAgB,CAACvY,KAAK,CAAC;IAC5B,IAAI,CAACyY,aAAa,CAACzY,KAAK,CAAC;EAC3B;EAEA2Y,gBAAgB,CAAC3Y,KAAa;IAC5B,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI+D,CAAC,GAAG+D,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzC,IAAIoZ,CAAC,GAAG9Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IAEzC,MAAMuK,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzD,IAAIuK,eAAe,IAAI,OAAO,EAAC;MAC/B,IAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,EAAC;QACxEsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;QAC1CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;UAAEC,QAAQ,EAAE,IAAI;UAAEC,SAAS,EAAE;QAAI,CAAE,CAAC;OACzE,MAAK,IAAI1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAI,OAAO,IAAIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAI,OAAO,EAAC;QACrGsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;;;IAGtC,IAAI,CAACN,gBAAgB,CAACvY,KAAK,CAAC;IAC5B,IAAI,CAACyY,aAAa,CAACzY,KAAK,CAAC;EAC3B;EAEA8Y,gBAAgB,CAAC9Y,KAAa;IAC5B,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI+Y,gBAAgB,GAAGjR,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACxD,IAAIuZ,gBAAgB,EAAC;MACnB,IAAIC,SAAS,GAAGlR,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;MAC1CyZ,SAAS,EAAEH,MAAM,EAAE;KACpB,MAAI;MACH,IAAIG,SAAS,GAAGlR,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;MAC1CyZ,SAAS,EAAE1D,OAAO,EAAE;MACpB0D,SAAS,EAAEvZ,QAAQ,CAAC,KAAK,CAAC;;EAE9B;EAEAiW,sBAAsB,CAAC1V,KAAa;IAClC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAIiZ,KAAK,GAAGnR,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IACtC,IAAI0Z,KAAK,EAAEzZ,KAAK,EAAC;MACf,IAAI,CAAC0Z,sBAAsB,CAAClZ,KAAK,EAAE,KAAK,CAAC;MACzCiZ,KAAK,CAACJ,MAAM,EAAE;;EAElB;EAEAM,gBAAgB,CAACnZ,KAAa;IAC5B,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI+D,CAAC,GAAG+D,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzC,IAAIoZ,CAAC,GAAG9Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IAGzC,IAAGsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,EAAC;MACxEsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;MAC1CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;QAAEC,QAAQ,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAE,CAAC;KACzE,MAAK,IAAI1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAI,OAAO,IAAIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAI,OAAO,EAAC;MACrGsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;;IAEtC,IAAI,CAACN,gBAAgB,CAACvY,KAAK,CAAC;IAC5B,IAAI,CAACyY,aAAa,CAACzY,KAAK,CAAC;EAC3B;EAEAsJ,YAAY,CAACtJ,KAAa;IACxB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC7D,MAAMuK,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzD,QAAQuK,eAAe;MACrB,KAAK,OAAO;QACV,IAAGD,cAAc,IAAI,MAAM,EAAC;UAC1B,OAAO,CAAC;;QAGV,IAAGA,cAAc,IAAI,OAAO,EAAC;UAC3B,OAAO,EAAE;;QAGX;MACF,KAAK,MAAM;QACT,OAAO,EAAE;MACX,KAAK,KAAK;QACR,OAAO,EAAE;MACX;QACE,OAAO,CAAC;IAAC;EAEf;EAEAoP,sBAAsB,CAAClZ,KAAa,EAAER,KAAc;IAClD,MAAMsI,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAE5C,KAAK,IAAIoZ,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;MAC9B,MAAMC,WAAW,GAAG,YAAYD,CAAC,EAAE;MACnC,IAAG5Z,KAAK,EAAC;QACPsI,OAAO,CAACvI,GAAG,CAAC8Z,WAAW,CAAC,EAAER,MAAM,EAAE;OACnC,MAAI;QACH/Q,OAAO,CAACvI,GAAG,CAAC8Z,WAAW,CAAC,EAAE/D,OAAO,EAAE;;MAErCxN,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;QAAEC,QAAQ,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAE,CAAC;MACvE1N,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;QAAEC,QAAQ,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAE,CAAC;MACvE1N,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;QAAEC,QAAQ,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAE,CAAC;;EAGvE;EAEA8D,kBAAkB,CAACtZ,KAAa,EAAER,KAAc;IAC9C,MAAMsI,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAE1C,KAAK,IAAIoZ,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;MAC9B,MAAMC,WAAW,GAAG,YAAYD,CAAC,EAAE;MACjCtR,OAAO,CAACvI,GAAG,CAAC8Z,WAAW,CAAC,EAAE5Z,QAAQ,CAACD,KAAK,CAAC;;EAE/C;EAEA+Z,wBAAwB,CAACvZ,KAAa,EAAER,KAAc;IACpD,MAAMsI,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAE1C,KAAK,IAAIoZ,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;MAC9B,MAAMC,WAAW,GAAG,YAAYD,CAAC,EAAE;MACjC,IAAI,CAACtR,OAAO,CAACvI,GAAG,CAAC8Z,WAAW,CAAC,EAAE7Z,KAAK,EAAC;QACnCsI,OAAO,CAACvI,GAAG,CAAC8Z,WAAW,CAAC,EAAE5Z,QAAQ,CAACD,KAAK,CAAC;;;IAG9C;EACD;;EAIEga,uBAAuB,CAACxZ,KAAa;IACnC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAMR,KAAK,GAAGsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IAC/C,IAAI,CAAC0Z,sBAAsB,CAAClZ,KAAK,EAAE,CAACR,KAAK,CAAC;IAC1C,IAAIA,KAAK,EAAC;MACR,IAAI,CAAC8Z,kBAAkB,CAACtZ,KAAK,EAAE,CAACR,KAAK,CAAC;KACvC,MAAI;MACH,IAAI,CAACia,OAAO,CAACzZ,KAAK,CAAC;;IAErB8H,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;IACpC/Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAACD,KAAK,CAAC;EAC7C;EAEA4J,YAAY,CAACpJ,KAAa;IACxB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI,CAACqJ,YAAY,GAAG,IAAI,CAACC,YAAY,CAACtJ,KAAK,CAAC;IAC5C,MAAMuJ,KAAK,GAAG,qCAAqC,CAAC,CAAC;IACrD,MAAMC,IAAI,GAAG1B,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IAE9C,IAAI,IAAI,CAAC6J,YAAY,IAAII,SAAS,EAAE;MAAE,IAAI,CAACJ,YAAY,GAAG,CAAC;;IACzD,IAAIG,IAAI,IAAI,qBAAqB,EAAE;MACjC,IAAIE,IAAI,GAAG5B,OAAO,CAACvI,GAAG,CAAC,cAAc,CAAC,EAAEC,KAAK,CAAChB,KAAK,CAAC,GAAG,CAAC;KACzD,MAAK;MACJ,IAAIkL,IAAI,GAAG5B,OAAO,CAACvI,GAAG,CAAC,cAAc,CAAC,EAAEC,KAAK,CAACka,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAClb,KAAK,CAAC,GAAG,CAAC;;IAE9E,IAAImL,OAAO,GAAG,EAAE;IAChB,KAAK,IAAIa,OAAO,IAAId,IAAI,EAAE;MACxB,IAAIF,IAAI,IAAID,KAAK,CAAC9K,QAAQ,CAAC+K,IAAI,CAACI,WAAW,EAAE,CAAC,EAAE;QAC9CF,IAAI,CAACc,OAAO,CAAC,GAAGd,IAAI,CAACc,OAAO,CAAC,CAAC1L,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;;MAEtD,IAAI,IAAI,CAACuK,YAAY,IAAI,CAAC,IAAIK,IAAI,CAACc,OAAO,CAAC,CAAC3M,MAAM,GAAG,IAAI,CAACwL,YAAY,EAAC;QACrEM,OAAO,CAAC7F,IAAI,CAAC4F,IAAI,CAACc,OAAO,CAAC,CAACX,SAAS,CAAC,CAAC,EAAE,IAAI,CAACR,YAAY,CAAC,CAAC;OAC5D,MAAI;QACHM,OAAO,CAAC7F,IAAI,CAAC4F,IAAI,CAACc,OAAO,CAAC,CAAC;;MAI/B,IAAImP,MAAM,GAAGhQ,OAAO,CAACvK,IAAI,CAAC,GAAG,CAAC;MAC9B0I,OAAO,CAACvI,GAAG,CAAC,cAAc,CAAC,EAAEE,QAAQ,CAACka,MAAM,CAAC;MAC7Ctd,OAAO,CAACC,GAAG,CAACqd,MAAM,CAAC;;EAEvB;EAEApB,gBAAgB,CAACvY,KAAa;IAC5B,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAG1C,MAAM+J,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzD,IAAIuK,eAAe,IAAI,MAAM,EAAC;MAAE;;IAChC,MAAM/B,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAE9C,IAAIyI,UAAU,EAAExI,KAAK,IAAI0I,UAAU,EAAE1I,KAAK,IAAI2I,WAAW,EAAE3I,KAAK,IAAIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,EAAC;MACzIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;MAC1CpD,OAAO,CAACC,GAAG,CAAC,OAAO,EAACwL,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,CAAE;MACnDsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;QAAEC,QAAQ,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAE,CAAC;KACzE,MAAI;MACH;MACA1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;MACpC,IAAI,IAAI,CAAClQ,wBAAwB,CAAC,EAAE,EAAEb,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,CAAC,GAAG,CAAC,EAAE;QACxEsI,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEE,QAAQ,CAAC,EAAE,CAAC;;;EAI1C;EAGAgZ,aAAa,CAACzY,KAAa;IACzB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAM+J,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzD,IAAIuK,eAAe,IAAI,OAAO,EAAC;MAAE;;IAEjC,IAAIjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAIsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,EAAC;MACzEsI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;MAC1CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;QAAEC,QAAQ,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAI,CAAE,CAAC;KACzE,MAAI;MACH;MACA1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;;EAExC;EAEAY,OAAO,CAACzZ,KAAa;IACnB,IAAI,CAACkZ,sBAAsB,CAAClZ,KAAK,EAAE,IAAI,CAAC;IACxC,IAAI,CAACsZ,kBAAkB,CAACtZ,KAAK,EAAE,KAAK,CAAC;IACrC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC7D,MAAMuK,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzD,IAAI,CAAC6J,YAAY,GAAG,CAAC;IACrB,IAAI2P,SAAS,GAAGlR,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC1CyZ,SAAS,EAAE1D,OAAO,EAAE;IACpB0D,SAAS,EAAEvZ,QAAQ,CAAC,KAAK,CAAC;IAC1BqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;IAC3CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACxE1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;IAC3CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACxE1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;IAC1CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACxE1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,EAAE;IACrCxN,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;IAE3C,MAAMuI,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,IAAI,CAACqa,sBAAsB,CAAC5Z,KAAK,CAAC;IAClC,QAAQ+J,eAAe;MACrB,KAAK,OAAO;QACVjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;QAC3CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC,IAAG/O,cAAc,IAAI,MAAM,EAAC;UAC1B,IAAI,CAACT,YAAY,GAAG,CAAC;UACrB;;QAEF,IAAGS,cAAc,IAAI,OAAO,EAAC;UAC3B,IAAI,CAACT,YAAY,GAAG,EAAE;UACtBvB,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;UACpC;;QAEF;MACF,KAAK,MAAM;QACT,IAAI,CAACxP,YAAY,GAAG,EAAE;QACtBvB,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEE,QAAQ,CAAC,KAAK,CAAC;QAC3CqI,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF,KAAK,KAAK;QACR,IAAI,CAACxP,YAAY,GAAG,EAAE;QACtB;MACF,KAAK,OAAO;QACV,IAAI,CAAC6P,sBAAsB,CAAClZ,KAAK,EAAE,KAAK,CAAC;QACzC,MAAMgW,UAAU,GAAGlO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAC5C,MAAM0W,UAAU,GAAGnO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAC5C,MAAM6W,UAAU,GAAGtO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAC5C,MAAM8W,UAAU,GAAGvO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAE5CyW,UAAU,EAAE6C,MAAM,EAAE;QACpB5C,UAAU,EAAE4C,MAAM,EAAE;QACpB;QACAzC,UAAU,EAAEyC,MAAM,EAAE;QACpBxC,UAAU,EAAEwC,MAAM,EAAE;QACpB1Q,WAAW,EAAE0Q,MAAM,EAAE;QACrB;MACF,KAAK,IAAI;QACP/Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF,KAAK,qBAAqB;QACxB,IAAI,CAACgB,sBAAsB,CAAC7Z,KAAK,CAAC;QAClC;MACF,KAAK,IAAI;QACP8H,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF,KAAK,sBAAsB;QACzB/Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF;QACE;IAAM;EAGZ;EAEApD,UAAU,CAACzV,KAAa;IACtB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC7D,MAAMuK,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;IACzD,IAAI,CAAC6J,YAAY,GAAG,CAAC;IACrB;IACAvB,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACxE,IAAIwD,SAAS,GAAGlR,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,EAAE;IACrD;IACAxN,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACxE;IACA1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IACxE1N,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAE+V,OAAO,EAAE;IACrC;IAEA,MAAMtN,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,IAAI,CAACqa,sBAAsB,CAAC5Z,KAAK,CAAC;IAClC,IAAI,CAAC8Y,gBAAgB,CAAC9Y,KAAK,CAAC;IAE5B,QAAQ+J,eAAe;MACrB,KAAK,OAAO;QACV;QACAjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC,IAAG/O,cAAc,IAAI,MAAM,EAAC;UAC1B,IAAI,CAACT,YAAY,GAAG,CAAC;UACrB;;QAEF,IAAGS,cAAc,IAAI,OAAO,EAAC;UAC3B,IAAI,CAACT,YAAY,GAAG,EAAE;UACtBvB,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;UACpC;;QAEF;MACF,KAAK,MAAM;QACT,IAAI,CAACxP,YAAY,GAAG,EAAE;QACtB;QACAvB,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF,KAAK,KAAK;QACR,IAAI,CAACxP,YAAY,GAAG,EAAE;QACtB;MACF,KAAK,OAAO;QACV,IAAI,CAAC6P,sBAAsB,CAAClZ,KAAK,EAAE,KAAK,CAAC;QACzC,MAAMgW,UAAU,GAAGlO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAC5C,MAAM0W,UAAU,GAAGnO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAC5C,MAAM6W,UAAU,GAAGtO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAC5C,MAAM8W,UAAU,GAAGvO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;QAE5CyW,UAAU,EAAE6C,MAAM,EAAE;QACpB5C,UAAU,EAAE4C,MAAM,EAAE;QACpB;QACAzC,UAAU,EAAEyC,MAAM,EAAE;QACpBxC,UAAU,EAAEwC,MAAM,EAAE;QACpB1Q,WAAW,EAAE0Q,MAAM,EAAE;QACrB;MACF,KAAK,IAAI;QACP/Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF,KAAK,qBAAqB;QACxB;QACA;MACF,KAAK,IAAI;QACP/Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF,KAAK,sBAAsB;QACzB/Q,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEsZ,MAAM,EAAE;QACpC;MACF;QACE;IAAM;EAIZ;EAEAiB,aAAa,CAAC9Z,KAAa;IACzB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI8H,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAI,OAAO,EAAE;MAAE;;IACpD,IAAI,CAAC0Z,sBAAsB,CAAClZ,KAAK,EAAE,KAAK,CAAC;IACzC,IAAI,IAAI,CAAC6U,MAAM,EAAC;MACd,IAAI,CAACyE,kBAAkB,CAACtZ,KAAK,EAAE,KAAK,CAAC;KACtC,MAAI;MACH,IAAI,CAACuZ,wBAAwB,CAACvZ,KAAK,EAAE,KAAK,CAAC;;IAE7C,MAAMgW,UAAU,GAAGlO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM0W,UAAU,GAAGnO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM6W,UAAU,GAAGtO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM8W,UAAU,GAAGvO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAG9CyW,UAAU,EAAE6C,MAAM,EAAE;IACpB5C,UAAU,EAAE4C,MAAM,EAAE;IACpB;IACAzC,UAAU,EAAEyC,MAAM,EAAE;IACpBxC,UAAU,EAAEwC,MAAM,EAAE;IACpB1Q,WAAW,EAAE0Q,MAAM,EAAE;EACvB;EAEAgB,sBAAsB,CAAC7Z,KAAa;IAClC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI8H,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAI,qBAAqB,EAAE;MAAE;;IAClE,IAAI,CAAC0Z,sBAAsB,CAAClZ,KAAK,EAAE,KAAK,CAAC;IACzC,IAAI,IAAI,CAAC6U,MAAM,EAAC;MACd,IAAI,CAACyE,kBAAkB,CAACtZ,KAAK,EAAE,KAAK,CAAC;KACtC,MAAI;MACH,IAAI,CAACuZ,wBAAwB,CAACvZ,KAAK,EAAE,KAAK,CAAC;;IAE7C,MAAM2W,WAAW,GAAG7O,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9CoX,WAAW,EAAEkC,MAAM,EAAE;EACvB;EAEAkB,UAAU,CAAC/Z,KAAa;IACtB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI8H,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,IAAI,IAAI,EAAE;MAAE;;IACjD,MAAMsK,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC7D,IAAI,CAAC0Z,sBAAsB,CAAClZ,KAAK,EAAE,KAAK,CAAC;IACzC,IAAI,IAAI,CAAC6U,MAAM,EAAC;MACd,IAAI,CAACyE,kBAAkB,CAACtZ,KAAK,EAAE,KAAK,CAAC;KACtC,MAAI;MACH,IAAI,CAACuZ,wBAAwB,CAACvZ,KAAK,EAAE,KAAK,CAAC;;IAE7C,IAAI8J,cAAc,IAAI,MAAM,EAAC;MAC3B,MAAMsN,WAAW,GAAGtP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;MAC9C6X,WAAW,EAAEyB,MAAM,EAAE;MACrB;;IAEF,IAAI/O,cAAc,IAAI,OAAO,EAAC;MAC5B,MAAMgN,WAAW,GAAGhP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;MAC9CuX,WAAW,EAAE+B,MAAM,EAAE;MACrB;;IAEF,MAAMzB,WAAW,GAAGtP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C6X,WAAW,EAAEyB,MAAM,EAAE;IACrB,MAAM/B,WAAW,GAAGhP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9CuX,WAAW,EAAE+B,MAAM,EAAE;EAEvB;EAEAe,sBAAsB,CAAC5Z,KAAa;IAClC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC7D;IACA,MAAM6D,WAAW,GAAGyE,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAE9C,IAAI,CAAC6J,YAAY,CAACpJ,KAAK,CAAC;IACxB;IACA;IACA,MAAMgI,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAMyW,UAAU,GAAGlO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM0W,UAAU,GAAGnO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM6W,UAAU,GAAGtO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM8W,UAAU,GAAGvO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAE9C,MAAMgX,WAAW,GAAGzO,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAMiX,WAAW,GAAG1O,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAMkX,WAAW,GAAG3O,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAMmX,WAAW,GAAG5O,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAMuX,WAAW,GAAGhP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAM0X,WAAW,GAAGnP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAM2X,WAAW,GAAGpP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAE9C;IACA,MAAM0I,UAAU,GAAGH,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2W,UAAU,GAAGpO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4W,UAAU,GAAGrO,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAG5C,MAAM6X,WAAW,GAAGtP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAMyX,WAAW,GAAGlP,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAE9C,IAAIuK,cAAc,IAAI,MAAM,EAAC;MAC3B9B,UAAU,EAAEvI,QAAQ,CAAC,KAAK,CAAC;MAC3BuW,UAAU,EAAEvW,QAAQ,CAAC,KAAK,CAAC;MAC3BwW,UAAU,EAAExW,QAAQ,CAAC,KAAK,CAAC;MAC3ByI,UAAU,EAAEzI,QAAQ,CAAC,KAAK,CAAC;MAC3B2W,UAAU,EAAE3W,QAAQ,CAAC,KAAK,CAAC;MAC3B4W,UAAU,EAAE5W,QAAQ,CAAC,KAAK,CAAC;MAC3B0I,WAAW,EAAE1I,QAAQ,CAAC,KAAK,CAAC;MAC5BuI,UAAU,EAAEsN,OAAO,EAAE;MACrBU,UAAU,EAAEV,OAAO,EAAE;MACrBW,UAAU,EAAEX,OAAO,EAAE;MACrBpN,UAAU,EAAEoN,OAAO,EAAE;MACrBc,UAAU,EAAEd,OAAO,EAAE;MACrBe,UAAU,EAAEf,OAAO,EAAE;MACrBnN,WAAW,EAAEmN,OAAO,EAAE;MACtBiB,WAAW,EAAEjB,OAAO,EAAE;MACtBmB,WAAW,EAAEnB,OAAO,EAAE;MACtBoB,WAAW,EAAEpB,OAAO,EAAE;MACtBkB,WAAW,EAAElB,OAAO,EAAE;MACtBwB,WAAW,EAAExB,OAAO,EAAE;MACtB4B,WAAW,EAAE5B,OAAO,EAAE;MACtBiB,WAAW,EAAE9W,QAAQ,CAAC,KAAK,CAAC;MAC5B+W,WAAW,EAAE/W,QAAQ,CAAC,KAAK,CAAC;MAC5BgX,WAAW,EAAEhX,QAAQ,CAAC,KAAK,CAAC;MAC5BiX,WAAW,EAAEjX,QAAQ,CAAC,KAAK,CAAC;MAC5BqX,WAAW,EAAErX,QAAQ,CAAC,KAAK,CAAC;MAC5ByX,WAAW,EAAEzX,QAAQ,CAAC,KAAK,CAAC;MAE5BwX,WAAW,EAAE3B,OAAO,EAAE;MACtB2B,WAAW,EAAExX,QAAQ,CAAC,KAAK,CAAC;MAE5ByW,UAAU,EAAE2C,MAAM,EAAE;MACpB1C,UAAU,EAAE0C,MAAM,EAAE;MACpBzB,WAAW,EAAEyB,MAAM,EAAE;MACrB7B,WAAW,EAAE6B,MAAM,EAAE;MACrB,IAAI,CAACgB,sBAAsB,CAAC7Z,KAAK,CAAC;MAClC,IAAI,CAAC+Z,UAAU,CAAC/Z,KAAK,CAAC;MAEtB;;IAGF,IAAI8J,cAAc,IAAI,OAAO,EAAC;MAC5B7B,UAAU,EAAExI,QAAQ,CAAC,KAAK,CAAC;MAC3ByW,UAAU,EAAEzW,QAAQ,CAAC,KAAK,CAAC;MAC3B0W,UAAU,EAAE1W,QAAQ,CAAC,KAAK,CAAC;MAC3B2X,WAAW,EAAE3X,QAAQ,CAAC,KAAK,CAAC;MAC5BuX,WAAW,EAAEvX,QAAQ,CAAC,KAAK,CAAC;MAC5BwI,UAAU,EAAEqN,OAAO,EAAE;MACrB8B,WAAW,EAAE9B,OAAO,EAAE;MACtB0B,WAAW,EAAE1B,OAAO,EAAE;MACtBY,UAAU,EAAEZ,OAAO,EAAE;MACrBa,UAAU,EAAEb,OAAO,EAAE;MAErBU,UAAU,EAAE6C,MAAM,EAAE;MACpB5C,UAAU,EAAE4C,MAAM,EAAE;MACpB;MACAzC,UAAU,EAAEyC,MAAM,EAAE;MACpBxC,UAAU,EAAEwC,MAAM,EAAE;MACpB1Q,WAAW,EAAE0Q,MAAM,EAAE;MACrBtC,WAAW,EAAEsC,MAAM,EAAE;MACrBrC,WAAW,EAAEqC,MAAM,EAAE;MACrBpC,WAAW,EAAEoC,MAAM,EAAE;MACrBnC,WAAW,EAAEmC,MAAM,EAAE;MACrB/B,WAAW,EAAE+B,MAAM,EAAE;MACrB5B,WAAW,EAAE4B,MAAM,EAAE;MACrB;MACA,IAAI,CAACiB,aAAa,CAAC9Z,KAAK,CAAC;MACzB,IAAI,CAAC6Z,sBAAsB,CAAC7Z,KAAK,CAAC;MAClC,IAAI,CAAC+Z,UAAU,CAAC/Z,KAAK,CAAC;MACtB,MAAM+J,eAAe,GAAGjC,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;MACzD,IAAIuK,eAAe,IAAI,OAAO,EAAC;QAC7BmN,WAAW,EAAE2B,MAAM,EAAE;;MAEvB;;IAEF7C,UAAU,EAAE6C,MAAM,EAAE;IACpB5C,UAAU,EAAE4C,MAAM,EAAE;IACpB3C,UAAU,EAAE2C,MAAM,EAAE;IACpB1C,UAAU,EAAE0C,MAAM,EAAE;IACpB;IACAzC,UAAU,EAAEyC,MAAM,EAAE;IACpBxC,UAAU,EAAEwC,MAAM,EAAE;IACpB1Q,WAAW,EAAE0Q,MAAM,EAAE;IAErBrC,WAAW,EAAEqC,MAAM,EAAE;IACrBpC,WAAW,EAAEoC,MAAM,EAAE;IACrBnC,WAAW,EAAEmC,MAAM,EAAE;IACrB/B,WAAW,EAAE+B,MAAM,EAAE;IACrB;IACAzB,WAAW,EAAEyB,MAAM,EAAE;IACrB7B,WAAW,EAAE6B,MAAM,EAAE;IACrB5B,WAAW,EAAE4B,MAAM,EAAE;IACrB,IAAI,CAACgB,sBAAsB,CAAC7Z,KAAK,CAAC;IAClC,IAAI,CAAC+Z,UAAU,CAAC/Z,KAAK,CAAC;EAExB;EAEA6H,qBAAqB,CAAC7H,KAAa;IACjC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAMgI,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM0I,UAAU,GAAGH,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,MAAMgJ,WAAW,GAAG,IAAInG,IAAI,EAAE;IAC9B,IAAI4X,MAAM,GAAG,IAAI;IACjB,IAAIxR,GAAG,GAAG,EAAE;IACZ,IAAIR,UAAU,EAAExI,KAAK,IAAIyI,UAAU,EAAEzI,KAAK,IAAI0I,UAAU,EAAE1I,KAAK,IAAI2I,WAAW,EAAE3I,KAAK,EAAC;MACpF,IAAG+I,WAAW,CAACQ,QAAQ,EAAE,IAAI,CAAC,IAAIR,WAAW,CAACG,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE;QAC9DF,GAAG,GAAG,IAAI,CAACC,OAAO,CAAC,EAAE,CAAC;QACtBuR,MAAM,GAAG,IAAI,CAACvR,OAAO,CAAC,CAAC,CAAC;OACzB,MAAK,IAAGF,WAAW,CAACQ,QAAQ,EAAE,IAAI,CAAC,IAAIR,WAAW,CAACG,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE;QACpEF,GAAG,GAAG,IAAI,CAACC,OAAO,CAAC,EAAE,CAAC;QACtBuR,MAAM,GAAG,IAAI,CAACvR,OAAO,CAAC,CAAC,CAAC;OACzB,MAAI;QAEHD,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,GAAG,CAAC,CAAC;;MAE/C,IAAI,IAAI,CAACC,wBAAwB,CAAC,EAAE,EAAEb,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,CAAC,GAAG,CAAC,EAAE;QACxEsI,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEE,QAAQ,CAAC,EAAE,CAAC;;KAEvC,MAAI;MACH+I,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,CAAC;;IAE3C,MAAME,IAAI,GAAGL,WAAW,CAACM,WAAW,EAAE;IACtC,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACF,WAAW,CAACQ,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtD,MAAMC,KAAK,GAAG,IAAI,CAACP,OAAO,CAACF,WAAW,CAACU,QAAQ,EAAE,CAAC;IAClD,MAAMC,OAAO,GAAG,IAAI,CAACT,OAAO,CAACF,WAAW,CAACY,UAAU,EAAE,CAAC;IACtD,IAAI8Q,QAAQ,GAAG,EAAE;IACjB,IAAGD,MAAM,EAAC;MACRC,QAAQ,GAAG,GAAGrR,IAAI,IAAIoR,MAAM,IAAIxR,GAAG,WAAW;KAC/C,MAAI;MACHyR,QAAQ,GAAE,GAAGrR,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;;IAE9C;IACA,OAAOyR,QAAQ;EACjB;EAEAjQ,qBAAqB,CAAChK,KAAa;IACjC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI8H,OAAO,CAACvI,GAAG,CAAC,UAAU,CAAC,EAAEC,KAAK,KAAK,EAAE,EAAE;MACzC,MAAMyK,WAAW,GAAG,IAAI7H,IAAI,CAAC,CAAC,CAAC;MAC/B,MAAMwG,IAAI,GAAGqB,WAAW,CAACpB,WAAW,EAAE;MACtC,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACwB,WAAW,CAAClB,QAAQ,EAAE,GAAG,CAAC,CAAC;MACtD,MAAMP,GAAG,GAAG,IAAI,CAACC,OAAO,CAACwB,WAAW,CAACvB,OAAO,EAAE,CAAC;MAC/C,MAAMM,KAAK,GAAG,IAAI,CAACP,OAAO,CAACwB,WAAW,CAAChB,QAAQ,EAAE,CAAC;MAClD,MAAMC,OAAO,GAAG,IAAI,CAACT,OAAO,CAACwB,WAAW,CAACd,UAAU,EAAE,CAAC;MACtD;MACA,OAAO,GAAGP,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;;IAG3C,MAAM0B,GAAG,GAAG,IAAI9H,IAAI,CAAC0F,OAAO,CAACvI,GAAG,CAAC,UAAU,CAAC,EAAEC,KAAK,CAAC;IACpD,MAAMoJ,IAAI,GAAGsB,GAAG,CAACrB,WAAW,EAAE;IAC9B,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACyB,GAAG,CAACnB,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAMP,GAAG,GAAG,IAAI,CAACC,OAAO,CAACyB,GAAG,CAACxB,OAAO,EAAE,CAAC;IACvC,MAAMM,KAAK,GAAG,IAAI,CAACP,OAAO,CAACyB,GAAG,CAACjB,QAAQ,EAAE,CAAC;IAC1C,MAAMC,OAAO,GAAG,IAAI,CAACT,OAAO,CAACyB,GAAG,CAACf,UAAU,EAAE,CAAC;IAE9C;IACA,OAAO,GAAGP,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;EAC3C;EAEA2B,sBAAsB,CAACnK,KAAa;IAClC,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAIwI,GAAG;IACP,MAAMD,WAAW,GAAG,IAAInG,IAAI,EAAE;IAC9B,MAAM4F,UAAU,GAAGF,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM0I,UAAU,GAAGH,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM2I,UAAU,GAAGJ,OAAO,CAACvI,GAAG,CAAC,YAAY,CAAC;IAC5C,MAAM4I,WAAW,GAAGL,OAAO,CAACvI,GAAG,CAAC,aAAa,CAAC;IAC9C,IAAIyI,UAAU,EAAExI,KAAK,IAAIyI,UAAU,EAAEzI,KAAK,IAAI0I,UAAU,EAAE1I,KAAK,IAAI2I,WAAW,EAAE3I,KAAK,EAAC;MACpFgJ,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,GAAG,CAAC,CAAC;KAC9C,MAAI;MACHF,GAAG,GAAG,IAAI,CAACC,OAAO,CAACF,WAAW,CAACG,OAAO,EAAE,CAAC;;IAE3C,IAAIZ,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,KAAK,EAAE,EAAE;MACxC,MAAMoJ,IAAI,GAAGL,WAAW,CAACM,WAAW,EAAE;MACtC,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACF,WAAW,CAACQ,QAAQ,EAAE,GAAG,CAAC,CAAC;MACtD,MAAMC,KAAK,GAAG,IAAI,CAACP,OAAO,CAACF,WAAW,CAACU,QAAQ,EAAE,CAAC;MAClD,MAAMC,OAAO,GAAG,IAAI,CAACT,OAAO,CAACF,WAAW,CAACY,UAAU,EAAE,CAAC;MACtD;MACA,OAAO,GAAGP,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;;IAG3C,MAAM0B,GAAG,GAAG,IAAI9H,IAAI,CAAC0F,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,CAAC;IACnD,MAAMoJ,IAAI,GAAGsB,GAAG,CAACrB,WAAW,EAAE;IAC9B,MAAMC,KAAK,GAAG,IAAI,CAACL,OAAO,CAACyB,GAAG,CAACnB,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9CP,GAAG,GAAG,IAAI,CAACC,OAAO,CAACyB,GAAG,CAACxB,OAAO,EAAE,GAAG,CAAC,CAAC;IACrC,MAAMM,KAAK,GAAG,IAAI,CAACP,OAAO,CAACyB,GAAG,CAACjB,QAAQ,EAAE,CAAC;IAC1C,MAAMC,OAAO,GAAG,IAAI,CAACT,OAAO,CAACyB,GAAG,CAACf,UAAU,EAAE,CAAC;IAC9C;IACA,OAAO,GAAGP,IAAI,IAAIE,KAAK,IAAIN,GAAG,WAAW;EAC3C;EAEAC,OAAO,CAACjJ,KAAa;IACnB,OAAOA,KAAK,CAAC4K,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1C;EAGA6P,eAAe,CAACla,KAAa;IAC3B,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C8H,OAAO,CAACvI,GAAG,CAAC,uBAAuB,CAAC,EAAEE,QAAQ,CAAC,IAAI,CAAC;EACtD;EAEA0a,YAAY,CAACC,WAAmB;IAC9B,IAAI,CAAClF,WAAW,CAAChH,QAAQ,CAACkM,WAAW,CAAC;IACtC,IAAI,CAACzE,mBAAmB,EAAE;EAC5B;EAEA,IAAIT,WAAW;IACb,OAAO,IAAI,CAACC,aAAa,CAAC5V,GAAG,CAAC,aAAa,CAAc;EAC3D;EAEA8a,aAAa;IACX,MAAMC,KAAK,GAAG,IAAI,CAACnF,aAAa,CAAC5V,GAAG,CAAC,aAAa,CAAc;IAChE+a,KAAK,CAAC3L,gBAAgB,EAAE;IACxB,OAAO2L,KAAK,CAACC,QAAQ;EACvB;EAEAC,UAAU;IACR,MAAMC,WAAW,GAAG,IAAI,CAACpf,WAAW,CAACyB,KAAK,CAAC;MACzCyG,gBAAgB,EAAE,CAAC,EAAE,EAAEtI,+DAAmB,CAAC;MAC3CuI,cAAc,EAAE,CAAC,EAAE,CAAC;MACpBE,QAAQ,EAAE,CAAC,EAAE,EAAEzI,+DAAmB,CAAC;MACnCwI,OAAO,EAAE,CAAC,EAAE,EAAExI,+DAAmB,CAAC;MAClCqI,YAAY,EAAE,CAAC,EAAE,EAAErI,+DAAmB,CAAC;MACvCoI,WAAW,EAAE,CAAC,EAAE,EAAEpI,+DAAmB,CAAC;MACtC6a,qBAAqB,EAAE,CACrB;QAAEtW,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,EACjC9a,+DAAmB,CACpB;MACC+M,UAAU,EAAE,IAAIwM,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAI,CAAE,CAAC;MAC7DC,UAAU,EAAE,IAAIxB,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC9DE,UAAU,EAAE,IAAIzB,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC9D9N,UAAU,EAAE,IAAIuM,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAI,CAAE,CAAC;MAC7DG,UAAU,EAAE,IAAI1B,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC9DI,UAAU,EAAE,IAAI3B,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC9D7N,UAAU,EAAE,IAAIsM,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAI,CAAE,CAAC;MAC7DK,UAAU,EAAE,IAAI5B,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC9DM,UAAU,EAAE,IAAI7B,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC9D5N,WAAW,EAAE,IAAIqM,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DO,WAAW,EAAE,IAAI9B,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DQ,WAAW,EAAE,IAAI/B,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DS,WAAW,EAAE,IAAIhC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DU,WAAW,EAAE,IAAIjC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DW,WAAW,EAAE,IAAIlC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DY,WAAW,EAAE,IAAInC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/Da,WAAW,EAAE,IAAIpC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/Dc,WAAW,EAAE,IAAIrC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/De,WAAW,EAAE,IAAItC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DgB,WAAW,EAAE,IAAIvC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DiB,WAAW,EAAE,IAAIxC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DkB,WAAW,EAAE,IAAIzC,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DmB,WAAW,EAAE,IAAI1C,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DoB,WAAW,EAAE,IAAI3C,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DqB,WAAW,EAAE,IAAI5C,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE,CAAC;MAC/DsB,WAAW,EAAE,IAAI7C,uDAAW,CAAC;QAAEhV,KAAK,EAAE,KAAK;QAAEuW,QAAQ,EAAE;MAAK,CAAE;KACjE,CAAC;IACF0E,WAAW,CAAClb,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IAC3EiF,WAAW,CAAClb,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IAC3EiF,WAAW,CAAClb,GAAG,CAAC,YAAY,CAAC,EAAE+V,OAAO,CAAC;MAAEC,QAAQ,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IAC3E,IAAI,CAACN,WAAW,CAACpR,IAAI,CAAC2W,WAAW,CAAC;IAElC,IAAI,CAACvF,WAAW,CAACwF,sBAAsB,EAAE;IACzC,IAAI,CAAC/E,mBAAmB,EAAE;EAC5B;EAEAA,mBAAmB;IAEjB,IAAI,IAAI,CAACT,WAAW,CAAC1V,KAAK,CAAC3B,MAAM,GAAG,CAAC,EAAE;MACrC,IAAI,CAAC8c,cAAc,GAAG,IAAI;KAC3B,MAAM;MACL,IAAI,CAACA,cAAc,GAAG,KAAK;;EAE/B;EAEAC,mBAAmB,CAAC5a,KAAa;IAC/B,IAAI,CAAC6a,WAAW,CAAC7a,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC6a,WAAW,CAAC7a,KAAK,CAAC;EACpD;EAEA8a,YAAY;IACV,MAAMC,WAAW,GAAG,IAAI,CAAC5F,aAAa,CAAC5V,GAAG,CAAC,aAAa,CAAC,EAAEyb,WAAW,EAAE;IACxE,IAAIC,QAAQ,GAAG,IAAI;IAEnBF,WAAW,CAACxQ,OAAO,CAAEzH,SAAc,IAAI;MACrC,KAAK,MAAMqM,GAAG,IAAIrM,SAAS,EAAE;QAC3B,IAAIqM,GAAG,CAAC/D,UAAU,CAAC,WAAW,CAAC,IAAItI,SAAS,CAACqM,GAAG,CAAC,EAAE;UACjD8L,QAAQ,GAAG,KAAK;UAChB;;;MAIJ,IAAI,CAACA,QAAQ,EAAE;QACb;;IAEJ,CAAC,CAAC;IAEF,OAAOA,QAAQ;EACjB;EAGMC,SAAS;IAAA;IAAA;MACb,MAAMH,WAAW,GAAG,KAAI,CAAC5F,aAAa,CAAC5V,GAAG,CAAC,aAAa,CAAC,EAAEyb,WAAW,EAAE;MACxE3e,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAEye,WAAW,CAAC;MAC7CA,WAAW,CAACxQ,OAAO,CAAEzH,SAAc,IAAI;QACrC,IAAG,CAACA,SAAS,CAACkF,UAAU,IAAIlF,SAAS,CAACkT,UAAU,IAAIlT,SAAS,CAACmT,UAAU,IAAInT,SAAS,CAACmF,UAAU,IAAInF,SAAS,CAACoT,UAAU,IAAIpT,SAAS,CAACqT,UAAU,IAAIrT,SAAS,CAACoF,UAAU,IAAIpF,SAAS,CAACsT,UAAU,IAAItT,SAAS,CAACuT,UAAU,IAAIvT,SAAS,CAACqF,WAAW,IAAIrF,SAAS,CAACwT,WAAW,IAAIxT,SAAS,CAAC0T,WAAW,IAAI1T,SAAS,CAACyT,WAAW,IAAKzT,SAAS,CAAC2T,WAAW,KAAK3T,SAAS,CAACO,WAAW,IAAI,MAAM,IAAIP,SAAS,CAACQ,YAAY,CAACzF,MAAM,IAAI,EAAE,EAAC;UAChaiF,SAAS,CAACa,kBAAkB,GAAG,GAAG;;QAEpC,IAAG,CAACb,SAAS,CAACkF,UAAU,IAAIlF,SAAS,CAACkT,UAAU,IAAIlT,SAAS,CAACmT,UAAU,IAAInT,SAAS,CAACmF,UAAU,IAAInF,SAAS,CAACoT,UAAU,IAAIpT,SAAS,CAACqT,UAAU,IAAIrT,SAAS,CAACoF,UAAU,IAAIpF,SAAS,CAACsT,UAAU,IAAItT,SAAS,CAACuT,UAAU,IAAIvT,SAAS,CAACqF,WAAW,KAAKrF,SAAS,CAACO,WAAW,IAAI,MAAM,IAAIP,SAAS,CAACQ,YAAY,CAACzF,MAAM,IAAI,EAAE,EAAC;UAC3TiF,SAAS,CAACa,kBAAkB,GAAG,GAAG;;QAEpC,IAAG,CAACb,SAAS,CAACkF,UAAU,IAAIlF,SAAS,CAACkT,UAAU,IAAIlT,SAAS,CAACmT,UAAU,IAAInT,SAAS,CAACmF,UAAU,IAAInF,SAAS,CAACoT,UAAU,IAAIpT,SAAS,CAACqT,UAAU,IAAIrT,SAAS,CAACoF,UAAU,IAAIpF,SAAS,CAACsT,UAAU,IAAItT,SAAS,CAACuT,UAAU,IAAIvT,SAAS,CAACqF,WAAW,IAAIrF,SAAS,CAACwT,WAAW,IAAIxT,SAAS,CAAC0T,WAAW,IAAI1T,SAAS,CAACyT,WAAW,IAAKzT,SAAS,CAAC2T,WAAW,KAAK3T,SAAS,CAACO,WAAW,IAAI,KAAK,IAAIP,SAAS,CAACQ,YAAY,CAACzF,MAAM,IAAI,EAAE,EAAC;UAC/ZiF,SAAS,CAACa,kBAAkB,GAAG,GAAG;;QAEpC,IAAG,CAACb,SAAS,CAACkF,UAAU,IAAIlF,SAAS,CAACkT,UAAU,IAAIlT,SAAS,CAACmT,UAAU,IAAInT,SAAS,CAACmF,UAAU,IAAInF,SAAS,CAACoT,UAAU,IAAIpT,SAAS,CAACqT,UAAU,IAAIrT,SAAS,CAACoF,UAAU,IAAIpF,SAAS,CAACsT,UAAU,IAAItT,SAAS,CAACuT,UAAU,IAAIvT,SAAS,CAACqF,WAAW,IAAIrF,SAAS,CAACwT,WAAW,IAAIxT,SAAS,CAAC0T,WAAW,IAAI1T,SAAS,CAACyT,WAAW,IAAKzT,SAAS,CAAC2T,WAAW,KAAK3T,SAAS,CAACO,WAAW,IAAI,OAAO,KAAKP,SAAS,CAACS,gBAAgB,IAAI,CAAC,IAAIT,SAAS,CAACS,gBAAgB,IAAI,CAAC,CAAC,IAAIT,SAAS,CAACQ,YAAY,CAACzF,MAAM,IAAI,EAAE,EAAC;UACzeiF,SAAS,CAACa,kBAAkB,GAAG,GAAG;;QAEpC,IAAG,CAACb,SAAS,CAACkF,UAAU,IAAIlF,SAAS,CAACkT,UAAU,IAAIlT,SAAS,CAACmT,UAAU,IAAInT,SAAS,CAACmF,UAAU,IAAInF,SAAS,CAACoT,UAAU,IAAIpT,SAAS,CAACqT,UAAU,IAAIrT,SAAS,CAACoF,UAAU,IAAIpF,SAAS,CAACsT,UAAU,IAAItT,SAAS,CAACuT,UAAU,IAAIvT,SAAS,CAACqF,WAAW,IAAIrF,SAAS,CAACwT,WAAW,IAAIxT,SAAS,CAAC0T,WAAW,IAAI1T,SAAS,CAACyT,WAAW,IAAKzT,SAAS,CAAC2T,WAAW,KAAK3T,SAAS,CAACO,WAAW,IAAI,KAAK,KAAKP,SAAS,CAACS,gBAAgB,IAAI,CAAC,IAAIT,SAAS,CAACS,gBAAgB,IAAI,CAAC,CAAC,IAAIT,SAAS,CAACQ,YAAY,CAACzF,MAAM,IAAI,CAAC,IAAIiF,SAAS,CAACQ,YAAY,CAACzF,MAAM,IAAI,EAAE,EAAC;UAC7gBiF,SAAS,CAACa,kBAAkB,GAAG,GAAG;SACnC,MACG;UACFb,SAAS,CAACa,kBAAkB,GAAG,GAAG;;QAIpC,MAAMwX,yBAAyB,GAAG,IAAI/Y,IAAI,EAAE;QAC5C+Y,yBAAyB,CAACC,cAAc,CAACD,yBAAyB,CAACE,cAAc,EAAE,GAAG,CAAC,CAAC;QACxFF,yBAAyB,CAACG,OAAO,CAACH,yBAAyB,CAAClU,OAAO,EAAE,GAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAK,CAAC,CAAC,CAAC;QAG/F,IAAG,IAAI7E,IAAI,CAACU,SAAS,CAACY,QAAQ,CAAC,GAAGyX,yBAAyB,KAAKrY,SAAS,CAACkF,UAAU,IAAIlF,SAAS,CAACkT,UAAU,IAAIlT,SAAS,CAACmT,UAAU,IAAInT,SAAS,CAACmF,UAAU,IAAInF,SAAS,CAACoT,UAAU,IAAIpT,SAAS,CAACqT,UAAU,IAAIrT,SAAS,CAACoF,UAAU,IAAIpF,SAAS,CAACsT,UAAU,IAAItT,SAAS,CAACuT,UAAU,IAAIvT,SAAS,CAACqF,WAAW,CAAC,EAAE;UAC9SrF,SAAS,CAACc,uBAAuB,GAAG,GAAG;SACxC,MACG;UACFd,SAAS,CAACc,uBAAuB,GAAG,GAAG;;QAGzC,MAAM2X,qBAAqB,GAAG,IAAInZ,IAAI,EAAE;QACxCmZ,qBAAqB,CAACH,cAAc,CAACG,qBAAqB,CAACF,cAAc,EAAE,GAAG,CAAC,CAAC;QAChFE,qBAAqB,CAACD,OAAO,CAACC,qBAAqB,CAACtU,OAAO,EAAE,GAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAK,CAAC,CAAC,CAAC;QAEvF,IAAG,IAAI7E,IAAI,CAACU,SAAS,CAACY,QAAQ,CAAC,GAAG6X,qBAAqB,KAAKzY,SAAS,CAACkF,UAAU,IAAIlF,SAAS,CAACkT,UAAU,IAAIlT,SAAS,CAACmT,UAAU,IAAInT,SAAS,CAACmF,UAAU,IAAInF,SAAS,CAACoT,UAAU,IAAIpT,SAAS,CAACqT,UAAU,IAAIrT,SAAS,CAACoF,UAAU,IAAIpF,SAAS,CAACsT,UAAU,IAAItT,SAAS,CAACuT,UAAU,IAAIvT,SAAS,CAACqF,WAAW,CAAC,EAAE;UAC1SrF,SAAS,CAACe,sBAAsB,GAAG,GAAG;SACvC,MACG;UACFf,SAAS,CAACe,sBAAsB,GAAG,GAAG;;MAG1C,CAAC,CAAC;MACC,MAAM,KAAI,CAACtI,0BAA0B,CAACigB,sBAAsB,CAAC,8BAA8B,EAAET,WAAW,CAAC;IAAC;EAC/G;EAEAU,QAAQ,CAACzb,KAAU;IACjB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,IAAI,IAAI,CAACmV,aAAa,CAAC5V,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAC/C,IAAI,CAAC2V,aAAa,CAAC5V,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAC3C,IAAI,CAAC2V,aAAa,CAAC5V,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAC3C,IAAI,CAAC2V,aAAa,CAAC5V,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAC3C,IAAI,CAAC2V,aAAa,CAAC5V,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAC3C,IAAI,CAAC2V,aAAa,CAAC5V,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,IAC3C,IAAI,CAAC2V,aAAa,CAAC5V,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK,EAC1C;MACA,IAAI,IAAI,CAACmJ,wBAAwB,CAAC,EAAE,EAAEb,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK,CAAC,GAAG,CAAC,EAAE;QACxEsI,OAAO,CAACvI,GAAG,CAAC,SAAS,CAAC,EAAEE,QAAQ,CAAC,EAAE,CAAC;;MAEtC,IAAI,CAACic,QAAQ,GAAG,IAAI;KACrB,MAAI;MACH,IAAI,CAACA,QAAQ,GAAG,KAAK;;EAEzB;EAEAlO,iBAAiB;IAEf,IAAI,CAACmO,wBAAwB,EAAE;IAC/B;IACA;IAEA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;EAEF;;EAEAhT,wBAAwB,CAACsH,MAAW,EAAEC,MAAU;IAC9C,MAAMC,mBAAmB,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IAC/C;IACA,MAAMC,kBAAkB,GAAG,IAAIhO,IAAI,CAAC,IAAIA,IAAI,EAAE,CAACgI,QAAQ,EAAE,CAAC,CAACnD,OAAO,EAAE;IACpE,MAAMoJ,kBAAkB,GAAG,IAAIjO,IAAI,CAAC8N,MAAM,CAAC9F,QAAQ,EAAE,CAAC,CAACnD,OAAO,EAAE;IAChE,MAAMqJ,wBAAwB,GAAGC,IAAI,CAACC,GAAG,CAACH,kBAAkB,GAAGD,kBAAkB,CAAC;IAClF,MAAMK,cAAc,GAAGF,IAAI,CAACG,KAAK,CAACJ,wBAAwB,GAAGH,mBAAmB,CAAC;IACjF9T,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEmU,cAAc,CAAC;IAE5C,OAAOA,cAAc;EACvB;EAEAkL,wBAAwB;IACtB,IAAIC,KAAK,GAAc,EAAE;IACzB,IAAIhQ,WAAW,GAAG,IAAIxJ,IAAI,EAAE;IAC5B,IAAI8N,MAAM,GAAG,IAAI9N,IAAI,CAACwJ,WAAW,CAACiQ,OAAO,CAACjQ,WAAW,CAAClD,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,CAACyM,aAAa,CAACsC,QAAQ,CAAC,aAAa,CAAC,CAACjY,KAAK,CAAC+K,OAAO,CAAGuR,UAAc,IAAI;MAC3Ezf,OAAO,CAACC,GAAG,CAACwf,UAAU,CAAC;MACvB,IAAI3T,WAAW,GAAG2T,UAAU,CAAC3T,WAAW;MACxC,IAAI6N,UAAU,GAAG8F,UAAU,CAAC9F,UAAU;MACtC,IAAIC,UAAU,GAAG6F,UAAU,CAAC7F,UAAU;MACtC,IAAIG,UAAU,GAAG0F,UAAU,CAAC1F,UAAU;MACtC,IAAIC,UAAU,GAAGyF,UAAU,CAACzF,UAAU;MACtC;MACA,IAAI0F,QAAQ,GAAE/F,UAAU,IAAIC,UAAU,IAAIG,UAAU,IAAIC,UAAU,IAAIlO,WAAW;MAEjF,IAAI6T,WAAW,GAAGF,UAAU,CAACpY,QAAQ;MACrC,IAAIuW,QAAQ,GAAG6B,UAAU,CAACrY,OAAO;MAEjC,IAAI,IAAI,CAACkF,wBAAwB,CAACqT,WAAW,EAAE/B,QAAQ,CAAC,GAAG,CAAC,IAAM8B,QAAS,EAAE;QAC3E,OAAO,IAAI,CAAClmB,YAAY,CAAC+I,mBAAmB,CAAC,6DAA6D,EAAE,SAAS,EAAE,IAAI,CAAC;OAC7H,MAAI;QACH,IAAI,IAAI,CAACkZ,OAAO,EAAE,IAAI,CAAC,IAAI,CAACgD,YAAY,EAAE,EAAC;UACzC,IAAG,CAACb,QAAQ,EAAC;YACX,OAAO,IAAI,CAACpkB,YAAY,CAAC+I,mBAAmB,CAAC,+DAA+D,EAAE,SAAS,EAAE,IAAI,CAAC;;UAEhI,IAAIqb,QAAQ,GAAG+B,WAAW,EAAE;YAC1B,OAAO,IAAI,CAACnmB,YAAY,CAAC+I,mBAAmB,CAAC,+EAA+E,EAAE,SAAS,EAAE,IAAI,CAAC;;UAEhJ,IAAG,IAAI,CAAC8c,QAAQ,EAAC;YACf,IAAIzB,QAAQ,GAAG/J,MAAM,EAAE;cACrB,OAAO,IAAI,CAACra,YAAY,CAAC+I,mBAAmB,CAAC,gFAAgF,EAAE,SAAS,EAAE,IAAI,CAAC;;;UAGnJgd,KAAK,CAAC9X,IAAI,CAAC,IAAI,CAAC;UAChB;UACA;;;IAGN,CAAC,CAAC;;IACFzH,OAAO,CAACC,GAAG,CAAC,MAAM,EAACsf,KAAK,CAAC;IACzB,IAAGA,KAAK,CAAC/d,MAAM,IAAI,IAAI,CAACsX,aAAa,CAACsC,QAAQ,CAAC,aAAa,CAAC,CAACjY,KAAK,CAAC3B,MAAM,EAAC;MACzE,IAAI,CAACqd,SAAS,EAAE;MAChB,IAAI,CAACloB,MAAM,CAACkD,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC;;EAGhD;EAEA2Z,YAAY,CAAC7P,KAAa;IACxB,MAAM8H,OAAO,GAAG,IAAI,CAACoN,WAAW,CAAC5H,EAAE,CAACtN,KAAK,CAAC;IAC1C,MAAM8J,cAAc,GAAGhC,OAAO,CAACvI,GAAG,CAAC,kBAAkB,CAAC,EAAEC,KAAK;IAC5D,IAAIsK,cAAc,IAAI,MAAM,EAAE;MAC7B,OAAO,IAAI,CAAC8L,cAAc,CAACrjB,MAAM,CAACud,IAAI,IAAG;QACvC,OACEA,IAAI,CAACC,aAAa,KAAK,OAAO,IAC9BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,sBAAsB,IAC7CD,IAAI,CAACC,aAAa,KAAK,iBAAiB,IACxCD,IAAI,CAACC,aAAa,KAAK,KAAK,IAC5BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,qBAAqB;MAEhD,CAAC,CAAC;KACH,MAAM,IAAIjG,cAAc,IAAI,YAAY,EAAE;MACzC,OAAO,IAAI,CAAC8L,cAAc,CAACrjB,MAAM,CAACud,IAAI,IAAG;QACvC,OACEA,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,sBAAsB,IAC7CD,IAAI,CAACC,aAAa,KAAK,iBAAiB,IACxCD,IAAI,CAACC,aAAa,KAAK,KAAK,IAC5BD,IAAI,CAACC,aAAa,KAAK,IAAI,IAC3BD,IAAI,CAACC,aAAa,KAAK,qBAAqB;MAEhD,CAAC,CAAC;;IAEJ,OAAO,IAAI,CAAC6F,cAAc;EAC5B;EAAC;qBA1sCUrb,4BAA4B;EAAA;EAAA;UAA5BA,4BAA4B;IAAA5D;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QCrBzCtB,4DAAAA,cAAkC;QAIlBA,wDAAAA;UAAA,OAAS4P,gBAAY;QAAA,EAAC;QAC5B5P,oDAAAA,oCACF;QAAAA,0DAAAA,EAAS;QAEXA,4DAAAA,aAAkB;QACRA,wDAAAA;UAAA,OAAS4P,uBAAmB;QAAA,EAAC;QACnC5P,oDAAAA,0BACF;QAAAA,0DAAAA,EAAS;QAKbA,4DAAAA,aAA2C;QAGrCA,wDAAAA,oFAixBe;QACjBA,0DAAAA,EAAM;QAKZA,4DAAAA,eAAqE;QAEzDA,wDAAAA;UAAA,OAAS4P,gBAAY;QAAA,EAAC;QAC5B5P,oDAAAA,qCACF;QAAAA,0DAAAA,EAAS;QAEXA,4DAAAA,cAAkB;QACRA,wDAAAA;UAAA,OAAS4P,uBAAmB;QAAA,EAAC;QACnC5P,oDAAAA,2BACF;QAAAA,0DAAAA,EAAS;;;QAnzBTA,wDAAAA,gCAA2B;QAoBAA,uDAAAA,IAAyB;QAAzBA,wDAAAA,qCAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnB2B;;;;;;;;;;;;;;ICUjEA,4DAAAA,cAA6E;IAC7CA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAS7DA,4DAAAA,cAA6E;IAC7CA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAe7DA,4DAAAA,cAA6E;IACjDA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAQzDA,4DAAAA,cAA6E;IAC7CA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAQzDA,4DAAAA,iBAAgE;IAAAA,oDAAAA,GAAkB;IAAAA,0DAAAA,EAAS;;;;IAAlDA,wDAAAA,2BAAsB;IAACA,uDAAAA,GAAkB;IAAlBA,+DAAAA,oBAAkB;;;;;IAEtFA,4DAAAA,cAA6E;IAC7CA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAY7DA,4DAAAA,cAA6E;IAC7CA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IANjEA,4DAAAA,aAAkE;IAChBA,oDAAAA,mBAAY;IAAAA,4DAAAA,aACzB;IAAAA,oDAAAA,QAAC;IAAAA,0DAAAA,EAAK;IACvCA,uDAAAA,gBACkC;IAClCA,wDAAAA,4EAEM;IACVA,0DAAAA,EAAM;;;;IAHuBA,uDAAAA,GAAkD;IAAlDA,wDAAAA,8IAAkD;;;;;IAQ3EA,4DAAAA,cAAyH;IACxFA,oDAAAA,qDAAoC;IAAAA,0DAAAA,EAAI;;;;;;IAe7FA,4DAAAA,oBACqE;IADZA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAeA,yDAAAA,4BAAmB;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA,OAC3EA,yDAAAA,8BAAqB;IAAA,EADsD;IACvBA,0DAAAA,EAAY;;;;IADhDA,wDAAAA,+BAAuB;;;;;;IAGxDA,4DAAAA,oBAC6C;IADgDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAeA,yDAAAA,4BAAmB;IAAA,EAAC;MAAAA,2DAAAA;MAAA;MAAA,OAC/GA,yDAAAA,mCAA0B;IAAA,EADqF;IACnFA,0DAAAA,EAAY;;;;IADxBA,wDAAAA,oCAA4B;;;ADlFvD,MAAO6E,iCAAiC;EAe5C3H,YAAoB0I,WAAwB,EAAU4gB,cAAoC,EACtEjpB,MAAc,EAAU6C,YAA0B,EAClD0F,0BAAsD,EACtD2gB,UAA4B,EAC5BnpB,cAA8B,EAC9BgJ,MAAsB;IALtB,gBAAW,GAAXV,WAAW;IAAuB,mBAAc,GAAd4gB,cAAc;IAChD,WAAM,GAANjpB,MAAM;IAAkB,iBAAY,GAAZ6C,YAAY;IACpC,+BAA0B,GAA1B0F,0BAA0B;IAC1B,eAAU,GAAV2gB,UAAU;IACV,mBAAc,GAAdnpB,cAAc;IACd,WAAM,GAANgJ,MAAM;IAlB1B,cAAS,GAAG,IAAI;IAChB,mBAAc,GAAG,KAAK;IACtB,kBAAa,GAAG,EAAE;IAClB,6BAAwB,GAAG,EAAE;IAC7B,oBAAe,GAAG,EAAE;IACpB,uBAAkB,GAAG,KAAK;IAG1B,mBAAc,GAAG,KAAK;IACtB,oBAAe,GAAG,KAAK;IAUrB,IAAI,CAACC,SAAS,EAAE;EAClB;EAEAE,QAAQ;IACN,IAAIqQ,IAAI,GAAG,IAAInK,IAAI,EAAE;IACrB,IAAI,CAAC+Z,eAAe,CAACC,UAAU,CAAC;MAC9BC,WAAW,EAAE9P,IAAI,CAAC+P,cAAc;KACjC,CAAC;IACF,IAAI,CAACH,eAAe,CAAC1E,QAAQ,CAAC,aAAa,CAAC,CAACnC,OAAO,EAAE;IACtD,IAAI,CAACiH,wBAAwB,EAAE;IAC/B,IAAI,CAACC,YAAY,EAAE;EACrB;EAEAD,wBAAwB;IACtB,IAAI,CAAC1mB,YAAY,CAACyL,gBAAgB,CAAC,oCAAoC,CAAC;IAExE,IAAI,CAAC2a,cAAc,CAAC1c,GAAG,CAAC,qBAAqB,EAAC;MAACkd,OAAO,EAAE;IAA0B,CAAC,CAAC,CAACzmB,SAAS,CAC5FkN,IAAI,IAAG;MACL,IAAI,CAACrN,YAAY,CAAC+R,UAAU,EAAE;MAC9B,IAAI,CAAC8U,aAAa,GAAGxZ,IAAI,CAAC,CAAC,CAAC,CAACyZ,QAAQ;IACvC,CAAC,EACDnpB,KAAK,IAAG;MACN,IAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;MAC9B,IAAI,CAAC/R,YAAY,CAACsL,cAAc,CAAC,qDAAqD,CAAC;IACzF,CAAC,CACF;EACH;EAEAqb,YAAY;IACV,IAAI,CAACP,cAAc,CAAC1c,GAAG,CAAC,eAAe,CAAC,CAACvJ,SAAS,CAChDkN,IAAI,IAAG;MACL,IAAI,CAAC0Z,SAAS,GAAG1Z,IAAI;IACvB,CAAC,CACF;EACH;EAEAqC,WAAW,CAACsX,MAAe;IACzB,IAAI,CAACpgB,SAAS,GAAGogB,MAAM;IACvB,IAAI,CAACC,eAAe,GAAG,KAAK;EAC9B;EAEArX,aAAa,CAAC9I,QAAiB;IAC7B,IAAIA,QAAQ,EAAE;MACZ,IAAI,CAAC4I,WAAW,CAAC,KAAK,CAAC;MACvB,IAAI,CAACuX,eAAe,GAAG,KAAK;KAC7B,MACI;MACH,IAAI,CAACX,eAAe,CAAC1E,QAAQ,CAAC,mBAAmB,CAAC,CAACnC,OAAO,EAAE;MAC5D,IAAI,CAAC6G,eAAe,CAAC1E,QAAQ,CAAC,iBAAiB,CAAC,CAACnC,OAAO,EAAE;MAC1D,IAAI,CAAC6G,eAAe,CAAC1E,QAAQ,CAAC,aAAa,CAAC,CAACnC,OAAO,EAAE;MACtD,IAAI,CAAC6G,eAAe,CAAC1E,QAAQ,CAAC,gBAAgB,CAAC,CAACnC,OAAO,EAAE;MACzD,IAAI,CAAC6G,eAAe,CAAC1E,QAAQ,CAAC,SAAS,CAAC,CAACnC,OAAO,EAAE;MAClD,IAAI,CAAC6G,eAAe,CAAC1E,QAAQ,CAAC,aAAa,CAAC,CAACnC,OAAO,EAAE;MACtD,IAAI,CAAC6G,eAAe,CAAC1E,QAAQ,CAAC,YAAY,CAAC,CAACnC,OAAO,EAAE;MACrD,IAAI,CAACyH,cAAc,GAAG,IAAI;MAC1B,IAAI,CAACxX,WAAW,CAAC,KAAK,CAAC;;EAE3B;EAEAyX,iBAAiB,CAACC,aAAmB;IAEnC,IAAIA,aAAa,CAACxf,MAAM,CAAC+B,KAAK,IAAI,MAAM,EACtC,IAAI,CAAC0d,kBAAkB,GAAG,IAAI,CAAC,KAE/B,IAAI,CAACA,kBAAkB,GAAG,KAAK;EACnC;EAEAC,kBAAkB,CAACxgB,QAAuB;IACxC,IAAI,CAACA,QAAQ,EAAE;MACb,IAAI,CAACygB,cAAc,GAAG,KAAK;KAC5B,MACI;MACH,MAAM/oB,IAAI,GAAGF,IAAI,CAACwF,SAAS,CAAC;QAC1B0jB,MAAM,EAAE,IAAI,CAACthB,MAAM,CAACmG,WAAW,CAAC,IAAI,CAACia,eAAe,CAAC5c,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,CAAC;QAC9E8d,MAAM,EAAE,IAAI,CAACvhB,MAAM,CAACmG,WAAW,CAACvF,QAAQ;OACzC,CAAC;MACF,IAAI,CAACsf,cAAc,CAACsB,iBAAiB,CAAC,+BAA+B,EAAElpB,IAAI,CAAE,CAAC2B,SAAS,CAAUkN,IAAU,IAAI;QAC3G,IAAIA,IAAI,CAACsa,KAAK,IAAI,CAAC,EAAE;UACnB,IAAI,CAACd,aAAa,GAAG,uCAAuC;UAC5D,IAAI,CAAC3pB,cAAc,CAACuB,QAAQ,CAAC4O,IAAI,CAACua,KAAK,CAAC;UACxC,IAAI,CAACzqB,MAAM,CAACkD,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC;SAChD,MACI,IAAIgN,IAAI,CAACsa,KAAK,IAAI,CAAC,EAAE;UACxB,IAAI,CAACd,aAAa,GAAG,kBAAkB;UACvC,IAAI,CAACU,cAAc,GAAG,IAAI;UAC1B,IAAI,CAACN,eAAe,GAAG,IAAI;SAC5B,MACI,IAAI5Z,IAAI,CAACsa,KAAK,IAAI,CAAC,EAAE;UACxB,IAAI,CAACd,aAAa,GAAG,0EAA0E;UAC/F,IAAI,CAACI,eAAe,GAAG,IAAI;UAC3B,IAAI,CAACM,cAAc,GAAG,IAAI;;MAE9B,CAAC,EACD,MAAK;QACH,IAAI,CAACvnB,YAAY,CAACsL,cAAc,CAAC,mEAAmE,CAAC;QACrG,IAAI,CAAC2b,eAAe,GAAG,IAAI;QAC3B,IAAI,CAACM,cAAc,GAAG,IAAI;MAC5B,CAAC,CACF;;EAEL;EAGQphB,SAAS;IAEf,IAAI,CAACmgB,eAAe,GAAG,IAAI,CAAC9gB,WAAW,CAACyB,KAAK,CAAC;MAC5C2F,iBAAiB,EAAE,CAAC,EAAE,EAAExH,+DAAmB,CAAC;MAC5CqH,eAAe,EAAE,CAAC,EAAE,EAAErH,+DAAmB,CAAC;MAC1CohB,WAAW,EAAE,CAAC,EAAE,EAAEphB,+DAAmB,CAAC;MACtCyH,cAAc,EAAE,CAAC,EAAE,EAAEzH,+DAAmB,CAAC;MACzCsH,OAAO,EAAE,CAAC,EAAE,EAAEtH,+DAAmB,CAAC;MAClCuH,WAAW,EAAE,CAAC,EAAE,EAAEvH,+DAAmB,CAAC;MACtCkH,UAAU,EAAE,CAAC,EAAE,EAAE,CAAClH,+DAAmB,EAAEA,4DAAgB,CAAC;KACzD,CAAC;EACJ;EAEM0iB,gBAAgB;IAAA;IAAA;MACpB,MAAMC,OAAO,GAAG,KAAI,CAAC5T,qBAAqB,EAAE,CAAC,CAAC;MAC9C,MAAM6T,YAAY,GAAG,KAAI,CAAC1B,eAAe,CAAC5c,GAAG,CAAC,gBAAgB,CAAC,EAAEC,KAAK,CAAC,CAAC;MAExE,IAAIqe,YAAY,IAAID,OAAO,IAAIC,YAAY,GAAGD,OAAO,EAAE;QACrD,OAAQ,IAAI;;MAEd,OAAO,KAAK;IAAC;EACf;EAEME,iBAAiB;IAAA;IAAA;MACrB,MAAMC,YAAY,GAAG,kBAAkB;MACvC,MAAMvb,WAAW,GAAG,MAAI,CAAC2Z,eAAe,CAAC5c,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;MAClE,MAAM8C,eAAe,GAAG,MAAI,CAAC6Z,eAAe,CAAC5c,GAAG,CAAC,iBAAiB,CAAC,EAAEC,KAAK;MAC1E,MAAMiD,iBAAiB,GAAG,MAAI,CAAC0Z,eAAe,CAAC5c,GAAG,CAAC,mBAAmB,CAAC,EAAEC,KAAK;MAE9E,MAAMwe,oBAAoB,GAAG,kCAAkC,CAACjR,IAAI,CACpEvK,WAAW,GAAGF,eAAe,GAAGG,iBAAiB,CAChD;MAED,IAAIub,oBAAoB,EAAE;QACxB,OAAO,KAAK;;MAGd,OAAO,IAAI;IAAC;EACd;EAEMC,YAAY;IAAA;IAAA;MAChB,MAAM3b,eAAe,GAAG,MAAI,CAAC6Z,eAAe,CAAC5c,GAAG,CAAC,iBAAiB,CAAC,EAAEC,KAAK;MAC1E,MAAMiD,iBAAiB,GAAG,MAAI,CAAC0Z,eAAe,CAAC5c,GAAG,CAAC,mBAAmB,CAAC,EAAEC,KAAK;MAC9E,MAAM6c,WAAW,GAAG,MAAI,CAACF,eAAe,CAAC5c,GAAG,CAAC,aAAa,CAAC,EAAEC,KAAK;MAClE,MAAM+C,OAAO,GAAG,MAAI,CAAC4Z,eAAe,CAAC5c,GAAG,CAAC,SAAS,CAAC,EAAEC,KAAK;MAC1D,MAAM2C,UAAU,GAAG,MAAI,CAACga,eAAe,CAAC5c,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK;MAEhE,IACE,CAAC8C,eAAe,IAChB,CAACG,iBAAiB,IAClB,CAAC4Z,WAAW,IACZ,CAAC9Z,OAAO,IACR,CAACJ,UAAU,EACX;QACA,OAAO,KAAK;;MAGd,OAAO,IAAI;IAAC;EACd;EAGM+b,IAAI;IAAA;IAAA;MACR,UAAS,MAAI,CAACC,sBAAsB,EAAE,EACtC;QACE,MAAI,CAACtoB,YAAY,CAAC+R,UAAU,EAAE;QAC9B;QACA,MAAI,CAAC/R,YAAY,CAAC+I,mBAAmB,CAAC,+HAA+H,EAAE,MAAM,EAAE,IAAI,CAAC;;MAEtL,UAAS,MAAI,CAAC+e,gBAAgB,EAAE,EAAC;QAC/B,MAAI,CAAC9nB,YAAY,CAAC+R,UAAU,EAAE;QAC9B;QACA,MAAI,CAAC/R,YAAY,CAAC+I,mBAAmB,CAAC,8DAA8D,EAAE,MAAM,EAAE,IAAI,CAAC;OACpH,MAAM,IAAI,QAAQ,MAAI,CAACkf,iBAAiB,EAAE,CAAC,EAAC;QAC3C,MAAI,CAACjoB,YAAY,CAAC+R,UAAU,EAAE;QAC9B;QACA,MAAI,CAAC/R,YAAY,CAAC+I,mBAAmB,CAAC,kHAAkH,EAAE,MAAM,EAAE,IAAI,CAAC;OACxK,MAAM,IAAI,QAAQ,MAAI,CAACqf,YAAY,EAAE,CAAC,EAAC;QACtC,MAAI,CAACpoB,YAAY,CAAC+R,UAAU,EAAE;QAC9B;QACA,MAAI,CAAC/R,YAAY,CAAC+I,mBAAmB,CAAC,2CAA2C,EAAE,MAAM,EAAE,IAAI,CAAC;OACjG,MACG;QACF,IAAIwf,EAAU;QACd,MAAI,CAAClC,UAAU,CAACmC,YAAY,EAAE,CAACroB,SAAS,CACtCkN,IAAI,IAAG;UACLkb,EAAE,GAAI,GAAG;UAET/kB,cAAc,CAACK,OAAO,CAAC,WAAW,EAAE0kB,EAAE,CAAC;QACzC,CAAC,EACD5qB,KAAK,IAAG;UACN4qB,EAAE,GAAG,GAAG;UAER/kB,cAAc,CAACK,OAAO,CAAC,WAAW,EAAE0kB,EAAE,CAAC;QACzC,CAAC,CACF;QAED,MAAI,CAACtB,eAAe,GAAG,KAAK;QAC5B,IAAI,MAAI,CAAC7oB,KAAK,IAAI,IAAI,EAAE;UACtB,IAAIopB,MAAM,GAAG,MAAI,CAACthB,MAAM,CAACmG,WAAW,CAAC,MAAI,CAACia,eAAe,CAAC5c,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,CAAC;UACnF,MAAI,CAACyc,cAAc,CAACqC,IAAI,CAAC,+BAA+B,EAAEjB,MAAM,CAAE,CAACrnB,SAAS,CACzEkN,IAAU,IAAI;YACb,IAAIA,IAAI,IAAI,EAAE,EACZ,MAAI,CAACqb,eAAe,GAAG,MAAM;UACjC,CAAC,CACF;UACD,MAAI,CAAC7B,aAAa,GAAG,mIAAmI,GAAG,MAAI,CAACP,eAAe,CAAC5c,GAAG,CAAC,YAAY,CAAC,EAAEC,KAAK,GAAG,iLAAiL;UAC5X,MAAI,CAAC4d,cAAc,GAAG,IAAI;SAC3B,MACI;UACH,MAAI,CAACpqB,MAAM,CAACkD,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC;;QAE/C;QACA,MAAI,CAACqF,0BAA0B,CAACigB,sBAAsB,CAAC,mCAAmC,EAAE,MAAI,CAACW,eAAe,CAAC3c,KAAK,CAAC;QACvHnD,OAAO,CAACC,GAAG,CAAC,MAAI,CAAC6f,eAAe,CAAC3c,KAAK,CAAC;;IAG1C;EAEH;EAEM2e,sBAAsB;IAAA;IAAA;MAC1B,IAAIK,MAAM,GAAG,KAAK;MAElB,IAAI;QACF,MAAMtb,IAAI,SAAS,MAAI,CAAC+Y,cAAc,CAAC1c,GAAG,CAAC,0BAA0B,EAAE;UAAEkf,iBAAiB,EAAE,MAAI,CAACtC,eAAe,CAAC5c,GAAG,CAAC,iBAAiB,CAAC,EAAEC;QAAK,CAAE,CAAC,CAACyB,SAAS,EAAE;QAC7J,IAAIyd,WAAW,GAAQ,MAAI,CAAC3iB,MAAM,CAAC4iB,WAAW,CAACzb,IAAI,CAAC0b,OAAO,CAAC;QAC5D,IAAIC,WAAW,GAAG1qB,IAAI,CAACC,KAAK,CAACsqB,WAAW,CAAC;QACzC,IAAIG,WAAW,EAAC;UACdL,MAAM,GAAG,IAAI;UACb,MAAI,CAACM,cAAc,GAAG5b,IAAI;UAC1B7G,OAAO,CAACC,GAAG,CAAC,MAAI,CAACwiB,cAAc,CAAC;;OAInC,CAAC,OAAOtrB,KAAK,EAAE;QACdgrB,MAAM,GAAG,KAAK;;MAGhB,OAAOA,MAAM;IAAC;EAChB;EAEAxU,qBAAqB;IACnB,MAAME,GAAG,GAAG,IAAI9H,IAAI,EAAE;IACtB,MAAMwG,IAAI,GAAGsB,GAAG,CAACrB,WAAW,EAAE;IAC9B,MAAMC,KAAK,GAAGoB,GAAG,CAACnB,QAAQ,EAAE,GAAG,CAAC;IAChC,MAAMP,GAAG,GAAG0B,GAAG,CAACxB,OAAO,EAAE,GAAE,CAAC;IAE5B,MAAMkV,OAAO,GAAG,GAAGhV,IAAI,IAAIE,KAAK,CAACsB,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI7B,GAAG,CAAC4B,QAAQ,EAAE,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;IAEjG,OAAOuT,OAAO;EAChB;EAIA,IAAImB,YAAY;IACd,OAAO,IAAI,CAAC5C,eAAe,CAAC5c,GAAG,CAAC,WAAW,CAAC;EAC9C;EAEA,IAAIyf,UAAU;IACZ,OAAO,IAAI,CAAC7C,eAAe,CAAC5c,GAAG,CAAC,SAAS,CAAC;EAC5C;EAEA,IAAI0f,UAAU;IACZ,OAAO,IAAI,CAAC9C,eAAe,CAAC5c,GAAG,CAAC,SAAS,CAAC;EAC5C;EAEA,IAAI2f,SAAS;IACX,OAAO,IAAI,CAAC/C,eAAe,CAAC5c,GAAG,CAAC,QAAQ,CAAC;EAC3C;EAEA,IAAI4f,iBAAiB;IACnB,OAAO,IAAI,CAAChD,eAAe,CAAC5c,GAAG,CAAC,gBAAgB,CAAC;EACnD;EAEA,IAAI6f,WAAW;IACb,OAAO,IAAI,CAACjD,eAAe,CAAC5c,GAAG,CAAC,UAAU,CAAC;EAC7C;EAEA,IAAI8f,aAAa;IACf,OAAO,IAAI,CAAClD,eAAe,CAAC5c,GAAG,CAAC,SAAS,CAAC;EAC5C;EAEA,IAAI+f,iBAAiB;IACnB,OAAO,IAAI,CAACnD,eAAe,CAAC5c,GAAG,CAAC,SAAS,CAAC;EAC5C;EAEA,IAAIggB,WAAW;IACb,OAAO,IAAI,CAACpD,eAAe,CAAC5c,GAAG,CAAC,UAAU,CAAC;EAC7C;EAEA,IAAIigB,iBAAiB;IACnB,OAAO,IAAI,CAACrD,eAAe,CAAC5c,GAAG,CAAC,gBAAgB,CAAC;EACnD;EAEA,IAAIkgB,gBAAgB;IAClB,OAAO,IAAI,CAACtD,eAAe,CAAC5c,GAAG,CAAC,eAAe,CAAC;EAClD;EAEA,IAAImgB,sBAAsB;IACxB,OAAO,IAAI,CAACvD,eAAe,CAAC5c,GAAG,CAAC,qBAAqB,CAAC;EACxD;EAEA,IAAIogB,wBAAwB;IAC1B,OAAO,IAAI,CAACxD,eAAe,CAAC5c,GAAG,CAAC,uBAAuB,CAAC;EAC1D;EAEA,IAAIqgB,oBAAoB;IACtB,OAAO,IAAI,CAACzD,eAAe,CAAC5c,GAAG,CAAC,mBAAmB,CAAC;EACtD;EAEA,IAAIsgB,wBAAwB;IAC1B,OAAO,IAAI,CAAC1D,eAAe,CAAC5c,GAAG,CAAC,mBAAmB,CAAC;EACtD;EAEA,IAAIugB,gCAAgC;IAClC,OAAO,IAAI,CAAC3D,eAAe,CAAC5c,GAAG,CAAC,2BAA2B,CAAC;EAC9D;EAAC;qBApVUjF,iCAAiC;EAAA;EAAA;UAAjCA,iCAAiC;IAAA3D;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QCf9CtB,4DAAAA,cAAmE;QAA/BA,wDAAAA;UAAA,OAAY4P,UAAM;QAAA,EAAC;QACnD5P,4DAAAA,aAA2C;QACvCA,uDAAAA,SAAI;QACJA,4DAAAA,eAAuO;QAAAA,oDAAAA,kEAAsD;QAAAA,0DAAAA,EAAQ;QACrSA,4DAAAA,aAA8B;QACoBA,oDAAAA,sBAAe;QAAAA,0DAAAA,EAAQ;QACrEA,4DAAAA,aAAqC;QAEDA,oDAAAA,0BAAkB;QAAAA,0DAAAA,EAAQ;QACtDA,uDAAAA,gBACmE;QACnEA,wDAAAA,uEAEM;QACVA,0DAAAA,EAAM;QAENA,4DAAAA,cAAuC;QACiBA,oDAAAA,0BAAkB;QAAAA,4DAAAA,cACrC;QAAAA,oDAAAA,SAAC;QAAAA,0DAAAA,EAAK;QACvCA,uDAAAA,iBACyE;QACzEA,wDAAAA,uEAEM;QACVA,0DAAAA,EAAM;QACNA,4DAAAA,cAAuC;QACPA,oDAAAA,8BAAsB;QAAAA,0DAAAA,EAAQ;QAE9DA,uDAAAA,cAEM;QAENA,4DAAAA,cAAuC;QACeA,oDAAAA,qFAAwE;QAAAA,4DAAAA,cACrE;QAAAA,oDAAAA,SAAC;QAAAA,0DAAAA,EAAK;QAC3DA,uDAAAA,iBAC0D;QAC1DA,wDAAAA,uEAEM;QACNA,0DAAAA,EAAM;QAEVA,4DAAAA,cAAuC;QACPA,oDAAAA,sCAA8B;QAAAA,0DAAAA,EAAQ;QAClEA,uDAAAA,iBACsE;QACtEA,wDAAAA,uEAEM;QACVA,0DAAAA,EAAM;QAENA,4DAAAA,cAAuC;QACOA,oDAAAA,eAAO;QAAAA,4DAAAA,cACpB;QAAAA,oDAAAA,SAAC;QAAAA,0DAAAA,EAAK;QACnCA,4DAAAA,kBAA4F;QAA1DA,wDAAAA;UAAA,OAAU4P,6BAAyB;QAAA,EAAC;QAClE5P,wDAAAA,8EAA2F;QAC/FA,0DAAAA,EAAS;QACTA,wDAAAA,uEAEM;QACVA,0DAAAA,EAAM;QACNA,uDAAAA,cAEM;QAENA,wDAAAA,wEAQM;QAENA,4DAAAA,cAAuC;QACUA,oDAAAA,qCAA6B;QAAAA,4DAAAA,cAA6B;QAAAA,oDAAAA,SAAC;QAAAA,0DAAAA,EAAK;QAC7GA,uDAAAA,iBAAsH;QACtHA,wDAAAA,uEAEM;QACRA,0DAAAA,EAAM;QACNA,4DAAAA,eAAgD;QAG1CA,oDAAAA,iBACF;QAAAA,0DAAAA,EAAS;QAQ/BA,wDAAAA,oFACiF;QAEjFA,wDAAAA,oFACyD;;;;QAlGnDA,wDAAAA,kCAA6B;QAUmBA,uDAAAA,IAA+B;QAA/BA,wDAAAA,oCAA+B;QACxCA,uDAAAA,GAAkD;QAAlDA,wDAAAA,kIAAkD;QAUlDA,uDAAAA,GAAkD;QAAlDA,wDAAAA,kIAAkD;QAgBlDA,uDAAAA,IAAkD;QAAlDA,wDAAAA,kIAAkD;QAQtCA,uDAAAA,GAA+B;QAA/BA,wDAAAA,oCAA+B;QAC3CA,uDAAAA,GAAkD;QAAlDA,wDAAAA,kIAAkD;QAS5CA,uDAAAA,GAAY;QAAZA,wDAAAA,0BAAY;QAElBA,uDAAAA,GAAkD;QAAlDA,wDAAAA,kIAAkD;QAQzEA,uDAAAA,GAAwB;QAAxBA,wDAAAA,gCAAwB;QAaDA,uDAAAA,GAA8F;QAA9FA,wDAAAA,0LAA8F;QAMlFA,uDAAAA,GAA2B;QAA3BA,wDAAAA,gCAA2B;QAUxEA,uDAAAA,GAAmB;QAAnBA,wDAAAA,2BAAmB;QAGnBA,uDAAAA,GAAmB;QAAnBA,wDAAAA,2BAAmB;;;;;;;;;;;;;;;;;;;;;;;;AChGgB;AACQ;;;AAQjD,MAAOuE,uBAAuB;EAAA;qBAAvBA,uBAAuB;EAAA;EAAA;UAAvBA;EAAuB;EAAA;cAHxBhF,kEAAqB,CAAC+qB,gEAAgB,CAAC,EACvC/qB,yDAAY;EAAA;;;sHAEXgF,uBAAuB;IAAA1E,UAAAA,yDAAAA;IAAAC,UAFxBP,yDAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;ACPsG;AACb;AACT;AACA;AACR;AACK;AAE9F,MAAM+qB,gBAAgB,GAAW,CACtC;EACE7nB,IAAI,EAAE,EAAE;EACR+nB,SAAS,EAAE,MAAM;EACjBC,SAAS,EAAE5lB,sIAAiCA;CAC7C,EACD;EACEpC,IAAI,EAAE,sBAAsB;EAC5BgoB,SAAS,EAAE3lB,yHAA4BA;CACxC,EACD;EACErC,IAAI,EAAE,kBAAkB;EACxBgoB,SAAS,EAAEvlB,6GAAwBA;CACpC,EACD;EACEzC,IAAI,EAAE,mBAAmB;EACzBgoB,SAAS,EAAE1lB,gHAAyBA;CACrC,EACD;EACEtC,IAAI,EAAE,mBAAmB;EACzBgoB,SAAS,EAAEzlB,gHAAyBA;CACrC,EACD;EACEvC,IAAI,EAAE,gBAAgB;EACtBgoB,SAAS,EAAExlB,wGAAuBA;CACnC,CAEF;;;;;;;;;;;;;;;;;;ACnC8D;;;;AASzD,MAAO0lB,kBAAkB;EAI7BztB,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA6BuqB,OAAe;IAA7F,SAAI,GAAJ/kB,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA6C,YAAO,GAAPuqB,OAAO;IAHjG,mBAAc,GAAG,wBAAwB;IAI/C,IAAI,CAACvqB,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEA2L,WAAW,CAAChE,KAAa,EAAEgQ,UAAkB,EAAEjM,aAAqB,EAAEwD,WAAmB,EAAEob,SAAiB,EAAEhV,SAAiB,EAAEiV,WAAmB;IAClJ,MAAMC,QAAQ,GAAG,IAAIC,QAAQ,EAAE;IAC/B,KAAK,IAAItH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGxb,KAAK,CAACC,MAAM,EAAEub,CAAC,EAAE,EAAE;MACrCqH,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAE/iB,KAAK,CAACwb,CAAC,CAAC,EAAExb,KAAK,CAACwb,CAAC,CAAC,CAACrgB,IAAI,CAAC;;IAEnD0nB,QAAQ,CAACE,MAAM,CAAC,aAAa,EAAEH,WAAW,CAAC;IAE3C,MAAMI,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC,CAAC;MACF4sB,MAAM,EAAE;QAAEjT,UAAU,EAAEA,UAAU;QAAEzI,WAAW,EAAEA,WAAW;QAAEob,SAAS,EAAEA,SAAS;QAAEhV,SAAS,EAAEA;MAAS;KACvG;IAED,OAAO,IAAI,CAACjQ,IAAI,CAACgjB,IAAI,CAAC,GAAG,IAAI,CAAC+B,OAAO,GAAG,IAAI,CAACS,cAAc,IAAInf,aAAa,EAAE,EAAE8e,QAAQ,EAAEG,WAAW,CAAC;EAC1G;EAIEG,YAAY,CAACC,QAAgB,EAAErf,aAAqB;IAClD,MAAMif,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC,CAAC;MACFgtB,YAAY,EAAE;KACf;IAED,OAAO,IAAI,CAAC3lB,IAAI,CAACiE,GAAG,CAAO,GAAG,IAAI,CAAC8gB,OAAO,4BAA4BW,QAAQ,IAAIrf,aAAa,EAAE,EAAEif,WAAW,CAAC;EACjH;EAEAM,UAAU,CAACF,QAAgB,EAAErf,aAAqB;IAChD,MAAMif,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF;IAED,OAAO,IAAI,CAACqH,IAAI,CAAC6lB,MAAM,CAAC,GAAG,IAAI,CAACd,OAAO,0BAA0B1e,aAAa,IAAIqf,QAAQ,EAAE,EAAEJ,WAAW,CAAC;EAC5G;EAAC;qBAhDUR,kBAAkB,wUAIkD,UAAU;EAAA;EAAA;WAJ9EA,kBAAkB;IAAAzrB,SAAlByrB,kBAAkB;IAAApnB,YAFjB;EAAM;;;;;;;;;;;;;;;;;;;;;ACP2C;AAGzB;;;;AAchC,MAAOqoB,YAAY;EAMvB1uB,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA4BuqB,OAAe;IAA5F,SAAI,GAAJ/kB,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA4C,YAAO,GAAPuqB,OAAO;IALhG,sBAAiB,GAAG,kBAAkB;IAEpC,cAAS,GAAW,kCAAkC;IACtD,OAAE,GAAW,kBAAkB;IAGvC,IAAI,CAACvqB,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEDyO,SAAS,CAAC2Y,MAAc,EAAEiE,QAAgB,EAAEC,OAAkB;IAC3D;IACA,MAAMC,OAAO,GAAGrtB,IAAI,CAACwF,SAAS,CAAC,GAAG4nB,OAAO,CAAChd,MAAM,GAAGgd,OAAO,CAAC/c,gBAAgB,GAAG+c,OAAO,CAAC9c,MAAM,EAAE,CAAC;IAC/F,MAAMgd,IAAI,GAAG,IAAI,CAACvf,WAAW,CAACmb,MAAM,CAAC;IACrC,MAAMqE,WAAW,GAAG,IAAI,CAACxf,WAAW,CAACof,QAAQ,CAAC;IAC9C,MAAMjtB,IAAI,GAAGF,IAAI,CAACwF,SAAS,CAAC,IAAI,CAACuI,WAAW,CAACsf,OAAO,CAAC,CAAC;IACtD,MAAMZ,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK,EAAE;QACvC,cAAc,EAAE;OACjB,CAAC;MACF4sB,MAAM,EAAE;QAAExD,MAAM,EAAEoE,IAAI;QAAEH,QAAQ,EAAEI;MAAW;KAC9C;IACD,OAAO,IAAI,CAACpmB,IAAI,CAACgjB,IAAI,CAAC,GAAG,IAAI,CAAC+B,OAAO,OAAO,IAAI,CAACsB,iBAAiB,EAAE,EAAEttB,IAAI,EAAEusB,WAAW,CAAC;EAC1F;EAEQ1e,WAAW,CAAC0f,aAAqB;IACvC,MAAMzS,GAAG,GAAGiS,qDAAuB,CAAC,IAAI,CAACW,SAAS,CAAC;IACnD,MAAMC,EAAE,GAAGZ,qDAAuB,CAAC,IAAI,CAACY,EAAE,CAAC;IAE3C,MAAMC,SAAS,GAAGb,kDAAoB,CAACQ,aAAa,EAAEzS,GAAG,EAAE;MAAE6S,EAAE,EAAEA;IAAE,CAAE,CAAC,CAAC5X,QAAQ,EAAE;IAEjF,OAAO6X,SAAS;EAClB;EAAC;qBAnCUZ,YAAY,wUAMuD,UAAU;EAAA;EAAA;WAN7EA,YAAY;IAAA1sB,SAAZ0sB,YAAY;IAAAroB,YAFX;EAAM;;;;;;;;;;;;;;;;;;;ACdkB;;AAKhC,MAAOopB,cAAc;EAIzBzvB;IAHQ,cAAS,GAAW,kCAAkC;IACtD,OAAE,GAAW,kBAAkB;EAExB;EAERuP,WAAW,CAAC0f,aAAqB;IACtC,MAAMzS,GAAG,GAAGiS,qDAAuB,CAAC,IAAI,CAACW,SAAS,CAAC;IACnD,MAAMC,EAAE,GAAGZ,qDAAuB,CAAC,IAAI,CAACY,EAAE,CAAC;IAE3C,MAAMC,SAAS,GAAGb,kDAAoB,CAACQ,aAAa,EAAEzS,GAAG,EAAE;MAAE6S,EAAE,EAAEA;IAAE,CAAE,CAAC,CAAC5X,QAAQ,EAAE;IAEjF,OAAO6X,SAAS;EAClB;EACOtD,WAAW,CAAC0D,aAAqB;IACtC,MAAMlT,GAAG,GAAGiS,qDAAuB,CAAC,IAAI,CAACW,SAAS,CAAC;IACnD,MAAMC,EAAE,GAAGZ,qDAAuB,CAAC,IAAI,CAACY,EAAE,CAAC;IAE3C,MAAMM,SAAS,GAAGlB,kDAAoB,CAACiB,aAAa,EAAElT,GAAG,EAAE;MAAE6S,EAAE,EAAEA;IAAE,CAAE,CAAC,CAAC5X,QAAQ,CAACgX,+CAAiB,CAAC;IAElG,OAAOkB,SAAS;EAClB;EAAC;qBArBUF,cAAc;EAAA;EAAA;WAAdA,cAAc;IAAAztB,SAAdytB,cAAc;IAAAppB,YAFb;EAAM;;;;;;;;;;;;;;;;;;;;;ACJ2C;AAExB;;;;;AAQjC,MAAOwpB,gBAAgB;EAK3B7vB,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA4BuqB,OAAe,EAAUtkB,MAAsB;IAA5H,SAAI,GAAJT,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA4C,YAAO,GAAPuqB,OAAO;IAAkB,WAAM,GAANtkB,MAAM;IAHxH,iBAAY,GAAG,4BAA4B;IAIjD,IAAI,CAACjG,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEAooB,YAAY;IACV,MAAMuC,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF;IAED,OAAO,IAAI,CAACqH,IAAI,CAACiE,GAAG,CAAM,GAAG,IAAI,CAAC8gB,OAAO,GAAG,IAAI,CAACoC,YAAY,EAAE,EAAE7B,WAAW,CAAC,CAACrtB,IAAI,CAChFgF,yCAAG,CAACoE,QAAQ,IAAG;MACb,IAAIA,QAAQ,IAAIA,QAAQ,CAACiiB,OAAO,EAAE;QAChC,MAAM8D,aAAa,GAAG,IAAI,CAAC3mB,MAAM,CAAC4iB,WAAW,CAAChiB,QAAQ,CAACiiB,OAAO,CAAC;QAC/D,OAAO;UAAER,EAAE,EAAEsE;QAAa,CAAE;OAC7B,MAAM;QACL,OAAO;UAAEtE,EAAE,EAAE;QAAI,CAAE;;IAEvB,CAAC,CAAC,CACH;EACH;EAAC;qBA5BUoE,gBAAgB,wUAKmD,UAAU;EAAA;EAAA;WAL7EA,gBAAgB;IAAA7tB,SAAhB6tB,gBAAgB;IAAAxpB,YAFf;EAAM;;;;;;;;;;;;;;;;;;;;ACR2C;AAExB;;;;AAOjC,MAAO2pB,qBAAqB;EAIhChwB,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA4BuqB,OAAe;IAA5F,SAAI,GAAJ/kB,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA4C,YAAO,GAAPuqB,OAAO;IAHhG,oBAAe,GAAG,iCAAiC;IAIzD,IAAI,CAACvqB,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEAyL,YAAY;IACV,MAAMkf,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC,CAAC;MACFgtB,YAAY,EAAE;KACf;IAED,OAAO,IAAI,CAAC3lB,IAAI,CAACgjB,IAAI,CAAC,GAAG,IAAI,CAAC+B,OAAO,GAAG,IAAI,CAACuC,eAAe,EAAE,EAAE,IAAI,EAAEhC,WAAW,CAAC,CAC/ErtB,IAAI,CAACgF,yCAAG,CAAEoE,QAAa,IAAI;MAC1B,OAAO;QAAEoE,IAAI,EAAEpE;MAAQ,CAAE;IAC3B,CAAC,CAAC,CAAC;EACP;EAAC;qBAtBUgmB,qBAAqB,wUAI8C,UAAU;EAAA;EAAA;WAJ7EA,qBAAqB;IAAAhuB,SAArBguB,qBAAqB;IAAA3pB,YAFpB;EAAM;;;;;;;;;;;;;;;;;;;ACP2C;;;;AAQzD,MAAO6pB,sBAAsB;EAIjClwB,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA6BuqB,OAAe;IAA7F,SAAI,GAAJ/kB,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA6C,YAAO,GAAPuqB,OAAO;IAHjG,gBAAW,GAAG,qBAAqB;IAIzC;IACA,IAAI,CAACvqB,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEA6sB,kBAAkB,CAACrG,OAAe;IAChC;IACA,MAAMmE,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC,CAAC;MACF4sB,MAAM,EAAE;QAAEpE,OAAO,EAAEA;MAAO;KAC3B;IACD;IACA,OAAO,IAAI,CAACnhB,IAAI,CAACiE,GAAG,CAAC,GAAG,IAAI,CAAC8gB,OAAO,GAAG,IAAI,CAAC0C,WAAW,EAAE,EAAEnC,WAAW,CAAC;EACzE;EAAC;qBArBUiC,sBAAsB,wUAI8C,UAAU;EAAA;EAAA;WAJ9EA,sBAAsB;IAAAluB,SAAtBkuB,sBAAsB;IAAA7pB,YAFrB;EAAM;;;;;;;;;;;;;;;;;;;;ACAd,MAAOoN,0BAA0B;EAKrC;EACAzT,YAAoB2I,IAAgB;IAAhB,SAAI,GAAJA,IAAI;IAJxB;IACA,UAAK,GAAQ,EAAE;EAGyB;EAExC;EACAkgB,sBAAsB,CAACrM,GAAW,EAAEjM,IAAS;IAC3C,IAAI,CAAC+V,KAAK,CAAC9J,GAAG,CAAC,GAAGjM,IAAI;EACxB;EAEA;EACA9G,sBAAsB,CAAC+S,GAAW;IAChC,OAAO,IAAI,CAAC8J,KAAK,CAAC9J,GAAG,CAAC;EACxB;EAAC;qBAhBU/I,0BAA0B;EAAA;EAAA;WAA1BA,0BAA0B;IAAAzR,SAA1ByR,0BAA0B;IAAApN,YAFzB;EAAM;;;;;;;;;;;;;;;;;;;ACH2C;;;;AAQzD,MAAOgqB,wBAAwB;EAMnCrwB,YAAoB2I,IAAgB,EAA6B+kB,OAAe,EAAUvqB,OAAuB;IAA7F,SAAI,GAAJwF,IAAI;IAAyC,YAAO,GAAP+kB,OAAO;IAAkB,YAAO,GAAPvqB,OAAO;IAJzF,WAAM,GAAG,uBAAuB;IAChC,iBAAY,GAAG,gBAAgB;IAIrC,IAAI,CAACA,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACH;EAEDkO,qBAAqB,CAACjB,IAAS;IAC7B,OAAO,IAAI,CAAC5H,IAAI,CAACgjB,IAAI,CAAC,GAAG,IAAI,CAAC+B,OAAO,GAAG,IAAI,CAAC4C,MAAM,EAAE,EAAE/f,IAAI,EAAE;MAC3DzO,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF,CAAC;EACJ;EACEivB,gBAAgB,CAACC,EAAO;IACxB,OAAO,IAAI,CAAC7nB,IAAI,CAAC6lB,MAAM,CAAC,GAAG,IAAI,CAACd,OAAO,GAAG,IAAI,CAAC+C,YAAY,IAAID,EAAE,EAAE,EAAE;MACnE1uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF,CAAC;EACJ;EAAC;qBA3BU+uB,wBAAwB,+KAMW,UAAU;EAAA;EAAA;WAN7CA,wBAAwB;IAAAruB,SAAxBquB,wBAAwB;IAAAhqB,YAFvB;EAAM;;;;;;;;;;;;;;;;;;;ACH2C;;;;AAMzD,MAAOqN,0BAA0B;EAOrC1T,YAAoB2I,IAAgB,EAA6B+kB,OAAe,EAAUvqB,OAAuB;IAA7F,SAAI,GAAJwF,IAAI;IAAyC,YAAO,GAAP+kB,OAAO;IAAkB,YAAO,GAAPvqB,OAAO;IALzF,iBAAY,GAAG,cAAc;IAC7B,mBAAc,GAAG,uBAAuB;IACxC,8BAAyB,GAAG,2BAA2B;IAI7D,IAAI,CAACA,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEAoR,mBAAmB;IACjB,MAAMgc,UAAU,GAAG;MACjB5uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAClsB,KAAK;QACvC,cAAc,EAAE;OACjB;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACiE,GAAG,CAAC,IAAI,CAAC8gB,OAAO,GAAG,IAAI,CAACiD,YAAY,EAAED,UAAU,CAAC;EACpE;EAEA9b,qBAAqB;IACnB,MAAM8b,UAAU,GAAG;MACjB5uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAClsB,KAAK;QACvC,cAAc,EAAE;OACjB;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACiE,GAAG,CAAC,IAAI,CAAC8gB,OAAO,GAAG,IAAI,CAACkD,cAAc,EAAEF,UAAU,CAAC;EACtE;EAEA5b,wBAAwB;IACtB,MAAM4b,UAAU,GAAG;MACjB5uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAClsB,KAAK;QACvC,cAAc,EAAE;OACjB;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACiE,GAAG,CAAC,IAAI,CAAC8gB,OAAO,GAAG,IAAI,CAACmD,yBAAyB,EAAEH,UAAU,CAAC;EACjF;EAAC;qBAzCUhd,0BAA0B,+KAOS,UAAU;EAAA;EAAA;WAP7CA,0BAA0B;IAAA1R,SAA1B0R,0BAA0B;IAAArN,YAFzB;EAAM;;;;;;;;;;;;;;;;;;;ACP2C;;;;AAQzD,MAAOyqB,8BAA8B;EAIzC9wB,YAAoB2I,IAAgB,EAA6B+kB,OAAe,EAAUvqB,OAAuB;IAA7F,SAAI,GAAJwF,IAAI;IAAyC,YAAO,GAAP+kB,OAAO;IAAkB,YAAO,GAAPvqB,OAAO;IAHzF,WAAM,GAAG,qDAAqD;IAIpE,IAAI,CAACA,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEA+M,gCAAgC,CAACwG,IAAY;IAC3C,MAAM/V,GAAG,GAAG,GAAG,IAAI,CAAC4sB,OAAO,GAAG,IAAI,CAAC4C,MAAM,SAASzZ,IAAI,EAAE;IACxD,OAAO,IAAI,CAAClO,IAAI,CAACiE,GAAG,CAAC9L,GAAG,EAAE;MACxBgB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF,CAAC;EACJ;EAAC;qBAlBUwvB,8BAA8B,+KAIK,UAAU;EAAA;EAAA;WAJ7CA,8BAA8B;IAAA9uB,SAA9B8uB,8BAA8B;IAAAzqB,YAF7B;EAAM;;;;;;;;;;;;;;;;;;;;;ACN2C;AACxB;;;;;AAQjC,MAAO0qB,iBAAiB;EAQ5B/wB,YAAoB2I,IAAgB,EAA6B+kB,OAAe,EAAUvqB,OAAuB,EAAUiG,MAAqB;IAA5H,SAAI,GAAJT,IAAI;IAAyC,YAAO,GAAP+kB,OAAO;IAAkB,YAAO,GAAPvqB,OAAO;IAA0B,WAAM,GAANiG,MAAM;IANzH,WAAM,GAAG,gBAAgB;IACzB,cAAS,GAAC,yBAAyB;IACnC,yBAAoB,GAAG,4CAA4C;IAKzE,IAAI,CAACjG,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACH;EAED2M,cAAc,CAACM,IAAS;IACtB,OAAO,IAAI,CAAC5H,IAAI,CAACgjB,IAAI,CAAC,GAAG,IAAI,CAAC+B,OAAO,GAAG,IAAI,CAAC4C,MAAM,EAAE,EAAE/f,IAAI,EAAE;MAC3DzO,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF,CAAC;EACJ;EAEA0vB,sBAAsB,CAACzgB,IAAQ;IAC7B,OAAO,IAAI,CAAC5H,IAAI,CAACgjB,IAAI,CAAC,GAAG,IAAI,CAAC+B,OAAO,GAAG,IAAI,CAACuD,SAAS,EAAE,EAAE1gB,IAAI,EAAE;MAChEzO,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF,CAAC;EACJ;EAEAgd,qBAAqB,CAACF,QAAgB;IACpC,MAAM6P,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK,EAAE;QACvC,cAAc,EAAE;OACjB;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACiE,GAAG,CAAC,IAAI,CAACqkB,SAAS,GAAC7S,QAAQ,EAAE6P,WAAW,CAAC,CACzDrtB,IAAI,CAACgF,yCAAG,CAAEoE,QAAa,IAAI;MAC1B,IAAIuH,IAAI,GAAS,IAAI,CAACnI,MAAM,CAAC4iB,WAAW,CAAChiB,QAAQ,CAACiiB,OAAO,CAAC;MAC1D,OAAO;QAAE1a;MAAI,CAAE;IACjB,CAAC,CAAC,CAAC;EACL;EACEnC,oBAAoB;IAClB,MAAM6e,WAAW,GAAG;MAClBnsB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;OACtC;KACF;IAED,OAAO,IAAI,CAACqH,IAAI,CAACgjB,IAAI,CAAC,GAAG,IAAI,CAAC+B,OAAO,GAAG,IAAI,CAACwD,oBAAoB,EAAE,EAAE,IAAI,EAAEjD,WAAW,CAAC,CACpFrtB,IAAI,CAACgF,yCAAG,CAAEoE,QAAa,IAAI;MAC1B,IAAIuH,IAAI,GAAS,IAAI,CAACnI,MAAM,CAAC4iB,WAAW,CAAChiB,QAAQ,CAACiiB,OAAO,CAAC;MAC1D,IAAIjiB,QAAQ,GAASxI,IAAI,CAACC,KAAK,CAAC8P,IAAI,CAAC;MACrC,OAAO;QAAEpC,OAAO,EAAEnF;MAAQ,CAAE;IAC9B,CAAC,CAAC,CAAC;EACP;EAAC;qBA1DU+mB,iBAAiB,+KAQkB,UAAU;EAAA;EAAA;WAR7CA,iBAAiB;IAAA/uB,SAAjB+uB,iBAAiB;IAAA1qB,YAFhB;EAAM;;;;;;;;;;;;;;;;;;ACR2C;;;AAOzD,MAAO8qB,YAAY;EAEvBnxB,YAAoB2I,IAAgB,EAA6B+kB,OAAe;IAA5D,SAAI,GAAJ/kB,IAAI;IAAyC,YAAO,GAAP+kB,OAAO;IADhE,mBAAc,GAAG,6BAA6B;EAC8B;EAEpFrsB,kBAAkB;IAChB,MAAMS,OAAO,GAAG,IAAI0rB,6DAAW,CAAC;MAC9B,cAAc,EAAE;KACjB,CAAC;IACF,OAAO,IAAI,CAAC7kB,IAAI,CAACiE,GAAG,CAAC,IAAI,CAAC8gB,OAAO,GAAI,IAAI,CAAC0D,cAAc,EAAE;MAACtvB,OAAO;MAACwsB,YAAY,EAAC;IAAM,CAAC,CAAC;EAC1F;EAAC;qBATU6C,YAAY,+KAEuB,UAAU;EAAA;EAAA;WAF7CA,YAAY;IAAAnvB,SAAZmvB,YAAY;IAAA9qB,YAFX;EAAM;;;;;;;;;;;;;;;;ACLb,IAAKgrB,aAkBX;AAlBD,WAAYA,aAAa;EACvBA,8CAA2B;EAC3BA,wDAAqC;EACrCA,4CAAyB;EACzBA,4CAAyB;EACzBA,gDAA6B;EAC7BA,oDAAiC;EACjCA,gDAA6B;EAC7BA,gDAA6B;EAC7BA,sCAAmB;EACnBA,wCAAqB;EACrBA,0CAAuB;EACvBA,8CAA2B;EAC3BA,gDAA6B;EAC7BA,wCAAuB;EACvBA,iDAA2B;EAC3BA,qDAAoC;EACpCA,4CAA2B;AAC7B,CAAC,EAlBWA,aAAa,KAAbA,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCsB;AACwC;AACH;AACS;AACT;AACQ;AACC;AACV;AACkB;AACL;AAC/C;AACJ;;AA8BvC,MAAO5sB,YAAY;EAAA;qBAAZA,YAAY;EAAA;EAAA;UAAZA;EAAY;EAAA;cAPrB2C,0DAAY,EACZwqB,4FAAmB,EACnBtqB,8GAAoB,EACpBhD,wDAAW;EAAA;;;uHAIFG,YAAY;IAAAa,eAzBrBgsB,gGAAgB,EAChBC,6FAAe,EACfC,sGAAkB,EAClBC,6FAAe,EACfC,qGAAiB,EACjBC,sGAAkB,EAClBE,yGAAmB,EACnBC,0DAAU;IAAAnvB,UAWVyE,0DAAY,EACZwqB,4FAAmB,EACnBtqB,8GAAoB,EACpBhD,wDAAW;IAAA1B,UAXP0uB,gGAAgB,EAChBC,6FAAe,EACfC,sGAAkB,EAClBC,6FAAe,EACfI,yGAAmB,EACnBC,0DAAU;EAAA;AAAA;;;;;;;;;;;;;;;;;AC3BZ,MAAOA,UAAU;EAErBC,SAAS,CAACllB,KAAU,EAAEmlB,GAAQ;IAC5B,IAAIA,GAAG,KAAK,EAAE,IAAIA,GAAG,CAAC9mB,MAAM,GAAG,CAAC,EAAE,OAAO2B,KAAK;IAE9C,MAAMolB,UAAU,GAAG,EAAE;IAErB,KAAK,MAAMtG,IAAI,IAAI9e,KAAK,EAAE;MACxB,IAAI8e,IAAI,CAACvlB,IAAI,CAAC8rB,WAAW,EAAE,CAACC,OAAO,CAACH,GAAG,CAACE,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;QAC3DD,UAAU,CAAC9gB,IAAI,CAACwa,IAAI,CAAC;;;IAGzB,OAAOsG,UAAU;EAEnB;EAAC;qBAdUH,UAAU;EAAA;EAAA;;UAAVA,UAAU;IAAAM;EAAA;;;;;;;;;;;;;;;;;;;;;;ACHiC;AAC1B;;;;;;;;ICH9BtvB,4DAAAA,UAAuB;IAAAA,oDAAAA,kBAAW;IAAAA,0DAAAA,EAAM;;;;;;IAEtCA,4DAAAA,aAE+B;IAA7BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,0BAAkB;IAAA,EAAC;IAC5BA,oDAAAA,eACF;IAAAA,0DAAAA,EAAM;;;;;;IAENA,4DAAAA,aAE6B;IAA3BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,wBAAgB;IAAA,EAAC;IAC1BA,oDAAAA,wBACF;IAAAA,0DAAAA,EAAM;;;;;;IACNA,4DAAAA,aAE+B;IAA7BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,2BAAkB;IAAA,EAAC;IAC5BA,oDAAAA,oBACF;IAAAA,0DAAAA,EAAM;;;;;;IAENA,4DAAAA,aAEiC;IAA/BA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,6BAAoB;IAAA,EAAC;IAC9BA,oDAAAA,2BACF;IAAAA,0DAAAA,EAAM;;;;;;IAENA,4DAAAA,aAEwC;IAAtCA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,oCAA2B;IAAA,EAAC;IACrCA,oDAAAA,sBACF;IAAAA,0DAAAA,EAAM;;;ADlBF,MAAO+uB,mBAAmB;EAK9B7xB,YACUqyB,OAAe,EACfxpB,kBAAsC,EACtC3F,YAA0B;IAF1B,YAAO,GAAPmvB,OAAO;IACP,uBAAkB,GAAlBxpB,kBAAkB;IAClB,iBAAY,GAAZ3F,YAAY;IALtB,cAAS,GAAG,KAAK;IAMfmvB,OAAO,CAACzuB,MAAM,CACXhD,IAAI,CAAChB,4CAAM,CAAC0yB,GAAG,IAAIA,GAAG,YAAYzvB,0DAAa,CAAC,CAAC,CACjDQ,SAAS,CAAEkvB,IAAS,IAAI;MACvB,IAAI,CAACC,UAAU,GAAG,EAAE;MAEpB,IAAIjtB,IAAI,GAAWgtB,IAAI,CAACE,iBAAiB;MACzCltB,IAAI,GAAGA,IAAI,CAACsG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAEzB,IAAI6mB,KAAK,GAAantB,IAAI,CAACsG,KAAK,CAAC,GAAG,CAAC;MACrC6mB,KAAK,CAACC,KAAK,EAAE;MAEb,IAAIC,EAAE,GAAW,GAAG;MAEpB,KAAK,IAAIvlB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGqlB,KAAK,CAACxnB,MAAM,EAAEmC,KAAK,EAAE,EAAE;QAGjDulB,EAAE,GAAGA,EAAE,GAAGF,KAAK,CAACrlB,KAAK,CAAC,GAAG,GAAG;QAG5B,IAAI,CAACmlB,UAAU,CAACrhB,IAAI,CAElB;UACE0hB,KAAK,EAAED,EAAE;UACTzlB,IAAI,EAAE,EAAE;UACR/G,IAAI,EAAEssB,KAAK,CAACrlB,KAAK,CAAC,CAAClB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;UACpC2mB,QAAQ,EAAE;SACX,CAEF;;MAGH,IAAI,CAACN,UAAU,CAAC,IAAI,CAACA,UAAU,CAACtnB,MAAM,GAAG,CAAC,CAAC,CAAC4nB,QAAQ,GAAG,IAAI;IAG7D,CAAC,CAAC;EACN;EAEAvpB,QAAQ,IAER;EAEAwpB,yBAAyB;IACvB,IAAI,CAACV,OAAO,CAAC9uB,QAAQ,CAAC,CAAC,mBAAmB,CAAC,CAAC;EAC9C;EAEAyvB,gBAAgB;IACd,IAAI,CAACX,OAAO,CAAC9uB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;EAC9B;EAEA0vB,cAAc;IACZ,IAAI,CAAC/vB,YAAY,CAACyL,gBAAgB,CAAC,6BAA6B,CAAC;IAEjE,IAAI,CAAC9F,kBAAkB,CAACulB,YAAY,CAAC,yCAAyC,EAAE,eAAe,CAAC,CAC7F/qB,SAAS,CACRkN,IAAI,IAAG;MACL;MACA,MAAM2iB,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC5iB,IAAI,CAAC,EAAE;QAAEjE,IAAI,EAAE;MAAiB,CAAE,CAAC;MAC1D,MAAMxL,GAAG,GAAG2F,MAAM,CAAC2sB,GAAG,CAACC,eAAe,CAACH,IAAI,CAAC;MAC5CzsB,MAAM,CAAC6sB,IAAI,CAACxyB,GAAG,CAAC;IAClB,CAAC,EACDD,KAAK,IAAG;MACN,IAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;MAC9BvL,OAAO,CAACC,GAAG,CAAC9I,KAAK,CAAC;IACpB,CAAC,EACD,MAAK;MACH,IAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;IAChC,CAAC,CACF;EACL;EAEAse,gBAAgB;IACd,IAAI,CAACrwB,YAAY,CAACyL,gBAAgB,CAAC,4BAA4B,CAAC;IAChE,IAAI,CAAC9F,kBAAkB,CAACulB,YAAY,CAAC,8BAA8B,EAAE,eAAe,CAAC,CAClF/qB,SAAS,CACRkN,IAAI,IAAG;MACL;MACA,MAAM2iB,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC5iB,IAAI,CAAC,EAAE;QAAEjE,IAAI,EAAE;MAAmE,CAAE,CAAC;MAC5G,MAAMxL,GAAG,GAAG2F,MAAM,CAAC2sB,GAAG,CAACC,eAAe,CAACH,IAAI,CAAC;MAC5CzsB,MAAM,CAAC6sB,IAAI,CAACxyB,GAAG,CAAC;IAClB,CAAC,EACDD,KAAK,IAAG;MACN,IAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;MAC9BvL,OAAO,CAACC,GAAG,CAAC9I,KAAK,CAAC;IACpB,CAAC,EACD,MAAK;MACH,IAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;IAChC,CAAC,CACF;EACL;EAEAue,kBAAkB;IAChB,IAAI,CAACtwB,YAAY,CAACyL,gBAAgB,CAAC,gCAAgC,CAAC;IAEpE,IAAI,CAAC9F,kBAAkB,CAACulB,YAAY,CAAC,yCAAyC,EAAE,eAAe,CAAC,CAC7F/qB,SAAS,CACRkN,IAAI,IAAG;MACL;MACA,MAAM2iB,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC5iB,IAAI,CAAC,EAAE;QAAEjE,IAAI,EAAE;MAAiB,CAAE,CAAC;MAC1D,MAAMxL,GAAG,GAAG2F,MAAM,CAAC2sB,GAAG,CAACC,eAAe,CAACH,IAAI,CAAC;MAC5CzsB,MAAM,CAAC6sB,IAAI,CAACxyB,GAAG,CAAC;IAClB,CAAC,EACDD,KAAK,IAAG;MACN,IAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;MAC9BvL,OAAO,CAACC,GAAG,CAAC9I,KAAK,CAAC;IACpB,CAAC,EACD,MAAK;MACH,IAAI,CAACqC,YAAY,CAAC+R,UAAU,EAAE;IAChC,CAAC,CACF;EACL;EAAC;qBAtHU4c,mBAAmB;EAAA;EAAA;UAAnBA,mBAAmB;IAAA7tB;IAAAiP;MAAAwgB;IAAA;IAAAxvB;IAAAC;IAAAC;IAAAC;MAAA;QCXhCtB,wDAAAA,uDAAwC;QACxCA,4DAAAA,aAA4I;QAC1IA,wDAAAA,uDAIM;QAENA,wDAAAA,uDAIM;QACNA,wDAAAA,uDAIM;QAENA,wDAAAA,uDAIM;QAENA,wDAAAA,uDAIM;QAERA,0DAAAA,EAAM;;;QA/BAA,wDAAAA,uBAAe;QAEbA,uDAAAA,GAAU;QAAVA,wDAAAA,kBAAU;QAMVA,uDAAAA,GAAU;QAAVA,wDAAAA,kBAAU;QAKVA,uDAAAA,GAAU;QAAVA,wDAAAA,kBAAU;QAMVA,uDAAAA,GAAU;QAAVA,wDAAAA,kBAAU;QAMVA,uDAAAA,GAAU;QAAVA,wDAAAA,kBAAU;;;;;;;;;;;;;;;;;;;;;;;;ACzBoD;AAEiB;AACvB;;;;;ICS1DA,4DAAAA,cAA8F;IAChEA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAgB3DA,4DAAAA,cAA0F;IAC5DA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAQ3DA,4DAAAA,cAAwF;IAC1DA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;;;IAQ3DA,4DAAAA,cAAiF;IACnDA,oDAAAA,gCAAyB;IAAAA,0DAAAA,EAAI;;;AD/B3D,MAAO2E,mBAAmB;EAU9BzH,YAAoB0I,WAAwB;IAAxB,gBAAW,GAAXA,WAAW;IATrB,uBAAkB,GAAyB,IAAIiK,uDAAY,EAAE;IAC7D,qBAAgB,GAAyB,IAAIA,uDAAY,EAAE;EASrE;EALApJ,QAAQ;IACN,IAAI,CAACF,SAAS,EAAE;EAClB;EAKAuqB,SAAS;IACP,IAAI,CAACC,cAAc,CAAC/O,QAAQ,CAAC,eAAe,CAAC,CAAChY,QAAQ,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC+mB,cAAc,CAAC/O,QAAQ,CAAC,gBAAgB,CAAC,CAAChY,QAAQ,CAAC,CAAC,CAAC;IAE1D,IAAIgnB,SAAS,GAAG,IAAI,CAACC,gBAAgB,EAAElnB,KAAK;IAC5C,IAAImnB,GAAG,GAAG,IAAI,CAACC,kBAAkB,EAAEpnB,KAAK;IAExC,IAAI,EAAE,IAAImnB,GAAG,IAAI,EAAE,IAAIF,SAAS,EAAE;MAChC,IAAI,EAAE,IAAIA,SAAS,EACjB,IAAI,CAACC,gBAAgB,EAAEG,aAAa,EAAE;MACxC,IAAI,EAAE,IAAIF,GAAG,EACX,IAAI,CAACC,kBAAkB,EAAEC,aAAa,EAAE;MAC1C;;IAGF,IAAI,CAACC,cAAc,EAAE;IAErB,IAAI,CAACN,cAAc,CAAC/O,QAAQ,CAAC,eAAe,CAAC,CAAChY,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAIgnB,SAAS,GAAGE,GAAI,IAAI,GAAG,EAAEI,OAAO,CAAC,CAAC,CAAC,CAAC;IAClG,IAAI,CAACP,cAAc,CAAC/O,QAAQ,CAAC,gBAAgB,CAAC,CAAChY,QAAQ,CAAEknB,GAAG,GAAGF,SAAS,CAAE;EAC5E;EAEQK,cAAc;IACpB,IAAI,CAACE,kBAAkB,CAACvuB,IAAI,CAAC,IAAI,CAACmuB,kBAAkB,EAAEpnB,KAAK,CAAC;IAC5D,IAAI,CAACynB,gBAAgB,CAACxuB,IAAI,CAAC,IAAI,CAACiuB,gBAAgB,EAAElnB,KAAK,CAAC;EAC1D;EAEQxD,SAAS;IACf,IAAI,CAACwqB,cAAc,GAAG,IAAI,CAACnrB,WAAW,CAACyB,KAAK,CAAC;MAC3CoqB,gBAAgB,EAAE,CAAC,EAAE,EAAEjsB,+DAAmB,CAAC;MAC3CksB,cAAc,EAAE,CAAC,EAAE,EAAElsB,+DAAmB,CAAC;MACzCmsB,aAAa,EAAE,CAAC,CAAC,EAAEnsB,+DAAmB,CAAC;MACvCosB,cAAc,EAAE,CAAC,CAAC,EAAEpsB,+DAAmB;KACxC,CAAC;EACJ;EAEA,IAAI2rB,kBAAkB;IACpB,OAAO,IAAI,CAACJ,cAAc,CAACjnB,GAAG,CAAC,kBAAkB,CAAC;EACpD;EAEA,IAAImnB,gBAAgB;IAClB,OAAO,IAAI,CAACF,cAAc,CAACjnB,GAAG,CAAC,gBAAgB,CAAC;EAClD;EAEA,IAAI+nB,eAAe;IACjB,OAAO,IAAI,CAACd,cAAc,CAACjnB,GAAG,CAAC,eAAe,CAAC;EACjD;EAEA,IAAIgoB,WAAW;IACb,OAAO,IAAI,CAACf,cAAc,CAACjnB,GAAG,CAAC,gBAAgB,CAAC;EAClD;EAAC;qBA9DUnF,mBAAmB;EAAA;EAAA;UAAnBA,mBAAmB;IAAAzD;IAAAmP;MAAAkhB;MAAAC;IAAA;IAAAO;IAAAC,WAAAA,iEAAAA;IAAA7wB;IAAAC;IAAAC;IAAAC;MAAA;QCjBhCtB,4DAAAA,cAA4D;QAAzBA,wDAAAA;UAAA,OAAY4P,eAAW;QAAA,EAAC;QACzD5P,4DAAAA,aAA2C;QAEHA,oDAAAA,yBAAkB;QAAAA,4DAAAA,YAA6B;QAAAA,oDAAAA,QAAC;QAAAA,0DAAAA,EAAK;QACzFA,uDAAAA,YAAsB;QACxBA,0DAAAA,EAAM;QAENA,4DAAAA,aAAuC;QACIA,oDAAAA,mCAA2B;QAAAA,0DAAAA,EAAQ;QAC5EA,uDAAAA,gBAEkE;QAClEA,wDAAAA,yDAEM;QACRA,0DAAAA,EAAM;QAENA,4DAAAA,cAAuC;QACKA,oDAAAA,0CAAkC;QAAAA,0DAAAA,EAAQ;QACpFA,4DAAAA,eAAyB;QACvBA,uDAAAA,iBACmG;QACnGA,4DAAAA,eAAyD;QAG9CA,wDAAAA;UAAA,OAAS4P,eAAW;QAAA,EAAC;QAD5B5P,0DAAAA,EAC6B;QAInCA,wDAAAA,yDAEM;QACRA,0DAAAA,EAAM;QAENA,4DAAAA,cAAuC;QACTA,oDAAAA,sBAAc;QAAAA,4DAAAA,aAA6B;QAAAA,oDAAAA,SAAC;QAAAA,0DAAAA,EAAK;QAC7EA,uDAAAA,iBACiD;QACjDA,wDAAAA,yDAEM;QACRA,0DAAAA,EAAM;QAENA,4DAAAA,cAAuC;QACTA,oDAAAA,uBAAe;QAAAA,4DAAAA,aAA6B;QAAAA,oDAAAA,SAAC;QAAAA,0DAAAA,EAAK;QAC9EA,uDAAAA,iBACiE;;QACjEA,wDAAAA,yDAEM;QACRA,0DAAAA,EAAM;;;QAlDJA,wDAAAA,iCAA4B;QAYHA,uDAAAA,IAAmE;QAAnEA,wDAAAA,iKAAmE;QAiBnEA,uDAAAA,GAA+D;QAA/DA,wDAAAA,yJAA+D;QAQjFA,uDAAAA,GAAyC;QAAzCA,mEAAAA,iFAAyC;QACvBA,uDAAAA,GAA6D;QAA7DA,wDAAAA,qJAA6D;QAQ/EA,uDAAAA,GAAyD;QAAzDA,mEAAAA,UAAAA,yDAAAA,kFAAyD;QACvCA,uDAAAA,GAAsD;QAAtDA,wDAAAA,sIAAsD;;;mBDpCjFyB,+DAAmB,6bAEnBmvB,yDAAY,EACZC,iDAAI;IAAAoB;EAAA;;;;;;;;;;;;;;;;;;;;AEd6D;AACO;AACzB;AACS;;;;;ICH5DjyB,4DAAAA,aAA2H;IAG7GA,oDAAAA,GACV;IAAAA,4DAAAA,gBAAmF;IAA3BA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,2BAAgB;IAAA,EAAC;IAChFA,4DAAAA,aAAuB;IACrBA,uDAAAA,0BAAgG;IAClGA,0DAAAA,EAAM;;;;IAJEA,uDAAAA,GACV;IADUA,gEAAAA,mBACV;IAEoDA,uDAAAA,GAA4B;IAA5BA,wDAAAA,6BAA4B;;;ADW9E,MAAO4E,eAAe;EAG1B1H;IAFS,wBAAmB,GAAa,EAAE;IACjC,yBAAoB,GAAyB,IAAI2S,uDAAY,EAAU;EAEjF;EAGAsiB,UAAU,CAACC,cAAsB;IAC/B,IAAI,CAACC,oBAAoB,CAACrvB,IAAI,CAACovB,cAAc,CAAC;EAChD;EAAC;qBATUxtB,eAAe;EAAA;EAAA;UAAfA,eAAe;IAAA1D;IAAAiP;MAAAmiB;IAAA;IAAAjiB;MAAAgiB;IAAA;IAAAN;IAAAC,WAAAA,iEAAAA;IAAA7wB;IAAAC;IAAAC;IAAAC;MAAA;QCjB5BtB,wDAAAA,mDAUM;;;QAViFA,wDAAAA,oCAAwB;;;mBDU3GwE,sFAAoB,EACpB/C,+DAAmB,EAGnBywB,oDAAO;IAAAD;EAAA;;;;;;;;;;;;;;;;;;AENL,MAAOvD,kBAAkB;EAE7BxxB,eAAgB;EAEhBuJ,QAAQ,IACR;EAAC;qBALUioB,kBAAkB;EAAA;EAAA;UAAlBA,kBAAkB;IAAAxtB;IAAAC;IAAAC;IAAAE;MAAA;QCR/BtB,4DAAAA,QAAG;QAAAA,oDAAAA,uBAAgB;QAAAA,0DAAAA,EAAI;;;;;;;;;;;;;;;;;;;;;;;;;ACAsD;AACb;AACS;AACrB;;;;;;;;IC6BhDA,6DAAAA,EAAyJ;IAAzJA,4DAAAA,aAAyJ;IAAxBA,wDAAAA;MAAA;MAAA;MAAA;MAAA,OAASA,yDAAAA,uBAAY;IAAA,EAAC;IACrJA,oDAAAA,GACF;IAAAA,0DAAAA,EAAK;;;;IADHA,uDAAAA,GACF;IADEA,gEAAAA,wBACF;;;;;;;IApBFA,6DAAAA,EAA6F;IAA7FA,4DAAAA,YAA6F;IAMpDA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA,EAAwB;IAH3DA,0DAAAA,EAG4D;IAE5DA,4DAAAA,cAAkF;IAChFA,4DAAAA,EACwC;IADxCA,4DAAAA,cACwC;IACtCA,uDAAAA,eAEiC;IACnCA,0DAAAA,EAAM;IAIZA,wDAAAA,yDAEK;;IACPA,0DAAAA,EAAK;;;;IAfQA,uDAAAA,GAA2B;IAA3BA,wDAAAA,mCAA2B;IAY6DA,uDAAAA,GAA4B;IAA5BA,wDAAAA,YAAAA,yDAAAA,wCAA4B;;;ADb7H,MAAO0E,iBAAiB;EAc5BxH;IAbS,UAAK,GAAmD,EAAE;IAC1D,iBAAY,GAAW,QAAQ;IAC/B,gBAAW,GAAW,EAAE;IACvB,aAAQ,GAAyB,IAAI2S,uDAAY,EAAU;IACrE,SAAI,GAAY,KAAK;IACrB,kBAAa,GAAW,QAAQ;IAEhC,aAAQ,GAAY,KAAK;IACzB,eAAU,GAAE,EAAE;EAMd;EAJApJ,QAAQ,IACR;EAKA8rB,MAAM;IACJ,IAAI,CAACC,IAAI,GAAG,CAAC,IAAI,CAACA,IAAI;EACxB;EAEAC,MAAM,CAACpY,IAAS;IACd,IAAI,CAACqY,YAAY,GAAGrY,IAAI,CAAC/W,IAAI;IAC7B,IAAI,CAACqvB,QAAQ,CAAC3vB,IAAI,CAAC,IAAI,CAAC0vB,YAAY,CAAC;IACrC,IAAI,CAACH,MAAM,EAAE;IACb,IAAI,CAACK,UAAU,GAAG,EAAE;EACtB;EAEAC,WAAW,CAACC,KAAa;IACvB,IAAI,CAACC,aAAa,GAAGD,KAAK;EAC5B;EAAC;qBA9BUpuB,iBAAiB;EAAA;EAAA;UAAjBA,iBAAiB;IAAAxD;IAAAiP;MAAA6iB;MAAAN;MAAAO;IAAA;IAAA5iB;MAAAsiB;IAAA;IAAAZ;IAAAC,WAAAA,iEAAAA;IAAA7wB;IAAAC;IAAAC;IAAAC;MAAA;QCnB9BtB,4DAAAA,aAAsB;QACfA,wDAAAA;UAAA,OAAS4P,YAAQ;QAAA,EAAC;QAErB5P,4DAAAA,aAA8B;QAC5BA,oDAAAA,GACF;QAAAA,0DAAAA,EAAM;QACNA,4DAAAA,aAAyE;QACvEA,4DAAAA,EAA4C;QAA5CA,4DAAAA,aAA4C;QAC1CA,uDAAAA,cAEE;QACJA,0DAAAA,EAAM;QAGVA,wDAAAA,mDAqBK;QACPA,0DAAAA,EAAM;;;QAhCAA,uDAAAA,GACF;QADEA,gEAAAA,4BACF;QASGA,uDAAAA,GAAU;QAAVA,wDAAAA,kBAAU;;;mBDJbyB,+DAAmB,iIAGnBovB,iDAAI,EACJqB,oDAAO,EACP1wB,uDAAW,uDACXG,wDAAY;IAAAswB;EAAA;;;;;;;;;;;;;;;;;;AERV,MAAOtD,eAAe;EAE1BzxB,eAAgB;EAEhBuJ,QAAQ,IACR;EAAC;qBALUkoB,eAAe;EAAA;EAAA;UAAfA,eAAe;IAAAztB;IAAAC;IAAAC;IAAAE;MAAA;QCR5BtB,4DAAAA,QAAG;QAAAA,oDAAAA,oBAAa;QAAAA,0DAAAA,EAAI;;;;;;;;;;;;;;;;;;;;;;ACOd,MAAO6uB,kBAAkB;EAE7B3xB,eAAgB;EAEhBuJ,QAAQ,IACR;EAAC;qBALUooB,kBAAkB;EAAA;EAAA;UAAlBA,kBAAkB;IAAA3tB;IAAAC;IAAAC;IAAAE;MAAA;QCP/BtB,4DAAAA,QAAG;QAAAA,oDAAAA,mDAA4C;QAAAA,0DAAAA,EAAI;;;;;;;;;;;;;;;;;;;;;;;;;;ICAnDA,4DAAAA,gBAAqD;IAGjDA,uDAAAA,aAA+F;IACjGA,0DAAAA,EAAM;IAGNA,uDAAAA,aAA6B;IAG7BA,4DAAAA,aAAwC;IACtCA,uDAAAA,aAA6G;IAC/GA,0DAAAA,EAAM;;;;;IAIRA,4DAAAA,gBAAmF;IAE/EA,uDAAAA,aAAwF;IAC1FA,0DAAAA,EAAM;IACNA,uDAAAA,eAA0G;IAE5GA,0DAAAA,EAAS;;;ACfH,MAAOyuB,eAAe;EAS1BvxB;IANA,WAAM,GAAG,KAAK;IACd,SAAI,GAAG,IAAIyP,IAAI,EAAE,CAACyG,WAAW,EAAE;IAC/B,aAAQ,GAAG,KAAK;IAChB,iBAAY,GAAG,GAAG;IAClB,cAAS,GAAG,CAAC;EAGb;EAEA8f,YAAY;IACV;EAAA;EAGFC,UAAU;IACR,IAAI,CAACC,MAAM,GAAG,CAAC,IAAI,CAACA,MAAM;EAC5B;EAEAC,YAAY,CAAChZ,IAAmB;IAC9B,IAAI,CAACiZ,YAAY,CAACxe,OAAO,CAACye,EAAE,IAAIA,EAAE,CAACvD,QAAQ,GAAG,KAAK,CAAC;IACpD3V,IAAI,CAAC2V,QAAQ,GAAG,IAAI;EACtB;EAEAvpB,QAAQ,IAER;EAEA;EAEA+sB,WAAW;IACT,MAAMC,cAAc,GAAG9vB,MAAM,CAAC+vB,WAAW;IACzC,IAAI,CAACC,QAAQ,GAAGF,cAAc,IAAI,GAAG;IACrC,IAAI,CAACG,SAAS,GAAGH,cAAc,IAAI,GAAG,GAAG,CAAC,GAAI,GAAG,GAAGA,cAAe;EACrE;EAAC;qBAnCUhF,eAAe;EAAA;EAAA;UAAfA,eAAe;IAAAvtB;IAAA2yB;MAAA;;iBAAfjkB,uBAAmB;QAAA;;;;;;;;;;;QDPhC5P,wDAAAA,yDAaS;QAGTA,wDAAAA,yDAMS;;;QAtBAA,wDAAAA,+BAAuB;QAgBvBA,uDAAAA,GAAwB;QAAxBA,wDAAAA,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;AEhB4C;AACD;AAChC;AACsB;;;;;;;ICOxDA,4DAAAA,UAAmD;IACJA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA;IAAA,EAAoB;IAAjEA,0DAAAA,EAAqI;;;;IAAxFA,uDAAAA,GAAoB;IAApBA,wDAAAA,0BAAoB;;;;;;IAEnEA,4DAAAA,UAA4B;IACHA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAAUA,yDAAAA,gCAAwB;IAAA,EAAC;IAA1DA,0DAAAA,EAAqE;IACrEA,4DAAAA,gBAAmC;IAAAA,oDAAAA,0EAAyD;IAAAA,0DAAAA,EAAQ;;;;;;IAKtGA,4DAAAA,iBACuD;IAArBA,wDAAAA;MAAAA,2DAAAA;MAAA;MAAA,OAASA,yDAAAA,kBAAU;IAAA,EAAC;IACpDA,oDAAAA,kBACF;IAAAA,0DAAAA,EAAS;;;;IAHmDA,wDAAAA,wCAAgC;;;ADHhG,MAAOyE,cAAc;EAX3BvH;IAYE,wBAAmB,GAAY,KAAK;IACpC,oBAAe,GAAY,KAAK;IAChC,uBAAkB,GAAY,IAAI;IAClC,WAAM,GAAG,EAAE;IAIF,mBAAc,GAAY,KAAK;IAC9B,gBAAW,GAA0B,IAAI2S,uDAAY,EAAE;IACvD,kBAAa,GAAgC,IAAIA,uDAAY,EAAE;IACzE,mBAAc,GAAY,KAAK;;EAE/BpJ,QAAQ;IACN,IAAI,CAACqtB,mBAAmB,GAAG,IAAI,CAACC,cAAc;EAChD;EAEAjkB,WAAW;IACT,IAAI,CAACE,aAAa,CAAChN,IAAI,CAAC,KAAK,CAAC;IAC9B,IAAI,CAACgxB,eAAe,GAAG,KAAK;IAC5B,IAAI,CAACnM,MAAM,GAAG,EAAE;EAClB;EAEA3gB,QAAQ;IACN,IAAI,IAAI,CAAC2gB,MAAM,IAAI,EAAE,EAAC;MACpB,IAAI,CAAC7X,aAAa,CAAChN,IAAI,CAAC,IAAI,CAAC;KAC9B,MACG;MACF,IAAI,CAACgN,aAAa,CAAChN,IAAI,CAAC,IAAI,CAAC6kB,MAAM,CAAC;MACpC,IAAI,CAACmM,eAAe,GAAG,IAAI;MAC3B,IAAI,CAACC,UAAU,GAAG,KAAK;;EAE3B;EAGAC,gBAAgB,CAACnzB,KAAU;IAEzB,IAAGA,KAAK,CAACiH,MAAM,CAACmsB,OAAO,EACrB,IAAI,CAACL,mBAAmB,GAAG,KAAK,CAAC,KAEjC,IAAI,CAACA,mBAAmB,GAAG,IAAI;EACnC;EAAC;qBAzCUrvB,cAAc;EAAA;EAAA;UAAdA,cAAc;IAAAvD;IAAAiP;MAAAnJ;MAAAitB;MAAAG;MAAAL;IAAA;IAAA1jB;MAAAgkB;MAAArkB;IAAA;IAAA+hB;IAAAC,WAAAA,iEAAAA;IAAA7wB;IAAAC;IAAAC;IAAAC;MAAA;QCjB3BtB,4DAAAA,aACyG;QAK/FA,uDAAAA,0BAA6G;QAC/GA,0DAAAA,EAAM;QACNA,4DAAAA,aAAmD;QACjDA,uDAAAA,aAAkC;QAClCA,wDAAAA,kDAEM;QACNA,wDAAAA,kDAGM;QACRA,0DAAAA,EAAM;QAENA,4DAAAA,cAAmC;QACjCA,wDAAAA,2DAGS;QACTA,4DAAAA,kBAAgF;QAAxBA,wDAAAA;UAAA,OAAS4P,iBAAa;QAAA,EAAC;QAAC5P,oDAAAA,aAAK;QAAAA,0DAAAA,EAAS;;;QAxBpEA,yDAAAA,0BAA2B;QAEaA,uDAAAA,GAA+C;QAA/CA,wDAAAA,2CAA+C;QAI/FA,uDAAAA,GAA8C;QAA9CA,mEAAAA,6CAA8C;QAG3DA,uDAAAA,GAAsB;QAAtBA,wDAAAA,4BAAAA,4DAAAA,CAAsB;QACrBA,uDAAAA,GAAyC;QAAzCA,wDAAAA,qDAAyC;QAGzCA,uDAAAA,GAAoB;QAApBA,wDAAAA,4BAAoB;QAOjBA,uDAAAA,GAAiB;QAAjBA,wDAAAA,yBAAiB;;;mBDThCwE,sFAAoB,EACpBF,yDAAY,qDACZ7C,+DAAmB,iIACnBD,uDAAW;IAAAywB;EAAA;;;;;;;;;;;;;;;;;;AEPT,MAAOrD,iBAAiB;EAE5B1xB,eAAgB;EAEhBuJ,QAAQ,IACR;EAAC;qBALUmoB,iBAAiB;EAAA;EAAA;UAAjBA,iBAAiB;IAAA1tB;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QCP9BtB,4DAAAA,iBAA6E;QAI/CA,oDAAAA,YAAK;QAAAA,0DAAAA,EAAO;QAAAA,oDAAAA,uBAAW;QAAAA,4DAAAA,cAA4D;QAACA,oDAAAA,WAAG;QAAAA,0DAAAA,EAAO;QAEtHA,4DAAAA,WAA2D;QAAAA,oDAAAA,oFACpC;QAAAA,0DAAAA,EAAI;QAC3BA,4DAAAA,YAAoC;QAAAA,oDAAAA,mMACsE;QAAAA,0DAAAA,EAAI;QAC9GA,4DAAAA,YAA4F;QAAAA,oDAAAA,wBAAgB;QAAAA,0DAAAA,EAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICEhHA,4DAAAA,YAG8B;IAC5BA,uDAAAA,2BAAoF;IACpFA,4DAAAA,eAAuC;IAAAA,oDAAAA,GAAa;IAAAA,0DAAAA,EAAO;;;;IAH3DA,wDAAAA,qBAAAA,6DAAAA,SAAwE;IAEtDA,uDAAAA,GAAuB;IAAvBA,mEAAAA,sBAAuB;IAACA,wDAAAA,0BAAsB;IACzBA,uDAAAA,GAAa;IAAbA,+DAAAA,cAAa;;;ACTtD,MAAOwuB,gBAAgB;EAK3BtxB;IAFA,SAAI,GAAW,IAAIyP,IAAI,EAAE,CAACyG,WAAW,EAAE;IAGrC,IAAI,CAACkgB,YAAY,GAAG,CAClB;MACEjpB,IAAI,EAAE,cAAc;MACpB/G,IAAI,EAAE,mBAAmB;MACzBysB,KAAK,EAAE,cAAc;MACrBC,QAAQ,EAAE;KACX,EACD;MACE3lB,IAAI,EAAE,mBAAmB;MACzB/G,IAAI,EAAE,mBAAmB;MACzBysB,KAAK,EAAE,oBAAoB;MAC3BC,QAAQ,EAAE;KACX,EACD;MACE3lB,IAAI,EAAE,aAAa;MACnB/G,IAAI,EAAE,mBAAmB;MACzBysB,KAAK,EAAE,oBAAoB;MAC3BC,QAAQ,EAAE;KACX,EACD;MACE3lB,IAAI,EAAE,aAAa;MACnB/G,IAAI,EAAE,gBAAgB;MACtBysB,KAAK,EAAE,eAAe;MACtBC,QAAQ,EAAE;KACX,EACD;MACE3lB,IAAI,EAAE,eAAe;MACrB/G,IAAI,EAAE,iBAAiB;MACvBysB,KAAK,EAAE,iBAAiB;MACxBC,QAAQ,EAAE;KACX,EACD;MACE3lB,IAAI,EAAE,iBAAiB;MACvB/G,IAAI,EAAE,mBAAmB;MACzBysB,KAAK,EAAE,mBAAmB;MAC1BC,QAAQ,EAAE;KACX,EACD;MACE3lB,IAAI,EAAE,eAAe;MACrB/G,IAAI,EAAE,sBAAsB;MAC5BysB,KAAK,EAAE;KACR,CACF;EACH;EAEAmD,YAAY;IACV;EAAA;EAGFzsB,QAAQ,IACR;EAAC;qBAxDU+nB,gBAAgB;EAAA;EAAA;UAAhBA,gBAAgB;IAAAttB;IAAAC;IAAAC;IAAAC;IAAAC;MAAA;QDP7BtB,4DAAAA,eAAwF;QAGpFA,uDAAAA,0BAAoG;QACtGA,0DAAAA,EAAI;QACJA,4DAAAA,WAAkE;QACPA,oDAAAA,6BAAiB;QAAAA,0DAAAA,EAAO;QAGnFA,4DAAAA,aAAyB;QAErBA,wDAAAA,gDAMI;QACNA,0DAAAA,EAAM;QAKRA,4DAAAA,aAAuG;QACyIA,wDAAAA;UAAA,OAAS4P,kBAAc;QAAA,EAAC;QACpQ5P,oDAAAA,4BACF;QAAAA,0DAAAA,EAAS;QACTA,4DAAAA,gBAA+D;QAAAA,oDAAAA,IAAqB;QAAAA,0DAAAA,EAAO;QAC3FA,4DAAAA,gBAAqE;QAAAA,oDAAAA,qCAA6B;QAAAA,0DAAAA,EAAO;QACzGA,4DAAAA,gBAAqE;QAAAA,oDAAAA,qBAAa;QAAAA,0DAAAA,EAAO;;;QA1BrCA,uDAAAA,GAA4B;QAA5BA,wDAAAA,6BAA4B;QAQ1DA,uDAAAA,GAAe;QAAfA,wDAAAA,6BAAe;QAgB0BA,uDAAAA,GAAqB;QAArBA,gEAAAA,oCAAqB;;;;;;;;;;;;;;;;;;;;;;;AE3BrB;;AAO7D,MAAOwE,oBAAoB;EALjCtH;IAQE,YAAO,GAAG,EAAE;IAEZ,gBAAW,GAAY,KAAK;IAC5B,qBAAgB,GAAY,KAAK;IACjC,eAAU,GAAY,KAAK;IAC3B,eAAU,GAAY,KAAK;IAC3B,iBAAY,GAAY,KAAK;IAC7B,mBAAc,GAAY,KAAK;IAC/B,iBAAY,GAAY,KAAK;IAC7B,iBAAY,GAAY,KAAK;IAC7B,aAAQ,GAAY,KAAK;IACzB,cAAS,GAAY,KAAK;IAC1B,iBAAY,GAAY,KAAK;IAC7B,YAAO,GAAY,KAAK;IACxB,cAAS,GAAY,KAAK;IAC1B,YAAO,GAAY,KAAK;IACxB,gBAAW,GAAY,KAAK;IAC5B,aAAQ,GAAY,KAAK;IACzB,gBAAW,GAAY,KAAK;IAEnB,aAAQ,GAAW,EAAE;;EAE9BuJ,QAAQ;IAEN,IAAI,CAAC6tB,WAAW,GAAG,IAAI,CAACC,QAAQ,KAAKhG,oFAA0B;IAE/D,IAAI,CAACkG,gBAAgB,GAAG,IAAI,CAACF,QAAQ,KAAKhG,yFAA+B;IAEzE,IAAI,CAACoG,UAAU,GAAG,IAAI,CAACJ,QAAQ,KAAKhG,mFAAyB;IAE7D,IAAI,CAACsG,UAAU,GAAG,IAAI,CAACN,QAAQ,KAAKhG,mFAAyB;IAE7D,IAAI,CAACwG,YAAY,GAAG,IAAI,CAACR,QAAQ,KAAKhG,qFAA2B;IAEjE,IAAI,CAAC0G,cAAc,GAAG,IAAI,CAACV,QAAQ,KAAKhG,uFAA6B;IAErE,IAAI,CAAC4G,YAAY,GAAG,IAAI,CAACZ,QAAQ,KAAKhG,qFAA2B;IAEjE,IAAI,CAAC8G,YAAY,GAAG,IAAI,CAACd,QAAQ,KAAKhG,qFAA2B;IAEjE,IAAI,CAACgH,QAAQ,GAAG,IAAI,CAAChB,QAAQ,KAAKhG,iFAAuB;IAEzD,IAAI,CAACkH,SAAS,GAAG,IAAI,CAAClB,QAAQ,KAAKhG,kFAAwB;IAE3D,IAAI,CAACoH,YAAY,GAAG,IAAI,CAACpB,QAAQ,KAAKhG,qFAA2B;IAEjE,IAAI,CAACsH,OAAO,GAAG,IAAI,CAACtB,QAAQ,KAAKhG,gFAAsB;IAEvD,IAAI,CAACwH,OAAO,GAAG,IAAI,CAACxB,QAAQ,KAAKhG,iFAAuB;IAExD,IAAI,CAAC0H,WAAW,GAAG,IAAI,CAAC1B,QAAQ,KAAKhG,+EAAqB;IAE1D,IAAI,CAAC4H,QAAQ,GAAG,IAAI,CAAC5B,QAAQ,KAAKhG,iFAAuB;IAEzD,IAAI,CAAC8H,WAAW,GAAG,IAAI,CAAC9B,QAAQ,KAAKhG,oFAA0B;EAEjE;EAAC;qBA3DU/pB,oBAAoB;EAAA;EAAA;UAApBA,oBAAoB;IAAAtD;IAAAiP;MAAAomB;MAAAhC;IAAA;IAAAxC;IAAAC,WAAAA,iEAAAA;IAAA7wB;IAAAC;IAAAC;IAAAC;MAAA;QCRjCtB,4DAAAA,aAA2B;QAIvBA,4DAAAA,EAAuE;QAAvEA,4DAAAA,aAAuE;QACrEA,uDAAAA,cACsR;QACxRA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAwD;QAAxDA,4DAAAA,aAAwD;QACtDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,aAAuE;QACrEA,uDAAAA,cAC4tB;QAC9tBA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAkD;QAAlDA,4DAAAA,aAAkD;QAChDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,aAAuE;QACrEA,uDAAAA,cACgpB;QAClpBA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAkD;QAAlDA,4DAAAA,cAAkD;QAChDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,eAC04B;QAC54BA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAoD;QAApDA,4DAAAA,cAAoD;QAClDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,eACk6B;QACp6BA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAsD;QAAtDA,4DAAAA,cAAsD;QACpDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,eAC4kD;QAC9kDA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAoD;QAApDA,4DAAAA,cAAoD;QAClDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,eACmvD;QACrvDA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAoD;QAApDA,4DAAAA,cAAoD;QAClDA,4DAAAA,EAAkE;QAAlEA,4DAAAA,eAAkE;QAChEA,uDAAAA,gBACk7C;QACp7CA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAgD;QAAhDA,4DAAAA,cAAgD;QAC9CA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,gBACiZ;QACnZA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAiD;QAAjDA,4DAAAA,cAAiD;QAC/CA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,gBACmT;QACrTA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAoD;QAApDA,4DAAAA,cAAoD;QAClDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,gBAE0B;QAS5BA,0DAAAA,EAAM;QAGRA,6DAAAA,EAA+C;QAA/CA,4DAAAA,cAA+C;QAC7CA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,gBACs8B;QACx8BA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAiD;QAAjDA,4DAAAA,cAAiD;QAC/CA,4DAAAA,EAAmE;QAAnEA,4DAAAA,eAAmE;QACjEA,uDAAAA,gBAEE;QAIJA,0DAAAA,EAAM;QAGRA,6DAAAA,EAA+C;QAA/CA,4DAAAA,cAA+C;QAC7CA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QACrEA,uDAAAA,gBAE2B;QAC7BA,0DAAAA,EAAM;QAGRA,6DAAAA,EAAmD;QAAnDA,4DAAAA,cAAmD;QACjDA,4DAAAA,EAAuE;QAAvEA,4DAAAA,cAAuE;QAEnEA,uDAAAA,gBAE2B;QAC7BA,0DAAAA,EAAM;QAKVA,6DAAAA,EAAgD;QAAhDA,4DAAAA,cAAgD;QAC9CA,4DAAAA,EAAiD;QAAjDA,4DAAAA,eAAiD;QAC/CA,uDAAAA,gBAE2B;QAC7BA,0DAAAA,EAAM;QAIRA,6DAAAA,EAAmD;QAAnDA,4DAAAA,cAAmD;QACjDA,oDAAAA,sBACF;QAAAA,0DAAAA,EAAM;;;QAtIDA,uDAAAA,GAAuB;QAAvBA,wDAAAA,4BAAuB;QACCA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAA4B;QAA5BA,wDAAAA,iCAA4B;QACJA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAsB;QAAtBA,wDAAAA,2BAAsB;QACEA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAsB;QAAtBA,wDAAAA,2BAAsB;QACEA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAwB;QAAxBA,wDAAAA,6BAAwB;QACAA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAA0B;QAA1BA,wDAAAA,+BAA0B;QACFA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAwB;QAAxBA,wDAAAA,6BAAwB;QACAA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAwB;QAAxBA,wDAAAA,6BAAwB;QACAA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAoB;QAApBA,wDAAAA,yBAAoB;QACIA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAqB;QAArBA,wDAAAA,0BAAqB;QACGA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAwB;QAAxBA,wDAAAA,6BAAwB;QACAA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAezCA,uDAAAA,GAAmB;QAAnBA,wDAAAA,wBAAmB;QACKA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAMzCA,uDAAAA,GAAqB;QAArBA,wDAAAA,0BAAqB;QACGA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAUzCA,uDAAAA,GAAmB;QAAnBA,wDAAAA,wBAAmB;QACKA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAOzCA,uDAAAA,GAAuB;QAAvBA,wDAAAA,4BAAuB;QACCA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAUzCA,uDAAAA,GAAoB;QAApBA,wDAAAA,yBAAoB;QAClBA,uDAAAA,GAAiB;QAAjBA,wDAAAA,aAAiB;QAQnBA,uDAAAA,GAAuB;QAAvBA,wDAAAA,4BAAuB;;;;;;;;;;;;;;;;;;;;;;;ACtIiB;AACA;;;AAQzC,MAAO8uB,mBAAmB;EAAA;qBAAnBA,mBAAmB;EAAA;EAAA;UAAnBA;EAAmB;EAAA;cAHpBvvB,kEAAqB,CAACi3B,wDAAY,CAAC,EACnCj3B,yDAAY;EAAA;;;sHAEXuvB,mBAAmB;IAAAjvB,UAAAA,yDAAAA;IAAAC,UAFpBP,yDAAY;EAAA;AAAA;;;;;;;;;;;;;;;;;;ACPkF;AACE;AAC+C;AAEpJ,MAAMi3B,YAAY,GAAW,CAClC;EACE/zB,IAAI,EAAE,iBAAiB;EACvBgoB,SAAS,EAAE5lB,qKAAiCA;CAC7C,EACD;EACEpC,IAAI,EAAE,WAAW;EACjBgoB,SAAS,EAAEiM,yFAAwBA;CACpC,EACD;EACEj0B,IAAI,EAAC,IAAI;EACTk0B,UAAU,EAAC;CACZ,EACD;EACEl0B,IAAI,EAAE,WAAW;EACjBgoB,SAAS,EAAEgM,wFAAuBA;CACnC,CAEF;;;;;;;;;;;;;;;;;;AClB4D;;;;AAE7D,MAAMG,UAAU,GAAG;EACjB,cAAc,EAAE,kBAAkB;EAClC,QAAQ,EAAE,kBAAkB;EAC5B,8BAA8B,EAAE;CACjC;AAKK,MAAOC,WAAW;EAEtB35B,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA6BuqB,OAAe;IAA7F,SAAI,GAAJ/kB,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA6C,YAAO,GAAPuqB,OAAO;IACvG,IAAI,CAACvqB,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAACC,GAAG,IAAG;MAAG,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAAC,CAAC,CAAC;EAE9E;EAEAs2B,IAAI,CAACzrB,QAAa;IAChB,MAAMuiB,UAAU,GAAG;MACjB5uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK,EAAE;QACvC,cAAc,EAAE;OACjB;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACgjB,IAAI,CAAC,IAAI,CAAC+B,OAAO,GAAG,eAAe,EAAElsB,IAAI,CAACwF,SAAS,CAACmH,QAAQ,CAAC,EAAEuiB,UAAU,CAAC;EAC7F;EACAmJ,YAAY;IAEV,MAAMnJ,UAAU,GAAG;MACjB5uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAClsB;OACnC;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACiE,GAAG,CAAC,IAAI,CAAC8gB,OAAO,GAAG,uBAAuB,EAACgD,UAAU,CAAC;EACzE;EAAC;qBAxBUiJ,WAAW,qSAEyD,UAAU;EAAA;EAAA;WAF9EA,WAAW;IAAA33B,SAAX23B,WAAW;IAAAtzB,YAFV;EAAM;;;;;;;;;;;;;;;;;;;ACT2C;;;;AAKzD,MAAOyzB,cAAc;EAGzB95B,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA6BuqB,OAAe;IAA7F,SAAI,GAAJ/kB,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA6C,YAAO,GAAPuqB,OAAO;IACvG,IAAI,CAACvqB,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACJ;EAEAmK,cAAc;IACZ,MAAMijB,UAAU,GAAG;MACjB5uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAClsB,KAAK;QACvC,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE;OAClB;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACgjB,IAAI,CAAC,IAAI,CAAC+B,OAAO,GAAI,yBAAyB,EAAEgD,UAAU,CAAC;EAC9E;EAEAriB,aAAa,CAACF,QAAa;IACzB,MAAMuiB,UAAU,GAAG;MACjB5uB,OAAO,EAAE,IAAI0rB,6DAAW,CAAC;QACvB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAClsB,KAAK;QACvC,cAAc,EAAE,kBAAkB;QAClC,eAAe,EAAE;OAClB;KACF;IACD,OAAO,IAAI,CAACqH,IAAI,CAACgjB,IAAI,CAAC,IAAI,CAAC+B,OAAO,GAAG,+BAA+B,EAAElsB,IAAI,CAACwF,SAAS,CAACmH,QAAQ,CAAC,EAAEuiB,UAAU,CAAC;EAC7G;EAAC;qBA7BUoJ,cAAc,qSAGsD,UAAU;EAAA;EAAA;WAH9EA,cAAc;IAAA93B,SAAd83B,cAAc;IAAAzzB,YAFb;EAAM;;;;;;;;;;;;;;;;;;ACPmB;;AAKjC,MAAO0zB,cAAc;EAkBzB/5B;IAhBQ,iBAAY,GAAG,IAAIP,iDAAe,CAAC,IAAI,CAAC;IAChD,6BAAwB,GAAG,IAAI,CAACu6B,YAAY,CAACC,YAAY,EAAE;IAEnD,gBAAW,GAAG,IAAIx6B,iDAAe,CAAC,IAAI,CAAC;IAC/C,4BAAuB,GAAG,IAAI,CAACy6B,WAAW,CAACD,YAAY,EAAE;IAEjD,oBAAe,GAAG,IAAIx6B,iDAAe,CAAC,IAAI,CAAC;IACnD,+BAA0B,GAAG,IAAI,CAAC06B,eAAe,CAACF,YAAY,EAAE;IAExD,oBAAe,GAAG,IAAIx6B,iDAAe,CAAC,IAAI,CAAC;IACnD,+BAA0B,GAAG,IAAI,CAAC26B,eAAe,CAACH,YAAY,EAAE;IAGxD,uBAAkB,GAAG,IAAIx6B,iDAAe,CAAC,IAAI,CAAC;IACtD,iCAA4B,GAAG,IAAI,CAAC46B,kBAAkB,CAACJ,YAAY,EAAE;EAErD;EAEhBt4B,QAAQ,CAACL,KAAU;IACjB,IAAI,CAAC04B,YAAY,CAACx5B,IAAI,CAACc,KAAK,CAAC;EAC/B;EACAg5B,OAAO,CAACl0B,IAAS;IACf,IAAI,CAAC8zB,WAAW,CAAC15B,IAAI,CAAC4F,IAAI,CAAC;EAC7B;EACA5C,UAAU,CAAC+2B,QAAa;IACtB,IAAI,CAACJ,eAAe,CAAC35B,IAAI,CAAC+5B,QAAQ,CAAC;EACrC;EACAC,UAAU,CAACC,OAAY;IACrB,IAAI,CAACL,eAAe,CAAC55B,IAAI,CAACi6B,OAAO,CAAC;EACpC;EACAC,YAAY,CAACC,UAAe;IAC1B,IAAI,CAACN,kBAAkB,CAAC75B,IAAI,CAACm6B,UAAU,CAAC;EAC1C;EAAC;qBAlCUZ,cAAc;EAAA;EAAA;WAAdA,cAAc;IAAA/3B,SAAd+3B,cAAc;IAAA1zB,YAFb;EAAM;;;;;;;;;;;;;;;;;;;;;ACHyB;AAC8D;AACxD;AACG;;AAchD,MAAO1B,WAAW;EAAA;qBAAXA,WAAW;EAAA;EAAA;UAAXA;EAAW;EAAA;cAPpByC,yDAAY,EACZE,qHAAoB,EACpB/C,+DAAmB,EACnBq2B,kEAAgB;EAAA;;;sHAIPj2B,WAAW;IAAAhC,UAPpByE,yDAAY,EACZE,qHAAoB,EACpB/C,+DAAmB,EACnBq2B,kEAAgB;EAAA;AAAA;;;;;;;;;;;;;;;ACdpB;AACA;AACA;AAEO,MAAMC,WAAW,GAAG;EACzBC,UAAU,EAAE;CACb;AAGD;;;;;;;AAOA;;;;;;;;;;;;;;;;;AChB+C;AAGF;AACY;AAEzD,IAAID,6EAAsB,EAAE;EAC1BE,6DAAc,EAAE;;AAGlBC,sEAAAA,EAAwB,CAACC,eAAe,CAAC91B,sDAAS,CAAC,CAChD+1B,KAAK,CAACr5B,GAAG,IAAI6H,OAAO,CAAC7I,KAAK,CAACgB,GAAG,CAAC,CAAC;;;;;;;;;;;;;;;;;;ACTwC;;;;AAOrE,MAAOu5B,oBAAoB;EAE/Bp7B,YAAoB2I,IAAgB,EAAUxF,OAAuB,EAA6BuqB,OAAe;IAA7F,SAAI,GAAJ/kB,IAAI;IAAsB,YAAO,GAAPxF,OAAO;IAA6C,YAAO,GAAPuqB,OAAO;IACvG,IAAI,CAACvqB,OAAO,CAACwqB,wBAAwB,CAACtqB,SAAS,CAAEC,GAAG,IAAI;MACtD,IAAI,CAAChC,KAAK,GAAGgC,GAAG;IAClB,CAAC,CAAC;EACH;EAEDsJ,GAAG,CAACyuB,MAAc,EAAEnN,SAA+B,EAAE;IACnD,MAAMoN,OAAO,GAAG,GAAG,IAAI,CAAC5N,OAAO,GAAG2N,MAAM,EAAE;IAC1C3xB,OAAO,CAACC,GAAG,CAAC,WAAW,EAAE2xB,OAAO,CAAC;IAEjC,MAAMx5B,OAAO,GAAG,IAAI0rB,6DAAW,CAAC;MAC9B,cAAc,EAAE,kBAAkB;MAClC,6BAA6B,EAAE,+HAA+H;MAC9J,kCAAkC,EAAE,MAAM;MAC1C,8BAA8B,EAAE,8DAA8D;MAC9F,8BAA8B,EAAE,iCAAiC;MACjE,eAAe,EAAE,UAAU,IAAI,CAAClsB,KAAK;KACtC,CAAC;IACF,OAAO,IAAI,CAACqH,IAAI,CAACiE,GAAG,CAAM0uB,OAAO,EAAE;MAAEpN,MAAM;MAAEpsB;IAAO,CAAE,CAAC;EACzD;EAEA6pB,IAAI,CAAC0P,MAAc,EAAEE,UAAe;IAClC,MAAMD,OAAO,GAAG,GAAG,IAAI,CAAC5N,OAAO,GAAG2N,MAAM,EAAE;IAC1C3xB,OAAO,CAACC,GAAG,CAAC,WAAW,EAAE2xB,OAAO,CAAC;IACjC,MAAMx5B,OAAO,GAAG,IAAI0rB,6DAAW,EAAE,CAACzrB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAACisB,MAAM,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC1sB,KAAK,EAAE,CAAC;IACzH,OAAO,IAAI,CAACqH,IAAI,CAACgjB,IAAI,CAAC2P,OAAO,EAAE,GAAG,GAAIC,UAAU,CAAC9jB,QAAQ,EAAE,GAAG,GAAG,EAAG;MAAE3V;IAAO,CAAE,CAAC;EAClF;EAEA8oB,iBAAiB,CAACyQ,MAAc,EAAEE,UAAe;IAC/C,MAAMD,OAAO,GAAG,GAAG,IAAI,CAAC5N,OAAO,GAAG2N,MAAM,EAAE;IAC1C3xB,OAAO,CAACC,GAAG,CAAC,WAAW,EAAE2xB,OAAO,CAAC;IACjC,MAAMx5B,OAAO,GAAG,IAAI0rB,6DAAW,EAAE,CAACzrB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAACisB,MAAM,CAAC,eAAe,EAAE,UAAU,IAAI,CAAC1sB,KAAK,EAAE,CAAC;IACzH,OAAO,IAAI,CAACqH,IAAI,CAACgjB,IAAI,CAAC2P,OAAO,EAAEC,UAAU,EAAE;MAAEz5B;IAAO,CAAE,CAAC;EACzD;EAAC;qBAnCUs5B,oBAAoB,wUAEgD,UAAU;EAAA;EAAA;WAF9EA,oBAAoB;IAAAp5B,SAApBo5B,oBAAoB;IAAA/0B,YAFnB;EAAM;;;;;;;;;;;ACPpB","sources":["./src/app/_helpers/http.interceptor.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/app.routes.ts","./src/app/commons/service/event-bus.service.ts","./src/app/commons/service/storage.service.ts","./src/app/components/judiciales.module.ts","./src/app/components/presentation/components/archivos-adjuntos/archivos-adjuntos.component.ts","./src/app/components/presentation/components/archivos-adjuntos/archivos-adjuntos.component.html","./src/app/components/presentation/components/archivos-adjuntos/modal-archivosadjuntos/modal-archivos-adjuntos/modal-archivos-adjuntos.component.ts","./src/app/components/presentation/components/archivos-adjuntos/modal-archivosadjuntos/modal-archivos-adjuntos/modal-archivos-adjuntos.component.html","./src/app/components/presentation/components/archivos-adjuntos/modal-archivosadjuntos/modal-archivoscargados/modal-archivoscargados.component.ts","./src/app/components/presentation/components/archivos-adjuntos/modal-archivosadjuntos/modal-archivoscargados/modal-archivoscargados.component.html","./src/app/components/presentation/components/detalle-solicitud/detalle-solicitud.component.ts","./src/app/components/presentation/components/detalle-solicitud/detalle-solicitud.component.html","./src/app/components/presentation/components/estado-solicitud/estado-solicitud.component.ts","./src/app/components/presentation/components/estado-solicitud/estado-solicitud.component.html","./src/app/components/presentation/components/notificaciones/alert.service.ts","./src/app/components/presentation/components/notificaciones/notificaciones.component.html","./src/app/components/presentation/components/notificaciones/notificaciones.component.ts","./src/app/components/presentation/components/notificaciones/notificaciones.service.ts","./src/app/components/presentation/components/radicacion-solicitud/radicacion-solicitud.component.ts","./src/app/components/presentation/components/radicacion-solicitud/radicacion-solicitud.component.html","./src/app/components/presentation/components/radicaciondatosgenerales/radicaciondatosgenerales.component.ts","./src/app/components/presentation/components/radicaciondatosgenerales/radicaciondatosgenerales.component.html","./src/app/components/presentation/routing/judiciales-routing.module.ts","./src/app/components/presentation/routing/judiciales.routes.ts","./src/app/components/service/blob-storage.service.ts","./src/app/components/service/email.service.ts","./src/app/components/service/encrypt.service.ts","./src/app/components/service/ipaddress.service.ts","./src/app/components/service/jgd-consecutivo.service.ts","./src/app/components/service/parametrizacion.service.ts","./src/app/components/service/paso-infocomponentes.service.ts","./src/app/components/service/radicacion-detalle.service.ts","./src/app/components/service/radicacion-solicitud.service.ts","./src/app/components/service/radicacion-tipo-solicitud.service.ts","./src/app/components/service/radicacion.service.ts","./src/app/components/service/token.service.ts","./src/app/global/domain/models/IconNamesEnum.ts","./src/app/global/global.module.ts","./src/app/global/pipes/filter.pipe.ts","./src/app/global/presentation/components/breadcrumb/breadcrumb.component.ts","./src/app/global/presentation/components/breadcrumb/breadcrumb.component.html","./src/app/global/presentation/components/calculater/calculator.ts","./src/app/global/presentation/components/calculater/calculator.html","./src/app/global/presentation/components/chips/chips.ts","./src/app/global/presentation/components/chips/chips.html","./src/app/global/presentation/components/container/container.component.ts","./src/app/global/presentation/components/container/container.component.html","./src/app/global/presentation/components/dropdown/dropdown.ts","./src/app/global/presentation/components/dropdown/dropdown.html","./src/app/global/presentation/components/footer/footer.component.ts","./src/app/global/presentation/components/footer/footer.component.html","./src/app/global/presentation/components/forbidden/forbidden.component.ts","./src/app/global/presentation/components/forbidden/forbidden.component.html","./src/app/global/presentation/components/header/header.component.html","./src/app/global/presentation/components/header/header.component.ts","./src/app/global/presentation/components/modal/modal.ts","./src/app/global/presentation/components/modal/modal.html","./src/app/global/presentation/components/not-found/not-found.component.ts","./src/app/global/presentation/components/not-found/not-found.component.html","./src/app/global/presentation/components/sidenav/sidenav.component.html","./src/app/global/presentation/components/sidenav/sidenav.component.ts","./src/app/global/presentation/components/svg-importer/svg-importer.component.ts","./src/app/global/presentation/components/svg-importer/svg-importer.component.html","./src/app/global/presentation/routing/global-routing.module.ts","./src/app/global/presentation/routing/global.routes.ts","./src/app/users/presentation/services/auth-service.service.ts","./src/app/users/presentation/services/captcha.service.ts","./src/app/users/presentation/services/session.service.ts","./src/app/users/users.module.ts","./src/environments/environment.ts","./src/main.ts","./src/shared/global-service.service.ts","ignored|/home/vsts/work/1/s/judiciales-cloud-front/node_modules/crypto-js|crypto"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HTTP_INTERCEPTORS, HttpErrorResponse } from '@angular/common/http';\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\nimport { catchError, filter, switchMap, take } from 'rxjs/operators';\n\nimport { StorageService } from '../commons/service/storage.service';\nimport { EventBusService } from '../commons/service/event-bus.service';\nimport { EventData } from '../commons/service/event.class';\nimport { TokenService } from '../components/service/token.service';\nimport { SessionService } from '../users/presentation/services/session.service';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class HttpRequestInterceptor implements HttpInterceptor {\n private isRefreshing = false;\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\n\n\n constructor(private storageService: StorageService, private eventBusService: EventBusService, private tokenService: TokenService, private sessionService: SessionService, private router: Router) { }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n req = req.clone({\n withCredentials: true,\n });\n\n return next.handle(req).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n (this.router.url != ('/') && this.router.url != ('/estado-solicitud')) &&\n error.status === 401\n ) {\n this.router.navigateByUrl('/');\n }\n if (\n error instanceof HttpErrorResponse &&\n (this.router.url == ('/') || this.router.url == ('/estado-solicitud')) &&\n error.status === 401\n ) {\n return this.handle401Error(req, next);\n }\n return throwError(() => error);\n })\n );\n }\n\n private handle401Error(request: HttpRequest, next: HttpHandler) {\n if (!this.isRefreshing) {\n this.isRefreshing = true;\n this.refreshTokenSubject.next(null);\n\n return this.tokenService.GenerateGuestToken().pipe(\n switchMap((token: any) => {\n this.isRefreshing = false;\n const bodyToken = JSON.parse(token).body.token;\n this.sessionService.setToken(bodyToken);\n this.refreshTokenSubject.next(bodyToken);\n \n return next.handle(this.addTokenHeader(request, bodyToken));\n }),\n catchError((err) => {\n this.isRefreshing = false;\n return throwError(err);\n })\n );\n }\n\n return this.refreshTokenSubject.pipe(\n filter(token => token !== null),\n take(1),\n switchMap((token) => next.handle(this.addTokenHeader(request, token)))\n );\n }\n\n private addTokenHeader(request: HttpRequest, token: string) {\n return request.clone({ headers: request.headers.set(\"Authorization\", 'Bearer ' + token) });\n }\n}\n\nexport const httpInterceptorProviders = [\n { provide: HTTP_INTERCEPTORS, useClass: HttpRequestInterceptor, multi: true },\n];\n","import { NgModule } from '@angular/core';\nimport { ExtraOptions, RouterModule} from '@angular/router';\nimport { AppRoutes } from './app.routes';\n\n\n\nexport const routerOptions: ExtraOptions = {\n initialNavigation: 'enabledNonBlocking', //'disabled' | 'enabled' | 'enabledBlocking' | 'enabledNonBlocking'\n}\n\n@NgModule({\n imports: [RouterModule.forRoot(AppRoutes, routerOptions)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\nimport { AuthService } from './users/presentation/services/auth-service.service';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { BnNgIdleService } from 'bn-ng-idle';\nimport { AlertService } from './components/presentation/components/notificaciones/alert.service';\nimport { SessionService } from './users/presentation/services/session.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'Judiciales';\n isIframe = false;\n mostrarHeader = true;\n mostrarMenu = true;\n constructor(private _authService: AuthService, private router: Router, private bnIdle: BnNgIdleService, private alertService: AlertService, private session: SessionService) {\n this.session.currentProfileStageMessage.subscribe(msg => { if (!msg){ router.navigate(['/'])} });\n if (this.router.url == '/') { this.session.setProfile('TRUE') }\n\n this.bnIdle.startWatching(600).subscribe((res) => {\n if(router.url != '/' && res) {\n alertService.showInfoAlert('La sesión expiró por inactividad');\n router.navigate(['/'])\n\n }\n })\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n if (event.url == '/judiciales') {\n this.mostrarHeader = false;\n }\n else\n {\n this.mostrarHeader = true;\n this.mostrarMenu = true;\n }\n }\n })\n }\n}","
\n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n","import {NgModule} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\n\nimport {AppRoutingModule} from './app-routing.module';\nimport {AppComponent} from './app.component';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\n\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {GlobalModule} from './global/global.module';\nimport {JudicialesModule} from \"./components/judiciales.module\";\nimport {UsersModule} from './users/users.module';\nimport {CookieService} from \"ngx-cookie-service\";\nimport { NgxCaptchaModule } from 'ngx-captcha';\nimport { FlatpickrModule } from 'angularx-flatpickr';\nimport { httpInterceptorProviders } from \"./_helpers/http.interceptor\";\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n //return \"https://localhost:7241/\";\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule,\n NgxCaptchaModule,\n ReactiveFormsModule,\n BrowserAnimationsModule,\n GlobalModule,\n JudicialesModule,\n UsersModule,\n FlatpickrModule.forRoot()\n ],\n providers: [\n CookieService,\n httpInterceptorProviders,\n {\n provide: 'BASE_URL', useFactory: getBaseUrl\n }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n","import {Routes} from '@angular/router';\n\nexport const AppRoutes: Routes = [\n {\n path: \"\",\n loadChildren: () => import('./components/judiciales.module').then(m => m.JudicialesModule),\n },\n {\n path: \"*\",\n loadChildren: () => import('./global/global.module').then(m => m.GlobalModule)\n }\n];\n","import { Injectable } from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { EventData } from './event.class';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventBusService {\n private subject$ = new Subject();\n\n emit(event: EventData) {\n this.subject$.next(event);\n }\n\n on(eventName: string, action: any): Subscription {\n return this.subject$.pipe(\n filter((e: EventData) => e.name === eventName),\n map((e: EventData) => e[\"value\"])).subscribe(action);\n }\n}\n","import { Injectable } from '@angular/core';\n\nconst USER_KEY = 'auth-user';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n constructor() {}\n\n clean(): void {\n window.sessionStorage.clear();\n }\n\n public saveUser(user: any): void {\n window.sessionStorage.removeItem(USER_KEY);\n window.sessionStorage.setItem(USER_KEY, JSON.stringify(user));\n }\n\n public getUser(): any {\n const user = window.sessionStorage.getItem(USER_KEY);\n if (user) {\n return JSON.parse(user);\n }\n\n return {};\n }\n\n public isLoggedIn(): boolean {\n const user = window.sessionStorage.getItem(USER_KEY);\n if (user) {\n return true;\n }\n\n return false;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport { JudicialesRoutingModule } from './presentation/routing/judiciales-routing.module';\nimport {SvgImporterComponent} from '../global/presentation/components/svg-importer/svg-importer.component';\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {modalComponent} from \"../global/presentation/components/modal/modal\";\nimport {DropdownComponent} from \"../global/presentation/components/dropdown/dropdown\";\nimport {CalculatorComponent} from \"../global/presentation/components/calculater/calculator\";\nimport {ChipsComponents} from \"../global/presentation/components/chips/chips\";\nimport { RadicaciondatosgeneralesComponent } from './presentation/components/radicaciondatosgenerales/radicaciondatosgenerales.component';\nimport { RadicacionSolicitudComponent } from './presentation/components/radicacion-solicitud/radicacion-solicitud.component';\nimport { DetalleSolicitudComponent } from './presentation/components/detalle-solicitud/detalle-solicitud.component';\nimport { ArchivosAdjuntosComponent } from './presentation/components/archivos-adjuntos/archivos-adjuntos.component';\nimport {NgxCaptchaModule} from \"ngx-captcha\";\nimport { NotificacionesComponent } from './presentation/components/notificaciones/notificaciones.component';\nimport { EstadoSolicitudComponent } from './presentation/components/estado-solicitud/estado-solicitud.component';\nimport { ModalArchivosAdjuntosComponent } from './presentation/components/archivos-adjuntos/modal-archivosadjuntos/modal-archivos-adjuntos/modal-archivos-adjuntos.component';\nimport { ModalArchivoscargadosComponent } from './presentation/components/archivos-adjuntos/modal-archivosadjuntos/modal-archivoscargados/modal-archivoscargados.component';\nimport { FlatpickrModule } from 'angularx-flatpickr';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [\n RadicaciondatosgeneralesComponent,\n RadicacionSolicitudComponent,\n DetalleSolicitudComponent,\n ArchivosAdjuntosComponent,\n NotificacionesComponent,\n EstadoSolicitudComponent,\n ModalArchivosAdjuntosComponent,\n ModalArchivoscargadosComponent,\n ],\n exports: [\n RadicaciondatosgeneralesComponent,\n ],\n imports: [\n CommonModule,\n JudicialesRoutingModule,\n SvgImporterComponent,\n FormsModule,\n ReactiveFormsModule,\n modalComponent,\n DropdownComponent,\n CalculatorComponent,\n ChipsComponents,\n NgxCaptchaModule,\n MatIconModule,\n MatTooltipModule,\n FlatpickrModule.forRoot()\n ]\n})\nexport class JudicialesModule {\n}\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\nimport { AlertService } from '../notificaciones/alert.service';\nimport { CaptchaService } from '../../../../users/presentation/services/captcha.service';\nimport { BlobStorageService } from 'src/app/components/service/blob-storage.service';\nimport { PasoInfocomponentesService } from 'src/app/components/service/paso-infocomponentes.service';\nimport { RadicacionDetalleService } from 'src/app/components/service/radicacion-detalle.service';\nimport { RadicacionService } from 'src/app/components/service/radicacion.service';\nimport { JgdConsecutivoService } from 'src/app/components/service/jgd-consecutivo.service';\nimport { EmailBody, EmailService } from 'src/app/components/service/email.service';\nimport { Route, Router } from '@angular/router';\nimport { RadicacionTipoSolicitudService } from 'src/app/components/service/radicacion-tipo-solicitud.service';\nimport { firstValueFrom } from 'rxjs';\nimport { ParametrizacionService } from 'src/app/components/service/parametrizacion.service';\nimport Swal from 'sweetalert2';\nimport { fromEvent } from 'rxjs';\nimport { EncryptService } from 'src/app/components/service/encrypt.service';\nimport { delay, retry, retryWhen, take } from 'rxjs/operators';\n\ninterface CustomFile extends File {\n jgdCode?: string;\n}\n\n\n@Component({\n selector: 'app-archivos-adjuntos',\n templateUrl: './archivos-adjuntos.component.html',\n styleUrls: ['./archivos-adjuntos.component.scss']\n})\nexport class ArchivosAdjuntosComponent implements OnInit {\n detalleForm!: FormGroup;\n solicitudes: any[] = [];\n tipoSolicitud: string | undefined;\n idTipoSolicitud: number | undefined;\n modalData: any;\n\n selectedFileType: string | undefined; \n\n\n imageUrl: string | undefined;\n captchaImage: string | undefined;\n captchaCode: string | undefined;\n fileUploadSuccess: boolean | null = null;\n jgdCode: string | undefined;\n usuarioRadicacion: string = '';\n\n isSubmitting = false;\n showModal = false;\n showModalArchivosCargados = false;\n\n @ViewChild('fileInput', { static: true }) fileInput!: ElementRef;\n datosSolicitud: any;\n datosRadicacion: any;\n operationsCount: any;\n\n\n constructor(\n private _captcha: CaptchaService,\n private formBuilder: FormBuilder,\n private http: HttpClient,\n private pasoInfocomponentesService: PasoInfocomponentesService,\n private alertService: AlertService,\n private blobStorageService: BlobStorageService,\n private radicacionDetalleService: RadicacionDetalleService,\n private radicacionService: RadicacionService,\n private jgdConsecutivoService: JgdConsecutivoService,\n private emailService: EmailService,\n private router: Router,\n private radicacionTipoSolicitudService: RadicacionTipoSolicitudService,\n private parametrizacionService: ParametrizacionService,\n private crypto: EncryptService\n ) {\n this.buildForm();\n this.generateCaptcha();\n }\n\n ngOnInit(): void {\n this.datosSolicitud = this.pasoInfocomponentesService.obtenerDatosFormulario('RadicacionSolicitudComponent');\n console.log('API-RadicacionDetalle:', this.datosSolicitud);\n this.datosRadicacion = this.pasoInfocomponentesService.obtenerDatosFormulario('RadicaciondatosgeneralesComponent');\n console.log('API-Radicacion:', this.datosRadicacion);\n\n }\n\n openModal() {\n this.showModal = true;\n }\n\n handleModalResponse(response: boolean) {\n this.showModal = false;\n if (response) {\n this.onSubmit();\n }\n }\n\n private buildForm() {\n this.detalleForm = this.formBuilder.group({\n file: [null, Validators.required],\n captcha: ['', Validators.required],\n });\n }\n\n onButtonClick() {\n this.fileInput.nativeElement.click();\n }\n\n // Categoria archivos\n private uploadedFileCategories: { [key: string]: boolean } = {\n 'OFICIO DE SOLICITUD': false,\n 'ACTA DE JUEZ DE CONTROL DE GARANTÍAS': false,\n 'ORDEN DE POLICIA JUDICIAL': false,\n 'ANEXOS': false,\n 'OTROS': false,\n };\n\n\n onFileChange(event: Event) {\n const fileTypeNomenclatures: { [key: string]: string } = {\n 'OFICIO DE SOLICITUD': 'OFICIO_SOLICITUD',\n 'ACTA DE JUEZ DE CONTROL DE GARANTÍAS': 'ACTA_JUEZ_CONTROL_GARANTIAS',\n 'ORDEN DE POLICIA JUDICIAL': 'ORDEN_POLICIA_JUDICIAL',\n 'ANEXOS': 'ANEXOS',\n 'OTROS': 'OTROS',\n };\n \n const inputFile = event.target as HTMLInputElement;\n const fileText = document.getElementById('fileText');\n \n if (inputFile && inputFile.files && inputFile.files.length > 0) {\n \n \n // Mark this category as uploaded\n this.uploadedFileCategories[this.selectedFileType || ''] = true;\n var pesoExcedido = false;\n var filesFilter = Array.from(inputFile.files).filter(file => {\n if (file.size > 50 * 1024 * 1024) {\n pesoExcedido = true;\n return false;\n }\n return true;\n });\n\n const fileTypeExtensions = ['doc', 'docx', 'xls', 'xlsx', 'pdf'];\n\n var formatoIncorrecto = false;\n filesFilter = filesFilter.filter(file => {\n const fileExtension = file.name.split('.')[1];\n if (!fileTypeExtensions.includes(fileExtension)) {\n formatoIncorrecto = true;\n return false;\n }\n return true;\n });\n var nombreLargo = false;\n const maxLength = 60; // Define el valor máximo de longitud permitido\n filesFilter = filesFilter.filter(file => {\n if (file.name.length > maxLength) {\n nombreLargo = true;\n return false;\n }\n return true;\n });\n\n\n\n if (filesFilter.length == 0 && pesoExcedido){\n this.alertService.mostrarNotificacion('Lo(s) archivo(s) exceden el peso máximo ', 'error');\n return;\n }\n\n if (filesFilter.length == 0 && formatoIncorrecto){\n this.alertService.mostrarNotificacion('No se acepta tipo de archivo', 'error');\n return;\n }\n if (filesFilter.length == 0 && nombreLargo){\n this.alertService.mostrarNotificacion('El nombre del archivo es muy largo', 'error');\n return;\n }\n const files = filesFilter.map(file => {\n let newFileName;\n \n if (this.selectedFileType && fileTypeNomenclatures[this.selectedFileType as keyof typeof fileTypeNomenclatures]) {\n newFileName = `${fileTypeNomenclatures[this.selectedFileType as keyof typeof fileTypeNomenclatures]}_${file.name}`;\n } else {\n newFileName = file.name;\n }\n \n // Replace all spaces with underscores\n newFileName = newFileName.replace(/ /g, \"_\");\n \n // Create a new CustomFile object and attach the JGD code to it.\n const customFile: CustomFile = new File([file], newFileName, { type: file.type }) as CustomFile;\n customFile.jgdCode = this.jgdCode;\n \n return customFile;\n });\n \n const fileNames = files.map(file => file.name).join(', ');\n \n if (fileText) {\n fileText.textContent = fileNames || 'No se eligieron archivos';\n }\n\n \n const currentFiles = this.detalleForm.get('file')?.value || [];\n this.detalleForm.get('file')?.setValue([...currentFiles, ...files]);\n if(pesoExcedido){\n this.alertService.mostrarNotificacion('Archivo cargado\\n\\n Algunos archivos no se subieron por peso excedido', 'warning');\n }else if (formatoIncorrecto){\n this.alertService.mostrarNotificacion('Archivo cargado\\n\\n Algunos archivos no se subieron por ser un tipo de archivo no aceptado', 'warning');\n }else{\n this.alertService.mostrarNotificacion('Archivo cargado', 'success');\n }\n } else {\n if (fileText) {\n fileText.textContent = 'No se eligieron archivos';\n }\n }\n }\n \n showFiles() {\n const files = this.detalleForm.get('file')?.value;\n if (files && files.length > 0) {\n this.showModalArchivosCargados = true;\n } else {\n Swal.fire({\n title: 'No hay archivos subidos',\n icon: 'info'\n });\n }\n }\n\n removeFile(index: number) {\n const currentFiles = this.detalleForm.get('file')?.value || [];\n \n if (currentFiles.length > index) {\n\n const fileCategory = currentFiles[index].name.split('_')[0];\n\n this.uploadedFileCategories[fileCategory] = false;\n \n currentFiles.splice(index, 1);\n this.detalleForm.get('file')?.setValue(currentFiles);\n }\n \n this.showModalArchivosCargados = currentFiles.length > 0;\n }\n \n\n\n handleModalAccept() {\n this.showModalArchivosCargados = false;\n }\n\n generateCaptcha() {\n this._captcha.generarcaptcha().subscribe(res => {\n const captchaObject = JSON.parse(res.body.captcha);\n const captchaUrl = captchaObject.values.Image;\n this.captchaCode = captchaObject.values.space;\n this.captchaImage = 'data:image/png;base64,';\n this.imageUrl = this.captchaImage + captchaUrl;\n });\n }\n\n async validateCaptcha() {\n const userData = {\n code: this.detalleForm.get('captcha')?.value,\n space: this.captchaCode,\n };\n try {\n\n const res = await this._captcha.validacaptcha(userData).toPromise();\n const captchaObject = JSON.parse(res.body.captcha);\n const captchaError = captchaObject.error;\n\n if (captchaError == 0) {\n\n return true;\n } else {\n this.generateCaptcha();\n this.alertService.showErrorAlert(captchaObject.message);\n return false;\n }\n } catch (error) {\n console.log(error);\n return false;\n } finally {\n\n }\n }\n\n async onSubmit() {\n if (!this.detalleForm.valid) {\n return;\n }\n\n this.openModal(); // Abre la modal en lugar de enviar el formulario\n\n // Muestra la alerta de carga\n this.alertService.showLoadingAlert('Procesando solicitud, por favor espera...');\n\n\n // Verifica la validez del captcha antes de procesar los archivos adjuntos\n const isCaptchaValid = await this.validateCaptcha();\n\n if (isCaptchaValid) {\n // Comienza una operación y la añade al recuento\n this.operationsCount++;\n\n // Generar el código JGD\n const jgdCodeResponse = await this.jgdConsecutivoService.generateCode().toPromise();\n this.jgdCode = jgdCodeResponse.code;\n\n if (this.jgdCode) {\n // Comienza una operación y la añade al recuento\n this.operationsCount++;\n\n const containerName = 'aprodreqjudicial';\n await this.uploadFiles(this.jgdCode, containerName);\n }\n\n // Si el procesamiento de archivos adjuntos se completa con éxito\n if (this.fileUploadSuccess === true) {\n try {\n const usuario = await this.radicacionService.GetUsuarioRadicacion().toPromise();\n this.usuarioRadicacion = usuario.usuario;\n const radicacionData = {\n \"idIncrement\": 0,\n \"radicado\": this.jgdCode,\n \"ip\": sessionStorage.getItem('IpAddress'),\n \"estadoRadicacion\": this.crypto.encryptData('CALIDAD INICIAL'),\n \"usuarioRadicacion1\": this.crypto.encryptData(this.datosRadicacion.datosEnvio),\n \"fechaSolicitud\": new Date().toISOString(),\n \"fechaSistema\": new Date().toISOString(),\n \"noNoticiaCriminal\": this.crypto.encryptData(this.datosRadicacion.noticiaCriminal),\n \"entidad\": this.datosRadicacion.entidad,\n \"otraEntidad\": this.datosRadicacion.otraEntidad,\n \"subdireccion\": \"\",\n \"nombreInvestigador\": this.crypto.encryptData(this.datosRadicacion.nombreFuncionario),\n \"fechaVencimientoActa\": this.datosRadicacion.expirationDate ? this.datosRadicacion.expirationDate : null,\n \"canal\": \"HERRAMIENTA\",\n \"metodoRespuesta\": this.crypto.encryptData(\"CORREO_ELECTRONICO\"),\n \"valorMetodoRespuesta\": this.crypto.encryptData(this.datosRadicacion.datosEnvio),\n \"usuarioRadicacion2\": this.crypto.encryptData(this.usuarioRadicacion),\n \"fechaEstadoPendiente\": null,\n \"fechaEstadoRadicado\": new Date().toISOString(),\n \"fechaEstadoCalidad\": null,\n \"fechaEstadoAprobado\": null,\n \"fechaEstadoTerminado\": null,\n \"fechaEstadoDevolucion\": null,\n \"fechaEstadoExcedido\": null,\n \"numeroGuia\": \"\",\n \"tipoEjecucion\": \"BATCH\",\n };\n\n const radicacionResponse = await this.radicacionService.postRadicacion(radicacionData).toPromise();\n console.log('Respuesta de la API de radicación:', radicacionResponse);\n\n let solicitudesPromises = [];\n\n // Recorremos cada objeto en el array de datosSolicitud\n for (const solicitud of this.datosSolicitud) {\n const promise = this.radicacionTipoSolicitudService.getRadicacionTipoSolicitudByTipo(solicitud.infoInvestigar).toPromise().then((data) => {\n this.idTipoSolicitud = data['idSolicitud'];\n console.log('ID del tipo de solicitud:', this.idTipoSolicitud);\n\n const radicacionDetalleData = {\n \"idIncrement\": 0,\n \"idRadicado\": this.jgdCode,\n \"criterioBusqueda\": this.crypto.encryptData(solicitud.t_solicitud),\n \"valorCriterio\": this.crypto.encryptData(solicitud.v_investigar),\n \"idSolicitud\": this.idTipoSolicitud,\n \"actaJuez\": \"SI\",\n \"operacion\": solicitud.id_tipo_servicio,\n \"nombreCliente\": this.crypto.encryptData(solicitud.nombre_cliente),\n \"valorSolicitud\": this.crypto.encryptData(solicitud.infoInvestigar),\n \"ip\": sessionStorage.getItem('IpAddress'),\n \"fechaHasta\": new Date(solicitud.endDate + 'Z').toISOString(),\n \"fechaDesde\": new Date(solicitud.initDate + 'Z').toISOString(),\n \"estadoSolicitud\": this.crypto.encryptData(\"CALIDAD INICIAL\"),\n \"fechaSistema\": new Date().toISOString(),\n \"otraInfo\": \"string\",\n \"usuarioRadicacion2\": this.crypto.encryptData(this.usuarioRadicacion),\n \"usuarioGestion2\": this.crypto.encryptData(this.usuarioRadicacion),\n \"validacionCriterio\": solicitud.validacionCriterio,\n \"fechaValidaTraficoMovil\": solicitud.fechaValidaTraficoMovil,\n \"fechaValidaTraficoFija\": solicitud.fechaValidaTraficoFija,\n \"lineaActiva\": 0,\n \"observacion\": \"string\"\n };\n\n return radicacionDetalleData;\n });\n\n // Añadimos cada promesa al array\n solicitudesPromises.push(promise);\n }\n\n // Esperamos a que todas las promesas se resuelvan\n var x = await Promise.all(solicitudesPromises);\n console.log('Se completaron todas las solicitudes');\n var resp = await this.radicacionDetalleService.postRadicacionDetalle(x).toPromise();\n //Control de valor criterio\n\n if (resp.status == 400){\n this.alertService.showErrorAlert('Ocurrió un error en la lectura del valor a investigar, por favor valide el manual de ayuda e intente nuevamente.');\n }\n \n console.log('Respuesta del back' + resp.response);\n console.log('Respuesta del back' + resp.message);\n let entidadEnvio = this.datosRadicacion.entidad;\n if (entidadEnvio == \"OTRO\") {\n entidadEnvio = this.datosRadicacion.otraEntidad;\n }\n if (this.jgdCode && resp.message == \"OK\") {\n this.alertService.showSuccessAlertWithJgdCode(this.jgdCode);\n if (this.fileUploadSuccess === true) {\n const emailBody: EmailBody = {\n saludo: 'Estimado usuario

',\n mensajePrincipal: `\n Se ha registrado con éxito su Requerimiento Judicial con radicado número: ${this.jgdCode}

\n Noticia Criminal: ${this.datosRadicacion.noticiaCriminal}
\n Funcionario competente: ${this.datosRadicacion.nombreFuncionario}
\n Correo Electrónico registrado: ${this.datosRadicacion.datosEnvio}
\n Entidad: ${entidadEnvio}

\n Recuerde que la información y documentos ingresados en el portal serán validados, si cumple con todos los requisitos legales vigentes, su solicitud será PROCESADA y se le enviara la respuesta a través del correo electrónico registrado, si NO cumple con todos los requisitos legales vigentes su solicitud será RECHAZADA y se le enviara el motivo del rechazo a través del correo electrónico registrado.

\n `,\n cierre: `\n Cordialmente,
\n REQUERIMIENTOS JUDICIALES
\n COLOMBIA TELECOMUNICACIONES S.A. ESP BIC
\n `\n };\n\n await this.emailService.sendEmail(this.datosRadicacion.datosEnvio, 'Confirmación de Registro de Requerimiento Judicial', emailBody).toPromise();\n }\n\n setTimeout(() => {\n document.location.reload();\n }, 15000);\n\n\n this.operationsCount--;\n if (this.operationsCount === 0) {\n this.isSubmitting = false;\n this.alertService.close();\n }\n\n } else {\n // Mostramos un error o asignamos un valor por defecto a this.jgdCode\n console.error('jgdCode es undefined');\n this.jgdCode = 'Valor por defecto';\n this.alertService.showErrorAlert('Ocurrió un error. Por favor intente mas tarde.');\n }\n\n setTimeout(() => {\n this.router.navigate(['/']);\n }, 15000);\n } catch (error) {\n console.error('Ocurrió un error al tratar de enviar los datos a las APIs:', error);\n //this.radicacionDetalleService.deleteRadicacion(this.jgdCode);\n this.alertService.showErrorAlert('Ocurrió un error en la lectura del valor a investigar, por favor valide el manual de ayuda e intente nuevamente.');\n\n }\n } else {\n console.error('El procesamiento del archivo adjunto no fue exitoso.');\n \n this.alertService.showErrorAlert('Ocurrió un error. Revise su conexión, Por favor intente de nuevo.');\n }\n } else {\n this.alertService.showErrorAlert('La validación del captcha falló. Por favor, inténtalo de nuevo.');\n }\n\n // Disminuye el recuento de operaciones. Si el recuento es cero, entonces todas las operaciones han terminado.\n this.operationsCount--;\n if (this.operationsCount === 0) {\n // Habilita el botón de envío\n this.isSubmitting = false;\n\n // Cierra la alerta de carga\n this.alertService.close();\n }\n }\n\n async uploadFiles(jgdCode: string, containerName: string) {\n const files: CustomFile[] | null = this.detalleForm.get('file')?.value || null;\n if (files && files.length > 0) {\n try {\n for (let file of files) {\n const originalFileName = file.name;\n \n // Reemplazar caracteres especiales con guiones bajos (_)\n const sanitizedFileName = originalFileName.replace(/[^\\w.-]/g, '_');\n \n const renamedFile = new File([file], `${jgdCode}_${sanitizedFileName}`, { type: file.type });\n\n const tipoArchivo = renamedFile.type;\n await this.blobStorageService.uploadFiles([renamedFile], jgdCode, containerName, tipoArchivo, 0, 'null', 'undefined').toPromise();\n }\n\n this.fileUploadSuccess = true;\n } catch (error) {\n this.alertService.showErrorAlert('Ocurrió un error al subir el archivo. Por favor, inténtalo de nuevo.');\n this.fileUploadSuccess = false;\n }\n } else {\n this.alertService.showErrorAlert('Por favor, selecciona un archivo para subir.');\n }\n }\n\n\n\n}","
\n

Archivos Adjuntos

\n\n
\n

Recuerde que el Archivo Adjunto debe corresponder a un Requerimiento Judicial

\n
\n\n
\n

*Se debe adjuntar como mínimo 1 archivo

\n

*Archivos permitidos: doc, docx, xls, xlsx, pdf

\n

Capacidad de Cargue 50 MB

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

\n\n
\n
\n \n \n \n \n
\n\n
\n
    \n
  • \n
    \n \n \n \n {{ file.name }}\n
    \n
  • \n
\n
\n \n\n
\n
\n \n \n
\n\n
\n \"captcha\"\n \n
\n
\n\n \n\n \n\n

\n\n
\n \n \n
\n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\n\n\n\n@Component({\n selector: 'app-modal-archivos-adjuntos',\n templateUrl: './modal-archivos-adjuntos.component.html',\n // styleUrls: ['./modal-archivos-adjuntos.component.scss']\n})\nexport class ModalArchivosAdjuntosComponent implements OnInit {\n @Input() showModal!: boolean;\n @Output() showModalChange: EventEmitter = new EventEmitter();\n @Output() responseModal: EventEmitter = new EventEmitter();\n @Input() modalContent: any;\n checkboxSelected = false;\n\n ngOnInit(): void { }\n\n toggleModal() {\n this.showModalChange.emit(false);\n this.responseModal.emit(false);\n }\n\n response() {\n this.showModalChange.emit(false);\n this.responseModal.emit(true);\n }\n\n toggleCheckbox() {\n this.checkboxSelected = !this.checkboxSelected;\n }\n}\n","
\n
\n
\n
\n
\n MANIFIESTO

Manifiesto que no he presentado otra solicitud sobre la misma\n investigación con la misma información a consultar ante Colombia Telecomunicaciones S.A. ESP BIC.

\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-modal-archivoscargados',\n templateUrl: './modal-archivoscargados.component.html',\n styleUrls: ['./modal-archivoscargados.component.scss']\n})\nexport class ModalArchivoscargadosComponent implements OnInit {\n @Input() files: File[] = [];\n @Output() removeFile = new EventEmitter();\n @Output() accept = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {}\n\n onRemoveFile(index: number): void {\n this.removeFile.emit(index);\n }\n\n onAccept(): void {\n this.accept.emit();\n }\n}\n","
= 0\">\n
\n
\n
\n
\n \n
\n
\n

0\">Archivos adjuntos:

\n

No hay archivos subidos

\n
\n
\n {{file.name}}\n
\n
\n \n
\n
\n
\n
0\">\n \n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormArray, ValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AlertService } from '../notificaciones/alert.service';\nimport { PasoInfocomponentesService } from 'src/app/components/service/paso-infocomponentes.service';\nimport { RadicacionSolicitudService } from 'src/app/components/service/radicacion-solicitud.service';\n\n\nimport { filter } from 'rxjs/operators';\nimport { firstValueFrom } from 'rxjs';\nimport { FlatpickrDefaultsInterface } from 'angularx-flatpickr';\n\ninterface t_solicitudOption {\n criterioId: number;\n criterioValor: string;\n criterioDescripcion: string;\n}\n\ninterface id_tipo_servicioOption {\n operacionesId: number;\n operacionesValor: string;\n operacionesDescripcion: string;\n}\n\ninterface InformacionInvestigarOption {\n id: number;\n valorSolicitud: string;\n tipologia: string;\n checkNumber: string;\n}\n\n@Component({\n selector: 'app-detalle-solicitud',\n templateUrl: './detalle-solicitud.component.html',\n styleUrls: ['./detalle-solicitud.component.scss']\n})\n\nexport class DetalleSolicitudComponent implements OnInit {\n detalleForm: FormGroup;\n editIndex: number | null = null;\n originalSolicitud: any | null = null;\n dateNow = new Date();\n submitAttempted: boolean = false;\n public lista!: any[];\n public currentDateTime: string = '';\n lenghtMaximo: number | undefined;\n isSaveButtonClicked: boolean = false;\n optionsInitDate: FlatpickrDefaultsInterface = {\n enableTime: true,\n dateFormat: 'Y-m-d H:i:S',\n time24hr: true,\n defaultHour: 0,\n defaultMinute: 0, \n enableSeconds: true\n};\n\noptionsEndDate: FlatpickrDefaultsInterface = {\n enableTime: true,\n dateFormat: 'Y-m-d H:i:S',\n time24hr: true,\n defaultHour: 23,\n defaultMinute: 59,\n enableSeconds: true,\n minTime: \"00:00:00\",\n maxTime: \"23:59:59\",\n \n};\n\n\n\n isEditing: boolean = false;\n\n t_solicitudOptions: t_solicitudOption[] = [];\n id_tipo_servicioOptions: id_tipo_servicioOption[] = [];\n informacionInvestigarOptions: InformacionInvestigarOption[] = [];\n\n fields = [\n {\n name: 't_solicitud', type: 'text', errors: [\n { type: 'required', message: 'Este campo es requerido.' },\n { type: 'minlength', message: 'El mínimo de caracteres es 3.' },\n { type: 'maxlength', message: 'El máximo de caracteres es 50.' }\n ]\n },\n ];\n public successMessageVisible = false;\n\n constructor(private formBuilder: FormBuilder,\n private router: Router, private alertService: AlertService,\n private PasoInfocomponentesService: PasoInfocomponentesService,\n private RadicacionSolicitudService: RadicacionSolicitudService) {\n this.detalleForm = new FormGroup({});\n this.buildForm();\n }\n\n\n async ngOnInit() {\n this.alertService.showLoadingAlert('Cargando Solicitudes, por favor espera...');\n this.currentDateTime = this.getCurrentDateTimeString();\n\n this.RadicacionSolicitudService.getreqjud_Criterios().subscribe(\n (data: t_solicitudOption[]) => { // Aquí también debes indicar el tipo de data\n this.t_solicitudOptions = data;\n },\n (error) => {\n console.error('Error obteniendo tipos de solicitud: ', error);\n }\n );\n\n this.RadicacionSolicitudService.getreqjud_operaciones().subscribe(\n (data: id_tipo_servicioOption[]) => { // Y aquí igualmente\n this.id_tipo_servicioOptions = data;\n },\n (error) => {\n console.error('Error obteniendo tipos de servicio: ', error);\n }\n );\n\n await firstValueFrom(this.RadicacionSolicitudService.getInformacionInvestigar()).then((data: InformacionInvestigarOption[]) => {\n this.informacionInvestigarOptions = data;\n });\n\n this.llenarlista();\n this.alertService.closeAlert();\n }\n\n getMaxDateTimeEndDate(index: number): string {\n const interno = this.getFormGroupAtIndex(index);\n const isChecked1 = interno.get('isChecked1');\n const isChecked4 = interno.get('isChecked4');\n const isChecked7 = interno.get('isChecked7');\n const isChecked10 = interno.get('isChecked10');\n if(isChecked1 || isChecked4 || isChecked7 || isChecked10){\n var hoy = new Date(); // Fecha actual\n var milisegundosEnUnDia = 1000 * 60 * 60 * 24; // Milisegundos en un día\n var dosDiasAtras = new Date(hoy.getTime() - 2 * milisegundosEnUnDia);\n if(interno.get('t_solicitud')?.value.includes('cdr') || interno.get('t_solicitud')?.value.includes('CDR')){\n \n return dosDiasAtras.toISOString().split(\".\")[0].replace(\"T\", \" \");\n }else{\n return hoy.toISOString().split(\".\")[0].replace(\"T\", \" \");\n\n }\n\n }else{\n const fechaMaxima = new Date();\n var day = '';\n if (interno.get('infoInvestigar')?.value.includes('CDR')){\n day = this.padZero(fechaMaxima.getDate() - 2);\n if((this.calcularDiferenciaEnDias(\"\", interno.get('endDate')?.value) < 2)){\n interno.get('endDate')?.setValue('');\n }\n }else{\n day = this.padZero(fechaMaxima.getDate());\n }\n const year = fechaMaxima.getFullYear();\n const month = this.padZero(fechaMaxima.getMonth() + 1);\n const hours = this.padZero(fechaMaxima.getHours());\n const minutes = this.padZero(fechaMaxima.getMinutes());\n\n // let hoy = new Date(); // Fecha actual\n // let milisegundosEnUnDia = 1000 * 60 * 60 * 24; // Milisegundos en un día\n // let dosDiasAtras = new Date(hoy.getTime() - 2 * milisegundosEnUnDia);\n\n // if(interno.get('t_solicitud')?.value.includes('cdr') || interno.get('t_solicitud')?.value.includes('CDR')){\n \n // return dosDiasAtras.toISOString().split(\".\")[0].replace(\"T\", \" \");\n // }else{\n // return hoy.toISOString().split(\".\")[0].replace(\"T\", \" \");\n\n // }\n\n \n \n // Formatea la fecha máxima como \"YYYY-MM-DD HH:mm\"\n return `${year}-${month}-${day} 00:00:00`;\n }\n }\n\n onInputValor(index: number){\n const interno = this.getFormGroupAtIndex(index);\n this.lenghtMaximo = this.GetMaxLenght(index);\n const tipos = \"LINEA|CC|TI|IMEI|ICC|IMSI|LINEA LDI\"; // Valores para comparar\n const tipo = interno.get('t_solicitud')?.value;\n\n if (this.lenghtMaximo == undefined) { this.lenghtMaximo = 0 }\n var text = interno.get('v_investigar')?.value;\n var newText;\n if (tipo && tipos.includes(tipo.toUpperCase())) {\n text = text.replace(/[^0-9]/g, ''); \n }\n if (this.lenghtMaximo != 0 && text.length > this.lenghtMaximo){\n newText = text.substring(0, this.lenghtMaximo);\n }else{\n newText = text;\n \n \n }\n interno.get('v_investigar')?.setValue(newText);\n \n }\n\n GetMaxLenght(index: number){\n const interno = this.getFormGroupAtIndex(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n switch (tipoDeSolicitud) {\n case 'Linea':\n if(tipoDeServicio == 'FIJA'){\n return 8;\n\n }\n if(tipoDeServicio == 'MOVIL'){\n return 10;\n\n }\n return;\n case 'Imei':\n return 15;\n case 'Icc':\n return 19;\n default:\n return 0;\n }\n }\n\n getMinDateTimeEndDate(index: number): string {\n const interno = this.getFormGroupAtIndex(index);\n if (interno.get('initDate')?.value === '') {\n const fechaMinima = new Date(0);\n const year = fechaMinima.getFullYear();\n const month = this.padZero(fechaMinima.getMonth() + 1);\n const day = this.padZero(fechaMinima.getDate());\n \n // Formatea la fecha mínima como \"YYYY-MM-DD 00:00\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n const now = new Date(interno.get('initDate')?.value);\n const year = now.getFullYear();\n const month = this.padZero(now.getMonth() + 1);\n const day = this.padZero(now.getDate());\n const hours = this.padZero(now.getHours());\n const minutes = this.padZero(now.getMinutes());\n \n // Formatea la fecha actual como \"YYYY-MM-DD HH:mm\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n getMaxDateTimeInitDate(index: number): string {\n const interno = this.getFormGroupAtIndex(index);\n var day;\n const fechaMaxima = new Date();\n const isChecked1 = interno.get('isChecked1');\n const isChecked4 = interno.get('isChecked4');\n const isChecked7 = interno.get('isChecked7');\n const isChecked10 = interno.get('isChecked10');\n if (interno.get('infoInvestigar')?.value.includes('CDR')){\n day = this.padZero(fechaMaxima.getDate() - 2);\n }else{\n day = this.padZero(fechaMaxima.getDate());\n }\n if (interno.get('endDate')?.value === '') {\n const year = fechaMaxima.getFullYear();\n const month = this.padZero(fechaMaxima.getMonth() + 1);\n \n // Formatea la fecha máxima como \"YYYY-MM-DD 23:59\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n const now = new Date(interno.get('endDate' )?.value);\n const year = now.getFullYear();\n const month = this.padZero(now.getMonth() + 1);\n day = this.padZero(now.getDate());\n \n // Formatea la fecha actual como \"YYYY-MM-DD HH:mm\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n padZero(value: number): string {\n return value.toString().padStart(2, '0');\n }\n\n llenarlista() {\n \n this.lista = this.PasoInfocomponentesService.obtenerDatosFormulario('RadicacionSolicitudComponent');\n this.lista.forEach((element: any) => {\n var valoresInvestigar = element.v_investigar.split('|');\n let informacionInvestigar = this.getInformacionInvestigar(element);\n informacionInvestigar.forEach(\n info => {\n valoresInvestigar.forEach((valor: string) => {\n if (!valor || valor.trim().length == 0){\n return;\n }\n element.nombre_cliente = valor;\n element.infoInvestigar = info.valorSolicitud;\n element.v_investigar = valor;\n this.agregarSolicitud(element);\n element.v_investigar = valoresInvestigar.join('|');\n });\n })\n });\n }\n\n getInformacionInvestigar(element: any): InformacionInvestigarOption[] {\n let informacionInvestigar: InformacionInvestigarOption[] = [];\n const propsToSkip = ['isChecked1', 'isChecked7', 'isChecked4'];\n for (let prop in element) {\n if (propsToSkip.find(propSKip => propSKip === prop)) {\n continue;\n }\n if (prop.startsWith('isChecked') && element[prop] === true) {\n let informacion = this.informacionInvestigarOptions.find(\n info => {\n const checks = info.tipologia.split(',').map(w => w.trim());\n return checks.find(check => check.replace(': true', '') == prop);\n });\n if (informacion) {\n informacionInvestigar.push(informacion);\n }\n }\n }\n return informacionInvestigar;\n }\n\n\n private buildForm() {\n this.detalleForm = this.formBuilder.group({\n solicitudes: this.formBuilder.array([])\n });\n }\n\n getCurrentDateTimeString(): string {\n const fechaActual = new Date();\n\n const año = fechaActual.getFullYear();\n const mes = ('0' + (fechaActual.getMonth() + 1)).slice(-2);\n const dia = ('0' + fechaActual.getDate()).slice(-2);\n const hora = ('0' + fechaActual.getHours()).slice(-2);\n const minutos = ('0' + fechaActual.getMinutes()).slice(-2);\n const segundos = ('0' + fechaActual.getSeconds()).slice(-2);\n\n return `${año}-${mes}-${dia}T${hora}:${minutos}:${segundos}`;\n }\n\n get solicitudes(): FormArray {\n return this.detalleForm.get('solicitudes') as FormArray;\n }\n\n agregarSolicitud(data?: any) {\n this.solicitudes.push(this.createSolicitudFormGroup(data));\n }\n\n formatDate(date: string): string {\n let d = new Date(date);\n return d.getFullYear() + '-' +\n ('0' + (d.getMonth() + 1)).slice(-2) + '-' +\n ('0' + d.getDate()).slice(-2) + 'T' +\n ('0' + d.getHours()).slice(-2) + ':' +\n ('0' + d.getMinutes()).slice(-2) + ':' +\n ('0' + d.getSeconds()).slice(-2);\n }\n\n\n createSolicitudFormGroup(data?: any): FormGroup {\n //Borrar linea\n return this.formBuilder.group({\n nombre_cliente: [data?.nombre_cliente || ''],\n t_solicitud: [data?.t_solicitud || '', Validators.required],\n v_investigar: [data?.v_investigar || '', [Validators.required, this.minLengthValidator(10), this.maxLengthValidator(2000000), this.onlyNumbersValidator()]],\n id_tipo_servicio: [data?.id_tipo_servicio || '', Validators.required],\n infoInvestigar: [data?.infoInvestigar || '', Validators.required],\n initDate: [this.formatDate(data?.initDate) || '', Validators.required],\n endDate: [this.formatDate(data?.endDate) || '', [Validators.required, this.validateendDate]],\n validacionCriterio: [data?.validacionCriterio || '', Validators.required],\n fechaValidaTraficoMovil: [data?.fechaValidaTraficoMovil || '', Validators.required],\n fechaValidaTraficoFija: [data?.fechaValidaTraficoFija|| '', Validators.required],\n guardada: [false]\n });\n }\n\n onChangeList(index: number){\n this.onInputValor(index);\n }\n\n validateendDate: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const initDate = new Date(control.parent?.get('initDate')?.value);\n const endDate = new Date(control.value);\n if (initDate.getTime() > endDate.getTime()) {\n return { endDateInvalida: true };\n }\n\n return null;\n }\n\n onlyNumbersValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value && /[^0-9,]/.test(control.value)) {\n return { onlyNumbers: true };\n }\n return null;\n };\n }\n\n minLengthValidator(minLength: number): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value && control.value.length < minLength) {\n return { minlength: { requiredLength: minLength, actualLength: control.value.length } };\n }\n return null;\n };\n }\n\n maxLengthValidator(maxLength: number): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (control.value && control.value.length > maxLength) {\n return { maxlength: { requiredLength: maxLength, actualLength: control.value.length } };\n }\n return null;\n };\n }\n\n getFormGroupAtIndex(index: number): FormGroup {\n return (this.detalleForm.get('solicitudes') as FormArray).at(index) as FormGroup;\n }\n\n devolverYAgregar() {\n this.router.navigate(['/radicacion-solicitud']);\n this.alertService.mostrarNotificacion('Se ha devuelto al paso anterior.', 'info', 3000);\n }\n\n\n async finalizarRegistro() {\n \n this.router.navigate(['/archivos-adjuntos']);\n this.alertService.mostrarNotificacion('Registro finalizado. Continuando con los archivos adjuntos.', 'info', 3000);\n\n // Recorre todas las solicitudes y las guarda una por una\n let savedData = this.PasoInfocomponentesService.obtenerDatosFormulario('RadicacionSolicitudComponent');\n savedData.splice(0, savedData.length);\n // Recorre todas las solicitudes y las guarda una por una\n for (let index = 0; index < this.solicitudes.length; index++) {\n // Comprueba si el botón Guardar fue presionado para esta solicitud\n if (this.solicitudes.at(index)!.get('guardada')!.value === false)\n {\n const solicitudForm = this.solicitudes.at(index) as FormGroup;\n const data = solicitudForm.value;\n if (data.infoInvestigar == 'Solicitud IP Móvil'){ data.infoInvestigar = 'IPs datos Biografico' }\n if (data.infoInvestigar == 'Contratos Ventas'){ data.infoInvestigar = 'Contratos' }\n const jsonData = {\n nombre_cliente: data.nombre_cliente,\n idRadicado: data.idRadicado,\n t_solicitud: data.t_solicitud,\n v_investigar: data.v_investigar,\n id_tipo_servicio: data.id_tipo_servicio,\n infoInvestigar: data.infoInvestigar,\n initDate: data.initDate,\n endDate: data.endDate,\n validacionCriterio: data?.validacionCriterio,\n fechaValidaTraficoMovil: data?.fechaValidaTraficoMovil,\n fechaValidaTraficoFija: data?.fechaValidaTraficoFija,\n \n };\n\n // Obtiene los datos previamente guardados\n\n // Añade los nuevos datos al array\n await savedData.push(jsonData);\n this.alertService.mostrarNotificacion('Solicitud guardada.', 'success', 3000);\n \n }\n }\n }\n\n\n corregir(index: number) {\n this.editIndex = index;\n this.originalSolicitud = this.solicitudes.at(index).value;\n this.isEditing = true;\n }\n eliminar(index: number){\n //Borrar linea\n var solicitud = this.solicitudes.at(index).value;\n this.lista = this.PasoInfocomponentesService.obtenerDatosFormulario('RadicacionSolicitudComponent');\n //this.lista.at(solicitud.parentIndex);\n //this.solicitudes.value.find( (solicitud: any) => solicitud.parentIndex == )\n this.solicitudes.removeAt(index);\n }\n\n guardar(index: number) {\n \n this.submitAttempted = true;\n const solicitudForm = this.solicitudes.at(index) as FormGroup;\n if (this.IsValid(index)) {\n const data = solicitudForm.value;\n const jsonData = {\n nombre_cliente: data.nombre_cliente,\n idRadicado: data.idRadicado,\n t_solicitud: data.t_solicitud,\n v_investigar: data.v_investigar,\n id_tipo_servicio: data.id_tipo_servicio,\n infoInvestigar: data.infoInvestigar,\n initDate: data.initDate,\n endDate: data.endDate,\n validacionCriterio: data?.validacionCriterio,\n fechaValidaTraficoMovil: data?.fechaValidaTraficoMovil,\n fechaValidaTraficoFija: data?.fechaValidaTraficoFija,\n };\n\n // Obtén los datos previamente guardados\n let savedData = this.PasoInfocomponentesService.obtenerDatosFormulario('Detalle-Solicitud');\n\n this.editIndex = null;\n this.isEditing = false;\n this.alertService.mostrarNotificacion('Cambios guardados.', 'success', 3000);\n } else {\n console.log('Formulario inválido');\n //this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Verifique los datos ingresados.', 'warning', 3000);\n }\n }\n\n isValidDate(index: number) {\n const interno = this.getFormGroupAtIndex(index);\n const endDateValue = interno.get('endDate')?.value;\n if (!endDateValue) { return false;}\n debugger;\n if (!endDateValue) {\n return false; // Si endDateValue es nulo o vacío, la fecha no es válida\n }\n \n // Obtén la fecha actual en GMT-5\n const currentDateGMTMinus5 = new Date();\n currentDateGMTMinus5.setHours(currentDateGMTMinus5.getHours());\n \n // Convierte la fecha ingresada en endDateValue a un objeto Date\n const endDate = new Date(endDateValue);\n \n // Compara las fechas\n if (endDate < currentDateGMTMinus5) {\n return false; // endDate es anterior a la fecha actual en GMT-5\n }\n \n return true; // endDate es posterior o igual a la fecha actual en GMT-5\n }\n\n IsValid(index: number){\n const interno = this.getFormGroupAtIndex(index);\n this.lenghtMaximo = this.GetMaxLenght(index);\n var text = interno.get('v_investigar')?.value;\n var initDate = interno.get('initDate')?.value;\n if (!initDate) { return false;}\n var endDate = interno.get('endDate')?.value;\n if (!endDate) { return false;}\n if (new Date(initDate) > new Date(endDate)) { return false;}\n if (this.lenghtMaximo !== undefined){\n if (this.lenghtMaximo > 0 && this.lenghtMaximo != text.length){\n this.alertService.mostrarNotificacion(`Ingrese por lo menos ${this.lenghtMaximo} caracteres.`, 'warning', 3000);\n return false;\n }\n }\n if (this.isValidDate(index)){\n this.alertService.mostrarNotificacion('No se pueden guardar los cambios. La fecha final no puede ser una fecha futura', 'warning', 3000);\n return false;\n }\n return true;\n }\n\n\n cancelar(index: number) {\n this.editIndex = null;\n this.solicitudes.at(index).setValue(this.originalSolicitud);\n this.originalSolicitud = null;\n this.isEditing = false;\n this.alertService.mostrarNotificacion('Edición cancelada.', 'info', 3000);\n }\n\n onSubmit() {\n this.detalleForm.markAllAsTouched();\n }\n\n isReadOnly(index: number): boolean {\n return this.editIndex !== index;\n }\n\n eliminarSolicitud(index: number) {\n this.solicitudes.removeAt(index);\n this.alertService.mostrarNotificacion('Solicitud eliminada.', 'info', 3000);\n }\n\n agregarNuevaSolicitud() {\n this.agregarSolicitud();\n this.alertService.mostrarNotificacion('Nueva solicitud agregada.', 'info', 3000);\n }\n\n getFieldErrors(index: number, fieldName: string): any {\n const formGroup = this.getFormGroupAtIndex(index);\n const control = formGroup.get(fieldName);\n return control?.errors;\n }\n\n getErrorMessage(index: number, fieldName: string): string {\n const errors = this.getFieldErrors(index, fieldName);\n if (errors) {\n for (const key in errors) {\n if (errors.hasOwnProperty(key)) {\n const field = this.fields.find((f) => f.name === fieldName);\n const error = field?.errors.find((e) => e.type === key);\n if (error) {\n return typeof error.message === 'function' ? (errors[key]) : error.message;\n }\n }\n }\n }\n\n return '';\n }\n\n // Puedes usar esta función para validar los campos antes de enviar el formulario\n isFieldValid(index: number, fieldName: string): boolean {\n const formGroup = this.getFormGroupAtIndex(index);\n const control = formGroup.get(fieldName);\n return control?.valid ?? false;\n }\n\n formatAmPm(date: string): string {\n let d = new Date(date);\n let hours = d.getHours();\n let minutes = d.getMinutes();\n let seconds = d.getSeconds();\n let ampm = hours >= 12 ? 'PM' : 'AM';\n \n hours = hours % 12;\n hours = hours ? hours : 12; // Si hours es 0, establecerlo como 12\n \n let formattedTime =\n ('0' + hours).slice(-2) + ':' +\n ('0' + minutes).slice(-2) + ':' +\n ('0' + seconds).slice(-2) + ' ' +\n ampm;\n \n return (\n ('0' + d.getDate()).slice(-2) + '/' +\n ('0' + (d.getMonth() + 1)).slice(-2) + '/' +\n ('' + d.getFullYear()).slice(-2) + ' ' +\n formattedTime\n );\n }\n \n filtrarLista(index: number){\n const interno = this.getFormGroupAtIndex(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n if (tipoDeServicio == 'FIJA') {\n return this.t_solicitudOptions.filter(item => {\n return (\n item.criterioValor === 'Linea' ||\n item.criterioValor === 'CC' ||\n item.criterioValor === 'CE' ||\n item.criterioValor === 'PS' ||\n item.criterioValor === 'TARJETA DE IDENTIDAD' ||\n item.criterioValor === 'NIT EXTRANJERIA' ||\n item.criterioValor === 'NIT' ||\n item.criterioValor === 'Ip' ||\n item.criterioValor === 'Direccion_del_punto' \n );\n });\n } else if (tipoDeServicio == 'FIJA_MOVIL') {\n return this.t_solicitudOptions.filter(item => {\n return (\n item.criterioValor === 'CC' ||\n item.criterioValor === 'CE' ||\n item.criterioValor === 'PS' ||\n item.criterioValor === 'TARJETA DE IDENTIDAD' ||\n item.criterioValor === 'NIT EXTRANJERIA' ||\n item.criterioValor === 'NIT' ||\n item.criterioValor === 'Ip' ||\n item.criterioValor === 'Direccion_del_punto' \n );\n });\n }\n return this.t_solicitudOptions;\n }\n\n filtrarListaInfo(index: number){\n const interno = this.getFormGroupAtIndex(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n \n if (tipoDeServicio == 'FIJA') {\n if(tipoDeSolicitud == 'Celda'){\n return this.informacionInvestigarOptions.filter(item => {\n return (\n item.valorSolicitud === 'CDR saliente voz FIJA' ||\n item.valorSolicitud === 'CDR entrante voz FIJA'\n );\n });\n }else{ \n return this.informacionInvestigarOptions.filter(item => {\n return (\n item.valorSolicitud === 'CDR saliente voz FIJA' ||\n item.valorSolicitud === 'CDR entrante voz FIJA' ||\n item.valorSolicitud === 'Datos Biograficos' ||\n item.valorSolicitud === 'Camaras' ||\n item.valorSolicitud === 'Restablecimiento de derecho' ||\n item.valorSolicitud === 'Contratos Ventas' ||\n item.valorSolicitud === 'Informacion de asesores' ||\n item.valorSolicitud === 'Solicitud IP Fija' ||\n item.valorSolicitud === 'Interceptacion Fija' ||\n item.valorSolicitud === 'Informacion de empleados' ||\n item.valorSolicitud === 'SPOA'\n );\n });\n }\n } else if (tipoDeServicio == 'FIJA_MOVIL') {\n if(tipoDeSolicitud == 'Celda'){\n return this.informacionInvestigarOptions.filter(item => {\n return (\n item.valorSolicitud === 'CDR saliente voz MOVIL' ||\n item.valorSolicitud === 'CDR entrante voz MOVIL' ||\n item.valorSolicitud === 'CDR saliente voz FIJA' ||\n item.valorSolicitud === 'CDR entrante voz FIJA' ||\n item.valorSolicitud === 'CDR entrante sms' ||\n item.valorSolicitud === 'CDR saliente sms' ||\n item.valorSolicitud === 'CDR datos'\n );\n });\n }\n else{ \n return this.informacionInvestigarOptions.filter(item => {\n return (\n item.valorSolicitud === 'CDR saliente voz MOVIL' ||\n item.valorSolicitud === 'CDR entrante voz MOVIL' ||\n item.valorSolicitud === 'CDR saliente voz FIJA' ||\n item.valorSolicitud === 'CDR entrante voz FIJA' ||\n item.valorSolicitud === 'CDR entrante sms' ||\n item.valorSolicitud === 'CDR saliente sms' ||\n item.valorSolicitud === 'CDR datos' ||\n item.valorSolicitud === 'Datos Biograficos' ||\n item.valorSolicitud === 'Actividad IMEI' ||\n item.valorSolicitud === 'Reporte de hurto' ||\n item.valorSolicitud === 'Redes Sociales' ||\n item.valorSolicitud === 'Camaras' ||\n item.valorSolicitud === 'Restablecimiento de derecho' ||\n item.valorSolicitud === 'Contratos Ventas' ||\n item.valorSolicitud === 'Informacion de asesores' ||\n item.valorSolicitud === 'Solicitud IP Móvil' ||\n item.valorSolicitud === 'Solicitud IP Fija' ||\n item.valorSolicitud === 'Interceptacion Fija' ||\n item.valorSolicitud === 'Informacion de empleados' ||\n item.valorSolicitud === 'Grabaciones de voz' ||\n item.valorSolicitud === 'SPOA' \n );\n });\n }\n }\n else if (tipoDeServicio == 'MOVIL') {\n if(tipoDeSolicitud == 'Celda'){\n return this.informacionInvestigarOptions.filter(item => {\n return (\n item.valorSolicitud === 'CDR saliente voz MOVIL' ||\n item.valorSolicitud === 'CDR entrante voz MOVIL' ||\n item.valorSolicitud === 'CDR entrante sms' ||\n item.valorSolicitud === 'CDR saliente sms' ||\n item.valorSolicitud === 'CDR datos'\n );\n });\n }\n else{\n return this.informacionInvestigarOptions.filter(item => {\n return (\n item.valorSolicitud === 'CDR saliente voz MOVIL' ||\n item.valorSolicitud === 'CDR entrante voz MOVIL' ||\n item.valorSolicitud === 'CDR entrante sms' ||\n item.valorSolicitud === 'CDR saliente sms' ||\n item.valorSolicitud === 'CDR datos' ||\n item.valorSolicitud === 'Datos Biograficos' ||\n item.valorSolicitud === 'Actividad IMSI' ||\n item.valorSolicitud === 'Actividad IMEI' ||\n item.valorSolicitud === 'Reporte de hurto' ||\n item.valorSolicitud === 'Redes Sociales' ||\n item.valorSolicitud === 'Camaras' ||\n item.valorSolicitud === 'Restablecimiento de derecho' ||\n item.valorSolicitud === 'Contratos Ventas' ||\n item.valorSolicitud === 'Informacion de asesores' ||\n item.valorSolicitud === 'Solicitud IP Móvil' ||\n item.valorSolicitud === 'Informacion de empleados' ||\n item.valorSolicitud === 'Grabaciones de voz' ||\n item.valorSolicitud === 'SPOA' ||\n item.valorSolicitud === 'Ultima ubicacion'\n );\n });\n }\n \n }\n \n return this.informacionInvestigarOptions;\n }\n calcularDiferenciaEnDias(fecha1: any, fecha2:any) {\n const unDiaEnMilisegundos = 1000 * 60 * 60 * 12;\n // const milisegundosFecha1 = new Date(fecha1.toString()).getTime();\n const milisegundosFecha1 = new Date(new Date().toString()).getTime();\n const milisegundosFecha2 = new Date(fecha2.toString()).getTime();\n const diferenciaEnMilisegundos = Math.abs(milisegundosFecha2 - milisegundosFecha1);\n const diasDiferencia = Math.floor(diferenciaEnMilisegundos / unDiaEnMilisegundos);\n return diasDiferencia;\n }\n}","
\n
\n \n \n
\n
\n\n\n
\n

IMPORTANTE: La información de datos biográficos es necesaria para algunas consultas, por lo tanto le recomendamos no Eliminar esta tipología.

\n
\n

\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n\n
ID SOLICITUDTIPO DE SOLICITUDVALOR A INVESTIGARTIPO DE SERVICIOINFORMACION A INVESTIGARFECHA INICIOFECHA FINACCIONES
{{ i + 1 }}\n {{solicitud.get('t_solicitud')?.value}}\n \n\n \n {{solicitud.get('v_investigar')?.value}}\n \n \n {{solicitud.get('id_tipo_servicio')?.value}}\n \n \n {{solicitud.get('infoInvestigar')?.value}}\n \n \n {{formatAmPm(solicitud.get('initDate')?.value)}}\n \n Este campo es requerido.\n \n {{formatAmPm(solicitud.get('endDate')?.value)}}\n \n Este campo es requerido.\n \n \n \n \n \n \n
\n
\n
\n
\n Formulario enviado correctamente\n
\n
\n *Registros actualizados correctamente*.\n
\n
","import { Component, OnInit } from '@angular/core';\nimport {\n FormArray,\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport swal from 'sweetalert2';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\nimport { Router } from '@angular/router';\nimport { RadicacionService } from 'src/app/components/service/radicacion.service';\nimport { AlertService } from '../notificaciones/alert.service';\n\n@Component({\n selector: 'app-estado-solicitud',\n templateUrl: './estado-solicitud.component.html',\n styleUrls: ['./estado-solicitud.component.scss']\n})\nexport class EstadoSolicitudComponent {\n filas: any[] = [];\n formgestion!: FormGroup;\n \n constructor(private forminicial: FormBuilder, private session: SessionService, private router: Router,private radicacionService:RadicacionService, private alertService: AlertService) {\n this.formgestion = forminicial.group({\n num_solicitud: ['', Validators.required],\n })\n }\n\n async onSubmit() {\n try {\n let radicado = this.formgestion.get('num_solicitud')?.value;\n const obj = await this.radicacionService.GetRadicacionConsulta(radicado).toPromise();\n const filasRespuesta = JSON.parse(obj.resp); \n this.filas = [];\n this.filas.push(filasRespuesta);\n console.log(this.filas);\n\n if(obj == \"\"){\n this.alertService.closeAlert();\n this.alertService.mostrarNotificacion('No se encuentra informacion', 'info', 5000);\n }\n } catch (error) {\n this.alertService.closeAlert();\n this.alertService.mostrarNotificacion('No se encuentra informacion', 'error', 5000);\n console.error('Ocurrió un error', error);\n }\n }\n \n getFormatDate(fecha: string): string {\n const fechaCompleta = new Date(fecha);\n const anio = fechaCompleta.getFullYear();\n const mes = String(fechaCompleta.getMonth() + 1).padStart(2, '0');\n const dia = String(fechaCompleta.getDate()).padStart(2, '0');\n const fechaFormateada = `${anio}-${mes}-${dia}`;\n return fechaFormateada;\n }\n\n getTextoEspecifico(estado: string): string | undefined {\n const estados: { [key: string]: string } = {\n 'CALIDAD INICIAL': 'El radicado se encuentra en validación, si cumple con todos los requisitos legales vigentes, su solicitud será PROCESADA y se le enviará la respuesta a través del correo electrónico registrado, si NO cumple con todos los requisitos legales vigentes su solicitud será RECHAZADA.',\n 'RADICADO': 'Su solicitud fue APROBADA y prontó será procesada.',\n 'PENDIENTE': 'Su solicitud está siendo gestionada. Para el caso de más de tres (3) consultas simultáneas se tomará un tiempo mayor para la consecución de la información y se considerarán como casos difíciles.',\n 'CALIDAD': 'Su solicitud se encuentra en proceso de calidad, pronto recibirá la respuesta al correo electrónico registrado.',\n 'TERMINADO': 'Su solicitud ya fue resuelta, se le envío la respuesta al correo electrónico registrado.',\n 'RECHAZADO': 'Su solicitud fue rechazada, se le envío el motivo de rechazo al correo electrónico registrado.'\n };\n \n return estados[estado.toUpperCase()];\n }\n\n ngOnInit(): void {\n \n }\n\n}\n","
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SolicitudEstadoEntidadNombre FuncionarioCorreoFecha-Solicitud
\n {{ fila.Radicado }}\n \n {{ fila.EstadoRadicacion }}\n \n \n {{ fila.OtraEntidad }}\n \n \n {{ fila.Entidad }}\n \n \n {{ fila.NombreInvestigador }}\n \n {{ fila.ValorMetodoRespuesta }}\n \n {{ fila.FechaSistema }}\n
\n
\n
\n
\n {{getTextoEspecifico(filas[0].EstadoRadicacion)}}\n
\n
\n
\n
","// alert.service.ts\nimport { Injectable } from '@angular/core';\nimport Swal, { SweetAlertOptions, SweetAlertResult } from 'sweetalert2';\nimport { ClipboardService } from 'ngx-clipboard';\nimport { Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertService {\n private loadingSwalDisplayed = false;\n close: any;\n\n constructor(private clipboardService: ClipboardService, private router: Router) { }\n\n showSuccessAlert(message: string) {\n Swal.fire({\n title: '¡Éxito!',\n text: message,\n icon: 'success',\n confirmButtonText: 'Aceptar',\n customClass: {\n container: 'swal-custom-container',\n popup: 'swal-custom-popup',\n title: 'swal-custom-title',\n htmlContainer: 'swal-custom-html-container',\n confirmButton: 'swal-custom-confirm-button swal-custom-confirm-button-success',\n }\n });\n }\n\n showSuccessAlertarchivos(message: string) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Archivo Cargado',\n showConfirmButton: false,\n timer: 1500\n })\n }\n\n showSuccessAlertWithJgdCode(jgdCode: string) {\n Swal.fire({\n title: '¡Éxito!',\n html: `\n
\n

Por favor revisar su correo electrónico.
Tu código de radicado es:

\n

${jgdCode}

\n
\n \n
\n
\n \n `,\n showConfirmButton: false,\n customClass: {\n container: 'swal-custom-container',\n popup: 'swal-custom-popup',\n title: 'swal-custom-title',\n htmlContainer: 'swal-custom-html-container'\n },\n willOpen: () => {\n const popup = Swal.getPopup();\n if (popup) {\n const copyButton = popup.querySelector('#swal-button-copy') as HTMLButtonElement;\n const redirectButton = popup.querySelector('#swal-button-redirect') as HTMLButtonElement;\n const jgdInput = popup.querySelector('#swal-input-jgd') as HTMLInputElement;\n\n if (copyButton && jgdInput) {\n copyButton.addEventListener('click', () => {\n navigator.clipboard.writeText(jgdInput.value);\n });\n }\n\n if (redirectButton) {\n redirectButton.addEventListener('click', () => {\n Swal.close();\n location.reload();\n this.router.navigate(['/']);\n });\n }\n }\n }\n });\n }\n\n showErrorAlert(message: string) {\n Swal.fire({\n title: 'Error',\n text: message,\n icon: 'error',\n confirmButtonText: 'Aceptar',\n customClass: {\n container: 'swal-custom-container',\n popup: 'swal-custom-popup',\n title: 'swal-custom-title',\n htmlContainer: 'swal-custom-html-container',\n confirmButton: 'swal-custom-confirm-button swal-custom-confirm-button-error'\n }\n });\n }\n\n showWarningAlert(message: string) {\n Swal.fire({\n title: 'Advertencia',\n text: message,\n icon: 'warning',\n confirmButtonText: 'Aceptar',\n customClass: {\n container: 'swal-custom-container',\n popup: 'swal-custom-popup',\n title: 'swal-custom-title',\n htmlContainer: 'swal-custom-html-container',\n confirmButton: 'swal-custom-confirm-button swal-custom-confirm-button-warning'\n }\n });\n }\n\n mostrarNotificacion(mensaje: string, tipo: 'success' | 'error' | 'warning' | 'info', duracion: number = 3000): void {\n Swal.fire({\n title: mensaje,\n icon: tipo,\n timer: duracion,\n customClass: {\n container: 'swal-custom-container',\n popup: 'swal-custom-popup',\n title: 'swal-custom-title',\n htmlContainer: 'swal-custom-html-container',\n confirmButton: 'swal-custom-confirm-button'\n },\n showConfirmButton: false,\n timerProgressBar: true,\n toast: true,\n position: 'top-end',\n });\n }\n\n showInfoAlert(message: string) {\n Swal.fire({\n title: 'Información',\n text: message,\n icon: 'info',\n confirmButtonText: 'Aceptar',\n customClass: {\n container: 'swal-custom-container',\n popup: 'swal-custom-popup',\n title: 'swal-custom-title',\n htmlContainer: 'swal-custom-html-container',\n confirmButton: 'swal-custom-confirm-button swal-custom-confirm-button-info'\n }\n });\n }\n\n showInputAlert(title: string, text: string, inputPlaceholder: string): Promise {\n return Swal.fire({\n title: title,\n text: text,\n input: 'text',\n inputPlaceholder: inputPlaceholder,\n confirmButtonText: 'Aceptar',\n customClass: {\n container: 'swal-custom-container',\n popup: 'swal-custom-popup',\n title: 'swal-custom-title',\n htmlContainer: 'swal-custom-html-container',\n confirmButton: 'swal-custom-confirm-button swal-custom-confirm-button-success'\n }\n });\n }\n\n showLoadingAlert(message: string) {\n const options: SweetAlertOptions = {\n title: message,\n allowOutsideClick: false,\n showConfirmButton: false,\n didOpen: () => {\n Swal.showLoading();\n },\n };\n\n Swal.fire(options);\n this.loadingSwalDisplayed = true;\n }\n\n closeAlert() {\n if (this.loadingSwalDisplayed) {\n Swal.close();\n this.loadingSwalDisplayed = false;\n }\n }\n\n}\n","
\n \n \n {{ mensaje }}\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { NotificacionesService } from './notificaciones.service'; // Arregla la ruta de importación\n\n@Component({\n selector: 'app-notificaciones',\n templateUrl: './notificaciones.component.html',\n styleUrls: ['./notificaciones.component.scss']\n})\nexport class NotificacionesComponent implements OnInit {\n mensaje: string = '';\n tipo: 'error' | 'success' | 'warning' = 'success';\n visible: boolean = false;\n\n constructor(private notificacionesService: NotificacionesService) { }\n\n ngOnInit(): void {\n this.notificacionesService.notificacion$.subscribe((notificacion: { mensaje: string, tipo: 'error' | 'success' | 'warning', duracion: number }) => { // Añade el tipo explícitamente\n this.mensaje = notificacion.mensaje;\n this.tipo = notificacion.tipo;\n this.visible = true;\n\n setTimeout(() => {\n this.visible = false;\n }, notificacion.duracion);\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotificacionesService {\n notificacion$ = new Subject<{ mensaje: string, tipo: 'error' | 'success' | 'warning', duracion: number }>();\n\n constructor() { }\n\n mostrarNotificacion(mensaje: string, tipo: 'error' | 'success' | 'warning' = 'success', duracion: number = 3000): void {\n this.notificacion$.next({ mensaje, tipo, duracion });\n }\n}\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport flatpickr from \"flatpickr\";\n\nimport {\n AbstractControl,\n FormArray,\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { PasoInfocomponentesService } from 'src/app/components/service/paso-infocomponentes.service';\nimport { RadicacionSolicitudService } from 'src/app/components/service/radicacion-solicitud.service';\nimport { AlertService } from '../notificaciones/alert.service';\nimport { FlatpickrDefaultsInterface } from 'angularx-flatpickr';\n@Component({\n selector: 'app-radicacion-solicitud',\n templateUrl: './radicacion-solicitud.component.html',\n styleUrls: ['./radicacion-solicitud.component.scss'],\n})\nexport class RadicacionSolicitudComponent {\n equipmentForm!: FormGroup;\n Forminterno!: FormGroup;\n radioStatus: boolean | undefined;\n radioStatusI: boolean = false;\n evento: boolean | undefined;\n validaeliminar = false;\n isCheckboxDisabled: boolean = true;\n isChecked: boolean | undefined;\n addingNewForm = false;\n estado: boolean = false;\n minimizados: boolean[] = [];\n public listaoperaciones!: any[];\n public listacriterios!: any[];\n lenghtMaximo: number | undefined = 0;\n CDRClick : boolean = false;\n optionsInitDate: FlatpickrDefaultsInterface = {\n enableTime: true,\n dateFormat: 'Y-m-d H:i:S',\n time24hr: true,\n defaultHour: 0,\n defaultMinute: 0, \n enableSeconds: true,\n};\n\noptionsEndDate: FlatpickrDefaultsInterface = {\n enableTime: true,\n dateFormat: 'Y-m-d H:i:S',\n time24hr: true,\n defaultHour: 0,\n defaultMinute: 0, \n enableSeconds: true,\n \n};\n \n\n\n showModal: boolean = false;\n dataTextModal = 'Está seguro de crear la bolsa?';\n identifications: string[] = [];\n datosFormulario: any;\n loaded: boolean = false;\n\n constructor(\n private formBuilder: FormBuilder,\n private _datosradicacion: RadicacionSolicitudService,\n private pasoInfocomponentesService: PasoInfocomponentesService,\n private router: Router,\n private alertService: AlertService,\n private cdr: ChangeDetectorRef\n ) {\n this.buildForm();\n\n } \n\n// Obtiene solo los campos requeridos\ngetRequiredFields(): string[] {\n const requiredFields: string[] = [];\n\n return requiredFields;\n}\n\n\n ngOnInit(): void {\n this.loaded = false;\n this.listascriterios();\n this.listasoperaciones();\n this.datosFormulario = this.pasoInfocomponentesService.obtenerDatosFormulario('RadicaciondatosgeneralesComponent');\n console.log(this.datosFormulario);\n\n let savedForm = this.pasoInfocomponentesService.obtenerDatosFormulario('RadicacionSolicitudComponent');\n console.log('Loaded form data:', savedForm);\n if (savedForm) {\n const internoForm = this.equipmentForm.get('internoForm') as FormArray;\n internoForm.clear();\n \n savedForm.forEach((savedGroup: any, index: number) => {\n const newGroup = this.formBuilder.group(savedGroup);\n newGroup.get('isChecked1')?.disable({ onlySelf: true, emitEvent: true });\n newGroup.get('isChecked4')?.disable({ onlySelf: true, emitEvent: true });\n newGroup.get('isChecked7')?.disable({ onlySelf: true, emitEvent: true });\n internoForm.push(newGroup);\n this.onLoadBack(index)\n this.onLoadDatosBiograficos(index);\n \n });\n }\n this.loaded = true;\n this.validabotoneliminar();\n }\n\n listascriterios() {\n this._datosradicacion.getreqjud_Criterios().subscribe(res => {\n console.log(res);\n this.listacriterios = res;\n });\n }\n\n listasoperaciones() {\n this._datosradicacion.getreqjud_operaciones().subscribe(res => {\n console.log(res);\n this.listaoperaciones = res\n })\n }\n\n private buildForm() {\n this.equipmentForm = this.formBuilder.group({\n internoForm: this.formBuilder.array([\n new FormGroup({\n id_tipo_servicio: new FormControl(''),\n nombre_cliente: new FormControl(''),\n initDate: new FormControl(''),\n endDate: new FormControl(''),\n v_investigar: new FormControl(''),\n t_solicitud: new FormControl(''),\n medicineCabinetOption: new FormControl({\n value: false,\n disabled: false,\n }),\n isChecked1: new FormControl({ value: false, disabled: true }),\n isChecked2: new FormControl({ value: false, disabled: false }),\n isChecked3: new FormControl({ value: false, disabled: false }),\n isChecked4: new FormControl({ value: false, disabled: true }),\n isChecked5: new FormControl({ value: false, disabled: false }),\n isChecked6: new FormControl({ value: false, disabled: false }),\n isChecked7: new FormControl({ value: false, disabled: true }),\n isChecked8: new FormControl({ value: false, disabled: false }),\n isChecked9: new FormControl({ value: false, disabled: false }),\n isChecked10: new FormControl({ value: false, disabled: false }),\n isChecked11: new FormControl({ value: false, disabled: false }),\n isChecked12: new FormControl({ value: false, disabled: false }),\n isChecked13: new FormControl({ value: false, disabled: false }),\n isChecked14: new FormControl({ value: false, disabled: false }),\n isChecked15: new FormControl({ value: false, disabled: false }),\n isChecked16: new FormControl({ value: false, disabled: false }),\n isChecked17: new FormControl({ value: false, disabled: false }),\n isChecked18: new FormControl({ value: false, disabled: false }),\n isChecked19: new FormControl({ value: false, disabled: false }),\n isChecked20: new FormControl({ value: false, disabled: false }),\n isChecked21: new FormControl({ value: false, disabled: false }),\n isChecked22: new FormControl({ value: false, disabled: false }),\n isChecked23: new FormControl({ value: false, disabled: false }),\n isChecked24: new FormControl({ value: false, disabled: false }),\n isChecked25: new FormControl({ value: false, disabled: false }),\n isChecked26: new FormControl({ value: false, disabled: false })\n }, { validators: this.checkSelectedValidator.bind(this) }),\n ]),\n \n });\n\n \n }\n\n checkSelectedValidator(control: AbstractControl) {\n const controls = (control as FormGroup).controls;\n const isCheckedSelected = Object.values(controls).some((control: AbstractControl) => control.value === true);\n return isCheckedSelected ? null : { noCheckSelected: true };\n }\n\n isValid(){\n console.log(\"internooo\",this.internoForm)\n for (const key in this.internoForm.controls) {\n\n console.log(this.internoForm.get(key)?.valid)\n var yyy = this.internoForm.get(key) as FormArray;\n for (const key_1 in yyy.controls as []) {\n var lenghtbool;\n if (key_1 == 'v_investigar'){\n lenghtbool = this.isValidLenght(Number(key))\n }\n if (key_1 == 'endDate'){\n if (this.isValidDate(Number(key))){\n this.alertService.mostrarNotificacion('No se pueden guardar los cambios. La fecha final no puede ser una fecha futura', 'warning', 3000);\n return false;\n }\n }\n\n if (lenghtbool) {\n this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Faltan carácteres en el valor de solicitud', 'warning', 3000);\n return false;\n }\n\n if (!Object.values(yyy.controls).some(x => x.value == true)) {\n this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Debe seleccionar por lo menos una opción', 'warning', 3000);\n return false;\n }\n\n if (yyy.controls[key_1].errors) {\n this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Hay campos obligatorios sin llenar', 'warning', 3000);\n return false;\n }\n\n }\n }\n return true;\n }\n isValidDate(index: number) {\n const endDateValue = this.internoForm.at(index).get('endDate')?.value;\n if (!endDateValue) {\n return false; // Si endDateValue es nulo o vacío, la fecha no es válida\n }\n \n // Obtén la fecha actual en GMT-5\n const currentDateGMTMinus5 = new Date();\n currentDateGMTMinus5.setHours(currentDateGMTMinus5.getHours());\n \n // Convierte la fecha ingresada en endDateValue a un objeto Date\n const endDate = new Date(endDateValue);\n \n // Compara las fechas\n if (endDate < currentDateGMTMinus5) {\n return false; // endDate es anterior a la fecha actual en GMT-5\n }\n \n return true; // endDate es posterior o igual a la fecha actual en GMT-5\n }\n isValidLenght(index: number){\n const lenghtMax = this.GetMaxLenght(index)\n if (lenghtMax == 0){\n return false;\n }\n //solución al tema de los espacios\n var valores = this.internoForm.at(index).get('v_investigar')?.value.trim().split('|');\n return valores.some( (valor: any) => valor.length != lenghtMax);\n }\n\n onChange(index: number) {\n \n const interno = this.internoForm.at(index);\n //interno.get('endDate')?.setValue('');\n interno.get('isChecked1')?.disable({ onlySelf: true, emitEvent: true });\n if (interno.get('isChecked2')?.value||interno.get('isChecked3')?.value) {\n // interno.get('isChecked1')?.enable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked1')?.setValue(true);\n } else {\n // interno.get('isChecked1')?.disable({ onlySelf: true, emitEvent: false });\n interno.get('isChecked1')?.setValue(false);\n }\n this.onChangeCDRsImei(index);\n }\n\n onChangeuno(index: number) {\n \n const interno = this.internoForm.at(index);\n //interno.get('endDate')?.setValue('');\n interno.get('isChecked4')?.disable({ onlySelf: true, emitEvent: true });\n if (interno.get('isChecked5')?.value||interno.get('isChecked6')?.value) {\n //interno.get('isChecked4')?.enable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked4')?.setValue(true);\n } else {\n //interno.get('isChecked4')?.disable({ onlySelf: true, emitEvent: false });\n interno.get('isChecked4')?.setValue(false);\n }\n this.onChangeCDRsImei(index);\n this.onChangeLinea(index);\n }\n\n onChangedos(index: number) {\n \n const interno = this.internoForm.at(index);\n //interno.get('endDate')?.setValue('');\n interno.get('isChecked7')?.disable({ onlySelf: false, emitEvent: true });\n if (interno.get('isChecked8')?.value||interno.get('isChecked9')?.value) {\n //interno.get('isChecked7')?.enable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked7')?.setValue(true);\n } else {\n //interno.get('isChecked7')?.disable({ onlySelf: true, emitEvent: false });\n interno.get('isChecked7')?.setValue(false);\n }\n this.onChangeCDRsImei(index);\n this.onChangeLinea(index);\n }\n\n selectCheckbox10(index: number) {\n const interno = this.internoForm.at(index);\n var x = interno.get('isChecked13')?.value;\n var y = interno.get('isChecked12')?.value; \n \n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n if (tipoDeSolicitud != 'Linea'){ \n if(interno.get('isChecked12')?.value || interno.get('isChecked14')?.value){\n interno.get('isChecked11')?.setValue(true);\n interno.get('isChecked11')?.disable({ onlySelf: true, emitEvent: true });\n }else if (interno.get('t_solicitud')?.value == 'Linea' || interno.get('t_solicitud')?.value == 'Celda'){\n interno.get('isChecked11')?.enable();\n }\n }\n this.onChangeCDRsImei(index);\n this.onChangeLinea(index);\n }\n\n selectCheckbox17(index: number) {\n const interno = this.internoForm.at(index);\n var restablecimiento = interno.get('isChecked17')?.value;\n if (restablecimiento){\n var contratos = interno.get('isChecked26');\n contratos?.enable()\n }else{\n var contratos = interno.get('isChecked26');\n contratos?.disable()\n contratos?.setValue(false);\n }\n }\n\n onLoadDatosBiograficos(index: number) {\n const interno = this.internoForm.at(index);\n var datos = interno.get('isChecked23');\n if (datos?.value){\n this.DisableEnableAllValues(index, false);\n datos.enable();\n }\n }\n\n selectCheckbox13(index: number) {\n const interno = this.internoForm.at(index);\n var x = interno.get('isChecked13')?.value;\n var y = interno.get('isChecked12')?.value; \n \n\n if(interno.get('isChecked12')?.value || interno.get('isChecked14')?.value){\n interno.get('isChecked11')?.setValue(true);\n interno.get('isChecked11')?.disable({ onlySelf: true, emitEvent: true });\n }else if (interno.get('t_solicitud')?.value == 'Linea' || interno.get('t_solicitud')?.value == 'Celda'){\n interno.get('isChecked11')?.enable();\n }\n this.onChangeCDRsImei(index);\n this.onChangeLinea(index);\n }\n\n GetMaxLenght(index: number){\n const interno = this.internoForm.at(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n switch (tipoDeSolicitud) {\n case 'Linea':\n if(tipoDeServicio == 'FIJA'){\n return 8;\n\n }\n if(tipoDeServicio == 'MOVIL'){\n return 10;\n\n }\n return;\n case 'Imei':\n return 15;\n case 'Icc':\n return 19;\n default:\n return 0;\n }\n }\n\n DisableEnableAllValues(index: number, value: boolean){\n const interno = this.internoForm.at(index);\n\n for (let i = 1; i <= 26; i++) {\n const controlName = `isChecked${i}`;\n if(value){\n interno.get(controlName)?.enable();\n }else{\n interno.get(controlName)?.disable();\n }\n interno.get('isChecked1')?.disable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked4')?.disable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked7')?.disable({ onlySelf: true, emitEvent: true });\n}\n\n }\n\n TrueFalseAllValues(index: number, value: boolean){\n const interno = this.internoForm.at(index);\n\n for (let i = 1; i <= 25; i++) {\n const controlName = `isChecked${i}`;\n interno.get(controlName)?.setValue(value);\n }\n}\n\nTrueFalseAllValuesOnLoad(index: number, value: boolean){\n const interno = this.internoForm.at(index);\n\n for (let i = 1; i <= 25; i++) {\n const controlName = `isChecked${i}`;\n if (!interno.get(controlName)?.value){\n interno.get(controlName)?.setValue(value);\n }\n}\n //interno.get('isChecked11')?.setValue(false);\n}\n\n\n\n onChangeUltimaUbicacion(index: number){\n const interno = this.internoForm.at(index);\n const value = interno.get('isChecked23')?.value;\n this.DisableEnableAllValues(index, !value)\n if (value){\n this.TrueFalseAllValues(index, !value) \n }else{\n this.onInput(index);\n }\n interno.get('isChecked23')?.enable();\n interno.get('isChecked23')?.setValue(value);\n }\n\n onInputValor(index: number){\n const interno = this.internoForm.at(index);\n this.lenghtMaximo = this.GetMaxLenght(index);\n const tipos = \"LINEA|CC|TI|IMEI|ICC|IMSI|LINEA LDI\"; // Valores para comparar\n const tipo = interno.get('t_solicitud')?.value;\n\n if (this.lenghtMaximo == undefined) { this.lenghtMaximo = 0 }\n if (tipo == \"Direccion_del_punto\") {\n var text = interno.get('v_investigar')?.value.split('|');\n }else {\n var text = interno.get('v_investigar')?.value.replaceAll(\" \", \"\").split('|');\n } \n var newText = []\n for (var element in text) {\n if (tipo && tipos.includes(tipo.toUpperCase())) {\n text[element] = text[element].replace(/[^0-9]/g, ''); \n }\n if (this.lenghtMaximo != 0 && text[element].length > this.lenghtMaximo){\n newText.push(text[element].substring(0, this.lenghtMaximo));\n }else{\n newText.push(text[element]);\n }\n \n \n let result = newText.join(\"|\");\n interno.get('v_investigar')?.setValue(result);\n console.log(result);\n } \n }\n\n onChangeCDRsImei(index: number){\n const interno = this.internoForm.at(index);\n \n \n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n if (tipoDeSolicitud != 'Imei'){ return; }\n const isChecked1 = interno.get('isChecked1');\n const isChecked7 = interno.get('isChecked7');\n const isChecked10 = interno.get('isChecked10');\n \n if (isChecked1?.value || isChecked7?.value || isChecked10?.value || interno.get('isChecked12')?.value || interno.get('isChecked14')?.value){\n interno.get('isChecked11')?.setValue(true);\n console.log(\"fecha\",interno.get('endDate')?.value )\n interno.get('isChecked11')?.disable({ onlySelf: true, emitEvent: true });\n }else{\n //interno.get('isChecked11')?.setValue(false);\n interno.get('isChecked11')?.enable();\n if((this.calcularDiferenciaEnDias(\"\", interno.get('endDate')?.value) < 2)){\n interno.get('endDate')?.setValue('');\n }\n }\n \n }\n\n\n onChangeLinea(index: number){\n const interno = this.internoForm.at(index);\n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n if (tipoDeSolicitud != 'Linea'){ return; }\n\n if (interno.get('isChecked13')?.value || interno.get('isChecked14')?.value){\n interno.get('isChecked11')?.setValue(true);\n interno.get('isChecked11')?.disable({ onlySelf: true, emitEvent: true });\n }else{\n //interno.get('isChecked11')?.setValue(false);\n interno.get('isChecked11')?.enable();\n }\n }\n\n onInput(index: number) {\n this.DisableEnableAllValues(index, true);\n this.TrueFalseAllValues(index, false);\n const interno = this.internoForm.at(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n this.lenghtMaximo = 0;\n var contratos = interno.get('isChecked26');\n contratos?.disable()\n contratos?.setValue(false);\n interno.get('isChecked17')?.setValue(false);\n interno.get('isChecked17')?.disable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked16')?.setValue(false);\n interno.get('isChecked16')?.disable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked11')?.setValue(true);\n interno.get('isChecked11')?.disable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked23')?.disable();\n interno.get('isChecked23')?.setValue(false);\n \n const isChecked1 = interno.get('isChecked1');\n const isChecked7 = interno.get('isChecked7');\n const isChecked10 = interno.get('isChecked10');\n this.onChangeTipoDeServicio(index);\n switch (tipoDeSolicitud) {\n case 'Linea':\n interno.get('isChecked11')?.setValue(false);\n interno.get('isChecked11')?.enable();\n if(tipoDeServicio == 'FIJA'){\n this.lenghtMaximo = 8;\n break;\n }\n if(tipoDeServicio == 'MOVIL'){\n this.lenghtMaximo = 10;\n interno.get('isChecked23')?.enable();\n break;\n }\n break;\n case 'Imei':\n this.lenghtMaximo = 15;\n interno.get('isChecked11')?.setValue(false);\n interno.get('isChecked11')?.enable();\n break;\n case 'Icc':\n this.lenghtMaximo = 19;\n break;\n case 'Celda':\n this.DisableEnableAllValues(index, false);\n const isChecked2 = interno.get('isChecked2');\n const isChecked3 = interno.get('isChecked3');\n const isChecked8 = interno.get('isChecked8');\n const isChecked9 = interno.get('isChecked9');\n \n isChecked2?.enable();\n isChecked3?.enable();\n //isChecked7?.enable();\n isChecked8?.enable();\n isChecked9?.enable();\n isChecked10?.enable();\n break;\n case 'CC':\n interno.get('isChecked17')?.enable();\n break;\n case 'Direccion_del_punto':\n this.onSelectDireccionPunto(index);\n break;\n case 'CE':\n interno.get('isChecked17')?.enable();\n break;\n case 'TARJETA DE IDENTIDAD':\n interno.get('isChecked17')?.enable();\n break;\n default:\n break;\n \n }\n }\n\n onLoadBack(index: number) {\n const interno = this.internoForm.at(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n this.lenghtMaximo = 0;\n //interno.get('isChecked17')?.setValue(false);\n interno.get('isChecked17')?.disable({ onlySelf: true, emitEvent: true });\n var contratos = interno.get('isChecked26')?.disable();\n //interno.get('isChecked16')?.setValue(false);\n interno.get('isChecked16')?.disable({ onlySelf: true, emitEvent: true });\n //interno.get('isChecked11')?.setValue(true);\n interno.get('isChecked11')?.disable({ onlySelf: true, emitEvent: true });\n interno.get('isChecked23')?.disable();\n //interno.get('isChecked23')?.setValue(false);\n \n const isChecked1 = interno.get('isChecked1');\n const isChecked7 = interno.get('isChecked7');\n const isChecked10 = interno.get('isChecked10');\n this.onChangeTipoDeServicio(index);\n this.selectCheckbox17(index);\n\n switch (tipoDeSolicitud) {\n case 'Linea':\n //interno.get('isChecked11')?.setValue(false);\n interno.get('isChecked11')?.enable();\n if(tipoDeServicio == 'FIJA'){\n this.lenghtMaximo = 8;\n break;\n }\n if(tipoDeServicio == 'MOVIL'){\n this.lenghtMaximo = 10;\n interno.get('isChecked23')?.enable();\n break;\n }\n break;\n case 'Imei':\n this.lenghtMaximo = 15;\n //interno.get('isChecked11')?.setValue(false);\n interno.get('isChecked11')?.enable();\n break;\n case 'Icc':\n this.lenghtMaximo = 19;\n break;\n case 'Celda':\n this.DisableEnableAllValues(index, false);\n const isChecked2 = interno.get('isChecked2');\n const isChecked3 = interno.get('isChecked3');\n const isChecked8 = interno.get('isChecked8');\n const isChecked9 = interno.get('isChecked9');\n \n isChecked2?.enable();\n isChecked3?.enable();\n //isChecked7?.enable();\n isChecked8?.enable();\n isChecked9?.enable();\n isChecked10?.enable();\n break;\n case 'CC':\n interno.get('isChecked17')?.enable();\n break;\n case 'Direccion_del_punto':\n //this.onSelectDireccionPunto(index);\n break;\n case 'CE':\n interno.get('isChecked17')?.enable();\n break;\n case 'TARJETA DE IDENTIDAD':\n interno.get('isChecked17')?.enable();\n break;\n default:\n break;\n \n \n }\n }\n\n onSelectCelda(index: number){\n const interno = this.internoForm.at(index);\n if (interno.get('t_solicitud')?.value != 'Celda') { return; }\n this.DisableEnableAllValues(index, false);\n if (this.loaded){\n this.TrueFalseAllValues(index, false);\n }else{\n this.TrueFalseAllValuesOnLoad(index, false);\n }\n const isChecked2 = interno.get('isChecked2');\n const isChecked3 = interno.get('isChecked3');\n const isChecked8 = interno.get('isChecked8');\n const isChecked9 = interno.get('isChecked9');\n const isChecked10 = interno.get('isChecked10');\n \n\n isChecked2?.enable();\n isChecked3?.enable();\n //isChecked7?.enable();\n isChecked8?.enable();\n isChecked9?.enable();\n isChecked10?.enable();\n }\n\n onSelectDireccionPunto(index: number){\n const interno = this.internoForm.at(index);\n if (interno.get('t_solicitud')?.value != 'Direccion_del_punto') { return; }\n this.DisableEnableAllValues(index, false);\n if (this.loaded){\n this.TrueFalseAllValues(index, false);\n }else{\n this.TrueFalseAllValuesOnLoad(index, false);\n }\n const isChecked16 = interno.get('isChecked16');\n isChecked16?.enable();\n }\n\n onSelectIp(index: number){\n const interno = this.internoForm.at(index);\n if (interno.get('t_solicitud')?.value != 'Ip') { return; }\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n this.DisableEnableAllValues(index, false);\n if (this.loaded){\n this.TrueFalseAllValues(index, false);\n }else{\n this.TrueFalseAllValuesOnLoad(index, false);\n }\n if (tipoDeServicio == 'FIJA'){\n const isChecked25 = interno.get('isChecked25');\n isChecked25?.enable();\n return;\n }\n if (tipoDeServicio == 'MOVIL'){\n const isChecked19 = interno.get('isChecked19');\n isChecked19?.enable(); \n return;\n }\n const isChecked25 = interno.get('isChecked25');\n isChecked25?.enable();\n const isChecked19 = interno.get('isChecked19');\n isChecked19?.enable(); \n \n }\n\n onChangeTipoDeServicio(index: number){\n const interno = this.internoForm.at(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n //const t_solicitud = interno.get('t_solicitud')?.setValue('');\n const t_solicitud = interno.get('t_solicitud');\n \n this.onInputValor(index);\n //this.onInput(index);\n //Movilf\n const isChecked1 = interno.get('isChecked1');\n const isChecked2 = interno.get('isChecked2');\n const isChecked3 = interno.get('isChecked3');\n const isChecked7 = interno.get('isChecked7');\n const isChecked8 = interno.get('isChecked8');\n const isChecked9 = interno.get('isChecked9');\n const isChecked10 = interno.get('isChecked10');\n\n const isChecked12 = interno.get('isChecked12');\n const isChecked13 = interno.get('isChecked13');\n const isChecked14 = interno.get('isChecked14');\n const isChecked15 = interno.get('isChecked15');\n const isChecked19 = interno.get('isChecked19');\n const isChecked22 = interno.get('isChecked22');\n const isChecked23 = interno.get('isChecked23');\n\n //Fija\n const isChecked4 = interno.get('isChecked4');\n const isChecked5 = interno.get('isChecked5');\n const isChecked6 = interno.get('isChecked6');\n \n\n const isChecked25 = interno.get('isChecked25');\n const isChecked21 = interno.get('isChecked21');\n\n if (tipoDeServicio == 'FIJA'){\n isChecked1?.setValue(false);\n isChecked2?.setValue(false);\n isChecked3?.setValue(false);\n isChecked7?.setValue(false);\n isChecked8?.setValue(false);\n isChecked9?.setValue(false);\n isChecked10?.setValue(false);\n isChecked1?.disable();\n isChecked2?.disable();\n isChecked3?.disable();\n isChecked7?.disable();\n isChecked8?.disable();\n isChecked9?.disable();\n isChecked10?.disable();\n isChecked12?.disable();\n isChecked14?.disable();\n isChecked15?.disable();\n isChecked13?.disable();\n isChecked19?.disable();\n isChecked23?.disable();\n isChecked12?.setValue(false);\n isChecked13?.setValue(false);\n isChecked14?.setValue(false);\n isChecked15?.setValue(false);\n isChecked19?.setValue(false);\n isChecked23?.setValue(false);\n\n isChecked22?.disable();\n isChecked22?.setValue(false);\n\n isChecked5?.enable();\n isChecked6?.enable();\n isChecked25?.enable();\n isChecked21?.enable();\n this.onSelectDireccionPunto(index);\n this.onSelectIp(index);\n \n return;\n } \n\n if (tipoDeServicio == 'MOVIL'){\n isChecked4?.setValue(false);\n isChecked5?.setValue(false);\n isChecked6?.setValue(false);\n isChecked25?.setValue(false);\n isChecked21?.setValue(false);\n isChecked4?.disable();\n isChecked25?.disable();\n isChecked21?.disable();\n isChecked5?.disable();\n isChecked6?.disable();\n\n isChecked2?.enable();\n isChecked3?.enable();\n //isChecked7?.enable();\n isChecked8?.enable();\n isChecked9?.enable();\n isChecked10?.enable();\n isChecked12?.enable();\n isChecked13?.enable();\n isChecked14?.enable();\n isChecked15?.enable();\n isChecked19?.enable();\n isChecked22?.enable();\n //isChecked23?.enable();\n this.onSelectCelda(index);\n this.onSelectDireccionPunto(index);\n this.onSelectIp(index);\n const tipoDeSolicitud = interno.get('t_solicitud')?.value\n if (tipoDeSolicitud == 'Linea'){\n isChecked23?.enable();\n }\n return;\n } \n isChecked2?.enable();\n isChecked3?.enable();\n isChecked5?.enable();\n isChecked6?.enable();\n //isChecked7?.enable();\n isChecked8?.enable();\n isChecked9?.enable();\n isChecked10?.enable();\n\n isChecked13?.enable();\n isChecked14?.enable();\n isChecked15?.enable();\n isChecked19?.enable();\n //isChecked23?.enable();\n isChecked25?.enable();\n isChecked21?.enable();\n isChecked22?.enable();\n this.onSelectDireccionPunto(index);\n this.onSelectIp(index);\n\n }\n\n getMaxDateTimeEndDate(index: number): string {\n const interno = this.internoForm.at(index);\n const isChecked1 = interno.get('isChecked1');\n const isChecked4 = interno.get('isChecked4');\n const isChecked7 = interno.get('isChecked7');\n const isChecked10 = interno.get('isChecked10');\n const fechaMaxima = new Date();\n let mesAux = null\n var day = '';\n if (isChecked1?.value || isChecked4?.value || isChecked7?.value || isChecked10?.value){\n if(fechaMaxima.getMonth() == 3 && fechaMaxima.getDate() == 1 ){ // si es marzo el dia minimo el el \n day = this.padZero(29);\n mesAux = this.padZero(3)\n }else if(fechaMaxima.getMonth() == 3 && fechaMaxima.getDate() == 2 ){ // si es marzo el dia minimo el el \n day = this.padZero(30);\n mesAux = this.padZero(3)\n }else{\n\n day = this.padZero(fechaMaxima.getDate() - 2);\n }\n if((this.calcularDiferenciaEnDias(\"\", interno.get('endDate')?.value) < 2)){\n interno.get('endDate')?.setValue('');\n }\n }else{\n day = this.padZero(fechaMaxima.getDate());\n }\n const year = fechaMaxima.getFullYear();\n const month = this.padZero(fechaMaxima.getMonth() + 1);\n const hours = this.padZero(fechaMaxima.getHours());\n const minutes = this.padZero(fechaMaxima.getMinutes());\n let fechaFin = \"\"\n if(mesAux){\n fechaFin = `${year}-${mesAux}-${day} 23:59:59`\n }else{\n fechaFin= `${year}-${month}-${day} 23:59:59`\n }\n // Formatea la fecha máxima como \"YYYY-MM-DD HH:mm\"\n return fechaFin;\n }\n\n getMinDateTimeEndDate(index: number): string {\n const interno = this.internoForm.at(index);\n if (interno.get('initDate')?.value === '') {\n const fechaMinima = new Date(0);\n const year = fechaMinima.getFullYear();\n const month = this.padZero(fechaMinima.getMonth() + 1);\n const day = this.padZero(fechaMinima.getDate());\n const hours = this.padZero(fechaMinima.getHours());\n const minutes = this.padZero(fechaMinima.getMinutes());\n // Formatea la fecha mínima como \"YYYY-MM-DD 00:00\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n const now = new Date(interno.get('initDate')?.value);\n const year = now.getFullYear();\n const month = this.padZero(now.getMonth() + 1);\n const day = this.padZero(now.getDate());\n const hours = this.padZero(now.getHours());\n const minutes = this.padZero(now.getMinutes());\n \n // Formatea la fecha actual como \"YYYY-MM-DD HH:mm\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n getMaxDateTimeInitDate(index: number): string {\n const interno = this.internoForm.at(index);\n var day;\n const fechaMaxima = new Date();\n const isChecked1 = interno.get('isChecked1');\n const isChecked4 = interno.get('isChecked4');\n const isChecked7 = interno.get('isChecked7');\n const isChecked10 = interno.get('isChecked10');\n if (isChecked1?.value || isChecked4?.value || isChecked7?.value || isChecked10?.value){\n day = this.padZero(fechaMaxima.getDate() - 2);\n }else{\n day = this.padZero(fechaMaxima.getDate());\n }\n if (interno.get('endDate')?.value === '') {\n const year = fechaMaxima.getFullYear();\n const month = this.padZero(fechaMaxima.getMonth() + 1);\n const hours = this.padZero(fechaMaxima.getHours());\n const minutes = this.padZero(fechaMaxima.getMinutes());\n // Formatea la fecha máxima como \"YYYY-MM-DD 23:59\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n const now = new Date(interno.get('endDate')?.value);\n const year = now.getFullYear();\n const month = this.padZero(now.getMonth() + 1);\n day = this.padZero(now.getDate() + 1);\n const hours = this.padZero(now.getHours());\n const minutes = this.padZero(now.getMinutes());\n // Formatea la fecha actual como \"YYYY-MM-DD HH:mm\"\n return `${year}-${month}-${day} 23:59:59`;\n }\n \n padZero(value: number): string {\n return value.toString().padStart(2, '0');\n }\n \n\n selectCheckbox8(index: number) {\n const interno = this.internoForm.at(index);\n interno.get('medicineCabinetOption')?.setValue(true);\n }\n\n deleteLesson(lessonIndex: number) {\n this.internoForm.removeAt(lessonIndex);\n this.validabotoneliminar();\n }\n\n get internoForm() {\n return this.equipmentForm.get('internoForm') as FormArray;\n }\n\n validateForms() {\n const forms = this.equipmentForm.get('internoForm') as FormArray;\n forms.markAllAsTouched();\n return forms.pristine;\n }\n\n addInteres() {\n const Forminterno = this.formBuilder.group({\n id_tipo_servicio: ['', Validators.required],\n nombre_cliente: [''],\n initDate: ['', Validators.required],\n endDate: ['', Validators.required],\n v_investigar: ['', Validators.required],\n t_solicitud: ['', Validators.required],\n medicineCabinetOption: [\n { value: false, disabled: false },\n Validators.required,\n ],\n isChecked1: new FormControl({ value: false, disabled: true }),\n isChecked2: new FormControl({ value: false, disabled: false }),\n isChecked3: new FormControl({ value: false, disabled: false }),\n isChecked4: new FormControl({ value: false, disabled: true }),\n isChecked5: new FormControl({ value: false, disabled: false }),\n isChecked6: new FormControl({ value: false, disabled: false }),\n isChecked7: new FormControl({ value: false, disabled: true }),\n isChecked8: new FormControl({ value: false, disabled: false }),\n isChecked9: new FormControl({ value: false, disabled: false }),\n isChecked10: new FormControl({ value: false, disabled: false }),\n isChecked11: new FormControl({ value: false, disabled: false }),\n isChecked12: new FormControl({ value: false, disabled: false }),\n isChecked13: new FormControl({ value: false, disabled: false }),\n isChecked14: new FormControl({ value: false, disabled: false }),\n isChecked15: new FormControl({ value: false, disabled: false }),\n isChecked16: new FormControl({ value: false, disabled: false }),\n isChecked17: new FormControl({ value: false, disabled: false }),\n isChecked18: new FormControl({ value: false, disabled: false }),\n isChecked19: new FormControl({ value: false, disabled: false }),\n isChecked20: new FormControl({ value: false, disabled: false }),\n isChecked21: new FormControl({ value: false, disabled: false }),\n isChecked22: new FormControl({ value: false, disabled: false }),\n isChecked23: new FormControl({ value: false, disabled: false }),\n isChecked24: new FormControl({ value: false, disabled: false }),\n isChecked25: new FormControl({ value: false, disabled: false }),\n isChecked26: new FormControl({ value: false, disabled: false })\n });\n Forminterno.get('isChecked1')?.disable({ onlySelf: true, emitEvent: true });\n Forminterno.get('isChecked4')?.disable({ onlySelf: true, emitEvent: true });\n Forminterno.get('isChecked7')?.disable({ onlySelf: true, emitEvent: true });\n this.internoForm.push(Forminterno);\n\n this.internoForm.updateValueAndValidity();\n this.validabotoneliminar();\n }\n\n validabotoneliminar() {\n \n if (this.internoForm.value.length > 1) {\n this.validaeliminar = true;\n } else {\n this.validaeliminar = false;\n }\n }\n\n minimizarFormulario(index: number) {\n this.minimizados[index] = !this.minimizados[index];\n }\n\n validaChecks(): boolean {\n const Informacion = this.equipmentForm.get('internoForm')?.getRawValue();\n let allFalse = true;\n \n Informacion.forEach((solicitud: any) => {\n for (const key in solicitud) {\n if (key.startsWith('isChecked') && solicitud[key]) {\n allFalse = false;\n break; \n }\n }\n \n if (!allFalse) {\n return;\n }\n });\n \n return allFalse;\n }\n \n\n async pasodatos() {\n const Informacion = this.equipmentForm.get('internoForm')?.getRawValue();\n console.log('Saving form data:', Informacion);\n Informacion.forEach((solicitud: any) => {\n if((solicitud.isChecked1 || solicitud.isChecked2 || solicitud.isChecked3 || solicitud.isChecked4 || solicitud.isChecked5 || solicitud.isChecked6 || solicitud.isChecked7 || solicitud.isChecked8 || solicitud.isChecked9 || solicitud.isChecked10 || solicitud.isChecked11 || solicitud.isChecked13 || solicitud.isChecked12 || solicitud.isChecked14) && solicitud.t_solicitud == \"Imei\" && solicitud.v_investigar.length != 15){\n solicitud.validacionCriterio = '0';\n }\n if((solicitud.isChecked1 || solicitud.isChecked2 || solicitud.isChecked3 || solicitud.isChecked4 || solicitud.isChecked5 || solicitud.isChecked6 || solicitud.isChecked7 || solicitud.isChecked8 || solicitud.isChecked9 || solicitud.isChecked10) && solicitud.t_solicitud == \"Imei\" && solicitud.v_investigar.length != 15){\n solicitud.validacionCriterio = '0';\n }\n if((solicitud.isChecked1 || solicitud.isChecked2 || solicitud.isChecked3 || solicitud.isChecked4 || solicitud.isChecked5 || solicitud.isChecked6 || solicitud.isChecked7 || solicitud.isChecked8 || solicitud.isChecked9 || solicitud.isChecked10 || solicitud.isChecked11 || solicitud.isChecked13 || solicitud.isChecked12 || solicitud.isChecked14) && solicitud.t_solicitud == \"Icc\" && solicitud.v_investigar.length != 19){\n solicitud.validacionCriterio = '0';\n }\n if((solicitud.isChecked1 || solicitud.isChecked2 || solicitud.isChecked3 || solicitud.isChecked4 || solicitud.isChecked5 || solicitud.isChecked6 || solicitud.isChecked7 || solicitud.isChecked8 || solicitud.isChecked9 || solicitud.isChecked10 || solicitud.isChecked11 || solicitud.isChecked13 || solicitud.isChecked12 || solicitud.isChecked14) && solicitud.t_solicitud == \"Linea\" && (solicitud.id_tipo_servicio == 1 || solicitud.id_tipo_servicio == 3) && solicitud.v_investigar.length != 10){\n solicitud.validacionCriterio = '0';\n }\n if((solicitud.isChecked1 || solicitud.isChecked2 || solicitud.isChecked3 || solicitud.isChecked4 || solicitud.isChecked5 || solicitud.isChecked6 || solicitud.isChecked7 || solicitud.isChecked8 || solicitud.isChecked9 || solicitud.isChecked10 || solicitud.isChecked11 || solicitud.isChecked13 || solicitud.isChecked12 || solicitud.isChecked14) && solicitud.t_solicitud == \"Icc\" && (solicitud.id_tipo_servicio == 2 || solicitud.id_tipo_servicio == 3) && solicitud.v_investigar.length == 8 && solicitud.v_investigar.length == 10){\n solicitud.validacionCriterio = '0';\n }\n else{\n solicitud.validacionCriterio = '1';\n } \n \n \n const fechaActualMenosCincoAños = new Date();\n fechaActualMenosCincoAños.setUTCFullYear(fechaActualMenosCincoAños.getUTCFullYear() - 5);\n fechaActualMenosCincoAños.setTime(fechaActualMenosCincoAños.getTime() - (5 * 60 * 60 * 1000)); // Ajustar la zona horaria a UTC-5\n \n \n if(new Date(solicitud.initDate) < fechaActualMenosCincoAños && (solicitud.isChecked1 || solicitud.isChecked2 || solicitud.isChecked3 || solicitud.isChecked4 || solicitud.isChecked5 || solicitud.isChecked6 || solicitud.isChecked7 || solicitud.isChecked8 || solicitud.isChecked9 || solicitud.isChecked10) ){\n solicitud.fechaValidaTraficoMovil = '0';\n }\n else{\n solicitud.fechaValidaTraficoMovil = '1';\n }\n \n const fechaActualMenosUnAño = new Date();\n fechaActualMenosUnAño.setUTCFullYear(fechaActualMenosUnAño.getUTCFullYear() - 1);\n fechaActualMenosUnAño.setTime(fechaActualMenosUnAño.getTime() - (5 * 60 * 60 * 1000)); // Ajustar la zona horaria a UTC-5\n \n if(new Date(solicitud.initDate) < fechaActualMenosUnAño && (solicitud.isChecked1 || solicitud.isChecked2 || solicitud.isChecked3 || solicitud.isChecked4 || solicitud.isChecked5 || solicitud.isChecked6 || solicitud.isChecked7 || solicitud.isChecked8 || solicitud.isChecked9 || solicitud.isChecked10) ){\n solicitud.fechaValidaTraficoFija = '0';\n }\n else{\n solicitud.fechaValidaTraficoFija = '1';\n }\n \n });\n await this.pasoInfocomponentesService.guardarDatosFormulario('RadicacionSolicitudComponent', Informacion);\n }\n\n clickCDR(index: any){\n const interno = this.internoForm.at(index);\n if (this.equipmentForm.get('isChecked9')?.value ||\n this.equipmentForm.get('isChecked8')?.value ||\n this.equipmentForm.get('isChecked6')?.value ||\n this.equipmentForm.get('isChecked5')?.value ||\n this.equipmentForm.get('isChecked3')?.value ||\n this.equipmentForm.get('isChecked2')?.value ||\n this.equipmentForm.get('isChecked10')?.value\n ) {\n if((this.calcularDiferenciaEnDias(\"\", interno.get('endDate')?.value) < 2)){\n interno.get('endDate')?.setValue('');\n }\n this.CDRClick = true;\n }else{\n this.CDRClick = false;\n }\n }\n\n finalizarRegistro() {\n\n this.validarSiTodosSonValidos()\n // let fechaActual = new Date();\n // let fecha2 = new Date(fechaActual.setDate(fechaActual.getDate() - 2))\n\n // let fechaInicio = this.equipmentForm.controls['internoForm'].value[0].initDate;\n // let fechaFin = this.equipmentForm.controls['internoForm'].value[0].endDate;\n // console.log(this.equipmentForm)\n // console.log(this.equipmentForm.controls['internoForm'].value[0])\n // console.log(\"fechas\", fechaInicio, fechaFin)\n\n // let isChecked10 = this.equipmentForm.controls['internoForm'].value[0].isChecked10\n // let isChecked2 = this.equipmentForm.controls['internoForm'].value[0].isChecked2\n // let isChecked3 = this.equipmentForm.controls['internoForm'].value[0].isChecked3\n // let isChecked8 = this.equipmentForm.controls['internoForm'].value[0].isChecked8\n // let isChecked9 = this.equipmentForm.controls['internoForm'].value[0].isChecked9\n // // validar si alguno de los CDRs esta en true\n // let algunDRs= isChecked2 || isChecked3 || isChecked8 || isChecked9 || isChecked10\n // if((this.calcularDiferenciaEnDias(fechaInicio, fechaFin) < 2) && (algunDRs) ){\n // return this.alertService.mostrarNotificacion('La fecha fin debe ser dos (2) días menor a la fecha actual ', 'warning', 3000);\n // }else{\n \n // if (this.isValid() && !this.validaChecks()){\n // if (fechaFin < fechaInicio) {\n // return this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Fecha fin no puede ser menor a fecha inicio', 'warning', 3000);\n // }\n // if(this.CDRClick){ \n // if (fechaFin > fecha2) {\n // return this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Fecha fin debe ser menor a dos días actuales', 'warning', 3000);\n // }\n // }\n // this.pasodatos();\n \n // this.router.navigate(['/detalle-solicitud']);\n // }\n // }\n \n }\n\n calcularDiferenciaEnDias(fecha1: any, fecha2:any) {\n const unDiaEnMilisegundos = 1000 * 60 * 60 * 12;\n // const milisegundosFecha1 = new Date(fecha1.toString()).getTime();\n const milisegundosFecha1 = new Date(new Date().toString()).getTime();\n const milisegundosFecha2 = new Date(fecha2.toString()).getTime();\n const diferenciaEnMilisegundos = Math.abs(milisegundosFecha2 - milisegundosFecha1);\n const diasDiferencia = Math.floor(diferenciaEnMilisegundos / unDiaEnMilisegundos);\n console.log(\"diferenciaaaa\", diasDiferencia)\n \n return diasDiferencia;\n }\n\n validarSiTodosSonValidos(){\n let allok: boolean[] = [];\n let fechaActual = new Date();\n let fecha2 = new Date(fechaActual.setDate(fechaActual.getDate() - 2))\n this.equipmentForm.controls['internoForm'].value.forEach( (formulario:any) => {\n console.log(formulario)\n let isChecked10 = formulario.isChecked10\n let isChecked2 = formulario.isChecked2\n let isChecked3 = formulario.isChecked3\n let isChecked8 = formulario.isChecked8\n let isChecked9 = formulario.isChecked9\n // validar si alguno de los CDRs esta en true\n let algunDRs= isChecked2 || isChecked3 || isChecked8 || isChecked9 || isChecked10\n\n let fechaInicio = formulario.initDate;\n let fechaFin = formulario.endDate;\n\n if((this.calcularDiferenciaEnDias(fechaInicio, fechaFin) < 2) && (algunDRs) ){\n return this.alertService.mostrarNotificacion('La fecha fin debe ser dos (2) días menor a la fecha actual ', 'warning', 3000);\n }else{\n if (this.isValid() && !this.validaChecks()){\n if(!fechaFin){\n return this.alertService.mostrarNotificacion('No se pueden guardar los cambios. La fecha fin es obligatoria', 'warning', 3000);\n }\n if (fechaFin < fechaInicio) {\n return this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Fecha fin no puede ser menor a fecha inicio', 'warning', 3000);\n }\n if(this.CDRClick){ \n if (fechaFin > fecha2) {\n return this.alertService.mostrarNotificacion('No se pueden guardar los cambios. Fecha fin debe ser menor a dos días actuales', 'warning', 3000);\n }\n }\n allok.push(true)\n // this.pasodatos();\n // this.router.navigate(['/detalle-solicitud']);\n }\n }\n })\n console.log(\"alll\",allok)\n if(allok.length == this.equipmentForm.controls['internoForm'].value.length){\n this.pasodatos();\n this.router.navigate(['/detalle-solicitud']);\n }\n\n }\n\n filtrarLista(index: number){\n const interno = this.internoForm.at(index);\n const tipoDeServicio = interno.get('id_tipo_servicio')?.value;\n if (tipoDeServicio == 'FIJA') {\n return this.listacriterios.filter(item => {\n return (\n item.criterioValor === 'Linea' ||\n item.criterioValor === 'CC' ||\n item.criterioValor === 'CE' ||\n item.criterioValor === 'PS' ||\n item.criterioValor === 'TARJETA DE IDENTIDAD' ||\n item.criterioValor === 'NIT EXTRANJERIA' ||\n item.criterioValor === 'NIT' ||\n item.criterioValor === 'Ip' ||\n item.criterioValor === 'Direccion_del_punto' \n );\n });\n } else if (tipoDeServicio == 'FIJA_MOVIL') {\n return this.listacriterios.filter(item => {\n return (\n item.criterioValor === 'CC' ||\n item.criterioValor === 'CE' ||\n item.criterioValor === 'PS' ||\n item.criterioValor === 'TARJETA DE IDENTIDAD' ||\n item.criterioValor === 'NIT EXTRANJERIA' ||\n item.criterioValor === 'NIT' ||\n item.criterioValor === 'Ip' ||\n item.criterioValor === 'Direccion_del_punto' \n );\n });\n }\n return this.listacriterios;\n }\n\n\n\n}\n","
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n\n
\n
\n
\n \n
\n Datos de la Solicitud a Consultar - Numero {{ i + 1 }}\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n * Si su consulta es de CDRS, tenga presente que contamos con la información certificada hasta dos días antes de la fecha de hoy. Ejemplo: está radicando su RJ el día 23 de junio 2023, podrá pedir información de CDRS hasta el 21 de Junio 2023\n
\n \n
\n
\n \n
\n

Este Campo Es Obligatorio

\n
\n \n\n
\n
\n \n * Inserte al menos {{ GetMaxLenght(i) }} caracteres\n \n \n \n * Este Campo Es Obligatorio\n \n \n \n
\n\n \n \n \n
\n\n
\n
\n
\n \n
\n \n \n CDRs de voz movil\n \n
\n
\n
\n
\n
\n \n
\n \n \n Saliente\n \n
\n
\n \n \n Entrantes\n \n
\n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n CDRs de voz fijo\n \n
\n
\n
\n\n\n\n
\n
\n \n
\n \n \n Saliente\n \n
\n
\n \n \n Entrantes\n \n
\n
\n
\n
\n\n\n
\n
\n
\n \n
\n \n \n CDRs de voz SMS\n \n
\n
\n
\n\n
\n
\n \n
\n \n \n Saliente\n \n
\n
\n \n \n Entrantes\n \n
\n
\n
\n
\n\n
\n
\n \n
\n \n \n CDRs de Datos\n \n
\n
\n
\n \n \n\n \n
\n
\n
\n \n
\n \n \n Datos Biográficos\n \n
\n
\n
\n
\n
\n \n
\n \n \n Actividad IMSI\n \n
\n
\n
\n
\n
\n \n
\n \n \n Actividad IMEI\n \n
\n
\n
\n
\n
\n \n
\n \n \n Reporte Hurto\n \n
\n
\n
\n
\n
\n \n
\n \n \n WhatsApp, Facebook, Twitter\n \n
\n
\n
\n
\n
\n \n
\n \n \n Cámaras de seguridad\n \n
\n
\n
\n
\n
\n \n
\n \n \n Restablecimiento de derechos\n \n
\n
\n
\n
\n
\n \n
\n \n \n Contratos Ventas\n \n
\n
\n
\n
\n
\n \n
\n \n \n Información Asesores comerciales\n \n
\n
\n
\n
\n
\n \n
\n \n \n Solicitud IP Móvil\n \n
\n
\n
\n
\n
\n \n
\n \n \n Solicitud IP Fija\n \n
\n
\n
\n
\n
\n \n
\n \n \n Información Empleados\n \n
\n
\n
\n
\n
\n \n
\n \n \n Interceptación Fija\n \n
\n
\n
\n
\n
\n \n
\n \n \n Grabación Voz\n \n
\n
\n
\n
\n
\n \n
\n \n \n SPOA-Objeto de búsqueda\n \n
\n
\n \n
\n\n
\n *Tenga en cuenta que para solicitar información de ultimo registro no debe solicitar otra tipo de información. \n
\n
\n
\n
\n \n
\n \n \n Última ubicación\n \n
\n
\n
\n
\n \n \n
\n \n Eliminar Datos de la solicitud\n \n
\n \n \n \n \n
\n \n
\n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n
\n
\n \n \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { Router } from '@angular/router';\nimport { GlobalServiceService } from 'src/shared/global-service.service';\nimport { AlertService } from '../notificaciones/alert.service';\nimport { PasoInfocomponentesService } from 'src/app/components/service/paso-infocomponentes.service';\nimport { IpaddressService } from 'src/app/components/service/ipaddress.service';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\nimport { EncryptService } from 'src/app/components/service/encrypt.service';\n\n@Component({\n selector: 'app-radicaciondatosgenerales',\n templateUrl: './radicaciondatosgenerales.component.html',\n styleUrls: ['./radicaciondatosgenerales.component.scss']\n})\nexport class RadicaciondatosgeneralesComponent implements OnInit {\n radicacionDatos!: FormGroup;\n showModal = true;\n showModalEmail = false;\n dataTextModal = \"\";\n dataEmailValidationModal = \"\";\n camposValidados = \"\";\n mostrarOtraEntidad = false;\n token: any;\n entidades: any;\n buttonDisabled = false;\n showbuttonModal = false;\n showCodeInput: boolean | undefined;\n objNotCriminal: any;\n\n constructor(private formBuilder: FormBuilder, private sharedServices: GlobalServiceService,\n private router: Router, private alertService: AlertService,\n private pasoInfocomponentesService: PasoInfocomponentesService,\n private _ipAddress: IpaddressService,\n private sessionService: SessionService,\n private crypto: EncryptService) {\n this.buildForm();\n }\n\n ngOnInit() {\n var date = new Date()\n this.radicacionDatos.patchValue({\n dateRequest: date.toLocaleString()\n })\n this.radicacionDatos.controls['dateRequest'].disable();\n this.getTextosParametrizacion();\n this.getEntidades();\n }\n\n getTextosParametrizacion() {\n this.alertService.showLoadingAlert('Cargando términos y condiciones...');\n \n this.sharedServices.get('api/Parametrizacion',{keyName: 'modalparametrosgenerales'}).subscribe(\n data => {\n this.alertService.closeAlert();\n this.dataTextModal = data[0].keyValue;\n },\n error => {\n this.alertService.closeAlert();\n this.alertService.showErrorAlert('Hubo un error al cargar los términos y condiciones.');\n }\n );\n }\n \n getEntidades() {\n this.sharedServices.get('api/Entidades').subscribe(\n data => {\n this.entidades = data;\n }\n )\n }\n\n toggleModal($event: boolean) {\n this.showModal = $event;\n this.showbuttonModal = false;\n }\n\n responseModal(response: boolean) {\n if (response) {\n this.toggleModal(false);\n this.showbuttonModal = false;\n }\n else {\n this.radicacionDatos.controls['nombreFuncionario'].disable()\n this.radicacionDatos.controls['noticiaCriminal'].disable()\n this.radicacionDatos.controls['dateRequest'].disable()\n this.radicacionDatos.controls['expirationDate'].disable()\n this.radicacionDatos.controls['entidad'].disable()\n this.radicacionDatos.controls['otraEntidad'].disable()\n this.radicacionDatos.controls['datosEnvio'].disable()\n this.buttonDisabled = true;\n this.toggleModal(false);\n }\n }\n\n validacionEntidad(selectedValue : any){\n \n if (selectedValue.target.value == \"OTRO\")\n this.mostrarOtraEntidad = true;\n else\n this.mostrarOtraEntidad = false;\n }\n\n responseModalEmail(response: boolean | any) {\n if (!response) {\n this.showModalEmail = false;\n }\n else {\n const body = JSON.stringify({\n correo: this.crypto.encryptData(this.radicacionDatos.get('datosEnvio')?.value),\n codigo: this.crypto.encryptData(response)\n });\n this.sharedServices.postWithoutQuotes('api/ValidaCodigo/ValidaCodigo', body ).subscribe( (data : any) => {\n if (data.item1 == 2) {\n this.dataTextModal = \"Correo Electronico Validado con Éxito\";\n this.sessionService.setToken(data.item2);\n this.router.navigate(['/radicacion-solicitud']);\n }\n else if (data.item1 == 1) {\n this.dataTextModal = \"El código expiro\";\n this.showModalEmail = true;\n this.showbuttonModal = true;\n }\n else if (data.item1 == 0) {\n this.dataTextModal = \"El código ingresado no coincide con el codigo enviado, por favor validar\";\n this.showbuttonModal = true;\n this.showModalEmail = true;\n }\n },\n () => {\n this.alertService.showErrorAlert('Hubo un error al validar el código. Por favor intenta nuevamente.');\n this.showbuttonModal = true;\n this.showModalEmail = true;\n }\n );\n }\n }\n \n\n private buildForm() {\n \n this.radicacionDatos = this.formBuilder.group({\n nombreFuncionario: ['', Validators.required],\n noticiaCriminal: ['', Validators.required],\n dateRequest: ['', Validators.required],\n expirationDate: ['', Validators.required],\n entidad: ['', Validators.required],\n otraEntidad: ['', Validators.required],\n datosEnvio: ['', [Validators.required, Validators.email]]\n });\n }\n\n async minDateValidator() {\n const minDate = this.getMinDateTimeEndDate(); // Obtén el valor mínimo de fecha\n const selectedDate = this.radicacionDatos.get('expirationDate')?.value; // Obtén la fecha seleccionada\n \n if (selectedDate && minDate && selectedDate < minDate) {\n return true ; \n }\n return false; \n }\n\n async urlRegexValidator() {\n const regexPattern = /^[a-zA-Z0-9\\s]*$/; \n const otraEntidad = this.radicacionDatos.get('otraEntidad')?.value;\n const noticiaCriminal = this.radicacionDatos.get('noticiaCriminal')?.value;\n const nombreFuncionario = this.radicacionDatos.get('nombreFuncionario')?.value;\n\n const caracteresEspeciales = /[!@#$%^&*()_+{}\\[\\]:;<>,.?~\\\\/-]/.test(\n otraEntidad + noticiaCriminal + nombreFuncionario\n );\n\n if (caracteresEspeciales) {\n return false; \n }\n\n return true;\n }\n\n async validaCampos() {\n const noticiaCriminal = this.radicacionDatos.get('noticiaCriminal')?.value;\n const nombreFuncionario = this.radicacionDatos.get('nombreFuncionario')?.value;\n const dateRequest = this.radicacionDatos.get('dateRequest')?.value;\n const entidad = this.radicacionDatos.get('entidad')?.value;\n const datosEnvio = this.radicacionDatos.get('datosEnvio')?.value;\n \n if (\n !noticiaCriminal ||\n !nombreFuncionario ||\n !dateRequest ||\n !entidad ||\n !datosEnvio\n ) {\n return false; \n }\n \n return true; \n }\n \n\n async save() {\n if(await this.validarNoticiaCriminal())\n {\n this.alertService.closeAlert();\n //El No Noticia Criminal ya fue programado por el usuario\"+\" \"+arr[2]+\", para el radicado\" +\" \"+arr[3]+\" en la fecha: \"+arr[1]+mensaje_error_plantilla\n this.alertService.mostrarNotificacion('Tenga en cuenta que con el No de Noticia Criminal que acaba de registrar ya se encuentra en trámite un Requerimiento Judicial', 'info', 8000);\n }\n if(await this.minDateValidator()){\n this.alertService.closeAlert();\n //El No Noticia Criminal ya fue programado por el usuario\"+\" \"+arr[2]+\", para el radicado\" +\" \"+arr[3]+\" en la fecha: \"+arr[1]+mensaje_error_plantilla\n this.alertService.mostrarNotificacion('La plataforma no permite el ingreso del acta de Juez Vencida', 'info', 8000);\n } else if (!(await this.urlRegexValidator())){\n this.alertService.closeAlert();\n //El No Noticia Criminal ya fue programado por el usuario\"+\" \"+arr[2]+\", para el radicado\" +\" \"+arr[3]+\" en la fecha: \"+arr[1]+mensaje_error_plantilla\n this.alertService.mostrarNotificacion('La plataforma no permite ingreso de caracteres especiales en los campos Noticia Criminal y Nombre de Funcionario', 'info', 8000);\n } else if (!(await this.validaCampos())){\n this.alertService.closeAlert();\n //El No Noticia Criminal ya fue programado por el usuario\"+\" \"+arr[2]+\", para el radicado\" +\" \"+arr[3]+\" en la fecha: \"+arr[1]+mensaje_error_plantilla\n this.alertService.mostrarNotificacion('Por favor validar los campos obligatorios', 'info', 8000);\n }\n else{\n var ip: string;\n this._ipAddress.GetIpAddress().subscribe(\n data => {\n ip = \"0\";\n \n sessionStorage.setItem('IpAddress', ip);\n },\n error => {\n ip = \"0\";\n \n sessionStorage.setItem('IpAddress', ip);\n }\n );\n \n this.showbuttonModal = false;\n if (this.token == null) {\n var correo = this.crypto.encryptData(this.radicacionDatos.get('datosEnvio')?.value);\n this.sharedServices.post('api/GeneraCodigo/GeneraCodigo', correo ).subscribe(\n (data : any) => {\n if (data == \"\")\n this.camposValidados = \"hola\";\n }\n )\n this.dataTextModal = \"

Confirma tu Email


Ingresa el código de confirmación
El email de confirmación se ha enviado a \" + this.radicacionDatos.get('datosEnvio')?.value + \", revisa tu bandeja de entrada o correo no deseado
¿No lo Encuentras? Reenviar Email

\"\n this.showModalEmail = true;\n }\n else {\n this.router.navigate(['/radicacion-solicitud'])\n }\n // Guardar los datos del formulario en el servicio\n this.pasoInfocomponentesService.guardarDatosFormulario('RadicaciondatosgeneralesComponent', this.radicacionDatos.value);\n console.log(this.radicacionDatos.value);\n \n \n }\n \n }\n \n async validarNoticiaCriminal(): Promise {\n let valida = false;\n \n try {\n const data = await this.sharedServices.get('RadicacionDatosGenerales', { noNoticiaCriminal: this.radicacionDatos.get('noticiaCriminal')?.value }).toPromise();\n var dataencrypt :any = this.crypto.decryptData(data.cifrado);\n var datadecrypt = JSON.parse(dataencrypt);\n if (datadecrypt){\n valida = true;\n this.objNotCriminal = data;\n console.log(this.objNotCriminal);\n }\n \n \n } catch (error) {\n valida = false;\n }\n \n return valida;\n }\n \n getMinDateTimeEndDate(): string {\n const now = new Date();\n const year = now.getFullYear();\n const month = now.getMonth() + 1;\n const day = now.getDate() +1; \n \n const minDate = `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`;\n \n return minDate;\n }\n \n\n\n get getIdPricing() {\n return this.radicacionDatos.get('idPricing');\n }\n\n get getSegment() {\n return this.radicacionDatos.get('segment');\n }\n\n get getHolding() {\n return this.radicacionDatos.get('holding');\n }\n\n get getOrigin() {\n return this.radicacionDatos.get('origin');\n }\n\n get getIdentification() {\n return this.radicacionDatos.get('identification');\n }\n\n get getInitDate() {\n return this.radicacionDatos.get('initDate');\n }\n\n get getFinishDate() {\n return this.radicacionDatos.get('endDate');\n }\n\n get idFinishDateValid() {\n return this.radicacionDatos.get('endDate');\n }\n\n get getValidity() {\n return this.radicacionDatos.get('validity');\n }\n\n get getApprovedAmount() {\n return this.radicacionDatos.get('approvedAmount');\n }\n\n get getApprovedLines() {\n return this.radicacionDatos.get('approvedLines');\n }\n\n get getMedicineCabinetType() {\n return this.radicacionDatos.get('medicineCabinetType');\n }\n\n get getMedicineCabinetOption() {\n return this.radicacionDatos.get('medicineCabinetOption');\n }\n\n get getApprovedAmountKit() {\n return this.radicacionDatos.get('approvedAmountKit');\n }\n\n get idEquipmentSelectedValue() {\n return this.radicacionDatos.get('equipmentSelected');\n }\n\n get idQuantityEquipmentSelectedValue() {\n return this.radicacionDatos.get('quantityEquipmentSelected');\n }\n}\n","
\n
\n
\n \n
\n \n
\n
\n \n \n
\n

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

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

Ingresa un correo electrónico válido

\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n\n\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { JudicialesRoutes } from './judiciales.routes';\n\n\n\n@NgModule({\n imports: [RouterModule.forChild(JudicialesRoutes)],\n exports: [RouterModule]\n})\nexport class JudicialesRoutingModule { }\n","import { Routes } from '@angular/router';\nimport { RadicaciondatosgeneralesComponent } from '../components/radicaciondatosgenerales/radicaciondatosgenerales.component';\nimport { RadicacionSolicitudComponent } from '../components/radicacion-solicitud/radicacion-solicitud.component';\nimport { DetalleSolicitudComponent } from '../components/detalle-solicitud/detalle-solicitud.component';\nimport { ArchivosAdjuntosComponent } from '../components/archivos-adjuntos/archivos-adjuntos.component';\nimport { NotificacionesComponent } from '../components/notificaciones/notificaciones.component';\nimport { EstadoSolicitudComponent } from '../components/estado-solicitud/estado-solicitud.component';\n\nexport const JudicialesRoutes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n component: RadicaciondatosgeneralesComponent,\n },\n {\n path: 'radicacion-solicitud',\n component: RadicacionSolicitudComponent,\n },\n {\n path: \"estado-solicitud\",\n component: EstadoSolicitudComponent,\n },\n {\n path: 'detalle-solicitud',\n component: DetalleSolicitudComponent,\n },\n {\n path: 'archivos-adjuntos',\n component: ArchivosAdjuntosComponent,\n },\n {\n path: 'notificaciones',\n component: NotificacionesComponent,\n },\n \n];\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BlobStorageService {\n private uploadEndpoint = \"api/BlobStorage/upload\";\n token: any;\n\n constructor(private http: HttpClient, private session: SessionService, @Inject('BASE_URL') public baseUrl: string) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n uploadFiles(files: File[], idRadicado: string, containerName: string, tipoArchivo: string, idDetalle: number, tipologia: string, observacion: string): Observable {\n const formData = new FormData();\n for (let i = 0; i < files.length; i++) {\n formData.append('files', files[i], files[i].name);\n }\n formData.append('observacion', observacion)\n\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`\n }),\n params: { idRadicado: idRadicado, tipoArchivo: tipoArchivo, idDetalle: idDetalle, tipologia: tipologia }\n };\n\n return this.http.post(`${this.baseUrl}${this.uploadEndpoint}/${containerName}`, formData, httpOptions);\n}\n\n\n\n downloadFile(fileName: string, containerName: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`\n }),\n responseType: 'blob' as 'json'\n };\n\n return this.http.get(`${this.baseUrl}api/BlobStorage/download/${fileName}/${containerName}`, httpOptions);\n }\n\n deleteFile(fileName: string, containerName: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`\n })\n };\n\n return this.http.delete(`${this.baseUrl}api/BlobStorage/delete/${containerName}/${fileName}`, httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport * as CryptoJS from 'crypto-js';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n\nexport interface EmailBody {\n saludo: string;\n mensajePrincipal: string;\n cierre: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmailService {\n private sendEmailEndpoint = \"EnvioEmail/Email\";\n token: any;\n protected secretKey: string = '7x!z%C*F-JaNdRgUkXp2s5v8y/B?D(G+';\n protected iv: string = 'eShVmYq3t6w9y$B&';\n\n constructor(private http: HttpClient, private session: SessionService,@Inject('BASE_URL') public baseUrl: string) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n sendEmail(correo: string, subjectC: string, bodyDec: EmailBody): Observable {\n // Convierte el objeto 'body' en una cadena formateada\n const bodyStr = JSON.stringify(`${bodyDec.saludo}${bodyDec.mensajePrincipal}${bodyDec.cierre}`);\n const mail = this.encryptData(correo);\n const subjectCEnc = this.encryptData(subjectC);\n const body = JSON.stringify(this.encryptData(bodyStr));\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`,\n 'Content-Type': 'application/json'\n }),\n params: { correo: mail, subjectC: subjectCEnc }\n };\n return this.http.post(`${this.baseUrl}api/${this.sendEmailEndpoint}`, body, httpOptions);\n }\n\n private encryptData(textToEncrypt: string): string {\n const key = CryptoJS.enc.Utf8.parse(this.secretKey);\n const iv = CryptoJS.enc.Utf8.parse(this.iv);\n \n const encrypted = CryptoJS.AES.encrypt(textToEncrypt, key, { iv: iv }).toString();\n \n return encrypted;\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EncryptService {\n private secretKey: string = '7x!z%C*F-JaNdRgUkXp2s5v8y/B?D(G+';\n private iv: string = 'eShVmYq3t6w9y$B&';\n\n constructor() {}\n\n public encryptData(textToEncrypt: string): string {\n const key = CryptoJS.enc.Utf8.parse(this.secretKey);\n const iv = CryptoJS.enc.Utf8.parse(this.iv);\n \n const encrypted = CryptoJS.AES.encrypt(textToEncrypt, key, { iv: iv }).toString();\n \n return encrypted;\n }\n public decryptData(textToDecrypt: string): string {\n const key = CryptoJS.enc.Utf8.parse(this.secretKey);\n const iv = CryptoJS.enc.Utf8.parse(this.iv);\n \n const decrypted = CryptoJS.AES.decrypt(textToDecrypt, key, { iv: iv }).toString(CryptoJS.enc.Utf8);\n \n return decrypted;\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, map } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\nimport { EncryptService } from './encrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IpaddressService {\n\n private getIpAddress = \"api/IpAddress/GetIpAddress\";\n token: any;\n\n constructor(private http: HttpClient, private session: SessionService,@Inject('BASE_URL') public baseUrl: string, private crypto: EncryptService) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n GetIpAddress(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`\n }),\n };\n \n return this.http.get(`${this.baseUrl}${this.getIpAddress}`, httpOptions).pipe(\n map(response => {\n if (response && response.cifrado) {\n const decryptedData = this.crypto.decryptData(response.cifrado);\n return { ip: decryptedData };\n } else {\n return { ip: null };\n }\n })\n );\n }\n \n \n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, map } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class JgdConsecutivoService {\n private generateCodeUrl = \"api/JgdConsecutivo/generateCode\";\n token: any;\n\n constructor(private http: HttpClient, private session: SessionService,@Inject('BASE_URL') public baseUrl: string) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n generateCode(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`\n }),\n responseType: 'text' as 'json'\n };\n \n return this.http.post(`${this.baseUrl}${this.generateCodeUrl}`, null, httpOptions)\n .pipe(map((response: any) => {\n return { code: response };\n }));\n } \n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ParametrizacionService {\n private getEndpoint = \"api/Parametrizacion\";\n token: any;\n\n constructor(private http: HttpClient, private session: SessionService, @Inject('BASE_URL') public baseUrl: string) {\n debugger;\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n getParametrizacion(keyName: string): Observable {\n debugger;\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`\n }),\n params: { keyName: keyName }\n };\n debugger;\n return this.http.get(`${this.baseUrl}${this.getEndpoint}`, httpOptions);\n } \n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PasoInfocomponentesService {\n\n // Inicializar los datos como un objeto vacío.\n datos: any = {};\n\n // Inyectar HttpClient en el constructor.\n constructor(private http: HttpClient) { }\n\n // Método para guardar los datos del formulario.\n guardarDatosFormulario(key: string, data: any) {\n this.datos[key] = data;\n }\n\n // Método para obtener los datos del formulario.\n obtenerDatosFormulario(key: string) {\n return this.datos[key];\n }\n \n \n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadicacionDetalleService {\n\n private apiUrl = 'api/RadicacionDetalle';\n private apiUrlDelete = 'api/Radicacion';\n token: any;\n\n constructor(private http: HttpClient, @Inject('BASE_URL') public baseUrl: string, private session: SessionService) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n postRadicacionDetalle(data: any): Observable {\n return this.http.post(`${this.baseUrl}${this.apiUrl}`, data, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n })\n });\n }\n deleteRadicacion(id: any): Observable {\n return this.http.delete(`${this.baseUrl}${this.apiUrlDelete}/${id}`, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n })\n });\n } \n}\n","import { Inject, Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { firstValueFrom } from 'rxjs';\nimport { Observable } from 'rxjs';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadicacionSolicitudService {\n\n private getCriterios = \"api/criterio\"\n private getoperaciones = \"api/ReqJudOperaciones\"\n private informacionInvestigarPath = \"api/InformacionInvestigar\"\n \n private token: any;\n constructor(private http: HttpClient, @Inject('BASE_URL') public baseUrl: string, private session: SessionService) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n getreqjud_Criterios():Observable {\n const httOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'Bearer ' + this.token,\n 'Content-Type': 'application/json'\n })\n };\n return this.http.get(this.baseUrl + this.getCriterios, httOptions)\n }\n\n getreqjud_operaciones():Observable {\n const httOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'Bearer ' + this.token,\n 'Content-Type': 'application/json'\n })\n };\n return this.http.get(this.baseUrl + this.getoperaciones, httOptions)\n }\n\n getInformacionInvestigar():Observable {\n const httOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'Bearer ' + this.token,\n 'Content-Type': 'application/json'\n })\n };\n return this.http.get(this.baseUrl + this.informacionInvestigarPath, httOptions)\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadicacionTipoSolicitudService {\n private apiUrl = 'api/saln_proyectojudiciales_radicaciontiposolicitud';\n token: any;\n\n constructor(private http: HttpClient, @Inject('BASE_URL') public baseUrl: string, private session: SessionService) { \n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n getRadicacionTipoSolicitudByTipo(tipo: string): Observable {\n const url = `${this.baseUrl}${this.apiUrl}/tipo/${tipo}`;\n return this.http.get(url, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n })\n });\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable, map } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\nimport { EncryptService } from './encrypt.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadicacionService {\n\n private apiUrl = 'api/Radicacion';\n private apiUrldos='api/RadicacionConsulta/';\n private getUsuarioRadicacion = 'api/UsuarioRadicacion/GetUsuarioRadicacion';\n \n token: any;\n\n constructor(private http: HttpClient, @Inject('BASE_URL') public baseUrl: string, private session: SessionService, private crypto:EncryptService) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n postRadicacion(data: any): Observable {\n return this.http.post(`${this.baseUrl}${this.apiUrl}`, data, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n })\n });\n } \n \n PostRadicacionConsulta(data:any):Observable{\n return this.http.post(`${this.baseUrl}${this.apiUrldos}`, data, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.token}`\n })\n });\n}\n\nGetRadicacionConsulta(radicado: string):Observable{\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`,\n 'Content-Type': 'application/json'\n })\n };\n return this.http.get(this.apiUrldos+radicado, httpOptions)\n .pipe(map((response: any) => {\n var resp : any = this.crypto.decryptData(response.cifrado);\n return { resp };\n }));\n}\n GetUsuarioRadicacion(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`\n }),\n };\n \n return this.http.post(`${this.baseUrl}${this.getUsuarioRadicacion}`, null, httpOptions)\n .pipe(map((response: any) => {\n var resp : any = this.crypto.decryptData(response.cifrado);\n var response : any = JSON.parse(resp);\n return { usuario: response };\n }));\n } \n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenService {\n private updateUsuarios = \"api/Auth/GenerateGuestToken\";\n constructor(private http: HttpClient, @Inject('BASE_URL') public baseUrl: string) { }\n\n GenerateGuestToken():Observable{\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n return this.http.get(this.baseUrl + this.updateUsuarios, {headers,responseType:'text'});\n }\n\n}\n","export enum IconNamesEnum{\n AGREGAR_ICON=\"agregar-icon\",\n PORTAPAPELES_ICON=\"portapapeles-icon\",\n ESCUDO_ICON=\"escudo-icon\",\n EDITAR_ICON=\"editar-icon\",\n ELIMINAR_ICON=\"eliminar-icon\",\n APROBACION_ICON=\"aprobacion-icon\",\n REPORTES_ICON=\"reportes-icon\",\n IDENTITY_ICON=\"identity-icon\",\n KEY_ICON=\"key-icon\",\n MENU_ICON=\"menu-icon\",\n CLOSE_ICON=\"close-icon\",\n DEFAULT_ICON=\"default-icon\",\n MOVISTAR_ICON=\"movistar-icon\",\n ALERT = \"Alerta_1Light\",\n ADD_LIGTH = \"Añadir_1Light\",\n PADLOCK = \"Candado abierto_2Regular\",\n SHUT_ICON = \"Cerrar_1Light\",\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidenavComponent } from './presentation/components/sidenav/sidenav.component';\nimport { HeaderComponent } from './presentation/components/header/header.component';\nimport { ContainerComponent } from './presentation/components/container/container.component';\nimport { FooterComponent } from './presentation/components/footer/footer.component';\nimport { NotFoundComponent } from './presentation/components/not-found/not-found.component';\nimport { ForbiddenComponent } from './presentation/components/forbidden/forbidden.component';\nimport { GlobalRoutingModule } from './presentation/routing/global-routing.module';\nimport { SvgImporterComponent } from './presentation/components/svg-importer/svg-importer.component';\nimport { BreadcrumbComponent } from './presentation/components/breadcrumb/breadcrumb.component';\nimport { FilterPipe } from './pipes/filter.pipe';\nimport { FormsModule } from '@angular/forms';\n\n\n@NgModule({\n declarations: [\n SidenavComponent,\n HeaderComponent,\n ContainerComponent,\n FooterComponent,\n NotFoundComponent,\n ForbiddenComponent,\n BreadcrumbComponent,\n FilterPipe,\n ],\n exports: [\n SidenavComponent,\n HeaderComponent,\n ContainerComponent,\n FooterComponent,\n BreadcrumbComponent,\n FilterPipe\n ],\n imports: [\n CommonModule,\n GlobalRoutingModule,\n SvgImporterComponent,\n FormsModule\n ],\n providers:[]\n})\nexport class GlobalModule { }\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'filter'\n})\nexport class FilterPipe implements PipeTransform {\n\n transform(value: any, arg: any): any {\n if (arg === '' || arg.length < 3) return value;\n\n const resultPost = [];\n\n for (const post of value) {\n if (post.name.toLowerCase().indexOf(arg.toLowerCase()) > -1) {\n resultPost.push(post);\n }\n }\n return resultPost;\n\n }\n\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { MenuItemModel } from 'src/app/global/domain/models/MenuItemModel';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { BlobStorageService } from 'src/app/components/service/blob-storage.service';\nimport { AlertService } from 'src/app/components/presentation/components/notificaciones/alert.service';\n\n@Component({\n selector: 'app-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n})\nexport class BreadcrumbComponent implements OnInit {\n @Input() menu: boolean | undefined;\n historical!: MenuItemModel[];\n isLoading = false;\n\n constructor(\n private _router: Router,\n private blobStorageService: BlobStorageService,\n private alertService: AlertService) {\n _router.events\n .pipe(filter(evt => evt instanceof NavigationEnd))\n .subscribe((_val: any) => {\n this.historical = [];\n\n let path: string = _val.urlAfterRedirects;\n path = path.split(\"?\")[0];\n\n let paths: string[] = path.split(\"/\");\n paths.shift();\n\n let el: string = \"/\";\n\n for (let index = 0; index < paths.length; index++) {\n\n\n el = el + paths[index] + \"/\";\n\n\n this.historical.push(\n\n {\n route: el,\n icon: \"\",\n name: paths[index].replace(\"-\", \" \"),\n isActive: false\n }\n\n )\n }\n\n this.historical[this.historical.length - 1].isActive = true;\n\n\n })\n }\n\n ngOnInit(): void {\n\n }\n\n redirectToEstadoSolicitud() {\n this._router.navigate(['/estado-solicitud'])\n }\n\n redirectToInicio() {\n this._router.navigate(['/'])\n }\n\n downloadManual() {\n this.alertService.showLoadingAlert('Cargando manual de ayuda...');\n\n this.blobStorageService.downloadFile('0db8e3c0-59e3-44fb-835e-e747d96978a.pdf', 'navjudiciales')\n .subscribe(\n data => {\n // Create a blob from the data and download it\n const blob = new Blob([data], { type: 'application/pdf' });\n const url = window.URL.createObjectURL(blob);\n window.open(url);\n },\n error => {\n this.alertService.closeAlert();\n console.log(error);\n },\n () => {\n this.alertService.closeAlert();\n }\n );\n }\n\n downloadTutorial() {\n this.alertService.showLoadingAlert('Cargando base de celdas...');\n this.blobStorageService.downloadFile('Archivo_celdas_20052024.xlsx', 'navjudiciales')\n .subscribe(\n data => {\n // Create a blob from the data and download it\n const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n const url = window.URL.createObjectURL(blob);\n window.open(url);\n },\n error => {\n this.alertService.closeAlert();\n console.log(error);\n },\n () => {\n this.alertService.closeAlert();\n }\n );\n }\n\n downloadRequisitos() {\n this.alertService.showLoadingAlert('Cargando requisitos legales...');\n\n this.blobStorageService.downloadFile('4053e4b3-5dfb-4a02-8a0d-782497ce6a7.pdf', 'navjudiciales')\n .subscribe(\n data => {\n // Create a blob from the data and download it\n const blob = new Blob([data], { type: 'application/pdf' });\n const url = window.URL.createObjectURL(blob);\n window.open(url);\n },\n error => {\n this.alertService.closeAlert();\n console.log(error);\n },\n () => {\n this.alertService.closeAlert();\n }\n );\n }\n\n}\n","
Cargando...
\n
\n
\n Inicio\n
\n \n
\n Manual de Ayuda\n
\n
\n Base Celdas\n
\n\n
\n Requisitos Legales\n
\n\n
\n Estado Del RJ\n
\n\n
","import {Component, EventEmitter, OnInit, Output} from \"@angular/core\";\nimport {SvgImporterComponent} from \"../svg-importer/svg-importer.component\";\nimport {FormBuilder, FormGroup, ReactiveFormsModule, Validators} from \"@angular/forms\";\nimport {CurrencyPipe, NgIf, PercentPipe} from \"@angular/common\";\n\n@Component({\n standalone: true,\n selector: 'app-calculator',\n templateUrl: './calculator.html',\n imports: [\n SvgImporterComponent,\n ReactiveFormsModule,\n PercentPipe,\n CurrencyPipe,\n NgIf\n ]\n})\nexport class CalculatorComponent implements OnInit {\n @Output() onSCLorRenovaValue: EventEmitter = new EventEmitter();\n @Output() onPayClientValue: EventEmitter = new EventEmitter();\n\n calculatorForm!: FormGroup;\n\n ngOnInit(): void {\n this.buildForm();\n }\n\n constructor(private formBuilder: FormBuilder) {\n }\n\n calculate() {\n this.calculatorForm.controls['percentageSCL'].setValue(0);\n this.calculatorForm.controls['equipmentValue'].setValue(0);\n\n let payClient = this.idValuePayClient?.value;\n let scl = this.idValueSCLorRenova?.value;\n\n if (\"\" == scl || \"\" == payClient) {\n if (\"\" == payClient)\n this.idValuePayClient?.markAsTouched();\n if (\"\" == scl)\n this.idValueSCLorRenova?.markAsTouched();\n return;\n }\n\n this.sendFatherData();\n\n this.calculatorForm.controls['percentageSCL'].setValue(((1 - (payClient / scl)) * 100).toFixed(1));\n this.calculatorForm.controls['equipmentValue'].setValue((scl - payClient));\n }\n\n private sendFatherData() {\n this.onSCLorRenovaValue.emit(this.idValueSCLorRenova?.value);\n this.onPayClientValue.emit(this.idValuePayClient?.value);\n }\n\n private buildForm() {\n this.calculatorForm = this.formBuilder.group({\n valueSCLorRenova: ['', Validators.required],\n valuePayClient: ['', Validators.required],\n percentageSCL: [0, Validators.required],\n equipmentValue: [0, Validators.required]\n });\n }\n\n get idValueSCLorRenova() {\n return this.calculatorForm.get('valueSCLorRenova');\n }\n\n get idValuePayClient() {\n return this.calculatorForm.get('valuePayClient');\n }\n\n get idPercentageSCL() {\n return this.calculatorForm.get('percentageSCL');\n }\n\n get idEquipment() {\n return this.calculatorForm.get('equipmentValue');\n }\n}\n","
\n
\n
\n \n
\n
\n\n
\n \n \n
\n

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

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

Este Campo Es Obligatorio

\n
\n
\n
\n
\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\nimport {SvgImporterComponent} from \"../svg-importer/svg-importer.component\";\nimport {ReactiveFormsModule} from \"@angular/forms\";\nimport {CurrencyPipe, NgForOf, NgIf} from \"@angular/common\";\n\n@Component({\n standalone: true,\n selector: 'app-chips',\n templateUrl: './chips.html',\n imports: [\n SvgImporterComponent,\n ReactiveFormsModule,\n CurrencyPipe,\n NgIf,\n NgForOf\n ]\n})\nexport class ChipsComponents {\n @Input() listIdentifications: string[] = [];\n @Output() deleteIdentification: EventEmitter = new EventEmitter();\n constructor() {\n }\n\n\n deleteItem(identification: string) {\n this.deleteIdentification.emit(identification);\n }\n}\n","
\n \n {{item}}\n \n \n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-container',\n templateUrl: './container.component.html',\n styles: [\n ]\n})\nexport class ContainerComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

container works!

\n","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {CurrencyPipe, NgForOf, NgIf, PercentPipe} from \"@angular/common\";\nimport {GlobalModule} from \"../../../global.module\";\n\n@Component({\n standalone: true,\n selector: 'app-dropdown',\n templateUrl: './dropdown.html',\n imports: [\n ReactiveFormsModule,\n PercentPipe,\n CurrencyPipe,\n NgIf,\n NgForOf,\n FormsModule,\n GlobalModule\n ]\n})\nexport class DropdownComponent implements OnInit {\n @Input() items: { id: number; name: string; count: number; }[] = [];\n @Input() selectedItem: string = 'Item 1';\n @Input() placeHolder: string = \"\";\n @Output() OnChange: EventEmitter = new EventEmitter();\n show: boolean = false;\n selectedFruit: string = 'cell 2';\n query: any;\n isHidden: boolean = false;\n filterPost ='';\n\n ngOnInit(): void {\n }\n\n constructor() {\n }\n\n toggle() {\n this.show = !this.show;\n }\n\n select(item: any) {\n this.selectedItem = item.name;\n this.OnChange.emit(this.selectedItem);\n this.toggle();\n this.filterPost = '';\n }\n\n changeFruit(fruit: string) {\n this.selectedFruit = fruit;\n }\n\n}\n","
\n
\n
\n {{selectedItem}}\n
\n
\n \n \n \n
\n
\n
    \n
    \n
    \n \n\n
    \n \n \n \n
    \n
    \n
    \n
  • \n {{item.name}}\n
  • \n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styles: [\n ]\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

footer works!

\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-forbidden',\n templateUrl: './forbidden.component.html',\n styleUrls: ['./forbidden.component.scss']\n})\nexport class ForbiddenComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

Sorry path not available for you - ERROR 403

\n","
\n \n
\n \"Logo\"\n
\n\n \n
\n\n \n
\n \"Nueva\n
\n
\n\n\n
\n
\n \"Logo\"\n
\n \n\n
","import { Component, OnInit, HostListener, Input } from '@angular/core';\nimport { MenuItemModel } from '../../../domain/models/MenuItemModel';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html'\n})\nexport class HeaderComponent implements OnInit {\n @Input() cabeceraPrincipal : boolean | undefined;\n opcionesMenu!: MenuItemModel[];\n isOpen = false;\n year = new Date().getFullYear();\n isSticky = false;\n headerHeight = 100;\n headerTop = 0;\n\n constructor() {\n }\n\n logoutWithAD() {\n // this._authService.logoutWithAzureDirectory();\n }\n\n handleMenu(): void {\n this.isOpen = !this.isOpen;\n }\n\n activeOption(item: MenuItemModel) {\n this.opcionesMenu.forEach(it => it.isActive = false);\n item.isActive = true;\n }\n\n ngOnInit(): void {\n \n }\n\n // Función para hacer el header fijo al hacer scroll\n @HostListener('window:scroll', ['$event'])\n checkScroll() {\n const scrollPosition = window.pageYOffset;\n this.isSticky = scrollPosition >= 100;\n this.headerTop = scrollPosition >= 100 ? 0 : (100 - scrollPosition);\n }\n\n}","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\nimport {SvgImporterComponent} from \"../svg-importer/svg-importer.component\";\nimport {CommonModule} from '@angular/common'\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\n\n@Component({\n standalone: true,\n selector: 'app-modal',\n templateUrl: './modal.html',\n imports: [\n SvgImporterComponent,\n CommonModule,\n ReactiveFormsModule,\n FormsModule\n ]\n})\nexport class modalComponent implements OnInit {\n datosGeneralesCheck: boolean = false;\n codigoGenerales: boolean = false;\n showContinueButton: boolean = true;\n codigo = \"\";\n @Input() showModal!: boolean;\n @Input() showbutton!: boolean;\n @Input() dataText!: string;\n @Input() datosGenerales: boolean = false;\n @Output() hiddenModal: EventEmitter = new EventEmitter();\n @Output() responseModal: EventEmitter = new EventEmitter();\n isSpecialModal: boolean = false;\n\n ngOnInit(): void {\n this.datosGeneralesCheck = this.datosGenerales;\n }\n\n toggleModal() {\n this.responseModal.emit(false);\n this.codigoGenerales = false;\n this.codigo = \"\";\n }\n \n response() {\n if (this.codigo == \"\"){\n this.responseModal.emit(true)\n }\n else{\n this.responseModal.emit(this.codigo)\n this.codigoGenerales = true;\n this.showbutton = false;\n }\n }\n \n\n onCheckboxChange(event: any)\n {\n if(event.target.checked)\n this.datosGeneralesCheck = false;\n else\n this.datosGeneralesCheck = true;\n }\n}\n","
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss']\n})\nexport class NotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n

\n Error¡Ups! Error 404\n

\n

Parece que te has perdido o que no hemos localizado lo\n que estabas buscando.

\n

Por favor, revisa la dirección de la página por si existe una errata. Si\n sigues sin poder acceder a ella, te proponemos que des selecciones una de las opciones del menu lateral:

\n Back to homepage\n
\n
\n
\n","\n\n\n","import {Component, OnInit} from '@angular/core';\nimport {MenuItemModel} from '../../../domain/models/MenuItemModel';\n\n@Component({\n selector: 'app-sidenav',\n templateUrl: './sidenav.component.html',\n})\n\nexport class SidenavComponent implements OnInit {\n\n opcionesMenu!: MenuItemModel[];\n year: number = new Date().getFullYear();\n\n constructor() {\n this.opcionesMenu = [\n {\n icon: \"agregar-icon\",\n name: \"Creación De Bolsa\",\n route: \"/crear-bolsa\",\n isActive: false\n },\n {\n icon: \"portapapeles-icon\",\n name: \"Gestión Captación\",\n route: \"/gestion-captacion\",\n isActive: false\n },\n {\n icon: \"escudo-icon\",\n name: \"Gestión Retención\",\n route: \"/gestion-retencion\",\n isActive: false\n },\n {\n icon: \"editar-icon\",\n name: \"Edición Bolsas\",\n route: \"/editar-bolsa\",\n isActive: false\n },\n {\n icon: \"eliminar-icon\",\n name: \"Eliminar Bolsas\",\n route: \"/eliminar-bolsa\",\n isActive: false\n },\n {\n icon: \"aprobacion-icon\",\n name: \"Aprobacion Bolsas\",\n route: \"/aprobacion-bolsa\",\n isActive: false\n },\n {\n icon: \"reportes-icon\",\n name: \"Consultas Y Reportes\",\n route: \"/consulta-reportes\"\n }\n ]\n }\n\n logoutWithAD() {\n // this._authService.logoutWithAzureDirectory();\n }\n\n ngOnInit(): void {\n }\n\n}\n\n","import {Component, Input, OnInit} from '@angular/core';\nimport {IconNamesEnum} from '../../../domain/models/IconNamesEnum';\n\n@Component({\n standalone: true,\n selector: 'app-svg-importer',\n templateUrl: './svg-importer.component.html',\n})\nexport class SvgImporterComponent implements OnInit {\n\n @Input()\n classes = \"\";\n\n agregarIcon: boolean = false;\n portapapelesIcon: boolean = false;\n escudoIcon: boolean = false;\n editarIcon: boolean = false;\n eliminarIcon: boolean = false;\n aprobacionIcon: boolean = false;\n reportesIcon: boolean = false;\n movistarIcon: boolean = false;\n menuIcon: boolean = false;\n closeIcon: boolean = false;\n identityIcon: boolean = false;\n keyIcon: boolean = false;\n alertIcon: boolean = false;\n addIcon: boolean = false;\n padlockIcon: boolean = false;\n shutIcon: boolean = false;\n defaultIcon: boolean = false;\n\n @Input() iconName: string = \"\";\n\n ngOnInit(): void {\n\n this.agregarIcon = this.iconName === IconNamesEnum.AGREGAR_ICON;\n\n this.portapapelesIcon = this.iconName === IconNamesEnum.PORTAPAPELES_ICON;\n\n this.escudoIcon = this.iconName === IconNamesEnum.ESCUDO_ICON;\n\n this.editarIcon = this.iconName === IconNamesEnum.EDITAR_ICON;\n\n this.eliminarIcon = this.iconName === IconNamesEnum.ELIMINAR_ICON;\n\n this.aprobacionIcon = this.iconName === IconNamesEnum.APROBACION_ICON;\n\n this.reportesIcon = this.iconName === IconNamesEnum.REPORTES_ICON;\n\n this.movistarIcon = this.iconName === IconNamesEnum.MOVISTAR_ICON;\n\n this.menuIcon = this.iconName === IconNamesEnum.MENU_ICON;\n\n this.closeIcon = this.iconName === IconNamesEnum.CLOSE_ICON;\n\n this.identityIcon = this.iconName === IconNamesEnum.IDENTITY_ICON;\n\n this.keyIcon = this.iconName === IconNamesEnum.KEY_ICON;\n\n this.addIcon = this.iconName === IconNamesEnum.ADD_LIGTH;\n\n this.padlockIcon = this.iconName === IconNamesEnum.PADLOCK;\n\n this.shutIcon = this.iconName === IconNamesEnum.SHUT_ICON;\n\n this.defaultIcon = this.iconName === IconNamesEnum.DEFAULT_ICON;\n\n }\n\n}\n","
\n\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n \n\n \n
\n\n
\n \n \n \n\n
\n\n
\n default icon\n
\n\n\n
\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { GlobalRoutes } from './global.routes';\n\n\n\n@NgModule({\n imports: [RouterModule.forChild(GlobalRoutes)],\n exports: [RouterModule]\n})\nexport class GlobalRoutingModule { }\n","import { Routes } from '@angular/router';\nimport { NotFoundComponent as GlobalNotFoundComponent} from '../components/not-found/not-found.component';\nimport { ForbiddenComponent as GlobalForbiddenComponent} from '../components/forbidden/forbidden.component';\nimport { RadicaciondatosgeneralesComponent } from 'src/app/components/presentation/components/radicaciondatosgenerales/radicaciondatosgenerales.component';\n\nexport const GlobalRoutes: Routes = [\n {\n path: \"datos-generales\",\n component: RadicaciondatosgeneralesComponent\n },\n {\n path: \"forbidden\",\n component: GlobalForbiddenComponent\n },\n {\n path:\"**\",\n redirectTo:\"not-found\"\n },\n {\n path: \"not-found\",\n component: GlobalNotFoundComponent\n }\n\n];\n","import {Inject, Injectable} from '@angular/core';\nimport {environment} from \"../../../../environments/environment\";\nimport {firstValueFrom} from \"rxjs\";\nimport { Observable } from 'rxjs';\nimport { SessionService } from './session.service';\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\n\nconst headerDict = {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n private token: any;\n constructor(private http: HttpClient, private session: SessionService, @Inject('BASE_URL') public baseUrl: string) {\n this.session.currentTokenStageMessage.subscribe(msg => { this.token = msg });\n\n }\n\n auth(userData: any): Observable {\n const httOptions = {\n headers: new HttpHeaders({\n 'Authorization': `Bearer ${this.token}`,\n 'Content-Type': 'application/json'\n })\n };\n return this.http.post(this.baseUrl + 'api/Auth/ldap', JSON.stringify(userData), httOptions);\n }\n validateAuth(): Observable {\n\n const httOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'Bearer ' + this.token\n })\n };\n return this.http.get(this.baseUrl + 'api/Auth/validateAuth',httOptions)\n }\n}\n\n\n","import { Inject, Injectable } from '@angular/core';\nimport { environment } from '../../../../environments/environment';\nimport { firstValueFrom } from 'rxjs';\nimport { Observable } from 'rxjs';\nimport { SessionService } from './session.service';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CaptchaService {\n private token: any;\n\n constructor(private http: HttpClient, private session: SessionService, @Inject('BASE_URL') public baseUrl: string) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n\n generarcaptcha():Observable {\n const httOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'Bearer ' + this.token,\n 'Content-Type': 'application/json',\n 'Response-type': 'text'\n })\n };\n return this.http.post(this.baseUrl + 'api/AuthCaptcha/captcha', httOptions);\n }\n\n validacaptcha(userData: any): Observable {\n const httOptions = {\n headers: new HttpHeaders({\n 'Authorization': 'Bearer ' + this.token,\n 'Content-Type': 'application/json',\n 'Response-type': 'text'\n })\n };\n return this.http.post(this.baseUrl + 'api/AuthCaptcha/validacaptcha', JSON.stringify(userData), httOptions);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SessionService {\n\n private tokenVarible = new BehaviorSubject(null);\n currentTokenStageMessage = this.tokenVarible.asObservable();\n\n private nameVarible = new BehaviorSubject(null);\n currentnameStageMessage = this.nameVarible.asObservable();\n\n private profileVariable = new BehaviorSubject(null);\n currentProfileStageMessage = this.profileVariable.asObservable();\n\n private companyVariable = new BehaviorSubject(null);\n currentcompanyStageMessage = this.companyVariable.asObservable();\n\n\n private departmentVariable = new BehaviorSubject(null);\n currentdeparmentStageMessage = this.departmentVariable.asObservable();\n\n constructor() { }\n\n setToken(token: any) {\n this.tokenVarible.next(token)\n }\n setName(name: any) {\n this.nameVarible.next(name);\n }\n setProfile(profiles: any) {\n this.profileVariable.next(profiles);\n }\n setCompany(company: any) {\n this.companyVariable.next(company);\n }\n setDeparment(department: any) {\n this.departmentVariable.next(department);\n }\n}","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SvgImporterComponent} from '../global/presentation/components/svg-importer/svg-importer.component';\nimport {ReactiveFormsModule} from \"@angular/forms\";\nimport {HttpClientModule} from \"@angular/common/http\";\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n SvgImporterComponent,\n ReactiveFormsModule,\n HttpClientModule,\n ],\n providers: []\n})\nexport class UsersModule {\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n\n/*\n * For easier debugging in developmec:\\Users\\lherr\\Downloads\\template-ts-angular-frontend-v1.0-master\\template-ts-angular-frontend-v1.0\\proxy.conf.jsnt mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import { Inject, Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { SessionService } from 'src/app/users/presentation/services/session.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GlobalServiceService {\n token: any;\n constructor(private http: HttpClient, private session: SessionService, @Inject('BASE_URL') public baseUrl: string) {\n this.session.currentTokenStageMessage.subscribe((msg) => {\n this.token = msg;\n });\n }\n \n get(modulo: string, params: {[key: string]: any} = {}): Observable {\n const fullUrl = `${this.baseUrl}${modulo}`;\n console.log('Full URL:', fullUrl);\n\n const headers = new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': 'https://requerimiento-judicial.telefonicawebsites.co,https://requerimiento-judicial-desa.telefonicawebsites.co,localhost:4200',\n 'Access-Control-Allow-Credentials': 'true',\n 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept, X-Auth-Token',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Authorization': `Bearer ${this.token}`\n });\n return this.http.get(fullUrl, { params, headers });\n }\n\n post(modulo: string, parameters: any) : any {\n const fullUrl = `${this.baseUrl}${modulo}`;\n console.log('Full URL:', fullUrl);\n const headers = new HttpHeaders().set('Content-Type', 'application/json').append('Authorization', `Bearer ${this.token}`)\n return this.http.post(fullUrl, '\"' + parameters.toString() + '\"' , { headers });\n }\n\n postWithoutQuotes(modulo: string, parameters: any): any {\n const fullUrl = `${this.baseUrl}${modulo}`;\n console.log('Full URL:', fullUrl);\n const headers = new HttpHeaders().set('Content-Type', 'application/json').append('Authorization', `Bearer ${this.token}`);\n return this.http.post(fullUrl, parameters, { headers });\n }\n \n} \n","/* (ignored) */"],"names":["HttpEvent","HttpHandler","HttpRequest","HTTP_INTERCEPTORS","HttpErrorResponse","BehaviorSubject","throwError","catchError","filter","switchMap","take","HttpRequestInterceptor","constructor","storageService","eventBusService","tokenService","sessionService","router","intercept","req","next","clone","withCredentials","handle","pipe","error","url","status","navigateByUrl","handle401Error","request","isRefreshing","refreshTokenSubject","GenerateGuestToken","token","bodyToken","JSON","parse","body","setToken","addTokenHeader","err","headers","set","factory","httpInterceptorProviders","provide","useClass","multi","RouterModule","AppRoutes","routerOptions","initialNavigation","AppRoutingModule","forRoot","imports","exports","NavigationEnd","i0","AppComponent","_authService","bnIdle","alertService","session","currentProfileStageMessage","subscribe","msg","navigate","setProfile","startWatching","res","showInfoAlert","events","event","mostrarHeader","mostrarMenu","selectors","decls","vars","consts","template","BrowserModule","FormsModule","ReactiveFormsModule","BrowserAnimationsModule","GlobalModule","JudicialesModule","UsersModule","CookieService","NgxCaptchaModule","FlatpickrModule","getBaseUrl","document","getElementsByTagName","href","AppModule","bootstrap","useFactory","declarations","path","loadChildren","then","m","Subject","map","EventBusService","emit","subject$","on","eventName","action","e","name","providedIn","USER_KEY","StorageService","clean","window","sessionStorage","clear","saveUser","user","removeItem","setItem","stringify","getUser","getItem","isLoggedIn","CommonModule","JudicialesRoutingModule","SvgImporterComponent","modalComponent","DropdownComponent","CalculatorComponent","ChipsComponents","RadicaciondatosgeneralesComponent","RadicacionSolicitudComponent","DetalleSolicitudComponent","ArchivosAdjuntosComponent","NotificacionesComponent","EstadoSolicitudComponent","ModalArchivosAdjuntosComponent","ModalArchivoscargadosComponent","MatIconModule","MatTooltipModule","ElementRef","Validators","Router","Swal","_captcha","formBuilder","http","pasoInfocomponentesService","blobStorageService","radicacionDetalleService","radicacionService","jgdConsecutivoService","emailService","radicacionTipoSolicitudService","parametrizacionService","crypto","buildForm","generateCaptcha","ngOnInit","datosSolicitud","obtenerDatosFormulario","console","log","datosRadicacion","openModal","showModal","handleModalResponse","response","onSubmit","detalleForm","group","file","required","captcha","onButtonClick","fileInput","nativeElement","click","onFileChange","fileTypeNomenclatures","inputFile","target","fileText","getElementById","files","length","uploadedFileCategories","selectedFileType","pesoExcedido","filesFilter","Array","from","size","fileTypeExtensions","formatoIncorrecto","fileExtension","split","includes","nombreLargo","maxLength","mostrarNotificacion","newFileName","replace","customFile","File","type","jgdCode","fileNames","join","textContent","currentFiles","get","value","setValue","showFiles","showModalArchivosCargados","fire","title","icon","removeFile","index","fileCategory","splice","handleModalAccept","generarcaptcha","captchaObject","captchaUrl","values","Image","captchaCode","space","captchaImage","imageUrl","validateCaptcha","userData","code","validacaptcha","toPromise","captchaError","showErrorAlert","message","valid","showLoadingAlert","isCaptchaValid","operationsCount","jgdCodeResponse","generateCode","containerName","uploadFiles","fileUploadSuccess","usuario","GetUsuarioRadicacion","usuarioRadicacion","radicacionData","encryptData","datosEnvio","Date","toISOString","noticiaCriminal","entidad","otraEntidad","nombreFuncionario","expirationDate","radicacionResponse","postRadicacion","solicitudesPromises","solicitud","promise","getRadicacionTipoSolicitudByTipo","infoInvestigar","data","idTipoSolicitud","radicacionDetalleData","t_solicitud","v_investigar","id_tipo_servicio","nombre_cliente","endDate","initDate","validacionCriterio","fechaValidaTraficoMovil","fechaValidaTraficoFija","push","x","Promise","all","resp","postRadicacionDetalle","entidadEnvio","showSuccessAlertWithJgdCode","emailBody","saludo","mensajePrincipal","cierre","sendEmail","setTimeout","location","reload","isSubmitting","close","originalFileName","sanitizedFileName","renamedFile","tipoArchivo","viewQuery","ctx","EventEmitter","toggleModal","showModalChange","responseModal","toggleCheckbox","checkboxSelected","inputs","modalContent","outputs","onRemoveFile","onAccept","accept","FormGroup","firstValueFrom","PasoInfocomponentesService","RadicacionSolicitudService","enableTime","dateFormat","time24hr","defaultHour","defaultMinute","enableSeconds","minTime","maxTime","errors","control","parent","getTime","endDateInvalida","currentDateTime","getCurrentDateTimeString","getreqjud_Criterios","t_solicitudOptions","getreqjud_operaciones","id_tipo_servicioOptions","getInformacionInvestigar","informacionInvestigarOptions","llenarlista","closeAlert","getMaxDateTimeEndDate","interno","getFormGroupAtIndex","isChecked1","isChecked4","isChecked7","isChecked10","hoy","milisegundosEnUnDia","dosDiasAtras","fechaMaxima","day","padZero","getDate","calcularDiferenciaEnDias","year","getFullYear","month","getMonth","hours","getHours","minutes","getMinutes","onInputValor","lenghtMaximo","GetMaxLenght","tipos","tipo","undefined","text","newText","toUpperCase","substring","tipoDeServicio","tipoDeSolicitud","getMinDateTimeEndDate","fechaMinima","now","getMaxDateTimeInitDate","toString","padStart","lista","forEach","element","valoresInvestigar","informacionInvestigar","info","valor","trim","valorSolicitud","agregarSolicitud","propsToSkip","prop","find","propSKip","startsWith","informacion","checks","tipologia","w","check","solicitudes","array","fechaActual","año","mes","slice","dia","hora","minutos","segundos","getSeconds","createSolicitudFormGroup","formatDate","date","d","minLengthValidator","maxLengthValidator","onlyNumbersValidator","validateendDate","guardada","onChangeList","test","onlyNumbers","minLength","minlength","requiredLength","actualLength","maxlength","at","devolverYAgregar","finalizarRegistro","savedData","solicitudForm","jsonData","idRadicado","corregir","editIndex","originalSolicitud","isEditing","eliminar","removeAt","guardar","submitAttempted","IsValid","isValidDate","endDateValue","currentDateGMTMinus5","setHours","cancelar","markAllAsTouched","isReadOnly","eliminarSolicitud","agregarNuevaSolicitud","getFieldErrors","fieldName","formGroup","getErrorMessage","key","hasOwnProperty","field","fields","f","isFieldValid","formatAmPm","seconds","ampm","formattedTime","filtrarLista","item","criterioValor","filtrarListaInfo","fecha1","fecha2","unDiaEnMilisegundos","milisegundosFecha1","milisegundosFecha2","diferenciaEnMilisegundos","Math","abs","diasDiferencia","floor","FormBuilder","forminicial","formgestion","num_solicitud","radicado","obj","GetRadicacionConsulta","filasRespuesta","filas","getFormatDate","fecha","fechaCompleta","anio","String","fechaFormateada","getTextoEspecifico","estado","estados","AlertService","clipboardService","showSuccessAlert","confirmButtonText","customClass","container","popup","htmlContainer","confirmButton","showSuccessAlertarchivos","position","showConfirmButton","timer","html","willOpen","getPopup","copyButton","querySelector","redirectButton","jgdInput","addEventListener","navigator","clipboard","writeText","showWarningAlert","mensaje","duracion","timerProgressBar","toast","showInputAlert","inputPlaceholder","input","options","allowOutsideClick","didOpen","showLoading","loadingSwalDisplayed","notificacionesService","notificacion$","notificacion","visible","NotificacionesService","ChangeDetectorRef","FormControl","_datosradicacion","cdr","getRequiredFields","requiredFields","loaded","listascriterios","listasoperaciones","datosFormulario","savedForm","internoForm","equipmentForm","savedGroup","newGroup","disable","onlySelf","emitEvent","onLoadBack","onLoadDatosBiograficos","validabotoneliminar","listacriterios","listaoperaciones","medicineCabinetOption","disabled","isChecked2","isChecked3","isChecked5","isChecked6","isChecked8","isChecked9","isChecked11","isChecked12","isChecked13","isChecked14","isChecked15","isChecked16","isChecked17","isChecked18","isChecked19","isChecked20","isChecked21","isChecked22","isChecked23","isChecked24","isChecked25","isChecked26","validators","checkSelectedValidator","bind","controls","isCheckedSelected","Object","some","noCheckSelected","isValid","yyy","key_1","lenghtbool","isValidLenght","Number","lenghtMax","valores","onChange","onChangeCDRsImei","onChangeuno","onChangeLinea","onChangedos","selectCheckbox10","y","enable","selectCheckbox17","restablecimiento","contratos","datos","DisableEnableAllValues","selectCheckbox13","i","controlName","TrueFalseAllValues","TrueFalseAllValuesOnLoad","onChangeUltimaUbicacion","onInput","replaceAll","result","onChangeTipoDeServicio","onSelectDireccionPunto","onSelectCelda","onSelectIp","mesAux","fechaFin","selectCheckbox8","deleteLesson","lessonIndex","validateForms","forms","pristine","addInteres","Forminterno","updateValueAndValidity","validaeliminar","minimizarFormulario","minimizados","validaChecks","Informacion","getRawValue","allFalse","pasodatos","fechaActualMenosCincoAños","setUTCFullYear","getUTCFullYear","setTime","fechaActualMenosUnAño","guardarDatosFormulario","clickCDR","CDRClick","validarSiTodosSonValidos","allok","setDate","formulario","algunDRs","fechaInicio","sharedServices","_ipAddress","radicacionDatos","patchValue","dateRequest","toLocaleString","getTextosParametrizacion","getEntidades","keyName","dataTextModal","keyValue","entidades","$event","showbuttonModal","buttonDisabled","validacionEntidad","selectedValue","mostrarOtraEntidad","responseModalEmail","showModalEmail","correo","codigo","postWithoutQuotes","item1","item2","email","minDateValidator","minDate","selectedDate","urlRegexValidator","regexPattern","caracteresEspeciales","validaCampos","save","validarNoticiaCriminal","ip","GetIpAddress","post","camposValidados","valida","noNoticiaCriminal","dataencrypt","decryptData","cifrado","datadecrypt","objNotCriminal","getIdPricing","getSegment","getHolding","getOrigin","getIdentification","getInitDate","getFinishDate","idFinishDateValid","getValidity","getApprovedAmount","getApprovedLines","getMedicineCabinetType","getMedicineCabinetOption","getApprovedAmountKit","idEquipmentSelectedValue","idQuantityEquipmentSelectedValue","JudicialesRoutes","forChild","pathMatch","component","HttpHeaders","BlobStorageService","baseUrl","currentTokenStageMessage","idDetalle","observacion","formData","FormData","append","httpOptions","params","uploadEndpoint","downloadFile","fileName","responseType","deleteFile","delete","CryptoJS","EmailService","subjectC","bodyDec","bodyStr","mail","subjectCEnc","sendEmailEndpoint","textToEncrypt","enc","Utf8","secretKey","iv","encrypted","AES","encrypt","EncryptService","textToDecrypt","decrypted","decrypt","IpaddressService","getIpAddress","decryptedData","JgdConsecutivoService","generateCodeUrl","ParametrizacionService","getParametrizacion","getEndpoint","RadicacionDetalleService","apiUrl","deleteRadicacion","id","apiUrlDelete","httOptions","getCriterios","getoperaciones","informacionInvestigarPath","RadicacionTipoSolicitudService","RadicacionService","PostRadicacionConsulta","apiUrldos","getUsuarioRadicacion","TokenService","updateUsuarios","IconNamesEnum","SidenavComponent","HeaderComponent","ContainerComponent","FooterComponent","NotFoundComponent","ForbiddenComponent","GlobalRoutingModule","BreadcrumbComponent","FilterPipe","transform","arg","resultPost","toLowerCase","indexOf","pure","_router","evt","_val","historical","urlAfterRedirects","paths","shift","el","route","isActive","redirectToEstadoSolicitud","redirectToInicio","downloadManual","blob","Blob","URL","createObjectURL","open","downloadTutorial","downloadRequisitos","menu","CurrencyPipe","NgIf","calculate","calculatorForm","payClient","idValuePayClient","scl","idValueSCLorRenova","markAsTouched","sendFatherData","toFixed","onSCLorRenovaValue","onPayClientValue","valueSCLorRenova","valuePayClient","percentageSCL","equipmentValue","idPercentageSCL","idEquipment","standalone","features","encapsulation","NgForOf","deleteItem","identification","deleteIdentification","listIdentifications","toggle","show","select","selectedItem","OnChange","filterPost","changeFruit","fruit","selectedFruit","items","placeHolder","logoutWithAD","handleMenu","isOpen","activeOption","opcionesMenu","it","checkScroll","scrollPosition","pageYOffset","isSticky","headerTop","hostBindings","datosGeneralesCheck","datosGenerales","codigoGenerales","showbutton","onCheckboxChange","checked","dataText","hiddenModal","agregarIcon","iconName","AGREGAR_ICON","portapapelesIcon","PORTAPAPELES_ICON","escudoIcon","ESCUDO_ICON","editarIcon","EDITAR_ICON","eliminarIcon","ELIMINAR_ICON","aprobacionIcon","APROBACION_ICON","reportesIcon","REPORTES_ICON","movistarIcon","MOVISTAR_ICON","menuIcon","MENU_ICON","closeIcon","CLOSE_ICON","identityIcon","IDENTITY_ICON","keyIcon","KEY_ICON","addIcon","ADD_LIGTH","padlockIcon","PADLOCK","shutIcon","SHUT_ICON","defaultIcon","DEFAULT_ICON","classes","GlobalRoutes","GlobalNotFoundComponent","GlobalForbiddenComponent","redirectTo","headerDict","AuthService","auth","validateAuth","CaptchaService","SessionService","tokenVarible","asObservable","nameVarible","profileVariable","companyVariable","departmentVariable","setName","profiles","setCompany","company","setDeparment","department","HttpClientModule","environment","production","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","catch","HttpClient","GlobalServiceService","modulo","fullUrl","parameters"],"sourceRoot":"webpack:///","x_google_ignoreList":[77]}