{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/guards/auth.guard.ts","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/material.module.ts","./src/app/models/usuario.model.ts","./src/app/pages/analytics/analytics-routing.module.ts","./src/app/pages/analytics/analytics.component.ts","./src/app/pages/analytics/analytics.component.html","./src/app/pages/analytics/analytics.module.ts","./src/app/pages/analytics/analytics.service.ts","./src/app/pages/analytics/cargar/cargar.component.ts","./src/app/pages/analytics/cargar/cargar.component.html","./src/app/pages/conexion/conexion-nueva/conexion-nueva.component.ts","./src/app/pages/conexion/conexion-nueva/conexion-nueva.component.html","./src/app/pages/conexion/conexion-routing.module.ts","./src/app/pages/conexion/conexion.component.ts","./src/app/pages/conexion/conexion.component.html","./src/app/pages/conexion/conexion.module.ts","./src/app/pages/conexion/conexion.service.ts","./src/app/pages/pages.component.ts","./src/app/pages/pages.component.html","./src/app/pages/pages.module.ts","./src/app/pages/pages.service.ts","./src/app/pages/proyecto/avance/avance-excel.service.ts","./src/app/pages/proyecto/avance/avance-filtro/avance-filtro.component.ts","./src/app/pages/proyecto/avance/avance-filtro/avance-filtro.component.html","./src/app/pages/proyecto/avance/avance.component.ts","./src/app/pages/proyecto/avance/avance.component.html","./src/app/pages/proyecto/avance/avance.service.ts","./src/app/pages/proyecto/avanzadas/avanzadas.component.ts","./src/app/pages/proyecto/avanzadas/avanzadas.component.html","./src/app/pages/proyecto/avanzadas/avanzadas.service.ts","./src/app/pages/proyecto/codificacion/codificacion-filtro/codificacion-filtro.component.ts","./src/app/pages/proyecto/codificacion/codificacion-filtro/codificacion-filtro.component.html","./src/app/pages/proyecto/codificacion/codificacion.component.ts","./src/app/pages/proyecto/codificacion/codificacion.component.html","./src/app/pages/proyecto/codificacion/codificacion.service.ts","./src/app/pages/proyecto/codigo/codigo-excel.service.ts","./src/app/pages/proyecto/codigo/codigo.component.ts","./src/app/pages/proyecto/codigo/codigo.component.html","./src/app/pages/proyecto/codigo/codigo.service.ts","./src/app/pages/proyecto/descarga/descarga.component.ts","./src/app/pages/proyecto/descarga/descarga.component.html","./src/app/pages/proyecto/detalle-proyecto/detalle-excel.service.ts","./src/app/pages/proyecto/detalle-proyecto/detalle-proyecto.component.ts","./src/app/pages/proyecto/detalle-proyecto/detalle-proyecto.component.html","./src/app/pages/proyecto/detalle-proyecto/detalle-proyecto.service.ts","./src/app/pages/proyecto/evento/evento.component.ts","./src/app/pages/proyecto/evento/evento.component.html","./src/app/pages/proyecto/evento/evento.service.ts","./src/app/pages/proyecto/importar/importar.component.ts","./src/app/pages/proyecto/importar/importar.component.html","./src/app/pages/proyecto/importar/importar.service.ts","./src/app/pages/proyecto/pantalla/filtro/filtro.component.ts","./src/app/pages/proyecto/pantalla/filtro/filtro.component.html","./src/app/pages/proyecto/pantalla/pantalla.component.ts","./src/app/pages/proyecto/pantalla/pantalla.component.html","./src/app/pages/proyecto/pantalla/pantalla.service.ts","./src/app/pages/proyecto/pantalla/valida/valida.component.ts","./src/app/pages/proyecto/pantalla/valida/valida.component.html","./src/app/pages/proyecto/proyecto-routing.module.ts","./src/app/pages/proyecto/proyecto.component.ts","./src/app/pages/proyecto/proyecto.component.html","./src/app/pages/proyecto/proyecto.module.ts","./src/app/pages/proyecto/proyecto.service.ts","./src/app/pages/proyecto/registro/registro-edita/registro-edita.component.ts","./src/app/pages/proyecto/registro/registro-edita/registro-edita.component.html","./src/app/pages/proyecto/registro/registro-filtro/registro-filtro.component.ts","./src/app/pages/proyecto/registro/registro-filtro/registro-filtro.component.html","./src/app/pages/proyecto/registro/registro-logs/registro-logs.component.ts","./src/app/pages/proyecto/registro/registro-logs/registro-logs.component.html","./src/app/pages/proyecto/registro/registro-nuevo/registro-nuevo.component.ts","./src/app/pages/proyecto/registro/registro-nuevo/registro-nuevo.component.html","./src/app/pages/proyecto/registro/registro.component.ts","./src/app/pages/proyecto/registro/registro.component.html","./src/app/pages/proyecto/registro/registro.service.ts","./src/app/pages/proyecto/revision/revision-filtro/revision-filtro.component.ts","./src/app/pages/proyecto/revision/revision-filtro/revision-filtro.component.html","./src/app/pages/proyecto/revision/revision.component.ts","./src/app/pages/proyecto/revision/revision.component.html","./src/app/pages/proyecto/revision/revision.service.ts","./src/app/pages/proyecto/vista/vista.component.ts","./src/app/pages/proyecto/vista/vista.component.html","./src/app/pages/proyecto/vista/vista.service.ts","./src/app/pages/usuario/asigna-ver/asigna-ver.component.ts","./src/app/pages/usuario/asigna-ver/asigna-ver.component.html","./src/app/pages/usuario/asigna/asigna.component.ts","./src/app/pages/usuario/asigna/asigna.component.html","./src/app/pages/usuario/usuario-nuevo/usuario-nuevo.component.ts","./src/app/pages/usuario/usuario-nuevo/usuario-nuevo.component.html","./src/app/pages/usuario/usuario-routing.module.ts","./src/app/pages/usuario/usuario.component.ts","./src/app/pages/usuario/usuario.component.html","./src/app/pages/usuario/usuario.module.ts","./src/app/pages/usuario/usuario.service.ts","./src/app/public/public.component.ts","./src/app/public/public.component.html","./src/app/service/auth.service.ts","./src/environments/environment.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACiC;AAEjB;AACG;;;AAG5D,MAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,wEAAe,EAAE;IAC/C,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,qEAAc,EAAE;IAC5C,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;CACxD,CAAC;AAQK,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBALlB,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrC,kBAAkB,EAAE,iEAAiB;aACtC,CAAC,CAAC;QACO,4DAAY;mIAEX,gBAAgB,uFAFjB,4DAAY;6FAEX,gBAAgB;cAN5B,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE;wBACrC,kBAAkB,EAAE,iEAAiB;qBACtC,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;AClBD;AAAA;AAAA;AAAA;AAA0C;;;AAOnC,MAAM,YAAY;IALzB;QAME,UAAK,GAAG,QAAQ,CAAC;KAClB;;wEAFY,YAAY;4FAAZ,YAAY;QCPzB,2EAA+B;;6FDOlB,YAAY;cALxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACjB;AACU;AACN;AACW;AACuB;AACvB;AACL;AAEA;AACe;AACH;AACG;AAEnB;AACU;AACG;AACS;;AA0B9D,MAAM,SAAS;;wFAAT,SAAS,cAFR,4DAAY;4IAEb,SAAS,mBAHT,EAAE,YAdJ;YACP,uEAAa;YACb,4FAAuB;YACvB,+DAAc;YACd,0DAAW;YACX,qEAAgB;YAChB,+DAAW;YACX,8EAAc;YACd,4EAAa;YACb,+EAAc;YACd,kFAAe;YACf,gEAAkB;YAClB,oEAAgB;SACjB;mIAIU,SAAS,mBArBlB,4DAAY;QACZ,sEAAc;QACd,yEAAe,aAGf,uEAAa;QACb,4FAAuB;QACvB,+DAAc;QACd,0DAAW;QACX,qEAAgB;QAChB,+DAAW;QACX,8EAAc;QACd,4EAAa;QACb,+EAAc;QACd,kFAAe;QACf,gEAAkB;QAClB,oEAAgB;6FAKP,SAAS;cAvBrB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,4DAAY;oBACZ,sEAAc;oBACd,yEAAe;iBAChB;gBACD,OAAO,EAAE;oBACP,uEAAa;oBACb,4FAAuB;oBACvB,+DAAc;oBACd,0DAAW;oBACX,qEAAgB;oBAChB,+DAAW;oBACX,8EAAc;oBACd,4EAAa;oBACb,+EAAc;oBACd,kFAAe;oBACf,gEAAkB;oBAClB,oEAAgB;iBACjB;gBACD,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,CAAC,4DAAY,CAAC;aAC1B;;;;;;;;;;;;;;AC1CD;AAAA;AAAA;AAAA;AAAA;AAA2C;;;;AAQpC,MAAM,SAAS;IAEpB,YACU,IAAiB,EACjB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAQ;IACtB,CAAC;IAEH,WAAW;QACT,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;aAAI;YACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;SACd;IAEH,CAAC;;kEAfU,SAAS;4FAAT,SAAS,WAAT,SAAS,mBAFR,MAAM;6FAEP,SAAS;cAHrB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAIK;AAGxB;;;;;;;ICE7B,2EACsB;IAAA,kFAAuB;IAAA,4DAAO;;;IAUpD,2EACsB;IAAA,qFAA0B;IAAA,4DAAO;;ADPlD,MAAM,cAAc;IAGzB,YACU,IAAiB,EACjB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAQ;QAJxB,YAAO,GAAiB,IAAI,kEAAY,EAAE,CAAC;QAC3C,aAAQ,GAAG,KAAK,CAAC;IAIb,CAAC;IAEL,QAAQ;QACN,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;IAED,KAAK,CAAE,IAAY;QACjB,IAAG,IAAI,CAAC,OAAO,EAAC;YACd,OAAO;SACR;QAED,kDAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,YAAY;YACnB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,GAAG,EAAE;gBACjB,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1B,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,kDAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aACnD;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAE,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;QACH,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YAET,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAChB,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,sBAAsB;aAC7B,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACP,CAAC;;4EAlDU,cAAc;8FAAd,cAAc;;QCd3B,6EAKE;QAJA,sRAAY,cAAQ,IAAC;QAKrB,wEAAyE;QAAA,iEAAM;QAAA,4DAAK;QACpF,wEAAuC;QAAA,8EAAc;QAAA,4DAAK;QAE1D,4GACsB;QACtB,2EASA;QAJE,yLAA2B;QAL7B,4DASA;QAAA,4GACsB;QACtB,2EAQA;QAHE,4LAA8B;QALhC,4DAQA;QAAA,0EACE;QAAA,yEACE;QAAA,4EAIuB;QAFrB,qLAAsB;QAFxB,4DAIuB;QAAA,wEACzB;QAAA,4DAAQ;QACV,4DAAM;QAEN,6EAA+D;QAAA,+EAAc;QAAA,4DAAS;QACtF,yEAAgC;QAAA,yEAAa;QAAA,4DAAI;QAEnD,4DAAO;;;QAlCC,0DAAiD;QAAjD,+GAAiD;QAOrD,0DAA2B;QAA3B,sFAA2B;QAIvB,0DAAoD;QAApD,kHAAoD;QAOxD,0DAA8B;QAA9B,yFAA8B;QAO1B,0DAAsB;QAAtB,iFAAsB;;6FDpBjB,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;;;;;;;;;;;;;;AEbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACgC;AACd;AACa;AACX;AACa;AACjB;AACQ;AACN;AACU;AACR;AACE;AACI;AACC;AACF;AACT;AACE;AACF;AACA;AACU;AACK;AACQ;AACrB;AACE;AACE;AACF;AACW;AACN;AACT;AACM;AACJ;AACF;AACM;AACA;AACN;AAGV;AACA;AACU;AACJ;AACE;AACJ;AACK;AACJ;AACF;AACM;AACO;;AAE7D;;EAEE;AAoDK,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc;QAjDnB,MAAM;QACN,6DAAU;QACV,6DAAU;QACV,uEAAe;QACf,mEAAa;QACb,qEAAc;QACd,iEAAY;QACZ,sEAAgB;QAChB,kEAAc;QACd,gEAAa;QACb,sEAAc;QACd,WAAW;QACX,oFAAqB;QACrB,sEAAc;QACd,mFAAoB;QACpB,wEAAe;QACf,qFAAqB;QACrB,oEAAa;QACb,4EAAiB;QACjB,sEAAc;QACd,gFAAmB;QACnB,2EAAmB;QACnB,yEAAe;QACf,2EAAgB;QAChB,+EAAkB;QAClB,gFAAkB;QAClB,8EAAiB;QACjB,qEAAa;QACb,uEAAc;QACd,qEAAa;QACb,qEAAa;QACb,+EAAkB;QAClB,oFAAoB;QACpB,4FAAwB;QACxB,uEAAc;QACd,yEAAe;QACf,2EAAgB;QAChB,yEAAe;QACf,oFAAoB;QACpB,8EAAiB;QACjB,qEAAa;QACb,2EAAgB;QAChB,uEAAc;QACd,qEAAa;QACb,2EAAgB;QAChB,2EAAgB;QAChB,qEAAa;mIAGR,cAAc;QAjDnB,MAAM;QACN,6DAAU;QACV,6DAAU;QACV,uEAAe;QACf,mEAAa;QACb,qEAAc;QACd,iEAAY;QACZ,sEAAgB;QAChB,kEAAc;QACd,gEAAa;QACb,sEAAc;QACd,WAAW;QACX,oFAAqB;QACrB,sEAAc;QACd,mFAAoB;QACpB,wEAAe;QACf,qFAAqB;QACrB,oEAAa;QACb,4EAAiB;QACjB,sEAAc;QACd,gFAAmB;QACnB,2EAAmB;QACnB,yEAAe;QACf,2EAAgB;QAChB,+EAAkB;QAClB,gFAAkB;QAClB,8EAAiB;QACjB,qEAAa;QACb,uEAAc;QACd,qEAAa;QACb,qEAAa;QACb,+EAAkB;QAClB,oFAAoB;QACpB,4FAAwB;QACxB,uEAAc;QACd,yEAAe;QACf,2EAAgB;QAChB,yEAAe;QACf,oFAAoB;QACpB,8EAAiB;QACjB,qEAAa;QACb,2EAAgB;QAChB,uEAAc;QACd,qEAAa;QACb,2EAAgB;QAChB,2EAAgB;QAChB,qEAAa;6FAGR,cAAc;cAnD1B,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,MAAM;oBACN,6DAAU;oBACV,6DAAU;oBACV,uEAAe;oBACf,mEAAa;oBACb,qEAAc;oBACd,iEAAY;oBACZ,sEAAgB;oBAChB,kEAAc;oBACd,gEAAa;oBACb,sEAAc;oBACd,WAAW;oBACX,oFAAqB;oBACrB,sEAAc;oBACd,mFAAoB;oBACpB,wEAAe;oBACf,qFAAqB;oBACrB,oEAAa;oBACb,4EAAiB;oBACjB,sEAAc;oBACd,gFAAmB;oBACnB,2EAAmB;oBACnB,yEAAe;oBACf,2EAAgB;oBAChB,+EAAkB;oBAClB,gFAAkB;oBAClB,8EAAiB;oBACjB,qEAAa;oBACb,uEAAc;oBACd,qEAAa;oBACb,qEAAa;oBACb,+EAAkB;oBAClB,oFAAoB;oBACpB,4FAAwB;oBACxB,uEAAc;oBACd,yEAAe;oBACf,2EAAgB;oBAChB,yEAAe;oBACf,oFAAoB;oBACpB,8EAAiB;oBACjB,qEAAa;oBACb,2EAAgB;oBAChB,uEAAc;oBACd,qEAAa;oBACb,2EAAgB;oBAChB,2EAAgB;oBAChB,qEAAa;iBAChB;aACJ;;;;;;;;;;;;;;ACtGD;AAAA;AAAO,MAAM,YAAY;CAGxB;;;;;;;;;;;;;ACHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACc;AAEd;AAEkB;;;AAG3D,MAAM,MAAM,GAAW;IACnB,oDAAK,CAAC,WAAW,CAAC;QACd,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,uEAAkB,EAAE;KACvD,CAAC;CACL,CAAC;AAOK,MAAM,sBAAsB;;qGAAtB,sBAAsB;sKAAtB,sBAAsB,mBAFpB,EAAE,YAFJ,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,4DAAY;mIAGb,sBAAsB,uFAHrB,4DAAY;6FAGb,sBAAsB;cALlC,sDAAQ;eAAC;gBACN,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,4DAAY,CAAC;gBACvB,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBiD;AAEW;AAE9B;AAI6B;;;;;;;;;;;;;;;ICyBpD,6EAOI;IADA,mWAAS,cAAgB,IAAC;IAC1B,2EAAU;IAAA,uEAAY;IAAA,4DAAW;IACrC,4DAAS;;;;IAMG,yEACI;IAAA,wEACI;IAAA,qEACI;IAAA,qEAAI;IAAA,uDAAU;IAAA,4DAAK;IACnB,qEACI;IAAA,6EAGI;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAClC,4DAAS;IACT,qFACI;IAAA,8EAGI;IADA,mcAAmC;IACnC,4EAAU;IAAA,sEAAU;IAAA,4DAAW;IAC/B,wEAAM;IAAA,4EAAgB;IAAA,4DAAO;IACjC,4DAAS;IACT,8EAII;IADA,ucAAuC;IACvC,4EAAU;IAAA,oEAAQ;IAAA,4DAAW;IAC7B,wEAAM;IAAA,+EAAmB;IAAA,4DAAO;IACpC,4DAAS;IACb,4DAAW;IACf,4DAAK;IACT,4DAAK;IACT,4DAAQ;IACZ,4DAAK;;;;IAzBW,0DAAU;IAAV,4EAAU;IAIN,0DAA0B;IAA1B,oFAA0B;;;IAsB9C,yEAII;IAAA,uDACJ;IAAA,4DAAK;;;;IADD,0DACJ;IADI,qGACJ;;;IAnCA,4EACA;IAAA,oIACI;IA4BJ,mIAII;IAEJ,qEAAe;;;IApCD,qFAAuB;;;IAsCrC,oEAAoE;;;IACpE,oEAA4D;;;IAzCpE,0EACI;IAAA,4EACI;IAAA,wIACA;IAqCA,oHAA+D;IAC/D,oHAAuD;IAC3D,4DAAQ;IACZ,4DAAM;;;IA1Ce,0DAAyB;IAAzB,2FAAyB;IACA,0DAA8C;IAA9C,wFAA8C;IAsCjE,0DAA2C;IAA3C,gGAA2C;IAClD,0DAA0C;IAA1C,iGAA0C;;ADrEnE,MAAM,kBAAkB;IAY7B,YACS,MAAiB,EAChB,gBAAkC;QADnC,WAAM,GAAN,MAAM,CAAW;QAChB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAZ5C,eAAU,GAAG,IAAI,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,cAAS,GAAG,EAAE,CAAC;QAEf,WAAM,GAAY,IAAI,CAAC;QAEvB,aAAQ,GAAG,EAAE,CAAC;QACd,UAAK,GAAG,IAAI,CAAC;QACb,WAAM,GAAG,EAAE,CAAC;IAKR,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,IAAS;QACjB,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,oBAAoB;YAC3B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;aAClC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wEAAe,EAAE;YAClD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,qBAAqB,CAAC,MAAc;;YACxC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,kDAAI,CAAC,IAAI,CAAC;gBACtC,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,8BAA8B,MAAM,EAAE;gBAC7C,IAAI,EAAE,4EAA4E;gBAClF,UAAU,EAAE,6FAA6F;gBACzG,gBAAgB,EAAE,IAAI;gBACtB,gBAAgB,EAAE,UAAU;gBAC5B,iBAAiB,EAAE,MAAM;aAC1B,CAAC;YAEF,IAAI,IAAI,EAAE;gBACR,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,oBAAoB;oBAC3B,iBAAiB,EAAE,KAAK;oBACxB,MAAM,EAAE,GAAG,EAAE;wBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,OAAO,KAAK,GAAG,CAAC,EAAE;oBAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAC,EAAE,CAAC;oBAClC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC9B;gBACD,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAErC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAClD,CAAC,IAAI,EAAE,EAAE;oBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;oBACnC,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACzD,kDAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,qCAAqC;qBAC5C,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5B;QACH,CAAC;KAAA;IAEK,iBAAiB,CAAC,MAAc;;YACpC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,kDAAI,CAAC,IAAI,CAAC;gBACtC,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE,QAAQ;gBACf,YAAY,EAAE;oBACZ,KAAK,EAAE,cAAc;oBACrB,OAAO,EAAE,kBAAkB;oBAC3B,KAAK,EAAE,iBAAiB;iBACzB;gBACD,gBAAgB,EAAE,6BAA6B;gBAC/C,gBAAgB,EAAE,IAAI;gBACtB,gBAAgB,EAAE,UAAU;gBAC5B,iBAAiB,EAAE,MAAM;gBACzB,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;oBACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC7B,IAAI,CAAC,KAAK,EAAE;4BACV,OAAO,CAAC,iBAAiB,CAAC,CAAC;yBAC5B;6BAAI;4BACH,OAAO,CAAC,EAAE,CAAC;yBACZ;oBACH,CAAC,CAAC;gBACJ,CAAC;aACF,CAAC;YAEF,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChC,kDAAI,CAAC,KAAK,EAAE,CAAC;aACd;QAEH,CAAC;KAAA;;oFAhJU,kBAAkB;kGAAlB,kBAAkB;;QChB/B,2FACI;QAAA,oFAOI;QADA,0LAAmB;QACnB,4EAKI;QADA,0RAAS,cAAgB,IAAC;QAC1B,2EAAU;QAAA,wEAAa;QAAA,4DAAW;QACtC,4DAAS;QAET,+EACI;QAAA,yEACI;QAAA,uEAIC;QADG,qIAAS,qBAAiB,IAAC;QAC9B,8EAAuB;QAAA,2EAAe;QAAA,4DAAW;QAAA,wEAAY;QAAA,4DAAI;QAClE,wEAGC;QAAA,+EAAuB;QAAA,6EAAiB;QAAA,4DAAW;QAAA,2EAAe;QAAA,4DAAI;QAC3E,4DAAM;QACV,4DAAe;QAEnB,4DAAc;QAEd,uFACI;QAAA,sHAOI;QAEJ,0EACI;QAAA,sEAAI;QAAA,4EAA6B;QAAA,uEAAW;QAAA,4DAAO;QAAA,qEAAS;QAAA,4DAAK;QACjE,iHACI;QA2CR,4DAAM;QACV,4DAAsB;QAC1B,4DAAwB;;QAnFhB,0DAAmB;QAAnB,8EAAmB;QA4Bf,2DAAe;QAAf,6EAAe;QASV,0DAAkB;QAAlB,gFAAkB;;6FD5BtB,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;AEfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACmB;AACR;AAEH;AACI;AACR;AACiB;AAET;AACC;;AAoBrD,MAAM,eAAe;;8FAAf,eAAe;wJAAf,eAAe,mBAFb,EAAE,YAfJ;YACL,4DAAY;YACZ,+DAAc;YACd,gFAAsB;YACtB,0DAAW;YACX,kEAAmB;YACnB,wEAAoB;YACpB,uEAAa;YACb,gEAAkB;SACrB;mIAQQ,eAAe,mBALpB,uEAAkB;QAClB,wEAAe,aAZf,4DAAY;QACZ,+DAAc;QACd,gFAAsB;QACtB,0DAAW;QACX,kEAAmB;QACnB,wEAAoB;QACpB,uEAAa;QACb,gEAAkB;6FASb,eAAe;cAlB3B,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,4DAAY;oBACZ,+DAAc;oBACd,gFAAsB;oBACtB,0DAAW;oBACX,kEAAmB;oBACnB,wEAAoB;oBACpB,uEAAa;oBACb,gEAAkB;iBACrB;gBACD,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE;oBACV,uEAAkB;oBAClB,wEAAe;iBAClB;gBACD,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;AC9BD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,gBAAgB;IAG3B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAGL,uCAAuC;IACvC,YAAY;QACV,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,yCAAyC;IACzC,UAAU,CAAC,QAAgB;QACzB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,oBAAoB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,mDAAmD;IACnD,eAAe,CAAC,QAAgB,EAAE,KAAa;QAC7C,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,oBAAoB,QAAQ,IAAI,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,wCAAwC;IACxC,SAAS,CAAC,IAAS;QACjB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,6CAA6C;IAC7C,QAAQ,CAAC,IAAS;QAChB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,qBAAqB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;;gFAxDU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACuB;AACR;AAE1C;;;;;;;;;;;;;;;ICAG,wEAAQ;;;IAK1B,iFACI;IAAA,uDACJ;IAAA,4DAAa;;;IAFqC,gFAAkB;IAChE,0DACJ;IADI,mGACJ;;;;IAIR,sEACI;IAAA,wEAAO;IAAA,uFAAuB;IAAA,4DAAQ;IACtC,sFAII;IADA,kWAAsC;IACtC,uFAA4B;IAAA,wEAAa;IAAA,4DAAmB;IAC5D,uFAA4B;IAAA,6EAAkB;IAAA,4DAAmB;IACrE,4DAAkB;IACtB,4DAAM;;;;IAEN,0EAGI;IAAA,qEAAI;IAAA,qFAAqB;IAAA,4DAAK;IAC9B,uEAAM;IAAA,0EAAe;IAAA,4DAAO;IAC5B,0FAMsB;IAFlB,6VAAmC;IAEvC,4DAAsB;IACtB,gEACA;IAAA,uEAAM;IAAA,2EAAgB;IAAA,4DAAO;IAC7B,qFAKsB;IAC1B,4DAAM;;;IAdE,0DAAkB;IAAlB,2EAAkB;IASlB,0DAAiB;IAAjB,0EAAiB;;;IAOzB,sEACI;IAAA,qEAAI;IAAA,uEAAY;IAAA,4DAAK;IACrB,qFACI;IAAA,4EAAW;IAAA,8DAAG;IAAA,4DAAY;IAC1B,0EAGuE;IAC3E,4DAAiB;IACrB,4DAAM;;AD5CP,MAAM,eAAe;IA4B1B,YACS,SAA4B,EACH,IAAS,EACjC,YAAyB,EACzB,gBAAkC;QAHnC,cAAS,GAAT,SAAS,CAAmB;QACH,SAAI,GAAJ,IAAI,CAAK;QACjC,iBAAY,GAAZ,YAAY,CAAa;QACzB,qBAAgB,GAAhB,gBAAgB,CAAkB;QA7B5C,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,oBAAe,GAAG,EAAE,CAAC;QAErB,iBAAY,GAAG;YACb,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,WAAW,EAAC,kBAAkB;YAC9B,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;QAED,uBAAkB,GAAG;YACnB,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,KAAK;YACf,WAAW,EAAC,mBAAmB;YAC/B,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;IAOG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrC,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,YAAY;QACV,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;aACjC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC/C,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,UAAU;QACR,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,qBAAqB;YAC5B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC;aACvC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC7C,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;YACH,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,eAAe;QACb,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,qBAAqB;YAC5B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC;aACnD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAClD,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAC,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;YACxF,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxF;IACH,CAAC;IAED,UAAU;QACR,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;QACpD,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;YACjD,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;YAClD,IAAI,GAAG;gBACL,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,IAAI;aACf,CAAC;SACH;aAAM;YACL,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;YACpD,IAAI,GAAG;gBACL,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,QAAQ;aACnB,CAAC;SACH;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;;8EApKU,eAAe,0MA8BhB,wEAAe;+FA9Bd,eAAe;QCb5B,wEAAqB;QAAA,yEAAc;QAAA,4DAAK;QACxC,wFACI;QAAA,qEAAI;QAAA,iGAAsC;QAAA,4DAAK;QAC/C,0EACI;QAAA,2HAA0B;QAC1B,qEAAI;QAAA,oFAAoB;QAAA,4DAAK;QAC7B,oFACI;QAAA,6EAAW;QAAA,yEAAQ;QAAA,4DAAY;QAC/B,iFACI;QAAA,2HACI;QAER,4DAAa;QACjB,4DAAiB;QACjB,iEACA;QAAA,6GACI;QASJ,iEACA;QAAA,8GAGI;QAkBJ,iEACA;QAAA,6GACI;QASJ,iEAEA;QAAA,0EACI;QAAA,8EAI2B;QAAvB,wIAAS,gBAAY,IAAC;QAAC,wEAAY;QAAA,4DAAS;QACpD,4DAAM;QACV,4DAAO;QACX,4DAAqB;QACrB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QApEX,0DAA4B;QAA5B,yFAA4B;QAMV,0DAAqC;QAArC,qFAAqC;QAMpD,0DAA0D;QAA1D,0HAA0D;QAY3D,0DAAqD;QAArD,qHAAqD;QAqBpD,0DAAqD;QAArD,qHAAqD;QAelD,0DAA6C;QAA7C,4GAA6C;;6FDlDhD,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;sBA+BI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AE3C3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAGnB;;;;;;;;;;;;;ICOrB,4EAA0B;IAAA,0EAAe;IAAA,4DAAY;;;;IACrD,6EACE;IAD4E,6TAAe,EAAE,IAAC;IAC9F,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC5B,4DAAS;;;IASP,iFACE;IAAA,uDACF;IAAA,4DAAa;;;IAFuC,uFAAyB;IAC3E,0DACF;IADE,oGACF;;;IAEF,4EAA8B;IAAA,4EAAiB;IAAA,4DAAY;;;IAW3D,4EAAyB;IAAA,yEAAc;IAAA,4DAAY;;;;IACnD,6EACE;IAD2E,4TAAc,EAAE,IAAC;IAC5F,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC5B,4DAAS;;;IAST,4EAAuB;IAAA,kFAAuB;IAAA,4DAAY;;;;IAC1D,6EACE;IADyE,0TAAY,EAAE,IAAC;IACxF,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC5B,4DAAS;;;IAWT,4EAA4B;IAAA,4EAAiB;IAAA,4DAAY;;;;IACzD,6EACE;IAD8E,+TAAiB,EAAE,IAAC;IAClG,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC5B,4DAAS;;;IAST,4EAA6B;IAAA,oFAAoB;IAAA,4DAAY;;;;IAC7D,6EACE;IAD+E,gUAAkB,EAAE,IAAC;IACpG,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC5B,4DAAS;;;IAWT,4EAA2B;IAAA,2EAAgB;IAAA,4DAAY;;;;IACvD,6EACE;IAD6E,8TAAgB,EAAE,IAAC;IAChG,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC5B,4DAAS;;ADlFZ,MAAM,sBAAsB;IAkBjC,YACS,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;QAjBzC,kBAAa,GAAG;YACd,EAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAC;YACpC,EAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAC;SAC/C,CAAC;QACF,UAAK,GAAG,IAAI,CAAC;QACb,cAAS,GAAG,IAAI,CAAC;QACjB,SAAI,GAAG,IAAI,CAAC;QACZ,OAAE,GAAG,IAAI,CAAC;QACV,YAAO,GAAG,IAAI,CAAC;QACf,aAAQ,GAAG,IAAI,CAAC;QAChB,WAAM,GAAG,IAAI,CAAC;QAEd,eAAU,GAAG,KAAK,CAAC;QAEnB,iBAAY,GAAG,EAAE,CAAC;IAId,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,iCAAiC;IACjC,YAAY;QACV,kDAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,mBAAmB;YAC1B,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,GAAG,EAAE;gBACjB,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;aACpC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,IAAI,EAAE;gBACR,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,kBAAkB;oBACzB,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;iBAAI;gBACH,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,2CAA2C;iBAClD,CAAC;aACH;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,gCAAgC;aACvC,CAAC;QACJ,CAAC,CACF,CAAC;IAEJ,CAAC;IAED,wBAAwB;IACxB,cAAc;QACZ,kDAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,kBAAkB;YACzB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,GAAG,EAAE;gBACjB,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;aACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,IAAI,EAAE;gBACR,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,+BAA+B;oBACtC,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;iBAAI;gBACH,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,iDAAiD;iBACxD,CAAC;aACH;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,gCAAgC;aACvC,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,oDAAoD;IACpD,MAAM,CAAC,KAAU;QACf,QAAQ,KAAK,CAAC,KAAK,EAAE;YACnB,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,MAAM;YAER,KAAK,YAAY;gBACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;;4FA1IU,sBAAsB;sGAAtB,sBAAsB;QCVnC,wEAAqB;QAAA,8EAAc;QAAA,4DAAK;QACxC,wFACE;QAAA,wEAAgB;QAAA,gHAAgD;QAAA,4DAAK;QACrE,2EACE;QAAA,qEACE;QAAA,qEACE;QAAA,qEAAI;QAAA,6GAA6C;QAAA,4DAAK;QACtD,qFACE;QAAA,6EAAW;QAAA,iEAAK;QAAA,4DAAY;QAC5B,4EACA;QAD4B,0LAAmB;QAA/C,4DACA;QAAA,gIAA0B;QAC1B,0HACE;QAEJ,4DAAiB;QACnB,4DAAK;QACL,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QACf,sEACE;QAAA,sEAAI;QAAA,mHAAkD;QAAA,4DAAK;QAC3D,qFACE;QAAA,6EAAW;QAAA,mEAAO;QAAA,4DAAY;QAC9B,iFACE;QADU,mMAAuB,qHAAoB,kBAAc,IAAlC;QACjC,mIACE;QAEJ,4DAAa;QACb,gIAA8B;QAChC,4DAAiB;QACnB,4DAAK;QACP,4DAAK;QAEL,sEACE;QAAA,sEACE;QAAA,sEAAI;QAAA,mHAAkD;QAAA,4DAAK;QAC3D,qFACE;QAAA,6EAAW;QAAA,gEAAI;QAAA,4DAAY;QAC3B,4EACA;QAD4B,yLAAkB;QAA9C,4DACA;QAAA,gIAAyB;QACzB,0HACE;QAEJ,4DAAiB;QACnB,4DAAK;QACL,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QACf,sEACE;QAAA,sEAAI;QAAA,kGAAsC;QAAA,4DAAK;QAC/C,qFACE;QAAA,6EAAW;QAAA,yEAAa;QAAA,4DAAY;QACpC,4EACA;QAD4B,uLAAgB;QAA5C,4DACA;QAAA,gIAAuB;QACvB,0HACE;QAEJ,4DAAiB;QACnB,4DAAK;QACP,4DAAK;QAEL,sEACE;QAAA,sEACE;QAAA,sEAAI;QAAA,yFAA6B;QAAA,4DAAK;QACtC,qFACE;QAAA,6EAAW;QAAA,mEAAO;QAAA,4DAAY;QAC9B,4EACA;QAD4B,4LAAqB;QAAjD,4DACA;QAAA,gIAA4B;QAC5B,0HACE;QAEJ,4DAAiB;QACnB,4DAAK;QACL,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QACf,sEACE;QAAA,sEAAI;QAAA,uFAAsB;QAAA,4DAAK;QAC/B,qFACE;QAAA,6EAAW;QAAA,2EAAU;QAAA,4DAAY;QACjC,6EACA;QADgC,6LAAsB;QAAtD,4DACA;QAAA,gIAA6B;QAC7B,0HACE;QAEJ,4DAAiB;QACnB,4DAAK;QACP,4DAAK;QACL,sEAAI;QAAA,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QAAA,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QAAA,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QAAA,4DAAK;QACtD,sEACE;QAAA,sEACE;QAAA,sEAAI;QAAA,8EAAkB;QAAA,4DAAK;QAC3B,qFACE;QAAA,6EAAW;QAAA,kEAAM;QAAA,4DAAY;QAC7B,4EACA;QAD4B,2LAAoB;QAAhD,4DACA;QAAA,gIAA2B;QAC3B,0HACE;QAEJ,4DAAiB;QACnB,4DAAK;QACL,sEAAI;QAAA,kEAAM;QAAA,4DAAK;QACf,sEACE;QAAA,2EACE;QAAA,8EAAgE;QAAzB,+IAAS,kBAAc,IAAC;QAAC,gFAAe;QAAA,4DAAS;QACxF,8EAA8F;QAA3B,+IAAS,oBAAgB,IAAC;QAAC,yEAAa;QAAA,4DAAS;QACtH,4DAAM;QACR,4DAAK;QACP,4DAAK;QACP,4DAAQ;QACV,4DAAqB;QACrB,0FACE;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACrD,4DAAqB;;QAlGiB,2DAAmB;QAAnB,8EAAmB;QACpC,0DAAc;QAAd,4EAAc;QACN,0DAAa;QAAb,2EAAa;QAUpB,0DAAuB;QAAvB,kFAAuB;QACrB,0DAAuC;QAAvC,sFAAuC;QAI1C,0DAAkB;QAAlB,gFAAkB;QAUD,0DAAkB;QAAlB,6EAAkB;QACnC,0DAAa;QAAb,2EAAa;QACL,0DAAY;QAAZ,0EAAY;QAUH,0DAAgB;QAAhB,2EAAgB;QACjC,0DAAW;QAAX,yEAAW;QACH,0DAAU;QAAV,wEAAU;QAYD,0DAAqB;QAArB,gFAAqB;QACtC,0DAAgB;QAAhB,8EAAgB;QACR,0DAAe;QAAf,6EAAe;QAUF,0DAAsB;QAAtB,iFAAsB;QAC3C,0DAAiB;QAAjB,+EAAiB;QACT,0DAAgB;QAAhB,8EAAgB;QAYP,2DAAoB;QAApB,+EAAoB;QACrC,0DAAe;QAAf,6EAAe;QACP,0DAAc;QAAd,4EAAc;QASS,0DAAwB;QAAxB,qFAAwB;;6FDzF/D,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACc;AAEd;AAEgB;;;AAEzD,MAAM,MAAM,GAAW;IACnB,oDAAK,CAAC,WAAW,CAAC;QACd,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,qEAAiB,EAAE;KACvD,CAAC;CACL,CAAC;AAOK,MAAM,qBAAqB;;oGAArB,qBAAqB;oKAArB,qBAAqB,mBAFnB,EAAE,YAFJ,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,4DAAY;mIAGb,qBAAqB,uFAHpB,4DAAY;6FAGb,qBAAqB;cALjC,sDAAQ;eAAC;gBACN,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,4DAAY,CAAC;gBACvB,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;ACjBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAEW;AAE9B;AAEoD;;;;;;;;;;ICSnE,yEAAuC;IAAA,kEAAM;IAAA,4DAAK;;;IAClD,yEAAwC;IAAA,uDAAkB;IAAA,4DAAK;;;IAAvB,0DAAkB;IAAlB,8FAAkB;;;IAI1D,oEAAgE;;;;IAChE,yEACI;IAAA,6EAMI;IADA,uXAAiC;IACjC,2EAAU;IAAA,iEAAM;IAAA,4DAAW;IAC/B,4DAAS;IACb,4DAAK;;;IAGT,oEAA4D;;;IAC5D,oEACK;;;IAxBb,yEACI;IAAA,2EAEI;IAAA,2EACI;IAAA,kHAAuC;IACvC,kHAAwC;IAC5C,qEAAe;IAEf,2EACI;IAAA,mHAA2D;IAC3D,kHACI;IASR,qEAAe;IAEf,mHAAuD;IACvD,mHACA;IACJ,4DAAQ;IACZ,4DAAM;;;IAzBe,0DAAyB;IAAzB,2FAAyB;IAqBnB,0DAAmC;IAAnC,sGAAmC;IAC1C,0DAAgD;IAAhD,uGAAgD;;ADnBjE,MAAM,iBAAiB;IAkB5B,YACS,MAAiB,EAChB,eAA+B;QADhC,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAgB;QAlBzC,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,eAAU,GAAG,IAAI,CAAC;QAClB,iBAAY,GAAG,EAAE,CAAC;QAClB,qBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAKjC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,6BAA6B;IAC7B,YAAY;QACV,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;aAChC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC/C,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,cAAc,CAAC,EAAU;IAEzB,CAAC;IAED,4BAA4B;IAC5B,cAAc,CAAC,GAAQ;QACrB,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,wCAAwC;YAC/C,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBAEtB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;qBACxC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,IAAI,EAAE;wBACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,kCAAkC;yBAC1C,CAAC,CAAC;wBACH,IAAI,CAAC,YAAY,EAAE,CAAC;qBACrB;yBAAM;wBACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,4BAA4B;yBACpC,CAAC,CAAC;qBACJ;gBAEH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,4BAA4B;qBACpC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,kBAAkB;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+FAAsB,EAAE;YACzD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;;kFAnGU,iBAAiB;iGAAjB,iBAAiB;QCf9B,yEACI;QAAA,qEAAI;QAAA,0EAA6B;QAAA,8EAAmB;QAAA,4DAAO;QAAA,qEAAU;QAAA,4DAAK;QAC1E,oEAAG;QAAA,gGAAqC;QAAA,4DAAI;QAC5C,4EAMI;QADA,yIAAS,wBAAoB,IAAC;QAC9B,2EAAU;QAAA,6EAAkB;QAAA,4DAAW;QAC3C,4DAAS;QACT,gHACI;QA0BR,4DAAM;;QA3BG,2DAAkB;QAAlB,gFAAkB;;6FDId,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AEdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACmB;AACR;AAEH;AACI;AACR;AACe;AAET;AAC0B;;AAoB5E,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc,mBAFZ,EAAE,YAfJ;YACL,4DAAY;YACZ,+DAAc;YACd,8EAAqB;YACrB,0DAAW;YACX,kEAAmB;YACnB,wEAAoB;YACpB,uEAAa;YACb,gEAAkB;SACrB;mIAQQ,cAAc,mBALnB,qEAAiB;QACjB,+FAAsB,aAZtB,4DAAY;QACZ,+DAAc;QACd,8EAAqB;QACrB,0DAAW;QACX,kEAAmB;QACnB,wEAAoB;QACpB,uEAAa;QACb,gEAAkB;6FASb,cAAc;cAlB1B,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,4DAAY;oBACZ,+DAAc;oBACd,8EAAqB;oBACrB,0DAAW;oBACX,kEAAmB;oBACnB,wEAAoB;oBACpB,uEAAa;oBACb,gEAAkB;iBACrB;gBACD,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE;oBACV,qEAAiB;oBACjB,+FAAsB;iBACzB;gBACD,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;AC9BD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,eAAe;IAG1B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,uCAAuC;IACvC,YAAY;QACV,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,yCAAyC;IACzC,YAAY,CAAC,IAAS;QACpB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,gBAAgB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,wCAAwC;IACxC,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,2CAA2C;IAC3C,cAAc,CAAC,QAAgB;QAC7B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,aAAa,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;;8EA7CU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPiD;;;;;;;;;;;;ICoBtC,wEAKC;IAAA,2EAAU;IAAA,sEAAW;IAAA,4DAAW;IAAC,uDAAgB;IAAA,4DAAI;;;IAFlD,+FAA4B;IAEE,0DAAgB;IAAhB,wFAAgB;;;IANlD,wEACA;IAAA,sHAKC;IACD,qEAAe;;;;IAFX,0DAA8B;IAA9B,kGAA8B;;ADdvC,MAAM,cAAc;IAWzB,YACU,IAAiB,EACjB,MAAc;QADd,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAQ;QAXxB,gBAAW,GAAG,EAAE,CAAC;QAEjB,UAAK,GAAG;YACN,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE;YAC5D,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACzD,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;YAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;SAC/D,CAAC;IAKE,CAAC;IAEC,QAAQ;;YACZ,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;KAAA;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEK,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;iBACvB,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;;4EAnCU,cAAc;8FAAd,cAAc;QCV3B,iFACI;QAAA,kFACI;QAAA,uEAAM;QAAA,iEAAM;QAAA,4DAAO;QACnB,qEAAoC;QACpC,4EACI;QAAA,2EAAU;QAAA,yEAAc;QAAA,4DAAW;QACvC,4DAAS;QACT,oFACI;QAAA,wEAAkB;QAAA,wDAAmB;QAAA,4DAAI;QAC7C,4DAAW;QACX,6EACA;QAD6C,uIAAS,YAAQ,IAAC;QAC/D,4EAAU;QAAA,kEAAM;QAAA,4DAAW;QAC3B,4DAAS;QACb,4DAAkB;QACtB,4DAAc;QAEd,4FACI;QAAA,kFACI;QAAA,gFACI;QAAA,8HACA;QAOJ,4DAAe;QACnB,4DAAc;QACd,uFACI;QAAA,4EAA+B;QACnC,4DAAsB;QAC1B,4DAAwB;;;QA5BQ,0DAA0B;QAA1B,kFAA0B;QAI5B,0DAAmB;QAAnB,2FAAmB;QAWvB,0DAA0B;QAA1B,8EAA0B;;6FDTvC,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACA;AAEO;AACH;;AAY5C,MAAM,WAAW;;0FAAX,WAAW;gJAAX,WAAW,mBAFT,EAAE,YAPJ;YACL,mEAAc;YACd,4DAAY;YACZ,4DAAY;SACf;mIAKQ,WAAW,mBAHL,+DAAc,aALzB,mEAAc;QACd,4DAAY;QACZ,4DAAY;6FAMP,WAAW;cAVvB,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,mEAAc;oBACd,4DAAY;oBACZ,4DAAY;iBACf;gBACD,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,CAAC,+DAAc,CAAC;gBAC9B,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;AChBD;AAAA;AAAA;AAAA;AAAA;AAA2C;AAGM;AACE;;AAK5C,MAAM,KAAK;IACd,MAAM,CAAC,WAAW,CAAC,MAAc;QAC7B,OAAO;YACH,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,+DAAc;YACzB,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,CAAC,4DAAS,CAAC;YACxB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACxB,CAAC;IACN,CAAC;;0DATQ,KAAK;wFAAL,KAAK,WAAL,KAAK,mBAFJ,MAAM;6FAEP,KAAK;cAHjB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACR;AACF;;AAK1B,MAAM,kBAAkB;IAE7B;IAAgB,CAAC;IAEjB,+CAA+C;IAC/C,cAAc,CAAC,IAAS;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,MAAM,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;QAChC,IAAI,QAAQ,GAAG,IAAI,gDAAQ,EAAE,CAAC;QAC9B,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,cAAc;QACd,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1B,SAAS,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAErB,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,EAAC;YAC1B,IAAI,IAAI,GAAC,EAAE,CAAC;YACZ,KAAI,IAAI,KAAK,IAAI,GAAG,EAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClB;YACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxB;QAED,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;QACH,CAAC,CAAC,CAAC;QACH,SAAS;QACT,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC3G,iDAAS,CAAC,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IAEL,CAAC;;oFA5CU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;6FAEP,kBAAkB;cAH9B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AAC0B;AACzC;;;;;;;;AAOpC,MAAM,qBAAqB;IAMhC,YACS,SAA4B,EACH,IAAI;QAD7B,cAAS,GAAT,SAAS,CAAmB;QACH,SAAI,GAAJ,IAAI;QANtC,iBAAY,GAAG,IAAI,0DAAW,EAAE,CAAC;QACjC,iBAAY,GAAG,IAAI,0DAAW,EAAE,CAAC;QACjC,YAAO,GAAG,IAAI,CAAC;IAKX,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,GAAG;YACT,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI;YAC7F,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI;SAC9F;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;;0FArBU,qBAAqB,0MAQtB,wEAAe;qGARd,qBAAqB;QCTlC,wEAAqB;QAAA,2EAAgB;QAAA,4DAAK;QAC1C,wFACI;QAAA,yEACI;QAAA,0EACI;QAAA,oEAAG;QAAA,6HAA6D;QAAA,oEAAG;QAAA,uDAAkB;QAAA,4DAAI;QAAA,4DAAC;QAAA,4DAAI;QAC9F,qFACI;QAAA,6EAAW;QAAA,wDAAwB;QAAA,4DAAY;QAC/C,4EACJ;QAD2D,2LAAqB;QAA5E,4DACJ;QAAA,4DAAiB;QACjB,iEACA;QAAA,qEAAG;QAAA,kHAAiD;QAAA,4DAAI;QACxD,qFACI;QAAA,6EAAW;QAAA,wEAAY;QAAA,4DAAY;QACnC,uEACA;QAAA,uFAA8E;QAC9E,sFAA+C;QACnD,4DAAiB;QACjB,qFACI;QAAA,6EAAW;QAAA,qEAAS;QAAA,4DAAY;QAChC,uEACA;QAAA,uFAA2E;QAC3E,uFAA4C;QAChD,4DAAiB;QACjB,iEACA;QAAA,8EAGuB;QAAnB,8IAAS,YAAQ,IAAC;QAAC,0EAAc;QAAA,4DAAS;QAClD,4DAAO;QACX,4DAAM;QACV,4DAAqB;QACrB,0FACE;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACrD,4DAAqB;;;;QA7B0D,0DAAkB;QAAlB,iFAAkB;QAEtE,0DAAwB;QAAxB,gGAAwB;QACnB,0DAAsC;QAAtC,mHAAsC;QAAC,gFAAqB;QAM5D,0DAA8B;QAA9B,gFAA8B;QACb,0DAAoB;QAApB,sEAAoB;QAKrC,0DAA2B;QAA3B,gFAA2B;QACV,0DAAiB;QAAjB,sEAAiB;;6FDXrD,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;;sBASI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEjB3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AAEe;AAE1C;AAKiD;;;;;;;;;;;ICiB9E,2EAWa;;;IATX,gGAA8B;;;IAWhC,2EAaa;;;IAXX,qGAAmC;;;IAarC,0EACE;IAAA,qEAAI;IAAA,yEAAc;IAAA,4DAAK;IACvB,2EAKa;IACf,4DAAM;;;IALF,0DAAiC;IAAjC,mGAAiC;;ADzChC,MAAM,eAAe;IAY1B,YACS,MAAiB,EACjB,SAAwC,EACf,IAAI,EAC5B,aAA4B,EAC5B,kBAAsC;QAJvC,WAAM,GAAN,MAAM,CAAW;QACjB,cAAS,GAAT,SAAS,CAA+B;QACf,SAAI,GAAJ,IAAI;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAoB;QAfhD,iBAAY,GAAG,IAAI,CAAC;QACpB,oBAAe,GAAG,IAAI,CAAC;QACvB,WAAM,GAAG,IAAI,CAAC;QACd,WAAM,GAAG,IAAI,CAAC;QACd,cAAS,GAAG,IAAI,CAAC;QAEjB,sBAAiB,GAAG,IAAI,CAAC;QAEzB,WAAM,GAAG,IAAI,CAAC;IAQV,CAAC;IAEL,QAAQ;QACN,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,GAAG;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC5B,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,IAAI,GAAG;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAC5B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;SACnC;IACH,CAAC;IAED,oCAAoC;IACpC,kBAAkB,CAAC,IAAS;QAC1B,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,oBAAoB;YAC3B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC;aACxC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG;gBAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACtB,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,MAAM;iBAClB;gBACD,UAAU,EAAE,CAAC;wBACX,UAAU,EAAE,GAAG;wBACf,OAAO,EAAE;4BACP,MAAM,EAAE;gCACN,QAAQ,EAAE,QAAQ;gCAClB,OAAO,EAAE,CAAC,EAAE;gCACZ,OAAO,EAAE,CAAC;6BACX;yBACF;qBACF,CAAC;gBACF,WAAW,EAAE;oBACX,GAAG,EAAE;wBACH,UAAU,EAAE,KAAK;qBAClB;iBACF;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,UAAU,GAAG;wBACtB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAC1C,CAAC;iBACF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC,aAAa,CAAC;iBACxB;gBACD,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;iBAC/B;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV,IAAI,EAAE,KAAK;yBACZ;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,KAAK;yBACZ;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,KAAK;4BACX,SAAS,EAAE,UAAU,GAAG;gCACtB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;4BAC1C,CAAC;yBACF;qBACF;iBACF;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,EAAE;iBACZ;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,CAAC;iBACX;aACF,CAAC;YACF,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,sBAAsB,CAAC,IAAS;QAC9B,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,oBAAoB;YAC3B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC;aAC5C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAEpC,IAAI,CAAC,iBAAiB,GAAG;gBACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACtB,KAAK,EAAE;oBACL,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,MAAM;wBACb,GAAG,EAAE,EAAE;wBACP,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,GAAG;qBACb;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;qBACZ;iBACF;gBACD,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;gBACzC,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI;iBACd;gBACD,MAAM,EAAE;oBACN,KAAK,EAAE,UAAU;iBAClB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,6BAA6B;oBACnC,KAAK,EAAE,MAAM;iBACd;gBACD,IAAI,EAAE;oBACJ,WAAW,EAAE,SAAS;oBACtB,GAAG,EAAE;wBACH,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;wBAClC,OAAO,EAAE,GAAG;qBACb;iBACF;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC;iBACR;gBACD,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;oBAC9B,KAAK,EAAE;wBACL,IAAI,EAAE,KAAK;qBACZ;iBACF;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,UAAU;qBACjB;oBACD,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE;iBACjC;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE,KAAK;oBACf,eAAe,EAAE,OAAO;oBACxB,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,CAAC,EAAE;oBACZ,OAAO,EAAE,CAAC,CAAC;iBACZ;aACF,CAAC;YAEF,IAAI,CAAC,eAAe,GAAG;gBACrB,MAAM,EAAE,IAAI,CAAC,SAAS;gBACtB,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;iBACd;gBACD,MAAM,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,CAAC;gBAC1E,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE,GAAG;wBACf,OAAO,EAAE;4BACP,KAAK,EAAE;gCACL,KAAK,EAAE,EAAE;6BACV;4BACD,MAAM,EAAE;gCACN,QAAQ,EAAE,QAAQ;6BACnB;yBACF;qBACF;iBACF;aACF,CAAC;YACF,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,GAAG;YACT,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YAChC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YACxC,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,gBAAgB;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4FAAqB,EAAE;YACxD,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC;SACnC,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAG,MAAM,EAAC;gBACR,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;oBAChC,IAAI,GAAG;wBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC;oBACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;iBAC/B;qBAAM;oBACL,IAAI,GAAG;wBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAC5B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;wBACpC,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;qBAC1B,CAAC;oBACF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;iBACnC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;8EAzRU,eAAe,+UAehB,wEAAe;+FAfd,eAAe;QChB5B,wEAAqB;QAAA,uDAAqB;QAAA,4DAAK;QAC/C,wFACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,4EAME;QADA,uIAAS,oBAAgB,IAAC;QAC1B,2EAAU;QAAA,mEAAQ;QAAA,4DAAW;QAC/B,4DAAS;QACX,4DAAM;QACN,yEACE;QAAA,6EAME;QADA,wIAAS,sBAAkB,IAAC;QAC5B,4EAAU;QAAA,sEAAU;QAAA,4DAAW;QACjC,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,yHAWC;QAED,0HAaC;QAED,6GACE;QASJ,4DAAqB;QACrB,0FACE;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACrD,4DAAqB;;QAnEA,0DAAqB;QAArB,6FAAqB;QA2BtC,2DAA6C;QAA7C,iHAA6C;QAa7C,0DAAkD;QAAlD,sHAAkD;QAc/C,0DAAgD;QAAhD,oHAAgD;;6FDtC1C,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;sBAgBI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AE/B3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,aAAa;IAGxB,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAGL,yCAAyC;IACzC,kBAAkB,CAAC,IAAS;QAC1B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,yCAAyC;IACzC,sBAAsB,CAAC,IAAS;QAC9B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,sBAAsB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;;0EA1BU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;6FAEP,aAAa;cAHzB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACY;AAEvC;;;;;;;;;;;;;ICMX,iFAAqE;IAAA,uDAAoB;IAAA,4DAAa;;;IAAxD,oFAAsB;IAAC,0DAAoB;IAApB,sFAAoB;;ADGtG,MAAM,kBAAkB;IA2B7B,YACkC,IAAI,EAC7B,MAAiB,EAChB,gBAAkC;QAFV,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,qBAAgB,GAAhB,gBAAgB,CAAkB;QA5B5C,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,WAAM,GAAG,IAAI,CAAC;QACd,oBAAe,GAAG,IAAI,CAAC;QAEvB,YAAO,GAAG,IAAI,CAAC;QACf,qBAAgB,GAAG,IAAI,CAAC;QAExB,eAAU,GAAG;YACX,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC;YACjC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAC;YACnC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAC;YAClC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAC;SACjD,CAAC;IAME,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,eAAe,CAAC,QAAa;QAC3B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,QAAQ,IAAI,QAAQ,EAAE;YACxB,IAAI,GAAG;gBACL,QAAQ,EAAE,SAAS,GAAG,QAAQ;gBAC9B,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;gBACtC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;aAC7B,CAAC;SACH;aAAM;YACL,IAAI,GAAG;gBACL,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,IAAI,CAAC,OAAO;gBACnB,SAAS,EAAE,IAAI,CAAC,gBAAgB;gBAChC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;gBACtC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;aAC7B,CAAC;SACH;QACD,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,2CAA2C;YAClD,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,eAAe;YAClC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC;qBACxC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,qCAAqC;qBAC7C,CAAC,CAAC;gBACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,4DAA4D,EAC5D,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;;oFAjFU,kBAAkB,kEA4BnB,wEAAe;kGA5Bd,kBAAkB;QCZ/B,wEAAqB;QAAA,6EAAkB;QAAA,4DAAK;QAC5C,wFACI;QAAA,gFACI;QAAA,6EACI;QAAA,yEACI;QAAA,oEAAG;QAAA,uIAAuE;QAAA,4DAAI;QAC9E,oFACI;QAAA,4EAAW;QAAA,kEAAM;QAAA,4DAAY;QAC7B,iFACA;QADY,4LAAoB;QAChC,8HAAqE;QACrE,4DAAa;QACjB,4DAAiB;QACjB,qFACI;QAAA,6EAAW;QAAA,qEAAS;QAAA,4DAAY;QAChC,+EAA8J;QAAjE,mMAA6B;QAAyB,4DAAW;QAClK,4DAAiB;QACjB,6EAIwC;QAApC,2IAAS,oBAAgB,QAAQ,CAAC,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QACrE,4DAAM;QACV,4DAAU;QACV,+EACI;QAAA,0EACI;QAAA,qEAAG;QAAA,2HAA0D;QAAA,qEAAG;QAAA,wDAAkB;QAAA,4DAAI;QAAC,2FAA8B;QAAA,4DAAI;QACzH,4EACI;QAAA,qFACI;QAAA,6EAAW;QAAA,wDAAwB;QAAA,4DAAY;QAC/C,6EACJ;QAD2D,wLAAqB;QAA5E,4DACJ;QAAA,4DAAiB;QACjB,qFACI;QAAA,6EAAW;QAAA,qEAAS;QAAA,4DAAY;QAChC,gFAAgK;QAAnE,oMAA8B;QAA0B,4DAAW;QACpK,4DAAiB;QACjB,6EAI4C;QAAxC,2IAAS,qCAA6B,IAAC;QAAC,4EAAgB;QAAA,4DAAS;QACzE,4DAAO;QACX,4DAAM;QACV,4DAAU;QACd,4DAAgB;QACpB,4DAAqB;QACrB,0FACE;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACrD,4DAAqB;;QAvCW,2DAAoB;QAApB,+EAAoB;QACpB,0DAAiC;QAAjC,mFAAiC;QAK1B,0DAAyE;QAAzE,8JAAyE;QAAC,wFAA6B;QAI1H,0DAAgD;QAAhD,uHAAgD;QAKnD,0DAAkC;QAAlC,+GAAkC;QAE6B,0DAAkB;QAAlB,iFAAkB;QAG/D,0DAAwB;QAAxB,gGAAwB;QACnB,0DAAsC;QAAtC,mHAAsC;QAAC,gFAAqB;QAIzD,0DAAyE;QAAzE,8JAAyE;QAAC,yFAA8B;QAI3H,0DAAkD;QAAlD,yHAAkD;;6FDzB7D,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;sBA6BI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AExC3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAMxC,MAAM,gBAAgB;IAG3B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,+CAA+C;IAC/C,eAAe,CAAC,IAAS;QACvB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,YAAY,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;;gFAfU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;6FAEP,gBAAgB;cAH5B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACe;;;;;;;;;;;ICU7D,iFACE;IAAA,uDACA;IAAA,4DAAa;;;IAF+B,6EAAe;IAC3D,0DACA;IADA,4FACA;;ADLP,MAAM,2BAA2B;IAKtC,YACS,SAAoD,EAC3B,IAAI;QAD7B,cAAS,GAAT,SAAS,CAA2C;QAC3B,SAAI,GAAJ,IAAI;QALtC,iBAAY,GAAG,IAAI,CAAC;QACpB,gBAAW,GAAG,IAAI,CAAC;IAKf,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,GAAG;YACT,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;;sGArBU,2BAA2B,0MAO5B,wEAAe;2GAPd,2BAA2B;QCRxC,wEAAqB;QAAA,8EAAmB;QAAA,4DAAK;QAC7C,wFACI;QAAA,yEACI;QAAA,oFACE;QAAA,4EAAW;QAAA,uDAA8B;QAAA,4DAAY;QACrD,2EACF;QADkB,qMAA0B;QAA1C,4DACF;QAAA,4DAAiB;QACjB,gEACA;QAAA,oFACE;QAAA,6EAAW;QAAA,sFAA0B;QAAA,4DAAY;QACjD,iFACE;QADU,0MAAyB;QACnC,uIACE;QAEJ,4DAAa;QACf,4DAAiB;QACrB,4DAAM;QACV,4DAAqB;QACrB,yFACI;QAAA,6EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACnD,6EAAsC;QAAnB,oJAAS,YAAQ,IAAC;QAAC,mEAAO;QAAA,4DAAS;QAC1D,4DAAqB;;QAjBA,0DAA8B;QAA9B,sGAA8B;QACzB,0DAA0B;QAA1B,qFAA0B;QAK9B,0DAAyB;QAAzB,oFAAyB;QACvB,0DAAiC;QAAjC,oFAAiC;;6FDH5C,2BAA2B;cALvC,uDAAS;eAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;;sBAQI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEf0C;AAEI;AACnB;AAEvB;AAGmE;;;;;;;;;;;;;;;ICD9E,wEAA6D;IAAA,uDAAU;IAAA,4DAAK;;;IAAf,0DAAU;IAAV,0EAAU;;;IAMvE,yEAAkD;IAAA,uDAAqB;IAAA,4DAAK;;;;IAA1B,0DAAqB;IAArB,wGAAqB;;;IAH/E,wEACI;IAAA,yEACI;IAAA,yEAA+B;IAAA,uDAA6B;IAAA,4DAAK;IACjE,yHAAkD;IACtD,4DAAK;IACT,4DAAQ;;;IAH+B,0DAA6B;IAA7B,0GAA6B;IACxD,0DAA6B;IAA7B,sFAA6B;;;IAcrB,iFACA;IAAA,uDACA;IAAA,4DAAa;;;IAFiC,oFAAsB;IACpE,0DACA;IADA,4FACA;;;IA8BhB,yEAA4D;IAAA,uDAAa;IAAA,4DAAK;;;IAAlB,0DAAa;IAAb,6EAAa;;;IAMrE,oEAAiB;IAAA,uDAAW;IAAA,4DAAI;;;IAAf,0DAAW;IAAX,2EAAW;;;;IAC5B,+EAMsC;IADtC,soBAAkC,CAAC,EAAE,OAAO,aAAU;IAC3B,4DAAW;;;;;;IAFtC,qHAAoC;;;;IAIpC,gFASY;IADR,woBAAkC,CAAC,EAAE,QAAQ,aAAU;IAC3D,4DAAY;;;;;;IALR,sHAAiC;;;IAQrC,oEAII;IAAA,0EAAc;IAAA,oEAAG;IAAA,uDAAsD;IAAA,4DAAI;IAC/E,4DAAI;;;;;;IADiB,0DAAsD;IAAtD,kJAAsD;;;;IA1B/E,yEACI;IAAA,+IAAiB;IACjB,8JAM2B;IAE3B,gKASA;IAEA,gEAAI;IAAA,gEACJ;IAAA,+IAII;IAER,4DAAK;;;;;;IA5BuC,uJAAqC;IAC1E,0DAAY;IAAZ,6EAAY;IAEf,0DAAuC;IAAvC,oIAAuC;IAQnC,0DAAsC;IAAtC,mIAAsC;IAYtC,0DAEqC;IAFrC,4MAEqC;;;IA1BjD,qEACI;IAAA,6IACI;IA4BR,4DAAK;;;IA7BG,0DAAuC;IAAvC,6EAAuC;;;IAFnD,wEACI;IAAA,wIACI;IA8BR,4DAAQ;;;;IA/BA,0DAA6C;IAA7C,6FAA6C;;;IARzD,2EACI;IAAA,wEACI;IAAA,wEACI;IAAA,oEAAqB;IACrB,gIAA4D;IAChE,4DAAK;IACT,4DAAQ;IACR,qIACI;IAgCR,4DAAQ;;;;IApCQ,0DAA2C;IAA3C,sGAA2C;IAGhD,0DAAe;IAAf,kFAAe;;;IAR1B,2EACA;IAAA,8HACI;IAwCJ,4DAAO;;;IA1CoB,4FAA0B;IACjB,0DAAoD;IAApD,8FAAoD;;ADnCrF,MAAM,qBAAqB;IAwDhC,YACS,SAA8C,EACrB,IAAgB,EACzC,MAAiB,EAChB,mBAAwC;QAHzC,cAAS,GAAT,SAAS,CAAqC;QACrB,SAAI,GAAJ,IAAI,CAAY;QACzC,WAAM,GAAN,MAAM,CAAW;QAChB,wBAAmB,GAAnB,mBAAmB,CAAqB;QA1DlD,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAGH,aAAQ,GAAG,EAAE,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QACb,qBAAgB,GAAG,EAAE,CAAC;QAEtB,aAAQ,GAAG,EAAE,CAAC;QACd,mBAAc,GAAG,IAAI,CAAC;QACtB,YAAO,GAAG,IAAI,CAAC;QAEf,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAEhB,YAAO,GAAG,EAAE,CAAC;QAEb,eAAU,GAAG;YACX,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;YAChC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;YAC/B,gDAAgD;SACjD,CAAC;QAEF,iBAAY,GAAG,IAAI,CAAC;QAEpB,WAAM,GAAG;YACP,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,WAAW,EAAC,YAAY;YACxB,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;QAED,aAAQ,GAAG,IAAI,CAAC;QAChB,gBAAW,GAAG,IAAI,CAAC;QAEnB,iBAAY,GAAG,IAAI,CAAC;QACpB,WAAM,GAAG,IAAI,CAAC;QACd,gBAAW,GAAG,IAAI,CAAC;QACnB,YAAO,GAAG,KAAK,CAAC;QAEhB,iBAAY,GAAc,IAAI,CAAC;IAO3B,CAAC;IAEL,QAAQ;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,WAAW;QACT,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,2CAA2C;IAC3C,SAAS;QACP,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,sBAAsB;YAC7B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC7C,SAAS,CAAE,CAAO,IAAI,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,IAAE,EAAE,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC7C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,0DAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,GACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,SAAS;QACP,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,cAAc;YACrB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,IAAI,GAAG;YACT,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;SAC3B;QACD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;aACrC,SAAS,CAAE,CAAC,IAAS,EAAE,EAAE;YACxB,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC;gBACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,qCAAqC;oBAC5C,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE;;kBAEA,QAAQ;;aAEb;iBACF,CAAC,CAAC;aACJ;iBAAI;gBACH,IAAI,IAAI,GAAG;oBACT,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;oBAC7B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC1B,MAAM,EAAE,IAAI,CAAC,YAAY;oBACzB,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACzC,QAAQ,EAAE,KAAK;iBAChB,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC3B;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,wBAAwB;IAClB,QAAQ;;YACZ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,kDAAI,CAAC,IAAI,CACP,6BAA6B,EAC7B,EAAE,EACF,MAAM,CACP,CAAC;aACH;YAED,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;gBACzB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,kDAAI,CAAC,IAAI,CAAC;oBACtC,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,UAAU;oBACjB,gBAAgB,EAAE,mCAAmC;oBACrD,iBAAiB,EAAE,QAAQ;oBAC3B,gBAAgB,EAAE,IAAI;oBACtB,gBAAgB,EAAE,UAAU;oBAC5B,iBAAiB,EAAE,MAAM;iBAC1B,CAAC,CAAC;gBAEH,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,IAAI,GAAG;wBACT,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;wBAC7B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC1B,MAAM,EAAE,IAAI,CAAC,YAAY;wBACzB,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACzC,QAAQ,EAAE,KAAK;qBAChB;oBAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;iBAC3B;aACF;iBAAK,IAAG,IAAI,CAAC,YAAY,IAAI,CAAC,EAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;QACH,CAAC;KAAA;IAED,0DAA0D;IACpD,YAAY;;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG;gBACT,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,WAAW;aAC/B,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC;qBACxC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAClB,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,6BAA6B;yBACpC,CAAC,CAAC;qBACJ;oBACD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,IAAE,EAAE,EAAE,CAAC,CAAC;wBAAA,CAAC;qBAC5F;yBAAI;wBACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;qBACpC;oBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,0CAA0C;IAC1C,cAAc,CAAC,IAAS;QACtB,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC;aAC1C,SAAS,CAAC,CAAO,IAAI,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,iCAAiC;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC,GACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,8BAA8B;aACtC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,wBAAwB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8GAA2B,EAAE;YAC9D,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAG,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAC9H,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,MAAM,EAAC,EAAE,CAAC;YAChD,IAAI,MAAM,EAAE;gBACV,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,aAAa;oBACpB,iBAAiB,EAAE,KAAK;oBACxB,MAAM,EAAE,GAAG,EAAE;wBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;4BACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC/C,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACxC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,kDAAI,CAAC,KAAK,EAAE,CAAC;aACd;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IAGD,4CAA4C;IAC5C,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,MAAc,EAAE,IAAY,EAAE,MAAW;QACjF,IAAI,IAAI,IAAI,OAAO,IAAI,MAAM,IAAI,SAAS,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;SACxD;aAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,MAAM,IAAI,SAAS,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;SAC3C;aAAK;YACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;SACzC;IACH,CAAC;;0FAzUU,qBAAqB,0MA0DtB,wEAAe;qGA1Dd,qBAAqB;QCpBlC,wEAAqB;QAAA,uDAAwC;QAAA,4DAAK;QAClE,wFACI;QAAA,yEACI;QAAA,2EACI;QAAA,wEACI;QAAA,wEACI;QAAA,wEAA+B;QAAA,uDAAmB;QAAA,4DAAK;QACvD,+GAA6D;QACjE,4DAAK;QACT,4DAAQ;QACR,uHACI;QAKR,4DAAQ;QACZ,4DAAM;QAEN,0EACI;QAAA,4EACI;QAAA,yEACI;QAAA,sEACI;QAAA,0EACI;QAAA,sFACI;QAAA,6EAAW;QAAA,kEAAM;QAAA,4DAAY;QAC7B,kFACI;QADQ,qMAA0B;QAClC,kIACA;QAEJ,4DAAa;QACjB,4DAAiB;QACrB,4DAAK;QACL,0EACI;QAAA,8EAAwF;QAAhD,uIAAS,wBAAoB,SAAE,kBAAc,IAAE;QAAC,wEAAY;QAAA,4DAAS;QACjH,4DAAK;QACL,sEACI;QAAA,8EAA+D;QAArB,8IAAS,cAAU,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAClF,4DAAK;QACL,sEACI;QAAA,8EAMI;QADA,8IAAS,8BAA0B,IAAC;QACpC,4EAAU;QAAA,sEAAU;QAAA,4DAAW;QACnC,4DAAS;QACb,4DAAK;QACT,4DAAK;QACT,4DAAQ;QACZ,4DAAQ;QACZ,4DAAM;QAEN,sHACA;QA0CJ,4DAAqB;QAErB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QArGA,0DAAwC;QAAxC,qHAAwC;QAMV,0DAAmB;QAAnB,kFAAmB;QAC9C,0DAA6B;QAA7B,iFAA6B;QAGlC,0DAAgB;QAAhB,8EAAgB;QAgBK,0DAA0B;QAA1B,qFAA0B;QACtB,0DAAiC;QAAjC,mFAAiC;QA2BnE,2DAAoB;QAApB,kFAAoB;;6FDlCjB,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;sBA2DI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AE9E3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,mBAAmB;IAG9B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,qCAAqC;IACrC,SAAS,CAAC,EAAU;QAClB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,uCAAuC;IACvC,SAAS,CAAC,IAAS;QACjB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,iDAAiD;IACjD,YAAY,CAAC,IAAS;QACpB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAGD,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;;sFA7CU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;6FAEP,mBAAmB;cAH/B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACR;AACF;;AAK1B,MAAM,kBAAkB;IAE7B;IAAgB,CAAC;IAEjB,cAAc,CAAC,YAAiB,EAAE,IAAS;QACzC,IAAI,QAAQ,GAAG,IAAI,gDAAQ,EAAE,CAAC;QAC9B,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;YACtB,MAAM,KAAK,GAAG,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YACxC,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnD,cAAc;YACd,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACxC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAErB,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAEnE,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/C,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,SAAS,EAAC;gBAC9B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;gBACxB,IAAI,IAAI,GAAC,EAAE,CAAC;gBACZ,KAAI,IAAI,GAAG,IAAI,IAAI,EAAC;oBAClB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBACrB;gBACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACxB;YAED,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,GAAG;oBACV,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG;oBAChB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;YACH,CAAC,CAAC,CAAC;SACJ;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC3G,iDAAS,CAAC,IAAI,EAAE,aAAa,YAAY,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IAEL,CAAC;;oFA7CU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;6FAEP,kBAAkB;cAH9B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNyD;AAEF;AACG;AACc;AAE1C;AACF;;;;;;;;;;;;;;;;ICGf,yEACE;IAAA,6EAME;IADA,uTAAuB;IACvB,2EAAU;IAAA,6EAAkB;IAAA,4DAAW;IACzC,4DAAS;IACX,4DAAK;;;;IACL,yEAIE;IAAA,uFAMmB;IAJjB,kXAAiC;IAInC,4DAAmB;IACrB,4DAAK;;;IAJD,0DAAsB;IAAtB,iFAAsB;;;IAStB,yEACE;IAAA,kEACF;IAAA,4DAAK;;;IACL,yEAAwC;IAAA,uDAAiB;IAAA,4DAAK;;;IAAtB,0DAAiB;IAAjB,4FAAiB;;;;IAKzD,yEACE;IAAA,6EACE;IAAA,2EAAU;IAAA,qEAAU;IAAA,4DAAW;IACjC,4DAAS;IACT,mFACE;IAAA,6EAIE;IAFA,2TAA0B;IAE1B,2EAAU;IAAA,mEAAQ;IAAA,4DAAW;IAC7B,uEAAM;IAAA,kFAAiB;IAAA,4DAAO;IAChC,4DAAS;IACX,4DAAW;IACb,4DAAK;;;IAZqB,0DAAkC;IAAlC,mFAAkC;;;;IAa5D,yEACE;IAAA,6EACE;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAChC,4DAAS;IACT,mFACE;IAAA,6EAIE;IAFA,2XAA+C;IAE/C,2EAAU;IAAA,+DAAI;IAAA,4DAAW;IACzB,uEAAM;IAAA,kEAAM;IAAA,4DAAO;IACrB,4DAAS;IACT,8EAIE;IAFA,4XAA+C;IAE/C,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,oEAAQ;IAAA,4DAAO;IACvB,4DAAS;IACX,4DAAW;IACb,4DAAK;;;IAnBqB,0DAAkC;IAAlC,mFAAkC;;;IAsBhE,oEAAsE;;;IACtE,oEAGqC;;;IAQ7C,+EAIE;IAAA,2EACE;IAAA,iEACF;IAAA,4DAAO;IACP,2GACF;IAAA,4DAAW;;;;IASH,yEACE;IAAA,mFAKe;IALD,8VAAoC,IAAI,IAAC;IAKvD,4DAAe;IACjB,4DAAK;;;IALW,0DAAuD;IAAvD,gIAAuD;;;;IAMvE,yEACE;IAAA,mFAKe;IALD,0OAAS,wBAAwB,IAAC,4SACf,qCAA0B,GAAE,IAAI,IADjB;IAKhD,4DAAe;IACjB,4DAAK;;;;IAJW,0DAAyC;IAAzC,8GAAyC;;;IASzD,yEAAuC;IAAA,wEAAO;IAAA,4DAAK;;;IACnD,yEAIE;IAAA,uDACF;IAAA,4DAAK;;;IADH,0DACF;IADE,4FACF;;;IAKA,yEAAuC;IAAA,mEAAO;IAAA,4DAAK;;;IACnD,yEAAwC;IAAA,uDAAiB;IAAA,4DAAK;;;IAAtB,0DAAiB;IAAjB,4FAAiB;;;;IAKzD,yEACE;IAAA,6EACE;IAAA,2EAAU;IAAA,qEAAU;IAAA,4DAAW;IACjC,4DAAS;IACT,mFACE;IAAA,6EAIE;IAFA,yUAAwB;IAExB,2EAAU;IAAA,6EAAkB;IAAA,4DAAW;IACvC,uEAAM;IAAA,6EAAY;IAAA,4DAAO;IAC3B,4DAAS;IACT,8EAIE;IAFA,0UAAwB;IAExB,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,+EAAc;IAAA,4DAAO;IAC7B,4DAAS;IACT,8EAKE;IAFA,+UAA6B;IAE7B,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,+FAA8B;IAAA,4DAAO;IAC7C,4DAAS;IACX,4DAAW;IACb,4DAAK;;;;IA3BqB,0DAAkC;IAAlC,mFAAkC;IAoBtD,2DAA6C;IAA7C,gHAA6C;;;;IAQnD,yEACE;IAAA,6EACE;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAChC,4DAAS;IACT,mFACE;IAAA,6EAIE;IAFA,8ZAA8D;IAE9D,2EAAU;IAAA,+DAAI;IAAA,4DAAW;IACzB,uEAAM;IAAA,kEAAM;IAAA,4DAAO;IACrB,4DAAS;IACT,8EAIE;IAFA,+ZAA8D;IAE9D,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,oEAAQ;IAAA,4DAAO;IACvB,4DAAS;IACX,4DAAW;IACb,4DAAK;;;IAnBqB,0DAAkC;IAAlC,mFAAkC;;;IAsB9D,oEAAuE;;;IACvE,oEAA+D;;;IA9FjE,2EAEE;IACA,4EACE;IAAA,wHACE;IAOF,yHACE;IAOJ,qEAAe;IAGf,4EACE;IAAA,wHAAuC;IACvC,yHAIE;IAEJ,qEAAe;IAGf,4EACE;IAAA,wHAAuC;IACvC,yHAAwC;IAC1C,qEAAe;IAGf,6EACE;IAAA,2HACE;IA4BF,4HACE;IAoBJ,qEAAe;IAEf,2HAAkE;IAClE,2HAA0D;IAC5D,4DAAQ;;;IA/FgC,8FAA6B;IA6FhD,2DAA8C;IAA9C,kGAA8C;IACrD,0DAA6C;IAA7C,mGAA6C;;;IAjG/D,0EAGI;IAAA,wHAEE;IA8FN,4DAAM;;;IAhGK,0DAAsB;IAAtB,wFAAsB;;AD9EhC,MAAM,eAAe;IA0B1B,YACS,SAAwC,EACf,IAAgB,EACxC,aAA4B,EAC5B,kBAAsC;QAHvC,cAAS,GAAT,SAAS,CAA+B;QACf,SAAI,GAAJ,IAAI,CAAY;QACxC,kBAAa,GAAb,aAAa,CAAe;QAC5B,uBAAkB,GAAlB,kBAAkB,CAAoB;QA5BhD,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,cAAS,GAAG,IAAI,CAAC;QACjB,eAAU,GAAG,IAAI,CAAC;QAClB,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;QAChB,eAAU,GAAG,IAAI,CAAC;QAElB,kBAAa,GAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChE,iBAAY,GAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEhD,mBAAc,GAAG,IAAI,CAAC;QACtB,kBAAa,GAAG,IAAI,uEAAc,CAAU,IAAI,EAAE,EAAE,CAAC,CAAC;IAOlD,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,2CAA2C;IAC3C,SAAS;QACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAC9C,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,WAAW;QACT,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,OAAO;YAC1B,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB;iBACF;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,mCAAmC;aAC1C;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;qBACrD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,4BAA4B;qBACpC,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,yCAAyC,IAAI,0EAA0E,EACvH,EAAE,EACF,MAAM,CACP,CAAC;gBACJ,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,WAAW,CAAC,EAAU,EAAE,IAAY;QAClC,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB;iBACF;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,aAAa;gBACpB,IAAI,EAAE,mCAAmC;gBACzC,UAAU,EAAE,GAAG,IAAI,EAAE;aACtB;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;qBACxC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,oCAAoC;qBAC5C,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,6CAA6C,IAAI,2EAA2E,EAC5H,EAAE,EACF,MAAM,CACP,CAAC;gBACJ,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,WAAW,CAAC,EAAU,EAAE,IAAY;QAClC,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,sCAAsC,IAAI,GAAG;YACpD,IAAI,EAAE,+CAA+C;YACrD,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;qBAC/B,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,mCAAmC;qBAC3C,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,2DAA2D,EAC3D,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,WAAW,CAAC,EAAU;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAEA,4CAA4C;IAC5C,UAAU,CAAC,KAAa;QACvB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;aACjC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAC/C,OAAO;oBACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,uEAAc,CAAU,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,0EAAkB,CAAU,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,YAAY;QACV,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,kBAAkB;YACrC,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB;iBACF;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,8BAA8B;aACrC;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,IAAI,GAAG;oBACT,CAAC,MAAM,EAAC,MAAM,CAAC;iBAChB,CAAC;gBACF,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,kBAAkB,MAAM,aAAa,MAAM,GAAG;oBACrD,gBAAgB,EAAE,IAAI;oBACtB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,MAAM;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,gBAAgB,EAAE,UAAU;iBAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;oBACtB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;yBACjD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,6BAA6B;yBACrC,CAAC,CAAC;wBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,kDAAI,CAAC,IAAI,CACP,wCAAwC,MAAM,aAAa,MAAM,6EAA6E,EAC9I,EAAE,EACF,MAAM,CACP,CAAC;oBACJ,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,YAAY,CAAC,EAAU,EAAE,IAAY,EAAE,IAAY;QACjD,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,kBAAkB;YACrC,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB;iBACF;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,uBAAuB,IAAI,EAAE;gBACpC,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,GAAG,IAAI,EAAE;aACtB;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,uCAAuC,IAAI,GAAG;gBACpD,UAAU,EAAE,GAAG,IAAI,EAAE;aACtB;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,YAAY,IAAI,aAAa,OAAO,OAAO,IAAI,aAAa,OAAO,KAAK;oBAC/E,gBAAgB,EAAE,IAAI;oBACtB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,MAAM;oBACzB,iBAAiB,EAAE,UAAU;oBAC7B,gBAAgB,EAAE,UAAU;iBAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;oBACtB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;yBAClD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,8BAA8B;yBACtC,CAAC,CAAC;wBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACjC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,kDAAI,CAAC,IAAI,CACP,4CAA4C,IAAI,+EAA+E,EAC/H,EAAE,EACF,MAAM,CACP,CAAC;oBACJ,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,YAAY,CAAC,EAAU,EAAE,IAAY,EAAE,IAAY;QACjD,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,wCAAwC,IAAI,aAAa,IAAI,IAAI;YACxE,IAAI,EAAE,wCAAwC;YAC9C,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;qBAChC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,qCAAqC;qBAC7C,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,4DAA4D,EAC5D,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,aAAa;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QAChD,OAAO,WAAW,KAAK,OAAO,CAAC;IACjC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,aAAa,CAAC,GAAa;QACzB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC;SAC9D;QACD,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAC/F,CAAC;IAED,oCAAoC;IACpC,iBAAiB;QACf,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAI,IAAI,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACtB;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,iCAAiC,IAAI,CAAC,MAAM,yBAAyB;YAC5E,IAAI,EAAE,2CAA2C;YACjD,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC;qBACrC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,0CAA0C;qBAClD,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,8DAA8D,EAC9D,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IAEJ,CAAC;IAEK,YAAY;;YAChB,kDAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,MAAM;gBACb,eAAe,EAAE;oBACb,QAAQ,EAAE,QAAQ;oBAClB,YAAY,EAAE,oBAAoB;iBACrC;gBACD,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,MAAM;gBACzB,gBAAgB,EAAE,UAAU;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,IAAI;gBACzB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,IAAI,IAAI,EAAE;wBACN,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;wBAC9B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;4BACpB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;4BAC3B,IAAI,QAAQ,GAAG,yCAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;4BACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACpC,IAAI,QAAQ,GAAG,0CAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;4BACnB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCACzB,IAAI,GAAG,GAAG,EAAE,CAAC;gCACb,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oCAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gCACvB,CAAC,CAAC,CAAC;gCACH,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACtB,CAAC,CAAC,CAAC;4BACH,kDAAI,CAAC,IAAI,CAAC;gCACR,KAAK,EAAE,gBAAgB;gCACvB,IAAI,EAAE,uBAAuB,SAAS,CAAC,MAAM,QAAQ;gCACrD,IAAI,EAAE,MAAM;gCACZ,gBAAgB,EAAE,IAAI;gCACtB,kBAAkB,EAAE,SAAS;gCAC7B,gBAAgB,EAAE,UAAU;gCAC5B,iBAAiB,EAAE,MAAM;gCACzB,iBAAiB,EAAE,QAAQ;6BAC5B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gCACjB,IAAI,MAAM,CAAC,WAAW,EAAE;oCACtB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAC,IAAI,CAAC,QAAQ,CAAC;yCACrD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wCACnB,kDAAI,CAAC,IAAI,CACP,SAAS,EACT,eAAe,IAAI,yBAAyB,EAC5C,SAAS,CACV,CAAC;wCACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oCACjC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wCACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,4DAA4D,EAC5D,OAAO,CACR,CAAC;oCACJ,CAAC,CAAC,CAAC;iCACN;4BACH,CAAC,CAAC;wBACJ,CAAC,CAAC;wBACF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;qBACnC;gBACL,CAAC;gBACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,kDAAI,CAAC,SAAS,EAAE;aAC3C,CAAC,CAAC;QAEL,CAAC;KAAA;IAED,uBAAuB;IACvB,cAAc;QACZ,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;;8EA9eU,eAAe,0MA4BhB,wEAAe;+FA5Bd,eAAe;QC5B5B,wEAAqB;QAAA,uEAAO;QAAA,4DAAK;QACjC,wFACE;QAAA,yEACE;QAAA,yEAEE;QACA,yEACI;QAAA,2EACE;QACA,2EACE;QAAA,yGACE;QASF,yGAIE;QAQJ,qEAAe;QAGb,4EACI;QAAA,2GACE;QAEF,4GAAwC;QAC5C,qEAAe;QAGf,6EACI;QAAA,4GACE;QAaF,6GACE;QAoBN,qEAAe;QAEf,4GAAiE;QACjE,4GAGgC;QACpC,4DAAQ;QACZ,4DAAM;QACR,4DAAM;QAGN,2EAEE;QAAA,wHAIE;QAMF,8GAGI;QAmGN,4DAAM;QACR,4DAAM;QACR,4DAAqB;QACrB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QA3MM,0DAAwB;QAAxB,qFAAwB;QA0ElB,2DAA6C;QAA7C,6FAA6C;QAG5D,0DAA4C;QAA5C,8FAA4C;QAUtD,0DAAgB;QAAhB,8EAAgB;QAUhB,0DAAe;QAAf,6EAAe;;6FD5EV,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;sBA6BI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AExD3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAChB;;;AAKxC,MAAM,aAAa;IAGxB,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAGL,kCAAkC;IAClC,SAAS,CAAC,EAAU;QAClB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,iCAAiC;IACjC,WAAW,CAAC,IAAY,EAAE,EAAU;QAClC,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE,EAAE;SACP,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,kCAAkC;IAClC,WAAW,CAAC,IAAY,EAAE,EAAU;QAClC,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE,EAAE;SACP,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,oCAAoC;IACpC,WAAW,CAAC,EAAU;QACpB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,mCAAmC;IACnC,UAAU,CAAC,EAAU;QACnB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,kCAAkC;IAClC,YAAY,CAAC,IAAS,EAAE,KAAa;QACnC,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,mCAAmC;IACnC,YAAY,CAAC,EAAU,EAAE,MAAa,EAAE,MAAc;QACpD,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,EAAE,EAAE,EAAE;YACN,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,qCAAqC;IACrC,YAAY,CAAC,EAAU;QACrB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAGD,oCAAoC;IACpC,cAAc,CAAC,QAAgB;QAC7B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,oBAAoB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;;0EAtHU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;6FAEP,aAAa;cAHzB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNyD;AAEe;AAC1C;;;;;;;;;;;;;ICQnB,gFACE;IAAA,uDACA;IAAA,4DAAa;;;IAF+B,oFAAsB;IAClE,0DACA;IADA,4FACA;;;IAOF,gFACE;IAAA,uDACA;IAAA,4DAAa;;;IAFgD,uFAAyB;IACtF,0DACA;IADA,kGACA;;ADVP,MAAM,iBAAiB;IAiB5B,YACS,SAA0C,EACjB,IAAI,EAC7B,MAAiB,EAChB,mBAAwC,EACxC,sBAA8C;QAJ/C,cAAS,GAAT,SAAS,CAAiC;QACjB,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,2BAAsB,GAAtB,sBAAsB,CAAwB;QApBxD,eAAU,GAAG;YACX,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;YAC9B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;YAChC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;YAC/B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;SAC9C,CAAC;QAEF,iBAAY,GAAG,IAAI,CAAC;QACpB,iBAAY,GAAG,IAAI,CAAC;QACpB,qBAAgB,GAAG,IAAI,CAAC;QACxB,uBAAkB,GAAG,IAAI,CAAC;QAE1B,WAAM,GAAG,OAAO,CAAC;QACV,aAAQ,GAAG,EAAE,CAAC;IAQjB,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,GAAG;YACT,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC/B,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,YAAY,EAAE,IAAI,CAAC,kBAAkB;SACtC,CAAC;QACF,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAChD,SAAS,CAAC,CAAC,IAAI,EAAC,EAAE;YAChB,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzF,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,sBAAsB;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,aAAa;;;;YACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,kDAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,kDAAkD;gBACzD,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE,GAAG,EAAE;oBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;;gBACH,KAAwB,yEAAI,CAAC,kBAAkB;oBAApC,MAAM,GAAG;oBAClB,IAAI,IAAI,GAAG;wBACT,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACpC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;wBACtC,MAAM,EAAE,IAAI,CAAC,YAAY;wBACzB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;wBAC/B,OAAO,EAAE,IAAI,CAAC,YAAY;wBAC1B,YAAY,EAAE,CAAC,GAAG,CAAC;qBACpB,CAAC;oBACF,oBAAoB;oBAEpB,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAClF,yBAAyB;oBACzB,IAAI,KAAK,qBAAG,SAAS,0CAAG,CAAC,2CAAI,WAAW,2CAAI,QAAQ,CAAC,CAAC;oBACtD,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACxC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,IAAI,YAAY,GAAG;wBACjB,SAAS,EAAE,EAAE;qBAEd,CAAC;oBACF,IAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;;4BAEtB,KAA0B,uFAAS;gCAAxB,MAAM,KAAK;gCACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gCACvB,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gCACtF,uBAAuB;gCACrB,IAAG,CAAC,IAAI,CAAC,EAAE;oCACT,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;iCAC3B;qCAAI;oCACH,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;iCACvF;gCACD,CAAC,IAAI,CAAC,CAAC;6BACV;;;;;;;;;wBACD,IAAG,YAAY;4BAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBAEnD;yBAAI;wBACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACnB,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;wBACtF,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBAClC;iBACF;;;;;;;;;YACD,kDAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;iBACtH;gBACH,kDAAI,CAAC,IAAI,CACP,aAAa,EACb,0CAA0C,EAC1C,MAAM,CACP,CAAC;aACH;;KACF;IAGD,MAAM,CAAC,KAAK,EAAE,KAAK;QACjB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;SACxC;QACD,OAAO,MAAM;IACf,CAAC;;kFAnHU,iBAAiB,0MAmBlB,wEAAe;iGAnBd,iBAAiB;QCZ9B,wEAAqB;QAAA,+EAAoB;QAAA,4DAAK;QAC9C,wFACI;QAAA,sEACI;QAAA,oFACE;QAAA,4EAAW;QAAA,uDAAyC;QAAA,4DAAY;QAChE,2EACF;QADkB,2LAA0B;QAA1C,4DACF;QAAA,4DAAiB;QACjB,gEACA;QAAA,oFACE;QAAA,6EAAW;QAAA,8EAAkB;QAAA,4DAAY;QACzC,iFACE;QADU,iMAA0B;QACpC,6HACE;QAEJ,4DAAa;QACf,4DAAiB;QACjB,iEACA;QAAA,qFACE;QAAA,6EAAW;QAAA,mGAAkC;QAAA,4DAAY;QACzD,iFACE;QADU,uMAAgC;QAC1C,6HACE;QAEJ,4DAAa;QACf,4DAAiB;QACrB,4DAAM;QACV,4DAAqB;QACrB,yFACI;QAAA,6EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACnD,6EAG4B;QAA1B,0IAAS,mBAAe,IAAC;QAAC,qEAAS;QAAA,4DAAS;QAClD,4DAAqB;;QA7BA,0DAAyC;QAAzC,iHAAyC;QACpC,0DAA0B;QAA1B,qFAA0B;QAK9B,0DAA0B;QAA1B,qFAA0B;QACxB,0DAAiC;QAAjC,mFAAiC;QAQnC,0DAAgC;QAAhC,2FAAgC;QAC9B,0DAAkD;QAAlD,8FAAkD;QAWpE,0DAA0B;QAA1B,uFAA0B;;6FDnBnB,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;sBAoBI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AE/B3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACR;AACF;;AAK1B,MAAM,mBAAmB;IAE9B;IAAgB,CAAC;IAEjB,+CAA+C;IAC/C,oBAAoB,CAAC,IAAS;QAC5B,MAAM,KAAK,GAAG,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;QACnD,IAAI,QAAQ,GAAG,IAAI,gDAAQ,EAAE,CAAC;QAC9B,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,cAAc;QACd,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,SAAS,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAErB,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAEnE,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAC;YACxB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,IAAI,GAAC,EAAE,CAAC;YACZ,KAAI,IAAI,GAAG,IAAI,IAAI,EAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACjD;YACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACxB;QAED,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC3G,iDAAS,CAAC,IAAI,EAAE,kBAAkB,IAAI,CAAC,YAAY,OAAO,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,2CAA2C;IAC3C,gBAAgB,CAAC,QAAa,EAAE,IAAS,EAAE,MAAc;QACvD,IAAI,QAAQ,GAAG,IAAI,gDAAQ,EAAE,CAAC;QAC9B,KAAK,IAAI,YAAY,IAAI,IAAI,EAAE;YAC7B,MAAM,KAAK,GAAG,gBAAgB,GAAG,YAAY,CAAC,YAAY,CAAC;YAC3D,IAAI,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACjE,cAAc;YACd,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,SAAS,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACxC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAErB,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAEnE,IAAI,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACtD,KAAK,IAAI,GAAG,IAAI,YAAY,CAAC,SAAS,EAAC;gBACrC,IAAI,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;gBAC/B,IAAI,IAAI,GAAC,EAAE,CAAC;gBACZ,KAAI,IAAI,GAAG,IAAI,IAAI,EAAC;oBAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;iBAC5C;gBACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACxB;YAED,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,GAAG;oBACV,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC5B;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG;oBAChB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;YACH,CAAC,CAAC,CAAC;SACJ;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,CAAC,CAAC;YAC3G,iDAAS,CAAC,IAAI,EAAE,cAAc,QAAQ,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IAEL,CAAC;IAGD,+CAA+C;IAC/C,QAAQ,CAAC,KAAU,EAAE,MAAc;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAC/C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;SACtB;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;sFAlGU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;6FAEP,mBAAmB;cAH/B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNiD;AAInB;AAK8B;AACM;AACT;AACS;AACG;AACS;AACZ;AACN;AACM;AACA;;;;;;;;;;;;;;;;;ICfvD,0EACI;IAAA,oEAAG;IAAA,+EAAoB;IAAA,4DAAI;IAC3B,yEAA2B;IAC3B,wEAIC;IADG,+TAA0B,UAAU,KAAE;IACzC,+EAAuB;IAAA,sEAAW;IAAA,4DAAW;IAAA,6EAAkB;IAAA,4DAAI;IACpE,wEAIC;IADG,iUAAyB;IAC5B,+EAAuB;IAAA,gEAAI;IAAA,4DAAW;IAAA,oFAAmB;IAAA,4DAAI;IAC9D,yEAIC;IADG,uUAA8B;IACjC,gFAAuB;IAAA,oEAAQ;IAAA,4DAAW;IAAA,8EAAkB;IAAA,4DAAI;IACjE,yEAIC;IADG,mUAA0B;IAC7B,gFAAuB;IAAA,gEAAI;IAAA,4DAAW;IAAA,2EAAe;IAAA,4DAAI;IAC1D,yEAIC;IADG,mUAA0B;IAC7B,gFAAuB;IAAA,kEAAM;IAAA,4DAAW;IAAA,6EAAiB;IAAA,4DAAI;IAE9D,yEAIC;IADG,oUAA2B;IAC9B,gFAAuB;IAAA,sEAAU;IAAA,4DAAW;IAAA,iFAAqB;IAAA,4DAAI;IAEtE,yEAIC;IADG,qUAA4B;IAC/B,gFAAuB;IAAA,mEAAO;IAAA,4DAAW;IAAA,0EAAc;IAAA,4DAAI;IAC5D,yEAIC;IADG,wUAA+B;IAClC,gFAAuB;IAAA,iEAAK;IAAA,4DAAW;IAAA,8EAAkB;IAAA,4DAAI;IAClE,4DAAM;;;IACN,0EACI;IAAA,yEAA2B;IAC3B,oEACI;IAAA,uHACJ;IAAA,4DAAI;IACJ,yEAA2B;IAC/B,4DAAM;;;;IAIF,wEAKC;IADG,oUAA0B,UAAU,KAAE;IACzC,+EAAuB;IAAA,sEAAW;IAAA,4DAAW;IAAA,oFAAoB;IAAA,4DAAI;;;;IACtE,wEAKC;IADG,2UAA8B;IACjC,+EAAuB;IAAA,sEAAW;IAAA,4DAAW;IAAA,wEAAa;IAAA,4DAAI;;;;IAC/D,wEAKC;IADG,0UAA6B;IAChC,+EAAuB;IAAA,8EAAmB;IAAA,4DAAW;IAAA,kFAAkB;IAAA,4DAAI;;;;IAC5E,wEAKC;IADG,2UAA8B;IACjC,+EAAuB;IAAA,+EAAoB;IAAA,4DAAW;IAAA,gFAAgB;IAAA,4DAAI;;;;IAC3E,wEAKC;IADG,kUAAqB;IACxB,+EAAuB;IAAA,+DAAI;IAAA,4DAAW;IAAA,mFAAmB;IAAA,4DAAI;;;;IAC9D,wEAKC;IADG,kUAAqB;IACxB,+EAAuB;IAAA,iEAAM;IAAA,4DAAW;IAAA,qFAAqB;IAAA,4DAAI;;;;IAClE,wEAKC;IADG,4UAA8B;IACjC,+EAAuB;IAAA,kEAAO;IAAA,4DAAW;IAAA,yEAAc;IAAA,4DAAI;;;;IAC5D,wEAKC;IADG,yUAA2B;IAC9B,+EAAuB;IAAA,kEAAO;IAAA,4DAAW;IAAA,mFAAwB;IAAA,4DAAI;;;IAlD1E,0EACI;IAAA,oEAAG;IAAA,+EAAoB;IAAA,4DAAI;IAC3B,yEAA2B;IAC3B,uHAKC;IACD,uHAKC;IACD,uHAKC;IACD,uHAKC;IACD,uHAKC;IACD,uHAKC;IACD,yHAKC;IACD,yHAKC;IACL,4DAAM;;;IA/CE,0DAAkB;IAAlB,qFAAkB;IAMlB,0DAAwC;IAAxC,+JAAwC;IAMxC,0DAAkB;IAAlB,qFAAkB;IAMlB,0DAAwC;IAAxC,+JAAwC;IAMxC,0DAA4B;IAA5B,wIAA4B;IAM5B,0DAA4B;IAA5B,wIAA4B;IAM5B,0DAA4B;IAA5B,wIAA4B;IAM5B,0DAAwC;IAAxC,+JAAwC;;;IA0B5C,oEAAiB;IAAA,oEAAG;IAAA,4EAAY;IAAA,4DAAI;IAAC,uDAAiB;IAAA,4DAAI;;;IAArB,0DAAiB;IAAjB,+FAAiB;;;;IASlD,6EAOI;IADA,sUAAqB;IACrB,2EAAU;IAAA,6EAAkB;IAAA,4DAAW;IAC3C,4DAAS;;;;IAML,sFACI;IAAA,+EAA0C;IAAA,+DAAI;IAAA,4DAAW;IACzD,0EAAc;IAAA,wEAAgG;IAAtE,6aAAqE;IAAC,uDAAc;IAAA,4DAAI;IAAA,4DAAM;IAC1I,4DAAkB;;;IAHoC,8EAAgB;IAE4C,0DAAc;IAAd,8EAAc;;ADhIjJ,MAAM,wBAAwB;IA4BnC,YACU,MAAc,EACd,WAA2B,EAC3B,IAAiB,EAClB,MAAiB,EAChB,cAAsC;QAJtC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAgB;QAC3B,SAAI,GAAJ,IAAI,CAAa;QAClB,WAAM,GAAN,MAAM,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAwB;QA/BhD,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,gBAAW,GAAG,IAAI,CAAC;QAEnB,aAAQ,GAAG,IAAI,CAAC;QAChB,eAAU,GAAG,IAAI,CAAC;QAClB,kBAAa,GAAG,IAAI,CAAC;QACrB,YAAO,GAAG,IAAI,CAAC;QACf,iBAAY,GAAG,IAAI,CAAC;QACpB,mBAAc,GAAG,IAAI,CAAC;QACtB,gBAAW,GAAG,IAAI,CAAC;QACnB,qBAAgB,GAAG,IAAI,CAAC;QAExB,UAAK,GAAG,KAAK,CAAC;QACd,eAAU,GAAG,KAAK,CAAC;QASjB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAE,SAAS,CAAC,EAAE;YAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,QAAQ;;YACZ,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;KAAA;IAED,iCAAiC;IAC3B,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;iBACvB,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;IAED,sCAAsC;IACtC,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;aACzC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAClE,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,SAAS,CAAC,EAAU,EAAE,IAAY,EAAE,WAAmB,EAAE,QAAiB;QACxE,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,wCAAwC;IACxC,YAAY;QACV,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,oCAAoC;IACpC,cAAc;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,kBAAkB;YACrC,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;oBACxB,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB,CAAC;iBACH;qBAAI;oBACH,KAAK,IAAI,CAAC,CAAC;iBACZ;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,sCAAsC;gBAC5C,UAAU,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;aAC/B;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,gGAAgG;gBACtG,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;aACpC;YACD;gBACE,KAAK,EAAE,gCAAgC;gBACvC,IAAI,EAAE,4GAA4G;gBAClH,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;aAC9B;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,IAAI,GAAG;oBACT,QAAQ,EAAE,IAAI,CAAC,UAAU;oBACzB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBAC5C,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;iBACvC,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC;qBACrC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,gCAAgC;qBACxC,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,6CAA6C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,6EAA6E,EACzI,EAAE,EACF,MAAM,CACP,CAAC;gBACJ,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,cAAc;QACZ,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,yCAAyC,IAAI,CAAC,QAAQ,GAAG;YAChE,IAAI,EAAE,kDAAkD;YACxD,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;qBAChD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,kCAAkC;qBAC1C,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,8DAA8D,EAC9D,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;IAGD,iDAAiD;IACjD,SAAS;QACP,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,kBAAkB;YACrC,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,MAAM;YACzB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB;iBACF;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,4CAA4C;aACnD;YACD;gBACE,KAAK,EAAE,6BAA6B;gBACpC,IAAI,EAAE,2CAA2C;aAClD;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpC,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,yCAAyC;oBAChD,gBAAgB,EAAE,IAAI;oBACtB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,MAAM;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,gBAAgB,EAAE,UAAU;iBAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;oBACtB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC;yBAC9D,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,mCAAmC;yBAC3C,CAAC,CAAC;wBACH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,kDAAI,CAAC,IAAI,CACP,gDAAgD,IAAI,mFAAmF,EACvI,EAAE,EACF,MAAM,CACP,CAAC;oBACJ,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,SAAS;QACP,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,kBAAkB;YACrC,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB;iBACF;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EAAE,4CAA4C;gBAClD,UAAU,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;aACnC;YACD;gBACE,KAAK,EAAE,mCAAmC;gBAC1C,IAAI,EAAE,iDAAiD;gBACvD,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;aAClC;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpC,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,0CAA0C;oBACjD,gBAAgB,EAAE,IAAI;oBACtB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,UAAU;oBAC7B,iBAAiB,EAAE,MAAM;oBACzB,gBAAgB,EAAE,UAAU;iBAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;oBACtB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;yBACrE,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,oCAAoC;yBAC5C,CAAC,CAAC;wBACH,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC7E,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,kDAAI,CAAC,IAAI,CACP,kDAAkD,OAAO,oFAAoF,EAC7I,EAAE,EACF,MAAM,CACP,CAAC;oBACJ,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,SAAS;QACP,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,6CAA6C,IAAI,CAAC,WAAW,GAAG;YACvE,IAAI,EAAE,sDAAsD;YAC5D,IAAI,EAAE,UAAU;YAChB,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;qBAC/C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,sCAAsC;qBAC9C,CAAC,CAAC;oBACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,kEAAkE,EAClE,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,aAAa;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wEAAe,EAAE;YAClD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE;SACjE,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,kBAAkB;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAiB,EAAE;YACpD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;SACxF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAsD;IACtD,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qEAAc,EAAE;YACjD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE;SAClC,CAAC,CAAC;IAEL,CAAC;IAED,uCAAuC;IACvC,kBAAkB;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAiB,EAAE;YACpD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;SACnE,CAAC,CAAC;IAEL,CAAC;IAED,gDAAgD;IAChD,mBAAmB;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAkB,EAAE;YACrD,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,cAAc,EAAE;SACjI,CAAC,CAAC;IAEL,CAAC;IAED,kDAAkD;IAClD,iBAAiB;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0FAAqB,EAAE;YACxD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SACxF,CAAC,CAAC;IAEL,CAAC;IAED,kDAAkD;IAClD,kBAAkB;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+EAAiB,EAAE;YACpD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;SACzD,CAAC,CAAC;IAEL,CAAC;IAED,kDAAkD;IAClD,kBAAkB;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAAiB,EAAE;YACpD,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC;SACF,CAAC,CAAC;IAEL,CAAC;IAED,kDAAkD;IAClD,gBAAgB,CAAC,IAAY;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yEAAe,EAAE;YAClD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI;gBACV,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,gBAAgB,EAAE,IAAI,CAAC,YAAY;gBACnC,YAAY,EAAE,IAAI,CAAC,cAAc;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC,CAAC;IAEL,CAAC;IAED;;OAEG;IACG,eAAe;;YACnB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,kDAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,6CAA6C,IAAI,CAAC,QAAQ,GAAG;gBACpE,IAAI,EAAE,mDAAmD;gBACzD,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,IAAI;gBACtB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,MAAM;gBACzB,iBAAiB,EAAE,oBAAoB;gBACvC,gBAAgB,EAAE,UAAU;aAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,MAAM,CAAC,WAAW,EAAE;oBACtB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;yBACjD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,sCAAsC;yBAC9C,CAAC,CAAC;wBACH,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,kEAAkE,EAClE,OAAO,CACR,CAAC;oBACJ,CAAC,CAAC,CAAC;iBACN;YACH,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,gBAAgB;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+EAAiB,EAAE;YACpD,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;SACF,CAAC,CAAC;IACL,CAAC;;gGA7eU,wBAAwB;wGAAxB,wBAAwB;QCzBrC,2FACI;QAAA,oFACI;QAAA,+EACI;QAAA,qHACI;QA6CJ,oHACI;QAMJ,qHACI;QAmDR,4DAAe;QACtB,4DAAc;QAEd,sFACO;QAAA,4EAII;QADJ,gJAAS,kBAAc,IAAC;QACpB,2EAAU;QAAA,sEAAU;QAAA,4DAAW;QACnC,4DAAS;QAET,+EACI;QAAA,mFACI;QAAA,0EACI;QAAA,+EAA4B;QAAA,kEAAM;QAAA,4DAAW;QACjD,4DAAM;QACN,kFAAgB;QAAA,wDAAc;QAAA,4DAAiB;QAC/C,qFAAmB;QAAA,qEAAG;QAAA,wDAAkB;QAAA,4DAAI;QAAA,4DAAoB;QACpE,4DAAkB;QAClB,oFACI;QAAA,kHAAiB;QACrB,4DAAmB;QACvB,4DAAW;QAEX,0EACI;QAAA,sEAAI;QAAA,qEAAS;QAAA,4DAAK;QAClB,2EACI;QAAA,4EACA;QAAA,2EACI;QAAA,6HAOI;QAEJ,sEACJ;QAAA,4DAAM;QACN,0EAA2B;QAC3B,2EACI;QAAA,8FACI;QAAA,+IACI;QAGR,4DAAqB;QACzB,4DAAM;QACN,0EAA2B;QAC3B,4DAAW;QACf,4DAAM;QACV,4DAAM;QACb,4DAAsB;QACvB,4DAAwB;;QA/JP,0DAA4B;QAA5B,8HAA4B;QA8C5B,0DAAc;QAAd,4EAAc;QAOd,0DAAa;QAAb,2EAAa;QAoEE,2DAAc;QAAd,6EAAc;QACR,0DAAkB;QAAlB,iFAAkB;QAGrC,0DAAa;QAAb,2EAAa;QAUR,0DAA4B;QAA5B,8HAA4B;QAYL,0DAAkB;QAAlB,2EAAkB;QACxB,0DAAoC;QAApC,yFAAoC;;6FD9HhE,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;aACjD;;;;;;;;;;;;;;AExBD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,sBAAsB;IAGjC,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,yCAAyC;IACzC,OAAO,CAAC,QAAgB;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,iBAAiB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,qCAAqC;IACrC,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,uCAAuC;IACvC,cAAc,CAAC,EAAU;QACvB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,aAAa,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,2CAA2C;IAC3C,eAAe,CAAC,EAAU;QACxB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,EAAE,EAAE,EAAE;SACP,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,wCAAwC;IACxC,SAAS,CAAC,IAAY,EAAE,WAAmB,EAAE,QAAgB;QAC3D,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,eAAe,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,yCAAyC;IACzC,SAAS,CAAC,IAAY,EAAE,WAAmB,EAAE,YAAoB;QAC/D,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,IAAI,IAAI,GAAG;YACT,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;SAC3B,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,eAAe,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,2CAA2C;IAC3C,SAAS,CAAC,EAAU;QAClB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,iBAAiB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAGD,uDAAuD;IACvD,gBAAgB,CAAC,IAAS;QACxB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,oBAAoB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,uDAAuD;IACvD,aAAa,CAAC,IAAS;QACrB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,8BAA8B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;IAGD,uDAAuD;IACvD,mBAAmB,CAAC,IAAS;QAC3B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,4BAA4B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;;4FA3HU,sBAAsB;yGAAtB,sBAAsB,WAAtB,sBAAsB,mBAFrB,MAAM;6FAEP,sBAAsB;cAHlC,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACS;;;;;;;;ICK/C,yEAAuC;IAAA,uDAAa;IAAA,4DAAK;;;IAAlB,0DAAa;IAAb,sFAAa;;;IACpD,yEAAwC;IAAA,uDAAoB;IAAA,4DAAK;;;;IAAzB,0DAAoB;IAApB,mGAAoB;;;IAF5D,2EACA;IAAA,yHAAuC;IACvC,yHAAwC;IACxC,qEAAe;;;IAHD,oFAAuB;;;IAKrC,oEAAuE;;;IACvE,oEAA+D;;ADDpE,MAAM,eAAe;IAM1B,YACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QALtC,eAAU,GAAG,EAAE,CAAC;QAChB,qBAAgB,GAAG,IAAI,CAAC;QACxB,kBAAa,GAAa,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAIjF,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,6CAA6C;IAC7C,UAAU;QACR,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;aAC5B,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAC/C,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC3B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;;8EAjCU,eAAe;+FAAf,eAAe;QCV5B,wEAAqB;QAAA,+EAAoB;QAAA,4DAAK;QAC9C,wFACI;QAAA,yEACI;QAAA,2EACI;QACA,6HACA;QAIA,yGAAkE;QAClE,yGAA0D;QAC9D,4DAAQ;QACZ,4DAAM;QACV,4DAAqB;QACrB,wFACE;QAAA,4EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACrD,4DAAqB;;QAdI,0DAA+B;QAA/B,4FAA+B;QAEN,0DAAoC;QAApC,sFAAoC;QAKvD,0DAA8C;QAA9C,8FAA8C;QACrD,0DAA6C;QAA7C,+FAA6C;;6FDDxD,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAChB;;;AAKxC,MAAM,aAAa;IAGxB,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,kCAAkC;IAClC,UAAU;QACR,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;;0EAfU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;6FAEP,aAAa;cAHzB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACuB;AAER;AAE1C;AAI8B;;;;;;;;;;;;;;;;;;;;;;ICCvC,yEAAsC;IAAA,4EAAY;IAAA,4DAAK;;;IACvD,yEAAwC;IAAA,uDAAmB;IAAA,4DAAK;;;IAAxB,0DAAmB;IAAnB,+FAAmB;;;IAIzD,oEAA2C;;;;IAC3C,yEACI;IAAA,6EACI;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAClC,4DAAS;IACT,qFACI;IAAA,6EAGI;IADA,iXAAkC;IAClC,2EAAU;IAAA,wEAAa;IAAA,4DAAW;IAClC,uEAAM;IAAA,oFAAmB;IAAA,4DAAO;IACpC,4DAAS;IACT,8EAGI;IADA,wXAAwC;IACxC,4EAAU;IAAA,gEAAI;IAAA,4DAAW;IACzB,wEAAM;IAAA,kEAAM;IAAA,4DAAO;IACvB,4DAAS;IACT,8EAGI;IADA,oXAAoC;IACpC,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,oEAAQ;IAAA,4DAAO;IACzB,4DAAS;IACb,4DAAW;IACf,4DAAK;;;IAvBuB,0DAA0B;IAA1B,oFAA0B;;;IA0B1D,oEAAqF;;;IACrF,oEAA6E;;;IAW/C,wEAAQ;;;IAK1B,iFACI;IAAA,uDACJ;IAAA,4DAAa;;;IAFqC,gFAAkB;IAChE,0DACJ;IADI,mGACJ;;;;IAIR,sEACI;IAAA,wEAAO;IAAA,uFAAuB;IAAA,4DAAQ;IACtC,sFAII;IADA,oWAAsC;IACtC,uFAA4B;IAAA,wEAAa;IAAA,4DAAmB;IAC5D,uFAA4B;IAAA,6EAAkB;IAAA,4DAAmB;IACrE,4DAAkB;IACtB,4DAAM;;;;IAEN,0EAGI;IAAA,qEAAI;IAAA,qFAAqB;IAAA,4DAAK;IAC9B,uEAAM;IAAA,4EAAiB;IAAA,4DAAO;IAC9B,0FAMsB;IAFlB,+VAAmC;IAEvC,4DAAsB;IACtB,gEACA;IAAA,uEACI;IAAA,8EAAkB;IAAA,gEAClB;IAAA,qEAAG;IAAA,kEAAM;IAAA,4DAAI;IAAA,yJAEjB;IAAA,4DAAO;IACP,sFAKsB;IAC1B,4DAAM;;;IAlBE,0DAAkB;IAAlB,2EAAkB;IAalB,0DAAiB;IAAjB,0EAAiB;;;IAOzB,sEACI;IAAA,qEAAI;IAAA,uEAAY;IAAA,4DAAK;IACrB,qFACI;IAAA,4EAAW;IAAA,8DAAG;IAAA,4DAAY;IAC1B,0EAGuE;IAC3E,4DAAiB;IACrB,4DAAM;;;IA2BE,yEAA+D;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,uFAAW;;;IAC1E,yEAII;IAAA,uDACJ;IAAA,4DAAK;;;;IADD,0DACJ;IADI,qGACJ;;;IAPA,4EACA;IAAA,kIAA+D;IAC/D,kIAII;IAEJ,qEAAe;;;IARD,qFAAuB;;;IAUrC,oEAAuE;;;IACvE,oEAA+D;;;IAbvE,0EACI;IAAA,4EACI;IAAA,uIACA;IASA,mHAAkE;IAClE,mHAA0D;IAC9D,4DAAQ;IACZ,4DAAM;;;IAde,0DAAgC;IAAhC,kGAAgC;IACP,0DAAiD;IAAjD,2FAAiD;IAUpE,0DAA8C;IAA9C,mGAA8C;IACrD,0DAA6C;IAA7C,oGAA6C;;;;IAYzD,sFAII;IADA,0VAA+B;IAC/B,uDACJ;IAAA,4DAAkB;;;IAHd,oFAAsB;IAEtB,0DACJ;IADI,kGACJ;;;IAeQ,yEAAuC;IAAA,iEAAK;IAAA,4DAAK;;;IACjD,yEAAwC;IAAA,uDAAe;IAAA,4DAAK;;;IAApB,0DAAe;IAAf,2FAAe;;;IAGvD,yEAAuC;IAAA,8EAAkB;IAAA,4DAAK;;;IAC9D,yEAAwC;IAAA,uDAAe;IAAA,4DAAK;;;IAApB,0DAAe;IAAf,2FAAe;;;IAGvD,yEAAuC;IAAA,2EAAe;IAAA,4DAAK;;;IAC3D,yEACI;IAAA,qFAKsB;IAC1B,4DAAK;;;;IALG,0DAAkB;IAAlB,2EAAkB;;;IAQ1B,oEAA2C;;;;IAEvC,6EAQI;IADA,qTAAS,4BAAmB,QAAQ,SAAS,IAAC;IAC9C,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC9B,4DAAS;;;IAVb,yEACI;IAAA,kIAQI;IAER,4DAAK;;;IATG,0DAA4B;IAA5B,6FAA4B;;;IAYxC,oEAA+E;;;IAC/E,oEAAuE;;;;IAK3E,6EAG+B;IAA3B,6UAA0B;IAAC,kEAAO;IAAA,4DAAS;;;;IAC/C,6EAGkC;IAA9B,gVAA6B;IAAC,iEAAM;IAAA,4DAAS;;;IAnDzD,2EACI;IAAA,0EACI;IAAA,2EACI;IAAA,4EACI;IAAA,mHAAuC;IACvC,mHAAwC;IAC5C,qEAAe;IACf,4EACI;IAAA,mHAAuC;IACvC,mHAAwC;IAC5C,qEAAe;IACf,4EACI;IAAA,qHAAuC;IACvC,qHACI;IAOR,qEAAe;IACf,4EACI;IAAA,qHAAsC;IACtC,qHACI;IAWR,qEAAe;IAEf,sHAA0E;IAC1E,sHAAkE;IACtE,4DAAQ;IACZ,4DAAM;IACN,uEACI;IAAA,8EAAsC;IAAA,oEAAQ;IAAA,4DAAS;IACvD,8HAG+B;IAC/B,8HAGkC;IACtC,4DAAM;IACV,4DAAO;;;IArDD,yFAAuB;IAEJ,0DAA8B;IAA9B,gGAA8B;IAoCxB,2DAAsD;IAAtD,2GAAsD;IAC7D,0DAAqD;IAArD,4GAAqD;IAMjE,0DAAiB;IAAjB,oFAAiB;IAIjB,0DAAgB;IAAhB,mFAAgB;;ADlN7C,MAAM,iBAAiB;IAiD5B,YACS,SAA0C,EACjB,IAAI,EAC7B,MAAiB,EAChB,eAAgC,EAChC,eAAgC,EAChC,YAAyB;QAL1B,cAAS,GAAT,SAAS,CAAiC;QACjB,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QAChC,oBAAe,GAAf,eAAe,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAa;QArDnC,0BAAqB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,gCAA2B,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAEzD,iBAAY,GAAG,EAAE,CAAC;QAClB,qBAAgB,GAAG,EAAE,CAAC;QACtB,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,IAAI,CAAC;QAClB,oBAAe,GAAG,IAAI,CAAC;QACvB,kBAAa,GAAG,EAAE,CAAC;QACnB,iBAAY,GAAG,EAAE,CAAC;QAClB,sBAAiB,GAAG,IAAI,CAAC;QACzB,oBAAe,GAAG,IAAI,CAAC;QACvB,0BAAqB,GAAG,IAAI,CAAC;QAE7B,qBAAgB,GAAG,IAAI,CAAC;QACxB,oBAAe,GAAG,EAAE;QAOpB,aAAQ,GAAG,KAAK,CAAC;QACjB,kBAAa,GAAG,IAAI,CAAC;QACrB,aAAQ,GAAG,IAAI,0DAAW,CAAC,CAAC,CAAC,CAAC;QAE9B,iBAAY,GAAG;YACb,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,WAAW,EAAC,kBAAkB;YAC9B,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;QAED,uBAAkB,GAAG;YACnB,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,KAAK;YACf,WAAW,EAAC,mBAAmB;YAC/B,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;IASG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrC,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC7C,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC9C,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,eAAe;QACb,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACjE,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBACpD,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACtB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACpB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5E,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,YAAY;QACV,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;aAChC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC/C,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,OAAO;QACL,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;aAC/C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAClE,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,kBAAkB;QAChB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,iCAAiC;YACxC,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAC;YACvC,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,YAAY,CAAC;iBAClD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAChC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,CAAC,eAAe,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/D,kDAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,qCAAqC;iBAC5C,CAAC,CAAC;YACL,CAAC,CACF,CAAC;SACH;aAAI;YACH,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,mCAAmC;IACnC,UAAU;QACR,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,qBAAqB;YAC5B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC;aACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC7C,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;YACH,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,eAAe;QACb,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,qBAAqB;YAC5B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC;aAClD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAClD,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;YACH,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,eAAe;QACb,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5D,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,oBAAoB;YAC3B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,MAAM,IAAI,CAAC,EAAE;YACf,IAAI,GAAG;gBACL,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;gBACjD,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;aAC7C,CAAC;SACH;aAAM;YACL,IAAI,GAAG;gBACL,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;aACb,CAAC;SACH;QACD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC;aACvC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC7D,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnE,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxF;IACH,CAAC;IAED,cAAc;QACZ,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzE,kDAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,2BAA2B;YAClC,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,MAAM,IAAE,CAAC,EAAE;YACb,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;gBACjD,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;gBAC5C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;aAC5B,CAAC;SACH;aAAM;YACL,IAAI,IAAI,GAAG;gBACT,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;aAC5B,CAAC;SACH;QACD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;YACvC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,8CAA8C;oBACrD,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;aACJ;iBAAI;gBACH,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,kDAAkD;iBACzD,CAAC,CAAC;aACJ;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,kDAAkD;aACzD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,GAAQ;QACtB,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE;YAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,kDAAI,CAAC,KAAK,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,gBAAgB,EAAE,IAAI;gBACtB,gBAAgB,EAAE,UAAU;gBAC5B,iBAAiB,EAAE,MAAM;gBACzB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;oBACrB,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;wBACxB,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB,CAAC;qBACH;yBAAI;wBACH,KAAK,IAAI,CAAC,CAAC;qBACZ;gBACH,CAAC;aACF,CAAC,CAAC,KAAK,CAAC;gBACP;oBACE,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE,6CAA6C,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE;oBACpF,iBAAiB,EAAE,kBAAkB;iBACtC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,IAAI,EAAE;+CAC+B,IAAI,CAAC,IAAI,CAAC,OAAO;WACrD;oBACD,iBAAiB,EAAE,UAAU;iBAC9B;aACF,CAAC,CAAC,IAAI,CAAE,CAAC,MAAM,EAAE,EAAE;gBAClB,IAAI,IAAI,GAAG;oBACT,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;oBAC1B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAClC,CAAC;gBACF,IAAI,MAAM,EAAE;oBACV,kDAAI,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,sBAAsB;wBAC7B,iBAAiB,EAAE,KAAK;wBACxB,MAAM,EAAE,GAAG,EAAE;4BACX,kDAAI,CAAC,WAAW,EAAE,CAAC;wBACrB,CAAC;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;yBACpC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wBACnB,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,wBAAwB;4BAC/B,IAAI,EAAE,+BAA+B,IAAI,gCAAgC,GAAG,CAAC,MAAM,EAAE;yBACtF,CAAC,CAAC;oBACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,6CAA6C;yBACpD,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACN;YACH,CAAC,CAAC,CAAC;SACJ;aAAI;YACH,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE;6CAC+B,IAAI,CAAC,IAAI,CAAC,OAAO;SACrD;gBACD,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,UAAU;gBAC7B,gBAAgB,EAAE,UAAU;gBAC5B,iBAAiB,EAAE,MAAM;aAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,MAAM,CAAC,WAAW,EAAE;oBACtB,IAAI,IAAI,GAAG;wBACT,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC7B,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;wBAC1B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAClC,CAAC;oBACF,kDAAI,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,sBAAsB;wBAC7B,iBAAiB,EAAE,KAAK;wBACxB,MAAM,EAAE,GAAG,EAAE;4BACX,kDAAI,CAAC,WAAW,EAAE,CAAC;wBACrB,CAAC;qBACF,CAAC,CAAC;oBACH,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;yBACpC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wBACnB,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,wBAAwB;4BAC/B,IAAI,EAAE,+BAA+B,IAAI,gCAAgC,GAAG,CAAC,MAAM,EAAE;yBACtF,CAAC,CAAC;oBACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wBACR,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,6CAA6C;yBACpD,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;iBACN;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACxB,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,4DAA4D;YACnE,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;qBAC3C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,IAAI,EAAE;wBACR,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,sBAAsB;4BAC7B,IAAI,EAAE,sDAAsD;yBAC7D,CAAC,CAAC;wBACH,IAAI,CAAC,eAAe,EAAE,CAAC;qBACxB;yBAAM;wBACL,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,SAAS;4BAChB,IAAI,EAAE,qDAAqD;yBAC5D,CAAC,CAAC;qBACJ;gBAEH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,qDAAqD;qBAC5D,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,GAAQ;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAClC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE;gBACvC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,EAAC,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;aAAI;YACH,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,0DAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,yDAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrG;QACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAC,EAAE,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAC,CAAC;QACvG,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aACzD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,0DAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjE,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,qCAAqC;aAC5C,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IAEJ,CAAC;IAED,iBAAiB;QACf,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzE,kDAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,2BAA2B;YAClC,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,MAAM,IAAE,CAAC,EAAE;YACb,IAAI,IAAI,GAAG;gBACT,EAAE,EAAE,IAAI,CAAC,aAAa;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK;gBACjD,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;gBAC5C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;aAC5B,CAAC;SACH;aAAM;YACL,IAAI,IAAI,GAAG;gBACT,EAAE,EAAE,IAAI,CAAC,aAAa;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;gBAC9C,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;aAC5B,CAAC;SACH;QACD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;YACvC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,8CAA8C;oBACrD,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;aACJ;iBAAI;gBACH,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,kDAAkD;iBACzD,CAAC,CAAC;aACJ;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,kDAAkD;aACzD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;;kFA5nBU,iBAAiB,0MAmDlB,wEAAe;iGAnDd,iBAAiB;QChB9B,wEAAqB;QAAA,yEAAc;QAAA,4DAAK;QACxC,wFACI;QAAA,mFAII;QAFA,kLAAuB,6BAAyB,IAAC;QAEjD,6EACI;QAAA,yEACI;QAAA,2EACI;QAAA,2EACE;QAAA,2GAAsC;QACtC,2GAAwC;QAC1C,qEAAe;QAEf,4EACI;QAAA,6GAAsC;QACtC,8GACI;QAwBR,qEAAe;QAEf,8GAAgF;QAChF,8GAAwE;QAC5E,4DAAQ;QACZ,4DAAM;QACV,4DAAU;QAEV,+EACI;QAAA,0EACI;QAAA,qEAAG;QAAA,mHAAuD;QAAA,4DAAI;QAC9D,kGACI;QAAA,gFACE;QAAA,4EACE;QAAA,gIAA0B;QAC1B,sEAAI;QAAA,qFAAoB;QAAA,4DAAK;QAC7B,sFACI;QAAA,6EAAW;QAAA,yEAAQ;QAAA,4DAAY;QAC/B,kFACI;QAAA,8HACI;QAER,4DAAa;QACjB,4DAAiB;QACjB,iEACA;QAAA,gHACI;QASJ,iEACA;QAAA,iHAGI;QAsBJ,iEACA;QAAA,gHACI;QASJ,iEAEA;QAAA,uEACI;QAAA,8EAAkC;QAAA,qEAAS;QAAA,4DAAS;QACxD,4DAAM;QACR,4DAAO;QACT,4DAAW;QAEX,gFACI;QAAA,sEAAI;QAAA,4HAA2D;QAAA,4DAAK;QACpE,4EACI;QAAA,8EAKI;QADA,0IAAS,qBAAiB,IAAC;QAC3B,0EACJ;QAAA,4DAAS;QACT,uEACI;QAAA,8EAAsC;QAAA,oEAAQ;QAAA,4DAAS;QACvD,8EAAkC;QAAA,qEAAS;QAAA,4DAAS;QACxD,4DAAM;QACV,4DAAO;QACP,gHACI;QAeR,4DAAW;QAEX,gFACI;QAAA,sEAAI;QAAA,sHAA0D;QAAA,4DAAK;QACnE,4EACI;QAAA,0FAII;QAAA,wIAII;QAER,4DAAqB;QACrB,uEACI;QAAA,8EAAsC;QAAA,oEAAQ;QAAA,4DAAS;QACvD,8EAAkC;QAAA,qEAAS;QAAA,4DAAS;QACxD,4DAAM;QACV,4DAAO;QACX,4DAAW;QAEX,gFACI;QAAA,sEAAI;QAAA,gJAAoF;QAAA,4DAAK;QAC7F,mHACI;QAqDR,4DAAW;QAEf,4DAAyB;QAC7B,4DAAM;QACV,4DAAU;QACd,4DAAgB;QACpB,4DAAqB;QAErB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QA9Ob,0DAAgC;QAAhC,6FAAgC;QAKP,0DAAoC;QAApC,iGAAoC;QAmC9B,0DAA4D;QAA5D,4GAA4D;QACnE,0DAA2D;QAA3D,6GAA2D;QAQnD,0DAAe;QAAf,wEAAe;QACzB,0DAA8B;QAA9B,2FAA8B;QAChC,0DAA4B;QAA5B,yFAA4B;QAMZ,0DAAqC;QAArC,qFAAqC;QAMpD,0DAA0D;QAA1D,0HAA0D;QAY3D,0DAAqD;QAArD,qHAAqD;QAyBpD,0DAAqD;QAArD,qHAAqD;QAkBpD,0DAAgC;QAAhC,6FAAgC;QAEhC,0DAA8B;QAA9B,2FAA8B;QAa/B,0DAAyB;QAAzB,uFAAyB;QAkBxB,0DAA+B;QAA/B,4FAA+B;QAE/B,0DAA6B;QAA7B,0FAA6B;QAG3B,0DAAkB;QAAlB,2EAAkB;QAGd,0DAA6C;QAA7C,yFAA6C;QAanD,0DAAyB;QAAzB,sFAAyB;QAED,0DAAuB;QAAvB,qFAAuB;;6FDjKhE,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;sBAoDI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEnE3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,eAAe;IAG1B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,0CAA0C;IAC1C,eAAe,CAAC,QAAgB;QAC9B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,aAAa,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,uCAAuC;IACvC,YAAY;QACV,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,yCAAyC;IACzC,OAAO,CAAC,QAAgB;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,iBAAiB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,+CAA+C;IAC/C,kBAAkB,CAAC,YAAoB;QACrC,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,6BAA6B,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,yCAAyC;IACzC,UAAU,CAAC,QAAgB;QACzB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,oBAAoB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,mDAAmD;IACnD,eAAe,CAAC,QAAgB,EAAE,KAAa;QAC7C,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,oBAAoB,QAAQ,IAAI,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAGD,mDAAmD;IACnD,eAAe,CAAC,IAAS;QACvB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,0BAA0B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IAGD,uCAAuC;IACvC,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,yCAAyC;IACzC,YAAY,CAAC,IAAS;QACpB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,mBAAmB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,0CAA0C;IAC1C,iBAAiB,CAAC,WAAmB;QACnC,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,sBAAsB,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,4CAA4C;IAC5C,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;;8EArHU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqE;AACa;AAChB;AACa;AAC5B;AAEpB;;;;;;;;;;;;;;;;ICIX,yEAAuC;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,sFAAW;;;IAClD,yEAAwC;IAAA,uDAAoB;IAAA,4DAAK;;;;IAAzB,0DAAoB;IAApB,oGAAoB;;;IAFhE,4EACI;IAAA,yHAAuC;IACvC,wHAAwC;IAC5C,qEAAe;;;IAHD,+FAAyB;;;;IAsBvB,6EAOE;IADE,gbAAiC;IACnC,2EAAU;IAAA,+DAAI;IAAA,4DAAW;IAC3B,4DAAS;;;;IAET,6EAOE;IADE,4aAA6B;IAC/B,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC5B,4DAAS;;;IAGb,oEAAmB;IAAA,uDAAmB;IAAA,4DAAI;;;IAAvB,0DAAmB;IAAnB,qFAAmB;;;;IACtC,+EAOA;IAFI,mXAA6B;IAEjC;IAAA,4DAAW;;;IAHP,uFAAyB;;;;IAzCrC,yEACA;IAAA,0EAEI;IAAA,0EACI;IAAA,0EACI;IAAA,6EAOE;IADE,2WAA+B;IACjC,2EAAU;IAAA,iEAAM;IAAA,4DAAW;IAC7B,4DAAS;IAET,uHAOE;IAGF,uHAOE;IAEN,4DAAM;IACN,oEAAG;IAAA,8EAAkB;IAAA,4DAAI;IACzB,+GAAmB;IACnB,6HAOA;IACJ,4DAAM;IACV,4DAAM;IACN,4DAAK;;;;IA/CmC,qGAAwC;IAE5E,0DAAsE;IAAtE,4IAAsE;IAkB1D,0DAAe;IAAf,iFAAe;IAUf,0DAAc;IAAd,gFAAc;IAMnB,0DAAe;IAAf,iFAAe;IAGd,0DAAc;IAAd,gFAAc;;;IAW9B,oEAA4D;;;;IAC5D,yEAIK;IADD,sYAAuD,IAAK,mBAAU;IAC1E,4DAAK;;;;IAFD,0HAAyD;;;IAG7D,oEAA8F;;;IAQ5D,oGAAyC;;;IAI3D,iFACI;IAAA,uDACJ;IAAA,4DAAa;;;IAFmC,6EAAe;IAC3D,0DACJ;IADI,sFACJ;;;IAUc,6IAAwE;;;;IAI1F,iFACI;IAAA,uDACJ;IAAA,4DAAa;;;IAFiC,wKAAgC;IAC1E,0DACJ;IADI,2FACJ;;;IAWsB,qHAAqD;;;AD7FhG,MAAM,eAAe;IA2B1B,YACU,YAAyB,EACD,IAAI;QAD5B,iBAAY,GAAZ,YAAY,CAAa;QACD,SAAI,GAAJ,IAAI;QA3BtC,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAMH,mBAAc,GAAG,IAAI,CAAC;QACtB,eAAU,GAAG,EAAE;QAEf,WAAM,GAAG,KAAK,CAAC;QAEf,qBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAO3C,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC7C,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpC,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,mBAAmB;IACnB,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACnD,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK;YACnD,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,+BAA+B;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAE1B,CAAC;IAED,oBAAoB;IACpB,YAAY,CAAC,OAAY;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACpD,OAAO,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,cAAc,CAAC,OAAY;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,OAAY;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACpD,IAAG,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAC;gBAC9B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;aAC9B;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;;8EAnFU,eAAe,+LA6BhB,wEAAe;+FA7Bd,eAAe;wEAwBf,gEAAQ;;;;;QC5CrB,wEAAqB;QAAA,0EAAe;QAAA,4DAAK;QACzC,wFACI;QAAA,gFAEI;QAAA,6EACI;QAAA,8EAII;QAAA,6HACI;QAKJ,2EACI;QAAA,0GACA;QA+CJ,qEAAe;QAEf,2GAAuD;QACvD,2GAIA;QACA,4GAAyF;QAC7F,4DAAQ;QACZ,4DAAU;QAEV,+EACI;QAAA,gGACI;QAAA,gFACI;QAAA,4EACI;QAAA,8HAA0B;QAC1B,sFACI;QAAA,6EAAW;QAAA,qFAAyB;QAAA,4DAAY;QAChD,kFACI;QAAA,4HACI;QAER,4DAAa;QACjB,4DAAiB;QACjB,uEACI;QAAA,8EAAkC;QAAA,qEAAS;QAAA,4DAAS;QACxD,4DAAM;QACV,4DAAO;QACX,4DAAW;QACX,gFACE;QAAA,4EACE;QAAA,8HAA0B;QAC1B,sFACI;QAAA,6EAAW;QAAA,qFAAyB;QAAA,4DAAY;QAChD,kFACI;QAAA,4HACI;QAER,4DAAa;QACjB,4DAAiB;QACjB,uEACI;QAAA,8EAAsC;QAAA,oEAAQ;QAAA,4DAAS;QACvD,8EAAkC;QAAA,qEAAS;QAAA,4DAAS;QACxD,4DAAM;QACR,4DAAO;QACT,4DAAW;QACX,gFACI;QAAA,4EACI;QAAA,8HAA0B;QAE1B,sFACA;QAAA,6EAAW;QAAA,iEAAK;QAAA,4DAAY;QACxB,wEACJ;QAAA,4DAAiB;QAEjB,sFACA;QAAA,6EAAW;QAAA,wEAAO;QAAA,4DAAY;QAC1B,2EAAuF;QAC3F,4DAAiB;QACjB,uEACI;QAAA,8EAAsC;QAAA,oEAAQ;QAAA,4DAAS;QACvD,8EAG0B;QAAtB,wIAAS,eAAW,IAAC;QAAC,mEAAO;QAAA,4DAAS;QAC9C,4DAAM;QACV,4DAAO;QACX,4DAAW;QACf,4DAAuB;QAE3B,4DAAU;QACd,4DAAgB;QACpB,4DAAqB;QACrB,0FACI;QAAA,8EAAwE;QAAA,kEAAM;QAAA,4DAAS;QAC3F,4DAAqB;;QArIL,0DAAyB;QAAzB,sFAAyB;QAEe,0DAAuC;QAAvC,yFAAuC;QAyD5D,0DAAmC;QAAnC,iGAAmC;QAC1C,0DAAoD;QAApD,kGAAoD;QAKpD,0DAAiD;QAAjD,oJAAiD;QAK3C,0DAAe;QAAf,wEAAe;QACvB,0DAA8B;QAA9B,2FAA8B;QAC9B,0DAA4B;QAA5B,yFAA4B;QAKV,0DAAmC;QAAnC,sFAAmC;QAUrD,0DAA+B;QAA/B,4FAA+B;QACjC,0DAA6B;QAA7B,0FAA6B;QAKb,0DAAiC;QAAjC,oFAAiC;QAW/C,0DAA8B;QAA9B,2FAA8B;QAC9B,0DAA4B;QAA5B,yFAA4B;QAetB,2DAA2H;QAA3H,2LAA2H;QAYpI,0DAAoC;QAApC,iGAAoC;gpND/H7C;YACV,mEAAO,CAAC,cAAc,EAAE;gBACtB,iEAAK,CAAC,WAAW,EAAE,iEAAK,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAC,CAAC,CAAC;gBAC1D,iEAAK,CAAC,UAAU,EAAE,iEAAK,CAAC,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;gBACvC,sEAAU,CAAC,wBAAwB,EAAE,mEAAO,CAAC,sCAAsC,CAAC,CAAC;aACtF,CAAC;SACH;6FAEU,eAAe;cAZ3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;gBACtC,UAAU,EAAE;oBACV,mEAAO,CAAC,cAAc,EAAE;wBACtB,iEAAK,CAAC,WAAW,EAAE,iEAAK,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAC,CAAC,CAAC;wBAC1D,iEAAK,CAAC,UAAU,EAAE,iEAAK,CAAC,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;wBACvC,sEAAU,CAAC,wBAAwB,EAAE,mEAAO,CAAC,sCAAsC,CAAC,CAAC;qBACtF,CAAC;iBACH;aACF;;sBA8BI,oDAAM;uBAAC,wEAAe;;kBALxB,uDAAS;mBAAC,gEAAQ,EAAC,EAAC,MAAM,EAAC,IAAI,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE5CuB;AAC0B;AAChB;AAErC;AAK6B;AACA;;;;;;;;;;;;;;ICepD,6EAOE;IADA,4TAAkB;IAClB,2EAAU;IAAA,qEAAU;IAAA,4DAAW;IACjC,4DAAS;;;;IAQP,0EAEE;IAAA,sEAAK;IAAA,uDAAO;IAAA,4DAAM;IAClB,0EACE;IAAA,6EACE;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAC9B,mFACE;IAAA,6EAIE;IAFA,kWAAqB;IAErB,4EAAU;IAAA,gEAAI;IAAA,4DAAW;IACzB,wEAAM;IAAA,kEAAM;IAAA,4DAAO;IACrB,4DAAS;IACT,8EAIE;IAFA,qWAAuB;IAEvB,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,oEAAQ;IAAA,4DAAO;IACvB,4DAAS;IACX,4DAAW;IACb,4DAAS;IACX,4DAAM;IACR,4DAAM;;;;IAtBC,0DAAO;IAAP,yEAAO;IAEc,0DAAgC;IAAhC,oFAAgC;;;;IAX9D,0EAOE;IADA,8VAAuC;IACvC,sHAEE;IAuBJ,4DAAM;;;IAzBqB,0DAA0C;IAA1C,sFAA0C;;;;IAuFnE,yEAGE;IAAA,6EACE;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAC9B,mFACE;IAAA,6EAIE;IAFA,8bAAsB;IAEtB,2EAAU;IAAA,+DAAI;IAAA,4DAAW;IACzB,uEAAM;IAAA,kEAAM;IAAA,4DAAO;IACrB,4DAAS;IACT,8EAGE;IADA,mcAA0B;IAC1B,4EAAU;IAAA,gEAAI;IAAA,4DAAW;IACzB,wEAAM;IAAA,mFAAkB;IAAA,4DAAO;IACjC,4DAAS;IACT,8EAGE;IADA,2aAAgB,SAAS,qBAAM;IAC/B,4EAAU;IAAA,iEAAK;IAAA,4DAAW;IAC1B,wEAAM;IAAA,2EAAe;IAAA,4DAAO;IAC9B,4DAAS;IACT,8EAIE;IAFA,icAAwB;IAExB,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,4EAAgB;IAAA,4DAAO;IAC/B,4DAAS;IACX,4DAAW;IACb,4DAAS;IACT,wDACF;IAAA,4DAAK;;;;IAhCqB,0DAA6B;IAA7B,oFAA6B;IA+BrD,2DACF;IADE,qFACF;;;;IAiBM,6EAKE;IAFA,0gBAAwB;IAExB,2EAAU;IAAA,iEAAM;IAAA,4DAAW;IAC3B,uEAAM;IAAA,gFAAgB;IAAA,4DAAO;IAC/B,4DAAS;;;;IArBf,yEAIE;IAAA,6EACE;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAC9B,mFACE;IAAA,6EAIE;IAFA,giBAAyB;IAEzB,2EAAU;IAAA,+DAAI;IAAA,4DAAW;IACzB,uEAAM;IAAA,kEAAM;IAAA,4DAAO;IACrB,4DAAS;IACT,0IAKE;IAGJ,4DAAW;IACb,4DAAS;IACT,wDAEF;IAAA,4DAAK;;;;;IAtBqB,0DAAgC;IAAhC,oFAAgC;IAYlD,2DAAY;IAAZ,6EAAY;IAQlB,0DAEF;IAFE,wFAEF;;;IA3BF,qEACE;IAAA,4HAIE;IAuBJ,4DAAK;;;IAzBD,0DAAwC;IAAxC,6EAAwC;;;;IA1E9C,4EACE;IAAA,qEACE;IAAA,yEAEE;IAAA,6EACE;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAC9B,mFACE;IAAA,6EAGE;IADA,8VAAsB;IACtB,2EAAU;IAAA,uEAAW;IAAA,4DAAW;IAChC,wEAAM;IAAA,2EAAe;IAAA,4DAAO;IAC9B,4DAAS;IACT,8EAGE;IADA,4VAAmB;IACnB,4EAAU;IAAA,sEAAU;IAAA,4DAAW;IAC/B,wEAAM;IAAA,gFAAe;IAAA,4DAAO;IAC9B,4DAAS;IACT,8EAGE;IADA,iVAAgB,SAAS,aAAI;IAC7B,4EAAU;IAAA,iEAAK;IAAA,4DAAW;IAC1B,wEAAM;IAAA,6EAAiB;IAAA,4DAAO;IAChC,4DAAS;IACT,8EAGE;IADA,iWAAwB;IACxB,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,0EAAc;IAAA,4DAAO;IAC7B,4DAAS;IACX,4DAAW;IACb,4DAAS;IACX,4DAAK;IACL,wHAGE;IAiCJ,4DAAK;IACL,uHACE;IA4BJ,4DAAQ;;;;;IAhGsB,0DAA+B;IAA/B,oFAA+B;IAgCvD,2DAAqD;IAArD,sGAAqD;IAmCrD,0DAA4C;IAA5C,6FAA4C;;AD9IjD,MAAM,iBAAiB;IA+B5B,YACS,SAA0C,EACjB,IAAgB,EACzC,MAAiB,EAChB,eAAgC,EAChC,aAA4B;QAJ7B,cAAS,GAAT,SAAS,CAAiC;QACjB,SAAI,GAAJ,IAAI,CAAY;QACzC,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QAChC,kBAAa,GAAb,aAAa,CAAe;QAlCtC,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,SAAI,GAAG,IAAI,CAAC;QACZ,aAAQ,GAAG,EAAE,CAAC;QAEd,YAAO,GAAG,EAAE,CAAC;QACb,qBAAgB,GAAG,EAAE,CAAC;QAEtB,WAAM,GAAG,EAAE,CAAC;QACZ,cAAS,GAAG,EAAE,CAAC;QACf,aAAQ,GAAG,EAAE,CAAC;QAEd,eAAU,GAAG,EAAE,CAAC,CAAC,4DAA4D;QAC7E,eAAU,GAAG,EAAE,CAAC,CAAC,4DAA4D;QAE7E,eAAU,GAAG,EAAE,CAAC;IAUZ,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,iDAAiD;IACjD,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,kDAAkD;IAClD,QAAQ,CAAC,KAAa;QACpB,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;iBAC/C;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP,EAAE,UAAU,EAAE,GAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAE,EAAE,EAAE;SAC5C,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;aAC5B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAChC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,iEAAiE;IAEjE,wCAAwC;IACxC,QAAQ;QACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,2CAA2C;IAC3C,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SACjC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG;YACtB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YACxC,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAC1C,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAChC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAClC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG;YAChB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;YAClC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,SAAS,CAAC,KAAa;QACrB,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,MAAc;QACrC,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG;gBAC7B,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;gBAChD,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aAClD,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;gBACrB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;gBACxC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aAC1C,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG;gBACvB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;gBAC1C,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aAC5C,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG;oBAC3B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACpD,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;iBACtD,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,IAAI,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACtD,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,GAAW;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;gBACpB,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACpC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;aACtC,CAAC;SACH;IAEH,CAAC;IAED,0CAA0C;IAC1C,OAAO,CAAC,KAAa,EAAE,GAAW;QAChC,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;iBAC/C;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP,EAAE,UAAU,EAAE,GAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAE,EAAE,EAAE;SACzD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;aACzC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QAC9C,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,QAAQ;YAC3B,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,MAAM;YACzB,gBAAgB,EAAE,UAAU;YAC5B,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE;oBACX,kDAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;iBAC/C;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP,EAAE,UAAU,EAAE,GAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAE,EAAE,EAAE;SACrD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;aACrC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAA4B;QACnC,8EAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;IAGD,8CAA8C;IAC9C,YAAY;QACV,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC5C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,cAAc;QACZ,IAAI,QAAQ,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,MAAM,EAAG,IAAI,CAAC,UAAU;YACxB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,MAAM,EAAE,IAAI,CAAC,UAAU;SACxB;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC1C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;gBACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;iBACpB,CAAC,CAAC;aACJ;iBAAK,IAAG,IAAI,CAAC,CAAC,CAAC,EAAC;gBACf,kDAAI,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EACZ,EAAE,EACF,MAAM,CACP,CAAC;aACH;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CACP,uDAAuD,EACvD,EAAE,EACF,MAAM,CACP,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,SAAS;QACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7C,SAAS,CAAE,CAAC,IAAW,EAAE,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAC3C,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,IAAE,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,kDAAkD;IAC5C,WAAW,CAAC,KAAa,EAAE,GAAW;;YAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,kDAAI,CAAC,IAAI,CAAC;gBACvC,KAAK,EAAE,gCAAgC;gBACvC,IAAI,EAAE,oBAAoB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,MAAM;gBACnG,KAAK,EAAE,QAAQ;gBACf,YAAY,EAAE,IAAI,CAAC,SAAS;gBAC5B,gBAAgB,EAAE,qBAAqB;gBACvC,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,MAAM;gBACzB,gBAAgB,EAAE,UAAU;gBAC5B,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;oBACxB,IAAI,CAAC,KAAK,EAAE;wBACV,OAAO,8BAA8B;qBACtC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;aAC3C;QACH,CAAC;KAAA;IAED,gBAAgB;IACV,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,GAAY;;YACpD,IAAI,MAAM,GAAG,GAAG,IAAG,IAAI,IAAI,GAAG,IAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3G,IAAI,KAAK,GAAG,GAAG,IAAG,IAAI,IAAI,GAAG,IAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1G,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wEAAe,EAAE;gBAClD,KAAK,EAAE,OAAO;gBACd,YAAY,EAAE,IAAI;gBAClB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;aACnD,CAAC,CAAC;YAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACzC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAG,SAAS,EAAE;oBAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC/C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC/C;qBAAI;oBACH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC7C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;iBAC7C;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAGD,uBAAuB;IACvB,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wEAAe,EAAE;YAClD,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;SACpF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;;kFA9WU,iBAAiB,0MAiClB,wEAAe;iGAjCd,iBAAiB;QCvB9B,wEAAqB;QAAA,mEAAQ;QAAA,4DAAK;QAClC,yEAEE;QAAA,mFAEE;QACA,yFACE;QAD2C,wJAAU,YAAQ,CAAC,CAAC,IAAC;QAChE,6FACE;QAAA,kFACE;QAAA,+EACF;QAAA,4DAAkB;QAClB,wFACE;QAAA,wHACA;QAAA,4EAAU;QAAA,8EAAkB;QAAA,4DAAW;QACzC,4DAAwB;QAC1B,4DAA6B;QAE3B,6EAME;QADA,0IAAS,aAAS,IAAC;QACnB,4EAAU;QAAA,8EAAkB;QAAA,4DAAW;QACzC,4DAAS;QACT,qHAOE;QAEF,+GAOE;QA0BJ,kFACE;QAAA,6EAAqD;QAArB,0IAAS,cAAU,IAAC;QAAC,oEAAQ;QAAA,4DAAS;QACtE,6EAAwD;QAArB,0IAAS,cAAU,IAAC;QAAC,qEAAS;QAAA,4DAAS;QAC5E,4DAAiB;QACnB,4DAAsB;QAGtB,0FACE;QAD2C,yJAAU,YAAQ,CAAC,CAAC,IAAC;QAChE,8FACE;QAAA,mFACE;QAAA,kFACF;QAAA,4DAAkB;QAClB,yFACE;QAAA,2HACA;QAAA,4EAAU;QAAA,gEAAI;QAAA,4DAAW;QAC3B,4DAAwB;QAC1B,4DAA6B;QAE7B,6EAME;QADA,0IAAS,cAAU,IAAC;QACpB,4EAAU;QAAA,8EAAkB;QAAA,4DAAW;QACzC,4DAAS;QAET,qHACE;QAqGF,kFACE;QAAA,6EAAqD;QAArB,0IAAS,cAAU,IAAC;QAAC,oEAAQ;QAAA,4DAAS;QACxE,4DAAiB;QAEnB,4DAAsB;QAExB,4DAAgB;QAElB,4DAAM;QACN,0FACE;QAAA,8EAAmE;QAAA,kEAAM;QAAA,4DAAS;QAClF,8EAIE;QADA,0IAAS,oBAAgB,IAAC;QAC1B,8EACF;QAAA,4DAAS;QACX,4DAAqB;;QA/MI,0DAAuB;QAAvB,oFAAuB;QAoBtC,2DAAyB;QAAzB,yFAAyB;QAazB,0DAAuB;QAAvB,qFAAuB;QAmCR,0DAAuB;QAAvB,oFAAuB;QAoBnC,2DAA0C;QAA1C,gFAA0C;QAgHlC,0DAA+B;QAA/B,4FAA+B;QAGhD,0DAAkF;QAAlF,6JAAkF;;6FD1LzE,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;sBAkCI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AExD3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,eAAe;IAG1B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,qCAAqC;IACrC,YAAY,CAAC,EAAU;QACrB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,aAAa,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,oCAAoC;IACpC,cAAc,CAAC,QAAa;QAC1B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,kCAAkC;IAClC,SAAS,CAAC,EAAU;QAClB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;;8EAnCU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACwB;;;;;;AAY3E,MAAM,eAAe;IAE1B,YACS,SAAwC,EACf,IAAgB;QADzC,cAAS,GAAT,SAAS,CAA+B;QACf,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEtD,QAAQ;IACR,CAAC;IAED,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;8EAXU,eAAe,0MAIhB,wEAAe;+FAJd,eAAe;QCb5B,wEAAqB;QAAA,uDAAgC;QAAA,4DAAK;QAC1D,yEACE;QAAA,oEAAG;QAAA,oGAAyC;QAAA,4DAAI;QAChD,0EACE;QAAA,qEACE;QAAA,qEACE;QAAA,kFAAwC;QAA1B,+LAAyB;QAAC,8FAA8B;QAAA,4DAAe;QACvF,4DAAK;QACL,sEACE;QAAA,mFAAuC;QAAzB,+LAAwB;QAAC,uFAA2B;QAAA,4DAAe;QACnF,4DAAK;QACP,4DAAK;QACP,4DAAO;QACT,4DAAM;QACN,0EACE;QAAA,6EAA6D;QAAA,8DAAE;QAAA,4DAAS;QAC1E,4DAAM;;QAhBe,0DAAgC;QAAhC,6GAAgC;QAM/B,0DAAyB;QAAzB,oFAAyB;QAGzB,0DAAwB;QAAxB,mFAAwB;QAMzB,0DAAyB;QAAzB,sFAAyB;;6FDFjC,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;sBAKI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEjB3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACc;AAEE;AACgC;AAEhD;;;AAEzC,MAAM,MAAM,GAAW;IACnB,oDAAK,CAAC,WAAW,CAAC;QACd,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qEAAiB,EAAE;QACnD,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,qGAAwB,EAAE;KACvE,CAAC;CACL,CAAC;AAOK,MAAM,qBAAqB;;oGAArB,qBAAqB;oKAArB,qBAAqB,mBAFnB,EAAE,YAFJ,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,4DAAY;mIAGb,qBAAqB,uFAHpB,4DAAY;6FAGb,qBAAqB;cALjC,sDAAQ;eAAC;gBACN,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,4DAAY,CAAC;gBACvB,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBiD;AAInB;AAK6B;;;;;;;;;;;;;;;ICJpD,6EAOE;IADA,kUAA4B;IAC5B,2EAAU;IAAA,qEAAU;IAAA,4DAAW;IACjC,4DAAS;;;;IACT,6EAOE;IADA,gUAA0B;IAC1B,2EAAU;IAAA,6EAAkB;IAAA,4DAAW;IACzC,4DAAS;;;;IAMH,sFACI;IAAA,+EAA0C;IAAA,iEAAM;IAAA,4DAAW;IAC3D,0EAAc;IAAA,wEAAgE;IAAtC,wXAAqC;IAAC,uDAAiB;IAAA,4DAAI;IAAA,4DAAM;IAC7G,4DAAkB;;;IAHqC,kFAAqB;IAEM,0DAAiB;IAAjB,kFAAiB;;ADd1G,MAAM,iBAAiB;IAiB5B,YACU,eAAgC,EAChC,IAAiB,EAClB,MAAiB,EAChB,MAAc;QAHd,oBAAe,GAAf,eAAe,CAAiB;QAChC,SAAI,GAAJ,IAAI,CAAa;QAClB,WAAM,GAAN,MAAM,CAAW;QAChB,WAAM,GAAN,MAAM,CAAQ;QAnBxB,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,gBAAW,GAAG,IAAI,CAAC;QACnB,iBAAY,GAAG,IAAI,CAAC;IAOf,CAAC;IAEA,QAAQ;;YACZ,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;KAAA;IAED,iCAAiC;IAC3B,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;iBACvB,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;IAED,+CAA+C;IAC/C,YAAY;QACV,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;aAChC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC/C,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,cAAc,CAAC,EAAU;QACvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,GAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,6CAA6C;IAC7C,cAAc;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,kDAAI,CAAC,KAAK,CAAC;YACT,KAAK,EAAE,MAAM;YACb,iBAAiB,EAAE,kBAAkB;YACrC,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,MAAM;YACzB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;oBACxB,kDAAI,CAAC,qBAAqB,CACxB,iBAAiB,CAClB,CAAC;iBACH;qBAAI;oBACH,KAAK,IAAI,CAAC,CAAC;iBACZ;YACH,CAAC;SACF,CAAC,CAAC,KAAK,CAAC;YACP;gBACE,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,sCAAsC;aAC7C;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,IAAI,EAAE,0FAA0F;aACjG;YACD;gBACE,KAAK,EAAE,gCAAgC;gBACvC,IAAI,EAAE,2JAA2J;aAClK;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACtB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,IAAI,GAAG;oBACT,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBACvB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBAC5C,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;iBACvC,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;qBACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,+BAA+B;qBACvC,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,4CAA4C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,6EAA6E,EACxI,EAAE,EACF,MAAM,CACP,CAAC;gBACJ,CAAC,CACF,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,gBAAgB;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wEAAe,EAAE;YAClD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IAEL,CAAC;;kFA9HU,iBAAiB;iGAAjB,iBAAiB;QChB9B,yEACE;QAAA,qEAAI;QAAA,0EAA6B;QAAA,+DAAI;QAAA,4DAAO;QAAA,oEAAS;QAAA,4DAAK;QAC1D,yEACI;QAAA,2EACA;QAAA,yEACE;QAAA,mHAOE;QAEF,mHAOE;QAEF,sEACF;QAAA,4DAAM;QACN,0EAA2B;QAC3B,0EACI;QAAA,4FACI;QAAA,uIACI;QAGR,4DAAqB;QACzB,4DAAM;QACN,0EAA2B;QAC3B,4DAAW;QACf,4DAAM;QACR,4DAAM;;QA/BI,0DAA4B;QAA5B,8HAA4B;QAS5B,0DAA4B;QAA5B,8HAA4B;QAYE,0DAAkB;QAAlB,2EAAkB;QAC3B,0DAAqC;QAArC,qFAAqC;;6FDZvD,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AEfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACmB;AACR;AAEH;AACW;AACP;AACL;AACH;AAEM;AACG;AACM;AACT;AACY;AACA;AACH;AACuB;AACG;AACG;AAC1B;AACS;AACZ;AAC6C;AAC7C;AACN;AAC2B;AAC3B;AAC6B;AACG;AACG;AAC7B;;AAyC3D,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc,mBAFZ,EAAE,YApCJ;YACL,4DAAY;YACZ,+DAAc;YACd,8EAAqB;YACrB,0DAAW;YACX,kEAAmB;YACnB,wEAAoB;YACpB,mEAAc;YACd,uEAAa;YACb,gEAAkB;SACrB;mIA4BQ,cAAc,mBAzBnB,qEAAiB;QACjB,yEAAe;QACf,+EAAiB;QACjB,sEAAc;QACd,kFAAe;QACf,kFAAe;QACf,+EAAiB;QACjB,sGAAwB;QACxB,yGAAsB;QACtB,4GAAuB;QACvB,kFAAkB;QAClB,2FAAqB;QACrB,+EAAiB;QACjB,4HAA2B;QAC3B,+EAAiB;QACjB,yEAAe;QACf,oGAAqB;QACrB,yEAAe;QACf,sGAAqB;QACrB,yGAAsB;QACtB,4GAAuB;QACvB,+EAAiB,aAjCjB,4DAAY;QACZ,+DAAc;QACd,8EAAqB;QACrB,0DAAW;QACX,kEAAmB;QACnB,wEAAoB;QACpB,mEAAc;QACd,uEAAa;QACb,gEAAkB;6FA6Bb,cAAc;cAvC1B,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,4DAAY;oBACZ,+DAAc;oBACd,8EAAqB;oBACrB,0DAAW;oBACX,kEAAmB;oBACnB,wEAAoB;oBACpB,mEAAc;oBACd,uEAAa;oBACb,gEAAkB;iBACrB;gBACD,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE;oBACV,qEAAiB;oBACjB,yEAAe;oBACf,+EAAiB;oBACjB,sEAAc;oBACd,kFAAe;oBACf,kFAAe;oBACf,+EAAiB;oBACjB,sGAAwB;oBACxB,yGAAsB;oBACtB,4GAAuB;oBACvB,kFAAkB;oBAClB,2FAAqB;oBACrB,+EAAiB;oBACjB,4HAA2B;oBAC3B,+EAAiB;oBACjB,yEAAe;oBACf,oGAAqB;oBACrB,yEAAe;oBACf,sGAAqB;oBACrB,yGAAsB;oBACtB,4GAAuB;oBACvB,+EAAiB;iBACpB;gBACD,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;ACxED;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,eAAe;IAG1B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,qCAAqC;IACrC,YAAY;QACV,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,oCAAoC;IACpC,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;;8EAzBU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACY;AAChB;AAEvB;;;;;;;;;;;;;;ICUP,qEAAiB;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,2EAAW;;;IAC5B,qEAAiB;IAAA,uDAA8B;IAAA,4DAAK;;;;IAAnC,0DAA8B;IAA9B,uGAA8B;;;IAE/C,qEAAiB;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,2EAAW;;;IAC5B,qEAAiB;IAAA,uEAA2G;IAA5H,4DAAiB;;;;IAAwC,0DAAyB;IAAzB,uFAAyB;;;IAElF,qEAAiB;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,2EAAW;;;IAKlB,iFACE;IAAA,uDACF;IAAA,4DAAa;;;IAFiC,oFAAsB;IAClE,0DACF;IADE,iGACF;;;IANV,qEACI;IAAA,qFACI;IAAA,4EAAW;IAAA,4EAAiB;IAAA,4DAAY;IACxC,iFACE;IAAA,kJACE;IAEJ,4DAAa;IACjB,4DAAiB;IACrB,4DAAK;;;;IANe,0DAAyB;IAAzB,uFAAyB;IACvB,0DAAiC;IAAjC,wFAAiC;;;IAQvD,qEAA+B;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,2EAAW;;;IAEtC,uEAMA;;;;IAFI,uFAAyB;;;IAE7B,qFAQsB;;;;IALlB,2EAAkB;;;IAOtB,oEAGI;IAAA,0EAAc;IAAA,oEAAG;IAAA,uDAA4C;IAAA,4DAAI;IACrE,4DAAI;;;;IADiB,0DAA4C;IAA5C,qHAA4C;;;IApBrE,qEACI;IAAA,wIAMA;IAAA,oKAQA;IACA,gEAAI;IAAA,gEACJ;IAAA,gIAGI;IAER,4DAAK;;;;IApBG,0DAA0B;IAA1B,kGAA0B;IAM1B,0DAAyB;IAAzB,iGAAyB;IAUzB,0DAC8B;IAD9B,gJAC8B;;;;IAKlC,6EAQI;IADA,6bAA2B;IAC3B,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC9B,4DAAS;;;IAVb,qEACI;IAAA,0IAQI;IAER,4DAAK;;;;IATG,0DAAyB;IAAzB,iGAAyB;;;IA9CrC,qEACI;IAAA,6HAAiB;IACjB,6HAAiB;IAEjB,6HAAiB;IACjB,6HAAiB;IAEjB,6HAAiB;IACjB,6HACI;IAWJ,6HAA+B;IAC/B,6HACI;IAsBJ,6HACI;IAWR,4DAAK;;;;IAvDG,0DAAY;IAAZ,6EAAY;IACZ,0DAAY;IAAZ,6EAAY;IAEZ,0DAAY;IAAZ,6EAAY;IACZ,0DAAY;IAAZ,6EAAY;IAEZ,0DAAY;IAAZ,6EAAY;IACZ,0DAAY;IAAZ,6EAAY;IAYZ,0DAA0B;IAA1B,oGAA0B;IAC1B,0DAA0B;IAA1B,oGAA0B;IAuB1B,0DAA0B;IAA1B,oGAA0B;;;IAtDlD,yEACI;IAAA,0EACI;IAAA,2EACI;IAAA,wEACI;IAAA,qEACI;IAAA,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IACd,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IAClB,4DAAK;IACT,4DAAQ;IACR,wEACI;IAAA,yHACI;IAwDR,4DAAQ;IACZ,4DAAQ;IACZ,4DAAO;IACX,4DAAM;;;IArEI,0DAAwB;IAAxB,0FAAwB;IASd,0DAA8C;IAA9C,yFAA8C;;;IAmEtD,iFAA6D;IAAA,uDAAS;IAAA,4DAAa;;;IAAtC,6EAAe;IAAC,0DAAS;IAAT,2EAAS;;;;IAG1E,6EAM6B;IAAzB,6UAAwB;IAAC,+EAA8B;IAAA,8DAAG;IAAA,4DAAW;IAAA,4DAAS;;;IAD9E,gGAA8B;;;;IAElC,6EAK6B;IAAzB,6UAAwB;IAAC,+EAA0C;IAAA,iEAAM;IAAA,4DAAW;IAAA,4DAAS;;;IAiB7E,uEAKA;;;IADI,uFAAyB;;;IAC7B,qFAQsB;;;;IALlB,2EAAkB;;;IAOtB,oEAGI;IAAA,0EAAc;IAAA,oEAAG;IAAA,uDAA8C;IAAA,4DAAI;IACvE,4DAAI;;;;IADiB,0DAA8C;IAA9C,uHAA8C;;;IApBvE,qEACI;IACA,qJAKA;IAAA,iLAQA;IACA,gEAAI;IAAA,gEACJ;IAAA,6IAGI;IAER,4DAAK;;;;IAnBG,0DAA0B;IAA1B,kGAA0B;IAK1B,0DAAyB;IAAzB,iGAAyB;IAUzB,0DACgC;IADhC,kJACgC;;;;IAIxC,qEACI;IAAA,6EAOI;IADA,gcAA2B;IAC3B,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC9B,4DAAS;IACb,4DAAK;;;IAKK,iFACE;IAAA,uDACF;IAAA,4DAAa;;;IAFiC,oFAAsB;IAClE,0DACF;IADE,iGACF;;;IANV,qEACI;IAAA,qFACI;IAAA,4EAAW;IAAA,4EAAiB;IAAA,4DAAY;IACxC,iFACE;IAAA,+JACE;IAEJ,4DAAa;IACjB,4DAAiB;IACrB,4DAAK;;;;IANe,0DAAyB;IAAzB,uFAAyB;IACvB,0DAAiC;IAAjC,wFAAiC;;;IAxC3D,qEACI;IAAA,qEAAI;IAAA,uDAAW;IAAA,4DAAK;IACpB,0IACI;IAsBJ,0IACI;IAUJ,0IACI;IASR,4DAAK;;;;IA7CG,0DAAW;IAAX,2EAAW;IACX,0DAAuB;IAAvB,wFAAuB;IAuBvB,0DAAyB;IAAzB,iGAAyB;IAWzB,0DAAuB;IAAvB,wFAAuB;;;IArCnC,wEACI;IAAA,oIACI;IA8CR,4DAAQ;;;IA/CA,0DAA6C;IAA7C,wFAA6C;;;IAVjE,sEACI;IAAA,0EACI;IAAA,2EACI;IAAA,wEACI;IAAA,qEACI;IAAA,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IACd,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IAClB,4DAAK;IACT,4DAAQ;IACR,mIACI;IAgDR,4DAAQ;IACZ,4DAAO;IACX,4DAAM;;;IA3DI,0DAA0B;IAA1B,4FAA0B;IAQjB,0DAAkB;IAAlB,qFAAkB;;;IAhCzC,yEACI;IAAA,0EACI;IAAA,qFACI;IAAA,4EAAW;IAAA,2EAAgB;IAAA,4DAAY;IACvC,iFACA;IAAA,uIAA6D;IAC7D,4DAAa;IACjB,4DAAiB;IACjB,+HAM6B;IAC7B,+HAK6B;IACjC,4DAAM;IAEN,0HACI;IA4DR,4DAAM;;;IAhFkB,0DAA0B;IAA1B,4FAA0B;IAC1B,0DAAgC;IAAhC,wFAAgC;IAI5C,0DAAkB;IAAlB,qFAAkB;IAOlB,0DAAmB;IAAnB,sFAAmB;IAOtB,0DAAoB;IAApB,uFAAoB;;ADrF1B,MAAM,sBAAsB;IA4CjC,YACkC,IAAI,EAC7B,MAAiB,EAChB,eAAgC;QAFR,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QA7C1C,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,eAAU,GAAG,IAAI,CAAC;QAClB,eAAU,GAAG,IAAI,0DAAW,EAAE,CAAC;QAG/B,eAAU,GAAG,IAAI,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QAEnB,eAAU,GAAG;YACX,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC;YACjC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAC;YACnC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAC;YAClC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAC;SACjD,CAAC;QACF,mBAAc,GAAG,IAAI,CAAC;QAEtB,eAAU,GAAG,IAAI,CAAC;QAClB,YAAO,GAAG,IAAI,CAAC;QAEf,WAAM,GAAG;YACP,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,WAAW,EAAC,YAAY;YACxB,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;QAED,eAAU,GAAG,IAAI,CAAC;IAMd,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACvB,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACxC,KAAK,UAAU;oBACb,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,YAAY;oBACf,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;oBACxB,MAAM;gBACR,KAAK,yBAAyB;oBAC5B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;oBACxB,MAAM;aACT;YAED,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChC,IAAI,OAAO,IAAE,QAAQ,EAAE;oBACrB,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,0DAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACvD;qBAAM;oBACL,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC1G;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;SACxC;IACH,CAAC;IAED,YAAY;QACV,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY;QACV,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtB,IAAI,GAAG;gBACL,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;gBAC7B,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;aACrC;SACF;aAAM;YACL,IAAI,GAAG;gBACL,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC3B,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;aACrC;SACF;QACD,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,sDAAsD;YAC7D,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,cAAc;YACjC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,uBAAuB;oBAC9B,iBAAiB,EAAE,KAAK;oBACxB,MAAM,EAAE,GAAG,EAAE;wBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;qBACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,kCAAkC;qBAC1C,CAAC,CAAC;gBACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,8DAA8D,EAC9D,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IAEJ,CAAC;IAED,mCAAmC;IACnC,kBAAkB;QAChB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,IAAE,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;IACpB,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;;4FA1KU,sBAAsB,kEA6CvB,wEAAe;sGA7Cd,sBAAsB;QCbnC,wEAAqB;QAAA,oFAAoB;QAAA,4DAAK;QAC9C,wFAEI;QAAA,mHACI;QAuEJ,mHACI;QAqFR,4DAAqB;QACrB,wFACI;QAAA,4EAAoC;QAAA,iEAAM;QAAA,4DAAS;QACnD,4EAA8C;QAA3B,8IAAS,oBAAgB,IAAC;QAAC,iEAAM;QAAA,4DAAS;QACjE,4DAAqB;;QAlKZ,0DAAsB;QAAtB,oFAAsB;QAwEtB,0DAAqB;QAArB,mFAAqB;;6FD9DjB,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;sBA8CI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AE1D3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AAC0B;AAC9B;AAEvB;;;;;;;;;;;;;;;;ICsCb,iFAAqE;IAAA,uDAAoB;IAAA,4DAAa;;;IAAxD,oFAAsB;IAAC,0DAAoB;IAApB,sFAAoB;;;IAoBnF,iFAA6D;IAAA,uDAAS;IAAA,4DAAa;;;IAAtC,6EAAe;IAAC,0DAAS;IAAT,2EAAS;;;IAuB1D,qEACI;IAAA,uEACJ;IAAA,4DAAK;;;IAD6E,0DAAyB;IAAzB,uFAAyB;;;IAMjG,iFACE;IAAA,uDACF;IAAA,4DAAa;;;IAFiC,oFAAsB;IAClE,0DACF;IADE,iGACF;;;IANV,qEACI;IAAA,oFACI;IAAA,4EAAW;IAAA,4EAAiB;IAAA,4DAAY;IACxC,iFACE;IAAA,0JACE;IAEJ,4DAAa;IACjB,4DAAiB;IACrB,4DAAK;;;;IANe,0DAAyB;IAAzB,uFAAyB;IACvB,0DAAiC;IAAjC,wFAAiC;;;IAT3D,qEACI;IAAA,qEAAI;IAAA,uDAAW;IAAA,4DAAK;IACpB,sIACI;IAEJ,sIACI;IASR,4DAAK;;;IAdG,0DAAW;IAAX,2EAAW;IACX,0DAAuB;IAAvB,wFAAuB;IAGvB,0DAAuB;IAAvB,wFAAuB;;;IANnC,wEACI;IAAA,iIACI;IAeR,4DAAQ;;;IAhBA,0DAA6C;IAA7C,wFAA6C;;;IAVjE,sEACI;IAAA,2EACI;IAAA,4EACI;IAAA,wEACI;IAAA,qEACI;IAAA,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IACd,qEAAI;IAAA,2EAAgB;IAAA,4DAAK;IAC7B,4DAAK;IACT,4DAAQ;IACR,+HACI;IAiBR,4DAAQ;IACZ,4DAAO;IACX,4DAAM;;;IA5BI,0DAA0B;IAA1B,4FAA0B;IAQjB,0DAAkB;IAAlB,qFAAkB;;ADtE9C,MAAM,uBAAuB;IAiClC,YACS,SAA4B,EACH,IAAS,EAClC,MAAiB,EAChB,eAAgC;QAHjC,cAAS,GAAT,SAAS,CAAmB;QACH,SAAI,GAAJ,IAAI,CAAK;QAClC,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QAnC1C,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,mBAAc,GAAG,KAAK,CAAC;QAEvB,eAAU,GAAG;YACX,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC;YACjC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAC;YACnC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAC;YAClC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAC;SACjD,CAAC;QACF,mBAAc,GAAG,IAAI,CAAC;QAEtB,eAAU,GAAG,IAAI,0DAAW,EAAE,CAAC;QAC/B,iBAAY,GAAG,IAAI,0DAAW,EAAE,CAAC;QACjC,iBAAY,GAAG,IAAI,0DAAW,EAAE,CAAC;QACjC,eAAU,GAAG,IAAI,0DAAW,EAAE,CAAC;QAC/B,iBAAY,GAAc,IAAI,CAAC;QAE/B,eAAU,GAAG,IAAI,CAAC;QAClB,eAAU,GAAG,IAAI,CAAC;IAOd,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACtH,CAAC;IAED,wBAAwB;IACxB,YAAY;QACV,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACtC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,yBAAyB;IACzB,YAAY;QACV,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,uBAAuB;YAC9B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,IAAI,GAAG;YACT,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACpC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC7B,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI;YAC7F,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI;YAC7F,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;SAC3D,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC;aAC1C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,kDAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,+DAA+D,EAC/D,OAAO,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;;8FAlFU,uBAAuB,0MAmCxB,wEAAe;uGAnCd,uBAAuB;QCZpC,wEAAqB;QAAA,6EAAkB;QAAA,4DAAK;QAC5C,wFACI;QAAA,gFACI;QAAA,yFAGI;QAHiB,mLAA2B,IAAI,IAAC,2HACtB,KAAK,IADiB;QAGjD,6FACI;QAAA,kFACI;QAAA,4EACJ;QAAA,4DAAkB;QAClB,wFACI;QAAA,yHACJ;QAAA,4DAAwB;QAC5B,4DAA6B;QAE7B,qFACI;QAAA,6EAAW;QAAA,wEAAY;QAAA,4DAAY;QACnC,uEACA;QAAA,uFAA8E;QAC9E,sFAA+C;QACnD,4DAAiB;QACjB,qFACI;QAAA,6EAAW;QAAA,qEAAS;QAAA,4DAAY;QAChC,uEACA;QAAA,uFAA2E;QAC3E,sFAA4C;QAChD,4DAAiB;QACrB,4DAAsB;QAEtB,0FAEI;QAFiB,oLAA2B,IAAI,IAAC,4HACL,KAAK,IADA;QAEjD,8FACI;QAAA,mFACI;QAAA,gFACJ;QAAA,4DAAkB;QAClB,yFACI;QAAA,yFACJ;QAAA,4DAAwB;QAC5B,4DAA6B;QAC7B,qFACI;QAAA,6EAAW;QAAA,kEAAM;QAAA,4DAAY;QAC7B,iFACE;QAAA,mIAAqE;QACvE,4DAAa;QACjB,4DAAiB;QACrB,4DAAsB;QAEtB,0FAEI;QAFiB,oLAA2B,IAAI,IAAC,4HACL,KAAK,IADA;QAEjD,8FACI;QAAA,mFACI;QAAA,kFACJ;QAAA,4DAAkB;QAClB,yFACI;QAAA,uGACJ;QAAA,4DAAwB;QAC5B,4DAA6B;QAC7B,2EACI;QAAA,2EACI;QAAA,qFACI;QAAA,6EAAW;QAAA,8EAAkB;QAAA,4DAAY;QACzC,iFACA;QAAA,mIAA6D;QAC7D,4DAAa;QACjB,4DAAiB;QACjB,8EAK6B;QAAzB,gJAAS,kBAAc,IAAC;QAAC,gFAA8B;QAAA,+DAAG;QAAA,4DAAW;QAAA,4DAAS;QACtF,4DAAM;QAEN,uHACI;QA6BR,4DAAM;QACV,4DAAsB;QAC1B,4DAAgB;QAEpB,4DAAqB;QACrB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACnD,8EAA4C;QAAzB,gJAAS,kBAAc,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAC/D,4DAAqB;;;;QA9FW,2DAA8B;QAA9B,gFAA8B;QACb,0DAAoB;QAApB,sEAAoB;QAKrC,0DAA2B;QAA3B,gFAA2B;QACV,0DAAiB;QAAjB,sEAAiB;QAiBtC,2DAA0B;QAA1B,uFAA0B;QACxB,0DAAiC;QAAjC,mFAAiC;QAmB3B,2DAA0B;QAA1B,uFAA0B;QAC1B,0DAAgC;QAAhC,mFAAgC;QAO5C,0DAA8B;QAA9B,2FAA8B;QAIjC,0DAAoB;QAApB,kFAAoB;;6FD7D5B,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;sBAoCI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AE/C3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACY;AACX;;;;;;;;ICI/C,yEAAuC;IAAA,uDAA6D;IAAA,4DAAK;;;;IAAlE,0DAA6D;IAA7D,sJAA6D;;;IACpG,yEAAwC;IAAA,uDAAoB;IAAA,4DAAK;;;;IAAzB,0DAAoB;IAApB,qGAAoB;;;IAF5D,2EACA;IAAA,+HAAuC;IACvC,+HAAwC;IACxC,qEAAe;;;IAHD,qFAAuB;;;IAKrC,oEAAqE;;;IACrE,oEAA6D;;ADAlE,MAAM,qBAAqB;IAMhC,YACkC,IAAI,EAC7B,MAAiB,EAChB,eAAgC;QAFR,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QAP1C,aAAQ,GAAG,EAAE,CAAC;QACd,mBAAc,GAAG,IAAI,CAAC;QACtB,gBAAW,GAAa,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IAMrE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,6CAA6C;IAC7C,QAAQ;QACN,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aACtE,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAC7C,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrB,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;;0FAlCU,qBAAqB,kEAOtB,wEAAe;qGAPd,qBAAqB;QCXlC,wEAAqB;QAAA,+EAAoB;QAAA,4DAAK;QAC9C,wFACI;QAAA,yEACI;QAAA,2EACI;QACA,mIACA;QAIA,+GAAgE;QAChE,+GAAwD;QAC5D,4DAAQ;QACZ,4DAAM;QACV,4DAAqB;QACrB,wFACE;QAAA,4EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACrD,4DAAqB;;QAdI,0DAA6B;QAA7B,0FAA6B;QAEJ,0DAAkC;QAAlC,oFAAkC;QAKrD,0DAA4C;QAA5C,4FAA4C;QACnD,0DAA2C;QAA3C,6FAA2C;;6FDAtD,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;;sBAQI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AElB+B;AACY;AAChB;AAEvB;;;;;;;;;;;ICSP,qEAAiB;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,2EAAW;;;IAC5B,qEAAiB;IAAA,uEAAwE;IAAzF,4DAAiB;;;IAAwC,0DAAyB;IAAzB,uFAAyB;;;IAElF,qEAAiB;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,2EAAW;;;IAC5B,qEAAiB;IAAA,uEAAwE;IAAzF,4DAAiB;;;IAAwC,0DAAyB;IAAzB,uFAAyB;;;IAElF,qEAA+B;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,2EAAW;;;IAEtC,uEAKA;;;IADI,uFAAyB;;;IAC7B,qFAQsB;;;;IALlB,2EAAkB;;;IAOtB,oEAGI;IAAA,0EAAc;IAAA,oEAAG;IAAA,uDAA4C;IAAA,4DAAI;IACrE,4DAAI;;;;IADiB,0DAA4C;IAA5C,qHAA4C;;;IAnBrE,qEACI;IAAA,kIAKA;IAAA,8JAQA;IACA,gEAAI;IAAA,gEACJ;IAAA,yHAGI;IAER,4DAAK;;;;IAnBG,0DAA0B;IAA1B,kGAA0B;IAK1B,0DAAyB;IAAzB,iGAAyB;IAUzB,0DAC8B;IAD9B,gJAC8B;;;;IAKlC,6EAQI;IADA,sbAA2B;IAC3B,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC9B,4DAAS;;;IAVb,qEACI;IAAA,oIAQI;IAER,4DAAK;;;;IATG,0DAAyB;IAAzB,iGAAyB;;;IAhCrC,qEACI;IAAA,sHAAiB;IACjB,sHAAiB;IAEjB,sHAAiB;IACjB,sHAAiB;IAEjB,sHAA+B;IAC/B,sHACI;IAqBJ,sHACI;IAWR,4DAAK;;;;IAzCG,0DAAY;IAAZ,6EAAY;IACZ,0DAAY;IAAZ,6EAAY;IAEZ,0DAAY;IAAZ,6EAAY;IACZ,0DAAY;IAAZ,6EAAY;IAEZ,0DAA0B;IAA1B,oGAA0B;IAC1B,0DAA0B;IAA1B,oGAA0B;IAsB1B,0DAA0B;IAA1B,oGAA0B;;AD7B/C,MAAM,sBAAsB;IAqCjC,YACkC,IAAI,EAC7B,MAAiB,EAChB,eAAgC;QAFR,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QAtC1C,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAIH,eAAU,GAAG;YACX,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC;YACjC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAC;YACnC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAC;YAClC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAC;SACjD,CAAC;QACF,mBAAc,GAAG,IAAI,CAAC;QACtB,eAAU,GAAG,IAAI,CAAC;QAClB,YAAO,GAAG,IAAI,CAAC;QACf,eAAU,GAAG,IAAI,CAAC;QAElB,WAAM,GAAG;YACP,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,WAAW,EAAC,YAAY;YACxB,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;IAMG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpH,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,0DAAW,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,oBAAoB;IACpB,UAAU,CAAC,KAAU;QACnB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED,mCAAmC;IACnC,kBAAkB;QAChB,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7D,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,IAAE,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;IACf,cAAc;;YAClB,IAAI,IAAI,GAAG;gBACT,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAC7B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAC1B,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;aACxD,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;iBACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,gCAAgC;iBACxC,CAAC,CAAC;YACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,4DAA4D,EAC5D,OAAO,CACR,CAAC;YACJ,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;;4FA7FU,sBAAsB,kEAsCvB,wEAAe;sGAtCd,sBAAsB;QCbnC,wEAAqB;QAAA,+EAAe;QAAA,4DAAK;QACzC,wFACI;QAAA,yEACI;QAAA,0EACI;QAAA,2EACI;QAAA,wEACI;QAAA,qEACI;QAAA,qEAAI;QAAA,gEAAK;QAAA,4DAAK;QACd,sEAAI;QAAA,iEAAK;QAAA,4DAAK;QAClB,4DAAK;QACT,4DAAQ;QACR,yEACI;QAAA,kHACI;QA0CR,4DAAQ;QACZ,4DAAQ;QACZ,4DAAO;QACX,4DAAM;QACV,4DAAqB;QACrB,yFACE;QAAA,6EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACnD,6EAA8C;QAA3B,+IAAS,oBAAgB,IAAC;QAAC,uEAAM;QAAA,4DAAS;QAC/D,4DAAqB;;QA5DP,0DAAwB;QAAxB,qFAAwB;QASd,0DAA8C;QAA9C,oFAA8C;;6FDCzD,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;sBAuCI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEnD+B;AACF;AACc;AACX;AAE5B;AACF;AAKsD;AACG;AACN;AACG;;;;;;;;;;;;;;;;;ICdnF,yEAAwC;IAAA,oEAAS;IAAA,4DAAK;;;IACtD,yEAAyC;IAAA,uEAAY;IAAA,4DAAK;;;;IAiCtC,uEAKC;IADG,6TAAgC,IAAI,KAAE;IACzC,8EAAuB;IAAA,+DAAI;IAAA,4DAAW;IAAA,2EAAgB;IAAA,4DAAI;;;;IAC3D,uEAKC;IADG,qTAAwB,IAAI,KAAE;IACjC,8EAAuB;IAAA,iEAAM;IAAA,4DAAW;IAAA,6EAAkB;IAAA,4DAAI;;;IAKL,wEAAoC;IAAA,oHAAmD;IAAA,4DAAI;;;IAAjK,uEAAyB;IAAA,sEAAW;IAAA,oEAAG;IAAA,uDAA0B;IAAA,4DAAI;IAAC,kHAAoC;IAAuD,4DAAO;;;IAAjI,0DAA0B;IAA1B,gGAA0B;IAAQ,0DAAkB;IAAlB,qFAAkB;;;;IAC3F,mFAKI;IADA,kWAAqC;IACrC,8EACJ;IAAA,4DAAe;;;;IAIH,yEACE;IAAA,mFAKe;IALD,2VAAoC,IAAI,IAAC;IAKvD,4DAAe;IACjB,4DAAK;;;IALW,0DAAmD;IAAnD,8HAAmD;;;;IAMnE,yEACE;IAAA,mFAKe;IALD,qOAAS,wBAAwB,IAAC,ySACf,mCAAsB,GAAE,IAAI,IADb;IAKhD,4DAAe;IACjB,4DAAK;;;;IAJW,0DAAqC;IAArC,4GAAqC;;;IAOrD,yEAA+D;IAAA,uDAAc;IAAA,4DAAK;;;IAAnB,0DAAc;IAAd,8FAAc;;;IAC7E,yEAAgE;IAAA,uDAAuB;IAAA,4DAAK;;;;IAA5B,0DAAuB;IAAvB,4GAAuB;;;IAI3F,yEAA+D;IAAA,uDAAW;IAAA,4DAAK;;;IAAhB,0DAAW;IAAX,uFAAW;;;;IAC1E,yEAMI;IAAA,0EAA8C;IAAA,uDAA+B;IAAA,4DAAM;IAAA,4DAAK;;;;;;;IAFxF,+HAA4C;IAEvC,0DAAwC;IAAxC,sJAAwC;IAAC,0DAA+B;IAA/B,6GAA+B;;;IARjF,4EACA;IAAA,kIAA+D;IAC/D,kIAMI;IACJ,qEAAe;;;IATD,qFAAuB;;;IAYjC,oEAA2D;;;;IAC3D,yEACI;IAAA,6EAKI;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAClC,4DAAS;IACT,qFACI;IAAA,6EAGE;IADE,wXAAiC;IACnC,2EAAU;IAAA,qEAAU;IAAA,4DAAW;IAC/B,uEAAM;IAAA,gFAAoB;IAAA,4DAAO;IACnC,4DAAS;IACT,8EAGE;IADE,gXAAgC,KAAK,mBAAW;IAClD,4EAAU;IAAA,gEAAI;IAAA,4DAAW;IACzB,wEAAM;IAAA,2EAAe;IAAA,4DAAO;IAC9B,4DAAS;IACT,8EAGE;IADE,wWAAwB,KAAK,mBAAW;IAC1C,4EAAU;IAAA,kEAAM;IAAA,4DAAW;IAC3B,wEAAM;IAAA,6EAAiB;IAAA,4DAAO;IAChC,4DAAS;IACb,4DAAW;IACf,4DAAK;;;IAzBG,0DAA0B;IAA1B,oFAA0B;;;IA4BtC,oEAA0E;;;IAC1E,oEAAkE;;;IAtE1E,0EACI;IAAA,4EACI;IAAA,4EACI;IAAA,mHACE;IAOF,mHACE;IAON,qEAAe;IACf,4EACI;IAAA,mHAA+D;IAC/D,mHAAgE;IACpE,qEAAe;IAEf,uIACA;IAUA,4EACI;IAAA,qHAAsD;IACtD,sHACI;IA4BR,qEAAe;IAEf,qHAAqE;IACrE,qHAA6D;IACjE,4DAAQ;IACZ,4DAAM;;;IAvEe,0DAAyB;IAAzB,2FAAyB;IAmBxB,0DAA0B;IAA1B,4FAA0B;IAKF,0DAAmD;IAAnD,6FAAmD;IA4CtE,0DAAiD;IAAjD,sGAAiD;IACxD,0DAAgD;IAAhD,uGAAgD;;AD3GrE,MAAM,iBAAiB;IA+B5B,YACkC,IAAI,EAC7B,MAAiB,EAChB,eAAgC,EAChC,mBAAwC;QAHhB,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QAChC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAjClD,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,qBAAgB,GAAG,IAAI,CAAC;QACxB,gBAAW,GAAG,IAAI,CAAC;QACnB,cAAS,GAAG,IAAI,CAAC;QACjB,mBAAc,GAAG,IAAI,CAAC;QACtB,oBAAe,GAAG,IAAI,CAAC;QACvB,gBAAW,GAAG,IAAI,CAAC;QAEnB,iBAAY,GAAG,EAAE,CAAC;QAElB,cAAS,GAAG,IAAI,uEAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,eAAU,GAAG,IAAI,CAAC;QAElB,WAAM,GAAG,OAAO,CAAC;QACjB,eAAU,GAAG,IAAI,CAAC;QAElB,iBAAY,GAAG,EAAE,CAAC;IAOd,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,gFAAgF;IAChF,aAAa;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,OAAO,WAAW,KAAK,OAAO,CAAC;IACjC,CAAC;IAED,gFAAgF;IAChF,YAAY;QACV,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,mDAAmD;IACnD,aAAa,CAAC,GAAS;QACrB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC;SAC9D;QACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,+CAA+C;IAC/C,YAAY;QACV,IAAI,IAAI,GAAG;YACT,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,YAAY;SAC7B,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;aACpC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7F,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7E,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAEK,cAAc;;YAClB,kDAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,MAAM;gBACb,eAAe,EAAE;oBACb,QAAQ,EAAE,QAAQ;oBAClB,YAAY,EAAE,oBAAoB;iBACrC;gBACD,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,MAAM;gBACzB,gBAAgB,EAAE,UAAU;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,IAAI;gBACzB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,IAAI,IAAI,EAAE;wBACN,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;wBAC9B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;4BACpB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;4BAC3B,IAAI,QAAQ,GAAG,yCAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;4BACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACpC,IAAI,QAAQ,GAAG,0CAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;4BACnB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCACzB,IAAI,GAAG,GAAG,EAAE,CAAC;gCACb,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oCAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gCACvB,CAAC,CAAC,CAAC;gCACH,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACtB,CAAC,CAAC,CAAC;4BACH,kDAAI,CAAC,KAAK,CAAC;gCACT,KAAK,EAAE,MAAM;gCACb,gBAAgB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;6BAC3C,CAAC,CAAC,KAAK,CAAC;gCACP;oCACE,KAAK,EAAE,gBAAgB;oCACvB,IAAI,EAAE;4CACkB,SAAS,CAAC,MAAM;yDACH,IAAI,CAAC,cAAc;qBACvD;oCACD,IAAI,EAAE,MAAM;oCACZ,gBAAgB,EAAE,IAAI;oCACtB,kBAAkB,EAAE,SAAS;oCAC7B,gBAAgB,EAAE,UAAU;oCAC5B,iBAAiB,EAAE,MAAM;oCACzB,iBAAiB,EAAE,QAAQ;iCAC5B;6BACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gCACjB,IAAI,MAAM,EAAE;oCACV,IAAI,IAAI,GAAG;wCACT,IAAI,EAAE,QAAQ;wCACd,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;wCAC1B,OAAO,EAAE,IAAI,CAAC,cAAc;wCAC5B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qCAClC,CAAC;oCACF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;yCACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wCACnB,kDAAI,CAAC,IAAI,CAAC;4CACR,IAAI,EAAE,SAAS;4CACf,IAAI,EAAE,uBAAuB,IAAI,EAAE;yCACpC,CAAC;wCACF,IAAI,CAAC,YAAY,EAAE,CAAC;oCACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wCACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,8DAA8D,EAC9D,OAAO,CACR,CAAC;oCACJ,CAAC,CAAC,CAAC;iCACN;4BACH,CAAC,CAAC;wBACJ,CAAC,CAAC;wBACF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;qBACnC;gBACL,CAAC;gBACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,kDAAI,CAAC,SAAS,EAAE;aAC3C,CAAC,CAAC;QACL,CAAC;KAAA;IAED,cAAc,CAAC,QAAiB,EAAE,QAAc;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,QAAQ,EAAE;YACZ,KAAI,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC7B;SACF;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC/B;QACD,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,iCAAiC,IAAI,CAAC,MAAM,2BAA2B;YAC9E,IAAI,EAAE,6CAA6C;YACnD,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;qBACvD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,yBAAyB,IAAI,EAAE;qBACvC,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,gEAAgE,EAChE,OAAO,CACR,CAAC;gBACJ,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;IAGD,kDAAkD;IAClD,sBAAsB,CAAC,QAAiB,EAAE,GAAS;QACjD,IAAI,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+FAAsB,EAAE;YACzD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE,IAAI,CAAC,cAAc;gBAC5B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,IAAI,CAAC,WAAW;aACzB;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kGAAuB,EAAE;YAC1D,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1B,OAAO,EAAE,IAAI,CAAC,cAAc;gBAC5B,MAAM,EAAE,IAAI,CAAC,WAAW;aACzB;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;gBACjG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3E,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,oBAAoB;QAClB,IAAI,IAAI,GAAG;YACT,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;YACpC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;YAClD,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,+CAA+C;IAC/C,QAAQ,CAAC,KAAU;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,gCAAgC;IAChC,UAAU,CAAC,KAAU;QACnB,IAAG,KAAK,EAAC;YACP,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;SAC7B;aAAI;YACH,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;SACvB;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,kCAAkC;IAClC,cAAc,CAAC,GAAQ;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4FAAqB,EAAE;YACxD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC;aAC3B;SACF,CAAC,CAAC;IAEL,CAAC;IAED,6CAA6C;IAC7C,WAAW;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gGAAsB,EAAE;YACzD,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1B,OAAO,EAAE,IAAI,CAAC,cAAc;gBAC5B,MAAM,EAAE,IAAI,CAAC,WAAW;aACzB;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IAEL,CAAC;IAED;;OAEG;IACG,kBAAkB;;YACtB,kDAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,MAAM;gBACb,eAAe,EAAE;oBACb,QAAQ,EAAE,QAAQ;oBAClB,YAAY,EAAE,oBAAoB;iBACrC;gBACD,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,MAAM;gBACzB,gBAAgB,EAAE,UAAU;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,IAAI;gBACzB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,IAAI,IAAI,EAAE;wBACN,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;wBAC9B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;4BACpB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;4BAC3B,IAAI,QAAQ,GAAG,yCAAS,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;4BACnD,IAAI,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;4BACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BACpC,IAAI,QAAQ,GAAG,0CAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;4BACnB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCACzB,IAAI,GAAG,GAAG,EAAE,CAAC;gCACb,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oCAC3B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gCACvB,CAAC,CAAC,CAAC;gCACH,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACtB,CAAC,CAAC,CAAC;4BACH,kDAAI,CAAC,KAAK,CAAC;gCACT,KAAK,EAAE,MAAM;gCACb,gBAAgB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;6BAC3C,CAAC,CAAC,KAAK,CAAC;gCACP;oCACE,KAAK,EAAE,gBAAgB;oCACvB,IAAI,EAAE;4CACkB,SAAS,CAAC,MAAM;yDACH,IAAI,CAAC,cAAc;qBACvD;oCACD,IAAI,EAAE,MAAM;oCACZ,gBAAgB,EAAE,IAAI;oCACtB,kBAAkB,EAAE,SAAS;oCAC7B,gBAAgB,EAAE,UAAU;oCAC5B,iBAAiB,EAAE,MAAM;oCACzB,iBAAiB,EAAE,QAAQ;iCAC5B;6BACF,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gCACjB,IAAI,MAAM,EAAE;oCACV,IAAI,IAAI,GAAG;wCACT,IAAI,EAAE,QAAQ;wCACd,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;wCAC1B,OAAO,EAAE,IAAI,CAAC,cAAc;wCAC5B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qCAClC,CAAC;oCACF,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;yCACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;wCACnB,kDAAI,CAAC,IAAI,CAAC;4CACR,IAAI,EAAE,SAAS;4CACf,IAAI,EAAE,uBAAuB,IAAI,EAAE;yCACpC,CAAC;wCACF,IAAI,CAAC,YAAY,EAAE,CAAC;oCACtB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;wCACR,kDAAI,CAAC,IAAI,CACP,OAAO,EACP,8DAA8D,EAC9D,OAAO,CACR,CAAC;oCACJ,CAAC,CAAC,CAAC;iCACN;4BACH,CAAC,CAAC;wBACJ,CAAC,CAAC;wBACF,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;qBACnC;gBACL,CAAC;gBACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,kDAAI,CAAC,SAAS,EAAE;aAC3C,CAAC,CAAC;QACL,CAAC;KAAA;IAED,cAAc;QACZ,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,qBAAqB;YAC5B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,IAAI,GAAG,EAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAC;QACvC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;aACrC,SAAS,CAAE,CAAC,IAAS,EAAE,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC;gBACjB,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACrB,KAAK,IAAI,SAAS,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,aAAa;gBACvE,CAAC,CAAC,CAAC;gBACH,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,6CAA6C;oBACnD,IAAI,EAAE,KAAK;iBACZ,CAAC;aACH;iBAAI;gBACH,kDAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,gCAAgC;iBACvC,CAAC;aACH;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;;kFAzbU,iBAAiB,kEAgClB,wEAAe;iGAhCd,iBAAiB;QCrB9B,2GAAwC;QACxC,2GAAyC;QACzC,wFACI;QAAA,wFACI;QAAA,iFACI;QAAA,+EACI;QAAA,yEACI;QAAA,qEAAI;QAAA,oEAAG;QAAA,mEAAQ;QAAA,4DAAI;QAAA,4DAAK;QACxB,0EAA2B;QAC3B,wEAIC;QADG,qIAAS,iBAAa,IAAC;QAC1B,+EAAuB;QAAA,+DAAG;QAAA,4DAAW;QAAA,gFAAe;QAAA,4DAAI;QACzD,wEAIC;QADG,qIAAS,oBAAgB,IAAC;QAC7B,+EAAuB;QAAA,kEAAM;QAAA,4DAAW;QAAA,4EAAgB;QAAA,4DAAI;QAC7D,wEAIC;QADG,qIAAS,0BAAsB,IAAC;QACnC,+EAAuB;QAAA,oEAAQ;QAAA,4DAAW;QAAA,+EAAmB;QAAA,4DAAI;QAClE,wEAIC;QADG,qIAAS,8BAA0B,IAAC;QACvC,+EAAuB;QAAA,sEAAU;QAAA,4DAAW;QAAA,6EAAiB;QAAA,4DAAI;QAClE,wEAIC;QADG,qIAAS,oBAAgB,IAAC;QAC7B,+EAAuB;QAAA,wEAAY;QAAA,4DAAW;QAAA,gFAAe;QAAA,4DAAI;QAClE,2GAKC;QACD,2GAKC;QACD,0EAA2B;QAC/B,4DAAM;QACV,4DAAe;QACnB,4DAAc;QACd,iHAAyB;QACzB,iIAKI;QAEJ,gHACI;QAwER,4DAAwB;QAC5B,4DAAqB;QACrB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QAvIjB,gFAAkB;QAClB,0DAAmB;QAAnB,iFAAmB;QAkCC,2DAAmC;QAAnC,mGAAmC;QAMnC,0DAAmC;QAAnC,mGAAmC;QAS7C,0DAAkB;QAAlB,gFAAkB;QAEpB,0DAAkB;QAAlB,gFAAkB;QAMjB,0DAAkB;QAAlB,gFAAkB;;6FDrClB,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;sBAiCI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;;;;;;;;AErDgB;AACoB;AAEhB;;;AAKxC,MAAM,eAAe;IAG1B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,sCAAsC;IACtC,YAAY,CAAC,IAAS;QACpB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,gBAAgB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAGD;;;;;OAKG;IACH,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,oCAAoC;IACpC,cAAc,CAAC,QAAa,EAAE,YAAoB;QAChD,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,aAAa,YAAY,IAAI,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,qCAAqC;IACrC,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,iDAAiD;IACjD,kBAAkB,CAAC,IAAS;QAC1B,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,iDAAiD;IACjD,kBAAkB,CAAC,YAAoB;QACrC,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,aAAa,YAAY,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,iCAAiC;IACjC,QAAQ,CAAC,YAAoB,EAAE,SAAiB;QAC9C,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,SAAS,YAAY,IAAI,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAGD;;;;OAIG;IACG,kBAAkB,CAAC,IAAS;;YAChC,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;gBAC9B,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACrF,CAAC;KAAA;IAED;;OAEG;IACH,aAAa,CAAC,IAAS;QACrB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;;8EA3GU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACe;;;;;;;;;;;ICUzD,iFACA;IAAA,uDACA;IAAA,4DAAa;;;IAFiC,oFAAsB;IACpE,0DACA;IADA,4FACA;;;IAOJ,iFACE;IAAA,uDACA;IAAA,4DAAa;;;IAF+B,6EAAe;IAC3D,0DACA;IADA,4FACA;;ADbP,MAAM,uBAAuB;IAYlC,YACS,SAAoD,EAC3B,IAAI;QAD7B,cAAS,GAAT,SAAS,CAA2C;QAC3B,SAAI,GAAJ,IAAI;QAZtC,iBAAY,GAAG,IAAI,CAAC;QACpB,gBAAW,GAAG,IAAI,CAAC;QACnB,iBAAY,GAAG,IAAI,CAAC;QAEpB,eAAU,GAAG;YACX,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;YAChC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;YAC/B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;SAC9C,CAAC;IAKE,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAC7C,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,GAAG;YACT,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;;8FA9BU,uBAAuB,0MAcxB,wEAAe;uGAdd,uBAAuB;QCTpC,wEAAqB;QAAA,8EAAmB;QAAA,4DAAK;QAC7C,wFACI;QAAA,yEACI;QAAA,oFACE;QAAA,4EAAW;QAAA,uDAA8B;QAAA,4DAAY;QACrD,2EACF;QADkB,iMAA0B;QAA1C,4DACF;QAAA,4DAAiB;QACjB,gEACA;QAAA,oFACI;QAAA,6EAAW;QAAA,kEAAM;QAAA,4DAAY;QAC7B,iFACI;QADQ,uMAA0B;QAClC,mIACA;QAEJ,4DAAa;QACjB,4DAAiB;QACjB,iEACA;QAAA,qFACE;QAAA,6EAAW;QAAA,sFAA0B;QAAA,4DAAY;QACjD,iFACE;QADU,sMAAyB;QACnC,mIACE;QAEJ,4DAAa;QACf,4DAAiB;QACrB,4DAAM;QACV,4DAAqB;QACrB,yFACI;QAAA,6EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACnD,6EAAsC;QAAnB,gJAAS,YAAQ,IAAC;QAAC,mEAAO;QAAA,4DAAS;QAC1D,4DAAqB;;QA1BA,0DAA8B;QAA9B,sGAA8B;QACzB,0DAA0B;QAA1B,qFAA0B;QAK5B,0DAA0B;QAA1B,qFAA0B;QACtB,0DAAiC;QAAjC,mFAAiC;QAQvC,0DAAyB;QAAzB,oFAAyB;QACvB,0DAAiC;QAAjC,oFAAiC;;6FDX5C,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;sBAeI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEvB+B;AAEe;AACnB;AAEvB;AAEuD;;;;;;;;;;;;;;;ICAlE,wEAA6D;IAAA,uDAAU;IAAA,4DAAK;;;IAAf,0DAAU;IAAV,0EAAU;;;IAMvE,yEAAkD;IAAA,uDAAqB;IAAA,4DAAK;;;;IAA1B,0DAAqB;IAArB,wGAAqB;;;IAH/E,wEACI;IAAA,yEACI;IAAA,yEAA+B;IAAA,uDAA6B;IAAA,4DAAK;IACjE,qHAAkD;IACtD,4DAAK;IACT,4DAAQ;;;IAH+B,0DAA6B;IAA7B,0GAA6B;IACxD,0DAA6B;IAA7B,sFAA6B;;;IAcrB,iFACA;IAAA,uDACA;IAAA,4DAAa;;;IAFiC,oFAAsB;IACpE,0DACA;IADA,4FACA;;;IAqBhB,qEACI;IAAA,yEAAgB;IAAA,oEAAG;IAAA,4EAAY;IAAA,4DAAI;IAAC,uDAA0B;IAAA,4DAAK;IACvE,4DAAK;;;IADmC,0DAA0B;IAA1B,wGAA0B;;;IAWlE,yEAA4D;IAAA,uDAAa;IAAA,4DAAK;;;IAAlB,0DAAa;IAAb,6EAAa;;;IAMrE,oEAAiB;IAAA,uDAAW;IAAA,4DAAI;;;IAAf,0DAAW;IAAX,2EAAW;;;;IAC5B,+EAMsC;IADtC,koBAAkC,CAAC,EAAE,OAAO,aAAU;IAC3B,4DAAW;;;;;;IAFtC,qHAAoC;;;;IAGpC,gFASY;IADR,ooBAAkC,CAAC,EAAE,QAAQ,aAAU;IAC3D,4DAAY;;;;;;IALR,sHAAiC;;;IAQrC,oEAII;IAAA,0EAAc;IAAA,oEAAG;IAAA,uDAAsD;IAAA,4DAAI;IAC/E,4DAAI;;;;;;IADiB,0DAAsD;IAAtD,kJAAsD;;;;IAzB/E,yEACI;IAAA,2IAAiB;IACjB,0JAM2B;IAC3B,4JASA;IAEA,gEAAI;IAAA,gEACJ;IAAA,2IAII;IAER,4DAAK;;;;;;IA3BuC,uJAAqC;IAC1E,0DAAY;IAAZ,6EAAY;IAEf,0DAAuC;IAAvC,oIAAuC;IAOnC,0DAAsC;IAAtC,mIAAsC;IAYtC,0DAEqC;IAFrC,4MAEqC;;;IAzBjD,qEACI;IAAA,yIACI;IA2BR,4DAAK;;;IA5BG,0DAAuC;IAAvC,6EAAuC;;;IAFnD,wEACI;IAAA,oIACI;IA6BR,4DAAQ;;;;IA9BA,0DAA6C;IAA7C,6FAA6C;;;IARzD,2EACI;IAAA,wEACI;IAAA,wEACI;IAAA,oEAAqB;IACrB,4HAA4D;IAChE,4DAAK;IACT,4DAAQ;IACR,iIACI;IA+BR,4DAAQ;;;;IAnCQ,0DAA2C;IAA3C,sGAA2C;IAGhD,0DAAe;IAAf,kFAAe;;;IAR1B,2EACA;IAAA,0HACI;IAuCJ,4DAAO;;;IAzCoB,4FAA0B;IACjB,0DAAoD;IAApD,8FAAoD;;AD5CrF,MAAM,iBAAiB;IA2D5B,YACS,SAA0C,EACjB,IAAI,EAC7B,MAAiB,EAChB,eAAgC;QAHjC,cAAS,GAAT,SAAS,CAAiC;QACjB,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,oBAAe,GAAf,eAAe,CAAiB;QA7D1C,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAGH,aAAQ,GAAG,EAAE,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QACb,qBAAgB,GAAG,EAAE,CAAC;QAEtB,aAAQ,GAAG,EAAE,CAAC;QACd,mBAAc,GAAG,IAAI,CAAC;QACtB,YAAO,GAAG,IAAI,CAAC;QAEf,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAEhB,YAAO,GAAG,EAAE,CAAC;QAEb,eAAU,GAAG;YACX,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;YAChC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;YAC/B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;SAC9C,CAAC;QAEF,iBAAY,GAAG,IAAI,CAAC;QAEpB,WAAM,GAAG;YACP,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,WAAW,EAAC,YAAY;YACxB,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;QAED,aAAQ,GAAG,IAAI,CAAC;QAChB,gBAAW,GAAG,IAAI,CAAC;QAEnB,wBAAmB,GAAG,IAAI,CAAC;QAE3B,iBAAY,GAAG,IAAI,CAAC;QACpB,WAAM,GAAG,IAAI,CAAC;QACd,gBAAW,GAAG,IAAI,CAAC;QACnB,iBAAY,GAAG,IAAI,CAAC;QACpB,YAAO,GAAG,KAAK,CAAC;QAEhB,iBAAY,GAAc,IAAI,CAAC;IAO3B,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,2CAA2C;IAC3C,SAAS;QACP,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,sBAAsB;YAC7B,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACzC,SAAS,CAAC,CAAO,IAAI,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,IAAE,EAAE,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC7C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,0DAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,wDAAS,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,kDAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,GACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,SAAS;QACP,IAAI,IAAI,GAAG;YACT,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;SAC3B;QACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;aACjC,SAAS,CAAE,CAAC,IAAS,EAAE,EAAE;YACxB,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC;gBACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,qCAAqC;oBAC5C,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE;;kBAEA,QAAQ;;aAEb;iBACF,CAAC,CAAC;aACJ;iBAAI;gBACH,IAAI,IAAI,GAAG;oBACT,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;oBAC7B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC1B,MAAM,EAAE,IAAI,CAAC,YAAY;oBACzB,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACzC,QAAQ,EAAE,IAAI;iBACf,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC3B;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,wBAAwB;IAClB,QAAQ;;YACZ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,kDAAI,CAAC,IAAI,CACP,+BAA+B,EAC/B,EAAE,EACF,MAAM,CACP,CAAC;aACH;YAED,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;gBACzB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,kDAAI,CAAC,IAAI,CAAC;oBACtC,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,UAAU;oBACjB,gBAAgB,EAAE,mCAAmC;oBACrD,iBAAiB,EAAE,QAAQ;oBAC3B,gBAAgB,EAAE,IAAI;oBACtB,gBAAgB,EAAE,UAAU;oBAC5B,iBAAiB,EAAE,MAAM;iBAC1B,CAAC,CAAC;gBAEH,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,IAAI,GAAG;wBACT,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;wBAC7B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC1B,MAAM,EAAE,IAAI,CAAC,YAAY;wBACzB,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACzC,QAAQ,EAAE,IAAI;qBACf;oBAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;iBAC3B;aACF;iBAAK,IAAG,IAAI,CAAC,YAAY,IAAI,CAAC,EAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;QACH,CAAC;KAAA;IAED,0DAA0D;IACpD,YAAY;;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,GAAG;gBACT,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC7B,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,WAAW;gBAC9B,aAAa,EAAE,IAAI,CAAC,YAAY;aACjC,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC;qBACpC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;oBACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;wBAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;wBACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;4BAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;gCACvE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gCACtE,IAAI,CAAC;wBACP,CAAC,CAAC,CAAC;wBACH,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,IAAE,EAAE,EAAE,CAAC,CAAC;4BAAA,CAAC;yBAC5F;6BAAI;4BACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;yBACpC;wBAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;4BACjE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gCACzD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;oCACvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;wCACpC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4CACjE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4CAC3D,IAAI,CAAC;iCACN;6BACF;yBACF;wBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;yBAAM;wBACL,kDAAI,CAAC,IAAI,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,6BAA6B;yBACpC,CAAC,CAAC;qBACJ;gBACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,0CAA0C;IAC1C,cAAc,CAAC,IAAS;QACtB,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,cAAc;YACrB,iBAAiB,EAAE,KAAK;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;aACtC,SAAS,CAAC,CAAO,IAAI,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,iCAAiC;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC,GACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,8BAA8B;aACtC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,wBAAwB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kGAAuB,EAAE;YAC1D,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC;SACF,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,MAAM,EAAC,EAAE,CAAC;YAChD,IAAI,MAAM,EAAE;gBACV,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,aAAa;oBACpB,iBAAiB,EAAE,KAAK;oBACxB,MAAM,EAAE,GAAG,EAAE;wBACX,kDAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;4BACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC/C,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,kDAAI,CAAC,KAAK,EAAE,CAAC;aACd;QACH,CAAC,EAAC,CAAC;IACL,CAAC;IAGD,4CAA4C;IAC5C,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,MAAc,EAAE,IAAY,EAAE,MAAW;QACjF,IAAI,IAAI,IAAI,OAAO,IAAI,MAAM,IAAI,SAAS,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;SACxD;aAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,MAAM,IAAI,SAAS,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;SAC3C;aAAK;YACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;SACzC;IACH,CAAC;;kFA9VU,iBAAiB,0MA6DlB,wEAAe;iGA7Dd,iBAAiB;QCd9B,wEAAqB;QAAA,wEAAQ;QAAA,4DAAK;QAClC,wFACI;QAAA,yEACI;QAAA,2EACI;QAAA,wEACI;QAAA,wEACI;QAAA,wEAA+B;QAAA,uDAAmB;QAAA,4DAAK;QACvD,2GAA6D;QACjE,4DAAK;QACT,4DAAQ;QACR,mHACI;QAKR,4DAAQ;QACZ,4DAAM;QAEN,0EACI;QAAA,4EACI;QAAA,yEACI;QAAA,sEACI;QAAA,0EACI;QAAA,sFACI;QAAA,6EAAW;QAAA,kEAAM;QAAA,4DAAY;QAC7B,kFACI;QADQ,iMAA0B;QAClC,8HACA;QAEJ,4DAAa;QACjB,4DAAiB;QACrB,4DAAK;QACL,0EACI;QAAA,8EAAwF;QAAhD,mIAAS,wBAAoB,SAAE,kBAAc,IAAE;QAAC,wEAAY;QAAA,4DAAS;QACjH,4DAAK;QACL,sEACI;QAAA,8EAA+D;QAArB,0IAAS,cAAU,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAClF,4DAAK;QACL,sEACI;QAAA,8EAMI;QADA,0IAAS,8BAA0B,IAAC;QACpC,4EAAU;QAAA,sEAAU;QAAA,4DAAW;QACnC,4DAAS;QACb,4DAAK;QACT,4DAAK;QACL,6GACI;QAER,4DAAQ;QACZ,4DAAQ;QACZ,4DAAM;QAEN,kHACA;QAyCJ,4DAAqB;QAErB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QAjG8B,0DAAmB;QAAnB,kFAAmB;QAC9C,0DAA6B;QAA7B,iFAA6B;QAGlC,0DAAgB;QAAhB,8EAAgB;QAgBK,0DAA0B;QAA1B,qFAA0B;QACtB,0DAAiC;QAAjC,mFAAiC;QAuBzD,2DAA2B;QAA3B,yFAA2B;QAOrC,0DAAoB;QAApB,kFAAoB;;6FD3CjB,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;sBA8DI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AE3E3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,eAAe;IAG1B,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,qCAAqC;IACrC,SAAS,CAAC,EAAU;QAClB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,uCAAuC;IACvC,SAAS,CAAC,IAAS;QACjB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,iDAAiD;IACjD,YAAY,CAAC,IAAS;QACpB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,0BAA0B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IAGD,cAAc,CAAC,IAAS;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;;8EA7CU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPyD;AACe;AAE1C;;;;;;;;;;;;;;;ICIX,wEAA6D;IAAA,uDAAU;IAAA,4DAAK;;;IAAf,0DAAU;IAAV,0EAAU;;;IAMvE,yEAAkD;IAAA,kEAAM;IAAA,4DAAK;;;IAcjD,iFACA;IAAA,uDACA;IAAA,4DAAa;;;IAFiC,oFAAsB;IACpE,0DACA;IADA,4FACA;;;IAmBhB,yEAA4D;IAAA,uDAAa;IAAA,4DAAK;;;IAAlB,0DAAa;IAAb,6EAAa;;;IAMrE,oEAAiB;IAAA,uDAAW;IAAA,4DAAI;;;IAAf,0DAAW;IAAX,2EAAW;;;;IAC5B,+EAKsC;IADtC,unBAA+B,CAAC,eAAE;IACP,4DAAW;;;;;;IADtC,iHAAkC;;;;IAGlC,0FAQsB;IAHlB,6oBAA+B,CAAC,eAAE;IAGtC,4DAAsB;;;;;;IALlB,2EAAkB;;;;IAMtB,6EAQI;IADA,imBAA2B;IAC3B,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC9B,4DAAS;;;;IA3Bb,yEACI;IAAA,0HAAiB;IACjB,wIAK2B;IAE3B,8JAQA;IACA,oIAQI;IAER,4DAAK;;;;;IA5BuC,uJAAqC;IAC1E,0DAAY;IAAZ,6EAAY;IAEf,0DAAuC;IAAvC,oIAAuC;IAOnC,0DAAsC;IAAtC,mIAAsC;IAStC,0DAAsC;IAAtC,mIAAsC;;;IApBlD,qEACI;IAAA,uHACI;IA4BR,4DAAK;;;IA7BG,0DAAuC;IAAvC,6EAAuC;;;IATvD,2EACI;IAAA,wEACI;IAAA,wEACI;IAAA,oEAAqB;IACrB,kHAA4D;IAChE,4DAAK;IACT,4DAAQ;IACR,wEACI;IAAA,kHACI;IA8BR,4DAAQ;IACZ,4DAAQ;;;;IApCQ,0DAA2C;IAA3C,sGAA2C;IAI/C,0DAA6C;IAA7C,6FAA6C;;ADnCtD,MAAM,cAAc;IAiCzB,YACS,SAAuC,EACd,IAAgB,EACxC,YAA0B;QAF3B,cAAS,GAAT,SAAS,CAA8B;QACd,SAAI,GAAJ,IAAI,CAAY;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAjCpC,aAAQ,GAAG,EAAE,CAAC;QACd,YAAO,GAAG,EAAE,CAAC;QACb,qBAAgB,GAAG,EAAE,CAAC;QAEtB,aAAQ,GAAG,EAAE,CAAC;QACd,YAAO,GAAG,IAAI,CAAC;QAEf,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE,CAAC;QAEhB,YAAO,GAAG,EAAE,CAAC;QAEb,eAAU,GAAG;YACX,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE;YAChC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;YAC/B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;SAC9C,CAAC;QAEF,iBAAY,GAAG,IAAI,CAAC;QAEpB,WAAM,GAAG;YACP,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO;YACf,WAAW,EAAC,YAAY;YACxB,cAAc,EAAE,gBAAgB;YAChC,iBAAiB,EAAC,WAAW;YAC7B,gBAAgB,EAAE,KAAK;SACxB;IAMG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,2CAA2C;IAC3C,SAAS;QACP,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aACtC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,iCAAK,CAAC,KAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,IAAE,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAC,CAAC,EAAE,EAAE;wBACxB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,UAAU,CAAC,KAAa,EAAE,GAAW,EAAE,MAAc;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED,wBAAwB;IACxB,SAAS;QACP,IAAI,IAAI,GAAG;YACT,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;SAC3B;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC;aAC9B,SAAS,CAAE,CAAC,IAAS,EAAE,EAAE;YACxB,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC;gBACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7B,kDAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,qCAAqC;oBAC5C,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE;;kBAEA,QAAQ;;aAEb;iBACF,CAAC,CAAC;aACJ;QACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,wBAAwB;IAClB,QAAQ;;YACZ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACtB,kDAAI,CAAC,IAAI,CACP,+BAA+B,EAC/B,EAAE,EACF,MAAM,CACP,CAAC;aACH;YAED,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;gBACzB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,kDAAI,CAAC,IAAI,CAAC;oBACtC,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,UAAU;oBACjB,gBAAgB,EAAE,mCAAmC;oBACrD,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;gBAEH,IAAI,IAAI,EAAE;oBACR,kDAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACjB;aACF;iBAAK,IAAG,IAAI,CAAC,YAAY,IAAI,CAAC,EAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;QAGH,CAAC;KAAA;;4EApIU,cAAc,0MAmCf,wEAAe;8FAnCd,cAAc;QCjB3B,wEAAqB;QAAA,uEAAY;QAAA,4DAAK;QACtC,wFACI;QAAA,yEACI;QAAA,2EACI;QAAA,wEACI;QAAA,wEACI;QAAA,wEAA+B;QAAA,uDAAmB;QAAA,4DAAK;QACvD,wGAA6D;QACjE,4DAAK;QACT,4DAAQ;QACR,yEACI;QAAA,yEACI;QAAA,yEAA+B;QAAA,iEAAK;QAAA,4DAAK;QACzC,0GAAkD;QACtD,4DAAK;QACT,4DAAQ;QACZ,4DAAQ;QACZ,4DAAM;QAEN,2EACI;QAAA,6EACI;QAAA,yEACI;QAAA,sEACI;QAAA,0EACI;QAAA,sFACI;QAAA,6EAAW;QAAA,kEAAM;QAAA,4DAAY;QAC7B,kFACI;QADQ,8LAA0B;QAClC,2HACA;QAEJ,4DAAa;QACjB,4DAAiB;QACrB,4DAAK;QACL,0EACI;QAAA,8EAAwC;QAAA,wEAAY;QAAA,4DAAS;QACjE,4DAAK;QACL,sEACI;QAAA,8EAA+D;QAArB,uIAAS,cAAU,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAClF,4DAAK;QACT,4DAAK;QACT,4DAAQ;QACZ,4DAAQ;QACZ,4DAAM;QAEN,iHACI;QAwCR,4DAAqB;QAErB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QAnF8B,0DAAmB;QAAnB,kFAAmB;QAC9C,0DAA6B;QAA7B,iFAA6B;QAM7B,0DAA6B;QAA7B,iFAA6B;QAab,0DAA0B;QAA1B,qFAA0B;QACtB,0DAAiC;QAAjC,mFAAiC;QAiBrC,0DAAoD;QAApD,yFAAoD;;6FD3B/E,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;;sBAoCI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEpD3B;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,YAAY;IAGvB,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,qCAAqC;IACrC,SAAS,CAAC,EAAU;QAClB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,uCAAuC;IACvC,SAAS,CAAC,IAAS;QACjB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;;wEAzBU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;6FAEP,YAAY;cAHxB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACY;AACX;AACH;AAEzB;;;;;;;;;;ICEjB,yEACE;IAAA,mFAKe;IALD,2VAAoC,IAAI,IAAC;IAKvD,4DAAe;IACjB,4DAAK;;;IALW,0DAAmD;IAAnD,8HAAmD;;;;IAMnE,yEACE;IAAA,mFAKe;IALD,qOAAS,wBAAwB,IAAC,ySACf,mCAAsB,GAAE,IAAI,IADb;IAKhD,4DAAe;IACjB,4DAAK;;;;IAJW,0DAAqC;IAArC,4GAAqC;;;IASrD,yEAAuC;IAAA,qEAAS;IAAA,4DAAK;;;IACrD,yEAAwC;IAAA,uDAAqB;IAAA,4DAAK;;;IAA1B,0DAAqB;IAArB,iGAAqB;;;IAK7D,yEAAuC;IAAA,qEAAS;IAAA,4DAAK;;;IACrD,yEAAwC;IAAA,uDAAqB;IAAA,4DAAK;;;IAA1B,0DAAqB;IAArB,iGAAqB;;;IAG/D,oEAA4D;;;IAC5D,oEACK;;;IArCb,yEACI;IAAA,2EAEI;IACA,2EACE;IAAA,kHACE;IAOF,mHACE;IAOJ,qEAAe;IAGf,4EACE;IAAA,kHAAuC;IACvC,mHAAwC;IAC1C,qEAAe;IAGf,4EACE;IAAA,kHAAuC;IACvC,qHAAwC;IAC1C,qEAAe;IAEf,qHAAuD;IACvD,qHACA;IACF,4DAAQ;IACd,4DAAM;;;IAtCe,0DAAyB;IAAzB,2FAAyB;IAkCnB,2DAAmC;IAAnC,sGAAmC;IAC1C,0DAAgD;IAAhD,uGAAgD;;;;IAKhE,6EAIe;IADX,sUAA4B;IACjB,gFAAqB;IAAA,4DAAS;;;IAFzC,iHAA6C;;AD/BlD,MAAM,kBAAkB;IAmB7B,YACkC,IAAI,EAC7B,MAAiB,EAChB,cAA8B;QAFN,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAgB;QApBxC,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,eAAU,GAAG,IAAI,CAAC;QAClB,mBAAc,GAAG,EAAE,CAAC;QACpB,cAAS,GAAG,IAAI,uEAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,qBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;IAMjD,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,gFAAgF;IAChF,aAAa;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,OAAO,WAAW,KAAK,OAAO,CAAC;IACjC,CAAC;IAED,gFAAgF;IAChF,YAAY;QACV,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,mDAAmD;IACnD,aAAa,CAAC,GAAI;QAChB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC;SAC9D;QACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;aACrD,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBACjD,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACd,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,GAAW,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5C,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC;aAC1C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,mCAAmC;aAC3C,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,iCAAiC;aACzC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;;oFA7FU,kBAAkB,kEAoBnB,wEAAe;kGApBd,kBAAkB;QCd/B,wEAAqB;QAAA,uDAAgD;QAAA,4DAAK;QAC1E,wFACI;QAAA,+GACI;QAuCJ,sEACI;QAAA,oHAIe;QACnB,4DAAM;QACV,4DAAqB;QACrB,wFACI;QAAA,4EAAoC;QAAA,iEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QApDA,0DAAgD;QAAhD,wHAAgD;QAE5D,0DAAkB;QAAlB,gFAAkB;QA0Cf,0DAAkB;QAAlB,gFAAkB;;6FD9BjB,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;;sBAqBI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AElC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACQ;AACI;AAEvC;;;;;;;;;;ICCO,wEAAa;;;IAI/B,sFACA;IAAA,uDACA;IAAA,4DAAkB;;;IAF8C,sFAAwB;IACxF,0DACA;IADA,mGACA;;;;IAaA,sFACA;IAD6E,kYAA8B;IAC3G,uDACA;IAAA,4DAAkB;;;IAFqC,mFAAqB;IAC5E,0DACA;IADA,8FACA;;;IAcI,sFACA;IAAA,uDACA;IAAA,4DAAkB;;;IAF6C,uFAAyB;IACxF,0DACA;IADA,kGACA;;AD7BjB,MAAM,eAAe;IAqB1B,YACU,YAAyB,EACD,IAAI,EAC7B,MAAiB,EAChB,cAA8B;QAH9B,iBAAY,GAAZ,YAAY,CAAa;QACD,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAvBxC,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAMH,iBAAY,GAAG,IAAI,CAAC;QACpB,qBAAgB,GAAG,IAAI,CAAC;IAOpB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC7C,UAAU,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACtC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC5C,SAAS,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,YAAY;QACV,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;aAC/B,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;gBAC/C,OAAO,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;aAClC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,GAAG,EAAE,EAAE;gBAClE,OAAO;oBACL,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,GAAG;YACT,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS;YAC5C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS;SAClD;QAED,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;aACvC,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,iCAAiC;aACzC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,2BAA2B;aACnC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;;8EA5FU,eAAe,+LAuBhB,wEAAe;+FAvBd,eAAe;QCb5B,wEAAqB;QAAA,uFAAuB;QAAA,4DAAK;QACjD,wFACI;QAAA,+FACI;QAAA,8EACA;QAAA,0EACI;QAAA,2HAA0B;QAC1B,oEAAG;QAAA,4FAAiC;QAAA,4DAAI;QACxC,0EACI;QAAA,yFACI;QAAA,qIACA;QAEJ,4DAAqB;QACzB,4DAAM;QACN,uEACI;QAAA,8EAAkC;QAAA,qEAAS;QAAA,4DAAS;QACxD,4DAAM;QACV,4DAAO;QACP,4DAAW;QACX,gFACA;QAAA,2EACI;QAAA,qEAAG;QAAA,yFAA6B;QAAA,4DAAI;QACpC,0EACI;QAAA,0FACI;QAAA,sIACA;QAEJ,4DAAqB;QACzB,4DAAM;QACN,uEACI;QAAA,8EAAsC;QAAA,oEAAQ;QAAA,4DAAS;QACvD,8EAAkC;QAAA,qEAAS;QAAA,4DAAS;QACxD,4DAAM;QACV,4DAAO;QACP,4DAAW;QACX,gFACI;QAAA,2EACI;QAAA,qEAAG;QAAA,0FAA8B;QAAA,4DAAI;QACrC,0EACI;QAAA,0FACI;QAAA,qIACA;QAEJ,4DAAqB;QACzB,4DAAM;QACN,uEACI;QAAA,8EAAsC;QAAA,oEAAQ;QAAA,4DAAS;QACvD,8EAII;QADA,wIAAS,sBAAkB,IAAC;QAC5B,qEACJ;QAAA,4DAAS;QACb,4DAAM;QACV,4DAAO;QACX,4DAAW;QAEf,4DAAyB;QAC7B,4DAAqB;QACrB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACvD,4DAAqB;;QA3DO,0DAAe;QAAf,wEAAe;QACzB,0DAA8B;QAA9B,2FAA8B;QAClC,0DAA4B;QAA5B,yFAA4B;QAKL,0DAA8C;QAA9C,2FAA8C;QAUjE,0DAA+B;QAA/B,4FAA+B;QACnC,0DAA6B;QAA7B,0FAA6B;QAGsB,0DAAkB;QAAlB,2EAAkB;QAC9C,0DAAqC;QAArC,qFAAqC;QAWxD,0DAA8B;QAA9B,2FAA8B;QAC9B,0DAA4B;QAA5B,yFAA4B;QAIL,0DAA6C;QAA7C,yFAA6C;QAQ9D,0DAA4G;QAA5G,2LAA4G;;6FDnCvH,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;sBAwBI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEpC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACyB;AAEb;AAEvC;;;;;;;;;;;;;ICAvB,4EACI;IAAA,mEAAO;IAAA,yEAAQ;IAAA,oEAAS;IAAA,4DAAS;IACrC,4DAAY;;;IAOZ,4EACI;IAAA,8FACJ;IAAA,4DAAY;;;IACZ,4EACI;IAAA,qEAAS;IAAA,yEAAQ;IAAA,oEAAS;IAAA,4DAAS;IACvC,4DAAY;;;IASZ,4EACI;IAAA,4EAAW;IAAA,yEAAQ;IAAA,oEAAS;IAAA,4DAAS;IACzC,4DAAY;;;IAMR,iFACE;IAAA,uDACF;IAAA,4DAAa;;;IAF+B,mFAAqB;IAC/D,0DACF;IADE,gGACF;;;IAEJ,4EACI;IAAA,kEAAM;IAAA,yEAAQ;IAAA,oEAAS;IAAA,4DAAS;IACpC,4DAAY;;;;IAKhB,6EAI8B;IAA1B,uUAAyB;IAAC,kEAAO;IAAA,4DAAS;;;IAD1C,4PAAiJ;;;;IAEjJ,6EAI0B;IAA1B,uUAAyB;IAAC,kEAAO;IAAA,4DAAS;;;IAD1C,4PAAiJ;;AD9CzJ,kEAAkE;AAC3D,MAAM,mBAAmB;IAC9B,YAAY,CAAC,OAA2B,EAAE,IAAwC;QAChF,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC;QAC3C,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC;IAC7F,CAAC;CACF;AAOM,MAAM,qBAAqB;IAkChC,YACkC,IAAI,EAC7B,MAAiB,EAChB,cAA8B;QAFN,SAAI,GAAJ,IAAI;QAC7B,WAAM,GAAN,MAAM,CAAW;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAnCxC,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,SAAI,GAAG,IAAI,CAAC;QACZ,UAAK,GAAG,IAAI,CAAC;QAEb,qBAAgB,GAAG,IAAI,0DAAW,CAAC,EAAE,EAAE;YACrC,yDAAU,CAAC,QAAQ;YACnB,yDAAU,CAAC,KAAK;SACjB,CAAC,CAAC;QAEH,oBAAe,GAAG,IAAI,0DAAW,CAAC,EAAE,EAAE;YACpC,yDAAU,CAAC,QAAQ;SACpB,CAAC,CAAC;QACH,oBAAe,GAAG,IAAI,0DAAW,CAAC,EAAE,EAAE;YACpC,yDAAU,CAAC,QAAQ;SACpB,CAAC,CAAC;QACH,qBAAgB,GAAG,IAAI,0DAAW,CAAC,EAAE,EAAE;YACrC,yDAAU,CAAC,QAAQ;SACpB,CAAC,CAAC;QACH,YAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAEpC,cAAS,GAAG,IAAI,CAAC;IAKb,CAAC;IAEL,QAAQ;QACN,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAE,CAAC,EAAC;YACpB,IAAI,CAAC,SAAS,GAAG;gBACf,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC;gBACpC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAC;gBACnC,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAC;aACvC,CAAC;SACH;aAAK,IAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAE,CAAC,EAAC;YAC1B,IAAI,CAAC,SAAS,GAAG;gBACf,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC;aACrC,CAAC;SACH;QAED,IAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAE,QAAQ,EAAC;YAC5B,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzD;aAAI;YACH,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;SAC9B;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,GAAG;YACT,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YAClC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;YAClC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACpC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;SACnC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;aACtC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,8BAA8B;aACtC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CACP,sGAAsG,EACtG,EAAE,EACF,MAAM,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,IAAI,IAAI,GAAG;YACT,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YAClC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;YAClC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACpC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;SACnC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;aACtC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,mCAAmC;aAC3C,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,kDAAI,CAAC,IAAI,CACP,2GAA2G,EAC3G,EAAE,EACF,MAAM,CACP,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;0FA7GU,qBAAqB,kEAmCtB,wEAAe;qGAnCd,qBAAqB;QCtBlC,wEAAqB;QAAA,uDAAW;QAAA,4DAAK;QACrC,wFACI;QAAA,oFACI;QAAA,4EAAW;QAAA,4EAAiB;QAAA,4DAAY;QACxC,sEACA;QAAA,6HACI;QAER,4DAAiB;QACjB,gEACA;QAAA,oFACI;QAAA,6EAAW;QAAA,iEAAK;QAAA,4DAAY;QAC5B,uEAEA;QAAA,+HACI;QAEJ,+HACI;QAER,4DAAiB;QACjB,iEACA;QAAA,qFACI;QAAA,6EAAW;QAAA,2EAAU;QAAA,4DAAY;QACjC,uEACA;QAAA,6EACI;QAD8B,sKAAsB;QACpD,4EAAU;QAAA,wDAA0C;QAAA,4DAAW;QACnE,4DAAS;QACT,+HACI;QAER,4DAAiB;QAEjB,qFACI;QAAA,6EAAW;QAAA,iEAAK;QAAA,4DAAY;QAC5B,iFACI;QAAA,iIACE;QAEJ,4DAAa;QACf,+HACI;QAER,4DAAiB;QACrB,4DAAqB;QACrB,0FACI;QAAA,8EAAoC;QAAA,kEAAM;QAAA,4DAAS;QACnD,0HAI8B;QAC1B,0HAI0B;QAClC,4DAAqB;;QAzDA,0DAAW;QAAX,0EAAW;QAIR,0DAA+B;QAA/B,4FAA+B;QACpC,0DAA4C;QAA5C,0GAA4C;QAO1B,0DAAgC;QAAhC,6FAAgC;QAElD,0DAAoF;QAApF,sJAAoF;QAGpF,0DAA6C;QAA7C,2GAA6C;QAOxC,0DAA+B;QAA/B,4FAA+B;QAEjC,0DAA0C;QAA1C,2GAA0C;QAE7C,0DAA4C;QAA5C,0GAA4C;QAO3C,0DAAgC;QAAhC,6FAAgC;QAC5B,0DAA+B;QAA/B,kFAA+B;QAIpC,0DAA6C;QAA7C,2GAA6C;QAQxD,0DAAkC;QAAlC,6FAAkC;QAKlC,0DAAkC;QAAlC,6FAAkC;;6FD/B7B,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;;sBAoCI,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEzD3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACc;AAEd;AAEc;;;AAEvD,MAAM,MAAM,GAAW;IACnB,oDAAK,CAAC,WAAW,CAAC;QACd,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,mEAAgB,EAAE;KACpD,CAAC;CACL,CAAC;AAOK,MAAM,oBAAoB;;mGAApB,oBAAoB;kKAApB,oBAAoB,mBAFlB,EAAE,YAFJ,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,4DAAY;mIAGb,oBAAoB,uFAHnB,4DAAY;6FAGb,oBAAoB;cALhC,sDAAQ;eAAC;gBACN,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,4DAAY,CAAC;gBACvB,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBiD;AACS;AAM5B;AAEyB;AAEwB;AACpB;AACW;;;;;;;;;;;;;;;;ICYnD,yEACI;IAAA,mFAKe;IALD,0VAAoC,IAAI,IAAC;IAKvD,4DAAe;IACnB,4DAAK;;;IALW,0DAAmD;IAAnD,8HAAmD;;;;IAMnE,yEACI;IAAA,mFAKe;IALD,oOAAS,wBAAwB,IAAC,wSACjB,mCAAsB,GAAE,IAAI,IADX;IAKhD,4DAAe;IACnB,4DAAK;;;;IAJW,0DAAqC;IAArC,4GAAqC;;;IASrD,yEAAuC;IAAA,mEAAO;IAAA,4DAAK;;;IACnD,yEAAwC;IAAA,uDAAmB;IAAA,4DAAK;;;IAAxB,0DAAmB;IAAnB,+FAAmB;;;IAK3D,yEAAuC;IAAA,kEAAM;IAAA,4DAAK;;;IAClD,yEAAwC;IAAA,uDAAkB;IAAA,4DAAK;;;IAAvB,0DAAkB;IAAlB,8FAAkB;;;IAKtD,yEAAuC;IAAA,kEAAM;IAAA,4DAAK;;;IAClD,yEAAwC;IAAA,uDAAuB;IAAA,4DAAK;;;IAA5B,0DAAuB;IAAvB,mGAAuB;;;IAK/D,oEAA2C;;;;IAMnC,6EAII;IADA,0bAAiC;IACjC,2EAAU;IAAA,qEAAU;IAAA,4DAAW;IAC/B,uEAAM;IAAA,wEAAa;IAAA,4DAAO;IAC9B,4DAAS;;;;IAXjB,yEACI;IAAA,6EACI;IAAA,2EAAU;IAAA,oEAAS;IAAA,4DAAW;IAClC,4DAAS;IACT,qFACI;IAAA,gIAII;IAGJ,6EAGI;IADA,0XAAoC;IACpC,2EAAU;IAAA,+DAAI;IAAA,4DAAW;IACzB,wEAAM;IAAA,0EAAc;IAAA,4DAAO;IAC/B,4DAAS;IACT,8EAGI;IADA,uXAAgC;IAChC,4EAAU;IAAA,yEAAa;IAAA,4DAAW;IAClC,wEAAM;IAAA,4EAAgB;IAAA,4DAAO;IACjC,4DAAS;IACb,4DAAW;IACf,4DAAK;;;;IAxBuB,0DAA0B;IAA1B,oFAA0B;IAK1C,0DAAwB;IAAxB,yFAAwB;;;IAsBxC,oEAA4D;;;IAC5D,oEACK;;;IA1Eb,yEACI;IAAA,4EAEI;IACA,4EACA;IAAA,kHACI;IAOJ,kHACI;IAOJ,qEAAe;IAGf,4EACA;IAAA,kHAAuC;IACvC,kHAAwC;IACxC,qEAAe;IAGf,4EACA;IAAA,kHAAuC;IACvC,oHAAwC;IACxC,qEAAe;IAGf,6EACI;IAAA,oHAAuC;IACvC,oHAAwC;IAC5C,qEAAe;IAGf,6EACI;IAAA,oHAAsC;IACtC,qHACI;IAyBR,qEAAe;IAEf,oHAAuD;IACvD,oHACA;IACJ,4DAAQ;IACZ,4DAAM;;;IA3Ee,0DAAyB;IAAzB,2FAAyB;IAuEnB,2DAAmC;IAAnC,sGAAmC;IAC1C,0DAAgD;IAAhD,uGAAgD;;ADzEzE,MAAM,gBAAgB;IAwB3B,YACU,cAA8B,EAC/B,MAAiB,EAChB,IAAiB,EACjB,MAAc;QAHd,mBAAc,GAAd,cAAc,CAAgB;QAC/B,WAAM,GAAN,MAAM,CAAW;QAChB,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAQ;QA1BxB,UAAK,GAAG,kDAAI,CAAC,KAAK,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,SAAS;YACnB,iBAAiB,EAAE,KAAK;YACxB,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE;gBACrB,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,SAAS,CAAC;gBACpD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,kDAAI,CAAC,WAAW,CAAC;YACxD,CAAC;SACF,CAAC,CAAC;QAEH,gBAAW,GAAG,IAAI,CAAC;QAEnB,qBAAgB,GAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5E,cAAS,GAAG,IAAI,uEAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,eAAU,GAAG,IAAI,CAAC;QAElB,gBAAW,GAAG,IAAI,CAAC;QACnB,sBAAiB,GAAG,IAAI,CAAC;IAQrB,CAAC;IAEC,QAAQ;;YACZ,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;KAAA;IAED,iCAAiC;IAC3B,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;iBACvB,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;IAED,gFAAgF;IAChF,aAAa;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,OAAO,WAAW,KAAK,OAAO,CAAC;IACjC,CAAC;IAED,gFAAgF;IAChF,YAAY;QACV,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,mDAAmD;IACnD,aAAa,CAAC,GAAS;QACrB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC;SAC9D;QACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,+CAA+C;IACzC,WAAW;;YACf,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;iBAC9B,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,EAAE;oBAC9C,OAAO;wBACL,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACd,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjB,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvB;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACjC,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE;wBACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACtC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7D,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YACpB,CAAC,CACF,CAAC;QACJ,CAAC;KAAA;IAED,2CAA2C;IAC3C,iBAAiB;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4FAAqB,EAAE;YACxD,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC1D,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,iBAAiB,CAAC,OAAY;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4FAAqB,EAAE;YACxD,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC5E,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,aAAa,CAAC,OAAY;QACxB,kDAAI,CAAC,IAAI,CAAC;YACR,KAAK,EAAE,wCAAwC,OAAO,CAAC,MAAM,GAAG;YAChE,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,kBAAkB,EAAE,SAAS;YAC7B,iBAAiB,EAAE,MAAM;YACzB,iBAAiB,EAAE,gBAAgB;YACnC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBAEtB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;qBAC1C,SAAS,CAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,iCAAiC;qBACzC,CAAC,CAAC;oBACH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,2BAA2B;qBACnC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,iBAAiB;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wEAAe,EAAE;YAClD,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,cAAc,CAAC,OAAY;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mFAAkB,EAAE;YACrD,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;;gFA1KU,gBAAgB;gGAAhB,gBAAgB;QCpB7B,2FACI;QAAA,oFACI;QAAA,+EACI;QAAA,yEACI;QAAA,uEAIC;QADG,mIAAS,uBAAmB,IAAC;QAChC,8EAAuB;QAAA,oEAAS;QAAA,4DAAW;QAAA,2EAAgB;QAAA,4DAAI;QAChE,uEAIC;QADG,mIAAS,uBAAmB,IAAC;QAChC,+EAAuB;QAAA,sEAAU;QAAA,4DAAW;QAAA,yEAAa;QAAA,4DAAI;QAClE,4DAAM;QACV,4DAAe;QACnB,4DAAc;QACd,uFACI;QAAA,0EACI;QAAA,sEAAI;QAAA,2EAA6B;QAAA,kEAAM;QAAA,4DAAO;QAAA,oEAAQ;QAAA,4DAAK;QAC3D,+GACI;QA4ER,4DAAM;QACV,4DAAsB;QAC1B,4DAAwB;;QA/EP,2DAAkB;QAAlB,gFAAkB;;6FDAtB,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;aACxC;;;;;;;;;;;;;;AEnBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACmB;AACR;AAEH;AACI;AACK;AACT;AACyB;AACpB;AACW;;AAsBhE,MAAM,aAAa;;4FAAb,aAAa;oJAAb,aAAa,mBAFX,EAAE,YAhBJ;YACL,4DAAY;YACZ,+DAAc;YACd,4EAAoB;YACpB,0DAAW;YACX,kEAAmB;YACnB,wEAAoB;YACpB,uEAAa;SAChB;mIAUQ,aAAa,mBAPlB,mEAAgB;QAChB,4FAAqB;QACrB,wEAAe;QACf,oFAAkB,aAblB,4DAAY;QACZ,+DAAc;QACd,4EAAoB;QACpB,0DAAW;QACX,kEAAmB;QACnB,wEAAoB;QACpB,uEAAa;6FAWR,aAAa;cAnBzB,sDAAQ;eAAC;gBACN,OAAO,EAAE;oBACL,4DAAY;oBACZ,+DAAc;oBACd,4EAAoB;oBACpB,0DAAW;oBACX,kEAAmB;oBACnB,wEAAoB;oBACpB,uEAAa;iBAChB;gBACD,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE;oBACV,mEAAgB;oBAChB,4FAAqB;oBACrB,wEAAe;oBACf,oFAAkB;iBACrB;gBACD,SAAS,EAAE,EAAE;aAChB;;;;;;;;;;;;;;AChCD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;;;AAKxC,MAAM,cAAc;IAGzB,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF1B,QAAG,GAAG,4DAAW,CAAC;IAGd,CAAC;IAEL,qCAAqC;IACrC,WAAW;QACT,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,mCAAmC;IACnC,aAAa,CAAC,IAAS;QACrB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,wCAAwC;IACxC,aAAa,CAAC,IAAS;QACrB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,UAAU,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,uCAAuC;IACvC,aAAa,CAAC,OAAO;QACnB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,YAAY,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,qCAAqC;IACrC,YAAY;QACV,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,yCAAyC;IACzC,OAAO,CAAC,QAAgB;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,iBAAiB,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,mCAAmC;IACnC,gBAAgB,CAAC,IAAS;QACxB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,aAAa,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,oCAAoC;IACpC,cAAc,CAAC,OAAY;QACzB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,uBAAuB,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,oCAAoC;IACpC,gBAAgB,CAAC,EAAO;QACtB,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,eAAe,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;;4EA/FU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;6FAEP,cAAc;cAH1B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;AAO3C,MAAM,eAAe;IAE1B;IAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;8EALU,eAAe;+FAAf,eAAe;QCP5B,iFACI;QAAA,kFACI;QAAA,uEAAM;QAAA,iEAAM;QAAA,4DAAO;QACnB,qEAAoC;QACpC,4EACA;QAAA,2EAAU;QAAA,gEAAK;QAAA,4DAAW;QAC1B,4DAAS;QACb,4DAAkB;QACtB,4DAAc;;6FDDD,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACoB;AAEhB;AAGV;;;AAK9B,MAAM,WAAW;IAItB,YACU,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAH1B,QAAG,GAAG,4DAAW,CAAC;QAClB,cAAS,GAAW,EAAE,CAAC;IAGnB,CAAC;IAEL,KAAK,CAAE,OAAqB;QAE1B,MAAM,QAAQ,qBACT,OAAO,CACX,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,OAAO,EACxB,QAAQ,CACT,CAAC,IAAI,CACJ,0DAAG,CAAE,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,OAAe;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SAClD;aAAI;YACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,UAAU;QACR,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,cAAc;QACZ,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;YAC9B,eAAe,EAAE,OAAO;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9D,CAAC;;sEA1DU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;6FAEP,WAAW;cAHvB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACVD;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,GAAG,EAAE,0BAA0B;IAC/B,kCAAkC;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;ACjBnE;AAAA;AAAA;AAAA;AAAA;AAA+C;AAIU;;;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,2EAAwB,gBAAgB,CAAC,0DAAU;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACXpC,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\n\nimport { LoginComponent } from './login/login.component';\nimport { PublicComponent } from './public/public.component';\n\n\nconst routes: Routes = [\n { path: 'welcome', component: PublicComponent },\n { path: 'login', component: LoginComponent },\n { path: '', pathMatch: 'full', redirectTo: '/welcome' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n preloadingStrategy: PreloadAllModules\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'ProCod';\n}\n","","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { MaterialModule } from './material.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\n\r\nimport { PagesModule } from './pages/pages.module';\r\nimport { ProyectoModule } from './pages/proyecto/proyecto.module';\r\nimport { UsuarioModule } from './pages/usuario/usuario.module';\r\nimport { ConexionModule } from './pages/conexion/conexion.module';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { PublicComponent } from './public/public.component';\r\nimport { AnalyticsModule } from './pages/analytics/analytics.module';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n PublicComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n FormsModule,\r\n HttpClientModule,\r\n PagesModule,\r\n ProyectoModule,\r\n UsuarioModule,\r\n ConexionModule,\r\n AnalyticsModule,\r\n NgApexchartsModule,\r\n AppRoutingModule,\r\n ],\r\n providers: [],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\n\nimport { AuthService } from '../service/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(\n private auth: AuthService,\n private router: Router\n ){}\n \n canActivate(): boolean {\n if (this.auth.statusAuth()) {\n return true;\n }else{\n this.router.navigateByUrl('/welcome');\n return false;\n }\n \n }\n \n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { UsuarioModel } from '../models/usuario.model';\r\nimport { AuthService } from '../service/auth.service';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n usuario: UsuarioModel = new UsuarioModel();\r\n remember = false;\r\n constructor(\r\n private auth: AuthService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (localStorage.getItem('email')) {\r\n this.usuario.email = localStorage.getItem('email');\r\n this.remember = true;\r\n }\r\n }\r\n\r\n login( form: NgForm){\r\n if(form.invalid){\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Espere ...',\r\n allowOutsideClick: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n\r\n this.auth.login(this.usuario)\r\n .subscribe((data) => {\r\n Swal.close();\r\n if (this.remember) {\r\n localStorage.setItem('email', this.usuario.email);\r\n }\r\n if (data['level']==5) {\r\n this.router.navigateByUrl('/analytics');\r\n } else {\r\n this.router.navigateByUrl('/proyectos'); \r\n }\r\n }, (err) => {\r\n\r\n console.log(err)\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error de autenticación',\r\n text: '¡Intente nuevamente!'\r\n });\r\n\r\n });\r\n }\r\n\r\n}\r\n","\n \n \n

Procod

\n

Iniciar sesión

\n\n El email es obligatorio\n \n\n El password es obligatorio\n \n\n
\n \n
\n\n \n

© Procod

\n\n\n","import {NgModule} from '@angular/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n\r\nimport {A11yModule} from '@angular/cdk/a11y';\r\nimport {BidiModule} from '@angular/cdk/bidi';\r\nimport {ObserversModule} from '@angular/cdk/observers';\r\nimport {OverlayModule} from '@angular/cdk/overlay';\r\nimport {PlatformModule} from '@angular/cdk/platform';\r\nimport {PortalModule} from '@angular/cdk/portal';\r\nimport {CdkStepperModule} from '@angular/cdk/stepper';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {CdkTreeModule} from '@angular/cdk/tree';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\n\r\n/**\r\n * NgModule that includes all Material modules.\r\n*/\r\n@NgModule({\r\n exports: [\r\n // CDK\r\n A11yModule,\r\n BidiModule,\r\n ObserversModule,\r\n OverlayModule,\r\n PlatformModule,\r\n PortalModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n // Material\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n ]\r\n})\r\nexport class MaterialModule {}","export class UsuarioModel {\r\n email: string;\r\n password: string;\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nimport { AnalyticsComponent } from './analytics.component';\r\n\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'analytics', component: AnalyticsComponent }\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class AnalyticsRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { AnalyticsService } from './analytics.service';\r\n\r\nimport { CargarComponent } from './cargar/cargar.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-analytics',\r\n templateUrl: './analytics.component.html',\r\n styleUrls: ['./analytics.component.scss']\r\n})\r\nexport class AnalyticsComponent implements OnInit {\r\n\r\n dataSource = null;\r\n camposList = [];\r\n datosList = [];\r\n \r\n opened: boolean = true; \r\n\r\n procesos = [];\r\n carga = null;\r\n isType = {};\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private analyticsService: AnalyticsService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ///////////////////////Carga de datos\r\n readDatos(body: any){\r\n Swal.fire({\r\n title: 'Cargando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n this.analyticsService.readDatos(body)\r\n .subscribe( (data) => {\r\n console.log(data);\r\n this.camposList = data['campos'];\r\n this.datosList = data['resultado'];\r\n this.camposList.forEach(element => {\r\n this.isType[element] = 0;\r\n });\r\n this.dataSource = new MatTableDataSource(this.datosList);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n openDialogCarga(){\r\n const dialogRef = this.dialog.open(CargarComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: {}\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.carga = result;\r\n this.readDatos(this.carga);\r\n console.log(this.carga);\r\n });\r\n }\r\n\r\n async openDialogRecodificar(column: String){\r\n const { value: text } = await Swal.fire({\r\n input: 'textarea',\r\n title: `Recodificación de variable ${column}`,\r\n html: `Nota: Escriba los valores entre comillas, si la columna es de texto`,\r\n inputValue: 'valor_actual_1: valor_nuevo_1, valor_actual_2: valor_nuevo_2, valor_actual_3: valor_nuevo_3',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33'\r\n })\r\n \r\n if (text) {\r\n Swal.fire({\r\n title: 'Cargando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let valores = String(text);\r\n let salto = valores.search('\\n');\r\n while (salto > 0) {\r\n valores = valores.replace('\\n','')\r\n salto = valores.search('\\n');\r\n }\r\n let valoresList = valores.split(',');\r\n\r\n this.procesos.push({ 'proceso': 'recode', 'config': [column, valoresList] });\r\n this.carga['procesos'] = this.procesos;\r\n this.dataSource = null;\r\n this.analyticsService.procesos(this.carga).subscribe( \r\n (data) => {\r\n console.log(data);\r\n this.camposList = data['campos'];\r\n this.datosList = data['resultado'];\r\n this.dataSource = new MatTableDataSource(this.datosList);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n });\r\n console.log(this.procesos);\r\n }\r\n }\r\n\r\n async openDialogTipoVar(column: String){\r\n const { value: tipo } = await Swal.fire({\r\n title: 'Tipo de variable',\r\n input: 'select',\r\n inputOptions: {\r\n 'int': 'INT (Entero)',\r\n 'float': 'Float (Flotante)',\r\n 'str': 'String (cadena)'\r\n },\r\n inputPlaceholder: 'Selecciona tipo de variable',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n inputValidator: (value) => {\r\n return new Promise((resolve) => {\r\n if (!value) {\r\n resolve('Campo requerido'); \r\n }else{\r\n resolve('')\r\n }\r\n })\r\n }\r\n })\r\n \r\n if (tipo) {\r\n this.procesos.push({ 'proceso': 'convert_type', 'config': [column, tipo] });\r\n this.isType[String(column)] = 1;\r\n Swal.close();\r\n }\r\n \r\n }\r\n\r\n\r\n}\r\n","\r\n \r\n \r\n chevron_right\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n

query_statsAnalytics

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
{{column}}\r\n \r\n \r\n \r\n workspaces\r\n Tipo de variable\r\n \r\n \r\n hdr_weak\r\n Recodificar columna\r\n \r\n \r\n
\r\n
\r\n {{ element[column] }}\r\n
\r\n
\r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { AnalyticsRoutingModule } from './analytics-routing.module';\r\n\r\nimport { AnalyticsComponent } from './analytics.component';\r\nimport { CargarComponent } from './cargar/cargar.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n AnalyticsRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n BrowserModule,\r\n NgApexchartsModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n AnalyticsComponent,\r\n CargarComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class AnalyticsModule { }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnalyticsService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n \r\n ///////////////////////Busca conexiones\r\n readConexion(){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/conexion`, { headers });\r\n }\r\n\r\n ///////////////////////Busca tablas de DB\r\n readTablas(conexion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca campos de tabla de DB \r\n readCamposTabla(conexion: number, tabla: String){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}/${tabla}`, { headers });\r\n }\r\n\r\n ///////////////////////Carga de datos DB\r\n readDatos(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/analytics/datos`, body, { headers });\r\n }\r\n\r\n ///////////////////////Procesamiento de datos\r\n procesos(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/analytics/procesos`, body, { headers });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { AnalyticsService } from '../analytics.service';\r\n\r\n@Component({\r\n selector: 'app-cargar',\r\n templateUrl: './cargar.component.html',\r\n styleUrls: ['./cargar.component.scss']\r\n})\r\nexport class CargarComponent implements OnInit {\r\n\r\n firstFormGroup: FormGroup;\r\n conexionList = [];\r\n tablasList = [];\r\n camposTablaList = [];\r\n\r\n configTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona tabla',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n configCamposTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n moreText: 'más',\r\n placeholder:'Selecciona campos',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private _formBuilder: FormBuilder,\r\n private analyticsService: AnalyticsService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readConexion();\r\n this.firstFormGroup = this._formBuilder.group({\r\n firstCtrl1: ['', Validators.required],\r\n firstCtrl2: ['', Validators.required]\r\n });\r\n }\r\n\r\n /////////////Busca conexiones\r\n readConexion(){\r\n this.analyticsService.readConexion()\r\n .subscribe( (data) => {\r\n this.conexionList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i][0], \r\n viewValue: data[i][1]\r\n }\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca tablas\r\n readTablas(){\r\n Swal.fire({\r\n title: 'Cargando tablas ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n this.analyticsService.readTablas(conexion)\r\n .subscribe( (data) => {\r\n this.tablasList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca campos de tabla\r\n readCamposTabla(){\r\n Swal.fire({\r\n title: 'Cargando campos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let tabla = this.firstFormGroup.value.firstCtrl3.value;\r\n this.analyticsService.readCamposTabla(conexion, tabla)\r\n .subscribe( (data) => {\r\n this.camposTablaList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n this.camposTablaList = [{value: 'Todos', description: 'Todos'}, ...this.camposTablaList]\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n selectOption(event: any){\r\n if (event == 1) {\r\n this.firstFormGroup.removeControl('firstCtrl5');\r\n this.firstFormGroup.addControl('firstCtrl3', new FormControl('', Validators.required));\r\n this.firstFormGroup.addControl('firstCtrl4', new FormControl('', Validators.required));\r\n this.readTablas();\r\n } else {\r\n this.firstFormGroup.removeControl('firstCtrl3');\r\n this.firstFormGroup.removeControl('firstCtrl4');\r\n this.firstFormGroup.addControl('firstCtrl5', new FormControl('', Validators.required));\r\n }\r\n }\r\n\r\n closeCarga(){\r\n let conexion = this.firstFormGroup.value.firstCtrl1;\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let body = null;\r\n if (opcion == 1) {\r\n let tabla = this.firstFormGroup.value.firstCtrl3;\r\n let campos = this.firstFormGroup.value.firstCtrl4;\r\n body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n tabla: tabla,\r\n campos: campos,\r\n consulta: null\r\n };\r\n } else {\r\n let consulta = this.firstFormGroup.value.firstCtrl5;\r\n body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n tabla: null,\r\n campos: null,\r\n consulta: consulta\r\n };\r\n }\r\n this.dialogRef.close(body);\r\n }\r\n\r\n}\r\n","

Carga de datos

\r\n\r\n

Asistente para carga de base de datos.

\r\n
\r\n Conexión\r\n

Selecciona conexión.

\r\n \r\n Conexión\r\n \r\n \r\n {{conexion.viewValue}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Agregar tabla\r\n Crear consulta SQL\r\n \r\n
\r\n
\r\n \r\n

Información de tabla.

\r\n Tabla a cargar:\r\n \r\n \r\n
\r\n Campos a cargar:\r\n \r\n \r\n \r\n
\r\n
\r\n

Consulta SQL

\r\n \r\n SQL\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConexionService } from '../conexion.service';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-conexion-nueva',\r\n templateUrl: './conexion-nueva.component.html',\r\n styleUrls: ['./conexion-nueva.component.scss']\r\n})\r\nexport class ConexionNuevaComponent implements OnInit {\r\n\r\n manejadorList = [\r\n {value: 'MySQL', viewValue: 'MySQL'}, \r\n {value: 'PostgreSQL', viewValue: 'PostgreSQL'}\r\n ];\r\n alias = null;\r\n sistemadb = null;\r\n host = null;\r\n db = null;\r\n usuario = null;\r\n password = null;\r\n puerto = null;\r\n\r\n isconexion = false;\r\n\r\n conexionList = [];\r\n\r\n constructor(\r\n public conexionService: ConexionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ///////////////Prueba de conexion\r\n testConexion(){\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Probando conexión',\r\n allowOutsideClick: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n\r\n let body = {\r\n alias: this.alias,\r\n sistema: this.sistemadb,\r\n host: this.host,\r\n db: this.db,\r\n usuario: this.usuario,\r\n password: this.password,\r\n port: this.puerto\r\n };\r\n\r\n this.conexionService.testConexion(body)\r\n .subscribe( (data) => {\r\n if (data) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Conexión exitosa',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n this.isconexion = true;\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error de conexión, revise la información.',\r\n })\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Revise su conexión a internet.',\r\n })\r\n }\r\n );\r\n \r\n }\r\n\r\n //////////Crear conexion\r\n createConexion(){\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Creando conexión',\r\n allowOutsideClick: false,\r\n onBeforeOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n\r\n let body = {\r\n alias: this.alias,\r\n sistema: this.sistemadb,\r\n host: this.host,\r\n db: this.db,\r\n usuario: this.usuario,\r\n password: this.password,\r\n port: this.puerto\r\n };\r\n\r\n this.conexionService.createConexion(body)\r\n .subscribe( (data) => {\r\n if (data) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Conexión creada correctamente',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n this.isconexion = true;\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al crear conexión, revise la información.',\r\n })\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Revise su conexión a internet.',\r\n })\r\n }\r\n );\r\n }\r\n\r\n\r\n ///////////////Puerto predeterminado de manejador BD\r\n change(event: any){\r\n switch (event.value) {\r\n case 'MySQL':\r\n this.puerto = '3306';\r\n break;\r\n \r\n case 'PostgreSQL':\r\n this.puerto = '5432';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n}\r\n","

Crear conexión

\r\n\r\n

Asistente para conexión a base de datos externa.

\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Escriba un alias que identifique la conexión:

\r\n \r\n Alias\r\n \r\n Alias requerido\r\n \r\n \r\n
 \r\n

Selecciona el sistema de gestión de base de datos:

\r\n \r\n Sistema\r\n \r\n \r\n {{manejador.viewValue}}\r\n \r\n \r\n Sistema requerido\r\n \r\n
\r\n

Escriba la dirección del host de la base de datos:

\r\n \r\n Host\r\n \r\n Host requerido\r\n \r\n \r\n
 \r\n

Escriba el nombre de la base de datos:

\r\n \r\n Base de datos\r\n \r\n Base de datos requerida\r\n \r\n \r\n
\r\n

Escriba el nombre de usuario:

\r\n \r\n Usuario\r\n \r\n Usuario requerido\r\n \r\n \r\n
 \r\n

Escriba la contraseña:

\r\n \r\n Contraseña\r\n \r\n Contraseña requerida\r\n \r\n \r\n
   
\r\n

Escriba el puerto:

\r\n \r\n Puerto\r\n \r\n Puerto requerido\r\n \r\n \r\n
 \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nimport { ConexionComponent } from './conexion.component';\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'conexiones', component: ConexionComponent }\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class ConexionRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { ConexionNuevaComponent } from './conexion-nueva/conexion-nueva.component';\r\n\r\nimport { ConexionService } from './conexion.service';\r\n\r\n@Component({\r\n selector: 'app-conexion',\r\n templateUrl: './conexion.component.html',\r\n styleUrls: ['./conexion.component.scss']\r\n})\r\nexport class ConexionComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n dataSource = null;\r\n conexionList = [];\r\n displayedColumns = ['alias', 'menu'];\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private conexionService:ConexionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readConexion();\r\n }\r\n\r\n /////////////Busca conexiones\r\n readConexion(){\r\n this.conexionService.readConexion()\r\n .subscribe( (data) => {\r\n this.conexionList = Object.keys(data).map( (i) => {\r\n return {\r\n id: data[i][0], \r\n alias: data[i][1]\r\n }\r\n });\r\n this.dataSource = new MatTableDataSource(this.conexionList);\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n ////////////Edita conexion\r\n updateConexion(id: number){\r\n\r\n }\r\n\r\n ////////////Elimina conexion\r\n deleteConexion(row: any){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar la conexión?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n \r\n this.conexionService.deleteConexion(row.id)\r\n .subscribe( (data) => {\r\n if (data) {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Conexión eliminada correctamente'\r\n });\r\n this.readConexion(); \r\n } else {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al eliminar conexión'\r\n }); \r\n }\r\n \r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al eliminar conexión'\r\n });\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////Lleva a vista de importacion de datos\r\n openDialogConexion(){\r\n const dialogRef = this.dialog.open(ConexionNuevaComponent, {\r\n width: '100%',\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readConexion();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

electrical_servicesConexiones

\r\n

Conexiones a bases de datos externas.

\r\n \r\n add_circle_outline\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Alias {{element.alias}} \r\n \r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { ConexionRoutingModule } from './conexion-routing.module';\r\n\r\nimport { ConexionComponent } from './conexion.component';\r\nimport { ConexionNuevaComponent } from './conexion-nueva/conexion-nueva.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n ConexionRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n BrowserModule,\r\n NgApexchartsModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n ConexionComponent,\r\n ConexionNuevaComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class ConexionModule { }","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConexionService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n ///////////////////////Busca conexiones\r\n readConexion(){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/conexion`, { headers });\r\n }\r\n\r\n ///////////////////////Prueba de conexion\r\n testConexion(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/conexion/test`, body, { headers });\r\n }\r\n\r\n ///////////////////////Crear de conexion\r\n createConexion(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/conexion/create`, body, { headers });\r\n }\r\n\r\n ///////////////////////Eliminar de conexion\r\n deleteConexion(conexion: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.delete(`${ this.env.api }/conexion/${conexion}`, { headers });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { AuthService } from '../service/auth.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-pages',\r\n templateUrl: './pages.component.html',\r\n styleUrls: ['./pages.component.scss']\r\n})\r\nexport class PagesComponent implements OnInit {\r\n user: String;\r\n permissions = {};\r\n\r\n pages = [\r\n { label: 'Proyectos', path: '/proyectos', auth: 'proyecto' },\r\n { label: 'Usuarios', path: '/usuarios', auth: 'usuario' },\r\n { label: 'Analytics', path: '/analytics', auth: 'analytics' },\r\n { label: 'Conexiones', path: '/conexiones', auth: 'conexion' }\r\n ];\r\n\r\n constructor(\r\n private auth: AuthService,\r\n private router: Router\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.user = localStorage.getItem('email');\r\n await this.getPermissions();\r\n }\r\n\r\n logout(){\r\n this.auth.logout();\r\n this.router.navigateByUrl('/login');\r\n }\r\n\r\n async getPermissions(){\r\n this.auth.getPermissions()\r\n .subscribe( (data) => {\r\n this.permissions = data;\r\n },\r\n (error) => {\r\n this.router.navigateByUrl('/login');\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\n \n ProCod\n \n \n \n

Usuario: {{ user }}

\n
\n \n
\n
\n\n\n \n \n \n arrow_right {{ page.label }}\n \n \n \n \n \n \n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MaterialModule } from '@app/material.module';\r\nimport { PagesComponent } from './pages.component';\r\n\r\n@NgModule({\r\n imports: [\r\n MaterialModule,\r\n RouterModule,\r\n CommonModule\r\n ],\r\n exports: [],\r\n declarations: [PagesComponent],\r\n providers: [],\r\n})\r\nexport class PagesModule { }\r\n","import { Injectable } from '@angular/core';\nimport { Routes } from \"@angular/router\";\n\nimport { AuthGuard } from \"../guards/auth.guard\";\nimport { PagesComponent } from \"./pages.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Pages {\n static childRoutes(routes: Routes){\n return {\n path: '',\n component: PagesComponent,\n children: routes,\n canActivate: [AuthGuard],\n data: { reuse: true }\n };\n }\n}","import { Injectable } from '@angular/core';\nimport { Workbook } from 'exceljs';\nimport * as fs from 'file-saver';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AvanceExcelService {\n\n constructor() { }\n\n ///////////////////////Descarga de codificacion\n downloadAvance(body: any){\n const name = body.tipo == 'proyecto' ? body.proyecto : body.codificacion;\n const title = 'Avance: ' + name;\n let workbook = new Workbook();\n let worksheet = workbook.addWorksheet(name);\n // Add new row\n worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n let headerRow = worksheet.addRow(body.columns);\n for (let row of body.avance){\n let temp=[];\n for(let value of row){\n temp.push(value);\n }\n worksheet.addRow(temp);\n }\n\n headerRow.eachCell((cell, number) => {\n worksheet.getColumn(number).width = 20;\n cell.alignment = { horizontal: 'center' };\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n //#4d79ff\n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Avance - ${name}.xlsx`);\n });\n\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'app-avance-filtro',\n templateUrl: './avance-filtro.component.html',\n styleUrls: ['./avance-filtro.component.scss']\n})\nexport class AvanceFiltroComponent implements OnInit {\n\n fechaIniForm = new FormControl();\n fechaFinForm = new FormControl();\n control = null;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n ) { }\n\n ngOnInit(): void {\n }\n\n filtro(){\n let data = {\n control: this.control,\n fechaini: this.fechaIniForm.value ? (new Date(this.fechaIniForm.value)).toDateString() : null,\n fechafin: this.fechaFinForm.value ? (new Date(this.fechaFinForm.value)).toDateString() : null\n }\n this.dialogRef.close(data);\n }\n\n}\n","

Filtro de avance

\n\n
\n
\n

Esta opción te permite filtar por el valor de la variable de {{ data.control }}.

\n \n Campo {{ data.control }}\n \n \n
\n

Esta opción te permite filtar por rango de fecha.

\n \n Fecha inicio\n \n \n \n \n \n Fecha fin\n \n \n \n \n
\n \n
\n
\n
\n\n \n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { AvanceExcelService } from './avance-excel.service';\nimport { AvanceService } from './avance.service';\n\nimport { AvanceFiltroComponent } from './avance-filtro/avance-filtro.component';\n\n@Component({\n selector: 'app-avance',\n templateUrl: './avance.component.html',\n styleUrls: ['./avance.component.scss']\n})\nexport class AvanceComponent implements OnInit {\n\n chartOptions = null;\n chartOptionsPie = null;\n campos = null;\n avance = null;\n avancePie = null;\n\n chartOptionsSerie = null;\n \n titulo = null;\n\n constructor(\n public dialog: MatDialog,\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n private avanceService: AvanceService,\n private avanceExcelService: AvanceExcelService\n ) { }\n\n ngOnInit(): void {\n let body = null;\n if (this.data.tipo == 'proyecto') {\n this.titulo = this.data.proyectoName;\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n control: null,\n fechaini: null,\n fechafin: null\n };\n this.readAvanceProyecto(body);\n } else {\n this.titulo = this.data.codificacionName;\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n codificacion: this.data.codificacion,\n control: null,\n fechaini: null,\n fechafin: null\n };\n this.readAvanceCodificacion(body);\n }\n }\n\n ///////////Busca reporte de proyecto\n readAvanceProyecto(body: any){\n Swal.fire({\n title: 'Cargando avance...',\n allowOutsideClick: false,\n onOpen: () =>{\n Swal.showLoading();\n }\n });\n this.avanceService.readAvanceProyecto(body)\n .subscribe( (data) => {\n this.campos = data['avance']['campos'];\n this.avance = data['avance']['resultado'];\n this.chartOptions = {\n series: data['series'],\n chart: {\n type: \"bar\",\n height: 350,\n stacked: true,\n stackType: \"100%\"\n },\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'bottom',\n offsetX: -10,\n offsetY: 0\n }\n }\n }],\n plotOptions: {\n bar: {\n horizontal: false,\n }\n },\n dataLabels: {\n enabled: true,\n formatter: function (val) {\n return parseFloat(val).toFixed(1) + \"%\";\n }\n },\n stroke: {\n show: true,\n width: 2,\n colors: [\"transparent\"]\n },\n xaxis: {\n categories: data['categorias']\n },\n yaxis: {\n yaxis: {\n axisBorder: {\n show: false\n },\n axisTicks: {\n show: false,\n },\n labels: {\n show: false,\n formatter: function (val) {\n return parseFloat(val).toFixed(1) + \"%\";\n }\n }\n }\n },\n legend: {\n position: 'right',\n offsetY: 40\n },\n fill: {\n opacity: 1\n },\n };\n Swal.close();\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n ///////////Busca reporte de codificacion\n readAvanceCodificacion(body: any){\n Swal.fire({\n title: 'Cargando avance...',\n allowOutsideClick: false,\n onOpen: () =>{\n Swal.showLoading();\n }\n });\n this.avanceService.readAvanceCodificacion(body)\n .subscribe( (data) => {\n this.campos = data['avance']['campos'];\n this.avance = data['avance']['resultado'];\n let maxNumber = [];\n this.avance.forEach(element => {\n maxNumber.push(element[2]);\n maxNumber.push(element[3]);\n maxNumber.push(element[4]);\n maxNumber.push(element[5]);\n });\n console.log(maxNumber)\n this.avancePie = data['avance_pie'];\n\n this.chartOptionsSerie = {\n series: data['series'],\n chart: {\n height: 350,\n type: \"line\",\n dropShadow: {\n enabled: true,\n color: \"#000\",\n top: 18,\n left: 7,\n blur: 10,\n opacity: 0.2\n },\n toolbar: {\n show: false\n }\n },\n colors: [\"#33CC33\", \"#FFA31A\", \"#FF5050\"],\n dataLabels: {\n enabled: true\n },\n stroke: {\n curve: \"straight\"\n },\n title: {\n text: \"Estado de registros por día\",\n align: \"left\"\n },\n grid: {\n borderColor: \"#e7e7e7\",\n row: {\n colors: [\"#f3f3f3\", \"transparent\"], // takes an array which will be repeated on columns\n opacity: 0.5\n }\n },\n markers: {\n size: 1\n },\n xaxis: {\n categories: data['categorias'],\n title: {\n text: \"Día\"\n }\n },\n yaxis: {\n title: {\n text: \"Cantidad\"\n },\n min: 0,\n max: Math.max(...maxNumber) + 10\n },\n legend: {\n position: \"top\",\n horizontalAlign: \"right\",\n floating: true,\n offsetY: -25,\n offsetX: -5\n }\n };\n\n this.chartOptionsPie = {\n series: this.avancePie,\n chart: {\n type: \"donut\"\n },\n labels: [\"Sin usar\", \"Finalizado\", \"Pendiente\", \"No es posible completar\"],\n responsive: [\n {\n breakpoint: 480,\n options: {\n chart: {\n width: 70\n },\n legend: {\n position: \"bottom\"\n }\n }\n }\n ]\n };\n Swal.close();\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n downloadAvance(){\n let body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyectoName,\n codificacion: this.data.codificacionName,\n columns: this.campos,\n avance: this.avance\n };\n this.avanceExcelService.downloadAvance(body);\n }\n\n openDialogFiltro(){\n const dialogRef = this.dialog.open(AvanceFiltroComponent, {\n width: '50%',\n disableClose: true,\n data: {control: this.data.control}\n });\n dialogRef.afterClosed().subscribe(result => {\n let body = null;\n if(result){\n if (this.data.tipo == 'proyecto') {\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n control: result.control,\n fechaini: result.fechaini,\n fechafin: result.fechafin\n };\n this.readAvanceProyecto(body);\n } else {\n body = {\n tipo: this.data.tipo,\n proyecto: this.data.proyecto,\n codificacion: this.data.codificacion,\n control: result.control,\n fechaini: result.fechaini,\n fechafin: result.fechafin\n };\n this.readAvanceCodificacion(body);\n }\n }\n });\n }\n\n}\n","

Avance: {{ titulo }}

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

Avance general

\n \n
\n \n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AvanceService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n \n ///////////////////////Busca codificacion\n readAvanceProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/avance/proyecto`, body, { headers });\n }\n \n ///////////////////////Busca codificacion\n readAvanceCodificacion(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/avance/codificacion`, body, { headers });\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { AvanzadasService } from './avanzadas.service';\n\n@Component({\n selector: 'app-avanzadas',\n templateUrl: './avanzadas.component.html',\n styleUrls: ['./avanzadas.component.scss']\n})\nexport class AvanzadasComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n estado = null;\n registrosEstado = null;\n\n control = null;\n registrosControl = null;\n\n estadoList = [\n {value: 0, viewValue: 'Sin usar'},\n {value: 1, viewValue: 'Finalizado'},\n {value: 2, viewValue: 'Pendiente'},\n {value: 3, viewValue: 'No es posible completar'}\n ];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private avanzadasService: AvanzadasService\n ) { }\n\n ngOnInit(): void {\n }\n\n updateAvanzadas(variable: any){\n let body = null;\n if (variable == 'estado') {\n body = {\n variable: 'procod_' + variable,\n valor: this.estado,\n registros: this.registrosEstado,\n identificador: this.data.identificador,\n proyecto: this.data.proyecto\n };\n } else {\n body = {\n variable: variable,\n valor: this.control,\n registros: this.registrosControl,\n identificador: this.data.identificador,\n proyecto: this.data.proyecto\n };\n }\n Swal.fire({\n title: '¿Estas seguro de continuar con el cambio?',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, cambiar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.avanzadasService.updateAvanzadas(body)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'El cambio se realizó correctamente!'\n });\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al realizar el cambio, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n }\n\n}\n","

Opciones avanzadas

\n\n \n \n
\n

Esta opción te permite cambiar el estado de los registros del proyecto.

\n \n Estado\n \n {{estado.viewValue}}\n \n \n \n Registros\n \n \n \n
\n
\n \n
\n

Esta opción te permite cambiar el valor de la variable de {{ data.control }} de los registros del proyecto.

\n
\n \n Campo {{ data.control }}\n \n \n \n Registros\n \n \n \n
\n
\n
\n
\n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AvanzadasService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Edita opciones avanzadas\n updateAvanzadas(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/avanzadas`, body, { headers });\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-codificacion-filtro',\n templateUrl: './codificacion-filtro.component.html',\n styleUrls: ['./codificacion-filtro.component.scss']\n})\nexport class CodificacionFiltroComponent implements OnInit {\n\n controlValue = null;\n filtroValue = null;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n ) { }\n\n ngOnInit(): void {\n this.controlValue = this.data.controlValue;\n this.filtroValue = this.data.filtroValue;\n }\n\n filtro(){\n let body = {\n controlValue: this.controlValue,\n filtroValue: this.filtroValue\n };\n this.dialogRef.close(body);\n }\n\n}\n","

Filtro de registros

\n\n
\n \n Seleccionar {{ data.control }}\n \n \n
\n \n Seleccionar valor de campo\n \n \n {{ valor.texto }}\n \n \n \n
\n
\n\n \n \n","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { CodificacionService } from './codificacion.service';\r\nimport { CodificacionFiltroComponent } from './codificacion-filtro/codificacion-filtro.component';\r\n\r\nexport interface DialogData {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-codificacion',\r\n templateUrl: './codificacion.component.html',\r\n styleUrls: ['./codificacion.component.scss']\r\n})\r\nexport class CodificacionComponent implements OnInit, OnDestroy {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n identificador: string;\r\n textList = [];\r\n dataCod = [];\r\n displayedColumns = [];\r\n\r\n grupoCol = [];\r\n codigosDefault = null;\r\n codigos = null;\r\n\r\n valRowList = [];\r\n valColList = [];\r\n\r\n captura = [];\r\n\r\n estadoList = [\r\n { value: 1, name: 'Completado' },\r\n { value: 2, name: 'Pendiente' }\r\n // { value: 3, name: 'No es posible completar' }\r\n ];\r\n\r\n selectEstado = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n registro = null;\r\n observacion = null;\r\n\r\n controlValue = null;\r\n filtro = null;\r\n filtroValue = null;\r\n isvista = false;\r\n\r\n multipleForm: FormGroup = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private codificacionService: CodificacionService\r\n ) { }\r\n\r\n ngOnInit() {\r\n console.log(this.data)\r\n this.readVista();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('salida'); \r\n }\r\n\r\n /////////////////////////////// Busca Vista\r\n readVista(){\r\n Swal.fire({\r\n title: 'Cargando pantalla...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let group = {};\r\n this.codificacionService.readVista(this.data.id)\r\n .subscribe( async (data) => {\r\n this.filtro = data['filtros'] ? data['filtros'] : null;\r\n this.identificador = data['id'] ? data['id'] : null;\r\n this.textList = data['txt'] ? data['txt'] : [];\r\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\r\n this.dataCod = data['codes'] ? data['codes'] : [];\r\n this.grupoCol = data['grupos'] ? data['grupos'] : [];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigosDefault = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n this.valColList = data['valcol'] ? data['valcol'] : [];\r\n this.valRowList = data['valrow'] ? data['valrow'] : [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n k > 0 ? group[element] = new FormControl() : null;\r\n });\r\n });\r\n });\r\n this.multipleForm = new FormGroup(group);\r\n await this.readRegistro();\r\n Swal.close();\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n /**Busca validaciones */\r\n getValide(){\r\n Swal.fire({\r\n title: 'Revisando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let data = {\r\n captura: this.captura,\r\n codificacion: this.data.id\r\n }\r\n this.codificacionService.getValide(data)\r\n .subscribe( (data: any) => {\r\n if(data.length > 0){\r\n let messages = data.join('');\r\n Swal.fire({\r\n title: 'Revisa las siguientes observaciones',\r\n icon: 'info',\r\n width: 700,\r\n html: `\r\n
    \r\n ${messages}\r\n
\r\n `\r\n });\r\n }else{\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: false\r\n };\r\n this.updateRegistro(body);\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Error al revisar',\r\n text: 'Intente nuevamente'\r\n });\r\n }\r\n );\r\n }\r\n\r\n\r\n /**Guarda informacion*/\r\n async sendData(){\r\n if (!this.selectEstado) {\r\n Swal.fire(\r\n 'Debes seleccionar un estado',\r\n '',\r\n 'info'\r\n ); \r\n }\r\n \r\n if (this.selectEstado > 1) {\r\n const { value: text } = await Swal.fire({\r\n title: 'Observaciones',\r\n input: 'textarea',\r\n inputPlaceholder: 'Escribe tus observaciones aquí...',\r\n confirmButtonText: 'Enviar',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n });\r\n \r\n if (text) {\r\n this.observacion = text;\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: false\r\n }\r\n \r\n this.updateRegistro(body);\r\n }\r\n }else if(this.selectEstado == 1){\r\n this.getValide();\r\n }\r\n }\r\n\r\n /////////////////////////////// Busca registro a codificar\r\n async readRegistro(){\r\n this.registro = null;\r\n let body = {\r\n codificacion: this.data.id,\r\n control: this.data['control'],\r\n control_value: this.controlValue,\r\n filtro: this.filtro,\r\n filtro_value: this.filtroValue\r\n };\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n return new Promise((resolve) => {\r\n this.codificacionService.readRegistro(body)\r\n .subscribe( (data) => {\r\n this.isvista = false;\r\n this.registro = data['registro'];\r\n if (!this.registro) {\r\n Swal.fire({\r\n icon: 'info',\r\n text: 'No hay registro disponibles',\r\n });\r\n }\r\n if (data['codigos'].length > 0) {\r\n this.codigos = data['codigos'].reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});;\r\n }else{\r\n this.codigos = this.codigosDefault;\r\n }\r\n this.isvista = true;\r\n resolve(data); \r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n });\r\n }\r\n\r\n ///////////////////////// Guardar registro\r\n updateRegistro(body: any){\r\n this.codificacionService.updateRegistro(body)\r\n .subscribe(async (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Registro guardado correctamente'\r\n });\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n await this.readRegistro();\r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al guardar el registro'\r\n });\r\n }\r\n );\r\n }\r\n\r\n /////////////// Seleccionar filtro de registros\r\n openDialogFilterRegistro(){\r\n const dialogRef = this.dialog.open(CodificacionFiltroComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { control: this.data['control'], controlValue: this.controlValue , filtro: this.filtro, filtroValue: this.filtroValue }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(async result => {\r\n if (result) {\r\n Swal.fire({\r\n title: 'Cargando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n this.filtroValue = result.filtroValue;\r\n this.controlValue = result.controlValue;\r\n await this.readRegistro(); \r\n Swal.close();\r\n }\r\n });\r\n }\r\n\r\n\r\n /////////////// Actualiza arreglo de captura\r\n updateCaptura(table: number, row: number, column: number, type: string, $event: any){\r\n if (type == 'input' && $event != undefined) {\r\n this.captura[table][row][column] = $event.target.value;\r\n } else if (type == 'select' && $event != undefined) {\r\n this.captura[table][row][column] = $event;\r\n }else {\r\n this.captura[table][row][column] = null;\r\n }\r\n }\r\n\r\n}\r\n","

Codificación - {{ data['descripcion'] }}

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ identificador }}{{ text }}
{{ registro[identificador] }} {{ registro[text] }}
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Estado\r\n \r\n \r\n {{ estado.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ columns }}
\r\n {{ value }}\r\n \r\n \r\n 0 && codigos[grupoCol[i][k]]\"\r\n placeholder=\"Selecciona\"\r\n notFoundText=\"Sin resultados\"\r\n [items]=\"codigos[grupoCol[i][k]]\"\r\n bindLabel=\"description\"\r\n clearAllText=\"Clear\"\r\n [formControlName]=\"dataCod[i][j][k]\"\r\n (change)=\"updateCaptura(i, j, k - 1, 'select', $event)\">\r\n \r\n \r\n

\r\n

0 && \r\n codigos[grupoCol[i][k]] && \r\n multipleForm.value[dataCod[i][j][k]]\">\r\n Seleccionado: {{ multipleForm.value[dataCod[i][j][k]].description }}\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CodificacionService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readVista(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/vista/${id}`, { headers });\n }\n\n ///////////////////////Busca validacion\n getValide(data: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/valida`, data, { headers });\n }\n\n ///////////////////////Busca registro a codificar\n readRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/vista/registro`, body, { headers });\n }\n\n \n updateRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/vista/registro`, body, { headers });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Workbook } from 'exceljs';\nimport * as fs from 'file-saver';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CodigoExcelService {\n\n constructor() { }\n \n downloadCodigo(proyectoName: any, body: any){\n let workbook = new Workbook();\n for (let grupo of body) {\n const title = 'Códigos: ' + grupo.grupo;\n let worksheet = workbook.addWorksheet(grupo.grupo);\n // Add new row\n let titleRow = worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n titleRow.font = { name: 'Arial', family: 4, size: 14, bold: true };\n \n let headerRow = worksheet.addRow(grupo.campos);\n for (let row of grupo.resultado){\n let keys = grupo.campos;\n let temp=[];\n for(let key of keys){\n temp.push(row[key]);\n }\n worksheet.addRow(temp);\n }\n \n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n }\n \n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Códigos - ${proyectoName}.xlsx`);\n });\n\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\n\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {MatTableDataSource} from '@angular/material/table';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\nimport * as XLSX from 'xlsx';\n\nimport { CodigoService } from './codigo.service';\nimport { CodigoExcelService } from './codigo-excel.service';\n\nexport interface DialogData {\n proyecto: number;\n proyectoName: string;\n}\n\nexport interface Codigos {\n id: number;\n nombre: string;\n codigo: number;\n}\n\n@Component({\n selector: 'app-codigo',\n templateUrl: './codigo.component.html',\n styleUrls: ['./codigo.component.scss']\n})\nexport class CodigoComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n \n grupoList = null;\n codigoList = null;\n isGrupo = false;\n id_grupo = null;\n name_grupo = null;\n\n codigoColumns: string[] = ['select' ,'codigo', 'nombre', 'mas'];\n grupoColumns: string[] = ['id', 'grupo', 'mas'];\n\n dataSourceCode = null;\n selectionCode = new SelectionModel(true, []);\n \n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private codigoService: CodigoService,\n private codigoExcelService: CodigoExcelService\n ) { }\n\n ngOnInit() {\n this.readGrupo();\n }\n\n /////////////////////////////// Busca grupo\n readGrupo(){\n this.codigoService.readGrupo(this.data.proyecto)\n .subscribe( (data) => {\n this.grupoList = Object.keys(data).map( (row) => {\n return {\n id: data[row][0], \n name: data[row][1],\n }\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n /////////////////////////////// Crea grupo\n createGrupo(){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Crear',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n 'Campo requerido'\n )\n }\n }\n }).queue([\n {\n title: 'Nuevo grupo',\n text: 'Escribe el nombre del grupo nuevo'\n }\n ]).then((result: any) => {\n if (result.value) {\n const name = result.value[0];\n this.codigoService.createGrupo(name, this.data.proyecto)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Grupo creado correctamente'\n });\n this.readGrupo();\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al crear el grupo ${name}, revise que el nombre del grupo no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n }\n })\n }\n\n /////////////////////////////// Edita grupo\n updateGrupo(id: number, name: string){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n \"Campo requerido\"\n )\n }\n }\n }).queue([\n {\n title: 'Edita grupo',\n text: 'Escribe el nuevo nombre del grupo',\n inputValue: `${name}`\n }\n ]).then((result: any) => {\n if (result.value) {\n const newname = result.value[0];\n this.codigoService.updateGrupo(newname, id)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Grupo editado creado correctamente'\n });\n this.readGrupo();\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al ceditado el grupo '${name}', revise que el nombre del grupo no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n }\n })\n }\n\n //////////////////////Elimina grupo\n deleteGrupo(id: number, name: string){\n Swal.fire({\n title: `¿Estas seguro de eliminar el grupo ${name}?`,\n text: 'Se eliminara todo lo relacionado con el grupo',\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, Eliminar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.deleteGrupo(id)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'El grupo se eliminó correctamente'\n });\n this.readGrupo();\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al eliminar el grupo, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n }\n\n ////////////Selecciona grupo\n selectGrupo(id: number){\n this.isGrupo = true;\n this.id_grupo = id;\n this.readCodigo(this.id_grupo);\n }\n\n /////////////////////////////// Busca Codigo\n readCodigo(grupo: number){\n this.codigoService.readCodigo(grupo)\n .subscribe( (data) => {\n this.codigoList = Object.keys(data).map( (row) => {\n return {\n id: Number(data[row][0]),\n code: Number(data[row][1]),\n name: data[row][2]\n }\n });\n this.selectionCode = new SelectionModel(true, []);\n this.dataSourceCode = new MatTableDataSource(this.codigoList);\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n /////////////////////////////// Crea Codigo\n createCodigo(){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Siguiente →',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n 'Campo requerido'\n )\n }\n }\n }).queue([\n {\n title: 'Nuevo código',\n text: 'Escribe el código nuevo',\n input: 'number'\n },\n {\n title: 'Nombre de código',\n text: 'Escribe la nombre del código',\n }\n ]).then((result: any) => {\n if (result.value) {\n let codigo = result.value[0];\n let nombre = result.value[1];\n let data = [\n [codigo,nombre]\n ];\n Swal.fire({\n title: `Código nuevo: '${codigo}' → '${nombre}'`,\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Crear!',\n cancelButtonText: 'Cancelar'\n }).then((result: any) => {\n this.codigoService.createCodigo(data, this.id_grupo)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Código creado exitosamente!'\n });\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al crear código '${codigo}' → '${nombre}', revise que el código o el nombre no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n });\n }\n })\n }\n\n /////////////////////////////// edita codigo\n updateCodigo(id: number, code: number, name: string){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Siguiente →',\n showCancelButton: true,\n allowEscapeKey: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage(\n \"Campo requerido\"\n )\n }\n }\n }).queue([\n {\n title: `Edita código → ${code}`,\n text: `Escribe el código nuevo`,\n input: 'number',\n inputValue: `${code}`\n },\n {\n title: 'Edita nombre del código',\n text: `Escribe el nuevo nombre del código '${name}'`,\n inputValue: `${name}`\n }\n ]).then((result: any) => {\n if (result.value) {\n const newcode = result.value[0];\n const newname = result.value[1];\n Swal.fire({\n title: `¡Editar '${code}' → '${newcode}', '${name}' → '${newname}' !`,\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '!Editar!',\n cancelButtonText: 'Cancelar'\n }).then((result: any) => {\n this.codigoService.updateCodigo(id, newcode, newname)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Código editado exitosamente!'\n });\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al editar el código '${name}', revise que el código o el nombre no esten duplicados, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n });\n }\n })\n }\n\n /////////////////////////////// Elimina codificacion\n deleteCodigo(id: string, code: string, name: string){\n Swal.fire({\n title: `¿Estas seguro de eliminar el código '${code}' → '${name}'?`,\n text: \"Se eliminara permanentemente el código\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, Eliminar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.deleteCodigo(id)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'El código se eliminó correctamente!'\n });\n this.selectionCode.clear();\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al eliminar el código, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n }\n\n /** Seleccciona todos los codigos */\n isAllSelected() {\n const numSelected = this.selectionCode.selected.length;\n const numRows = this.dataSourceCode.data.length;\n return numSelected === numRows;\n }\n\n masterToggle() {\n this.isAllSelected() ?\n this.selectionCode.clear() :\n this.dataSourceCode.data.forEach(row => this.selectionCode.select(row));\n }\n\n checkboxLabel(row?: Codigos): string {\n if (!row) {\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\n }\n return `${this.selectionCode.isSelected(row) ? 'deselect' : 'select'} row ${row.codigo + 1}`;\n }\n\n /** Elimina codigos seleccionados */\n deleteSelectCodes(){\n let item = [];\n for(let select of this.selectionCode.selected){\n item.push(select.id);\n }\n let deleted = item.toString();\n Swal.fire({\n title: `¿Estas seguro de eliminar los ${item.length} códigos seleccionados?`,\n text: \"Se eliminaran permanentemente los códigos\",\n icon: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#d33',\n confirmButtonText: '¡Si, Eliminar!',\n cancelButtonText: 'Cancelar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.deleteCodigo(deleted)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Los códigos se eliminaron correctamente!'\n });\n this.selectionCode.clear();\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al eliminar los códigos, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n \n }\n \n async uploadCodigo(){\n Swal.fire({\n title: 'Selecciona xlsx',\n input: 'file',\n inputAttributes: {\n 'accept': 'file/*',\n 'aria-label': 'Carga archivo xlsx'\n },\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n confirmButtonText: 'Ok',\n showLoaderOnConfirm: true,\n preConfirm: (file) => {\n if (file) {\n const reader = new FileReader;\n reader.onload = (e) => {\n const data = reader.result;\n let workBook = XLSX.read(data, { type: 'binary' });\n let sheet1 = workBook.SheetNames[0];\n let sheet = workBook.Sheets[sheet1];\n let jsonData = XLSX.utils.sheet_to_json(sheet);\n let arrayData = [];\n jsonData.forEach(element => {\n let row = [];\n Object.keys(element).map(r =>{\n row.push(element[r]);\n });\n arrayData.push(row);\n });\n Swal.fire({\n title: 'Carga de datos',\n text: `El archivo contiene ${arrayData.length} filas`,\n icon: 'info',\n showCancelButton: true,\n confirmButtonColor: '#3085d6',\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#d33',\n confirmButtonText: 'Cargar'\n }).then((result) => {\n if (result.isConfirmed) {\n this.codigoService.createCodigo(arrayData,this.id_grupo)\n .subscribe( (data) => {\n Swal.fire(\n 'Códigos',\n `Se cargaron ${data} códigos correctamente.`,\n 'success'\n );\n this.readCodigo(this.id_grupo);\n },\n (error) => {\n Swal.fire(\n 'Error',\n 'Ocurrio un error al cargar los códigos, intenta más tarde.',\n 'error'\n );\n });\n }\n })\n };\n reader.readAsBinaryString(file);\n }\n },\n allowOutsideClick: () => !Swal.isLoading()\n });\n \n }\n\n /**Descargar codigos */\n downloadCodigo(){\n this.codigoService.downloadCodigo(this.data.proyecto).\n subscribe((data) => {\n this.codigoExcelService.downloadCodigo(this.data.proyectoName, data);\n },\n (error) => {\n console.log(error);\n });\n }\n\n\n}\n","

Códigos

\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 Grupo \n {{element.name}} \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n\n \n
\n\n \n \n info\n \n Selecciona un grupo para ver los códigos.\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 Código \n {{element.code}} \n Nombre {{element.name}} \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n\n
\n \n
\n\n \n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CodigoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n\n ///////////////////////Busca grupo\n readGrupo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/grupo/${id}`, { headers });\n }\n\n ///////////////////////Crea grupo\n createGrupo(name: string, id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n id: id\n };\n\n return this.http.post(`${ this.env.api }/grupo`, body, { headers });\n }\n\n ///////////////////////Edita grupo\n updateGrupo(name: string, id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n id: id\n };\n\n return this.http.put(`${ this.env.api }/grupo`, body, { headers });\n }\n\n ///////////////////////Elimina grupo\n deleteGrupo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/grupo/${id}`, { headers });\n }\n\n ///////////////////////Busca codigo\n readCodigo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codigo/${id}`, { headers });\n }\n\n ///////////////////////Crea codigo\n createCodigo(data: any, grupo: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n data: data,\n grupo: grupo\n };\n\n return this.http.post(`${ this.env.api }/codigo`, body, { headers });\n }\n\n ///////////////////////Edita codigo\n updateCodigo(id: number, codigo:number, nombre: string){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n id: id,\n codigo: codigo,\n nombre: nombre\n };\n\n return this.http.put(`${ this.env.api }/codigo`, body, { headers });\n }\n\n ///////////////////////Elimina codigo\n deleteCodigo(id: string){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/codigo/${id}`, { headers });\n }\n\n\n ////////////////////Descarga codigos\n downloadCodigo(proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codigo/descarga/${proyecto}`, { headers });\n }\n\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport Swal from 'sweetalert2';\nimport { DetalleExcelService } from '../detalle-proyecto/detalle-excel.service';\nimport { DetalleProyectoService } from '../detalle-proyecto/detalle-proyecto.service';\n\n@Component({\n selector: 'app-descarga',\n templateUrl: './descarga.component.html',\n styleUrls: ['./descarga.component.scss']\n})\nexport class DescargaComponent implements OnInit {\n\n estadoList = [\n { value: 0, name: 'Sin usar' },\n { value: 1, name: 'Completado' },\n { value: 2, name: 'Pendiente' },\n { value: 3, name: 'No es posible completar' }\n ];\n\n selectEstado = null;\n controlValue = null;\n codificacionList = null;\n selectCodificacion = null;\n\n labels = 'value';\n public dataList = [];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private detalleExcelService: DetalleExcelService,\n private detalleProyectoService: DetalleProyectoService,\n ) { }\n\n ngOnInit(): void {\n }\n\n downloadProyecto(){\n let body = {\n proyecto: Number(this.data.proyecto),\n identificador: this.data.identificador,\n estado: this.selectEstado,\n campoControl: this.data.control,\n control: this.controlValue,\n codificacion: this.selectCodificacion,\n };\n this.detalleProyectoService.downloadProyecto(body).\n subscribe((data)=>{\n this.detalleExcelService.downloadProyecto(this.data.nameProyecto, data, this.labels);\n },\n (error) => {\n // console.log(error);\n });\n }\n\n async countProyecto(){\n this.dataList = [];\n Swal.fire({\n title: 'Descargando registros. Esto puede tardar un poco',\n allowOutsideClick: false,\n onOpen: () =>{\n Swal.showLoading();\n }\n });\n for await (const cod of this.selectCodificacion) {\n let body = {\n proyecto: Number(this.data.proyecto),\n identificador: this.data.identificador,\n estado: this.selectEstado,\n campoControl: this.data.control,\n control: this.controlValue,\n codificacion: [cod],\n };\n // console.log(body)\n\n let respcount = await this.detalleProyectoService.countProyecto(body).toPromise();\n // console.log(respcount)\n let count = respcount?.[0]?.[\"resultado\"]?.[\"cuenta\"];\n let chunkList = this.chunks(count, 500);\n let c = 1;\n let dataChunkObj = {\n resultado: [],\n // resultado: [],\n };\n if(chunkList.length > 0){\n\n for await (const chunk of chunkList) {\n body[\"pagina\"] = chunk;\n let resdata = await this.detalleProyectoService.downloadProyectoPag(body).toPromise();\n // console.log(resdata)\n if(c == 1) {\n dataChunkObj = resdata[0];\n }else{\n dataChunkObj[\"resultado\"] = [...dataChunkObj[\"resultado\"], ...resdata[0][\"resultado\"]]\n }\n c += 1; \n }\n if(dataChunkObj) this.dataList.push(dataChunkObj);\n\n }else{\n body[\"pagina\"] = 1;\n let resdata = await this.detalleProyectoService.downloadProyectoPag(body).toPromise();\n dataChunkObj = resdata[0];\n this.dataList.push(dataChunkObj);\n }\n }\n Swal.close();\n if(this.dataList.length > 0) this.detalleExcelService.downloadProyecto(this.data.nameProyecto, this.dataList, this.labels);\n else {\n Swal.fire(\n 'Información',\n 'No se encontraron registros a descargar.',\n 'info'\n );\n }\n }\n\n\n chunks(total, grupo){\n const grupos: number[] = [];\n for (let i = 0; i < total / grupo; i++) {\n grupos.push((i + 1) * grupo - grupo);\n }\n return grupos\n }\n\n}\n","

Descarga de proyecto

\n\n
\n \n Seleccionar {{ data.control }} (opcional)\n \n \n
\n \n Seleccionar estado\n \n \n {{ estado.name }}\n \n \n \n
\n \n Selecciona codificación (opcional)\n \n \n {{ codificacion.name }}\n \n \n \n
\n
\n\n \n \n","import { Injectable } from '@angular/core';\nimport { Workbook } from 'exceljs';\nimport * as fs from 'file-saver';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DetalleExcelService {\n\n constructor() { }\n\n ///////////////////////Descarga de codificacion\n downloadCodificacion(body: any){\n const title = 'Codificación: ' + body.codificacion;\n let workbook = new Workbook();\n let worksheet = workbook.addWorksheet(body.codificacion);\n // Add new row\n let titleRow = worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n titleRow.font = { name: 'Arial', family: 4, size: 14, bold: true };\n\n let headerRow = worksheet.addRow(body.columns);\n for (let row of body.data){\n let keys = body.columns;\n let temp=[];\n for(let key of keys){\n temp.push(this.isObject(row[key], body.labels));\n }\n worksheet.addRow(temp);\n }\n\n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n \n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Codificación - ${body.codificacion}.xlsx`);\n });\n\n }\n\n ///////////////////////Descarga de proyecto\n downloadProyecto(proyecto: any, body: any, labels: string){\n let workbook = new Workbook();\n for (let codificacion of body) {\n const title = 'Codificación: ' + codificacion.codificacion;\n let worksheet = workbook.addWorksheet(codificacion.codificacion);\n // Add new row\n let titleRow = worksheet.addRow([title]);\n worksheet.addRow(['Creado por Procod']);\n worksheet.addRow([]);\n\n titleRow.font = { name: 'Arial', family: 4, size: 14, bold: true };\n \n let headerRow = worksheet.addRow(codificacion.campos);\n for (let row of codificacion.resultado){\n let keys = codificacion.campos;\n let temp=[];\n for(let key of keys){\n temp.push(this.isObject(row[key], labels));\n }\n worksheet.addRow(temp);\n }\n \n headerRow.eachCell((cell, number) => {\n cell.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: '4D79FF' },\n bgColor: { argb: '4D79FF' }\n }\n cell.style.font = {\n bold: true,\n color: { argb: 'FFFFFF' }\n }\n });\n }\n \n workbook.xlsx.writeBuffer().then((data) => {\n let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\n fs.saveAs(blob, `Proyecto - ${proyecto}.xlsx`);\n });\n\n }\n\n\n ////////////////Revisa si el valor es un objeto\n isObject(value: any, labels: string){\n if (typeof value === 'object' && value !== null) {\n return value[labels];\n } else {\n return value;\n }\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { AuthService } from '../../../service/auth.service';\r\nimport { DetalleProyectoService } from './detalle-proyecto.service';\r\n\r\nimport { CodigoComponent } from '../codigo/codigo.component';\r\nimport { PantallaComponent } from '../pantalla/pantalla.component';\r\nimport { VistaComponent } from '../vista/vista.component';\r\nimport { RegistroComponent } from '../registro/registro.component';\r\nimport { AvanzadasComponent } from '../avanzadas/avanzadas.component';\r\nimport { CodificacionComponent } from '../codificacion/codificacion.component';\r\nimport { DescargaComponent } from '../descarga/descarga.component';\r\nimport { AvanceComponent } from '../avance/avance.component';\r\nimport { RevisionComponent } from '../revision/revision.component';\r\nimport { ImportarComponent } from '../importar/importar.component';\r\n\r\n@Component({\r\n selector: 'app-detalle-proyecto',\r\n templateUrl: './detalle-proyecto.component.html',\r\n styleUrls: ['./detalle-proyecto.component.scss']\r\n})\r\nexport class DetalleProyectoComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n permissions = null;\r\n\r\n proyecto = null;\r\n idProyecto = null;\r\n identificador = null;\r\n control = null;\r\n codificacion = null;\r\n idCodificacion = null;\r\n descripcion = null;\r\n codificacionList = null;\r\n\r\n iscod = false;\r\n ispantalla = false;\r\n \r\n constructor(\r\n private router: Router,\r\n private activeRoute: ActivatedRoute,\r\n private auth: AuthService,\r\n public dialog: MatDialog,\r\n private detalleService: DetalleProyectoService,\r\n ) { \r\n this.activeRoute.params.subscribe( parametro => {\r\n this.idProyecto = parametro.proyecto;\r\n });\r\n }\r\n\r\n async ngOnInit() {\r\n await this.getPermissions();\r\n this.readCod();\r\n }\r\n\r\n ///////////////////Busca permisos\r\n async getPermissions(){\r\n this.auth.getPermissions()\r\n .subscribe( (data) => {\r\n this.permissions = data;\r\n },\r\n (error) => {\r\n this.router.navigateByUrl('/login');\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca pantallas\r\n readCod(){\r\n this.detalleService.readCod(this.idProyecto)\r\n .subscribe( (data) => {\r\n this.codificacionList = Object.keys(data['pantallas']).map( (row) => {\r\n return {\r\n id: data['pantallas'][row][0], \r\n name: data['pantallas'][row][1],\r\n pantalla: data['pantallas'][row][2],\r\n descripcion: data['pantallas'][row][3]\r\n }\r\n });\r\n this.proyecto = data['proyecto'][0][0];\r\n this.identificador = data['proyecto'][0][1];\r\n this.control = data['proyecto'][0][2];\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n ///////////////////Seleccion de pantalla\r\n selectCod(id: number, name: string, descripcion: string, pantalla: boolean){\r\n this.idCodificacion = id;\r\n this.codificacion = name;\r\n this.descripcion = descripcion;\r\n this.ispantalla = pantalla;\r\n this.iscod = true;\r\n }\r\n\r\n /////////////////////Regresa a proyectos\r\n backProyecto(){\r\n this.router.navigateByUrl('proyectos');\r\n }\r\n\r\n //////////////////////Edita proyecto\r\n updateProyecto(){\r\n let campo = 1;\r\n Swal.mixin({\r\n input: 'text',\r\n confirmButtonText: 'Siguiente →',\r\n allowEscapeKey: true,\r\n showCancelButton: true,\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n preConfirm: (values) =>{\r\n if (!values && campo < 3) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n );\r\n }else{\r\n campo += 1;\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Edita proyecto',\r\n text: 'Escribe el nuevo nombre del proyecto',\r\n inputValue: `${this.proyecto}`\r\n },\r\n {\r\n title: 'Identificador',\r\n text: 'Escribe el nuevo nombre del campo que servira de identificador para tus tablas de codificación',\r\n inputValue: `${this.identificador}`\r\n },\r\n {\r\n title: 'Variable de control (Opcional)',\r\n html: 'Escribe el nuevo nombre del campo que servira como variable de control (Variable de corte, periodo, etc.).',\r\n inputValue: `${this.control}`\r\n }\r\n ]).then((result: any) => {\r\n if (result.value) {\r\n let body = {\r\n proyecto: this.idProyecto,\r\n nombre: result.value[0],\r\n identificador: result.value[1].toLowerCase(),\r\n control: result.value[2].toLowerCase()\r\n };\r\n this.detalleService.updateProyecto(body)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Proyecto editado correctamente'\r\n });\r\n this.readCod();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al editar el proyecto ${result.value[0]}, revise que el nombre del proyecto no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n }\r\n );\r\n }\r\n })\r\n }\r\n\r\n //////////////////////Elimina proyecto\r\n deleteProyecto(){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar el proyecto ${this.proyecto}?`,\r\n text: 'Se eliminara todo lo relacionado con el proyecto',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.detalleService.deleteProyecto(this.idProyecto)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Proyecto eliminado correctamente'\r\n });\r\n this.backProyecto();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al eliminar el proyecto, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n /////////////////////////////// Crea codificacion\r\n createCod(){\r\n Swal.mixin({\r\n input: 'text',\r\n confirmButtonText: 'Siguiente →',\r\n showCancelButton: true,\r\n allowEscapeKey: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n preConfirm: (values) =>{\r\n if (!values) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n )\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Nueva codificación',\r\n text: 'Escribe el nombre de la codificación nueva'\r\n },\r\n {\r\n title: 'Descripción de codificación',\r\n text: 'Escribe la descripción de la codificación'\r\n }\r\n ]).then((result: any) => {\r\n if (result.value) {\r\n const name = result.value[0];\r\n const descripcion = result.value[1];\r\n Swal.fire({\r\n title: `¡Todo listo para crear la codificación!`,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Crear!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result: any) => {\r\n this.detalleService.createCod(name, descripcion, this.idProyecto)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Codificación creada correctamente'\r\n });\r\n this.readCod();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al crear la codificación ${name}, revise que el nombre de la codificación no este duplicado, o intente más tarde!`,\r\n '',\r\n 'info'\r\n );\r\n }\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////////////////////// edita codificacion\r\n updateCod(){\r\n Swal.mixin({\r\n input: 'text',\r\n confirmButtonText: 'Siguiente →',\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n showCancelButton: true,\r\n allowEscapeKey: true,\r\n preConfirm: (values) =>{\r\n if (!values) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n )\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Edita codificación',\r\n text: 'Escribe el nombre nuevo de la codificación',\r\n inputValue: `${this.codificacion}`\r\n },\r\n {\r\n title: 'Edita descripción de codificación',\r\n text: 'Escribe la nueva descripción de la codificación',\r\n inputValue: `${this.descripcion}`\r\n }\r\n ]).then((result: any) => {\r\n if (result.value) {\r\n const newname = result.value[0];\r\n const descripcion = result.value[1];\r\n Swal.fire({\r\n title: `¡Todo listo para editar la codificación!`,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n confirmButtonText: '!Editar!',\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result: any) => {\r\n this.detalleService.updateCod(newname, descripcion, this.idCodificacion)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Codificación editada correctamente'\r\n });\r\n this.readCod();\r\n this.selectCod(this.idCodificacion, newname, descripcion, this.ispantalla);\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al editar la codificación '${newname}', revise que el nombre de la codificación no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n }\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////////////////////// Elimina codificacion\r\n deleteCod(){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar la codificación ${this.descripcion}?`,\r\n text: 'Se eliminara todo lo relacionado con la codificación',\r\n icon: 'question',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.detalleService.deleteCod(this.idCodificacion)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Codificación eliminada correctamente'\r\n });\r\n this.readCod();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al eliminar la codificación, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n /////////////Lleva a vista de codigos\r\n openDialogCod() {\r\n const dialogRef = this.dialog.open(CodigoComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { proyecto: this.idProyecto, proyectoName: this.proyecto }\r\n });\r\n }\r\n\r\n /////////////Lleva a vista de crear pantalla\r\n openDialogPantalla() {\r\n const dialogRef = this.dialog.open(PantallaComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { proyecto: this.idProyecto, id: this.idCodificacion, pantalla: this.ispantalla }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readCod();\r\n this.selectCod(this.idCodificacion, this.codificacion, this.descripcion, result);\r\n });\r\n }\r\n\r\n /////////////Lleva a vista de vista previa de pantalla\r\n openDialogVista() {\r\n const dialogRef = this.dialog.open(VistaComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de registros\r\n openDialogRegistro() {\r\n const dialogRef = this.dialog.open(RegistroComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion, codificacion: this.codificacion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de opciones avanzadas\r\n openDialogAvanzadas() {\r\n const dialogRef = this.dialog.open(AvanzadasComponent, {\r\n disableClose: true,\r\n data: { control: this.control, identificador: this.identificador, proyecto: this.idProyecto, codificacion: this.idCodificacion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de iniciar codificacion\r\n openDialogIniciar() {\r\n const dialogRef = this.dialog.open(CodificacionComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion, control: this.control, descripcion: this.descripcion }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de iniciar codificacion\r\n openDialogRevision() {\r\n const dialogRef = this.dialog.open(RevisionComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: { id: this.idCodificacion, control: this.control }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de descarga de proyecto\r\n openDialogDescarga() {\r\n const dialogRef = this.dialog.open(DescargaComponent, {\r\n width: '50%',\r\n disableClose: true,\r\n data: {\r\n nameProyecto: this.proyecto,\r\n proyecto: this.idProyecto, \r\n identificador: this.identificador, \r\n control: this.control, \r\n codificacionList: this.codificacionList \r\n }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de descarga de proyecto\r\n openDialogAvance(tipo: string) {\r\n const dialogRef = this.dialog.open(AvanceComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: {\r\n tipo: tipo, \r\n proyectoName: this.proyecto, \r\n proyecto: this.idProyecto, \r\n codificacionName: this.codificacion, \r\n codificacion: this.idCodificacion, \r\n control: this.control\r\n }\r\n });\r\n\r\n }\r\n\r\n /**\r\n * @description Deshabilita proyecto\r\n */\r\n async disableProyecto(){\r\n console.log(this.idProyecto)\r\n Swal.fire({\r\n title: `¿Estas seguro de deshabilitar el proyecto ${this.proyecto}?`,\r\n text: 'El proyecto no se eliminará, sólo quedará oculto.',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, deshabilitar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.detalleService.disableProyecto(this.idProyecto)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Proyecto deshabilitado correctamente'\r\n });\r\n this.backProyecto();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al deshabilitar el proyecto, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n openDialogImport(){\r\n const dialogRef = this.dialog.open(ImportarComponent, {\r\n width: '100%',\r\n height: '98%',\r\n disableClose: true,\r\n data: {\r\n idProyecto: this.idProyecto,\r\n control: this.control\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n \r\n

\r\n Selecciona una pantalla para ver las opciones disponibles.\r\n

\r\n \r\n
\r\n \r\n
\r\n\t
\r\n\r\n\t\r\n \r\n \r\n \r\n \r\n
\r\n folder\r\n
\r\n {{ proyecto }}\r\n {{ codificacion }}\r\n
\r\n \r\n

Descripción: {{ descripcion }}

\r\n
\r\n
\r\n \r\n
\r\n

Pantallas

\r\n
\r\n \r\n
\r\n 1\" \r\n mat-icon-button \r\n class=\"text-success\" \r\n matTooltip=\"Crea nueva codificación\" \r\n matTooltipPosition=\"above\"\r\n (click)=\"createCod()\">\r\n add_circle_outline\r\n \r\n Pantalla\r\n
\r\n \r\n
\r\n \r\n \r\n code\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\t
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DetalleProyectoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca codificacion\n readCod(proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codificacion/${proyecto}`, { headers });\n }\n \n ///////////////////////Edita proyecto\n updateProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/proyecto`, body, { headers });\n }\n\n ///////////////////////Elimina proyecto\n deleteProyecto(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/proyecto/${id}`, { headers });\n }\n\n ///////////////////////Deshabilita proyecto\n disableProyecto(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n let body = {\n id: id\n };\n\n return this.http.patch(`${ this.env.api }/proyecto`, body, { headers });\n }\n\n ///////////////////////Crea codificacion\n createCod(name: string, descripcion: string, proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n descripcion: descripcion,\n proyecto: proyecto\n };\n\n return this.http.post(`${ this.env.api }/codificacion`, body, { headers });\n }\n\n ///////////////////////Edita codificacion\n updateCod(name: string, descripcion: string, codificacion: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n \n let body = {\n nombre: name,\n descripcion: descripcion,\n codificacion: codificacion\n };\n\n return this.http.put(`${ this.env.api }/codificacion`, body, { headers });\n }\n\n ///////////////////////Elimina codificacion\n deleteCod(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/codificacion/${id}`, { headers });\n }\n\n\n ///////////////////////Busca codificaciones a descargar\n downloadProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto/descarga`, body, { headers });\n }\n\n ///////////////////////Busca codificaciones a descargar\n countProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto-pag/registro-count`, body, { headers });\n }\n\n\n ///////////////////////Busca codificaciones a descargar\n downloadProyectoPag(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto-pag/descarga-pag`, body, { headers });\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport {MatTableDataSource} from '@angular/material/table';\n\nimport { EventoService } from './evento.service';\n\n@Component({\n selector: 'app-evento',\n templateUrl: './evento.component.html',\n styleUrls: ['./evento.component.scss']\n})\nexport class EventoComponent implements OnInit {\n\n eventoList = [];\n dataSourceEvento = null;\n eventoColumns: string[] = ['fecha' ,'usuario', 'evento', 'proyecto', 'codificacion'];\n\n constructor(\n private eventoService: EventoService\n ) { }\n\n ngOnInit(): void {\n this.readEvento();\n }\n\n /////////////////////////////// Busca eventos\n readEvento(){\n this.eventoService.readEvento()\n .subscribe( (data) => {\n this.eventoList = Object.keys(data).map( (row) => {\n return {\n fecha: data[row][0],\n usuario: data[row][1],\n evento: data[row][2],\n proyecto: data[row][3],\n codificacion: data[row][4]\n }\n });\n this.dataSourceEvento = new MatTableDataSource(this.eventoList);\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n}\n","

Eventos de proyectos

\n\n
\n \n \n \n \n \n \n \n \n \n
{{ column }} {{element[column]}}
\n
\n
\n\n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca grupo\n readEvento(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/evento`, { headers });\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { ConexionService } from '@app/pages/conexion/conexion.service';\r\nimport { ImportarService } from './importar.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'app-importar',\r\n templateUrl: './importar.component.html',\r\n styleUrls: ['./importar.component.scss']\r\n})\r\nexport class ImportarComponent implements OnInit {\r\n\r\n displayedColumnsMapeo = ['tipo', 'pantalla', 'tabla', 'accion'];\r\n displayedColumnsImportacion = ['codificacion', 'accion'];\r\n\r\n conexionList = [];\r\n codificacionList = [];\r\n camposList = [];\r\n tablasList = null;\r\n camposTablaList = null;\r\n camposPreview = [];\r\n datosPreview = [];\r\n dataSourcePreview = null;\r\n dataSourceMapeo = null;\r\n dataSourceImportacion = null;\r\n\r\n selectCamposList = null;\r\n importacionList = []\r\n\r\n firstFormGroup: FormGroup;\r\n secondFormGroup: FormGroup;\r\n previewFormGroup: FormGroup;\r\n mapeoForm: FormGroup;\r\n\r\n isupdate = false;\r\n idImportacion = null;\r\n selected = new FormControl(0);\r\n\r\n configTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona tabla',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n configCamposTablas = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n moreText: 'más',\r\n placeholder:'Selecciona campos',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private conexionService: ConexionService,\r\n private importarService: ImportarService,\r\n private _formBuilder: FormBuilder\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readImportacion();\r\n this.readConexion();\r\n this.readCod();\r\n\r\n this.firstFormGroup = this._formBuilder.group({\r\n firstCtrl1: ['', Validators.required],\r\n firstCtrl2: ['', Validators.required]\r\n });\r\n \r\n this.secondFormGroup = this._formBuilder.group({\r\n secondCtrl: ['', Validators.required]\r\n });\r\n\r\n this.previewFormGroup = this._formBuilder.group({\r\n previewCtrl: ['', Validators.required]\r\n });\r\n }\r\n\r\n /////////////Busca importaciones\r\n readImportacion(){\r\n this.importarService.readImportacion(parseInt(this.data.idProyecto))\r\n .subscribe( (data) => {\r\n this.importacionList = Object.keys(data).map( (row) => {\r\n return {\r\n id: data[row][0],\r\n conexion: data[row][1],\r\n opcion: data[row][2],\r\n consulta: data[row][3],\r\n tabla: data[row][4],\r\n campos: data[row][5],\r\n mapeo: data[row][6],\r\n codificacion: data[row][7],\r\n nombre: data[row][8],\r\n alias: data[row][9]\r\n }\r\n });\r\n this.dataSourceImportacion = new MatTableDataSource(this.importacionList);\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n /////////////Busca conexiones\r\n readConexion(){\r\n this.conexionService.readConexion()\r\n .subscribe( (data) => {\r\n this.conexionList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i][0], \r\n viewValue: data[i][1]\r\n }\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca pantallas\r\n readCod(){\r\n this.importarService.readCod(this.data.idProyecto)\r\n .subscribe( (data) => {\r\n this.codificacionList = Object.keys(data['pantallas']).map( (row) => {\r\n return {\r\n id: data['pantallas'][row][0], \r\n name: data['pantallas'][row][1]\r\n }\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca variables de pantalla\r\n readCamposPantalla(){\r\n if (this.mapeoForm) {\r\n this.dataSourceMapeo = null;\r\n this.camposList.forEach(element => {\r\n this.mapeoForm.removeControl(element[1])\r\n });\r\n this.camposList = [];\r\n }\r\n Swal.fire({\r\n title: 'Cargando campos de pantalla ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n if(this.secondFormGroup.value.secondCtrl){\r\n let codificacion = parseInt(this.secondFormGroup.value.secondCtrl[0].id);\r\n let group = {};\r\n this.importarService.readCamposPantalla(codificacion)\r\n .subscribe( (data) => {\r\n this.camposList = [...Object(data), ['Filtro (Opcional)', 'filtro']];\r\n this.camposList.forEach(element => {\r\n group[element[1]] = new FormControl('');\r\n });\r\n this.mapeoForm = new FormGroup(group); \r\n this.dataSourceMapeo = new MatTableDataSource(this.camposList);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n \r\n }\r\n\r\n ///////////////////////Busca tablas\r\n readTablas(){\r\n Swal.fire({\r\n title: 'Cargando tablas ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n this.importarService.readTablas(conexion)\r\n .subscribe( (data) => {\r\n this.tablasList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca campos de tabla\r\n readCamposTabla(){\r\n Swal.fire({\r\n title: 'Cargando campos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let tabla = this.firstFormGroup.value.firstCtrl3.value;\r\n this.importarService.readCamposTabla(conexion, tabla)\r\n .subscribe( (data) => {\r\n this.camposTablaList = Object.keys(data).map( (i) => {\r\n return {\r\n value: data[i], \r\n description: data[i]\r\n }\r\n });\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////Busca previzualizacion de datos\r\n readDataPreview(){\r\n this.previewFormGroup.controls['previewCtrl'].setValue('1');\r\n Swal.fire({\r\n title: 'Cargando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let body = null;\r\n if (opcion == 1) {\r\n body = {\r\n opcion: opcion,\r\n conexion: conexion,\r\n consulta: null,\r\n tabla: this.firstFormGroup.value.firstCtrl3.value,\r\n campos: this.firstFormGroup.value.firstCtrl4\r\n };\r\n } else {\r\n body = {\r\n opcion: opcion,\r\n conexion: conexion,\r\n consulta: this.firstFormGroup.value.firstCtrl5,\r\n tabla: null,\r\n campos: null\r\n };\r\n }\r\n this.importarService.readDataPreview(body)\r\n .subscribe( (data) => {\r\n this.camposPreview = data['campos'];\r\n this.datosPreview = data['resultado'];\r\n this.selectCamposList = Object.keys(data['campos']).map( (i) => {\r\n return {\r\n value: data['campos'][i], \r\n description: data['campos'][i]\r\n }\r\n });\r\n this.dataSourcePreview = new MatTableDataSource(this.datosPreview);\r\n Swal.close();\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n }\r\n\r\n selectOption(event: any){\r\n if (event == 1) {\r\n this.firstFormGroup.removeControl('firstCtrl5');\r\n this.firstFormGroup.addControl('firstCtrl3', new FormControl('', Validators.required));\r\n this.firstFormGroup.addControl('firstCtrl4', new FormControl('', Validators.required));\r\n this.readTablas();\r\n } else {\r\n this.firstFormGroup.removeControl('firstCtrl3');\r\n this.firstFormGroup.removeControl('firstCtrl4');\r\n this.firstFormGroup.addControl('firstCtrl5', new FormControl('', Validators.required));\r\n }\r\n }\r\n\r\n createImportar(){\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let codificacion = parseInt(this.secondFormGroup.value.secondCtrl[0].id);\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Guardando información ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n if (opcion==1) {\r\n var body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: null,\r\n tabla: this.firstFormGroup.value.firstCtrl3.value,\r\n campos: this.firstFormGroup.value.firstCtrl4,\r\n mapeo: this.mapeoForm.value\r\n };\r\n } else {\r\n var body = {\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: this.firstFormGroup.value.firstCtrl5,\r\n tabla: null,\r\n campos: null,\r\n mapeo: this.mapeoForm.value\r\n };\r\n }\r\n this.importarService.createImportar(body).\r\n subscribe( (data) => {\r\n if (data) {\r\n this.readImportacion();\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Datos de importación guardados correctamente',\r\n showConfirmButton: false,\r\n timer: 1500\r\n });\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n });\r\n }\r\n\r\n initImportacion(row: any){\r\n if (row['mapeo']['filtro']) {\r\n let campo = 1;\r\n Swal.mixin({\r\n icon: 'info',\r\n input: 'text',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n preConfirm: (values) => {\r\n if (!values && campo < 2) {\r\n Swal.showValidationMessage(\r\n \"Campo requerido\"\r\n );\r\n }else{\r\n campo += 1;\r\n }\r\n }\r\n }).queue([\r\n {\r\n title: 'Filtrar datos',\r\n text: `Escriba el valor a filtrar en la variable ${row['mapeo']['filtro']['value']}`,\r\n confirmButtonText: 'Siguiente →'\r\n },\r\n {\r\n title: 'Importar datos',\r\n html: `\r\n Agrega un valor a tu variable ${this.data.control} (Opcional)\r\n `,\r\n confirmButtonText: 'Importar',\r\n }\r\n ]).then( (result) => {\r\n let body = {\r\n importacion: parseInt(row.id),\r\n filtro: result['value'][0],\r\n control: this.data.control,\r\n control_value: result['value'][1]\r\n };\r\n if (result) {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Importando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.importarService.initImportar(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Importación completada',\r\n text: `Se importaron correctamente ${data} registros a la codificación ${row.nombre}`\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al importar datos, intente más tarde.'\r\n });\r\n });\r\n }\r\n });\r\n }else{\r\n Swal.fire({\r\n icon: 'info',\r\n input: 'text',\r\n title: 'Importar datos',\r\n html: `\r\n Agrega un valor a tu variable ${this.data.control} (Opcional)\r\n `,\r\n showCancelButton: true,\r\n confirmButtonText: 'Importar',\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n let body = {\r\n importacion: parseInt(row.id),\r\n filtro: null,\r\n control: this.data.control,\r\n control_value: result['value'][0]\r\n };\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Importando datos ...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.importarService.initImportar(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Importación completada',\r\n text: `Se importaron correctamente ${data} registros a la codificación ${row.nombre}`\r\n });\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al importar datos, intente más tarde.',\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n deleteImportacion(row: any){\r\n Swal.fire({\r\n title: '¿Estas seguro de eliminar la configuración de importación?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.importarService.deleteImportacion(row.id)\r\n .subscribe( (data) => {\r\n if (data) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Eliminar importación',\r\n text: `Configuración de importación eliminada correctamente`\r\n });\r\n this.readImportacion(); \r\n } else {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al eliminar configuración, intente más tarde.',\r\n }); \r\n }\r\n \r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al eliminar configuración, intente más tarde.',\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n openUpdateImportacion(row: any){\r\n this.isupdate = true;\r\n this.selected.setValue(1);\r\n this.idImportacion = row['id'];\r\n this.conexionList.forEach(element => {\r\n if (element['value'] == row['conexion']) {\r\n this.firstFormGroup.controls['firstCtrl1'].setValue(element); \r\n }\r\n });\r\n this.firstFormGroup.controls['firstCtrl2'].setValue(String(row['opcion']));\r\n if (row['opcion'] == 1) {\r\n this.firstFormGroup.addControl('firstCtrl3', new FormControl({value: row['tabla'], description: row['tabla']}, Validators.required));\r\n this.firstFormGroup.addControl('firstCtrl4', new FormControl(row['campos'], Validators.required));\r\n this.readCamposTabla();\r\n }else{\r\n this.firstFormGroup.addControl('firstCtrl5', new FormControl(row['consulta'], Validators.required));\r\n }\r\n this.previewFormGroup.controls['previewCtrl'].setValue('1');\r\n this.readDataPreview();\r\n this.secondFormGroup.controls['secondCtrl'].setValue([{id: row['codificacion'], name: row['nombre']}]);\r\n let group = {};\r\n this.importarService.readCamposPantalla(row['codificacion'])\r\n .subscribe( (data) => {\r\n this.camposList = [...Object(data), ['Filtro (Opcional)', 'filtro']];\r\n this.camposList.forEach(element => {\r\n group[element[1]] = new FormControl(row['mapeo'][element[1]])\r\n });\r\n this.mapeoForm = new FormGroup(group); \r\n this.dataSourceMapeo = new MatTableDataSource(this.camposList);\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al cargar, intente más tarde.',\r\n });\r\n }\r\n );\r\n\r\n }\r\n\r\n updateImportacion(){\r\n let conexion = parseInt(this.firstFormGroup.value.firstCtrl1.value);\r\n let opcion = parseInt(this.firstFormGroup.value.firstCtrl2);\r\n let codificacion = parseInt(this.secondFormGroup.value.secondCtrl[0].id);\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Guardando información ...',\r\n allowOutsideClick: false,\r\n onOpen: () => {\r\n Swal.showLoading();\r\n }\r\n });\r\n if (opcion==1) {\r\n var body = {\r\n id: this.idImportacion,\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: null,\r\n tabla: this.firstFormGroup.value.firstCtrl3.value,\r\n campos: this.firstFormGroup.value.firstCtrl4,\r\n mapeo: this.mapeoForm.value\r\n };\r\n } else {\r\n var body = {\r\n id: this.idImportacion,\r\n conexion: conexion,\r\n opcion: opcion,\r\n codificacion: codificacion,\r\n consulta: this.firstFormGroup.value.firstCtrl5,\r\n tabla: null,\r\n campos: null,\r\n mapeo: this.mapeoForm.value\r\n };\r\n }\r\n this.importarService.updateImportar(body).\r\n subscribe( (data) => {\r\n if (data) {\r\n this.readImportacion();\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Datos de importación guardados correctamente',\r\n showConfirmButton: false,\r\n timer: 1500\r\n });\r\n }else{\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n }\r\n },\r\n (error) => {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Oops...',\r\n text: 'Error al guardar información, intente más tarde.',\r\n });\r\n });\r\n }\r\n\r\n}\r\n","

Importar datos

\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Codificación {{element.nombre}} \r\n \r\n \r\n \r\n import_export\r\n Iniciar importación\r\n \r\n \r\n edit\r\n Editar\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Asistente para importar datos de base de datos externa.

\r\n \r\n \r\n
\r\n Conexión\r\n

Selecciona conexión.

\r\n \r\n Conexión\r\n \r\n \r\n {{conexion.viewValue}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Agregar tabla\r\n Crear consulta SQL\r\n \r\n
\r\n
\r\n \r\n

Información de tabla.

\r\n Tabla a importar:\r\n \r\n \r\n
\r\n \r\n Campos a importar:
\r\n Nota: Puede agregar una variable que sirva como filtro,\r\n y disminuir el tiempo de importación.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Consulta SQL

\r\n \r\n SQL\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n

En esta sección puedes visualizar los datos de tu consulta.

\r\n
\r\n \r\n Cargar datos\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{column}} \r\n {{ element[column] }}\r\n
\r\n
\r\n
\r\n\r\n \r\n

Seleccione la pantalla en la que desea importar los datos.

\r\n
\r\n \r\n \r\n {{codificacion.name}}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n

Seleccione los campos de la tabla que requiera mapear con los campos de la pantalla.

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Tipo {{element[0]}} Campo de pantalla {{element[1]}} Campo de tabla \r\n \r\n \r\n \r\n \r\n clear\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImportarService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n ///////////////////////Busca importaciones\r\n readImportacion(proyecto: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/${proyecto}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca conexiones\r\n readConexion(){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/conexion`, { headers });\r\n }\r\n\r\n ///////////////////////Busca codificacion\r\n readCod(proyecto: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/codificacion/${proyecto}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca campos de pantalla\r\n readCamposPantalla(codificacion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/campos/pantalla/${codificacion}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca tablas de DB\r\n readTablas(conexion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}`, { headers });\r\n }\r\n\r\n ///////////////////////Busca campos de tabla de DB \r\n readCamposTabla(conexion: number, tabla: String){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/importar/tablas/${conexion}/${tabla}`, { headers });\r\n }\r\n\r\n\r\n ///////////////////////Previsualizacion de datos DB\r\n readDataPreview(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/importar/tablas/preview`, body, { headers });\r\n }\r\n\r\n\r\n ///////////////////////Crea importacion\r\n createImportar(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/importar`, body, { headers });\r\n }\r\n\r\n ///////////////////////Inicia importacion\r\n initImportar(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n \r\n return this.http.post(`${ this.env.api }/importar/iniciar`, body, { headers }); \r\n }\r\n\r\n ///////////////////////Elimina importacion\r\n deleteImportacion(importacion: Number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n \r\n return this.http.delete(`${ this.env.api }/importar/pantalla/${importacion}`, { headers }); \r\n }\r\n\r\n ///////////////////////Actualiza importacion\r\n updateImportar(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.put(`${ this.env.api }/importar`, body, { headers });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport { MatTable } from '@angular/material/table';\n\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-filtro',\n templateUrl: './filtro.component.html',\n styleUrls: ['./filtro.component.scss'],\n animations: [\n trigger('detailExpand', [\n state('collapsed', style({height: '0px', minHeight: '0'})),\n state('expanded', style({height: '*'})),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class FiltroComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n thirdFormGroup: FormGroup;\n\n expandedFiltro = null;\n dataFilter = []\n\n isEdit = false;\n\n columnsToDisplay = ['Campo', 'Grupo', 'Texto'];\n @ViewChild(MatTable,{static:true}) table: MatTable;\n\n\n constructor(\n private _formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data\n ) { }\n\n ngOnInit(): void {\n this.firstFormGroup = this._formBuilder.group({\n firstCtrl: ['', Validators.required]\n });\n this.secondFormGroup = this._formBuilder.group({\n secondCtrl: ['', Validators.required]\n });\n this.thirdFormGroup = this._formBuilder.group({\n thirdCtrl: ['', Validators.required],\n fourthCtrl: ['', Validators.required]\n });\n this.dataFilter = this.data.dataFilter;\n }\n\n /**Agrega filtro */\n addFilter(){\n this.dataFilter.push({\n Campo: this.firstFormGroup.controls.firstCtrl.value, \n Grupo: this.secondFormGroup.controls.secondCtrl.value[0],\n idGrupo: this.secondFormGroup.controls.secondCtrl.value[1],\n Texto: this.thirdFormGroup.controls.thirdCtrl.value, \n Codigos: this.thirdFormGroup.controls.fourthCtrl.value\n });\n this.Toast.fire({\n icon: 'success',\n title: 'Filtro agregado exitosamente!'\n });\n this.table.renderRows();\n \n }\n\n /**Elimina filtro */\n deleteFilter(element: any){\n this.dataFilter = this.dataFilter.filter((value,key)=>{\n return value.Texto != element.Texto;\n });\n }\n\n /**Editar filtro */\n openEditFilter(element: any){\n this.isEdit = true;\n }\n\n editFilter(element: any){\n this.isEdit = false;\n this.dataFilter = this.dataFilter.filter((value,key)=>{\n if(value.Texto == element.Texto){\n value.name = element.Codigos;\n }\n return true;\n });\n }\n\n}\n","

Filtro de texto

\n\n \n\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n
{{column}} {{element[column]}} \n
\n
\n
\n \n \n \n\n \n
\n Lista de codigos: \n

{{element.Codigos}}

\n \n
\n
\n
\n
\n\n \n \n \n
\n Selecciona la variable de texto a filtrar\n \n Selecciona variable texto\n \n \n {{texto}}\n \n \n \n
\n \n
\n
\n
\n \n
\n Selecciona el grupo de códigos que se filtrarán por la variable de texto\n \n Selecciona variable texto\n \n \n {{grupo.name}}\n \n \n \n
\n \n \n
\n
\n
\n \n
\n Agrega texto y lista de códigos especificos a filtrar\n \n \n Texto\n \n \n \n \n Códigos\n \n \n
\n \n Agregar\n
\n
\n
\n
\n \n
\n
\n
\n\n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {CdkDragDrop, moveItemInArray} from '@angular/cdk/drag-drop';\n\nimport Swal from 'sweetalert2';\n\nimport { PantallaService } from './pantalla.service';\nimport { CodigoService } from '../codigo/codigo.service';\n\nimport { ValidaComponent } from './valida/valida.component';\nimport { FiltroComponent } from './filtro/filtro.component';\n\nexport interface DialogData {\n proyecto: number;\n id: number;\n pantalla: boolean;\n}\n\n@Component({\n selector: 'app-pantalla',\n templateUrl: './pantalla.component.html',\n styleUrls: ['./pantalla.component.scss']\n})\nexport class PantallaComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n \n step = null;\n textList = [];\n\n dataCod = [];\n displayedColumns = [];\n\n grupos = [];\n grupoList = {};\n grupoCol = [];\n\n valColList = []; /**Validacion de columnas [codigo duplicado, celda vacia] */\n valRowList = []; /**Validacion de renglones [codigo duplicado, celda vacia]*/\n\n dataFilter = [];\n\n ispantalla: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialog: MatDialog,\n private pantallaService: PantallaService,\n private codigoService: CodigoService\n ) { }\n\n ngOnInit(): void {\n this.readPantalla();\n this.readGrupo();\n this.ispantalla = this.data.pantalla;\n }\n \n ////////////////////////////Funciones de acordion\n setStep(index: number) {\n this.step = index;\n }\n\n nextStep() {\n this.step++;\n }\n\n prevStep() {\n this.step--;\n }\n\n ////////////////Agrega caja de texto\n addText(){\n let num = this.textList.length;\n this.textList.push('txt' + (num + 1));\n }\n\n ///////////////////////////////Edita caja de texto\n editText(index: number){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage('Campo requerido');\n }\n }\n }).queue([\n { inputValue: `${ this.textList[index] }` }\n ]).then((result: any) => {\n if (result.value) {\n const txt = result.value[0].replace(' ','_').toLowerCase();\n this.textList[index] = txt;\n }\n })\n }\n\n ///////////////////Eliminar caja de texto\n deleteText(index: number){\n this.textList = [\n ...this.textList.slice(0, index),\n ...this.textList.slice(index + 1)\n ];\n }\n\n ////////////////////////////////////////////////Tablas de codigos\n\n ///////////////////Crea tabla de codigos\n addTable(){\n this.displayedColumns.push(['Nota 1']);\n this.dataCod.push([['Nota 1', 'code11']]);\n this.valColList.push([[false, false]]);\n this.valRowList.push([[false, false]]);\n this.grupoCol.push([null]);\n }\n\n ///////////////////Elimina tabla de codigos\n deleteTable(table: number){\n this.dataCod = [\n ...this.dataCod.slice(0, table),\n ...this.dataCod.slice(table + 1)\n ];\n this.displayedColumns = [\n ...this.displayedColumns.slice(0, table),\n ...this.displayedColumns.slice(table + 1)\n ];\n this.grupoCol = [\n ...this.grupoCol.slice(0, table),\n ...this.grupoCol.slice(table + 1)\n ];\n this.valColList = [\n ...this.valColList.slice(0, table),\n ...this.valColList.slice(table + 1)\n ];\n }\n \n ////////////////////Agrega columna de codigos\n addColumn(table: number) {\n let next = this.displayedColumns[table].length + 1;\n this.displayedColumns[table].push('Nota ' + next);\n this.grupoCol[table].push(null);\n this.valColList[table].push([false, false]);\n this.dataCod[table].forEach((element, index) => {\n this.dataCod[table][index].push('code' + String(index + 1) + String(next));\n });\n }\n\n deleteCol(table: number, column: number) {\n if (this.displayedColumns[table].length > 1) {\n this.displayedColumns[table] = [\n ...this.displayedColumns[table].slice(0, column),\n ...this.displayedColumns[table].slice(column + 1)\n ];\n this.grupoCol[table] = [\n ...this.grupoCol[table].slice(0, column),\n ...this.grupoCol[table].slice(column + 1)\n ];\n this.valColList[table] = [\n ...this.valColList[table].slice(0, column),\n ...this.valColList[table].slice(column + 1)\n ];\n this.dataCod[table].forEach((element, index) => {\n this.dataCod[table][index] = [\n ...this.dataCod[table][index].slice(0, (column + 1)),\n ...this.dataCod[table][index].slice((column + 1) + 1)\n ];\n }); \n }\n }\n\n addRow(table: number) {\n let next = this.dataCod[table].length + 1;\n let row = ['Nota ' + next];\n this.displayedColumns[table].forEach((element, index) => {\n row.push('code' + String(next) + String(index + 1));\n });\n this.dataCod[table].push(row);\n }\n\n deleteRow(table: number, row: number){\n if (this.dataCod[table].length > 1) {\n this.dataCod[table] = [\n ...this.dataCod[table].slice(0, row),\n ...this.dataCod[table].slice(row + 1)\n ];\n }\n \n }\n\n ///////////////////Editar notas de columna\n editCol(table: number, col: number){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage('Campo requerido');\n }\n }\n }).queue([\n { inputValue: `${ this.displayedColumns[table][col] }` }\n ]).then((result: any) => {\n if (result.value) {\n const txt = result.value[0];\n this.displayedColumns[table][col] = txt;\n }\n })\n }\n\n ///////////////////Editar codigos\n editCode(table: number, row: number, col: number){\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Editar',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values) {\n Swal.showValidationMessage('Campo requerido');\n }\n }\n }).queue([\n { inputValue: `${ this.dataCod[table][row][col] }` }\n ]).then((result: any) => {\n if (result.value) {\n const txt = col > 0 ? result.value[0].replace(' ','_').toLowerCase() : result.value[0]; \n this.dataCod[table][row][col] = txt;\n }\n })\n } \n\n dropText(event: CdkDragDrop) {\n moveItemInArray(this.textList, event.previousIndex, event.currentIndex);\n }\n\n\n /////////////////////////////// Busca pantalla\n readPantalla(){\n this.pantallaService.readPantalla(this.data.id)\n .subscribe( (data) => {\n this.textList = data['txt'] ? data['txt'] : [];\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\n this.dataCod = data['codes'] ? data['codes'] : [];\n this.grupoCol = data['grupo'] ? data['grupo'] : [];\n this.valColList = data['valcol'] ? data['valcol'] : [];\n this.valRowList = data['valrow'] ? data['valrow'] : [];\n this.dataFilter = data['filter'] ? data['filter'] : [];\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n /////////////////////////Crear Pantalla\n createPantalla() {\n let pantalla = {\n texto: this.textList,\n colnota: this.displayedColumns,\n codes: this.dataCod,\n codificacion: this.data.id,\n grupo: this.grupoCol,\n valcol : this.valColList,\n valrow: this.valRowList,\n filter: this.dataFilter\n }\n console.log(pantalla)\n this.pantallaService.createPantalla(pantalla)\n .subscribe( (data) => {\n if (data[1]) {\n this.ispantalla = true;\n this.Toast.fire({\n icon: 'success',\n title: `${data[1]}`\n });\n }else if(data[0]){\n Swal.fire(\n `${data[0]}`,\n '',\n 'info'\n ); \n }\n },\n (error) => {\n Swal.fire(\n 'No fue posible guardar la pantalla, intente más tarde',\n '',\n 'info'\n );\n }\n );\n }\n\n //////////////////////Busca grupo de codigos\n readGrupo(){\n this.codigoService.readGrupo(this.data.proyecto)\n .subscribe( (data: any[]) => {\n this.grupos = Object.keys(data).map( (row) => {\n return {\n id: data[row][0], \n name: data[row][1],\n }\n });\n this.grupos = [{id: null, name: 'Ninguno'}, ...this.grupos]\n this.grupoList = this.grupos.reduce((o, key) => ({...o, [key.id]: key.name}), {});\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n //////////////////////Selecciona grupos de codigos\n async selectGrupo(table: number, col: number){\n let yourgrupo = this.grupoCol[table][col];\n const { value: grupo } = await Swal.fire({\n title: 'Selecciona un grupo de codigos',\n html: `Grupo actual: ${this.grupoList[yourgrupo] ? this.grupoList[yourgrupo] : 'Sin grupo'}`,\n input: 'select',\n inputOptions: this.grupoList,\n inputPlaceholder: 'Selecciona un grupo',\n showCancelButton: true,\n cancelButtonColor: '#d33',\n cancelButtonText: 'Cancelar',\n inputValidator: (value) => {\n if (!value) {\n return 'You need to write something!'\n }\n }\n });\n \n if (grupo) {\n this.grupoCol[table][col] = Number(grupo);\n }\n }\n\n //////Validacion\n async valide(type: string, table: number, col?: number,){\n let codigo = col!= null && col!= undefined ? this.valColList[table][col][0] : this.valRowList[table][0][0];\n let vacio = col!= null && col!= undefined ? this.valColList[table][col][1] : this.valRowList[table][0][1];\n const dialogRef = this.dialog.open(ValidaComponent, {\n width: '350px',\n disableClose: true,\n data: { type: type, codigo: codigo, vacio: vacio }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (col != null && col!= undefined) {\n this.valColList[table][col][0] = result.codigo;\n this.valColList[table][col][1] = result.vacio; \n }else{\n this.valRowList[table][0][0] = result.codigo;\n this.valRowList[table][0][1] = result.vacio; \n }\n });\n }\n\n\n ////////////////Filtros\n filter(){\n const dialogRef = this.dialog.open(FiltroComponent, {\n width: '50%',\n disableClose: true,\n data: { textList: this.textList, grupos: this.grupos, dataFilter: this.dataFilter }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n this.dataFilter = result;\n });\n }\n\n}\n","

Pantalla

\n
\n \n \n\n \n \n \n \n Variables de texto\n \n \n Se crean las variables de texto que contendrá la tabla\n text_rotation_none\n \n \n\n \n 0\" \n mat-icon-button\n class=\"text-primary\"\n matTooltip=\"Crear filtro de texto\" \n matTooltipPosition=\"right\"\n (click)=\"filter()\">\n filter_alt\n \n
\n
\n \n
{{txt}}
\n
\n \n \n \n \n
\n
\n
\n \n \n \n \n
\n\n \n \n \n \n Variables de captura\n \n \n Se crean las variables de captura que contendrá la tabla\n code\n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n {{ item }}\n \n \n \n \n \n
\n \n \n \n \n \n \n
\n\n \n \n \n \n {{ element }}\n\n
\n\n \n \n \n\n
\n\n
\n\n
\n\n \n \n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PantallaService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readPantalla(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/pantalla/${id}`, { headers });\n }\n\n ///////////////////////Crea pantalla\n createPantalla(pantalla: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/pantalla`, pantalla, { headers });\n }\n\n ///////////////////////Busca grupo\n readGrupo(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/grupo/${id}`, { headers });\n }\n\n}\n\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\nexport interface DialogData {\r\n codigo: boolean;\r\n vacio: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-valida',\r\n templateUrl: './valida.component.html',\r\n styleUrls: ['./valida.component.scss']\r\n})\r\nexport class ValidaComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","

Validación de {{ data['type'] }}

\n
\n

Selecciona la validaciones que requieras:

\n \n
    \n
  • \n No permitir códigos duplicados\n
  • \n
  • \n No permitir llenado parcial\n
  • \n
\n
\n
\n
\n \n
","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { ProyectoComponent } from './proyecto.component';\r\nimport { DetalleProyectoComponent } from './detalle-proyecto/detalle-proyecto.component';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'proyectos', component: ProyectoComponent },\r\n { path: 'proyectos/:proyecto', component: DetalleProyectoComponent }\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class ProyectoRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { AuthService } from '../../service/auth.service';\nimport { ProyectoService } from './proyecto.service';\n\nimport { EventoComponent } from './evento/evento.component';\n\n@Component({\n selector: 'app-proyecto',\n templateUrl: './proyecto.component.html',\n styleUrls: ['./proyecto.component.scss']\n})\nexport class ProyectoComponent implements OnInit {\n \n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n permissions = null;\n proyectoList = null;\n \n constructor(\n private proyectoService: ProyectoService,\n private auth: AuthService,\n public dialog: MatDialog,\n private router: Router\n ) { }\n\n async ngOnInit() {\n await this.getPermissions();\n this.readProyecto();\n }\n\n ///////////////////Busca permisos\n async getPermissions(){\n this.auth.getPermissions()\n .subscribe( (data) => {\n this.permissions = data;\n },\n (error) => {\n this.router.navigateByUrl('/login');\n }\n );\n }\n\n /////////////////////////////// Busca proyectos\n readProyecto(){\n this.proyectoService.readProyecto()\n .subscribe( (data) => {\n this.proyectoList = Object.keys(data).map( (i) => {\n return {id: i, name: data[i]}\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n /////////////////////Selecciona proyecto\n selectProyecto(id: number){\n this.router.navigateByUrl('proyectos/'+String(id));\n }\n\n /////////////////////////////// Crea proyecto\n createProyecto(){\n let campo = 1;\n Swal.mixin({\n input: 'text',\n confirmButtonText: 'Siguiente →',\n showCancelButton: true,\n cancelButtonText: 'Cancelar',\n cancelButtonColor: '#d33',\n allowEscapeKey: true,\n preConfirm: (values) =>{\n if (!values && campo < 3) {\n Swal.showValidationMessage(\n 'Campo requerido'\n );\n }else{\n campo += 1;\n }\n }\n }).queue([\n {\n title: 'Nuevo proyecto',\n text: 'Escribe el nombre del proyecto nuevo'\n },\n {\n title: 'Identificador',\n text: 'Escribe el nombre del campo que servira de identificador para tus tablas de codificación'\n },\n {\n title: 'Variable de control (Opcional)',\n text: 'Escribe el nombre del campo que servira como variable de control (Variable de corte, periodo, etc.). Por default se creara una variable llamada \"control\"'\n }\n ]).then((result: any) => {\n if (result.value) {\n let body = {\n nombre: result.value[0],\n identificador: result.value[1].toLowerCase(),\n control: result.value[2].toLowerCase()\n };\n this.proyectoService.createProyecto(body)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Proyecto creado correctamente'\n });\n this.readProyecto();\n },\n (error) => {\n Swal.fire(\n `¡Se generó un error al crear el proyecto ${result.value[0]}, revise que el nombre del proyecto no este duplicado, o intente más tarde!`,\n '',\n 'info'\n );\n }\n );\n }\n })\n }\n\n /////////////Lleva a vista de eventos\n openDialogEvento() {\n const dialogRef = this.dialog.open(EventoComponent, {\n width: '100%',\n disableClose: true\n });\n\n }\n\n}\n","
\r\n

workProyectos

\r\n
\r\n \r\n
\r\n 2\" \r\n mat-icon-button\r\n class=\"text-primary float-right\" \r\n matTooltip=\"Ver eventos\" \r\n matTooltipPosition=\"above\"\r\n (click)=\"openDialogEvento()\">\r\n event_note\r\n \r\n 1\" \r\n mat-icon-button\r\n class=\"text-success\" \r\n matTooltip=\"Crea nuevo proyecto\" \r\n matTooltipPosition=\"above\"\r\n (click)=\"createProyecto()\">\r\n add_circle_outline\r\n \r\n Proyecto\r\n
\r\n \r\n
\r\n \r\n \r\n folder\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { ProyectoRoutingModule } from './proyecto-routing.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\n\r\nimport { ProyectoComponent } from './proyecto.component';\r\nimport { CodigoComponent } from './codigo/codigo.component';\r\nimport { PantallaComponent } from './pantalla/pantalla.component';\r\nimport { VistaComponent } from './vista/vista.component';\r\nimport { ValidaComponent } from './pantalla/valida/valida.component';\r\nimport { FiltroComponent } from './pantalla/filtro/filtro.component';\r\nimport { RegistroComponent } from './registro/registro.component';\r\nimport { DetalleProyectoComponent } from './detalle-proyecto/detalle-proyecto.component';\r\nimport { RegistroEditaComponent } from './registro/registro-edita/registro-edita.component';\r\nimport { RegistroFiltroComponent } from './registro/registro-filtro/registro-filtro.component';\r\nimport { AvanzadasComponent } from './avanzadas/avanzadas.component';\r\nimport { CodificacionComponent } from './codificacion/codificacion.component';\r\nimport { RevisionComponent } from './revision/revision.component';\r\nimport { CodificacionFiltroComponent } from './codificacion/codificacion-filtro/codificacion-filtro.component';\r\nimport { DescargaComponent } from './descarga/descarga.component';\r\nimport { AvanceComponent } from './avance/avance.component';\r\nimport { AvanceFiltroComponent } from './avance/avance-filtro/avance-filtro.component';\r\nimport { EventoComponent } from './evento/evento.component';\r\nimport { RegistroLogsComponent } from './registro/registro-logs/registro-logs.component';\r\nimport { RegistroNuevoComponent } from './registro/registro-nuevo/registro-nuevo.component';\r\nimport { RevisionFiltroComponent } from './revision/revision-filtro/revision-filtro.component';\r\nimport { ImportarComponent } from './importar/importar.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n ProyectoRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n NgSelectModule,\r\n BrowserModule,\r\n NgApexchartsModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n ProyectoComponent,\r\n CodigoComponent,\r\n PantallaComponent,\r\n VistaComponent,\r\n ValidaComponent,\r\n FiltroComponent,\r\n RegistroComponent,\r\n DetalleProyectoComponent,\r\n RegistroEditaComponent,\r\n RegistroFiltroComponent,\r\n AvanzadasComponent,\r\n CodificacionComponent,\r\n RevisionComponent,\r\n CodificacionFiltroComponent,\r\n DescargaComponent,\r\n AvanceComponent,\r\n AvanceFiltroComponent,\r\n EventoComponent,\r\n RegistroLogsComponent,\r\n RegistroNuevoComponent,\r\n RevisionFiltroComponent,\r\n ImportarComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class ProyectoModule { }\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProyectoService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca proyecto\n readProyecto(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/proyecto`, { headers });\n }\n\n ///////////////////////Crea proyecto\n createProyecto(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/proyecto`, body, { headers });\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { RegistroService } from '../registro.service';\r\n\r\n@Component({\r\n selector: 'app-registro-edita',\r\n templateUrl: './registro-edita.component.html',\r\n styleUrls: ['./registro-edita.component.scss']\r\n})\r\nexport class RegistroEditaComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n camposList = null;\r\n camposForm = new FormControl();\r\n singleForm: FormGroup;\r\n multipleForm: FormGroup;\r\n selectList = null;\r\n registrosList = [];\r\n\r\n estadoList = [\r\n {value: 0, viewValue: 'Sin usar'},\r\n {value: 1, viewValue: 'Finalizado'},\r\n {value: 2, viewValue: 'Pendiente'},\r\n {value: 3, viewValue: 'No es posible completar'}\r\n ];\r\n selectedEstado = null;\r\n\r\n campoGrupo = null;\r\n codigos = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n isdisabled = true;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readRegistroCodigo();\r\n this.camposList = [this.data.campos[2], this.data.campos[4], ...this.data.campos.slice(8, this.data.campos.length)];\r\n this.data.registros.forEach(element => {\r\n this.registrosList.push(element['procod_id']);\r\n });\r\n if (!this.data.multiple) {\r\n switch (this.data.registros[0]['estado']) {\r\n case 'Sin usar':\r\n this.selectedEstado = 0;\r\n break;\r\n case 'Finalizado':\r\n this.selectedEstado = 1;\r\n break;\r\n case 'Pendiente':\r\n this.selectedEstado = 2;\r\n break;\r\n case 'No es posible completar':\r\n this.selectedEstado = 3;\r\n break;\r\n }\r\n\r\n let group = {};\r\n this.camposList.forEach(element => {\r\n if (element=='estado') {\r\n group[element] = new FormControl(this.selectedEstado); \r\n } else {\r\n group[element] = new FormControl(this.data.registros[0][element] ? this.data.registros[0][element] : ''); \r\n }\r\n });\r\n this.singleForm = new FormGroup(group);\r\n }\r\n }\r\n\r\n camposSelect(){\r\n let group = {};\r\n this.selectList = this.camposForm.value;\r\n this.selectList.forEach(element => {\r\n group[element] = new FormControl('');\r\n });\r\n this.camposForm.disable();\r\n this.isdisabled = false;\r\n this.multipleForm = new FormGroup(group); \r\n }\r\n\r\n camposDelete(){\r\n this.camposForm.reset();\r\n this.camposForm.enable();\r\n this.selectList = null;\r\n this.multipleForm = null;\r\n this.isdisabled = true;\r\n }\r\n\r\n updateRegistro(){\r\n let body = null;\r\n if (this.data.multiple) {\r\n body = {\r\n edit: this.multipleForm.value,\r\n registro: this.registrosList,\r\n codificacion: this.data.codificacion\r\n }\r\n } else {\r\n body = {\r\n edit: this.singleForm.value,\r\n registro: this.registrosList,\r\n codificacion: this.data.codificacion\r\n }\r\n }\r\n Swal.fire({\r\n title: '¿Estas seguro de editar los registros seleccionados?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, editar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: 'Editando registros...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.registroService.updateRegistro(body)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Registros editados correctamente'\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al editar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n \r\n }\r\n \r\n /* Busca codigos de codificacion */\r\n readRegistroCodigo(){\r\n this.registroService.readRegistroCodigo(this.data.codificacion).\r\n subscribe( (data) => {\r\n this.campoGrupo = data['campos'][0];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigos = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n /**Elimina Codigo */\r\n deleteCode(campo: any){\r\n this.singleForm.controls[campo].reset();\r\n }\r\n\r\n}\r\n","

Edición de registros

\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
CampoValor
{{ campo }}{{ data.registros[0][campo] }}{{ campo }}{{ campo }}\n \n Selecciona estado\n \n \n {{estado.viewValue}}\n \n \n \n =8 && campoGrupo\">{{ campo }}=8 && campoGrupo\">\n \n \n \n

\n

\n Seleccionado: {{ singleForm.value[campo]['description'] }}\n

\n
=8 && campoGrupo\">\n \n clear\n \n
\n
\n
\n\n
\n
\n \n Campos editables\n \n {{campo}}\n \n \n add\n delete\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CampoValor
{{ campo }}\n \n \n \n \n

\n

\n Seleccionado: {{ multipleForm.value[campo]['description'] }}\n

\n
\n \n clear\n \n \n \n Selecciona estado\n \n \n {{estado.viewValue}}\n \n \n \n
\n
\n
\n
\n\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { RegistroService } from '../registro.service';\r\n\r\n@Component({\r\n selector: 'app-registro-filtro',\r\n templateUrl: './registro-filtro.component.html',\r\n styleUrls: ['./registro-filtro.component.scss']\r\n})\r\nexport class RegistroFiltroComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n panelOpenState = false;\r\n\r\n estadoList = [\r\n {value: 0, viewValue: 'Sin usar'},\r\n {value: 1, viewValue: 'Finalizado'},\r\n {value: 2, viewValue: 'Pendiente'},\r\n {value: 3, viewValue: 'No es posible completar'}\r\n ];\r\n selectedEstado = null;\r\n\r\n estadoForm = new FormControl();\r\n fechaIniForm = new FormControl();\r\n fechaFinForm = new FormControl();\r\n camposForm = new FormControl();\r\n multipleForm: FormGroup = null;\r\n\r\n camposList = null;\r\n selectList = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.camposList = [this.data.campos[1], this.data.campos[2], ...this.data.campos.slice(9, this.data.campos.length)];\r\n }\r\n\r\n /**Seleccion de campo */\r\n camposSelect(){\r\n let group = {};\r\n this.selectList = this.camposForm.value;\r\n this.camposForm.value.forEach(element => {\r\n group[element] = new FormControl('');\r\n });\r\n this.multipleForm = new FormGroup(group);\r\n }\r\n\r\n //////////Busca registros\r\n readRegistro(){\r\n Swal.fire({\r\n title: 'Cargando registros...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let body = {\r\n codificacion: this.data.codificacion,\r\n estado: this.estadoForm.value,\r\n fechaini: this.fechaIniForm.value ? (new Date(this.fechaIniForm.value)).toDateString() : null,\r\n fechafin: this.fechaFinForm.value ? (new Date(this.fechaFinForm.value)).toDateString() : null,\r\n custom: this.multipleForm ? this.multipleForm.value : null\r\n };\r\n this.registroService.readRegistroFiltro(body)\r\n .subscribe( (data) => {\r\n Swal.close();\r\n this.dialogRef.close(data);\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al filtrar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n\r\n}\r\n","

Filtro de registro

\n\n \n \n\n \n \n Fechas de carga\n \n \n Busca registros cargados en el rango de fechas seleccionado.\n \n \n\n \n Fecha inicio\n \n \n \n \n \n Fecha fin\n \n \n \n \n \n\n \n \n \n Estado de registro\n \n \n Busca registros por estado.\n \n \n \n Estado\n \n {{estado.viewValue}}\n \n \n \n\n \n \n \n Filtro personalizado\n \n \n Busca registros con filtro personalizado.\n \n \n
\n
\n \n Campos disponibles\n \n {{campo}}\n \n \n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
CampoValores a buscar
{{ campo }}\n \n \n \n Selecciona estado\n \n \n {{estado.viewValue}}\n \n \n \n
\n
\n
\n
\n
\n
\n\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {MatTableDataSource} from '@angular/material/table';\n\nimport { RegistroService } from '../registro.service';\n\n@Component({\n selector: 'app-registro-logs',\n templateUrl: './registro-logs.component.html',\n styleUrls: ['./registro-logs.component.scss']\n})\nexport class RegistroLogsComponent implements OnInit {\n\n logsList = [];\n dataSourceLogs = null;\n logsColumns: string[] = ['fecha' ,'usuario', 'identificador', 'mensaje'];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private registroService: RegistroService\n ) { }\n\n ngOnInit(): void {\n this.readLogs();\n }\n\n /////////////////////////////// Busca eventos\n readLogs(){\n this.registroService.readLogs(this.data.codificacion, this.data.registro)\n .subscribe( (data) => {\n this.logsList = Object.keys(data).map( (row) => {\n return {\n fecha: data[row][0],\n usuario: data[row][1],\n identificador: data[row][2],\n mensaje: data[row][3]\n }\n });\n this.dataSourceLogs = new MatTableDataSource(this.logsList);\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n}\n","

Historia de registro

\n\n
\n \n \n \n \n \n \n \n \n \n
{{ column=='identificador' ? data.identificador : column }} {{element[column]}}
\n
\n
\n\n \n\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { RegistroService } from '../registro.service';\r\n\r\n@Component({\r\n selector: 'app-registro-nuevo',\r\n templateUrl: './registro-nuevo.component.html',\r\n styleUrls: ['./registro-nuevo.component.scss']\r\n})\r\nexport class RegistroNuevoComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n singleForm: FormGroup;\r\n\r\n estadoList = [\r\n {value: 0, viewValue: 'Sin usar'},\r\n {value: 1, viewValue: 'Finalizado'},\r\n {value: 2, viewValue: 'Pendiente'},\r\n {value: 3, viewValue: 'No es posible completar'}\r\n ];\r\n selectedEstado = null;\r\n campoGrupo = null;\r\n codigos = null;\r\n camposList = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readRegistroCodigo();\r\n this.camposList = [this.data.campos[1], this.data.campos[2], ...this.data.campos.slice(9, this.data.campos.length)];\r\n let group = {};\r\n this.camposList.forEach(element => {\r\n group[element] = new FormControl(''); \r\n });\r\n this.singleForm = new FormGroup(group);\r\n }\r\n\r\n /**Elimina Codigo */\r\n deleteCode(campo: any){\r\n this.singleForm.controls[campo].reset();\r\n }\r\n\r\n /* Busca codigos de codificacion */\r\n readRegistroCodigo(){\r\n this.registroService.readRegistroCodigo(this.data.codificacion).\r\n subscribe( (data) => {\r\n this.campoGrupo = data['campos'][0];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigos = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n },\r\n (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n /**Añadir registro */\r\n async uploadRegistro(){\r\n let body = {\r\n data: [this.singleForm.value],\r\n codificacion: this.data.codificacion,\r\n control: this.data.control,\r\n control_value: this.singleForm.value[this.data.control]\r\n };\r\n this.registroService.createRegistro(body)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: `Registro cargado correctamente`\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al cargar el registro, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n\r\n}\r\n","

Añadir registro

\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
CampoValor
{{ campo }}{{ campo }}=9 && campoGrupo\">{{ campo }}=9 && campoGrupo\">\r\n \r\n \r\n \r\n

\r\n

\r\n Seleccionado: {{ singleForm.value[campo]['description'] }}\r\n

\r\n
=9 && campoGrupo\">\r\n \r\n clear\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {SelectionModel} from '@angular/cdk/collections';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport * as XLSX from 'xlsx';\r\n\r\nimport { RegistroService } from './registro.service';\r\nimport { DetalleExcelService } from '../detalle-proyecto/detalle-excel.service';\r\n\r\nimport { RegistroEditaComponent } from './registro-edita/registro-edita.component';\r\nimport { RegistroFiltroComponent } from './registro-filtro/registro-filtro.component';\r\nimport { RegistroLogsComponent } from './registro-logs/registro-logs.component';\r\nimport { RegistroNuevoComponent } from './registro-nuevo/registro-nuevo.component';\r\n\r\n@Component({\r\n selector: 'app-registro',\r\n templateUrl: './registro.component.html',\r\n styleUrls: ['./registro.component.scss']\r\n})\r\nexport class RegistroComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n columnsToDisplay = null;\r\n columnsList = null;\r\n idColumns = null;\r\n controlColumns = null;\r\n variableColumns = null;\r\n menuColumns = null;\r\n\r\n registroList = [];\r\n\r\n selection = new SelectionModel(true, []);\r\n dataSource = null;\r\n\r\n labels = 'value';\r\n defaultTxt = true;\r\n\r\n idProcodList = [];\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private registroService: RegistroService,\r\n private detalleExcelService: DetalleExcelService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.readRegistro();\r\n }\r\n\r\n /** Whether the number of selected elements matches the total number of rows. */\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n /** Selects all rows if they are not all selected; otherwise clear selection. */\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.dataSource.data.forEach(row => this.selection.select(row));\r\n }\r\n\r\n /** The label for the checkbox on the passed row */\r\n checkboxLabel(row?: any): string {\r\n if (!row) {\r\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\r\n }\r\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\r\n }\r\n\r\n /////////////////////////////// Busca proyectos\r\n readRegistro(){\r\n let body = {\r\n codificacion: this.data.id,\r\n procod_id: this.idProcodList\r\n };\r\n this.registroService.readRegistro(body)\r\n .subscribe( (data) => {\r\n this.columnsList = data['campos'];\r\n this.columnsToDisplay = ['select',...data['campos'].slice(1, data['campos'].length), 'star'];\r\n this.registroList = data['resultado'];\r\n this.dataSource = new MatTableDataSource(this.registroList);\r\n this.idColumns = this.columnsToDisplay[1];\r\n this.controlColumns = this.columnsToDisplay[2];\r\n this.variableColumns = [...this.columnsToDisplay.slice(2, this.columnsToDisplay.length - 1)];\r\n this.menuColumns = this.columnsToDisplay[this.columnsToDisplay.length - 1];\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n async uploadRegistro(){\r\n Swal.fire({\r\n title: 'Selecciona xlsx',\r\n input: 'file',\r\n inputAttributes: {\r\n 'accept': 'file/*',\r\n 'aria-label': 'Carga archivo xlsx'\r\n },\r\n showCancelButton: true,\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n confirmButtonText: 'Ok',\r\n showLoaderOnConfirm: true,\r\n preConfirm: (file) => {\r\n if (file) {\r\n const reader = new FileReader;\r\n reader.onload = (e) => {\r\n const data = reader.result;\r\n let workBook = XLSX.read(data, { type: 'binary' });\r\n let sheet1 = workBook.SheetNames[0];\r\n let sheet = workBook.Sheets[sheet1];\r\n let jsonData = XLSX.utils.sheet_to_json(sheet);\r\n let arrayData = [];\r\n jsonData.forEach(element => {\r\n let row = [];\r\n Object.keys(element).map(r =>{\r\n row.push(element[r]);\r\n });\r\n arrayData.push(row);\r\n });\r\n Swal.mixin({\r\n input: 'text',\r\n inputPlaceholder: `${this.controlColumns}`,\r\n }).queue([\r\n {\r\n title: 'Carga de datos',\r\n html: `\r\n El archivo contiene ${arrayData.length} registros.

\r\n Agrega un valor a tu variable ${this.controlColumns} (Opcional)\r\n `,\r\n icon: 'info',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Cargar'\r\n }\r\n ]).then((result) => {\r\n if (result) {\r\n let body = {\r\n data: jsonData,\r\n codificacion: this.data.id,\r\n control: this.controlColumns,\r\n control_value: result['value'][0],\r\n };\r\n this.registroService.createRegistro(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n text: `Registros cargados: ${data}`\r\n })\r\n this.readRegistro();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al cargar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n };\r\n reader.readAsBinaryString(file);\r\n }\r\n },\r\n allowOutsideClick: () => !Swal.isLoading()\r\n });\r\n }\r\n\r\n deleteRegistro(multiple: boolean, registro?: any){\r\n let deletes = null;\r\n let item = [];\r\n if (multiple) {\r\n for(let select of this.selection.selected){\r\n item.push(select.procod_id);\r\n } \r\n } else {\r\n item.push(registro.procod_id);\r\n }\r\n deletes = item.toString();\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar los ${item.length} registros seleccionados?`,\r\n text: 'Se eliminaran permanentemente los registros',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n this.registroService.deleteRegistro(deletes, this.data.id)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: `Registros eliminados: ${data}`\r\n });\r\n this.selection.clear();\r\n this.readRegistro();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al eliminar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n /////////////Lleva a vista de edicion de registros\r\n openDialogEditRegistro(multiple: boolean, row?: any) {\r\n let registros = multiple ? this.selection.selected : [row];\r\n const dialogRef = this.dialog.open(RegistroEditaComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { \r\n codificacion: this.data.id, \r\n multiple: multiple, \r\n control: this.controlColumns,\r\n registros: registros,\r\n campos: this.columnsList\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.selection.clear();\r\n this.readRegistro();\r\n });\r\n }\r\n\r\n openDialogFilterRegistro(){\r\n const dialogRef = this.dialog.open(RegistroFiltroComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: { \r\n codificacion: this.data.id,\r\n control: this.controlColumns,\r\n campos: this.columnsList\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.defaultTxt = false;\r\n this.selection.clear();\r\n this.columnsList = result['campos'];\r\n this.columnsToDisplay = ['select',...result['campos'].slice(1, result['campos'].length), 'star'];\r\n this.registroList = result['resultado'];\r\n this.dataSource = new MatTableDataSource(this.registroList);\r\n this.idColumns = this.columnsToDisplay[1];\r\n this.controlColumns = this.columnsToDisplay[2];\r\n this.variableColumns = [...this.columnsToDisplay.slice(2, this.columnsToDisplay.length - 1)];\r\n this.menuColumns = this.columnsToDisplay[this.columnsToDisplay.length - 1]; \r\n result['resultado'].forEach(element => {\r\n this.idProcodList.push(element.procod_id);\r\n });\r\n }\r\n });\r\n }\r\n\r\n //////////////Descarga codificacion\r\n downloadCodificacion(){\r\n let body = {\r\n codificacion: this.data.codificacion,\r\n columns: [this.idColumns, ...this.variableColumns],\r\n data: this.dataSource.data,\r\n labels: this.labels\r\n };\r\n this.detalleExcelService.downloadCodificacion(body);\r\n }\r\n\r\n ////////////////Revisa si el valor es un objeto\r\n isObject(value: any){\r\n if (typeof value === 'object' && value !== null) {\r\n return value[this.labels];\r\n } else {\r\n return value;\r\n }\r\n }\r\n\r\n ///////////////Mortrar etiquetas\r\n showLabels(value: any){\r\n if(value){\r\n this.labels = 'description';\r\n }else{\r\n this.labels = 'value';\r\n }\r\n this.readRegistro();\r\n }\r\n\r\n /////////////Lleva a vista de logs\r\n openDialogLogs(row: any) {\r\n const dialogRef = this.dialog.open(RegistroLogsComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: {\r\n identificador: this.idColumns,\r\n codificacion: this.data.id,\r\n registro: row['procod_id']\r\n }\r\n });\r\n\r\n }\r\n\r\n /////////////Lleva a vista de añadir registro\r\n addRegistro() {\r\n const dialogRef = this.dialog.open(RegistroNuevoComponent, {\r\n width: '100%',\r\n disableClose: true,\r\n data: {\r\n codificacion: this.data.id, \r\n control: this.controlColumns,\r\n campos: this.columnsList\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readRegistro();\r\n });\r\n\r\n }\r\n\r\n /**\r\n * @description Carga de registros desde xlsx\r\n */\r\n async uploadRegistroJson(){\r\n Swal.fire({\r\n title: 'Selecciona xlsx',\r\n input: 'file',\r\n inputAttributes: {\r\n 'accept': 'file/*',\r\n 'aria-label': 'Carga archivo xlsx'\r\n },\r\n showCancelButton: true,\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: 'Cancelar',\r\n confirmButtonText: 'Ok',\r\n showLoaderOnConfirm: true,\r\n preConfirm: (file) => {\r\n if (file) {\r\n const reader = new FileReader;\r\n reader.onload = (e) => {\r\n const data = reader.result;\r\n let workBook = XLSX.read(data, { type: 'binary' });\r\n let sheet1 = workBook.SheetNames[0];\r\n let sheet = workBook.Sheets[sheet1];\r\n let jsonData = XLSX.utils.sheet_to_json(sheet);\r\n let arrayData = [];\r\n jsonData.forEach(element => {\r\n let row = [];\r\n Object.keys(element).map(r =>{\r\n row.push(element[r]);\r\n });\r\n arrayData.push(row);\r\n });\r\n Swal.mixin({\r\n input: 'text',\r\n inputPlaceholder: `${this.controlColumns}`,\r\n }).queue([\r\n {\r\n title: 'Carga de datos',\r\n html: `\r\n El archivo contiene ${arrayData.length} registros.

\r\n Agrega un valor a tu variable ${this.controlColumns} (Opcional)\r\n `,\r\n icon: 'info',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Cargar'\r\n }\r\n ]).then((result) => {\r\n if (result) {\r\n let body = {\r\n data: jsonData,\r\n codificacion: this.data.id,\r\n control: this.controlColumns,\r\n control_value: result['value'][0],\r\n };\r\n this.registroService.createRegistro(body)\r\n .subscribe( (data) => {\r\n Swal.fire({\r\n icon: 'success',\r\n text: `Registros cargados: ${data}`\r\n })\r\n this.readRegistro();\r\n },\r\n (error) => {\r\n Swal.fire(\r\n 'Error',\r\n 'Ocurrio un error al cargar los registros, intenta más tarde.',\r\n 'error'\r\n );\r\n });\r\n }\r\n })\r\n };\r\n reader.readAsBinaryString(file);\r\n }\r\n },\r\n allowOutsideClick: () => !Swal.isLoading()\r\n });\r\n }\r\n\r\n validarCodigos(){\r\n Swal.fire({\r\n title: 'Revisando registros',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let body = {codificacion: this.data.id}\r\n this.registroService.validaCodigos(body)\r\n .subscribe( (data: any) => {\r\n console.log(data)\r\n if(data.length > 0){\r\n let texto = '';\r\n data.forEach(element => {\r\n texto += `${element['campo']}: ${element['codigo']}
`\r\n });\r\n Swal.fire({\r\n icon: 'info',\r\n title: '¡Revisar!',\r\n text: 'Revisa los códigos en los campos indicados.',\r\n html: texto\r\n })\r\n }else{\r\n Swal.fire({\r\n icon: 'success',\r\n title: '¡Perfecto!',\r\n text: 'Todos los códigos son validos.'\r\n })\r\n }\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n}\r\n","

Registros

\n

Cargando ...

\n\n \n \n \n \n \n \n Registros: {{dataSource.data.length}} (Por default se muestran los últimos 100 registros)\n \n Mostrar etiquetas\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 {{idColumns}} {{element[idColumns]}} {{column}} \n
6}\">{{ isObject(element[column]) }}
\n \n \n \n \n \n \n
\n
\n
\n
\n\n \n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RegistroService {\r\n\r\n env = environment;\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n ///////////////////////Busca registros\r\n readRegistro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n \r\n return this.http.post(`${ this.env.api }/registro/read`, body, { headers }); \r\n }\r\n\r\n \r\n /**\r\n * @description Crea registro\r\n * @param body Informacion de registros\r\n * @returns Estatus de respuesta\r\n * @deprecated En proceso de cambio por createRegistroJson\r\n */\r\n createRegistro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro`, body, { headers });\r\n }\r\n\r\n ///////////////////////Crea registro\r\n deleteRegistro(registro: any, codificacion: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.delete(`${ this.env.api }/registro/${codificacion}/${registro}`, { headers });\r\n }\r\n\r\n ///////////////////////Edita registro\r\n updateRegistro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n return this.http.put(`${ this.env.api }/registro`, body, { headers });\r\n }\r\n\r\n ///////////////////////Busca registros con filtro\r\n readRegistroFiltro(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro/filtro`, body, { headers });\r\n }\r\n\r\n ///////////////////////Busca registros con filtro\r\n readRegistroCodigo(codificacion: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/registro/${codificacion}/codigo`, { headers });\r\n }\r\n\r\n ///////////////////////Busca logs\r\n readLogs(codificacion: number, procod_id: number){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.get(`${ this.env.api }/logs/${codificacion}/${procod_id}`, { headers });\r\n }\r\n\r\n\r\n /**\r\n * @description Insert de registro nuevo\r\n * @param body Información de registro\r\n * @returns Estatus de respuesta\r\n */\r\n async createRegistroJson(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro`, body, { headers }).toPromise();\r\n }\r\n\r\n /**\r\n * @description Valida códigos\r\n */\r\n validaCodigos(body: any){\r\n let idToken = localStorage.getItem('idToken');\r\n const headers = new HttpHeaders({\r\n 'Authorization': idToken\r\n });\r\n\r\n return this.http.post(`${ this.env.api }/registro/valida`, body, { headers });\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { CodificacionFiltroComponent } from '../../codificacion/codificacion-filtro/codificacion-filtro.component';\n\n@Component({\n selector: 'app-revision-filtro',\n templateUrl: './revision-filtro.component.html',\n styleUrls: ['./revision-filtro.component.scss']\n})\nexport class RevisionFiltroComponent implements OnInit {\n\n controlValue = null;\n filtroValue = null;\n filtroEstado = null;\n\n estadoList = [\n { value: 1, name: 'Completado' },\n { value: 2, name: 'Pendiente' },\n { value: 3, name: 'No es posible completar' }\n ];\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data,\n ) { }\n\n ngOnInit(): void {\n this.controlValue = this.data.controlValue;\n this.filtroValue = this.data.filtroValue;\n this.filtroEstado = this.data.filtroEstado;\n }\n\n filtro(){\n let body = {\n controlValue: this.controlValue,\n filtroValue: this.filtroValue,\n filtroEstado: this.filtroEstado\n };\n this.dialogRef.close(body);\n }\n\n}\n","

Filtro de registros

\n\n
\n \n Seleccionar {{ data.control }}\n \n \n
\n \n Estado\n \n \n {{ estado.name }}\n \n \n \n
\n \n Seleccionar valor de campo\n \n \n {{ valor.texto }}\n \n \n \n
\n
\n\n \n \n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {FormControl, FormGroup} from '@angular/forms';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { RevisionService } from './revision.service';\r\nimport { RevisionFiltroComponent } from './revision-filtro/revision-filtro.component';\r\n\r\n@Component({\r\n selector: 'app-revision',\r\n templateUrl: './revision.component.html',\r\n styleUrls: ['./revision.component.scss']\r\n})\r\nexport class RevisionComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n identificador: string;\r\n textList = [];\r\n dataCod = [];\r\n displayedColumns = [];\r\n\r\n grupoCol = [];\r\n codigosDefault = null;\r\n codigos = null;\r\n\r\n valRowList = [];\r\n valColList = [];\r\n\r\n captura = [];\r\n\r\n estadoList = [\r\n { value: 1, name: 'Completado' },\r\n { value: 2, name: 'Pendiente' },\r\n { value: 3, name: 'No es posible completar' }\r\n ];\r\n\r\n selectEstado = null;\r\n\r\n config = {\r\n displayKey: 'description',\r\n search: true,\r\n height: '200px',\r\n placeholder:'Selecciona',\r\n noResultsFound: 'Sin resultados',\r\n searchPlaceholder:'Buscar...',\r\n clearOnSelection: false\r\n }\r\n\r\n registro = null;\r\n observacion = null;\r\n\r\n observacion_usuario = null;\r\n\r\n controlValue = null;\r\n filtro = null;\r\n filtroValue = null;\r\n filtroEstado = null;\r\n isvista = false;\r\n\r\n multipleForm: FormGroup = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private revisionService: RevisionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.readVista();\r\n }\r\n\r\n /////////////////////////////// Busca Vista\r\n readVista(){\r\n Swal.fire({\r\n title: 'Cargando pantalla...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n let group = {};\r\n this.revisionService.readVista(this.data.id)\r\n .subscribe(async (data) => {\r\n this.filtro = data['filtros'] ? data['filtros'] : null;\r\n this.identificador = data['id'] ? data['id'] : null;\r\n this.textList = data['txt'] ? data['txt'] : [];\r\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\r\n this.dataCod = data['codes'] ? data['codes'] : [];\r\n this.grupoCol = data['grupos'] ? data['grupos'] : [];\r\n let codigos = data['codigos'] ? data['codigos'] : [];\r\n this.codigosDefault = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\r\n this.valColList = data['valcol'] ? data['valcol'] : [];\r\n this.valRowList = data['valrow'] ? data['valrow'] : [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n k > 0 ? group[element] = new FormControl() : null;\r\n });\r\n });\r\n });\r\n this.multipleForm = new FormGroup(group);\r\n await this.readRegistro();\r\n Swal.close();\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n /**Busca validaciones */\r\n getValide(){\r\n let data = {\r\n captura: this.captura,\r\n codificacion: this.data.id\r\n }\r\n this.revisionService.getValide(data)\r\n .subscribe( (data: any) => {\r\n if(data.length > 0){\r\n let messages = data.join('');\r\n Swal.fire({\r\n title: 'Revisa las siguientes observaciones',\r\n icon: 'info',\r\n width: 700,\r\n html: `\r\n
    \r\n ${messages}\r\n
      \r\n `\r\n });\r\n }else{\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: true\r\n };\r\n this.updateRegistro(body);\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n\r\n /**Guarda informacion*/\r\n async sendData(){\r\n if (!this.selectEstado) {\r\n Swal.fire(\r\n '¡Debes seleccionar un estado!',\r\n '',\r\n 'info'\r\n ); \r\n }\r\n \r\n if (this.selectEstado > 1) {\r\n const { value: text } = await Swal.fire({\r\n title: 'Observaciones',\r\n input: 'textarea',\r\n inputPlaceholder: 'Escribe tus observaciones aquí...',\r\n confirmButtonText: 'Enviar',\r\n showCancelButton: true,\r\n cancelButtonText: 'Cancelar',\r\n cancelButtonColor: '#d33',\r\n });\r\n \r\n if (text) {\r\n this.observacion = text;\r\n let body = {\r\n observacion: this.observacion,\r\n data: this.multipleForm.value,\r\n codificacion: this.data.id,\r\n estado: this.selectEstado,\r\n identificador: this.registro['procod_id'],\r\n revision: true\r\n }\r\n \r\n this.updateRegistro(body);\r\n }\r\n }else if(this.selectEstado == 1){\r\n this.getValide();\r\n }\r\n }\r\n\r\n /////////////////////////////// Busca registro a codificar\r\n async readRegistro(){\r\n this.registro = null;\r\n let body = {\r\n codificacion: this.data.id,\r\n control: this.data['control'],\r\n control_value: this.controlValue,\r\n filtro: this.filtro,\r\n filtro_value: this.filtroValue,\r\n filtro_estado: this.filtroEstado\r\n };\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n return new Promise((resolve) => {\r\n this.revisionService.readRegistro(body)\r\n .subscribe( (data) => {\r\n this.isvista = false;\r\n this.registro = data['registro'];\r\n if (this.registro) {\r\n this.observacion_usuario = this.registro['procod_observacion'];\r\n this.selectEstado = this.registro['procod_estado'];\r\n Object.keys(this.registro).forEach(element => {\r\n this.multipleForm.controls[element] && this.registro[element] != null ? \r\n this.multipleForm.controls[element].setValue(this.registro[element]) : \r\n null;\r\n });\r\n if (data['codigos'].length > 0) {\r\n this.codigos = data['codigos'].reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});;\r\n }else{\r\n this.codigos = this.codigosDefault;\r\n }\r\n \r\n for (let table = 0; table < this.displayedColumns.length; table++) {\r\n for (let row = 0; row < this.dataCod[table].length; row++) {\r\n for (let column = 1; column < this.dataCod[table][row].length; column++) {\r\n this.captura[table][row][column - 1] = \r\n this.multipleForm.value[this.dataCod[table][row][column]] != \"\" ?\r\n this.multipleForm.value[this.dataCod[table][row][column]] :\r\n null;\r\n }\r\n }\r\n }\r\n this.isvista = true;\r\n resolve(data);\r\n } else {\r\n Swal.fire({\r\n icon: 'info',\r\n text: 'No hay registro disponibles',\r\n });\r\n } \r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }); \r\n }\r\n\r\n ///////////////////////// Guardar registro\r\n updateRegistro(body: any){\r\n Swal.fire({\r\n title: 'Guardando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.revisionService.updateRegistro(body)\r\n .subscribe(async (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Registro guardado correctamente'\r\n });\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n await this.readRegistro();\r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al guardar el registro'\r\n });\r\n }\r\n );\r\n }\r\n\r\n /////////////// Seleccionar filtro de registros\r\n openDialogFilterRegistro(){\r\n const dialogRef = this.dialog.open(RevisionFiltroComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { \r\n control: this.data['control'], \r\n controlValue: this.controlValue, \r\n filtro: this.filtro, \r\n filtroValue: this.filtroValue,\r\n filtroEstado: this.filtroEstado\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(async result => {\r\n if (result) {\r\n Swal.fire({\r\n title: 'Cargando...',\r\n allowOutsideClick: false,\r\n onOpen: () =>{\r\n Swal.showLoading();\r\n }\r\n });\r\n this.filtroValue = result.filtroValue;\r\n this.controlValue = result.controlValue;\r\n this.filtroEstado = result.filtroEstado;\r\n this.multipleForm.reset();\r\n this.selectEstado = null;\r\n this.observacion = null;\r\n this.captura = [];\r\n this.dataCod.forEach((table, i) => {\r\n this.captura.push([]);\r\n table.forEach((row, j) => {\r\n this.captura[i].push([]);\r\n row.forEach((element,k) => {\r\n k > 0 ? this.captura[i][j].push(null) : null;\r\n });\r\n });\r\n });\r\n await this.readRegistro();\r\n Swal.close();\r\n }\r\n });\r\n }\r\n\r\n\r\n /////////////// Actualiza arreglo de captura\r\n updateCaptura(table: number, row: number, column: number, type: string, $event: any){\r\n if (type == 'input' && $event != undefined) {\r\n this.captura[table][row][column] = $event.target.value;\r\n } else if (type == 'select' && $event != undefined) {\r\n this.captura[table][row][column] = $event;\r\n }else {\r\n this.captura[table][row][column] = null;\r\n }\r\n }\r\n\r\n}\r\n","

      Revisión

      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{ identificador }}{{ text }}
      {{ registro[identificador] }} {{ registro[text] }}
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n \r\n Estado\r\n \r\n \r\n {{ estado.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      Observación: {{ observacion_usuario }}
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{ columns }}
      \r\n {{ value }}\r\n \r\n 0 && codigos[grupoCol[i][k]]\"\r\n placeholder=\"Selecciona\"\r\n notFoundText=\"Sin resultados\"\r\n [items]=\"codigos[grupoCol[i][k]]\"\r\n bindLabel=\"description\"\r\n clearAllText=\"Clear\"\r\n [formControlName]=\"dataCod[i][j][k]\"\r\n (change)=\"updateCaptura(i, j, k - 1, 'select', $event)\">\r\n \r\n\r\n

      \r\n

      0 && \r\n codigos[grupoCol[i][k]] && \r\n multipleForm.value[dataCod[i][j][k]]\">\r\n Seleccionado: {{ multipleForm.value[dataCod[i][j][k]].description }}\r\n

      \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n \r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RevisionService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readVista(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/vista/${id}`, { headers });\n }\n\n ///////////////////////Busca validacion\n getValide(data: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/valida`, data, { headers });\n }\n\n ///////////////////////Busca registro a codificar\n readRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/vista/registro/revision`, body, { headers });\n }\n\n \n updateRegistro(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/vista/registro`, body, { headers });\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { VistaService } from './vista.service';\n\nexport interface DialogData {\n id: number;\n name: string;\n}\n\n@Component({\n selector: 'app-vista',\n templateUrl: './vista.component.html',\n styleUrls: ['./vista.component.scss']\n})\nexport class VistaComponent implements OnInit {\n\n identificador: string;\n textList = [];\n dataCod = [];\n displayedColumns = [];\n\n grupoCol = [];\n codigos = null;\n\n valRowList = [];\n valColList = [];\n\n captura = [];\n\n estadoList = [\n { value: 1, name: 'Completado' },\n { value: 2, name: 'Pendiente' },\n { value: 3, name: 'No es posible completar' }\n ];\n\n selectEstado = null;\n\n config = {\n displayKey: 'description',\n search: true,\n height: '200px',\n placeholder:'Selecciona',\n noResultsFound: 'Sin resultados',\n searchPlaceholder:'Buscar...',\n clearOnSelection: false\n }\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private vistaService: VistaService\n ) { }\n\n ngOnInit(): void {\n this.readVista();\n }\n\n /////////////////////////////// Busca Vista\n readVista(){\n this.vistaService.readVista(this.data.id)\n .subscribe( (data) => {\n this.identificador = data['id'] ? data['id'] : null;\n this.textList = data['txt'] ? data['txt'] : [];\n this.displayedColumns = data['colnota'] ? data['colnota'] : [];\n this.dataCod = data['codes'] ? data['codes'] : [];\n this.grupoCol = data['grupos'] ? data['grupos'] : [];\n let codigos = data['codigos'] ? data['codigos'] : [];\n this.codigos = codigos.reduce((o, key) => ({...o, [key.grupo]: key.codigos}), {});\n this.valColList = data['valcol'] ? data['valcol'] : [];\n this.valRowList = data['valrow'] ? data['valrow'] : [];\n this.dataCod.forEach((table, i) => {\n this.captura.push([]);\n table.forEach((row, j) => {\n this.captura[i].push([]);\n row.forEach((element,k) => {\n k > 0 ? this.captura[i][j].push(null) : null;\n });\n });\n });\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n /**Elimina Codigo */\n deleteCode(table: number, row: number, column: number){\n this.captura[table][row][column - 1] = null;\n }\n\n /**Busca validaciones */\n getValide(){\n let data = {\n captura: this.captura,\n codificacion: this.data.id\n }\n this.vistaService.getValide(data)\n .subscribe( (data: any) => {\n if(data.length > 0){\n let messages = data.join('');\n Swal.fire({\n title: 'Revisa las siguientes observaciones',\n icon: 'info',\n width: 700,\n html: `\n
        \n ${messages}\n
          \n `\n });\n }\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n\n /**Guarda informacion*/\n async sendData(){\n if (!this.selectEstado) {\n Swal.fire(\n `¡Debes seleccionar un estado!`,\n \"\",\n 'info'\n ); \n }\n \n if (this.selectEstado > 1) {\n const { value: text } = await Swal.fire({\n title: 'Observaciones',\n input: 'textarea',\n inputPlaceholder: 'Escribe tus observaciones aquí...',\n showCancelButton: true\n });\n \n if (text) {\n Swal.fire(text);\n }\n }else if(this.selectEstado == 1){\n this.getValide();\n }\n\n\n }\n\n\n}\n","

          Vista previa

          \n\n
          \n \n \n \n \n \n \n \n \n \n \n \n \n \n
          {{ identificador }}{{ text }}
          Valor Valor
          \n
          \n\n
          \n \n \n \n \n \n \n \n \n
          \n \n Estado\n \n \n {{ estado.name }}\n \n \n \n \n \n \n \n
          \n
          \n\n \n \n \n \n \n \n \n \n \n \n \n \n
          {{ columns }}
          \n {{ value }}\n \n\n 0 && codigos[grupoCol[i][k]]\"\n style=\"float: left; width: 150px;\"\n [multiple]=\"false\"\n [config]=\"config\"\n [(ngModel)]=\"captura[i][j][k - 1]\"\n [options]=\"codigos[grupoCol[i][k]]\"\n >\n \n 0 && codigos[grupoCol[i][k]]\"\n mat-icon-button\n color=\"warn\"\n matTooltip=\"Eliminar código\"\n matTooltipPosition=\"above\"\n style=\"float: left;\"\n (click)=\"deleteCode(i,j,k)\">\n clear\n \n
          \n
          \n\n\n \n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VistaService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca pantalla\n readVista(id: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/vista/${id}`, { headers });\n }\n\n ///////////////////////Busca validacion\n getValide(data: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/valida`, data, { headers });\n }\n\n \n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {SelectionModel} from '@angular/cdk/collections';\n\nimport Swal from 'sweetalert2';\n\nimport { UsuarioService } from '../usuario.service';\n\n@Component({\n selector: 'app-asigna-ver',\n templateUrl: './asigna-ver.component.html',\n styleUrls: ['./asigna-ver.component.scss']\n})\nexport class AsignaVerComponent implements OnInit {\n\n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n dataSource = null;\n asignacionList = [];\n selection = new SelectionModel(true, []);\n displayedColumns = ['select', 'proyecto', 'pantalla']\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private usuarioService: UsuarioService\n ) { }\n\n ngOnInit(): void {\n this.readAsignacion();\n }\n\n /** Whether the number of selected elements matches the total number of rows. */\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n /** Selects all rows if they are not all selected; otherwise clear selection. */\n masterToggle() {\n this.isAllSelected() ?\n this.selection.clear() :\n this.dataSource.data.forEach(row => this.selection.select(row));\n }\n\n /** The label for the checkbox on the passed row */\n checkboxLabel(row?): string {\n if (!row) {\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\n }\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\n }\n\n readAsignacion(){\n this.usuarioService.readAsignacion(this.data.usuario.id)\n .subscribe( (data) => {\n this.asignacionList = Object.keys(data).map( (i) => {\n return {\n id: data[i][0], \n usuario: data[i][1],\n proyecto: data[i][2],\n pantalla: data[i][3]\n }\n });\n this.dataSource = new MatTableDataSource(this.asignacionList);\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n deleteAsignacion(){\n let deleteList = [];\n let deletes: string = null;\n this.selection['_selected'].forEach(element => {\n deleteList.push(element.id);\n });\n deletes = deleteList.join(',');\n this.usuarioService.deleteAsignacion(deletes)\n .subscribe( (data) => {\n this.dataSource = null;\n this.Toast.fire({\n icon: 'success',\n title: 'Asignación eliminada exitosamente'\n });\n this.readAsignacion();\n },\n (error) => {\n this.Toast.fire({\n icon: 'error',\n title: 'Error al eliminar la asignación'\n });\n }\n );\n }\n\n}\n","

          Proyectos asignados - {{ data.usuario.nombre }}

          \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 Proyecto {{element.proyecto}} Pantalla {{element.pantalla}}
          \n
          \n
          \n Eliminar asignaciones\n
          \n
          \n\n \n","import { Component, OnInit, Inject } from '@angular/core';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nimport Swal from 'sweetalert2';\n\nimport { UsuarioService } from '../usuario.service';\n\n@Component({\n selector: 'app-asigna',\n templateUrl: './asigna.component.html',\n styleUrls: ['./asigna.component.scss']\n})\nexport class AsignaComponent implements OnInit {\n \n Toast = Swal.mixin({\n toast: true,\n position: 'top-end',\n showConfirmButton: false,\n timer: 3000,\n timerProgressBar: true,\n onOpen: (toast: any) => {\n toast.addEventListener('mouseenter', Swal.stopTimer)\n toast.addEventListener('mouseleave', Swal.resumeTimer)\n }\n });\n\n firstFormGroup: FormGroup;\n secondFormGroup: FormGroup;\n thirdFormGroup: FormGroup;\n\n proyectoList = null;\n codificacionList = null;\n\n constructor(\n private _formBuilder: FormBuilder,\n @Inject(MAT_DIALOG_DATA) public data,\n public dialog: MatDialog,\n private usuarioService: UsuarioService\n ) { }\n\n ngOnInit(): void {\n this.readProyecto();\n this.firstFormGroup = this._formBuilder.group({\n firstCtrl: ['', Validators.required]\n });\n this.secondFormGroup = this._formBuilder.group({\n secondCtrl: ['', Validators.required]\n });\n this.thirdFormGroup = this._formBuilder.group({\n thirdCtrl: ['', Validators.required]\n });\n }\n\n /////////////////////////////// Busca proyectos\n readProyecto(){\n this.usuarioService.readProyecto()\n .subscribe( (data) => {\n this.proyectoList = Object.keys(data).map( (i) => {\n return {id: i, name: data[i]}\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n ///////////////////////Busca pantallas\n readCod(proyecto: number){\n this.usuarioService.readCod(proyecto)\n .subscribe( (data) => {\n this.codificacionList = Object.keys(data['pantallas']).map( (row) => {\n return {\n id: data['pantallas'][row][0], \n name: data['pantallas'][row][1]\n }\n });\n },\n (error) => {\n console.log(error)\n }\n );\n }\n\n createAsignacion(){\n let body = {\n usuario: this.firstFormGroup.value.firstCtrl,\n codificacion: this.thirdFormGroup.value.thirdCtrl\n }\n\n this.usuarioService.createAsignacion(body)\n .subscribe( (data) => {\n this.Toast.fire({\n icon: 'success',\n title: 'Usuarios asignados exitosamente'\n });\n },\n (error) => {\n this.Toast.fire({\n icon: 'error',\n title: 'Error al asignar usuarios'\n });\n }\n );\n }\n\n}\n","

          Asignación de proyectos

          \n\n \n \n
          \n Codificadores\n

          Selecciona los usuarios a asignar

          \n
          \n \n \n {{codificador.nombre}}\n \n \n
          \n
          \n \n
          \n
          \n
          \n \n
          \n

          Selecciona proyecto a asignar

          \n
          \n \n \n {{proyecto.name}}\n \n \n
          \n
          \n \n \n
          \n
          \n
          \n \n
          \n

          Selecciona pantallas a asignar

          \n
          \n \n \n {{codificacion.name}}\n \n \n
          \n
          \n \n \n
          \n
          \n
          \n\n
          \n
          \n\n \n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {FormControl, FormGroupDirective, NgForm, Validators} from '@angular/forms';\r\nimport {ErrorStateMatcher} from '@angular/material/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { UsuarioService } from '../usuario.service';\r\n\r\n/** Error when invalid control is dirty, touched, or submitted. */\r\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-usuario-nuevo',\r\n templateUrl: './usuario-nuevo.component.html',\r\n styleUrls: ['./usuario-nuevo.component.scss']\r\n})\r\nexport class UsuarioNuevoComponent implements OnInit {\r\n\r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n hide = true;\r\n title = null;\r\n\r\n emailFormControl = new FormControl('', [\r\n Validators.required,\r\n Validators.email,\r\n ]);\r\n\r\n nameFormControl = new FormControl('', [\r\n Validators.required,\r\n ]);\r\n passFormControl = new FormControl('', [\r\n Validators.required,\r\n ]);\r\n levelFormControl = new FormControl('', [\r\n Validators.required,\r\n ]);\r\n matcher = new MyErrorStateMatcher();\r\n\r\n levelList = null;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n public dialog: MatDialog,\r\n private usuarioService: UsuarioService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if(this.data.level==3){\r\n this.levelList = [\r\n {value: 1, viewValue: 'Codificador'},\r\n {value: 2, viewValue: 'Supervisor'},\r\n {value: 3, viewValue: 'Administrador'}\r\n ];\r\n }else if(this.data.level==2){\r\n this.levelList = [\r\n {value: 1, viewValue: 'Codificador'},\r\n ];\r\n }\r\n\r\n if(this.data.action=='update'){\r\n this.title = 'Editar usuario';\r\n this.nameFormControl.setValue(this.data.usuario.nombre);\r\n this.emailFormControl.setValue(this.data.usuario.email);\r\n this.passFormControl.setValue(this.data.usuario.password);\r\n this.levelFormControl.setValue(this.data.usuario.nivel);\r\n }else{\r\n this.title = 'Crear usuario';\r\n }\r\n }\r\n\r\n createUsuario(){\r\n let body = {\r\n nombre: this.nameFormControl.value,\r\n email: this.emailFormControl.value,\r\n password: this.passFormControl.value,\r\n level: this.levelFormControl.value\r\n };\r\n this.usuarioService.createUsuario(body)\r\n .subscribe((data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Usuario creado correctamente'\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al crear el usuario, revise que el email no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n });\r\n }\r\n\r\n updateUsuario(){\r\n let body = {\r\n usuario: this.data.usuario.id,\r\n nombre: this.nameFormControl.value,\r\n email: this.emailFormControl.value,\r\n password: this.passFormControl.value,\r\n level: this.levelFormControl.value\r\n };\r\n this.usuarioService.updateUsuario(body)\r\n .subscribe((data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Usuario actualizado correctamente'\r\n });\r\n },\r\n (error) => {\r\n Swal.fire(\r\n `¡Se generó un error al actualizar el usuario, revise que el email no este duplicado, o intente más tarde!`,\r\n '',\r\n \"info\"\r\n );\r\n });\r\n }\r\n\r\n}\r\n","

          {{ title }}

          \n\n \n Nombre de usuario\n \n \n Nombre requerido\n \n \n
          \n \n Email\n \n \n Por favor ingresa un email valido\n \n \n Email es requerido\n \n \n
          \n \n Contraseña\n \n \n \n contraseña requerida\n \n \n\n \n Nivel\n \n \n {{level.viewValue}}\n \n \n \n nivel requerido\n \n \n
          \n\n \n \n \n\n ","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { Pages } from '../pages.service';\r\n\r\nimport { UsuarioComponent } from './usuario.component';\r\n\r\nconst routes: Routes = [\r\n Pages.childRoutes([\r\n { path: 'usuarios', component: UsuarioComponent },\r\n ])\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: []\r\n})\r\nexport class UsuarioRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from '../../service/auth.service';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\nimport {SelectionModel} from '@angular/cdk/collections';\r\nimport { UsuarioService } from './usuario.service';\r\nimport { UsuarioNuevoComponent } from './usuario-nuevo/usuario-nuevo.component';\r\nimport { AsignaComponent } from './asigna/asigna.component';\r\nimport { AsignaVerComponent } from './asigna-ver/asigna-ver.component';\r\n\r\n@Component({\r\n selector: 'app-usuario',\r\n templateUrl: './usuario.component.html',\r\n styleUrls: ['./usuario.component.scss']\r\n})\r\nexport class UsuarioComponent implements OnInit {\r\n \r\n Toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n onOpen: (toast: any) => {\r\n toast.addEventListener('mouseenter', Swal.stopTimer)\r\n toast.addEventListener('mouseleave', Swal.resumeTimer)\r\n }\r\n });\r\n\r\n permissions = null;\r\n\r\n displayedColumns: string[] = ['select' ,'Nombre', 'Email', 'Nivel', 'menu'];\r\n selection = new SelectionModel(true, []);\r\n dataSource = null;\r\n\r\n usuarioList = null;\r\n codificadoresList = null;\r\n\r\n\r\n constructor(\r\n private usuarioService: UsuarioService,\r\n public dialog: MatDialog,\r\n private auth: AuthService,\r\n private router: Router,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n await this.getPermissions();\r\n await this.readUsuario();\r\n }\r\n\r\n ///////////////////Busca permisos\r\n async getPermissions(){\r\n this.auth.getPermissions()\r\n .subscribe( (data) => {\r\n this.permissions = data;\r\n },\r\n (error) => {\r\n this.router.navigateByUrl('/login');\r\n }\r\n );\r\n }\r\n\r\n /** Whether the number of selected elements matches the total number of rows. */\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n /** Selects all rows if they are not all selected; otherwise clear selection. */\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.dataSource.data.forEach(row => this.selection.select(row));\r\n }\r\n\r\n /** The label for the checkbox on the passed row */\r\n checkboxLabel(row?: any): string {\r\n if (!row) {\r\n return `${this.isAllSelected() ? 'select' : 'deselect'} all`;\r\n }\r\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.position + 1}`;\r\n }\r\n\r\n /////////////////////////////// Busca proyectos\r\n async readUsuario(){\r\n this.codificadoresList = [];\r\n this.usuarioService.readUsuario()\r\n .subscribe( (data) => {\r\n this.usuarioList = Object.keys(data).map( (i) => {\r\n return {\r\n id: data[i][0], \r\n nombre: data[i][1],\r\n email: data[i][2],\r\n password: data[i][3],\r\n nivel: data[i][4],\r\n nivel_name: data[i][5]\r\n }\r\n });\r\n this.usuarioList.forEach(element => {\r\n if (element.nivel == 1) {\r\n this.codificadoresList.push(element); \r\n }\r\n });\r\n this.dataSource = new MatTableDataSource(this.usuarioList);\r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n }\r\n\r\n ///////////////////////////// Crear usuario\r\n openCreateUsuario(){\r\n const dialogRef = this.dialog.open(UsuarioNuevoComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { level: this.permissions.level, action: 'create' }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readUsuario();\r\n });\r\n }\r\n\r\n ///////////////////////////// Actualizar usuario\r\n openUpdateUsuario(usuario: any){\r\n const dialogRef = this.dialog.open(UsuarioNuevoComponent, {\r\n width: '400px',\r\n disableClose: true,\r\n data: { level: this.permissions.level, usuario: usuario, action: 'update' }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.readUsuario();\r\n });\r\n }\r\n\r\n ///////////////////////// Eliminar usuario\r\n deleteUsuario(usuario: any){\r\n Swal.fire({\r\n title: `¿Estas seguro de eliminar el usuario ${usuario.nombre}?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: '¡Si, Eliminar!',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n \r\n this.usuarioService.deleteUsuario(usuario.id)\r\n .subscribe( (data) => {\r\n this.Toast.fire({\r\n icon: 'success',\r\n title: 'Usuario eliminado correctamente'\r\n });\r\n this.readUsuario();\r\n },\r\n (error) => {\r\n this.Toast.fire({\r\n icon: 'error',\r\n title: 'Error al eliminar usuario'\r\n });\r\n });\r\n }\r\n })\r\n }\r\n\r\n ///////////////////////////// Asigna usuario\r\n openAsignaUsuario(){\r\n const dialogRef = this.dialog.open(AsignaComponent, {\r\n disableClose: true,\r\n data: { codificadores: this.codificadoresList }\r\n });\r\n }\r\n\r\n ///////////////////////////// Busca proyectos asignados\r\n openAsignacion(usuario: any){\r\n const dialogRef = this.dialog.open(AsignaVerComponent, {\r\n width: '900px',\r\n disableClose: true,\r\n data: { usuario: usuario }\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n
          \r\n

          groupsUsuarios

          \r\n
          \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
          \r\n \r\n \r\n \r\n \r\n \r\n Nombre {{element.nombre}} Email {{element.email}} Nivel {{element.nivel_name}} \r\n \r\n \r\n \r\n visibility\r\n Ver proyectos\r\n \r\n \r\n \r\n \r\n
          \r\n
          \r\n
          \r\n
          \r\n
          ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { MaterialModule } from '../../material.module';\r\nimport { SelectDropDownModule } from 'ngx-select-dropdown';\r\nimport { UsuarioRoutingModule } from './usuario-routing.module';\r\nimport { UsuarioComponent } from './usuario.component';\r\nimport { UsuarioNuevoComponent } from './usuario-nuevo/usuario-nuevo.component';\r\nimport { AsignaComponent } from './asigna/asigna.component';\nimport { AsignaVerComponent } from './asigna-ver/asigna-ver.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n UsuarioRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n SelectDropDownModule,\r\n BrowserModule\r\n ],\r\n exports: [],\r\n declarations: [\r\n UsuarioComponent,\r\n UsuarioNuevoComponent,\r\n AsignaComponent,\r\n AsignaVerComponent\r\n ],\r\n providers: [],\r\n})\r\nexport class UsuarioModule { }\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsuarioService {\n\n env = environment;\n constructor(\n private http: HttpClient\n ) { }\n\n ///////////////////////Busca usuarios\n readUsuario(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/usuario`, { headers });\n }\n\n ///////////////////////Crea usuario\n createUsuario(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/usuario`, body, { headers });\n }\n\n ///////////////////////Actualiza usuario\n updateUsuario(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.put(`${ this.env.api }/usuario`, body, { headers });\n }\n\n ///////////////////////Eliminar usuario\n deleteUsuario(usuario){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/usuario/${usuario}`, { headers });\n }\n\n ///////////////////////Busca proyecto\n readProyecto(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/proyecto`, { headers });\n }\n\n ///////////////////////Busca codificacion\n readCod(proyecto: number){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/codificacion/${proyecto}`, { headers });\n }\n\n ////////////////////Crea asignacion\n createAsignacion(body: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.post(`${ this.env.api }/asignacion`, body, { headers }); \n }\n\n ////////////////////Busca asignacion\n readAsignacion(usuario: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/asignacion/usuario/${usuario}`, { headers }); \n }\n\n ////////////////////Busca asignacion\n deleteAsignacion(id: any){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.delete(`${ this.env.api }/asignacion/${id}`, { headers }); \n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-public',\n templateUrl: './public.component.html',\n styleUrls: ['./public.component.scss']\n})\nexport class PublicComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n \n ProCod\n \n \n \n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { environment } from \"@env/environment\";\nimport { UsuarioModel } from '../models/usuario.model';\n\nimport { map } from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n env = environment;\n userToken: string = '';\n constructor( \n private http: HttpClient\n ) { }\n\n login( usuario: UsuarioModel ){\n\n const authData = {\n ...usuario\n };\n\n return this.http.post(\n `${ this.env.api }/auth`,\n authData\n ).pipe(\n map( (resp) => {\n this.saveToken(resp['idToken']);\n return resp;\n })\n );\n }\n\n private saveToken(idToken: string){\n this.userToken = idToken;\n localStorage.setItem('idToken', idToken);\n }\n\n getToken(){\n if (this.userToken) {\n this.userToken = localStorage.getItem('idToken'); \n }else{\n this.userToken = '';\n }\n return this.userToken;\n }\n\n statusAuth(): boolean {\n if (localStorage.getItem('idToken')) {\n return true; \n }\n return false;\n }\n\n logout(){\n localStorage.removeItem('idToken');\n }\n\n getPermissions(){\n let idToken = localStorage.getItem('idToken');\n const headers = new HttpHeaders({\n 'Authorization': idToken\n });\n\n return this.http.get(`${ this.env.api }/auth`, { headers });\n\n }\n\n}\n\n\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` 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 api: 'https://api.procodmx.com'\n //api: 'http://127.0.0.1:5000/api'\n};\n\n/*\n * For easier debugging in development 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/dist/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","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}