{"version":3,"sources":["./src/app/admin/admin-menu/admin-menu.component.html","./src/app/admin/components/device-form/device-form.component.html","./src/app/admin/components/devices-list/devices-list.component.html","./src/app/admin/components/project-form/project-form.component.html","./src/app/admin/components/projects-list/confirm-dialog.html","./src/app/admin/components/projects-list/projects-list.component.html","./src/app/admin/components/simple-users-list/simple-users-list.component.html","./src/app/admin/components/user-form/user-form.component.html","./src/app/admin/components/user-search/user-search.component.html","./src/app/admin/components/users-list/users-list.component.html","./src/app/admin/containers/device-form-page/device-form-page.component.html","./src/app/admin/containers/devices-list-page/devices-list-page.component.html","./src/app/admin/containers/project-form-page/project-form-page.component.html","./src/app/admin/containers/projects-list-page/projects-list-page.component.html","./src/app/admin/containers/user-from-page/user-from-page.component.html","./src/app/admin/containers/users-list-page/users-list-page.component.html","./src/app/app.component.html","./src/app/auth/components/login/login.component.html","./src/app/auth/components/reset-password/reset-password.component.html","./src/app/auth/containers/login-page/login-page.component.html","./src/app/auth/containers/reset-password-page/reset-password-page.component.html","./src/app/components/footer/footer.component.html","./src/app/components/navbar/navbar.component.html","./src/app/containers/navbar-page/navbar-page.component.html","./src/app/user/components/bookmark-form/bookmark-form.component.html","./src/app/user/components/bookmark-preview-list/bookmark-preview-list.component.html","./src/app/user/components/bookmark-preview/bookmark-preview.component.html","./src/app/user/components/bookmark-show/bookmark-show.component.html","./src/app/user/components/config-form/config-form.component.html","./src/app/user/components/datepicker/datepicker.component.html","./src/app/user/components/media-preview-list/media-preview-list.component.html","./src/app/user/components/media-preview/media-preview.component.html","./src/app/user/components/media-show/media-show.component.html","./src/app/user/components/profil/profil.component.html","./src/app/user/components/project-form/project-form.component.html","./src/app/user/components/share/share.component.html","./src/app/user/components/simple-users-list/simple-users-list.component.html","./src/app/user/components/user-form/user-form.component.html","./src/app/user/components/user-search/user-search.component.html","./src/app/user/containers/bookmark-page/bookmark-page.component.html","./src/app/user/containers/from-bookmark-page/from-bookmark-page.component.html","./src/app/user/containers/my-files/my-files.component.html","./src/app/user/containers/profil-page/profil-page.component.html","./src/app/user/containers/project-form-page/project-form-page.component.html","./src/app/user/containers/timelapse-page/timelapse-page.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/admin/admin-menu/admin-menu.component.css","./src/app/admin/admin-menu/admin-menu.component.ts","./src/app/admin/admin-routing.module.ts","./src/app/admin/admin.module.ts","./src/app/admin/admin.sandbox.ts","./src/app/admin/components/device-form/device-form.component.css","./src/app/admin/components/device-form/device-form.component.ts","./src/app/admin/components/devices-list/devices-list.component.css","./src/app/admin/components/devices-list/devices-list.component.ts","./src/app/admin/components/project-form/project-form.component.css","./src/app/admin/components/project-form/project-form.component.ts","./src/app/admin/components/projects-list/projects-list.component.css","./src/app/admin/components/projects-list/projects-list.component.ts","./src/app/admin/components/simple-users-list/simple-users-list.component.css","./src/app/admin/components/simple-users-list/simple-users-list.component.ts","./src/app/admin/components/user-form/user-form.component.css","./src/app/admin/components/user-form/user-form.component.ts","./src/app/admin/components/user-search/user-search.component.css","./src/app/admin/components/user-search/user-search.component.ts","./src/app/admin/components/users-list/users-list.component.css","./src/app/admin/components/users-list/users-list.component.ts","./src/app/admin/containers/device-form-page/device-form-page.component.css","./src/app/admin/containers/device-form-page/device-form-page.component.ts","./src/app/admin/containers/devices-list-page/devices-list-page.component.css","./src/app/admin/containers/devices-list-page/devices-list-page.component.ts","./src/app/admin/containers/project-form-page/project-form-page.component.css","./src/app/admin/containers/project-form-page/project-form-page.component.ts","./src/app/admin/containers/projects-list-page/projects-list-page.component.css","./src/app/admin/containers/projects-list-page/projects-list-page.component.ts","./src/app/admin/containers/user-from-page/user-from-page.component.css","./src/app/admin/containers/user-from-page/user-from-page.component.ts","./src/app/admin/containers/users-list-page/users-list-page.component.css","./src/app/admin/containers/users-list-page/users-list-page.component.ts","./src/app/api/api-configuration.ts","./src/app/api/api.module.ts","./src/app/api/base-service.ts","./src/app/api/models/ngbtime.ts","./src/app/api/services.ts","./src/app/api/services/authentication.service.ts","./src/app/api/services/aws.service.ts","./src/app/api/services/devices.service.ts","./src/app/api/services/media-types.service.ts","./src/app/api/services/media.service.ts","./src/app/api/services/project-bookmarks.service.ts","./src/app/api/services/projects.service.ts","./src/app/api/services/roles.service.ts","./src/app/api/services/user-bookmarks.service.ts","./src/app/api/services/user-projects.service.ts","./src/app/api/services/users.service.ts","./src/app/app-routing.module.ts","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/auth/auth-routing.module.ts","./src/app/auth/auth.module.ts","./src/app/auth/auth.sandbox.ts","./src/app/auth/components/login/login.component.css","./src/app/auth/components/login/login.component.ts","./src/app/auth/components/reset-password/reset-password.component.css","./src/app/auth/components/reset-password/reset-password.component.ts","./src/app/auth/containers/login-page/login-page.component.css","./src/app/auth/containers/login-page/login-page.component.ts","./src/app/auth/containers/reset-password-page/reset-password-page.component.css","./src/app/auth/containers/reset-password-page/reset-password-page.component.ts","./src/app/components/footer/footer.component.css","./src/app/components/footer/footer.component.ts","./src/app/components/navbar/navbar.component.css","./src/app/components/navbar/navbar.component.ts","./src/app/containers/navbar-page/navbar-page.component.css","./src/app/containers/navbar-page/navbar-page.component.ts","./src/app/navbar.sandbox.ts","./src/app/store/actions/authentication.action.ts","./src/app/store/actions/config.action.ts","./src/app/store/actions/device.action.ts","./src/app/store/actions/media-type.action.ts","./src/app/store/actions/media.action.ts","./src/app/store/actions/project-bookmark.action.ts","./src/app/store/actions/project.action.ts","./src/app/store/actions/role.action.ts","./src/app/store/actions/url.action.ts","./src/app/store/actions/user-bookmark.action.ts","./src/app/store/actions/user-project.action.ts","./src/app/store/actions/user.action.ts","./src/app/store/index.ts","./src/app/store/reducers/authentication.reducer.ts","./src/app/store/reducers/config.reducer.ts","./src/app/store/reducers/device.reducer.ts","./src/app/store/reducers/media-type.reducer.ts","./src/app/store/reducers/media.reducer.ts","./src/app/store/reducers/project-bookmark.reducer.ts","./src/app/store/reducers/project.reducer.ts","./src/app/store/reducers/role.reducer.ts","./src/app/store/reducers/url.reducer.ts","./src/app/store/reducers/user-bookmark.reducer.ts","./src/app/store/reducers/user-project.reducer.ts","./src/app/store/reducers/user.reducer.ts","./src/app/user/components/bookmark-form/bookmark-form.component.css","./src/app/user/components/bookmark-form/bookmark-form.component.ts","./src/app/user/components/bookmark-preview-list/bookmark-preview-list.component.css","./src/app/user/components/bookmark-preview-list/bookmark-preview-list.component.ts","./src/app/user/components/bookmark-preview/bookmark-preview.component.css","./src/app/user/components/bookmark-preview/bookmark-preview.component.ts","./src/app/user/components/bookmark-show/bookmark-show.component.css","./src/app/user/components/bookmark-show/bookmark-show.component.ts","./src/app/user/components/config-form/config-form.component.css","./src/app/user/components/config-form/config-form.component.ts","./src/app/user/components/datepicker/datepicker.component.css","./src/app/user/components/datepicker/datepicker.component.ts","./src/app/user/components/media-preview-list/media-preview-list.component.css","./src/app/user/components/media-preview-list/media-preview-list.component.ts","./src/app/user/components/media-preview/media-preview.component.css","./src/app/user/components/media-preview/media-preview.component.ts","./src/app/user/components/media-show/media-show.component.css","./src/app/user/components/media-show/media-show.component.ts","./src/app/user/components/profil/profil.component.css","./src/app/user/components/profil/profil.component.ts","./src/app/user/components/project-form/project-form.component.css","./src/app/user/components/project-form/project-form.component.ts","./src/app/user/components/share/share.component.css","./src/app/user/components/share/share.component.ts","./src/app/user/components/simple-users-list/simple-users-list.component.css","./src/app/user/components/simple-users-list/simple-users-list.component.ts","./src/app/user/components/user-form/user-form.component.css","./src/app/user/components/user-form/user-form.component.ts","./src/app/user/components/user-search/user-search.component.css","./src/app/user/components/user-search/user-search.component.ts","./src/app/user/containers/bookmark-page/bookmark-page.component.css","./src/app/user/containers/bookmark-page/bookmark-page.component.ts","./src/app/user/containers/from-bookmark-page/from-bookmark-page.component.css","./src/app/user/containers/from-bookmark-page/from-bookmark-page.component.ts","./src/app/user/containers/my-files/my-files.component.css","./src/app/user/containers/my-files/my-files.component.ts","./src/app/user/containers/profil-page/profil-page.component.css","./src/app/user/containers/profil-page/profil-page.component.ts","./src/app/user/containers/project-form-page/project-form-page.component.css","./src/app/user/containers/project-form-page/project-form-page.component.ts","./src/app/user/containers/timelapse-page/timelapse-page.component.css","./src/app/user/containers/timelapse-page/timelapse-page.component.ts","./src/app/user/user-routing.module.ts","./src/app/user/user.module.ts","./src/app/user/user.sandbox.ts","./src/app/utilities/admin.guard.ts","./src/app/utilities/auth.guard.ts","./src/app/utilities/auth.interceptor.ts","./src/app/utilities/auth.service.ts","./src/environments/environment.ts","./src/main.ts","fs (ignored)"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAe,wmB;;;;;;;;;;;;ACAf;AAAe,mvDAAorD,cAAc,4lC;;;;;;;;;;;;ACAjtD;AAAe,ifAAkb,WAAW,qBAAqB,qBAAqB,qBAAqB,eAAe,qBAAqB,mBAAmB,8EAA8E,+HAA+H,kBAAkB,mb;;;;;;;;;;;;ACAjyB;AAAe,whE;;;;;;;;;;;;ACAf;AAAe,4MAA6I,kBAAkB,qQ;;;;;;;;;;;;ACA9K;AAAe,wxBAAytB,YAAY,gNAAgN,cAAc,sNAAsN,gBAAgB,wjCAAwjC,2BAA2B,4D;;;;;;;;;;;;ACA3wE;AAAe,4gBAA6c,WAAW,uBAAuB,YAAY,qQ;;;;;;;;;;;;ACA1gB;AAAe,giEAAi+D,WAAW,45BAA45B,8J;;;;;;;;;;;;ACAv5F;AAAe,ymBAA0iB,WAAW,uBAAuB,YAAY,iP;;;;;;;;;;;;ACAvmB;AAAe,mYAAoU,SAAS,mBAAmB,WAAW,mBAAmB,YAAY,mW;;;;;;;;;;;;ACAzZ;AAAe,sQ;;;;;;;;;;;;ACAf;AAAe,qjB;;;;;;;;;;;;ACAf;AAAe,+qBAAgnB,owBAAowB,+V;;;;;;;;;;;;ACAn4C;AAAe,0yB;;;;;;;;;;;;ACAf;AAAe,4N;;;;;;;;;;;;ACAf;AAAe,ujB;;;;;;;;;;;;ACAf;AAAe,2pB;;;;;;;;;;;;ACAf;AAAe,ggD;;;;;;;;;;;;ACAf;AAAe,02C;;;;;;;;;;;;ACAf;AAAe,0R;;;;;;;;;;;;ACAf;AAAe,4P;;;;;;;;;;;;ACAf;AAAe,0QAA2M,gY;;;;;;;;;;;;ACA1N;AAAe,yPAA0L,aAAa,iBAAiB,8CAA8C,uEAAuE,8FAA8F,4BAA4B,yjBAAyjB,iBAAiB,2GAA2G,SAAS,2HAA2H,4BAA4B,mjBAAmjB,2KAA2K,sBAAsB,saAAsa,sBAAsB,yPAAyP,WAAW,s9CAAs9C,+eAA+e,cAAc,8W;;;;;;;;;;;;ACAlrJ;AAAe,kV;;;;;;;;;;;;ACAf;AAAe,6IAA8E,KAAK,yhE;;;;;;;;;;;;ACAlG;AAAe,iyB;;;;;;;;;;;;ACAf;AAAe,8LAA+H,oBAAoB,yHAAyH,gBAAgB,gBAAgB,mCAAmC,01B;;;;;;;;;;;;ACA9V;AAAe,sKAAuG,KAAK,gJAAgJ,gBAAgB,sFAAsF,mCAAmC,yGAAyG,eAAe,uC;;;;;;;;;;;;ACA5gB;AAAe,2bAA4X,SAAS,+XAA+X,+BAA+B,KAAK,krE;;;;;;;;;;;;ACAvzB;AAAe,6NAA8J,gBAAgB,oDAAoD,sBAAsB,mDAAmD,WAAW,uIAAuI,uBAAuB,qBAAqB,6LAA6L,6jBAA6jB,YAAY,iIAAiI,wBAAwB,qBAAqB,kBAAkB,wEAAwE,sLAAsL,mBAAmB,4HAA4H,QAAQ,iX;;;;;;;;;;;;ACAn1D;AAAe,6JAA8F,2CAA2C,oBAAoB,oBAAoB,wNAAwN,2EAA2E,oCAAoC,qCAAqC,qCAAqC,2CAA2C,sCAAsC,gDAAgD,4CAA4C,+BAA+B,iCAAiC,wCAAwC,iFAAiF,iBAAiB,kBAAkB,kS;;;;;;;;;;;;ACA19B;AAAe,uKAAwG,WAAW,0GAA0G,YAAY,yB;;;;;;;;;;;;ACAxP;AAAe,kYAAmU,UAAU,aAAa,6JAA6J,aAAa,kBAAkB,cAAc,SAAS,WAAW,kCAAkC,cAAc,cAAc,uBAAuB,gCAAgC,WAAW,GAAG,YAAY,2EAA2E,wNAAwN,QAAQ,sIAAsI,eAAe,wO;;;;;;;;;;;;ACAtpC;AAAe,gqGAAimG,wK;;;;;;;;;;;;ACAhnG;AAAe,yiD;;;;;;;;;;;;ACAf;AAAe,6HAA8D,2GAA2G,aAAa,gBAAgB,4KAA4K,aAAa,gBAAgB,0MAA0M,aAAa,gBAAgB,44B;;;;;;;;;;;;ACAroB;AAAe,4gBAA6c,WAAW,uBAAuB,YAAY,qQ;;;;;;;;;;;;ACA1gB;AAAe,yhEAA09D,WAAW,45BAA45B,8J;;;;;;;;;;;;ACAh5F;AAAe,0mBAA2iB,WAAW,uBAAuB,YAAY,0N;;;;;;;;;;;;ACAxmB;AAAe,uJAAwF,wvE;;;;;;;;;;;;ACAvG;AAAe,2a;;;;;;;;;;;;ACAf;AAAe,6FAA8B,mHAAmH,oBAAoB,iBAAiB,gBAAgB,wEAAwE,oUAAoU,oBAAoB,qGAAqG,oDAAoD,mkBAAmkB,gHAAgH,0BAA0B,sBAAsB,gBAAgB,4DAA4D,kPAAkP,0GAA0G,0BAA0B,sFAAsF,aAAa,yDAAyD,gBAAgB,0JAA0J,uBAAuB,qBAAqB,gCAAgC,qBAAqB,wBAAwB,8CAA8C,gBAAgB,sHAAsH,gBAAgB,iBAAiB,wKAAwK,YAAY,iBAAiB,qLAAqL,iBAAiB,6HAA6H,uBAAuB,gBAAgB,wBAAwB,qBAAqB,kDAAkD,kBAAkB,2DAA2D,iHAAiH,kBAAkB,kBAAkB,2HAA2H,kBAAkB,0V;;;;;;;;;;;;ACApkH;AAAe,oQ;;;;;;;;;;;;ACAf;AAAe,qnBAAsjB,4qBAA4qB,qY;;;;;;;;;;;;ACAjvC;AAAe,0xBAA2tB,mBAAmB,aAAa,eAAe,iBAAiB,yBAAyB,gLAAgL,mEAAmE,ueAAue,ylBAAylB,YAAY,iJAAiJ,0dAA0d,yjBAAyjB,YAAY,8IAA8I,uBAAuB,mBAAmB,+CAA+C,kBAAkB,uLAAuL,+BAA+B,mEAAmE,YAAY,uOAAuO,mBAAmB,6HAA6H,QAAQ,0HAA0H,WAAW,+NAA+N,mBAAmB,+EAA+E,QAAQ,0MAA0M,sjCAAsjC,iDAAiD,gNAAgN,mBAAmB,gEAAgE,QAAQ,oJAAoJ,qBAAqB,iDAAiD,+QAA+Q,gBAAgB,kBAAkB,uGAAuG,2BAA2B,uBAAuB,0GAA0G,2IAA2I,aAAa,ySAAyS,wBAAwB,yBAAyB,qnBAAqnB,SAAS,qOAAqO,eAAe,wBAAwB,+BAA+B,oBAAoB,sHAAsH,0BAA0B,sBAAsB,kBAAkB,wDAAwD,uEAAuE,oBAAoB,4BAA4B,UAAU,aAAa,qBAAqB,KAAK,SAAS,4nB;;;;;;;;;;;ACAv1R;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;ACZA;AAAe,6GAA8C,+J;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACJ;AAO9C;IAEE,4BAAoB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAI,CAAC;IAE9C,qCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;;gBAJ4B,2DAAY;;IAF9B,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,kMAA0C;;SAE3C,CAAC;yCAG6B,2DAAY;OAF9B,kBAAkB,CAQ9B;IAAD,yBAAC;CAAA;AAR8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRU;AACc;AAEvD,YAAY;AAC2D;AACkC;AACH;AACN;AACH;AACS;AACH;AAEnG,IAAM,YAAY,GAAW;IAC3B;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,mFAAkB;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,qHAAyB;KACrC;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,kHAAwB;KACpC;IACD;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,4GAAsB;KAClC;IACD;QACE,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,yGAAqB;KACjC;IACD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,kHAAwB;KACpC;IACD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,+GAAuB;KACnC;CACF,CAAC;AAMF;IAAA;IAAkC,CAAC;IAAtB,kBAAkB;QAJ9B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC,4DAAY,CAAC;SACxB,CAAC;OACW,kBAAkB,CAAI;IAAD,yBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CU;AACM;AACa;AACW;AACoB;AACA;AAC9C;AAC4D;AACjB;AACnC;AACV;AAC2D;AACvB;AACM;AACQ;AACG;AACd;AAC1C;AAC8D;AACA;AACd;AACW;AACd;AACrF,2BAA2B;AAC8B;AACS;AACT;AACE;AACJ;AACe;AACX;AA0C3D;IAAA;IAA2B,CAAC;IAAf,WAAW;QAvCvB,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY;gBACZ,wEAAkB;gBAClB,oEAAS;gBACT,0DAAW;gBACX,wDAAW;gBACX,uEAAc;gBACd,gFAAkB;gBAClB,uEAAc;gBACd,yEAAe;gBACf,qEAAa;gBACb,oFAAoB;gBACpB,yEAAe;aAChB;YACD,YAAY,EAAE;gBACZ,mFAAkB;gBAClB,uGAAqB;gBACrB,qHAAyB;gBACzB,oGAAoB;gBACpB,mHAAwB;gBACxB,4FAAiB;gBACjB,kGAAmB;gBACnB,0GAAqB;gBACrB,6GAAsB;gBACtB,+FAAkB;gBAClB,mHAAwB;gBACxB,mHAAwB;gBACxB,qGAAoB;gBACpB,gHAAuB;gBACvB,uGAAqB;gBACrB,kGAAmB;aAAC;YACtB,SAAS,EAAE;gBACT,2DAAY;aACb;YACD,eAAe,EAAE;gBACf,uGAAqB;aACtB;SACF,CAAC;OACW,WAAW,CAAI;IAAD,kBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxExB,4DAA4D;AACP;AACT;AACA;AAOH;AACmB;AACO;AACN;AAEpB;AAKH;AAGsC;AAEmC;AACrB;AAClB;AACX;AAEoB;AAE8D;AAC3D;AAIpF;IAEE,sBAAoB,KAAkC,EAC5C,eAAgC,EAChC,YAA0B,EAC1B,mBAAwC,EACxC,MAAc,EACd,gBAAmC,EACnC,WAAyB,EACzB,WAAyB,EACzB,cAA+B,EAC/B,aAA6B,EAC7B,UAAsB,EACtB,qBAA4C;QAXlC,UAAK,GAAL,KAAK,CAA6B;QAC5C,oBAAe,GAAf,eAAe,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,gBAAW,GAAX,WAAW,CAAc;QACzB,gBAAW,GAAX,WAAW,CAAc;QACzB,mBAAc,GAAd,cAAc,CAAiB;QAC/B,kBAAa,GAAb,aAAa,CAAgB;QAC7B,eAAU,GAAV,UAAU,CAAY;QACtB,0BAAqB,GAArB,qBAAqB,CAAuB;IAAI,CAAC;IAE3D,kBAAkB;IAClB,UAAU;IACV,yCAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA4B,CAAC,CAAC;IACzD,CAAC;IAED,kCAAW,GAAX;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAqB,CAAC,CAAC;IAClD,CAAC;IAED,sCAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4DAAyB,CAAC,CAAC;IACtD,CAAC;IAED,6CAAsB,GAAtB,UAAuB,SAAiB;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,yCAAyC,CAAC,SAAS,CAAC,CAAC;IAChF,CAAC;IAED,+BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,wCAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,8DAA2B,CAAC,CAAC;IACxD,CAAC;IAED,iCAAU,GAAV;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uDAAoB,CAAC,CAAC;IACjD,CAAC;IAED,oCAAa,GAAb,UAAc,KAAa,EAAE,QAAgB;QAA7C,iBAQC;QAPC,IAAM,IAAI,GAAe;YACvB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACpF,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAU,GAAV,UAAW,IAAU,EAAE,QAAgB;QAAvC,iBAWC;QAVC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAO;YACpD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAM,IAAI,GAAe;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,QAAQ;aACnB,CAAC;YACF,KAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBACpF,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YACzC,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;QACtD,CAAC,EAAE,eAAK,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAApC,CAAoC,CAAC,CAAC;IACpD,CAAC;IAED,0CAAmB,GAAnB,UAAoB,IAAU,EAAE,QAAgB,EAAE,SAAiB;QAAnE,iBAeC;QAdC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAO;YACpD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAM,MAAM,GAAgB;gBAC1B,MAAM,EAAE,OAAO,CAAC,EAAE;gBAClB,SAAS,EAAE,SAAS;aACrB,CAAC;YACF,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAM,IAAI,GAAe;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,QAAQ;aACnB,CAAC;YACF,KAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACtF,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;QACtD,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,uCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6DAA0B,CAAC,CAAC;IACvD,CAAC;IAED,+BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB;IAClB,oCAAa,GAAb,UAAc,OAAgB;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,kCAAW,GAAX,UAAY,KAAY;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,mCAAY,GAAZ,UAAa,MAAc;QACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,uCAAgB,GAAhB,UAAiB,MAAc;QAA/B,iBAMC;QALC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,IAAM,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAI;YACxD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6EAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4DAAyB,CAAC,CAAC;IACtD,CAAC;IAED,mCAAY,GAAZ,UAAa,MAAc;QAA3B,iBAIC;QAHC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAO;YAClE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAnC,CAAmC,CAAC,CAAC;IACpD,CAAC;IAED,oCAAa,GAAb,UAAc,OAAgB;QAA9B,iBAIC;QAHC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAO;YACtE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,oCAAa,GAAb,UAAc,OAAgB;QAA9B,iBASC;QARC,IAAM,MAAM,GAA6B;YACvC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO;SACjB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC/D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,mCAAY,GAAZ,UAAa,MAAc;QAA3B,iBASC;QARC,IAAM,MAAM,GAA4B;YACtC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC5D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,oCAAa,GAAb,UAAc,OAAgB;QAA9B,iBAKC;QAJC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,iCAAU,GAAV,UAAW,IAAU;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAU,GAAV,UAAW,IAAU;QAArB,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC7D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAU,GAAV,UAAW,IAAU;QAArB,iBASC;QARC,IAAM,MAAM,GAA0B;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAO;YACzD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QACzC,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,mCAAY,GAAZ,UAAa,MAAgB,EAAE,MAAc;QACzC,IAAM,GAAG,GAAG,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACnD,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAS,EAAE,CAAU,IAAK,QAAC,GAAG,IAAI,GAAG,CAAC,EAAZ,CAAY,CAAE,CAAC,CAAC;QACrF,IAAM,MAAM,GAAmC;YAC7C,SAAS,EAAE,GAAG;YACd,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI,IAAI,cAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAjB,CAAiB,EAAE,eAAK,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAApC,CAAoC,CAAC,CAAC;IACzI,CAAC;IAED,+BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,wCAAiB,GAAjB,UAAkB,WAAwB;QAA1C,iBAIC;QAHC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,iBAAO;YACzE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6FAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAiB,GAAjB,UAAkB,WAAwB;QAA1C,iBAQC;QAPC,IAAM,MAAM,GAAkF;YAC5F,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,uEAAuE,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAE;YACnH,KAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAAO,GAAP;QAAA,iBAoCC;QAnCC,cAAc;QACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gFAAc,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,cAAI;YACrD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uFAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC,EAAE,gBAAM;YACP,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,oFAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,UAAU;QACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAY,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAI;YACjD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,iFAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC,EAAE,gBAAM;YACP,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,8EAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,QAAQ;QACR,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,oEAAS,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,cAAI;YAC3C,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,gBAAM;YACP,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,wEAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,QAAQ;QACR,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAS,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,cAAI;YAC3C,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4EAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,gBAAM;YACP,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,yEAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,UAAU;QACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,yEAAW,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,cAAI;YAC/C,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gFAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC,EAAE,gBAAM;YACP,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6EAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;;gBApP0B,iDAAK;gBACL,8EAAe;gBAClB,wEAAY;gBACL,uFAAmB;gBAChC,sDAAM;gBACI,oFAAiB;gBACtB,yEAAY;gBACZ,wEAAY;gBACT,8EAAe;gBAChB,6DAAc;gBACjB,yDAAU;gBACC,oEAAqB;;IAb3C,YAAY;QADxB,gEAAU,EAAE;yCAGgB,iDAAK;YACL,8EAAe;YAClB,wEAAY;YACL,uFAAmB;YAChC,sDAAM;YACI,oFAAiB;YACtB,yEAAY;YACZ,wEAAY;YACT,8EAAe;YAChB,6DAAc;YACjB,yDAAU;YACC,oEAAqB;OAb3C,YAAY,CAuPxB;IAAD,mBAAC;CAAA;AAvPwB;;;;;;;;;;;;;ACrCzB;AAAe,6GAA8C,+K;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAkB;AAS/E;IAEE;QAKU,gBAAW,GAAsB,IAAI,0DAAY,EAAE,CAAC;QACpD,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;IANzC,CAAC;IAajB,sCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,KAAI,CAAC,MAAM,CAAC,SAAS,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,UAAU,CAAC;YAAS,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,uCAAS,GAAT,UAAU,OAAiB;QACzB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,6CAAe,GAAf,UAAgB,MAAc,EAAE,WAAoB;QAClD,OAAO,MAAM,GAAG,IAAI,GAAG,WAAW,CAAC;IACrC,CAAC;IAED,oCAAM,GAAN;QACE,qCAAqC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;IACpE,CAAC;IAED,2CAAa,GAAb;QACE,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QACzE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;IACjD,CAAC;IAED,4CAAc,GAAd;QACE,IAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;SACjC;IACH,CAAC;IA7CQ;QAAR,2DAAK,EAAE;;uDAAgB;IACf;QAAR,2DAAK,EAAE;;uDAAkB;IACjB;QAAR,2DAAK,EAAE;;yDAAqB;IACnB;QAAT,4DAAM,EAAE;kCAAc,0DAAY;4DAA2B;IACpD;QAAT,4DAAM,EAAE;kCAAS,0DAAY;uDAA2B;IAR9C,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,gNAA2C;;SAE5C,CAAC;;OACW,mBAAmB,CAkD/B;IAAD,0BAAC;CAAA;AAlD+B;;;;;;;;;;;;;ACThC;AAAe,6GAA8C,mL;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAI;AAEpB;AAO7C;IAOE;QAJU,mBAAc,GAAyB,IAAI,0DAAY,EAAE,CAAC;QAC1D,kBAAa,GAAyB,IAAI,0DAAY,EAAE,CAAC;QACzD,iBAAY,GAAyB,IAAI,0DAAY,EAAE,CAAC;IAElD,CAAC;IAEjB,uCAAQ,GAAR,cAAa,CAAC;IAEd,+CAAgB,GAAhB,UAAiB,MAAc;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,8CAAe,GAAf,UAAgB,MAAc;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,8CAAe,GAAf,UAAgB,MAAc;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAnBQ;QAAR,2DAAK,EAAE;;yDAAmB;IACjB;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;gEAA8B;IAC1D;QAAT,4DAAM,EAAE;kCAAgB,0DAAY;+DAA8B;IACzD;QAAT,4DAAM,EAAE;kCAAe,0DAAY;8DAA8B;IALvD,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,mNAA4C;;SAE7C,CAAC;;OACW,oBAAoB,CAsBhC;IAAD,2BAAC;CAAA;AAtBgC;;;;;;;;;;;;;ACTjC;AAAe,6GAA8C,mL;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAME;QAHU,gBAAW,GAA0B,IAAI,0DAAY,EAAE,CAAC;QACxD,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAEzC,CAAC;IAGjB,uCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACxD;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACtD;IACH,CAAC;IAED,qCAAM,GAAN;QACE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,uCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAtBQ;QAAR,2DAAK,EAAE;;yDAAkB;IAChB;QAAT,4DAAM,EAAE;kCAAc,0DAAY;6DAA+B;IACxD;QAAT,4DAAM,EAAE;kCAAS,0DAAY;wDAA2B;IAJ9C,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,mNAA4C;;SAE7C,CAAC;;OACW,oBAAoB,CAyBhC;IAAD,2BAAC;CAAA;AAzBgC;;;;;;;;;;;;;ACRjC;AAAe,mFAAoB,sBAAsB,uCAAuC,4BAA4B,4BAA4B,KAAK,yBAAyB,iBAAiB,uBAAuB,KAAK,+BAA+B,qBAAqB,KAAK,2BAA2B,sCAAsC,KAAK,+BAA+B,4BAA4B,KAAK,sBAAsB,oBAAoB,KAAK,uCAAuC,yBAAyB,KAAK,+BAA+B,0BAA0B,KAAK,6BAA6B,aAAa,4BAA4B,8BAA8B,0BAA0B,wBAAwB,8BAA8B,KAAK,+CAA+C,+qD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAruB;AAE1B;AACqB;AAalF;IAaE,+BAAmB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;QAV1B,oBAAe,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAC5D,mBAAc,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAC3D,mBAAc,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAC3D,mBAAc,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAC3D,oBAAe,GAAuB,IAAI,0DAAY,EAAE,CAAC;QACzD,iBAAY,GAAsD,IAAI,0DAAY,EAAE,CAAC;QAE/F,qBAAgB,GAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAGnC,CAAC;IAEzC,wCAAQ,GAAR;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,0EAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,2CAAW,GAAX,UAAY,KAAY;QACtB,IAAM,WAAW,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5D,CAAC;IAED,iDAAiB,GAAjB,UAAkB,OAAgB;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,gDAAgB,GAAhB,UAAiB,OAAgB;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,gDAAgB,GAAhB,UAAiB,OAAgB;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAnB,CAAmB,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,4CAAY,GAAZ;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,8CAAc,GAAd,UAAe,OAAgB,EAAE,KAAU;QACzC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,0CAAU,GAAV,UAAW,OAAO;QAAlB,iBAWC;QAVG,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC1D,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,EAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAC;SAClC,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAM;YACtC,IAAI,MAAM,EAAE;gBACV,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBA7C0B,kEAAS;;IAX3B;QAAR,2DAAK,EAAE;;2DAAqB;IACnB;QAAT,4DAAM,EAAE;kCAAkB,0DAAY;kEAA+B;IAC5D;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;iEAA+B;IAC3D;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;iEAA+B;IAC3D;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;iEAA+B;IAC3D;QAAT,4DAAM,EAAE;kCAAkB,0DAAY;kEAA4B;IACzD;QAAT,4DAAM,EAAE;kCAAe,0DAAY;+DAA2D;IARpF,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,sNAA6C;;SAE9C,CAAC;yCAc2B,kEAAS;OAbzB,qBAAqB,CA4DjC;IAAD,4BAAC;CAAA;AA5DiC;AAkElC;IAEE,+BACS,SAA8C,EACrB,IAAgB;QADzC,cAAS,GAAT,SAAS,CAAqC;QACrB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEtD,yCAAS,GAAT;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,0CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;;gBATmB,qEAAY;gDAC7B,oDAAM,SAAC,wEAAe;;IAJd,qBAAqB;QAJjC,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,oMAAkC;SACnC,CAAC;QAKG,uEAAM,CAAC,wEAAe,CAAC;yCADN,qEAAY;OAHrB,qBAAqB,CAcjC;IAAD,4BAAC;CAAA;AAdiC;;;;;;;;;;;;;AClFlC;AAAe,6GAA8C,+L;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAIE;QADU,eAAU,GAAuB,IAAI,0DAAY,EAAE,CAAC;IAC9C,CAAC;IAEjB,2CAAQ,GAAR;IACA,CAAC;IAED,kDAAe,GAAf,UAAgB,IAAU;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IATQ;QAAR,2DAAK,EAAE;;2DAAe;IACb;QAAT,4DAAM,EAAE;kCAAa,0DAAY;gEAA4B;IAHnD,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,kOAAiD;;SAElD,CAAC;;OACW,wBAAwB,CAYpC;IAAD,+BAAC;CAAA;AAZoC;;;;;;;;;;;;;ACRrC;AAAe,6GAA8C,2K;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAS7E;IAaE;QATU,cAAS,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAClD,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAQzC,CAAC;IAEjB,oCAAQ,GAAR;QAAA,iBAaC;QAZC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI;gBACvC,WAAI,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,MAAM;YAA3B,CAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,CAAC,CAAC;aACP,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,kCAAM,GAAN;QACE,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACpC,IAAM,IAAI,GAAG;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;gBACpC,IAAM,IAAI,GAAG;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;IACH,CAAC;IAGD,yCAAa,GAAb,UAAe,QAAgB;QAC7B,uBAAuB;QACvB,IAAM,KAAK,GAAU,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB;QACxC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACrC,MAAM,EAAE,CAAC;aACZ;SACJ;QACD,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,oCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,sCAAU,GAAV;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACzC,CAAC;IA5EQ;QAAR,2DAAK,EAAE;;mDAAY;IACX;QAAR,2DAAK,EAAE;;oDAAe;IACb;QAAT,4DAAM,EAAE;kCAAY,0DAAY;wDAA2B;IAClD;QAAT,4DAAM,EAAE;kCAAS,0DAAY;qDAA2B;IAL9C,iBAAiB;QAL7B,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,0MAAyC;;SAE1C,CAAC;;OACW,iBAAiB,CA+E7B;IAAD,wBAAC;CAAA;AA/E6B;;;;;;;;;;;;;ACT9B;AAAe,6GAA8C,+K;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAQE;QALU,SAAI,GAAuB,IAAI,0DAAY,EAAE,CAAC;IAKxC,CAAC;IAEjB,sCAAQ,GAAR;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,6CAAe,GAAf,UAAgB,IAAU;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,wCAAU,GAAV,UAAW,IAAI;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAtC,CAAsC,CAAC,CAAC;IACxF,CAAC;IAlBQ;QAAR,2DAAK,EAAE;;sDAAe;IACb;QAAT,4DAAM,EAAE;kCAAO,0DAAY;qDAA4B;IAH7C,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,gNAA2C;;SAE5C,CAAC;;OACW,mBAAmB,CAqB/B;IAAD,0BAAC;CAAA;AArB+B;;;;;;;;;;;;;ACRhC;AAAe,6GAA8C,+K;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAOE;QAJU,iBAAY,GAAuB,IAAI,0DAAY,EAAE,CAAC;QACtD,gBAAW,GAAuB,IAAI,0DAAY,EAAE,CAAC;QACrD,gBAAW,GAAuB,IAAI,0DAAY,EAAE,CAAC;IAG/D,CAAC;IAED,qCAAQ,GAAR;IACA,CAAC;IAED,2CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,0CAAa,GAAb,UAAc,IAAU;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,0CAAa,GAAb,UAAc,IAAU;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAnBQ;QAAR,2DAAK,EAAE;;qDAAe;IACb;QAAT,4DAAM,EAAE;kCAAe,0DAAY;4DAA4B;IACtD;QAAT,4DAAM,EAAE;kCAAc,0DAAY;2DAA4B;IACrD;QAAT,4DAAM,EAAE;kCAAc,0DAAY;2DAA4B;IALpD,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,6MAA0C;;SAE3C,CAAC;;OACW,kBAAkB,CAuB9B;IAAD,yBAAC;CAAA;AAvB8B;;;;;;;;;;;;;ACR/B;AAAe,6GAA8C,+L;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACC;AAUnD;IAOE,iCAAoB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAI,CAAC;IAE9C,0CAAQ,GAAR;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,wCAAM,GAAN,UAAO,MAAW;QAChB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,yCAAO,GAAP;QACE,+CAA+C;IACjD,CAAC;;gBAf4B,2DAAY;;IAP9B,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,+NAAgD;;SAEjD,CAAC;yCAQ6B,2DAAY;OAP9B,uBAAuB,CAwBnC;IAAD,8BAAC;CAAA;AAxBmC;;;;;;;;;;;;;ACXpC;AAAe,6GAA8C,+L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACC;AAGV;AAOzC;IAME,kCACU,OAAqB,EACrB,MAAc;QADd,YAAO,GAAP,OAAO,CAAc;QACrB,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAE7B,2CAAQ,GAAR;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,mDAAgB,GAAhB,UAAiB,MAAc;QAC7B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,mDAAgB,GAAhB,UAAiB,MAAc;QAC7B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,kDAAe,GAAf,UAAgB,MAAc;QAC5B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC/C,CAAC;;gBAnBkB,2DAAY;gBACb,sDAAM;;IARb,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,kOAAiD;;SAElD,CAAC;yCAQmB,2DAAY;YACb,sDAAM;OARb,wBAAwB,CA2BpC;IAAD,+BAAC;CAAA;AA3BoC;;;;;;;;;;;;;ACXrC;AAAe,6GAA8C,+L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAF;AAEV;AACR;AAKJ;AACN;AAO/B;IAEE,kCAAoB,OAAqB,EACrB,QAAkB;QADlB,YAAO,GAAP,OAAO,CAAc;QACrB,aAAQ,GAAR,QAAQ,CAAU;IAAI,CAAC;IAU3C,2CAAQ,GAAR;QAAA,iBAUC;QATC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,iBAAO;YACjE,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,2CAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,yCAAM,GAAN,UAAO,OAAgB;QACrB,IAAI,OAAO,CAAC,EAAE,EAAE;YACd,wCAAwC;YACxC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACrC;aAAM;YACL,mDAAmD;YACnD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACrC;IACH,CAAC;IAED,6CAAU,GAAV,UAAW,IAAS;QAApB,iBAQC;QAPC,4CAA4C;QAC5C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,eAAK;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAA1B,CAA0B,CAAC,EAAE;gBACjD,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5E,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAClF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAO,GAAP,UAAQ,IAAU;QAAlB,iBAWC;QAVC,IAAM,WAAW,GAAgB;YAC/B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,eAAK;YACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAArB,CAAqB,CAAC,EAAE;gBAC5C,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjF,KAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;aAC7C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAkB,GAAlB,UAAmB,IAAU;QAC3B,IAAM,WAAW,GAAgB;YAC/B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,UAAC,UAAU;YACzF,OAAO,UAAU,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAClC,CAAC,CAAC,EAFiE,CAEjE,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;;gBAzE4B,2DAAY;gBACX,wDAAQ;;IAH3B,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,kOAAiD;;SAElD,CAAC;yCAG6B,2DAAY;YACX,wDAAQ;OAH3B,wBAAwB,CA4EpC;IAAD,+BAAC;CAAA;AA5EoC;;;;;;;;;;;;;AChBrC;AAAe,6GAA8C,mM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACD;AAGV;AAOvC;IAEE,mCAAoB,OAAqB,EACrB,MAAc;QADd,YAAO,GAAP,OAAO,CAAc;QACrB,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAIvC,4CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAGD,qDAAiB,GAAjB,UAAkB,OAAgB;QAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,qDAAiB,GAAjB,UAAkB,OAAgB;QAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,oDAAgB,GAAhB,UAAiB,OAAgB;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,oDAAgB,GAAhB,UAAiB,OAAgB;QAC/B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,4CAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChD,CAAC;;gBA9B4B,2DAAY;gBACb,sDAAM;;IAHvB,yBAAyB;QALrC,+DAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,qOAAkD;;SAEnD,CAAC;yCAG6B,2DAAY;YACb,sDAAM;OAHvB,yBAAyB,CAiCrC;IAAD,gCAAC;CAAA;AAjCqC;;;;;;;;;;;;;ACXtC;AAAe,6GAA8C,uL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAF;AACV;AAIR;AAOzC;IAEE,+BAAoB,OAAqB,EACrB,QAAkB;QADlB,YAAO,GAAP,OAAO,CAAc;QACrB,aAAQ,GAAR,QAAQ,CAAU;IAAI,CAAC;IAO3C,wCAAQ,GAAR;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,2CAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,sCAAM,GAAN,UAAO,IAAS;QAAhB,iBAgBC;QAfC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5D;SACF;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,eAAK;gBACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAA1B,CAA0B,CAAC,EAAE;oBACjD,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAClD,KAAI,CAAC,SAAS,CAAC,SAAS,CAAC,kBAAQ;wBAC/B,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,cAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAhC,CAAgC,CAAC,CAAC;oBAC7E,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAClB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;gBAvC4B,2DAAY;gBACX,wDAAQ;;IAH3B,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,yNAA8C;;SAE/C,CAAC;yCAG6B,2DAAY;YACX,wDAAQ;OAH3B,qBAAqB,CA0CjC;IAAD,4BAAC;CAAA;AA1CiC;;;;;;;;;;;;;ACZlC;AAAe,6GAA8C,2L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACD;AACV;AASvC;IAEE,gCAAoB,OAAqB,EACrB,MAAc;QADd,YAAO,GAAP,OAAO,CAAc;QACrB,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAIvC,yCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAGD,+CAAc,GAAd,UAAe,IAAU;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,+CAAc,GAAd,UAAe,IAAU;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,8CAAa,GAAb,UAAc,IAAU;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7C,CAAC;;gBA1B4B,2DAAY;gBACb,sDAAM;;IAHvB,sBAAsB;QALlC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,4NAA+C;;SAEhD,CAAC;yCAG6B,2DAAY;YACb,sDAAM;OAHvB,sBAAsB,CA6BlC;IAAD,6BAAC;CAAA;AA7BkC;;;;;;;;;;;;;;;;;;;;;;;;;ACXnC,oBAAoB;AACuB;AAE3C;;GAEG;AAEH;IADA;QAEE,2CAA2C;QAC3C,oDAAoD;QACpD,YAAO,GAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3C,CAAC;IAJY,gBAAgB;QAD5B,gEAAU,EAAE;OACA,gBAAgB,CAI5B;IAAD,uBAAC;CAAA;AAJ4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPY;AACe;AACD;AAEmB;AACtB;AACQ;AACJ;AACW;AACY;AACjB;AACN;AACiB;AACF;AACf;AAExD;;GAEG;AAwBH;IAAA;IAAyB,CAAC;IAAb,SAAS;QAvBrB,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,qEAAgB;aACjB;YACD,OAAO,EAAE;gBACP,qEAAgB;aACjB;YACD,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE;gBACT,mEAAgB;gBACjB,sFAAqB;gBACrB,gEAAU;gBACV,wEAAc;gBACd,oEAAY;gBACZ,+EAAiB;gBACjB,2FAAuB;gBACvB,0EAAe;gBACf,qEAAY;gBACZ,sFAAoB;gBACpB,oFAAmB;gBACnB,qEAAY;aACZ;SACF,CAAC;OACW,SAAS,CAAI;IAAD,gBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;AC1CtB,oBAAoB;AAC8D;AAGlF;;;GAGG;AACH;IAAA;IAgBA,CAAC;IAfC,kCAAS,GAAT,UAAU,GAAW;QACnB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,oCAAW,GAAX,UAAY,KAAa;QACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,kCAAS,GAAT,UAAU,GAAW;QACnB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,oCAAW,GAAX,UAAY,KAAa;QACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACH,qBAAC;AAAD,CAAC;AACD,IAAM,eAAe,GAAG,IAAI,cAAc,EAAE,CAAC;AAE7C;;GAEG;AACH;IACE,qBACY,MAAwB,EACxB,IAAgB;QADhB,WAAM,GAAN,MAAM,CAAkB;QACxB,SAAI,GAAJ,IAAI,CAAY;IAE5B,CAAC;IAQD,sBAAI,gCAAO;QAJX;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9C,CAAC;QAED;;WAEG;aACH,UAAY,OAAe;YACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;;;OAPA;IASD;;OAEG;IACO,+BAAS,GAAnB;QACE,OAAO,IAAI,+DAAU,CAAC;YACpB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IACH,kBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;AC9DD;IAII,iBAAY,IAAa,EAAE,MAAe,EAAE,MAAe;QACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IACL,cAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTyE;AACtB;AACQ;AACJ;AACW;AACY;AACjB;AACN;AACiB;AACF;AACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVxD,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAA2C,yCAAW;IACpD,+BACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,0EAA0C,GAA1C,UAA2C,UAAuB;QACjE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,UAAU,CAAC;QACpB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,mCAAmC,EAClD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kEAAkC,GAAlC,UAAmC,UAAuB;QACzD,OAAO,IAAI,CAAC,0CAA0C,CAAC,UAAU,CAAC,CAAC,IAAI,CACrE,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,0EAA0C,GAA1C,UAA2C,KAAc;QACxD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,KAAK,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,mCAAmC,EAClD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kEAAkC,GAAlC,UAAmC,KAAc;QAChD,OAAO,IAAI,CAAC,0CAA0C,CAAC,KAAK,CAAC,CAAC,IAAI,CAChE,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,0EAA0C,GAA1C,UAA2C,UAAuB;QACjE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,UAAU,CAAC;QACpB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,mCAAmC,EAClD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kEAAkC,GAAlC,UAAmC,UAAuB;QACzD,OAAO,IAAI,CAAC,0CAA0C,CAAC,UAAU,CAAC,CAAC,IAAI,CACrE,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yEAAyC,GAAzC,UAA0C,KAAc;QACvD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,KAAK,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,kCAAkC,EACjD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iEAAiC,GAAjC,UAAkC,KAAc;QAC/C,OAAO,IAAI,CAAC,yCAAyC,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/D,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBA5JS,mEAAgB;gBAClB,+DAAU;;IAHP,qBAAqB;QADjC,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,qBAAqB,CA+JjC;IAAD,4BAAC;CAAA,CA/J0C,yDAAW,GA+JrD;AA/JiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdlC,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAM/C;IAAgC,8BAAW;IACzC,oBACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;;;;OAUG;IACF,mDAA8B,GAA9B,UAA+B,MAA+C;QAC7E,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9G,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,wBAAwB,EACvC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAW,IAAI,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,IAAc;YAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAyB,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACF,2CAAsB,GAAtB,UAAuB,MAA+C;QACrE,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,IAAI,CACrD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,2CAAsB,GAAtB,UAAuB,MAAW;QAChC,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAKD;;;;;;;;;;OAUG;IACF,kDAA6B,GAA7B,UAA8B,MAA8C;QAC3E,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9G,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,uBAAuB,EACtC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAW,IAAI,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,IAAc;YAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAyB,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAGD,0CAAqB,GAArB,UAAsB,MAAW;QAE/B,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,MAAM,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,0EAA0E,EAC1E,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,0EAA0E,EAAE,MAAM,CAAC,CAAC;QAC1G;;;;;;;;;YASI;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACF,0CAAqB,GAArB,UAAsB,MAA8C;QACnE,OAAO,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,IAAI,CACpD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACF,sDAAiC,GAAjC,UAAkC,MAAkD;QACnF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9G,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,2BAA2B,EAC1C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAW,IAAI,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,IAAc;YAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAyB,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACF,8CAAyB,GAAzB,UAA0B,MAAkD;QAC3E,OAAO,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,IAAI,CACxD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,qDAAgC,GAAhC,UAAiC,MAAiD;QACjF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,CAAC,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAC,CAAC;QACtE,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClG,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,yBAAyB,EACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAsB,IAAI,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,IAAyB;YACvC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAoC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,6CAAwB,GAAxB,UAAyB,MAAiD;QACzE,OAAO,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,IAAI,CACvD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,mDAA8B,GAA9B,UAA+B,SAAkB;QAChD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,SAAS,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,wBAAwB,EACvC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAa,IAAI,CAAC;YAC3B,KAAK,GAAG,KAAK,CAAC,IAAgB;YAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA2B,CAAC;QAC9D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,2CAAsB,GAAtB,UAAuB,SAAkB;QACxC,OAAO,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,IAAI,CACxD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,oDAA+B,GAA/B,UAAgC,MAAgD;QAC/E,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9G,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,yBAAyB,EACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,4CAAuB,GAAvB,UAAwB,MAAgD;QACvE,OAAO,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,IAAI,CACtD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBA9VS,mEAAgB;gBAClB,+DAAU;;IAHP,UAAU;QADtB,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,UAAU,CAiWtB;IAAD,iBAAC;CAAA,CAjW+B,yDAAW,GAiW1C;AAjWsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfvB,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAO/C;IAAoC,kCAAW;IAC7C,wBACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,8CAAqB,GAArB;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,cAAc,EAC7B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAa,IAAI,CAAC;YAC3B,KAAK,GAAG,KAAK,CAAC,IAAgB;YAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA2B,CAAC;QAC9D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,sCAAa,GAAb;QACC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CACtC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,+CAAsB,GAAtB,UAAuB,MAAe;QACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,cAAc,EAC7B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,uCAAc,GAAd,UAAe,MAAe;QAC7B,OAAO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAC7C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kDAAyB,GAAzB,UAA0B,EAAU;QACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,kBAAgB,EAAI,GACnC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,0CAAiB,GAAjB,UAAkB,EAAU;QAC3B,OAAO,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,IAAI,CAC5C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,kDAAyB,GAAzB,UAA0B,MAA8C;QACvE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,kBAAgB,MAAM,CAAC,EAAI,GAC1C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,0CAAiB,GAAjB,UAAkB,MAA8C;QAC/D,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,IAAI,CAChD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,qDAA4B,GAA5B,UAA6B,EAAU;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,kBAAgB,EAAI,GACnC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,6CAAoB,GAApB,UAAqB,EAAU;QAC9B,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,IAAI,CAC/C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,+DAAsC,GAAtC,UAAuC,MAA2D;QACjG,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,IAAG,+BAA6B,MAAM,CAAC,EAAI,GACvD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,uDAA8B,GAA9B,UAA+B,MAA2D;QACzF,OAAO,IAAI,CAAC,sCAAsC,CAAC,MAAM,CAAC,CAAC,IAAI,CAC7D,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,0DAAiC,GAAjC,UAAkC,MAAsD;QACvF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,0BAA0B,EACzC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,kDAAyB,GAAzB,UAA0B,MAAsD;QAC/E,OAAO,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC,IAAI,CACxD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,gEAAuC,GAAvC,UAAwC,YAAqB;QAC5D,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,YAAY,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7F,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,gCAAgC,EAC/C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAuB,IAAI,CAAC;YACrC,KAAK,GAAG,KAAK,CAAC,IAA0B;YACxC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAqC,CAAC;QACxE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,wDAA+B,GAA/B,UAAgC,YAAqB;QACpD,OAAO,IAAI,CAAC,uCAAuC,CAAC,YAAY,CAAC,CAAC,IAAI,CACpE,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,yDAAgC,GAAhC,UAAiC,MAAqD;QACrF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrG,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,yBAAyB,EACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAsB,IAAI,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,IAAyB;YACvC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAoC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,iDAAwB,GAAxB,UAAyB,MAAqD;QAC7E,OAAO,IAAI,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC,IAAI,CACvD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,2DAAkC,GAAlC,UAAmC,UAAmB;QACrD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,UAAU,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAC3C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAa,IAAI,CAAC;YAC3B,KAAK,GAAG,KAAK,CAAC,IAAgB;YAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA2B,CAAC;QAC9D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,mDAA0B,GAA1B,UAA2B,UAAmB;QAC7C,OAAO,IAAI,CAAC,kCAAkC,CAAC,UAAU,CAAC,CAAC,IAAI,CAC7D,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBA3aS,mEAAgB;gBAClB,+DAAU;;IAHP,cAAc;QAD1B,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,cAAc,CA8a1B;IAAD,qBAAC;CAAA,CA9amC,yDAAW,GA8a9C;AA9a0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChB3B,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAAuC,qCAAW;IAChD,2BACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,oDAAwB,GAAxB;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,iBAAiB,EAChC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAgB,IAAI,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC,IAAmB;YACjC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA8B,CAAC;QACjE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,4CAAgB,GAAhB;QACC,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC,IAAI,CACzC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,qDAAyB,GAAzB,UAA0B,SAAqB;QAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,SAAS,CAAC;QACnB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,iBAAiB,EAChC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,6CAAiB,GAAjB,UAAkB,SAAqB;QACtC,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,IAAI,CACnD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,wDAA4B,GAA5B,UAA6B,EAAU;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,qBAAmB,EAAI,GACtC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,gDAAoB,GAApB,UAAqB,EAAU;QAC9B,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,IAAI,CAC/C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,wDAA4B,GAA5B,UAA6B,MAAoD;QAChF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;QAC1B,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,qBAAmB,MAAM,CAAC,EAAI,GAC7C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,gDAAoB,GAApB,UAAqB,MAAoD;QACxE,OAAO,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,IAAI,CACnD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,2DAA+B,GAA/B,UAAgC,EAAU;QACzC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,qBAAmB,EAAI,GACtC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,mDAAuB,GAAvB,UAAwB,EAAU;QACjC,OAAO,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,IAAI,CAClD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBA1MS,mEAAgB;gBAClB,+DAAU;;IAHP,iBAAiB;QAD7B,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,iBAAiB,CA6M7B;IAAD,wBAAC;CAAA,CA7MsC,yDAAW,GA6MjD;AA7M6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACd9B,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAAkC,gCAAW;IAC3C,sBACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,0CAAmB,GAAnB;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,YAAY,EAC3B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kCAAW,GAAX;QACC,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CACpC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,2CAAoB,GAApB,UAAqB,KAAa;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,KAAK,CAAC;QACf,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,YAAY,EAC3B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,mCAAY,GAAZ,UAAa,KAAa;QACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,IAAI,CAC1C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,uDAAgC,GAAhC,UAAiC,SAAS;QACzC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,8BAA4B,SAAW,GACtD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,+CAAwB,GAAxB,UAAyB,SAAS;QACjC,OAAO,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,IAAI,CAC1D,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,8DAAuC,GAAvC,UAAwC,MAAM;QAC5C,OAAO,IAAI,CAAC,+CAA+C,CAAC,MAAM,CAAC,CAAC,IAAI,CACtE,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAGD;;;;;;;;OAQG;IACF,sEAA+C,GAA/C,UAAgD,MAAoF;QACnI,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,yCAAuC,MAAM,CAAC,SAAW,GACxE,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,4DAAqC,GAArC,UAAsC,SAAS;QAC7C,OAAO,IAAI,CAAC,6CAA6C,CAAC,SAAS,CAAC,CAAC,IAAI,CACvE,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAGD;;;;;;;;OAQG;IACF,oEAA6C,GAA7C,UAA8C,SAAS;QACtD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,8CAA4C,SAAW,GACtE,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAGD;;;;;;;;OAQG;IACF,wFAAiE,GAAjE,UAAkE,MAAoF;QACrJ,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,wCAAsC,MAAM,CAAC,SAAS,SAAI,MAAM,CAAC,aAAe,GAC/F,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,gFAAyD,GAAzD,UAA0D,MAAoF;QAC7I,OAAO,IAAI,CAAC,iEAAiE,CAAC,MAAM,CAAC,CAAC,IAAI,CACxF,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACF,kGAA2E,GAA3E,UAA4E,MAA8F;QACzK,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAIvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,yCAAuC,MAAM,CAAC,SAAS,SAAI,MAAM,CAAC,aAAa,SAAI,MAAM,CAAC,IAAI,cAAS,MAAM,CAAC,IAAI,iBAAW,MAAM,CAAC,MAAM,IAAI,MAAM,eAAS,MAAM,CAAC,IAAM,GACzL,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,iGAA0E,GAA1E,UAA2E,MAA8F;QACvK,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAIvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,wCAAsC,MAAM,CAAC,SAAS,SAAI,MAAM,CAAC,aAAa,oBAAe,MAAM,CAAC,SAAS,kBAAa,MAAM,CAAC,OAAO,cAAS,MAAM,CAAC,IAAM,GAC7K,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAY,IAAI,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC,IAAe;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA0B,CAAC;QAC7D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,0FAAmE,GAAnE,UAAoE,MAA8F;QAChK,OAAO,IAAI,CAAC,2EAA2E,CAAC,MAAM,CAAC,CAAC,IAAI,CAClG,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,yFAAkE,GAAlE,UAAmE,MAA8F;QAC/J,OAAO,IAAI,CAAC,0EAA0E,CAAC,MAAM,CAAC,CAAC,IAAI,CACjG,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,8CAAuB,GAAvB,UAAwB,EAAU;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,gBAAc,EAAI,GACjC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,sCAAe,GAAf,UAAgB,EAAU;QACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,8CAAuB,GAAvB,UAAwB,MAA0C;QACjE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,gBAAc,MAAM,CAAC,EAAI,GACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,sCAAe,GAAf,UAAgB,MAA0C;QACzD,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iDAA0B,GAA1B,UAA2B,EAAU;QACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,gBAAc,EAAI,GACjC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yCAAkB,GAAlB,UAAmB,EAAU;QAC5B,OAAO,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,IAAI,CAC7C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,6DAAsC,GAAtC,UAAuC,MAAyD;QAC/F,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI;YAAE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9G,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QACtB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,+BAA+B,EAC9C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,qDAA8B,GAA9B,UAA+B,MAAyD;QACvF,OAAO,IAAI,CAAC,sCAAsC,CAAC,MAAM,CAAC,CAAC,IAAI,CAC7D,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBA/fS,mEAAgB;gBAClB,+DAAU;;IAHP,YAAY;QADxB,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,YAAY,CAkgBxB;IAAD,mBAAC;CAAA,CAlgBiC,yDAAW,GAkgB5C;AAlgBwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdzB,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAA6C,2CAAW;IACtD,iCACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,gEAA8B,GAA9B;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,uBAAuB,EACtC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAsB,IAAI,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,IAAyB;YACvC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAoC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,wDAAsB,GAAtB;QACC,OAAO,IAAI,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAC/C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iEAA+B,GAA/B,UAAgC,eAAiC;QAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,eAAe,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,uBAAuB,EACtC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yDAAuB,GAAvB,UAAwB,eAAiC;QACxD,OAAO,IAAI,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC,IAAI,CAC/D,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,yGAAuE,GAAvE,UAAwE,SAAiB;QACxF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,0DAAwD,SAAW,GAClF,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAsB,IAAI,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,IAAyB;YACvC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAoC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,iGAA+D,GAA/D,UAAgE,SAAiB;QAChF,OAAO,IAAI,CAAC,uEAAuE,CAAC,SAAS,CAAC,CAAC,IAAI,CACjG,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,oEAAkC,GAAlC,UAAmC,EAAU;QAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,2BAAyB,EAAI,GAC5C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,4DAA0B,GAA1B,UAA2B,EAAU;QACpC,OAAO,IAAI,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,IAAI,CACrD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,oEAAkC,GAAlC,UAAmC,MAAgE;QAClG,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QAChC,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,2BAAyB,MAAM,CAAC,EAAI,GACnD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,4DAA0B,GAA1B,UAA2B,MAAgE;QAC1F,OAAO,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC,IAAI,CACzD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,uEAAqC,GAArC,UAAsC,EAAU;QAC/C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,2BAAyB,EAAI,GAC5C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,+DAA6B,GAA7B,UAA8B,EAAU;QACvC,OAAO,IAAI,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC,IAAI,CACxD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBAlPS,mEAAgB;gBAClB,+DAAU;;IAHP,uBAAuB;QADnC,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,uBAAuB,CAqPnC;IAAD,8BAAC;CAAA,CArP4C,yDAAW,GAqPvD;AArPmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdpC,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAAqC,mCAAW;IAC9C,yBACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,gDAAsB,GAAtB;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,eAAe,EAC9B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAc,IAAI,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC,IAAiB;YAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA4B,CAAC;QAC/D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,wCAAc,GAAd;QACC,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC,IAAI,CACvC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iDAAuB,GAAvB,UAAwB,OAAiB;QACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,OAAO,CAAC;QACjB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,eAAe,EAC9B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yCAAe,GAAf,UAAgB,OAAiB;QAChC,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,IAAI,CAC/C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,2EAAiD,GAAjD,UAAkD,MAAc;QAC/D,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,uCAAqC,MAAQ,GAC5D,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAc,IAAI,CAAC;YAC5B,KAAK,GAAG,KAAK,CAAC,IAAiB;YAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAA4B,CAAC;QAC/D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,mEAAyC,GAAzC,UAA0C,MAAc;QACvD,OAAO,IAAI,CAAC,iDAAiD,CAAC,MAAM,CAAC,CAAC,IAAI,CACxE,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,oDAA0B,GAA1B,UAA2B,EAAU;QACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,mBAAiB,EAAI,GACpC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,4CAAkB,GAAlB,UAAmB,EAAU;QAC5B,OAAO,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,IAAI,CAC7C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,oDAA0B,GAA1B,UAA2B,MAAgD;QAC1E,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,mBAAiB,MAAM,CAAC,EAAI,GAC3C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,4CAAkB,GAAlB,UAAmB,MAAgD;QAClE,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,IAAI,CACjD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,uDAA6B,GAA7B,UAA8B,EAAU;QACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,mBAAiB,EAAI,GACpC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,+CAAqB,GAArB,UAAsB,EAAU;QAC/B,OAAO,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,IAAI,CAChD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBAlPS,mEAAgB;gBAClB,+DAAU;;IAHP,eAAe;QAD3B,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,eAAe,CAqP3B;IAAD,sBAAC;CAAA,CArPoC,yDAAW,GAqP/C;AArP2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACd5B,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAAkC,gCAAW;IAC3C,sBACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,0CAAmB,GAAnB;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,YAAY,EAC3B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAW,IAAI,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,IAAc;YAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAyB,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kCAAW,GAAX;QACC,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CACpC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,2CAAoB,GAApB,UAAqB,IAAW;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,YAAY,EAC3B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,mCAAY,GAAZ,UAAa,IAAW;QACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CACzC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,8CAAuB,GAAvB,UAAwB,EAAU;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,gBAAc,EAAI,GACjC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,sCAAe,GAAf,UAAgB,EAAU;QACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,8CAAuB,GAAvB,UAAwB,MAA0C;QACjE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,gBAAc,MAAM,CAAC,EAAI,GACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,sCAAe,GAAf,UAAgB,MAA0C;QACzD,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iDAA0B,GAA1B,UAA2B,EAAU;QACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,gBAAc,EAAI,GACjC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yCAAkB,GAAlB,UAAmB,EAAU;QAC5B,OAAO,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,IAAI,CAC7C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBA1MS,mEAAgB;gBAClB,+DAAU;;IAHP,YAAY;QADxB,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,YAAY,CA6MxB;IAAD,mBAAC;CAAA,CA7MiC,yDAAW,GA6M5C;AA7MwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdzB,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAA0C,wCAAW;IACnD,8BACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,0DAA2B,GAA3B;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,oBAAoB,EACnC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAmB,IAAI,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,IAAsB;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAiC,CAAC;QACpE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kDAAmB,GAAnB;QACC,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC,IAAI,CAC5C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,2DAA4B,GAA5B,UAA6B,YAA2B;QACvD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,YAAY,CAAC;QACtB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,oBAAoB,EACnC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,mDAAoB,GAApB,UAAqB,YAA2B;QAC/C,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC,IAAI,CACzD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,iHAAkF,GAAlF,UAAmF,MAA6G;QAC/L,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAGvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,6DAA2D,MAAM,CAAC,MAAM,SAAI,MAAM,CAAC,SAAW,GAC7G,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAmB,IAAI,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,IAAsB;YACpC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAiC,CAAC;QACpE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACF,yGAA0E,GAA1E,UAA2E,MAA6G;QACvL,OAAO,IAAI,CAAC,kFAAkF,CAAC,MAAM,CAAC,CAAC,IAAI,CACzG,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,8DAA+B,GAA/B,UAAgC,EAAU;QACzC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,wBAAsB,EAAI,GACzC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,sDAAuB,GAAvB,UAAwB,EAAU;QACjC,OAAO,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,IAAI,CAClD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,8DAA+B,GAA/B,UAAgC,MAA0D;QACzF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;QAC7B,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,wBAAsB,MAAM,CAAC,EAAI,GAChD,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,sDAAuB,GAAvB,UAAwB,MAA0D;QACjF,OAAO,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,IAAI,CACtD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iEAAkC,GAAlC,UAAmC,EAAU;QAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,wBAAsB,EAAI,GACzC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yDAA0B,GAA1B,UAA2B,EAAU;QACpC,OAAO,IAAI,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,IAAI,CACrD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBA7PS,mEAAgB;gBAClB,+DAAU;;IAHP,oBAAoB;QADhC,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,oBAAoB,CAgQhC;IAAD,2BAAC;CAAA,CAhQyC,yDAAW,GAgQpD;AAhQgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdjC,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAAyC,uCAAW;IAClD,6BACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,wDAA0B,GAA1B;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,mBAAmB,EAClC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,KAAK,GAAG,KAAK,CAAC,IAAqB;YACnC,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAgC,CAAC;QACnE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,gDAAkB,GAAlB;QACC,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAC3C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yDAA2B,GAA3B,UAA4B,WAAyB;QACpD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,WAAW,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,mBAAmB,EAClC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iDAAmB,GAAnB,UAAoB,WAAyB;QAC5C,OAAO,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,IAAI,CACvD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,4DAA8B,GAA9B,UAA+B,EAAU;QACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,uBAAqB,EAAI,GACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,oDAAsB,GAAtB,UAAuB,EAAU;QAChC,OAAO,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,IAAI,CACjD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,4DAA8B,GAA9B,UAA+B,MAAwD;QACtF,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5B,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,uBAAqB,MAAM,CAAC,EAAI,GAC/C,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,oDAAsB,GAAtB,UAAuB,MAAwD;QAC9E,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,IAAI,CACrD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,+DAAiC,GAAjC,UAAkC,EAAU;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,uBAAqB,EAAI,GACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,uDAAyB,GAAzB,UAA0B,EAAU;QACnC,OAAO,IAAI,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,IAAI,CACpD,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,6GAA+E,GAA/E,UAAgF,MAAyG;QACxL,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAGvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,0DAAwD,MAAM,CAAC,MAAM,SAAI,MAAM,CAAC,SAAW,GAC1G,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,qGAAuE,GAAvE,UAAwE,MAAyG;QAChL,OAAO,IAAI,CAAC,+EAA+E,CAAC,MAAM,CAAC,CAAC,IAAI,CACtG,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBAzPS,mEAAgB;gBAClB,+DAAU;;IAHP,mBAAmB;QAD/B,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,mBAAmB,CA4P/B;IAAD,0BAAC;CAAA,CA5PwC,yDAAW,GA4PnD;AA5P+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdhC,oBAAoB;AACuB;AAGa;AACV;AACU;AAEf;AACM;AAK/C;IAAkC,gCAAW;IAC3C,sBACE,MAAwB,EACxB,IAAgB;eAEhB,kBAAM,MAAM,EAAE,IAAI,CAAC;IACrB,CAAC;IAED;;OAEG;IACF,0CAAmB,GAAnB;QACC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,YAAY,EAC3B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAW,IAAI,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,IAAc;YAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAyB,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,kCAAW,GAAX;QACC,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CACpC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,2CAAoB,GAApB,UAAqB,IAAW;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,MAAM,EACN,IAAI,CAAC,OAAO,GAAG,YAAY,EAC3B,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,mCAAY,GAAZ,UAAa,IAAW;QACvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CACzC,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,wEAAiD,GAAjD,UAAkD,SAAiB;QAClE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,oCAAkC,SAAW,GAC5D,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAW,IAAI,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,IAAc;YAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAyB,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACF,gEAAyC,GAAzC,UAA0C,SAAiB;QAC1D,OAAO,IAAI,CAAC,iDAAiD,CAAC,SAAS,CAAC,CAAC,IAAI,CAC3E,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,8CAAuB,GAAvB,UAAwB,EAAU;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,gBAAc,EAAI,GACjC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,sCAAe,GAAf,UAAgB,EAAU;QACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,8CAAuB,GAAvB,UAAwB,MAA0C;QACjE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,KAAK,EACL,IAAI,CAAC,OAAO,IAAG,gBAAc,MAAM,CAAC,EAAI,GACxC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACF,sCAAe,GAAf,UAAgB,MAA0C;QACzD,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,iDAA0B,GAA1B,UAA2B,EAAU;QACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,IAAI,gEAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,gEAAW,CACvB,QAAQ,EACR,IAAI,CAAC,OAAO,IAAG,gBAAc,EAAI,GACjC,MAAM,EACN;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEL,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM,GAAG,CAAC,CAAC,IAAI,CACrC,oEAAM,CAAC,YAAE,IAAI,SAAE,YAAY,iEAAY,EAA1B,CAA0B,CAAC,EACxC,8DAAG,CAAC,YAAE;YACJ,IAAI,KAAK,GAAG,EAAuB,CAAC;YACpC,IAAI,KAAK,GAAQ,KAAK,CAAC,IAAI,CAAC;YAE5B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAsB,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACF,yCAAkB,GAAlB,UAAmB,EAAU;QAC5B,OAAO,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,IAAI,CAC7C,8DAAG,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,EAAP,CAAO,CAAC,CACnB,CAAC;IACJ,CAAC;;gBAlPS,mEAAgB;gBAClB,+DAAU;;IAHP,YAAY;QADxB,gEAAU,EAAE;yCAGD,mEAAgB;YAClB,+DAAU;OAHP,YAAY,CAqPxB;IAAD,mBAAC;CAAA,CArPiC,yDAAW,GAqP5C;AArPwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdc;AACc;AACJ;AACE;AACH;AACA;AACG;AAEnD,IAAM,UAAU,GAAW;IACzB;QACE,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,cAAM,mEAAU,EAAV,CAAU;KAC/B;IACD;QACE,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,cAAM,mEAAU,EAAV,CAAU;QAC9B,WAAW,EAAE,CAAC,+DAAS,CAAC;KACzB;IACD;QACE,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,cAAM,sEAAW,EAAX,CAAW;QAC/B,WAAW,EAAE,CAAC,iEAAU,CAAC;KAC1B;IACD;QACE,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;KAClB;CACF,CAAC;AAUF;IAAA;IACA,CAAC;IADY,gBAAgB;QAR5B,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;aAClD;YACD,OAAO,EAAE;gBACP,4DAAY;aACb;SACF,CAAC;OACW,gBAAgB,CAC5B;IAAD,uBAAC;CAAA;AAD4B;;;;;;;;;;;;;ACtC7B;AAAe,6GAA8C,+H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAF;AACpB;AACc;AACL;AAQhD;IAEE,sBAAoB,MAAc,EAAU,OAAoB,EAAU,IAAiB;QAAvE,WAAM,GAAN,MAAM,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAa;QAD3F,eAAU,GAAY,KAAK,CAAC;IAE5B,CAAC;IAED,+BAAQ,GAAR;QACE,IAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACxB,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACvC,IAAI,IAAI,CAAC,GAAG,GAAG,YAAY,EAAE;gBAC3B,aAAa;gBACb,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IAED,kCAAW,GAAX;IACA,CAAC;;gBArB2B,sDAAM;gBAAmB,8DAAW;gBAAgB,mEAAW;;IAFhF,YAAY;QALxB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,mKAAmC;;SAEpC,CAAC;yCAG4B,sDAAM,EAAmB,8DAAW,EAAgB,mEAAW;OAFhF,YAAY,CAyBxB;IAAD,mBAAC;CAAA;AAzBwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXzB,iBAAiB;AACyC;AACjB;AACE;AACqD;AAIhG,eAAe;AAC+C;AACR;AACD;AACD;AACF;AAC8C;AAChG,eAAe;AAC2B;AACD;AACqB;AAC9D,eAAe;AACuC;AAEtD;;;;;;;;;;EAUE;AACyC;AACG;AAE9C,WAAW;AACsC;AACjD,aAAa;AACkC;AACwB;AACc;AACxB;AACR;AACJ;AACE;AAC0B;AACN;AAyCvE;IAAA;IAAyB,CAAC;IAAb,SAAS;QAvCrB,8DAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,4DAAY;gBACZ,kGAAmB;gBACnB,oFAAe;gBACf,oFAAe;aAChB;YACD,OAAO,EAAE;gBACP,qEAAgB;gBAChB,uEAAa;gBACb,0DAAW;gBACX,qEAAgB;gBAChB,0EAAqB;gBACrB,oEAAS;gBACT,2EAAkB;gBAClB,mEAAa,CAAC,OAAO,EAAE;gBACvB,0DAAS;gBACT,6DAAU;gBACV,wDAAW,CAAC,OAAO,CAAC,sDAAQ,CAAC;gBAC7B,mEAAe;gBACf,+DAAiB;gBACjB,6FAAuB;gBACvB,6EAAwB,CAAC,OAAO,CAAC,cAAc,CAAC;gBAChD,mFAA8B;gBAC9B,8EAAmB;aACpB;YACD,SAAS,EAAE;gBACT,8DAAa;gBACb,oEAAW;gBACX,gEAAS;gBACT,kEAAU;gBACV;oBACE,OAAO,EAAE,sEAAiB;oBAC1B,QAAQ,EAAE,4EAAe;oBACzB,KAAK,EAAE,IAAI;iBACZ;aACF;YACD,SAAS,EAAE,CAAC,4DAAY,CAAC;SAC1B,CAAC;OACW,SAAS,CAAI;IAAD,gBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFmB;AACc;AAEmD;AAC1B;AAEhF,IAAM,WAAW,GAAW;IAC1B;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,8FAAkB;KAC9B;IACD;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,wHAA0B;KACtC;CACF,CAAC;AAMF;IAAA;IAAiC,CAAC;IAArB,iBAAiB;QAJ7B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,4DAAY,CAAC;SACxB,CAAC;OACW,iBAAiB,CAAI;IAAD,wBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBW;AACM;AACJ;AAEe;AACf;AAEmD;AAC5B;AAC0C;AAC1B;AAC1C;AACc;AAqBtD;IAAA;IAA0B,CAAC;IAAd,UAAU;QAlBtB,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY;gBACZ,sEAAiB;gBACjB,0DAAW;gBACX,uDAAW;aACZ;YACD,YAAY,EAAE;gBACZ,gFAAc;gBACd,0GAAsB;gBACtB,wHAA0B;gBAC1B,8FAAkB;aACnB;YACD,SAAS,EAAE;gBACT,yDAAW;gBACX,oEAAW;aACZ;SACF,CAAC;OACW,UAAU,CAAI;IAAD,iBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCkB;AAEG;AACiC;AAC3C;AAOc;AACM;AAEyD;AACtB;AAC9B;AAGJ;AAEgC;AAIxC;AAC6B;AAM1B;AACgC;AACjB;AACZ;AACE;AACW;AACX;AACoD;AACjC;AAEnC;AAGvC;IAGE,qBAAoB,IAAiB,EACjB,qBAA4C,EAC5C,YAA0B,EAC1B,uBAAgD,EAChD,cAA+B,EAC/B,UAAsB,EACtB,mBAAyC,EACzC,SAAsC,EACtC,mBAAwC,EACxC,MAAc;QATd,SAAI,GAAJ,IAAI,CAAa;QACjB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,mBAAc,GAAd,cAAc,CAAiB;QAC/B,eAAU,GAAV,UAAU,CAAY;QACtB,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,cAAS,GAAT,SAAS,CAA6B;QACtC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,WAAM,GAAN,MAAM,CAAQ;IAClC,CAAC;IAED,2BAAK,GAAL,UAAM,IAAgB;QAAtB,iBAgBC;QAfC,YAAY;QACZ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,wFAAmB,EAAE,CAAC,CAAC;QACnD,wBAAwB;QACxB,IAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,IAAI,CAAC;aAChE,SAAS,CAAC,cAAI;YACb,yBAAyB;YACzB,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,IAAM,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,KAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,uBAAuB;YACvB,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,EAAE,aAAG;YACJ,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,uFAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC,CACA,CAAC;IACN,CAAC;IAED,4BAAM,GAAN;QACE,6DAA6D;QAC7D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,gGAA2B,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,8BAA8B;QAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,sEAAU,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,gFAAc,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,0EAAY,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,4FAAoB,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,qEAAS,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,qEAAS,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,qFAAgB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,oFAAgB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,mEAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,8BAAQ,GAAR;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,uFAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,0FAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,+BAAS,GAAT;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kEAAqB,CAAC,CAAC;IACtD,CAAC;IAED,2CAAqB,GAArB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kEAA+B,CAAC,CAAC;IAChE,CAAC;IAED,8CAAwB,GAAxB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,0DAAuB,CAAC,CAAC;IACxD,CAAC;IAED,+BAAS,GAAT,UAAU,KAAa;QACrB,IAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,KAAK,CAAC;aACjE,SAAS,CAAC,cAAI;QACf,CAAC,EAAE,gBAAM;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mCAAa,GAAb,UAAc,IAAgB;QAA9B,iBAOC;QANC,IAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,IAAI,CAAC;aAChE,SAAS,CAAC,cAAI;YACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC,EAAE,gBAAM;YACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6BAAO,GAAP;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gEAA6B,CAAC,CAAC;IAC9D,CAAC;IAED,8BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IACnD,CAAC;IAEM,wCAAkB,GAAzB,UAA0B,MAAc;QAAxC,iBAcC;QAbC,eAAe;QACf,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,0EAAY,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,yCAAyC,CAAC,MAAM,CAAC;aAClE,SAAS,CAAC,sBAAY;YACrB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,iFAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;YAC/D,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,yBAAyB;YAC1B,KAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,sBAAsB;YACtB,KAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAClD,oBAAoB;YACpB,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iDAA2B,GAA3B,UAA4B,OAAO,EAAE,IAAI;QAAzC,iBAmBC;QAlBC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,IAAI;YACX,aAAa,EAAG,OAAO,CAAC,MAAM;YAC9B,IAAI,EAAE,CAAC;SACR,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC;aAC1F,SAAS,CAAC,mBAAS;YAClB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,6EAA6E;aAC9E;YACD,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,6EAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1D,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,mBAAmB;YACnB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,+CAAyB,GAAzB,UAA0B,MAAM;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,qCAAqC,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,qEAA+C,GAA/C,UAAgD,OAAO,EAAE,UAAkB;QAA3E,iBAkBC;QAjBC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACnC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,IAAI,CAAC,YAAY,EAAE;YAC1B,aAAa,EAAG,OAAO,CAAC,MAAM;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC;aAC1F,SAAS,CAAC,mBAAS;YAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,KAAI,CAAC,+CAA+C,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5E;YACD,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,6EAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1D,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,mBAAmB;YACnB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,6BAAO,GAAd,UAAe,aAAqB,EAAE,KAAY;QAAlD,iBAUC;QATC,IAAM,MAAM,GAAiC;YAC3C,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC;aAC3C,SAAS,CAAC,iBAAO;YAChB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,0EAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,sCAAgB,GAAvB,UAAwB,SAAiB,EAAE,MAAc;QAAzD,iBAWC;QAVC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,sFAAiB,EAAE,CAAC,CAAC;QACjD,IAAM,MAAM,GAAqF;YAC/F,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,0EAA0E,CAAC,MAAM,CAAC;aACxG,SAAS,CAAC,uBAAa;YACtB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,6FAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;YACrE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,uFAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAnC,CAAmC,CAAC,CAAC;IACtD,CAAC;IAEM,0CAAoB,GAA3B,UAA4B,SAAiB;QAA7C,iBAaC;QAZC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,4FAAoB,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,uBAAuB,CAAC,+DAA+D,CAAC,SAAS,CAAC;aACpG,SAAS,CAAC,uBAAa;YACtB,aAAa,CAAC,OAAO,CAAC,kBAAQ;gBAC5B,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;qBAClD,SAAS,CAAC,mBAAS;oBAClB,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,mGAA2B,CAAC,aAAa,CAAC,CAAC,CAAC;YACxE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,6FAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,qCAAe,GAAtB,UAAuB,SAAiB,EAAE,MAAc;QAAxD,iBAUC;QATC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,oFAAgB,EAAE,CAAC,CAAC;QAChD,IAAM,MAAM,GAAkF;YAC5F,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,uEAAuE,CAAC,MAAM,CAAC;aACrG,SAAS,CAAC,kBAAQ;YACjB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,qFAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;;gBA1MyB,mEAAW;gBACM,0FAAqB;gBAC9B,wEAAY;gBACD,gGAAuB;gBAChC,+EAAe;gBACnB,oEAAU;gBACD,0FAAoB;gBAC9B,iDAAK;gBACK,wFAAmB;gBAChC,uDAAM;;IAZvB,WAAW;QADvB,gEAAU,EAAE;yCAIe,mEAAW;YACM,0FAAqB;YAC9B,wEAAY;YACD,gGAAuB;YAChC,+EAAe;YACnB,oEAAU;YACD,0FAAoB;YAC9B,iDAAK;YACK,wFAAmB;YAChC,uDAAM;OAZvB,WAAW,CA8MvB;IAAD,kBAAC;CAAA;AA9MuB;;;;;;;;;;;;;AC7CxB;AAAe,iFAAkB,sBAAsB,+BAA+B,uCAAuC,4BAA4B,qBAAqB,2BAA2B,gCAAgC,4BAA4B,qDAAqD,2BAA2B,KAAK,4BAA4B,qCAAqC,kCAAkC,gCAAgC,4BAA4B,kBAAkB,uCAAuC,KAAK,+BAA+B,4BAA4B,KAAK,sCAAsC,yBAAyB,KAAK,gCAAgC,0BAA0B,KAAK,+CAA+C,umD;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA5tB;AAQ7E;IAUE;QARU,UAAK,GAA6B,IAAI,0DAAY,EAAc,CAAC;QACjE,UAAK,GAAyB,IAAI,0DAAY,EAAU,CAAC;IAOnD,CAAC;IAEjB,iCAAQ,GAAR;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oCAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,gCAAO,GAAP;QACE,IAAM,IAAI,GAAe;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,wCAAe,GAAf;QACE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IA9BS;QAAT,4DAAM,EAAE;kCAAQ,0DAAY;iDAA8C;IACjE;QAAT,4DAAM,EAAE;kCAAQ,0DAAY;iDAAsC;IAC1D;QAAR,2DAAK,EAAE;;gDAAe;IACd;QAAR,2DAAK,EAAE;;mDAAkB;IALf,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,6LAAqC;;SAEtC,CAAC;;OACW,cAAc,CAiC1B;IAAD,qBAAC;CAAA;AAjC0B;;;;;;;;;;;;;ACR3B;AAAe,6GAA8C,uL;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAIE;QADU,kBAAa,GAA6B,IAAI,0DAAY,EAAE,CAAC;IACvD,CAAC;IAMjB,yCAAQ,GAAR;IACA,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC1C,IAAM,IAAI,GAAe;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC;IAnBQ;QAAR,2DAAK,EAAE;;yDAAe;IACb;QAAT,4DAAM,EAAE;kCAAgB,0DAAY;iEAAkC;IAH5D,sBAAsB;QALlC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,wNAA8C;;SAE/C,CAAC;;OACW,sBAAsB,CAuBlC;IAAD,6BAAC;CAAA;AAvBkC;;;;;;;;;;;;;ACRnC;AAAe,6GAA8C,2K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAF;AAEZ;AACR;AAQvC;IAEE,4BAAoB,WAAwB,EACxB,MAAc;QADd,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;IAClC,CAAC;IAQD,qCAAQ,GAAR;QAAA,iBAYC;QAXC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,OAAO,EAAZ,CAAY,CAAC;aACvD,SAAS,CAAC,cAAI;YACb,IAAI,IAAI,EAAE;gBACR,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,oCAAO,GAAP,UAAQ,IAAgB;QAAxB,iBASC;QARC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,OAAO,EAAZ,CAAY,CAAC;aACrD,SAAS,CAAC,cAAI;YACb;;;eAGG;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oCAAO,GAAP,UAAQ,KAAa;QACnB,aAAa;QACb,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;gBA1CgC,yDAAW;gBAChB,sDAAM;;IAHvB,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,4MAA0C;;SAE3C,CAAC;yCAGiC,yDAAW;YAChB,sDAAM;OAHvB,kBAAkB,CA8C9B;IAAD,yBAAC;CAAA;AA9C8B;;;;;;;;;;;;;ACX/B;AAAe,6GAA8C,mM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACH;AACA;AAEa;AAO5D;IAME,oCAAoB,cAA8B,EAAU,OAAoB,EAAU,IAAiB;QAAvF,mBAAc,GAAd,cAAc,CAAgB;QAAU,YAAO,GAAP,OAAO,CAAa;QAAU,SAAI,GAAJ,IAAI,CAAa;IAAK,CAAC;IAEjH,6CAAQ,GAAR;QAAA,iBAOC;QANC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YAC9C,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,kDAAa,GAAb,UAAc,UAAsB;QAClC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAEO,4CAAO,GAAf,UAAgB,KAAK;QACnB,IAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;;gBAnBmC,8DAAc;gBAAmB,yDAAW;gBAAgB,mEAAW;;IANhG,0BAA0B;QALtC,+DAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,uOAAmD;;SAEpD,CAAC;yCAOoC,8DAAc,EAAmB,yDAAW,EAAgB,mEAAW;OANhG,0BAA0B,CA0BtC;IAAD,iCAAC;CAAA;AA1BsC;;;;;;;;;;;;;ACXvC;AAAe,wEAAS,0CAA0C,qBAAqB,yBAAyB,sBAAsB,KAAK,yBAAyB,mBAAmB,uBAAuB,2BAA2B,KAAK,mBAAmB,0BAA0B,wBAAwB,KAAK,sCAAsC,sBAAsB,gCAAgC,yBAAyB,yBAAyB,KAAK,mBAAmB,uBAAuB,KAAK,+CAA+C,uqC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAvf;AAOlD;IAEE;IAAgB,CAAC;IAEjB,kCAAQ,GAAR;IACA,CAAC;IALU,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,2LAAsC;;SAEvC,CAAC;;OACW,eAAe,CAO3B;IAAD,sBAAC;CAAA;AAP2B;;;;;;;;;;;;;ACP5B;AAAe,2EAAY,0CAA0C,0BAA0B,mBAAmB,aAAa,yBAAyB,0CAA0C,mCAAmC,KAAK,uCAAuC,+BAA+B,sCAAsC,KAAK,+CAA+C,m1B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA7T;AAQ7E;IAYE;QALU,0BAAqB,GAAG,IAAI,0DAAY,EAAW,CAAC;QACpD,WAAM,GAAG,IAAI,0DAAY,EAAE,CAAC;IAItB,CAAC;IAEjB,kCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,GAAG,0BAA0B;QACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC3C,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,2BAA2B;YAC1C,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;SAC3B;QACD,oDAAoD;QACpD,oDAAoD;QACpD,yCAAyC;QACzC,qCAAqC;QACrC,KAAK;aACA;YACH,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;YACjD,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,0BAA0B;SAC1C;IAEH,CAAC;IAED,iCAAO,GAAP;QACE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,oCAAU,GAAV;QACI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,2CAAiB,GAAjB,UAAkB,OAAgB;QAChC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,kCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IA9CQ;QAAR,2DAAK,EAAE;;4DAA0B;IACzB;QAAR,2DAAK,EAAE;;qDAAqB;IACpB;QAAR,2DAAK,EAAE;;gDAAU;IACT;QAAR,2DAAK,EAAE;;mDAAiB;IAEf;QAAT,4DAAM,EAAE;;kEAAqD;IACpD;QAAT,4DAAM,EAAE;;mDAA6B;IAR3B,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,2LAAsC;;SAEvC,CAAC;;OACW,eAAe,CAkD3B;IAAD,sBAAC;CAAA;AAlD2B;;;;;;;;;;;;;ACR5B;AAAe,6GAA8C,uK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACC;AAGZ;AAOvC;IAME,6BAAoB,OAAsB,EAAU,MAAc;QAA9C,YAAO,GAAP,OAAO,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEvE,sCAAQ,GAAR;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,+CAAiB,GAAjB,UAAkB,OAAgB;QAAlC,iBAQC;QAPC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAC;YAC/B,IAAI,CAAC,IAAI,OAAO,EAAE;gBAChB,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aACrC;iBAAM;gBACL,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnB,CAAC;;gBArB4B,6DAAa;gBAAkB,sDAAM;;IANvD,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,0MAA2C;;SAE5C,CAAC;yCAO6B,6DAAa,EAAkB,sDAAM;OANvD,mBAAmB,CA6B/B;IAAD,0BAAC;CAAA;AA7B+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXS;AACP;AACS;AAGgC;AACyB;AAC1C;AACwB;AAC7B;AACY;AAIhB;AACK;AACA;AAIR;AAC4D;AACpB;AAGhC;AAEqB;AAEM;AACR;AAElC;AAGvC;IAEE,uBACU,MAAc,EACd,KAAkC,EAClC,IAAiB,EACjB,YAA0B,EAC1B,UAAsB,EACtB,mBAAyC,EACzC,uBAAgD,EAChD,mBAAwC;QAPxC,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAA6B;QAClC,SAAI,GAAJ,IAAI,CAAa;QACjB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAY;QACtB,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,wBAAmB,GAAnB,mBAAmB,CAAqB;IAC/C,CAAC;IAEJ,0CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA4B,CAAC,CAAC;IACzD,CAAC;IAED,mCAAW,GAAX;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAqB,CAAC,CAAC;IAClD,CAAC;IAED,gCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,wCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6DAA0B,CAAC,CAAC;IACvD,CAAC;IAED,qCAAa,GAAb,UAAc,OAAgB;QAA9B,iBA+BC;QA9BC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACpC,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mEAAQ,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAGjD;;;;;;;;;;;;;aAaK;QAEJ,kDAAkD;QAClD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,sCAAsC;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,kBAAQ;YACvC,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnB,CAAC;IAED,2CAAmB,GAAnB,UAAoB,MAAM;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,yDAAyD,CAAC,MAAM,CAAC,CAAC;IAC7F,CAAC;IAED,iDAAyB,GAAzB,UAA0B,MAAM;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,qCAAqC,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,qCAAa,GAAb;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gEAA6B,CAAC,CAAC;IAC1D,CAAC;IAED,8BAAM,GAAN;QACE,6DAA6D;QAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gGAA2B,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChC,8BAA8B;QAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAY,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,+EAAc,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAY,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2FAAoB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAS,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAS,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qFAAgB,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,oFAAgB,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mEAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,mDAA2B,GAA3B,UAA4B,OAAO,EAAE,UAAkB;QAAvD,iBAmBC;QAlBC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACrC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,UAAU;YACjB,aAAa,EAAG,OAAO,CAAC,MAAM;YAC9B,IAAI,EAAE,CAAC;SACR,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC;aAC1F,SAAS,CAAC,mBAAS;YAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,KAAI,CAAC,+CAA+C,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5E;YACD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6EAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YACtD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1C,mBAAmB;YACnB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,uEAA+C,GAA/C,UAAgD,OAAO,EAAE,UAAkB;QAA3E,iBAmBC;QAlBC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACnC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,IAAI,CAAC,YAAY,EAAE;YAC1B,aAAa,EAAG,OAAO,CAAC,MAAM;YAC9B,IAAI,EAAE,CAAC;SACR,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC;aAC1F,SAAS,CAAC,mBAAS;YAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,KAAI,CAAC,+CAA+C,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5E;YACD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6EAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YACtD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,mBAAmB;YACnB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,+BAAO,GAAd,UAAe,aAAqB,EAAE,KAAY;QAAlD,iBASC;QARC,IAAM,MAAM,GAAiC;YAC3C,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wCAAgB,GAAvB,UAAwB,SAAiB,EAAE,MAAc;QAAzD,iBAUC;QATC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sFAAiB,EAAE,CAAC,CAAC;QAC7C,IAAM,MAAM,GAAqF;YAC/F,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,0EAA0E,CAAC,MAAM,CAAC,CAAC,SAAS,CAAE,uBAAa;YAClI,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6FAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uFAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,4CAAoB,GAA3B,UAA4B,SAAiB;QAA7C,iBAWC;QAVC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2FAAoB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,uBAAuB,CAAC,+DAA+D,CAAC,SAAS,CAAC,CAAE,SAAS,CAAE,uBAAa;YAC/H,aAAa,CAAC,OAAO,CAAC,kBAAQ;gBAC5B,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAE,mBAAS;oBACxE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kGAA2B,CAAC,aAAa,CAAC,CAAC,CAAC;YACpE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uCAAe,GAAtB,UAAuB,SAAiB,EAAE,MAAc;QAAxD,iBAUC;QATC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,oFAAgB,EAAE,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAkF;YAC5F,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,uEAAuE,CAAC,MAAM,CAAC;aACrG,SAAS,CAAC,kBAAQ;YACjB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qFAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;;gBAlLiB,uDAAM;gBACP,iDAAK;gBACN,mEAAW;gBACH,wEAAY;gBACd,qEAAU;gBACD,0FAAoB;gBAChB,gGAAuB;gBAC3B,wFAAmB;;IAVvC,aAAa;QADzB,gEAAU,EAAE;yCAIO,uDAAM;YACP,iDAAK;YACN,mEAAW;YACH,wEAAY;YACd,qEAAU;YACD,0FAAoB;YAChB,gGAAuB;YAC3B,wFAAmB;OAVvC,aAAa,CAsLzB;IAAD,oBAAC;CAAA;AAtLyB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjC1B,aAAa;AACN,IAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,IAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAC1D,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;IAAA;QACW,SAAI,GAAG,oBAAoB,CAAC;IACvC,CAAC;IAAD,0BAAC;AAAD,CAAC;;AAED;IAEE,+BAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAD1B,SAAI,GAAG,sBAAsB,CAAC;IACD,CAAC;IACzC,4BAAC;AAAD,CAAC;;AAED;IAEE,4BAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,mBAAmB,CAAC;IACD,CAAC;IACtC,yBAAC;AAAD,CAAC;;AAED;IAEE,4BAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,mBAAmB,CAAC;IACD,CAAC;IACtC,yBAAC;AAAD,CAAC;;AAED,gBAAgB;AACT,IAAM,4BAA4B,GAAG,gCAAgC,CAAC;AAE7E;IAAA;QACW,SAAI,GAAG,4BAA4B,CAAC;IAC/C,CAAC;IAAD,kCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BD,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AACpC,IAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;IAAA;QACW,SAAI,GAAG,WAAW,CAAC;IAC9B,CAAC;IAAD,iBAAC;AAAD,CAAC;;AAED;IAEE,yBAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,gBAAgB,CAAC;IACE,CAAC;IACtC,sBAAC;AAAD,CAAC;;AAED;IAEE,4BAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAD5B,SAAI,GAAG,mBAAmB,CAAC;IACI,CAAC;IAC3C,yBAAC;AAAD,CAAC;;AAED,gBAAgB;AACT,IAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C;IAEE,sBAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAD5B,SAAI,GAAG,aAAa,CAAC;IACU,CAAC;IAC3C,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBD,cAAc;AACP,IAAM,YAAY,GAAG,eAAe,CAAC;AACrC,IAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC/C,IAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D;IAAA;QACW,SAAI,GAAG,YAAY,CAAC;IAC/B,CAAC;IAAD,kBAAC;AAAD,CAAC;;AAED;IAEE,yBAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,iBAAiB,CAAC;IACE,CAAC;IACvC,sBAAC;AAAD,CAAC;;AAED;IAEE,4BAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAD5B,SAAI,GAAG,oBAAoB,CAAC;IACI,CAAC;IAC5C,yBAAC;AAAD,CAAC;;AAED,oBAAoB;AACb,IAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C;IAEE,sBAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAD1B,SAAI,GAAG,aAAa,CAAC;IACS,CAAC;IAC1C,mBAAC;AAAD,CAAC;;AAED,oBAAoB;AACb,IAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C;IAEE,sBAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAD1B,SAAI,GAAG,aAAa,CAAC;IACS,CAAC;IAC1C,mBAAC;AAAD,CAAC;;AAED,eAAe;AACR,IAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C;IAAA;QACW,SAAI,GAAG,YAAY,CAAC;IAC/B,CAAC;IAAD,kBAAC;AAAD,CAAC;;AAED,eAAe;AACR,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;IAAA;QACW,SAAI,GAAG,mBAAmB,CAAC;IACtC,CAAC;IAAD,wBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;IAAA;QACW,SAAI,GAAG,kBAAkB,CAAC;IACrC,CAAC;IAAD,uBAAC;AAAD,CAAC;;AAED,aAAa;AACN,IAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD;IAEE,yBAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAD5B,SAAI,GAAG,iBAAiB,CAAC;IACO,CAAC;IAC5C,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DD,oBAAoB;AACb,IAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAErD;IAEE,yBAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAD9B,SAAI,GAAG,gBAAgB,CAAC;IACS,CAAC;IAC7C,sBAAC;AAAD,CAAC;;AAED,kBAAkB;AACX,IAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,IAAM,oBAAoB,GAAG,uBAAuB,CAAC;AACrD,IAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE;IAAA;QACW,SAAI,GAAG,eAAe,CAAC;IAClC,CAAC;IAAD,qBAAC;AAAD,CAAC;;AAED;IAEE,4BAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,oBAAoB,CAAC;IACF,CAAC;IACtC,yBAAC;AAAD,CAAC;;AAED;IAEE,+BAAmB,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAD/B,SAAI,GAAG,uBAAuB,CAAC;IACG,CAAC;IAC9C,4BAAC;AAAD,CAAC;;AAED,oBAAoB;AACb,IAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAErD;IAEE,yBAAmB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAD7B,SAAI,GAAG,gBAAgB,CAAC;IACQ,CAAC;IAC5C,sBAAC;AAAD,CAAC;;AAED,oBAAoB;AACb,IAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAErD;IAEE,yBAAmB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAD7B,SAAI,GAAG,gBAAgB,CAAC;IACQ,CAAC;IAC5C,sBAAC;AAAD,CAAC;;AAED,oBAAoB;AACb,IAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAErD;IAEE,yBAAmB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAD7B,SAAI,GAAG,gBAAgB,CAAC;IACQ,CAAC;IAC5C,sBAAC;AAAD,CAAC;;AACD,mBAAmB;AACZ,IAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD;IAAA;QACW,SAAI,GAAG,eAAe,CAAC;IAClC,CAAC;IAAD,qBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDD,eAAe;AACR,IAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C;IAEE,qBAAoB,QAAe;QAAf,aAAQ,GAAR,QAAQ,CAAO;QAD1B,SAAI,GAAG,YAAY,CAAC;IACS,CAAC;IACzC,kBAAC;AAAD,CAAC;;AAED,aAAa;AACN,IAAM,WAAW,GAAG,cAAc,CAAC;AACnC,IAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,IAAM,mBAAmB,GAAG,sBAAsB,CAAC;AACnD,IAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAE5D;IAAA;QACW,SAAI,GAAG,WAAW,CAAC;IAC9B,CAAC;IAAD,iBAAC;AAAD,CAAC;;AAED;IAEE,wBAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,gBAAgB,CAAC;IACE,CAAC;IACtC,qBAAC;AAAD,CAAC;;AAED;IAEE,2BAAmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAD3B,SAAI,GAAG,mBAAmB,CAAC;IACG,CAAC;IAC1C,wBAAC;AAAD,CAAC;;AAED;IAEE,+BAAmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAD3B,SAAI,GAAG,gBAAgB,CAAC;IACM,CAAC;IAC1C,4BAAC;AAAD,CAAC;;AAED,eAAe;AACR,IAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C;IAEE,qBAAmB,QAAe;QAAf,aAAQ,GAAR,QAAQ,CAAO;QADzB,SAAI,GAAG,YAAY,CAAC;IACQ,CAAC;IACxC,kBAAC;AAAD,CAAC;;AAED,eAAe;AACR,IAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C;IAEE,qBAAmB,QAAe;QAAf,aAAQ,GAAR,QAAQ,CAAO;QADzB,SAAI,GAAG,YAAY,CAAC;IACQ,CAAC;IACxC,kBAAC;AAAD,CAAC;;AAED,eAAe;AACR,IAAM,YAAY,GAAG,gBAAgB,CAAC;AAE7C;IAEE,qBAAmB,QAAe;QAAf,aAAQ,GAAR,QAAQ,CAAO;QADzB,SAAI,GAAG,YAAY,CAAC;IACQ,CAAC;IACxC,kBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAAA;QACW,SAAI,GAAG,WAAW,CAAC;IAC9B,CAAC;IAAD,iBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DD,0BAA0B;AACnB,IAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE;IAEE,+BAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QADpC,SAAI,GAAG,sBAAsB,CAAC;IACS,CAAC;IACnD,4BAAC;AAAD,CAAC;;AAED,wBAAwB;AACjB,IAAM,qBAAqB,GAAG,wBAAwB,CAAC;AACvD,IAAM,0BAA0B,GAAG,6BAA6B,CAAC;AACjE,IAAM,6BAA6B,GAAG,gCAAgC,CAAC;AAE9E;IAAA;QACW,SAAI,GAAG,qBAAqB,CAAC;IACxC,CAAC;IAAD,2BAAC;AAAD,CAAC;;AAED;IAEE,kCAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,0BAA0B,CAAC;IACR,CAAC;IACtC,+BAAC;AAAD,CAAC;;AAED;IAEE,qCAAmB,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;QADrC,SAAI,GAAG,6BAA6B,CAAC;IACG,CAAC;IACpD,kCAAC;AAAD,CAAC;;AAED,0BAA0B;AACnB,IAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE;IAEE,+BAAmB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QADnC,SAAI,GAAG,sBAAsB,CAAC;IACQ,CAAC;IAClD,4BAAC;AAAD,CAAC;;AAED,0BAA0B;AACnB,IAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE;IAEE,+BAAmB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QADnC,SAAI,GAAG,sBAAsB,CAAC;IACQ,CAAC;IAClD,4BAAC;AAAD,CAAC;;AAED,0BAA0B;AACnB,IAAM,sBAAsB,GAAG,0BAA0B,CAAC;AAEjE;IAEE,+BAAmB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QADnC,SAAI,GAAG,sBAAsB,CAAC;IACQ,CAAC;IAClD,4BAAC;AAAD,CAAC;;AAED,gBAAgB;AACT,IAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAEtE;IAAA;QACW,SAAI,GAAG,4BAA4B,CAAC;IAC/C,CAAC;IAAD,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDD,iBAAiB;AACV,IAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD;IAEE,uBAAoB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAD5B,SAAI,GAAG,cAAc,CAAC;IACS,CAAC;IAC3C,oBAAC;AAAD,CAAC;;AAED,eAAe;AACR,IAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,IAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACjD,IAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAE9D;IAAA;QACW,SAAI,GAAG,aAAa,CAAC;IAChC,CAAC;IAAD,mBAAC;AAAD,CAAC;;AAED;IAEE,0BAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,kBAAkB,CAAC;IACA,CAAC;IACtC,uBAAC;AAAD,CAAC;;AAED;IAEE,6BAAmB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAD7B,SAAI,GAAG,qBAAqB,CAAC;IACG,CAAC;IAC5C,0BAAC;AAAD,CAAC;;AAED,iBAAiB;AACV,IAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD;IAEE,uBAAmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAD3B,SAAI,GAAG,cAAc,CAAC;IACQ,CAAC;IAC1C,oBAAC;AAAD,CAAC;;AAED,iBAAiB;AACV,IAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD;IAEE,uBAAmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAD3B,SAAI,GAAG,cAAc,CAAC;IACQ,CAAC;IAC1C,oBAAC;AAAD,CAAC;;AAED,iBAAiB;AACV,IAAM,cAAc,GAAG,kBAAkB,CAAC;AAEjD;IAEE,uBAAmB,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;QAD3B,SAAI,GAAG,cAAc,CAAC;IACQ,CAAC;IAC1C,oBAAC;AAAD,CAAC;;AAED,gBAAgB;AACT,IAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C;IAAA;QACW,SAAI,GAAG,aAAa,CAAC;IAChC,CAAC;IAAD,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDD,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAoB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADzB,SAAI,GAAG,WAAW,CAAC;IACS,CAAC;IACxC,iBAAC;AAAD,CAAC;;AAED,YAAY;AACL,IAAM,UAAU,GAAG,aAAa,CAAC;AACjC,IAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,IAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD;IAAA;QACW,SAAI,GAAG,UAAU,CAAC;IAC7B,CAAC;IAAD,gBAAC;AAAD,CAAC;;AAED;IAEE,uBAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,eAAe,CAAC;IACG,CAAC;IACtC,oBAAC;AAAD,CAAC;;AAED;IAEE,0BAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAD1B,SAAI,GAAG,kBAAkB,CAAC;IACG,CAAC;IACzC,uBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAmB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADxB,SAAI,GAAG,WAAW,CAAC;IACQ,CAAC;IACvC,iBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAmB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADxB,SAAI,GAAG,WAAW,CAAC;IACQ,CAAC;IACvC,iBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAmB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADxB,SAAI,GAAG,WAAW,CAAC;IACQ,CAAC;IACvC,iBAAC;AAAD,CAAC;;AAED,aAAa;AACN,IAAM,UAAU,GAAG,cAAc,CAAC;AAEzC;IAAA;QACW,SAAI,GAAG,UAAU,CAAC;IAC7B,CAAC;IAAD,gBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDD,WAAW;AACJ,IAAM,SAAS,GAAG,YAAY,CAAC;AAC/B,IAAM,cAAc,GAAG,iBAAiB,CAAC;AACzC,IAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC/C,IAAM,iBAAiB,GAAG,qBAAqB;AAC/C,IAAM,eAAe,GAAG,mBAAmB;AAElD;IAAA;QACW,SAAI,GAAG,SAAS,CAAC;IAC5B,CAAC;IAAD,eAAC;AAAD,CAAC;;AAED;IAEE,sBAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,cAAc,CAAC;IACI,CAAC;IACtC,mBAAC;AAAD,CAAC;;AAED;IAEE,yBAAmB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAD5B,SAAI,GAAG,iBAAiB,CAAC;IACM,CAAC;IAC3C,sBAAC;AAAD,CAAC;;AAED;IAEE,yBAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAD1B,SAAI,GAAG,iBAAiB,CAAC;IACI,CAAC;IACzC,sBAAC;AAAD,CAAC;;AAED;IAEE,uBAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAD1B,SAAI,GAAG,eAAe,CAAC;IACM,CAAC;IACzC,oBAAC;AAAD,CAAC;;AAED,YAAY;AACL,IAAM,SAAS,GAAG,aAAa,CAAC;AAEvC;IAAA;QACW,SAAI,GAAG,SAAS,CAAC;IAC5B,CAAC;IAAD,eAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCD,uBAAuB;AAChB,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;IAEE,4BAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QADjC,SAAI,GAAG,mBAAmB,CAAC;IACS,CAAC;IAChD,yBAAC;AAAD,CAAC;;AAED,qBAAqB;AACd,IAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACjD,IAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAC3D,IAAM,0BAA0B,GAAG,6BAA6B,CAAC;AAExE;IAAA;QACW,SAAI,GAAG,kBAAkB,CAAC;IACrC,CAAC;IAAD,wBAAC;AAAD,CAAC;;AAED;IAEE,+BAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,uBAAuB,CAAC;IACL,CAAC;IACtC,4BAAC;AAAD,CAAC;;AAED;IAEE,kCAAmB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;QADlC,SAAI,GAAG,0BAA0B,CAAC;IACG,CAAC;IACjD,+BAAC;AAAD,CAAC;;AAED,uBAAuB;AAChB,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;IAEE,4BAAmB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QADhC,SAAI,GAAG,mBAAmB,CAAC;IACQ,CAAC;IAC/C,yBAAC;AAAD,CAAC;;AAED,uBAAuB;AAChB,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;IAEE,4BAAmB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QADhC,SAAI,GAAG,mBAAmB,CAAC;IACQ,CAAC;IAC/C,yBAAC;AAAD,CAAC;;AAED,uBAAuB;AAChB,IAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;IAEE,4BAAmB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QADhC,SAAI,GAAG,mBAAmB,CAAC;IACQ,CAAC;IAC/C,yBAAC;AAAD,CAAC;;AAED,sBAAsB;AACf,IAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAExD;IAAA;QACW,SAAI,GAAG,iBAAiB,CAAC;IACpC,CAAC;IAAD,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDD,sBAAsB;AACf,IAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;IAEE,2BAAoB,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QADhC,SAAI,GAAG,kBAAkB,CAAC;IACS,CAAC;IAC/C,wBAAC;AAAD,CAAC;;AAED,oBAAoB;AACb,IAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC/C,IAAM,sBAAsB,GAAG,yBAAyB,CAAC;AACzD,IAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAEtE;IAAA;QACW,SAAI,GAAG,iBAAiB,CAAC;IACpC,CAAC;IAAD,uBAAC;AAAD,CAAC;;AAED;IAEE,8BAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,sBAAsB,CAAC;IACJ,CAAC;IACtC,2BAAC;AAAD,CAAC;;AAED;IAEE,iCAAmB,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;QADjC,SAAI,GAAG,yBAAyB,CAAC;IACG,CAAC;IAChD,8BAAC;AAAD,CAAC;;AAED,sBAAsB;AACf,IAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;IAEE,2BAAmB,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAD/B,SAAI,GAAG,kBAAkB,CAAC;IACQ,CAAC;IAC9C,wBAAC;AAAD,CAAC;;AAED,sBAAsB;AACf,IAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;IAEE,2BAAmB,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAD/B,SAAI,GAAG,kBAAkB,CAAC;IACQ,CAAC;IAC9C,wBAAC;AAAD,CAAC;;AAED,sBAAsB;AACf,IAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;IAEE,2BAAmB,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAD/B,SAAI,GAAG,kBAAkB,CAAC;IACQ,CAAC;IAC9C,wBAAC;AAAD,CAAC;;AAED,qBAAqB;AACd,IAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD;IAAA;QACW,SAAI,GAAG,iBAAiB,CAAC;IACpC,CAAC;IAAD,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDD,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAoB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADzB,SAAI,GAAG,WAAW,CAAC;IACS,CAAC;IACxC,iBAAC;AAAD,CAAC;;AAED,YAAY;AACL,IAAM,UAAU,GAAG,aAAa,CAAC;AACjC,IAAM,eAAe,GAAG,kBAAkB,CAAC;AAC3C,IAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD;IAAA;QACW,SAAI,GAAG,UAAU,CAAC;IAC7B,CAAC;IAAD,gBAAC;AAAD,CAAC;;AAED;IAEE,uBAAmB,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QADvB,SAAI,GAAG,eAAe,CAAC;IACG,CAAC;IACtC,oBAAC;AAAD,CAAC;;AAED;IAEE,0BAAmB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;QAD1B,SAAI,GAAG,kBAAkB,CAAC;IACG,CAAC;IACzC,uBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAmB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADxB,SAAI,GAAG,WAAW,CAAC;IACQ,CAAC;IACvC,iBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAmB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADxB,SAAI,GAAG,WAAW,CAAC;IACQ,CAAC;IACvC,iBAAC;AAAD,CAAC;;AAED,cAAc;AACP,IAAM,WAAW,GAAG,eAAe,CAAC;AAE3C;IAEE,oBAAmB,QAAc;QAAd,aAAQ,GAAR,QAAQ,CAAM;QADxB,SAAI,GAAG,WAAW,CAAC;IACQ,CAAC;IACvC,iBAAC;AAAD,CAAC;;AAED,aAAa;AACN,IAAM,UAAU,GAAG,cAAc,CAAC;AAEzC;IAAA;QACW,SAAI,GAAG,UAAU,CAAC;IAC7B,CAAC;IAAD,gBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3D4D;AAE7D,QAAQ;AAC8C;AACtD,aAAa;AACmD;AAChE,UAAU;AACiD;AAC3D,mBAAmB;AACyD;AAC5E,OAAO;AAC8C;AACrD,OAAO;AAC8C;AACrD,gBAAgB;AACsD;AACtE,eAAe;AACqD;AACpE,iBAAiB;AACuD;AACxE,MAAM;AAC4C;AAClD,SAAS;AAC+C;AACxD,SAAS;AAC+C;AAiBxD,eAAe;AACR,IAAM,QAAQ,GAAiC;IACpD,KAAK,EAAE,+DAAiB;IACxB,UAAU,EAAE,oEAAsB;IAClC,QAAQ,EAAE,iEAAoB;IAC9B,gBAAgB,EAAE,0EAA4B;IAC9C,KAAK,EAAE,8DAAiB;IACxB,KAAK,EAAE,8DAAiB;IACxB,aAAa,EAAE,uEAAyB;IACxC,YAAY,EAAE,sEAAwB;IACtC,cAAc,EAAE,wEAA0B;IAC1C,GAAG,EAAE,8DAAe;IACpB,MAAM,EAAE,iEAAkB;IAC1B,MAAM,EAAE,iEAAkB;CAC3B,CAAC;AAEF,wBAAwB;AACjB,IAAM,aAAa,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,KAAK,EAAX,CAAW,CAAC;AACzD,IAAM,QAAQ,GAAG,kEAAc,CAAC,aAAa,EAAE,iEAAmB,CAAC,CAAC;AACpE,IAAM,gBAAgB,GAAG,kEAAc,CAAC,aAAa,EAAE,wEAA0B,CAAC,CAAC;AACnF,IAAM,eAAe,GAAG,kEAAc,CAAC,aAAa,EAAE,kEAAoB,CAAC,CAAC;AAC5E,IAAM,cAAc,GAAG,kEAAc,CAAC,aAAa,EAAE,iEAAmB,CAAC,CAAC;AAEjF,6BAA6B;AACtB,IAAM,iBAAiB,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC;AAClE,IAAM,aAAa,GAAG,kEAAc,CAAC,iBAAiB,EAAE,0EAA4B,CAAC,CAAC;AACtF,IAAM,oBAAoB,GAAG,kEAAc,CAAC,iBAAiB,EAAE,iFAAmC,CAAC,CAAC;AACpG,IAAM,mBAAmB,GAAG,kEAAc,CAAC,iBAAiB,EAAE,uEAAyB,CAAC,CAAC;AACzF,IAAM,kBAAkB,GAAG,kEAAc,CAAC,iBAAiB,EAAE,sEAAwB,CAAC,CAAC;AAE9F,0BAA0B;AACnB,IAAM,eAAe,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;AAC9D,IAAM,WAAW,GAAG,kEAAc,CAAC,eAAe,EAAE,qEAAwB,CAAC,CAAC;AAC9E,IAAM,kBAAkB,GAAG,kEAAc,CAAC,eAAe,EAAE,4EAA+B,CAAC,CAAC;AAC5F,IAAM,iBAAiB,GAAG,kEAAc,CAAC,eAAe,EAAE,oEAAuB,CAAC,CAAC;AACnF,IAAM,gBAAgB,GAAG,kEAAc,CAAC,eAAe,EAAE,mEAAsB,CAAC,CAAC;AAExF,mCAAmC;AAC5B,IAAM,uBAAuB,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,gBAAgB,EAAtB,CAAsB,CAAC;AAC9E,IAAM,mBAAmB,GAAG,kEAAc,CAAC,uBAAuB,EAAE,sFAAwC,CAAC,CAAC;AAC9G,IAAM,0BAA0B,GAAG,kEAAc,CAAC,uBAAuB,EAAE,6FAA+C,CAAC,CAAC;AAC5H,IAAM,yBAAyB,GAAG,kEAAc,CAAC,uBAAuB,EAAE,6EAA+B,CAAC,CAAC;AAC3G,IAAM,wBAAwB,GAAG,kEAAc,CAAC,uBAAuB,EAAE,4EAA8B,CAAC,CAAC;AAEhH,uBAAuB;AAChB,IAAM,YAAY,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,KAAK,EAAX,CAAW,CAAC;AACxD,IAAM,QAAQ,GAAG,kEAAc,CAAC,YAAY,EAAE,+DAAkB,CAAC,CAAC;AAClE,IAAM,eAAe,GAAG,kEAAc,CAAC,YAAY,EAAE,sEAAyB,CAAC,CAAC;AAChF,IAAM,cAAc,GAAG,kEAAc,CAAC,YAAY,EAAE,iEAAoB,CAAC,CAAC;AAC1E,IAAM,aAAa,GAAG,kEAAc,CAAC,YAAY,EAAE,gEAAmB,CAAC,CAAC;AAE/E,uBAAuB;AAChB,IAAM,YAAY,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,KAAK,EAAX,CAAW,CAAC;AACxD,IAAM,QAAQ,GAAG,kEAAc,CAAC,YAAY,EAAE,+DAAkB,CAAC,CAAC;AAClE,IAAM,eAAe,GAAG,kEAAc,CAAC,YAAY,EAAE,sEAAyB,CAAC,CAAC;AAChF,IAAM,cAAc,GAAG,kEAAc,CAAC,YAAY,EAAE,iEAAoB,CAAC,CAAC;AAC1E,IAAM,aAAa,GAAG,kEAAc,CAAC,YAAY,EAAE,gEAAmB,CAAC,CAAC;AAE/E,gCAAgC;AACzB,IAAM,mBAAmB,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,aAAa,EAAnB,CAAmB,CAAC;AACvE,IAAM,gBAAgB,GAAG,kEAAc,CAAC,mBAAmB,EAAE,gFAAkC,CAAC,CAAC;AACjG,IAAM,uBAAuB,GAAG,kEAAc,CAAC,mBAAmB,EAAE,uFAAyC,CAAC,CAAC;AAC/G,IAAM,sBAAsB,GAAG,kEAAc,CAAC,mBAAmB,EAAE,0EAA4B,CAAC,CAAC;AACjG,IAAM,qBAAqB,GAAG,kEAAc,CAAC,mBAAmB,EAAE,yEAA2B,CAAC,CAAC;AAEtG,+BAA+B;AACxB,IAAM,mBAAmB,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,YAAY,EAAlB,CAAkB,CAAC;AACtE,IAAM,eAAe,GAAG,kEAAc,CAAC,mBAAmB,EAAE,8EAAgC,CAAC,CAAC;AAC9F,IAAM,sBAAsB,GAAG,kEAAc,CAAC,mBAAmB,EAAE,qFAAuC,CAAC,CAAC;AAC5G,IAAM,qBAAqB,GAAG,kEAAc,CAAC,mBAAmB,EAAE,yEAA2B,CAAC,CAAC;AAC/F,IAAM,oBAAoB,GAAG,kEAAc,CAAC,mBAAmB,EAAE,wEAA0B,CAAC,CAAC;AAEpG,iCAAiC;AAC1B,IAAM,sBAAsB,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,cAAc,EAApB,CAAoB,CAAC;AAC3E,IAAM,QAAQ,GAAG,kEAAc,CAAC,sBAAsB,EAAE,yEAA2B,CAAC,CAAC;AACrF,IAAM,mBAAmB,GAAG,kEAAc,CAAC,sBAAsB,EAAE,wEAA0B,CAAC,CAAC;AAC/F,IAAM,eAAe,GAAG,kEAAc,CAAC,sBAAsB,EAAE,2EAA6B,CAAC,CAAC;AAC9F,IAAM,cAAc,GAAG,kEAAc,CAAC,sBAAsB,EAAE,0EAA4B,CAAC,CAAC;AAC5F,IAAM,qBAAqB,GAAG,kEAAc,CAAC,sBAAsB,EAAE,wEAA0B,CAAC,CAAC;AAExG,sBAAsB;AACf,IAAM,WAAW,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,GAAG,EAAT,CAAS,CAAC;AACrD,IAAM,cAAc,GAAG,kEAAc,CAAC,WAAW,EAAE,8DAAe,CAAC,CAAC;AACpE,IAAM,WAAW,GAAG,kEAAc,CAAC,WAAW,EAAE,kEAAmB,CAAC,CAAC;AACrE,IAAM,MAAM,GAAG,kEAAc,CAAC,WAAW,EAAE,qEAAsB,CAAC,CAAC;AACnE,IAAM,aAAa,GAAG,kEAAc,CAAC,WAAW,EAAE,iEAAkB,CAAC,CAAC;AACtE,IAAM,YAAY,GAAG,kEAAc,CAAC,WAAW,EAAE,gEAAiB,CAAC,CAAC;AAE3E,yBAAyB;AAClB,IAAM,cAAc,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AAC3D,IAAM,SAAS,GAAG,kEAAc,CAAC,cAAc,EAAE,mEAAoB,CAAC,CAAC;AACvE,IAAM,gBAAgB,GAAG,kEAAc,CAAC,cAAc,EAAE,oEAAqB,CAAC,CAAC;AAC/E,IAAM,eAAe,GAAG,kEAAc,CAAC,cAAc,EAAE,mEAAoB,CAAC,CAAC;AAEpF,yBAAyB;AAClB,IAAM,cAAc,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AAC3D,IAAM,UAAU,GAAG,kEAAc,CAAC,cAAc,EAAE,oEAAqB,CAAC,CAAC;AACzE,IAAM,iBAAiB,GAAG,kEAAc,CAAC,cAAc,EAAE,2EAA4B,CAAC,CAAC;AACvF,IAAM,gBAAgB,GAAG,kEAAc,CAAC,cAAc,EAAE,oEAAqB,CAAC,CAAC;AAC/E,IAAM,eAAe,GAAG,kEAAc,CAAC,cAAc,EAAE,mEAAoB,CAAC,CAAC;AAC7E,IAAM,eAAe,GAAG,kEAAc,CAAC,cAAc,EAAE,yEAA0B,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9InB;AAUhE,IAAM,YAAY,GAAwB;IAC/C,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,KAAK;CACZ,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAA+C;IAArE,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,mFAAuC,CAAC,CAAC;YAC5C,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,kFAAsC,CAAC,CAAC;YAC3C,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,IAAI,IACV;SACH;QAED,KAAK,qFAAyC,CAAC,CAAC;YAC9C,oBACK,KAAK,IACR,KAAK,EAAE,MAAM,CAAC,QAAQ,EACtB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,KAAK,IACX;SACH;QAED,KAAK,kFAAsC,CAAC,CAAC;YAC3C,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,IACrB;SACH;QAED,KAAK,2FAA+C,CAAC,CAAC;YACpD,OAAO,YAAY,CAAC;SACrB;KAEF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAA0B,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AACjE,IAAM,SAAS,GAAG,UAAC,KAA0B,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AAC/D,IAAM,QAAQ,GAAG,UAAC,KAA0B,IAAK,YAAK,CAAC,KAAK,EAAX,CAAW,CAAC;AAC7D,IAAM,OAAO,GAAG,UAAC,KAA0B,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AAC3D,IAAM,OAAO,GAAG,UAAC,KAA0B,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpEV;AAQjD,IAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAAiC;IAAvD,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,kEAAuB,CAAC,CAAC;YAC5B,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,0EAA+B,CAAC,CAAC;YACpC,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,uEAA4B,CAAC,CAAC;YACjC,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,oEAAyB,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC7B,oBACK,KAAK,EACR;SACH;KAEF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AACzD,IAAM,SAAS,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AACvD,IAAM,SAAS,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDJ;AAUjD,IAAM,YAAY,GAAgB;IACrC,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,EAAE;CACb,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAAiC;IAAvD,4CAAoB;IAExC,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEjB,KAAK,mEAAwB,CAAC,CAAC;YAC3B,oBACO,KAAK,IACR,OAAO,EAAE,IAAI,IACf;SACL;QAED,KAAK,2EAAgC,CAAC,CAAC;YACnC,oBACO,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACd;SACL;QAED,KAAK,wEAA6B,CAAC,CAAC;YAChC,oBACO,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACf;SACL;QAED,KAAK,oEAAyB,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACO,KAAK,EACV;SACL;QAED,KAAK,oEAAyB,CAAC,CAAC;YAC5B,oBACO,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAC3B;SACL;QAED,KAAK,mEAAwB,CAAC,CAAC;YAC3B,OAAO,YAAY,CAAC;SACvB;QAED,KAAK,0EAA+B,CAAC,CAAC;YAClC,oBACO,KAAK,EACV;SACL;QAED,KAAK,yEAA8B,CAAC,CAAC;YACjC,oBACO,KAAK,EACV;SACL;QAED,KAAK,wEAA6B,CAAC,CAAC;YAChC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,oBACO,KAAK,EACV;SACL;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AACzD,IAAM,SAAS,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AACvD,IAAM,UAAU,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AACtD,IAAM,iBAAiB,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;AACjE,IAAM,eAAe,GAAG,UAAC,KAAkB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3FL;AASxD,IAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAAuC;IAA7D,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,2EAA+B,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,0EAA8B,CAAC,CAAC;YACnC,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,kFAAsC,CAAC,CAAC;YAC3C,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,+EAAmC,CAAC,CAAC;YACxC,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,2EAA+B,CAAC,CAAC;YACpC,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,2EAA+B,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,2EAA+B,CAAC,CAAC;YACpC,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,0EAA8B,CAAC,CAAC;YACnC,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAqB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AAC5D,IAAM,SAAS,GAAG,UAAC,KAAqB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AAC1D,IAAM,aAAa,GAAG,UAAC,KAAqB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AAC5D,IAAM,oBAAoB,GAAG,UAAC,KAAqB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFxB;AAS/C,IAAM,YAAY,GAAe;IACtC,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAA+B;IAArD,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,kEAAuB,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,iEAAsB,CAAC,CAAC;YAC3B,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,yEAA8B,CAAC,CAAC;YACnC,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI;gBACrE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAf,CAAe,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAM,QAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAA5B,CAA4B,CAAE,CAAC;YACnD,oBACK,KAAK,IACR,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,sEAA2B,CAAC,CAAC;YAChC,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI;gBACrE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,EAAf,CAAe,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAM,QAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAA5B,CAA4B,CAAE,CAAC;YACjD,oBACK,KAAK,IACR,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,sEAA2B,CAAC,CAAC;YAChC,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,kEAAuB,CAAC,CAAC;YAC5B,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,kEAAuB,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,kEAAuB,CAAC,CAAC;YAC5B,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,iEAAsB,CAAC,CAAC;YAC3B,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AACxD,IAAM,SAAS,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AACtD,IAAM,SAAS,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AACpD,IAAM,gBAAgB,GAAG,UAAC,KAAiB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrGK;AASpE,IAAM,YAAY,GAAyB;IAChD,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAAmD;IAAzE,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,uFAA2C,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,sFAA0C,CAAC,CAAC;YAC/C,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,8FAAkD,CAAC,CAAC;YACvD,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,2FAA+C,CAAC,CAAC;YACpD,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,uFAA2C,CAAC,CAAC;YAChD,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,uFAA2C,CAAC,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,uFAA2C,CAAC,CAAC;YAChD,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,6FAAiD,CAAC,CAAC;YACtD,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAA2B,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AAClE,IAAM,SAAS,GAAG,UAAC,KAA2B,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AAChE,IAAM,mBAAmB,GAAG,UAAC,KAA2B,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AACxE,IAAM,0BAA0B,GAAG,UAAC,KAA2B,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFhC;AASnD,IAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAAmC;IAAzD,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,sEAA2B,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,qEAA0B,CAAC,CAAC;YAC/B,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,6EAAkC,CAAC,CAAC;YACvC,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,0EAA+B,CAAC,CAAC;YACpC,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,sEAA2B,CAAC,CAAC;YAChC,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,sEAA2B,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,sEAA2B,CAAC,CAAC;YAChC,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,qEAA0B,CAAC,CAAC;YAC/B,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAmB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AAC1D,IAAM,SAAS,GAAG,UAAC,KAAmB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AACxD,IAAM,WAAW,GAAG,UAAC,KAAmB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AACxD,IAAM,kBAAkB,GAAG,UAAC,KAAmB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFtB;AAS7C,IAAM,YAAY,GAAc;IACrC,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAA6B;IAAnD,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,gEAAqB,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,+DAAoB,CAAC,CAAC;YACzB,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,uEAA4B,CAAC,CAAC;YACjC,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,oEAAyB,CAAC,CAAC;YAC9B,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,gEAAqB,CAAC,CAAC;YAC1B,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,gEAAqB,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,gEAAqB,CAAC,CAAC;YAC1B,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,+DAAoB,CAAC,CAAC;YACzB,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AACvD,IAAM,SAAS,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AACrD,IAAM,QAAQ,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AAClD,IAAM,eAAe,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFlB;AAU3C,IAAM,YAAY,GAAa;IACpC,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAA2B;IAAjD,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,6DAAkB,CAAC,CAAC;YACvB,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,qEAA0B,CAAC,CAAC;YAC/B,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,kEAAuB,CAAC,CAAC;YAC5B,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,qEAA0B,CAAC,CAAC;YAC/B,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,mEAAwB,CAAC,CAAC;YAC7B,oBACK,KAAK,IACR,MAAM,EAAE,MAAM,CAAC,QAAQ,IACvB;SACH;QAED,KAAK,6DAAkB,CAAC,CAAC;YACvB,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAe,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AACtD,IAAM,SAAS,GAAG,UAAC,KAAe,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AACpD,IAAM,OAAO,GAAG,UAAC,KAAe,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AAChD,IAAM,cAAc,GAAG,UAAC,KAAe,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;AAC3D,IAAM,WAAW,GAAG,UAAC,KAAe,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvEQ;AAS9D,IAAM,YAAY,GAAsB;IAC7C,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAA6C;IAAnE,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,iFAAqC,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,gFAAoC,CAAC,CAAC;YACzC,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,wFAA4C,CAAC,CAAC;YACjD,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,qFAAyC,CAAC,CAAC;YAC9C,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,iFAAqC,CAAC,CAAC;YAC1C,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,iFAAqC,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,iFAAqC,CAAC,CAAC;YAC1C,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,+EAAmC,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAwB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AAC/D,IAAM,SAAS,GAAG,UAAC,KAAwB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AAC7D,IAAM,gBAAgB,GAAG,UAAC,KAAwB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AAClE,IAAM,uBAAuB,GAAG,UAAC,KAAwB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtFjB;AAS5D,IAAM,YAAY,GAAqB;IAC5C,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAA2C;IAAjE,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,+EAAmC,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,8EAAkC,CAAC,CAAC;YACvC,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,sFAA0C,CAAC,CAAC;YAC/C,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,mFAAuC,CAAC,CAAC;YAC5C,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,+EAAmC,CAAC,CAAC;YACxC,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,+EAAmC,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,+EAAmC,CAAC,CAAC;YACxC,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,8EAAkC,CAAC,CAAC;YACvC,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAuB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AAC9D,IAAM,SAAS,GAAG,UAAC,KAAuB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AAC5D,IAAM,eAAe,GAAG,UAAC,KAAuB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AAChE,IAAM,sBAAsB,GAAG,UAAC,KAAuB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtF9B;AAS7C,IAAM,YAAY,GAAc;IACrC,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEK,SAAS,OAAO,CAAC,KAAoB,EAAE,MAA6B;IAAnD,4CAAoB;IAE1C,QAAQ,MAAM,CAAC,IAAI,EAAE;QAEnB,KAAK,gEAAqB,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,oBACK,KAAK,EACR;SACH;QAED,KAAK,+DAAoB,CAAC,CAAC;YACzB,oBACK,KAAK,IACR,OAAO,EAAE,IAAI,IACb;SACH;QAED,KAAK,uEAA4B,CAAC,CAAC;YACjC,oBACK,KAAK,IACR,IAAI,EAAE,MAAM,CAAC,QAAQ,EACrB,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,IAAI,IACZ;SACH;QAED,KAAK,oEAAyB,CAAC,CAAC;YAC9B,oBACK,KAAK,IACR,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,KAAK,IACb;SACH;QAED,KAAK,gEAAqB,CAAC,CAAC;YAC1B,IAAM,KAAK,GAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YACpC,oBACK,KAAK,EACR;SACH;QAED,KAAK,gEAAqB,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,oBACK,KAAK,EACR;SACH;QAED,KAAK,gEAAqB,CAAC,CAAC;YAC1B,oBACK,KAAK,IACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,IACzB;SACH;QAED,KAAK,+DAAoB,CAAC,CAAC;YACzB,OAAO,YAAY,CAAC;SACrB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,YAAY;AACL,IAAM,UAAU,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,OAAO,EAAb,CAAa,CAAC;AACvD,IAAM,SAAS,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,MAAM,EAAZ,CAAY,CAAC;AACrD,IAAM,QAAQ,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,IAAI,EAAV,CAAU,CAAC;AAClD,IAAM,eAAe,GAAG,UAAC,KAAgB,IAAK,YAAK,CAAC,QAAQ,EAAd,CAAc,CAAC;;;;;;;;;;;;;ACvFpE;AAAe,6GAA8C,mL;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAU7E;IAEE;QAKU,SAAI,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAC7C,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;IANzC,CAAC;IAajB,wCAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAsB,IAAI,CAAC,QAAS,CAAC,SAAS,EAAE;YAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aAAM,IAAmB,IAAI,CAAC,QAAS,CAAC,aAAa,EAAE;YACtD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;cAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;cACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,sCAAM,GAAN;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAM,eAAe,GAAoB;gBACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;gBACvB,gBAAgB;gBACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;aACzB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IA3CQ;QAAR,2DAAK,EAAE;;2DAA0C;IACzC;QAAR,2DAAK,EAAE;;wDAAc;IACb;QAAR,2DAAK,EAAE;;sDAAa;IACX;QAAT,4DAAM,EAAE;kCAAO,0DAAY;uDAA2B;IAC7C;QAAT,4DAAM,EAAE;kCAAS,0DAAY;yDAA2B;IAR9C,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,qNAA6C;;SAE9C,CAAC;;OACW,qBAAqB,CAgDjC;IAAD,4BAAC;CAAA;AAhDiC;;;;;;;;;;;;;ACVlC;AAAe,6GAA8C,2M;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAUE;QALU,sBAAiB,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAC1D,oBAAe,GAAsB,IAAI,0DAAY,EAAE,CAAC;QACxD,mBAAc,GAAsB,IAAI,0DAAY,EAAE,CAAC;QACvD,mBAAc,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAGjE,CAAC;IAED,+CAAQ,GAAR;IACA,CAAC;IAED,yDAAkB,GAAlB,UAAmB,KAAK;QACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,uDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,wDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,uDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IA5BQ;QAAR,2DAAK,EAAE;;mEAAkB;IACjB;QAAR,2DAAK,EAAE;;8DAAW;IACV;QAAR,2DAAK,EAAE;;iEAAkB;IAChB;QAAT,4DAAM,EAAE;kCAAoB,0DAAY;2EAA2B;IAC1D;QAAT,4DAAM,EAAE;kCAAkB,0DAAY;yEAA2B;IACxD;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;wEAA2B;IACvD;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;wEAA2B;IARtD,4BAA4B;QALxC,+DAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;YACrC,6OAAqD;;SAEtD,CAAC;;OACW,4BAA4B,CA+BxC;IAAD,mCAAC;CAAA;AA/BwC;;;;;;;;;;;;;ACRzC;AAAe,6GAA8C,2L;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA2B;AACjD;AAQvC;IAYE,kCAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QALxB,qBAAgB,GAAsB,IAAI,0DAAY,EAAE,CAAC;QACzD,oBAAe,GAAsB,IAAI,0DAAY,EAAE,CAAC;QACxD,mBAAc,GAAsB,IAAI,0DAAY,EAAE,CAAC;QACvD,mBAAc,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAGjE,CAAC;IAED,2CAAQ,GAAR;QACE,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,oDAAiB,GAAjB;QACE,OAAO,CAAmB,IAAI,CAAC,QAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrE,CAAC;IAED,6CAAU,GAAV;QACC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IAED,kDAAe,GAAf;QACE,IAAM,cAAc,GAAoB;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;SAC/B,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED,+CAAY,GAAZ;QACE,IAAI,CAAC,GAAG,GAAG,0EAA0E,CAAC;IACxF,CAAC;IAED,qDAAkB,GAAlB;QACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,oDAAiB,GAAjB;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;;gBAzC2B,sDAAM;;IATzB;QAAR,2DAAK,EAAE;;8DAAe;IACd;QAAR,2DAAK,EAAE;;yDAAa;IACZ;QAAR,2DAAK,EAAE;;+DAAmB;IAClB;QAAR,2DAAK,EAAE;;8EAAmC;IACjC;QAAT,4DAAM,EAAE;kCAAmB,0DAAY;sEAA2B;IACzD;QAAT,4DAAM,EAAE;kCAAkB,0DAAY;qEAA2B;IACxD;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;oEAA2B;IACvD;QAAT,4DAAM,EAAE;kCAAiB,0DAAY;oEAA2B;IAVtD,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,8NAAgD;;SAEjD,CAAC;yCAa4B,sDAAM;OAZvB,wBAAwB,CAsDpC;IAAD,+BAAC;CAAA;AAtDoC;;;;;;;;;;;;;ACTrC;AAAe,6GAA8C,mL;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAN;AAOvD;IAIE;IAAgB,CAAC;IAEjB,wCAAQ,GAAR;IACA,CAAC;IALQ;QAAR,2DAAK,EAAE;;2DAAe;IACd;QAAR,2DAAK,EAAE;;sDAAa;IAHV,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,qNAA6C;;SAE9C,CAAC;;OACW,qBAAqB,CASjC;IAAD,4BAAC;CAAA;AATiC;;;;;;;;;;;;;ACPlC;AAAe,6GAA8C,+K;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA6B;AAO1F;IAoBE;QAhBU,cAAS,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAClD,gBAAW,GAAyB,IAAI,0DAAY,EAAE,CAAC;QAGjE,SAAI,GAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChG,UAAK,GAAU,EAAE,CAAC;QAClB,QAAG,GAAU,EAAE,CAAC;QAChB,aAAQ,GAAU,EAAE,CAAC;QACrB,WAAM,GAAc,EAAE,CAAC;QAMvB,QAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAED,CAAC;IAEjB,sCAAQ,GAAR;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,yCAAW,GAAX,UAAY,OAAiB;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,oCAAM,GAAN;QACE,IAAM,SAAS,GAAG,4BAA4B,CAAC;QAC/C,IAAM,KAAK,GAAG,wBAAwB,CAAC;QACvC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACvB,YAAY,IAAI,IAAI,CAAC;aACtB;YACD,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;SAChJ;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,YAAY,IAAI,IAAI,CAAC;SACtB;QACD,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACrJ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACjF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,KAAK,EAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAG,YAAY,EAAC,CAAC,CAAC;IAC5E,CAAC;IAED,uCAAS,GAAT;QAAA,iBAgCC;QA/BC,IAAM,QAAQ,GAAG,MAAM,CAAC;QACxB,IAAM,UAAU,GAAI,MAAM,CAAC;QAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,IAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9B,KAAK,GAAG,CAAC,CAAC;oBACV,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;iBACvB;qBAAM;oBACL,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBACvB,KAAK,GAAG,CAAC,CAAC;iBACX;gBACD,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpD,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,KAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;iBAAM;gBACL,IAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5F,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC9B,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,KAAK,GAAG,CAAC,CAAC;iBACX;qBAAM;oBACL,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,KAAK,GAAG,CAAC,CAAC;iBACX;gBACD,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9D,KAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/I,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAG,EAAE,CAAC,CAAC;gBAC5E,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAG,EAAE,CAAC,CAAC;aAC3E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAU,GAAV;QACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IAlFQ;QAAR,2DAAK,EAAE;;qDAAgB;IACf;QAAR,2DAAK,EAAE;;yDAAoB;IAClB;QAAT,4DAAM,EAAE;kCAAY,0DAAY;0DAA2B;IAClD;QAAT,4DAAM,EAAE;kCAAc,0DAAY;4DAA8B;IALtD,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,+MAA2C;;SAE5C,CAAC;;OACW,mBAAmB,CAqF/B;IAAD,0BAAC;CAAA;AArF+B;;;;;;;;;;;;;ACPhC;AAAe,6EAAc,yBAAyB,gCAAgC,4BAA4B,mBAAmB,kBAAkB,KAAK,yBAAyB,gCAAgC,KAAK,6CAA6C,yCAAyC,mBAAmB,KAAK,uBAAuB,+CAA+C,KAAK,cAAc,gCAAgC,8BAA8B,mBAAmB,KAAK,+CAA+C,2qC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAnc;AACH;AAQhG;IAqBE,6BAAoB,mBAA2C;QAA/D,iBAAoE;QAAhD,wBAAmB,GAAnB,mBAAmB,CAAwB;QAbrD,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;QACjC,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;QAOnC,eAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;YAC5E,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;SAC/D,CAAC;QA2CF,eAAU,GAAG,UAAC,IAAS,EAAE,OAAsC;YAC7D,OAAO,CAAC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACxI,CAAC;IA1CkE,CAAC;IAEpE,sCAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,yCAAW,GAAX;QACE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,0CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,0CAAY,GAAZ;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,0CAAY,GAAZ;QACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,yCAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,qCAAO,GAAP;QACE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,wCAAU,GAAV,UAAW,MAAc;QACvB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,8CAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvI,CAAC;;gBAtCwC,iFAAsB;;IAnBtD;QAAR,2DAAK,EAAE;;qDAAqB;IACpB;QAAR,2DAAK,EAAE;;0DAA0B;IACzB;QAAR,2DAAK,EAAE;;sDAAsB;IACrB;QAAR,2DAAK,EAAE;;qDAAc;IACb;QAAR,2DAAK,EAAE;;6DAAmB;IAEjB;QAAT,4DAAM,EAAE;;4DAAkC;IACjC;QAAT,4DAAM,EAAE;;4DAAkC;IAEF;QAAxC,+DAAS,CAAC,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;kCAAa,wEAAa;2DAAC;IAXxD,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,4MAA0C;;SAE3C,CAAC;yCAsByC,iFAAsB;OArBpD,mBAAmB,CAiE/B;IAAD,0BAAC;CAAA;AAjE+B;;;;;;;;;;;;;ACThC;AAAe,yFAA0B,sBAAsB,KAAK,+CAA+C,ua;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3B;AAQxF;IA0BE;QAvBU,kBAAa,GAAG,IAAI,0DAAY,EAAE,CAAC;QACnC,oBAAe,GAAG,IAAI,0DAAY,EAAE,CAAC;QAC/C,kBAAa,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1C,UAAK,GAAG,CAAC,CAAC;IAsBV,CAAC;IArBD,4CAAQ,GAAR;IACA,CAAC;IAED,+CAAW,GAAX;IACA,CAAC;IAED,sDAAkB,GAAlB;QACE,IAAM,GAAG,GAAG,QAAQ,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE;;;;;;;;YAQI;IACN,CAAC;IAMD,4CAAQ,GAAR;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,mDAAe,GAAf,UAAgB,KAAY;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAlCQ;QAAR,2DAAK,EAAE;;6DAAiB;IACf;QAAT,4DAAM,EAAE;;oEAAoC;IACnC;QAAT,4DAAM,EAAE;;sEAAsC;IAJpC,yBAAyB;QALrC,+DAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,oOAAkD;;SAEnD,CAAC;;OACW,yBAAyB,CAqCrC;IAAD,gCAAC;CAAA;AArCqC;;;;;;;;;;;;;ACRtC;AAAe,6GAA8C,mL;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAME;QAFU,kBAAa,GAAG,IAAI,0DAAY,EAAE,CAAC;IAE7B,CAAC;IAEjB,wCAAQ,GAAR;IACA,CAAC;IAED,wCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,yCAAS,GAAT;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;IAC5D,CAAC;IAED,gDAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAnBQ;QAAR,2DAAK,EAAE;;wDAAc;IAEZ;QAAT,4DAAM,EAAE;;gEAAoC;IAJlC,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,qNAA6C;;SAE9C,CAAC;;OACW,qBAAqB,CAsBjC;IAAD,4BAAC;CAAA;AAtBiC;;;;;;;;;;;;;ACRlC;AAAe,6GAA8C,2K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AACpB;AAUzD;IAUE,4BAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;QAJjC,kBAAa,GAAyB,IAAI,0DAAY,EAAE,CAAC;IAIpB,CAAC;IAEhD,qCAAQ,GAAR;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;IAC3C,CAAC;IAGK,0CAAa,GAAnB;;;;;4BACkB,qBAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAC,CAAC,EAAC,CAAC;;wBAA3K,OAAO,GAAG,SAAiK;wBACnK,qBAAM,KAAK,CAAC,OAAO,CAAC;;wBAA5B,KAAK,GAAG,SAAoB;wBAChB,qBAAM,KAAK,CAAC,IAAI,EAAE;;wBAA9B,SAAS,GAAG,SAAkB;wBAC9B,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC;wBACzC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;wBACxC,IAAI,CAAC,IAAI,GAAG,QAAQ;wBACpB,IAAI,CAAC,QAAQ,GAAG,sBAAsB;wBACtC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC/B,IAAI,CAAC,KAAK,EAAE;wBACZ,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;;;;KAEhC;IAED,yCAAY,GAAZ;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED,qCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,oCAAO,GAAP;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC;;gBA/B8B,sEAAY;;IARlC;QAAR,2DAAK,EAAE;;mDAAa;IACZ;QAAR,2DAAK,EAAE;;qDAAc;IACb;QAAR,2DAAK,EAAE;;uDAAmB;IAClB;QAAR,2DAAK,EAAE;;8DAAwB;IACtB;QAAT,4DAAM,EAAE;kCAAgB,0DAAY;6DAA8B;IANxD,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,4MAA0C;;SAE3C,CAAC;yCAW+B,sEAAY;OAVhC,kBAAkB,CA0C9B;IAAD,yBAAC;CAAA;AA1C8B;;;;;;;;;;;;;ACX/B;AAAe,6GAA8C,mK;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAkB;AAQ/E;IAgBE;QAXU,cAAS,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAClD,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAUzC,CAAC;IAEjB,kCAAQ,GAAR;QAAA,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI;gBACvC,WAAI,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,MAAM;YAA3B,CAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,CAAC,CAAC;aACP,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,gCAAM,GAAN;QACE,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACpC,IAAM,IAAI,GAAG;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,CAAC,CAAC;SACZ;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;gBACpC,IAAM,IAAI,GAAG;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;IACH,CAAC;IAED,uCAAa,GAAb,UAAe,QAAgB;QAC7B,uBAAuB;QACvB,IAAM,KAAK,GAAU,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB;QACxC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACrC,MAAM,EAAE,CAAC;aACZ;SACJ;QACD,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,kCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,0CAAgB,GAAhB;QACE,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IAlFQ;QAAR,2DAAK,EAAE;;iDAAY;IACX;QAAR,2DAAK,EAAE;;kDAAe;IACd;QAAR,2DAAK,EAAE;;gDAAU;IACR;QAAT,4DAAM,EAAE;kCAAY,0DAAY;sDAA2B;IAClD;QAAT,4DAAM,EAAE;kCAAS,0DAAY;mDAA2B;IAN9C,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,gMAAsC;;SAEvC,CAAC;;OACW,eAAe,CAsF3B;IAAD,sBAAC;CAAA;AAtF2B;;;;;;;;;;;;;ACR5B;AAAe,6GAA8C,mL;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAME;QAHU,gBAAW,GAA0B,IAAI,0DAAY,EAAE,CAAC;QACxD,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;IAEzC,CAAC;IAGjB,uCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACxD;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACtD;IACH,CAAC;IAED,qCAAM,GAAN;QACE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,uCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAtBQ;QAAR,2DAAK,EAAE;;yDAAkB;IAChB;QAAT,4DAAM,EAAE;kCAAc,0DAAY;6DAA+B;IACxD;QAAT,4DAAM,EAAE;kCAAS,0DAAY;wDAA2B;IAJ9C,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,kNAA4C;;SAE7C,CAAC;;OACW,oBAAoB,CAyBhC;IAAD,2BAAC;CAAA;AAzBgC;;;;;;;;;;;;;ACRjC;AAAe,yFAA0B,8BAA8B,KAAK,2BAA2B,iCAAiC,KAAK,+CAA+C,me;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAvE;AAE5E;AAE0B;AAOnE;IAYE;QANU,qBAAgB,GAAuB,IAAI,0DAAY,EAAE,CAAC;QAC1D,gBAAW,GAAuB,IAAI,0DAAY,EAAE,CAAC;IAK/C,CAAC;IAEjB,iCAAQ,GAAR;QACE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,+CAAE,CAClB;YACI,WAAW,EAAE,qEAAW,CAAC,cAAc;YACvC,eAAe,EAAE,qEAAW,CAAC,kBAAkB;YAC/C,MAAM,EAAE,cAAc;SACzB,CACF,CAAC;IACJ,CAAC;IAEK,sCAAa,GAAnB;;;;;4BACkB,qBAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE;4BACxD,MAAM,EAAE,gBAAgB;4BACxB,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;4BACvE,OAAO,EAAE,EAAE,GAAG,CAAC;yBAClB,CAAC;;wBAJI,OAAO,GAAG,SAId;wBAEY,qBAAM,KAAK,CAAC,OAAO,CAAC;;wBAA5B,KAAK,GAAG,SAAoB;wBAC5B,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBAEtD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;4BACnC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;4BACjD,sBAAO;yBACV;wBAEiB,qBAAM,KAAK,CAAC,IAAI,EAAE;;wBAA9B,SAAS,GAAG,SAAkB;wBAC9B,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBAE1C,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACzC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;wBACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,sBAAsB,CAAC;wBAC1D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;;;;KACnC;IAEC,+CAAsB,GAAtB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,+BAAM,GAAN;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,8BAAK,GAAL;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,2CAAkB,GAAlB;QACE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IA5EQ;QAAR,2DAAK,EAAE;;+CAAa;IACZ;QAAR,2DAAK,EAAE;;oDAAkB;IACjB;QAAR,2DAAK,EAAE;;iDAAc;IACb;QAAR,2DAAK,EAAE;;uDAAqB;IACnB;QAAT,4DAAM,EAAE;kCAAmB,0DAAY;4DAA4B;IAC1D;QAAT,4DAAM,EAAE;kCAAc,0DAAY;uDAA4B;IAPpD,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,6LAAqC;;SAEtC,CAAC;;OACW,cAAc,CA+E1B;IAAD,qBAAC;CAAA;AA/E0B;;;;;;;;;;;;;ACX3B;AAAe,6GAA8C,+L;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAIE;QADU,eAAU,GAAuB,IAAI,0DAAY,EAAE,CAAC;IAC9C,CAAC;IAEjB,2CAAQ,GAAR;IACA,CAAC;IAED,kDAAe,GAAf,UAAgB,IAAU;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IATQ;QAAR,2DAAK,EAAE;;2DAAe;IACb;QAAT,4DAAM,EAAE;kCAAa,0DAAY;gEAA4B;IAHnD,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,iOAAiD;;SAElD,CAAC;;OACW,wBAAwB,CAYpC;IAAD,+BAAC;CAAA;AAZoC;;;;;;;;;;;;;ACRrC;AAAe,6GAA8C,2K;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAS7E;IAcE;QAVU,cAAS,GAAuB,IAAI,0DAAY,EAAE,CAAC;QACnD,WAAM,GAAsB,IAAI,0DAAY,EAAE,CAAC;IASzC,CAAC;IAEjB,oCAAQ,GAAR;QAAA,iBAcC;QAbC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,EAAjC,CAAiC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI;gBACvC,WAAI,CAAC,EAAE,IAAI,KAAI,CAAC,IAAI,CAAC,MAAM;YAA3B,CAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,CAAC,CAAC;aACP,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,kCAAM,GAAN;QACE,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;gBACpC,IAAM,IAAI,GAAG;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;SACF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;IACH,CAAC;IAED,yCAAa,GAAb,UAAe,QAAgB;QAC7B,uBAAuB;QACvB,IAAM,KAAK,GAAU,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB;QAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB;QACxC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACrC,MAAM,EAAE,CAAC;aACZ;SACJ;QACD,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,oCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,sCAAU,GAAV;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACzC,CAAC;IArEQ;QAAR,2DAAK,EAAE;;mDAAY;IACX;QAAR,2DAAK,EAAE;;oDAAe;IACb;QAAT,4DAAM,EAAE;kCAAY,0DAAY;wDAA4B;IACnD;QAAT,4DAAM,EAAE;kCAAS,0DAAY;qDAA2B;IAL9C,iBAAiB;QAL7B,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,yMAAyC;;SAE1C,CAAC;;OACW,iBAAiB,CAwE7B;IAAD,wBAAC;CAAA;AAxE6B;;;;;;;;;;;;;ACT9B;AAAe,6GAA8C,+K;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAgB;AAQ7E;IAQE;QALU,SAAI,GAAuB,IAAI,0DAAY,EAAE,CAAC;IAKxC,CAAC;IAEjB,sCAAQ,GAAR;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,6CAAe,GAAf,UAAgB,IAAU;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,wCAAU,GAAV,UAAW,IAAI;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAtC,CAAsC,CAAC,CAAC;IACxF,CAAC;IAlBQ;QAAR,2DAAK,EAAE;;sDAAe;IACb;QAAT,4DAAM,EAAE;kCAAO,0DAAY;qDAA4B;IAH7C,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,+MAA2C;;SAE5C,CAAC;;OACW,mBAAmB,CAqB/B;IAAD,0BAAC;CAAA;AArB+B;;;;;;;;;;;;;ACRhC;AAAe,6GAA8C,mL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAsB;AAGpC;AACA;AAGM;AACvB;AAO9B;IAcE,+BAAoB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QATxC,UAAK,GAAG,kBAAkB,CAAC;IAU3B,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAeC;QAdC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC5D,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAI;YACnC,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAC5H,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACnE,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,2CAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,kDAAkB,GAAlB,UAAmB,QAAwC;QACzD,IAAsB,QAAS,CAAC,SAAS,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC;SACpE;aAAM,IAAmB,QAAS,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;SACjE;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,gDAAgB,GAAhB,UAAiB,QAAwC;QACvD,IAAsB,QAAS,CAAC,SAAS,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACpC;aAAM,IAAmB,QAAS,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,iDAAiB,GAAjB,UAAkB,QAAwC;QACxD,IAAsB,QAAS,CAAC,SAAS,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;SAC/C;aAAM,IAAmB,QAAS,CAAC,aAAa,EAAE;YACjD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC;IAED,8CAAc,GAAd,UAAe,QAAyB;QAAxC,iBAKC;QAJC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC7C,UAAU,CAAC;YACT,KAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,uCAAO,GAAP,UAAQ,QAAwC;QAAhD,iBAQC;QAPC,0DAAa,CACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC;aACzC,SAAS,CAAC,kBAAQ;YACjB,IAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,wCAAQ,GAAR;QAAA,iBAeC;QAdC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,sBAAY;YACrD,YAAY,CAAC,OAAO,CAAE,YAAE;gBACtB,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAE,WAAC;oBACnD,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAE,eAAK,IAAI,YAAK,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAtB,CAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,yBAAe;YAChE,eAAe,CAAC,OAAO,CAAE,YAAE;gBACzB,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAE,WAAC;oBACnD,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAE,eAAK,IAAI,YAAK,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAtB,CAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;gBApF4B,yDAAW;;IAZP;QAAhC,+DAAS,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;kCAAK,oEAAS;qDAAC;IAFpC,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,qNAA6C;;SAE9C,CAAC;yCAe6B,yDAAW;OAd7B,qBAAqB,CAmGjC;IAAD,4BAAC;CAAA;AAnGiC;;;;;;;;;;;;;ACflC;AAAe,6GAA8C,mM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACH;AACN;AAWzC;IAEE,mCAAoB,OAAoB,EACpB,QAAkB;QADlB,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAU;IAAI,CAAC;IAM3C,4CAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED,0CAAM,GAAN,UAAO,QAAwC;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YACjC,IAAsB,IAAI,CAAC,QAAS,CAAC,SAAS,EAAE;gBAC9C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;aAC9C;iBAAM,IAAmB,IAAI,CAAC,QAAS,CAAC,aAAa,EAAE;gBACtD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;SACF;aAAM;YACL,IAAsB,IAAI,CAAC,QAAS,CAAC,SAAS,EAAE;gBAC9C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;aAC9C;iBAAM,IAAmB,IAAI,CAAC,QAAS,CAAC,aAAa,EAAE;gBACtD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,4CAAQ,GAAR;QACC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;;gBA/B4B,yDAAW;gBACV,wDAAQ;;IAH3B,yBAAyB;QALrC,+DAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,oOAAkD;;SAEnD,CAAC;yCAG6B,yDAAW;YACV,wDAAQ;OAH3B,yBAAyB,CAkCrC;IAAD,gCAAC;CAAA;AAlCqC;;;;;;;;;;;;;ACbtC;AAAe,oFAAqB,+BAA+B,qBAAqB,wBAAwB,KAAK,0BAA0B,wBAAwB,oBAAoB,iBAAiB,kBAAkB,yCAAyC,sBAAsB,0BAA0B,gMAAgM,KAAK,4BAA4B,2BAA2B,kBAAkB,oBAAoB,wBAAwB,wBAAwB,KAAK,+CAA+C,u3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3oB;AAET;AACQ;AACkB;AAQnE;IAYE,0BAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAT5C,gBAAW,GAAG,EAAE,CAAC;QAOjB,mBAAc,GAAG,KAAK,CAAC;IAIvB,CAAC;IAED,mCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,+BAAI,GAAJ;QAAA,iBA4BC;QA3BC,IAAI,CAAC,MAAM,GAAG,IAAI,+CAAE,CAClB;YACI,WAAW,EAAE,qEAAW,CAAC,cAAc;YACvC,eAAe,EAAE,qEAAW,CAAC,kBAAkB;YAC/C,MAAM,EAAE,cAAc;SACzB,CACF,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,UAAC,OAAO;YACtD,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;YAClC,IAAM,MAAM,GAAG;gBACb,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,GAAG;aAC7B,CAAC;YACF,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI;gBACxC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC5B,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAI;oBACpC,OAAO,IAAI,CAAC,GAAG,IAAI,KAAI,CAAC,WAAW,GAAG,GAAG;gBAC3C,CAAC,CAAC,CAAC,GAAG,CAAC,cAAI;oBACT,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAI,CAAC,WAAW,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;oBACxD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAvB,CAAuB,CAAC,CAAC;gBACtE,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,4CAAiB,GAAjB,UAAkB,MAAM;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,EAA/B,CAA+B,CAAC,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,4CAAiB,GAAjB;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAvB,CAAuB,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAGK,oCAAS,GAAf,UAAgB,GAAG;;;;;;wBACjB,SAAI;wBAAY,qBAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,GAAC,CAAC,EAAC,CAAC;;wBAAjJ,GAAK,QAAQ,GAAG,SAAiI;;;;;KAClJ;IAED,qCAAU,GAAV;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEK,uCAAY,GAAlB,UAAmB,GAAG;;;;;4BACJ,qBAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,EAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,GAAC,CAAC,EAAC,CAAC;;wBAA3I,OAAO,GAAG,SAAiI;wBAC3I,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;wBACxC,IAAI,CAAC,IAAI,GAAG,OAAO;wBACnB,IAAI,CAAC,MAAM,GAAE,QAAQ,CAAC;wBACtB,IAAI,CAAC,QAAQ,GAAG,qBAAqB;wBACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC/B,IAAI,CAAC,KAAK,EAAE;wBACZ,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;;;;KAChC;IAED,iCAAM,GAAN;QAAA,iBAkBC;QAjBC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAM,MAAM,GAAG;YACb,MAAM,EAAE,wBAAwB;YAChC,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI;YACvC,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI,CAAC,IAAI;SACvB;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAC,GAAG,EAAE,IAAI;YACnC,IAAI,GAAG,EAAE;gBACL,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC;aAChB;YACD,KAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,wCAAa,GAAb,UAAc,GAAG;QACf,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,6CAAkB,GAAlB;QACE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,qCAAU,GAAV,UAAW,GAAG;QAAd,iBAMC;QALC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,EAAC,EAAE,UAAC,GAAG,EAAE,QAAQ;YAC5G,KAAI,CAAC,WAAW,GAAG,SAAS,CAAC;YAC7B,KAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,qCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,sCAAW,GAAX,UAAY,GAAG;QACb,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,sCAAW,GAAX,UAAY,IAAI;QACd,IAAI,SAAS,CAAC;QACd,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,GAAG,OAAO,EAAE;YAClB,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC;SACf;aAAM,IAAI,IAAI,GAAG,IAAI,EAAE;YACtB,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC;SACf;aAAM;YACL,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM,GAAG,GAAG;SACb;QACD,SAAS,GAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC/C,OAAO,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,sCAAW,GAAX,UAAY,IAAI;QACd,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;;gBApIgC,yDAAW;;IAZjC,gBAAgB;QAL5B,+DAAS,CAAC;YACT,QAAQ,EAAE,cAAc;YACxB,sMAAwC;;SAEzC,CAAC;yCAaiC,yDAAW;OAZjC,gBAAgB,CAiJ5B;IAAD,uBAAC;CAAA;AAjJ4B;;;;;;;;;;;;;ACZ7B;AAAe,6GAA8C,+K;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACD;AASjD;IAOE,6BAAoB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAI,CAAC;IAEjD,sCAAQ,GAAR;QAAA,iBAQC;QAPC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAI;YACtB,KAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,oCAAM,GAAN,UAAO,IAAS;QACd,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChE;IACL,CAAC;;gBAjBgC,yDAAW;;IAPjC,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,+MAA2C;;SAE5C,CAAC;yCAQiC,yDAAW;OAPjC,mBAAmB,CA0B/B;IAAD,0BAAC;CAAA;AA1B+B;;;;;;;;;;;;;ACVhC;AAAe,6GAA8C,+L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAF;AAGlB;AAIM;AAO/C;IAEE,kCAAoB,OAAoB,EACpB,QAAkB;QADlB,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAU;QAUtC,aAAQ,GAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,aAAQ,GAAG,MAAM,CAAC;IAXwB,CAAC;IAa3C,2CAAQ,GAAR;QAAA,iBAiBC;QAhBC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,iBAAO;YACjE,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,wCAAwC;YACrC,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC7C,IAAI;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,2CAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,yCAAM,GAAN,UAAO,OAAgB;QACrB,IAAI,OAAO,CAAC,EAAE,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SACrC;IACH,CAAC;IAED,6CAAU,GAAV,UAAW,IAAS;QAApB,iBASC;QARC,4CAA4C;QAC5C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,eAAK;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAA1B,CAA0B,CAAC,EAAE;gBACjD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5B,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5E,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAClF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAO,GAAP,UAAQ,IAAU;QAAlB,iBAWC;QAVC,IAAM,WAAW,GAAgB;YAC/B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC,SAAS,CAAC,eAAK;YACnE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAArB,CAAqB,CAAC,EAAE;gBAC5C,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjF,KAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;aAC7C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAkB,GAAlB,UAAmB,IAAU;QAC3B,IAAM,WAAW,GAAgB;YAC/B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,UAAC,UAAU;YACzF,OAAO,UAAU,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QAClC,CAAC,CAAC,EAFiE,CAEjE,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,8CAAW,GAAX,UAAY,KAAU;QACpB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,gDAAa,GAAb,UAAc,GAAW;QACtB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,4CAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC;IACzC,CAAC;;gBA5F4B,yDAAW;gBACV,wDAAQ;;IAH3B,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,iOAAiD;;SAElD,CAAC;yCAG6B,yDAAW;YACV,wDAAQ;OAH3B,wBAAwB,CA+FpC;IAAD,+BAAC;CAAA;AA/FoC;;;;;;;;;;;;;ACdrC;AAAe,oFAAqB,sBAAsB,gCAAgC,yBAAyB,oBAAoB,4BAA4B,sBAAsB,KAAK,yBAAyB,qBAAqB,sBAAsB,+BAA+B,4BAA4B,gCAAgC,sBAAsB,KAAK,2BAA2B,2BAA2B,wBAAwB,4BAA4B,KAAK,8BAA8B,yBAAyB,wBAAwB,qBAAqB,KAAK,0BAA0B,wBAAwB,0CAA0C,eAAe,gBAAgB,oBAAoB,qBAAqB,mBAAmB,KAAK,wBAAwB,2BAA2B,iBAAiB,kBAAkB,yCAAyC,qBAAqB,sBAAsB,gCAAgC,4BAA4B,uBAAuB,KAAK,6BAA6B,sBAAsB,2BAA2B,gCAAgC,KAAK,2BAA2B,2BAA2B,0BAA0B,wBAAwB,4BAA4B,iDAAiD,gCAAgC,sBAAsB,KAAK,8CAA8C,sBAAsB,+BAA+B,sBAAsB,mDAAmD,KAAK,iDAAiD,2BAA2B,yBAAyB,wBAAwB,KAAK,8BAA8B,yBAAyB,2BAA2B,KAAK,oCAAoC,sBAAsB,+BAA+B,KAAK,oBAAoB,sBAAsB,KAAK,yBAAyB,qBAAqB,8BAA8B,2BAA2B,0BAA0B,wBAAwB,0BAA0B,4DAA4D,oBAAoB,KAAK,+BAA+B,wBAAwB,KAAK,kCAAkC,kCAAkC,qBAAqB,KAAK,qBAAqB,2BAA2B,kCAAkC,8BAA8B,qBAAqB,oBAAoB,KAAK,6BAA6B,kCAAkC,KAAK,iDAAiD,2CAA2C,qBAAqB,KAAK,2BAA2B,iDAAiD,KAAK,kBAAkB,kCAAkC,gCAAgC,qBAAqB,OAAO,+CAA+C,mhL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzxF;AAG1C;AAEA;AACR;AAC+B;AACK;AAErB;AAEtD,IAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AAIvB;;;;;;;;;;;;;GAaG;AAQH;IA6CE,gCAAoB,OAAoB,EACpB,MAAc,EAAQ,MAAiB;QAD3D,iBAEC;QAFmB,YAAO,GAAP,OAAO,CAAa;QACpB,WAAM,GAAN,MAAM,CAAQ;QAAQ,WAAM,GAAN,MAAM,CAAW;QAd3D,iBAAY,GAAQ,EAAE,CAAC;QAOvB,gBAAW,GAAG,MAAM,CAAC;QACrB,WAAM,GAAY,KAAK,CAAC;QA+LxB,eAAU,GAAG,UAAC,IAAS,EAAE,OAAsC,IAAK,QAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAA5B,CAA4B;IAxLhG,CAAC;IAED,6CAAY,GAAZ;QACE,IAAI,CAAC,IAAI,GAAG,EAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAC,CAAC;QACrF,IAAI,CAAC,KAAK,GAAG,EAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAAC,CAAC;QACtF,IAAI,CAAC,IAAI,GAAG,IAAI,2DAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,0CAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,yCAAQ,GAAR;QAAA,iBA+GC;QA7GC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,iBAAO;YACjD,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,IAAI,KAAI,CAAC,gBAAgB,KAAK,OAAO,CAAC,EAAE,EAAE;gBACpD,OAAO;aACR;YACD,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAC;YACnC,KAAI,CAAC,eAAe,GAAG,OAAO,CAAC;YAC/B,KAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YACpC,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,UAAC,SAAc;gBACnE,KAAI,CAAC,QAAQ,GAAG,EAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC;gBACxI,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,QAAQ,CAAC;gBAC1B,KAAI,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC1C,OAAO,KAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,QAAQ,CAAC,EAAE,KAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;YACxI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAM;gBACZ,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,KAAK,GAAG,EAAE;oBAC3C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;iBAErD;gBACD,OAAO,KAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;oBACvC,aAAa,EAAE,OAAO,CAAC,MAAM;oBAC7B,SAAS,EAAE,OAAO,CAAC,EAAE;iBACtB,CAAC,CAAC,SAAS,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAO;gBACb,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,OAAO,KAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAY;gBAClB,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;YACpD,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAG;YACrB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAGH,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC3C,IAAI,CAAC,QAAQ,GAAG,0CAA0C,CAAC;YAC3D,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;SACjC;QACD,kDAAkD;QAClD,gEAAgE;QAChE,uCAAuC;QACvC,KAAK;aACA;YACH,IAAI,CAAC,QAAQ,GAAG,gHAAgH,CAAC;YACjI,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC;SACzC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAoDE;IAEJ,CAAC;IAGD,4CAAW,GAAX;IACA,CAAC;IAED,4CAAW,GAAX;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,2CAAU,GAAV,UAAW,IAAmB;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClI,CAAC;IAED,8CAAa,GAAb,UAAc,IAAI;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,8CAAa,GAAb,UAAc,IAAI;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,gDAAe,GAAf,UAAgB,MAAM;QACpB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,6CAAY,GAAZ,UAAa,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAK;QAA3C,iBAYC;QAXC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YACnI,IAAI,WAAW,EAAE;gBACf,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,KAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aACf;iBAAM;gBACL,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC1C;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvI,CAAC;IAKD,kDAAiB,GAAjB;QACE,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9B,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1H,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1H,SAAS,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,GAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC3J,CAAC;IAGD,oDAAmB,GAAnB;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACxI,CAAC;IAED,mDAAkB,GAAlB;QAAA,iBAEC;QADC,OAAO,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,GAAG,KAAI,CAAC,cAAc,EAAvB,CAAuB,CAAC;IAChH,CAAC;IAED,oDAAmB,GAAnB;QACE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,8CAAa,GAAb,UAAc,GAAG,EAAE,SAAS;QAC1B,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;QAC5C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAE7B;IACH,CAAC;IAGD,6CAAY,GAAZ;QAAA,iBAuBC;QAtBC,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QAC/H,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;QAC/H,IAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;QAC1I;;;YAGI;QACJ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;aAC/B,GAAG,CAAC,gBAAM;YACT,IAAI,KAAI,CAAC,aAAa,EAAE;gBACtB,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,KAAI,CAAC,SAAS,EAAE;oBAClB,IAAI,MAAM,CAAC,KAAK,CAAC,cAAI,IAAI,QAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAApB,CAAoB,CAAC,EAAE;wBAC9C,uBAAuB;qBACxB;iBACF;gBACD,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,cAAc,EAA/B,CAA+B,CAAC,CAAC,MAAM,CAAC,eAAK,IAAI,QAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC,MAAM,CAAC,eAAK,IAAI,QAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,EAAtB,CAAsB,CAAC,CAAC;gBAC/I,OAAO,GAAG,CAAC;aACZ;YACD,OAAO,MAAM,CAAC;QAElB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAS,GAAT,UAAU,GAAW,EAAE,SAAmB;;;YACxC,KAAmB,oCAAS,gGAAE;gBAAzB,IAAM,MAAI;gBACb,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAI,CAAC,EAAE;oBACtB,OAAO,IAAI,CAAC;iBACb;aACF;;;;;;;;;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAAY,GAAZ,UAAa,MAAc;QACzB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,gDAAe,GAAf,UAAgB,KAAY;QAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,gDAAe,GAAf;QACE,IAAI,CAAC,aAAa,GAAE,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpG,CAAC;IAED,mDAAkB,GAAlB;QAAA,iBAQC;QAPC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAM,YAAI,CAAC,KAAK,EAAV,CAAU,CAAE;aACvD,SAAS,CAAC,kBAAQ;YACnB,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBACvB,aAAa,EAAE,QAAQ,CAAC,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,6CAAY,GAAZ;QAAA,iBAWC;QAVC,0DAAa,CACX,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAC/B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAClC;aACA,SAAS,CAAC,kBAAQ;YACjB,IAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,IAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAClC,IAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACzC,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC;QAC9E,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnB,CAAC;IAED,8CAAa,GAAb;QAAA,iBASC;QARC,IAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAE,iBAAO;YAClD,IAAI,CAAC,KAAI,CAAC,aAAa,EAAE;gBACvB,KAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC3B;YACD,KAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAI,CAAC,IAAI,EAAE,CAAC,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,cAAc,CAAC,CAAC;QAClI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnB,CAAC;IAED,8CAAa,GAAb;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,iBAAO;YACjD,IAAM,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChI,IAAM,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChI,IAAM,MAAM,GAAG;gBACb,WAAW,EAAE,OAAO,CAAC,MAAM;gBAC3B,GAAG,EAAE,KAAI,CAAC,WAAW;gBACrB,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,KAAI,CAAC,cAAc;gBAC/B,OAAO,EAAE,CAAC,KAAI,CAAC,YAAY;gBAC3B,IAAI,EAAE,KAAI,CAAC,YAAY;gBACvB,SAAS,EAAE,KAAI,CAAC,SAAS;aAC1B;YACD,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAC,QAAa;gBAClE,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,kBAAkB,EAAE;iBAEhE;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;;gBA9U4B,yDAAW;gBACZ,sDAAM;gBAAgB,2DAAS;;IA3C3D;QADC,+DAAS,CAAC,gFAAc,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;kCAClB,gFAAc;kEAAC;IAH5B,sBAAsB;QALlC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,wNAA8C;;SAE/C,CAAC;yCA8C6B,yDAAW;YACZ,sDAAM,EAAgB,2DAAS;OA9ChD,sBAAsB,CA4XlC;IAAD,6BAAC;CAAA;AA5XkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCM;AACc;AACqC;AACH;AACc;AACH;AACf;AACT;AAE5E,IAAM,WAAW,GAAW;IAC1B;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,0GAAsB;KAClC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,uGAAqB;KACjC;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,wFAAgB;KAC5B;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,qHAAyB;KACrC;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,kHAAwB;KACpC;IACD;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,iGAAmB;KAC/B;CACF,CAAC;AAMF;IAAA;IAAiC,CAAC;IAArB,iBAAiB;QAJ7B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,4DAAY,CAAC;SACxB,CAAC;OACW,iBAAiB,CAAI;IAAD,wBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCW;AACM;AACH;AAC5C,gBAAgB;AACuB;AACc;AACS;AACR;AACd;AACY;AACF;AAClD,YAAY;AAC+B;AAC3C,UAAU;AACgD;AAC1D,YAAY;AAC+E;AACc;AACtB;AACD;AACU;AACD;AACA;AACS;AACc;AACvB;AACc;AACrC;AACgC;AACd;AACc;AACvB;AACM;AACE;AACd;AACc;AACT;AACR;AACX;AACK;AA6C9D;IAAA;IAAyB,CAAC;IAAb,UAAU;QA3CtB,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY;gBACZ,0DAAW;gBACX,uEAAiB;gBACjB,oEAAS;gBACT,sDAAS;gBACT,2EAAkB;gBAClB,mEAAa;gBACb,uDAAW;gBACX,mEAAe;gBACf,+DAAiB;gBACjB,oFAAoB;gBACpB,yEAAe;gBACf,8EAAmB;aACpB;YACD,YAAY,EAAE;gBACZ,wGAAqB;gBACrB,sHAAyB;gBACzB,gGAAmB;gBACnB,+FAAkB;gBAClB,2GAAsB;gBACtB,wGAAqB;gBACrB,wGAAqB;gBACrB,iHAAwB;gBACxB,+HAA4B;gBAC5B,wGAAqB;gBACrB,sHAAyB;gBACzB,mHAAwB;gBACxB,qGAAoB;gBACpB,mHAAwB;gBACxB,4FAAiB;gBACjB,kGAAmB;gBACnB,iFAAc;gBACd,kGAAmB;gBACnB,oFAAe;gBACf,kGAAmB;gBACnB,yFAAgB;aACjB;YACD,SAAS,EAAE;gBACT,0DAAW;aACZ;SACF,CAAC;OACW,UAAU,CAAG;IAAD,iBAAC;CAAA;AAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFkB;AACP;AACU;AAMW;AACoC;AACU;AAInD;AAIH;AAKmC;AACN;AAGrC;AAC+B;AACX;AAI8B;AACf;AAKT;AAEiC;AACvC;AACA;AACc;AACO;AACxB;AAGxD;IAIE,qBAAoB,KAAkC,EAClC,MAAc,EACd,UAAsB,EACtB,uBAAgD,EAChD,oBAA0C,EAC1C,uBAAgD,EAChD,YAA0B,EAC1B,mBAAyC,EACzC,mBAAwC,EACxC,YAA0B,EAC1B,eAAgC,EAChC,YAA0B,EAC1B,qBAA4C;QAZ5C,UAAK,GAAL,KAAK,CAA6B;QAClC,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAY;QACtB,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,oBAAe,GAAf,eAAe,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,0BAAqB,GAArB,qBAAqB,CAAuB;IAEhE,CAAC;IAED,kBAAkB;IAClB,UAAU;IACV,wCAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA4B,CAAC,CAAC;IACzD,CAAC;IAED,iCAAW,GAAX;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAqB,CAAC,CAAC;IAClD,CAAC;IAED,sCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6DAA0B,CAAC,CAAC;IACvD,CAAC;IAED,8BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,6CAAuB,GAAvB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oEAAiC,CAAC,CAAC;IAC9D,CAAC;IAED,sCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,6DAA0B,CAAC,CAAC;IACvD,CAAC;IAED,gDAA0B,GAA1B;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uEAAoC,CAAC,CAAC;IACjE,CAAC;IAED,yCAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gEAA6B,CAAC,CAAC;IAC1D,CAAC;IAED,4BAAM,GAAN;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAgB,CAAC,CAAC;IAC7C,CAAC;IAED,iCAAW,GAAX,UAAY,QAAwC;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,iCAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,kCAAY,GAAZ,UAAa,SAAiB,EAAE,MAAc,EAAE,aAAqB;QACjE,IAAM,UAAU,GAAgC;YAC9C,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,aAAa;SAC7B,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,mCAAa,GAAb;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,gEAA6B,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;IAClB,uCAAiB,GAAjB,UAAkB,OAAgB;QAAlC,iBAYC;QAXC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAY,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mEAAQ,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,kBAAQ;YACrC,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAa,GAAb,UAAc,KAAY;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,IAAI,aAAqB,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,+DAA4B,CAAC;aAC5C,SAAS,CAAC,cAAI,IAAI,oBAAa,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAzC,CAAyC,CAAC,CAAC;QAChE,IAAI,aAAa;YACf,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,6CAAuB,GAAvB,UAAwB,eAAgC;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAqB,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,4CAAsB,GAAtB,UAAuB,eAAgC;QAAvD,iBAKC;QAJC,IAAI,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,eAAe,CAAC,EAAE,CAAC;aAC3E,SAAS,CAAC,gBAAM;YACjB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAqB,CAAC,eAAe,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAqB,GAArB,UAAsB,eAAgC;QAAtD,iBAMC;QALC,IAAI,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,eAAe,CAAC;aAClE,SAAS,CAAC,iBAAO;YAClB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAqB,GAArB,UAAsB,eAAgC;QAAtD,iBAUC;QATA,IAAM,MAAM,GAAqC;YAC9C,EAAE,EAAE,eAAe,CAAC,EAAE;YACvB,eAAe,EAAE,eAAe;SAChC,CAAC;QACF,IAAI,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,MAAM,CAAC;aAC5D,SAAS,CAAC,iBAAO;YAClB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAqB,CAAC,eAAe,CAAC,CAAC,CAAC;YAChE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAoB,GAApB,UAAqB,YAA0B;QAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sFAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,yCAAmB,GAAnB,UAAoB,mBAAiC;QAArD,iBAKC;QAJC,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,EAAE,CAAC;aACzE,SAAS,CAAC,iBAAO;YAClB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sFAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAW,GAAX,UAAY,SAAS;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,wCAAkB,GAAlB,UAAmB,YAA6B;QAAhD,iBAMC;QALC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,YAAY,CAAC;aACzD,SAAS,CAAC,iBAAO;YAClB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sFAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAkB,GAAlB,UAAmB,YAA0B;QAA7C,iBAUC;QATC,IAAM,MAAM,GAAkC;YAC5C,EAAE,EAAE,YAAY,CAAC,EAAE;YACnB,YAAY,EAAE,YAAY;SAC3B,CAAC;QACF,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,MAAM,CAAC;aACtD,SAAS,CAAC,gBAAM;YACjB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sFAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1D,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,6BAAO,GAAd,UAAe,aAAqB,EAAE,KAAY;QAAlD,iBAUC;QATC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;QAChD,IAAM,MAAM,GAAiC;YAC3C,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC9D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0EAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,sCAAgB,GAAvB,UAAwB,SAAiB,EAAE,MAAc;QAAzD,iBAUC;QATC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qFAAiB,EAAE,CAAC,CAAC;QAC7C,IAAM,MAAM,GAAqF;YAC/F,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,0EAA0E,CAAC,MAAM,CAAC,CAAC,SAAS,CAAE,uBAAa;YAClI,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;YACjE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sFAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,0CAAoB,GAA3B,UAA4B,SAAiB;QAA7C,iBAWC;QAVC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2FAAoB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,uBAAuB,CAAC,+DAA+D,CAAC,SAAS,CAAC,CAAE,SAAS,CAAE,uBAAa;YAC/H,aAAa,CAAC,OAAO,CAAC,kBAAQ;gBAC5B,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,CAAE,mBAAS;oBACxE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,kGAA2B,CAAC,aAAa,CAAC,CAAC,CAAC;YACpE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qCAAe,GAAtB,UAAuB,SAAiB,EAAE,MAAc;QAAxD,iBAUC;QATC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,oFAAgB,EAAE,CAAC,CAAC;QAC5C,IAAM,MAAM,GAAkF;YAC5F,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,uEAAuE,CAAC,MAAM,CAAC;aACrG,SAAS,CAAC,kBAAQ;YACjB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qFAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,oCAAc,GAArB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mEAAgC,CAAC,CAAC;IAC7D,CAAC;IAED,8BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,8BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC;IAC/C,CAAC;IAED,4CAAsB,GAAtB,UAAuB,SAAiB;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,yCAAyC,CAAC,SAAS,CAAC,CAAC;IAChF,CAAC;IAED,mCAAa,GAAb,UAAc,OAAgB;QAA9B,iBAQC;QAPC,IAAM,MAAM,GAA6B;YACvC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,OAAO;SACjB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAO;YAC/D,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2EAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,yCAAmB,GAAnB,UAAoB,IAAU,EAAE,QAAgB,EAAE,SAAiB;QAAnE,iBAeC;QAdC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAO;YACpD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAM,MAAM,GAAgB;gBAC1B,MAAM,EAAE,OAAO,CAAC,EAAE;gBAClB,SAAS,EAAE,SAAS;aACrB,CAAC;YACF,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAM,IAAI,GAAe;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,QAAQ;aACnB,CAAC;YACF,KAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACtF,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;QACtD,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;IAED,uCAAiB,GAAjB,UAAkB,WAAwB;QAA1C,iBAIC;QAHC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,iBAAO;YACzE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4FAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAiB,GAAjB,UAAkB,WAAwB;QAA1C,iBAQC;QAPC,IAAM,MAAM,GAAkF;YAC5F,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,uEAAuE,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,YAAE;YACnH,KAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAS,GAAT;QAAA,iBAIC;QAHC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,cAAI;YAC7C,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4EAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAS,GAAT;QAAA,iBAKC;QAJC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,qEAAS,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,cAAI;YAC7C,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,4EAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAa,GAAb;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sDAAmB,CAAC,CAAC;IAChD,CAAC;IAED,oCAAc,GAAd,UAAe,GAAW;QAA1B,iBAMC;QALC,GAAG,IAAI,aAAa,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,wEAAU,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAI;YACxD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,gFAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAgB,GAAhB,UAAiB,GAAW,EAAE,WAAmB;QAC/C,GAAG,IAAI,aAAa,CAAC;QACrB,IAAM,MAAM,GAAmC;YAC7C,SAAS,EAAE,GAAG;YACd,IAAI,EAAE,WAAW;SAClB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/D,CAAC;IAED,iDAA2B,GAA3B,UAA4B,OAAO,EAAE,SAAiB,EAAE,OAAe,EAAE,IAAa;QAAtF,iBAiBC;QAhBC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,SAAS,EAAG,SAAS;YACrB,OAAO,EAAE,OAAO;YAChB,aAAa,EAAG,OAAO,CAAC,MAAM;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,kEAAkE,CAAC,MAAM,CAAC;aACzF,SAAS,CAAC,mBAAS;YAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,KAAI,CAAC,+CAA+C,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5E;YACD,wDAAwD;YACxD,qDAAqD;YACrD,mBAAmB;YACnB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,wDAAkC,GAAlC,UAAmC,OAAO,EAAE,UAAkB,EAAE,IAAa,EAAE,mBAAoB,EAAE,MAAe,EAAE,IAAa;QACjI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QAC3C,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,UAAU;YACjB,aAAa,EAAG,OAAO,CAAC,MAAM;YAC9B,IAAI;YACJ,MAAM;YACN,IAAI;SACL,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;IACnH,CAAC;IAED,iDAA2B,GAA3B,UAA4B,OAAO,EAAE,UAAkB,EAAE,IAAa,EAAE,mBAAoB,EAAE,MAAe;QAA7G,iBAqBC;QApBC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QACnC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,UAAU;YACjB,aAAa,EAAG,OAAO,CAAC,MAAM;YAC9B,IAAI;YACJ,MAAM;SACP,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC;aACjG,SAAS,CAAC,mBAAS;YAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,KAAI,CAAC,+CAA+C,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5E;YACD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6EAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YACtD,IAAI,mBAAmB,EAAE;gBACvB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,mBAAmB;gBACnB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qEAA+C,GAA/C,UAAgD,OAAO,EAAE,UAAkB;QAA3E,iBAkBC;QAjBC,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACnC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,IAAI,CAAC,YAAY,EAAE;YAC1B,aAAa,EAAG,OAAO,CAAC,MAAM;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC;aAC1F,SAAS,CAAC,mBAAS;YAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACrB,KAAI,CAAC,+CAA+C,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5E;YACD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6EAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YACtD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,mBAAmB;YACnB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAGM,4CAAsB,GAA7B,UAA8B,MAAM;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAEM,0CAAoB,GAA3B,UAA4B,OAAgB;QAA5C,iBAaC;QAZC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,EAAE,CAAC,CAAC;QACtC,IAAM,MAAM,GAA8E;YACxF,SAAS,EAAG,OAAO,CAAC,EAAE;YACtB,IAAI,EAAG,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE;YAChC,aAAa,EAAG,OAAO,CAAC,MAAM;SAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,mEAAmE,CAAC,MAAM,CAAC;aAC1F,SAAS,CAAC,mBAAS;YAClB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,6EAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;YACtD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yCAAmB,GAAnB,UAAoB,MAAM;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,yDAAyD,CAAC,MAAM,CAAC,CAAC;IAC7F,CAAC;IAED,0CAAoB,GAApB,UAAqB,MAAM;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,uCAAuC,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,+CAAyB,GAAzB,UAA0B,SAAS;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;IACxF,CAAC;IAED,gCAAU,GAAV,UAAW,EAAU;QAArB,iBAKC;QAJC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qDAAkB,CAAC,CAAC,SAAS,CAAC,cAAI;YAClD,IAAM,QAAQ,GAAS,IAAI,CAAC,MAAM,CAAE,WAAC,IAAI,QAAC,CAAC,EAAE,IAAI,EAAE,EAAV,CAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4DAAyB,CAAC,CAAC;IACtD,CAAC;IAED,gCAAU,GAAV;QACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,mCAAa,GAAb,UAAc,KAAa,EAAE,QAAgB;QAA7C,iBAQC;QAPC,IAAM,IAAI,GAAe;YACvB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACpF,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAU,GAAV,UAAW,IAAU;QAArB,iBASC;QARC,IAAM,MAAM,GAA0B;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAO;YACzD,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sEAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC,EAAE,gBAAM,IAAI,cAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAArC,CAAqC,CAAC,CAAC;IACtD,CAAC;;gBAhc0B,iDAAK;gBACJ,uDAAM;gBACF,oEAAU;gBACG,+FAAuB;gBAC1B,yFAAoB;gBACjB,+FAAuB;gBAClC,yEAAY;gBACL,yFAAoB;gBACpB,wFAAmB;gBAC1B,yEAAY;gBACT,+EAAe;gBAClB,yEAAY;gBACH,oEAAqB;;IAhBrD,WAAW;QADvB,gEAAU,EAAE;yCAKgB,iDAAK;YACJ,uDAAM;YACF,oEAAU;YACG,+FAAuB;YAC1B,yFAAoB;YACjB,+FAAuB;YAClC,yEAAY;YACL,yFAAoB;YACpB,wFAAmB;YAC1B,yEAAY;YACT,+EAAe;YAClB,yEAAY;YACH,oEAAqB;OAhBrD,WAAW,CAqcvB;IAAD,kBAAC;CAAA;AArcuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjDyE;AAExD;AACE;AAG3C;IACE,oBAAoB,WAAwB,EAAU,MAAc;QAAhD,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;IACpE,CAAC;IAED,gCAAW,GAAX,UAAY,KAA6B,EAAE,KAA0B;QACnE,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE;gBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChC,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;gBAhBgC,yDAAW;gBAAkB,sDAAM;;IADzD,UAAU;QADtB,gEAAU,EAAE;yCAEsB,yDAAW,EAAkB,sDAAM;OADzD,UAAU,CAkBtB;IAAD,iBAAC;CAAA;AAlBsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACN0E;AAExD;AACE;AAG3C;IACE,mBAAoB,WAAwB,EAAU,MAAc;QAAhD,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IACxE,+BAAW,GAAX,UAAY,KAA6B,EAAE,KAA0B;QACnE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;;gBANgC,yDAAW;gBAAkB,sDAAM;;IADzD,SAAS;QADrB,gEAAU,EAAE;yCAEsB,yDAAW,EAAkB,sDAAM;OADzD,SAAS,CAQrB;IAAD,gBAAC;CAAA;AARqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL6B;AAER;AAG3C;IAEE,yBAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAEzC,mCAAS,GAAT,UAAU,GAAqB,EAAE,IAAiB;QAChD,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,KAAK,EAAE;YACT,IAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,KAAK,CAAC,EAAC,CAAC,CAAC;YAChG,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAChC;aAAM;YACL,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,UAAU,EAAE;gBACd,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU,CAAC,EAAC,CAAC,CAAC;gBAChG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC3B;iBAAM;gBACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACzB;SACF;IACH,CAAC;;gBAhByB,yDAAW;;IAF1B,eAAe;QAD3B,gEAAU,EAAE;yCAGe,yDAAW;OAF1B,eAAe,CAoB3B;IAAD,sBAAC;CAAA;AApB2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNe;AAEpC,IAAM,SAAS,GAAG,UAAU,CAAC;AAC7B,IAAM,SAAS,GAAG,UAAU,CAAC;AAGpC;IAEE;IAAgB,CAAC;IAEjB,8BAAQ,GAAR;QACE,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,8BAAQ,GAAR,UAAS,KAAa;QACpB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,iCAAW,GAAX;QACE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,8BAAQ,GAAR;QACE,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,8BAAQ,GAAR,UAAS,KAAa;QACpB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,iCAAW,GAAX;QACE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,8BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,6BAAO,GAAP;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,6BAAO,GAAf,UAAgB,KAAK;QACnB,IAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;IAxCU,WAAW;QADvB,gEAAU,EAAE;;OACA,WAAW,CAyCvB;IAAD,kBAAC;CAAA;AAzCuB;;;;;;;;;;;;;;;;;;ACNjB,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,sBAAsB;IACtC,kBAAkB,EAAE,0CAA0C;CAC/D,CAAC;;;;;;;;;;;;;;;;;;;;;ACJ6C;AAC4B;AAE9B;AACY;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,gGAAsB,EAAE,CAAC,eAAe,CAAC,yDAAS,CAAC;KAChD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACXlC,e","file":"main.js","sourcesContent":["export default \"

ADMIN MENU

\\r\\n
\\r\\n
\\r\\n
\\r\\n Projects\\r\\n
\\r\\n
\\r\\n Users\\r\\n
\\r\\n
\\r\\n Devices\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n \\r\\n Device Form\\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 \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","export default \"\\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
Serial NumberStatusUpdate DateProject
{{device.id}}{{device.serialNumber}}{{device.status}}{{device.updateDate}}\\r\\n \\r\\n no project\\r\\n \\r\\n \\r\\n {{device.projectId}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n\\r\\n \\r\\n Project\\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\"","export default \"

Confirm Deletion

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

Are you certain you want to permanently delete the project {{data.projectName}}?

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n \\r\\n Filter\\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
ID {{project.id}} Name {{project.name}} Folder {{project.folder}} Active \\r\\n \\r\\n Actions \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\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 Username\\r\\n \\r\\n Email\\r\\n
{{user.name}}{{user.email}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n \\r\\n User Form\\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
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Passwords must match !\\r\\n
\\r\\n
\\r\\n Password between 8 and 20 characters; must contain at least one lowercase letter, one uppercase letter and one\\r\\n numeric digit.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"

Existing User

\\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 search :\\r\\n \\r\\n \\r\\n
{{user.name}}{{user.email}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\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
NameEmail
{{user.id}}{{user.name}}{{user.email}}\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"

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

\"","export default \"
\\r\\n
\\r\\n

Devices :

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","export default \"
\\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

Project's users :

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

This project has no users

\\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\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\"","export default \"

Users :

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n

Login

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Reset password

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\n\"","export default \"\\r\\n\\r\\n\\r\\n \"","export default \"\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Bookmark\\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\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

{{bookmark.title}}\\r\\n
{{bookmark.date | date:'yyyy-MM-dd'}}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{bookmark.title}}

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

{{bookmark.date | date:'yyyy-MM-dd'}}

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

\\r\\n {{bookmark.text}}\\r\\n

\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\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
DayActiveBegin hourEnd hourInterval (min)
{{day}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Burst settings :

\\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
DayActiveBeginInterval (sec)Number of Shots
\\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
\"","export default \"\\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 {{ date.day }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n NO PICTURE FOUND\\r\\n

\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{getHoure()}}

\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{getDate()}} {{getHoure()}}\\r\\n
\\r\\n
\\r\\n
1; else oneFolder\\\">\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{defaultFolder}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n Profil\\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\\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 Passwords must match !\\r\\n
\\r\\n
\\r\\n Password between 8 and 20 characters; must contain at least one lowercase letter, one uppercase letter and one\\r\\n numeric digit.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n\\r\\n \\r\\n Project\\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\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Your are going to make this picture public \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\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 Username\\r\\n \\r\\n Email\\r\\n
{{user.name}}{{user.email}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n \\r\\n User Form\\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
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Passwords must match !\\r\\n
\\r\\n
\\r\\n Password between 8 and 20 characters; must contain at least one lowercase letter, one uppercase letter and one\\r\\n numeric digit.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"

Existing User

\\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 shearch :\\r\\n \\r\\n \\r\\n
{{user.name}}{{user.email}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
0)||((userBoomarks$| async).length>0);else NoBookmark\\\" class=\\\"row mx-1\\\">\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n

There is no project's bookmarks

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

You have no bookmarks

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

There is no bookmark for this project

\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n Back to Project\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Upload\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Upload in progress\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
Back
\\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
NameLast ModificationSizeDownload
Timelapse
{{getFileName(file.Key)}}{{getFileDate(file.LastModified)}}{{getFileSize(file.Size)}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Confirm?\\r\\n
\\r\\n Yes\\r\\n No\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"

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

\"","export default \"
\\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

Project's users :

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

This project has no users

\\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
\"","export default \"
\\r\\n
\\r\\n
\\r\\n

You will find the timelapse in the next 24 hours in your zone \\\"My Files\\\"

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

Generate Video

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

Date Range

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ date.day }}\\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 {{ date.day }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Days with pictures
\\r\\n
\\r\\n \\r\\n
\\r\\n

Time Range

\\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

Week days

\\r\\n
\\r\\n
\\r\\n Mo\\r\\n Tu\\r\\n We\\r\\n Th\\r\\n Fr\\r\\n Sa\\r\\n Su\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Camera

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

Video 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
\\r\\n
\\r\\n \\r\\n

{{helpText}} {{mailUrl}}

\\r\\n
\\r\\n 0\\\"\\r\\n >\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","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 = \"./src/$$_lazy_route_resource lazy recursive\";","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2FkbWluLW1lbnUvYWRtaW4tbWVudS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport {AdminSandbox} from '../admin.sandbox';\r\n\r\n@Component({\r\n selector: 'app-admin-menu',\r\n templateUrl: './admin-menu.component.html',\r\n styleUrls: ['./admin-menu.component.css']\r\n})\r\nexport class AdminMenuComponent implements OnInit {\r\n\r\n constructor(private sandbox: AdminSandbox) { }\r\n\r\n ngOnInit() {\r\n this.sandbox.loadAll();\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\n// component\r\nimport { AdminMenuComponent } from './admin-menu/admin-menu.component';\r\nimport { ProjectsListPageComponent } from './containers/projects-list-page/projects-list-page.component';\r\nimport { ProjectFormPageComponent } from './containers/project-form-page/project-form-page.component';\r\nimport { UsersListPageComponent } from './containers/users-list-page/users-list-page.component';\r\nimport { UserFromPageComponent } from './containers/user-from-page/user-from-page.component';\r\nimport { DevicesListPageComponent } from './containers/devices-list-page/devices-list-page.component';\r\nimport { DeviceFormPageComponent } from './containers/device-form-page/device-form-page.component';\r\n\r\nconst ADMIN_ROUTES: Routes = [\r\n {\r\n path: '',\r\n component: AdminMenuComponent\r\n },\r\n {\r\n path: 'projects',\r\n component: ProjectsListPageComponent\r\n },\r\n {\r\n path: 'formProjects',\r\n component: ProjectFormPageComponent\r\n },\r\n {\r\n path: 'users',\r\n component: UsersListPageComponent\r\n },\r\n {\r\n path: 'formUsers',\r\n component: UserFromPageComponent\r\n },\r\n {\r\n path: 'devices',\r\n component: DevicesListPageComponent\r\n },\r\n {\r\n path: 'formDevices',\r\n component: DeviceFormPageComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(ADMIN_ROUTES)],\r\n exports: [RouterModule]\r\n})\r\nexport class AdminRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AdminRoutingModule } from './admin-routing.module';\r\nimport { AdminMenuComponent } from './admin-menu/admin-menu.component';\r\nimport { ProjectsListComponent } from './components/projects-list/projects-list.component';\r\nimport { ConfirmDeletionDialog } from './components/projects-list/projects-list.component';\r\nimport {AdminSandbox} from './admin.sandbox';\r\nimport { ProjectsListPageComponent } from './containers/projects-list-page/projects-list-page.component';\r\nimport { ProjectFormComponent } from './components/project-form/project-form.component';\r\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport {FormsModule} from '@angular/forms';\r\nimport { ProjectFormPageComponent } from './containers/project-form-page/project-form-page.component';\r\nimport { UserFormComponent } from './components/user-form/user-form.component';\r\nimport { UserSearchComponent } from './components/user-search/user-search.component';\r\nimport { UserFromPageComponent } from './containers/user-from-page/user-from-page.component';\r\nimport { UsersListPageComponent } from './containers/users-list-page/users-list-page.component';\r\nimport { UsersListComponent } from './components/users-list/users-list.component';\r\nimport {StoreModule} from '@ngrx/store';\r\nimport { SimpleUsersListComponent } from './components/simple-users-list/simple-users-list.component';\r\nimport { DevicesListPageComponent } from './containers/devices-list-page/devices-list-page.component';\r\nimport { DevicesListComponent } from './components/devices-list/devices-list.component';\r\nimport { DeviceFormPageComponent } from './containers/device-form-page/device-form-page.component';\r\nimport { DeviceFormComponent } from './components/device-form/device-form.component';\r\n// Angular Material modules\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle'; \r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AdminRoutingModule,\r\n NgbModule,\r\n FormsModule,\r\n StoreModule,\r\n MatTableModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatSlideToggleModule,\r\n MatDialogModule\r\n ],\r\n declarations: [\r\n AdminMenuComponent,\r\n ProjectsListComponent,\r\n ProjectsListPageComponent,\r\n ProjectFormComponent,\r\n ProjectFormPageComponent,\r\n UserFormComponent,\r\n UserSearchComponent,\r\n UserFromPageComponent,\r\n UsersListPageComponent,\r\n UsersListComponent,\r\n SimpleUsersListComponent,\r\n DevicesListPageComponent,\r\n DevicesListComponent,\r\n DeviceFormPageComponent,\r\n ConfirmDeletionDialog,\r\n DeviceFormComponent],\r\n providers: [\r\n AdminSandbox\r\n ],\r\n entryComponents: [\r\n ConfirmDeletionDialog \r\n ]\r\n})\r\nexport class AdminModule { }\r\n","///\r\nimport { Injectable, ɵConsole } from '@angular/core';\r\nimport { Store, select } from '@ngrx/store';\r\nimport * as fromStore from '../store/index';\r\nimport { Observable } from 'rxjs';\r\nimport { Project } from '../api/models/project';\r\nimport { Media } from '../api/models/media';\r\nimport {\r\n CreateProject, DeleteProject, LoadProjects, LoadProjectsFail, LoadProjectsSuccess, SelectProject,\r\n UpdateProject\r\n} from '../store/actions/project.action';\r\nimport { SelectMedia } from '../store/actions/media.action';\r\nimport { ProjectsService } from '../api/services/projects.service';\r\nimport { UsersService } from '../api/services/users.service';\r\nimport ApiProjectsByIdPutParams = ProjectsService.ApiProjectsByIdPutParams;\r\nimport { Router } from '@angular/router';\r\nimport { User } from '../api/models/user';\r\nimport {\r\n CreateUser, DeleteUser, LoadUsers, LoadUsersFail, LoadUsersSuccess, SelectUser,\r\n UpdateUser\r\n} from '../store/actions/user.action';\r\nimport ApiUsersByIdPutParams = UsersService.ApiUsersByIdPutParams;\r\nimport ApiDevicesByIdPutParams = DevicesService.ApiDevicesByIdPutParams;\r\nimport { UserProjectsService } from '../api/services/user-projects.service';\r\nimport { UserProject } from '../api/models/user-project';\r\nimport { LoadMediaTypes, LoadMediaTypesFail, LoadMediaTypesSuccess } from '../store/actions/media-type.action';\r\nimport { LoadRoles, LoadRolesFail, LoadRolesSuccess } from '../store/actions/role.action';\r\nimport { MediaTypesService } from '../api/services/media-types.service';\r\nimport { RolesService } from '../api/services/roles.service';\r\nimport ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams;\r\nimport { CreateProjectBookmark } from '../store/actions/project-bookmark.action';\r\nimport { Device, Role, Credential } from '../api/models';\r\nimport { SelectDevice, LoadDevices, LoadDevicesSuccess, LoadDevicesFail, GetConfigDevice, DeleteDevice } from '../store/actions/device.action';\r\nimport { DevicesService, AWSService, AuthenticationService } from '../api/services';\r\nimport ApiAWSPostConfigFilePostParams = AWSService.ApiAWSPostConfigFilePostParams;\r\n\r\n@Injectable()\r\nexport class AdminSandbox {\r\n\r\n constructor(private store: Store,\r\n private projectsService: ProjectsService,\r\n private usersService: UsersService,\r\n private userProjectsService: UserProjectsService,\r\n private router: Router,\r\n private mediaTypeService: MediaTypesService,\r\n private roleService: RolesService,\r\n private userService: UsersService,\r\n private projectService: ProjectsService,\r\n private deviceService: DevicesService,\r\n private awsService: AWSService,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n // store functions\r\n // project\r\n getSelectedProject(): Observable {\r\n return this.store.select(fromStore.getSelectedProject);\r\n }\r\n\r\n getProjects(): Observable {\r\n return this.store.select(fromStore.getProjects);\r\n }\r\n\r\n getSelectedUser(): Observable {\r\n return this.store.select(fromStore.getSelectedUser);\r\n }\r\n\r\n getSelectedProjectUser(projectId: number): Observable {\r\n return this.usersService.ApiUsersGetUsersByProjectIdByIdProjectGet(projectId);\r\n }\r\n\r\n getUsers(): Observable {\r\n return this.store.select(fromStore.getUsers);\r\n }\r\n\r\n getSelectedDevice(): Observable {\r\n return this.store.select(fromStore.getSelectedDevice);\r\n }\r\n\r\n getDevices(): Observable {\r\n return this.store.select(fromStore.getDevices);\r\n }\r\n\r\n resetPassword(email: string, password: string) {\r\n const cred: Credential = {\r\n email: email,\r\n password: password\r\n };\r\n this.authenticationService.ApiAuthenticationResetPasswordPost(cred).subscribe(success2 => {\r\n this.router.navigate(['/admin/users']);\r\n });\r\n }\r\n\r\n createUser(user: User, password: string) {\r\n this.usersService.ApiUsersPost(user).subscribe(success => {\r\n this.store.dispatch(new CreateUser(success));\r\n const cred: Credential = {\r\n email: user.email,\r\n password: password\r\n };\r\n this.authenticationService.ApiAuthenticationResetPasswordPost(cred).subscribe(success2 => {\r\n this.router.navigate(['/admin/users']);\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }, error => console.error(JSON.stringify(error)));\r\n }\r\n\r\n createUserToProject(user: User, password: string, projectId: number) {\r\n this.usersService.ApiUsersPost(user).subscribe(success => {\r\n this.store.dispatch(new CreateUser(success));\r\n const params: UserProject = {\r\n userId: success.id,\r\n projectId: projectId\r\n };\r\n this.createUserProject(params);\r\n const cred: Credential = {\r\n email: user.email,\r\n password: password\r\n };\r\n this.authenticationService.ApiAuthenticationResetPasswordPost(cred).subscribe(success2 => {\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n getSelectedMedia(): Observable {\r\n return this.store.select(fromStore.getSelectedMedia);\r\n }\r\n\r\n getMedia(): Observable {\r\n return this.store.select(fromStore.getMedia);\r\n }\r\n\r\n // perform changes\r\n selectProject(project: Project) {\r\n this.store.dispatch(new SelectProject(project));\r\n }\r\n\r\n selectMedia(media: Media) {\r\n this.store.dispatch(new SelectMedia(media));\r\n }\r\n\r\n selectDevice(device: Device) {\r\n this.store.dispatch(new SelectDevice(device));\r\n }\r\n\r\n loadDeviceConfig(device: Device) {\r\n this.store.dispatch(new SelectDevice(device));\r\n const key = device.serialNumber + '/device.config';\r\n this.awsService.ApiAWSGetConfigFileGet(key).subscribe(data => {\r\n this.store.dispatch(new GetConfigDevice(data));\r\n });\r\n }\r\n\r\n getDeviceConfig() {\r\n return this.store.select(fromStore.getConfigDevice);\r\n }\r\n\r\n deleteDevice(device: Device) {\r\n this.deviceService.ApiDevicesByIdDelete(device.id).subscribe(success => {\r\n this.store.dispatch(new DeleteDevice(device));\r\n }, error2 => console.log(JSON.stringify(error2)));\r\n }\r\n\r\n deleteProject(project: Project) {\r\n this.projectsService.ApiProjectsByIdDelete(project.id).subscribe(success => {\r\n this.store.dispatch(new DeleteProject(success));\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n updateProject(project: Project) {\r\n const params: ApiProjectsByIdPutParams = {\r\n id: project.id,\r\n project: project\r\n };\r\n this.projectsService.ApiProjectsByIdPut(params).subscribe(success => {\r\n this.store.dispatch(new UpdateProject(project));\r\n this.router.navigate(['/admin/projects']);\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n updateDevice(device: Device) {\r\n const params: ApiDevicesByIdPutParams = {\r\n id: device.id,\r\n device: device\r\n };\r\n this.deviceService.ApiDevicesByIdPut(params).subscribe(success => {\r\n this.store.dispatch(new this.updateDevice(device));\r\n this.router.navigate(['/admin/devices']);\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n createProject(project: Project) {\r\n this.projectsService.ApiProjectsPost(project).subscribe(success => {\r\n this.store.dispatch(new CreateProject(success));\r\n this.router.navigate(['/admin/projects']);\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n selectUser(user: User) {\r\n this.store.dispatch(new SelectUser(user));\r\n }\r\n\r\n deleteUser(user: User) {\r\n this.usersService.ApiUsersByIdDelete(user.id).subscribe(success => {\r\n this.store.dispatch(new DeleteUser(success));\r\n });\r\n }\r\n\r\n updateUser(user: User) {\r\n const params: ApiUsersByIdPutParams = {\r\n id: user.id,\r\n user: user\r\n };\r\n this.usersService.ApiUsersByIdPut(params).subscribe(success => {\r\n this.store.dispatch(new UpdateUser(success));\r\n this.router.navigate(['/admin/users']);\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n updateConfig(config: string[], device: Device) {\r\n const key = device.serialNumber + '/device.config';\r\n const text = JSON.stringify(config.reduce((r: string, a?: string) => r + '\\n' + a ));\r\n const params: ApiAWSPostConfigFilePostParams = {\r\n configKey: key,\r\n text: text\r\n };\r\n this.awsService.ApiAWSPostConfigFilePost(params).subscribe(data => console.log(data), error => console.error(JSON.stringify(error)));\r\n }\r\n\r\n getRoles(): Observable {\r\n return this.store.select(fromStore.getRoles);\r\n }\r\n\r\n createUserProject(userProject: UserProject) {\r\n this.userProjectsService.ApiUserProjectsPost(userProject).subscribe(success => {\r\n this.store.dispatch(new CreateProjectBookmark(success));\r\n });\r\n }\r\n\r\n deleteUserProject(userProject: UserProject) {\r\n const params: ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: userProject.projectId,\r\n idUser: userProject.userId\r\n };\r\n this.userProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGet(params).subscribe(up => {\r\n this.userProjectsService.ApiUserProjectsByIdDelete(up.id).subscribe();\r\n });\r\n }\r\n\r\n loadAll() {\r\n // media-types\r\n this.store.dispatch(new LoadMediaTypes());\r\n this.mediaTypeService.ApiMediaTypesGet().subscribe(data => {\r\n this.store.dispatch(new LoadMediaTypesSuccess(data));\r\n }, error2 => {\r\n this.store.dispatch(new LoadMediaTypesFail(error2));\r\n });\r\n // project\r\n this.store.dispatch(new LoadProjects());\r\n this.projectService.ApiProjectsGet().subscribe(data => {\r\n this.store.dispatch(new LoadProjectsSuccess(data));\r\n }, error2 => {\r\n this.store.dispatch(new LoadProjectsFail(error2));\r\n });\r\n // users\r\n this.store.dispatch(new LoadUsers());\r\n this.userService.ApiUsersGet().subscribe(data => {\r\n this.store.dispatch(new LoadUsersSuccess(data));\r\n }, error2 => {\r\n this.store.dispatch(new LoadUsersFail(error2));\r\n });\r\n // roles\r\n this.store.dispatch(new LoadRoles());\r\n this.roleService.ApiRolesGet().subscribe(data => {\r\n this.store.dispatch(new LoadRolesSuccess(data));\r\n }, error2 => {\r\n this.store.dispatch(new LoadRolesFail(error2));\r\n });\r\n // devices\r\n this.store.dispatch(new LoadDevices());\r\n this.deviceService.ApiDevicesGet().subscribe(data => {\r\n this.store.dispatch(new LoadDevicesSuccess(data));\r\n }, error2 => {\r\n this.store.dispatch(new LoadDevicesFail(error2));\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbXBvbmVudHMvZGV2aWNlLWZvcm0vZGV2aWNlLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Device } from '../../../api/models/device';\r\nimport { Project } from '../../../api/models/project';\r\n\r\n@Component({\r\n selector: 'app-device-form',\r\n templateUrl: './device-form.component.html',\r\n styleUrls: ['./device-form.component.css']\r\n})\r\nexport class DeviceFormComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n @Input() device: Device;\r\n @Input() config: string[];\r\n @Input() projects: Project[];\r\n @Output() deviceSaved: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n defaultProject: Project;\r\n configText: string;\r\n defaultRole: any;\r\n onCancel: any;\r\n\r\n ngOnInit() {\r\n this.defaultProject = this.projects.filter(p => p.id == this.device.projectId)[0];\r\n setTimeout(() => { this.configText = this.transform(this.config);\r\n }, 1000);\r\n }\r\n\r\n transform(strings: string[]): string {\r\n return strings.reduce(this.addReturnToLine);\r\n }\r\n\r\n addReturnToLine(result: string, stringToAdd?: string): string {\r\n return result + '\\n' + stringToAdd;\r\n }\r\n\r\n onSave() {\r\n // changer dans le text l'update date\r\n this.config[15] = this.config[15].slice(0, 12) + new Date().toISOString().slice(0, 10);\r\n this.device.updateDate = new Date().toISOString().slice(0, 10);\r\n this.configText = this.transform(this.config);\r\n this.deviceSaved.emit({device: this.device, config: this.config});\r\n }\r\n\r\n changeProject() {\r\n // changer dans le text le folder d'upload\r\n this.config[8] = this.config[8].slice(0, 8) + this.defaultProject.folder;\r\n this.configText = this.transform(this.config);\r\n this.device.projectId = this.defaultProject.id;\r\n }\r\n\r\n changeDetected() {\r\n const tmp = this.configText.split('\\n');\r\n for (let index = 0; index < this.config.length; index++) {\r\n this.config[index] = tmp[index];\r\n }\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbXBvbmVudHMvZGV2aWNlcy1saXN0L2RldmljZXMtbGlzdC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, Input, Output } from '@angular/core';\r\nimport { Device } from '../../../api/models';\r\nimport { EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-devices-list',\r\n templateUrl: './devices-list.component.html',\r\n styleUrls: ['./devices-list.component.css']\r\n})\r\nexport class DevicesListComponent implements OnInit {\r\n\r\n @Input() devices: Device[];\r\n @Output() deviceSelected: EventEmitter = new EventEmitter();\r\n @Output() deviceDeleted: EventEmitter = new EventEmitter();\r\n @Output() deviceEdited: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n onDeviceSelected(device: Device) {\r\n this.deviceSelected.emit(device);\r\n }\r\n\r\n onDeviceDeleted(device: Device) {\r\n this.deviceDeleted.emit(device);\r\n }\r\n\r\n onDeviceEdition(device: Device) {\r\n this.deviceEdited.emit(device);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbXBvbmVudHMvcHJvamVjdC1mb3JtL3Byb2plY3QtZm9ybS5jb21wb25lbnQuY3NzIn0= */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {Project} from '../../../api/models/project';\r\n\r\n@Component({\r\n selector: 'app-project-form',\r\n templateUrl: './project-form.component.html',\r\n styleUrls: ['./project-form.component.css']\r\n})\r\nexport class ProjectFormComponent implements OnInit {\r\n\r\n @Input() project: Project;\r\n @Output() projectSave: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n startDate: string;\r\n\r\n ngOnInit() {\r\n if (!this.project.id) {\r\n this.startDate = new Date().toISOString().slice(0, 10);\r\n } else {\r\n this.startDate = this.project.beginDate.slice(0, 10);\r\n }\r\n }\r\n\r\n onSave() {\r\n this.project.beginDate = new Date(this.startDate).toISOString();\r\n this.projectSave.emit(this.project);\r\n }\r\n\r\n onCancel() {\r\n this.cancel.emit('');\r\n }\r\n}\r\n","export default \".filter-container {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n margin-bottom: 16px;\\r\\n}\\r\\n \\r\\n.filter-input {\\r\\nflex-grow: 1;\\r\\nmargin-right: 16px;\\r\\n}\\r\\n \\r\\n.filter-input input {\\r\\nfont-size: 1.2em;\\r\\n}\\r\\n \\r\\n.actions-column {\\r\\n text-align: center !important;\\r\\n}\\r\\n \\r\\n.new-project-button {\\r\\n white-space: nowrap;\\r\\n}\\r\\n \\r\\n.mat-table {\\r\\n width: 100%;\\r\\n}\\r\\n \\r\\n.mat-header-cell, .mat-cell {\\r\\n text-align: left;\\r\\n}\\r\\n \\r\\n.mat-stroked-button {\\r\\n margin-right: 8px;\\r\\n}\\r\\n \\r\\ntr.mat-header-row {\\r\\n \\r\\n}\\r\\n \\r\\n.mat-header-cell {\\r\\n color: rgba(0,0,0,.7);\\r\\n font-weight: bold;\\r\\n font-size: 14px;\\r\\n letter-spacing: 0.5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vY29tcG9uZW50cy9wcm9qZWN0cy1saXN0L3Byb2plY3RzLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsbUJBQW1CO0lBQ25CLG1CQUFtQjtBQUN2Qjs7QUFFQTtBQUNBLFlBQVk7QUFDWixrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQSxnQkFBZ0I7QUFDaEI7O0FBRUE7SUFDSSw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7O0FBRUE7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixxQkFBcUI7QUFDekIiLCJmaWxlIjoic3JjL2FwcC9hZG1pbi9jb21wb25lbnRzL3Byb2plY3RzLWxpc3QvcHJvamVjdHMtbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpbHRlci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcbiAgXHJcbi5maWx0ZXItaW5wdXQge1xyXG5mbGV4LWdyb3c6IDE7XHJcbm1hcmdpbi1yaWdodDogMTZweDtcclxufVxyXG5cclxuLmZpbHRlci1pbnB1dCBpbnB1dCB7XHJcbmZvbnQtc2l6ZTogMS4yZW07XHJcbn1cclxuICBcclxuLmFjdGlvbnMtY29sdW1uIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmV3LXByb2plY3QtYnV0dG9uIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5tYXQtdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tYXQtaGVhZGVyLWNlbGwsIC5tYXQtY2VsbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ubWF0LXN0cm9rZWQtYnV0dG9uIHtcclxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG59XHJcblxyXG50ci5tYXQtaGVhZGVyLXJvdyB7XHJcbiAgICBcclxufVxyXG5cclxuLm1hdC1oZWFkZXItY2VsbCB7XHJcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwuNyk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxufSJdfQ== */\"","import { Component, EventEmitter, Input, OnInit, Output, Inject } from '@angular/core';\r\nimport { Project } from '../../../api/models/project';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\nexport interface DialogData {\r\n projectName: string;\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-projects-list',\r\n templateUrl: './projects-list.component.html',\r\n styleUrls: ['./projects-list.component.css']\r\n})\r\nexport class ProjectsListComponent implements OnInit {\r\n\r\n @Input() projects: Project[];\r\n @Output() projectSelected: EventEmitter = new EventEmitter();\r\n @Output() projectEdition: EventEmitter = new EventEmitter();\r\n @Output() projectDeleted: EventEmitter = new EventEmitter();\r\n @Output() projectUpdated: EventEmitter = new EventEmitter();\r\n @Output() projectCreation: EventEmitter = new EventEmitter();\r\n @Output() activeChange: EventEmitter<{project: Project, active: boolean}> = new EventEmitter();\r\n\r\n displayedColumns: string[] = ['id', 'name', 'folder', 'active', 'actions'];\r\n dataSource: MatTableDataSource;\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.dataSource = new MatTableDataSource(this.projects);\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n onProjectSelected(project: Project) {\r\n this.projectSelected.emit(project);\r\n }\r\n\r\n onProjectEdition(project: Project) {\r\n this.projectEdition.emit(project);\r\n }\r\n\r\n onProjectDeleted(project: Project) {\r\n this.projectDeleted.emit(project);\r\n this.projects = this.projects.filter(p => p.id !== project.id);\r\n this.dataSource.data = this.projects;\r\n }\r\n\r\n onNewProject() {\r\n this.projectCreation.emit();\r\n }\r\n\r\n onActiveChange(project: Project, event: any) {\r\n project.active = event.checked;\r\n this.projectUpdated.emit(project);\r\n }\r\n\r\n openDialog(project): void {\r\n const dialogRef = this.dialog.open(ConfirmDeletionDialog, {\r\n width: '400px',\r\n data: {projectName: project.name}\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.onProjectDeleted(project);\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'confirm-dialog',\r\n templateUrl: 'confirm-dialog.html',\r\n})\r\nexport class ConfirmDeletionDialog {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData) {}\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbXBvbmVudHMvc2ltcGxlLXVzZXJzLWxpc3Qvc2ltcGxlLXVzZXJzLWxpc3QuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {User} from '../../../api/models/user';\r\n\r\n@Component({\r\n selector: 'app-simple-users-list',\r\n templateUrl: './simple-users-list.component.html',\r\n styleUrls: ['./simple-users-list.component.css']\r\n})\r\nexport class SimpleUsersListComponent implements OnInit {\r\n\r\n @Input() users: User[];\r\n @Output() removeUser: EventEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onUserSelection(user: User) {\r\n this.removeUser.emit(user);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbXBvbmVudHMvdXNlci1mb3JtL3VzZXItZm9ybS5jb21wb25lbnQuY3NzIn0= */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {User} from '../../../api/models/user';\r\nimport {Role} from '../../../api/models/role';\r\n\r\n@Component({\r\n selector: 'app-user-form',\r\n templateUrl: './user-form.component.html',\r\n styleUrls: ['./user-form.component.css']\r\n})\r\nexport class UserFormComponent implements OnInit {\r\n\r\n @Input() user: User;\r\n @Input() roles: Role[];\r\n @Output() userSaved: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n defaultRole: Role;\r\n password: string;\r\n confirm: string;\r\n showError: boolean;\r\n showErrorRegex: boolean;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.showErrorRegex = false;\r\n this.showError = false;\r\n if (this.user.id) {\r\n this.defaultRole = this.roles.filter(role =>\r\n role.id == this.user.roleId)[0];\r\n } else {\r\n this.defaultRole = {\r\n name: 'SELECT ROLE',\r\n id: -1\r\n };\r\n }\r\n this.user.roleId = this.defaultRole.id;\r\n }\r\n\r\n onSave() {\r\n // check if user exist then create it or not -> pasword not required\r\n if ((this.user.id) && (!this.password)) {\r\n const data = {\r\n user: this.user,\r\n password: null\r\n };\r\n this.userSaved.emit(data);\r\n return 0;\r\n }\r\n if (this.checkPassword(this.password)) {\r\n if ((this.password === this.confirm)) {\r\n const data = {\r\n user: this.user,\r\n password: this.password\r\n };\r\n this.userSaved.emit(data);\r\n } else {\r\n this.showError = true;\r\n }\r\n } else {\r\n this.showErrorRegex = true;\r\n }\r\n }\r\n\r\n\r\n checkPassword (password: string): boolean {\r\n // Regular Expressions.\r\n const regex: any[] = [];\r\n regex.push('[A-Z]'); // Uppercase Alphabet.\r\n regex.push('[a-z]'); // Lowercase Alphabet.\r\n regex.push('[0-9]'); // Digit.\r\n regex.push('\\\\W'); // Special Character.\r\n let passed = 0;\r\n // Validate for each Regular Expression.\r\n for (let i = 0; i < regex.length; i++) {\r\n if (new RegExp(regex[i]).test(password)) {\r\n passed++;\r\n }\r\n }\r\n return (password.length >= 8) && (passed >= 3);\r\n }\r\n onCancel() {\r\n this.cancel.emit('');\r\n }\r\n\r\n changeRole() {\r\n this.user.roleId = this.defaultRole.id;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbXBvbmVudHMvdXNlci1zZWFyY2gvdXNlci1zZWFyY2guY29tcG9uZW50LmNzcyJ9 */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {User} from '../../../api/models/user';\r\n\r\n@Component({\r\n selector: 'app-user-search',\r\n templateUrl: './user-search.component.html',\r\n styleUrls: ['./user-search.component.css']\r\n})\r\nexport class UserSearchComponent implements OnInit {\r\n\r\n @Input() users: User[];\r\n @Output() user: EventEmitter = new EventEmitter();\r\n\r\n showingUsers: User[];\r\n shearchValue: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.showingUsers = this.users;\r\n }\r\n\r\n onUserSelection(user: User) {\r\n this.user.emit(user);\r\n }\r\n\r\n filterUser(data) {\r\n this.showingUsers = this.users.filter(user => user.email.includes(data.target.value));\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbXBvbmVudHMvdXNlcnMtbGlzdC91c2Vycy1saXN0LmNvbXBvbmVudC5jc3MifQ== */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {User} from \"../../../api/models/user\";\r\n\r\n@Component({\r\n selector: 'app-users-list',\r\n templateUrl: './users-list.component.html',\r\n styleUrls: ['./users-list.component.css']\r\n})\r\nexport class UsersListComponent implements OnInit {\r\n\r\n @Input() users: User[];\r\n @Output() userSelected: EventEmitter = new EventEmitter();\r\n @Output() userEdition: EventEmitter = new EventEmitter();\r\n @Output() userDeleted: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onUserSelected(event) {\r\n this.userSelected.emit(event);\r\n }\r\n onUserEdition(user: User) {\r\n this.userEdition.emit(user);\r\n }\r\n onUserDeleted(user: User) {\r\n this.userDeleted.emit(user);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbnRhaW5lcnMvZGV2aWNlLWZvcm0tcGFnZS9kZXZpY2UtZm9ybS1wYWdlLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AdminSandbox } from '../../admin.sandbox';\r\nimport { Observable } from 'rxjs';\r\nimport { Device } from '../../../api/models/device';\r\nimport { Project } from '../../../api/models';\r\n\r\n@Component({\r\n selector: 'app-device-form-page',\r\n templateUrl: './device-form-page.component.html',\r\n styleUrls: ['./device-form-page.component.css']\r\n})\r\nexport class DeviceFormPageComponent implements OnInit {\r\n\r\n\r\n device$: Observable;\r\n config$: Observable;\r\n projects$: Observable;\r\n\r\n constructor(private sandbox: AdminSandbox) { }\r\n\r\n ngOnInit() {\r\n this.device$ = this.sandbox.getSelectedDevice();\r\n this.config$ = this.sandbox.getDeviceConfig();\r\n this.projects$ = this.sandbox.getProjects();\r\n }\r\n\r\n onSave(object: any) {\r\n this.sandbox.updateDevice(object.device);\r\n this.sandbox.updateConfig(object.config, object.device);\r\n }\r\n\r\n onReset() {\r\n // reload default folder to the device's folder\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbnRhaW5lcnMvZGV2aWNlcy1saXN0LXBhZ2UvZGV2aWNlcy1saXN0LXBhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AdminSandbox } from '../../admin.sandbox';\r\nimport { Observable } from 'rxjs';\r\nimport { Device } from '../../../api/models/device';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-devices-list-page',\r\n templateUrl: './devices-list-page.component.html',\r\n styleUrls: ['./devices-list-page.component.css']\r\n})\r\nexport class DevicesListPageComponent implements OnInit {\r\n\r\n\r\n alive: boolean;\r\n devices$: Observable;\r\n\r\n constructor(\r\n private sandbox: AdminSandbox,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.alive = true;\r\n this.devices$ = this.sandbox.getDevices();\r\n }\r\n\r\n onDeviceSelected(device: Device) {\r\n this.sandbox.selectDevice(device);\r\n }\r\n\r\n onDeviceDeletion(device: Device) {\r\n this.sandbox.deleteDevice(device);\r\n }\r\n\r\n onDeviceEdition(device: Device) {\r\n this.sandbox.loadDeviceConfig(device);\r\n this.router.navigate(['/admin/formDevices']);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbnRhaW5lcnMvcHJvamVjdC1mb3JtLXBhZ2UvcHJvamVjdC1mb3JtLXBhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Project} from '../../../api/models/project';\r\nimport {AdminSandbox} from '../../admin.sandbox';\r\nimport {Location} from '@angular/common';\r\nimport {User} from '../../../api/models/user';\r\nimport {Role} from '../../../api/models/role';\r\nimport {UserProject} from '../../../api/models/user-project';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/takeWhile';\r\nimport 'rxjs/add/operator/map';\r\n\r\n@Component({\r\n selector: 'app-project-form-page',\r\n templateUrl: './project-form-page.component.html',\r\n styleUrls: ['./project-form-page.component.css']\r\n})\r\nexport class ProjectFormPageComponent implements OnInit, OnDestroy {\r\n\r\n constructor(private sandbox: AdminSandbox,\r\n private location: Location) { }\r\n\r\n selectedProject$: Observable;\r\n selectedProjectUser$: Observable;\r\n roles$: Observable;\r\n allUsers$: Observable;\r\n newUsers: User[];\r\n alive: boolean;\r\n project: Project;\r\n\r\n ngOnInit() {\r\n this.alive = true;\r\n this.newUsers = [];\r\n this.selectedProject$ = this.sandbox.getSelectedProject();\r\n this.allUsers$ = this.sandbox.getUsers();\r\n this.roles$ = this.sandbox.getRoles();\r\n this.selectedProject$.takeWhile(() => this.alive).subscribe(project => {\r\n this.selectedProjectUser$ = this.sandbox.getSelectedProjectUser(project.id);\r\n this.project = project;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n onCancel() {\r\n this.location.back();\r\n }\r\n\r\n onSave(project: Project) {\r\n if (project.id) {\r\n // project has an id so it already exist\r\n this.sandbox.updateProject(project);\r\n } else {\r\n // project hasn't an id so it doesn't already exist\r\n this.sandbox.createProject(project);\r\n }\r\n }\r\n\r\n addNewUser(data: any) {\r\n // check if email already exist in user list\r\n this.allUsers$.takeWhile(() => this.alive).subscribe(users => {\r\n if (!users.find( u => u.email == data.user.email)) {\r\n this.sandbox.createUserToProject(data.user, data.password, this.project.id);\r\n this.selectedProjectUser$ = this.sandbox.getSelectedProjectUser(this.project.id);\r\n }\r\n });\r\n }\r\n\r\n addUser(user: User) {\r\n const userproject: UserProject = {\r\n projectId: this.project.id,\r\n userId: user.id\r\n };\r\n this.selectedProjectUser$.takeWhile(() => this.alive).subscribe(users => {\r\n if (!users.find( u => u.email == user.email)) {\r\n this.selectedProjectUser$ = this.sandbox.getSelectedProjectUser(this.project.id);\r\n this.sandbox.createUserProject(userproject);\r\n }\r\n });\r\n }\r\n\r\n removeExistingUser(user: User) {\r\n const userproject: UserProject = {\r\n projectId: this.project.id,\r\n userId: user.id\r\n };\r\n this.selectedProjectUser$ = this.selectedProjectUser$.map(users => users.filter((singleUser) => {\r\n return singleUser.id != user.id;\r\n }));\r\n this.sandbox.deleteUserProject(userproject);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbnRhaW5lcnMvcHJvamVjdHMtbGlzdC1wYWdlL3Byb2plY3RzLWxpc3QtcGFnZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport {AdminSandbox} from '../../admin.sandbox';\r\nimport {Observable} from 'rxjs';\r\nimport {Project} from '../../../api/models/project';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-projects-list-page',\r\n templateUrl: './projects-list-page.component.html',\r\n styleUrls: ['./projects-list-page.component.css']\r\n})\r\nexport class ProjectsListPageComponent implements OnInit {\r\n\r\n constructor(private sandbox: AdminSandbox,\r\n private router: Router) { }\r\n\r\n projects$: Observable ;\r\n\r\n ngOnInit() {\r\n this.projects$ = this.sandbox.getProjects();\r\n }\r\n\r\n\r\n onProjectSelected(project: Project) {\r\n this.sandbox.selectProject(project);\r\n }\r\n\r\n onProjectDeletion(project: Project) {\r\n this.sandbox.deleteProject(project);\r\n }\r\n\r\n onProjectUpdated(project: Project) {\r\n this.sandbox.updateProject(project);\r\n }\r\n\r\n onProjectEdition(project: Project) {\r\n this.onProjectSelected(project);\r\n this.router.navigate(['/admin/formProjects']);\r\n }\r\n\r\n onCreate() {\r\n this.sandbox.selectProject({});\r\n this.router.navigate(['/admin/formProjects']);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbnRhaW5lcnMvdXNlci1mcm9tLXBhZ2UvdXNlci1mcm9tLXBhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {AdminSandbox} from '../../admin.sandbox';\r\nimport {Observable} from 'rxjs';\r\nimport {User} from '../../../api/models/user';\r\nimport {Role} from '../../../api/models/role';\r\nimport {Location} from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-user-from-page',\r\n templateUrl: './user-from-page.component.html',\r\n styleUrls: ['./user-from-page.component.css']\r\n})\r\nexport class UserFromPageComponent implements OnInit, OnDestroy {\r\n\r\n constructor(private sandbox: AdminSandbox,\r\n private location: Location) { }\r\n\r\n user$: Observable;\r\n roles$: Observable;\r\n allUsers$: Observable;\r\n alive: boolean;\r\n\r\n ngOnInit() {\r\n this.user$ = this.sandbox.getSelectedUser();\r\n this.roles$ = this.sandbox.getRoles();\r\n this.allUsers$ = this.sandbox.getUsers();\r\n this.alive = true;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n onCancel() {\r\n this.location.back();\r\n }\r\n\r\n onSave(data: any) {\r\n if (data.user.id) {\r\n this.sandbox.updateUser(data.user);\r\n if (data.password) {\r\n this.sandbox.resetPassword(data.user.email, data.password);\r\n }\r\n } else {\r\n this.allUsers$.takeWhile(() => this.alive).subscribe(users => {\r\n if (!users.find( u => u.email == data.user.email)) {\r\n this.sandbox.createUser(data.user, data.password);\r\n this.allUsers$.subscribe(allusers => {\r\n const found = allusers.find((element) => element.email == data.user.email);\r\n }).unsubscribe();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL2NvbnRhaW5lcnMvdXNlcnMtbGlzdC1wYWdlL3VzZXJzLWxpc3QtcGFnZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport {AdminSandbox} from '../../admin.sandbox';\r\nimport {Router} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\nimport {User} from '../../../api/models/user';\r\n\r\n@Component({\r\n selector: 'app-users-list-page',\r\n templateUrl: './users-list-page.component.html',\r\n styleUrls: ['./users-list-page.component.css']\r\n})\r\nexport class UsersListPageComponent implements OnInit {\r\n\r\n constructor(private sandbox: AdminSandbox,\r\n private router: Router) { }\r\n\r\n users$: Observable ;\r\n\r\n ngOnInit() {\r\n this.users$ = this.sandbox.getUsers();\r\n }\r\n\r\n\r\n onUserSelected(user: User) {\r\n this.sandbox.selectUser(user);\r\n }\r\n\r\n onUserDeletion(user: User) {\r\n this.sandbox.deleteUser(user);\r\n }\r\n\r\n onUserEdition(user: User) {\r\n this.onUserSelected(user);\r\n this.router.navigate(['/admin/formUsers']);\r\n }\r\n\r\n onCreate() {\r\n this.sandbox.selectUser({});\r\n this.router.navigate(['/admin/formUsers']);\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\n\r\n/**\r\n * Contains global configuration for API services\r\n */\r\n@Injectable()\r\nexport class ApiConfiguration {\r\n //rootUrl: string = \"http://localhost:8080\"\r\n //rootUrl: string = \"https://app.buildevolution.be\";\r\n rootUrl: string = window.location.origin;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ApiConfiguration } from './api-configuration';\r\n\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { AWSService } from './services/aws.service';\r\nimport { DevicesService } from './services/devices.service';\r\nimport { MediaService } from './services/media.service';\r\nimport { MediaTypesService } from './services/media-types.service';\r\nimport { ProjectBookmarksService } from './services/project-bookmarks.service';\r\nimport { ProjectsService } from './services/projects.service';\r\nimport { RolesService } from './services/roles.service';\r\nimport { UserBookmarksService } from './services/user-bookmarks.service';\r\nimport { UserProjectsService } from './services/user-projects.service';\r\nimport { UsersService } from './services/users.service';\r\n\r\n/**\r\n * Module that provides instances for all API services\r\n */\r\n@NgModule({\r\n imports: [\r\n HttpClientModule\r\n ],\r\n exports: [\r\n HttpClientModule\r\n ],\r\n declarations: [],\r\n providers: [\r\n ApiConfiguration,\r\n AuthenticationService,\r\n AWSService,\r\n DevicesService,\r\n MediaService,\r\n MediaTypesService,\r\n ProjectBookmarksService,\r\n ProjectsService,\r\n RolesService,\r\n UserBookmarksService,\r\n UserProjectsService,\r\n UsersService\r\n ],\r\n})\r\nexport class ApiModule { }\r\n","/* tslint:disable */\r\nimport { HttpClient, HttpParameterCodec, HttpParams } from '@angular/common/http';\r\nimport { ApiConfiguration } from './api-configuration';\r\n\r\n/**\r\n * Custom parameter codec to correctly handle the plus sign in parameter\r\n * values. See https://github.com/angular/angular/issues/18261\r\n */\r\nclass ParameterCodec implements HttpParameterCodec {\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n}\r\nconst PARAMETER_CODEC = new ParameterCodec();\r\n\r\n/**\r\n * Base class for API services\r\n */\r\nexport class BaseService {\r\n constructor(\r\n protected config: ApiConfiguration,\r\n protected http: HttpClient\r\n ) {\r\n }\r\n\r\n private _rootUrl: string;\r\n\r\n /**\r\n * Returns the root url for API operations. If not set directly in this\r\n * service, will fallback to ApiConfiguration.rootUrl.\r\n */\r\n get rootUrl(): string {\r\n return this._rootUrl || this.config.rootUrl;\r\n }\r\n\r\n /**\r\n * Sets the root URL for API operations in this service.\r\n */\r\n set rootUrl(rootUrl: string) {\r\n this._rootUrl = rootUrl;\r\n }\r\n\r\n /**\r\n * Creates a new `HttpParams` with the correct codec\r\n */\r\n protected newParams(): HttpParams {\r\n return new HttpParams({\r\n encoder: PARAMETER_CODEC\r\n });\r\n }\r\n}\r\n","export class NgbTime {\r\n hour: number;\r\n minute: number;\r\n second: number;\r\n constructor(hour?: number, minute?: number, second?: number) {\r\n this.hour = hour;\r\n this.minute = minute;\r\n this.second = second;\r\n }\r\n}","export { AuthenticationService } from './services/authentication.service';\r\nexport { AWSService } from './services/aws.service';\r\nexport { DevicesService } from './services/devices.service';\r\nexport { MediaService } from './services/media.service';\r\nexport { MediaTypesService } from './services/media-types.service';\r\nexport { ProjectBookmarksService } from './services/project-bookmarks.service';\r\nexport { ProjectsService } from './services/projects.service';\r\nexport { RolesService } from './services/roles.service';\r\nexport { UserBookmarksService } from './services/user-bookmarks.service';\r\nexport { UserProjectsService } from './services/user-projects.service';\r\nexport { UsersService } from './services/users.service';\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { Credential } from '../models/credential';\r\n\r\n@Injectable()\r\nexport class AuthenticationService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @param credential undefined\r\n */\r\n ApiAuthenticationGenerateTokenPostResponse(credential?: Credential): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = credential;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Authentication/GenerateToken`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param credential undefined\r\n */\r\n ApiAuthenticationGenerateTokenPost(credential?: Credential): Observable {\r\n return this.ApiAuthenticationGenerateTokenPostResponse(credential).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param email undefined\r\n */\r\n ApiAuthenticationSendResetLinkPostResponse(email?: string): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (email != null) __headers = __headers.set(\"email\", email.toString());\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Authentication/SendResetLink`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param email undefined\r\n */\r\n ApiAuthenticationSendResetLinkPost(email?: string): Observable {\r\n return this.ApiAuthenticationSendResetLinkPostResponse(email).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param credential undefined\r\n */\r\n ApiAuthenticationResetPasswordPostResponse(credential?: Credential): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = credential;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Authentication/ResetPassword`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param credential undefined\r\n */\r\n ApiAuthenticationResetPasswordPost(credential?: Credential): Observable {\r\n return this.ApiAuthenticationResetPasswordPostResponse(credential).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param email undefined\r\n */\r\n ApiAuthenticationGetResetLinkPostResponse(email?: string): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (email != null) __headers = __headers.set(\"email\", email.toString());\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Authentication/GetResetLink`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param email undefined\r\n */\r\n ApiAuthenticationGetResetLinkPost(email?: string): Observable {\r\n return this.ApiAuthenticationGetResetLinkPostResponse(email).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module AuthenticationService {\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\nimport * as S3 from \"aws-sdk/clients/s3\";\r\nimport { PutObjectResponse } from '../models/put-object-response';\r\nimport { Media } from '../models/media';\r\n\r\n@Injectable()\r\nexport class AWSService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetPrivateURLGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `mediaName`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetPrivateURLGetResponse(params: AWSService.ApiAWSGetPrivateURLGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (params.projectFolder != null) __headers = __headers.set(\"projectFolder\", params.projectFolder.toString());\r\n if (params.mediaName != null) __headers = __headers.set(\"mediaName\", params.mediaName.toString());\r\n if (params.folder != null) __headers = __headers.set(\"folder\", params.folder.toString());\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/AWS/GetPrivateURL`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: string = null;\r\n _body = _resp.body as string\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetPrivateURLGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `mediaName`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetPrivateURLGet(params: AWSService.ApiAWSGetPrivateURLGetParams): Observable {\r\n return this.ApiAWSGetPrivateURLGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n generateTimelapseVideo(params: any) {\r\n return this.invokeLambdaTimelapse(params);\r\n }\r\n\r\n\r\n\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetPublicURLGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `mediaName`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetPublicURLGetResponse(params: AWSService.ApiAWSGetPublicURLGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (params.projectFolder != null) __headers = __headers.set(\"projectFolder\", params.projectFolder.toString());\r\n if (params.mediaName != null) __headers = __headers.set(\"mediaName\", params.mediaName.toString());\r\n if (params.folder != null) __headers = __headers.set(\"folder\", params.folder.toString());\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/AWS/GetPublicURL`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: string = null;\r\n _body = _resp.body as string\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n\r\n invokeLambdaTimelapse(params: any) {\r\n\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = params;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n \"https://ukdr7j3mviizw4ukjl4cnkbesu0pqkoh.lambda-url.eu-central-1.on.aws/\",\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.post(\"https://ukdr7j3mviizw4ukjl4cnkbesu0pqkoh.lambda-url.eu-central-1.on.aws/\", params);\r\n /*return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: string = null;\r\n _body = _resp.body as string\r\n console.log('VIDEOO3', _body);\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );*/\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetPublicURLGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `mediaName`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetPublicURLGet(params: AWSService.ApiAWSGetPublicURLGetParams): Observable {\r\n return this.ApiAWSGetPublicURLGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetThumbnailsURLGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `mediaName`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetThumbnailsURLGetResponse(params: AWSService.ApiAWSGetThumbnailsURLGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (params.projectFolder != null) __headers = __headers.set(\"projectFolder\", params.projectFolder.toString());\r\n if (params.mediaName != null) __headers = __headers.set(\"mediaName\", params.mediaName.toString());\r\n if (params.folder != null) __headers = __headers.set(\"folder\", params.folder.toString());\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/AWS/GetThumbnailsURL`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: string = null;\r\n _body = _resp.body as string\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetThumbnailsURLGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `mediaName`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetThumbnailsURLGet(params: AWSService.ApiAWSGetThumbnailsURLGetParams): Observable {\r\n return this.ApiAWSGetThumbnailsURLGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSPostConfigFilePostParams` containing the following parameters:\r\n *\r\n * - `text`: \r\n *\r\n * - `configKey`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSPostConfigFilePostResponse(params: AWSService.ApiAWSPostConfigFilePostParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders({'Content-Type': 'application/json'});\r\n let __body: any = null;\r\n __body = params.text;\r\n if (params.configKey != null) __headers = __headers.set(\"configKey\", params.configKey.toString());\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/AWS/PostConfigFile`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: PutObjectResponse = null;\r\n _body = _resp.body as PutObjectResponse\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSPostConfigFilePostParams` containing the following parameters:\r\n *\r\n * - `text`: \r\n *\r\n * - `configKey`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSPostConfigFilePost(params: AWSService.ApiAWSPostConfigFilePostParams): Observable {\r\n return this.ApiAWSPostConfigFilePostResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param configKey undefined\r\n * @return Success\r\n */\r\n ApiAWSGetConfigFileGetResponse(configKey?: string): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (configKey != null) __headers = __headers.set(\"configKey\", configKey.toString());\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/AWS/GetConfigFile`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: string[] = null;\r\n _body = _resp.body as string[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param configKey undefined\r\n * @return Success\r\n */\r\n ApiAWSGetConfigFileGet(configKey?: string): Observable {\r\n return this.ApiAWSGetConfigFileGetResponse(configKey).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetListTmpFileGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetListTmpFileGetResponse(params: AWSService.ApiAWSGetListTmpFileGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (params.projectFolder != null) __headers = __headers.set(\"projectFolder\", params.projectFolder.toString());\r\n if (params.folder != null) __headers = __headers.set(\"folder\", params.folder.toString());\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/AWS/GetListTmpFile`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `AWSService.ApiAWSGetListTmpFileGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `folder`: \r\n *\r\n * @return Success\r\n */\r\n ApiAWSGetListTmpFileGet(params: AWSService.ApiAWSGetListTmpFileGetParams): Observable {\r\n return this.ApiAWSGetListTmpFileGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module AWSService {\r\n\r\n /**\r\n * Parameters for ApiAWSGetPrivateURLGet\r\n */\r\n export interface ApiAWSGetPrivateURLGetParams {\r\n\r\n projectFolder?: string;\r\n\r\n mediaName?: string;\r\n\r\n folder?: string;\r\n }\r\n\r\n /**\r\n * Parameters for ApiAWSGetPublicURLGet\r\n */\r\n export interface ApiAWSGetPublicURLGetParams {\r\n\r\n projectFolder?: string;\r\n\r\n mediaName?: string;\r\n\r\n folder?: string;\r\n }\r\n\r\n /**\r\n * Parameters for ApiAWSGetThumbnailsURLGet\r\n */\r\n export interface ApiAWSGetThumbnailsURLGetParams {\r\n\r\n projectFolder?: string;\r\n\r\n mediaName?: string;\r\n\r\n folder?: string;\r\n }\r\n\r\n /**\r\n * Parameters for ApiAWSPostConfigFilePost\r\n */\r\n export interface ApiAWSPostConfigFilePostParams {\r\n\r\n text?: string;\r\n\r\n configKey?: string;\r\n }\r\n\r\n /**\r\n * Parameters for ApiAWSGetListTmpFileGet\r\n */\r\n export interface ApiAWSGetListTmpFileGetParams {\r\n\r\n projectFolder?: string;\r\n\r\n folder?: string;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { Device } from '../models/device';\r\nimport { CopyObjectResponse } from '../models/copy-object-response';\r\nimport { PutObjectResponse } from '../models/put-object-response';\r\n\r\n@Injectable()\r\nexport class DevicesService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiDevicesGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Devices`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Device[] = null;\r\n _body = _resp.body as Device[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiDevicesGet(): Observable {\r\n return this.ApiDevicesGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param device undefined\r\n */\r\n ApiDevicesPostResponse(device?: Device): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = device;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Devices`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param device undefined\r\n */\r\n ApiDevicesPost(device?: Device): Observable {\r\n return this.ApiDevicesPostResponse(device).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiDevicesByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Devices/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiDevicesByIdGet(id: number): Observable {\r\n return this.ApiDevicesByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `device`:\r\n */\r\n ApiDevicesByIdPutResponse(params: DevicesService.ApiDevicesByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.device;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/Devices/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `device`:\r\n */\r\n ApiDevicesByIdPut(params: DevicesService.ApiDevicesByIdPutParams): Observable {\r\n return this.ApiDevicesByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiDevicesByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/Devices/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiDevicesByIdDelete(id: number): Observable {\r\n return this.ApiDevicesByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesUpdateStatusByIdPostParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `status`:\r\n */\r\n ApiDevicesUpdateStatusByIdPostResponse(params: DevicesService.ApiDevicesUpdateStatusByIdPostParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n if (params.status != null) __headers = __headers.set(\"status\", params.status.toString());\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Devices/UpdateStatus/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesUpdateStatusByIdPostParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `status`:\r\n */\r\n ApiDevicesUpdateStatusByIdPost(params: DevicesService.ApiDevicesUpdateStatusByIdPostParams): Observable {\r\n return this.ApiDevicesUpdateStatusByIdPostResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesPostCommandPostParams` containing the following parameters:\r\n *\r\n * - `deviceName`: \r\n *\r\n * - `command`:\r\n */\r\n ApiDevicesPostCommandPostResponse(params: DevicesService.ApiDevicesPostCommandPostParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (params.deviceName != null) __headers = __headers.set(\"deviceName\", params.deviceName.toString());\r\n __body = params.command;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Devices/PostCommand`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesPostCommandPostParams` containing the following parameters:\r\n *\r\n * - `deviceName`: \r\n *\r\n * - `command`:\r\n */\r\n ApiDevicesPostCommandPost(params: DevicesService.ApiDevicesPostCommandPostParams): Observable {\r\n return this.ApiDevicesPostCommandPostResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param serialNumber undefined\r\n * @return Success\r\n */\r\n ApiDevicesRestoreConfigFilePostResponse(serialNumber?: string): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (serialNumber != null) __headers = __headers.set(\"serialNumber\", serialNumber.toString());\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Devices/RestoreConfigFile`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: CopyObjectResponse = null;\r\n _body = _resp.body as CopyObjectResponse\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param serialNumber undefined\r\n * @return Success\r\n */\r\n ApiDevicesRestoreConfigFilePost(serialNumber?: string): Observable {\r\n return this.ApiDevicesRestoreConfigFilePostResponse(serialNumber).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesPostConfigPostParams` containing the following parameters:\r\n *\r\n * - `text`: \r\n *\r\n * - `deviceName`: \r\n *\r\n * @return Success\r\n */\r\n ApiDevicesPostConfigPostResponse(params: DevicesService.ApiDevicesPostConfigPostParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = params.text;\r\n if (params.deviceName != null) __headers = __headers.set(\"deviceName\", params.deviceName.toString());\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Devices/PostConfig`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: PutObjectResponse = null;\r\n _body = _resp.body as PutObjectResponse\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `DevicesService.ApiDevicesPostConfigPostParams` containing the following parameters:\r\n *\r\n * - `text`: \r\n *\r\n * - `deviceName`: \r\n *\r\n * @return Success\r\n */\r\n ApiDevicesPostConfigPost(params: DevicesService.ApiDevicesPostConfigPostParams): Observable {\r\n return this.ApiDevicesPostConfigPostResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param deviceName undefined\r\n * @return Success\r\n */\r\n ApiDevicesGetConfigFileGetResponse(deviceName?: string): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (deviceName != null) __headers = __headers.set(\"deviceName\", deviceName.toString());\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Devices/GetConfigFile`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: string[] = null;\r\n _body = _resp.body as string[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param deviceName undefined\r\n * @return Success\r\n */\r\n ApiDevicesGetConfigFileGet(deviceName?: string): Observable {\r\n return this.ApiDevicesGetConfigFileGetResponse(deviceName).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module DevicesService {\r\n\r\n /**\r\n * Parameters for ApiDevicesByIdPut\r\n */\r\n export interface ApiDevicesByIdPutParams {\r\n\r\n id: number;\r\n\r\n device?: Device;\r\n }\r\n\r\n /**\r\n * Parameters for ApiDevicesUpdateStatusByIdPost\r\n */\r\n export interface ApiDevicesUpdateStatusByIdPostParams {\r\n\r\n id: number;\r\n\r\n status?: string;\r\n }\r\n\r\n /**\r\n * Parameters for ApiDevicesPostCommandPost\r\n */\r\n export interface ApiDevicesPostCommandPostParams {\r\n\r\n deviceName?: string;\r\n\r\n command?: string;\r\n }\r\n\r\n /**\r\n * Parameters for ApiDevicesPostConfigPost\r\n */\r\n export interface ApiDevicesPostConfigPostParams {\r\n\r\n text?: string;\r\n\r\n deviceName?: string;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { MediaType } from '../models/media-type';\r\n\r\n@Injectable()\r\nexport class MediaTypesService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiMediaTypesGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/MediaTypes`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: MediaType[] = null;\r\n _body = _resp.body as MediaType[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiMediaTypesGet(): Observable {\r\n return this.ApiMediaTypesGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param mediaType undefined\r\n */\r\n ApiMediaTypesPostResponse(mediaType?: MediaType): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = mediaType;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/MediaTypes`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param mediaType undefined\r\n */\r\n ApiMediaTypesPost(mediaType?: MediaType): Observable {\r\n return this.ApiMediaTypesPostResponse(mediaType).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaTypesByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/MediaTypes/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaTypesByIdGet(id: number): Observable {\r\n return this.ApiMediaTypesByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaTypesService.ApiMediaTypesByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `mediaType`:\r\n */\r\n ApiMediaTypesByIdPutResponse(params: MediaTypesService.ApiMediaTypesByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.mediaType;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/MediaTypes/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaTypesService.ApiMediaTypesByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `mediaType`:\r\n */\r\n ApiMediaTypesByIdPut(params: MediaTypesService.ApiMediaTypesByIdPutParams): Observable {\r\n return this.ApiMediaTypesByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaTypesByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/MediaTypes/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaTypesByIdDelete(id: number): Observable {\r\n return this.ApiMediaTypesByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module MediaTypesService {\r\n\r\n /**\r\n * Parameters for ApiMediaTypesByIdPut\r\n */\r\n export interface ApiMediaTypesByIdPutParams {\r\n\r\n id: number;\r\n\r\n mediaType?: MediaType;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { Media } from '../models/media';\r\n\r\n@Injectable()\r\nexport class MediaService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiMediaGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiMediaGet(): Observable {\r\n return this.ApiMediaGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param media undefined\r\n */\r\n ApiMediaPostResponse(media?: Media): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = media;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Media`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param media undefined\r\n */\r\n ApiMediaPost(media?: Media): Observable {\r\n return this.ApiMediaPostResponse(media).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiMediaGetLastMediasGetResponse(idProject): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media/GetLastMedias/${idProject}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiMediaGetLastMediasGet(idProject): Observable {\r\n return this.ApiMediaGetLastMediasGetResponse(idProject).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n ApiMediaGetProjectCamerasByProjectIdGet(params) : Observable {\r\n return this.ApiMediaGetProjectCamerasByProjectIdGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `idProject`: \r\n *\r\n * @return Success\r\n */\r\n ApiMediaGetProjectCamerasByProjectIdGetResponse(params: MediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media/GetSQLCamerasByProjectId/${params.idProject}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n ApiMediaGetProjectDatesByProjectIdGet(idProject) : Observable {\r\n return this.ApiMediaGetProjectDatesByProjectIdGetResponse(idProject).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `idProject`: \r\n *\r\n * @return Success\r\n */\r\n ApiMediaGetProjectDatesByProjectIdGetResponse(idProject): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media/GetSQLProjectDatesByProjectId/${idProject}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `idProject`: \r\n *\r\n * @return Success\r\n */\r\n ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetResponse(params: MediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media/GetSQLMediasByProjectId/${params.idProject}/${params.projectFolder}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `idProject`: \r\n *\r\n * @return Success\r\n */\r\n ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGet(params: MediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams): Observable {\r\n return this.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `idProject`: \r\n *\r\n * - `date`: \r\n *\r\n * @return Success\r\n */\r\n ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetResponse(params: MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media/GetMediasByProjectIdDate/${params.idProject}/${params.projectFolder}/${params.date}?page=${params.page}&folder=${params.folder || \"cam1\"}&hour=${params.hour}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n ApiMediaGetVideoByProjectIdDateByIdProjectByProjectFolderByDateGetResponse(params: MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media/GetVideoByProjectIdDate/${params.idProject}/${params.projectFolder}/?startDate=${params.startDate}&?endDate=${params.endDate}?page=${params.page}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Media[] = null;\r\n _body = _resp.body as Media[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams` containing the following parameters:\r\n *\r\n * - `projectFolder`: \r\n *\r\n * - `idProject`: \r\n *\r\n * - `date`: \r\n *\r\n * @return Success\r\n */\r\n ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params: MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams): Observable {\r\n return this.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n ApiMediaGetVideoByProjectIdDateByIdProjectByProjectFolderByDateGet(params: MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams): Observable {\r\n return this.ApiMediaGetVideoByProjectIdDateByIdProjectByProjectFolderByDateGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Media/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaByIdGet(id: number): Observable {\r\n return this.ApiMediaByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `media`:\r\n */\r\n ApiMediaByIdPutResponse(params: MediaService.ApiMediaByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.media;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/Media/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `media`:\r\n */\r\n ApiMediaByIdPut(params: MediaService.ApiMediaByIdPutParams): Observable {\r\n return this.ApiMediaByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/Media/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiMediaByIdDelete(id: number): Observable {\r\n return this.ApiMediaByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaPostMediaInProjectPostParams` containing the following parameters:\r\n *\r\n * - `projectFodler`: \r\n *\r\n * - `media`:\r\n */\r\n ApiMediaPostMediaInProjectPostResponse(params: MediaService.ApiMediaPostMediaInProjectPostParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n if (params.projectFodler != null) __headers = __headers.set(\"projectFodler\", params.projectFodler.toString());\r\n __body = params.media;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Media/PostMediaInProject`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `MediaService.ApiMediaPostMediaInProjectPostParams` containing the following parameters:\r\n *\r\n * - `projectFodler`: \r\n *\r\n * - `media`:\r\n */\r\n ApiMediaPostMediaInProjectPost(params: MediaService.ApiMediaPostMediaInProjectPostParams): Observable {\r\n return this.ApiMediaPostMediaInProjectPostResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module MediaService {\r\n\r\n /**\r\n * Parameters for ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGet\r\n */\r\n export interface ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGetParams {\r\n\r\n projectFolder: string;\r\n\r\n idProject: number;\r\n }\r\n\r\n /**\r\n * Parameters for ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet\r\n */\r\n export interface ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams {\r\n projectFolder: string;\r\n idProject: number;\r\n date?: string;\r\n startDate?: string;\r\n endDate?: string;\r\n page?: number;\r\n folder?:string;\r\n hour?: string;\r\n }\r\n\r\n /**\r\n * Parameters for ApiMediaByIdPut\r\n */\r\n export interface ApiMediaByIdPutParams {\r\n\r\n id: number;\r\n\r\n media?: Media;\r\n }\r\n\r\n /**\r\n * Parameters for ApiMediaPostMediaInProjectPost\r\n */\r\n export interface ApiMediaPostMediaInProjectPostParams {\r\n\r\n projectFodler?: string;\r\n\r\n media?: Media;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { ProjectBookmark } from '../models/project-bookmark';\r\n\r\n@Injectable()\r\nexport class ProjectBookmarksService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiProjectBookmarksGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/ProjectBookmarks`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: ProjectBookmark[] = null;\r\n _body = _resp.body as ProjectBookmark[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiProjectBookmarksGet(): Observable {\r\n return this.ApiProjectBookmarksGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param projectBookmark undefined\r\n */\r\n ApiProjectBookmarksPostResponse(projectBookmark?: ProjectBookmark): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = projectBookmark;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/ProjectBookmarks`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param projectBookmark undefined\r\n */\r\n ApiProjectBookmarksPost(projectBookmark?: ProjectBookmark): Observable {\r\n return this.ApiProjectBookmarksPostResponse(projectBookmark).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param idProject undefined\r\n * @return Success\r\n */\r\n ApiProjectBookmarksGetProjectBookmarksByProjectIdByIdProjectGetResponse(idProject: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/ProjectBookmarks/GetProjectBookmarksByProjectId/${idProject}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: ProjectBookmark[] = null;\r\n _body = _resp.body as ProjectBookmark[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param idProject undefined\r\n * @return Success\r\n */\r\n ApiProjectBookmarksGetProjectBookmarksByProjectIdByIdProjectGet(idProject: number): Observable {\r\n return this.ApiProjectBookmarksGetProjectBookmarksByProjectIdByIdProjectGetResponse(idProject).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectBookmarksByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/ProjectBookmarks/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectBookmarksByIdGet(id: number): Observable {\r\n return this.ApiProjectBookmarksByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `ProjectBookmarksService.ApiProjectBookmarksByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `projectBookmark`:\r\n */\r\n ApiProjectBookmarksByIdPutResponse(params: ProjectBookmarksService.ApiProjectBookmarksByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.projectBookmark;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/ProjectBookmarks/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `ProjectBookmarksService.ApiProjectBookmarksByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `projectBookmark`:\r\n */\r\n ApiProjectBookmarksByIdPut(params: ProjectBookmarksService.ApiProjectBookmarksByIdPutParams): Observable {\r\n return this.ApiProjectBookmarksByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectBookmarksByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/ProjectBookmarks/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectBookmarksByIdDelete(id: number): Observable {\r\n return this.ApiProjectBookmarksByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module ProjectBookmarksService {\r\n\r\n /**\r\n * Parameters for ApiProjectBookmarksByIdPut\r\n */\r\n export interface ApiProjectBookmarksByIdPutParams {\r\n\r\n id: number;\r\n\r\n projectBookmark?: ProjectBookmark;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { Project } from '../models/project';\r\n\r\n@Injectable()\r\nexport class ProjectsService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiProjectsGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Projects`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Project[] = null;\r\n _body = _resp.body as Project[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiProjectsGet(): Observable {\r\n return this.ApiProjectsGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param project undefined\r\n */\r\n ApiProjectsPostResponse(project?: Project): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = project;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Projects`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param project undefined\r\n */\r\n ApiProjectsPost(project?: Project): Observable {\r\n return this.ApiProjectsPostResponse(project).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param idUser undefined\r\n * @return Success\r\n */\r\n ApiProjectsGetProjectsByUserIdByIdUserGetResponse(idUser: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Projects/GetProjectsByUserId/${idUser}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Project[] = null;\r\n _body = _resp.body as Project[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param idUser undefined\r\n * @return Success\r\n */\r\n ApiProjectsGetProjectsByUserIdByIdUserGet(idUser: number): Observable {\r\n return this.ApiProjectsGetProjectsByUserIdByIdUserGetResponse(idUser).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectsByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Projects/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectsByIdGet(id: number): Observable {\r\n return this.ApiProjectsByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `ProjectsService.ApiProjectsByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `project`:\r\n */\r\n ApiProjectsByIdPutResponse(params: ProjectsService.ApiProjectsByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.project;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/Projects/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `ProjectsService.ApiProjectsByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `project`:\r\n */\r\n ApiProjectsByIdPut(params: ProjectsService.ApiProjectsByIdPutParams): Observable {\r\n return this.ApiProjectsByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectsByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/Projects/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiProjectsByIdDelete(id: number): Observable {\r\n return this.ApiProjectsByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module ProjectsService {\r\n\r\n /**\r\n * Parameters for ApiProjectsByIdPut\r\n */\r\n export interface ApiProjectsByIdPutParams {\r\n\r\n id: number;\r\n\r\n project?: Project;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { Role } from '../models/role';\r\n\r\n@Injectable()\r\nexport class RolesService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiRolesGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Roles`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: Role[] = null;\r\n _body = _resp.body as Role[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiRolesGet(): Observable {\r\n return this.ApiRolesGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param role undefined\r\n */\r\n ApiRolesPostResponse(role?: Role): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = role;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Roles`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param role undefined\r\n */\r\n ApiRolesPost(role?: Role): Observable {\r\n return this.ApiRolesPostResponse(role).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiRolesByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Roles/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiRolesByIdGet(id: number): Observable {\r\n return this.ApiRolesByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `RolesService.ApiRolesByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `role`:\r\n */\r\n ApiRolesByIdPutResponse(params: RolesService.ApiRolesByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.role;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/Roles/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `RolesService.ApiRolesByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `role`:\r\n */\r\n ApiRolesByIdPut(params: RolesService.ApiRolesByIdPutParams): Observable {\r\n return this.ApiRolesByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiRolesByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/Roles/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiRolesByIdDelete(id: number): Observable {\r\n return this.ApiRolesByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module RolesService {\r\n\r\n /**\r\n * Parameters for ApiRolesByIdPut\r\n */\r\n export interface ApiRolesByIdPutParams {\r\n\r\n id: number;\r\n\r\n role?: Role;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { UserBookmark } from '../models/user-bookmark';\r\n\r\n@Injectable()\r\nexport class UserBookmarksService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiUserBookmarksGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/UserBookmarks`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: UserBookmark[] = null;\r\n _body = _resp.body as UserBookmark[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiUserBookmarksGet(): Observable {\r\n return this.ApiUserBookmarksGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param userBookmark undefined\r\n */\r\n ApiUserBookmarksPostResponse(userBookmark?: UserBookmark): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = userBookmark;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/UserBookmarks`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param userBookmark undefined\r\n */\r\n ApiUserBookmarksPost(userBookmark?: UserBookmark): Observable {\r\n return this.ApiUserBookmarksPostResponse(userBookmark).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserBookmarksService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams` containing the following parameters:\r\n *\r\n * - `idUser`: \r\n *\r\n * - `idProject`: \r\n *\r\n * @return Success\r\n */\r\n ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetResponse(params: UserBookmarksService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/UserBookmarks/GetUserBookmarksByUserIdAndProjectId/${params.idUser}/${params.idProject}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: UserBookmark[] = null;\r\n _body = _resp.body as UserBookmark[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserBookmarksService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams` containing the following parameters:\r\n *\r\n * - `idUser`: \r\n *\r\n * - `idProject`: \r\n *\r\n * @return Success\r\n */\r\n ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGet(params: UserBookmarksService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams): Observable {\r\n return this.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserBookmarksByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/UserBookmarks/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserBookmarksByIdGet(id: number): Observable {\r\n return this.ApiUserBookmarksByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserBookmarksService.ApiUserBookmarksByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `userBookmark`:\r\n */\r\n ApiUserBookmarksByIdPutResponse(params: UserBookmarksService.ApiUserBookmarksByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.userBookmark;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/UserBookmarks/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserBookmarksService.ApiUserBookmarksByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `userBookmark`:\r\n */\r\n ApiUserBookmarksByIdPut(params: UserBookmarksService.ApiUserBookmarksByIdPutParams): Observable {\r\n return this.ApiUserBookmarksByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserBookmarksByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/UserBookmarks/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserBookmarksByIdDelete(id: number): Observable {\r\n return this.ApiUserBookmarksByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module UserBookmarksService {\r\n\r\n /**\r\n * Parameters for ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGet\r\n */\r\n export interface ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams {\r\n\r\n idUser: number;\r\n\r\n idProject: number;\r\n }\r\n\r\n /**\r\n * Parameters for ApiUserBookmarksByIdPut\r\n */\r\n export interface ApiUserBookmarksByIdPutParams {\r\n\r\n id: number;\r\n\r\n userBookmark?: UserBookmark;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { UserProject } from '../models/user-project';\r\n\r\n@Injectable()\r\nexport class UserProjectsService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiUserProjectsGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/UserProjects`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: UserProject[] = null;\r\n _body = _resp.body as UserProject[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiUserProjectsGet(): Observable {\r\n return this.ApiUserProjectsGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param userProject undefined\r\n */\r\n ApiUserProjectsPostResponse(userProject?: UserProject): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = userProject;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/UserProjects`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param userProject undefined\r\n */\r\n ApiUserProjectsPost(userProject?: UserProject): Observable {\r\n return this.ApiUserProjectsPostResponse(userProject).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserProjectsByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/UserProjects/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserProjectsByIdGet(id: number): Observable {\r\n return this.ApiUserProjectsByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserProjectsService.ApiUserProjectsByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `userProject`:\r\n */\r\n ApiUserProjectsByIdPutResponse(params: UserProjectsService.ApiUserProjectsByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.userProject;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/UserProjects/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserProjectsService.ApiUserProjectsByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `userProject`:\r\n */\r\n ApiUserProjectsByIdPut(params: UserProjectsService.ApiUserProjectsByIdPutParams): Observable {\r\n return this.ApiUserProjectsByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserProjectsByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/UserProjects/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUserProjectsByIdDelete(id: number): Observable {\r\n return this.ApiUserProjectsByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams` containing the following parameters:\r\n *\r\n * - `idUser`: \r\n *\r\n * - `idProject`:\r\n */\r\n ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetResponse(params: UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/UserProjects/GetUserProjectByUserIdAndProjectId/${params.idUser}/${params.idProject}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams` containing the following parameters:\r\n *\r\n * - `idUser`: \r\n *\r\n * - `idProject`:\r\n */\r\n ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGet(params: UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams): Observable {\r\n return this.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module UserProjectsService {\r\n\r\n /**\r\n * Parameters for ApiUserProjectsByIdPut\r\n */\r\n export interface ApiUserProjectsByIdPutParams {\r\n\r\n id: number;\r\n\r\n userProject?: UserProject;\r\n }\r\n\r\n /**\r\n * Parameters for ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGet\r\n */\r\n export interface ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams {\r\n\r\n idUser: number;\r\n\r\n idProject: number;\r\n }\r\n}\r\n","/* tslint:disable */\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n HttpClient, HttpRequest, HttpResponse, \r\n HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { map } from 'rxjs/operators/map';\r\nimport { filter } from 'rxjs/operators/filter';\r\n\r\nimport { User } from '../models/user';\r\n\r\n@Injectable()\r\nexport class UsersService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiUsersGetResponse(): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Users`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: User[] = null;\r\n _body = _resp.body as User[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n ApiUsersGet(): Observable {\r\n return this.ApiUsersGetResponse().pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param user undefined\r\n */\r\n ApiUsersPostResponse(user?: User): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n __body = user;\r\n let req = new HttpRequest(\r\n \"POST\",\r\n this.rootUrl + `/api/Users`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param user undefined\r\n */\r\n ApiUsersPost(user?: User): Observable {\r\n return this.ApiUsersPostResponse(user).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param idProject undefined\r\n * @return Success\r\n */\r\n ApiUsersGetUsersByProjectIdByIdProjectGetResponse(idProject: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Users/GetUsersByProjectId/${idProject}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: User[] = null;\r\n _body = _resp.body as User[]\r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param idProject undefined\r\n * @return Success\r\n */\r\n ApiUsersGetUsersByProjectIdByIdProjectGet(idProject: number): Observable {\r\n return this.ApiUsersGetUsersByProjectIdByIdProjectGetResponse(idProject).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUsersByIdGetResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"GET\",\r\n this.rootUrl + `/api/Users/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUsersByIdGet(id: number): Observable {\r\n return this.ApiUsersByIdGetResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UsersService.ApiUsersByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `user`:\r\n */\r\n ApiUsersByIdPutResponse(params: UsersService.ApiUsersByIdPutParams): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n __body = params.user;\r\n let req = new HttpRequest(\r\n \"PUT\",\r\n this.rootUrl + `/api/Users/${params.id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param params The `UsersService.ApiUsersByIdPutParams` containing the following parameters:\r\n *\r\n * - `id`: \r\n *\r\n * - `user`:\r\n */\r\n ApiUsersByIdPut(params: UsersService.ApiUsersByIdPutParams): Observable {\r\n return this.ApiUsersByIdPutResponse(params).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUsersByIdDeleteResponse(id: number): Observable> {\r\n let __params = this.newParams();\r\n let __headers = new HttpHeaders();\r\n let __body: any = null;\r\n\r\n let req = new HttpRequest(\r\n \"DELETE\",\r\n this.rootUrl + `/api/Users/${id}`,\r\n __body,\r\n {\r\n headers: __headers,\r\n params: __params,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req).pipe(\r\n filter(_r => _r instanceof HttpResponse),\r\n map(_r => {\r\n let _resp = _r as HttpResponse;\r\n let _body: any = _resp.body;\r\n \r\n return _resp.clone({body: _body}) as HttpResponse;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * @param id undefined\r\n */\r\n ApiUsersByIdDelete(id: number): Observable {\r\n return this.ApiUsersByIdDeleteResponse(id).pipe(\r\n map(_r => _r.body)\r\n );\r\n }\r\n}\r\n\r\nexport module UsersService {\r\n\r\n /**\r\n * Parameters for ApiUsersByIdPut\r\n */\r\n export interface ApiUsersByIdPutParams {\r\n\r\n id: number;\r\n\r\n user?: User;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {RouterModule, Routes} from '@angular/router';\r\nimport {AuthGuard} from './utilities/auth.guard';\r\nimport {AdminGuard} from './utilities/admin.guard';\r\nimport { AuthModule } from './auth/auth.module';\r\nimport { UserModule } from './user/user.module';\r\nimport { AdminModule } from './admin/admin.module';\r\n\r\nconst APP_ROUTES: Routes = [\r\n {\r\n path: 'auth',\r\n loadChildren: () => AuthModule\r\n },\r\n {\r\n path: 'user',\r\n loadChildren: () => UserModule,\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'admin',\r\n loadChildren: () => AdminModule,\r\n canActivate: [AdminGuard]\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/auth',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(APP_ROUTES, {useHash: true})\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {AuthService} from './utilities/auth.service';\r\nimport {AuthSandbox} from './auth/auth.sandbox';\r\n\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n showFooter: boolean = false;\r\n constructor(private router: Router, private sandbox: AuthSandbox, private auth: AuthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const domainName = window.location.hostname;\r\n this.showFooter = domainName.includes('detiffe');\r\n if (this.auth.loggedIn()) {\r\n const user = this.auth.getUser();\r\n const current_time = Date.now() / 1000;\r\n if (user.exp < current_time) {\r\n /* expired */\r\n this.sandbox.logout();\r\n } else {\r\n this.sandbox.loadUser();\r\n this.sandbox.loadDataFromUserId(user.id);\r\n }\r\n this.router.navigate(['/auth']);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n}\r\n","// angular module\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {HTTP_INTERCEPTORS, HttpClientJsonpModule, HttpClientModule} from '@angular/common/http';\r\n\r\n\r\n\r\n// other module\r\nimport { ShareButtonsModule } from 'ngx-sharebuttons/buttons';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport {ImageZoomModule} from 'angular2-image-zoom';\r\nimport { NgScrollbarModule } from 'ngx-scrollbar';\r\nimport { NgxGoogleAnalyticsModule, NgxGoogleAnalyticsRouterModule } from 'ngx-google-analytics';\r\n// store module\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { reducers } from './store/index';\r\nimport {NgbTimepickerModule} from '@ng-bootstrap/ng-bootstrap'\r\n// route module\r\nimport {AppRoutingModule} from './app-routing.module';\r\n\r\n/* api module\r\n* when module is re-generated\r\n* node_modules/.bin/ng-swagger-gen -i http://localhost:56285/swagger/v1/swagger.json -o .\\src\\app\\api\\\r\n* on api-configuration.ts :\r\n* 1) change rootUrl: string = 'URL';\r\n* on all services: (to use http response's body on POST, PUT, DELETE and GET{id} requests)\r\n* 1) replace 'void = null' by 'any = _resp.body'\r\n* 2) replace 'void' by 'any'\r\n* 3) replace ' 'text' ' by ' 'json' '\r\n* 4) add ' {'Content-Type': 'application/json'} ' in aws postConfigFile to the headers\r\n*/\r\nimport {ApiModule} from './api/api.module';\r\nimport {AuthModule} from './auth/auth.module';\r\n\r\n// provider\r\nimport { NavbarSandbox } from './navbar.sandbox';\r\n// components\r\nimport { AppComponent } from './app.component';\r\nimport { NavbarComponent } from './components/navbar/navbar.component';\r\nimport { NavbarPageComponent } from './containers/navbar-page/navbar-page.component';\r\nimport {AuthInterceptor} from './utilities/auth.interceptor';\r\nimport {AuthService} from './utilities/auth.service';\r\nimport {AuthGuard} from './utilities/auth.guard';\r\nimport {AdminGuard} from './utilities/admin.guard';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport { FooterComponent } from './components/footer/footer.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavbarPageComponent,\r\n NavbarComponent,\r\n FooterComponent\r\n ],\r\n imports: [\r\n AppRoutingModule,\r\n BrowserModule,\r\n FormsModule,\r\n HttpClientModule,\r\n HttpClientJsonpModule,\r\n NgbModule,\r\n ShareButtonsModule,\r\n PopoverModule.forRoot(),\r\n ApiModule,\r\n AuthModule,\r\n StoreModule.forRoot(reducers),\r\n ImageZoomModule,\r\n NgScrollbarModule,\r\n BrowserAnimationsModule,\r\n NgxGoogleAnalyticsModule.forRoot('G-TZBCVX712H'),\r\n NgxGoogleAnalyticsRouterModule,\r\n NgbTimepickerModule\r\n ],\r\n providers: [\r\n NavbarSandbox,\r\n AuthService,\r\n AuthGuard,\r\n AdminGuard,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n }\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport {ResetPasswordPageComponent} from './containers/reset-password-page/reset-password-page.component';\r\nimport {LoginPageComponent} from './containers/login-page/login-page.component';\r\n\r\nconst AUTH_ROUTES: Routes = [\r\n {\r\n path: '',\r\n component: LoginPageComponent\r\n },\r\n {\r\n path: 'reset',\r\n component: ResetPasswordPageComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(AUTH_ROUTES)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {FormsModule} from '@angular/forms';\r\n\r\nimport { AuthRoutingModule } from './auth-routing.module';\r\nimport {AuthSandbox} from './auth.sandbox';\r\n\r\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\r\nimport {LoginComponent} from './components/login/login.component';\r\nimport { ResetPasswordPageComponent } from './containers/reset-password-page/reset-password-page.component';\r\nimport { LoginPageComponent } from './containers/login-page/login-page.component';\r\nimport {StoreModule} from '@ngrx/store';\r\nimport {AuthService} from '../utilities/auth.service';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AuthRoutingModule,\r\n FormsModule,\r\n StoreModule\r\n ],\r\n declarations: [\r\n LoginComponent,\r\n ResetPasswordComponent,\r\n ResetPasswordPageComponent,\r\n LoginPageComponent\r\n ],\r\n providers: [\r\n AuthSandbox,\r\n AuthService\r\n ]\r\n})\r\nexport class AuthModule { }\r\n","import {Injectable} from '@angular/core';\r\nimport {Credential} from '../api/models/credential';\r\nimport * as fromStore from '../store/index';\r\nimport {AuthenticationService} from '../api/services/authentication.service';\r\nimport {Store} from '@ngrx/store';\r\nimport {\r\n AuthenticationDisconnection,\r\n AuthenticationLogin,\r\n AuthenticationSuccess,\r\n AuthenticationUser,\r\n AuthenticationFail\r\n} from '../store/actions/authentication.action';\r\nimport {AuthService} from '../utilities/auth.service';\r\nimport {Observable} from 'rxjs';\r\nimport {ClearProject, LoadProjects, LoadProjectsSuccess, SelectProject} from '../store/actions/project.action';\r\nimport {ClearMedia, LoadMediasSuccess, SelectMedia} from '../store/actions/media.action';\r\nimport {MediaService} from '../api/services/media.service';\r\nimport ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams;\r\nimport {Media} from '../api/models/media';\r\nimport {AWSService} from '../api/services/aws.service';\r\nimport ApiAWSGetPrivateURLGetParams = AWSService.ApiAWSGetPrivateURLGetParams;\r\nimport {ClearUrl, LoadUrlSelected, LoadUrlsSuccess} from '../store/actions/url.action';\r\nimport {\r\n ClearUserBookmar, LoadUserBookmarks, LoadUserBookmarksSuccess,\r\n SelectUserBookmark\r\n} from '../store/actions/user-bookmark.action';\r\nimport {UserBookmarksService} from '../api/services/user-bookmarks.service';\r\nimport ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams = UserBookmarksService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams;\r\nimport {\r\n ClearProjectBookmark,\r\n LoadProjectBookmarks, LoadProjectBookmarksSuccess,\r\n SelectProjectBookmark\r\n} from '../store/actions/project-bookmark.action';\r\nimport {ProjectBookmarksService} from '../api/services/project-bookmarks.service';\r\nimport {ProjectsService} from '../api/services/projects.service';\r\nimport {getLoadedUserBookmark} from '../store/index';\r\nimport {ClearRole} from '../store/actions/role.action';\r\nimport {ClearMediaType} from '../store/actions/media-type.action';\r\nimport {ClearUser} from '../store/actions/user.action';\r\nimport {ClearUserProject, LoadUserProjects, SelectUserProject} from '../store/actions/user-project.action';\r\nimport {UserProjectsService} from '../api/services/user-projects.service';\r\nimport ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams;\r\nimport {Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthSandbox {\r\n\r\n\r\n constructor(private auth: AuthService,\r\n private authenticationService: AuthenticationService,\r\n private mediaService: MediaService,\r\n private projectBookmarksService: ProjectBookmarksService,\r\n private projectService: ProjectsService,\r\n private awsService: AWSService,\r\n private userBookmarkService: UserBookmarksService,\r\n private appState$: Store,\r\n private userProjectsService: UserProjectsService,\r\n private router: Router) {\r\n }\r\n\r\n login(cred: Credential) {\r\n // load user\r\n this.appState$.dispatch(new AuthenticationLogin());\r\n // call token controller\r\n this.authenticationService.ApiAuthenticationGenerateTokenPost(cred)\r\n .subscribe(data => {\r\n // authentication success\r\n this.auth.setToken(data);\r\n const userJwt = this.auth.getUser();\r\n this.loadUser();\r\n // load all user's data\r\n this.loadDataFromUserId(userJwt.id);\r\n }, err => {\r\n this.appState$.dispatch(new AuthenticationFail(err));\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n // clear token remove user from local storage to log user out\r\n this.appState$.dispatch(new AuthenticationDisconnection());\r\n this.auth.removeToken();\r\n this.auth.removeReset();\r\n // clear all data in the store\r\n this.appState$.dispatch(new ClearMedia());\r\n this.appState$.dispatch(new ClearMediaType());\r\n this.appState$.dispatch(new ClearProject());\r\n this.appState$.dispatch(new ClearProjectBookmark());\r\n this.appState$.dispatch(new ClearRole());\r\n this.appState$.dispatch(new ClearUser());\r\n this.appState$.dispatch(new ClearUserBookmar());\r\n this.appState$.dispatch(new ClearUserProject());\r\n this.appState$.dispatch(new ClearUrl());\r\n }\r\n\r\n loadUser() {\r\n const token = this.auth.getToken();\r\n const userJwt = this.auth.getUser();\r\n this.appState$.dispatch(new AuthenticationUser(userJwt));\r\n this.appState$.dispatch(new AuthenticationSuccess(token));\r\n }\r\n\r\n getLoaded(): Observable {\r\n return this.appState$.select(getLoadedUserBookmark);\r\n }\r\n\r\n getAuthenticationFail(): Observable {\r\n return this.appState$.select(fromStore.getAuthenticationFail);\r\n }\r\n\r\n getAuthenticationSuccess(): Observable {\r\n return this.appState$.select(fromStore.getLoadedUser);\r\n }\r\n\r\n sendReset(email: string) {\r\n this.authenticationService.ApiAuthenticationSendResetLinkPost(email)\r\n .subscribe(data => {\r\n }, error2 => {\r\n console.log(JSON.stringify(error2));\r\n });\r\n }\r\n\r\n resetPassword(cred: Credential) {\r\n this.authenticationService.ApiAuthenticationResetPasswordPost(cred)\r\n .subscribe(data => {\r\n this.router.navigate(['/auth']);\r\n }, error2 => {\r\n console.log(JSON.stringify(error2));\r\n });\r\n }\r\n\r\n getUser(): Observable {\r\n return this.appState$.select(fromStore.getAuthentifiedUser);\r\n }\r\n\r\n getToken(): Observable {\r\n return this.appState$.select(fromStore.getToken);\r\n }\r\n\r\n public loadDataFromUserId(idUser: number) {\r\n // load project\r\n this.appState$.dispatch(new LoadProjects());\r\n this.projectService.ApiProjectsGetProjectsByUserIdByIdUserGet(idUser)\r\n .subscribe(projectsData => {\r\n this.appState$.dispatch(new LoadProjectsSuccess(projectsData));\r\n this.appState$.dispatch(new SelectProject(projectsData[0]));\r\n // load project bookmarks\r\n this.loadProjectBookmarks(projectsData[0].id);\r\n // load user Bookmarks\r\n this.loadUserBookmark(projectsData[0].id, idUser);\r\n // load user project\r\n this.loadUserProject(projectsData[0].id, idUser);\r\n });\r\n }\r\n\r\n loadMediaFromProjectAndPage(project, date) {\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : date,\r\n projectFolder : project.folder,\r\n page: 1\r\n };\r\n console.log('LOOOOADING');\r\n this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n console.log('MEDIA DATA =>', mediaData, date);\r\n if (!mediaData.length) {\r\n //this.loadMediaFromProjectAndPageAndDate1MonthEarlier(project, params.date);\r\n }\r\n this.appState$.dispatch(new LoadMediasSuccess(mediaData));\r\n this.appState$.dispatch(new SelectMedia(mediaData[0]));\r\n // load url from s3\r\n this.loadUrl(project.folder, mediaData[0]);\r\n });\r\n }\r\n\r\n loadProjectDatesByProject(params) {\r\n return this.mediaService.ApiMediaGetProjectDatesByProjectIdGet(params);\r\n }\r\n\r\n loadMediaFromProjectAndPageAndDate1MonthEarlier(project, dateString: string) {\r\n const date = new Date(dateString);\r\n date.setMonth(date.getMonth() - 1);\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : date.toDateString(),\r\n projectFolder : project.folder\r\n };\r\n this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n if (!mediaData.length) {\r\n this.loadMediaFromProjectAndPageAndDate1MonthEarlier(project, params.date);\r\n }\r\n this.appState$.dispatch(new LoadMediasSuccess(mediaData));\r\n this.appState$.dispatch(new SelectMedia(mediaData[0]));\r\n // load url from s3\r\n this.loadUrl(project.folder, mediaData[0]);\r\n });\r\n }\r\n\r\n public loadUrl(projectFolder: string, media: Media) {\r\n const params: ApiAWSGetPrivateURLGetParams = {\r\n mediaName: media.name,\r\n projectFolder: projectFolder,\r\n folder: media.folder\r\n };\r\n this.awsService.ApiAWSGetPrivateURLGet(params)\r\n .subscribe(urlData => {\r\n this.appState$.dispatch(new LoadUrlSelected(urlData));\r\n });\r\n }\r\n\r\n public loadUserBookmark(projectId: number, userId: number) {\r\n this.appState$.dispatch(new LoadUserBookmarks());\r\n const params: ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: projectId,\r\n idUser: userId\r\n };\r\n this.userBookmarkService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGet(params)\r\n .subscribe(bookmarksData => {\r\n this.appState$.dispatch(new LoadUserBookmarksSuccess(bookmarksData));\r\n this.appState$.dispatch(new SelectUserBookmark(bookmarksData[0]));\r\n }, error2 => console.log(JSON.stringify(error2)));\r\n }\r\n\r\n public loadProjectBookmarks(projectId: number) {\r\n this.appState$.dispatch(new LoadProjectBookmarks());\r\n this.projectBookmarksService.ApiProjectBookmarksGetProjectBookmarksByProjectIdByIdProjectGet(projectId)\r\n .subscribe(bookmarksData => {\r\n bookmarksData.forEach(bookmark => {\r\n this.mediaService.ApiMediaByIdGet(bookmark.projectId)\r\n .subscribe(mediaData => {\r\n bookmark.media = mediaData;\r\n });\r\n });\r\n this.appState$.dispatch(new LoadProjectBookmarksSuccess(bookmarksData));\r\n this.appState$.dispatch(new SelectProjectBookmark(bookmarksData[0]));\r\n });\r\n }\r\n\r\n public loadUserProject(projectId: number, userId: number) {\r\n this.appState$.dispatch(new LoadUserProjects());\r\n const params: ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: projectId,\r\n idUser: userId\r\n };\r\n this.userProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGet(params)\r\n .subscribe(response => {\r\n this.appState$.dispatch(new SelectUserProject(response));\r\n });\r\n }\r\n}\r\n","export default \".form-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n width: 300px;\\r\\n margin: 100px auto;\\r\\n background-color: white;\\r\\n border-radius: 20px;\\r\\n box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;\\r\\n padding: 40px 20px;\\r\\n}\\r\\n\\r\\n.form-container h1 {\\r\\n font-weight: bold !important;\\r\\n text-transform: uppercase;\\r\\n color: rgba(0,0,0,0.75);\\r\\n letter-spacing: 1px;\\r\\n margin: 0;\\r\\n margin-bottom: 40px !important;\\r\\n}\\r\\n\\r\\n.form-container input {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.form-container .btn-primary {\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n.form-container button {\\r\\n font-weight: bold;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXV0aC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLDRDQUE0QztJQUM1QyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSw0QkFBNEI7SUFDNUIseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsU0FBUztJQUNULDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQiIsImZpbGUiOiJzcmMvYXBwL2F1dGgvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm0tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIG1hcmdpbjogMTAwcHggYXV0bztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zNSkgMHB4IDVweCAxNXB4O1xyXG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xyXG59XHJcblxyXG4uZm9ybS1jb250YWluZXIgaDEge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mb3JtLWNvbnRhaW5lciBpbnB1dCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uZm9ybS1jb250YWluZXIgLmJ0bi1wcmltYXJ5IHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5mb3JtLWNvbnRhaW5lciBidXR0b24ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn0iXX0= */\"","import {Component, EventEmitter, OnInit, Output, Input} from '@angular/core';\r\nimport {Credential} from '../../../api/models/credential';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n @Output() login: EventEmitter = new EventEmitter();\r\n @Output() reset: EventEmitter = new EventEmitter();\r\n @Input() fail: boolean;\r\n @Input() success: boolean;\r\n\r\n email: string;\r\n password: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.resetInputs();\r\n }\r\n\r\n resetInputs() {\r\n this.email = '';\r\n this.password = '';\r\n }\r\n\r\n onLogin() {\r\n const cred: Credential = {\r\n email: this.email,\r\n password: this.password\r\n };\r\n this.login.emit(cred);\r\n this.resetInputs();\r\n }\r\n\r\n onResetPassword() {\r\n this.reset.emit(this.email);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2F1dGgvY29tcG9uZW50cy9yZXNldC1wYXNzd29yZC9yZXNldC1wYXNzd29yZC5jb21wb25lbnQuY3NzIn0= */\"","import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport {Credential} from '../../../api/models/credential';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.css']\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n @Input() email: string;\r\n @Output() resetPassword: EventEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n\r\n password: string;\r\n confirmePassword: string;\r\n\r\n ngOnInit() {\r\n }\r\n\r\n confirme() {\r\n if (this.password == this.confirmePassword) {\r\n const cred: Credential = {\r\n email: this.email,\r\n password: this.password\r\n }\r\n this.resetPassword.emit(cred);\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2F1dGgvY29udGFpbmVycy9sb2dpbi1wYWdlL2xvZ2luLXBhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Credential} from '../../../api/models/credential';\r\nimport {AuthSandbox} from '../../auth.sandbox';\r\nimport {Router} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-login-page',\r\n templateUrl: './login-page.component.html',\r\n styleUrls: ['./login-page.component.css']\r\n})\r\nexport class LoginPageComponent implements OnInit, OnDestroy {\r\n\r\n constructor(private authSandbox: AuthSandbox,\r\n private router: Router) {\r\n }\r\n\r\n private isAlive: boolean;\r\n token: Observable;\r\n user: Observable;\r\n fail$: Observable;\r\n success$: Observable;\r\n\r\n ngOnInit() {\r\n this.isAlive = true;\r\n this.fail$ = this.authSandbox.getAuthenticationFail();\r\n this.token = this.authSandbox.getToken();\r\n this.user = this.authSandbox.getUser();\r\n this.success$ = this.authSandbox.getAuthenticationSuccess();\r\n this.authSandbox.getLoaded().takeWhile(() => this.isAlive)\r\n .subscribe(data => {\r\n if (data) {\r\n this.router.navigate(['/user']);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.isAlive = false;\r\n }\r\n\r\n onLogin(cred: Credential) {\r\n this.authSandbox.login(cred);\r\n this.authSandbox.getUser().takeWhile(() => this.isAlive)\r\n .subscribe(user => {\r\n /*if (user && user.isAdmin == 'True') {\r\n console.log('ADMIN')\r\n this.router.navigate(['/admin']);\r\n }*/\r\n });\r\n }\r\n\r\n onReset(email: string) {\r\n // send email\r\n this.authSandbox.sendReset(email);\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2F1dGgvY29udGFpbmVycy9yZXNldC1wYXNzd29yZC1wYWdlL3Jlc2V0LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {AuthSandbox} from '../../auth.sandbox';\r\nimport {Credential} from \"../../../api/models/credential\";\r\nimport {AuthService} from \"../../../utilities/auth.service\";\r\n\r\n@Component({\r\n selector: 'app-reset-password-page',\r\n templateUrl: './reset-password-page.component.html',\r\n styleUrls: ['./reset-password-page.component.css']\r\n})\r\nexport class ResetPasswordPageComponent implements OnInit {\r\n\r\n token: string;\r\n decrypted: any;\r\n email: string;\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private sandbox: AuthSandbox, private auth: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n this.token = params['t'];\r\n this.auth.setReset(this.token);\r\n this.decrypted = this.decrypt(this.token);\r\n this.email = this.decrypted.email;\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n resetPassword(credential: Credential) {\r\n this.sandbox.resetPassword(credential);\r\n }\r\n\r\n private decrypt(token): string {\r\n const base64Url = token.split('.')[1];\r\n const base64 = base64Url.replace('-', '+').replace('_', '/');\r\n return JSON.parse(window.atob(base64));\r\n }\r\n}\r\n","export default \"footer {\\r\\n background-color: rgba(0,0,0,0.8);\\r\\n color: white;\\r\\n margin-top: 50px;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.footer_content {\\r\\n width: 50%;\\r\\n margin: 0 auto;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\nfooter h1 {\\r\\n font-weight: bold;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.footer_content .footer_flex {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n margin-top: 10px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\nfooter hr {\\r\\n margin: 10px 0;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQ0FBaUM7SUFDakMsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGNBQWM7SUFDZCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImZvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuOCk7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgcGFkZGluZzogMjBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9jb250ZW50IHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuZm9vdGVyIGgxIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4uZm9vdGVyX2NvbnRlbnQgLmZvb3Rlcl9mbGV4IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5mb290ZXIgaHIge1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","export default \".nav-link {\\r\\n color: rgba(0,0,0,0.7) !important;\\r\\n font-weight: bold;\\r\\n padding: 0;\\r\\n \\r\\n}\\r\\n\\r\\n.nav-link:hover {\\r\\n color: rgba(0,0,0,0.7) !important;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.navbar-dark .navbar-toggler {\\r\\n color: rgba(0,0,0,0.7);\\r\\n border-color: rgba(0,0,0,0.7);\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQ0FBaUM7SUFDakMsaUJBQWlCO0lBQ2pCLFVBQVU7O0FBRWQ7O0FBRUE7SUFDSSxpQ0FBaUM7SUFDakMsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLDZCQUE2QjtBQUNqQyIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdi1saW5rIHtcclxuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIFxyXG59XHJcblxyXG4ubmF2LWxpbms6aG92ZXIge1xyXG4gICAgY29sb3I6IHJnYmEoMCwwLDAsMC43KSAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXIgIHtcclxuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43KTtcclxufSJdfQ== */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {Project} from '../../api/models/project';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.css']\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n\r\n @Input() selectedProject: Project;\r\n @Input() projects: Project[];\r\n @Input() jwt: any;\r\n @Input() loaded: boolean;\r\n\r\n @Output() changeSelectedProject = new EventEmitter();\r\n @Output() logout = new EventEmitter();\r\n\r\n logoSrc;\r\n iconURL;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.iconURL = \"/assets/faviconBuild.png\"\r\n if (window.location.href.includes('powwow')) {\r\n this.logoSrc = \"/assets/logo_powwow.jpeg\";\r\n this.iconURL = \"/assets/faviconPowwow.png\"\r\n document.title = \"Powwow\";\r\n }\r\n // } if (window.location.href.includes('detiffe')) {\r\n // this.logoSrc = \"/assets/logo_marc-detiffe.jpg\";\r\n // this.iconURL = \"/assets/favicon.ico\"\r\n // document.title = \"Marc Detiffe\";\r\n // } \r\n else {\r\n this.logoSrc = \"/assets/logo_buildevolution.png\";\r\n document.title = \"Buildevolution\";\r\n this.iconURL = \"/assets/faviconBuild.png\"\r\n }\r\n \r\n }\r\n\r\n isAdmin(): boolean {\r\n return (this.jwt.isAdmin == 'True');\r\n }\r\n\r\n canAddUser(): boolean {\r\n return (this.jwt.canAddUser == 'True');\r\n }\r\n\r\n onProjectSelected(project: Project) {\r\n this.changeSelectedProject.emit(project);\r\n }\r\n\r\n onLogout() {\r\n this.logout.emit();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbnRhaW5lcnMvbmF2YmFyLXBhZ2UvbmF2YmFyLXBhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport {NavbarSandbox} from '../../navbar.sandbox';\r\nimport {Project} from '../../api/models/project';\r\nimport {Observable} from 'rxjs';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-navbar-page',\r\n templateUrl: './navbar-page.component.html',\r\n styleUrls: ['./navbar-page.component.css']\r\n})\r\nexport class NavbarPageComponent implements OnInit {\r\n\r\n selectedProject$: Observable;\r\n projects$: Observable;\r\n jwt$: Observable;\r\n loaded$: Observable;\r\n constructor(private sandbox: NavbarSandbox, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.selectedProject$ = this.sandbox.getSelectedProject();\r\n this.jwt$ = this.sandbox.getLoggedUser();\r\n this.projects$ = this.sandbox.getProjects();\r\n this.loaded$ = this.sandbox.getLoadedProject();\r\n }\r\n\r\n onLogout() {\r\n this.sandbox.logout();\r\n }\r\n\r\n onSelectedProject(project: Project) {\r\n this.selectedProject$.subscribe(p => {\r\n if (p != project) {\r\n this.sandbox.changeProject(project);\r\n } else {\r\n this.router.navigate(['/user']);\r\n }\r\n }).unsubscribe();\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Store} from '@ngrx/store';\r\nimport * as fromStore from './store/index';\r\nimport {Project} from './api/models/project';\r\nimport {Observable} from 'rxjs';\r\nimport {ClearProject, SelectProject} from './store/actions/project.action';\r\nimport {ClearMedia, LoadMedias, LoadMediasSuccess, SelectMedia} from './store/actions/media.action';\r\nimport {MediaService} from './api/services/media.service';\r\nimport {AuthenticationDisconnection} from './store/actions/authentication.action';\r\nimport {AuthService} from './utilities/auth.service';\r\nimport {ClearMediaType} from './store/actions/media-type.action';\r\nimport {\r\n ClearProjectBookmark, LoadProjectBookmarks,\r\n LoadProjectBookmarksSuccess, SelectProjectBookmark\r\n} from './store/actions/project-bookmark.action';\r\nimport {ClearRole} from './store/actions/role.action';\r\nimport {ClearUser} from './store/actions/user.action';\r\nimport {\r\n ClearUserBookmar, LoadUserBookmarks, LoadUserBookmarksSuccess,\r\n SelectUserBookmark\r\n} from './store/actions/user-bookmark.action';\r\nimport {ClearUserProject, LoadUserProjects, SelectUserProject} from './store/actions/user-project.action';\r\nimport {ClearUrl, LoadUrlSelected, LoadUrlsSuccess} from './store/actions/url.action';\r\nimport ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams;\r\nimport {Media} from './api/models/media';\r\nimport {AWSService} from './api/services/aws.service';\r\nimport ApiAWSGetPrivateURLGetParams = AWSService.ApiAWSGetPrivateURLGetParams;\r\nimport {UserBookmarksService} from './api/services/user-bookmarks.service';\r\nimport ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams = UserBookmarksService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams;\r\nimport {ProjectBookmarksService} from './api/services/project-bookmarks.service';\r\nimport {UserProjectsService} from './api/services/user-projects.service';\r\nimport ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams;\r\nimport {Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class NavbarSandbox {\r\n\r\n constructor(\r\n private router: Router,\r\n private store: Store,\r\n private auth: AuthService,\r\n private mediaService: MediaService,\r\n private awsService: AWSService,\r\n private userBookmarkService: UserBookmarksService,\r\n private projectBookmarksService: ProjectBookmarksService,\r\n private userProjectsService: UserProjectsService\r\n ) {}\r\n\r\n getSelectedProject(): Observable {\r\n return this.store.select(fromStore.getSelectedProject);\r\n }\r\n\r\n getProjects(): Observable {\r\n return this.store.select(fromStore.getProjects);\r\n }\r\n\r\n getToken(): Observable {\r\n return this.store.select(fromStore.getToken);\r\n }\r\n\r\n getLoadedProject(): Observable {\r\n return this.store.select(fromStore.getLoadedProject);\r\n }\r\n\r\n changeProject(project: Project) {\r\n console.log('CHANGE PROJECT IN NAV')\r\n let date;\r\n this.store.dispatch(new ClearMedia());\r\n this.store.dispatch(new ClearUrl());\r\n this.store.dispatch(new LoadMedias());\r\n this.store.dispatch(new SelectProject(project));\r\n \r\n \r\n /* // load project's media\r\n this.loadProjectDatesByProject({\r\n projectFolder: project.folder,\r\n idProject: project.id\r\n }).subscribe((data: any) => {\r\n date = new Date().toDateString();\r\n if (data.length > 0) {\r\n console.log(data[data.length-1].name);\r\n date = data[0].name\r\n }\r\n project.lastDate = date;\r\n \r\n this.loadMediaFromProjectAndPage(project, date);\r\n })*/\r\n\r\n //this.loadMediaFromProjectAndPage(project, date);\r\n this.loadProjectBookmarks(project.id);\r\n // load userprojects and userbookmakrs\r\n this.getLoggedUser().subscribe(response => {\r\n this.loadUserProject(project.id, response.id);\r\n this.loadUserBookmark(project.id, response.id);\r\n }).unsubscribe();\r\n }\r\n\r\n loadMediasByProject(params) {\r\n return this.mediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGet(params);\r\n }\r\n\r\n loadProjectDatesByProject(params) {\r\n return this.mediaService.ApiMediaGetProjectDatesByProjectIdGet(params);\r\n }\r\n\r\n getLoggedUser(): Observable {\r\n return this.store.select(fromStore.getAuthentifiedUser);\r\n }\r\n\r\n logout() {\r\n // clear token remove user from local storage to log user out\r\n this.store.dispatch(new AuthenticationDisconnection());\r\n this.auth.removeToken();\r\n this.auth.removeReset();\r\n this.router.navigate(['/auth']);\r\n // clear all data in the store\r\n this.store.dispatch(new ClearProject());\r\n this.store.dispatch(new ClearMedia());\r\n this.store.dispatch(new ClearMediaType());\r\n this.store.dispatch(new ClearProject());\r\n this.store.dispatch(new ClearProjectBookmark());\r\n this.store.dispatch(new ClearRole());\r\n this.store.dispatch(new ClearUser());\r\n this.store.dispatch(new ClearUserBookmar());\r\n this.store.dispatch(new ClearUserProject());\r\n this.store.dispatch(new ClearUrl());\r\n }\r\n\r\n loadMediaFromProjectAndPage(project, dateString: string) {\r\n console.log('LOAD MEDIA FROM NAVBAR')\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : dateString,\r\n projectFolder : project.folder,\r\n page: 1\r\n };\r\n this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n if (!mediaData.length) {\r\n this.loadMediaFromProjectAndPageAndDate1MonthEarlier(project, params.date);\r\n }\r\n this.store.dispatch(new LoadMediasSuccess(mediaData));\r\n this.store.dispatch(new SelectMedia(mediaData[0]));\r\n console.log('MEDIA DATA =>', mediaData[0])\r\n // load url from s3\r\n this.loadUrl(project.folder, mediaData[0]);\r\n });\r\n }\r\n\r\n loadMediaFromProjectAndPageAndDate1MonthEarlier(project, dateString: string) {\r\n const date = new Date(dateString);\r\n date.setMonth(date.getMonth() - 1);\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : date.toDateString(),\r\n projectFolder : project.folder,\r\n page: 1\r\n };\r\n this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n if (!mediaData.length) {\r\n this.loadMediaFromProjectAndPageAndDate1MonthEarlier(project, params.date);\r\n }\r\n this.store.dispatch(new LoadMediasSuccess(mediaData));\r\n this.store.dispatch(new SelectMedia(mediaData[0]));\r\n // load url from s3\r\n this.loadUrl(project.folder, mediaData[0]);\r\n });\r\n }\r\n\r\n public loadUrl(projectFolder: string, media: Media) {\r\n const params: ApiAWSGetPrivateURLGetParams = {\r\n mediaName: media.name,\r\n projectFolder: projectFolder,\r\n folder: media.folder\r\n };\r\n this.awsService.ApiAWSGetPrivateURLGet(params).subscribe(urlData => {\r\n this.store.dispatch(new LoadUrlSelected(urlData));\r\n });\r\n }\r\n\r\n public loadUserBookmark(projectId: number, userId: number) {\r\n this.store.dispatch(new LoadUserBookmarks());\r\n const params: ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: projectId,\r\n idUser: userId\r\n };\r\n this.userBookmarkService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGet(params).subscribe( bookmarksData => {\r\n this.store.dispatch(new LoadUserBookmarksSuccess(bookmarksData));\r\n this.store.dispatch(new SelectUserBookmark(bookmarksData[0]));\r\n });\r\n }\r\n\r\n public loadProjectBookmarks(projectId: number) {\r\n this.store.dispatch(new LoadProjectBookmarks());\r\n this.projectBookmarksService.ApiProjectBookmarksGetProjectBookmarksByProjectIdByIdProjectGet(projectId). subscribe( bookmarksData => {\r\n bookmarksData.forEach(bookmark => {\r\n this.mediaService.ApiMediaByIdGet(bookmark.projectId).subscribe( mediaData => {\r\n bookmark.media = mediaData;\r\n });\r\n });\r\n this.store.dispatch(new LoadProjectBookmarksSuccess(bookmarksData));\r\n this.store.dispatch(new SelectProjectBookmark(bookmarksData[0]));\r\n });\r\n }\r\n\r\n public loadUserProject(projectId: number, userId: number) {\r\n this.store.dispatch(new LoadUserProjects());\r\n const params: ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: projectId,\r\n idUser: userId\r\n };\r\n this.userProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGet(params)\r\n .subscribe(response => {\r\n this.store.dispatch(new SelectUserProject(response));\r\n });\r\n }\r\n}\r\n","import {Action} from '@ngrx/store';\r\n\r\n// connection\r\nexport const AUTHENTICATION_LOGIN = '[Authentication] Login';\r\nexport const AUTHENTICATION_SUCCESS = '[Authentication] Success';\r\nexport const AUTHENTICATION_FAIL = '[Authentication] Fail';\r\nexport const AUTHENTICATION_USER = '[Authentication] User';\r\n\r\nexport class AuthenticationLogin implements Action {\r\n readonly type = AUTHENTICATION_LOGIN;\r\n}\r\n\r\nexport class AuthenticationSuccess implements Action {\r\n readonly type = AUTHENTICATION_SUCCESS;\r\n constructor(public playload: string) {}\r\n}\r\n\r\nexport class AuthenticationUser implements Action {\r\n readonly type = AUTHENTICATION_USER;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class AuthenticationFail implements Action {\r\n readonly type = AUTHENTICATION_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\n// disconnection\r\nexport const AUTHENTICATION_DISCONNECTION = '[Authentication] Disconnection';\r\n\r\nexport class AuthenticationDisconnection implements Action {\r\n readonly type = AUTHENTICATION_DISCONNECTION;\r\n}\r\n\r\n// action types\r\nexport type AuthenticationAction\r\n = AuthenticationLogin\r\n| AuthenticationSuccess\r\n| AuthenticationUser\r\n| AuthenticationFail\r\n| AuthenticationDisconnection;\r\n\r\n","import {Action} from '@ngrx/store';\r\n\r\n// load config\r\nexport const LOAD_CONFIG = '[Config] Load';\r\nexport const LOAD_CONFIG_FAIL = '[Config] Load Fail';\r\nexport const LOAD_CONFIG_SUCCESS = '[Config] Load Success';\r\n\r\nexport class LoadConfig implements Action {\r\n readonly type = LOAD_CONFIG;\r\n}\r\n\r\nexport class LoadConfigsFail implements Action {\r\n readonly type = LOAD_CONFIG_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadConfigsSuccess implements Action {\r\n readonly type = LOAD_CONFIG_SUCCESS;\r\n constructor(public playload: string[]) {}\r\n}\r\n\r\n// update config\r\nexport const UPDATE_CONFIG = '[Config] Update';\r\n\r\nexport class UpdateConfig implements Action {\r\n readonly type = UPDATE_CONFIG;\r\n constructor(public playload: string[]) {}\r\n}\r\n\r\n// action types\r\nexport type ConfigsAction\r\n = LoadConfig\r\n | LoadConfigsFail\r\n | LoadConfigsSuccess\r\n | UpdateConfig;\r\n","import { Action } from '@ngrx/store';\r\nimport { Device } from '../../api/models/device';\r\n\r\n// load config\r\nexport const LOAD_DEVICES = '[Device] Load';\r\nexport const LOAD_DEVICES_FAIL = '[Device] Load Fail';\r\nexport const LOAD_DEVICES_SUCCESS = '[Device] Load Success';\r\n\r\nexport class LoadDevices implements Action {\r\n readonly type = LOAD_DEVICES;\r\n}\r\n\r\nexport class LoadDevicesFail implements Action {\r\n readonly type = LOAD_DEVICES_FAIL;\r\n constructor(public playload: any) { }\r\n}\r\n\r\nexport class LoadDevicesSuccess implements Action {\r\n readonly type = LOAD_DEVICES_SUCCESS;\r\n constructor(public playload: Device[]) { }\r\n}\r\n\r\n// delete media-type\r\nexport const DELETE_DEVICE = '[Device] Delete';\r\n\r\nexport class DeleteDevice implements Action {\r\n readonly type = DELETE_DEVICE;\r\n constructor(public playload: Device) { }\r\n}\r\n\r\n// select media-type\r\nexport const SELECT_DEVICE = '[Device] Select';\r\n\r\nexport class SelectDevice implements Action {\r\n readonly type = SELECT_DEVICE;\r\n constructor(public playload: Device) { }\r\n}\r\n\r\n// clear Device\r\nexport const CLEAR_DEVICE = '[Device] clear';\r\n\r\nexport class ClearDevice implements Action {\r\n readonly type = CLEAR_DEVICE;\r\n}\r\n\r\n// post command\r\nexport const POST_COMMAND_DEVICE = '[Device] post command';\r\n\r\nexport class PostCommandDevice implements Action {\r\n readonly type = POST_COMMAND_DEVICE;\r\n}\r\n\r\n// post config\r\nexport const POST_CONFIG_DEVICE = '[Device] post config';\r\n\r\nexport class PostConfigDevice implements Action {\r\n readonly type = POST_CONFIG_DEVICE;\r\n}\r\n\r\n// get config\r\nexport const GET_CONFIG_DEVICE = '[Device] get config';\r\n\r\nexport class GetConfigDevice implements Action {\r\n readonly type = GET_CONFIG_DEVICE;\r\n constructor(public playload: string[]) { }\r\n}\r\n\r\n// action types\r\nexport type DevicesAction\r\n = LoadDevices\r\n | LoadDevicesFail\r\n | LoadDevicesSuccess\r\n | DeleteDevice\r\n | SelectDevice\r\n | ClearDevice\r\n | PostCommandDevice\r\n | PostConfigDevice\r\n | GetConfigDevice;\r\n","import {Action} from '@ngrx/store';\r\nimport {MediaType} from '../../api/models/media-type';\r\n\r\n// create media-type\r\nexport const CREATE_MEDIATYPE = '[MediaType] Create';\r\n\r\nexport class CreateMediaType implements Action {\r\n readonly type = CREATE_MEDIATYPE;\r\n constructor(public playload: MediaType) {}\r\n}\r\n\r\n// load media-type\r\nexport const LOAD_MEDIATYPES = '[MediaType] Load';\r\nexport const LOAD_MEDIATYPES_FAIL = '[MediaType] Load Fail';\r\nexport const LOAD_MEDIATYPES_SUCCESS = '[MediaType] Load Success';\r\n\r\nexport class LoadMediaTypes implements Action {\r\n readonly type = LOAD_MEDIATYPES;\r\n}\r\n\r\nexport class LoadMediaTypesFail implements Action {\r\n readonly type = LOAD_MEDIATYPES_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadMediaTypesSuccess implements Action {\r\n readonly type = LOAD_MEDIATYPES_SUCCESS;\r\n constructor(public playload: MediaType[]) {}\r\n}\r\n\r\n// update media-type\r\nexport const UPDATE_MEDIATYPE = '[MediaType] Update';\r\n\r\nexport class UpdateMediaType implements Action {\r\n readonly type = UPDATE_MEDIATYPE;\r\n constructor(public playload: MediaType) {}\r\n}\r\n\r\n// delete media-type\r\nexport const DELETE_MEDIATYPE = '[MediaType] Delete';\r\n\r\nexport class DeleteMediaType implements Action {\r\n readonly type = DELETE_MEDIATYPE;\r\n constructor(public playload: MediaType) {}\r\n}\r\n\r\n// select media-type\r\nexport const SELECT_MEDIATYPE = '[MediaType] Select';\r\n\r\nexport class SelectMediaType implements Action {\r\n readonly type = SELECT_MEDIATYPE;\r\n constructor(public playload: MediaType) {}\r\n}\r\n// clear media-type\r\nexport const CLEAR_MEDIATYPE = '[MediaType] clear';\r\n\r\nexport class ClearMediaType implements Action {\r\n readonly type = CLEAR_MEDIATYPE;\r\n}\r\n\r\n// action types\r\nexport type MediaTypesAction\r\n = CreateMediaType\r\n | LoadMediaTypes\r\n | LoadMediaTypesFail\r\n | LoadMediaTypesSuccess\r\n | UpdateMediaType\r\n | DeleteMediaType\r\n | SelectMediaType\r\n | ClearMediaType;\r\n","import {Action} from '@ngrx/store';\r\nimport {Media} from '../../api/models/media';\r\n\r\n// create media\r\nexport const CREATE_MEDIA = '[Media] Create';\r\n\r\nexport class CreateMedia implements Action {\r\n readonly type = CREATE_MEDIA;\r\n constructor(public playload: Media) {}\r\n}\r\n\r\n// load media\r\nexport const LOAD_MEDIAS = '[Media] Load';\r\nexport const LOAD_MEDIAS_FAIL = '[Media] Load Fail';\r\nexport const LOAD_MEDIAS_SUCCESS = '[Media] Load Success';\r\nexport const LOAD_MEDIAS_PAGE = '[Media] Load Success Page';\r\n\r\nexport class LoadMedias implements Action {\r\n readonly type = LOAD_MEDIAS;\r\n}\r\n\r\nexport class LoadMediasFail implements Action {\r\n readonly type = LOAD_MEDIAS_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadMediasSuccess implements Action {\r\n readonly type = LOAD_MEDIAS_SUCCESS;\r\n constructor(public playload: Media[]) {}\r\n}\r\n\r\nexport class LoadMediasPageSuccess implements Action {\r\n readonly type = LOAD_MEDIAS_PAGE;\r\n constructor(public playload: Media[]) {}\r\n}\r\n\r\n// update media\r\nexport const UPDATE_MEDIA = '[Media] Update';\r\n\r\nexport class UpdateMedia implements Action {\r\n readonly type = UPDATE_MEDIA;\r\n constructor(public playload: Media) {}\r\n}\r\n\r\n// delete media\r\nexport const DELETE_MEDIA = '[Media] Delete';\r\n\r\nexport class DeleteMedia implements Action {\r\n readonly type = DELETE_MEDIA;\r\n constructor(public playload: Media) {}\r\n}\r\n\r\n// select media\r\nexport const SELECT_MEDIA = '[Media] Select';\r\n\r\nexport class SelectMedia implements Action {\r\n readonly type = SELECT_MEDIA;\r\n constructor(public playload: Media) {}\r\n}\r\n\r\n// clear media\r\nexport const CLEAR_MEDIA = '[Media] clear';\r\n\r\nexport class ClearMedia implements Action {\r\n readonly type = CLEAR_MEDIA;\r\n}\r\n\r\n// action types\r\nexport type MediasAction\r\n = CreateMedia\r\n | LoadMedias\r\n | LoadMediasFail\r\n | LoadMediasSuccess\r\n | LoadMediasPageSuccess\r\n | UpdateMedia\r\n | DeleteMedia\r\n | SelectMedia\r\n | ClearMedia;\r\n","import {Action} from '@ngrx/store';\r\nimport {ProjectBookmark} from '../../api/models/project-bookmark';\r\n\r\n// create project-bookmark\r\nexport const CREATE_PROJECTBOOKMARK = '[ProjectBookmark] Create';\r\n\r\nexport class CreateProjectBookmark implements Action {\r\n readonly type = CREATE_PROJECTBOOKMARK;\r\n constructor(public playload: ProjectBookmark) {}\r\n}\r\n\r\n// load project-bookmark\r\nexport const LOAD_PROJECTBOOKMARKS = '[ProjectBookmark] Load';\r\nexport const LOAD_PROJECTBOOKMARKS_FAIL = '[ProjectBookmark] Load Fail';\r\nexport const LOAD_PROJECTBOOKMARKS_SUCCESS = '[ProjectBookmark] Load Success';\r\n\r\nexport class LoadProjectBookmarks implements Action {\r\n readonly type = LOAD_PROJECTBOOKMARKS;\r\n}\r\n\r\nexport class LoadProjectBookmarksFail implements Action {\r\n readonly type = LOAD_PROJECTBOOKMARKS_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadProjectBookmarksSuccess implements Action {\r\n readonly type = LOAD_PROJECTBOOKMARKS_SUCCESS;\r\n constructor(public playload: ProjectBookmark[]) {}\r\n}\r\n\r\n// update project-bookmark\r\nexport const UPDATE_PROJECTBOOKMARK = '[ProjectBookmark] Update';\r\n\r\nexport class UpdateProjectBookmark implements Action {\r\n readonly type = UPDATE_PROJECTBOOKMARK;\r\n constructor(public playload: ProjectBookmark) {}\r\n}\r\n\r\n// delete project-bookmark\r\nexport const DELETE_PROJECTBOOKMARK = '[ProjectBookmark] Delete';\r\n\r\nexport class DeleteProjectBookmark implements Action {\r\n readonly type = DELETE_PROJECTBOOKMARK;\r\n constructor(public playload: ProjectBookmark) {}\r\n}\r\n\r\n// select project-bookmark\r\nexport const SELECT_PROJECTBOOKMARK = '[ProjectBookmark] Select';\r\n\r\nexport class SelectProjectBookmark implements Action {\r\n readonly type = SELECT_PROJECTBOOKMARK;\r\n constructor(public playload: ProjectBookmark) {}\r\n}\r\n\r\n// clear project\r\nexport const CLEAR_PROJECTPROJECTBOOKMARK = '[ProjectBookmark] clear';\r\n\r\nexport class ClearProjectBookmark implements Action {\r\n readonly type = CLEAR_PROJECTPROJECTBOOKMARK;\r\n}\r\n\r\n// action types\r\nexport type ProjectBookmarksAction\r\n = CreateProjectBookmark\r\n | LoadProjectBookmarks\r\n | LoadProjectBookmarksFail\r\n | LoadProjectBookmarksSuccess\r\n | UpdateProjectBookmark\r\n | DeleteProjectBookmark\r\n | SelectProjectBookmark\r\n | ClearProjectBookmark;\r\n","import {Action} from '@ngrx/store';\r\nimport {Project} from '../../api/models/project';\r\n\r\n// create project\r\nexport const CREATE_PROJECT = '[Project] Create';\r\n\r\nexport class CreateProject implements Action {\r\n readonly type = CREATE_PROJECT;\r\n constructor(public playload: Project) {}\r\n}\r\n\r\n// load project\r\nexport const LOAD_PROJECTS = '[Project] Load';\r\nexport const LOAD_PROJECTS_FAIL = '[Project] Load Fail';\r\nexport const LOAD_PROJECTS_SUCCESS = '[Project] Load Success';\r\n\r\nexport class LoadProjects implements Action {\r\n readonly type = LOAD_PROJECTS;\r\n}\r\n\r\nexport class LoadProjectsFail implements Action {\r\n readonly type = LOAD_PROJECTS_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadProjectsSuccess implements Action {\r\n readonly type = LOAD_PROJECTS_SUCCESS;\r\n constructor(public playload: Project[]) {}\r\n}\r\n\r\n// update project\r\nexport const UPDATE_PROJECT = '[Project] Update';\r\n\r\nexport class UpdateProject implements Action {\r\n readonly type = UPDATE_PROJECT;\r\n constructor(public playload: Project) {}\r\n}\r\n\r\n// delete project\r\nexport const DELETE_PROJECT = '[Project] Delete';\r\n\r\nexport class DeleteProject implements Action {\r\n readonly type = DELETE_PROJECT;\r\n constructor(public playload: Project) {}\r\n}\r\n\r\n// select project\r\nexport const SELECT_PROJECT = '[Project] Select';\r\n\r\nexport class SelectProject implements Action {\r\n readonly type = SELECT_PROJECT;\r\n constructor(public playload: Project) {}\r\n}\r\n\r\n// clear project\r\nexport const CLEAR_PROJECT = '[Project] clear';\r\n\r\nexport class ClearProject implements Action {\r\n readonly type = CLEAR_PROJECT;\r\n}\r\n\r\n// action types\r\nexport type ProjectsAction\r\n = CreateProject\r\n | LoadProjects\r\n | LoadProjectsFail\r\n | LoadProjectsSuccess\r\n | UpdateProject\r\n | DeleteProject\r\n | SelectProject\r\n | ClearProject;\r\n","import {Action} from '@ngrx/store';\r\nimport {Role} from '../../api/models/role';\r\n\r\n// create role\r\nexport const CREATE_ROLE = '[Role] Create';\r\n\r\nexport class CreateRole implements Action {\r\n readonly type = CREATE_ROLE;\r\n constructor(public playload: Role) {}\r\n}\r\n\r\n// load role\r\nexport const LOAD_ROLES = '[Role] Load';\r\nexport const LOAD_ROLES_FAIL = '[Role] Load Fail';\r\nexport const LOAD_ROLES_SUCCESS = '[Role] Load Success';\r\n\r\nexport class LoadRoles implements Action {\r\n readonly type = LOAD_ROLES;\r\n}\r\n\r\nexport class LoadRolesFail implements Action {\r\n readonly type = LOAD_ROLES_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadRolesSuccess implements Action {\r\n readonly type = LOAD_ROLES_SUCCESS;\r\n constructor(public playload: Role[]) {}\r\n}\r\n\r\n// update role\r\nexport const UPDATE_ROLE = '[Role] Update';\r\n\r\nexport class UpdateRole implements Action {\r\n readonly type = UPDATE_ROLE;\r\n constructor(public playload: Role) {}\r\n}\r\n\r\n// delete role\r\nexport const DELETE_ROLE = '[Role] Delete';\r\n\r\nexport class DeleteRole implements Action {\r\n readonly type = DELETE_ROLE;\r\n constructor(public playload: Role) {}\r\n}\r\n\r\n// select role\r\nexport const SELECT_ROLE = '[Role] Select';\r\n\r\nexport class SelectRole implements Action {\r\n readonly type = SELECT_ROLE;\r\n constructor(public playload: Role) {}\r\n}\r\n\r\n// clear role\r\nexport const CLEAR_ROLE = '[Role] clear';\r\n\r\nexport class ClearRole implements Action {\r\n readonly type = CLEAR_ROLE;\r\n}\r\n\r\n// action types\r\nexport type RolesAction\r\n = CreateRole\r\n | LoadRoles\r\n | LoadRolesFail\r\n | LoadRolesSuccess\r\n | UpdateRole\r\n | DeleteRole\r\n | SelectRole\r\n | ClearRole;\r\n","import {Action} from '@ngrx/store';\r\n\r\n// load url\r\nexport const LOAD_URLS = '[Url] Load';\r\nexport const LOAD_URLS_FAIL = '[Url] Load Fail';\r\nexport const LOAD_URLS_SUCCESS = '[Url] Load Success';\r\nexport const LOAD_URL_SELECTED = '[Url] Load Selected'\r\nexport const LOAD_URL_SHARED = '[Url] Load Shared'\r\n\r\nexport class LoadUrls implements Action {\r\n readonly type = LOAD_URLS;\r\n}\r\n\r\nexport class LoadUrlsFail implements Action {\r\n readonly type = LOAD_URLS_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadUrlsSuccess implements Action {\r\n readonly type = LOAD_URLS_SUCCESS;\r\n constructor(public playload: string[]) {}\r\n}\r\n\r\nexport class LoadUrlSelected implements Action {\r\n readonly type = LOAD_URL_SELECTED;\r\n constructor(public playload: string) {}\r\n}\r\n\r\nexport class LoadUrlShared implements Action {\r\n readonly type = LOAD_URL_SHARED;\r\n constructor(public playload: string) {}\r\n}\r\n\r\n// clear url\r\nexport const CLEAR_URL = '[Url] clear';\r\n\r\nexport class ClearUrl implements Action {\r\n readonly type = CLEAR_URL;\r\n}\r\n\r\n// action types\r\nexport type UrlsAction\r\n = LoadUrls\r\n | LoadUrlsFail\r\n | LoadUrlsSuccess\r\n | LoadUrlSelected\r\n | LoadUrlShared\r\n | ClearUrl;\r\n","import {Action} from '@ngrx/store';\r\nimport {UserBookmark} from '../../api/models/user-bookmark';\r\n\r\n// create user-bookmark\r\nexport const CREATE_USERBOOKMARK = '[UserBookmark] Create';\r\n\r\nexport class CreateUserBookmark implements Action {\r\n readonly type = CREATE_USERBOOKMARK;\r\n constructor(public playload: UserBookmark) {}\r\n}\r\n\r\n// load user-bookmark\r\nexport const LOAD_USERBOOKMARKS = '[UserBookmark] Load';\r\nexport const LOAD_USERBOOKMARKS_FAIL = '[UserBookmark] Load Fail';\r\nexport const LOAD_USERBOOKMARKS_SUCCESS = '[UserBookmark] Load Success';\r\n\r\nexport class LoadUserBookmarks implements Action {\r\n readonly type = LOAD_USERBOOKMARKS;\r\n}\r\n\r\nexport class LoadUserBookmarksFail implements Action {\r\n readonly type = LOAD_USERBOOKMARKS_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadUserBookmarksSuccess implements Action {\r\n readonly type = LOAD_USERBOOKMARKS_SUCCESS;\r\n constructor(public playload: UserBookmark[]) {}\r\n}\r\n\r\n// update user-bookmark\r\nexport const UPDATE_USERBOOKMARK = '[UserBookmark] Update';\r\n\r\nexport class UpdateUserBookmark implements Action {\r\n readonly type = UPDATE_USERBOOKMARK;\r\n constructor(public playload: UserBookmark) {}\r\n}\r\n\r\n// delete user-bookmark\r\nexport const DELETE_USERBOOKMARK = '[UserBookmark] Delete';\r\n\r\nexport class DeleteUserBookmark implements Action {\r\n readonly type = DELETE_USERBOOKMARK;\r\n constructor(public playload: UserBookmark) {}\r\n}\r\n\r\n// select user-bookmark\r\nexport const SELECT_USERBOOKMARK = '[UserBookmark] Select';\r\n\r\nexport class SelectUserBookmark implements Action {\r\n readonly type = SELECT_USERBOOKMARK;\r\n constructor(public playload: UserBookmark) {}\r\n}\r\n\r\n// clear user-bookmark\r\nexport const CLEAR_USERBOOKMAR = '[UserBookmark] clear';\r\n\r\nexport class ClearUserBookmar implements Action {\r\n readonly type = CLEAR_USERBOOKMAR;\r\n}\r\n\r\n// action types\r\nexport type UserBookmarksAction\r\n = CreateUserBookmark\r\n | LoadUserBookmarks\r\n | LoadUserBookmarksFail\r\n | LoadUserBookmarksSuccess\r\n | UpdateUserBookmark\r\n | DeleteUserBookmark\r\n | SelectUserBookmark\r\n | ClearUserBookmar;\r\n","import {Action} from '@ngrx/store';\r\nimport {UserProject} from '../../api/models/user-project';\r\n\r\n// create user-project\r\nexport const CREATE_USERPROJECT = '[UserProject] Create';\r\n\r\nexport class CreateUserProject implements Action {\r\n readonly type = CREATE_USERPROJECT;\r\n constructor(public playload: UserProject) {}\r\n}\r\n\r\n// load user-project\r\nexport const LOAD_USERPROJECTS = '[UserProject] Load';\r\nexport const LOAD_USERPROJECTS_FAIL = '[UserProject] Load Fail';\r\nexport const LOAD_USERPROJECTS_SUCCESS = '[UserProject] Load Success';\r\n\r\nexport class LoadUserProjects implements Action {\r\n readonly type = LOAD_USERPROJECTS;\r\n}\r\n\r\nexport class LoadUserProjectsFail implements Action {\r\n readonly type = LOAD_USERPROJECTS_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadUserProjectsSuccess implements Action {\r\n readonly type = LOAD_USERPROJECTS_SUCCESS;\r\n constructor(public playload: UserProject[]) {}\r\n}\r\n\r\n// update user-project\r\nexport const UPDATE_USERPROJECT = '[UserProject] Update';\r\n\r\nexport class UpdateUserProject implements Action {\r\n readonly type = UPDATE_USERPROJECT;\r\n constructor(public playload: UserProject) {}\r\n}\r\n\r\n// delete user-project\r\nexport const DELETE_USERPROJECT = '[UserProject] Delete';\r\n\r\nexport class DeleteUserProject implements Action {\r\n readonly type = DELETE_USERPROJECT;\r\n constructor(public playload: UserProject) {}\r\n}\r\n\r\n// select user-project\r\nexport const SELECT_USERPROJECT = '[UserProject] Select';\r\n\r\nexport class SelectUserProject implements Action {\r\n readonly type = SELECT_USERPROJECT;\r\n constructor(public playload: UserProject) {}\r\n}\r\n\r\n// clear user-project\r\nexport const CLEAR_USERPROJECT = '[User] clear';\r\n\r\nexport class ClearUserProject implements Action {\r\n readonly type = CLEAR_USERPROJECT;\r\n}\r\n\r\n// action types\r\nexport type UserProjectsAction\r\n = CreateUserProject\r\n | LoadUserProjects\r\n | LoadUserProjectsFail\r\n | LoadUserProjectsSuccess\r\n | UpdateUserProject\r\n | DeleteUserProject\r\n | SelectUserProject\r\n | ClearUserProject;\r\n","import {Action} from '@ngrx/store';\r\nimport {User} from '../../api/models/user';\r\n\r\n// create user\r\nexport const CREATE_USER = '[User] Create';\r\n\r\nexport class CreateUser implements Action {\r\n readonly type = CREATE_USER;\r\n constructor(public playload: User) {}\r\n}\r\n\r\n// load user\r\nexport const LOAD_USERS = '[User] Load';\r\nexport const LOAD_USERS_FAIL = '[User] Load Fail';\r\nexport const LOAD_USERS_SUCCESS = '[User] Load Success';\r\n\r\nexport class LoadUsers implements Action {\r\n readonly type = LOAD_USERS;\r\n}\r\n\r\nexport class LoadUsersFail implements Action {\r\n readonly type = LOAD_USERS_FAIL;\r\n constructor(public playload: any) {}\r\n}\r\n\r\nexport class LoadUsersSuccess implements Action {\r\n readonly type = LOAD_USERS_SUCCESS;\r\n constructor(public playload: User[]) {}\r\n}\r\n\r\n// update user\r\nexport const UPDATE_USER = '[User] Update';\r\n\r\nexport class UpdateUser implements Action {\r\n readonly type = UPDATE_USER;\r\n constructor(public playload: User) {}\r\n}\r\n\r\n// delete user\r\nexport const DELETE_USER = '[User] Delete';\r\n\r\nexport class DeleteUser implements Action {\r\n readonly type = DELETE_USER;\r\n constructor(public playload: User) {}\r\n}\r\n\r\n// select user\r\nexport const SELECT_USER = '[User] Select';\r\n\r\nexport class SelectUser implements Action {\r\n readonly type = SELECT_USER;\r\n constructor(public playload: User) {}\r\n}\r\n\r\n// clear user\r\nexport const CLEAR_USER = '[User] clear';\r\n\r\nexport class ClearUser implements Action {\r\n readonly type = CLEAR_USER;\r\n}\r\n\r\n// action types\r\nexport type UsersAction\r\n = CreateUser\r\n | LoadUsers\r\n | LoadUsersFail\r\n | LoadUsersSuccess\r\n | UpdateUser\r\n | DeleteUser\r\n | SelectUser\r\n | ClearUser;\r\n","import {ActionReducerMap, createSelector} from '@ngrx/store';\r\n\r\n// media\r\nimport * as fromMedia from './reducers/media.reducer';\r\n// media-type\r\nimport * as fromMediaTypes from './reducers/media-type.reducer';\r\n// project\r\nimport * as fromProjects from './reducers/project.reducer';\r\n// project-bookmark\r\nimport * as fromProjectBookmarks from './reducers/project-bookmark.reducer';\r\n// role\r\nimport * as fromRoles from './reducers/role.reducer';\r\n// user\r\nimport * as fromUsers from './reducers/user.reducer';\r\n// user-bookmark\r\nimport * as fromUserBookmarks from './reducers/user-bookmark.reducer';\r\n// user-project\r\nimport * as fromUserProjects from './reducers/user-project.reducer';\r\n// authentication\r\nimport * as fromAuthentication from './reducers/authentication.reducer';\r\n// url\r\nimport * as fromUrl from './reducers/url.reducer';\r\n// config\r\nimport * as fromConfig from './reducers/config.reducer';\r\n// device\r\nimport * as fromDevice from './reducers/device.reducer';\r\n\r\nexport interface StoreState {\r\n media: fromMedia.MediaState;\r\n mediaTypes: fromMediaTypes.MediaTypeState;\r\n projects: fromProjects.ProjectState;\r\n projectBookmarks: fromProjectBookmarks.ProjectBookmarkState;\r\n roles: fromRoles.RoleState;\r\n users: fromUsers.UserState;\r\n userBookmarks: fromUserBookmarks.UserBookmarkState;\r\n userProjects: fromUserProjects.UserProjectState;\r\n authentication: fromAuthentication.AuthenticationState;\r\n url: fromUrl.UrlState;\r\n config: fromConfig.ConfigState;\r\n device: fromDevice.DeviceState;\r\n}\r\n\r\n// all reducers\r\nexport const reducers: ActionReducerMap = {\r\n media: fromMedia.reducer,\r\n mediaTypes: fromMediaTypes.reducer,\r\n projects: fromProjects.reducer,\r\n projectBookmarks: fromProjectBookmarks.reducer,\r\n roles: fromRoles.reducer,\r\n users: fromUsers.reducer,\r\n userBookmarks: fromUserBookmarks.reducer,\r\n userProjects: fromUserProjects.reducer,\r\n authentication: fromAuthentication.reducer,\r\n url: fromUrl.reducer,\r\n config: fromConfig.reducer,\r\n device: fromDevice.reducer\r\n};\r\n\r\n// media store functions\r\nexport const getMediaState = (state: StoreState) => state.media;\r\nexport const getMedia = createSelector(getMediaState, fromMedia.getMedias);\r\nexport const getSelectedMedia = createSelector(getMediaState, fromMedia.getSelectedMedia);\r\nexport const getLoadingMedia = createSelector(getMediaState, fromMedia.getLoading);\r\nexport const getLoadedMedia = createSelector(getMediaState, fromMedia.getLoaded);\r\n\r\n// media-type store functions\r\nexport const getMediaTypeState = (state: StoreState) => state.mediaTypes;\r\nexport const getMediaTypes = createSelector(getMediaTypeState, fromMediaTypes.getMediaTypes);\r\nexport const getSelectedMediaType = createSelector(getMediaTypeState, fromMediaTypes.getSelectedMediaType);\r\nexport const getLoadingMediaType = createSelector(getMediaTypeState, fromMediaTypes.getLoading);\r\nexport const getLoadedMediaType = createSelector(getMediaTypeState, fromMediaTypes.getLoaded);\r\n\r\n// project store functions\r\nexport const getProjectState = (state: StoreState) => state.projects;\r\nexport const getProjects = createSelector(getProjectState, fromProjects.getProjects);\r\nexport const getSelectedProject = createSelector(getProjectState, fromProjects.getSelectedProject);\r\nexport const getLoadingProject = createSelector(getProjectState, fromProjects.getLoading);\r\nexport const getLoadedProject = createSelector(getProjectState, fromProjects.getLoaded);\r\n\r\n// project-bookmark store functions\r\nexport const getProjectBookmarkState = (state: StoreState) => state.projectBookmarks;\r\nexport const getProjectBookmarks = createSelector(getProjectBookmarkState, fromProjectBookmarks.getProjectBookmarks);\r\nexport const getSelectedProjectBookmark = createSelector(getProjectBookmarkState, fromProjectBookmarks.getSelectedProjectBookmark);\r\nexport const getLoadingProjectBookmark = createSelector(getProjectBookmarkState, fromProjectBookmarks.getLoading);\r\nexport const getLoadedProjectBookmark = createSelector(getProjectBookmarkState, fromProjectBookmarks.getLoaded);\r\n\r\n// role store functions\r\nexport const getRoleState = (state: StoreState) => state.roles;\r\nexport const getRoles = createSelector(getRoleState, fromRoles.getRoles);\r\nexport const getSelectedRole = createSelector(getRoleState, fromRoles.getSelectedRole);\r\nexport const getLoadingRole = createSelector(getRoleState, fromRoles.getLoading);\r\nexport const getLoadedRole = createSelector(getRoleState, fromRoles.getLoaded);\r\n\r\n// user store functions\r\nexport const getUserState = (state: StoreState) => state.users;\r\nexport const getUsers = createSelector(getUserState, fromUsers.getUsers);\r\nexport const getSelectedUser = createSelector(getUserState, fromUsers.getSelectedUser);\r\nexport const getLoadingUser = createSelector(getUserState, fromUsers.getLoading);\r\nexport const getLoadedUser = createSelector(getUserState, fromUsers.getLoaded);\r\n\r\n// user-bookmark store functions\r\nexport const getUserBookmarState = (state: StoreState) => state.userBookmarks;\r\nexport const getUserBookmarks = createSelector(getUserBookmarState, fromUserBookmarks.getUserBookmarks);\r\nexport const getSelectedUserBookmark = createSelector(getUserBookmarState, fromUserBookmarks.getSelectedUserBookmark);\r\nexport const getLoadingUserBookmark = createSelector(getUserBookmarState, fromUserBookmarks.getLoading);\r\nexport const getLoadedUserBookmark = createSelector(getUserBookmarState, fromUserBookmarks.getLoaded);\r\n\r\n// user-project store functions\r\nexport const getUserProjectState = (state: StoreState) => state.userProjects;\r\nexport const getUserProjects = createSelector(getUserProjectState, fromUserProjects.getUserProjects);\r\nexport const getSelectedUserProject = createSelector(getUserProjectState, fromUserProjects.getSelectedUserProject);\r\nexport const getLoadingUserProject = createSelector(getUserProjectState, fromUserProjects.getLoading);\r\nexport const getLoadedUserProject = createSelector(getUserProjectState, fromUserProjects.getLoaded);\r\n\r\n// Authentication store functions\r\nexport const getAuthenticationState = (state: StoreState) => state.authentication;\r\nexport const getToken = createSelector(getAuthenticationState, fromAuthentication.getToken);\r\nexport const getAuthentifiedUser = createSelector(getAuthenticationState, fromAuthentication.getUser);\r\nexport const getLoadingToken = createSelector(getAuthenticationState, fromAuthentication.getLoading);\r\nexport const getLoadedToken = createSelector(getAuthenticationState, fromAuthentication.getLoaded);\r\nexport const getAuthenticationFail = createSelector(getAuthenticationState, fromAuthentication.getFail);\r\n\r\n// Url store functions\r\nexport const getUrlState = (state: StoreState) => state.url;\r\nexport const getPreviewUrls = createSelector(getUrlState, fromUrl.getUrls);\r\nexport const getShareUrl = createSelector(getUrlState, fromUrl.getShareUrl);\r\nexport const getUrl = createSelector(getUrlState, fromUrl.getSelectedUrl);\r\nexport const getLoadingUrl = createSelector(getUrlState, fromUrl.getLoading);\r\nexport const getLoadedUrl = createSelector(getUrlState, fromUrl.getLoaded);\r\n\r\n// config store functions\r\nexport const getConfigState = (state: StoreState) => state.config;\r\nexport const getConfig = createSelector(getConfigState, fromConfig.getConfig);\r\nexport const getLoadingConfig = createSelector(getConfigState, fromConfig.getLoading);\r\nexport const getLoadedConfig = createSelector(getConfigState, fromConfig.getLoaded);\r\n\r\n// device store functions\r\nexport const getDeviceState = (state: StoreState) => state.device;\r\nexport const getDevices = createSelector(getDeviceState, fromDevice.getDevices);\r\nexport const getSelectedDevice = createSelector(getDeviceState, fromDevice.getSelectedDevice);\r\nexport const getLoadingDevice = createSelector(getDeviceState, fromDevice.getLoading);\r\nexport const getLoadedDevice = createSelector(getDeviceState, fromDevice.getLoaded);\r\nexport const getConfigDevice = createSelector(getDeviceState, fromDevice.getConfigDevice);\r\n","import * as fromAuthentication from '../actions/authentication.action';\r\n\r\nexport interface AuthenticationState {\r\n token: string;\r\n user: any;\r\n loaded: boolean;\r\n loading: boolean;\r\n fail: boolean;\r\n}\r\n\r\nexport const initialState: AuthenticationState = {\r\n token: null,\r\n user: null,\r\n loaded: false,\r\n loading: false,\r\n fail: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromAuthentication.AuthenticationAction): AuthenticationState {\r\n\r\n switch (action.type) {\r\n\r\n case fromAuthentication.AUTHENTICATION_LOGIN: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromAuthentication.AUTHENTICATION_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false,\r\n fail: true\r\n };\r\n }\r\n\r\n case fromAuthentication.AUTHENTICATION_SUCCESS: {\r\n return {\r\n ...state,\r\n token: action.playload,\r\n loading: false,\r\n loaded: true,\r\n fail: false\r\n };\r\n }\r\n\r\n case fromAuthentication.AUTHENTICATION_USER: {\r\n return {\r\n ...state,\r\n user: action.playload\r\n };\r\n }\r\n\r\n case fromAuthentication.AUTHENTICATION_DISCONNECTION: {\r\n return initialState;\r\n }\r\n\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: AuthenticationState) => state.loading;\r\nexport const getLoaded = (state: AuthenticationState) => state.loaded;\r\nexport const getToken = (state: AuthenticationState) => state.token;\r\nexport const getUser = (state: AuthenticationState) => state.user;\r\nexport const getFail = (state: AuthenticationState) => state.fail;\r\n","import * as fromConfigs from '../actions/config.action';\r\n\r\nexport interface ConfigState {\r\n data: string[];\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: ConfigState = {\r\n data: [],\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromConfigs.ConfigsAction): ConfigState {\r\n\r\n switch (action.type) {\r\n\r\n case fromConfigs.LOAD_CONFIG: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromConfigs.LOAD_CONFIG_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromConfigs.LOAD_CONFIG_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromConfigs.UPDATE_CONFIG: {\r\n state.data = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: ConfigState) => state.loading;\r\nexport const getLoaded = (state: ConfigState) => state.loaded;\r\nexport const getConfig = (state: ConfigState) => state.data;\r\n","import { Device } from '../../api/models/device';\r\nimport * as fromDevices from '../actions/device.action';\r\n\r\nexport interface DeviceState {\r\n data: Device[];\r\n selected: Device;\r\n loaded: boolean;\r\n loading: boolean;\r\n config: string[];\r\n}\r\n\r\nexport const initialState: DeviceState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false,\r\n config: []\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromDevices.DevicesAction): DeviceState {\r\n\r\n switch (action.type) {\r\n\r\n case fromDevices.LOAD_DEVICES: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromDevices.LOAD_DEVICES_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromDevices.LOAD_DEVICES_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromDevices.DELETE_DEVICE: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromDevices.SELECT_DEVICE: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromDevices.CLEAR_DEVICE: {\r\n return initialState;\r\n }\r\n\r\n case fromDevices.POST_COMMAND_DEVICE: {\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromDevices.POST_CONFIG_DEVICE: {\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromDevices.GET_CONFIG_DEVICE: {\r\n state.config = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: DeviceState) => state.loading;\r\nexport const getLoaded = (state: DeviceState) => state.loaded;\r\nexport const getDevices = (state: DeviceState) => state.data;\r\nexport const getSelectedDevice = (state: DeviceState) => state.selected;\r\nexport const getConfigDevice = (state: DeviceState) => state.config;\r\n","import {MediaType} from '../../api/models/media-type';\r\nimport * as fromMediaTypes from '../actions/media-type.action';\r\n\r\nexport interface MediaTypeState {\r\n data: MediaType[];\r\n selected: MediaType;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: MediaTypeState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromMediaTypes.MediaTypesAction): MediaTypeState {\r\n\r\n switch (action.type) {\r\n\r\n case fromMediaTypes.CREATE_MEDIATYPE: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromMediaTypes.LOAD_MEDIATYPES: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromMediaTypes.LOAD_MEDIATYPES_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromMediaTypes.LOAD_MEDIATYPES_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromMediaTypes.UPDATE_MEDIATYPE: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromMediaTypes.DELETE_MEDIATYPE: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromMediaTypes.SELECT_MEDIATYPE: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromMediaTypes.CLEAR_MEDIATYPE: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: MediaTypeState) => state.loading;\r\nexport const getLoaded = (state: MediaTypeState) => state.loaded;\r\nexport const getMediaTypes = (state: MediaTypeState) => state.data;\r\nexport const getSelectedMediaType = (state: MediaTypeState) => state.selected;\r\n","import {Media} from '../../api/models/media';\r\nimport * as fromMedias from '../actions/media.action';\r\n\r\nexport interface MediaState {\r\n data: Media[];\r\n selected: Media;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: MediaState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromMedias.MediasAction): MediaState {\r\n\r\n switch (action.type) {\r\n\r\n case fromMedias.CREATE_MEDIA: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromMedias.LOAD_MEDIAS: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromMedias.LOAD_MEDIAS_SUCCESS: {\r\n const newdata = state.data.concat(action.playload.filter(function (item) {\r\n return state.data.every(m => m.id != item.id);\r\n })).sort((a, b) => b.name.localeCompare(a.name) );\r\n return {\r\n ...state,\r\n data: newdata,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromMedias.LOAD_MEDIAS_PAGE: {\r\n const newdata = state.data.concat(action.playload.filter(function (item) {\r\n return state.data.every(m => m.id != item.id);\r\n })).sort((a, b) => b.name.localeCompare(a.name) );\r\n return {\r\n ...state,\r\n data: newdata,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromMedias.LOAD_MEDIAS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromMedias.UPDATE_MEDIA: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromMedias.DELETE_MEDIA: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromMedias.SELECT_MEDIA: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromMedias.CLEAR_MEDIA: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: MediaState) => state.loading;\r\nexport const getLoaded = (state: MediaState) => state.loaded;\r\nexport const getMedias = (state: MediaState) => state.data;\r\nexport const getSelectedMedia = (state: MediaState) => state.selected;\r\n","import {ProjectBookmark} from '../../api/models/project-bookmark';\r\nimport * as fromProjectBookmarks from '../actions/project-bookmark.action';\r\n\r\nexport interface ProjectBookmarkState {\r\n data: ProjectBookmark[];\r\n selected: ProjectBookmark;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: ProjectBookmarkState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromProjectBookmarks.ProjectBookmarksAction): ProjectBookmarkState {\r\n\r\n switch (action.type) {\r\n\r\n case fromProjectBookmarks.CREATE_PROJECTBOOKMARK: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromProjectBookmarks.LOAD_PROJECTBOOKMARKS: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromProjectBookmarks.LOAD_PROJECTBOOKMARKS_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromProjectBookmarks.LOAD_PROJECTBOOKMARKS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromProjectBookmarks.UPDATE_PROJECTBOOKMARK: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromProjectBookmarks.DELETE_PROJECTBOOKMARK: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromProjectBookmarks.SELECT_PROJECTBOOKMARK: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromProjectBookmarks.CLEAR_PROJECTPROJECTBOOKMARK: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: ProjectBookmarkState) => state.loading;\r\nexport const getLoaded = (state: ProjectBookmarkState) => state.loaded;\r\nexport const getProjectBookmarks = (state: ProjectBookmarkState) => state.data;\r\nexport const getSelectedProjectBookmark = (state: ProjectBookmarkState) => state.selected;\r\n","import {Project} from '../../api/models/project';\r\nimport * as fromProjects from '../actions/project.action';\r\n\r\nexport interface ProjectState {\r\n data: Project[];\r\n selected: Project;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: ProjectState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromProjects.ProjectsAction): ProjectState {\r\n\r\n switch (action.type) {\r\n\r\n case fromProjects.CREATE_PROJECT: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromProjects.LOAD_PROJECTS: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromProjects.LOAD_PROJECTS_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromProjects.LOAD_PROJECTS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromProjects.UPDATE_PROJECT: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromProjects.DELETE_PROJECT: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromProjects.SELECT_PROJECT: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromProjects.CLEAR_PROJECT: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: ProjectState) => state.loading;\r\nexport const getLoaded = (state: ProjectState) => state.loaded;\r\nexport const getProjects = (state: ProjectState) => state.data;\r\nexport const getSelectedProject = (state: ProjectState) => state.selected;\r\n","import {Role} from '../../api/models/role';\r\nimport * as fromRoles from '../actions/role.action';\r\n\r\nexport interface RoleState {\r\n data: Role[];\r\n selected: Role;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: RoleState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromRoles.RolesAction): RoleState {\r\n\r\n switch (action.type) {\r\n\r\n case fromRoles.CREATE_ROLE: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromRoles.LOAD_ROLES: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromRoles.LOAD_ROLES_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromRoles.LOAD_ROLES_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromRoles.UPDATE_ROLE: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromRoles.DELETE_ROLE: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromRoles.SELECT_ROLE: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromRoles.CLEAR_ROLE: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: RoleState) => state.loading;\r\nexport const getLoaded = (state: RoleState) => state.loaded;\r\nexport const getRoles = (state: RoleState) => state.data;\r\nexport const getSelectedRole = (state: RoleState) => state.selected;\r\n","import * as fromUrls from '../actions/url.action';\r\n\r\nexport interface UrlState {\r\n data: string[];\r\n selected: string;\r\n shared: string;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: UrlState = {\r\n data: [],\r\n selected: null,\r\n shared: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromUrls.UrlsAction): UrlState {\r\n\r\n switch (action.type) {\r\n\r\n case fromUrls.LOAD_URLS: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromUrls.LOAD_URLS_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromUrls.LOAD_URLS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromUrls.LOAD_URL_SELECTED: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromUrls.LOAD_URL_SHARED: {\r\n return {\r\n ...state,\r\n shared: action.playload\r\n };\r\n }\r\n\r\n case fromUrls.CLEAR_URL: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: UrlState) => state.loading;\r\nexport const getLoaded = (state: UrlState) => state.loaded;\r\nexport const getUrls = (state: UrlState) => state.data;\r\nexport const getSelectedUrl = (state: UrlState) => state.selected;\r\nexport const getShareUrl = (state: UrlState) => state.shared;\r\n","import {UserBookmark} from '../../api/models/user-bookmark';\r\nimport * as fromUserBookmarks from '../actions/user-bookmark.action';\r\n\r\nexport interface UserBookmarkState {\r\n data: UserBookmark[];\r\n selected: UserBookmark;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: UserBookmarkState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromUserBookmarks.UserBookmarksAction): UserBookmarkState {\r\n\r\n switch (action.type) {\r\n\r\n case fromUserBookmarks.CREATE_USERBOOKMARK: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUserBookmarks.LOAD_USERBOOKMARKS: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromUserBookmarks.LOAD_USERBOOKMARKS_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromUserBookmarks.LOAD_USERBOOKMARKS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromUserBookmarks.UPDATE_USERBOOKMARK: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUserBookmarks.DELETE_USERBOOKMARK: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUserBookmarks.SELECT_USERBOOKMARK: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromUserBookmarks.CLEAR_USERBOOKMAR: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: UserBookmarkState) => state.loading;\r\nexport const getLoaded = (state: UserBookmarkState) => state.loaded;\r\nexport const getUserBookmarks = (state: UserBookmarkState) => state.data;\r\nexport const getSelectedUserBookmark = (state: UserBookmarkState) => state.selected;\r\n","import {UserProject} from '../../api/models/user-project';\r\nimport * as fromUserProjects from '../actions/user-project.action';\r\n\r\nexport interface UserProjectState {\r\n data: UserProject[];\r\n selected: UserProject;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: UserProjectState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromUserProjects.UserProjectsAction): UserProjectState {\r\n\r\n switch (action.type) {\r\n\r\n case fromUserProjects.CREATE_USERPROJECT: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUserProjects.LOAD_USERPROJECTS: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromUserProjects.LOAD_USERPROJECTS_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromUserProjects.LOAD_USERPROJECTS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromUserProjects.UPDATE_USERPROJECT: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUserProjects.DELETE_USERPROJECT: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUserProjects.SELECT_USERPROJECT: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromUserProjects.CLEAR_USERPROJECT: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: UserProjectState) => state.loading;\r\nexport const getLoaded = (state: UserProjectState) => state.loaded;\r\nexport const getUserProjects = (state: UserProjectState) => state.data;\r\nexport const getSelectedUserProject = (state: UserProjectState) => state.selected;\r\n","import {User} from '../../api/models/user';\r\nimport * as fromUsers from '../actions/user.action';\r\n\r\nexport interface UserState {\r\n data: User[];\r\n selected: User;\r\n loaded: boolean;\r\n loading: boolean;\r\n}\r\n\r\nexport const initialState: UserState = {\r\n data: [],\r\n selected: null,\r\n loaded: false,\r\n loading: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromUsers.UsersAction): UserState {\r\n\r\n switch (action.type) {\r\n\r\n case fromUsers.CREATE_USER: {\r\n state.data.push(action.playload);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUsers.LOAD_USERS: {\r\n return {\r\n ...state,\r\n loading: true\r\n };\r\n }\r\n\r\n case fromUsers.LOAD_USERS_SUCCESS: {\r\n return {\r\n ...state,\r\n data: action.playload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n\r\n case fromUsers.LOAD_USERS_FAIL: {\r\n return {\r\n ...state,\r\n loading: false,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromUsers.UPDATE_USER: {\r\n const index: number = state.data.indexOf(\r\n state.data.filter( p => p.id == action.playload.id)[0]\r\n );\r\n state.data[index] = action.playload;\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUsers.DELETE_USER: {\r\n state.data.splice(state.data.indexOf(action.playload), 1);\r\n return {\r\n ...state\r\n };\r\n }\r\n\r\n case fromUsers.SELECT_USER: {\r\n return {\r\n ...state,\r\n selected: action.playload\r\n };\r\n }\r\n\r\n case fromUsers.CLEAR_USER: {\r\n return initialState;\r\n }\r\n }\r\n return state;\r\n}\r\n\r\n// selectors\r\nexport const getLoading = (state: UserState) => state.loading;\r\nexport const getLoaded = (state: UserState) => state.loaded;\r\nexport const getUsers = (state: UserState) => state.data;\r\nexport const getSelectedUser = (state: UserState) => state.selected;\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9ib29rbWFyay1mb3JtL2Jvb2ttYXJrLWZvcm0uY29tcG9uZW50LmNzcyJ9 */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {UserBookmark} from '../../../api/models/user-bookmark';\r\nimport {ProjectBookmark} from '../../../api/models/project-bookmark';\r\nimport {Media} from '../../../api/models/media';\r\n\r\n@Component({\r\n selector: 'app-bookmark-form',\r\n templateUrl: './bookmark-form.component.html',\r\n styleUrls: ['./bookmark-form.component.css']\r\n})\r\nexport class BookmarkFormComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n @Input() bookmark: UserBookmark | ProjectBookmark;\r\n @Input() media: Media;\r\n @Input() url: string;\r\n @Output() save: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n date: Date;\r\n isPublic: boolean;\r\n projectBookmark: boolean;\r\n userBookmark: boolean;\r\n\r\n ngOnInit() {\r\n this.isPublic = false;\r\n this.projectBookmark = false;\r\n this.userBookmark = false;\r\n if ((this.bookmark).projectId) {\r\n this.projectBookmark = true;\r\n } else if ((this.bookmark).userProjectId) {\r\n this.userBookmark = true;\r\n }\r\n this.bookmark.mediaId = this.media.id;\r\n this.date = new Date(this.media.name.slice(0, 4) + '-'\r\n + this.media.name.slice(4, 6) + '-'\r\n + this.media.name.slice(6, 8));\r\n this.bookmark.date = this.date.toDateString();\r\n }\r\n\r\n onSave() {\r\n if (this.isPublic) {\r\n const projectBookmark: ProjectBookmark = {\r\n mediaId: this.media.id,\r\n // projectId : ,\r\n title: this.bookmark.title,\r\n text: this.bookmark.text,\r\n date: this.bookmark.date\r\n };\r\n this.save.emit(projectBookmark);\r\n }\r\n this.save.emit(this.bookmark);\r\n }\r\n\r\n onCancel() {\r\n this.cancel.emit('');\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9ib29rbWFyay1wcmV2aWV3LWxpc3QvYm9va21hcmstcHJldmlldy1saXN0LmNvbXBvbmVudC5jc3MifQ== */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {Project} from \"../../../api/models/project\";\r\n\r\n@Component({\r\n selector: 'app-bookmark-preview-list',\r\n templateUrl: './bookmark-preview-list.component.html',\r\n styleUrls: ['./bookmark-preview-list.component.css']\r\n})\r\nexport class BookmarkPreviewListComponent implements OnInit {\r\n\r\n @Input() bookmarks: any[];\r\n @Input() user: any;\r\n @Input() project: Project;\r\n @Output() bookmarksSelected: EventEmitter = new EventEmitter();\r\n @Output() bookmarkDeleted: EventEmitter = new EventEmitter();\r\n @Output() bookmarkEdited: EventEmitter = new EventEmitter();\r\n @Output() bookmarkShared: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onBookmarkSelected(event) {\r\n this.bookmarksSelected.emit(event);\r\n }\r\n\r\n onBookmarkEdited(event) {\r\n this.bookmarkEdited.emit(event);\r\n }\r\n\r\n onBookmarkDeleted(event) {\r\n this.bookmarkDeleted.emit(event);\r\n }\r\n\r\n onBookmarkShared(event) {\r\n this.bookmarkShared.emit(event);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9ib29rbWFyay1wcmV2aWV3L2Jvb2ttYXJrLXByZXZpZXcuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {ProjectBookmark} from '../../../api/models/project-bookmark';\r\n\r\n@Component({\r\n selector: 'app-bookmark-preview',\r\n templateUrl: './bookmark-preview.component.html',\r\n styleUrls: ['./bookmark-preview.component.css']\r\n})\r\nexport class BookmarkPreviewComponent implements OnInit/*, OnDestroy */{\r\n\r\n\r\n @Input() bookmark: any;\r\n @Input() url: string;\r\n @Input() projectId: number;\r\n @Input() canCreateProjectBookmark: boolean;\r\n @Output() bookmarkSelected: EventEmitter = new EventEmitter();\r\n @Output() bookmarkDeleted: EventEmitter = new EventEmitter();\r\n @Output() bookmakrEdited: EventEmitter = new EventEmitter();\r\n @Output() bookmarkShared: EventEmitter = new EventEmitter();\r\n\r\n constructor(private router: Router) {\r\n }\r\n\r\n ngOnInit() {\r\n this.loadFakeData();\r\n }\r\n\r\n isProjectBookmark(): boolean {\r\n return ((this.bookmark).projectId) ? true : false;\r\n }\r\n\r\n isEditable(): boolean {\r\n return this.isProjectBookmark() ? this.canCreateProjectBookmark : true;\r\n }\r\n\r\n onShareBookmark() {\r\n const sharedBookmark: ProjectBookmark = {\r\n projectId: this.projectId,\r\n text: this.bookmark.text,\r\n date: this.bookmark.date,\r\n title: this.bookmark.title,\r\n mediaId: this.bookmark.mediaId\r\n };\r\n this.bookmarkShared.emit(sharedBookmark);\r\n }\r\n\r\n loadFakeData() {\r\n this.url = 'http://drupal-toolbusiness.s3.eu-west-2.amazonaws.com/Construction_0.jpg';\r\n }\r\n\r\n onBookmarkSelected() {\r\n this.bookmarkSelected.emit(this.bookmark);\r\n }\r\n\r\n onBookmarkEdited() {\r\n this.bookmakrEdited.emit(this.bookmark);\r\n this.router.navigate(['/user/formBookmark']);\r\n }\r\n\r\n onBookmarkDeleted() {\r\n this.bookmarkDeleted.emit(this.bookmark);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9ib29rbWFyay1zaG93L2Jvb2ttYXJrLXNob3cuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-bookmark-show',\r\n templateUrl: './bookmark-show.component.html',\r\n styleUrls: ['./bookmark-show.component.css']\r\n})\r\nexport class BookmarkShowComponent implements OnInit {\r\n\r\n @Input() bookmark: any;\r\n @Input() url: string;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9jb25maWctZm9ybS9jb25maWctZm9ybS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, Input, Output, EventEmitter, OnChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-config-form',\r\n templateUrl: './config-form.component.html',\r\n styleUrls: ['./config-form.component.css']\r\n})\r\nexport class ConfigFormComponent implements OnInit, OnChanges {\r\n\r\n @Input() file: string[];\r\n @Input() filesKey: string[];\r\n @Output() fileSaved: EventEmitter = new EventEmitter();\r\n @Output() fileChanged: EventEmitter = new EventEmitter();\r\n\r\n defaultFileKey: string;\r\n days: string[] = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];\r\n begin: any[] = [];\r\n end: any[] = [];\r\n interval: any[] = [];\r\n active: boolean[] = [];\r\n burstActive: boolean;\r\n burstBegin: any;\r\n burstDate: any;\r\n burstInterval: any;\r\n burstNumber: any;\r\n now = new Date();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.defaultFileKey = this.filesKey[0];\r\n }\r\n\r\n ngOnChanges(changes: {'file'}): void {\r\n this.splitfile();\r\n }\r\n\r\n onSave() {\r\n const timelapse = '/home/pi/scripts/timelapse';\r\n const burst = '/home/pi/scripts/burst';\r\n let fileToOutput = '';\r\n for (let index = 0; index < this.begin.length; index++) {\r\n if (!this.active[index]) {\r\n fileToOutput += '# ';\r\n }\r\n fileToOutput += '*/' + this.interval[index] + ' ' + this.begin[index] + '-' + this.end[index] + ' * * ' + (index + 1) + ' ' + timelapse + '\\n';\r\n }\r\n if (!this.burstActive) {\r\n fileToOutput += '# ';\r\n }\r\n fileToOutput += this.burstBegin.split(':')[1] + ' ' + this.burstBegin.split(':')[0] + ' ' + this.burstDate.slice(-2) + ' ' + this.burstDate.slice(5, 7) +\r\n ' * ' + burst + ' \\'' + this.burstInterval + '\\' \\'' + this.burstNumber + '\\'';\r\n this.fileSaved.emit({'key' : this.defaultFileKey, 'file' : fileToOutput});\r\n }\r\n\r\n splitfile() {\r\n const asterisk = /\\*/gi;\r\n const apostrophe = /\\'/gi;\r\n let start = 0;\r\n this.file.forEach((row, i) => {\r\n if (i < 7) {\r\n const elements = row.replace(asterisk, '').split(' ');\r\n if (!elements[0].includes('#')) {\r\n start = 0;\r\n this.active[i] = true;\r\n } else {\r\n this.active[i] = false;\r\n start = 1;\r\n }\r\n this.interval[i] = elements[start].replace('/', '');\r\n this.begin[i] = elements[start + 1].split('-')[0];\r\n this.end[i] = elements[start + 1].split('-')[1];\r\n } else {\r\n const elements = row.replace(asterisk, '').replace('/home/pi/scripts/burst', '').split(' ');\r\n if (!elements[0].includes('#')) {\r\n this.burstActive = true;\r\n start = 0;\r\n } else {\r\n this.burstActive = false;\r\n start = 1;\r\n }\r\n this.burstBegin = elements[start + 1] + ':' + elements[start];\r\n this.burstDate = new Date(this.now.getFullYear(), Number(elements[start + 3]) - 1, Number(elements[start + 2]) + 1).toISOString().slice(0, 10);\r\n this.burstInterval = elements[elements.length - 2].replace(apostrophe , '');\r\n this.burstNumber = elements[elements.length - 1].replace(apostrophe , '');\r\n }\r\n });\r\n }\r\n\r\n changeFile() {\r\n this.fileChanged.emit(this.defaultFileKey);\r\n }\r\n}\r\n","export default \".custom-day {\\r\\n text-align: center;\\r\\n padding: 0.185rem 0.25rem;\\r\\n display: inline-block;\\r\\n height: 2rem;\\r\\n width: 2rem;\\r\\n}\\r\\n.custom-day.focused {\\r\\n background-color: #e6e6e6;\\r\\n}\\r\\n.custom-day.range,\\r\\n.custom-day:hover {\\r\\n background-color: rgb(2, 117, 216);\\r\\n color: white;\\r\\n}\\r\\n.custom-day.faded {\\r\\n background-color: rgba(2, 117, 216, 0.5);\\r\\n}\\r\\n.weekend {\\r\\n background-color: #FF7242;\\r\\n border: 2px solid white;\\r\\n color: white;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLHlCQUF5QjtFQUN6QixxQkFBcUI7RUFDckIsWUFBWTtFQUNaLFdBQVc7QUFDYjtBQUNBO0VBQ0UseUJBQXlCO0FBQzNCO0FBQ0E7O0VBRUUsa0NBQWtDO0VBQ2xDLFlBQVk7QUFDZDtBQUNBO0VBQ0Usd0NBQXdDO0FBQzFDO0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsdUJBQXVCO0VBQ3ZCLFlBQVk7QUFDZCIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jdXN0b20tZGF5IHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMC4xODVyZW0gMC4yNXJlbTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgaGVpZ2h0OiAycmVtO1xyXG4gIHdpZHRoOiAycmVtO1xyXG59XHJcbi5jdXN0b20tZGF5LmZvY3VzZWQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XHJcbn1cclxuLmN1c3RvbS1kYXkucmFuZ2UsXHJcbi5jdXN0b20tZGF5OmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMiwgMTE3LCAyMTYpO1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxufVxyXG4uY3VzdG9tLWRheS5mYWRlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyLCAxMTcsIDIxNiwgMC41KTtcclxufVxyXG5cclxuLndlZWtlbmQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjcyNDI7XHJcbiAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG59Il19 */\"","import {Component, EventEmitter, Input, OnInit, OnChanges, Output, ViewChild} from '@angular/core';\r\nimport {NgbDatepicker, NgbDateStruct, NgbDateParserFormatter} from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbTime } from '../../../api/models/ngbtime';\r\n\r\n@Component({\r\n selector: 'app-datepicker',\r\n templateUrl: './datepicker.component.html',\r\n styleUrls: ['./datepicker.component.css']\r\n})\r\nexport class DatepickerComponent implements OnInit, OnChanges {\r\n\r\n @Input() date: NgbDateStruct;\r\n @Input() beginDate: NgbDateStruct;\r\n @Input() today: NgbDateStruct;\r\n @Input() time: string;\r\n @Input() projectDates: any;\r\n\r\n @Output() dateChanged = new EventEmitter();\r\n @Output() timeChanged = new EventEmitter();\r\n\r\n @ViewChild('datepicker', {static: true}) datepicker: NgbDatepicker;\r\n\r\n \r\n \r\n\r\n private monthNames = ['January', 'February', 'March', 'April', 'May', 'June',\r\n 'July', 'August', 'September', 'October', 'November', 'December'\r\n ];\r\n\r\n private lastDate;\r\n constructor(private dateParserFormatter: NgbDateParserFormatter) { }\r\n\r\n ngOnInit() {\r\n this.lastDate = this.date;\r\n this.datepicker.navigateTo(this.date);\r\n }\r\n\r\n ngOnChanges() {\r\n this.datepicker.navigateTo(this.date);\r\n }\r\n\r\n onDateChange(event) {\r\n this.datepicker.navigateTo(event);\r\n this.dateChanged.emit(event);\r\n }\r\n\r\n getMonthName(): string {\r\n return this.monthNames[this.date.month - 1];\r\n }\r\n\r\n onTimeChange() {\r\n this.timeChanged.emit(this.time);\r\n }\r\n\r\n toBeginDate() {\r\n this.onDateChange(this.beginDate);\r\n }\r\n\r\n toToday() {\r\n this.onDateChange(this.lastDate);\r\n }\r\n\r\n formatDate(number: number): string {\r\n return ('0' + number.toString()).slice(-2);\r\n }\r\n\r\n isDateSelectable(date) {\r\n return this.projectDates.includes((date.year + '-' + String(date.month).padStart(2, '0') + '-' + String(date.day).padStart(2, '0')));\r\n }\r\n\r\n isDisabled = (date: any, current: {month: number, year: number}) => {\r\n return !this.projectDates.includes((date.year + '-' + String(date.month).padStart(2, '0') + '-' + String(date.day).padStart(2, '0')));\r\n } \r\n\r\n}","export default \".preview-list-container {\\r\\n display: flex;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci9jb21wb25lbnRzL21lZGlhLXByZXZpZXctbGlzdC9tZWRpYS1wcmV2aWV3LWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7QUFDakIiLCJmaWxlIjoic3JjL2FwcC91c2VyL2NvbXBvbmVudHMvbWVkaWEtcHJldmlldy1saXN0L21lZGlhLXByZXZpZXctbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnByZXZpZXctbGlzdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufSJdfQ== */\"","import {Component, EventEmitter, Input, OnInit, Output, OnChanges} from '@angular/core';\r\nimport {Media} from '../../../api/models/media';\r\n\r\n@Component({\r\n selector: 'app-media-preview-list',\r\n templateUrl: './media-preview-list.component.html',\r\n styleUrls: ['./media-preview-list.component.css']\r\n})\r\nexport class MediaPreviewListComponent implements OnInit, OnChanges {\r\n\r\n @Input() medias: Media[];\r\n @Output() mediaSelected = new EventEmitter();\r\n @Output() onBottomReached = new EventEmitter();\r\n myInnerHeight = window.innerHeight * 0.82;\r\n count = 0;\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngAfterViewChecked() {\r\n const div = document.getElementsByClassName('ng-scroll-view')[0];\r\n /*div.addEventListener('scroll', (e) => {\r\n if (div.scrollHeight - div.scrollTop == div.clientHeight) {\r\n this.count += 1;\r\n if (this.count === 1) {\r\n console.log('BOTTOMS', this.count);\r\n \r\n }\r\n };\r\n })*/\r\n }\r\n\r\n constructor() {\r\n \r\n }\r\n\r\n loadMore() {\r\n this.onBottomReached.emit();\r\n }\r\n\r\n onSelectedMedia(media: Media) {\r\n this.mediaSelected.emit(media);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9tZWRpYS1wcmV2aWV3L21lZGlhLXByZXZpZXcuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {Media} from '../../../api/models/media';\r\n\r\n@Component({\r\n selector: 'app-media-preview',\r\n templateUrl: './media-preview.component.html',\r\n styleUrls: ['./media-preview.component.css']\r\n})\r\nexport class MediaPreviewComponent implements OnInit {\r\n\r\n @Input() media: Media;\r\n\r\n @Output() mediaSelected = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n getHoure(): string {\r\n return this.media.name.slice(8, 10) + ':' + this.media.name.slice(10, 12);\r\n }\r\n\r\n getSource(): string {\r\n return this.media.folder + '/' + this.media.name + '.jpg';\r\n }\r\n\r\n onMediaSelection() {\r\n this.mediaSelected.emit(this.media);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9tZWRpYS1zaG93L21lZGlhLXNob3cuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport {Media} from '../../../api/models/media';\r\nimport * as S3 from \"aws-sdk/clients/s3\";\r\n\r\n\r\n@Component({\r\n selector: 'app-media-show',\r\n templateUrl: './media-show.component.html',\r\n styleUrls: ['./media-show.component.css']\r\n})\r\nexport class MediaShowComponent implements OnInit {\r\n\r\n @Input() url: string;\r\n @Input() media: Media;\r\n @Input() folders: string[];\r\n @Input() selectedFolder: string;\r\n @Output() folderChanged: EventEmitter = new EventEmitter();\r\n defaultFolder: string;\r\n private bucket: S3;\r\n fileUrl;\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n this.defaultFolder = this.selectedFolder;\r\n }\r\n\r\n\r\n async downloadImage() {\r\n const itemURL = await this.bucket.getSignedUrl('getObject', {Bucket: \"buildevolution\", Key: this.media.project + '/' + this.media.folder + '/' + this.media.name, Expires: 60*5})\r\n const image = await fetch(itemURL)\r\n const imageBlog = await image.blob()\r\n const imageURL = URL.createObjectURL(imageBlog)\r\n const link = document.createElement('a')\r\n link.href = imageURL\r\n link.download = 'buildevolution-image'\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n\r\n }\r\n\r\n changeFolder() {\r\n this.folderChanged.emit(this.defaultFolder);\r\n }\r\n\r\n getHoure(): string {\r\n return this.media.name.slice(8, 10) + ':' + this.media.name.slice(10, 12);\r\n }\r\n\r\n getDate(): string {\r\n return this.media.name.slice(0, 4) + '-' + this.media.name.slice(4, 6) + '-' + this.media.name.slice(6, 8);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9wcm9maWwvcHJvZmlsLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { User, Role } from '../../../api/models';\r\n\r\n@Component({\r\n selector: 'app-profil',\r\n templateUrl: './profil.component.html',\r\n styleUrls: ['./profil.component.css']\r\n})\r\nexport class ProfilComponent implements OnInit {\r\n\r\n @Input() user: User;\r\n @Input() roles: Role[];\r\n @Input() jwt: any;\r\n @Output() userSaved: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n defaultRole: Role;\r\n isSelected: boolean;\r\n password: string;\r\n confirm: string;\r\n showError: boolean;\r\n showErrorRegex: boolean;\r\n showPasswordField: boolean;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.password = '';\r\n this.confirm = '';\r\n this.showErrorRegex = false;\r\n this.showPasswordField = false;\r\n this.showError = false;\r\n this.isSelected = true;\r\n if (this.user.id) {\r\n this.defaultRole = this.roles.filter(role =>\r\n role.id == this.user.roleId)[0];\r\n } else {\r\n this.defaultRole = {\r\n name: 'SELECT ROLE',\r\n id: -1\r\n };\r\n }\r\n this.user.roleId = this.defaultRole.id;\r\n }\r\n\r\n onSave() {\r\n // check if user exist then create it or not -> pasword not required\r\n if ((this.user.id) && (!this.password)) {\r\n const data = {\r\n user: this.user,\r\n password: null\r\n };\r\n this.userSaved.emit(data);\r\n return 0;\r\n }\r\n if (this.checkPassword(this.password)) {\r\n if ((this.password === this.confirm)) {\r\n const data = {\r\n user: this.user,\r\n password: this.password\r\n };\r\n this.userSaved.emit(data);\r\n } else {\r\n this.showError = true;\r\n }\r\n } else {\r\n this.showErrorRegex = true;\r\n }\r\n }\r\n\r\n checkPassword (password: string): boolean {\r\n // Regular Expressions.\r\n const regex: any[] = [];\r\n regex.push('[A-Z]'); // Uppercase Alphabet.\r\n regex.push('[a-z]'); // Lowercase Alphabet.\r\n regex.push('[0-9]'); // Digit.\r\n regex.push('\\\\W'); // Special Character.\r\n let passed = 0;\r\n // Validate for each Regular Expression.\r\n for (let i = 0; i < regex.length; i++) {\r\n if (new RegExp(regex[i]).test(password)) {\r\n passed++;\r\n }\r\n }\r\n return (password.length >= 8) && (passed >= 3);\r\n }\r\n onCancel() {\r\n this.cancel.emit('');\r\n }\r\n\r\n onChangePassword() {\r\n this.showPasswordField = !this.showPasswordField;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9wcm9qZWN0LWZvcm0vcHJvamVjdC1mb3JtLmNvbXBvbmVudC5jc3MifQ== */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {Project} from '../../../api/models/project';\r\n\r\n@Component({\r\n selector: 'app-project-form',\r\n templateUrl: './project-form.component.html',\r\n styleUrls: ['./project-form.component.css']\r\n})\r\nexport class ProjectFormComponent implements OnInit {\r\n\r\n @Input() project: Project;\r\n @Output() projectSave: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n startDate: string;\r\n\r\n ngOnInit() {\r\n if (!this.project.id) {\r\n this.startDate = new Date().toISOString().slice(0, 10);\r\n } else {\r\n this.startDate = this.project.beginDate.slice(0, 10);\r\n }\r\n }\r\n\r\n onSave() {\r\n this.project.beginDate = new Date(this.startDate).toISOString();\r\n this.projectSave.emit(this.project);\r\n }\r\n\r\n onCancel() {\r\n this.cancel.emit('');\r\n }\r\n}\r\n","export default \".share-col button:hover {\\r\\n transform: scale(1.2);\\r\\n}\\r\\n\\r\\n.share-col button {\\r\\n transition: all .5s ease;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci9jb21wb25lbnRzL3NoYXJlL3NoYXJlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC91c2VyL2NvbXBvbmVudHMvc2hhcmUvc2hhcmUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zaGFyZS1jb2wgYnV0dG9uOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxufVxyXG5cclxuLnNoYXJlLWNvbCBidXR0b24ge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG59Il19 */\"","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChange, SimpleChanges} from '@angular/core';\r\nimport {UserBookmark} from '../../../api/models/user-bookmark';\r\nimport * as S3 from \"aws-sdk/clients/s3\";\r\nimport {Media} from '../../../api/models/media';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-share',\r\n templateUrl: './share.component.html',\r\n styleUrls: ['./share.component.css']\r\n})\r\nexport class ShareComponent implements OnInit {\r\n\r\n @Input() url: string;\r\n @Input() imageUrl: string;\r\n @Input() media: Media;\r\n @Input() projectName: string;\r\n @Output() bookmarkCreation: EventEmitter = new EventEmitter();\r\n @Output() askForShare: EventEmitter = new EventEmitter();\r\n showButtons: boolean;\r\n private bucket: S3;\r\n showAlert: boolean;\r\n showShare: boolean;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.url = '';\r\n this.showButtons = false;\r\n this.showAlert = false;\r\n this.showShare = true;\r\n this.bucket = new S3(\r\n {\r\n accessKeyId: environment.awsAccessKeyId,\r\n secretAccessKey: environment.awsSecretAccessKey,\r\n region: 'eu-central-1'\r\n }\r\n );\r\n }\r\n\r\n async downloadImage() {\r\n const itemURL = await this.bucket.getSignedUrl('getObject', {\r\n Bucket: \"buildevolution\", \r\n Key: this.projectName + '/' + this.media.folder + '/' + this.media.name, \r\n Expires: 60 * 5\r\n });\r\n \r\n const image = await fetch(itemURL);\r\n const contentType = image.headers.get('Content-Type');\r\n \r\n if (!contentType.startsWith('image/')) {\r\n console.error('Invalid file type:', contentType);\r\n return;\r\n }\r\n \r\n const imageBlob = await image.blob();\r\n const imageURL = URL.createObjectURL(imageBlob);\r\n \r\n const link = document.createElement('a');\r\n link.href = imageURL;\r\n link.download = this.media.name || 'buildevolution-image';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n}\r\n\r\n showAlertAndCloseShare() {\r\n this.showAlert = true;\r\n this.showShare = false;\r\n }\r\n\r\n confirm() {\r\n this.showAlert = false;\r\n this.showButtons = true;\r\n this.askForShare.emit();\r\n }\r\n\r\n cancel() {\r\n this.showShare = true;\r\n this.showAlert = false;\r\n }\r\n\r\n close() {\r\n this.showShare = true;\r\n this.showAlert = false;\r\n this.showButtons = false;\r\n }\r\n\r\n onBookmarkCreation() {\r\n this.bookmarkCreation.emit();\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy9zaW1wbGUtdXNlcnMtbGlzdC9zaW1wbGUtdXNlcnMtbGlzdC5jb21wb25lbnQuY3NzIn0= */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {User} from '../../../api/models/user';\r\n\r\n@Component({\r\n selector: 'app-simple-users-list',\r\n templateUrl: './simple-users-list.component.html',\r\n styleUrls: ['./simple-users-list.component.css']\r\n})\r\nexport class SimpleUsersListComponent implements OnInit {\r\n\r\n @Input() users: User[];\r\n @Output() removeUser: EventEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onUserSelection(user: User) {\r\n this.removeUser.emit(user);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy91c2VyLWZvcm0vdXNlci1mb3JtLmNvbXBvbmVudC5jc3MifQ== */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {User} from '../../../api/models/user';\r\nimport {Role} from '../../../api/models/role';\r\n\r\n@Component({\r\n selector: 'app-user-form',\r\n templateUrl: './user-form.component.html',\r\n styleUrls: ['./user-form.component.css']\r\n})\r\nexport class UserFormComponent implements OnInit {\r\n\r\n @Input() user: User;\r\n @Input() roles: Role[];\r\n @Output() userSaved: EventEmitter = new EventEmitter();\r\n @Output() cancel: EventEmitter = new EventEmitter();\r\n\r\n defaultRole: Role;\r\n filtredRole: Role[];\r\n password: string;\r\n confirm: string;\r\n showError: boolean;\r\n showErrorRegex: boolean;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.showErrorRegex = false;\r\n this.showError = false;\r\n this.filtredRole = this.roles.filter(r => (r.name.toLowerCase() != 'admin'));\r\n if (this.user.id) {\r\n this.defaultRole = this.roles.filter(role =>\r\n role.id == this.user.roleId)[0];\r\n } else {\r\n this.defaultRole = {\r\n name: 'SELECT ROLE',\r\n id: -1\r\n };\r\n }\r\n this.user.roleId = this.defaultRole.id;\r\n }\r\n\r\n onSave() {\r\n if (this.checkPassword(this.password)) {\r\n if ((this.password === this.confirm)) {\r\n const data = {\r\n user: this.user,\r\n password: this.password\r\n };\r\n this.userSaved.emit(data);\r\n } else {\r\n this.showError = true;\r\n }\r\n } else {\r\n this.showErrorRegex = true;\r\n }\r\n }\r\n\r\n checkPassword (password: string): boolean {\r\n // Regular Expressions.\r\n const regex: any[] = [];\r\n regex.push('[A-Z]'); // Uppercase Alphabet.\r\n regex.push('[a-z]'); // Lowercase Alphabet.\r\n regex.push('[0-9]'); // Digit.\r\n regex.push('\\\\W'); // Special Character.\r\n let passed = 0;\r\n // Validate for each Regular Expression.\r\n for (let i = 0; i < regex.length; i++) {\r\n if (new RegExp(regex[i]).test(password)) {\r\n passed++;\r\n }\r\n }\r\n return (password.length >= 8) && (passed >= 3);\r\n }\r\n\r\n onCancel() {\r\n this.cancel.emit('');\r\n }\r\n\r\n changeRole() {\r\n this.user.roleId = this.defaultRole.id;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29tcG9uZW50cy91c2VyLXNlYXJjaC91c2VyLXNlYXJjaC5jb21wb25lbnQuY3NzIn0= */\"","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {User} from '../../../api/models/user';\r\n\r\n@Component({\r\n selector: 'app-user-search',\r\n templateUrl: './user-search.component.html',\r\n styleUrls: ['./user-search.component.css']\r\n})\r\nexport class UserSearchComponent implements OnInit {\r\n\r\n @Input() users: User[];\r\n @Output() user: EventEmitter = new EventEmitter();\r\n\r\n showingUsers: User[];\r\n shearchValue: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.showingUsers = this.users;\r\n }\r\n\r\n onUserSelection(user: User) {\r\n this.user.emit(user);\r\n }\r\n\r\n filterUser(data) {\r\n this.showingUsers = this.users.filter(user => user.email.includes(data.target.value));\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29udGFpbmVycy9ib29rbWFyay1wYWdlL2Jvb2ttYXJrLXBhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import {Component, OnInit, OnDestroy, ViewChild, TemplateRef} from '@angular/core';\r\nimport {ProjectBookmark} from '../../../api/models/project-bookmark';\r\nimport {UserBookmark} from '../../../api/models/user-bookmark';\r\nimport {Observable, combineLatest} from 'rxjs';\r\nimport {UserSandbox} from '../../user.sandbox';\r\nimport {Project} from '../../../api/models/project';\r\nimport {Media} from '../../../api/models/media';\r\nimport {NgbTabset} from '@ng-bootstrap/ng-bootstrap';\r\nimport 'rxjs/add/operator/do';\r\n\r\n@Component({\r\n selector: 'app-bookmark-page',\r\n templateUrl: './bookmark-page.component.html',\r\n styleUrls: ['./bookmark-page.component.css']\r\n})\r\nexport class BookmarkPageComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('pb', {static: true}) pb: NgbTabset;\r\n\r\n alive: boolean;\r\n idtab = 'projectbookmarks';\r\n selectedBookmark$: Observable;\r\n medias$: Observable;\r\n projectBookmarks$: Observable;\r\n userBoomarks$: Observable;\r\n project$: Observable;\r\n user$: Observable;\r\n url$: Observable;\r\n\r\n constructor(private sandbox: UserSandbox) {\r\n }\r\n\r\n ngOnInit() {\r\n this.alive = true;\r\n this.medias$ = this.sandbox.getMedia();\r\n this.project$ = this.sandbox.getSelectedProject();\r\n this.userBoomarks$ = this.sandbox.getUserBookmarks();\r\n this.projectBookmarks$ = this.sandbox.getProjectBookmarks();\r\n this.projectBookmarks$.subscribe(data => {\r\n this.selectedBookmark$ = data.length ? this.sandbox.getSelectedProjectBookmark() : this.sandbox.getSelectedUserBookmark();\r\n }).unsubscribe();\r\n this.user$ = this.sandbox.getLoggedUser();\r\n this.url$ = this.sandbox.getUrl();\r\n this.selectedBookmark$.takeWhile(() => this.alive).subscribe(bookmark => {\r\n this.loadUrl(bookmark);\r\n });\r\n this.setMedia();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.alive = false;\r\n }\r\n\r\n onBookmarkSelected(bookmark: UserBookmark | ProjectBookmark) {\r\n if ((bookmark).projectId) {\r\n this.sandbox.selectedProjectBookmark(bookmark);\r\n this.selectedBookmark$ = this.sandbox.getSelectedProjectBookmark();\r\n } else if ((bookmark).userProjectId) {\r\n this.sandbox.selectedUserBookmark(bookmark);\r\n this.selectedBookmark$ = this.sandbox.getSelectedUserBookmark();\r\n }\r\n this.loadUrl(bookmark);\r\n }\r\n\r\n onBookmarkEdited(bookmark: UserBookmark | ProjectBookmark) {\r\n if ((bookmark).projectId) {\r\n this.sandbox.setBookmark(bookmark);\r\n } else if ((bookmark).userProjectId) {\r\n this.sandbox.setBookmark(bookmark);\r\n }\r\n this.loadUrl(bookmark);\r\n }\r\n\r\n onBookmarkDeleted(bookmark: UserBookmark | ProjectBookmark) {\r\n if ((bookmark).projectId) {\r\n this.sandbox.deletedProjectBookmark(bookmark);\r\n } else if ((bookmark).userProjectId) {\r\n this.sandbox.deletedUserBookmark(bookmark);\r\n }\r\n }\r\n\r\n bookmarkShared(bookmark: ProjectBookmark) {\r\n this.sandbox.createProjectBookmark(bookmark);\r\n setTimeout(() => {\r\n this.pb.select(this.idtab);\r\n }, 500);\r\n }\r\n\r\n loadUrl(bookmark: ProjectBookmark | UserBookmark) {\r\n combineLatest(\r\n this.medias$,\r\n this.project$).takeWhile(() => this.alive)\r\n .subscribe(response => {\r\n const toload = response[0].filter((m) => m.id == bookmark.mediaId)[0];\r\n this.sandbox.loadUrl(response[1].folder, toload);\r\n }).unsubscribe();\r\n }\r\n\r\n setMedia() {\r\n this.userBoomarks$ = this.userBoomarks$.do(userbookmark => {\r\n userbookmark.forEach( ub => {\r\n this.medias$.takeWhile(() => this.alive).subscribe( m => {\r\n ub.media = m.filter( media => media.id == ub.mediaId)[0];\r\n });\r\n });\r\n });\r\n this.projectBookmarks$ = this.projectBookmarks$.do(projectbookmark => {\r\n projectbookmark.forEach( pb => {\r\n this.medias$.takeWhile(() => this.alive).subscribe( m => {\r\n pb.media = m.filter( media => media.id == pb.mediaId)[0];\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29udGFpbmVycy9mcm9tLWJvb2ttYXJrLXBhZ2UvZnJvbS1ib29rbWFyay1wYWdlLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport {UserSandbox} from '../../user.sandbox';\r\nimport {Location} from '@angular/common';\r\nimport {UserBookmark} from '../../../api/models/user-bookmark';\r\nimport {ProjectBookmark} from '../../../api/models/project-bookmark';\r\nimport {Observable} from 'rxjs';\r\nimport {Media} from '../../../api/models/media';\r\n\r\n@Component({\r\n selector: 'app-from-bookmark-page',\r\n templateUrl: './from-bookmark-page.component.html',\r\n styleUrls: ['./from-bookmark-page.component.css']\r\n})\r\nexport class FromBookmarkPageComponent implements OnInit {\r\n\r\n constructor(private sandbox: UserSandbox,\r\n private location: Location) { }\r\n\r\n bookmark: UserBookmark | ProjectBookmark;\r\n url$: Observable;\r\n media$: Observable;\r\n\r\n ngOnInit() {\r\n this.bookmark = this.sandbox.getBookmark();\r\n this.url$ = this.sandbox.getUrl();\r\n this.media$ = this.sandbox.getSelectedMedia();\r\n }\r\n\r\n onSave(bookmark: UserBookmark | ProjectBookmark) {\r\n if (this.sandbox.getBookmark().id) {\r\n if ((this.bookmark).projectId) {\r\n this.sandbox.updateProjectBookmark(bookmark);\r\n } else if ((this.bookmark).userProjectId) {\r\n this.sandbox.updateUserBookmark(bookmark);\r\n }\r\n } else {\r\n if ((this.bookmark).projectId) {\r\n this.sandbox.createProjectBookmark(bookmark);\r\n } else if ((this.bookmark).userProjectId) {\r\n this.sandbox.createUserBookmark(bookmark);\r\n }\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.location.back();\r\n }\r\n}\r\n","export default \".confirm-btn:hover {\\r\\n background-color: gray;\\r\\n color: white;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.video_container {\\r\\n position: fixed;\\r\\n z-index: 10;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n padding: 30px;\\r\\n background: white;\\r\\n box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;\\r\\n}\\r\\n\\r\\n.video_container i {\\r\\n position: absolute;\\r\\n top: 10px;\\r\\n right: 10px;\\r\\n font-size: 18px;\\r\\n cursor: pointer;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci9jb250YWluZXJzL215LWZpbGVzL215LWZpbGVzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztJQUNYLFFBQVE7SUFDUixTQUFTO0lBQ1QsZ0NBQWdDO0lBQ2hDLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsdUxBQXVMO0FBQzNMOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxXQUFXO0lBQ1gsZUFBZTtJQUNmLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC91c2VyL2NvbnRhaW5lcnMvbXktZmlsZXMvbXktZmlsZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb25maXJtLWJ0bjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udmlkZW9fY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDU0cHggNTVweCwgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggLTEycHggMzBweCwgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggNHB4IDZweCwgcmdiYSgwLCAwLCAwLCAwLjE3KSAwcHggMTJweCAxM3B4LCByZ2JhKDAsIDAsIDAsIDAuMDkpIDBweCAtM3B4IDVweDtcclxufVxyXG5cclxuLnZpZGVvX2NvbnRhaW5lciBpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTBweDtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport * as S3 from \"aws-sdk/clients/s3\";\r\nimport { UserSandbox } from '../../user.sandbox';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n\r\n@Component({\r\n selector: 'app-my-files',\r\n templateUrl: './my-files.component.html',\r\n styleUrls: ['./my-files.component.css']\r\n})\r\nexport class MyFilesComponent implements OnInit {\r\n\r\n private files;\r\n filesToShow = [];\r\n private bucket: S3;\r\n selectedFile;\r\n private projectName;\r\n loading;\r\n private keyToDelete;\r\n videoUrl;\r\n timelapseShown = false;\r\n\r\n constructor(private userSandbox: UserSandbox) { \r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.bucket = new S3(\r\n {\r\n accessKeyId: environment.awsAccessKeyId,\r\n secretAccessKey: environment.awsSecretAccessKey,\r\n region: 'eu-central-1'\r\n }\r\n );\r\n this.userSandbox.getSelectedProject().subscribe((project) => {\r\n this.projectName = project.folder;\r\n const params = {\r\n Bucket: 'buildevolution-myfiles',\r\n Prefix: project.folder + '/'\r\n };\r\n this.bucket.listObjects(params, (err, data) => {\r\n console.log(\"Error: \", err);\r\n console.log(\"Data: \", data);\r\n this.files = data.Contents.filter(file => {\r\n return file.Key != this.projectName + '/'\r\n }).map(file => {\r\n file.Key = file.Key.replace(this.projectName + '/', '');\r\n return file;\r\n });\r\n this.filesToShow = this.files.filter(file => !file.Key.includes('/'));\r\n this.loading = false;\r\n this.selectedFile = false;\r\n })\r\n })\r\n }\r\n\r\n showFolderContent(folder) {\r\n this.filesToShow = this.files.filter(file => file.Key.includes(folder + '/'));\r\n this.timelapseShown = true;\r\n }\r\n\r\n hideFolderContent() {\r\n this.filesToShow = this.files.filter(file => !file.Key.includes('/'));\r\n this.timelapseShown = false;\r\n }\r\n\r\n\r\n async playVideo(key) {\r\n this.videoUrl = await this.bucket.getSignedUrl('getObject', {Bucket: \"buildevolution-myfiles\", Key: this.projectName + '/' + key, Expires: 60*5})\r\n }\r\n\r\n closeVideo() {\r\n this.videoUrl = null;\r\n }\r\n\r\n async downloadItem(key) {\r\n const itemURL = await this.bucket.getSignedUrl('getObject', {Bucket: \"buildevolution-myfiles\", Key: this.projectName + '/' + key, Expires: 60*5})\r\n const link = document.createElement('a')\r\n link.href = itemURL\r\n link.target= \"_blank\";\r\n link.download = 'buildevolution-file'\r\n document.body.appendChild(link)\r\n link.click()\r\n document.body.removeChild(link)\r\n }\r\n\r\n upload() {\r\n this.loading = true;\r\n const file = this.selectedFile;\r\n const params = {\r\n Bucket: 'buildevolution-myfiles',\r\n Key: this.projectName + '/' + file.name,\r\n Body: file,\r\n ContentType: file.type\r\n }\r\n \r\n this.bucket.upload(params, (err, data) => {\r\n if (err) {\r\n console.log('There was an error uploading your file: ', err);\r\n return false;\r\n }\r\n this.init();\r\n return true;\r\n });\r\n }\r\n\r\n\r\n confirmDelete(key) {\r\n this.keyToDelete = key;\r\n }\r\n\r\n resetConfirmDelete() {\r\n this.keyToDelete = undefined;\r\n }\r\n\r\n deleteItem(key) {\r\n this.loading = true;\r\n this.bucket.deleteObject({Bucket: \"buildevolution-myfiles\", Key: this.projectName + \"/\" + key}, (err, response) => {\r\n this.keyToDelete = undefined;\r\n this.init();\r\n })\r\n }\r\n \r\n selectFile(event) {\r\n this.selectedFile = event.target.files.item(0);\r\n }\r\n\r\n getFileName(key) {\r\n return key.replace('timelapse/', '');\r\n }\r\n\r\n getFileSize(size) {\r\n let finalSize;\r\n let suffix;\r\n if (size > 1000000) {\r\n finalSize = size / 1000000;\r\n suffix = \"Mo\";\r\n } else if (size > 1000) {\r\n finalSize = size / 1000;\r\n suffix = \"Ko\";\r\n } else {\r\n finalSize = size;\r\n suffix = \"O\"\r\n }\r\n finalSize = Math.round(finalSize * 100) / 100;\r\n return finalSize + \" \" + suffix;\r\n }\r\n\r\n getFileDate(date) {\r\n return new Date(date).toLocaleString();\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29udGFpbmVycy9wcm9maWwtcGFnZS9wcm9maWwtcGFnZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { UserSandbox } from '../../user.sandbox';\r\nimport { Observable } from 'rxjs';\r\nimport { User, Role } from '../../../api/models';\r\n\r\n@Component({\r\n selector: 'app-profil-page',\r\n templateUrl: './profil-page.component.html',\r\n styleUrls: ['./profil-page.component.css']\r\n})\r\nexport class ProfilPageComponent implements OnInit {\r\n\r\n user$: Observable;\r\n jwt$: Observable;\r\n roles$: Observable;\r\n onCancel: any;\r\n\r\n constructor(private userSandbox: UserSandbox) { }\r\n\r\n ngOnInit() {\r\n this.userSandbox.loadUsers();\r\n this.jwt$ = this.userSandbox.getLoggedUser();\r\n this.jwt$.subscribe(data => {\r\n this.userSandbox.selectUser(data.id);\r\n });\r\n this.user$ = this.userSandbox.getSelectedUser();\r\n this.roles$ = this.userSandbox.getRoles();\r\n }\r\n\r\n onSave(data: any) {\r\n this.userSandbox.updateUser(data.user);\r\n if (data.password) {\r\n this.userSandbox.resetPassword(data.user.email, data.password);\r\n }\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3VzZXIvY29udGFpbmVycy9wcm9qZWN0LWZvcm0tcGFnZS9wcm9qZWN0LWZvcm0tcGFnZS5jb21wb25lbnQuY3NzIn0= */\"","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {Project} from '../../../api/models/project';\r\nimport {Location} from '@angular/common';\r\nimport {User} from '../../../api/models/user';\r\nimport {Role} from '../../../api/models/role';\r\nimport {UserProject} from '../../../api/models/user-project';\r\nimport {UserSandbox} from '../../user.sandbox';\r\n\r\n@Component({\r\n selector: 'app-project-form-page',\r\n templateUrl: './project-form-page.component.html',\r\n styleUrls: ['./project-form-page.component.css']\r\n})\r\nexport class ProjectFormPageComponent implements OnInit, OnDestroy {\r\n\r\n constructor(private sandbox: UserSandbox,\r\n private location: Location) { }\r\n\r\n selectedProject$: Observable;\r\n selectedProjectUser$: Observable;\r\n roles$: Observable;\r\n allUsers$: Observable;\r\n file$: Observable;\r\n newUsers: User[];\r\n alive: boolean;\r\n project: Project;\r\n filesKey: string[] = ['Cam1', 'Cam2', 'Cam3'];\r\n fielname = 'Cam1';\r\n\r\n ngOnInit() {\r\n this.sandbox.loadUsers();\r\n this.sandbox.loadRoles();\r\n this.alive = true;\r\n this.newUsers = [];\r\n this.selectedProject$ = this.sandbox.getSelectedProject();\r\n this.allUsers$ = this.sandbox.getUsers();\r\n this.roles$ = this.sandbox.getRoles();\r\n this.file$ = null;\r\n this.selectedProject$.takeWhile(() => this.alive).subscribe(project => {\r\n this.selectedProjectUser$ = this.sandbox.getSelectedProjectUser(project.id);\r\n this.project = project;\r\n // if (this.project.folder == 'sofico'){\r\n this.sandbox.loadConfigFile(this.fielname);\r\n this.file$ = this.sandbox.getConfigFile();\r\n // }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n onCancel() {\r\n this.location.back();\r\n }\r\n\r\n onSave(project: Project) {\r\n if (project.id) {\r\n this.sandbox.updateProject(project);\r\n }\r\n }\r\n\r\n addNewUser(data: any) {\r\n // check if email already exist in user list\r\n this.allUsers$.takeWhile(() => this.alive).subscribe(users => {\r\n if (!users.find( u => u.email == data.user.email)) {\r\n alert(JSON.stringify(data));\r\n this.sandbox.createUserToProject(data.user, data.password, this.project.id);\r\n this.selectedProjectUser$ = this.sandbox.getSelectedProjectUser(this.project.id);\r\n }\r\n });\r\n }\r\n\r\n addUser(user: User) {\r\n const userproject: UserProject = {\r\n projectId: this.project.id,\r\n userId: user.id\r\n };\r\n this.selectedProjectUser$.takeWhile(() => this.alive).subscribe(users => {\r\n if (!users.find( u => u.email == user.email)) {\r\n this.selectedProjectUser$ = this.sandbox.getSelectedProjectUser(this.project.id);\r\n this.sandbox.createUserProject(userproject);\r\n }\r\n });\r\n }\r\n\r\n removeExistingUser(user: User) {\r\n const userproject: UserProject = {\r\n projectId: this.project.id,\r\n userId: user.id\r\n };\r\n this.selectedProjectUser$ = this.selectedProjectUser$.map(users => users.filter((singleUser) => {\r\n return singleUser.id != user.id;\r\n }));\r\n this.sandbox.deleteUserProject(userproject);\r\n }\r\n\r\n onfileSaved(event: any) {\r\n this.sandbox.uploadConfigFile(event.key, JSON.stringify(event.file));\r\n }\r\n\r\n onfileChanged(key: string) {\r\n this.sandbox.loadConfigFile(key);\r\n }\r\n\r\n isSoffico(): boolean {\r\n return this.project.folder == 'sofico';\r\n }\r\n}\r\n","export default \".spinner-container {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n font-size: 100px;\\r\\n color: blue;\\r\\n align-items: center;\\r\\n height: 500px;\\r\\n}\\r\\n\\r\\n.video_uploaded {\\r\\n height: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.video_uploaded p {\\r\\n text-align: center;\\r\\n font-size: 16px;\\r\\n letter-spacing: 1px;\\r\\n}\\r\\n\\r\\n.video_uploaded span {\\r\\n margin-top: 20px;\\r\\n font-size: 30px;\\r\\n color: green;\\r\\n}\\r\\n\\r\\n.modal_container {\\r\\n position: fixed;\\r\\n background-color: rgba(0,0,0,0.3);\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n z-index: 2;\\r\\n}\\r\\n\\r\\n.modal_content {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 50%;\\r\\n transform: translate(-50%, -50%);\\r\\n width: 400px;\\r\\n height: 600px;\\r\\n background-color: white;\\r\\n border-radius: 15px;\\r\\n max-width: 95%;\\r\\n}\\r\\n\\r\\n.video_form_content {\\r\\n height: 500px;\\r\\n overflow-y: scroll;\\r\\n scroll-behavior: smooth;\\r\\n}\\r\\n\\r\\n.modal_content h1 {\\r\\n text-align: center;\\r\\n font-weight: bold;\\r\\n font-size: 20px;\\r\\n letter-spacing: 1px;\\r\\n border-bottom: 1px solid rgba(0,0,0,0.2);\\r\\n color: rgba(0,0,0,0.75);\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.modal_content .form-group-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n padding: 15px;\\r\\n border-bottom: 0.5px solid rgba(0,0,0,0.3);\\r\\n}\\r\\n\\r\\n.modal_content .form-group-container h2 {\\r\\n text-align: center;\\r\\n font-weight: 700;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.modal_content label {\\r\\n font-weight: 500;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.modal_content .form-group {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.week_days {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.week_days span {\\r\\n padding: 5px;\\r\\n width: calc(100% / 7);\\r\\n text-align: center;\\r\\n font-weight: bold;\\r\\n cursor: pointer;\\r\\n line-height: 16px;\\r\\n box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;\\r\\n margin: 2px;\\r\\n}\\r\\n\\r\\n.week_days span:hover {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.week_days span.selected {\\r\\n background-color: #FF7242;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n.custom-day {\\r\\n text-align: center;\\r\\n padding: 0.185rem 0.25rem;\\r\\n display: inline-block;\\r\\n height: 2rem;\\r\\n width: 2rem;\\r\\n}\\r\\n\\r\\n.custom-day.focused {\\r\\n background-color: #e6e6e6;\\r\\n}\\r\\n\\r\\n.custom-day.range,\\r\\n.custom-day:hover {\\r\\n background-color: rgb(2, 117, 216);\\r\\n color: white;\\r\\n}\\r\\n\\r\\n.custom-day.faded {\\r\\n background-color: rgba(2, 117, 216, 0.5);\\r\\n}\\r\\n\\r\\n.weekend {\\r\\n background-color: #FF7242;\\r\\n border: 2px solid white;\\r\\n color: white;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci9jb250YWluZXJzL3RpbWVsYXBzZS1wYWdlL3RpbWVsYXBzZS1wYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQ0FBaUM7SUFDakMsTUFBTTtJQUNOLE9BQU87SUFDUCxXQUFXO0lBQ1gsWUFBWTtJQUNaLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsU0FBUztJQUNULGdDQUFnQztJQUNoQyxZQUFZO0lBQ1osYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHdDQUF3QztJQUN4Qyx1QkFBdUI7SUFDdkIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsYUFBYTtJQUNiLDBDQUEwQztBQUM5Qzs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG1EQUFtRDtJQUNuRCxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQixZQUFZO0lBQ1osV0FBVztBQUNmOztBQUNBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUNBOztJQUVJLGtDQUFrQztJQUNsQyxZQUFZO0FBQ2hCOztBQUNBO0lBQ0ksd0NBQXdDO0FBQzVDOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLHVCQUF1QjtJQUN2QixZQUFZO0VBQ2QiLCJmaWxlIjoic3JjL2FwcC91c2VyL2NvbnRhaW5lcnMvdGltZWxhcHNlLXBhZ2UvdGltZWxhcHNlLXBhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zcGlubmVyLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEwMHB4O1xyXG4gICAgY29sb3I6IGJsdWU7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiA1MDBweDtcclxufVxyXG5cclxuLnZpZGVvX3VwbG9hZGVkIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxufVxyXG5cclxuLnZpZGVvX3VwbG9hZGVkIHAge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuLnZpZGVvX3VwbG9hZGVkIHNwYW4ge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGNvbG9yOiBncmVlbjtcclxufVxyXG5cclxuLm1vZGFsX2NvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMyk7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4ubW9kYWxfY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgaGVpZ2h0OiA2MDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIG1heC13aWR0aDogOTUlO1xyXG59XHJcblxyXG4udmlkZW9fZm9ybV9jb250ZW50IHtcclxuICAgIGhlaWdodDogNTAwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxufVxyXG5cclxuLm1vZGFsX2NvbnRlbnQgaDEge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4yKTtcclxuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLm1vZGFsX2NvbnRlbnQgLmZvcm0tZ3JvdXAtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4zKTtcclxufVxyXG5cclxuLm1vZGFsX2NvbnRlbnQgLmZvcm0tZ3JvdXAtY29udGFpbmVyIGgyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5tb2RhbF9jb250ZW50IGxhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tb2RhbF9jb250ZW50IC5mb3JtLWdyb3VwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ud2Vla19kYXlzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi53ZWVrX2RheXMgc3BhbiB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNyk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjE1KSAxLjk1cHggMS45NXB4IDIuNnB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbn1cclxuXHJcbi53ZWVrX2RheXMgc3Bhbjpob3ZlciB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi53ZWVrX2RheXMgc3Bhbi5zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3MjQyO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uY3VzdG9tLWRheSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjE4NXJlbSAwLjI1cmVtO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiAycmVtO1xyXG4gICAgd2lkdGg6IDJyZW07XHJcbn1cclxuLmN1c3RvbS1kYXkuZm9jdXNlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xyXG59XHJcbi5jdXN0b20tZGF5LnJhbmdlLFxyXG4uY3VzdG9tLWRheTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMiwgMTE3LCAyMTYpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG59XHJcbi5jdXN0b20tZGF5LmZhZGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMiwgMTE3LCAyMTYsIDAuNSk7XHJcbn1cclxuXHJcbi53ZWVrZW5kIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjcyNDI7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICB9Il19 */\"","import {Component, OnDestroy, OnInit, ViewChild, Inject, OnChanges} from '@angular/core';\r\nimport {NgbDateStruct} from '@ng-bootstrap/ng-bootstrap';\r\nimport {Media} from '../../../api/models/media';\r\nimport {UserSandbox} from '../../user.sandbox';\r\nimport {Project} from '../../../api/models/project';\r\nimport {Observable, combineLatest} from 'rxjs';\r\nimport {Router} from '@angular/router';\r\nimport {ShareComponent} from '../../components/share/share.component';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';\r\nimport {NgbCalendar } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbTime } from '../../../api/models/ngbtime';\r\nimport * as $ from 'jquery';\r\nconst now = new Date();\r\n\r\n\r\n\r\n/*export declare class NgbTime {\r\n hour: number;\r\n minute: number;\r\n second: number;\r\n constructor(hour?: number, minute?: number, second?: number);\r\n changeHour(step?: number): void;\r\n updateHour(hour: number): void;\r\n changeMinute(step?: number): void;\r\n updateMinute(minute: number): void;\r\n changeSecond(step?: number): void;\r\n updateSecond(second: number): void;\r\n isValid(checkSecs?: boolean): boolean;\r\n toString(): string;\r\n}*/\r\n\r\n\r\n@Component({\r\n selector: 'app-timelapse-page',\r\n templateUrl: './timelapse-page.component.html',\r\n styleUrls: ['./timelapse-page.component.css']\r\n})\r\nexport class TimelapsePageComponent implements OnInit, OnDestroy, OnChanges {\r\n\r\n @ViewChild(ShareComponent, {static: true})\r\n private shareComponent: ShareComponent;\r\n model1: NgbDateStruct;\r\n model2: NgbDateStruct;\r\n date: NgbDateStruct;\r\n beginDate: NgbDateStruct;\r\n today: NgbDateStruct;\r\n time: NgbTime;\r\n alive: boolean;\r\n selectedMedia$: Observable;\r\n medias$: Observable;\r\n filtredMedias$: Observable;\r\n selectedProject$: Observable;\r\n url$: Observable;\r\n shareUrl$: Observable;\r\n folders: string[];\r\n selectedFolder: string;\r\n canreload: boolean;\r\n bottomReached: boolean;\r\n projectchanged: boolean;\r\n page: number;\r\n selectedDays: number[];\r\n videoStartDate: any;\r\n videoEndDate: any;\r\n videoStartTime: any;\r\n videoEndTime: any;\r\n videoName: any;\r\n videoGenerationData: any;\r\n videoUploaded: any;\r\n showVideoModal: any;\r\n projectDates: any = [];\r\n lastDate: any;\r\n projectId: number;\r\n projectFolder: string;\r\n medias: any;\r\n selectedProject;\r\n currentProjectId;\r\n videoFolder = \"cam1\";\r\n loaded: boolean = false;\r\n currentTime: string;\r\n helpText: string;\r\n mailUrl: string;\r\n\r\n constructor(private sandbox: UserSandbox,\r\n private router: Router,public dialog: MatDialog) {\r\n }\r\n\r\n loadConstant() {\r\n this.date = {year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate()};\r\n this.today = {year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate()};\r\n this.time = new NgbTime(now.getHours(), now.getMinutes());\r\n this.alive = true;\r\n this.folders = [];\r\n this.selectedFolder = '';\r\n this.canreload = true;\r\n this.page = 1;\r\n this.selectedDays = [1, 2, 3, 4, 5]\r\n }\r\n\r\n clearData() {\r\n this.medias = [];\r\n this.folders = [];\r\n this.projectDates = [];\r\n this.lastDate = null;\r\n this.page = 1;\r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.loadConstant();\r\n this.sandbox.getSelectedProject().subscribe(project => {\r\n this.loaded = false;\r\n if (!project || this.currentProjectId === project.id) {\r\n return;\r\n }\r\n this.clearData();\r\n this.currentProjectId = project.id;\r\n this.selectedProject = project;\r\n this.projectFolder = project.folder;\r\n this.sandbox.getLastDate(project.id).toPromise().then((lastMedia: any) => {\r\n this.lastDate = {year: +(lastMedia[0].name.substr(0, 4)), month: +lastMedia[0].name.substr(4, 2), day: +lastMedia[0].name.substr(6, 2)};\r\n this.date = this.lastDate;\r\n this.selectedFolder = lastMedia[0].folder;\r\n return this.sandbox.loadMediaFromProjectAndPagePromise(project, this.stringDate(this.lastDate), this.page, true, this.selectedFolder);\r\n }).then(medias => {\r\n this.medias = medias;\r\n this.sandbox.selectedMedia(medias[0]);\r\n this.currentTime = medias[0].name.substr(8,2);\r\n if (this.currentTime.substring(0,1) === \"0\") {\r\n this.currentTime = this.currentTime.replace(\"0\", \"\")\r\n\r\n }\r\n return this.sandbox.loadCamerasbyProject({\r\n projectFolder: project.folder,\r\n idProject: project.id\r\n }).toPromise();\r\n }).then(cameras => {\r\n this.folders = cameras.map(c => c.folder).sort();\r\n this.loaded = true;\r\n return this.sandbox.loadProjectDatesbyProject(this.currentProjectId);\r\n }).then(projectDates => {\r\n this.projectDates = projectDates.map(d => d.name);\r\n })\r\n })\r\n this.selectedMedia$ = this.sandbox.getSelectedMedia();\r\n this.url$ = this.sandbox.getUrl();\r\n this.url$.subscribe(url => {\r\n console.log('Real URL =>', url);\r\n });\r\n\r\n\r\n if (window.location.href.includes('powwow')) {\r\n this.helpText = \"In case of any questions, contact us via\";\r\n this.mailUrl = \"info@powwow.be\";\r\n } \r\n // if (window.location.href.includes('detiffe')) {\r\n // this.helpText = \"In case of any questions, contact us via\";\r\n // this.mailUrl = \"info@detiffe.com\";\r\n // } \r\n else {\r\n this.helpText = \"If you wish to enable the automatic creation of daily, weekly or monthly timelapse video files, contact us via\";\r\n this.mailUrl = \"info@buildevolution.be\";\r\n }\r\n \r\n /*console.log('TIMELAPSE INIIIIT');\r\n this.loadConstant();\r\n this.selectedProject$ = this.sandbox.getSelectedProject();\r\n this.selectedProject$\r\n .takeWhile(() => this.alive)\r\n .subscribe(data => {\r\n const date = new Date(data.beginDate.slice(0, 10));\r\n this.beginDate = {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()};\r\n this.lastDate = data.lastDate ? {year: +data.lastDate.split('-')[0], month: +data.lastDate.split('-')[1], day: +data.lastDate.split('-')[2]} : {year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate()};\r\n this.projectchanged = true;\r\n this.projectFolder = data.folder;\r\n this.projectId = data.id;\r\n this.sandbox.loadProjectDatesbyProject({\r\n projectFolder: this.projectFolder,\r\n idProject: this.projectId\r\n }).subscribe(data => {\r\n this.projectDates = data.map(d => d.name);\r\n this.date = this.projectDates[0];\r\n this.sandbox.loadMediaFromProjectAndPage(data, this.projectDates[0]);\r\n });\r\n });\r\n this.medias$ = this.sandbox.getMedia();\r\n this.medias$\r\n .takeWhile(() => this.alive)\r\n .subscribe(medias => {\r\n if (this.projectchanged) {\r\n this.folders = [];\r\n }\r\n if (medias.length > 0) {\r\n this.selectedFolder = medias[0].folder;\r\n for (const m of medias) {\r\n if (!this.folders.includes(m.folder)) {\r\n this.folders.push(m.folder);\r\n }\r\n }\r\n this.bottomReached = true;\r\n this.filterMedias();\r\n }\r\n if (this.projectchanged) {\r\n console.log('Loading.. project changed..')\r\n this.sandbox.loadCamerasbyProject({\r\n projectFolder: this.projectFolder,\r\n idProject: this.projectId\r\n }).subscribe(data => {\r\n data.forEach(t => {\r\n if (!this.folders.includes(t.folder)) {\r\n this.folders.push(t.folder);\r\n }\r\n })\r\n });\r\n }\r\n });\r\n */\r\n \r\n }\r\n \r\n\r\n ngOnChanges() {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n stringDate(date: NgbDateStruct) {\r\n return String(date.year).padStart(2, '0') + '-' + String(date.month).padStart(2, '0') + '-' + String(date.day).padStart(2, '0');\r\n }\r\n\r\n onDateChanged(date) {\r\n this.canreload = true;\r\n this.lastDate = date;\r\n this.date = date;\r\n this.reloadMedias(date.year + '-' + date.month + '-' + date.day, 1, true);\r\n }\r\n\r\n onTimeChanged(time) {\r\n this.time = time;\r\n this.reloadMedias(this.date.year + '-' + this.date.month + '-' + this.date.day, 1, true, String(time).padStart(2, '0'));\r\n }\r\n\r\n onFolderChanged(folder) {\r\n this.selectedFolder = folder;\r\n this.canreload = true;\r\n this.reloadMedias(this.stringDate(this.lastDate), 1, true);\r\n }\r\n\r\n reloadMedias(date, page, shouldReset, hour?) {\r\n this.sandbox.loadMediaFromProjectAndPagePromise(this.selectedProject, date, page, shouldReset, this.selectedFolder, hour).then(medias => {\r\n if (shouldReset) {\r\n this.medias = medias; \r\n this.page = 1;\r\n } else {\r\n this.medias = this.medias.concat(medias);\r\n }\r\n if (medias.length > 0) {\r\n this.sandbox.selectedMedia(medias[0]);\r\n }\r\n });\r\n }\r\n\r\n isDateSelectable(date) {\r\n return this.projectDates.includes((date.year + '-' + String(date.month).padStart(2, '0') + '-' + String(date.day).padStart(2, '0')));\r\n\r\n }\r\n\r\n isDisabled = (date: any, current: {month: number, year: number}) => !this.isDateSelectable(date)\r\n\r\n \r\n onVideoNameChange() {\r\n let sd = '';\r\n let ed = '';\r\n let dateRange = '';\r\n if (this.model1 && this.model2) {\r\n sd = this.model1.year + '-' + String(this.model1.month).padStart(2, '0') + '-' + String(this.model1.day).padStart(2, '0');\r\n ed = this.model2.year + '-' + String(this.model2.month).padStart(2, '0') + '-' + String(this.model2.day).padStart(2, '0');\r\n dateRange = sd + \":\" + ed;\r\n }\r\n this.videoName = \"Timelapse_\" + this.videoFolder + \"_\" + dateRange + \"_\" + this.videoStartTime + \"H:\" + this.videoEndTime + \"H_\" + new Date().getTime();\r\n }\r\n\r\n\r\n openTimelapseDialog() {\r\n this.showVideoModal = true;\r\n this.videoStartTime = 6;\r\n this.videoEndTime = 18;\r\n this.videoName = \"Timelapse_\" + this.videoFolder + \"_\" + this.videoStartTime + 'H:' + this.videoEndTime + 'H_' + new Date().getTime();\r\n }\r\n\r\n endTimeOptionArray() {\r\n return [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24].filter(a => a > this.videoStartTime)\r\n }\r\n\r\n hideTimelapseDialog() {\r\n this.videoUploaded = false;\r\n this.showVideoModal = false;\r\n }\r\n\r\n toggleWeekDay(day, dayNumber) {\r\n const index = this.selectedDays.indexOf(day)\r\n if (index > -1) {\r\n this.selectedDays.splice(index, 1);\r\n } else {\r\n this.selectedDays.push(day);\r\n\r\n }\r\n }\r\n \r\n\r\n filterMedias() {\r\n const bound = this.date.year + '' + this.formatNumber(this.date.month) + '' + this.formatNumber(this.date.day) + '' + '000000';\r\n const bound2 = this.date.year + '' + this.formatNumber(this.date.month) + '' + this.formatNumber(this.date.day + 1) + '000000';\r\n const reg = new RegExp(this.date.year + '' + this.formatNumber(this.date.month) + '' + this.formatNumber(this.date.day) + '\\\\d{6}\\\\.jpg');\r\n /*this.filtredMedias$ = this.medias$.map(medias => {\r\n console.log('MEDIAS =>', medias);\r\n return medias;\r\n })*/\r\n this.filtredMedias$ = this.medias$\r\n .map(medias => {\r\n if (this.bottomReached) {\r\n this.bottomReached = false;\r\n if (this.canreload) {\r\n if (medias.every(medi => !reg.test(medi.name))) {\r\n //this.loadMoreMedia();\r\n }\r\n }\r\n const tmp = medias.filter(m => m.folder == this.selectedFolder).filter(media => (media.name >= bound)).filter(media => (media.name <= bound2));\r\n return tmp;\r\n }\r\n return medias;\r\n \r\n });\r\n }\r\n\r\n filterUrl(url: string, mediaName: string[]): boolean {\r\n for (const name of mediaName) {\r\n if (url.includes(name)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n formatNumber(number: number): string {\r\n return ('0' + number).slice(-2);\r\n }\r\n\r\n onSelectedMedia(media: Media) {\r\n this.sandbox.selectedMedia(media);\r\n this.shareComponent.close();\r\n }\r\n \r\n onBottomReached() {\r\n this.bottomReached= true;\r\n this.canreload = false;\r\n this.page++;\r\n this.reloadMedias(this.date.year + '-' + this.date.month + '-' + this.date.day, this.page, false);\r\n }\r\n\r\n onBookmarkCreation() {\r\n this.sandbox.getUserProject().takeWhile(() => this.alive )\r\n .subscribe(response => {\r\n this.sandbox.setBookmark({\r\n userProjectId: response.id\r\n });\r\n });\r\n this.router.navigate(['/user/formBookmark']);\r\n }\r\n\r\n getSharedUrl(): void {\r\n combineLatest(\r\n this.sandbox.getSelectedMedia(),\r\n this.sandbox.getSelectedProject()\r\n )\r\n .subscribe(response => {\r\n const mediaName = response[0].name;\r\n const folder = response[0].folder;\r\n const projectFolder = response[1].folder;\r\n this.shareUrl$ = this.sandbox.getSharedUrl(mediaName, folder, projectFolder)\r\n }).unsubscribe();\r\n }\r\n\r\n loadMoreMedia(): void {\r\n const dateTime = new Date(this.date.year, this.date.month - 1, this.date.day);\r\n const dateTime1 = new Date(this.date.year, this.date.month - 2, this.date.day);\r\n this.sandbox.getSelectedProject().subscribe( project => {\r\n if (!this.bottomReached) {\r\n this.sandbox.clearMedia();\r\n }\r\n this.sandbox.loadMediaFromProjectAndPage(project, dateTime.toDateString(), this.page, !this.bottomReached, this.selectedFolder);\r\n }).unsubscribe();\r\n }\r\n\r\n generateVideo() {\r\n this.sandbox.getSelectedProject().subscribe(project => {\r\n const sd = this.model1.year + '-' + String(this.model1.month).padStart(2, '0') + '-' + String(this.model1.day).padStart(2, '0');\r\n const ed = this.model2.year + '-' + String(this.model2.month).padStart(2, '0') + '-' + String(this.model2.day).padStart(2, '0');\r\n const params = {\r\n projectName: project.folder,\r\n cam: this.videoFolder,\r\n startDate: sd,\r\n endDate: ed,\r\n startHour: +this.videoStartTime,\r\n endHour: +this.videoEndTime,\r\n days: this.selectedDays,\r\n videoName: this.videoName\r\n }\r\n this.videoUploaded = true;\r\n this.sandbox.generateVideoTimelapse(params).subscribe((response: any) => {\r\n if (response.message && response.message === \"Video uploaded !\") {\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\nimport {TimelapsePageComponent} from './containers/timelapse-page/timelapse-page.component';\r\nimport {BookmarkPageComponent} from './containers/bookmark-page/bookmark-page.component';\r\nimport {FromBookmarkPageComponent} from './containers/from-bookmark-page/from-bookmark-page.component';\r\nimport {ProjectFormPageComponent} from './containers/project-form-page/project-form-page.component';\r\nimport { ProfilPageComponent } from './containers/profil-page/profil-page.component';\r\nimport { MyFilesComponent } from './containers/my-files/my-files.component';\r\n\r\nconst USER_ROUTES: Routes = [\r\n {\r\n path: '',\r\n component: TimelapsePageComponent\r\n },\r\n {\r\n path: 'bookmark',\r\n component: BookmarkPageComponent\r\n },\r\n {\r\n path: 'my-files',\r\n component: MyFilesComponent\r\n },\r\n {\r\n path: 'formBookmark',\r\n component: FromBookmarkPageComponent\r\n },\r\n {\r\n path: 'projectManagement',\r\n component: ProjectFormPageComponent\r\n },\r\n {\r\n path: 'profil',\r\n component: ProfilPageComponent\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(USER_ROUTES)],\r\n exports: [RouterModule]\r\n})\r\nexport class UserRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule} from '@angular/forms';\r\n// other modules\r\nimport {NglModule} from 'ng-lightning';\r\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport { ShareButtonsModule } from 'ngx-sharebuttons/buttons';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport {StoreModule} from '@ngrx/store';\r\nimport {ImageZoomModule} from 'angular2-image-zoom';\r\nimport { NgScrollbarModule } from 'ngx-scrollbar';\r\n// providers\r\nimport {UserSandbox} from './user.sandbox';\r\n// routing\r\nimport { UserRoutingModule } from './user-routing.module';\r\n// component\r\nimport { MediaPreviewComponent } from './components/media-preview/media-preview.component';\r\nimport { MediaPreviewListComponent } from './components/media-preview-list/media-preview-list.component';\r\nimport { DatepickerComponent } from './components/datepicker/datepicker.component';\r\nimport { MediaShowComponent } from './components/media-show/media-show.component';\r\nimport {TimelapsePageComponent} from './containers/timelapse-page/timelapse-page.component';\r\nimport { BookmarkPageComponent } from './containers/bookmark-page/bookmark-page.component';\r\nimport { BookmarkShowComponent } from './components/bookmark-show/bookmark-show.component';\r\nimport { BookmarkPreviewComponent } from './components/bookmark-preview/bookmark-preview.component';\r\nimport { BookmarkPreviewListComponent } from './components/bookmark-preview-list/bookmark-preview-list.component';\r\nimport { BookmarkFormComponent } from './components/bookmark-form/bookmark-form.component';\r\nimport { FromBookmarkPageComponent } from './containers/from-bookmark-page/from-bookmark-page.component';\r\nimport { ShareComponent } from './components/share/share.component';\r\nimport {ProjectFormPageComponent} from './containers/project-form-page/project-form-page.component';\r\nimport {ProjectFormComponent} from './components/project-form/project-form.component';\r\nimport {SimpleUsersListComponent} from './components/simple-users-list/simple-users-list.component';\r\nimport {UserFormComponent} from './components/user-form/user-form.component';\r\nimport {UserSearchComponent} from './components/user-search/user-search.component';\r\nimport { ConfigFormComponent } from './components/config-form/config-form.component';\r\nimport { ProfilComponent } from './components/profil/profil.component';\r\nimport { ProfilPageComponent } from './containers/profil-page/profil-page.component';\r\nimport { MyFilesComponent } from './containers/my-files/my-files.component';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport {NgbTimepickerModule} from '@ng-bootstrap/ng-bootstrap'\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n UserRoutingModule,\r\n NgbModule,\r\n NglModule,\r\n ShareButtonsModule,\r\n PopoverModule,\r\n StoreModule,\r\n ImageZoomModule,\r\n NgScrollbarModule,\r\n MatProgressBarModule,\r\n MatDialogModule,\r\n NgbTimepickerModule\r\n ],\r\n declarations: [\r\n MediaPreviewComponent,\r\n MediaPreviewListComponent,\r\n DatepickerComponent,\r\n MediaShowComponent,\r\n TimelapsePageComponent,\r\n BookmarkPageComponent,\r\n BookmarkShowComponent,\r\n BookmarkPreviewComponent,\r\n BookmarkPreviewListComponent,\r\n BookmarkFormComponent,\r\n FromBookmarkPageComponent,\r\n ProjectFormPageComponent,\r\n ProjectFormComponent,\r\n SimpleUsersListComponent,\r\n UserFormComponent,\r\n UserSearchComponent,\r\n ShareComponent,\r\n ConfigFormComponent,\r\n ProfilComponent,\r\n ProfilPageComponent,\r\n MyFilesComponent,\r\n ],\r\n providers: [\r\n UserSandbox\r\n ],\r\n})\r\nexport class UserModule {}\r\n","import {Injectable} from '@angular/core';\r\nimport {Store} from '@ngrx/store';\r\nimport * as fromStore from '../store/index';\r\nimport {Observable} from 'rxjs';\r\nimport {Project} from '../api/models/project';\r\nimport {Media} from '../api/models/media';\r\nimport {UserBookmark} from '../api/models/user-bookmark';\r\nimport {ProjectBookmark} from '../api/models/project-bookmark';\r\nimport {AWSService} from '../api/services/aws.service';\r\nimport {ClearProject, SelectProject, UpdateProject} from '../store/actions/project.action';\r\nimport {ClearMedia, LoadMedias, LoadMediasSuccess, SelectMedia} from '../store/actions/media.action';\r\nimport {\r\n CreateProjectBookmark, DeleteProjectBookmark, LoadProjectBookmarks, LoadProjectBookmarksSuccess,\r\n SelectProjectBookmark, UpdateProjectBookmark\r\n} from '../store/actions/project-bookmark.action';\r\nimport {\r\n CreateUserBookmark, DeleteUserBookmark, LoadUserBookmarks, LoadUserBookmarksSuccess, SelectUserBookmark,\r\n UpdateUserBookmark\r\n} from '../store/actions/user-bookmark.action';\r\nimport ApiUsersByIdPutParams = UsersService.ApiUsersByIdPutParams;\r\nimport {Credential} from '../api/models/credential';\r\nimport ApiAWSGetPublicURLGetParams = AWSService.ApiAWSGetPublicURLGetParams;\r\nimport ApiAWSPostConfigFilePostParams = AWSService.ApiAWSPostConfigFilePostParams;\r\nimport {ProjectBookmarksService} from '../api/services/project-bookmarks.service';\r\nimport {UserBookmarksService} from '../api/services/user-bookmarks.service';\r\nimport ApiProjectBookmarksByIdPutParams = ProjectBookmarksService.ApiProjectBookmarksByIdPutParams;\r\nimport ApiUserBookmarksByIdPutParams = UserBookmarksService.ApiUserBookmarksByIdPutParams;\r\nimport {Router} from '@angular/router';\r\nimport {ClearUrl, LoadUrlSelected} from '../store/actions/url.action';\r\nimport {MediaService} from '../api/services/media.service';\r\nimport ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = MediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams;\r\nimport ApiAWSGetPrivateURLGetParams = AWSService.ApiAWSGetPrivateURLGetParams;\r\nimport ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams = UserBookmarksService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams;\r\nimport {LoadUserProjects, SelectUserProject} from '../store/actions/user-project.action';\r\nimport {UserProjectsService} from '../api/services/user-projects.service';\r\nimport ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = UserProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams;\r\nimport {UserProject} from '../api/models/user-project';\r\nimport {User} from '../api/models/user';\r\nimport {Role} from '../api/models/role';\r\nimport {ProjectsService} from '../api/services/projects.service';\r\nimport ApiProjectsByIdPutParams = ProjectsService.ApiProjectsByIdPutParams;\r\nimport {CreateUser, LoadUsersSuccess, UpdateUser, SelectUser} from '../store/actions/user.action';\r\nimport {UsersService} from '../api/services/users.service';\r\nimport {RolesService} from '../api/services/roles.service';\r\nimport {LoadRolesSuccess, LoadRoles} from '../store/actions/role.action';\r\nimport { LoadConfigsSuccess, LoadConfig } from '../store/actions/config.action';\r\nimport { AuthenticationService } from '../api/services';\r\n\r\n@Injectable()\r\nexport class UserSandbox {\r\n\r\n private bookmark: UserBookmark | ProjectBookmark;\r\n\r\n constructor(private store: Store,\r\n private router: Router,\r\n private awsService: AWSService,\r\n private projectBookmakrsService: ProjectBookmarksService,\r\n private userBookmakrsService: UserBookmarksService,\r\n private projectBookmarksService: ProjectBookmarksService,\r\n private mediaService: MediaService,\r\n private userBookmarkService: UserBookmarksService,\r\n private userProjectsService: UserProjectsService,\r\n private usersService: UsersService,\r\n private projectsService: ProjectsService,\r\n private rolesService: RolesService,\r\n private authenticationService: AuthenticationService\r\n ) {\r\n }\r\n\r\n // store functions\r\n // project\r\n getSelectedProject(): Observable {\r\n return this.store.select(fromStore.getSelectedProject);\r\n }\r\n\r\n getProjects(): Observable {\r\n return this.store.select(fromStore.getProjects);\r\n }\r\n\r\n getSelectedMedia(): Observable {\r\n return this.store.select(fromStore.getSelectedMedia);\r\n }\r\n\r\n getMedia(): Observable {\r\n return this.store.select(fromStore.getMedia);\r\n }\r\n\r\n getSelectedUserBookmark(): Observable {\r\n return this.store.select(fromStore.getSelectedUserBookmark);\r\n }\r\n\r\n getUserBookmarks(): Observable {\r\n return this.store.select(fromStore.getUserBookmarks);\r\n }\r\n\r\n getSelectedProjectBookmark(): Observable {\r\n return this.store.select(fromStore.getSelectedProjectBookmark);\r\n }\r\n\r\n getProjectBookmarks(): Observable {\r\n return this.store.select(fromStore.getProjectBookmarks);\r\n }\r\n\r\n getUrl(): Observable {\r\n return this.store.select(fromStore.getUrl);\r\n }\r\n\r\n setBookmark(bookmark: UserBookmark | ProjectBookmark) {\r\n this.bookmark = bookmark;\r\n }\r\n\r\n getBookmark(): UserBookmark | ProjectBookmark {\r\n return this.bookmark;\r\n }\r\n\r\n getSharedUrl(medianame: string, folder: string, porjectfolder: string): Observable {\r\n const parameters: ApiAWSGetPublicURLGetParams = {\r\n mediaName: medianame,\r\n folder: folder,\r\n projectFolder: porjectfolder\r\n };\r\n return this.awsService.ApiAWSGetPublicURLGet(parameters);\r\n }\r\n\r\n getLoggedUser(): Observable {\r\n return this.store.select(fromStore.getAuthentifiedUser);\r\n }\r\n\r\n // perform changes\r\n onSelectedProject(project: Project) {\r\n console.log('ON SELECTED IN USER');\r\n this.store.dispatch(new SelectProject(project));\r\n this.store.dispatch(new ClearMedia());\r\n this.store.dispatch(new ClearProject());\r\n this.store.dispatch(new ClearUrl());\r\n this.loadProjectBookmarks(project.id);\r\n this.loadMediaFromProjectAndPage(project, new Date().toDateString(), 7);\r\n this.getLoggedUser().subscribe(response => {\r\n this.loadUserProject(project.id, response.id);\r\n this.loadUserBookmark(project.id, response.id);\r\n });\r\n }\r\n\r\n selectedMedia(media: Media) {\r\n this.store.dispatch(new SelectMedia(media));\r\n let projectFolder: string;\r\n this.store.select(fromStore.getSelectedProject)\r\n .subscribe(data => projectFolder = data ? data.folder : null);\r\n if (projectFolder)\r\n this.loadUrl(projectFolder, media);\r\n }\r\n\r\n selectedProjectBookmark(projectbookmark: ProjectBookmark) {\r\n this.store.dispatch(new SelectProjectBookmark(projectbookmark));\r\n }\r\n\r\n deletedProjectBookmark(projectbookmark: ProjectBookmark) {\r\n this.projectBookmakrsService.ApiProjectBookmarksByIdDelete(projectbookmark.id)\r\n .subscribe(succes => {\r\n this.store.dispatch(new DeleteProjectBookmark(projectbookmark));\r\n });\r\n }\r\n\r\n createProjectBookmark(projectbookmark: ProjectBookmark) {\r\n this.projectBookmakrsService.ApiProjectBookmarksPost(projectbookmark)\r\n .subscribe(success => {\r\n this.store.dispatch(new CreateProjectBookmark(success));\r\n this.router.navigate(['/user/bookmark']);\r\n });\r\n }\r\n\r\n updateProjectBookmark(projectbookmark: ProjectBookmark) {\r\n const params: ApiProjectBookmarksByIdPutParams = {\r\n id: projectbookmark.id,\r\n projectBookmark: projectbookmark\r\n };\r\n this.projectBookmakrsService.ApiProjectBookmarksByIdPut(params)\r\n .subscribe(success => {\r\n this.store.dispatch(new UpdateProjectBookmark(projectbookmark));\r\n this.router.navigate(['/user/bookmark']);\r\n });\r\n }\r\n\r\n selectedUserBookmark(userbookmark: UserBookmark) {\r\n this.store.dispatch(new SelectUserBookmark(userbookmark));\r\n }\r\n\r\n deletedUserBookmark(userprojectbookmark: UserBookmark) {\r\n this.userBookmakrsService.ApiUserBookmarksByIdDelete(userprojectbookmark.id)\r\n .subscribe(success => {\r\n this.store.dispatch(new DeleteUserBookmark(success));\r\n });\r\n }\r\n\r\n getLastDate(idProject) {\r\n return this.mediaService.ApiMediaGetLastMediasGet(idProject);\r\n }\r\n\r\n createUserBookmark(Userbookmark: ProjectBookmark) {\r\n this.userBookmakrsService.ApiUserBookmarksPost(Userbookmark)\r\n .subscribe(success => {\r\n this.store.dispatch(new CreateUserBookmark(success));\r\n this.router.navigate(['/user/bookmark']);\r\n });\r\n }\r\n\r\n updateUserBookmark(userbookmark: UserBookmark) {\r\n const params: ApiUserBookmarksByIdPutParams = {\r\n id: userbookmark.id,\r\n userBookmark: userbookmark\r\n };\r\n this.userBookmakrsService.ApiUserBookmarksByIdPut(params)\r\n .subscribe(succes => {\r\n this.store.dispatch(new UpdateUserBookmark(userbookmark));\r\n this.router.navigate(['/user/bookmark']);\r\n });\r\n }\r\n\r\n public loadUrl(projectFolder: string, media: Media) {\r\n console.log('PROJECT FOLDER =>', projectFolder);\r\n const params: ApiAWSGetPrivateURLGetParams = {\r\n mediaName: media.name,\r\n projectFolder: projectFolder,\r\n folder: media.folder\r\n };\r\n this.awsService.ApiAWSGetPrivateURLGet(params).subscribe(urlData => {\r\n this.store.dispatch(new LoadUrlSelected(urlData));\r\n });\r\n }\r\n\r\n public loadUserBookmark(projectId: number, userId: number) {\r\n this.store.dispatch(new LoadUserBookmarks());\r\n const params: ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: projectId,\r\n idUser: userId\r\n };\r\n this.userBookmarkService.ApiUserBookmarksGetUserBookmarksByUserIdAndProjectIdByIdUserByIdProjectGet(params).subscribe( bookmarksData => {\r\n this.store.dispatch(new LoadUserBookmarksSuccess(bookmarksData));\r\n this.store.dispatch(new SelectUserBookmark(bookmarksData[0]));\r\n });\r\n }\r\n\r\n public loadProjectBookmarks(projectId: number) {\r\n this.store.dispatch(new LoadProjectBookmarks());\r\n this.projectBookmarksService.ApiProjectBookmarksGetProjectBookmarksByProjectIdByIdProjectGet(projectId). subscribe( bookmarksData => {\r\n bookmarksData.forEach(bookmark => {\r\n this.mediaService.ApiMediaByIdGet(bookmark.projectId).subscribe( mediaData => {\r\n bookmark.media = mediaData;\r\n });\r\n });\r\n this.store.dispatch(new LoadProjectBookmarksSuccess(bookmarksData));\r\n this.store.dispatch(new SelectProjectBookmark(bookmarksData[0]));\r\n });\r\n }\r\n\r\n public loadUserProject(projectId: number, userId: number) {\r\n this.store.dispatch(new LoadUserProjects());\r\n const params: ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: projectId,\r\n idUser: userId\r\n };\r\n this.userProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGet(params)\r\n .subscribe(response => {\r\n this.store.dispatch(new SelectUserProject(response));\r\n });\r\n }\r\n\r\n public getUserProject(): Observable {\r\n return this.store.select(fromStore.getSelectedUserProject);\r\n }\r\n\r\n getUsers(): Observable {\r\n return this.store.select(fromStore.getUsers);\r\n }\r\n\r\n getRoles(): Observable {\r\n return this.store.select(fromStore.getRoles);\r\n }\r\n\r\n getSelectedProjectUser(projectId: number): Observable {\r\n return this.usersService.ApiUsersGetUsersByProjectIdByIdProjectGet(projectId);\r\n }\r\n\r\n updateProject(project: Project) {\r\n const params: ApiProjectsByIdPutParams = {\r\n id: project.id,\r\n project: project\r\n };\r\n this.projectsService.ApiProjectsByIdPut(params).subscribe(success => {\r\n this.store.dispatch(new UpdateProject(project));\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n createUserToProject(user: User, password: string, projectId: number) {\r\n this.usersService.ApiUsersPost(user).subscribe(success => {\r\n this.store.dispatch(new CreateUser(success));\r\n const params: UserProject = {\r\n userId: success.id,\r\n projectId: projectId\r\n };\r\n this.createUserProject(params);\r\n const cred: Credential = {\r\n email: user.email,\r\n password: password\r\n };\r\n this.authenticationService.ApiAuthenticationResetPasswordPost(cred).subscribe(success2 => {\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n\r\n createUserProject(userProject: UserProject) {\r\n this.userProjectsService.ApiUserProjectsPost(userProject).subscribe(success => {\r\n this.store.dispatch(new CreateProjectBookmark(success));\r\n });\r\n }\r\n\r\n deleteUserProject(userProject: UserProject) {\r\n const params: ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGetParams = {\r\n idProject: userProject.projectId,\r\n idUser: userProject.userId\r\n };\r\n this.userProjectsService.ApiUserProjectsGetUserProjectByUserIdAndProjectIdByIdUserByIdProjectGet(params).subscribe(up => {\r\n this.userProjectsService.ApiUserProjectsByIdDelete(up.id).subscribe();\r\n });\r\n }\r\n\r\n loadUsers() {\r\n this.usersService.ApiUsersGet().subscribe( data => {\r\n this.store.dispatch(new LoadUsersSuccess(data));\r\n });\r\n }\r\n\r\n loadRoles() {\r\n this.store.dispatch(new LoadRoles());\r\n this.rolesService.ApiRolesGet().subscribe( data => {\r\n this.store.dispatch(new LoadRolesSuccess(data));\r\n });\r\n }\r\n\r\n getConfigFile(): Observable {\r\n return this.store.select(fromStore.getConfig);\r\n }\r\n\r\n loadConfigFile(key: string) {\r\n key += '-config.txt';\r\n this.store.dispatch(new LoadConfig());\r\n this.awsService.ApiAWSGetConfigFileGet(key).subscribe(data => {\r\n this.store.dispatch(new LoadConfigsSuccess(data));\r\n });\r\n }\r\n\r\n uploadConfigFile(key: string, contentFile: string) {\r\n key += '-config.txt';\r\n const params: ApiAWSPostConfigFilePostParams = {\r\n configKey: key,\r\n text: contentFile\r\n };\r\n this.awsService.ApiAWSPostConfigFilePost(params).subscribe();\r\n }\r\n\r\n loadVideoFromProjectAndPage(project, startDate: string, endDate: string, page?: number) {\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n startDate : startDate,\r\n endDate: endDate,\r\n projectFolder : project.folder,\r\n };\r\n this.mediaService.ApiMediaGetVideoByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n if (!mediaData.length) {\r\n this.loadMediaFromProjectAndPageAndDate1MonthEarlier(project, params.date);\r\n }\r\n //this.store.dispatch(new LoadMediasSuccess(mediaData));\r\n //this.store.dispatch(new SelectMedia(mediaData[0]));\r\n // load url from s3\r\n this.loadUrl(project.folder, mediaData[0]);\r\n });\r\n }\r\n\r\n loadMediaFromProjectAndPagePromise(project, dateString: string, page?: number, repaceSelectedMedia?, folder?: string, hour?: string) {\r\n console.log('LOAD MEDIA FROM USER PROMISE')\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : dateString,\r\n projectFolder : project.folder,\r\n page,\r\n folder,\r\n hour\r\n };\r\n return this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params).toPromise();\r\n }\r\n\r\n loadMediaFromProjectAndPage(project, dateString: string, page?: number, repaceSelectedMedia?, folder?: string) {\r\n console.log('LOAD MEDIA FROM USER')\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : dateString,\r\n projectFolder : project.folder,\r\n page,\r\n folder\r\n };\r\n return this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n if (!mediaData.length) {\r\n this.loadMediaFromProjectAndPageAndDate1MonthEarlier(project, params.date);\r\n }\r\n this.store.dispatch(new LoadMediasSuccess(mediaData));\r\n if (repaceSelectedMedia) {\r\n this.store.dispatch(new SelectMedia(mediaData[0]));\r\n // load url from s3\r\n this.loadUrl(project.folder, mediaData[0]);\r\n }\r\n });\r\n }\r\n\r\n loadMediaFromProjectAndPageAndDate1MonthEarlier(project, dateString: string) {\r\n const date = new Date(dateString);\r\n date.setMonth(date.getMonth() - 1);\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : date.toDateString(),\r\n projectFolder : project.folder\r\n };\r\n this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n if (!mediaData.length) {\r\n this.loadMediaFromProjectAndPageAndDate1MonthEarlier(project, params.date);\r\n }\r\n this.store.dispatch(new LoadMediasSuccess(mediaData));\r\n this.store.dispatch(new SelectMedia(mediaData[0]));\r\n // load url from s3\r\n this.loadUrl(project.folder, mediaData[0]);\r\n });\r\n }\r\n\r\n\r\n public generateVideoTimelapse(params) {\r\n return this.awsService.generateTimelapseVideo(params);\r\n }\r\n\r\n public loadMediaFromProject(project: Project) {\r\n this.store.dispatch(new LoadMedias());\r\n const params: ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGetParams = {\r\n idProject : project.id,\r\n date : new Date().toDateString(),\r\n projectFolder : project.folder\r\n };\r\n this.mediaService.ApiMediaGetMediasByProjectIdDateByIdProjectByProjectFolderByDateGet(params)\r\n .subscribe(mediaData => {\r\n this.store.dispatch(new LoadMediasSuccess(mediaData));\r\n this.store.dispatch(new SelectMedia(mediaData[0]));\r\n this.loadUrl(project.folder, mediaData[0]);\r\n });\r\n }\r\n\r\n loadMediasByProject(params) {\r\n return this.mediaService.ApiMediaGetMediasByProjectIdByIdProjectByProjectFolderGet(params);\r\n }\r\n\r\n loadCamerasbyProject(params) {\r\n return this.mediaService.ApiMediaGetProjectCamerasByProjectIdGet(params);\r\n }\r\n\r\n loadProjectDatesbyProject(idProject) {\r\n return this.mediaService.ApiMediaGetProjectDatesByProjectIdGet(idProject).toPromise();\r\n }\r\n\r\n selectUser(id: number) {\r\n this.store.select(fromStore.getUsers).subscribe(data => {\r\n const selected: User = data.filter( u => u.id == id)[0];\r\n this.store.dispatch(new SelectUser(selected));\r\n });\r\n }\r\n\r\n getSelectedUser() {\r\n return this.store.select(fromStore.getSelectedUser);\r\n }\r\n\r\n clearMedia(): void {\r\n this.store.dispatch(new ClearMedia());\r\n }\r\n\r\n resetPassword(email: string, password: string) {\r\n const cred: Credential = {\r\n email: email,\r\n password: password\r\n };\r\n this.authenticationService.ApiAuthenticationResetPasswordPost(cred).subscribe(success2 => {\r\n this.router.navigate(['/user']);\r\n });\r\n }\r\n\r\n updateUser(user: User) {\r\n const params: ApiUsersByIdPutParams = {\r\n id: user.id,\r\n user: user\r\n };\r\n this.usersService.ApiUsersByIdPut(params).subscribe(success => {\r\n this.store.dispatch(new UpdateUser(success));\r\n this.router.navigate(['/user']);\r\n }, error2 => console.error(JSON.stringify(error2)));\r\n }\r\n}\r\n","import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\nimport {Injectable} from '@angular/core';\r\nimport {AuthService} from './auth.service';\r\n\r\n@Injectable()\r\nexport class AdminGuard implements CanActivate {\r\n constructor(private authService: AuthService, private router: Router) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n const user = this.authService.loggedIn() ? this.authService.getUser() : null;\r\n if (user) {\r\n if (!(user.isAdmin == 'True')) {\r\n this.router.navigate(['/user']);\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n this.router.navigate(['/auth']);\r\n return false;\r\n }\r\n }\r\n}\r\n","import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\nimport {Injectable} from '@angular/core';\r\nimport {AuthService} from './auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private authService: AuthService, private router: Router) {}\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (!this.authService.loggedIn()) {\r\n this.router.navigate(['/auth']);\r\n }\r\n return this.authService.loggedIn();\r\n }\r\n}\r\n","import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\r\nimport {Injectable, Injector} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {AuthService} from './auth.service';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n constructor(private auth: AuthService) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const token = this.auth.getToken();\r\n if (token) {\r\n const authorized = req.clone({headers: req.headers.append('Authorization', 'Bearer ' + token)});\r\n return next.handle(authorized);\r\n } else {\r\n const resetToken = this.auth.getReset();\r\n if (resetToken) {\r\n const reset = req.clone({headers: req.headers.append('Authorization', 'Bearer ' + resetToken)});\r\n return next.handle(reset);\r\n } else {\r\n return next.handle(req);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport const TOKEN_KEY = 'id_token';\r\nexport const RESET_KEY = 'id_reset';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n constructor() { }\r\n\r\n getToken(): string {\r\n return localStorage.getItem(TOKEN_KEY);\r\n }\r\n\r\n setToken(token: string) {\r\n localStorage.setItem(TOKEN_KEY, token);\r\n }\r\n\r\n removeToken() {\r\n localStorage.removeItem(TOKEN_KEY);\r\n }\r\n\r\n getReset(): string {\r\n return localStorage.getItem(RESET_KEY);\r\n }\r\n\r\n setReset(reset: string) {\r\n localStorage.setItem(RESET_KEY, reset);\r\n }\r\n\r\n removeReset() {\r\n localStorage.removeItem(RESET_KEY);\r\n }\r\n\r\n loggedIn(): boolean {\r\n return this.getToken() != null;\r\n }\r\n\r\n getUser(): any {\r\n return this.decrypt(localStorage.getItem(TOKEN_KEY));\r\n }\r\n\r\n private decrypt(token): string {\r\n const base64Url = token.split('.')[1];\r\n const base64 = base64Url.replace('-', '+').replace('_', '/');\r\n return JSON.parse(window.atob(base64));\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n awsAccessKeyId: 'AKIAZRKT2LU7VS3XORCB',\r\n awsSecretAccessKey: 'hgb5/mxoQhN36p3Vi0DYmYqP8NtTONi0VFqDheIJ'\r\n};","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */"],"sourceRoot":"webpack:///"}